@charset "UTF-8";

/* ROAD TEST FEATURE */

.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: 0px 5px 5px rgba(0,0,0,.65);
}
s
.test-hero:after{
display:none;
}

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

}

.test-hero-caption{
position:absolute;
left:5%;
top:15%;
bottom:auto;
transform:none;
width:36%;
text-align:left;
color:#fff;
z-index:2;
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;
}


/* HERO SLIDESHOW - 4 slides / 5 seconds each */

.test-hero{
position:relative;
}

.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;}

.test-hero-caption{
z-index:5;
}

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


.story-video{
    float:right;
    width:400px;
    max-width:40%;
    margin:4px 9% 22px 34px;
    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;
}

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

.story-video{
    float:none;
    width:86%;
    max-width:86%;
    margin:22px auto;
}

}

/* STORY */

.test-story{
width:86%;
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 !important;
line-height:1.55 !important;
color:#eee !important;
font-weight:500 !important;
margin-top:5px !important;
margin-bottom:26px !important;
}

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

/* META STRIP */

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

.meta-box{
padding:13px 12px 14px 12px;
background:#151515;
color:#d0d0d0;
font-size:13px;
line-height:1.35;
text-align:center;
}

.test-meta span{
display:block;
margin-bottom:5px;
color:#888;
font-size:10px;
font-weight:700;
letter-spacing:.08em;
text-transform:uppercase;
}

/* SUBHEADS */

.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;
}

/* THUMBNAILS */

.story-thumb{
display:block;
width:380px;
max-width:42%;
margin-top:0;
margin-bottom:20px;
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:hover{
filter:brightness(120%);
border-color:#777;
}

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

.story-thumb-left{
float:left;
margin-left:9%;
margin-right:34px;
}

.story-thumb-right{
float:right;
margin-right:9%;
margin-left:34px;
}

.story-thumb-wide{
width:430px;
max-width:46%;
}

.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;
}

/* 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;
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% !important;
margin-left:0 !important;
margin-right:0 !important;
color:#cfcfcf !important;
}

.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;
}

/* TABLET */

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

.test-story{
width:90%;
}

.story-thumb{
width:300px;
max-width:38%;
}

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

.spec-grid{
grid-template-columns:repeat(2,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 !important;
}

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

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

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

.test-story blockquote{
width:78%;
font-size:18px;
padding:0 12px;
margin:34px auto 36px 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;
}

}


.meta-logo{text-align:center}
.hd-logo{display:block;max-width:200px;width:90%;margin:0 auto 10px auto}
.meta-box strong{display:block;color:#ddd;font-size:17px;font-weight:700;line-height:1.35}


/* V4 editorial header */
.test-meta{
grid-template-columns:1.15fr 1fr 0.9fr !important;
align-items:center;
}
.meta-box{
background:#151515;
padding:10px 18px;
display:flex;
flex-direction:column;
justify-content:center;
height:132px;
box-sizing:border-box;
}
.meta-logo{
flex-direction:row;
align-items:center;
gap:18px;
}
.hd-logo{
width:155px;
max-width:155px;
margin:0;
flex-shrink:0;
}
.publine{
text-align:left;
}
.publine span{
display:block;
font-size:11px;
letter-spacing:.08em;
text-transform:uppercase;
color:#888;
margin-bottom:6px;
}
.publine strong{
font-size:14px;
font-weight:600;
color:#ddd;
line-height:1.2;
}
.meta-box>span{
font-size:11px;
letter-spacing:.08em;
text-transform:uppercase;
color:#888;
margin-bottom:10px;
}
.meta-main{
font-size:14px;
font-weight:600;
line-height:1.3;
color:#ddd;
}

.image-break{clear:both;height:12px;}


/* V10: cleaner magazine-style image flow */
.image-break{
display:none !important;
height:0 !important;
clear:none !important;
}

.story-thumb,
.story-thumb-wide{
width:320px !important;
max-width:34% !important;
float:right !important;
clear:right !important;
margin:4px 9% 22px 34px !important;
}

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

@media only screen and (max-width:1000px){
.story-thumb,
.story-thumb-wide,
.story-thumb-left,
.story-thumb-right{
width:280px !important;
max-width:38% !important;
margin:4px 7% 20px 28px !important;
}
}

@media only screen and (max-width:600px){
.story-thumb,
.story-thumb-wide,
.story-thumb-left,
.story-thumb-right{
float:none !important;
clear:both !important;
width:86% !important;
max-width:86% !important;
margin:22px auto !important;
}
}


/* V11: prevent end-section image stack */
.photo-row{
clear:both;
width:82%;
margin:34px auto 42px auto;
display:grid;
grid-template-columns:1fr 1fr;
gap:28px;
}

.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;
}

/* Give the final text room before the two-image row */
.test-close{
clear:both;
}

@media only screen and (max-width:600px){
.photo-row{
width:86%;
display:block;
margin:26px auto 32px auto;
}
.photo-row-card{
margin:22px auto;
}
}


/* V13: final row and hero/video polish */
.photo-row{
clear:both !important;
width:82% !important;
margin:40px auto !important;
display:grid !important;
grid-template-columns:repeat(3,1fr) !important;
gap:24px !important;
}

@media only screen and (max-width:700px){
.photo-row{
width:86% !important;
grid-template-columns:1fr !important;
}
}

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


/* SMOOTH SCROLL + 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;
}

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

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

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

}


/* MOBILE META PANEL ONLY */
@media only screen and (max-width:600px){
.test-meta{
display:block !important;
width:86% !important;
}
.meta-box{
display:flex !important;
height:auto !important;
min-height:0 !important;
padding:18px 16px !important;
border-bottom:1px solid #333 !important;
}
.meta-box:last-child{border-bottom:none !important;}
.meta-logo{
flex-direction:column !important;
align-items:center !important;
gap:10px !important;
}
.hd-logo{
width:180px !important;
max-width:80% !important;
margin:0 auto 8px auto !important;
}
.publine{text-align:center !important;}
}
