code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--accent:#1a0a2e;--accent-light:#2d1450;--black:#0a0612;--white:#fff;--gray-100:#f8f8fa;--gray-200:#e8e8ec;--gray-400:#999;--gray-600:#666;--gray-800:#333;--color-bg:var(--white);--color-fg:var(--black);--color-fg-muted:var(--gray-600);--color-fg-subtle:var(--gray-400);--color-fg-strong:var(--gray-800);--color-border:var(--gray-200);--surface-band:var(--gray-100);--surface-inverse:var(--accent);--surface-inverse-muted:var(--accent-light);--on-inverse:var(--white);--on-inverse-border-subtle:color-mix(in srgb,var(--on-inverse) 10%,#0000);--on-inverse-border-strong:color-mix(in srgb,var(--on-inverse) 30%,#0000);--on-inverse-text-faint:color-mix(in srgb,var(--on-inverse) 60%,#0000);--on-inverse-text-soft:color-mix(in srgb,var(--on-inverse) 70%,#0000);--text-on-accent-muted:var(--gray-400);--shadow-card:0 12px 40px color-mix(in srgb,var(--black) 8%,#0000);--card-radius:12px;--card-border:var(--gray-200);--card-shadow-rest:0 1px 2px color-mix(in srgb,var(--black) 4%,#0000),0 8px 24px color-mix(in srgb,var(--black) 4%,#0000);--card-shadow-hover:0 4px 12px color-mix(in srgb,var(--black) 5%,#0000),0 20px 40px color-mix(in srgb,var(--black) 6%,#0000);--card-accent-hairline:color-mix(in srgb,var(--accent) 32%,#0000);--scroll-card-width:320px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-9:40px;--space-10:48px;--space-11:80px;--space-12:100px;--space-13:120px;--space-page-inline:var(--space-6);--space-section-y:var(--space-11);--space-hero-block-end:var(--space-12);--space-hero-block-start:var(--space-13);--font-sans:"Inter","SF Pro Display",-apple-system,BlinkMacSystemFont,sans-serif;--line-height-body:1.7;--line-height-tight:1;--line-height-snug:1.5;--line-height-relaxed:1.8;--text-2xs:0.7rem;--text-xs:0.85rem;--text-sm:1rem;--text-md:1.1rem;--text-lg:1.15rem;--text-xl:1.2rem;--text-2xl:1.25rem;--text-3xl:1.3rem;--text-4xl:1.4rem;--text-5xl:1.5rem;--text-hero:5rem;--text-display:2rem;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--letter-spacing-wide:2px;--letter-spacing-ui:1px;--letter-spacing-tight-hero:-4px;--letter-spacing-tight:-0.5px;--letter-spacing-tight-lg:-1px;--letter-spacing-card:-0.5px;--ease-default:ease;--ease-out:ease-out;--duration-fast:0.2s;--duration-medium:0.3s;--duration-slow:0.6s;--duration-reveal:0.8s}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg);color:var(--color-fg);font-family:var(--font-sans);line-height:var(--line-height-body);margin:0}.app{text-align:center}.main-page{margin:0 auto;max-width:1000px;padding:var(--space-9) var(--space-page-inline);text-align:left}.hero-section{border-bottom:none;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - var(--space-9));min-height:calc(100dvh - var(--space-9));padding-block:var(--space-8)}.hero-section h1{font-size:var(--text-hero);font-weight:var(--weight-extrabold);letter-spacing:var(--letter-spacing-tight-hero);line-height:var(--line-height-tight);margin:0 0 var(--space-4);text-transform:uppercase}.hero-section h1 .accent{color:var(--accent)}.hero-tagline{color:var(--color-fg-muted);font-size:var(--text-5xl);font-weight:var(--weight-medium);letter-spacing:var(--letter-spacing-tight);margin:0 0 var(--space-6)}.hero-description{color:var(--color-fg-muted);font-size:var(--text-lg);line-height:var(--line-height-body);margin:0 0 var(--space-8);max-width:700px}.hero-links{display:flex;flex-wrap:wrap;gap:var(--space-6)}.hero-links a{border-bottom:2px solid var(--accent);color:var(--accent);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--letter-spacing-ui);padding-bottom:var(--space-1);text-decoration:none;text-transform:uppercase;transition:all var(--duration-fast) var(--ease-default)}.hero-links a:hover{border-color:var(--accent-light);color:var(--accent-light)}section{padding:var(--space-section-y) 0}section h2{background:var(--accent);color:var(--on-inverse);display:inline-block;font-size:var(--text-sm);font-weight:var(--weight-bold);letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--space-9);padding:var(--space-2) var(--space-4);text-transform:uppercase}@media (max-width:768px){.hero-section{min-height:calc(100vh - var(--space-9));min-height:calc(100dvh - var(--space-9));padding-block:var(--space-6)}.hero-section h1{font-size:3rem;letter-spacing:-2px}.hero-tagline{font-size:var(--text-xl)}section h2{font-size:var(--text-xs)}.about-content p{font-size:var(--text-md)}.about-content p.highlight{font-size:var(--text-xl)}.building-product-name{font-size:var(--text-5xl)}.community-grid,.projects-grid{grid-template-columns:1fr}}.about-section{background:var(--color-bg);margin:0 calc(var(--space-page-inline)*-1);padding:var(--space-section-y) var(--space-page-inline)}.about-content{max-width:800px}.about-content p{color:var(--color-fg-strong);font-size:var(--text-xl);line-height:var(--line-height-relaxed);margin-bottom:var(--space-6)}.about-content p:last-child{margin-bottom:0}.about-content p.highlight{color:var(--color-fg);font-size:var(--text-4xl);font-weight:var(--weight-semibold);line-height:var(--line-height-snug)}.building-section{background:var(--surface-band);color:var(--color-fg);margin:0 calc(var(--space-page-inline)*-1);padding:var(--space-section-y) var(--space-page-inline)}.building-editorial{max-width:720px}.building-product-name{color:var(--accent);font-size:clamp(2.5rem,6vw,3.75rem);font-weight:var(--weight-extrabold);letter-spacing:var(--letter-spacing-tight-lg);line-height:var(--line-height-tight);margin:0 0 var(--space-3)}.building-lede{color:var(--color-fg);font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:var(--line-height-snug);margin:0 0 var(--space-8)}.building-body{margin-bottom:var(--space-8)}.building-body p{color:var(--color-fg-muted);font-size:var(--text-md);line-height:var(--line-height-relaxed);margin:0 0 var(--space-6)}.building-body p:last-child{margin-bottom:0}.building-tagline{color:var(--color-fg);font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:var(--line-height-snug);margin:0 0 var(--space-4)}.building-live{color:var(--color-fg-muted);font-size:var(--text-sm);margin:0}.building-live a{border-bottom:1px solid color-mix(in srgb,var(--accent) 35%,#0000);color:var(--accent);font-weight:var(--weight-semibold);text-decoration:none;transition:color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}.building-live a:hover{border-color:var(--accent-light);color:var(--accent-light)}.content-card{background:var(--surface-band);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow-rest);box-sizing:border-box;display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;transition:transform var(--duration-medium) var(--ease-default),box-shadow var(--duration-medium) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}.content-card:before{background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 45%,#0000));content:"";height:2px;left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity var(--duration-fast) var(--ease-default)}.content-card:hover{border-color:color-mix(in srgb,var(--gray-600) 18%,var(--card-border));box-shadow:var(--card-shadow-hover);transform:translateY(-2px)}.content-card:hover:before{opacity:.55}.content-card__body{display:flex;flex:1 1;flex-direction:column;padding:var(--space-8)}.content-card__media{aspect-ratio:16/10;background:color-mix(in srgb,var(--gray-200) 55%,var(--surface-band));flex-shrink:0;overflow:hidden}.content-card__media img{display:block;height:100%;object-fit:cover;width:100%}.content-card__details{font-size:var(--text-sm);margin-top:var(--space-4)}.content-card__summary{color:var(--accent);cursor:pointer;display:inline-block;font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--letter-spacing-ui);list-style:none}.content-card__summary::-webkit-details-marker{display:none}.content-card__summary:after{content:" \002B";font-weight:var(--weight-bold);opacity:.7}.content-card__details[open] .content-card__summary:after{content:" \2212"}.content-card__summary:focus-visible{border-radius:2px;outline:2px solid var(--card-accent-hairline);outline-offset:2px}.content-card__more{border-top:1px solid var(--color-border);color:var(--color-fg-muted);line-height:var(--line-height-relaxed);margin-top:var(--space-3);padding-top:var(--space-3)}.content-card__more p{margin:0 0 var(--space-3)}.content-card__more p:last-child{margin-bottom:0}.experience-section{background:var(--color-bg)}.experience-grid{grid-gap:var(--space-6);display:grid;gap:var(--space-6)}.experience-card h3{color:var(--color-fg);font-size:var(--text-2xl);font-weight:var(--weight-bold);margin:0 0 var(--space-1)}.experience-card .date{color:var(--color-fg-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);margin-bottom:var(--space-3)}.experience-card p{color:var(--color-fg-muted);font-size:var(--text-sm);line-height:1.6;margin:0}.speaking-section{background:var(--surface-band);margin:0 calc(var(--space-page-inline)*-1);padding:var(--space-section-y) var(--space-page-inline)}.speaking-lead{color:var(--color-fg-muted);font-size:var(--text-md);line-height:var(--line-height-relaxed);margin:0 0 var(--space-10);max-width:42rem}.speaking-list{list-style:none;margin:0;max-width:48rem;padding:0}.speaking-item{border-bottom:1px solid var(--color-border);padding:var(--space-8) 0}.speaking-item:first-child{padding-top:0}.speaking-item:last-child{border-bottom:none;padding-bottom:0}.speaking-headline{color:var(--color-fg);font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:var(--letter-spacing-tight);margin:0 0 var(--space-2)}.speaking-meta{color:var(--color-fg-subtle);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--letter-spacing-ui);margin:0 0 var(--space-4);text-transform:uppercase}.speaking-description{color:var(--color-fg-muted);font-size:var(--text-md);line-height:var(--line-height-relaxed);margin:0 0 var(--space-4)}.speaking-link{border-bottom:2px solid var(--accent);color:var(--accent);display:inline-block;font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--letter-spacing-ui);padding-bottom:var(--space-1);text-decoration:none;text-transform:uppercase;transition:color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}.speaking-link:hover{border-color:var(--accent-light);color:var(--accent-light)}.judging-section{background:var(--color-bg)}.judging-grid{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(2,1fr)}.judging-card h3{color:var(--color-fg);font-size:var(--text-md);font-weight:var(--weight-bold);line-height:var(--line-height-snug);margin:0 0 var(--space-4)}.judging-card p{color:var(--color-fg-muted);font-size:var(--text-md);line-height:var(--line-height-relaxed);margin:0}@media (max-width:768px){.judging-grid{grid-template-columns:1fr}}.community-section{background:var(--color-bg);margin:0 calc(var(--space-page-inline)*-1);padding:var(--space-section-y) var(--space-page-inline);position:relative}.community-section h2{background:var(--accent);color:var(--on-inverse)}.community-intro{color:var(--color-fg-strong);font-size:var(--text-xl);line-height:var(--line-height-body);margin-bottom:var(--space-10);max-width:700px}.community-section .community-grid{align-items:stretch;display:flex;gap:var(--space-6);padding-bottom:var(--space-5);width:-webkit-max-content;width:max-content}.community-card{flex:0 0 var(--scroll-card-width);max-width:var(--scroll-card-width);min-width:var(--scroll-card-width);width:var(--scroll-card-width)}.community-card .content-card__body{display:flex;flex:1 1;flex-direction:column}.community-card h3{color:var(--color-fg);font-size:var(--text-md);font-weight:var(--weight-bold);margin:0 0 var(--space-3)}.community-card p{color:var(--color-fg-muted);flex-grow:1;font-size:.95rem;line-height:1.6;margin:0}.community-card .content-card__body>p{flex-grow:1}.community-card-link,.judging-card-link{align-self:flex-start;margin-top:auto}.judging-card .content-card__body>p{flex-grow:1}.projects-section{background:var(--color-bg)}.projects-grid{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.project-card .content-card__body{display:flex;flex:1 1;flex-direction:column}.project-card .content-card__body>p{flex-grow:1}.project-card .category{color:var(--color-fg-muted);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--space-3);text-transform:uppercase}.project-card h3{color:var(--color-fg);font-size:var(--text-4xl);font-weight:var(--weight-bold);letter-spacing:var(--letter-spacing-card);margin:0 0 var(--space-3)}.project-card p{color:var(--color-fg-muted);font-size:.95rem;margin:0 0 var(--space-5)}.project-card .project-card-link{align-self:flex-start;margin-top:auto}.project-card .tech-stack{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5)}.project-card .tech-tag{background:color-mix(in srgb,var(--surface-band) 70%,var(--white));border:1px solid var(--card-border);border-radius:6px;color:var(--color-fg-muted);font-size:var(--text-2xs);padding:var(--space-1) 10px}.project-card .tech-tag,.project-card a,.project-card-link{font-weight:var(--weight-semibold);letter-spacing:var(--letter-spacing-ui);text-transform:uppercase}.project-card a,.project-card-link{align-items:center;color:var(--color-fg);display:inline-flex;font-size:var(--text-xs);gap:var(--space-2);text-decoration:none;transition:color var(--duration-fast) var(--ease-default)}.project-card a:hover,.project-card-link:hover{color:var(--color-fg-muted)}.project-card-link.is-placeholder-link,.speaking-link.is-placeholder-link{border-bottom-style:dashed;cursor:default;opacity:.85}.contact-section{background:var(--color-bg);border-top:1px solid var(--color-border);color:var(--color-fg);margin:0 calc(var(--space-page-inline)*-1);padding:var(--space-10) var(--space-page-inline) var(--space-11);text-align:left}.contact-section h2.contact-heading{background:none;color:var(--color-fg-subtle);display:block;font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.16em;margin:0 0 var(--space-4);padding:0;text-transform:uppercase}.contact-intro{color:var(--color-fg-muted);font-size:var(--text-sm);line-height:var(--line-height-relaxed);margin:0 0 var(--space-6);max-width:36rem}.contact-email{border-bottom:1px solid color-mix(in srgb,var(--accent) 25%,#0000);color:var(--color-fg);display:inline-block;font-size:var(--text-md);font-weight:var(--weight-medium);margin-bottom:var(--space-5);padding-bottom:2px;text-decoration:none;transition:color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}.contact-email:hover{border-color:var(--accent);color:var(--accent)}.contact-nav{align-items:center;display:flex;flex-wrap:wrap;font-size:var(--text-sm);gap:var(--space-2) var(--space-3)}.contact-nav a{color:var(--color-fg-muted);font-weight:var(--weight-medium);text-decoration:none;transition:color var(--duration-fast) var(--ease-default)}.contact-nav a:hover{color:var(--accent)}.contact-nav-sep{color:var(--color-fg-subtle);-webkit-user-select:none;user-select:none}.progress-line{background:var(--accent);height:4px;left:0;position:fixed;top:0;transition:width .1s var(--ease-out);width:0;z-index:1000}.text-reveal{overflow:hidden}.text-reveal .word{display:inline-block;opacity:0;transform:translateY(100%);transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out)}.text-reveal .word.revealed{opacity:1;transform:translateY(0)}.horizontal-scroll-wrapper{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;margin:0 calc(var(--space-page-inline)*-1);overflow-x:auto;overflow-y:hidden;padding:0 var(--space-page-inline);scrollbar-width:none}.horizontal-scroll-wrapper::-webkit-scrollbar{display:none}.projects-section .projects-grid{align-items:stretch;display:flex;gap:var(--space-6);padding-bottom:var(--space-5);width:-webkit-max-content;width:max-content}.projects-section .project-card{flex:0 0 var(--scroll-card-width);max-width:var(--scroll-card-width);min-width:var(--scroll-card-width);width:var(--scroll-card-width)}.horizontal-scroll-wrapper:after{background:linear-gradient(to left,var(--color-bg),#0000);bottom:0;content:"";pointer-events:none;position:absolute;right:0;top:0;width:60px}.projects-section{position:relative}.scroll-hint{color:var(--color-fg-subtle);font-size:var(--text-xs);font-style:italic;margin-top:var(--space-4)}.fade-in{opacity:0;transform:translateY(30px);transition:opacity var(--duration-reveal) var(--ease-out),transform var(--duration-reveal) var(--ease-out)}.fade-in.is-visible{opacity:1;transform:translateY(0)}
/*# sourceMappingURL=main.2fac0c99.css.map*/