/* credithirevehicle.co.uk — Tarmac & Fleet identity, per DESIGN-SPEC.md 07/08/2026.
   Tokens are canonical; no hard-coded colours outside :root. */

/* ---------- Fonts: self-hosted latin subsets, swap, metric-adjusted fallbacks ---------- */
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/barlow-condensed-600-latin.woff2') format('woff2');}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/barlow-condensed-700-latin.woff2') format('woff2');}
@font-face{font-family:'Barlow Condensed';font-style:italic;font-weight:700;font-display:swap;src:url('/fonts/barlow-condensed-700-italic-latin.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/inter-400-latin.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/inter-600-latin.woff2') format('woff2');}
@font-face{font-family:'Barlow Condensed Fallback';src:local('Arial Narrow'),local('Arial');size-adjust:88%;ascent-override:98%;descent-override:26%;}
@font-face{font-family:'Inter Fallback';src:local('Segoe UI'),local('Arial');size-adjust:107%;ascent-override:90%;descent-override:22%;}

:root{
  /* palette */
  --paper:#FFFFFF; --paper-shade:#F4F4F5;
  --ink:#17191C; --ink-soft:#4A4F55; --ink-faint:#6E747B;
  --line:#DDDFE2; --line-strong:#9AA0A8;
  --tarmac:#16181D; --tarmac-row:#23262D; --tarmac-raise:#1D2127;
  --on-dark:#E8EAED; --on-dark-soft:#A9AFB8;
  --racing:#0B5C34; --racing-deep:#073E23; --racing-tint:#E3F0E8;
  --signal:#C6F53F;
  --commercial:#4C2A85; --commercial-tint:#F0EBFA;
  --danger:#B3261E;
  /* art accents (class-coloured art slots; livery stripe + streak tints only) */
  --art-mint:#8DD7A3; --art-teal:#63C7B2; --art-steel:#9FB6C9; --art-amber:#E4C34A; --art-silver:#C8C6C5;
  --asphalt-hi:#262B33; --asphalt-mid:#181B21; --asphalt-lo:#101318;
  /* type */
  --font-display:'Barlow Condensed','Barlow Condensed Fallback','Arial Narrow',Arial,sans-serif;
  --font-body:'Inter','Inter Fallback','Segoe UI',Arial,sans-serif;
  /* spacing */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px; --s-7:48px; --s-8:64px; --s-9:96px;
  /* radii */
  --r-card:12px; --r-btn:8px; --r-tag:6px;
  /* elevation */
  --shadow-rest:0 1px 2px rgba(23,25,28,.06),0 1px 8px rgba(23,25,28,.05);
  --shadow-lift:0 8px 24px rgba(23,25,28,.12);
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:29px;}
img,svg{max-width:100%;height:auto;display:block;}
h1,h2,h3{font-family:var(--font-display);color:var(--ink);margin:0 0 var(--s-4);}
h1{font-weight:700;font-size:clamp(36px,2.6vw+24px,64px);line-height:1.06;letter-spacing:-.015em;}
h2{font-weight:700;font-size:clamp(24px,1vw+20px,36px);line-height:1.16;letter-spacing:-.01em;}
h2.display{font-size:clamp(28px,1.8vw+21px,44px);line-height:1.08;letter-spacing:-.015em;text-transform:uppercase;}
h3{font-weight:600;font-size:21px;line-height:26px;}
p{margin:0 0 var(--s-4);max-width:70ch;}
ul,ol{margin:0 0 var(--s-4);padding-left:1.4em;max-width:70ch;}
li{margin-bottom:var(--s-2);}
a{color:var(--racing);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .16s ease-out,text-decoration-color .16s ease-out;}
a:hover{color:var(--racing-deep);text-decoration-thickness:2px;}
:focus-visible{outline:2px solid var(--racing);outline-offset:2px;}
.on-dark :focus-visible,.tarmac :focus-visible,footer :focus-visible{outline-color:var(--signal);}
time{font-variant-numeric:tabular-nums;}
strong{font-weight:600;}
[id]{scroll-margin-top:80px;}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

.container{max-width:1200px;margin:0 auto;padding:0 var(--s-5);}

/* ---------- Livery stripe (top of page + footer rule only) ---------- */
.livery{height:6px;background:linear-gradient(to bottom,var(--racing) 0,var(--racing) 4px,var(--signal) 4px,var(--signal) 6px);}

