:root {
    --black: #050505;
    --dark: #0b0b0d;
    --panel: #111216;
    --red: #e50914;
    --red2: #8b0008;
    --white: #fff;
    --gray: #b9b9b9;
    --line: rgba(255, 255, 255, .12);
    --max: 1320px
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

html {
    scroll-behavior: smooth
}

body {
    font-family: Arial, Helvetica, sans-serif;
    background: var(--black);
    color: var(--white);
    overflow-x: hidden
}

a {
    color: inherit;
    text-decoration: none
}

img {
    max-width: 100%;
    display: block
}

button,
input,
select,
textarea {
    font: inherit
}

.shell {
    width: min(var(--max), 86%);
    margin: auto
}

.page-transition {
    position: fixed;
    inset: 0;
    background: #000;
    z-index: 9999;
    pointer-events: none;
    transform: translateY(-100%)
}

.navbar {
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 22px 7%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, .9), transparent);
    transition: .35s
}

.navbar.scrolled {
    padding: 12px 7%;
    background: rgba(5, 5, 5, .88);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid var(--line)
}

.logo img {
    width: 128px
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 22px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.7px;
    color: var(--gray)
}

.nav-links a {
    position: relative;
    padding: 8px 0
}

.nav-links a:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background: var(--red);
    transition: .25s
}

.nav-links a:hover,
.nav-links a.active {
    color: white
}

.nav-links a:hover:after,
.nav-links a.active:after {
    width: 100%
}

.lang-switch {
    display: flex;
    gap: 6px;
    margin-left: 8px
}

.lang-btn {
    background: rgba(255, 255, 255, .04);
    border: 1px solid var(--line);
    padding: 7px 9px;
    cursor: pointer;
    font-size: 18px;
    transition: .25s
}

.lang-btn.active,
.lang-btn:hover {
    border-color: var(--red);
    transform: translateY(-2px)
}

.menu-toggle {
    display: none;
    background: none;
    border: 1px solid var(--line);
    color: #fff;
    padding: 10px;
    cursor: pointer
}

.hero,
.page-hero {
    position: relative;
    overflow: hidden;
    background-size: cover;
    background-position: center
}

.hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    background-image: radial-gradient(circle at 75% 45%, rgba(229, 9, 20, .25), transparent 36%), linear-gradient(90deg, rgba(0, 0, 0, .98), rgba(0, 0, 0, .78) 47%, rgba(0, 0, 0, .24)), url('../assets/images/cars/road-america-day-1-13.jpg')
}

.hero:before,
.page-hero:before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255, 255, 255, .03) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .03) 1px, transparent 1px);
    background-size: 80px 80px;
    opacity: .25
}

.hero-content {
    position: relative;
    z-index: 2;
    max-width: 780px;
    padding-top: 80px
}

.eyebrow {
    color: var(--red);
    letter-spacing: 5px;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 900;
    margin-bottom: 20px
}

.hero h1,
.page-hero h1 {
    font-size: clamp(56px, 8.5vw, 122px);
    line-height: .88;
    text-transform: uppercase;
    letter-spacing: -4px
}

.hero h1 span,
.page-hero h1 span,
.section-title span {
    color: var(--red)
}

.hero p,
.lead {
    color: var(--gray);
    line-height: 1.75;
    font-size: 18px;
    max-width: 680px;
    margin: 28px 0
}

.buttons {
    display: flex;
    gap: 14px;
    flex-wrap: wrap
}

.btn {
    display: inline-block;
    padding: 15px 26px;
    background: var(--red);
    border: 1px solid var(--red);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    transition: .3s;
    cursor: pointer;
    color: #fff
}

.btn.secondary {
    background: rgba(255, 255, 255, .03);
    border-color: var(--line)
}

.btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 0 30px rgba(229, 9, 20, .35)
}

.stats {
    position: absolute;
    z-index: 3;
    bottom: 35px;
    left: 7%;
    right: 7%;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: rgba(10, 10, 10, .75);
    backdrop-filter: blur(16px);
    border: 1px solid var(--line)
}

.stat {
    padding: 22px;
    border-right: 1px solid var(--line)
}

.stat:nth-child(-n+4) {
    background: linear-gradient(135deg, #ed0a18, #b7000c);
    border-right-color: rgba(255, 255, 255, .28)
}

.stat:nth-child(-n+4) strong,
.stat:nth-child(-n+4) span {
    color: #fff
}

.stat:last-child {
    border: 0
}

.stat strong {
    display: block;
    color: var(--red);
    font-size: 34px
}

.stat span {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--gray)
}

.page-hero {
    min-height: 62vh;
    display: flex;
    align-items: flex-end;
    padding: 170px 0 80px;
    background-image: linear-gradient(to top, rgba(0, 0, 0, .98), rgba(0, 0, 0, .28)), var(--bg)
}

.page-hero-content {
    position: relative;
    z-index: 2
}

.page-hero p {
    color: var(--gray);
    max-width: 720px;
    line-height: 1.7;
    margin-top: 22px;
    font-size: 18px
}

section {
    padding: 100px 0;
    position: relative
}

.section-title {
    font-size: clamp(38px, 5vw, 64px);
    text-transform: uppercase;
    letter-spacing: -2px;
    margin-bottom: 42px
}

.grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px
}

.grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px
}

