.hero{position:relative;min-height:100svh;display:grid;place-items:center;background:var(--paper);color:var(--ink);overflow:hidden;font-family:var(--font-display)}.hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size);background-position:center;opacity:0;animation:hero-grid-in 1s var(--ease-build) forwards}.hero-stage{position:relative;max-width:min(94vw,var(--maxw));padding:var(--space-4) var(--space-2);text-align:center}.hero-eyebrow{margin:0 0 var(--space-3);font-family:var(--font-mono);font-size:var(--fs-eyebrow);font-weight:500;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted);opacity:0;animation:hero-fade var(--dur-med) ease forwards 3.95s}.hero-name{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;column-gap:clamp(.6rem,2.4vw,1.8rem);row-gap:clamp(.1rem,1vw,.5rem);margin:0;font-weight:600}.hero-word{display:block;height:var(--fs-display);width:auto;overflow:visible}.hero-name-text{font-family:var(--font-display);font-weight:600;font-size:150px;letter-spacing:-3px}.hero-glyph{fill:var(--ink);fill-opacity:0;stroke:var(--ink);stroke-width:1.2;stroke-dasharray:3000;stroke-dashoffset:3000;animation:hero-draw var(--dur, .95s) linear forwards;animation-delay:var(--d, 1s)}.hero-rule{width:4rem;height:var(--rule);margin:var(--space-3) auto;background:var(--line);transform:scaleX(0);animation:hero-draw-x var(--dur-med) var(--ease-build) forwards 4.25s}.hero-tag{max-width:34rem;margin:0 auto;font-size:var(--fs-body);line-height:1.5;color:var(--muted);opacity:0;clip-path:inset(0 0 100% 0);animation:hero-rise .75s var(--ease-rise) forwards 4.35s}.hero-tick{display:block;width:10px;height:10px;margin:var(--space-4) auto 0;background:var(--accent);transform:scale(0);animation:hero-pop .5s cubic-bezier(.2,1.4,.4,1) forwards 4.65s}.hero-coord{position:absolute;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;color:var(--muted);opacity:0;animation:hero-fade var(--dur-med) ease forwards 4.75s}.hero-coord--tl{top:var(--space-3);left:var(--space-3)}.hero-coord--br{bottom:var(--space-3);right:var(--space-3)}.hero-scroll{position:absolute;bottom:var(--space-3);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.6rem;opacity:0;animation:hero-fade var(--dur-med) ease forwards 5.6s}.hero-scroll-label{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}.hero-scroll-line{position:relative;width:1px;height:34px;background:var(--line);overflow:hidden}.hero-scroll-line:after{content:"";position:absolute;inset:0 0 auto 0;height:45%;background:var(--accent);animation:hero-scroll-bob 1.7s var(--ease-build) infinite}@keyframes hero-scroll-bob{0%{transform:translateY(-110%)}to{transform:translateY(245%)}}@keyframes hero-grid-in{0%{clip-path:inset(0 100% 0 0);opacity:0}55%{opacity:1}to{clip-path:inset(0 0 0 0);opacity:1}}@keyframes hero-rise{to{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}@keyframes hero-draw-x{to{transform:scaleX(1)}}@keyframes hero-fade{to{opacity:1}}@keyframes hero-pop{to{transform:scale(1)}}@keyframes hero-draw{0%{stroke-dashoffset:3000;fill-opacity:0}60%{stroke-dashoffset:0;fill-opacity:0}to{stroke-dashoffset:0;fill-opacity:1}}@media(prefers-reduced-motion:reduce){.hero-grid,.hero-eyebrow,.hero-rule,.hero-tag,.hero-tick,.hero-coord,.hero-scroll,.hero-glyph{animation:none;opacity:1;transform:none;clip-path:none}.hero-scroll{transform:translate(-50%)}.hero-scroll-line:after{animation:none}.hero-rule{transform:scaleX(1)}.hero-tick{transform:scale(1)}.hero-glyph{fill-opacity:1;stroke-dashoffset:0}}