/* ---------- Header ---------- */
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--racing);color:#FFFFFF;padding:var(--s-3) var(--s-4);font-family:var(--font-display);font-weight:600;text-decoration:none;}
.skip-link:focus{left:0;}
header.masthead{position:sticky;top:0;z-index:100;background:var(--paper);border-bottom:1px solid var(--line);transition:box-shadow .16s ease-out;}
header.masthead.scrolled{box-shadow:var(--shadow-lift);}
.masthead-inner{display:flex;align-items:center;gap:var(--s-5);min-height:64px;flex-wrap:wrap;}
.wordmark{display:flex;align-items:center;gap:var(--s-2);text-decoration:none;color:var(--ink);padding:var(--s-2) 0;}
.wordmark:hover{color:var(--ink);}
.wordmark .mark{width:10px;height:18px;background:var(--racing);transform:skewX(-12deg);flex:none;}
.wordmark .wm-text{font-family:var(--font-display);font-weight:700;font-style:italic;font-size:26px;line-height:1;white-space:nowrap;}
.strapline{display:none;font-size:14px;line-height:20px;color:var(--ink-soft);}
@media(min-width:1100px){.strapline{display:block;}}
nav.primary{margin-left:auto;}
nav.primary ul{display:flex;gap:var(--s-4);list-style:none;margin:0;padding:0;max-width:none;}
nav.primary a{display:inline-flex;align-items:center;min-height:44px;font-family:var(--font-display);font-weight:600;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:3px solid transparent;}
nav.primary a:hover{border-bottom-color:var(--line-strong);color:var(--ink);}
nav.primary a[aria-current="true"],nav.primary a.active{color:var(--racing);border-bottom-color:var(--racing);}
details.nav-menu{display:none;margin-left:auto;}
details.nav-menu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-3);font-family:var(--font-display);font-weight:600;font-size:15px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line-strong);border-radius:var(--r-btn);}
details.nav-menu summary::-webkit-details-marker{display:none;}
details.nav-menu summary::after{content:"▾";}
details.nav-menu[open] summary::after{content:"▴";}
.nav-panel{position:absolute;left:0;right:0;background:var(--paper);border:1px solid var(--line);border-width:1px 0;}
.nav-panel ul{list-style:none;margin:0;padding:var(--s-2) var(--s-5);max-width:none;}
.nav-panel a{display:flex;align-items:center;min-height:48px;font-family:var(--font-display);font-weight:600;font-size:17px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);}
.nav-panel li:last-child a{border-bottom:0;}
@media(max-width:1000px){nav.primary{display:none;}details.nav-menu{display:block;}}

/* ---------- Identity strip ---------- */
.identity-strip{background:var(--paper-shade);padding:var(--s-2) 0;}
.identity-strip p{margin:0;max-width:none;font-size:14px;line-height:20px;color:var(--ink);}
.identity-strip strong{font-weight:600;}

/* ---------- Breadcrumb / dates / byline / answer ---------- */
nav.breadcrumb{padding:var(--s-4) 0 0;}
nav.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-1);margin:0;padding:0;font-size:14px;line-height:20px;color:var(--ink-soft);max-width:none;}
nav.breadcrumb .sep{color:var(--ink-soft);}
nav.breadcrumb [aria-current="page"]{color:var(--ink-soft);}
.date-strip{font-size:14px;line-height:20px;color:var(--ink-soft);margin:0 0 var(--s-4);font-variant-numeric:tabular-nums;max-width:none;}
.byline{font-size:14px;line-height:20px;color:var(--ink-soft);margin:0 0 var(--s-4);}
p.answer{font-size:19px;line-height:31px;border-left:4px solid var(--racing);padding-left:20px;margin-bottom:var(--s-5);}
main{padding-bottom:var(--s-8);}
.page-head{padding-top:var(--s-6);}

