/* ═══ CONTACT · SECTION 1 — HERO ═══ */
.hero{position:relative;overflow:hidden;
  min-height:clamp(340px,56svh,560px);display:flex;flex-direction:column;justify-content:flex-end;
  padding:calc(var(--nav-h) + clamp(40px,7vh,80px)) var(--gut) clamp(34px,6vh,58px)}
.hero .cut{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.hero .cut line{stroke:var(--cut);stroke-width:2.6;fill:none;
  stroke-dasharray:2600;stroke-dashoffset:2600;
  animation:draw 1.25s cubic-bezier(.65,0,.35,1) .25s forwards}
.hero-inner{position:relative;z-index:2}
.hero .eyebrow{margin-bottom:clamp(18px,3vh,32px);opacity:0;animation:fade .8s ease .1s forwards}
.hero h1{font-size:clamp(2.3rem,8vw,7.6rem);line-height:.88;max-width:12ch}
.hero h1 .row{display:block;overflow:hidden}
.hero h1 .row > span{display:block;transform:translateY(104%);
  animation:rise .95s cubic-bezier(.16,1,.3,1) forwards}
.hero h1 .row:nth-child(1) > span{animation-delay:.05s}
.hero h1 .row:nth-child(2) > span{animation-delay:.13s}
.hero h1 .dot{color:var(--cut)}
.hero .sub{margin-top:clamp(20px,3.4vh,34px);max-width:48ch;
  font-size:clamp(.96rem,1.14vw,1.14rem);line-height:1.6;color:var(--muted);
  opacity:0;animation:fade .85s ease .56s forwards}

@media(prefers-reduced-motion:reduce){
  .hero h1 .row > span{transform:none}
  .hero .eyebrow,.hero .sub{opacity:1;transform:none}
  .hero .cut line{stroke-dashoffset:0}
}
