:root{--black:#111212;--acid:#72d8d1;--deep:#005b59;--cream:#f3f6f3;--grey:#9aaba8;--font:"Helvetica Neue",Helvetica,Arial,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}html{background:var(--black);color:var(--cream);scroll-behavior:smooth}body{font-family:var(--font)}a{color:inherit}
header{position:fixed;z-index:20;inset:0 0 auto;height:64px;padding:0 3vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;background:rgba(16,17,14,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(242,240,232,.2);font-size:12px;text-transform:uppercase;letter-spacing:.08em}header span{text-align:center}header a{text-decoration:none}header a:last-child{text-align:right;font-weight:700}
.og-hero{min-height:100svh;padding:100px 3vw 40px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto;position:relative;background:linear-gradient(135deg,var(--acid),#d7f0ed 58%,var(--deep));color:var(--black);overflow:hidden}.eyebrow{grid-column:1/-1;display:flex;justify-content:space-between;font-size:12px;text-transform:uppercase}.og-hero h1{grid-column:1/-1;align-self:center;font-size:clamp(105px,18vw,300px);font-weight:700;line-height:.72;letter-spacing:-.08em;color:var(--deep)}.og-hero>p{width:min(520px,42vw);font-size:clamp(18px,1.5vw,26px);line-height:1.25;letter-spacing:-.025em}.hero-mark{justify-self:end;align-self:end;width:min(300px,28vw)}.hero-mark img{display:block;width:100%;height:auto}
.label,.section-head{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.og-intro{padding:18vh 4vw;display:grid;grid-template-columns:1fr 2fr;gap:4vw}.og-intro h2{font-size:clamp(48px,6.5vw,108px);font-weight:500;line-height:.92;letter-spacing:-.055em}.og-intro .body{grid-column:2;width:min(680px,100%);font-size:clamp(18px,1.45vw,24px);line-height:1.45;color:var(--grey)}
.og-research,.og-final,.og-prototype{padding:100px 4vw;border-top:1px solid rgba(242,240,232,.2)}.section-head{display:flex;justify-content:space-between;margin-bottom:100px}.section-head span{color:var(--grey)}.og-final figure{margin-top:18px;background:#fff}.og-final img{display:block;width:100%;height:auto}.og-final figcaption{padding:14px 0;background:var(--black);color:var(--grey);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.og-final h2{margin-bottom:80px;font-size:clamp(58px,8vw,135px);font-weight:500;line-height:.9;letter-spacing:-.06em;color:var(--acid)}.og-slideshow{border:1px solid rgba(242,240,232,.22);background:#fff}.slideshow-viewport{overflow:hidden;touch-action:pan-y}.slideshow-track{display:flex;transition:transform .55s cubic-bezier(.16,1,.3,1)}.slide{flex:0 0 100%;margin:0}.slide img{display:block;width:100%;aspect-ratio:1942/1014;object-fit:contain}.slideshow-controls{height:72px;padding:0 18px;display:grid;grid-template-columns:auto auto 1fr auto;gap:22px;align-items:center;background:var(--black);border-top:1px solid rgba(242,240,232,.22)}.slide-arrow{width:42px;height:42px;border:1px solid rgba(242,240,232,.3);border-radius:50%;background:transparent;color:var(--cream);font-size:18px;cursor:pointer}.slide-status{display:flex;gap:7px;font-size:11px}.slide-status i{font-style:normal;opacity:.4}.slide-dots{display:flex;justify-content:center;gap:9px}.slide-dot{width:7px;height:7px;border:0;border-radius:50%;background:rgba(242,240,232,.3);cursor:pointer}.slide-dot.is-active{background:var(--acid);transform:scale(1.45)}.prototype-shell{border:1px solid rgba(242,240,232,.22);background:#050606}.prototype-shell video{display:block;width:100%;max-height:84vh;aspect-ratio:16/9;object-fit:contain}footer{padding:48px 4vw;display:flex;justify-content:space-between;border-top:1px solid rgba(242,240,232,.2);font-size:12px;text-transform:uppercase}footer a{text-decoration:none}
@media(max-width:700px){.og-hero{grid-template-columns:1fr}.og-hero h1{font-size:24vw}.og-hero>p{width:80%}.hero-mark{width:min(190px,48vw)}.og-intro{grid-template-columns:1fr;gap:50px}.og-intro .body{grid-column:1}.section-head{margin-bottom:70px}}

/* Keep the research deck comfortably within the viewport. */
.og-slideshow { width: min(78vw, 1050px); margin-inline: auto; }
@media (max-width: 700px) { .og-slideshow { width: 100%; } }
