@charset "UTF-8";

/* ==========================================================
   ROAD TEST FEATURE — STANDARD TEMPLATE VERSION
   1200px desktop story cap. 450px inline video and thumbnails.
   Meta strip stays 3 columns until phone breakpoint.
   One live rule set. No old V4/V10/V11/V13 override blocks.
   ========================================================== */

/* BASE */

.test-feature{
    margin:0 auto;
    padding:0 0 24px 0;
    font-family:"montserrat",Arial,sans-serif;
}

/* HERO */

.test-hero{
    position:relative;
    width:100%;
    margin:0;
    background:#000;
    border:1px solid #333;
    overflow:hidden;
    box-shadow:0 5px 5px rgba(0,0,0,.65);
}

.test-hero:after{
    display:none;
}

.test-hero img{
    display:block;
    width:100%;
    height:auto;
}

.hero-slideshow{
    position:relative;
    width:100%;
    aspect-ratio:2000 / 667;
    overflow:hidden;
    background:#000;
    z-index:1;
}

.hero-slideshow .slide{
    position:absolute;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:0;
    animation-name:heroFade;
    animation-duration:20s;
    animation-timing-function:ease-in-out;
    animation-iteration-count:infinite;
    animation-fill-mode:both;
}

.hero-slideshow .slide1{animation-delay:0s;}
.hero-slideshow .slide2{animation-delay:5s;}
.hero-slideshow .slide3{animation-delay:10s;}
.hero-slideshow .slide4{animation-delay:15s;}

@keyframes heroFade{
    0%{opacity:0;}
    3%{opacity:1;}
    25%{opacity:1;}
    28%{opacity:0;}
    100%{opacity:0;}
}

.test-hero-caption{
    position:absolute;
    left:5%;
    top:15%;
    width:36%;
    text-align:left;
    color:#fff;
    z-index:5;
    text-shadow:2px 2px 4px rgba(0,0,0,.85),0 0 14px rgba(0,0,0,.65);
    pointer-events:none;
}

.test-kicker{
    margin:0 0 6px 0;
    font-size:clamp(12px,1.2vw,18px);
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#d4d4d4;
    font-weight:700;
}

.test-hero h1{
    margin:0;
    font-size:clamp(34px,4.2vw,74px);
    line-height:1;
    font-weight:800;
}

.test-hero h2{
    margin:8px 0 0 0;
    font-size:clamp(17px,2.1vw,34px);
    line-height:1.12;
    font-weight:500;
    color:#e8e8e8;
}

/* STORY */

.test-story{
    width:86%;
    max-width:1200px;
    margin:0 auto;
    padding:22px 0 24px 0;
    background:transparent;
    border:0;
    box-shadow:none;
    overflow:hidden;
}

.test-story p{
    width:82%;
    margin:0 auto 17px auto;
    color:#bdbdbd;
    font-family:"montserrat",Arial,sans-serif;
    font-size:16px;
    line-height:1.7;
    font-weight:400;
    text-shadow:2px 2px 3px #000;
}

.test-story em{
    font-style:italic;
    color:#ddd;
}

.test-intro{
    font-size:19px;
    line-height:1.55;
    color:#eee;
    font-weight:500;
    margin-top:5px;
    margin-bottom:26px;
}

.test-close{
    clear:both;
    margin-top:20px;
    font-size:20px;
    font-weight:700;
    color:#eee;
}

.test-subhead{
    clear:both;
    max-width:82%;
    margin:42px auto 18px auto;
    font-family:inherit;
    font-size:1.12rem;
    font-weight:800;
    line-height:1.35;
    color:#ddd;
    text-align:left;
    padding-top:0;
}

/* META STRIP */

.test-meta{
    width:82%;
    margin:0 auto 34px auto;
    display:grid;
    grid-template-columns:1.15fr 1fr .9fr;
    gap:1px;
    align-items:center;
    background:#333;
    border:1px solid #444;
    box-shadow:5px 5px 7px rgba(0,0,0,.35);
}

.meta-box{
    height:132px;
    padding:10px 18px;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:#151515;
    color:#d0d0d0;
    font-size:13px;
    line-height:1.35;
    text-align:center;
}

