/* Above-the-fold: hero LCP + navbar first paint (index.html only).
 * Bundled optionally via _local/scripts/build-index-critical.sh — index uses separate links in production. */
*,::after,::before{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip}
body{background:#000;color:var(--c-text,#fff);min-height:100vh;overflow-x:clip;font-family:var(--font-text,"Inter",system-ui,sans-serif);font-size:var(--fs-body,clamp(.8125rem,.2vw + .75rem,.9375rem));line-height:var(--lh-body,1.75);letter-spacing:var(--ls-tight,-.02em);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
:root{--fs-display:clamp(3.5rem,9vw + 1rem,11rem);--lh-display:.92;--ls-tighter:-.04em;--navbar-h:80px}
@media (max-width:900px){:root{--navbar-h:68px}}
.hero{--navbar-h:80px;position:relative;width:100%;height:90vh;min-height:560px;padding-top:var(--navbar-h);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:#000}
.hero .hero-content{position:relative;z-index:3;width:100%;max-width:1200px;padding:0 48px;display:flex;flex-direction:column;align-items:center;text-align:center}
.hero .hero-eyebrow,.hero .hero-cta,.hero .hero-status,.hero .hero-subtitle{opacity:0}
.hero .hero-title{font-size:var(--fs-display);font-weight:700;color:var(--c-text,#fff);letter-spacing:var(--ls-tighter);line-height:var(--lh-display);margin-bottom:40px;white-space:nowrap;max-width:100%;filter:drop-shadow(0 0 32px rgba(255,255,255,.22)) drop-shadow(0 0 8px rgba(255,255,255,.12));animation:hero-title-reveal 1s cubic-bezier(.16,1,.3,1) forwards;animation-delay:.45s;opacity:0}
.hero .hero-title .lf-brand-reg{display:inline-block;font-size:.18em;font-weight:600;line-height:1;letter-spacing:0;vertical-align:text-top;position:relative;top:.95em;margin-left:.06em;opacity:.7}
@keyframes hero-title-reveal{0%{opacity:0;transform:translateY(32px) skewY(4deg)}60%{opacity:1}100%{opacity:1;transform:translateY(0) skewY(0)}}
@media (max-width:767px){.hero .hero-content{padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}.hero .hero-title{opacity:1;animation:none;transform:none;font-size:clamp(2.875rem,13.5vw,6rem);margin-bottom:28px;letter-spacing:-.03em}}
html.lf-coarse .hero .hero-title{opacity:1;animation:none;transform:none}
.navbar{padding:calc(24px + env(safe-area-inset-top,0px)) max(40px,env(safe-area-inset-right,0px)) 24px max(40px,env(safe-area-inset-left,0px));position:fixed;top:0;left:0;width:100%;z-index:1000}
.navbar-inner{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto}
.navbar-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1}
.nav-links{display:flex;list-style:none;gap:32px;align-items:center}
.logo svg{width:32px;height:32px;fill:#fff}
.mobile-menu-btn{display:none;position:relative;width:36px;height:36px;background:0 0;border:none;cursor:pointer;z-index:1001;padding:0;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}
.mobile-menu-btn::before,.mobile-menu-btn::after{content:'';display:block;position:absolute;left:5px;right:5px;height:2px;background-color:#fff;border-radius:2px;transform-origin:center center}
.mobile-menu-btn::before{top:10px}
.mobile-menu-btn::after{top:22px}
.mobile-nav{opacity:0;visibility:hidden}
#projectModal:not(.is-open),#lightboxOverlay:not(.lb-open){position:fixed;inset:0;opacity:0;pointer-events:none}
#projectModal:not(.is-open){z-index:9000}
#lightboxOverlay:not(.lb-open){z-index:99000}
@media (max-width:900px){.navbar{padding:calc(16px + env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) 16px max(24px,env(safe-area-inset-left,0px))}.nav-links,.nav-actions{display:none}.mobile-menu-btn{display:block}.logo svg{width:26px;height:26px}}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
