:root {
    --yellow:#ffe719;
    --black:#080808;
    --red:#d6332f;
    --max:1440px;
    --display:Impact,'Arial Narrow',Arial,Helvetica,sans-serif
}

* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth
}

body {
    margin:0;
    color:#111;
    background:#fff;
    font-family:Arial,Helvetica,sans-serif
}

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

a {
    color:inherit
}

a:focus-visible,button:focus-visible {
    outline:3px solid #0579c4;
    outline-offset:4px
}

.site-header {
    position:relative;
    z-index:10;
    background:#fff;
    border-bottom:8px solid #070707
}

.header-inner {
    height:77px;
    max-width:var(--max);
    margin:auto;
    padding:0 clamp(22px,4.7vw,70px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px
}

.brand {
    display:inline-flex;
    align-items:center
}

.brand img {
    width:118px;
    height:auto
}

.main-nav {
    display:flex;
    align-items:center;
    gap:27px
}

.nav-link,.nav-cta {
    text-decoration:none;
    text-transform:uppercase;
    font-size:10px;
    font-weight:900;
    letter-spacing:.01em;
    white-space:nowrap
}

.nav-link:hover,.nav-link.active {
    border-bottom:2px solid #d9b800;
    padding-bottom:3px
}

.nav-cta {
    padding:14px 23px;
    background:var(--yellow);
    display:inline-flex;
    align-items:center;
    gap:17px
}

.nav-cta:hover {
    background:#ffd000
}

.menu-toggle {
    display:none
}

.car-ribbon {
    height:264px;
    background:var(--yellow) url('../images/jg2645-topyellow-band-bkgd.jpg') repeat-x center top;
    border-bottom:8px solid var(--yellow)
}

.car-ribbon-inner {
    max-width:var(--max);
    padding:39px 16px 0;
    margin:auto;
    display:grid;
    grid-template-columns:1fr 1fr 1.25fr 1fr 1fr;
    gap:14px;
    align-items:start
}

.car-photo {
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:auto;
    object-fit:contain;
    align-self:start
}

.logo-gap {
    min-width:0
}

.hero-dark {
    position:relative;
    background:#080808 url('../images/jg2645-carbon-bkgd-top.jpg') center top / cover no-repeat;
    border-top:8px solid #0a0a0a;
    color:white;
    min-height:650px;
    padding:0 24px 54px;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center
}

.contest-mark {
    width:clamp(260px,28vw,415px);
    margin-top:-257px;
    position:relative;
    z-index:2;
    pointer-events:none
}

.contest-mark img {
    width:100%;
    height:auto
}

.hero-content {
    width:100%;
    max-width:1110px;
    margin:17px auto 0
}

.hero h1,.hero h2,.prize-copy h2 {
    font-family:var(--display);
    font-stretch:condensed;
    text-transform:uppercase;
    line-height:1.05;
    letter-spacing:.012em;
    margin:0;
    font-weight:900
}

.hero h1 {
    font-size:clamp(30px,3.65vw,48px)
}

.categories {
    font:900 clamp(16px,2.3vw,30px)/1.2 var(--display);
    text-transform:uppercase;
    color:var(--yellow);
    margin:9px 0 36px
}

.hero h2 {
    font-size:clamp(29px,3.7vw,48px)
}

.hero-subtitle {
    font:900 clamp(17px,2.7vw,34px)/1.2 var(--display);
    text-transform:uppercase;
    color:var(--yellow);
    margin:10px 0 24px
}

.hero-description {
    font-size:clamp(15px,1.45vw,22px);
    line-height:1.38;
    max-width:1120px;
    margin:0 auto
}

.hero-description strong {
    color:var(--yellow)
}

.prizes {
    background:#fff;
    padding:32px 24px 26px
}

.prize-inner {
    max-width:1190px;
    margin:auto;
    display:grid;
    grid-template-columns:32% 1fr;
    align-items:center;
    gap:22px
}

.prize-badge img {
    display:block;
    width:min(100%,370px);
    height:auto;
    aspect-ratio:680 / 690;
    object-fit:contain;
    margin:auto
}

.prize-copy h2 {
    font-size:clamp(33px,3.7vw,50px);
    margin-bottom:12px
}

.prize-copy p {
    font-size:clamp(17px,1.55vw,22px);
    line-height:1.36;
    margin:0;
    max-width:750px
}

.enter-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:58px;
    min-width:320px;
    max-width:100%;
    padding:14px 28px;
    margin:31px 0 0 48px;
    background:var(--red);
    color:#fff;
    text-decoration:none;
    font-size:22px;
    font-weight:800;
    text-transform:uppercase;
    border:2px solid #af2422
}

.enter-button:hover {
    background:#b92220
}

.manage-entry {
    text-align:center;
    margin:36px 0 0;
    font-size:13px;
    font-weight:700
}

.manage-entry a:hover {
    color:#ab1c1c
}

.site-footer {
    background:var(--yellow)
}

.footer-inner {
    max-width:var(--max);
    padding:23px clamp(22px,4vw,62px);
    margin:auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px
}

.site-footer small,.footer-links {
    font-size:10px;
    font-weight:bold
}

.footer-links {
    display:flex;
    align-items:center;
    gap:13px
}