/* ---------- Section labels, chips, tags ---------- */
.label{font-family:var(--font-display);font-weight:600;font-size:14px;line-height:16px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);}
.chip{display:inline-flex;align-items:center;background:var(--racing-tint);color:var(--racing);border-radius:var(--r-tag);padding:var(--s-1) var(--s-3);font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;}
a.chip{min-height:44px;padding:var(--s-3) var(--s-4);transition:background .16s ease-out,color .16s ease-out;}
a.chip:hover{background:var(--racing);color:#FFFFFF;}
.chip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-3);list-style:none;padding:0;margin:0 0 var(--s-5);max-width:none;}
.chip-grid a.chip{width:100%;justify-content:center;text-align:center;}
@media(max-width:959px){.chip-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:639px){.chip-grid{grid-template-columns:repeat(2,1fr);}}
.fdr-tag{display:inline-flex;align-items:center;border:1px solid var(--line-strong);border-radius:var(--r-tag);padding:var(--s-1) var(--s-2);font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);}
.fdr-tag.live{background:var(--racing);border-color:var(--racing);color:#FFFFFF;}
.tarmac .fdr-tag{border-color:var(--on-dark-soft);color:var(--on-dark-soft);}
.format-badge{display:inline-flex;align-items:center;background:var(--racing);color:#FFFFFF;border-radius:var(--r-tag);padding:var(--s-1) var(--s-3);font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--s-4);}

/* ---------- Cards ---------- */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-5);list-style:none;padding:0;margin:0 0 var(--s-6);max-width:none;}
@media(max-width:1099px){.card-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:719px){.card-grid{grid-template-columns:1fr;}}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-rest);transition:transform .16s ease-out,box-shadow .16s ease-out;margin:0;display:flex;flex-direction:column;}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);}
.card .card-body{padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-2);flex:1;}
.card h3{margin:0;}
.card .meta-line{font-size:14px;line-height:20px;color:var(--ink-soft);margin:0;}
.card .tag-row{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center;}
.pillar-card{padding:var(--s-5);display:block;text-decoration:none;color:var(--ink);position:relative;}
.pillar-card .kicker{color:var(--racing);display:block;margin-bottom:var(--s-2);}
.pillar-card .arrow{color:var(--racing);font-family:var(--font-display);font-weight:700;font-size:21px;position:absolute;bottom:var(--s-3);right:var(--s-4);}
.pillar-card:hover{color:var(--ink);}

/* ---------- Tarmac panels (FDR banner, plate, verdict, definition cards) ---------- */
.tarmac{background:var(--tarmac);color:var(--on-dark);border-radius:var(--r-card);padding:var(--s-6);position:relative;}
.tarmac::after{content:"";position:absolute;left:0;bottom:0;width:48px;height:4px;background:var(--signal);border-bottom-left-radius:var(--r-card);}
.tarmac .label{color:var(--on-dark-soft);}
.tarmac p{color:var(--on-dark);}
.tarmac a{color:var(--on-dark);text-decoration-color:var(--on-dark);}
.tarmac a:hover{color:var(--on-dark);text-decoration-color:var(--signal);}
.tarmac h2,.tarmac h3{color:var(--on-dark);}
.fdr-banner{margin:var(--s-6) 0;}


/* Verdict box */
.verdict{margin:var(--s-6) 0;padding:var(--s-5);}
.verdict .verdict-cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5);}
@media(max-width:639px){.verdict .verdict-cols{grid-template-columns:1fr;}}
.verdict h3{color:var(--on-dark);}
.verdict ul{list-style:none;padding:0;margin:0;}
.verdict li{padding-left:1.4em;position:relative;color:var(--on-dark);}
.verdict li .glyph{position:absolute;left:0;color:var(--signal);font-weight:600;}

/* FDR definition cards (T2, award) */
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5);margin:0 0 var(--s-6);list-style:none;padding:0;max-width:none;}
@media(max-width:959px){.field-grid{grid-template-columns:1fr;}}
.field-card{padding:var(--s-5);}
.field-card .label{display:block;margin-bottom:var(--s-2);}
.field-card dl{margin:var(--s-3) 0 0;font-size:15px;line-height:22px;max-width:none;}
.field-card dt{color:var(--on-dark-soft);font-weight:600;float:left;clear:left;margin-right:var(--s-2);}
.field-card dd{margin:0 0 var(--s-1);color:var(--on-dark);}

/* ---------- Status banner (T2/award register entry) ---------- */
.status-banner{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);padding:var(--s-4) 0;margin:var(--s-5) 0 var(--s-6);}
.status-banner .label{margin-right:var(--s-3);}
.status-banner p{display:inline;margin:0;max-width:none;}

/* ---------- Key facts box ---------- */
.key-facts{background:var(--paper-shade);border:1px solid var(--line-strong);border-radius:var(--r-card);padding:var(--s-5);margin:0 0 var(--s-6);}
.key-facts .label{display:block;margin-bottom:var(--s-3);}
.key-facts ul{margin:0;}

