:root{color-scheme:light dark;--paper:#f2ead8;--ink:#10272a;--muted:#5d6d69;--rule:#b6ae9c;--panel:#e6dcc7;--orange:#dc5b2f;--gold:#edb629;--teal:#28676c;--navy:#0c2934;--cream:#fff7e6;--purple:#44236b;--sans:"Helvetica Neue",Helvetica,Arial,sans-serif;--condensed:"Arial Narrow",Impact,Haettenschweiler,sans-serif;--mono:"SF Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
:root[data-theme="dark"]{--paper:#09191e;--ink:#eee5d2;--muted:#a7afa8;--rule:#385057;--panel:#10282e;--cream:#f7edda}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper);scroll-padding-top:90px}body{margin:0;padding-top:78px;background:var(--paper);color:var(--ink);font-family:var(--sans);transition:background .25s,color .25s}body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}a{color:inherit}.skip{position:fixed;left:-999px;top:8px;z-index:100;background:var(--ink);color:var(--paper);padding:10px}.skip:focus{left:8px}
.masthead{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,64px);border-bottom:1px solid var(--rule);position:fixed;inset:0 0 auto;z-index:40;background:var(--paper);transition:box-shadow .25s,background .25s;isolation:isolate}.masthead::before{content:"";position:absolute;left:0;right:0;top:-120px;height:122px;background:linear-gradient(var(--paper),var(--paper)) 0 0/100% 120px no-repeat,linear-gradient(90deg,var(--orange) 0 18%,var(--gold) 18% 24%,transparent 24% 76%,var(--teal) 76% 100%) 0 120px/100% 2px no-repeat;opacity:1;pointer-events:none}.masthead::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--orange) 22%,var(--rule) 36% 64%,var(--teal) 78%,transparent);opacity:.55}.masthead.is-scrolled{box-shadow:0 12px 32px #07151922}.wordmark{display:inline-flex;align-items:center;text-decoration:none;font:900 18px/1 var(--sans);letter-spacing:.12em}.wordmark span{padding-right:9px}.wordmark b{font-weight:900;color:var(--orange);padding-left:9px;border-left:2px solid currentColor}.wordmark.small{font-size:13px}.header-tools{display:flex;align-items:center;gap:13px}.header-signal{display:flex;align-items:center;gap:7px;margin-right:4px;color:var(--muted);font:700 8px/1 var(--mono);letter-spacing:.13em}.header-signal i{width:6px;height:6px;background:#4fcf83;border-radius:50%;box-shadow:0 0 9px #4fcf83;animation:blink 2.4s ease-in-out infinite}.site-links{height:38px;display:flex;align-items:stretch;border:1px solid var(--rule)}.site-links a{min-width:70px;padding:0 15px;display:flex;align-items:center;justify-content:center;position:relative;font:700 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}.site-links a+a{border-left:1px solid var(--rule)}.site-links a:hover,.site-links a:focus-visible{background:color-mix(in srgb,var(--orange) 12%,transparent);color:var(--orange);outline:0}.site-links a[aria-current="page"]{background:var(--ink);color:var(--paper)}.site-links a[aria-current="page"]::before{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--orange);left:8px;top:8px;box-shadow:0 0 8px var(--orange)}.theme-toggle{height:38px;display:flex;align-items:center;gap:8px;border:1px solid var(--rule);background:transparent;color:var(--ink);padding:9px 11px;font:700 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.theme-toggle:hover,.theme-toggle:focus-visible{border-color:var(--orange);color:var(--orange);outline:0}.theme-toggle em{font-style:normal}.overline{font:700 10px/1.4 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0}
/* Homepage hero */
.hero{min-height:calc(100vh - 78px);display:grid;grid-template-columns:minmax(0,.88fr) minmax(440px,1.12fr);position:relative;border-bottom:1px solid var(--rule);overflow:visible}.hero-copy{padding:clamp(70px,10vw,155px) clamp(26px,5vw,80px);display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}.hero h1{font:900 clamp(64px,8.2vw,140px)/.79 var(--condensed);letter-spacing:-.045em;text-transform:uppercase;margin:26px 0 32px;max-width:7.7ch}.hero h1 i{color:var(--orange);font-style:normal}.hero-deck{font-size:clamp(17px,1.45vw,24px);line-height:1.45;max-width:560px;margin:0 0 42px}.text-link{align-self:flex-start;font:700 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:7px}.text-link span{color:var(--orange);padding-left:14px}.hero-art{--rocket-x:0px;--rocket-y:0px;--rocket-turn:0deg;margin:0;position:relative;background:#efe5cf;min-height:620px;z-index:5}.artwork-frame{position:absolute;inset:0;overflow:hidden;background:#efe5cf}.mission-plate{width:100%;height:100%;object-fit:cover;object-position:center;display:block;position:relative;z-index:1}.hero-art figcaption{position:absolute;z-index:4;left:0;right:0;bottom:0;display:flex;justify-content:space-between;background:#0c2934e8;color:#f7edda;padding:13px 18px;font:700 9px/1 var(--mono);letter-spacing:.13em}.rocket-vehicle{position:absolute;z-index:8;left:72.5%;top:34%;width:20%;aspect-ratio:420/540;transform:translate3d(var(--rocket-x),var(--rocket-y),0) rotate(var(--rocket-turn));transform-origin:60% 75%;will-change:transform;pointer-events:none;filter:drop-shadow(0 10px 10px #07151938)}.rocket-vehicle::after{content:"";position:absolute;width:145%;height:2px;right:66%;top:77%;background:linear-gradient(90deg,transparent,var(--gold) 48%,var(--cream));transform:rotate(36deg);transform-origin:right center;opacity:var(--flight-progress,0);box-shadow:0 0 10px color-mix(in srgb,var(--gold) 65%,transparent)}.rocket-vehicle img{width:100%;height:100%;object-fit:contain;display:block;animation:rocket-hum 2.2s ease-in-out infinite}.rocket-readout{position:absolute;z-index:9;right:18px;bottom:49px;display:flex;gap:11px;align-items:center;padding:8px 9px;background:#0c2934c9;color:#f7edda;font:700 8px/1 var(--mono);letter-spacing:.13em;opacity:calc(.45 + var(--flight-progress,0) * .55)}.rocket-readout b{color:var(--gold);font:inherit}.hero-index{position:absolute;left:15px;bottom:18px;display:flex;flex-direction:column;gap:8px;color:var(--muted);font:700 8px/1 var(--mono);letter-spacing:.1em}.orbit-mark{position:absolute;border:1px solid #fff7e657;border-radius:50%;z-index:3;pointer-events:none;animation:orbit-pulse 7s ease-in-out infinite}.orbit-mark::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--gold);top:50%;left:-4px;box-shadow:0 0 14px var(--gold)}.orbit-mark-a{width:55%;aspect-ratio:1;right:-20%;top:-10%}.orbit-mark-b{width:28%;aspect-ratio:1;right:10%;bottom:14%;animation-delay:-3s}@keyframes orbit-pulse{50%{transform:scale(1.035);opacity:.62}}@keyframes rocket-hum{50%{transform:translateY(-2px)}}
/* Work index: each product is one clear color field */
.work{padding:clamp(90px,10vw,150px) clamp(16px,4vw,64px)}.work-intro{display:grid;grid-template-columns:.55fr 1fr .65fr;align-items:end;gap:clamp(24px,5vw,80px);margin:0 auto clamp(65px,8vw,110px);max-width:1500px}.work-intro h2,.studio h2,.contact-cta h2{font:900 clamp(50px,7.2vw,112px)/.87 var(--condensed);letter-spacing:-.035em;text-transform:uppercase;margin:0}.work-intro>p:last-child{line-height:1.6;color:var(--muted);max-width:460px}.work-band{--band-bg:var(--orange);--band-ink:#10272a;display:grid;grid-template-columns:minmax(0,.9fr) minmax(390px,1.1fr);min-height:720px;max-width:1500px;margin:0 auto 30px;background:var(--band-bg);color:var(--band-ink);overflow:hidden;position:relative}.work-band::before{content:"";position:absolute;left:-12%;bottom:-34%;width:55%;aspect-ratio:1;border:1px solid currentColor;border-radius:50%;opacity:.14;box-shadow:0 0 0 70px color-mix(in srgb,currentColor 7%,transparent),0 0 0 140px color-mix(in srgb,currentColor 4%,transparent);pointer-events:none}.weather-band{--band-bg:#de6537;--band-ink:#10272a}.space-band{--band-bg:#102b3a;--band-ink:#f2ead8}.party-band{--band-bg:#edb629;--band-ink:#231533}.work-band-copy{padding:clamp(40px,6vw,94px);display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}.project-meta{display:grid;grid-template-columns:auto 1fr auto;gap:18px;border-bottom:1px solid currentColor;padding-bottom:11px;margin:0 0 34px;font:700 9px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;opacity:.7}.band-icon{width:66px;height:66px;object-fit:cover;border-radius:15px;margin-bottom:25px;box-shadow:0 12px 25px #0002}.work-band h3{font:900 clamp(74px,9vw,150px)/.76 var(--condensed);letter-spacing:-.05em;text-transform:uppercase;margin:0 0 30px}.work-band h3 a{text-decoration:none}.work-band-copy>p:not(.project-meta){font-size:clamp(18px,1.5vw,24px);line-height:1.48;max-width:650px}.project-links{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px}.project-links a{font:700 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;text-underline-offset:6px}.work-band-visual{display:block;min-height:620px;background:#050809;position:relative;overflow:hidden;color:#f7edda}.work-band-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 55%,#fff2 56%,transparent 57%);transform:translateX(-120%);transition:transform .8s ease}.work-band-visual:hover::after{transform:translateX(120%)}.work-band-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.work-band-visual:hover img{transform:scale(1.025)}.visual-label{position:absolute;z-index:3;top:18px;left:18px;background:#0b222bd9;color:#f7edda;padding:10px 12px;font:700 9px/1 var(--mono);letter-spacing:.12em}.landscape-visual img{object-position:center;height:100%}
/* Studio and CTA */
.studio{padding:clamp(90px,12vw,180px) clamp(20px,5vw,80px);display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(50px,9vw,150px);background:var(--ink);color:var(--paper)}:root[data-theme="dark"] .studio{background:#eee5d2;color:#10272a}.studio .overline{color:currentColor;opacity:.62}.studio-copy{padding-top:50px}.studio-copy p{max-width:700px;line-height:1.7}.studio-copy .large{font-size:clamp(21px,2.1vw,32px);line-height:1.45;margin-top:0}.principles{margin:55px 0 0}.principles div{display:grid;grid-template-columns:55px 1fr;padding:17px 0;border-top:1px solid currentColor}.principles dt{font:700 10px/1 var(--mono)}.principles dd{margin:0;font-size:15px}.contact-cta{min-height:74vh;padding:clamp(90px,13vw,190px) clamp(20px,6vw,90px);display:grid;grid-template-columns:1fr auto;align-items:end;gap:50px;position:relative;overflow:hidden}.contact-cta h2{margin-top:30px}.signal-button{position:relative;z-index:2;display:flex;align-items:center;gap:35px;padding:20px 24px;border:1px solid var(--orange);font:700 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}.signal-button b{color:var(--orange);font-size:18px}.signal-button:hover{background:var(--orange);color:#fff}.signal-button:hover b{color:#fff}.contact-orbit{position:absolute;width:min(48vw,650px);aspect-ratio:1;border:1px solid var(--orange);border-radius:50%;right:-14vw;top:7%;box-shadow:0 0 0 70px color-mix(in srgb,var(--gold) 23%,transparent),0 0 0 140px color-mix(in srgb,var(--orange) 8%,transparent);animation:orbit-pulse 8s ease-in-out infinite}
footer{min-height:100px;border-top:1px solid var(--rule);padding:28px clamp(20px,4vw,64px);display:flex;align-items:center;gap:28px}footer p{margin:0 auto;color:var(--muted);font:700 9px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}footer>a:last-child{font:700 9px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}
/* Project detail pages */
.detail{--accent:var(--orange);--accent2:var(--gold)}.detail.space{--accent:#40a19f;--accent2:#54ef8b}.detail.party{--accent:#edb629;--accent2:#7b4cb1}.detail-hero{min-height:calc(100vh - 78px);display:grid;grid-template-columns:1fr .82fr;border-bottom:1px solid var(--rule);overflow:hidden}.detail-copy{padding:clamp(70px,9vw,140px) clamp(24px,6vw,90px);display:flex;flex-direction:column;justify-content:center}.detail h1{font:900 clamp(74px,11vw,170px)/.78 var(--condensed);letter-spacing:-.05em;text-transform:uppercase;margin:24px 0 35px;color:var(--accent)}.detail-deck{font-size:clamp(19px,1.8vw,29px);line-height:1.42;max-width:650px;margin:0}.detail-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:42px}.button{display:inline-block;padding:13px 16px;border:1px solid var(--accent);font:700 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}.button.primary{background:var(--accent);color:#fff}.detail-art{display:grid;place-items:center;background:var(--panel);position:relative;overflow:hidden;min-height:650px}.detail-art::before,.detail-art::after{content:"";position:absolute;border:1px solid var(--accent);border-radius:50%;width:78%;aspect-ratio:1;animation:orbit-pulse 6s ease-in-out infinite}.detail-art::after{width:55%;animation-delay:-3s}.detail-art img{position:relative;z-index:3;width:min(62%,440px);aspect-ratio:1;object-fit:cover;box-shadow:20px 20px 0 color-mix(in srgb,var(--accent) 35%,transparent);transition:transform .2s ease-out}.radar-sweep{position:absolute;width:68%;aspect-ratio:1;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 78%,color-mix(in srgb,var(--accent) 38%,transparent) 94%,transparent);animation:radar 9s linear infinite}@keyframes radar{to{transform:rotate(360deg)}}.starfield{position:absolute;inset:0;opacity:.48;background-image:radial-gradient(circle at 20% 20%,var(--accent2) 0 1px,transparent 2px),radial-gradient(circle at 70% 38%,var(--accent) 0 1px,transparent 2px),radial-gradient(circle at 35% 77%,var(--accent2) 0 1px,transparent 2px);background-size:95px 105px,140px 160px,190px 210px;animation:drift 18s linear infinite}@keyframes drift{to{background-position:95px 105px,-140px 160px,190px -210px}}.party-rings{position:absolute;width:85%;aspect-ratio:1;border:2px dashed var(--accent2);border-radius:50%;animation:radar 22s linear infinite}.detail-body{padding:clamp(90px,12vw,180px) clamp(20px,6vw,90px)}.detail-intro{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;margin-bottom:clamp(90px,12vw,170px)}.detail-intro h2,.screen-heading h2{font:900 clamp(46px,6vw,90px)/.9 var(--condensed);text-transform:uppercase;margin:0}.detail-intro p{font-size:clamp(18px,1.7vw,25px);line-height:1.55;margin:0;max-width:760px}.screen-section{margin-bottom:clamp(100px,14vw,200px)}.screen-heading{display:grid;grid-template-columns:.55fr 1fr .65fr;gap:40px;align-items:end;margin-bottom:70px}.screen-heading>p:last-child{line-height:1.55;color:var(--muted)}.screen-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(15px,3vw,45px);align-items:start;background:color-mix(in srgb,var(--accent) 14%,var(--panel));padding:clamp(24px,5vw,74px);position:relative;overflow:hidden}.screen-rail::before{content:"";position:absolute;width:48%;aspect-ratio:1;border:1px solid var(--accent);border-radius:50%;right:-20%;top:-20%;opacity:.45}.phone-shot,.wide-shot{margin:0;position:relative;z-index:1}.phone-shot img,.wide-shot img{width:100%;display:block;box-shadow:0 25px 60px #05131830}.phone-shot:nth-child(2){margin-top:9vw}.phone-shot:nth-child(3){margin-top:3vw}.phone-shot figcaption,.wide-shot figcaption{font:700 9px/1 var(--mono);letter-spacing:.12em;margin-top:14px;color:var(--muted)}.space-rail{grid-template-columns:.65fr .65fr 1.4fr}.space-rail .wide-shot{align-self:center}.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.fact{padding:35px 30px;border-right:1px solid var(--rule)}.fact:last-child{border-right:0}.fact span{font:700 10px/1 var(--mono);letter-spacing:.15em;color:var(--accent)}.fact h3{font:900 28px/1 var(--condensed);text-transform:uppercase;margin:35px 0 12px}.fact p{margin:0;color:var(--muted);line-height:1.6}.next-project{background:var(--accent);color:#071519;padding:clamp(70px,8vw,120px) clamp(20px,6vw,90px)}.next-project .overline{color:currentColor;opacity:.65}.next-project a{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:30px;text-decoration:none}.next-project a span{font:700 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}.next-project a strong{font:900 clamp(44px,7vw,105px)/.85 var(--condensed);letter-spacing:-.035em;text-transform:uppercase}
/* Contact page */
.contact-main{min-height:calc(100vh - 78px);display:grid;grid-template-columns:.9fr 1.1fr}.contact-intro{padding:clamp(80px,10vw,150px) clamp(24px,6vw,90px);display:flex;flex-direction:column;justify-content:center;background:var(--ink);color:var(--paper);position:relative;overflow:hidden}:root[data-theme="dark"] .contact-intro{background:#eee5d2;color:#10272a}.contact-intro::after{content:"";position:absolute;width:58%;aspect-ratio:1;border:1px solid var(--orange);border-radius:50%;left:-30%;bottom:-20%;box-shadow:0 0 0 55px color-mix(in srgb,var(--gold) 18%,transparent)}.contact-intro .overline{color:currentColor;opacity:.65}.contact-intro h1{font:900 clamp(70px,9vw,145px)/.78 var(--condensed);text-transform:uppercase;letter-spacing:-.045em;margin:35px 0}.contact-intro h1 i{font-style:normal;color:var(--orange)}.contact-intro>p:not(.overline){font-size:clamp(18px,1.5vw,24px);line-height:1.55;max-width:640px}.contact-status{margin-top:50px;font:700 9px/1.4 var(--mono);letter-spacing:.13em}.contact-status span{display:inline-block;width:8px;height:8px;border-radius:50%;background:#54ef8b;box-shadow:0 0 12px #54ef8b;margin-right:10px;animation:blink 2s ease-in-out infinite}@keyframes blink{50%{opacity:.35}}.contact-form-wrap{padding:clamp(70px,9vw,135px) clamp(24px,7vw,110px);position:relative;overflow:hidden}.contact-form-wrap h2{font:900 clamp(50px,6vw,92px)/.88 var(--condensed);text-transform:uppercase;margin:25px 0 50px}.form-orbit{position:absolute;width:310px;aspect-ratio:1;border:1px solid var(--orange);border-radius:50%;right:-170px;top:60px;box-shadow:0 0 0 45px color-mix(in srgb,var(--gold) 15%,transparent)}.contact-form{position:relative;z-index:1}.form-row{display:grid;grid-template-columns:165px 1fr;align-items:start;border-top:1px solid var(--rule);padding:21px 0}.form-row label{font:700 10px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;padding-top:14px}.form-row input,.form-row select,.form-row textarea{width:100%;border:0;border-bottom:1px solid transparent;background:transparent;color:var(--ink);font:500 18px/1.45 var(--sans);padding:10px 4px;border-radius:0}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:0;border-bottom-color:var(--orange)}.form-row textarea{resize:vertical}.form-submit{width:100%;display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding:18px 20px;border:1px solid var(--orange);background:var(--orange);color:#fff;font:700 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.form-submit:hover{background:transparent;color:var(--orange)}.form-note,.direct-email{font-size:12px;line-height:1.5;color:var(--muted)}.direct-email{margin-top:34px}.direct-email a{text-underline-offset:5px}
/* Reveal motion */
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.65,.25,1)}[data-reveal].is-visible{opacity:1;transform:none}.screen-rail [data-reveal]:nth-child(2){transition-delay:.12s}.screen-rail [data-reveal]:nth-child(3){transition-delay:.24s}
@media (max-width:1000px){.header-signal{display:none}.site-links a{min-width:64px;padding:0 11px}.work-intro,.screen-heading{grid-template-columns:1fr 1.2fr}.work-intro>p:last-child,.screen-heading>p:last-child{grid-column:2}.work-band{grid-template-columns:1fr 1fr}.work-band h3{font-size:10vw}.contact-main{grid-template-columns:1fr}.contact-intro{min-height:72vh}}
@media (max-width:900px){.hero{grid-template-columns:1fr;min-height:0}.hero-copy{min-height:72vh}.hero-art{min-height:0;aspect-ratio:3/2;background:#efe5cf}.artwork-frame{inset:0}.mission-plate{width:100%;height:100%;object-fit:contain;object-position:center}.rocket-vehicle{left:72%;top:34%;width:20%}.work-intro{grid-template-columns:1fr}.work-intro>p:last-child{grid-column:1}.work-band{grid-template-columns:1fr}.work-band-visual{min-height:0;aspect-ratio:4/3}.work-band-visual img{height:100%;object-fit:cover}.landscape-visual{aspect-ratio:16/10}.studio{grid-template-columns:1fr}.contact-cta{grid-template-columns:1fr}.detail-hero{grid-template-columns:1fr}.detail-art{min-height:70vh}.detail-intro{grid-template-columns:1fr}.screen-heading{grid-template-columns:1fr}.screen-heading>p:last-child{grid-column:1}.screen-rail,.space-rail{grid-template-columns:repeat(3,70vw);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:40px}.phone-shot,.wide-shot,.phone-shot:nth-child(2),.phone-shot:nth-child(3){margin-top:0;scroll-snap-align:center}.wide-shot{align-self:center}.facts{grid-template-columns:1fr}.fact{border-right:0;border-bottom:1px solid var(--rule)}.fact:last-child{border-bottom:0}}
@media (max-width:620px){html{scroll-padding-top:124px}body{padding-top:112px}.masthead,.masthead.is-scrolled{height:112px;display:grid;grid-template-columns:1fr auto;grid-template-rows:56px 44px;padding:0 14px 12px;align-items:center}.wordmark{font-size:16px;grid-column:1;grid-row:1}.header-tools{display:contents}.header-signal{display:none}.theme-toggle{grid-column:2;grid-row:1;width:38px;padding:0;justify-content:center}.theme-toggle em{display:none}.site-links{grid-column:1 / 3;grid-row:2;width:100%;height:44px}.site-links a{min-width:0;flex:1;padding:0 7px;font-size:9px;letter-spacing:.1em}.site-links a[aria-current="page"]::before{left:6px;top:6px;width:4px;height:4px}.hero-copy{min-height:70vh;padding:68px 22px}.hero h1{font-size:19vw}.hero-art{aspect-ratio:3/2}.hero-art figcaption{padding:11px 14px;font-size:8px}.rocket-readout{right:10px;bottom:41px;font-size:7px}.hero-index{display:none}.orbit-mark{display:none}.work{padding:85px 12px}.work-intro{padding:0 9px}.work-band{min-height:0;margin-bottom:14px}.work-band-copy{padding:42px 25px 48px}.project-meta{grid-template-columns:1fr auto}.project-meta span:nth-child(2){grid-row:2}.work-band h3{font-size:23vw}.work-band-visual{aspect-ratio:1}.landscape-visual{aspect-ratio:4/3}.studio,.contact-cta{padding-left:20px;padding-right:20px}.contact-cta{min-height:68vh}.contact-orbit{width:90vw;right:-50vw}.signal-button{justify-content:space-between}.detail h1{font-size:21vw}.detail-copy{min-height:72vh;padding-left:20px;padding-right:20px}.detail-art{min-height:58vh}.detail-art img{width:66%}.detail-body{padding-left:16px;padding-right:16px}.screen-rail,.space-rail{grid-template-columns:repeat(3,78vw);padding:22px 16px}.next-project a{align-items:flex-start;flex-direction:column}.contact-intro,.contact-form-wrap{padding-left:20px;padding-right:20px}.contact-intro h1{font-size:19vw}.form-row{grid-template-columns:1fr}.form-row label{padding:0 0 5px}.contact-form-wrap h2{margin-bottom:35px}footer{align-items:flex-start;flex-direction:column}footer p{margin:0}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}[data-reveal]{opacity:1;transform:none}}

@media (max-width:620px){
  :root{--safe-top:env(safe-area-inset-top,0px)}
  html{scroll-padding-top:calc(124px + var(--safe-top))}
  body{padding-top:calc(112px + var(--safe-top))}
  .masthead,.masthead.is-scrolled{height:calc(112px + var(--safe-top));padding:var(--safe-top) 14px 12px;background:var(--paper)}
  .masthead::before{position:absolute;top:-86px;left:0;right:0;height:87px;background:var(--paper);z-index:0}
  .wordmark,.site-links,.theme-toggle{position:relative;z-index:1}
  .masthead,.masthead.is-scrolled{box-shadow:0 -96px 0 96px var(--paper),0 12px 32px #07151922}
}

/* Hero depth: one separated cloud layer over the original artwork. */
.poster-blue-cloud{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;object-position:center;display:block;pointer-events:none;will-change:transform;animation:blue-bank-drift 14s ease-in-out infinite alternate}
@keyframes blue-bank-drift{from{transform:translate3d(-8px,0,0)}to{transform:translate3d(8px,0,0)}}

/* Each product gets its own atmosphere. */
.detail-art::before,.detail-art::after{display:none}
.radar-sweep{z-index:1}
.weather .detail-art{background:linear-gradient(180deg,#c8d6d3 0%,#829da0 52%,#284d56 100%)}
.space .detail-art{background:radial-gradient(circle at 50% 47%,#183e52 0 20%,#081923 62%,#030a0f 100%)}
.party .detail-art{background:linear-gradient(145deg,#26153e,#5f327c 48%,#edb629)}

/* Product atmosphere spans the full viewport and remains present while scrolling. */
.page-atmosphere{position:fixed;inset:0;z-index:6;overflow:hidden;pointer-events:none;contain:strict}
.atmosphere-rain i{position:absolute;left:var(--x);top:-80px;width:2px;height:var(--length);opacity:var(--drop-opacity);background:linear-gradient(180deg,transparent 0%,#dff7f5 28%,#4d9ba8 100%);border-radius:1px;filter:drop-shadow(5px 18px 0 #75aeb5);will-change:transform;animation:page-rain var(--duration) linear var(--delay) infinite}
@keyframes page-rain{from{transform:translate3d(7vw,-12vh,0)}to{transform:translate3d(-9vw,calc(112vh + 100px),0)}}
.atmosphere-stars{opacity:.44;background-image:radial-gradient(circle,#54ef8b 0 1px,transparent 1.5px),radial-gradient(circle,#40a19f 0 1px,transparent 1.7px),radial-gradient(circle,#fff7e6 0 1px,transparent 1.5px);background-size:91px 103px,143px 157px,211px 227px;background-position:0 0,27px 39px,68px 91px;will-change:background-position;animation:page-star-drift 42s linear infinite}
.atmosphere-stars::before,.atmosphere-stars::after{content:"";position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;box-shadow:74px 28px 0 #54ef8b,155px 102px 0 #40a19f,268px 46px 0 #fff,355px 183px 0 #54ef8b,470px 88px 0 #fff,548px 250px 0 #40a19f,690px 66px 0 #fff,820px 330px 0 #54ef8b,1010px 145px 0 #40a19f,1180px 410px 0 #fff;animation:page-star-pulse 5.5s ease-in-out infinite}
.atmosphere-stars::before{left:3%;top:8%}.atmosphere-stars::after{right:7%;bottom:15%;animation-delay:-2.7s}
@keyframes page-star-drift{to{background-position:91px 103px,-116px 196px,279px -136px}}@keyframes page-star-pulse{50%{opacity:.26;transform:scale(.72)}}
.atmosphere-confetti i{position:absolute;left:var(--x);top:-50px;width:7px;height:16px;opacity:.38;background:var(--gold);will-change:transform;animation:page-confetti var(--duration) linear var(--delay) infinite}
.atmosphere-confetti i:nth-child(3n){width:10px;height:10px;background:var(--orange)}.atmosphere-confetti i:nth-child(3n + 2){width:6px;height:20px;background:#7b4cb1}
@keyframes page-confetti{from{transform:translate3d(-2vw,-10vh,0) rotate(0)}to{transform:translate3d(7vw,calc(112vh + 70px),0) rotate(540deg)}}

/* Work directory: every project is visible together and each tile is the link. */
.work-index{padding:clamp(58px,7vw,105px) clamp(16px,4vw,64px) clamp(80px,9vw,130px);min-height:calc(100vh - 78px)}
.work-index-intro{display:grid;grid-template-columns:.45fr .72fr 1fr;gap:clamp(24px,4vw,70px);align-items:end;max-width:1500px;margin:0 auto clamp(42px,5vw,72px)}
.work-index-intro h1{font:900 clamp(72px,9vw,148px)/.78 var(--condensed);letter-spacing:-.045em;text-transform:uppercase;margin:0}.work-index-intro>p:last-child{font-size:clamp(17px,1.4vw,23px);line-height:1.5;max-width:610px;margin:0}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,25px);max-width:1500px;margin:0 auto}
.project-tile{--tile-bg:var(--orange);--tile-ink:#10272a;display:flex;flex-direction:column;min-width:0;background:var(--tile-bg);color:var(--tile-ink);text-decoration:none;border:1px solid color-mix(in srgb,var(--tile-ink) 35%,transparent);overflow:hidden;position:relative;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.project-space{--tile-bg:#102b3a;--tile-ink:#f2ead8}.project-party{--tile-bg:#edb629;--tile-ink:#231533}
.project-tile:hover,.project-tile:focus-visible{transform:translateY(-8px);box-shadow:0 20px 45px #07151926;outline:2px solid var(--tile-ink);outline-offset:3px}
.project-tile-visual{height:clamp(210px,18vw,280px);position:relative;overflow:hidden;background:#081116}
.project-tile-visual>img:first-child{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s}.project-space .project-tile-visual>img:first-child{object-position:center}.project-tile:hover .project-tile-visual>img:first-child,.project-tile:focus-visible .project-tile-visual>img:first-child{transform:scale(1.035);filter:saturate(1.08)}
.project-tile-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 58%,color-mix(in srgb,var(--tile-bg) 55%,transparent));pointer-events:none}
.project-tile-icon{position:absolute;z-index:2;left:18px;bottom:18px;width:58px;height:58px;object-fit:cover;border-radius:13px;box-shadow:0 10px 25px #0006;border:1px solid #fff5}
.project-tile-copy{padding:clamp(20px,2.4vw,34px);display:flex;flex-direction:column;flex:1}.project-tile-copy>p{display:flex;justify-content:space-between;gap:15px;margin:0 0 26px;padding-bottom:10px;border-bottom:1px solid currentColor;font:700 8px/1.3 var(--mono);letter-spacing:.11em;text-transform:uppercase;opacity:.72}.project-tile-copy h2{font:900 clamp(43px,4.3vw,72px)/.82 var(--condensed);letter-spacing:-.035em;text-transform:uppercase;margin:0 0 24px}.project-tile-copy>div{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-top:auto}.project-tile-copy>div span{font-size:clamp(14px,1.1vw,18px);line-height:1.45;max-width:28ch}.project-tile-copy b{white-space:nowrap;font:700 9px/1 var(--mono);letter-spacing:.11em;text-transform:uppercase}

@media (max-width:900px){.work-index-intro{grid-template-columns:1fr 1.2fr}.work-index-intro .overline{grid-column:1/-1}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-party{grid-column:1/-1;display:grid;grid-template-columns:.82fr 1.18fr}.project-party .project-tile-visual{height:100%;min-height:280px}}
@media (max-width:620px){.work-index{padding:46px 12px 70px}.work-index-intro{grid-template-columns:1fr;gap:16px;margin-bottom:30px;padding:0 8px}.work-index-intro .overline{grid-column:auto}.work-index-intro h1{font-size:18vw}.work-index-intro>p:last-child{font-size:15px;line-height:1.42}.project-grid{gap:9px}.project-tile-visual{height:130px}.project-tile-icon{width:42px;height:42px;left:10px;bottom:10px;border-radius:10px}.project-tile-copy{padding:14px 13px 16px}.project-tile-copy>p{display:block;margin-bottom:14px;padding-bottom:7px;font-size:7px}.project-tile-copy>p span{display:block}.project-tile-copy>p span+span{margin-top:4px}.project-tile-copy h2{font-size:34px;margin-bottom:13px}.project-tile-copy>div{display:block}.project-tile-copy>div span{display:block;font-size:12px;line-height:1.35}.project-tile-copy b{display:block;margin-top:13px;font-size:8px}.project-party{grid-template-columns:.78fr 1.22fr}.project-party .project-tile-visual{min-height:190px}.project-party .project-tile-copy h2{font-size:38px}.project-tile:hover,.project-tile:focus-visible{transform:none}}

/* Standalone About page. */
.about-main{overflow:hidden}.about-hero{min-height:calc(100vh - 78px);display:grid;grid-template-columns:1.08fr .92fr;border-bottom:1px solid var(--rule)}
.about-hero-copy{padding:clamp(80px,10vw,155px) clamp(24px,6vw,90px);display:flex;flex-direction:column;justify-content:center}.about-hero h1{font:900 clamp(70px,10vw,155px)/.78 var(--condensed);letter-spacing:-.045em;text-transform:uppercase;margin:28px 0 38px}.about-hero h1 i{font-style:normal;color:var(--orange)}.about-hero-copy>p:last-child{font-size:clamp(19px,1.75vw,28px);line-height:1.5;max-width:760px}.about-visual{position:relative;overflow:hidden;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);padding:40px;align-items:end;font:700 10px/1 var(--mono);letter-spacing:.15em}.about-visual>span{position:relative;z-index:2;padding:18px;border-top:1px solid currentColor}.about-disc{position:absolute;width:72%;aspect-ratio:1;border-radius:50%;background:var(--orange);right:-8%;top:12%;box-shadow:-90px 70px 0 var(--gold),-170px 145px 0 var(--teal)}
.about-body{padding:clamp(90px,12vw,180px) clamp(20px,6vw,90px)}.about-statement{display:grid;grid-template-columns:.45fr 1.55fr;gap:50px;align-items:start}.about-statement h2{font:900 clamp(52px,7.4vw,112px)/.87 var(--condensed);letter-spacing:-.035em;text-transform:uppercase;margin:0}.about-copy{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,7vw,110px);margin:90px 0}.about-copy p{font-size:clamp(18px,1.6vw,25px);line-height:1.65;margin:0}.about-principles{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.about-principles article{padding:34px 30px;border-right:1px solid var(--rule)}.about-principles article:last-child{border-right:0}.about-principles span{font:700 10px/1 var(--mono);letter-spacing:.15em;color:var(--orange)}.about-principles h3{font:900 30px/1 var(--condensed);text-transform:uppercase;margin:35px 0 14px}.about-principles p{margin:0;color:var(--muted);line-height:1.6}

@media (max-width:900px){.about-hero{grid-template-columns:1fr}.about-visual{min-height:58vh}.about-statement{grid-template-columns:1fr}.about-copy{margin:65px 0}.about-principles{grid-template-columns:1fr}.about-principles article{border-right:0;border-bottom:1px solid var(--rule)}.about-principles article:last-child{border-bottom:0}}
@media (max-width:620px){
  body::before{content:"";position:fixed;z-index:39;left:0;right:0;top:0;height:96px;background:var(--paper);pointer-events:none}
  .about-hero-copy{min-height:72vh;padding:70px 20px}.about-hero h1{font-size:19vw}.about-visual{min-height:52vh;padding:18px}.about-copy{grid-template-columns:1fr}.about-body{padding-left:20px;padding-right:20px}
}
@media (prefers-reduced-motion:reduce){.poster-blue-cloud{animation:none!important}.page-atmosphere{display:none}}

/* Typed mission line. */
.typewriter{display:inline-flex;align-items:center;min-height:1.4em}.typewriter::after{content:"";width:1px;height:1.15em;margin-left:5px;background:currentColor;animation:type-caret .82s steps(1,end) infinite}@keyframes type-caret{50%{opacity:0}}

/* Extended product atmospheres. */
.atmosphere-stars b{position:absolute;left:-18vw;top:var(--y);width:clamp(58px,7vw,112px);height:2px;background:linear-gradient(90deg,transparent,#fff7e6 72%,#54ef8b);box-shadow:0 0 8px #fff7e699;opacity:0;transform:rotate(-17deg) scale(var(--scale));transform-origin:right center;will-change:transform,opacity;animation:page-meteor var(--duration) linear var(--delay) infinite}
@keyframes page-meteor{0%,72%{opacity:0;transform:translate3d(0,0,0) rotate(-17deg) scale(var(--scale))}74%{opacity:.9}82%,100%{opacity:0;transform:translate3d(138vw,43vh,0) rotate(-17deg) scale(var(--scale))}}
.atmosphere-coins{opacity:.68}.atmosphere-coins i{position:absolute;left:var(--x);top:-48px;width:20px;height:25px;background:#f5c438;border:3px solid #9e5814;clip-path:polygon(25% 0,75% 0,100% 20%,100% 80%,75% 100%,25% 100%,0 80%,0 20%);box-shadow:inset 3px 0 0 #fff0a6,inset -3px 0 0 #dc7e18,0 0 0 1px #f8d55c;will-change:transform;animation:page-coin var(--duration) linear var(--delay) infinite}.atmosphere-coins i::before{content:"";position:absolute;left:6px;top:4px;width:3px;height:12px;background:#fff0a6;box-shadow:4px 3px 0 #c76d12}
@keyframes page-coin{0%{transform:translate3d(-3vw,-12vh,0) rotateY(0) rotate(0)}25%{transform:translate3d(2vw,20vh,0) rotateY(78deg) rotate(5deg)}50%{transform:translate3d(-1vw,50vh,0) rotateY(160deg) rotate(-4deg)}75%{transform:translate3d(4vw,82vh,0) rotateY(250deg) rotate(5deg)}100%{transform:translate3d(0,calc(112vh + 70px),0) rotateY(360deg) rotate(0)}}
.work-atmosphere{opacity:0;transition:opacity .32s ease}.work-page[data-work-atmosphere="weather"] .work-weather-atmosphere{opacity:.62}.work-page[data-work-atmosphere="space"] .work-space-atmosphere{opacity:.48}.work-page[data-work-atmosphere="party"] .work-party-atmosphere{opacity:.72}

/* Three direct-link project rows. */
.project-stack{display:grid;gap:clamp(18px,2vw,30px);max-width:1500px;margin:0 auto;position:relative;z-index:8}
.project-row{--tile-bg:var(--orange);--tile-ink:#10272a;display:grid;grid-template-columns:minmax(0,68fr) minmax(300px,32fr);min-height:clamp(400px,34vw,520px);background:var(--tile-bg);color:var(--tile-ink);text-decoration:none;border:1px solid color-mix(in srgb,var(--tile-ink) 38%,transparent);overflow:hidden;position:relative;transition:grid-template-columns .7s cubic-bezier(.2,.72,.2,1),transform .32s ease,box-shadow .32s ease}
.project-space{--tile-bg:#102b3a;--tile-ink:#f2ead8}.project-party{--tile-bg:#edb629;--tile-ink:#231533}
.project-row:hover,.project-row:focus-visible{grid-template-columns:minmax(0,50fr) minmax(0,50fr);transform:translateY(-5px);box-shadow:0 22px 54px #0715192a;outline:2px solid var(--tile-ink);outline-offset:3px}
.project-row-visual{position:relative;min-width:0;overflow:hidden;background:radial-gradient(circle at 50% 50%,#263f44,#081116 72%)}.project-space .project-row-visual{background:radial-gradient(circle at 50% 45%,#173a4b,#030b10 75%)}.project-party .project-row-visual{background:linear-gradient(145deg,#211236,#4f296c 62%,#ad7022)}
.project-row-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 48%,#fff2 50%,transparent 52%);transform:translateX(-130%);transition:transform .9s ease;pointer-events:none}.project-row:hover .project-row-visual::after,.project-row:focus-visible .project-row-visual::after{transform:translateX(130%)}
.screen-gallery{position:absolute;inset:22px 4.5% 18px;display:flex;align-items:flex-end;justify-content:center;gap:clamp(12px,2vw,30px);transition:inset .7s cubic-bezier(.2,.72,.2,1),gap .7s cubic-bezier(.2,.72,.2,1)}.screen-gallery img{display:block;height:100%;min-width:0;max-width:29%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 24px #0008);transition:transform .65s cubic-bezier(.2,.72,.2,1),filter .4s}.screen-gallery img:nth-child(1){transform:translateY(8%) rotate(-2deg)}.screen-gallery img:nth-child(2){height:95%;transform:translateY(3%)}.screen-gallery img:nth-child(3){height:90%;transform:translateY(7%) rotate(2deg)}.project-row:hover .screen-gallery img,.project-row:focus-visible .screen-gallery img{transform:translateY(4%) rotate(0);filter:drop-shadow(0 24px 32px #000a) saturate(1.08)}
.space-gallery{inset:28px 4% 22px;align-items:center}.space-gallery img:nth-child(1),.space-gallery img:nth-child(3){height:92%;max-width:23%;transform:none}.space-gallery img:nth-child(2){height:auto;width:50%;max-width:50%;transform:none}
.project-row-icon{position:absolute;z-index:3;left:22px;bottom:20px;width:62px;height:62px;object-fit:cover;border-radius:14px;box-shadow:0 12px 26px #0008;border:1px solid #fff5}
.project-row-copy{padding:clamp(28px,3.4vw,54px);display:flex;flex-direction:column;min-width:0}.project-row-meta{display:flex;justify-content:space-between;gap:15px;margin:0 0 clamp(30px,4vw,62px);padding-bottom:11px;border-bottom:1px solid currentColor;font:700 8px/1.35 var(--mono);letter-spacing:.12em;text-transform:uppercase;opacity:.72}.project-row-copy h2{font:900 clamp(56px,6.1vw,102px)/.8 var(--condensed);letter-spacing:-.045em;text-transform:uppercase;margin:0 0 24px}.project-row-summary,.project-row-more{max-width:42ch;font-size:clamp(16px,1.35vw,21px);line-height:1.48}.project-row-summary{margin:0}.project-row-more{margin:15px 0 0;opacity:0;max-height:0;overflow:hidden;transform:translateY(12px);transition:opacity .45s .12s,transform .45s .12s,max-height .55s ease}.project-row:hover .project-row-more,.project-row:focus-visible .project-row-more{opacity:.82;max-height:150px;transform:none}.project-row-copy b{margin-top:auto;padding-top:28px;font:700 9px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}

@media (max-width:900px){.project-row{grid-template-columns:60% 40%;min-height:390px}.project-row:hover,.project-row:focus-visible{grid-template-columns:55% 45%}.project-row-copy h2{font-size:clamp(48px,8vw,74px)}.screen-gallery{inset:20px 3% 18px;gap:9px}.project-row-icon{width:54px;height:54px}}
@media (max-width:620px){body::before{top:-180px;height:calc(292px + env(safe-area-inset-top,0px))}.project-stack{gap:12px}.project-row,.project-row:hover,.project-row:focus-visible{grid-template-columns:1fr;grid-template-rows:270px auto;min-height:0;transform:none}.project-row-copy{padding:24px 21px 27px}.project-row-meta{margin-bottom:26px}.project-row-copy h2{font-size:16vw;margin-bottom:17px}.project-row-summary,.project-row-more{font-size:14px}.project-row-more{opacity:.76;max-height:140px;transform:none;margin-top:11px}.project-row-copy b{margin-top:25px;padding-top:0}.project-row-icon{width:48px;height:48px;left:13px;bottom:12px;border-radius:11px}.screen-gallery{inset:14px 2% 10px;gap:7px}.screen-gallery img{max-width:30%}.space-gallery img:nth-child(1),.space-gallery img:nth-child(3){max-width:22%;height:95%}.space-gallery img:nth-child(2){width:52%;max-width:52%}.work-atmosphere{display:none}}
@media (prefers-reduced-motion:reduce){.typewriter::after{animation:none;opacity:.7}.project-row-more{opacity:.76;max-height:150px;transform:none}}

/* Work rows stay horizontal and compact on every screen. */
.project-row{grid-template-columns:minmax(0,66fr) minmax(330px,34fr);min-height:360px;max-height:420px}.project-row:hover,.project-row:focus-visible{grid-template-columns:minmax(0,42fr) minmax(0,58fr)}
.screen-gallery{inset:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px}.screen-gallery img,.screen-gallery img:nth-child(1),.screen-gallery img:nth-child(2),.screen-gallery img:nth-child(3),.project-row:hover .screen-gallery img,.project-row:focus-visible .screen-gallery img{width:100%;height:100%;max-width:none;object-fit:contain;object-position:center;transform:none;filter:drop-shadow(0 12px 18px #0007)}
.space-gallery{inset:18px;grid-template-columns:1fr 1.35fr 1fr;align-items:center}.space-gallery img:nth-child(1),.space-gallery img:nth-child(2),.space-gallery img:nth-child(3){width:100%;height:100%;max-width:none;object-fit:contain;transform:none}
.project-row-heading{display:flex;align-items:center;gap:14px;margin:0 0 20px}.project-row-heading .project-row-icon{position:static;flex:0 0 auto;display:block;width:56px;height:56px;border-radius:13px;object-fit:cover;box-shadow:0 10px 22px #0005;border:1px solid #fff5}.project-row-copy h2{margin:0;font-size:clamp(50px,5.2vw,86px)}

/* Pixel-space field: high contrast by day, luminous by night. */
.atmosphere-stars{--star-main:#227c7e;--star-alt:#d45b32;--star-bright:#10272a;background:none;animation:none;opacity:1}.atmosphere-stars::before,.atmosphere-stars::after{display:none}.atmosphere-stars span{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);background:var(--star-main);opacity:.72;image-rendering:pixelated;animation:pixel-twinkle var(--duration) steps(2,end) var(--delay) infinite}.atmosphere-stars span:nth-of-type(3n){background:var(--star-alt);opacity:.58}.atmosphere-stars span:nth-of-type(5n){background:var(--star-bright);opacity:.66}.atmosphere-stars span:nth-of-type(11n){width:calc(var(--size) + 1px);height:calc(var(--size) + 1px)}
:root[data-theme="dark"] .atmosphere-stars{--star-main:#54ef8b;--star-alt:#40a19f;--star-bright:#fff7e6}.atmosphere-stars b{position:absolute;left:-42px;right:auto;top:var(--y);width:6px;height:6px;background:var(--star-bright);box-shadow:-6px -6px 0 var(--star-main),-12px -12px 0 var(--star-main),-18px -18px 0 color-mix(in srgb,var(--star-main) 72%,transparent),-24px -24px 0 color-mix(in srgb,var(--star-main) 42%,transparent);opacity:0;transform:none;animation:pixel-meteor-right var(--duration) linear var(--delay) infinite}.atmosphere-stars b:nth-of-type(even){left:auto;right:-42px;box-shadow:6px -6px 0 var(--star-alt),12px -12px 0 var(--star-alt),18px -18px 0 color-mix(in srgb,var(--star-alt) 72%,transparent),24px -24px 0 color-mix(in srgb,var(--star-alt) 42%,transparent);animation-name:pixel-meteor-left}
@keyframes pixel-twinkle{50%{opacity:.28}}@keyframes pixel-meteor-right{0%,60%{opacity:0;transform:translate3d(0,-8vh,0)}61%{opacity:1}74%{opacity:1;transform:translate3d(112vw,72vh,0)}75%,100%{opacity:0;transform:translate3d(112vw,72vh,0)}}@keyframes pixel-meteor-left{0%,60%{opacity:0;transform:translate3d(0,-8vh,0)}61%{opacity:1}74%{opacity:1;transform:translate3d(-112vw,72vh,0)}75%,100%{opacity:0;transform:translate3d(-112vw,72vh,0)}}
.work-atmosphere{opacity:0}.work-page[data-work-atmosphere="weather"] .work-weather-atmosphere{opacity:.62}.work-page[data-work-atmosphere="space"] .work-space-atmosphere{opacity:.58}.work-page[data-work-atmosphere="party"] .work-party-atmosphere{opacity:.72}

@media (max-width:900px){.project-row{grid-template-columns:56% 44%;min-height:320px}.project-row:hover,.project-row:focus-visible{grid-template-columns:43% 57%}.project-row-heading .project-row-icon{width:48px;height:48px}.project-row-copy h2{font-size:clamp(42px,7vw,64px)}}
@media (max-width:620px){.project-stack{gap:10px}.project-row,.project-row:hover,.project-row:focus-visible{grid-template-columns:44% 56%;grid-template-rows:none;height:196px;min-height:196px;max-height:196px}.project-row-copy{padding:13px 12px 14px}.project-row-meta{margin:0 0 12px;padding-bottom:7px;font-size:6px;letter-spacing:.08em}.project-row-meta span:last-child{display:none}.project-row-heading{gap:7px;margin-bottom:10px}.project-row-heading .project-row-icon{width:34px;height:34px;border-radius:8px;box-shadow:0 6px 12px #0005}.project-row-copy h2{font-size:clamp(27px,7.8vw,32px);line-height:.82}.project-row-summary{font-size:11.5px;line-height:1.28}.project-row-more{display:none}.project-row-copy b{margin-top:auto;padding-top:5px;font-size:6.5px}.screen-gallery,.space-gallery{inset:9px;display:block}.screen-gallery img,.screen-gallery img:nth-child(2),.screen-gallery img:nth-child(3),.space-gallery img,.space-gallery img:nth-child(2),.space-gallery img:nth-child(3){display:none}.screen-gallery img:first-child,.space-gallery img:first-child{display:block;width:100%;height:100%;max-width:none;object-fit:contain}.work-atmosphere{display:none}}
@media (prefers-reduced-motion:reduce){.atmosphere-stars span,.atmosphere-stars b{animation:none}.atmosphere-stars b{display:none}}

/*
  Mobile Safari can offset fixed content below its transparent status-bar region
  as the browser chrome collapses. Extend a real painted surface well above the
  visual viewport so scrolling artwork never becomes the status-bar backdrop.
*/
.safe-area-shield{display:none}
@media (max-width:620px){
  body::before{display:none}
  .safe-area-shield{display:block;position:fixed;z-index:39;left:0;right:0;top:-240px;height:calc(352px + env(safe-area-inset-top,0px));background:var(--paper);pointer-events:none}
  .masthead,.masthead.is-scrolled{z-index:40}
}

/* App Store mission archive: every frame, aligned as one deliberate reel. */
.screen-rail.app-store-rail{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(230px,300px);align-items:start;gap:18px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding:52px 38px 34px;background:color-mix(in srgb,var(--accent) 13%,var(--panel));border-block:1px solid color-mix(in srgb,var(--accent) 52%,var(--rule));scrollbar-color:var(--accent) color-mix(in srgb,var(--paper) 55%,transparent);scrollbar-width:thin}
.screen-rail.app-store-rail::before{content:"IMAGE ARCHIVE  /  DRAG TO ADVANCE  /  CURRENT RELEASE";position:absolute;z-index:2;left:38px;top:17px;width:auto;height:auto;border:0;border-radius:0;color:var(--muted);font:700 8px/1 var(--mono);letter-spacing:.16em;opacity:.85}
.app-store-rail .phone-shot,.app-store-rail .phone-shot:nth-child(2),.app-store-rail .phone-shot:nth-child(3){margin:0;padding:9px 9px 12px;border:1px solid color-mix(in srgb,var(--accent) 48%,var(--rule));background:color-mix(in srgb,var(--paper) 90%,var(--accent));scroll-snap-align:start;scroll-snap-stop:always;position:relative}
.app-store-rail .phone-shot::before,.app-store-rail .phone-shot::after{content:"";position:absolute;z-index:3;width:10px;height:10px;pointer-events:none}
.app-store-rail .phone-shot::before{left:4px;top:4px;border-left:2px solid var(--accent);border-top:2px solid var(--accent)}
.app-store-rail .phone-shot::after{right:4px;bottom:4px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent)}
.app-store-rail .phone-shot img{width:100%;height:auto;display:block;box-shadow:none;background:#071519}
.app-store-rail .phone-shot figcaption{display:flex;align-items:center;justify-content:space-between;min-height:28px;margin:10px 2px 0;color:var(--ink);font:700 8px/1.3 var(--mono);letter-spacing:.12em}
.app-store-rail .phone-shot figcaption::after{content:"● LIVE";color:var(--accent);font-size:7px}

@media (max-width:620px){
  .screen-rail.app-store-rail{grid-template-columns:none;grid-auto-columns:76vw;gap:12px;padding:44px 16px 25px}
  .screen-rail.app-store-rail::before{left:16px;top:15px;font-size:7px;letter-spacing:.12em}
  .app-store-rail .phone-shot,.app-store-rail .phone-shot:nth-child(2),.app-store-rail .phone-shot:nth-child(3){margin:0;scroll-snap-align:center}
}

/* Mission identity and telemetry. */
.mission-identity{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:18px;margin-top:34px;padding-top:20px;border-top:1px solid var(--rule);max-width:680px}
.mission-identity>img{width:82px;height:82px;display:block;filter:drop-shadow(0 10px 16px #07151938)}
.telemetry-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--rule)}
.telemetry-strip p{min-width:0;margin:0;padding:11px 10px;border-right:1px solid var(--rule)}.telemetry-strip p:last-child{border-right:0}
.telemetry-strip span,.telemetry-strip b{display:block}.telemetry-strip span{margin-bottom:7px;color:var(--muted);font:700 7px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}.telemetry-strip b{overflow:hidden;text-overflow:ellipsis;color:var(--ink);font:700 9px/1.15 var(--mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}

/* One deliberate technical plate per product. */
.mission-schematic{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(420px,1.3fr);gap:clamp(30px,6vw,90px);align-items:center;margin:0 0 clamp(95px,12vw,170px);padding:clamp(28px,4vw,58px);border:1px solid var(--rule);position:relative;overflow:hidden;background:color-mix(in srgb,var(--accent) 7%,var(--paper))}
.mission-schematic::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;background-image:radial-gradient(circle at center,currentColor 0 1px,transparent 1px);background-size:8px 8px;mask-image:linear-gradient(90deg,transparent 0 34%,#000 70%)}
.schematic-copy,.schematic-canvas{position:relative;z-index:1}.schematic-copy h3{font:900 clamp(38px,5vw,72px)/.87 var(--condensed);letter-spacing:-.03em;text-transform:uppercase;margin:25px 0 22px}.schematic-copy>p:last-child{max-width:42ch;margin:0;color:var(--muted);font-size:clamp(15px,1.3vw,20px);line-height:1.55}
.schematic-canvas{min-height:300px;display:grid;place-items:center;color:color-mix(in srgb,var(--ink) 70%,var(--accent));border:1px solid color-mix(in srgb,var(--accent) 55%,var(--rule));background:linear-gradient(90deg,transparent 49.8%,color-mix(in srgb,var(--accent) 24%,transparent) 50%,transparent 50.2%),linear-gradient(transparent 49.8%,color-mix(in srgb,var(--accent) 24%,transparent) 50%,transparent 50.2%);background-size:64px 64px}
.schematic-canvas svg{display:block;width:100%;height:auto;max-height:330px;padding:18px;image-rendering:pixelated}

/* Printed pixel texture on large color fields. */
.detail-copy,.project-row-copy,.next-project,.studio,.contact-intro{background-image:radial-gradient(circle,currentColor 0 1px,transparent 1.2px);background-size:9px 9px;background-position:0 0}
.detail-copy,.project-row-copy{background-color:var(--paper);background-blend-mode:soft-light}.project-row-copy{background-color:var(--tile-bg)}
.next-project,.studio,.contact-intro{background-blend-mode:soft-light}
.fact span::before{content:"";display:inline-block;width:8px;height:8px;margin-right:9px;background:var(--accent);box-shadow:4px 4px 0 color-mix(in srgb,var(--accent) 35%,transparent);vertical-align:-1px}.fact:nth-child(2) span::before{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.fact:nth-child(3) span::before{border-radius:50%}

/* Brief mission-file transition between internal pages. */
.page-transition{position:fixed;z-index:120;inset:0;display:grid;place-items:center;background:var(--ink);color:var(--paper);pointer-events:none;opacity:1;transform:translateY(0);transition:opacity .38s ease,transform .38s cubic-bezier(.7,0,.3,1)}
.page-transition::before{content:"";position:absolute;inset:0;opacity:.2;background:repeating-linear-gradient(0deg,transparent 0 7px,currentColor 8px 9px)}
.page-transition span{position:relative;padding:14px 18px;border:1px solid currentColor;font:700 9px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase}
.page-transition.is-ready{opacity:0;transform:translateY(-6%)}.page-transition.is-departing{opacity:1;transform:none;pointer-events:auto}

@media (max-width:900px){.mission-schematic{grid-template-columns:1fr}.schematic-canvas{min-height:260px}}
@media (max-width:620px){.mission-identity{grid-template-columns:62px minmax(0,1fr);gap:11px;margin-top:26px}.mission-identity>img{width:62px;height:62px}.telemetry-strip p{padding:9px 7px}.telemetry-strip span{font-size:6px}.telemetry-strip b{font-size:7px}.mission-schematic{margin-bottom:90px;padding:22px 14px;gap:25px}.schematic-copy h3{font-size:13vw}.schematic-canvas{min-height:210px}.schematic-canvas svg{padding:6px}.detail-copy,.project-row-copy{background-size:8px 8px}}
@media (prefers-reduced-motion:reduce){.page-transition{display:none}}

/* Refined field-insignia system and compact mission credentials. */
.mission-identity{grid-template-columns:112px minmax(0,1fr);gap:16px;align-items:stretch;max-width:720px;margin-top:34px;padding:12px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--rule));background:color-mix(in srgb,var(--paper) 88%,var(--accent));position:relative}
.mission-identity::before,.mission-identity::after{content:"";position:absolute;width:9px;height:9px;pointer-events:none}.mission-identity::before{left:4px;top:4px;border-left:2px solid var(--accent);border-top:2px solid var(--accent)}.mission-identity::after{right:4px;bottom:4px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent)}
.mission-patch{display:grid;place-items:center;align-content:center;min-width:0;padding:7px;background:color-mix(in srgb,var(--accent) 12%,var(--panel));border-right:1px solid var(--rule)}
.mission-patch img{display:block;width:92px;height:92px;filter:drop-shadow(7px 9px 0 color-mix(in srgb,var(--ink) 13%,transparent))}
.mission-patch span{margin-top:6px;color:var(--muted);font:700 6px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase}
.mission-readout{display:flex;min-width:0;flex-direction:column;justify-content:center}
.mission-id-label{display:flex;align-items:center;gap:8px;margin:0 0 10px;color:var(--muted);font:700 7px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase}
.mission-id-label::before{content:"";width:16px;height:7px;background:linear-gradient(90deg,var(--accent) 0 5px,transparent 5px 7px,var(--accent) 7px 10px,transparent 10px 12px,var(--accent) 12px);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.telemetry-strip{width:100%;border-color:color-mix(in srgb,var(--accent) 32%,var(--rule))}
.telemetry-strip p{display:flex;min-height:52px;flex-direction:column;justify-content:center}
.telemetry-strip b{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;line-height:1.25}
.weather .button{clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px))}.space .button{box-shadow:4px 4px 0 color-mix(in srgb,var(--accent) 24%,transparent)}.party .button{box-shadow:5px 5px 0 color-mix(in srgb,var(--accent2) 46%,transparent)}

/* Archive index and controls keep every App Store frame legible and intentional. */
.archive-controls{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;margin:0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--rule));border-bottom:0;background:color-mix(in srgb,var(--accent) 9%,var(--paper));font:700 8px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase}
.archive-controls output{color:var(--accent)}.archive-controls span{display:flex}.archive-controls button{width:38px;height:34px;border:0;border-left:1px solid var(--rule);background:transparent;color:var(--ink);font:700 17px/1 var(--mono);cursor:pointer}.archive-controls button:hover,.archive-controls button:focus-visible{background:var(--accent);color:#fff;outline:0}
.app-store-rail .phone-shot{opacity:.72;transition:opacity .25s ease,border-color .25s ease,transform .25s ease}.app-store-rail .phone-shot.is-current{opacity:1;border-color:var(--accent);transform:translateY(-3px)}

/* A concise studio ledger unifies the products without flattening their identities. */
.studio-manifest{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(45px,8vw,130px);padding:clamp(90px,11vw,170px) clamp(20px,6vw,90px);border-top:1px solid var(--rule);background:color-mix(in srgb,var(--gold) 10%,var(--paper))}
.manifest-heading h2{font:900 clamp(52px,7vw,108px)/.84 var(--condensed);letter-spacing:-.035em;text-transform:uppercase;margin:28px 0}.manifest-heading>p:last-child{max-width:560px;color:var(--muted);font-size:clamp(17px,1.5vw,22px);line-height:1.55}
.studio-ledger{align-self:end;border-top:1px solid var(--rule)}.studio-ledger a{display:grid;grid-template-columns:100px 1fr auto;gap:20px;align-items:center;padding:24px 0;border-bottom:1px solid var(--rule);text-decoration:none}.studio-ledger span,.studio-ledger em{font:700 8px/1.2 var(--mono);letter-spacing:.13em;text-transform:uppercase}.studio-ledger em{font-style:normal;color:var(--muted)}.studio-ledger strong{font:900 clamp(28px,3vw,47px)/.9 var(--condensed);text-transform:uppercase}.studio-ledger a:hover strong{color:var(--orange)}

@media (max-width:900px){.studio-manifest{grid-template-columns:1fr}.studio-ledger{align-self:auto}}
@media (max-width:620px){
  .detail-hero{min-height:0}
  .detail-copy{min-height:0;padding:52px 20px 46px;justify-content:flex-start}
  .detail h1{margin:19px 0 27px}
  .detail-actions{margin-top:30px}
  .mission-identity{grid-template-columns:78px minmax(0,1fr);gap:10px;margin-top:30px;padding:9px}
  .mission-patch{padding:4px 8px 4px 2px}.mission-patch img{width:70px;height:70px;filter:drop-shadow(4px 5px 0 color-mix(in srgb,var(--ink) 12%,transparent))}.mission-patch span{font-size:5px}
  .mission-id-label{margin-bottom:7px;font-size:5.5px;letter-spacing:.11em}.mission-id-label::before{width:13px;height:6px}
  .telemetry-strip p{min-height:45px;padding:7px 5px}.telemetry-strip span{margin-bottom:5px;font-size:5.5px;letter-spacing:.08em}.telemetry-strip b{font-size:6.5px;line-height:1.2;letter-spacing:.02em}
  .detail-art{min-height:50vh}
  .archive-controls{grid-template-columns:1fr auto;gap:9px;padding:8px 9px;font-size:6.5px}.archive-controls strong{grid-column:1}.archive-controls output{grid-column:1;grid-row:2}.archive-controls span{grid-column:2;grid-row:1 / 3}.archive-controls button{width:36px;height:36px}
  .studio-manifest{padding:85px 20px}.studio-ledger a{grid-template-columns:1fr auto;gap:9px;padding:20px 0}.studio-ledger span{grid-column:1 / 3}.studio-ledger strong{font-size:34px}.studio-ledger em{text-align:right}
}

/* Rozzi Labs illustrated mission badge identity. */
.wordmark::before{content:"";width:42px;height:38px;flex:0 0 42px;margin-right:9px;background:url('/assets/rozzi-badge-v2.png') center/contain no-repeat;filter:drop-shadow(0 1px 0 color-mix(in srgb,var(--ink) 30%,transparent))}
.wordmark.small::before{width:33px;height:30px;flex-basis:33px;margin-right:7px}
.about-visual::before{content:"";position:absolute;z-index:1;inset:7%;background:url('/assets/rozzi-badge-v2.png') center/contain no-repeat;opacity:.28;transform:rotate(-5deg)}
@media (max-width:620px){.wordmark::before{width:34px;height:31px;flex-basis:34px;margin-right:6px}.wordmark.small::before{width:28px;height:25px;flex-basis:28px}}
