/* A full viewport opening, with navigation floating above the scene. */
:root{--header-height:104px;--header-compact-height:72px}
.studio-header{position:fixed;inset:0 0 auto;z-index:50;background:transparent;border-bottom:1px solid transparent;transition:background 240ms,border-color 240ms,box-shadow 240ms;isolation:isolate}.header-inner{height:var(--header-height);transition:height 240ms var(--fp-ease)}.studio-header[data-compact=true]{background:var(--glass-veil);-webkit-backdrop-filter:blur(22px) saturate(1.35);backdrop-filter:blur(22px) saturate(1.35);border-bottom-color:var(--glass-shade);box-shadow:0 4px 24px rgb(0 0 0/.055),inset 0 1px 1px var(--glass-edge)}.studio-header[data-compact=true] .header-inner{height:var(--header-compact-height)}
.studio-header:before{content:"";position:absolute;inset:0 0 auto;height:calc(100% + 64px);z-index:-1;background:var(--fp-gradient-nav-veil);pointer-events:none;transition:opacity 240ms}.studio-header[data-compact=true]:before{opacity:0}
.home-hero{min-height:100svh;min-height:100dvh;padding:calc(var(--header-height) + clamp(24px,4vh,56px)) 0 116px;display:flex;flex-direction:column;justify-content:center;align-items:stretch;isolation:isolate}.home-hero .hero-material{inset:0;width:auto;opacity:1;z-index:-3;mask-image:none}.hero-material picture{position:absolute;inset:0}.hero-material img{width:100%;height:100%;object-fit:cover;object-position:center}.home-hero:after{z-index:-2;background:var(--fp-gradient-hero)}
.hero-inner{flex:0 0 auto}.hero-eyebrow{margin-bottom:clamp(28px,5vh,56px)}.home-hero h1{font-size:clamp(3.1rem,7.8vw,8.25rem);max-width:960px}.hero-bottom{margin-top:clamp(24px,4vh,48px)}.hero-description{max-width:460px}.hero-bottom .ui-button{margin-top:28px}
.hero-scroll-row{position:absolute;left:var(--fp-gutter);right:var(--fp-gutter);bottom:28px;display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center}.hero-scroll-label{font-size:.625rem;letter-spacing:.07em;text-transform:uppercase;color:var(--fp-muted)}.hero-scroll-label:last-child{text-align:right}.scroll-cue{width:62px;height:62px;display:grid;place-items:center;border-radius:50%;text-decoration:none;box-shadow:0 3px 12px var(--glass-shade);transition:transform var(--fp-standard),box-shadow var(--fp-standard)}.scroll-cue svg{width:21px;height:21px}.scroll-cue:hover{transform:translateY(3px);box-shadow:0 4px 16px var(--glass-shade)}.scroll-cue:active{transform:translateY(5px)}
/* The quality chapter uses a scalable optical composition, never the hero image again. */
.quality-chapter>.optical-structure{z-index:-2;inset:0 0 20% 40%;overflow:visible}.quality-chapter:after{background:var(--fp-gradient-quality)}.quality-intro{position:relative;z-index:1}.quality-points{position:relative;z-index:1}
.system-proof-stage{position:relative;isolation:isolate;padding:28px 0 20px 28px}.proof-light-path{position:absolute;z-index:-1;inset:0;background:linear-gradient(135deg,transparent 30%,color-mix(in srgb,var(--fp-accent) 45%,transparent) 30.2%,color-mix(in srgb,var(--fp-accent) 16%,transparent) 36%,transparent 36.2%,transparent 66%,color-mix(in srgb,var(--fp-accent) 26%,transparent) 66.2%,transparent 71%),var(--fp-gradient-proof-ambient);border:1px solid var(--fp-line);border-radius:24px;transform:rotate(-5deg) scale(.97)}.system-proof{background:var(--glass-body);border:1px solid var(--glass-shade);box-shadow:var(--glass-shadow),inset 0 2px 2px var(--glass-edge),inset 0 -1px 2px var(--glass-shade);border-radius:24px;backdrop-filter:blur(12px) saturate(1.4);-webkit-backdrop-filter:blur(12px) saturate(1.4)}.proof-type{text-shadow:0 1px 1px var(--glass-edge)}
.interior-hero{padding-top:calc(var(--header-height) + 48px)}.engineering-hero>.optical-structure{z-index:-2;inset:0 -10% 0 60%;opacity:.48}.engineering-hero:after{background:var(--fp-gradient-engineering)}.contact-page{position:relative;isolation:isolate;padding-top:calc(var(--header-height) + 80px)}.contact-heading>.optical-structure{z-index:-1;inset:360px -5% -10px 10%;opacity:.6;mask-image:var(--fp-gradient-contact-mask)}.contact-form-wrap{position:relative;isolation:isolate}.contact-form-wrap:before{content:'';position:absolute;z-index:-2;inset:0 -32px;background:var(--fp-gradient-contact-light);pointer-events:none}
/* A real demonstration of light passing behind a working interface in the lab. */
.optical-demo{position:relative;isolation:isolate;border-radius:24px;overflow:hidden;padding:72px 48px;min-height:520px;background:var(--fp-subtle);display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.optical-demo>.optical-structure{inset:-30% -10% -20% 20%;z-index:-1;opacity:.9}.optical-demo-copy h3{font-size:2.7rem;margin:24px 0}.optical-demo-copy p:not(.eyebrow){font-size:1rem;max-width:360px;color:var(--fp-muted)}.optical-demo .glass-surface{padding:32px;display:grid;gap:24px;max-width:420px}.optical-demo .glass-surface h3{font-size:2rem}.optical-demo .glass-surface p{font-size:.875rem;color:var(--fp-muted)}.optical-demo-actions{display:flex;gap:12px;flex-wrap:wrap}.optical-demo-controls{display:flex;align-items:center;gap:24px;margin:24px 0;flex-wrap:wrap}.optical-demo-controls p{font-size:.75rem;color:var(--fp-muted)}
@media(min-width:1700px){.home-hero{min-height:100dvh}.home-hero .hero-material{inset:0;width:auto}}
@media(max-width:1100px){.optical-demo{gap:40px;padding:48px 32px}.optical-demo-copy h3{font-size:2.2rem}}
@media(max-width:800px){:root{--header-height:88px;--header-compact-height:68px}.home-hero{min-height:100dvh;padding-top:calc(var(--header-height) + 32px);padding-bottom:116px}.home-hero h1{font-size:clamp(3rem,9.4vw,5rem)}.home-hero .hero-material{inset:0;width:auto;opacity:.85}.hero-material img{object-position:65% center}.home-hero:after{background:var(--fp-gradient-hero-tablet)}.hero-eyebrow{font-size:.625rem;margin-bottom:40px}.hero-bottom{margin-top:32px}.hero-scroll-label{font-size:.5625rem;max-width:140px}.quality-chapter>.optical-structure{inset:0 -20% 24% 34%;opacity:.7}.system-proof-stage{width:100%;max-width:620px;justify-self:end}.contact-page{padding-top:calc(var(--header-height) + 48px)}.contact-heading>.optical-structure{display:none}.interior-hero{padding-top:calc(var(--header-height) + 32px)}.optical-demo{grid-template-columns:1fr;gap:48px;padding:40px}.optical-demo .glass-surface{width:100%;max-width:500px;justify-self:end}}
@media(max-width:600px){.home-hero{min-height:100svh;min-height:100dvh;justify-content:center;padding-top:calc(var(--header-height) + 24px);padding-bottom:100px}.home-hero h1{font-size:clamp(2.75rem,10.8vw,4rem)}.hero-eyebrow{margin-bottom:clamp(24px,5dvh,40px);max-width:240px}.hero-bottom{margin-top:24px}.hero-description{font-size:1rem;max-width:315px}.hero-bottom .ui-button{margin-top:24px}.home-hero .hero-material{inset:0 -35% 0 -55%;opacity:.95}.hero-material img{object-position:64% center}.home-hero:after{background:var(--fp-gradient-hero-mobile)}.hero-scroll-row{bottom:20px;gap:16px;grid-template-columns:1fr auto}.hero-scroll-label:first-child{max-width:200px;font-size:.625rem}.hero-scroll-label:last-child{display:none}.scroll-cue{width:56px;height:56px}.quality-chapter>.optical-structure{inset:8% -40% 33% 22%;opacity:.7}.quality-intro{z-index:1}.quality-chapter:after{background:var(--fp-gradient-quality-mobile)}.system-proof-stage{padding:20px 0 12px 12px}.system-proof{padding:24px}.contact-page{padding-top:calc(var(--header-height) + 32px)}.contact-form-wrap:before{inset:0 -16px}.engineering-hero>.optical-structure{inset:0 -35% 0 45%;opacity:.3}.optical-demo{padding:32px 20px}.optical-demo .glass-surface{padding:24px}.optical-demo-copy h3{font-size:2rem}.optical-demo .glass-surface h3{font-size:1.75rem}}
@media(max-height:700px){.home-hero{padding-top:calc(var(--header-height) + 12px);padding-bottom:88px}.hero-eyebrow{margin-bottom:24px}.hero-bottom{margin-top:20px}.hero-bottom .ui-button{margin-top:20px}.hero-scroll-row{bottom:16px}.scroll-cue{width:50px;height:50px}}
@media(prefers-reduced-motion:reduce){.studio-header,.studio-header:before,.header-inner,.scroll-cue{transition:none}.optical-caustic{transform:rotate(-20deg)}}
@media(forced-colors:active){.studio-header[data-compact=true]{background:Canvas;border-bottom:1px solid CanvasText}.studio-header:before,.hero-material,.proof-light-path{display:none}}

.contact-form-wrap:before{mask-image:var(--fp-gradient-field-mask)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.studio-header[data-compact=true]{background:var(--fp-canvas)}}
@media(prefers-reduced-transparency:reduce){.studio-header[data-compact=true]{background:var(--fp-canvas);backdrop-filter:none;-webkit-backdrop-filter:none}}



@media(max-width:359px){.home-hero h1{font-size:2.625rem}}
