.page-head{gap:16px;padding-block:clamp(28px,6vh,72px) clamp(24px,4vh,44px);display:grid}.page-title{width:fit-content;max-width:100%;font:400 clamp(52px, 9.2vw, 164px)/.98 var(--font-display);letter-spacing:-.02em;text-wrap:balance}.case__head{gap:14px;padding-block:clamp(20px,5vh,56px) clamp(22px,4vh,44px);display:grid}.case__title{width:fit-content;font:400 clamp(64px, 13vw, 240px)/.92 var(--font-display);letter-spacing:-.025em}.case__line{max-width:46ch;color:var(--soft);text-wrap:pretty;font-size:clamp(19px,1.9vw,28px);line-height:1.28}.case__art{background:var(--bg-2);border-radius:26px;height:clamp(300px,56vw,86vh);margin:0 10px;position:relative;overflow:hidden}.case__plate{position:absolute;inset:-4% 0}.case__art img{object-fit:cover;width:100%;height:100%}.case__brief{grid-template-columns:minmax(240px,.36fr) minmax(0,1fr);gap:clamp(30px,6vw,110px);padding-top:clamp(50px,8vh,96px);display:grid}.facts{align-content:start;gap:18px;display:grid}.facts dt{font:500 10.5px/1.3 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-stretch:88%}.facts dd{margin:0;font-size:16.5px;line-height:1.32}.tags{flex-wrap:wrap;gap:5px;margin-top:4px;display:flex}.tags li{box-shadow:inset 0 0 0 1px var(--line);border-radius:99px;padding:3px 9px;font-size:13.5px;line-height:1.3}.case__intro{font:400 clamp(27px, 3.5vw, 56px)/1.14 var(--font-display);letter-spacing:-.01em;text-wrap:pretty}.flow{grid-template-columns:repeat(5,1fr);gap:12px;margin-top:clamp(26px,3vw,44px);display:grid}.flow--6{grid-template-columns:repeat(3,1fr)}.flow__step{background:var(--surface);box-shadow:0 0 0 1px var(--line);border-radius:16px;padding:16px 16px 22px;transition:box-shadow .4s;position:relative}.flow__n{font:500 10px/1 var(--font-mono);letter-spacing:.1em;color:var(--soft);align-items:center;gap:8px;font-stretch:85%;display:flex}.flow__n i{background:var(--tone);width:8px;height:8px;box-shadow:0 0 10px 1px var(--tone);border-radius:50%;transition:opacity .35s,box-shadow .35s}.flow[data-scrub] .flow__step:not(.is-lit) .flow__n i{opacity:.22;box-shadow:none}.flow[data-scrub] .flow__step.is-lit{box-shadow:0 0 0 1px var(--tone)}.flow__step:hover{box-shadow:0 0 0 1px var(--tone), 0 22px 40px -30px var(--tone)}.flow__step h3{font:400 clamp(24px, 2.1vw, 32px)/1.05 var(--font-display);margin:14px 0 7px}.flow__step p{color:var(--soft);text-wrap:pretty;font-size:15.5px;line-height:1.4}.results{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px;display:grid}.results--3{grid-template-columns:repeat(3,1fr)}.results li{border-top:2px solid var(--tone);padding-top:16px}.results strong{font:400 clamp(46px, 5.8vw, 96px)/1 var(--font-display);letter-spacing:-.02em;white-space:nowrap;display:block}.results span{color:var(--soft);margin-top:12px;font-size:16px;line-height:1.3;display:block}.builds{border-bottom:1px solid var(--line);margin-top:clamp(22px,3vw,40px)}.builds li{border-top:1px solid var(--line);font:400 clamp(23px, 2.5vw, 38px)/1.12 var(--font-display);grid-template-columns:56px 1fr;align-items:baseline;padding-block:clamp(14px,1.6vw,22px);display:grid}.builds span{font:500 10.5px/1 var(--font-mono);color:var(--muted)}.case__links{padding-top:clamp(40px,6vh,70px)}.next{height:clamp(240px,34vw,480px);color:var(--bone);border-radius:26px;margin:clamp(70px,11vh,130px) 10px 0;text-decoration:none;display:block;position:relative;overflow:hidden}.next img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s var(--ease-out)}.next:hover img{transform:scale(1.04)}.next__shade{background:linear-gradient(#0000 40%,#070d24c7);position:absolute;inset:0}.next__text{gap:6px;display:grid;position:absolute;bottom:clamp(16px,2.4vw,36px);left:clamp(18px,2.8vw,42px)}.next__text small{font:500 11px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.next__text b{font:400 clamp(46px, 8vw, 132px)/.98 var(--font-display);letter-spacing:-.02em}.about__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:clamp(26px,5vw,80px);display:grid}.about__art{background:var(--bg-2);border-radius:22px;position:sticky;top:76px;overflow:hidden}.about__art img{width:100%;height:auto}.about__copy{color:var(--soft);gap:18px;font-size:clamp(17px,1.35vw,20px);line-height:1.5;display:grid}.about__big{font:400 clamp(29px, 3.1vw, 48px)/1.12 var(--font-display);letter-spacing:-.01em;color:var(--ink);text-wrap:pretty}.about__cta{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.where--page{border-bottom:1px solid var(--line);margin-top:clamp(22px,3vw,40px)}.where--page .row>.fill{grid-template-columns:minmax(130px,.7fr) minmax(0,1.3fr) minmax(0,1.5fr) minmax(0,1fr)}.about .bench,.about .certs{margin-top:clamp(22px,3vw,40px)}.bench{grid-template-columns:1.25fr 1.25fr 1.15fr .7fr .9fr;gap:16px;display:grid}.tool{border-top:1px solid var(--ink);padding-top:14px}.tool h3{font:500 11px/1.3 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px;font-stretch:90%}.tool li{color:var(--soft);transition:color .2s, transform .4s var(--ease-out);padding-block:4px;font-size:16px;line-height:1.3}.tool li:hover{color:var(--ink);transform:translate(5px)}.certs{grid-template-columns:repeat(5,1fr);gap:16px;display:grid}.certs>div{border-top:1px solid var(--ink);padding-top:14px}.certs h3{font:400 clamp(22px, 1.9vw, 28px)/1.05 var(--font-display);margin-bottom:12px}.certs li{color:var(--soft);padding-block:4px;font-size:15px;line-height:1.32}.row{text-decoration:none;display:block}.row>.fill{border-top:1px solid var(--line);transition:padding .45s var(--ease-out);align-items:center;gap:18px;padding-block:clamp(18px,1.9vw,26px);display:grid}a.row:hover>.fill{padding-left:12px}.row__when{font:500 11px/1.3 var(--font-mono);letter-spacing:.04em;color:var(--soft);font-stretch:85%}.row__where{font:400 clamp(25px, 2.5vw, 38px)/1.05 var(--font-display);letter-spacing:-.01em}.row__what{line-height:1.3}.row__place{color:var(--soft);font-size:15px;line-height:1.3}.cv{max-width:980px;padding-block:clamp(20px,5vh,54px) clamp(50px,8vh,90px);font-size:16px;line-height:1.46}.cv__head{border-bottom:1px solid var(--ink);grid-template-columns:1fr auto;gap:18px 30px;padding-bottom:22px;display:grid}.cv h1{font:400 clamp(42px, 6vw, 76px)/1 var(--font-display);letter-spacing:-.02em}.cv__head p{color:var(--soft);margin-top:8px}.cv__contact{text-align:right;font-size:14.5px;line-height:1.5}.cv__dl{grid-column:1/-1;justify-self:start}.cv section{padding-top:26px}.cv h2{font:500 11px/1.3 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--soft);margin-bottom:12px}.cv h3{font:600 16.5px/1.3 var(--font-sans);justify-content:space-between;gap:18px;display:flex}.cv h3 time{font:500 11px/1.8 var(--font-mono);color:var(--soft);flex:none;font-stretch:85%}.cv__where{color:var(--soft);margin:2px 0 6px;font-size:14.5px}.cv article+article{margin-top:18px}.cv ul:not(.cv__contact){gap:4px;padding-left:16px;list-style:outside;display:grid}.cv__skills{gap:7px;display:grid}.cv__skills>div{grid-template-columns:170px 1fr;gap:12px;display:grid}.cv__skills dt{font-weight:600}.cv__skills dd{color:var(--soft);margin:0}@media print{html,body{background:#fff!important}html{--ink:#14123a!important;--soft:#3d3a63!important;--bg:#fff!important;--line:#ccc!important;--muted:#555!important}.no-print,.dock,.progress,.you,.peek,.skip{display:none!important}.cv{max-width:none;padding:0;font-size:10.6pt;line-height:1.36}.cv section{break-inside:auto;padding-top:11pt}.cv article{break-inside:avoid}.cv h1{font-size:30pt}.cv h3{font-size:11pt}.cv__contact{font-size:9.6pt}.cv a{color:inherit;text-decoration:none}@page{margin:13mm 15mm}}.how__credit{justify-items:start;gap:24px;padding-top:clamp(50px,8vh,96px);display:grid}.states{grid-template-columns:minmax(180px,.32fr) minmax(0,1fr);gap:18px clamp(20px,4vw,60px);margin-top:clamp(22px,3vw,40px);display:grid}.states__tabs{align-content:start;gap:6px;display:grid}.states__tabs button{text-align:left;box-shadow:inset 0 0 0 1px var(--line);font:600 16px/1 var(--font-sans);transition:background-color .2s, color .2s, transform .35s var(--ease-out);border-radius:10px;padding:13px 16px}.states__tabs button:hover{transform:translate(4px)}.states__tabs button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.states__stage{background:var(--bg-2);background-image:radial-gradient(color-mix(in srgb, var(--ink) 14%, transparent) 1px, transparent 1.4px);background-size:24px 24px;border-radius:20px;place-items:center;min-height:420px;padding:clamp(24px,5vw,70px);display:grid}.states__note{max-width:56ch;color:var(--soft);grid-column:2;min-height:3em}.demo{border-radius:18px;width:min(360px,100%)}.demo>.fill{border-radius:inherit;background:var(--surface);box-shadow:0 0 0 1px var(--line);padding:12px 12px 20px}.demo:not([data-state=done])>.fill{opacity:0}.demo__art{background:linear-gradient(135deg, var(--neel), var(--rani) 55%, var(--marigold));border-radius:10px;height:150px;margin-bottom:14px;display:block}.demo h3{font:400 26px/1.05 var(--font-display);padding-inline:6px}.demo p{color:var(--soft);padding:6px 6px 0;font-size:15px;line-height:1.4}.demo[data-state=mark]:after{content:"";border:1px dashed var(--sel);background:color-mix(in srgb, var(--sel) 9%, transparent);position:absolute;inset:0}.added{grid-template-columns:repeat(3,1fr);gap:clamp(22px,2.6vw,40px) 16px;margin-top:clamp(22px,3vw,40px);display:grid}.added li{border-top:1px solid var(--ink);padding-top:14px}.added span{font:500 10.5px/1 var(--font-mono);color:var(--muted)}.added h3{font:400 clamp(25px, 2.3vw, 34px)/1.06 var(--font-display);margin:10px 0 8px}.added p{color:var(--soft);text-wrap:pretty;font-size:16px;line-height:1.42}.swatches{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:clamp(22px,3vw,40px);display:grid}.swatches li{background:var(--surface);box-shadow:0 0 0 1px var(--line);cursor:copy;transition:transform .45s var(--ease-out);border-radius:16px;gap:3px;padding:8px 8px 14px;display:grid}.swatches li:hover{transform:translateY(-4px)}.swatches i{height:clamp(80px,9vw,140px);box-shadow:inset 0 0 0 1px var(--line);border-radius:10px;margin-bottom:8px;display:block}.swatches b,.swatches code,.swatches span{padding-inline:6px}.swatches b{font:400 22px/1.1 var(--font-display)}.swatches code{font:500 10.5px/1.3 var(--font-mono);color:var(--muted)}.swatches span{color:var(--soft);font-size:14px;line-height:1.32}.made{border-bottom:1px solid var(--line);margin-top:clamp(22px,3vw,40px);display:grid}.made>div{border-top:1px solid var(--line);grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:16px;padding-block:16px;display:grid}.made dt{font:400 clamp(22px, 2vw, 30px)/1.1 var(--font-display)}.made dd{color:var(--soft);margin:0}.how__end{flex-wrap:wrap;gap:10px;padding-bottom:clamp(50px,8vh,90px);display:flex}.lost{min-height:100svh;color:var(--bone);align-content:end;display:grid;position:relative;overflow:hidden}.lost>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.lost__shade{background:linear-gradient(#070d241a 40%,#070d24d9);position:absolute;inset:0}.lost__top{position:absolute;inset:0 0 auto}.lost__copy{gap:18px;width:100%;padding-block:40px;display:grid;position:relative}.lost .kicker{color:#fbf7eedb}.lost h1{width:fit-content;font:400 clamp(50px, 8.6vw, 150px)/.98 var(--font-display);letter-spacing:-.02em;text-wrap:balance}@media (width<=1100px){.flow,.flow--6,.results,.results--3{grid-template-columns:repeat(2,1fr)}.case__brief,.about__grid{grid-template-columns:1fr}.about__art{position:relative;top:0}.bench{grid-template-columns:repeat(3,1fr);row-gap:28px}.certs,.added{grid-template-columns:repeat(2,1fr)}.where--page .row>.fill{grid-template-columns:minmax(110px,.6fr) minmax(0,1.4fr) minmax(0,1.4fr)}.where--page .row__place{display:none}}@media (width<=700px){.case__art,.next{border-radius:20px;margin-inline:8px}.flow,.flow--6{grid-template-columns:1fr}.results strong{font-size:clamp(38px,11vw,60px)}.bench,.certs{grid-template-columns:1fr 1fr}.added{grid-template-columns:1fr}.swatches{grid-template-columns:1fr 1fr}.states{grid-template-columns:1fr}.states__tabs{grid-template-columns:repeat(4,1fr)}.states__tabs button{text-align:center;padding:12px 6px;font-size:14px}.states__note{grid-column:1}.states__stage{min-height:380px}.where--page .row>.fill{grid-template-columns:1fr;gap:4px}.cv__head{grid-template-columns:1fr}.cv__contact{text-align:left}.cv__skills>div{grid-template-columns:1fr;gap:0}.cv h3{flex-direction:column;gap:0}.made>div{grid-template-columns:1fr;gap:4px}}