.panel {
    background: linear-gradient(145deg, #131317, #070707);
    border: 1px solid var(--line);
    padding: 30px;
    position: relative;
    overflow: hidden;
    transition: .35s
}

.panel:hover {
    transform: translateY(-6px);
    border-color: var(--red)
}

.panel h3 {
    font-size: 25px;
    text-transform: uppercase;
    margin-bottom: 12px
}

.panel p {
    color: var(--gray);
    line-height: 1.7
}

.feature-image {
    min-height: 480px;
    background-size: cover;
    background-position: center;
    border: 1px solid var(--line);
    position: relative;
    display: flex;
    align-items: flex-end
}

.feature-image:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, .98), transparent 75%)
}

.feature-copy {
    position: relative;
    z-index: 2;
    padding: 38px;
    max-width: 700px
}

.feature-copy h3 {
    font-size: 38px;
    text-transform: uppercase;
    margin-bottom: 12px
}

.feature-copy p {
    color: var(--gray);
    line-height: 1.7
}

.driver-list {
    display: grid;
    gap: 34px
}

.driver-profile {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    border: 1px solid var(--line);
    background: linear-gradient(140deg, #111, #050505);
    min-height: 560px;
    overflow: hidden
}

.driver-photo {
    background-size: cover;
    background-position: center top;
    position: relative
}

.driver-photo:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 60%, #080808)
}

.driver-bio {
    padding: 54px;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.driver-number {
    color: var(--red);
    font-size: 14px;
    letter-spacing: 3px;
    font-weight: 900
}

.driver-bio h2 {
    font-size: clamp(38px, 5vw, 70px);
    text-transform: uppercase;
    line-height: .95;
    margin: 10px 0 18px
}

.driver-bio p {
    color: var(--gray);
    line-height: 1.75;
    margin-bottom: 14px
}

.fact-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0
}

.fact {
    border: 1px solid var(--line);
    padding: 9px 12px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.3px
}

.source-link {
    font-size: 12px;
    color: var(--gray);
    text-decoration: underline;
    margin-top: 10px
}

.car-card {
    overflow: hidden;
    border: 1px solid var(--line);
    background: #0a0a0c
}

.car-card img {
    height: 420px;
    width: 100%;
    object-fit: cover;
    transition: .5s
}

.car-card:hover img {
    transform: scale(1.04)
}

.car-copy {
    padding: 30px
}

.car-copy h2 {
    font-size: 34px;
    text-transform: uppercase
}

.car-copy p {
    color: var(--gray);
    line-height: 1.7;
    margin-top: 12px
}

.specs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-top: 22px
}

.spec {
    border-top: 1px solid var(--line);
    padding: 14px 0
}

.spec strong {
    display: block;
    color: var(--red);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.4px
}

.spec span {
    display: block;
    margin-top: 6px;
    color: #ddd
}

.race-list {
    display: grid;
    gap: 16px
}

.race-row {
    display: grid;
    grid-template-columns: 160px 1fr 190px 130px;
    gap: 24px;
    align-items: center;
    padding: 24px;
    border: 1px solid var(--line);
    background: rgba(8, 8, 8, .85);
    transition: .3s
}

.race-row:hover {
    border-color: var(--red);
    transform: translateX(5px)
}

.race-date strong {
    font-size: 25px;
    color: var(--red);
    display: block
}

.race-date span,
.race-time span {
    color: var(--gray);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.3px
}

.race-row h3 {
    text-transform: uppercase;
    font-size: 22px
}

.race-row p {
    color: var(--gray);
    margin-top: 5px
}

.status {
    border: 1px solid var(--red);
    padding: 9px 12px;
    text-align: center;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 1.2px
}

.status.complete {
    border-color: #555;
    color: #aaa
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px
}

.news-card {
    border: 1px solid var(--line);
    background: #0a0a0b;
    overflow: hidden;
    transition: .35s
}

.news-card:hover {
    transform: translateY(-6px);
    border-color: var(--red)
}

.news-card img {
    width: 100%;
    height: 240px;
    object-fit: cover
}

.news-copy {
    padding: 25px
}

.news-meta {
    color: var(--red);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.5px
}

.news-card h3 {
    font-size: 25px;
    text-transform: uppercase;
    margin: 10px 0
}

.news-card p {
    color: var(--gray);
    line-height: 1.65
}

.news-feature {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr)
}

.news-feature-images {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3px;
    background: #050505;
    align-items: center
}

.news-victory-feature {
    display: block
}

.victory-gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    padding: 4px;
    background: #050505
}

.victory-photo {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #050505
}

.victory-photo.landscape {
    aspect-ratio: 3 / 2
}

.victory-photo.portrait {
    aspect-ratio: 2 / 3
}

.news-victory-feature .victory-photo img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: contain
}

.news-victory-feature .news-copy {
    max-width: 1050px;
    padding: 38px
}

.news-feature .news-feature-images img {
    height: auto;
    min-height: 0;
    object-fit: contain;
    background: #050505
}

body[data-page="news"] .news-grid > .news-card:not(.news-feature) > img {
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: contain;
    background: #050505
}

.news-feature .news-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 38px
}

.news-feature .source-link {
    margin-top: 20px
}

.media-tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 30px;
    flex-wrap: wrap
}

.media-tab {
    padding: 12px 18px;
    border: 1px solid var(--line);
    background: transparent;
    color: white;
    cursor: pointer;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 1.4px
}

.media-tab.active {
    background: var(--red);
    border-color: var(--red)
}

.media-panel {
    display: none
}

.media-panel.active {
    display: block
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: 180px;
    gap: 14px
}

.gallery-item {
    overflow: hidden;
    border: 1px solid var(--line);
    cursor: zoom-in
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .45s
}

