/* hero logo flies into the header + cutouts copy */
html{scroll-behavior:auto}
.logo-fly{position:fixed;inset:0;pointer-events:none;z-index:6}
.logo-fly svg{position:absolute;left:0;top:0;transform-origin:0 0;overflow:visible;will-change:transform}
.js-anim .hero-logo{visibility:hidden}
.cut-copy{font-size:clamp(23px,2.6vw,28px);font-weight:600;line-height:1.35;margin:0 0 22px}
/* nav anchors: section headings land ~18px below the sticky header (header 72px desktop/tablet, 64px phones;
   --hdr is refreshed from the real header by JS; --secpad = the sections' top padding) */
:root{--secpad:72px}
@media (max-width:900px){:root{--secpad:54px}}
html{scroll-padding-top:calc(var(--hdr,72px) + 18px - var(--secpad))}
@media (max-width:560px){html{scroll-padding-top:calc(var(--hdr,64px) + 18px - var(--secpad))}}