/* ---------- How-to-read strip / shaded bands ---------- */
.band{background:var(--paper-shade);border-radius:var(--r-card);padding:var(--s-4) var(--s-5);margin:0 0 var(--s-6);}
.band p:last-child{margin-bottom:0;}

/* ---------- Tables ---------- */
.table-wrap{border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;margin:0 0 var(--s-5);}
table{border-collapse:collapse;width:100%;font-size:15px;line-height:22px;font-variant-numeric:tabular-nums;}
caption{text-align:left;}
th,td{padding:var(--s-3) var(--s-4);text-align:left;vertical-align:top;border-top:1px solid var(--line);}
thead th{background:var(--paper-shade);border-top:0;border-bottom:2px solid var(--line-strong);font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);}
tbody tr:nth-child(even) td,tbody tr:nth-child(even) th{background:var(--paper-shade);}
tbody th[scope="row"]{font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);background:var(--paper-shade);width:11em;}
@media(max-width:700px){
  .table-scroll{overflow-x:auto;border-left:1px solid var(--line-strong);border-right:1px solid var(--line-strong);}
  .table-scroll table{min-width:560px;}
}

/* ---------- Question H2 rules ---------- */
article h2{border-top:1px solid var(--line);margin-top:var(--s-7);padding-top:var(--s-6);}
article h2.visually-hidden{border:0;margin:0;padding:0;}
article .page-head h1 + *{margin-top:0;}
.hub-classlink{list-style:none;}
.card-grid .hub-classlink{grid-column:1/-1;margin:0;}
.card-grid .hub-classlink p{margin:0;}

/* ---------- Journey-forward / next-step ---------- */
.next-block{border-top:1px solid var(--line-strong);padding:var(--s-5) 0;margin-top:var(--s-7);}
.next-block .label{display:block;margin-bottom:var(--s-3);}
.next-links{display:flex;flex-wrap:wrap;gap:var(--s-4);list-style:none;padding:0;margin:0;max-width:none;}
.next-links a{display:inline-flex;align-items:center;min-height:44px;font-family:var(--font-display);font-weight:600;font-size:17px;letter-spacing:.02em;}
.related{font-size:15px;line-height:24px;color:var(--ink-soft);}

/* ---------- Commercial partner unit (the ONLY violet component) ---------- */
.commercial-unit{background:var(--commercial-tint);border:1px solid var(--commercial);border-radius:var(--r-card);padding:var(--s-5);margin:var(--s-6) 0;}
.commercial-unit .label{color:var(--commercial);display:block;margin-bottom:var(--s-3);}
.commercial-unit p{color:var(--ink);}
.commercial-unit a[rel~="sponsored"]{display:inline-flex;align-items:center;min-height:48px;padding:var(--s-2) var(--s-5);border:1px solid var(--commercial);border-radius:var(--r-btn);color:var(--commercial);font-family:var(--font-display);font-weight:600;font-size:17px;letter-spacing:.02em;background:transparent;transition:background .16s ease-out;}
.commercial-unit a[rel~="sponsored"]:hover{background:var(--paper);color:var(--commercial);}
.commercial-unit .editorial-alt{margin:var(--s-3) 0 0;font-size:15px;}
.commercial-unit .editorial-alt a{color:var(--racing);}
.commercial-unit.sample a.sample-btn{pointer-events:none;display:inline-flex;align-items:center;min-height:48px;padding:var(--s-2) var(--s-5);border:1px solid var(--commercial);border-radius:var(--r-btn);color:var(--commercial);font-family:var(--font-display);font-weight:600;font-size:17px;letter-spacing:.02em;text-decoration:underline;text-underline-offset:3px;}

/* ---------- Award/about strip ---------- */
.award-strip{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5);border-top:1px solid var(--line);padding:var(--s-5) 0;margin-top:var(--s-6);}
@media(max-width:639px){.award-strip{grid-template-columns:1fr;}}
.award-strip .faint{color:var(--ink-faint);font-size:14px;line-height:20px;}
.award-strip .meta-line{font-size:14px;line-height:20px;color:var(--ink-soft);}

