.hero{height:100svh;overflow:hidden}.copy{max-width:min(46vw,560px);position:absolute;top:50%;left:clamp(16px,7vw,112px);translate:0 -50%}@media (width<=640px){.copy{text-align:center;max-width:none;top:40%;left:16px;right:16px;translate:0 -50%}}.copy h1{letter-spacing:.06em;word-break:keep-all;font-size:clamp(28px,4.6vw,54px);font-weight:700;line-height:1.45}.copy h1 .c{opacity:.15;--char-anim:char-on .5s steps(1) calc(var(--i) * 70ms) forwards, char-wave 5s steps(1) calc(2.4s + var(--i) * 70ms) infinite}html.ready:not(.intro) .copy h1 .c{animation:var(--char-anim)}@keyframes char-on{0%{opacity:.15}20%{opacity:1}40%{opacity:.4}60%,to{opacity:1}}@keyframes char-wave{0%,6%,to{opacity:1}2%{opacity:.4}}.copy h1 .glow{--glow-lit:0 0 .4em color-mix(in srgb, var(--px-y) 55%, transparent)}html.ready:not(.intro) .copy h1 .glow{animation:var(--char-anim), glow-on .8s ease-out 1.6s forwards, glow-pulse 2.4s ease-in-out 2.4s infinite alternate}@keyframes glow-on{to{color:var(--px-y);text-shadow:var(--glow-lit)}}@keyframes glow-pulse{0%{color:var(--px-y);text-shadow:var(--glow-lit)}to{color:var(--px-y);text-shadow:0 0 .7em color-mix(in srgb, var(--px-y) 85%, transparent)}}@media (prefers-reduced-motion:reduce){.copy h1 .c{opacity:1;animation:none!important}.copy h1 .glow{color:var(--px-y);text-shadow:var(--glow-lit)}}.copy p span{display:inline-block}.copy p{opacity:.72;margin-top:12px;font-size:clamp(15px,1.5vw,18px);line-height:1.8}.copy a{color:var(--ink);letter-spacing:.08em;border:2px solid;margin-top:28px;padding:16px 34px;font-size:16px;text-decoration:none;transition:background .2s steps(3,end),color .2s steps(3,end);display:inline-block}.copy a:hover{background:var(--ink);color:var(--bg)}.replay{background:var(--scrim);border:1px solid color-mix(in srgb, var(--px-y) 60%, transparent);width:fit-content;color:var(--px-y);cursor:pointer;font:inherit;letter-spacing:.08em;align-items:center;gap:10px;margin-top:20px;padding:10px 18px;font-size:14px;transition:background .2s steps(3,end),color .2s steps(3,end);display:flex}.replay:before{content:"";border-left:8px solid;border-block:5px solid #0000}.replay:hover,.replay:focus-visible{background:var(--px-y);color:var(--bg)}@media (width<=640px){.replay{margin-inline:auto}}html:not(.ready) .replay,html.intro .replay,html.nofx .replay{visibility:hidden}@media (prefers-reduced-motion:reduce){.replay{display:none}}.scroll-hint{letter-spacing:.3em;text-indent:.3em;color:var(--ink);justify-items:center;gap:10px;font-size:12px;display:grid;position:absolute;bottom:2.5vh;left:50%;translate:-50%}.scroll-hint :is(b,i){animation:none;animation-delay:calc(var(--i) * .12s)}.scroll-hint b{font-weight:inherit;opacity:.55;animation-name:hint-letter}@keyframes hint-letter{0%,26%,to{color:var(--ink);opacity:.55}6%,14%{color:var(--px-y);opacity:1}}.scroll-hint .arrows{color:var(--px-y);justify-items:center;gap:1px;display:grid}.scroll-hint i{opacity:.2;border-bottom:2px solid;border-right:2px solid;width:9px;height:9px;animation-name:hint-arrow;rotate:45deg}@keyframes hint-arrow{0%,26%,to{opacity:.2}6%,14%{opacity:1}}@media (prefers-reduced-motion:reduce){.scroll-hint :is(b,i){animation:none}.scroll-hint i{opacity:1}}.content{padding-bottom:20vh}.rows{border-top:1px solid var(--rule);padding:0;list-style:none}.row{border-bottom:1px solid var(--rule);grid-template-columns:56px 1fr 1.7fr;align-items:start;gap:20px clamp(24px,3vw,40px);padding:clamp(36px,5vh,52px) 0;transition:padding-left .3s steps(4,end);display:grid;position:relative}.row .idx{padding-top:7px;display:flex}.row .ico{transition:transform .25s steps(2,end)}.row:hover .ico{transform:translateY(-4px)}.row h3{letter-spacing:.04em;font-size:clamp(18px,1.8vw,22px);font-weight:700;line-height:1.6}.row p{letter-spacing:.03em;opacity:.72;font-size:16px;line-height:2}.row:before{content:"";background:var(--px-y);width:6px;height:6px;box-shadow:8px 0 0 var(--px-p), 16px 0 0 var(--ink);opacity:0;margin-top:-3px;transition:opacity .2s steps(2,end);position:absolute;top:50%;left:0}.row:hover{padding-left:36px}.row:hover:before{opacity:1;animation:1.2s step-end infinite dots}@keyframes dots{0%{background:var(--px-y);box-shadow:8px 0 #0000,16px 0 #0000}25%{background:var(--px-y);box-shadow:8px 0 0 var(--px-p), 16px 0 0 transparent}50%{background:var(--px-y);box-shadow:8px 0 0 var(--px-p), 16px 0 0 var(--ink)}75%{background:0 0;box-shadow:8px 0 #0000,16px 0 #0000}}@media (prefers-reduced-motion:reduce){.row:hover:before{animation:none}}@media (width<=760px){.row{grid-template-columns:44px 1fr}.row p{grid-column:2}}.works{border-top:1px solid var(--rule)}.work{border-bottom:1px solid var(--rule);color:inherit;--logo-h:clamp(34px, 3.4vw, 46px);--c:var(--ink);--c2:var(--px-y);grid-template-columns:1fr auto;column-gap:clamp(24px,3vw,40px);padding:clamp(40px,6vh,60px) 0;text-decoration:none;display:grid;position:relative;overflow:hidden}.work:nth-child(3n+2){--c:var(--px-y);--c2:var(--px-p)}.work:nth-child(3n){--c:var(--px-p);--c2:var(--ink)}.work .lead{letter-spacing:.03em;opacity:.7;grid-column:1;margin-top:16px;font-size:16px;line-height:1.9}.work .body{letter-spacing:.03em;grid-column:1;max-width:46em;margin-top:14px;font-size:16px;line-height:2.05}.work .arrow{--nudge:8px;width:28px;height:20px;margin-right:var(--nudge);color:var(--c);align-self:center;transition:transform .3s steps(2,end),color .2s steps(2,end);animation:2.4s step-end infinite arrow-nudge}.work:after{content:"";pointer-events:none;--stripe:color-mix(in srgb, var(--c) 24%, transparent);background:repeating-linear-gradient(to bottom, var(--stripe) 0 6px, transparent 6px 12px, var(--stripe) 12px 18px, transparent 18px 24px, color-mix(in srgb, var(--c2) 22%, transparent) 24px 30px, transparent 30px 36px);width:48px;position:absolute;top:0;bottom:0;left:-80px}.work:hover:after{animation:2.4s step-end infinite scan}.work:nth-child(3n+2) .arrow{animation-delay:.15s}.work:nth-child(3n) .arrow{animation-delay:.3s}.work:hover .arrow{transform:translateX(var(--nudge));animation:none}@keyframes arrow-nudge{0%,76%,to{transform:none}60%,72%{transform:translateX(calc(var(--nudge) / 2))}64%{transform:translateX(var(--nudge))}}@keyframes scan{0%{animation-timing-function:steps(14,end);left:-80px}30%,to{left:calc(100% + 40px)}}@media (prefers-reduced-motion:reduce){.work:hover:after,.work .arrow{animation:none}}.works-more{align-items:center;gap:16px;width:fit-content;display:flex}.works-more .arrow{font-family:Jost,sans-serif;transition:transform .3s steps(3,end)}.works-more:hover .arrow{transform:translate(6px)}@media (width<=760px){.work .lead,.work .body{grid-column:1/-1}}.spec{border-top:1px solid var(--rule);grid-template-columns:9em 1fr;display:grid}.spec dt,.spec dd{border-bottom:1px solid var(--rule);padding:clamp(28px,4vh,40px) 0}.spec dt{letter-spacing:.1em;opacity:.5;padding-top:calc(clamp(28px,4vh,40px) + 4px);font-size:13px}.spec dd{letter-spacing:.03em;font-size:16px;line-height:1.9}.spec dd small{opacity:.5;margin-top:4px;font-size:13px;display:block}@media (width<=760px){.spec{grid-template-columns:1fr}.spec dt{border-bottom:0;padding:28px 0 0}.spec dd{padding:10px 0 28px}}.spec dt:nth-of-type(2),.spec dd:nth-of-type(2){transition-delay:.15s}.spec dt:nth-of-type(3),.spec dd:nth-of-type(3){transition-delay:.3s}.spec dt:nth-of-type(4),.spec dd:nth-of-type(4){transition-delay:.45s}.spec .addr{padding-left:30px;position:relative}.spec .map{color:inherit;text-decoration:none}.spec .map small{color:var(--px-y);opacity:.85;margin-top:4px}.spec .map:hover{text-underline-offset:4px;text-decoration:underline}.spec .pin{width:18px;height:21px;animation:1.6s steps(2,end) infinite pin;position:absolute;top:calc(clamp(28px,4vh,40px) + 5px);left:0}@keyframes pin{0%,60%{opacity:1;transform:translateY(0)}70%{transform:translateY(-4px)}85%{opacity:.35}}@media (prefers-reduced-motion:reduce){.spec .pin{animation:none}}@media (width<=760px){.spec .pin{top:15px}}.cta .big{letter-spacing:-.02em;font-size:clamp(48px,9vw,132px);font-weight:500;line-height:.95}.cta .big span{color:var(--px-y)}.cta h2{letter-spacing:.04em;margin-top:clamp(40px,6vh,64px);font-size:clamp(20px,2.4vw,28px);line-height:1.6}.cta p{opacity:.75;letter-spacing:.03em;max-width:40em;margin-top:20px;line-height:2}.loader{z-index:var(--z-loader);background:var(--bg);place-items:center;transition:opacity .6s,visibility 0s linear .6s;display:grid;position:fixed;inset:0}html.ready .loader{opacity:0;visibility:hidden}.loader svg{width:56px;height:56px;overflow:visible}.loader line{stroke:#f5f6fa40;stroke-width:2px}.loader circle{opacity:.25;animation:1.2s ease-in-out infinite blink}.loader circle:nth-of-type(2){animation-delay:.4s}.loader circle:nth-of-type(3){animation-delay:.8s}@keyframes blink{0%,to{opacity:.25}30%{opacity:1}}
