/* Matchday overview and continuous yellow capability strip. */
.cp-platform { overflow: clip; padding-bottom: 34px; background: #ffffff; color: #062817; border-top: 1px solid #e5dca6; font-family: 'Manrope', sans-serif; text-align: left; }
.cp-platform *, .cp-platform *::before, .cp-platform *::after { box-sizing: border-box; }
.cp-platform-content { padding-block: 125px 145px; }
.cp-platform-topline { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; margin-bottom: 38px; font-size: .68rem; line-height: 1.5; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cp-platform-coordinate { font-size: .6rem; font-weight: 500; }
.cp-platform h2 { max-width: 1250px; margin: 0 0 52px; color: #062817; font: 700 clamp(3.2rem, 7.3vw, 7.7rem)/1.04 'Manrope', sans-serif; letter-spacing: -.065em; }
.cp-platform h2 span { display: inline-block; }
.cp-platform.cp-platform-motion h2 span { opacity: var(--cp-word-opacity, 1); }
.cp-platform-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; }
.cp-platform-bottom > p { max-width: 470px; margin: 0; color: #657d6b; font: 400 1.1rem/1.8 'Inter', sans-serif; }
.cp-platform-features { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 28px; margin: 0 0 28px; padding: 0; list-style: none; }
.cp-platform-features li { position: relative; padding-left: 20px; color: #244d36; font-size: .84rem; line-height: 1.5; font-weight: 800; }
.cp-platform-features li::before { content: '✓'; position: absolute; left: 0; }
.cp-platform-link { display: inline-flex; align-items: center; gap: 18px; color: #244d36; font-size: .88rem; line-height: 1.6; font-weight: 800; text-decoration: none; }
.cp-platform-link > span { color: #0b3d23; font-size: 1.4rem; line-height: 1; transition: transform .2s; }
.cp-platform-link:hover { color: #062817; text-decoration: underline; text-underline-offset: 5px; }
.cp-platform-link:hover > span { transform: translate(2px, -2px); }
.cp-platform-link:focus-visible { outline: 2px solid #062817; outline-offset: 6px; }
.cp-platform-marquee { position:relative; transform: rotate(-1.5deg) scale(1.025); }
.cp-platform-track { display: flex; width: max-content; animation: cp-platform-drift 36s linear infinite; animation-play-state: paused; }
.cp-platform.is-visible .cp-platform-track { animation-play-state: running; }
.cp-platform-group { position:relative; display: flex; flex: 0 0 auto; align-items: center; justify-content: space-around; min-width: 100vw; padding-block:26px; background:#0b3d23; }
.cp-platform-group > span { display: inline-flex; align-items: center; gap: 36px; padding: 0 36px; color: #062817; font: 600 clamp(1.8rem, 2.5vw, 2.8rem)/1.1 'Manrope', sans-serif; text-transform: uppercase; white-space: nowrap; }
.cp-platform-group i { color: #d94335; font-size: .9em; font-style: normal; font-weight: 400; }
@keyframes cp-platform-drift { to { transform: translateX(-50%); } }
/* Each identical moving group carries its leather and footer-style seams.
   The -50% loop therefore repeats text, material, and stitches together. */
.cp-platform-group::before,.cp-platform-group::after { content:''; position:absolute; left:0; right:0; height:20px; background:url(leather-seam-thread.svg) 0 0 / 14px 46px repeat-x; pointer-events:none; }
.cp-platform-group::before { top:2px; }
.cp-platform-group::after { bottom:2px; transform:scaleY(-1); }
.cp-platform-leather { position:absolute; inset:0; width:100%; height:100%; z-index:0; pointer-events:none; }
.cp-platform-group > span { position:relative; z-index:1; }
.cp-platform-group::before,.cp-platform-group::after { z-index:2; }
@media (max-width: 1100px) {
    .cp-platform-content { padding-block: 90px 110px; }
    .cp-platform-bottom { gap: 48px; }
    .cp-platform-bottom > p { font-size: 1rem; }
    .cp-platform-features { gap: 16px; }
    .cp-platform-features li { font-size: .76rem; }
}
@media (max-width: 700px) {
    .cp-platform-content { padding-block: 64px 80px; }
    .cp-platform-topline { margin-bottom: 30px; font-size: .58rem; }
    .cp-platform-coordinate { display: none; }
    .cp-platform h2 { margin-bottom: 32px; font-size: clamp(2.8rem, 10.5vw, 4.5rem); }
    .cp-platform-break { display: none; }
    .cp-platform-bottom { grid-template-columns: 1fr; gap: 28px; }
    .cp-platform-bottom > p { max-width: 100%; }
    .cp-platform-features { gap: 16px 20px; }
    .cp-platform-features li { font-size: .75rem; }
    .cp-platform-link { font-size: .8rem; }
    .cp-platform-group > span { gap: 24px; padding-inline: 24px; }
}
@media (prefers-reduced-motion: reduce) {
    .cp-platform-track { animation: none; }
    .cp-platform.cp-platform-motion h2 span { opacity: 1; }
    .cp-platform-link > span { transition: none; }
}