/* ---------- Footer ---------- */
footer.site-footer{background:var(--tarmac);color:var(--on-dark);border-top:2px solid var(--signal);padding:var(--s-7) 0;margin-top:var(--s-8);}
footer.site-footer a{color:var(--on-dark);text-decoration-color:var(--on-dark);display:inline-flex;align-items:center;min-height:44px;}
footer.site-footer a:hover{color:var(--on-dark);text-decoration-color:var(--signal);}
.footer-cols{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--s-6);}
@media(max-width:959px){.footer-cols{display:flex;flex-direction:column;}.footer-cols .disclosure{order:-1;}}
.footer-cols .label{color:var(--on-dark-soft);display:block;margin-bottom:var(--s-3);}
.footer-cols ul{list-style:none;padding:0;margin:0;font-size:14px;line-height:20px;}
.footer-cols .disclosure p{color:var(--on-dark);font-size:17px;line-height:29px;}
.footer-cols .you-are-here{font-weight:600;color:var(--on-dark);}
.footer-bottom{margin-top:var(--s-6);font-size:14px;line-height:20px;color:var(--on-dark-soft);display:flex;flex-wrap:wrap;gap:var(--s-4);align-items:center;}
.footer-bottom a{color:var(--on-dark-soft);}

/* ---------- Art scenes & slots (generated treatment; photography drops in by adding one <img> per slot) ---------- */
.art-scene,.art-slot{position:relative;overflow:hidden;background-color:var(--tarmac);--art-accent:var(--signal);
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 260'%3E%3Cpath fill='%232A2F38' d='M28 206C60 168 118 150 190 142 232 96 300 70 378 68 458 66 520 92 556 132 610 138 656 154 678 180 688 192 690 206 686 206Z'/%3E%3Cpath fill='%23343A45' d='M238 132C276 100 330 84 380 84 428 84 470 100 500 128L470 132C420 88 300 92 262 132Z'/%3E%3Ccircle cx='176' cy='204' r='36' fill='%231B1E24'/%3E%3Ccircle cx='176' cy='204' r='20' fill='none' stroke='%233A404B' stroke-width='6'/%3E%3Ccircle cx='556' cy='204' r='36' fill='%231B1E24'/%3E%3Ccircle cx='556' cy='204' r='20' fill='none' stroke='%233A404B' stroke-width='6'/%3E%3Crect x='0' y='240' width='720' height='4' fill='%23222630'/%3E%3C/svg%3E"),
    linear-gradient(152deg,var(--asphalt-hi) 0%,var(--asphalt-mid) 46%,var(--asphalt-lo) 100%);
  background-repeat:no-repeat,no-repeat;background-position:right -24px bottom 8%,center;background-size:auto 58%,cover;}
.art-scene::before,.art-slot::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.55 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23g)'/%3E%3C/svg%3E");}
.art-scene::after,.art-slot::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:
    linear-gradient(112deg,transparent 0 32%,color-mix(in srgb,var(--signal) 13%,transparent) 39%,transparent 45%),
    linear-gradient(112deg,transparent 0 54%,color-mix(in srgb,var(--art-accent) 20%,transparent) 60%,transparent 68%),
    linear-gradient(var(--racing),var(--racing)),
    linear-gradient(var(--art-accent),var(--art-accent));
  background-repeat:no-repeat;
  background-size:100% 100%,100% 100%,100% 2px,100% 2px;
  background-position:0 0,0 0,left top,left 2px;}
