
.hero.hero-turning-line { min-height: 680px; height: calc(100svh - 84px); max-height: 1080px; padding: 0 6.5%; background: #fafbfc; display: flex; align-items: center; isolation: isolate; }
.hero-turning-line .hero-copy { width: 100%; margin: -2% 0 0; animation: none; }
.hero-turning-line h1 { font-family: Montserrat, sans-serif; font-size: clamp(32px, 5.05vw, 78px); font-weight: 400; letter-spacing: -.055em; line-height: 1.3; }
.hero-turning-line h1 span { display: block; animation: turning-copy-in 1s cubic-bezier(.16,1,.3,1) both; animation-delay: 1.1s; }
.hero-turning-line h1 span + span { animation-delay: 1.3s; }
.turning-line { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; overflow: visible; }
.turning-line path { fill: none; vector-effect: non-scaling-stroke; stroke-linejoin: miter; }
.turning-line-draw { stroke: #2daed5; stroke-width: 2; stroke-dasharray: 1 1; stroke-dashoffset: 1; animation: turning-path-cycle 10.5s cubic-bezier(.65,0,.35,1) infinite both; }
.hero-line-footer { position: absolute; bottom: 42px; left: 6.5%; right: 6.5%; display:flex; align-items:center; justify-content:space-between; }
.hero-line-footer a { font-family: Montserrat,sans-serif; font-size:10px; letter-spacing:.16em; display:flex; gap:24px; align-items:center; }
.hero-line-footer a span { font-size:20px; }
.hero-color-key { display:flex;gap:5px; }
.hero-color-key i { width:7px;height:7px;background:#ffbf00; }
.hero-color-key i:nth-child(2) { background:#2daed5; }
.hero-color-key i:nth-child(3) { background:#464b9d; }
.hero-color-key i:nth-child(4) { background:#ec3f80; }
/* Draw 2s, hold 5s, pull away 1.5s, rest 2s. Offsets +/-1 are both blank. */
@keyframes turning-path-cycle {
  0% { stroke-dashoffset: 1; }
  19.047619%, 66.666667% { stroke-dashoffset: 0; }
  80.952381%, 100% { stroke-dashoffset: -1; }
}
@keyframes turning-copy-in { from { opacity:0;transform:translateY(22px); } to {opacity:1;transform:translateY(0);} }
.intro-pending .hero-turning-line h1 span, .intro-pending .turning-line-draw { animation-play-state: paused; }
@media(max-width:760px) {
 .hero.hero-turning-line { min-height:540px;height:calc(100svh - 70px);padding:0 24px; }
 .hero-turning-line .hero-copy { margin-top:-8%; }
 .hero-turning-line h1 { font-size:clamp(22px,5.45vw,41px);letter-spacing:-.055em;line-height:1.55; }
 .hero-line-footer { left:24px;right:24px;bottom:28px; }
 .hero-line-footer a { font-size:8px;gap:16px; }
}
@media(prefers-reduced-motion:reduce) {
 .hero-turning-line h1 span,.turning-line-draw { animation:none; }
 .turning-line-draw { stroke-dashoffset:0; }
}

/* Keep first-view container visible without a second reveal. */
.hero.hero-turning-line { opacity:1; transform:none; transition:none; }

/* Move text and line together so their clearance stays constant on scroll. */
.hero-turning-line .hero-copy { transform:translate3d(0,var(--copy-parallax,0px),0); text-shadow:none; }
.hero-turning-line .turning-line { transform:translate3d(0,var(--line-parallax,0px),0); }
@media(prefers-reduced-motion:reduce) {
 .hero-turning-line .hero-copy,.hero-turning-line .turning-line { transform:none; }
}
