/* A running-track interlude, independent of the legacy shout animation. */
.pace { position:relative; isolation:isolate; overflow:hidden; background:#16171a; color:#f7f4ec; border-block:1px solid #373b3f; scroll-margin-top:5rem; }
.pace__wrap { position:relative; z-index:2; min-height:740px; display:flex; align-items:center; padding-block:5rem 6rem; }
.pace__copy { position:relative; width:58%; max-width:700px; }
.pace__lead { display:flex; gap:6px; margin-bottom:2rem; }
.pace__lead span { width:35px; height:3px; background:#ff6a33; transform:skewX(-30deg); }
.pace__lead span:nth-child(2) { width:23px; opacity:.55; }
.pace__lead span:nth-child(3) { width:12px; opacity:.25; }
.pace__setup { max-width:21ch; font-family:var(--display); font-size:clamp(1.8rem,2.8vw,2.65rem); font-weight:400; line-height:1.2; letter-spacing:-.03em; color:#bdc7ca; margin:0 0 1.5rem; }
.pace__setup em,.pace__setup strong { color:inherit; font:inherit; }
.pace__statement { max-width:12ch; margin:0; font-family:var(--display); font-size:clamp(3.25rem,5.6vw,5.3rem); font-variation-settings:"wdth" 92,"wght" 600; line-height:1.03; letter-spacing:-.045em; text-wrap:balance; }
.pace__statement em,.pace__statement strong { color:#ff6a33; font-style:normal; font-weight:inherit; }
.pace__cta { display:inline-flex; align-items:center; justify-content:space-between; gap:1.75rem; min-height:60px; margin-top:2.5rem; padding:.6rem .65rem .6rem 1.3rem; border:1px solid #f7f4ec; border-radius:4px; background:#f7f4ec; color:#16171a; font-family:var(--body); font-size:.92rem; font-weight:600; text-decoration:none; transition:background .2s,border-color .2s; }
.pace__cta svg { flex-shrink:0; width:40px; height:40px; padding:9px; background:#ff6a33; border-radius:2px; transition:transform .2s; }
.pace__cta:hover { background:#fff; border-color:#fff; }
.pace__cta:hover svg { transform:translateX(3px); }
.pace__cta:focus-visible,.pace__replay:focus-visible { outline:3px solid #ff8d62; outline-offset:6px; }
.pace__visual { position:absolute; inset:0 0 0 42%; z-index:0; }
.pace__portrait { display:block; position:absolute; inset:0; }
.pace__portrait img { width:100%; height:100%; object-fit:cover; object-position:50% 30%; filter:saturate(.65) brightness(.78); }
.pace__visual::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#16171a 0%,#16171ad9 9%,#16171a30 36%,#16171a00 65%),linear-gradient(0deg,#16171a 0%,#16171a85 15%,transparent 47%); }
.pace__track { position:absolute; inset:0; width:100%; height:100%; z-index:1; overflow:visible; pointer-events:none; }
.pace__lane { stroke:#d9e2e5; stroke-width:1; opacity:.24; }
.pace__run { stroke:#ff6a33; stroke-width:2.5; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:0; }
.pace__finish { fill:#ff6a33; stroke:#16171a; stroke-width:3; }
.pace__replay { position:absolute; bottom:1.75rem; right:var(--gutter); display:flex; gap:.6rem; align-items:center; min-height:44px; padding:.5rem .7rem; border:1px solid #778185; border-radius:4px; background:#16171ad9; color:#dce2e3; font-size:.76rem; cursor:pointer; }
.pace__replay:hover { color:#fff; border-color:#dce2e3; }
.pace__replay[hidden] { display:none; }
.pace.is-running .pace__run { animation:pace-route 3.6s cubic-bezier(.25,.65,.35,1) both; }
.pace.is-running .pace__finish { animation:pace-finish 3.6s ease both; }
@keyframes pace-route { from { stroke-dashoffset:1; } to { stroke-dashoffset:0; } }
@keyframes pace-finish { 0%,85% { opacity:0; } 100% { opacity:1; } }
@media (min-width:1700px) { .pace__visual { left:46%; right:calc((100vw - 1700px)/2); } }
@media (max-width:1000px) {
 .pace__wrap { min-height:660px; }
 .pace__copy { width:60%; }
 .pace__statement { font-size:clamp(3rem,6.8vw,4.5rem); }
 .pace__visual { left:38%; }
 .pace__portrait img { object-position:53% 25%; }
 .pace__visual::after { background:linear-gradient(90deg,#16171a 0%,#16171ae0 13%,#16171a20 55%),linear-gradient(0deg,#16171a,transparent 50%); }
}
@media (max-width:640px) {
 .pace__visual { inset:0 0 auto; height:370px; }
 .pace__portrait img { object-position:50% 24%; filter:saturate(.7) brightness(.85); }
 .pace__visual::after { background:linear-gradient(0deg,#16171a 0%,#16171a90 14%,transparent 55%),linear-gradient(90deg,#16171a30,transparent); }
 .pace__track { width:100%; height:420px; inset:-40px 0 auto; }
 .pace__wrap { display:block; min-height:0; padding-block:310px 5.5rem; }
 .pace__copy { width:100%; max-width:none; }
 .pace__lead { margin-bottom:1.25rem; }
 .pace__setup { max-width:20ch; font-size:1.75rem; margin-bottom:1.25rem; }
 .pace__statement { max-width:13ch; font-size:clamp(2.9rem,10vw,4rem); }
 .pace__cta { width:100%; gap:.75rem; margin-top:2rem; font-size:.86rem; }
 .pace__replay { bottom:1.2rem; }
}
@media (prefers-reduced-motion:reduce) {
 .pace *, .pace *::before,.pace *::after { animation:none!important; transition:none!important; }
 .pace__replay { display:none; }
}