.meta-logo{
    flex-direction:row;
    align-items:center;
    justify-content:center;
    gap:18px;
}

.hd-logo{
    display:block;
    width:155px;
    max-width:155px;
    margin:0;
    flex-shrink:0;
}

.publine{
    text-align:left;
}

.publine span,
.meta-box>span{
    display:block;
    margin-bottom:6px;
    color:#888;
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.publine strong{
    display:block;
    color:#ddd;
    font-size:14px;
    font-weight:600;
    line-height:1.2;
}

.meta-main{
    font-size:14px;
    font-weight:600;
    line-height:1.3;
    color:#ddd;
}

/* VIDEO AND THUMBNAILS */

.story-video,
.story-thumb,
.story-thumb-wide,
.story-thumb-left,
.story-thumb-right{
    float:right;
    clear:right;
    margin:4px 9% 22px 34px;
}

.story-video{
    width:450px;
    max-width:50%;
    background:#000;
    border:1px solid #333;
    box-shadow:5px 5px 5px rgba(0,0,0,.55);
}

.story-video iframe{
    display:block;
    width:100%;
    aspect-ratio:16 / 9;
    border:0;
}

.story-thumb,
.story-thumb-wide{
    display:block;
    width:450px;
    max-width:50%;
    background:#000;
    border:1px solid #333;
    box-shadow:5px 5px 5px rgba(0,0,0,.55);
    overflow:hidden;
    cursor:pointer;
    transition:.2s ease;
    text-decoration:none;
}

.story-thumb-wide{
    width:400px;
    max-width:50%;
}

.story-thumb-left{
    float:left;
    clear:left;
    margin:4px 34px 22px 9%;
}

.story-thumb:hover,
.story-thumb-wide:hover{
    filter:brightness(120%);
    border-color:#777;
}

.story-thumb img,
.story-thumb-wide img{
    display:block;
    width:100%;
    height:auto;
}

.thumb-caption{
    padding:8px 10px 9px 10px;
    font-size:11px;
    line-height:1.4;
    font-family:"montserrat",Arial,sans-serif;
    color:#aaa;
    text-align:center;
    background:#111;
    border-top:1px solid #333;
    text-shadow:1px 1px 2px #000;
}

/* QUOTES */

.test-story blockquote{
    clear:both;
    width:72%;
    margin:46px auto 48px auto;
    padding:18px 26px;
    color:#e6e6e6;
    font-size:20px;
    line-height:1.45;
    font-family:"montserrat",Arial,sans-serif;
    font-style:italic;
    font-weight:500;
    text-align:center;
    border-top:1px solid #555;
    border-bottom:1px solid #555;
    text-shadow:2px 2px 3px #000;
}

/* FINAL PHOTO ROW */

.photo-row{
    clear:both;
    width:82%;
    margin:40px auto;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.photo-row-card{
    display:block;
    background:#000;
    border:1px solid #333;
    box-shadow:5px 5px 5px rgba(0,0,0,.55);
    overflow:hidden;
    text-decoration:none;
    transition:.2s ease;
}

.photo-row-card:hover{
    filter:brightness(120%);
    border-color:#777;
}

.photo-row-card img{
    display:block;
    width:100%;
    height:auto;
}

/* SPECS */

.spec-panel{
    clear:both;
    width:82%;
    margin:48px auto 44px auto;
    padding:24px 26px 28px 26px;
    box-sizing:border-box;
    background:#121212;
    border:1px solid #333;
    box-shadow:7px 7px 8px rgba(0,0,0,.45);
}

.spec-panel h2{
    margin:0 0 20px 0;
    padding:0 0 12px 0;
    font-size:22px;
    line-height:1.2;
    color:#eee;
    border-bottom:1px solid #444;
}

.spec-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.spec-grid h3{
    margin:0 0 12px 0;
    font-size:13px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#ccc;
}

.spec-grid p{
    width:100%;
    margin:0 0 8px 0;
    font-size:12px;
    line-height:1.35;
    color:#d2d2d2;
    text-shadow:none;
}

.spec-grid p span{
    display:block;
    color:#777;
    font-size:10px;
    line-height:1.25;
    text-transform:uppercase;
    letter-spacing:.04em;
}

/* TIMELINE */

.road-king-timeline{
    clear:both;
    width:82%;
    margin:56px auto 20px auto;
    padding:28px 28px 30px 28px;
    box-sizing:border-box;
    background:#111;
    border-top:1px solid #555;
    border-bottom:1px solid #555;
}

.road-king-timeline h2{
    margin:0 0 16px 0;
    font-size:24px;
    line-height:1.2;
    color:#eee;
}

.timeline-intro,
.timeline-close{
    width:100%;
    margin-left:0;
    margin-right:0;
    color:#cfcfcf;
}

.timeline-item{
    display:grid;
    grid-template-columns:170px 1fr;
    gap:22px;
    margin:26px 0;
    align-items:start;
}

.timeline-photo{
    display:block;
    width:170px;
    background:#000;
    border:1px solid #333;
    box-shadow:4px 4px 5px rgba(0,0,0,.45);
    overflow:hidden;
    transition:.2s ease;
}

.timeline-photo:hover{
    filter:brightness(120%);
    border-color:#777;
}

.timeline-photo img{
    display:block;
    width:100%;
    height:auto;
}

.timeline-item h3{
    margin:0 0 7px 0;
    font-size:15px;
    line-height:1.25;
    color:#ddd;
}

.timeline-item p{
    width:100%;
    margin:0;
    font-size:14px;
    line-height:1.6;
    color:#bdbdbd;
}

/* MODAL */

.image-modal{
    display:none;
    position:fixed;
    z-index:9999;
    inset:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,.92);
    justify-content:center;
    align-items:center;
    padding:30px;
    box-sizing:border-box;
}

.image-modal-content{
    display:block;
    max-width:92%;
    max-height:88vh;
    border:1px solid #555;
    box-shadow:0 0 30px rgba(0,0,0,.8);
}

.image-modal-close{
    position:fixed;
    top:18px;
    right:28px;
    color:#ccc;
    font-size:42px;
    line-height:42px;
    font-weight:300;
    cursor:pointer;
    text-shadow:2px 2px 4px #000;
    z-index:10000;
}

.image-modal-close:hover{
    color:#fff;
}

/* BACK TO TOP */

html{
    scroll-behavior:smooth;
}

.back-to-top{
    width:80%;
    margin:34px auto 0 auto;
    text-align:center;
    font-family:"montserrat",Arial,sans-serif;
}

.back-to-top a{
    display:inline-block;
    padding:10px 18px;
    color:#bdbdbd;
    font-size:14px;
    line-height:1;
    font-weight:400;
    text-decoration:none;
    border:1px solid #555;
    background:rgba(0,0,0,.28);
    box-shadow:2px 2px 4px rgba(0,0,0,.55);
    text-shadow:1px 1px 2px #000;
    transition:.2s ease;
}

.back-to-top a:hover{
    color:#fff;
    border-color:#888;
    background:rgba(255,255,255,.06);
}

.back-to-top i{
    margin-right:7px;
}

/* TABLET */

@media only screen and (max-width:1000px){

    .test-story{
        width:90%;
    }

    .story-video{
        width:420px;
        max-width:48%;
        margin:4px 7% 20px 28px;
    }

    .story-thumb,
    .story-thumb-wide,
    .story-thumb-left,
    .story-thumb-right{
        width:300px;
        max-width:38%;
        margin:4px 7% 20px 28px;
    }

    .story-thumb-left{
        margin:4px 28px 20px 7%;
    }

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

}

/* SMALL TABLET / LARGE PHONE */

@media only screen and (max-width:700px){

    .photo-row{
        width:86%;
        grid-template-columns:1fr;
    }

}

/* PHONE */

@media only screen and (max-width:600px){

    .test-hero-caption{
        width:94%;
        bottom:6%;
    }

    .test-story{
        width:92%;
    }

    .test-story p{
        width:86%;
        font-size:14px;
        line-height:1.6;
    }

    .test-intro{
        font-size:16px;
    }

    .test-meta{
        display:block;
        width:86%;
        grid-template-columns:1fr;
    }

    .meta-box{
        display:flex;
        height:auto;
        min-height:0;
        padding:18px 16px;
        border-bottom:1px solid #333;
    }

    .meta-box:last-child{
        border-bottom:none;
    }

    .meta-logo{
        flex-direction:column;
        align-items:center;
        gap:10px;
    }

    .hd-logo{
        width:180px;
        max-width:80%;
        margin:0 auto 8px auto;
    }

    .publine{
        text-align:center;
    }

    .test-subhead{
        max-width:86%;
        font-size:1rem;
    }

    .story-video,
    .story-thumb,
    .story-thumb-wide,
    .story-thumb-left,
    .story-thumb-right{
        float:none;
        clear:both;
        width:86%;
        max-width:86%;
        margin:22px auto;
    }

    .test-story blockquote{
        width:78%;
        font-size:18px;
        padding:0 12px;
        margin:34px auto 36px auto;
    }

    .photo-row{
        width:86%;
        display:block;
        margin:26px auto 32px auto;
    }

    .photo-row-card{
        margin:22px auto;
    }

    .spec-panel{
        width:86%;
        padding:20px 18px 22px 18px;
    }

    .spec-grid{
        grid-template-columns:1fr;
        gap:12px;
    }

    .road-king-timeline{
        width:86%;
        padding:22px 18px;
    }

    .timeline-item{
        display:block;
    }

    .timeline-photo{
        width:100%;
        margin:0 0 12px 0;
    }

    .timeline-item p{
        font-size:13px;
    }

    .back-to-top{
        width:92%;
        margin-top:28px;
    }

    .back-to-top a{
        font-size:13px;
        padding:10px 16px;
    }

}


/* SPRINGFIELD SIDEBAR PANEL */

.sidebar-card{
    clear:both;
    width:82%;
    margin:48px auto 44px auto;
    padding:28px 28px 30px 28px;
    box-sizing:border-box;
    background:#111;
    border-top:1px solid #555;
    border-bottom:1px solid #555;
    box-shadow:6px 6px 7px rgba(0,0,0,.35);
    display:grid;
    grid-template-columns:1fr 450px;
    gap:0 34px;
    align-items:start;
}

.sidebar-card h2{
    grid-column:1;
    margin:0 0 16px 0;
    font-size:24px;
    line-height:1.2;
    color:#eee;
}

.sidebar-card p{
    grid-column:1;
    width:100%;
    margin:0 0 15px 0;
    color:#bdbdbd;
    font-size:14px;
    line-height:1.65;
    text-shadow:2px 2px 3px #000;
}

.sidebar-card .story-thumb,
.sidebar-card .story-thumb-wide,
.sidebar-card .story-thumb-left,
.sidebar-card .story-thumb-right{
    grid-column:2;
    grid-row:1 / span 5;
    float:none;
    clear:none;
    width:100%;
    max-width:100%;
    margin:0 0 18px 0;
}

@media only screen and (max-width:900px){

    .sidebar-card{
        grid-template-columns:1fr;
    }

    .sidebar-card .story-thumb,
    .sidebar-card .story-thumb-wide,
    .sidebar-card .story-thumb-left,
    .sidebar-card .story-thumb-right{
        grid-column:1;
        grid-row:auto;
        width:86%;
        max-width:86%;
        margin:0 auto 22px auto;
    }

}

@media only screen and (max-width:600px){

    .sidebar-card{
        width:86%;
        padding:22px 18px;
    }

}

/* VIDEO PLACEHOLDER */

.video-placeholder{
    aspect-ratio:16 / 9;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#d8d8d8;
    text-align:center;
}

.video-placeholder div{
    padding:18px;
}

.video-placeholder span{
    display:block;
    margin-bottom:8px;
    font-size:11px;
    font-weight:800;
    letter-spacing:.12em;
    color:#888;
}

.video-placeholder strong{
    display:block;
    font-size:18px;
    line-height:1.25;
    color:#eee;
}

.video-placeholder em{
    display:block;
    margin-top:8px;
    font-size:12px;
    line-height:1.4;
    color:#aaa;
}

/* SPRINGFIELD SIX-COLUMN SPECS */

@media only screen and (min-width:1001px){

    .spec-grid{
        grid-template-columns:repeat(6,1fr);
    }

}
