:root{--paper:#f2eee6;--paper-2:#e9e3d6;--ink:#16130f;--ink-2:#322c23;--muted:#8b8274;--rule:#d7cfbf;--orange:#ff5119;--display:"Bricolage Grotesque", system-ui, sans-serif;--sans:"Hanken Grotesk", system-ui, sans-serif;--mono:"Space Mono", ui-monospace, monospace;--gutter:clamp(20px, 5vw, 90px);--maxw:1680px;--ease:cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}body{background:var(--paper);color:var(--ink);font-family:var(--sans);cursor:none;font-size:18px;font-weight:400;line-height:1.5;overflow-x:hidden}@media (width<=880px){body{cursor:auto}}::selection{background:var(--orange);color:var(--paper)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.mono{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;font-size:12px;font-weight:400}.mono--md{font-size:13px}.kicker{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.7em;font-size:12px;display:inline-flex}.kicker:before{content:"";background:var(--orange);width:26px;height:1px;display:inline-block}.display{font-family:var(--display);letter-spacing:-.03em;text-wrap:balance;font-weight:800;line-height:.92}.rule{background:var(--rule);border:0;width:100%;height:1px}.orange{color:var(--orange)}.ital{font-style:italic}.wrap{max-width:var(--maxw);padding-inline:var(--gutter);margin-inline:auto}section{position:relative}.cursor-ring,.cursor-dot{pointer-events:none;z-index:9999;mix-blend-mode:difference;will-change:transform;border-radius:50%;position:fixed;top:0;left:0}.cursor-ring{border:1.5px solid var(--orange);width:40px;height:40px;transition:width .35s var(--ease), height .35s var(--ease), margin .35s var(--ease), background .35s var(--ease);margin:-20px 0 0 -20px}.cursor-dot{background:var(--orange);width:6px;height:6px;margin:-3px 0 0 -3px}.cursor-ring.is-hover{background:var(--orange);width:78px;height:78px;margin:-39px 0 0 -39px}.cursor-ring.is-down{width:30px;height:30px;margin:-15px 0 0 -15px}body.no-cursor .cursor-ring,body.no-cursor .cursor-dot{display:none}.nav{z-index:200;padding:26px var(--gutter);transition:padding .45s var(--ease), background .45s var(--ease), border-color .45s var(--ease), backdrop-filter .45s var(--ease);background:0 0;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;display:flex;position:fixed;inset:0 0 auto}.nav.scrolled{padding:13px var(--gutter);background:color-mix(in srgb, var(--paper) 82%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.2);backdrop-filter:blur(14px)saturate(1.2);border-bottom-color:var(--rule)}.brand{font-family:var(--display);letter-spacing:-.02em;align-items:center;gap:9px;font-size:20px;font-weight:800;display:flex}.brand-logo{object-fit:contain;border-radius:6px;width:26px;height:26px;display:inline-block}.foot-brand{align-items:center;gap:9px;display:inline-flex}.foot-brand .brand-logo{width:20px;height:20px}.nav-right{align-items:center;gap:clamp(14px,2.4vw,40px);display:flex}.nav-links{gap:clamp(14px,2.4vw,40px);display:flex}.nav-link{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;padding:4px 0;font-size:12px;position:relative}.nav-link:after{content:"";background:var(--ink);transform-origin:100%;width:100%;height:1px;transition:transform .45s var(--ease);position:absolute;bottom:0;left:0;transform:scaleX(0)}.nav-link:hover:after{transform-origin:0;transform:scaleX(1)}@media (width<=760px){.nav-links{display:none}}.nav-cta{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--ink);transition:background .35s var(--ease), color .35s var(--ease);border-radius:999px;padding:10px 16px;font-size:12px}.nav-cta:hover{background:var(--ink);color:var(--paper)}.hero{flex-direction:column;justify-content:center;height:100svh;min-height:540px;padding-block:clamp(88px,13vh,150px) clamp(28px,5vh,60px);display:flex;overflow:hidden}.hero-head{font-family:var(--display);letter-spacing:-.035em;text-transform:uppercase;font-size:clamp(46px,min(13.2vw,17.5vh),230px);font-weight:800;line-height:.88}.hero-head .ln{display:block;overflow:hidden}.hero-head .ln>span{display:block;transform:translateY(0)}html.js .hero-head .ln>span{transform:translateY(110%)}html.js .hero-head.ready .ln>span{transition:transform 1.15s var(--ease);transform:translateY(0)}html.js .hero-head.ready .ln:first-child>span{transition-delay:80ms}html.js .hero-head.ready .ln:nth-child(2)>span{transition-delay:.2s}html.js .hero-head.ready .ln:nth-child(3)>span{transition-delay:.32s}.hero-head .indent{padding-left:clamp(40px,14vw,260px)}.hero-foot{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:40px;margin-top:clamp(24px,5vh,90px);display:flex}.hero-statement{max-width:46ch;color:var(--ink-2);font-size:clamp(17px,1.5vw,22px);line-height:1.45}.hero-statement b{color:var(--ink);font-weight:600}.scroll-cue{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);align-items:center;gap:12px;font-size:11px;display:flex}.scroll-cue .bar{background:var(--rule);width:1px;height:46px;position:relative;overflow:hidden}.scroll-cue .bar:after{content:"";background:var(--orange);animation:cueRun 2.2s var(--ease) infinite;position:absolute;inset:0;transform:translateY(-100%)}@keyframes cueRun{0%{transform:translateY(-100%)}55%{transform:translateY(0)}to{transform:translateY(100%)}}.reveal{opacity:0;transition:opacity 1s var(--ease), transform 1s var(--ease);transform:translateY(34px)}.reveal.in{opacity:1;transform:none}.sec-head{border-top:1px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:24px;padding-block:30px;display:flex}.sec-head h2{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(28px,4vw,60px);font-weight:800;line-height:.95}.sec-index{font-family:var(--mono);letter-spacing:.2em;color:var(--muted);text-transform:uppercase;font-size:12px}.services{padding-top:90px;padding-bottom:clamp(80px,12vh,160px)}.svc-grid{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(30px,6vw,100px);display:grid}.svc-index{align-self:start;position:sticky;top:14vh}.svc-item{border-top:1px solid var(--rule);padding:clamp(14px,2.2vh,26px) 0;display:block}.svc-item:last-child{border-bottom:1px solid var(--rule)}.svc-item .row{align-items:baseline;gap:18px;display:flex}.svc-item .no{font-family:var(--mono);color:var(--muted);width:3ch;font-size:13px}.svc-item .name{font-family:var(--display);letter-spacing:-.02em;color:var(--rule);transition:color .5s var(--ease), transform .6s var(--ease);transform-origin:0;font-size:clamp(34px,5vw,84px);font-weight:800;line-height:.95}.svc-item.active .name{color:var(--ink)}.svc-item.active .no{color:var(--orange)}.svc-detail-col{position:relative}.svc-detail{flex-direction:column;justify-content:center;min-height:56vh;display:none;position:sticky;top:14vh}.svc-detail.show{display:flex}.svc-art{aspect-ratio:4/3;background:repeating-linear-gradient(135deg, var(--paper-2) 0 11px, transparent 11px 22px), var(--paper);border:1px solid var(--rule);justify-content:space-between;align-items:flex-end;margin-bottom:22px;padding:18px;display:flex;position:relative;overflow:hidden}.svc-art .tag{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:11px}.svc-art .big{font-family:var(--display);color:var(--orange);opacity:.12;pointer-events:none;font-size:34vh;font-weight:800;line-height:.7;position:absolute;bottom:-18px;right:-4px}.svc-detail p{max-width:40ch;color:var(--ink-2);font-size:clamp(18px,1.6vw,24px);line-height:1.4}.svc-detail .meta{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.svc-detail .meta span{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--rule);color:var(--ink-2);border-radius:999px;padding:7px 11px;font-size:11px}@media (width<=880px){.svc-grid{grid-template-columns:1fr}.svc-detail-col{display:none}.svc-item .name{color:var(--ink);font-size:clamp(40px,12vw,84px)}.svc-item.mobile-detail{display:block}}.svc-mobile{display:none}.svc-mobile p{color:var(--ink-2);margin-top:10px;font-size:16px;line-height:1.45}@media (width<=880px){.svc-mobile{display:block}}.work{background:var(--ink);color:var(--paper)}.work .sec-head{border-color:var(--paper)}.work .sec-index{color:#9a9384}.work-wrap{position:relative}.work-sticky{align-items:center;height:100svh;display:flex;position:sticky;top:0;overflow:hidden}.work-track{will-change:transform;align-items:stretch;height:100%;display:flex}.proj{border-right:1px solid #f2eee624;flex-direction:column;flex:none;justify-content:flex-end;width:clamp(360px,62vw,880px);height:100%;padding:clamp(60px,9vh,110px) clamp(28px,4vw,70px) clamp(40px,6vh,70px);display:flex;position:relative}.proj-no{font-family:var(--mono);letter-spacing:.2em;color:var(--orange);font-size:12px}.proj-img{position:absolute;inset:clamp(60px,9vh,110px) clamp(28px,4vw,70px) 38%}.proj .image-slot{width:100%;height:100%}.proj-name{font-family:var(--display);letter-spacing:-.02em;margin-top:14px;font-size:clamp(40px,6vw,96px);font-weight:800;line-height:.92}.proj-line{color:#cfc9bb;max-width:36ch;margin-top:12px;font-size:clamp(15px,1.3vw,19px)}.proj-tags{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.proj-tags span{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#9a9384;border:1px solid #f2eee638;border-radius:999px;padding:5px 9px;font-size:11px}.work-progress{background:#f2eee62e;height:1px;position:absolute;bottom:26px;left:clamp(28px,4vw,70px);right:clamp(28px,4vw,70px)}.work-progress i{background:var(--orange);width:0%;display:block;position:absolute;inset:0 auto 0 0}.work-hint{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#9a9384;font-size:11px;position:absolute;top:26px;right:clamp(28px,4vw,70px)}.work.reduced .work-sticky,body.reduced .work .work-sticky{height:auto;display:block;position:static}@media (width<=880px){.work-sticky{height:auto;display:block;position:static}.work-track{flex-direction:column;height:auto;transform:none!important}.proj{border-bottom:1px solid #f2eee624;border-right:0;width:100%;height:auto;min-height:86vh}.work-progress,.work-hint{display:none}}.process{padding-top:90px}.proc-wrap{position:relative}.proc-sticky{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(30px,6vw,90px);height:100svh;display:grid;position:sticky;top:0;overflow:hidden}.proc-num{font-family:var(--display);letter-spacing:-.04em;color:var(--orange);font-size:clamp(140px,30vw,460px);font-weight:800;line-height:.78}.proc-num small{font-family:var(--mono);letter-spacing:.2em;color:var(--muted);margin-bottom:18px;font-size:13px;display:block}.proc-stage{counter-reset:step;position:relative}.proc-step{counter-increment:step;opacity:0;transition:opacity .5s var(--ease), transform .5s var(--ease);pointer-events:none;flex-direction:column;justify-content:center;display:flex;position:absolute;inset:0;transform:translateY(20px)}.proc-step.on{opacity:1;pointer-events:auto;transform:none}.proc-step h3{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(32px,4.4vw,68px);font-weight:800;line-height:.96}.proc-step p{color:var(--ink-2);max-width:38ch;margin-top:16px;font-size:clamp(17px,1.5vw,23px);line-height:1.45}.proc-rail{background:var(--rule);height:3px;position:absolute;top:0;left:0;right:0}.proc-rail i{background:var(--orange);width:0%;height:100%;display:block}@media (width<=880px){.proc-sticky{height:auto;padding-block:30px 70px;display:block;position:static}.proc-rail,.proc-num{display:none}.proc-stage{position:static}.proc-step{opacity:1;pointer-events:auto;border-top:1px solid var(--rule);padding:26px 0;position:static;transform:none}.proc-step h3{font-size:clamp(30px,9vw,52px)}.proc-step h3:before{content:"0" counter(step) " ";color:var(--orange);font-family:var(--mono);letter-spacing:.1em;vertical-align:middle;margin-right:.6em;font-size:.34em}}.quotes{padding-block:clamp(80px,14vh,160px)}.quote{border-top:1px solid var(--rule);padding-block:clamp(40px,7vh,80px)}.quote blockquote{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;max-width:22ch;font-size:clamp(30px,5.2vw,86px);font-weight:700;line-height:1}.quote blockquote .orange{font-style:normal}.quote .who{flex-wrap:wrap;align-items:baseline;gap:14px;margin-top:26px;display:flex}.quote .who .nm{font-weight:600}.quote .who .rl{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:12px}.marquee{border-block:1px solid var(--ink);padding-block:22px;overflow:hidden}.marquee-row{gap:0;width:max-content;animation:34s linear infinite slide;display:flex}.marquee-row.rev{animation-direction:reverse}.marquee:hover .marquee-row{animation-play-state:paused}.marquee .item{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);align-items:center;gap:clamp(24px,4vw,60px);padding-inline:clamp(24px,4vw,60px);font-size:clamp(28px,4vw,58px);font-weight:800;display:flex}.marquee .item:after{content:"·";color:var(--orange)}@keyframes slide{0%{transform:translate(0)}to{transform:translate(-50%)}}.contact{background:var(--ink);color:var(--paper);padding-block:clamp(90px,16vh,180px);overflow:hidden}.contact .kicker{color:#9a9384}.contact-head{font-family:var(--display);letter-spacing:-.035em;text-transform:uppercase;font-size:clamp(52px,11vw,200px);font-weight:800;line-height:.86}.contact-head .ln{display:block;overflow:hidden}.contact-head .ln>span{display:block}.cta-btn{background:var(--orange);color:var(--ink);font-family:var(--display);letter-spacing:-.01em;transition:transform .4s var(--ease);border-radius:999px;align-items:center;gap:18px;margin-top:clamp(40px,7vh,80px);padding:clamp(16px,2vw,24px) clamp(26px,3vw,42px);font-size:clamp(20px,2.4vw,34px);font-weight:800;display:inline-flex;position:relative;overflow:hidden}.cta-btn .arr{transition:transform .4s var(--ease)}.cta-btn:hover .arr{transform:translate(8px)}.cta-btn:before{content:"";background:var(--paper);transition:transform .5s var(--ease);z-index:0;position:absolute;inset:0;transform:translateY(101%)}.cta-btn:hover:before{transform:translateY(0)}.cta-btn span{z-index:1;position:relative}.contacts{border-top:1px solid #f2eee633;margin-top:clamp(70px,12vh,140px)}.contact-row{transition:padding-left .45s var(--ease);border-bottom:1px solid #f2eee624;grid-template-columns:.7fr 1.3fr 1fr auto;align-items:center;gap:20px;padding:clamp(18px,2.6vh,30px) 0;display:grid}.contact-row:hover{padding-left:18px}.contact-row .nm{font-family:var(--display);letter-spacing:-.01em;font-size:clamp(22px,2.4vw,40px);font-weight:800}.contact-row .role{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#9a9384;font-size:11px}.contact-row a.em{color:var(--paper);font-size:clamp(15px,1.3vw,20px);position:relative}.contact-row a.em:after{content:"";background:var(--orange);transform-origin:100%;width:100%;height:1px;transition:transform .4s var(--ease);position:absolute;bottom:-3px;left:0;transform:scaleX(0)}.contact-row a.em:hover:after{transform-origin:0;transform:scaleX(1)}.contact-row .ph{font-family:var(--mono);letter-spacing:.06em;color:#cfc9bb;font-size:13px}@media (width<=760px){.contact-row{grid-template-columns:1fr;gap:4px;padding-block:22px}.contact-row .role{order:-1}}.foot{padding:40px var(--gutter);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;font-size:11px;display:flex}.image-slot{background:#0000000a;display:block;position:relative;overflow:hidden}.image-slot img{object-fit:cover;width:100%;height:100%;display:block}body.reduced .work-wrap,body.reduced .proc-wrap{height:auto!important}body.reduced .work-sticky,body.reduced .proc-sticky{height:auto;display:block;position:static;overflow:visible}body.reduced .work-track{flex-direction:column;height:auto;transform:none!important}body.reduced .proj{border-bottom:1px solid #f2eee624;border-right:0;justify-content:flex-start;width:100%;height:auto;min-height:0;padding-block:clamp(40px,6vh,70px)}body.reduced .proj-img{height:44vh;margin-bottom:24px;position:static}body.reduced .work-progress,body.reduced .work-hint,body.reduced .proc-rail,body.reduced .proc-num{display:none}body.reduced .proc-sticky{padding-block:20px 60px}body.reduced .proc-step{border-top:1px solid var(--rule);padding:26px 0;position:static;opacity:1!important;transform:none!important}body.reduced .proc-step h3:before{content:"0" counter(step) "  ";color:var(--orange);font-family:var(--mono);letter-spacing:.1em;vertical-align:middle;font-size:.34em}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}.reveal,.hero-head .ln>span,.contact-head .ln>span{opacity:1!important;transition:none!important;transform:none!important}.cursor-ring,.cursor-dot{display:none!important}body{cursor:auto}.work-track{transform:none!important}}
