@font-face {
    font-family: 'Formula1';
    src: url('assets/fonts/Fonts/Formula1-Regular-1.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Formula1';
    src: url('assets/fonts/Fonts/Formula1-Bold_web.ttf') format('truetype');
    font-weight: 700 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Formula1 Wide';
    src: url('assets/fonts/Fonts/Formula1-Wide.ttf') format('truetype');
    font-weight: 400 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Formula1';
    src: url('assets/fonts/Fonts/Formula1-Italic.ttf') format('truetype');
    font-weight: 400 900;
    font-style: italic;
    font-display: swap;
}

body {
    font-family: 'Formula1', Inter, Arial, sans-serif;
}

.prime-head a,
.hero-copy > span,
.hero-actions a,
.hero-status,
.prime-stats,
.section header > span,
.race-list,
.team-brand,
.lineup,
.open-team,
.stand-row,
.four-grid,
.champion,
footer {
    font-family: 'Formula1', Inter, Arial, sans-serif;
}

.section header h2,
.prime-team-grid h3,
.hero-status h2,
.champion h3,
.team-identity h1,
.team-car-stage h2,
.roster-grid h3,
.event h3 {
    font-family: 'Formula1', sans-serif;
    font-weight: 700;
    letter-spacing: -.025em;
}

.section header h2 em {
    font-family: 'Formula1', sans-serif;
    font-style: italic;
}

.prime-head .prime-nav-logo {
    width: 112px;
    height: 68px;
    object-fit: contain;
}

.prime-mobile-menu {
    display: none;
}

.hero-copy .official-prime-logo {
    display: block;
    width: min(620px, 72vw);
    max-height: 470px;
    margin: 10px 0 18px;
    object-fit: contain;
    object-position: left center;
    filter: drop-shadow(0 18px 45px rgba(239, 35, 60, .16));
}

.hero-copy > p {
    max-width: 720px;
    color: #d2d4d9;
    font-size: 17px;
}

.prime-hero {
    min-height: 680px;
    padding-top: 72px;
}

.section {
    padding-top: 88px;
    padding-bottom: 88px;
}

.section header {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 390px);
    gap: 44px;
}

.section header h2 {
    max-width: 850px;
    font-size: clamp(42px, 4.7vw, 68px);
    line-height: 1.02;
    letter-spacing: -.025em;
}

.section header p {
    color: #bec1c8;
}

.empty {
    color: #c0c3ca;
    background: rgba(255, 255, 255, .025);
    border-color: rgba(255, 255, 255, .18);
}

.prime-team-grid h3 {
    font-size: clamp(26px, 2.3vw, 34px);
    line-height: 1.05;
}

.hero-status {
    min-width: 0;
    overflow: hidden;
}

.hero-status h2 {
    max-width: 100%;
    font-size: clamp(30px, 3vw, 44px);
    line-height: 1;
    overflow-wrap: anywhere;
}

.race-list h3 {
    font-size: clamp(20px, 1.8vw, 27px);
}