.footer-links a {
    text-decoration:none
}

.footer-links a:hover {
    text-decoration:underline
}

@media(max-width:900px) {
    .header-inner {
        height:67px
    }
    .car-ribbon {
        height:195px
    }
    .car-ribbon-inner {
        padding-top:30px;
        gap:9px
    }
    .hero-dark {
        min-height:520px;
        padding-bottom:40px
    }
    .contest-mark {
        width:30%;
        min-width:220px;
        margin-top:-190px
    }
    .hero-content {
        margin-top:16px
    }
    .categories {
        margin-bottom:27px
    }
    .prizes {
        padding-top:24px
    }
    .enter-button {
        margin-left:0;
        min-width:250px
    }
    .footer-inner {
        flex-wrap:wrap
    }
}

@media(max-width:640px) {
    .site-header {
        border-bottom-width:5px
    }
    .header-inner {
        height:67px;
        padding:0 18px
    }
    .brand img {
        width:105px
    }
    .menu-toggle {
        width:43px;
        height:42px;
        background:#ffe719;
        border:0;
        display:flex;
        flex-direction:column;
        justify-content:center;
        align-items:center;
        gap:5px;
        cursor:pointer
    }
    .menu-toggle span {
        height:3px;
        width:22px;
        background:#111
    }
    .main-nav {
        display:none;
        position:absolute;
        top:100%;
        left:0;
        right:0;
        background:white;
        box-shadow:0 10px 14px #0003;
        padding:17px 20px 20px;
        flex-direction:column;
        align-items:stretch;
        gap:15px
    }
    .main-nav.is-open {
        display:flex
    }
    .nav-link {
        font-size:14px;
        padding:9px 4px
    }
    .nav-link.active {
        border:0;
        color:#996f00
    }
    .nav-cta {
        font-size:14px;
        justify-content:space-between
    }
    .car-ribbon {
        height:auto;
        padding:18px 0 64px;
        background-size:auto 100%;
        border-bottom-width:5px
    }
    .car-ribbon-inner {
        grid-template-columns:repeat(4,1fr);
        gap:5px;
        padding:0 10px
    }
    .car-photo {
        height:auto;
        aspect-ratio:auto;
        object-fit:contain
    }
    .logo-gap {
        display:none
    }
    .hero-dark {
        min-height:0;
        border-top-width:5px;
        padding:0 22px 37px
    }
    .contest-mark {
        margin-top:-70px;
        width:min(52vw,255px);
        min-width:175px
    }
    .hero-content {
        margin-top:18px
    }
    .hero h1 {
        font-size:clamp(27px,7vw,39px)
    }
    .categories {
        font-size:clamp(15px,4.1vw,20px);
        line-height:1.28;
        margin:9px 0 26px
    }
    .hero h2 {
        font-size:clamp(29px,7.4vw,40px)
    }
    .hero-subtitle {
        font-size:clamp(18px,4.4vw,23px);
        line-height:1.25;
        margin:10px 0 17px
    }
    .hero-description {
        font-size:15px;
        line-height:1.5
    }
    .desktop-break {
        display:none
    }
    .prizes {
        padding:28px 23px 26px
    }
    .prize-inner {
        display:flex;
        flex-direction:column;
        gap:14px;
        text-align:center
    }
    .prize-badge img {
        width:190px
    }
    .prize-copy h2 {
        font-size:36px
    }
    .prize-copy p {
        font-size:16px;
        line-height:1.47;
        text-align:left;
        max-width:460px
    }
    .enter-button {
        margin:25px auto 0;
        display:flex;
        min-height:54px;
        width:min(100%,320px);
        font-size:19px
    }
    .manage-entry {
        margin-top:25px
    }
    .footer-inner {
        flex-direction:column;
        text-align:center;
        gap:10px;
        padding:20px
    }
    .site-footer small,.footer-links {
        font-size:10px
    }
}

@media(max-width:350px) {
    .car-ribbon {
        padding-bottom:55px
    }
    .contest-mark {
        margin-top:-58px
    }
    .hero-dark {
        padding-left:15px;
        padding-right:15px
    }
    .categories {
        font-size:14px
    }
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto
    }
}

/* Full-width background bands with centered, capped content. */
html{background:#fff}body{width:100%;max-width:none;margin:0}
.main-nav form{margin:0}.sign-out{font-family:Arial,Helvetica,sans-serif;background:none;border:0;cursor:pointer;color:#111;padding:8px 0}
.enter-button{min-width:0;width:min(100%,360px);margin-left:0;overflow-wrap:anywhere}
.skip-link{position:absolute;left:12px;top:-100px;padding:10px;background:#fff;z-index:100}.skip-link:focus{top:10px}
@media(max-width:640px){.header-inner{height:auto;min-height:67px;flex-wrap:wrap}.main-nav{display:flex;position:static;flex-basis:100%;box-shadow:none}.menu-toggle{display:none}.nav-enhanced .header-inner{height:67px;flex-wrap:nowrap}.nav-enhanced .menu-toggle{display:flex}.nav-enhanced .main-nav{display:none;position:absolute;box-shadow:0 10px 14px #0003}.nav-enhanced .main-nav.is-open{display:flex}.sign-out{font-size:14px;padding:9px 4px}}