.gallery-item:hover img {
    transform: scale(1.06)
}

.gallery-item.large {
    grid-column: span 7;
    grid-row: span 2
}

.gallery-item.medium {
    grid-column: span 5;
    grid-row: span 2
}

.gallery-item.small {
    grid-column: span 4;
    grid-row: span 2
}

.video-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px
}

.video-card {
    border: 1px solid var(--line);
    padding: 18px;
    background: #090909
}

.video-grid.local-video-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: start
}

.local-video-frame {
    aspect-ratio: 9/16;
    background: #000;
    overflow: hidden
}

.local-video-frame video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #000
}

.local-video-grid .video-card h3 {
    margin-top: 15px;
    font-size: 15px;
    line-height: 1.4
}

.video-library-note {
    color: var(--gray);
    margin-top: 22px
}

@media(max-width:1100px) {
    .video-grid.local-video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) }
}

@media(max-width:620px) {
    .video-grid.local-video-grid { grid-template-columns: 1fr }
}

.ratio {
    aspect-ratio: 16/9
}

.ratio iframe {
    width: 100%;
    height: 100%;
    border: 0
}

.instagram-section {
  background:
    radial-gradient(circle at 80% 20%, rgba(229, 9, 20, 0.12), transparent 30%),
    #070707;
}

.instagram-feed {
  margin-top: 42px;
  min-height: 420px;
  padding: 20px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.02);
}

.section-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 30px;
}

.section-heading h2 {
  font-size: clamp(38px, 6vw, 68px);
  text-transform: uppercase;
}

.section-heading h2 span {
  color: var(--red);
}

@media (max-width: 700px) {
  .section-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .instagram-feed {
    padding: 10px;
    min-height: 320px;
  }
}

.lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .95);
    z-index: 3000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 35px
}

.lightbox.open {
    display: flex
}

.lightbox img {
    max-width: 94vw;
    max-height: 90vh
}

.lightbox-close {
    position: absolute;
    right: 25px;
    top: 20px;
    background: none;
    border: 0;
    color: #fff;
    font-size: 40px;
    cursor: pointer
}

.live-layout {
    display: grid;
    grid-template-columns: 1.5fr .5fr;
    gap: 24px
}

.live-player {
    border: 1px solid var(--line);
    background: #000;
    padding: 12px
}

.live-player iframe {
    width: 100%;
    aspect-ratio: 16/9;
    border: 0
}

.live-info {
    border: 1px solid var(--line);
    padding: 30px;
    background: linear-gradient(145deg, #131317, #070707)
}

.live-badge {
    display: inline-block;
    background: var(--red);
    padding: 8px 12px;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 2px;
    font-weight: 900
}

.countdown {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin: 24px 0
}

.countdown div {
    border: 1px solid var(--line);
    padding: 16px;
    text-align: center
}

.countdown strong {
    display: block;
    font-size: 30px;
    color: var(--red)
}

.countdown span {
    font-size: 10px;
    color: var(--gray);
    text-transform: uppercase;
    letter-spacing: 1px
}

.owner-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px
}

.purpose-section {
    position: relative;
    isolation: isolate;
    overflow: hidden
}

.purpose-flag-video {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: .22;
    filter: saturate(.82);
    pointer-events: none
}

.purpose-section > .shell {
    position: relative;
    z-index: 2
}

.purpose-section:after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(0,0,0,.3), transparent 45%, rgba(0,0,0,.2));
    pointer-events: none
}

.owner-card {
    border: 1px solid var(--line);
    background: #0a0a0b;
    padding: 0;
    overflow: hidden
}

.owner-photo {
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #111
}

.owner-photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .6s ease
}

.owner-card:hover .owner-photo img {
    transform: scale(1.035)
}

.owner-photo-victor img { object-position: 58% 50% }
.owner-photo-hector img { object-position: 52% 50% }
.owner-photo-marisol img { object-position: 52% 28% }

.owner-content {
    padding: 30px 32px 34px
}

.owner-role {
    color: var(--red);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.5px
}

.owner-card h3 {
    font-size: 30px;
    text-transform: uppercase;
    margin: 8px 0 15px
}

.owner-card p {
    color: var(--gray);
    line-height: 1.7
}

.sponsor-benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px
}

.form-wrap {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 45px;
    align-items: start
}

.sponsor-form {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    padding: 28px;
    border: 1px solid var(--line);
    background: #090909
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 7px
}

.form-group.full {
    grid-column: 1/-1
}

.form-group label {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--gray)
}

.form-group input,
.form-group select,
.form-group textarea {
    background: #0d0d0f;
    border: 1px solid var(--line);
    color: #fff;
    padding: 13px;
    outline: none
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    border-color: var(--red)
}

.form-group textarea {
    min-height: 130px;
    resize: vertical
}

footer {
    border-top: 1px solid var(--line);
    background: #020202;
    padding: 42px 0
}

.footer-grid {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 35px;
    align-items: center;
    color: var(--gray)
}

.footer-logo img {
    width: 110px
}

.footer-links {
    display: flex;
    gap: 18px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.2px
}

.footer-bottom {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid var(--line);
    display: flex;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    font-size: 12px;
    color: #777
}

.reveal {
    opacity: 0;
    transform: translateY(25px);
    transition: .8s cubic-bezier(.2, .7, .2, 1)
}

.reveal.visible {
    opacity: 1;
    transform: none
}

