/* Hero: typography is the message; the field is its quiet, physical response. */
.hero{
  position:relative;
  overflow:hidden;
  min-height:min(880px, 100svh);
  padding:clamp(150px, 14vw, 206px) 0 clamp(72px, 8vw, 112px);
  background: var(--canto-hero);
  isolation: isolate;
}
.attention-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}
.hero-inner{width:100%;max-width:980px}
.hero .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.hero h1{max-width:900px;margin-top:0;font-size:clamp(2.9rem,6.4vw,5.45rem);font-weight:400;line-height:1.02;letter-spacing:-.045em}
.hero h1 span{display:block}
.hero h1 .hero-line-secondary{color:#a7b3c8;margin-top:0}
.hero .lede{max-width:42ch;margin-top:26px;font-size:clamp(1rem,1.4vw,1.125rem);color:var(--silver-dim);line-height:1.58}
.hero-cta-row{display:flex;flex-wrap:wrap;align-items:center;margin-top:34px;gap:18px}
.hero .btn-primary{
  position:relative;clip-path:none;padding:17px 28px;min-height:56px;border:1px solid rgba(255,255,255,.78);
  border-radius:16px;background:rgba(243,244,246,.94);box-shadow:0 18px 46px rgba(0,0,0,.28);
  transition:transform .18s var(--ease), background-color .18s var(--ease), box-shadow .18s var(--ease);
}
.hero .btn-primary:hover{transform:translateY(-1px);background:var(--canto-white);border-color:var(--canto-white);box-shadow:0 22px 54px rgba(0,0,0,.34)}
.hero .btn-primary:active{transform:scale(.985)}
.hero .btn-primary:focus-visible{outline-offset:6px}
@media(min-width:640px){
  .hero{padding-top:clamp(120px,12vw,174px)}
  .hero .lede{margin-top:20px}
  .hero-cta-row{margin-top:28px}
}
@media(min-width:1100px){.hero h1{max-width:940px}.hero h1 span{max-width:18ch}}
@media(max-width:639px){
  .hero{min-height:100svh;padding-top:96px;padding-bottom:70px}
  .hero-inner{display:flex;min-height:calc(100svh - 166px);flex-direction:column;justify-content:flex-end}
  .attention-canvas{opacity:.52}
  .hero h1{font-size:clamp(2.35rem,11.2vw,3.25rem);max-width:10.4ch;letter-spacing:-.032em;line-height:1.02}
  .hero h1 .hero-line-secondary{margin-top:0}
  .hero .lede{max-width:32ch;margin-top:18px;font-size:.98rem;line-height:1.48}
  .hero-cta-row{align-items:flex-start;flex-direction:column;gap:0;margin-top:48px}
  .hero .btn-primary{width:100%;justify-content:center;min-height:54px;padding-inline:18px;border-radius:14px}
}
@media(prefers-reduced-motion:reduce){.hero .btn,.hero .btn-arrow{transition:none}.hero .btn:hover .btn-arrow{transform:none}}

.hero-copy-break{display:none}
@media(max-width:639px){.hero-copy-break{display:block}}