.art-slot{display:flex;flex-direction:column;justify-content:flex-end;gap:var(--s-1);padding:var(--s-4);}
.art-16x9{aspect-ratio:16/9;}
.art-3x2{aspect-ratio:3/2;}
.art-slot .art-name{position:relative;z-index:3;font-family:var(--font-display);font-weight:700;font-style:italic;font-size:clamp(21px,1.1vw+15px,27px);line-height:1.05;letter-spacing:.04em;text-transform:uppercase;color:var(--on-dark);}
.art-slot .art-class{position:relative;z-index:3;font-weight:600;font-size:11px;line-height:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--art-accent);}
.art-slot>img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;}
.art-slot.has-photo::after{background-image:linear-gradient(180deg,transparent 34%,rgba(8,10,12,.86) 100%),linear-gradient(112deg,transparent 0 54%,color-mix(in srgb,var(--art-accent) 22%,transparent) 61%,transparent 69%),linear-gradient(var(--racing),var(--racing)),linear-gradient(var(--art-accent),var(--art-accent));}
.art-slot.has-photo .art-name,.art-slot.has-photo .art-class{text-shadow:0 1px 14px rgba(0,0,0,.72);}
.photo-crop-top>img{object-position:center 28%;}
.photo-crop-bottom>img{object-position:center 72%;}
.photo-crop-right>img{object-position:70% center;}
.photo-crop-left>img{object-position:32% center;}
.card>.art-slot{border-top-left-radius:var(--r-card);border-top-right-radius:var(--r-card);}
.page-art{margin:0 0 var(--s-6);border-radius:var(--r-card);}
.vehicle-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3);margin:calc(var(--s-6) * -0.45) 0 var(--s-6);}
.vehicle-gallery.two-up{grid-template-columns:repeat(2,minmax(0,1fr));}
.vehicle-gallery.single{grid-template-columns:1fr;}
.vehicle-gallery figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-soft);}
.vehicle-gallery img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;}
.vehicle-gallery figcaption{padding:var(--s-2) var(--s-3);font-size:14px;line-height:20px;color:var(--ink-soft);}
@media(max-width:719px){.vehicle-gallery,.vehicle-gallery.two-up{grid-template-columns:1fr;}.vehicle-gallery img{aspect-ratio:16/9;}}
.art-acc-mint{--art-accent:var(--art-mint);}
.art-acc-teal{--art-accent:var(--art-teal);}
.art-acc-steel{--art-accent:var(--art-steel);}
.art-acc-amber{--art-accent:var(--art-amber);}
.art-acc-silver{--art-accent:var(--art-silver);}

/* ---------- Editorial hero (home) ---------- */
.hero{color:var(--on-dark);background-position:right -24px bottom 14%,center;background-size:auto 46%,cover;}
.hero .hero-inner{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,7fr) minmax(300px,4fr);gap:var(--s-7);align-items:end;padding-top:var(--s-8);padding-bottom:var(--s-8);}
.hero .kicker{display:inline-block;font-family:var(--font-display);font-weight:600;font-size:15px;line-height:18px;letter-spacing:.14em;text-transform:uppercase;color:var(--signal);margin-bottom:var(--s-3);}
.hero h1{color:#FFFFFF;font-size:clamp(42px,4vw+18px,64px);line-height:1.02;letter-spacing:-.02em;text-transform:uppercase;margin-bottom:var(--s-4);}
.hero .standfirst{font-size:19px;line-height:31px;color:var(--on-dark);border-left:4px solid var(--signal);padding-left:20px;max-width:58ch;margin-bottom:var(--s-4);}
.hero .date-strip{color:var(--on-dark-soft);margin:0;}
.hero-feature{position:relative;z-index:3;background:var(--tarmac-raise);border:1px solid var(--tarmac-row);border-radius:var(--r-card);overflow:hidden;display:flex;flex-direction:column;}
.hero-feature .art-slot{border-radius:0;}
.hero-feature .feature-body{padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-2);}
.hero-feature .label{color:var(--signal);}
.hero-feature h2{font-size:26px;line-height:30px;letter-spacing:0;margin:0;color:#FFFFFF;}
.hero-feature h2 a{color:#FFFFFF;text-decoration-color:var(--on-dark-soft);}
.hero-feature h2 a:hover{color:#FFFFFF;text-decoration-color:var(--signal);}
.hero-feature p{color:var(--on-dark-soft);font-size:15px;line-height:24px;margin:0;max-width:none;}
.hero+.container{padding-top:var(--s-7);}
@media(max-width:920px){.hero .hero-inner{grid-template-columns:1fr;gap:var(--s-6);padding-top:var(--s-7);padding-bottom:var(--s-7);}}

/* ---------- Vehicle-led home galleries ---------- */
.section-lead{display:flex;align-items:end;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-4);}
.section-lead h2,.section-lead p{margin-bottom:0;}
.section-lead p{max-width:52ch;color:var(--ink-soft);font-size:15px;line-height:23px;}
.review-showcase{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-3);list-style:none;padding:0;margin:0 0 var(--s-4);max-width:none;}
.review-showcase .card{display:flex;flex-direction:column;min-width:0;}
.review-showcase .card-body{display:flex;flex-direction:column;flex:1;}
.review-showcase .art-slot{aspect-ratio:4/3;}
.review-showcase h3{font-size:22px;line-height:25px;}
.review-showcase .meta-line{margin-top:auto;}
.class-showcase{grid-template-columns:repeat(4,minmax(0,1fr));}
.class-showcase .class-tile{min-height:176px;}
.class-showcase .art-class{max-width:26ch;}
.availability-note{border-left:3px solid var(--racing);padding-left:var(--s-3);color:var(--ink-soft);font-size:14px;line-height:22px;}
@media(max-width:1040px){.review-showcase,.class-showcase{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:760px){.section-lead{display:block;}.section-lead h2{margin-bottom:var(--s-2);}.review-showcase,.class-showcase{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:460px){.review-showcase,.class-showcase,.class-tiles.class-showcase{grid-template-columns:1fr;}.review-showcase .art-slot,.class-showcase .class-tile{aspect-ratio:16/10;}}

/* ---------- Responsive type ---------- */
@media(max-width:640px){
  p.answer{font-size:17.5px;line-height:28px;}
  body{font-size:16px;line-height:27px;}
  .container{padding:0 var(--s-4);}
  .masthead-inner{min-height:56px;}
}

@media(prefers-reduced-motion:reduce){
  *{transition:none!important;}
  .card:hover{transform:none;}
}

/* ---------- Art band: slim editorial page-header banner (compact .art-scene variant) ---------- */
.art-band{min-height:118px;flex-direction:row;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:var(--s-1) var(--s-4);background-position:right -12px bottom 10%,center;background-size:auto 76%,cover;}
.art-band .art-name{font-size:clamp(24px,1.4vw+17px,31px);}
@media(max-width:640px){.art-band{min-height:92px;background-size:auto 60%,cover;}}

/* ---------- Class-accent art tiles (class index pickers) ---------- */
.class-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-3);margin:0 0 var(--s-6);}
@media(max-width:959px){.class-tiles{grid-template-columns:repeat(3,1fr);}}
@media(max-width:639px){.class-tiles{grid-template-columns:repeat(2,1fr);}}
a.class-tile{min-height:112px;border-radius:var(--r-card);text-decoration:none;transition:transform .16s ease-out,box-shadow .16s ease-out;}
a.class-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);}
a.class-tile:hover .art-name{text-decoration:underline;text-decoration-color:var(--art-accent);text-decoration-thickness:2px;text-underline-offset:3px;}
a.class-tile:focus-visible{outline-color:var(--signal);}
.class-tile .art-name{font-size:19px;line-height:1.12;}
@media(prefers-reduced-motion:reduce){a.class-tile:hover{transform:none;}}

