/* ═══ SERVICES · SECTION 1 — HERO ═══ */
.s-hero{position:relative;overflow:hidden;min-height:clamp(460px,80svh,820px);
  display:flex;flex-direction:column;justify-content:center;
  padding:calc(var(--nav-h) + clamp(40px,7vh,80px)) var(--gut) clamp(30px,5vh,52px)}
.s-hero .cut{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.s-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}
.s-hero-inner{position:relative;z-index:2}
.s-hero .eyebrow{margin-bottom:clamp(22px,4vh,42px);opacity:0;animation:fade .8s ease .1s forwards}
.s-hero h1{font-size:clamp(2.4rem,8.6vw,8.4rem);line-height:.88}
.s-hero h1 .row{display:block;overflow:hidden}
.s-hero h1 .row > span{display:block;transform:translateY(104%);
  animation:rise .95s cubic-bezier(.16,1,.3,1) forwards}
.s-hero h1 .row:nth-child(1) > span{animation-delay:.05s}
.s-hero h1 .row:nth-child(2) > span{animation-delay:.13s}
.s-hero h1 .dot{color:var(--cut)}
.s-hero .sub{margin-top:clamp(24px,4vh,42px);max-width:50ch;
  font-size:clamp(.96rem,1.16vw,1.16rem);line-height:1.6;color:var(--muted);
  opacity:0;animation:fade .85s ease .58s forwards}

/* scroll cue */
.s-hero .cue{position:absolute;left:var(--gut);bottom:clamp(22px,4vh,38px);z-index:3;
  display:flex;align-items:center;gap:11px;font-size:10.5px;letter-spacing:.2em;color:var(--dim);
  opacity:0;animation:fade .8s ease 1s forwards}
.s-hero .cue .tick{width:1px;height:24px;background:var(--border);position:relative;overflow:hidden}
.s-hero .cue .tick::after{content:"";position:absolute;left:0;right:0;top:-100%;height:100%;
  background:var(--cut);animation:cue 2.2s ease-in-out 1.6s infinite}
@keyframes cue{0%{top:-100%}55%{top:100%}100%{top:100%}}

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