/* Fan Zone */
.fan-hero { min-height: 470px }
.fan-zone { background: #050505 }
.fan-section { padding: 90px 0; border-bottom: 1px solid var(--line) }
.game-section { background: radial-gradient(circle at 85% 20%, rgba(230,0,18,.12), transparent 34%), #080808 }
.fan-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 36px }
.fan-heading h2 { font-size: clamp(34px,5vw,62px); margin: 7px 0 10px; text-transform: uppercase }
.fan-heading p { color: var(--gray); max-width: 720px; line-height: 1.7 }
.trivia-levels { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-bottom: 18px }
.trivia-levels button { display: grid; gap: 7px; padding: 22px; color: #fff; text-align: left; background: #0d0d0e; border: 1px solid #303033; cursor: pointer; transition: .25s }
.trivia-levels button:hover,.trivia-levels button.active { border-color: var(--red); background: linear-gradient(135deg,rgba(230,0,18,.18),#0d0d0e) }
.trivia-levels strong { font-size: 18px; text-transform: uppercase }
.trivia-levels span { color: #8d8d8d; font-size: 12px }
.trivia-card,.game-shell { border: 1px solid #282828; background: linear-gradient(145deg,#151515,#0b0b0b); padding: clamp(22px,4vw,48px); box-shadow: 0 28px 80px rgba(0,0,0,.35) }
.trivia-stats,.game-toolbar { display: flex; align-items: center; gap: 34px; padding-bottom: 25px; border-bottom: 1px solid #292929 }
.trivia-stats span,.game-toolbar span { display: grid; gap: 5px }
.trivia-stats small,.game-toolbar small { color: #8d8d8d; font-size: 10px; letter-spacing: 1.6px; text-transform: uppercase }
.trivia-stats strong,.game-toolbar strong { font-size: 25px }
.trivia-progress { margin-left: auto; color: var(--red); font-weight: 800; letter-spacing: 1px }
.trivia-category { color: var(--red); margin-top: 36px; font-size: 12px; font-weight: 800; letter-spacing: 2px }
.trivia-card h3 { font-size: clamp(25px,4vw,42px); max-width: 900px; margin: 13px 0 30px; line-height: 1.18 }
.trivia-options { display: grid; grid-template-columns: repeat(2,1fr); gap: 13px }
.trivia-option { text-align: left; color: #fff; background: #111; border: 1px solid #333; padding: 18px 20px; font: inherit; cursor: pointer; transition: .2s }
.trivia-option:hover:not(:disabled) { border-color: var(--red); transform: translateY(-2px) }
.trivia-option:disabled { cursor: default }
.trivia-option.correct { border-color: #35cf78; background: rgba(53,207,120,.13) }
.trivia-option.wrong { border-color: var(--red); background: rgba(230,0,18,.15) }
.trivia-feedback { min-height: 28px; margin-top: 20px; font-weight: 800 }
.trivia-feedback.good { color: #35cf78 }.trivia-feedback.bad { color: #ff5a66 }
.trivia-score-form { margin-top: 30px; padding-top: 26px; border-top: 1px solid #303033 }
.trivia-score-form label { display: block; margin-bottom: 12px; font-weight: 800 }
.trivia-score-form>div { display: flex; gap: 10px }
.trivia-score-form input { width: 150px; padding: 16px; border: 1px solid #444; background: #080808; color: #fff; font: 900 22px/1 monospace; letter-spacing: 5px; text-transform: uppercase }
.trivia-score-form input:focus { outline: 1px solid var(--red); border-color: var(--red) }
.trivia-score-form p,.leaderboard-status { min-height: 22px; margin-top: 12px; color: #999 }
.trivia-leaderboard { margin-top: 28px; padding: clamp(22px,4vw,42px); border: 1px solid #282828; background: #09090a }
.leaderboard-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 18px }
.leaderboard-heading h3 { margin-top: 7px; font-size: clamp(28px,4vw,44px); text-transform: uppercase }
.leaderboard-level { color: var(--red); font-size: 12px; font-weight: 900; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 12px }
.leaderboard-table-wrap { overflow-x: auto }
.trivia-leaderboard table { width: 100%; border-collapse: collapse }
.trivia-leaderboard th,.trivia-leaderboard td { padding: 15px 14px; border-bottom: 1px solid #262629; text-align: left }
.trivia-leaderboard th { color: #858585; font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase }
.trivia-leaderboard td:nth-child(2) { color: #fff; font: 900 17px/1 monospace; letter-spacing: 3px }
.trivia-leaderboard tbody tr:first-child td { color: var(--red) }
.car-number-picker { display: flex; border: 1px solid #333 }
.car-number-picker button { background: #101010; color: #aaa; border: 0; padding: 14px 20px; font-weight: 900; cursor: pointer }
.car-number-picker button.active { background: var(--red); color: #fff }
.game-toolbar .btn { margin-left: auto }
.track-wrap { position: relative; margin-top: 26px; overflow: hidden; border: 1px solid #333; background: #222 }
#track-canvas { display: block; width: 100%; height: auto; touch-action: none }
.game-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; pointer-events: none; background: rgba(0,0,0,.45); text-align: center }
.game-overlay strong { font-size: clamp(42px,8vw,94px); font-style: italic }
.game-overlay span { color: var(--red); font-weight: 900; letter-spacing: 3px }
.game-overlay.hidden { display: none }
.game-help { color: #888; text-align: center; margin-top: 18px }
.touch-controls { display: none; grid-template-columns: repeat(2,1fr); gap: 12px; margin-top: 15px }
.touch-controls button { border: 1px solid #444; color: #fff; background: #111; font-size: 30px; padding: 13px; touch-action: none }

@media(max-width:1250px) and (min-width:901px) { body .navbar .nav-links { gap: 10px; font-size: 10px } }

@media(max-width:1100px) {
    .nav-links {
        gap: 14px
    }

    .driver-profile {
        grid-template-columns: 1fr
    }

    .driver-photo {
        min-height: 520px
    }

    .driver-photo:after {
        background: linear-gradient(to top, #080808, transparent 60%)
    }

    .news-grid,
    .owner-grid,
    .sponsor-benefits {
        grid-template-columns: repeat(2, 1fr)
    }

    .live-layout,
    .form-wrap {
        grid-template-columns: 1fr
    }
}

@media(max-width:900px) {
    .menu-toggle {
        display: block
    }

    .nav-links {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: rgba(5, 5, 5, .98);
        padding: 25px 7%;
        display: none;
        flex-direction: column;
        align-items: flex-start
    }

    .nav-links.open {
        display: flex
    }

    .stats {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        margin: 50px 7% 0
    }

    .hero {
        padding-top: 115px;
        align-items: flex-start
    }

    .grid-3,
    .grid-2,
    .news-grid,
    .owner-grid,
    .sponsor-benefits,
    .footer-grid {
        grid-template-columns: 1fr
    }

    .news-feature {
        grid-template-columns: 1fr
    }

    .victory-gallery {
        grid-template-columns: 1fr
    }

    .race-row {
        grid-template-columns: 1fr
    }

    .gallery-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: 300px
    }

    .gallery-item.large,
    .gallery-item.medium,
    .gallery-item.small {
        grid-column: auto;
        grid-row: auto
    }

    .video-grid {
        grid-template-columns: 1fr
    }

    .footer-links {
        flex-wrap: wrap
    }

    .footer-grid {
        align-items: start
    }

    .fan-heading { align-items: flex-start; flex-direction: column }
    .touch-controls { display: grid }
}

@media(max-width:620px) {
    .fan-section { padding: 62px 0 }
    .trivia-levels { grid-template-columns: 1fr }
    .trivia-options { grid-template-columns: 1fr }
    .trivia-stats,.game-toolbar { gap: 16px; flex-wrap: wrap }
    .trivia-progress,.game-toolbar .btn { margin-left: 0 }
    .game-toolbar .btn { width: 100% }
    .trivia-score-form>div { align-items: stretch; flex-direction: column }
    .trivia-score-form input { width: 100% }
    .leaderboard-heading { align-items: flex-start; flex-direction: column }
}

@media(max-width:620px) {
    .shell {
        width: 88%
    }

    section {
        padding: 75px 0
    }

    .hero h1,
    .page-hero h1 {
        letter-spacing: -2px
    }

    .stats {
        grid-template-columns: repeat(2, 1fr)
    }

    .driver-bio {
        padding: 30px
    }

    .sponsor-form {
        grid-template-columns: 1fr
    }

    .form-group.full {
        grid-column: auto
    }

    .car-card img {
        height: 300px
    }
}

/* =========================================
   CARS — TECHNICAL EXPERIENCE
========================================= */
.cars-tech-hero {
  min-height: 92vh;
  display: flex;
  align-items: flex-end;
  padding: 160px 0 70px;
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(2,2,2,.98) 0%, rgba(2,2,2,.78) 43%, rgba(2,2,2,.12) 82%),
    linear-gradient(0deg, #050505 0%, transparent 42%),
    url("../assets/images/cars/vgr-laguna-seca-69.jpg") 72% center/cover no-repeat;
}
.cars-tech-hero:before { content:""; position:absolute; inset:0; background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:70px 70px; }
.cars-tech-hero-content { position:relative; z-index:2; }
.cars-tech-hero h1 { font-size:clamp(64px,10vw,145px); line-height:.82; letter-spacing:-6px; text-transform:uppercase; max-width:850px; }
.cars-tech-hero h1 span { color:var(--red); display:block; }
.cars-tech-hero-content>p { max-width:650px; color:var(--gray); font-size:18px; line-height:1.7; margin:28px 0 42px; }
.cars-hero-metrics { display:grid; grid-template-columns:repeat(4,minmax(130px,1fr)); max-width:900px; border:1px solid var(--line); background:rgba(5,5,5,.72); backdrop-filter:blur(16px); }
.cars-hero-metrics div { padding:22px; border-right:1px solid var(--line); }
.cars-hero-metrics div:last-child { border:0; }
.cars-hero-metrics strong { display:block; color:var(--red); font-size:26px; }
.cars-hero-metrics span { display:block; color:var(--gray); font-size:10px; line-height:1.4; letter-spacing:1.4px; text-transform:uppercase; margin-top:5px; }
.cars-entry-section { background:#050505; }
.cars-entry-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.car-entry-card { background:#0a0a0c; border:1px solid var(--line); position:relative; overflow:hidden; }
.car-entry-image { height:360px; overflow:hidden; }
.car-entry-image img { width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.car-entry-card:hover .car-entry-image img { transform:scale(1.045); }
.car-entry-copy { padding:32px; position:relative; }
.car-entry-number { position:absolute; right:20px; top:-42px; font-size:96px; font-weight:900; line-height:1; color:rgba(255,255,255,.16); }
.car-entry-copy h3 { font-size:28px; text-transform:uppercase; position:relative; }
.car-entry-copy p { color:var(--gray); line-height:1.7; margin:14px 0 25px; position:relative; }
.car-entry-tags { display:grid; grid-template-columns:auto 1fr auto 1fr; align-items:center; gap:10px; border-top:1px solid var(--line); padding-top:20px; font-size:10px; text-transform:uppercase; letter-spacing:1.2px; }
.car-entry-tags span { color:#777; }
.car-entry-tags strong { color:#fff; }
.race-architecture { background:radial-gradient(circle at 70% 35%,rgba(229,9,20,.13),transparent 30%),#090909; }
.architecture-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:60px; align-items:end; }
.architecture-heading p { color:var(--gray); line-height:1.75; padding-bottom:45px; }
.architecture-visual { position:relative; border:1px solid var(--line); background:#050505; min-height:520px; overflow:hidden; }
.architecture-visual:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,5,5,.25),transparent 50%,rgba(5,5,5,.25)); pointer-events:none; }
.architecture-visual img { width:100%; height:100%; min-height:520px; object-fit:cover; object-position:center 58%; filter:saturate(.8) contrast(1.08); }
.architecture-hotspot { position:absolute; z-index:2; width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:var(--red); color:#fff; font-size:11px; font-weight:900; box-shadow:0 0 0 9px rgba(229,9,20,.18),0 0 35px rgba(229,9,20,.55); }
.hotspot-1 { left:88%; top:69%; }.hotspot-2 { left:76%; top:33%; }.hotspot-3 { left:52%; top:32%; }.hotspot-4 { left:13%; top:24%; }
.architecture-line { position:absolute; z-index:1; width:1px; background:linear-gradient(var(--red),transparent); height:150px; opacity:.8; transform-origin:top; }
.architecture-line-1 { left:13.5%; top:64%; transform:rotate(28deg); }.architecture-line-2 { left:34.5%; top:50%; transform:rotate(18deg); }.architecture-line-3 { left:55.5%; top:32%; transform:rotate(-12deg); }.architecture-line-4 { right:11.5%; top:34%; transform:rotate(-28deg); }
.architecture-callouts { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); border-top:0; }
.architecture-callouts article { padding:28px; border-right:1px solid var(--line); }
.architecture-callouts article:last-child { border:0; }
.architecture-callouts article>span { color:var(--red); font-weight:900; font-size:12px; letter-spacing:2px; }
.architecture-callouts h3 { font-size:17px; text-transform:uppercase; margin:10px 0; }
.architecture-callouts p { color:var(--gray); font-size:13px; line-height:1.65; }
.technical-specifications { background:#050505; }
.technical-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.technical-card { position:relative; border:1px solid var(--line); padding:34px; background:linear-gradient(145deg,#111,#070707); overflow:hidden; }
.technical-card-number { position:absolute; right:20px; top:10px; font-size:74px; font-weight:900; color:rgba(255,255,255,.035); }
.technical-card h3 { color:#fff; text-transform:uppercase; font-size:22px; margin-bottom:24px; padding-bottom:18px; border-bottom:2px solid var(--red); position:relative; }
.technical-card dl div { display:grid; grid-template-columns:150px 1fr; gap:20px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.07); }
.technical-card dl div:last-child { border:0; }
.technical-card dt { color:#777; font-size:10px; letter-spacing:1.4px; text-transform:uppercase; }
.technical-card dd { color:#ddd; font-size:14px; line-height:1.5; }
.bop-note { margin-top:22px; border:1px solid rgba(229,9,20,.45); background:rgba(229,9,20,.07); padding:28px; display:grid; grid-template-columns:auto 1fr; gap:25px; align-items:center; }
.bop-icon { width:66px; height:66px; display:grid; place-items:center; border:1px solid var(--red); color:var(--red); font-size:14px; font-weight:900; letter-spacing:1px; }
.bop-note h3 { text-transform:uppercase; margin-bottom:7px; }
.bop-note p { color:var(--gray); line-height:1.65; font-size:14px; }
.cars-design-section { background:#090909; }
.cars-design-copy { max-width:840px; }
.cars-design-copy>p { color:var(--gray); line-height:1.75; max-width:760px; margin-top:-20px; margin-bottom:45px; }
.design-photo-grid { display:grid; grid-template-columns:1.2fr .8fr; grid-template-rows:270px 270px; gap:16px; }
.design-photo { position:relative; overflow:hidden; border:1px solid var(--line); }
.design-photo-large { grid-row:1/3; }
.design-photo img { width:100%; height:100%; object-fit:cover; transition:.6s ease; }
.design-photo:hover img { transform:scale(1.035); }
.design-photo figcaption { position:absolute; left:0; right:0; bottom:0; padding:45px 24px 20px; background:linear-gradient(transparent,rgba(0,0,0,.92)); display:flex; gap:15px; align-items:center; }
.design-photo figcaption span { color:var(--red); font-weight:900; }
.design-photo figcaption p { font-size:11px; letter-spacing:1.4px; text-transform:uppercase; }
.technical-sources { display:flex; justify-content:space-between; gap:35px; margin-top:28px; padding-top:24px; border-top:1px solid var(--line); color:#777; font-size:12px; line-height:1.6; }
.technical-sources>p { max-width:650px; }
.technical-sources div { display:flex; gap:20px; flex-wrap:wrap; }
.technical-sources a { color:#bbb; border-bottom:1px solid var(--red); }
@media(max-width:1000px) {
  .cars-entry-grid,.architecture-heading,.technical-grid { grid-template-columns:1fr; }
  .architecture-heading { gap:0; }.architecture-heading p { padding-bottom:35px; }
  .architecture-callouts { grid-template-columns:repeat(2,1fr); }
  .architecture-callouts article:nth-child(2) { border-right:0; }
  .architecture-callouts article:nth-child(-n+2) { border-bottom:1px solid var(--line); }
}
@media(max-width:720px) {
  .cars-tech-hero { min-height:auto; padding-top:135px; background-position:62% center; }
  .cars-tech-hero h1 { letter-spacing:-3px; }
  .cars-hero-metrics { grid-template-columns:repeat(2,1fr); }
  .cars-hero-metrics div:nth-child(2) { border-right:0; }
  .cars-hero-metrics div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .car-entry-image { height:280px; }
  .architecture-visual,.architecture-visual img { min-height:340px; }
  .architecture-callouts { grid-template-columns:1fr; }
  .architecture-callouts article { border-right:0; border-bottom:1px solid var(--line); }
  .technical-card { padding:26px 22px; }
  .technical-card dl div { grid-template-columns:1fr; gap:5px; }
  .design-photo-grid { grid-template-columns:1fr; grid-template-rows:360px 260px 260px; }
  .design-photo-large { grid-row:auto; }
  .technical-sources { flex-direction:column; }
  .architecture-line { display:none; }
}

/* Sponsor proposal */
.sponsor-hero { min-height:900px; position:relative; display:flex; align-items:stretch; overflow:hidden; border-bottom:1px solid var(--line); }
.sponsor-hero-image,.sponsor-hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.sponsor-hero-image { object-fit:cover; object-position:center 60%; filter:saturate(.72) contrast(1.08); }
.sponsor-hero-shade { background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.72) 43%,rgba(0,0,0,.2) 78%),linear-gradient(0deg,rgba(0,0,0,.92),transparent 55%); }
.sponsor-hero-content { position:relative; z-index:1; display:flex; flex-direction:column; justify-content:center; padding-top:190px; padding-bottom:75px; }
.sponsor-hero h1 { max-width:980px; margin:15px 0 24px; font-size:clamp(58px,8vw,124px); line-height:.86; letter-spacing:-6px; text-transform:uppercase; }
.sponsor-hero h1 span { color:var(--red); display:block; }
.sponsor-hero p { max-width:760px; color:#c2c2c4; font-size:20px; line-height:1.7; }
.sponsor-hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:35px; }
.btn-ghost { background:rgba(8,8,8,.4); border:1px solid rgba(255,255,255,.38); color:#fff; }
.btn-ghost:hover { background:#fff; color:#050505; }
.sponsor-proof-bar { background:#ed0a18; color:#fff; }
.sponsor-proof-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.sponsor-proof-grid>div { min-height:118px; padding:25px 28px; display:flex; flex-direction:column; justify-content:center; border-right:1px solid rgba(255,255,255,.28); }
.sponsor-proof-grid>div:first-child { border-left:1px solid rgba(255,255,255,.28); }
.sponsor-proof-grid strong { font-size:30px; line-height:1; }
.sponsor-proof-grid span { margin-top:8px; font-size:11px; font-weight:800; letter-spacing:1.6px; text-transform:uppercase; }
.sponsor-intro-section { background:#050505; }
.sponsor-split-intro { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; }
.sponsor-split-intro .section-title { margin-bottom:0; }
.sponsor-value-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:65px; background:var(--line); border:1px solid var(--line); }
.sponsor-value-card { min-height:310px; padding:38px 32px; background:linear-gradient(145deg,#111114,#080809); transition:.3s ease; }
.sponsor-value-card:hover { background:#141416; transform:translateY(-5px); }
.sponsor-value-card>span { display:block; margin-bottom:60px; color:var(--red); font-size:12px; font-weight:900; letter-spacing:2px; }
.sponsor-value-card h3 { font-size:22px; text-transform:uppercase; }
.sponsor-value-card p { color:#aaa; line-height:1.75; }
.sponsor-dark-section { background:#0a0a0b; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.section-heading-row { display:grid; grid-template-columns:1.4fr .6fr; gap:70px; align-items:end; margin-bottom:55px; }
.section-heading-row .section-title { margin-bottom:0; }
.section-heading-row>p { color:#aaa; line-height:1.75; padding-bottom:10px; }
.sponsor-possibility-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); }
.possibility-card { position:relative; min-height:240px; padding:32px 28px; background:#0b0b0d; border-right:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden; }
.possibility-card:nth-child(4n) { border-right:0; }
.possibility-card:nth-child(n+5) { border-bottom:0; }
.possibility-card:after { content:""; position:absolute; left:0; bottom:0; width:0; height:3px; background:var(--red); transition:.35s ease; }
.possibility-card:hover:after { width:100%; }
.possibility-card b { color:var(--red); font-size:11px; letter-spacing:2px; }
.possibility-card h3 { margin:42px 0 14px; font-size:20px; text-transform:uppercase; }
.possibility-card p { color:#999; line-height:1.65; font-size:14px; }
.sponsor-objectives-section { background:#050505; }
.sponsor-objectives-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; align-items:center; }
.sponsor-objectives-copy .section-title { max-width:620px; }
.text-link { display:inline-block; margin-top:25px; color:#fff; border-bottom:2px solid var(--red); padding-bottom:6px; font-weight:900; text-transform:uppercase; letter-spacing:1px; }
.objective-list { display:flex; flex-wrap:wrap; gap:12px; }
.objective-list span { border:1px solid #333; background:#0d0d0f; padding:17px 21px; font-size:14px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; transition:.25s ease; }
.objective-list span:hover { border-color:var(--red); background:#151517; }
.sponsor-assets-section { display:grid; grid-template-columns:1fr 1fr; min-height:720px; background:#0a0a0b; }
.sponsor-assets-image img { width:100%; height:100%; object-fit:cover; filter:saturate(.75); }
.sponsor-assets-content { display:flex; flex-direction:column; justify-content:center; padding:80px max(55px,calc((100vw - 1280px)/2)); padding-left:70px; }
.asset-list { display:grid; grid-template-columns:1fr 1fr; margin-top:25px; border-top:1px solid var(--line); }
.asset-list span { position:relative; padding:20px 10px 20px 28px; border-bottom:1px solid var(--line); color:#ccc; font-size:14px; text-transform:uppercase; font-weight:800; }
.asset-list span:before { content:"+"; position:absolute; left:2px; color:var(--red); }
.sponsor-models-section { background:#050505; }
.sponsor-models-lead { max-width:780px; }
.sponsor-model-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:52px; }
.sponsor-model-grid article { min-height:205px; padding:35px; border:1px solid var(--line); background:linear-gradient(135deg,#101012,#080809); }
.sponsor-model-grid h3 { font-size:20px; text-transform:uppercase; }
.sponsor-model-grid p { color:#999; line-height:1.7; }
.sponsor-credibility-section { background:#0b0b0c; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.sponsor-credibility-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:75px; align-items:center; }
.sponsor-award-photo { position:relative; }
.sponsor-award-photo:after { content:""; position:absolute; inset:20px -20px -20px 20px; border:1px solid var(--red); z-index:0; }
.sponsor-award-photo img { position:relative; z-index:1; width:100%; aspect-ratio:4/3; object-fit:cover; }
.credibility-points { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:35px; background:var(--line); border:1px solid var(--line); }
.credibility-points span { background:#0b0b0c; padding:20px; color:#ddd; font-size:13px; font-weight:800; text-transform:uppercase; }
.sponsor-process-section { background:#050505; }
.sponsor-process-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:50px; }
.sponsor-process-grid article { position:relative; padding:30px 30px 30px 0; border-top:1px solid #444; }
.sponsor-process-grid article:not(:last-child) { margin-right:35px; }
.sponsor-process-grid article:not(:last-child):after { content:""; position:absolute; right:-5px; top:-5px; width:9px; height:9px; border-radius:50%; background:var(--red); }
.sponsor-process-grid b { color:var(--red); font-size:12px; }
.sponsor-process-grid h3 { margin:28px 0 12px; font-size:19px; text-transform:uppercase; }
.sponsor-process-grid p { color:#999; line-height:1.65; font-size:14px; }
.sponsor-inquiry-section { background:radial-gradient(circle at 10% 10%,rgba(237,10,24,.12),transparent 35%),#09090a; border-top:1px solid var(--line); }
.sponsor-form-layout { align-items:start; }
.sponsor-form-intro { position:sticky; top:145px; }
.sponsor-contact-direct { margin-top:35px; padding-top:25px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:8px; color:#999; }
.sponsor-contact-direct a { color:#fff; font-size:28px; font-weight:900; }
.sponsor-form .btn { grid-column:1/-1; width:100%; }

@media(max-width:1050px) {
  .sponsor-value-grid,.sponsor-possibility-grid { grid-template-columns:repeat(2,1fr); }
  .sponsor-value-card:nth-child(2) { border-right:0; }
  .possibility-card:nth-child(2n) { border-right:0; }
  .possibility-card:nth-child(n+5) { border-bottom:1px solid var(--line); }
  .possibility-card:nth-child(n+7) { border-bottom:0; }
  .sponsor-model-grid { grid-template-columns:repeat(2,1fr); }
  .sponsor-proof-grid { grid-template-columns:repeat(2,1fr); }
  .sponsor-proof-grid>div:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.28); }
}
@media(max-width:760px) {
  .sponsor-hero { min-height:800px; }
  .sponsor-hero-content { justify-content:flex-start; padding-top:150px; padding-bottom:65px; }
  .sponsor-hero h1 { letter-spacing:-3px; }
  .sponsor-hero p { font-size:17px; }
  .sponsor-hero-actions .btn { width:100%; text-align:center; }
  .sponsor-proof-grid,.sponsor-split-intro,.section-heading-row,.sponsor-objectives-layout,.sponsor-assets-section,.sponsor-credibility-grid { grid-template-columns:1fr; }
  .sponsor-proof-grid>div { min-height:95px; }
  .sponsor-split-intro,.section-heading-row,.sponsor-objectives-layout { gap:25px; }
  .sponsor-value-grid,.sponsor-possibility-grid,.sponsor-model-grid,.sponsor-process-grid { grid-template-columns:1fr; }
  .sponsor-value-card { min-height:230px; }
  .sponsor-value-card>span { margin-bottom:35px; }
  .possibility-card { border-right:0; border-bottom:1px solid var(--line)!important; }
  .possibility-card:last-child { border-bottom:0!important; }
  .sponsor-assets-section { min-height:auto; }
  .sponsor-assets-image { height:400px; }
  .sponsor-assets-content { padding:65px 25px; }
  .asset-list,.credibility-points { grid-template-columns:1fr; }
  .sponsor-award-photo:after { inset:12px -10px -12px 12px; }
  .sponsor-process-grid article:not(:last-child) { margin-right:0; }
  .sponsor-process-grid article:not(:last-child):after { display:none; }
  .sponsor-form-intro { position:static; }
}