/* ---------- Instrument panel (durability visual summary strip) ---------- */
.instrument-panel{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-5);margin:0 0 var(--s-6);padding:var(--s-5);}
.instrument-panel .label{flex-basis:100%;}
.instrument-panel .panel-name{font-family:var(--font-display);font-weight:700;font-style:italic;font-size:clamp(27px,1.6vw+19px,36px);line-height:1.02;letter-spacing:.03em;text-transform:uppercase;color:var(--on-dark);margin-right:auto;}
.instrument-panel .panel-tags{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center;}

/* ---------- Instrument tiles (Fleet Duty Rating measures, 2x2) ---------- */
.instrument-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);margin:0 0 var(--s-6);}
@media(max-width:639px){.instrument-grid{grid-template-columns:1fr;}}
.instrument-tile{background:var(--tarmac);color:var(--on-dark);border:1px solid var(--tarmac-row);border-radius:var(--r-card);padding:var(--s-4) var(--s-5);position:relative;overflow:hidden;}
.instrument-tile::after{content:"";position:absolute;left:0;top:0;width:48px;height:3px;background:var(--signal);}
.instrument-tile .tile-index{display:block;font-family:var(--font-display);font-weight:700;font-style:italic;font-size:14px;line-height:16px;letter-spacing:.14em;color:var(--on-dark-soft);font-variant-numeric:tabular-nums;margin-bottom:var(--s-1);}
.instrument-tile .tile-name{display:block;font-family:var(--font-display);font-weight:700;font-size:24px;line-height:1.08;letter-spacing:.02em;text-transform:uppercase;}
.instrument-tile .tile-unit{display:block;font-family:var(--font-display);font-weight:600;font-size:14px;line-height:18px;letter-spacing:.06em;text-transform:uppercase;color:var(--signal);margin-top:var(--s-2);font-variant-numeric:tabular-nums;}

