:root{--hairline:#2a2a2e;--canvas:#000;--ink:#f4f4f5;--muted:#a1a7b0;--lime-ink:#c6dc4c;--forest:#0d331e;--shadow-pop:0 18px 50px #00000073}.hx{isolation:isolate;min-height:100svh;padding-top:var(--header-h);align-items:center;display:grid;position:relative;overflow:hidden}.hx__canvas{z-index:-1;touch-action:pan-y;cursor:crosshair;width:100%;height:100%;position:absolute;inset:0}.hx__content{opacity:calc(1 - var(--hero-out,0) * 1.8);transform:translateY(calc(var(--hero-out,0) * -48px));padding-block:48px 150px}.hx__content>*{max-width:560px}.hx__content>.display{max-width:720px;font-size:clamp(42px,6vw,88px)}.hx__content .lead{margin-block:24px 32px}.hx__btns{flex-wrap:wrap;gap:10px;display:flex}.hx__meta{justify-content:space-between;align-items:center;gap:16px;display:flex;position:absolute;bottom:28px;left:0;right:0}.hx__shapes{flex-wrap:wrap;gap:6px;display:flex}.hx__shapes button{border:1px solid var(--hairline);height:34px;color:var(--muted);cursor:pointer;backdrop-filter:blur(6px);background:#0000008c;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:500;transition:color .2s,border-color .2s;display:inline-flex}.hx__shapes button:hover{color:var(--ink)}.hx__shapes button[aria-pressed=true]{color:var(--ink);border-color:var(--ink)}.hx__dot{background:currentColor;border-radius:50%;width:6px;height:6px}.hx__shapes button[aria-pressed=true] .hx__dot{background:var(--lime);box-shadow:0 0 0 3px #c6dc4c59}.hx__hint{color:var(--muted);margin:0 0 0 auto;font-size:13px}.hx__scroll{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);flex-direction:column;align-items:center;gap:8px;font-size:11.5px;font-weight:600;display:inline-flex}.hx__scroll span{background:var(--ink);width:1px;height:36px;animation:hx-line 2s var(--ease) infinite}@keyframes hx-line{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom;transform:scaleY(1)}to{transform-origin:bottom;transform:scaleY(0)}}.story{padding-block:160px 140px}.story__text{max-width:1100px;color:var(--ink);letter-spacing:-.03em;margin:0;font-size:clamp(27px,4vw,56px);font-weight:500;line-height:1.4}.story__word{color:#3a3d42;transition:color .35s var(--ease)}.story__word.is-lit{color:var(--ink)}.chapter{height:180vh;position:relative}.chapter__sticky{--q:min(1, calc(var(--p,0) * 2.2));--w:min(1, calc(var(--p,0) / .5));height:100svh;position:sticky;top:0;overflow:hidden}.chapter__head{left:0;right:0;top:calc(var(--header-h) + 3%);z-index:1;text-align:center;opacity:calc(1 - var(--q) * 2.4);position:absolute}.chapter__head .h2{max-width:900px;margin-inline:auto}.chapter__head .label{justify-content:center}.chapter__media{background:var(--surface-2);clip-path:inset(calc((1 - var(--q)) * 26%) calc((1 - var(--q)) * 16%) calc((1 - var(--q)) * 5%) round calc((1 - var(--q)) * 28px));will-change:clip-path;position:absolute;inset:0}.chapter__media video,.chapter__media img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.chapter__media:after{content:"";pointer-events:none;background:linear-gradient(#0000001a 25%,#00000059 50%,#000000e6);position:absolute;inset:0}.chapter__word{z-index:2;white-space:nowrap;pointer-events:none;letter-spacing:-.045em;color:var(--lime);opacity:.92;transform:translate(calc(100vw - var(--w) * (100vw + 100%)), -50%);will-change:transform;margin:0;font-size:clamp(110px,22vw,360px);font-weight:800;line-height:1;position:absolute;top:52%;left:0}.chapter__content{z-index:3;color:#fff;opacity:0;transition:opacity .6s var(--ease), transform .6s var(--ease);pointer-events:none;justify-items:start;gap:16px;display:grid;position:absolute;bottom:max(12%,168px);left:0;right:0;transform:translateY(28px)}.chapter.is-open .chapter__content{opacity:1;pointer-events:auto;transform:none}.chapter__badge{border-radius:var(--r-sm);background:var(--lime);color:#000;letter-spacing:.06em;padding:5px 10px;font-size:12px;font-weight:700}.chapter__title{max-width:760px;margin:0}.chapter__content .lead{color:#ffffffd6}.chapter__chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chapter__chips li{color:#ffffffe6;backdrop-filter:blur(6px);border:1px solid #ffffff47;border-radius:999px;padding:6px 12px;font-size:13px}.proj-head{justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px;display:flex}.proj-head a{color:var(--slate-2);white-space:nowrap;font-size:15px}.proj-head a:hover{color:#fff}.proj{grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.4vw,20px);display:grid}.proj__card{gap:14px;display:grid}.proj__media{aspect-ratio:4/5;border-radius:var(--r-lg);background:var(--surface-2);position:relative;overflow:hidden}.proj__media img,.proj__media video{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease);position:absolute;inset:0}.proj__media:after{content:"";background:linear-gradient(#0000 45%,#000000bf);position:absolute;inset:0}.proj__card:hover img,.proj__card:hover video{transform:scale(1.04)}.proj__tag{z-index:1;border-radius:var(--r-sm);color:#fff;backdrop-filter:blur(6px);background:#0000008c;padding:5px 10px;font-size:12px;position:absolute;top:18px;left:18px}.proj__title{z-index:1;letter-spacing:-.02em;color:#fff;margin:0;font-size:clamp(20px,1.7vw,26px);font-weight:600;position:absolute;bottom:18px;left:20px;right:20px}.proj__desc{color:var(--slate-2);margin:0;padding-inline:4px;line-height:1.7}.callout{background:var(--lime);color:#0b0b0b}.callout .display{color:#0b0b0b;max-width:16ch}.callout p{color:#24301a;max-width:560px;margin:24px 0 32px;font-size:18px;line-height:1.6}.callout .btn--primary{color:#fff;background:#0b0b0b}.callout .btn--primary:hover{background:#222}[data-reveal]{transition-delay:var(--d,0s)}.dock{z-index:60;width:min(640px,100% - 32px);transition:opacity .3s var(--ease), transform .3s var(--ease), visibility 0s;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.dock.is-hidden{opacity:0;visibility:hidden;transition:opacity .3s var(--ease), transform .3s var(--ease), visibility 0s linear .3s;transform:translate(-50%,16px)}.dock__tags{flex-wrap:wrap;justify-content:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.dock__chip{color:#000;height:30px;box-shadow:var(--shadow-pop);background:#fff;border-radius:999px;align-items:center;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.dock__tags li:first-child .dock__chip{background:var(--lime)}.dock__bar{color:#fff;width:100%;height:52px;box-shadow:var(--shadow-pop);backdrop-filter:blur(12px);background:#1c1c1ee0;border:1px solid #333;border-radius:999px;justify-content:space-between;align-items:center;gap:12px;padding:0 8px 0 22px;display:flex}.dock__bar span{color:var(--slate-2);white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.dock__bar a{color:#000;background:#fff;border-radius:999px;flex:none;align-items:center;height:38px;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.dock__bar a:hover{background:var(--lime)}@media (width<=899px){.hx{align-items:end}.hx__content{padding-block:46svh 112px}.hx__content>.display{font-size:clamp(34px,9vw,48px)}.hx__hint{display:none}.hx__meta{bottom:20px}.hx__shapes button{height:38px;padding:0 12px;font-size:12.5px}.story{padding-block:96px}.chapter{height:160vh}.chapter__content{bottom:92px}.proj{grid-template-columns:1fr}.proj__media{aspect-ratio:4/3}.dock__tags{display:none}}@media (prefers-reduced-motion:reduce){.chapter{height:auto}.chapter__sticky{height:90svh;position:relative}.chapter__word{display:none}.chapter__content{opacity:1;pointer-events:auto;transform:none}}.chapter--ip .chapter__media:after{background:linear-gradient(#0000004d 15%,#0000009e 45%,#000000f0)}
