/* ============================================================
   RV Hero Service & Repair — Brand stylesheet
   Built to the Bennett & Howell brand guide v3.0
   Navy #1B1464 · Red #DA3833 · Montserrat + Open Sans
   ============================================================ */

:root{
  --navy:#1B1464;
  --navy-deep:#0E165C;      /* matches the reversed logo background */
  --red:#DA3833;
  --red-dark:#b92e2a;
  --white:#ffffff;
  --gray:#F5F5F5;
  --gray-200:#e7e7ee;
  --charcoal:#2D2D2D;
  --muted:#5b5b66;
  --green:#28A745;
  --amber:#FFC107;
  --info:#17A2B8;
  --shadow:0 10px 30px rgba(27,20,100,.10);
  --shadow-sm:0 4px 14px rgba(27,20,100,.08);
  --radius:14px;
  --radius-sm:10px;
  --maxw:1180px;
  --head:'Montserrat',Arial,sans-serif;
  --body:'Open Sans',Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:var(--body);color:var(--charcoal);
  font-size:17px;line-height:1.6;background:var(--white);-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:var(--head);color:var(--navy);line-height:1.15;margin:0 0 .5em;font-weight:700}
h1{font-size:clamp(2.1rem,5vw,3.4rem)}
h2{font-size:clamp(1.7rem,3.4vw,2.5rem)}
h3{font-size:1.3rem}
p{margin:0 0 1rem}
a{color:var(--red);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
.container{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.section{padding:72px 0}
.section--gray{background:var(--gray)}
.section--navy{background:var(--navy);color:#dfe0f0}
.section--navy h2,.section--navy h3{color:#fff}
.center{text-align:center}
.eyebrow{font-family:var(--head);text-transform:uppercase;letter-spacing:.14em;font-weight:600;
  font-size:.8rem;color:var(--red);margin-bottom:.6rem}
.section--navy .eyebrow{color:#ff8d89}
.lead{font-size:1.15rem;color:var(--muted);max-width:62ch}
.section--navy .lead{color:#c7c8e6}
.center .lead{margin-left:auto;margin-right:auto}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--head);font-weight:600;
  font-size:1rem;padding:14px 26px;border-radius:var(--radius-sm);cursor:pointer;border:2px solid transparent;
  transition:.18s ease;text-decoration:none;white-space:nowrap}
.btn:hover{text-decoration:none;transform:translateY(-2px)}
.btn-primary{background:var(--red);color:#fff;box-shadow:0 8px 20px rgba(218,56,51,.30)}
.btn-primary:hover{background:var(--red-dark);color:#fff}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:#150f50;color:#fff}
.btn-outline{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-outline:hover{background:var(--navy);color:#fff}
.btn-ghost-light{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.5)}
.btn-ghost-light:hover{background:#fff;color:var(--navy)}
.btn-lg{padding:17px 34px;font-size:1.08rem}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--gray-200);
  transition:box-shadow .2s}
.site-header.scrolled{box-shadow:0 6px 20px rgba(27,20,100,.10)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px;gap:18px}
.nav__logo img{height:50px;width:auto}
.nav__links{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}
.nav__links a{font-family:var(--head);font-weight:600;font-size:.97rem;color:var(--navy);}
.nav__links a:hover,.nav__links a.active{color:var(--red);text-decoration:none}
.nav__cta{display:flex;align-items:center;gap:14px}
.nav__phone{font-family:var(--head);font-weight:700;color:var(--navy);font-size:1.05rem;white-space:nowrap}
.nav__phone span{display:block;font-size:.66rem;font-weight:600;letter-spacing:.1em;color:var(--red);text-transform:uppercase}
.nav__toggle{display:none;background:none;border:0;cursor:pointer;padding:8px}
.nav__toggle span{display:block;width:26px;height:3px;background:var(--navy);border-radius:3px;margin:5px 0;transition:.2s}

@media(max-width:980px){
  .nav__links,.nav__cta .nav__phone{display:none}
  .nav__toggle{display:block}
  .nav__links.open{display:flex;position:absolute;top:76px;left:0;right:0;background:#fff;flex-direction:column;
    align-items:flex-start;padding:18px 22px;gap:16px;border-bottom:1px solid var(--gray-200);box-shadow:var(--shadow)}
}

/* ---------- hero ---------- */
.hero{position:relative;color:#fff;overflow:hidden;
  background-image:linear-gradient(95deg,rgba(13,11,46,.93) 0%,rgba(19,15,72,.78) 46%,rgba(19,15,72,.34) 100%),url("/images/hero.webp");
  background-size:cover;background-position:center right}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:120px;background:linear-gradient(transparent,rgba(14,22,92,.55))}
.hero__inner{position:relative;z-index:2;padding:104px 0 100px;max-width:700px}
.hero h1{color:#fff;letter-spacing:-.5px}
.hero h1 .accent{color:#ff726d}
.hero p{color:#d6d7f0;font-size:1.2rem;max-width:56ch}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin:30px 0 22px}
.hero__chips{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:18px;list-style:none;padding:0}
.hero__chips li{font-family:var(--head);font-weight:600;font-size:.92rem;color:#fff;display:flex;align-items:center;gap:8px}
.hero__chips li::before{content:"✓";color:#5dd47e;font-weight:800}
.ratingbadge{display:inline-flex;align-items:center;gap:12px;background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.22);padding:10px 16px;border-radius:50px;margin-bottom:22px}
.ratingbadge .stars{color:#FFC107;font-size:1.1rem;letter-spacing:2px}
.ratingbadge b{font-family:var(--head)}
.ratingbadge small{color:#c7c8e6}

/* ---------- trust bar ---------- */
.trustbar{background:var(--navy-deep);color:#fff}
.trustbar .container{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding-top:26px;padding-bottom:26px}
.trustbar .stat{text-align:center;padding:6px}
.trustbar .stat b{display:block;font-family:var(--head);font-size:1.7rem;color:#fff}
.trustbar .stat span{font-size:.86rem;color:#b9bbe4;letter-spacing:.02em}
@media(max-width:680px){.trustbar .container{grid-template-columns:repeat(2,1fr)}}

/* ---------- service grid ---------- */
.grid{display:grid;gap:22px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid-3,.grid-2{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:0;overflow:hidden;
  box-shadow:var(--shadow-sm);transition:.2s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#d4d4e6}
.card__img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;background:var(--gray)}
.card:hover .card__img{filter:brightness(1.04)}
.card__body{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1}
.card .ico{width:54px;height:54px;border-radius:12px;background:rgba(218,56,51,.10);display:flex;
  align-items:center;justify-content:center;margin-bottom:16px;font-size:1.6rem}
.card h3{margin-bottom:.4rem}
.card p{color:var(--muted);font-size:.98rem;margin-bottom:1rem}
.card .more{margin-top:auto;font-family:var(--head);font-weight:600;color:var(--red)}

/* ---------- why / features ---------- */
.feature{display:flex;gap:16px;align-items:flex-start}
.feature .fico{flex:0 0 48px;width:48px;height:48px;border-radius:12px;background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:1.3rem}
.feature h3{font-size:1.12rem;margin-bottom:.25rem}
.feature p{color:var(--muted);font-size:.96rem;margin:0}

/* ---------- reviews ---------- */
.review{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow-sm)}
.review .stars{color:#FFC107;letter-spacing:2px;margin-bottom:10px}
.review p{font-style:italic;color:#33333b}
.review .who{font-family:var(--head);font-weight:700;color:var(--navy);font-style:normal;margin-top:10px}
.review .who span{display:block;font-weight:400;font-size:.85rem;color:var(--muted)}

/* ---------- before/after placeholder ---------- */
.ba{border-radius:var(--radius);overflow:hidden;border:1px solid var(--gray-200);background:var(--gray)}
.ba img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.ba .ph{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;text-align:center;
  color:var(--muted);font-family:var(--head);font-weight:600;background:
  repeating-linear-gradient(45deg,#ececf4,#ececf4 14px,#f5f5fb 14px,#f5f5fb 28px)}
.ba .cap{padding:12px 16px;font-family:var(--head);font-weight:600;color:var(--navy);font-size:.95rem}

/* page hero with photo (service pages) */
.pagehero--photo{position:relative;background-size:cover;background-position:center}
.pagehero--photo .container{position:relative;z-index:2}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin:0 auto}
.faq details{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-sm);margin-bottom:12px;
  box-shadow:var(--shadow-sm)}
.faq summary{cursor:pointer;list-style:none;padding:18px 22px;font-family:var(--head);font-weight:600;
  color:var(--navy);display:flex;justify-content:space-between;align-items:center;gap:14px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--red);font-size:1.5rem;font-weight:700}
.faq details[open] summary::after{content:"–"}
.faq .ans{padding:0 22px 20px;color:var(--muted)}

/* ---------- CTA band ---------- */
.ctaband{background:var(--red);color:#fff;text-align:center}
.ctaband h2{color:#fff}
.ctaband p{color:#ffe3e1;max-width:60ch;margin-inline:auto}
.ctaband .btn-ghost-light{border-color:#fff}

/* ---------- split / service hero ---------- */
.pagehero{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-deep) 100%);color:#fff;padding:64px 0 56px}
.pagehero h1{color:#fff}
.pagehero p{color:#cdceeb;max-width:60ch}
.breadcrumb{font-size:.85rem;color:#9fa1d6;margin-bottom:14px}
.breadcrumb a{color:#cdceeb}
.prose{max-width:760px}
.prose h2{margin-top:1.6em}
.prose ul{padding-left:1.1em}
.prose li{margin-bottom:.5rem}
.checklist{list-style:none;padding:0}
.checklist li{padding-left:30px;position:relative;margin-bottom:.7rem}
.checklist li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}

/* ---------- forms ---------- */
.formwrap{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}
.field{margin-bottom:16px}
.field label{display:block;font-family:var(--head);font-weight:600;font-size:.9rem;color:var(--navy);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;padding:12px 14px;border:1.5px solid var(--gray-200);
  border-radius:var(--radius-sm);font-family:var(--body);font-size:1rem;color:var(--charcoal);background:#fff}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--red);
  box-shadow:0 0 0 3px rgba(218,56,51,.12)}
.field textarea{min-height:110px;resize:vertical}
.field--row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.field--row{grid-template-columns:1fr}}
.form-note{font-size:.85rem;color:var(--muted)}
.form-msg{padding:14px 16px;border-radius:var(--radius-sm);margin-bottom:16px;display:none;font-weight:600}
.form-msg.ok{display:block;background:rgba(40,167,69,.12);color:#1c7a33;border:1px solid rgba(40,167,69,.3)}
.form-msg.err{display:block;background:rgba(218,56,51,.10);color:#a8302b;border:1px solid rgba(218,56,51,.3)}

/* ---------- contact info blocks ---------- */
.infogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:760px){.infogrid{grid-template-columns:1fr}}
.infocard{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm)}
.infocard b{font-family:var(--head);color:var(--navy);display:block;margin-bottom:4px}
.infocard a.big{font-family:var(--head);font-weight:700;font-size:1.3rem;color:var(--red)}

/* ---------- footer ---------- */
.site-footer{background:var(--navy-deep);color:#c7c8e6;padding:56px 0 26px;font-size:.95rem}
.site-footer a{color:#c7c8e6}.site-footer a:hover{color:#fff}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:30px;margin-bottom:34px}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.footer-grid{grid-template-columns:1fr}}
.site-footer img.flogo{height:60px;margin-bottom:14px}
.site-footer h4{color:#fff;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin-bottom:9px}
.footer-phone{font-family:var(--head);font-weight:700;color:#fff;font-size:1.15rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding-top:20px;display:flex;
  justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.82rem;color:#9092c4}
.footer-bottom a{color:#9092c4}

/* ---------- cookie banner ---------- */
.cookie{position:fixed;bottom:18px;left:18px;right:18px;max-width:560px;margin:0 auto;background:#fff;
  border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;
  z-index:90;display:none}
.cookie.show{display:block}
.cookie p{font-size:.88rem;color:var(--muted);margin:0 0 12px}
.cookie .row{display:flex;gap:10px;flex-wrap:wrap}
.cookie .btn{padding:9px 18px;font-size:.9rem}

/* ---------- utility ---------- */
.mt0{margin-top:0}.mb0{margin-bottom:0}
.sticky-call{display:none}
@media(max-width:980px){
  .sticky-call{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:80}
  .sticky-call a{flex:1;text-align:center;padding:15px;font-family:var(--head);font-weight:700;color:#fff;text-decoration:none}
  .sticky-call .c-call{background:var(--red)}
  .sticky-call .c-book{background:var(--navy)}
  body{padding-bottom:54px}
}
.noscript-bar{background:var(--navy);color:#fff;text-align:center;padding:10px;font-family:var(--head)}
.noscript-bar a{color:#ff8d89}

/* scroll reveal (added by JS — degrades gracefully if JS off) */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal,.reveal.in{opacity:1!important;transform:none!important;transition:none}}

/* Heroes Discount strip */
.heroesstrip{background:var(--navy-deep);color:#fff;border-top:3px solid var(--red)}
.heroesstrip .container{display:flex;align-items:center;justify-content:center;gap:10px 20px;flex-wrap:wrap;
  text-align:center;padding-top:16px;padding-bottom:16px}
.heroesstrip .tag{font-family:var(--head);font-weight:700;color:#FFC107;letter-spacing:.05em;white-space:nowrap}
.heroesstrip p{margin:0;color:#d7d8f0}
.heroesstrip p b{color:#fff}
.heroesstrip .btn{padding:10px 20px;font-size:.95rem;white-space:nowrap}

/* blog tag pill */
.blogtag{display:inline-block;font-family:var(--head);font-weight:700;font-size:.68rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--red);background:rgba(218,56,51,.10);padding:4px 11px;border-radius:20px;margin-bottom:10px}
.pagehero--photo .blogtag{color:#fff;background:rgba(218,56,51,.9)}

/* horizontal blog carousel */
.carousel{position:relative}
.carousel__track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:6px 2px 18px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.carousel__track::-webkit-scrollbar{display:none}
.carousel__track > .card{flex:0 0 340px;scroll-snap-align:start}
@media(max-width:520px){.carousel__track > .card{flex:0 0 84%}}
.carousel__nav{position:absolute;top:120px;z-index:5;width:46px;height:46px;border-radius:50%;border:0;
  background:#fff;color:var(--navy);box-shadow:var(--shadow);font-size:1.7rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:.15s}
.carousel__nav:hover{background:var(--navy);color:#fff}
.carousel__nav.prev{left:-12px}.carousel__nav.next{right:-12px}
@media(max-width:760px){.carousel__nav{display:none}}

/* magazine article layout */
.article{padding:54px 0 10px}
.article__body{max-width:716px;margin:0 auto;font-size:1.16rem;line-height:1.78;color:#2c2c36}
.article__body > p{margin:0 0 1.45rem}
.article__body p.lead-para{font-size:1.3rem;line-height:1.6;color:#3a3a48}
.article__body p.lead-para.dropcap::first-letter{float:left;font-family:var(--head);font-weight:800;font-size:4.6rem;
  line-height:.74;padding:8px 14px 0 0;color:var(--red)}
.article__body h2{font-family:var(--head);font-size:1.6rem;color:var(--navy);margin:2.3rem 0 .7rem;line-height:1.2}
.article__body h3{font-size:1.2rem;margin:1.6rem 0 .5rem}
.article__body a{color:var(--red);font-weight:600}
.article__body ul{padding-left:1.15em;margin:0 0 1.45rem}
.article__body li{margin-bottom:.55rem}
.article__fig{margin:2.4rem 0}
.article__fig img{width:100%;border-radius:14px;display:block;box-shadow:var(--shadow-sm)}
.article__fig figcaption{font-size:.85rem;color:var(--muted);margin-top:9px;text-align:center;font-style:italic}
.pullquote{font-family:var(--head);font-weight:700;font-size:1.6rem;line-height:1.32;color:var(--navy);
  border-left:5px solid var(--red);padding:4px 0 4px 24px;margin:2.5rem 0}
.callout{background:var(--gray);border:1px solid var(--gray-200);border-left:5px solid var(--red);border-radius:12px;
  padding:20px 24px;margin:2.5rem 0}
.callout h4{font-family:var(--head);color:var(--red);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px}
.callout p{margin:0;font-size:1.04rem;line-height:1.6;color:#33333f}
.article__dek{font-size:1.18rem;color:#d3d4ef;max-width:62ch;margin:12px 0 0;line-height:1.5}
.byline{font-family:var(--head);font-size:.78rem;letter-spacing:.08em;color:#a3a5dc;margin-top:16px;text-transform:uppercase}

/* ================= MAGAZINE NEWSSTAND ================= */
.newsstand{padding:54px 0 30px}
.newsstand__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
@media(max-width:980px){.newsstand__grid{grid-template-columns:repeat(2,1fr);gap:26px}}
@media(max-width:600px){.newsstand__grid{grid-template-columns:1fr;max-width:360px;margin:0 auto}}
.newsstand__grid > .cover:nth-child(2),.newsstand__grid > .cover:nth-child(5){transform:translateY(30px)}
@media(max-width:980px){.newsstand__grid > .cover{transform:none!important}}
.cover{position:relative;display:block;aspect-ratio:3/4;border-radius:7px;overflow:hidden;color:#fff;text-decoration:none;
  box-shadow:0 18px 46px rgba(20,18,60,.26);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
.cover:hover{transform:translateY(-12px);box-shadow:0 34px 72px rgba(20,18,60,.42);text-decoration:none}
.cover__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.cover:hover .cover__img{transform:scale(1.07)}
.cover::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(10,9,38,.6) 0%,rgba(10,9,38,.06) 32%,rgba(10,9,38,.5) 66%,rgba(10,9,38,.92) 100%)}
.cover__inner{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding:24px 22px 30px}
.cover__top{display:flex;justify-content:space-between;align-items:center;font-family:var(--head);font-weight:700;
  font-size:.64rem;letter-spacing:.22em;text-transform:uppercase}
.cover__kicker{color:#ffd9d7}
.cover__title{font-family:'Playfair Display',Georgia,serif;font-weight:900;font-size:clamp(2.1rem,2.6vw,2.8rem);
  line-height:.92;text-transform:uppercase;text-shadow:0 2px 20px rgba(0,0,0,.4)}
.cover__feature{font-family:var(--head);font-weight:700;font-size:1.05rem;line-height:1.22;margin:12px 0 0}
.cover__lines{margin:12px 0 0;list-style:none;padding:0}
.cover__lines li{font-size:.8rem;color:#e7e7f5;padding-left:15px;position:relative;margin-bottom:5px;line-height:1.3}
.cover__lines li::before{content:"›";position:absolute;left:0;color:#ff8d89;font-weight:700}
.cover__barcode{height:24px;width:58px;background:repeating-linear-gradient(90deg,#fff,#fff 1.6px,transparent 1.6px,transparent 4.4px);opacity:.85;border-radius:1px}
.cover__cta{position:absolute;bottom:0;left:0;right:0;z-index:3;background:var(--red);color:#fff;text-align:center;
  font-family:var(--head);font-weight:700;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;padding:13px;
  transform:translateY(101%);transition:transform .38s cubic-bezier(.2,.7,.2,1)}
.cover:hover .cover__cta{transform:translateY(0)}

/* ===== magazine rack (homepage / newsletter) — 5 covers lined up ===== */
.magrack{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;align-items:stretch}
@media(max-width:1120px){.magrack{grid-template-columns:repeat(3,1fr);gap:26px;max-width:880px;margin-left:auto;margin-right:auto}}
@media(max-width:720px){.magrack{grid-template-columns:repeat(2,1fr);max-width:560px}}
@media(max-width:460px){.magrack{grid-template-columns:1fr;max-width:320px}}
.magrack .cover__inner{padding:18px 14px 22px}
.magrack .cover__top{font-size:.56rem;letter-spacing:.14em}
.magrack .cover__title{font-size:1.4rem;letter-spacing:-.01em;line-height:.96}
@media(max-width:1120px){.magrack .cover__title{font-size:clamp(1.7rem,3.2vw,2.3rem)}}
.magrack .cover__feature{font-size:.92rem;margin-top:9px}
.magrack .cover__lines{margin-top:9px}
.magrack .cover__lines li{font-size:.72rem;margin-bottom:4px}
.magrack .cover__barcode{height:18px;width:46px;margin-top:12px!important}
.magrack .cover__cta{font-size:.7rem;padding:10px}
.magrack .cover::after{background:linear-gradient(180deg,rgba(10,9,38,.30) 0%,rgba(10,9,38,0) 40%,rgba(10,9,38,.5) 66%,rgba(10,9,38,.93) 100%)}

/* ================= ISSUE (category) PAGE ================= */
.issuehero{position:relative;color:#fff;min-height:58vh;display:flex;align-items:flex-end;overflow:hidden}
.issuehero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.issuehero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,9,38,.45),rgba(10,9,38,.88))}
.issuehero__inner{position:relative;z-index:2;padding:48px 0}
.issuehero__kicker{font-family:var(--head);font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:.76rem;color:#ffd9d7;margin-bottom:6px}
.issuehero__title{font-family:'Playfair Display',Georgia,serif;font-weight:900;font-size:clamp(2.8rem,8vw,5.4rem);text-transform:uppercase;line-height:.9;margin:0}
.issuehero__meta{font-family:var(--head);font-size:.95rem;color:#cdceeb;margin-top:12px;max-width:52ch}
.bigfeature{display:grid;grid-template-columns:1.05fr 1fr;border:1px solid var(--gray-200);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);background:#fff}
@media(max-width:760px){.bigfeature{grid-template-columns:1fr}}
.bigfeature__img{width:100%;height:100%;min-height:340px;object-fit:cover;display:block}
.bigfeature__body{padding:36px;display:flex;flex-direction:column;justify-content:center}
.bigfeature__tag{font-family:var(--head);font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.bigfeature h2{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:clamp(1.7rem,2.6vw,2.3rem);line-height:1.08;margin:12px 0}
.bigfeature__body .btn{align-self:flex-start;margin-top:8px}

/* ================= AD SLOT ================= */
.adslot{max-width:716px;margin:34px auto;border:1px dashed #c9c9d6;border-radius:12px;background:#fafafe;text-align:center;
  padding:26px;color:#9a9ab0;font-family:var(--head);font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}
.adslot small{display:block;font-size:.68rem;margin-top:7px;color:#b6b6c6;letter-spacing:.04em;text-transform:none;font-weight:400}

/* ================= COMMENTS ================= */
.comments{max-width:716px;margin:0 auto}
.comments h3{font-family:var(--head);color:var(--navy);font-size:1.45rem;margin:0 0 4px}
.comment{padding:16px 0;border-bottom:1px solid var(--gray-200)}
.comment__who{font-family:var(--head);font-weight:700;color:var(--navy);font-size:.96rem}
.comment__when{font-weight:400;font-size:.78rem;color:var(--muted);margin-left:8px}
.comment__body{margin:6px 0 0;color:#33333f;line-height:1.6}
.commentform{margin-top:24px;background:var(--gray);border:1px solid var(--gray-200);border-radius:12px;padding:24px}
.commentform .field{margin-bottom:14px}
.commentform textarea{min-height:96px}
.article-faq details summary{font-size:1.02rem}

/* ---------- additional-services menu (Option A) ---------- */
.svcmenu{max-width:860px;margin:0 auto;border:1px solid var(--gray-200);border-radius:var(--radius);
  overflow:hidden;background:#fff;box-shadow:var(--shadow-sm)}
.svcmenu__row{display:flex;align-items:center;gap:20px;padding:22px 26px;border-bottom:1px solid var(--gray-200);
  color:var(--navy);text-decoration:none;transition:background .18s}
.svcmenu__row:last-child{border-bottom:0}
.svcmenu__row:hover{background:var(--gray);text-decoration:none}
.svcmenu__ico{flex:0 0 46px;width:46px;height:46px;border-radius:11px;background:rgba(27,20,100,.06);color:var(--navy);
  display:flex;align-items:center;justify-content:center;transition:.18s}
.svcmenu__row:hover .svcmenu__ico{background:var(--red);color:#fff}
.svcmenu__ico svg{width:24px;height:24px;display:block}
.svcmenu__txt{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.svcmenu__name{font-family:var(--head);font-weight:700;font-size:1.08rem;color:var(--navy)}
.svcmenu__desc{font-size:.95rem;color:var(--muted)}
.svcmenu__arrow{flex:0 0 auto;font-family:var(--head);font-weight:700;color:var(--red);font-size:1.25rem;
  opacity:.55;transition:transform .18s,opacity .18s}
.svcmenu__row:hover .svcmenu__arrow{transform:translateX(4px);opacity:1}
@media(max-width:560px){.svcmenu__row{padding:18px 16px;gap:14px}
  .svcmenu__ico{flex-basis:40px;width:40px;height:40px}.svcmenu__desc{font-size:.9rem}}

/* ---------- vehicle-type band (Option C closer) ---------- */
.vehicleband{max-width:860px;margin:24px auto 0;text-align:center;background:var(--navy);color:#fff;
  border-radius:var(--radius);padding:30px 28px}
.vehicleband__lead{font-family:var(--head);font-weight:700;font-size:1.3rem;color:#fff;margin:0 0 10px}
.vehicleband__types{margin:0;color:#cdceeb;font-size:1.02rem;line-height:1.7}
.vehicleband__types b{color:#fff;font-weight:600}

/* ================= ABOUT PAGE ================= */
.aboutstory{display:grid;grid-template-columns:1fr 1.08fr;gap:42px;align-items:center}
@media(max-width:760px){.aboutstory{grid-template-columns:1fr;gap:24px}}
.aboutstory__img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}
.aboutstory .sig{font-family:var(--head);font-weight:700;color:var(--navy);margin-top:14px}
/* by the numbers */
.statband{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:760px){.statband{grid-template-columns:repeat(2,1fr)}}
.statband .s{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:24px 14px;text-align:center;box-shadow:var(--shadow-sm)}
.statband .s b{display:block;font-family:var(--head);font-weight:800;color:var(--navy);font-size:clamp(1.6rem,2.4vw,2.05rem);line-height:1}
.statband .s span{display:block;font-size:.82rem;color:var(--muted);margin-top:7px}
/* what sets us apart */
.apartgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px 30px}
@media(max-width:640px){.apartgrid{grid-template-columns:1fr}}
.apart{display:flex;gap:16px;align-items:flex-start}
.apart__ico{flex:0 0 50px;width:50px;height:50px;border-radius:12px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center}
.apart__ico svg{width:26px;height:26px;display:block}
.apart h3{font-size:1.1rem;margin-bottom:.25rem}
.apart p{color:var(--muted);font-size:.96rem;margin:0}
/* meet the team */
.teamgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:600px;margin:0 auto}
@media(max-width:520px){.teamgrid{grid-template-columns:1fr;max-width:300px}}
.member{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:30px 20px;text-align:center;box-shadow:var(--shadow-sm)}
.member__avatar{width:78px;height:78px;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--head);font-weight:800;font-size:1.7rem;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;letter-spacing:.02em}
.member h3{font-size:1.18rem;margin-bottom:.15rem}
.member .role{font-family:var(--head);font-weight:700;color:var(--red);font-size:.9rem}
.teamnote{max-width:600px;margin:24px auto 0;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:18px 24px;text-align:center;font-size:.96rem;box-shadow:var(--shadow-sm)}
.teamnote b{color:var(--navy);font-family:var(--head)}

/* ================= REVIEWS PAGE ================= */
.revhero{background:linear-gradient(160deg,var(--navy),var(--navy-deep));color:#fff;text-align:center;padding:60px 0 54px}
.revhero .breadcrumb{margin-bottom:8px}
.revhero__stars{color:#FFC107;font-size:clamp(1.5rem,4vw,2.1rem);letter-spacing:6px}
.revhero__num{font-family:var(--head);font-weight:800;font-size:clamp(4rem,13vw,7rem);line-height:.86;color:#fff;margin:6px 0 2px}
.revhero h1{color:#fff;font-size:clamp(1.5rem,3.4vw,2.2rem);margin:14px 0 8px}
.revhero p{color:#cdceeb;max-width:56ch;margin:0 auto}
/* star distribution */
.dist{max-width:620px;margin:0 auto}
.dist__row{display:flex;align-items:center;gap:14px;margin-bottom:11px}
.dist__label{flex:0 0 40px;font-family:var(--head);font-weight:600;color:var(--muted);font-size:.92rem;white-space:nowrap}
.dist__bar{flex:1;height:16px;background:var(--gray-200);border-radius:8px;overflow:hidden}
.dist__fill{height:100%;background:var(--red)}
.dist__val{flex:0 0 46px;text-align:right;font-family:var(--head);font-weight:800;color:var(--navy)}
.dist__row.is-zero .dist__val{color:#b6b6c6;font-weight:600}
/* themes */
.themes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:880px;margin:0 auto}
@media(max-width:640px){.themes{grid-template-columns:1fr;max-width:420px}}
.theme{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:26px 22px;text-align:center;box-shadow:var(--shadow-sm)}
.theme b{display:block;font-family:var(--head);color:var(--navy);font-size:1.14rem;margin-bottom:6px}
.theme span{font-size:.94rem;color:var(--muted)}
