:root{--bg:#fafafa;--surface:#fff;--line:#e7e7ea;--text:#111113;--muted:#6e7380;--muted-2:#8b909c;--btn:#111113;--btn-text:#fff;--font:"Inter", "Helvetica Neue", Arial, sans-serif;--fs-hero:clamp(30px, min(6vw, 10.5vh), 96px);--fs-lead:clamp(15px, min(1.45vw, 3vh), 23px);--fs-h2:clamp(30px, 3.6vw, 52px);--fs-body:17px;--fs-nav:17px;--nav-h:84px;--radius:8px;--radius-lg:16px;--wrap:1180px;--gutter:max(20px, env(safe-area-inset-left,0px));color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}a{color:inherit}h1,h2,h3,p,ul,ol{margin:0;padding:0}:focus-visible{outline:2px solid var(--text);outline-offset:3px;border-radius:4px}.wrap{max-width:var(--wrap);padding-inline:var(--gutter);margin:0 auto}.btn{border-radius:var(--radius);background:var(--btn);height:52px;color:var(--btn-text);font:600 17px/1 var(--font);letter-spacing:-.01em;align-items:center;gap:8px;padding:0 20px;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.btn:hover{background:#2a2a2e}.btn svg{width:18px;height:18px}.btn--sm{height:46px;padding:0 16px;font-size:16px}.nav{z-index:20;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.nav .wrap{height:var(--nav-h);grid-template-columns:1fr auto 1fr;align-items:center;max-width:1480px;display:grid}.brand{letter-spacing:-.03em;align-items:center;gap:10px;font-size:26px;font-weight:700;text-decoration:none;display:inline-flex}.brand svg{width:34px;height:34px}.nav__links{font-size:var(--fs-nav);color:var(--muted);gap:42px;display:flex}.nav__links a{text-decoration:none}.nav__links a:hover{color:var(--text)}.nav__right{justify-content:flex-end;align-items:center;gap:22px;display:flex}.lang{color:var(--muted);letter-spacing:.02em;font-size:15px;text-decoration:none}.lang b{color:var(--text);font-weight:600}.hero{height:calc(100svh - var(--nav-h));flex-direction:column;min-height:460px;display:flex;position:relative;overflow:hidden}.hero__text{z-index:2;text-align:center;padding:clamp(24px, 9vh, 124px) var(--gutter) 0;flex:none;position:relative}.hero h1{font-size:var(--fs-hero);letter-spacing:-.035em;font-weight:500;line-height:1.18}.hero h1 span{white-space:nowrap;display:block}.hero__lead{max-width:800px;font-size:var(--fs-lead);color:var(--muted);text-wrap:balance;margin:clamp(10px,2.8vh,34px) auto 0;line-height:1.6}.hero__cta{margin-top:clamp(12px,2.8vh,34px)}.hero__art{z-index:1;flex:auto;min-height:120px;margin-top:calc(-1*clamp(20px,5vh,56px));position:relative}.hero__art canvas{width:100%;height:100%;display:block;-webkit-mask-image:linear-gradient(#0000 0,#000 14% 88%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 14% 88%,#0000 100%)}.section{border-top:1px solid var(--line);padding-block:112px}.label{color:var(--muted);letter-spacing:.01em;font-size:14px}.section h2,.contact h2{font-size:var(--fs-h2);letter-spacing:-.03em;margin-top:10px;font-weight:500;line-height:1.12}.section__sub{color:var(--muted);max-width:36em;margin-top:12px;font-size:18px}.marquee{margin-top:48px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.marquee__track{width:max-content;animation:70s linear infinite marquee;display:flex}.marquee:hover .marquee__track{animation-play-state:paused}.marquee__half{list-style:none;display:flex}.logo{letter-spacing:-.02em;white-space:nowrap;color:var(--text);align-items:center;gap:14px;margin-right:88px;font-size:26px;font-weight:600;text-decoration:none;display:inline-flex}.logo img{object-fit:contain;mix-blend-mode:multiply;border-radius:10px;width:44px;height:44px}a.logo:hover{opacity:.7}@keyframes marquee{to{transform:translate(-50%)}}.work{position:relative}.pop{z-index:5;background:var(--btn);color:#fff;pointer-events:none;opacity:0;border-radius:14px;width:360px;padding:22px 22px 18px;transition:opacity .2s,transform .2s;position:absolute;transform:translateY(6px);box-shadow:0 30px 60px -28px #1111138c}.pop:before{content:"";top:-6px;left:var(--caret,50%);background:var(--btn);border-radius:2px;width:12px;height:12px;margin-left:-6px;position:absolute;transform:rotate(45deg)}.pop.is-open{opacity:1;transform:none}.pop__kind{color:#ffffff8c;font-size:13px;display:block}.pop__title{letter-spacing:-.02em;margin-top:4px;font-size:21px;font-weight:600;line-height:1.25;display:block}.pop__list{color:#ffffffd1;margin-top:14px;font-size:15px;line-height:1.45;list-style:none}.pop__list li{border-top:1px solid #ffffff1f;padding:9px 0}.pop__on{color:#ffffff8c;border-top:1px solid #ffffff1f;flex-wrap:wrap;gap:4px 12px;padding-top:12px;font-size:13px;display:flex}.pop__on b{color:#fff;font-weight:500}.list{border-top:1px solid var(--line);margin-top:48px}.list>div{border-bottom:1px solid var(--line);grid-template-columns:64px minmax(0,300px) minmax(0,1fr);align-items:baseline;gap:16px;padding:24px 0;display:grid}.list__n{color:var(--muted-2);font-size:14px}.list b{letter-spacing:-.01em;font-size:21px;font-weight:500}.list span:last-child{color:var(--muted)}.contact{text-align:center;border-top:1px solid var(--line);padding-block:128px}.contact h2{max-width:16em;margin:10px auto 0}.contact .section__sub{margin:14px auto 0}.contact__cta{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px;display:flex}.footer{border-top:1px solid var(--line)}.footer .wrap{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-block:24px 32px;font-size:14px;display:flex}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(16px)}.reveal.in{opacity:1;transform:none}@media (width<=900px){:root{--nav-h:64px}.nav .wrap{grid-template-columns:1fr auto}.nav__links{display:none}.brand{font-size:21px}.brand svg{width:28px;height:28px}.nav__right{gap:14px}.nav__right .btn{display:none}.hero h1{font-size:7.2vw}.logo{margin-right:56px;font-size:21px}.logo img{width:36px;height:36px}.list>div{grid-template-columns:40px minmax(0,1fr);gap:4px 12px}.list span:last-child{grid-column:2}.section{padding-block:72px}.contact{padding-block:88px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}.marquee__track{animation:none}}