.prime-race-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.prime-race-card{position:relative;min-height:390px;padding:24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,42%);grid-template-rows:auto 1fr auto;gap:20px 26px;overflow:hidden;color:#fff;text-decoration:none;background:linear-gradient(135deg,rgba(255,255,255,.045),transparent 42%),#030406;border:1px solid rgba(255,255,255,.12);border-radius:16px;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.prime-race-card::before{position:absolute;inset:0 0 auto;height:4px;content:'';background:var(--red)}
.prime-race-card.final::before{height:6px;background:linear-gradient(90deg,#00a651,#fff 48%,#ef233c)}
.prime-race-card:hover{transform:translateY(-4px);border-color:rgba(239,35,60,.6);box-shadow:0 22px 48px rgba(0,0,0,.3)}
.race-card-top{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px}
.race-card-top>span,.race-card-copy>small{color:#b4b7bf;font-size:10px;font-weight:700;letter-spacing:.1em}
.race-card-top time{padding:9px 12px;display:flex;align-items:baseline;gap:7px;color:#fff;background:#171922;border-radius:5px}
.race-card-top time b{font-size:12px}.race-card-top time small{color:#9498a2;font-size:9px}
.race-card-copy{min-width:0;align-self:center}.race-card-copy h3{margin:12px 0 10px;font:700 clamp(30px,3vw,47px)/.98 'Formula1',sans-serif;overflow-wrap:anywhere}.race-card-copy p{margin:0;color:#b4b7bf;font-size:12px;line-height:1.5}
.race-track-stage{min-height:210px;display:grid;place-items:center;align-self:center;border-radius:10px;background:radial-gradient(circle at center,rgba(239,35,60,.12),transparent 60%),rgba(255,255,255,.025)}
.race-track-stage img{width:100%;height:220px;object-fit:contain;filter:grayscale(1) brightness(1.75) contrast(1.12);transition:filter .22s ease,transform .22s ease}
.prime-race-card:hover .race-track-stage img{filter:grayscale(0) brightness(1.25) contrast(1.08);transform:scale(1.025)}
.track-placeholder{display:grid;gap:8px;text-align:center;color:#5f636d}.track-placeholder::before{width:82px;height:46px;margin:0 auto 6px;content:'';border:3px dashed #3e424a;border-radius:48% 52% 36% 64%;transform:rotate(-8deg)}.track-placeholder span{font-size:10px;font-weight:700;letter-spacing:.1em}.track-placeholder small{font-size:8px}
.race-card-bottom{grid-column:1/-1;padding-top:18px;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:14px;border-top:1px solid rgba(255,255,255,.1);font-size:9px;font-weight:700;letter-spacing:.07em}.race-card-bottom>span{color:#b4b7bf}.race-card-bottom>i{padding:6px 8px;color:#d4d7dd;background:#171922;border-radius:4px;font-style:normal}.race-card-bottom>i.live{color:#fff;background:var(--red)}.race-card-bottom>i.completed{color:#09140e;background:#4bd18b}.race-card-bottom>b{justify-self:end;color:var(--red)}

.champion h3 {
    font-size: clamp(38px, 5vw, 64px);
    line-height: 1;
}

.four-grid h3 {
    font-size: clamp(24px, 2.2vw, 32px);
    line-height: 1.05;
}

.official-mark {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 42px;
    color: #969aa3;
    font: 700 11px 'Barlow Condensed';
    letter-spacing: .13em;
}

.official-mark img {
    width: 90px;
    height: 70px;
    object-fit: contain;
}

footer .prime-footer-logo {
    width: 105px;
    height: 78px;
    object-fit: contain;
}

.prime-regulation {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 50px;
    background: linear-gradient(120deg, #f2f0eb 0 68%, #e5e2dc 68%);
    color: #090a0d;
}

.prime-regulation > div > span {
    color: #ef233c;
    font: 700 11px 'Formula1', sans-serif;
    letter-spacing: .13em;
}

.prime-regulation h2 {
    max-width: 820px;
    margin: 16px 0;
    font: 700 clamp(38px, 5vw, 68px)/1 'Formula1', sans-serif;
}

.prime-regulation p {
    max-width: 700px;
    color: #555962;
    line-height: 1.7;
}

.prime-regulation > a,
.regulation-pending {
    padding: 18px 22px;
    background: #ef233c;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
    font: 700 11px 'Formula1', sans-serif;
    letter-spacing: .07em;
}

.regulation-pending {
    background: #17191d;
}

@media (max-width: 950px) {
    .prime-head {
        position: sticky;
    }

    .prime-head > .back {
        display: none;
    }

    .prime-mobile-menu {
        display: block;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        z-index: 40;
    }

    .prime-mobile-menu summary {
        min-width: 116px;
        padding: 12px 17px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        border: 1px solid rgba(255, 255, 255, .2);
        background: #0b0c0f;
        cursor: pointer;
        list-style: none;
        color: #fff;
        font: 700 12px 'Formula1', sans-serif;
        letter-spacing: .08em;
    }

    .prime-mobile-menu summary::-webkit-details-marker {
        display: none;
    }

    .prime-mobile-menu summary i,
    .prime-mobile-menu summary i::before,
    .prime-mobile-menu summary i::after {
        display: block;
        width: 16px;
        height: 2px;
        background: #fff;
        content: '';
        transition: transform .2s ease;
    }

    .prime-mobile-menu summary i {
        position: relative;
    }

    .prime-mobile-menu summary i::before {
        position: absolute;
        top: -5px;
    }

    .prime-mobile-menu summary i::after {
        position: absolute;
        top: 5px;
    }

    .prime-mobile-menu[open] summary i {
        background: transparent;
    }

    .prime-mobile-menu[open] summary i::before {
        top: 0;
        transform: rotate(45deg);
    }

    .prime-mobile-menu[open] summary i::after {
        top: 0;
        transform: rotate(-45deg);
    }

    .prime-mobile-menu > div {
        position: absolute;
        top: calc(100% + 10px);
        left: 50%;
        transform: translateX(-50%);
        width: 100vw;
        padding: 18px 22px 24px;
        display: grid;
        background: rgba(7, 8, 10, .98);
        border-block: 1px solid rgba(255, 255, 255, .15);
        box-shadow: 0 18px 35px rgba(0, 0, 0, .45);
    }

    .prime-mobile-menu > div a {
        padding: 15px 5px;
        color: #fff;
        text-decoration: none;
        text-align: center;
        border-bottom: 1px solid rgba(255, 255, 255, .09);
        font: 700 12px 'Formula1', sans-serif;
        letter-spacing: .06em;
    }

    .prime-mobile-menu > div a:last-child {
        color: #ef233c;
        border-bottom: 0;
    }

    .prime-hero {
        padding-top: 45px;
    }

    .prime-regulation {
        grid-template-columns: 1fr;
        background: #f2f0eb;
    }

    .prime-regulation > a,
    .regulation-pending {
        justify-self: start;
    }

    .section header {
        display: block;
    }

    .section header p {
        margin-top: 22px;
    }

    .prime-race-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .prime-head .prime-nav-logo {
        width: 88px;
        height: 56px;
    }

    .hero-copy .official-prime-logo {
        width: 100%;
        max-height: 330px;
        margin: 0 0 12px;
    }

    .prime-hero {
        padding-top: 36px;
    }

    .section {
        padding-top: 64px;
        padding-bottom: 64px;
    }

    .section header h2 {
        font-size: clamp(36px, 11vw, 50px);
    }

    .prime-race-card{min-height:0;padding:20px;grid-template-columns:1fr;grid-template-rows:auto auto auto auto;gap:18px;border-radius:12px}
    .race-card-top,.race-card-bottom{grid-column:1}
    .race-track-stage{min-height:170px}.race-track-stage img{height:180px}
    .race-card-bottom{grid-template-columns:auto 1fr}.race-card-bottom>b{grid-column:1/-1;justify-self:start}
}
