/* Homepage hero — Round 14. Scoped so the Visual Index keeps its own system. */
.hero-v14-nav{
  --paper:#f3f1e9;
  --ink:#141413;
  --mute:#6b6862;
  --accent:#ff5b2e;
  background:rgba(243,241,233,.96);
  border-bottom:1px solid #141413;
}
.hero-v14-nav .hero-v14-bar{
  height:68px;max-width:none;padding-inline:clamp(18px,3.75vw,70px)!important;
  grid-template-columns:1fr auto 1fr;gap:24px;
}
.hero-v14-brand{justify-self:start;display:inline-flex;align-items:center;gap:10px;color:#141413}
.hero-v14-brand__mark{display:grid;width:50px;height:50px;flex:0 0 50px;place-items:center;overflow:hidden;border-radius:50%;background:#141413}
.hero-v14-brand__mark img{display:block;width:18px;height:36px;max-width:none;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges;filter:brightness(0) invert(1);transition:transform .45s cubic-bezier(.16,1,.3,1)}
.hero-v14-brand:hover .hero-v14-brand__mark img{transform:rotate(-10deg) scale(1.08)}
.hero-v14-brand__name{display:grid;gap:0;font:700 18px/.9 Archivo,"Inter Tight",sans-serif;letter-spacing:-.035em}
.hero-v14-nav .nav-center{justify-self:start;gap:42px}
.hero-v14-nav .nav-center a,.hero-v14-nav .nav-right{
  min-height:0;padding:0;border:0;background:transparent;
  font:500 11px/1 "JetBrains Mono",monospace!important;letter-spacing:.1em!important;color:#141413;
}
.hero-v14-nav .nav-center a:hover,.hero-v14-nav .nav-right:hover{background:transparent;color:#ff5b2e}
.hero-v14-nav .nav-toggle span{background:#141413}
.hero-v14-nav .nav-right--tag{font:500 11px/1 "JetBrains Mono",monospace;letter-spacing:.1em;color:#6b6862;cursor:default}

.hero-v14{
  --hero-bg:#f1efea;
  --hero-ink:#141413;
  --hero-mute:#6b6862;
  --hero-accent:#ff5b2e;
  min-height:calc(100svh - 68px);margin:0 calc(var(--pad) * -1);padding:0 48px;
  color:var(--hero-ink);background:var(--hero-bg);font-family:Archivo,"Inter Tight",sans-serif;
}
.hero-v14__inner{min-height:calc(100svh - 68px);max-width:1920px;margin:0 auto;display:flex;flex-direction:column;padding:clamp(56px,8vh,96px) 0 30px}
.hero-v14__headline-wrap{flex:1;display:flex;align-items:center}
.hero-v14__headline-wrap .hero-v14__headline{width:100%}
.hero-v14__headline{margin:0;font-size:clamp(60px,9.5vw,150px);font-weight:800;line-height:.92;letter-spacing:-.058em}
.hero-v14__mobile-break{display:none}
.hero-v14__line{display:block;white-space:nowrap;transition:color .4s ease,transform .4s cubic-bezier(.16,1,.3,1)}
.hero-v14__headline:hover .hero-v14__line{color:var(--hero-mute)}
.hero-v14__headline .hero-v14__line:hover{color:var(--hero-ink);transform:translateX(.045em)}
.hero-v14__mark,.hero-v14__reel,.hero-v14__dot{display:inline-block;vertical-align:baseline;flex:none}
.hero-v14__mark{display:inline-grid;place-items:center;width:.731em;height:.731em;margin:0 .09em;overflow:hidden;border-radius:50%;background:var(--hero-accent);color:var(--hero-ink)}
.hero-v14__mark img{width:42%;height:auto;max-width:none;margin:0;image-rendering:pixelated;image-rendering:crisp-edges;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.hero-v14__mark:hover img{transform:rotate(-10deg) scale(1.1)}
.hero-v14__reel{width:2.239em;height:.731em;margin-left:.07em;overflow:hidden;border-radius:999px;background:#252525;transform:translateY(.02em)}
.hero-v14__reel video{width:100%;height:100%;object-fit:cover;transition:transform 900ms cubic-bezier(.16,1,.3,1),filter 500ms ease}
.hero-v14__reel:hover video{transform:scale(1.06);filter:contrast(1.05) saturate(1.06)}
.hero-v14__dot{width:.164em;height:.164em;margin-left:.07em;border-radius:50%;background:var(--hero-accent)}

.spot-word{position:relative;display:inline-block}
.spot-word__glow{position:absolute;inset:0;color:var(--hero-accent);pointer-events:none;
  -webkit-mask-image:radial-gradient(circle 70px at var(--mx,-999px) var(--my,-999px),#000 0%,transparent 72%);
  mask-image:radial-gradient(circle 70px at var(--mx,-999px) var(--my,-999px),#000 0%,transparent 72%);
}
.magnet-word{display:inline-block;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.hero-v14__rule{height:1px;margin-top:44px;background:rgba(20,20,19,.16)}
.hero-v14__footer{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:15px 0 0;font-size:14px;font-weight:500;line-height:1.25;letter-spacing:-.005em}
.hero-v14__footer p{position:relative;margin:0;width:fit-content;padding-left:20px;border-left:1px solid rgba(20,20,19,.16);transition:color .3s ease}
.hero-v14__footer p:first-child{padding-left:0;border-left:0}
.hero-v14__footer p:not(.hero-v14__scroll)::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--hero-accent);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.hero-v14__footer p:not(.hero-v14__scroll):hover{color:var(--hero-accent)}
.hero-v14__footer p:not(.hero-v14__scroll):hover::after{transform:scaleX(1)}
.hero-v14__scroll{text-align:right;margin-left:auto;animation:hero-v14-scroll-bob 2.4s ease-in-out infinite}
.hero-v14__scroll:hover{color:var(--hero-accent)}
.hero-v14__headline .hero-v14__line,.hero-v14__footer,.hero-v14__rule{opacity:0;transform:translateY(26px);animation:hero-v14-enter 800ms cubic-bezier(.16,1,.3,1) forwards}
.hero-v14__headline .hero-v14__line:nth-child(2){animation-delay:70ms}.hero-v14__headline .hero-v14__line:nth-child(3){animation-delay:140ms}.hero-v14__rule{animation-delay:210ms}.hero-v14__footer{animation-delay:280ms}
@keyframes hero-v14-enter{to{opacity:1;transform:translateY(0)}}
@keyframes hero-v14-scroll-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}

@media(max-width:900px){
  .hero-v14-nav .nav-center{gap:32px}.hero-v14{padding:0 28px}.hero-v14__inner{padding-top:clamp(84px,14vh,126px)}
  .hero-v14__footer{font-size:14px;gap:18px}
}
@media(max-width:680px){
  .hero-v14-nav .hero-v14-bar{height:58px;grid-template-columns:1fr auto}.hero-v14-nav .nav-center,.hero-v14-nav .nav-right{display:none}
  .hero-v14-brand{gap:8px}.hero-v14-brand__mark{width:41px;height:41px;flex-basis:41px}.hero-v14-brand__mark img{width:15px;height:30px;max-width:none;object-fit:contain}.hero-v14-brand__name{font-size:15px}
  .hero-v14-nav .nav-toggle{display:block}.hero-v14-nav .nav-drawer{background:#f1efea;border-color:#141413}.hero-v14-nav .nav-drawer a{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.08em}
  .hero-v14{min-height:calc(100svh - 58px);padding:0 18px}.hero-v14__inner{min-height:calc(100svh - 58px);padding:clamp(78px,13vh,108px) 0 24px}
  .hero-v14__headline-wrap{transform:translateY(-6vh)}
  .hero-v14__headline{font-size:clamp(47px,14.6vw,74px);line-height:.84;letter-spacing:-.062em}.hero-v14__line{white-space:normal}.hero-v14__line:first-child{max-width:8.8em}.hero-v14__mobile-break{display:block}
  .hero-v14__reel{width:2.05em;margin-left:.05em;margin-top:.25em;margin-bottom:.02em}.hero-v14__mark{margin-right:.03em}
  .hero-v14__rule{margin-top:42px}.hero-v14__footer{grid-template-columns:1fr 1fr;gap:22px 18px;padding-top:15px;font-size:13px}.hero-v14__scroll{text-align:left}
  .hero-v14__footer p:first-child{padding-left:20px;border-left:1px solid rgba(20,20,19,.16)}
}
@media(prefers-reduced-motion:reduce){.hero-v14__headline .hero-v14__line,.hero-v14__footer,.hero-v14__rule{opacity:1;transform:none;animation:none}.hero-v14__reel video{transition:none}}
