@font-face{font-family:Geist;src:url('assets/fonts/Geist-Latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--surface:#101113;--frame:#0b0d0f;--panel:#17191b;--raised:#202325;--text:#efede8;--muted:#a5a6a4;--accent:#c5b79e;--border:#2a2d2f;--border-hover:#535a59;--focus:#b3cfc5;--selection:#31413d;--font:Geist,"Segoe UI",sans-serif;--ease:cubic-bezier(.22,.61,.36,1);--quick:160ms;--change:250ms;--gallery:300ms;--gutter:clamp(24px,6vw,100px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--surface);color:var(--text);font:16px/1.58 var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button,a,input,select,textarea{outline-offset:4px}:focus-visible{outline:2px solid var(--focus)}[hidden]{display:none!important}h1,h2,h3,p,figure{margin:0}img{max-width:100%;display:block}::selection{background:var(--selection);color:var(--text)}
.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--text);color:var(--frame);padding:12px}.skip-link:focus{top:10px}.page-width{width:min(calc(100% - 2*var(--gutter)),1280px);margin-inline:auto}.eyebrow{font-size:12px;line-height:1.5;letter-spacing:.11em;text-transform:uppercase;font-weight:500;color:var(--accent)}
.website-nav{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.website-brand,.closing-identity{display:flex;gap:11px;align-items:center;font-size:13px;font-weight:550;letter-spacing:.015em}.website-nav>div{display:flex;gap:32px;font-size:14px;color:var(--muted)}.website-nav a{transition:color var(--quick)}.website-nav a:hover{color:var(--text)}
.hero{padding-bottom:0}
.hero-intro{padding-block:52px 28px;transform:translate3d(0,var(--intro-y,0px),0);opacity:var(--intro-opacity,1)}
.hero-intro .eyebrow{margin-bottom:17px;color:var(--muted)}
.hero h1{font-size:clamp(72px,10.6vw,152px);line-height:.96;letter-spacing:-.055em;font-weight:600;max-width:none;color:#f2f0eb}
html.js:not(.native-ready) .product-rig{opacity:0!important}
.applications{border-top:1px solid var(--border);padding-top:58px}.collection-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:60px}.collection-heading h2{font-size:clamp(36px,3.6vw,54px);line-height:1.1;letter-spacing:-.04em;font-weight:500;margin-top:18px}.collection-heading>p{font-size:12px;color:var(--muted);padding-bottom:5px}.collection-heading>p span{color:var(--text);font-variant-numeric:tabular-nums;margin-right:10px}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:74px 34px}.gallery-app{min-width:0;scroll-margin-top:36px}.gallery-app>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;min-height:42px}.gallery-app>header>div{display:flex;gap:13px;align-items:baseline;min-width:0}.app-index{font-size:11px;font-variant-numeric:tabular-nums;color:#929790}.gallery-app h3{font-size:20px;letter-spacing:-.025em;font-weight:450;line-height:1.3}.open-capture{border:0;background:none;width:40px;height:40px;padding:10px;color:var(--muted);transition:color var(--quick)}.open-capture:hover{color:var(--text)}.open-capture svg{transition:transform 180ms var(--ease)}.open-capture:hover svg{transform:translate(1px,-1px)}
.gallery-image{display:grid;place-items:center;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);width:100%;aspect-ratio:10240/5520;min-width:0;padding:0;background:var(--frame);border:1px solid var(--border);border-radius:5px;overflow:hidden;position:relative;touch-action:pan-y;cursor:pointer;transition:border-color 180ms var(--ease)}.gallery-image:not(:disabled):hover{border-color:var(--border-hover)}.gallery-image img{grid-area:1/1;width:100%;height:100%;min-height:0;min-width:0;max-height:100%;object-fit:contain}.gallery-feature{grid-column:1/-1;padding-top:14px}.gallery-feature h3{font-size:26px}.gallery-feature .gallery-image{max-height:720px}.gallery-navigation{height:48px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border)}.gallery-count{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.gallery-count>span{color:var(--muted);margin-left:3px}.gallery-progress{flex:1;margin:0 14px;height:1px;background:var(--border);position:relative}.gallery-progress>span{position:absolute;inset:0 auto 0 0;width:0;background:var(--accent)}.gallery-navigation button{background:none;border:0;display:grid;place-items:center;width:34px;height:40px;flex:none;color:var(--muted)}.gallery-navigation button:hover{color:var(--text)}.gallery-caption{padding-top:15px;display:flex;flex-direction:column;gap:5px}.gallery-caption p{font-size:14px;color:#bfc2be;line-height:1.6}.gallery-caption>span{font-size:12px;color:#8f9692;line-height:1.5}.gallery-feature .gallery-caption{flex-direction:row;justify-content:space-between;gap:20px;align-items:baseline}.capture-fallback{display:flex;gap:12px;flex-wrap:wrap;padding-top:15px;font-size:12px}
.authorship{margin-top:120px;padding:110px 0 100px;border-top:1px solid var(--border)}
.author-credit{max-width:1040px;margin:auto;text-align:center;display:flex;flex-direction:column;align-items:center}
.author-credit>.eyebrow{order:1}
.author-statement{order:2}
.author-identity{order:3}
.author-links{order:4}
.author-credit>.eyebrow{color:var(--muted);font-size:11px;letter-spacing:.13em;margin-bottom:28px}
.author-statement{font-size:clamp(40px,5.5vw,76px);line-height:1.07;letter-spacing:-.042em;font-weight:470;text-wrap:balance}
.author-statement span{color:#9b9e9e}
.author-identity{margin-top:48px;display:flex;align-items:baseline;justify-content:center;gap:14px}
.author-name{font-size:20px;font-weight:500;letter-spacing:-.02em;line-height:1.4}
.author-fullname{font-size:14px;color:var(--muted);line-height:1.5;padding-left:14px;border-left:1px solid var(--border-hover)}
.author-links{display:flex;justify-content:center;gap:12px;margin-top:26px}
.author-links a,.author-links a:first-child{min-height:44px;display:flex;align-items:center;justify-content:center;gap:24px;padding:10px 20px;width:132px;min-width:132px;font-size:13px;line-height:1.5;border:1px solid #ffffff22;border-radius:7px;color:#d4d4ce;background:#ffffff03;transition:color 160ms,border-color 160ms,background 160ms}
.author-links a:hover,.author-links a:first-child:hover{background:#ffffff08;border-color:#ffffff48;color:var(--text)}
.author-links svg{opacity:.65;transition:transform 180ms var(--ease),opacity 180ms}
.author-links a:hover svg{transform:translate(3px,-3px);opacity:1}
.ending{border-top:1px solid var(--border);padding-block:32px 48px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.closing-identity{font-size:12px;color:#d4d3cd}.ending p{font-size:12px;color:var(--muted)}
.lightbox{max-width:none;max-height:none;width:100%;height:100dvh;inset:0;margin:0;padding:0;border:0;background:var(--frame);color:var(--text);overflow:hidden}.lightbox[open]{display:flex;flex-direction:column}.lightbox::backdrop{background:#000d}.lightbox-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:78px;padding:16px 28px;border-bottom:1px solid var(--border)}.lightbox-bar h2{font-size:18px;font-weight:450;letter-spacing:-.025em}.lightbox-bar p{font-size:12px;color:var(--muted);margin-top:3px}.lightbox-bar>div:last-child{display:flex;align-items:center;gap:24px}.lightbox-bar>div:last-child>span{font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted)}.lightbox button{background:none;border:0;display:grid;place-items:center;width:44px;height:44px;padding:0}.lightbox-stage{display:flex;gap:10px;align-items:center;flex:1;min-height:0;padding:18px}.lightbox-image-wrap{position:relative;display:grid;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:center;flex:1;height:100%;min-width:0;touch-action:pan-y}.lightbox-image-wrap img{width:100%;height:100%;min-height:0;min-width:0;object-fit:contain}.image-loading{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);font-size:12px;background:var(--panel);padding:7px 14px;border:1px solid var(--border);border-radius:3px;white-space:nowrap}.lightbox-footer{display:flex;justify-content:space-between;padding:14px 28px;gap:20px;font-size:11px;color:var(--muted);border-top:1px solid var(--border)}.lightbox-footer a{display:flex;gap:10px;align-items:center}
.noscript-note{padding-block:20px;color:var(--muted)}
.gallery-app[data-theme-loading] .gallery-image img{visibility:hidden}.gallery-navigation button:disabled{opacity:.3;cursor:default}
@media(max-width:1100px){.gallery-grid{gap:60px 26px}}
@media(max-width:760px){:root{--gutter:22px}.website-nav{height:70px}.website-nav>div{gap:22px;font-size:12px}.website-brand{font-size:12px;gap:8px}.website-brand img{width:23px;height:23px}.applications{padding-top:40px}.collection-heading{margin-bottom:35px;align-items:start}.collection-heading h2{font-size:34px}.collection-heading>p{max-width:100px;font-size:11px;line-height:1.8;text-align:right;padding-top:5px}.collection-heading>p span{display:block;margin:0;font-size:20px}.gallery-grid{grid-template-columns:1fr;gap:42px}.gallery-feature{grid-column:auto;padding-top:0}.gallery-app h3,.gallery-feature h3{font-size:19px}.gallery-app>header{margin-bottom:9px}.gallery-navigation button{width:40px;height:44px}.gallery-navigation{height:50px}.gallery-feature .gallery-caption{flex-direction:column;gap:5px}.ending{align-items:flex-start;flex-direction:column;gap:15px;padding-block:28px 36px}.ending p{font-size:11px}.lightbox-bar{padding:14px 16px;gap:12px}.lightbox-bar h2{font-size:15px}.lightbox-bar>div:last-child{gap:8px}.lightbox-stage{padding:6px;position:relative}.lightbox-stage>button{position:absolute;bottom:0;background:var(--panel);border-radius:3px;z-index:1}.lightbox-stage>[data-viewer-prev]{left:16px}.lightbox-stage>[data-viewer-next]{right:16px}.lightbox-image-wrap{padding-block:10px 58px}.lightbox-footer{padding:14px 16px}.lightbox-footer>span{max-width:50%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.gallery-standard-wide{grid-column:1/-1;display:grid;grid-template-columns:minmax(200px,.7fr) minmax(0,1.3fr);column-gap:50px;align-items:start}.gallery-standard-wide>header{grid-column:1;grid-row:1;margin:0}.gallery-standard-wide .gallery-caption{grid-column:1;grid-row:1;margin-top:64px;padding:0 32px 0 24px}.gallery-standard-wide .gallery-image{grid-column:2;grid-row:1}.gallery-standard-wide .gallery-navigation{grid-column:2}.gallery-standard-wide .capture-fallback{grid-column:2}
@media(max-width:760px){.gallery-standard-wide{display:block}.gallery-standard-wide .gallery-caption{margin-top:0;padding:15px 0 0}.gallery-standard-wide>header{margin-bottom:9px}}
@media(hover:hover) and (pointer:fine){body{cursor:url("assets/brand/cursor.svg") 3 2,auto}a,button:not(:disabled),select,.gallery-image{cursor:url("assets/brand/cursor-action.svg") 3 2,pointer}input,textarea{cursor:text}}

/* The product settles before an editorial chapter, without a literal connecting diagram. */
.experience-opening{position:relative;isolation:isolate}
.hero-sequence{position:relative;padding-bottom:96px}
.product-rig{position:relative;transform:translate3d(0,var(--product-y,0px),0);opacity:var(--product-presence,1)}
.product-rig:after{content:"";position:absolute;z-index:0;left:0;right:0;bottom:-108px;height:184px;pointer-events:none;background:radial-gradient(ellipse 48% 34% at 50% 10%,rgba(0,0,0,.72) 0%,rgba(0,0,0,.42) 38%,rgba(0,0,0,.16) 60%,transparent 82%);filter:blur(22px);opacity:.72}
@media(max-width:1100px),(max-height:520px){.product-rig,.hero-intro{transform:none;opacity:1}}
@media(max-width:760px){.hero-intro{padding-block:38px 22px}.hero h1{font-size:clamp(48px,14vw,98px);letter-spacing:-.05em}.hero-sequence{padding-bottom:52px}.product-rig:after{left:0;right:0;bottom:-92px;height:140px;filter:blur(15px);opacity:.8}.authorship{margin-top:78px;padding:78px 0 72px}.author-credit>.eyebrow{margin-bottom:24px}.author-statement{font-size:clamp(35px,9.8vw,54px);letter-spacing:-.035em;line-height:1.1}.author-identity{margin-top:40px;gap:12px}.author-name{font-size:20px}.author-fullname{font-size:13px;padding-left:12px}.author-links{margin-top:24px}.author-links a{padding-inline:17px;gap:20px}.ending{padding-block:28px 34px}}
@media(prefers-reduced-motion:reduce){.product-rig,.hero-intro{transform:none;opacity:1}}

/* Image navigation and enlargement are deliberately separate controls. */
.gallery-image:disabled{cursor:default}
.gallery-app[data-multiple=true] .gallery-image:after{content:"Next view →";position:absolute;right:14px;bottom:14px;padding:7px 10px;border:1px solid #ffffff26;border-radius:3px;background:#131719ed;color:#e3e3dc;font-size:11px;line-height:1.4;opacity:0;transition:opacity 160ms var(--ease);pointer-events:none}
.gallery-app[data-multiple=true] .gallery-image:is(:hover,:focus-visible):after{opacity:1}

/* Gene is the closing credit: the product remains the atmosphere behind it. */
.authorship{position:relative;width:100%;max-width:none;margin-inline:0;overflow:hidden;isolation:isolate;padding:clamp(112px,15vh,180px) var(--gutter);min-height:0;background:#0d0f10}
.author-ghost{position:absolute;z-index:0;inset:0;display:grid;place-items:center;opacity:0;pointer-events:none;transform:translate3d(var(--ghost-x,0px),calc(var(--ghost-y,0px) + var(--ghost-rise,0px)),0);will-change:transform,opacity}
.author-ghost-window{position:relative;width:min(1500px,92vw);aspect-ratio:1161/750;transform:perspective(1400px) rotateX(2deg) translateZ(0);opacity:.98;filter:contrast(1.08) saturate(.68);background:radial-gradient(ellipse 34% 55% at 23% 54%,rgba(140,146,155,.16),transparent 100%),radial-gradient(ellipse 42% 62% at 77% 50%,rgba(150,156,166,.22),transparent 100%);-webkit-mask-image:radial-gradient(ellipse 72% 60% at 50% 50%,#000 0%,rgba(0,0,0,.9) 38%,rgba(0,0,0,.4) 72%,transparent 98%);mask-image:radial-gradient(ellipse 72% 60% at 50% 50%,#000 0%,rgba(0,0,0,.9) 38%,rgba(0,0,0,.4) 72%,transparent 98%)}
.author-ghost-window>img{position:absolute;display:block;max-width:none;pointer-events:none;user-select:none}
.author-ghost-field{inset:0;width:100%;height:100%;opacity:.86}.author-ghost-wafer{left:45.1%;top:-9.8%;width:79.46%;height:auto;opacity:.94;filter:brightness(1.38) contrast(1.08)}.author-ghost-content{left:0;top:0;width:96.2%;height:96.27%;opacity:.96}.author-ghost-light{inset:0;width:100%;height:100%;opacity:.72;mix-blend-mode:screen}.author-ghost-veil{position:absolute;inset:-8%;background:radial-gradient(ellipse at center,rgba(9,10,12,.22) 0%,rgba(9,10,12,.52) 50%,rgba(9,10,12,.82) 90%)}
.author-activation{position:absolute;display:block;width:12%;height:2px;background:linear-gradient(90deg,transparent,rgba(220,203,163,.76),transparent);box-shadow:0 0 18px rgba(211,190,149,.42);opacity:0;animation:author-card-signal 7.2s var(--ease) 1.35s 1 both}.author-activation-1{left:21%;top:33%}.author-activation-2{left:39%;top:43%;animation-delay:1.82s}.author-activation-3{left:58%;top:29%;animation-delay:2.32s}.author-activation-4{left:70%;top:57%;animation-delay:2.82s}
@keyframes author-card-signal{0%,15%{opacity:0;transform:scaleX(.35)}25%,42%{opacity:.72;transform:scaleX(1)}55%,100%{opacity:0;transform:scaleX(1.08)}}
.author-credit{position:relative;z-index:1}.author-identity{gap:12px}.author-divider{color:var(--border-hover);font-size:13px}.author-domain{font-size:14px;color:var(--muted);line-height:1.5}.author-links a,.author-links a:first-child{width:132px;min-width:132px;padding-inline:14px;gap:20px}.ending{position:relative;z-index:1}
@media(max-width:760px){.authorship{padding-block:92px}.author-ghost-window{width:122vw;opacity:.8}.author-ghost{transform:none}.author-statement{font-size:clamp(35px,9.8vw,54px)}.author-identity{gap:9px}.author-name{font-size:19px}.author-domain{font-size:12px}.author-links{width:100%;gap:10px}.author-links a{flex:1;width:auto;min-width:0}}
@media(prefers-reduced-motion:reduce){.author-ghost{opacity:.1;transform:none}.author-activation{animation:none;opacity:0}}

/* Keep credits hidden until their one-time entrance is ready, preventing visible-hide-visible flashes. */
.js .author-credit:not([data-revealed="true"]){visibility:hidden}
@media(prefers-reduced-motion:reduce){.js .author-credit:not([data-revealed="true"]){visibility:visible}}
