html,body{overflow-x:hidden}body{font-size:17px;line-height:1.6}.wrap{max-width:var(--max)}.nav-in{max-width:var(--max);margin:0 auto;padding:20px 36px;display:flex;align-items:center;gap:28px}.nav-links{margin-left:auto;display:flex;align-items:center;gap:26px}.nav-links a.nl{font-size:14px;color:var(--mut);transition:color .15s;white-space:nowrap}.nav-links a.nl:hover{color:var(--ink)}@media(max-width:720px){.nav-links .nl{display:none}}.booklink{font-size:14px;color:var(--ink);border-bottom:1px solid var(--acc);padding-bottom:2px;transition:.18s;white-space:nowrap}.booklink:hover{color:var(--acc)}@media(max-width:600px){.nav-in{padding:14px 18px;gap:14px}.nav-r,.nav-links{gap:14px}.booklink{font-size:13px}}@media(max-width:360px){.nav-in{gap:11px}}section{position:relative;z-index:1}.hero{padding:118px 0 90px}.hero .kicker{margin-bottom:36px}.avail{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;color:var(--mut);margin-bottom:30px;white-space:nowrap}.avail .ld{width:7px;height:7px;border-radius:50%;background:var(--acc);box-shadow:0 0 11px var(--acc);animation:pulse 1.9s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}h1.hl{font-family:var(--disp);font-weight:500;font-size:clamp(40px,8vw,90px);line-height:1.02;letter-spacing:-3px;max-width:14ch}h1.hl em{font-style:normal;color:var(--acc)}.sub{max-width:600px;color:var(--mut);font-size:19px;line-height:1.65;margin-top:38px}.role-line{font-family:var(--mono);font-size:12.5px;color:var(--dim);margin-top:26px;letter-spacing:.5px}.cta-row{display:flex;flex-wrap:wrap;gap:30px;margin-top:42px;align-items:center}.lnk{font-size:16px;color:var(--ink);display:inline-flex;align-items:center;gap:9px;border-bottom:1px solid var(--line2);padding-bottom:4px;transition:.18s;white-space:nowrap}.lnk:hover{border-color:var(--acc);color:var(--acc)}.lnk.primary{color:var(--acc);border-color:var(--acc)}.lnk .ar{transition:transform .2s}.lnk:hover .ar{transform:translate(4px)}.stats{display:flex;flex-wrap:wrap;gap:0;margin-top:80px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat{flex:1 1 0;min-width:140px;padding:30px 0}.stat .v{font-size:46px;font-weight:500;letter-spacing:-2px;line-height:1}.stat .l{font-family:var(--mono);font-size:11.5px;color:var(--mut);margin-top:11px;letter-spacing:.4px}@media(max-width:640px){.stat{flex:1 1 45%}}.sec{padding:96px 0}.sec-h{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:baseline;margin-bottom:54px}.sec-h .num{font-family:var(--mono);font-size:13px;color:var(--acc);letter-spacing:1px}.sec-h .ttl{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}.sec-h h2{font-family:var(--disp);font-size:clamp(26px,3.6vw,42px);font-weight:500;letter-spacing:-1.2px}.sec-h .note{font-family:var(--mono);font-size:12px;color:var(--dim);letter-spacing:.3px}.svc-list{border-top:1px solid var(--line)}.svc-row{display:grid;grid-template-columns:54px 1fr;gap:20px;padding:30px 8px;border-bottom:1px solid var(--line);transition:.25s;align-items:start}.svc-row:hover{background:var(--hover);padding-left:18px}.svc-row .n{font-family:var(--mono);font-size:13px;color:var(--dim);padding-top:8px}.svc-row h3{font-size:25px;font-weight:500;letter-spacing:-.6px}.svc-row p{color:var(--mut);font-size:15.5px;line-height:1.6;margin-top:10px;max-width:620px}@media(max-width:560px){.svc-row{grid-template-columns:1fr;gap:8px}.svc-row .n{padding-top:0}}.proj-list{border-top:1px solid var(--line)}.prow{padding:38px 8px;border-bottom:1px solid var(--line);transition:.25s}.prow:hover{background:var(--hover);padding-left:18px}.prow .top{display:flex;align-items:baseline;gap:20px}.prow .client{font-size:30px;font-weight:500;letter-spacing:-1px;flex:1 1 auto;line-height:1.1}.prow .per{font-family:var(--mono);font-size:12.5px;color:var(--dim);white-space:nowrap;flex:0 0 auto}.prow .role{font-family:var(--mono);font-size:12.5px;color:var(--acc);margin-top:10px;letter-spacing:.4px}.prow .desc{color:var(--mut);font-size:16px;line-height:1.65;margin-top:16px;max-width:680px}.tags{display:flex;flex-wrap:wrap;gap:18px;margin-top:18px}.tag-c{font-family:var(--mono);font-size:11.5px;color:var(--dim);letter-spacing:.5px;white-space:nowrap}.tag-c:before{content:"·  ";color:var(--acc)}.split{display:grid;grid-template-columns:1fr 1fr;gap:64px}@media(max-width:820px){.split{grid-template-columns:1fr;gap:64px}}.lead{font-size:21px;line-height:1.6;letter-spacing:-.3px;margin-bottom:26px;max-width:30ch}.about-p{color:var(--mut);font-size:16px;line-height:1.75;margin-bottom:18px;max-width:46ch}.exp-row{display:grid;grid-template-columns:96px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.exp-row:first-child{border-top:1px solid var(--line)}.exp-row .per{font-family:var(--mono);font-size:11.5px;color:var(--dim);padding-top:3px;letter-spacing:.3px}.exp-row .org{font-size:17px;font-weight:500;letter-spacing:-.3px}.exp-row .role{color:var(--mut);font-size:13.5px;margin-top:2px}.tech-line{margin-top:14px}.tech-grp{padding:14px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:96px 1fr;gap:18px}.tech-grp:first-child{border-top:1px solid var(--line)}.tech-grp .lbl{font-family:var(--mono);font-size:11.5px;letter-spacing:.5px;color:var(--acc);padding-top:2px}.tech-grp .it{color:var(--mut);font-size:15px;line-height:1.7}.quote{text-align:center;max-width:880px;margin:0 auto;padding:30px 0}.quote .mk{font-family:var(--mono);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--acc);margin-bottom:34px}.quote q{quotes:none;font-family:var(--disp);font-size:clamp(24px,3.6vw,38px);line-height:1.4;font-weight:400;letter-spacing:-1px;display:block}.quote q b{font-weight:500;color:var(--ink)}.quote .by{margin-top:36px;font-family:var(--mono);font-size:13px;color:var(--mut)}.quote .by b{color:var(--ink);font-weight:500}.side-list{border-top:1px solid var(--line)}.side-row{display:grid;grid-template-columns:1fr auto;gap:24px;padding:26px 8px;border-bottom:1px solid var(--line);align-items:baseline;transition:.25s}.side-row:hover{background:var(--hover);padding-left:18px}.side-row .nm{font-size:21px;font-weight:500;letter-spacing:-.5px;display:flex;align-items:baseline;gap:12px}.side-row .nm .u{font-family:var(--mono);font-size:12px;color:var(--acc)}.side-row .ds{color:var(--mut);font-size:15px;line-height:1.6;margin-top:8px;max-width:560px}.side-row .go{font-family:var(--mono);font-size:13px;color:var(--dim);transition:.2s}.side-row:hover .go{color:var(--acc)}.contact{padding:120px 0 100px;text-align:center}.contact .kicker{margin-bottom:30px}.contact h2{font-family:var(--disp);font-size:clamp(36px,7vw,80px);font-weight:500;letter-spacing:-2.5px;line-height:1.04;max-width:16ch;margin:0 auto}.contact p{color:var(--mut);font-size:18px;margin:28px auto 0;max-width:520px;line-height:1.6}.contact .mail{display:inline-block;margin-top:44px;font-family:var(--disp);font-size:clamp(22px,4vw,38px);font-weight:500;letter-spacing:-1px;color:var(--ink);border-bottom:2px solid var(--acc);padding-bottom:6px;transition:.2s}.contact .mail:hover{color:var(--acc)}footer{border-top:1px solid var(--line);padding:40px 0}.foot-in,.foot-in .sp{gap:20px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}.hero-inner{will-change:transform,opacity}.px-num{display:inline-block}[data-px]{will-change:transform}.stagger-item{will-change:transform,opacity}.reveal .stagger-item{opacity:0;transform:translateY(15px);transition:opacity .6s cubic-bezier(.2,.7,.2,1) calc(var(--i, 0) * 65ms),transform .6s cubic-bezier(.2,.7,.2,1) calc(var(--i, 0) * 65ms),padding-left .25s cubic-bezier(.2,.7,.2,1),background-color .25s ease}.reveal.in .stagger-item{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.hero-inner,.px-num,[data-px],.stagger-item{transform:none!important;opacity:1!important}}