/* ---------- Award mark (Credit Hire Car of the Year laurel/plate device) ---------- */
.award-mark{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-3);margin:0 0 var(--s-6);padding:var(--s-6) var(--s-5);}
.award-mark svg{width:min(320px,78%);}
.award-mark .stem{fill:none;stroke:var(--racing);stroke-width:3;stroke-linecap:round;}
.award-mark .leaf{fill:var(--signal);}
.award-mark .plate{fill:var(--racing);stroke:var(--signal);stroke-width:2;}
.award-mark .chequer rect{fill:var(--signal);}
.award-mark .award-title{font-family:var(--font-display);font-weight:700;font-style:italic;font-size:clamp(27px,2vw+19px,40px);line-height:1.04;letter-spacing:.04em;text-transform:uppercase;color:var(--on-dark);}
.award-mark .award-note{font-family:var(--font-display);font-weight:600;font-size:14px;line-height:18px;letter-spacing:.14em;text-transform:uppercase;color:var(--signal);}


/* ============================================================================
   24/08/2026 — "Tarmac Telemetry" sharpening pass (Karl quality direction).
   Sharper geometry, livery micro-details, one signature motion (the lap sweep
   on the livery stripe), bigger condensed display. Cascade-order overrides.
   ============================================================================ */

:root{--r-card:5px;--r-btn:5px;--r-tag:3px;}

/* signature motion: one light sweep along the livery stripe on load */
.livery{position:relative;overflow:hidden;}
.livery::after{content:"";position:absolute;top:0;bottom:0;left:-30%;width:26%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);
  animation:liverysweep 2.2s cubic-bezier(.5,0,.2,1) .4s 1 both;}
@keyframes liverysweep{to{left:132%}}

/* display scale up; decisive hero */
.hero h1{font-size:clamp(46px,4.6vw+18px,78px);line-height:.98;}
.hero .kicker{font-size:16px;letter-spacing:.18em;}
h2.display{font-size:clamp(30px,2vw+22px,50px);}

/* livery dash on every section label — the recurring micro-detail */
.label{display:inline-flex;align-items:center;gap:8px;}
.label::before{content:"";flex:none;width:16px;height:3px;background:var(--racing);transform:skewX(-12deg);}
.tarmac .label::before,.hero .label::before,footer .label::before{background:var(--signal);}
.commercial-unit .label::before{background:var(--commercial);}

/* de-pill the chips: sharp livery tags with a racing notch */
.chip{border-radius:var(--r-tag);border-left:3px solid var(--racing);}
a.chip:hover{border-left-color:var(--signal);}
.fdr-tag{border-radius:var(--r-tag);}
.format-badge{border-radius:var(--r-tag);}

/* cards: sharper, with a signal tab that answers hover */
.card{border-radius:var(--r-card);position:relative;overflow:hidden;}
.card::before{content:"";position:absolute;left:0;top:0;width:40px;height:3px;background:var(--racing);opacity:0;transition:opacity .16s ease-out;z-index:5;}
.card:hover::before{opacity:1;}
.pillar-card .arrow{transition:transform .16s ease-out;}
.pillar-card:hover .arrow{transform:translateX(4px);}

@media(prefers-reduced-motion:reduce){
  .livery::after{animation:none;opacity:0;}
  .card::before,.pillar-card .arrow{transition:none;}
  .pillar-card:hover .arrow{transform:none;}
}

/* MATERIAL FIX 24/08/2026: the base clamp() expressions wrote "4vw+18px" with
   no whitespace around the operator, which is invalid <calc-sum> syntax — the
   whole font-size declaration was dropped and headings fell back to UA sizes.
   Corrected redeclarations (with the sharpened display scale) follow. */
h1{font-size:clamp(36px, 2.6vw + 24px, 64px);}
h2{font-size:clamp(24px, 1vw + 20px, 36px);}
h2.display{font-size:clamp(30px, 2vw + 22px, 50px);}
.hero h1{font-size:clamp(46px, 4.6vw + 18px, 78px);}
.art-slot .art-name{font-size:clamp(21px, 1.1vw + 15px, 27px);}
.art-band .art-name{font-size:clamp(24px, 1.4vw + 17px, 31px);}
.instrument-panel .panel-name{font-size:clamp(27px, 1.6vw + 19px, 36px);}
.award-mark .award-title{font-size:clamp(27px, 2vw + 19px, 40px);}
