:root{
  --ink:#090d12;--navy:#071d35;--navy-2:#020a12;--blue:#006eb7;
  --cream:#eef2f5;--paper:#ffffff;--white:#fff;--red:#006eb7;--gold:#73bceb;
  --muted:#5c6773;--line:#cbd4dc;--shadow:0 20px 60px rgba(2,18,34,.18);
  --radius:16px;--max:1240px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit}
button,input,textarea,select{font:inherit}
[hidden]{display:none!important}
.skip-link{position:absolute;left:-999px;top:8px;background:#fff;padding:.7rem;z-index:1000}
.skip-link:focus{left:8px}

.site-header,.admin-header{
  min-height:78px;padding:14px max(24px,calc((100vw - var(--max))/2));
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  border-bottom:1px solid rgba(16,42,67,.12);background:rgba(255,253,248,.94);
  backdrop-filter:blur(14px);position:sticky;top:0;z-index:20
}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-mark{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:900;letter-spacing:.05em;border:3px solid var(--gold);box-shadow:inset 0 0 0 3px var(--navy)}
.brand strong,.brand small{display:block}
.brand small{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}
.primary-nav,.admin-header nav{display:flex;align-items:center;gap:20px}
.primary-nav a,.admin-header nav a{text-decoration:none;font-size:.9rem;font-weight:700}
.primary-nav a:hover,.admin-header nav a:hover{color:var(--blue)}
.nav-account{border:1px solid var(--navy);border-radius:999px;padding:8px 14px}
.nav-toggle{display:none;border:1px solid var(--navy);background:transparent;padding:8px 12px;border-radius:8px;font-weight:700}

.hero{min-height:calc(100vh - 78px);max-width:var(--max);margin:auto;padding:64px 24px 80px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;position:relative;overflow:hidden}
.hero-copy{z-index:2}
.hero-art{grid-column:2;grid-row:1;align-self:stretch;display:flex;align-items:center;justify-content:center}
.hero-art img{width:min(650px,100%);filter:drop-shadow(0 32px 24px rgba(16,42,67,.18))}
.hero h1,.page-hero h1,.car-hero h1,.login-section h1,.setup-intro h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.4rem,8vw,7.8rem);line-height:.9;letter-spacing:-.055em;margin:.2em 0}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;font-weight:900;color:var(--blue);margin:0 0 12px}
.hero-lead{font-size:clamp(1.1rem,1.8vw,1.45rem);max-width:720px;color:#334155}
.hero-actions,.button-row,.contribute-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.button{display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--navy);color:#fff;text-decoration:none;padding:13px 20px;border-radius:999px;font-weight:800;cursor:pointer}
.button:hover{background:var(--blue)}
.button:disabled{opacity:.5;cursor:not-allowed}
.button-ghost{background:transparent;color:var(--navy);border:1px solid var(--navy)}
.button-light{background:#fff;color:var(--navy)}
.button-small{padding:8px 13px;font-size:.86rem}
.hero-stat{position:absolute;right:24px;bottom:42px;width:250px;background:var(--navy);color:#fff;padding:22px;border-radius:var(--radius);box-shadow:var(--shadow);display:flex;gap:16px;align-items:center}
.hero-stat strong{font-family:Georgia,serif;font-size:3.2rem;color:var(--gold)}
.hero-stat span{font-size:.84rem;line-height:1.35}

.section,.timeline-section,.page-hero,.car-hero,.login-section{max-width:var(--max);margin:auto;padding:90px 24px}
.split-section,.two-column,.identity-grid,.location-detail,.owner-story{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}
.section h2,.timeline-section h2{font-family:Georgia,serif;font-size:clamp(2.4rem,5vw,4.6rem);line-height:1;letter-spacing:-.04em;margin:.1em 0 .45em}
.large-copy{font-size:clamp(1.25rem,2vw,1.75rem);margin-top:0}
.evidence-note{border-left:4px solid var(--gold);padding:12px 18px;background:var(--cream)}
.timeline-section{background:var(--cream);max-width:none;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2))}
.section-heading{max-width:760px;margin-bottom:42px}
.row-heading{max-width:none;display:flex;justify-content:space-between;gap:30px;align-items:end}
.text-link{font-weight:900;color:var(--blue);text-decoration:none}
.timeline{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.timeline li{display:grid;grid-template-columns:180px 1fr;gap:30px;padding:28px 0;border-bottom:1px solid var(--line)}
.timeline>li>span{font-family:Georgia,serif;font-size:2rem;font-weight:700;color:var(--red)}
.timeline h3{margin:0;font-size:1.25rem}
.timeline p{margin:.4rem 0;color:#475467}

.dark-section{background:var(--navy-2);color:#fff;max-width:none;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2))}
.dark-section .eyebrow{color:#7bc0e8}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.feature-grid article{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:24px}
.feature-grid img{height:170px;width:100%;object-fit:contain}
.feature-grid h3{font-size:1.35rem}

.car-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.car-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:0 8px 30px rgba(16,42,67,.08);transition:.2s transform,.2s box-shadow}
.car-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.car-card>a{text-decoration:none}
.car-card img{aspect-ratio:4/3;object-fit:cover;background:var(--cream);width:100%}
.car-card>a>div{padding:22px}
.car-card h3{font-family:Georgia,serif;font-size:2rem;margin:.45rem 0 .1rem}
.car-card p{color:#475467}
.status-pill{display:inline-flex;border-radius:999px;padding:5px 10px;background:#e7f2f8;color:var(--navy);font-size:.72rem;font-weight:900;letter-spacing:.05em}
.status-pill.warning{background:#fff0dc;color:#7a3d00}
.car-card dl,.owner-car-grid dl{display:grid;gap:7px}
.car-card dl div,.owner-car-grid dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #eee;padding:5px 0}
.car-card dt,.identity-panel dt,.owner-car-grid dt{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.car-card dd,.identity-panel dd,.owner-car-grid dd{margin:0;font-weight:700}

.location-band,.contribute-band{background:var(--red);color:#fff;max-width:none;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;gap:40px}
.location-band .eyebrow,.contribute-band .eyebrow{color:#ffe2a7}
.location-band>div,.contribute-band>div{max-width:760px}

.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.gallery-grid figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.gallery-button{display:block;width:100%;padding:0;border:0;background:var(--cream);cursor:zoom-in}
.gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery-grid figcaption{padding:16px}
.gallery-grid figcaption strong,.gallery-grid figcaption span{display:block}
.gallery-grid figcaption span,.gallery-grid figcaption small{color:var(--muted);font-size:.82rem}
.gallery-grid figcaption a{display:block;margin-top:10px;color:var(--blue);font-weight:800}
.compact-gallery figure:nth-child(n+4){display:none}

.site-footer{max-width:var(--max);margin:auto;padding:60px 24px;display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line)}
.site-footer p{max-width:650px;color:var(--muted)}
.footer-links{display:flex;gap:18px;flex-wrap:wrap;align-content:start}
.footer-links a{font-weight:700;text-decoration:none}

.page-hero{padding-top:110px;padding-bottom:60px}
.page-hero h1{font-size:clamp(3.5rem,8vw,7rem)}
.page-hero>p:last-child{max-width:780px;font-size:1.25rem;color:#475467}
.pale-section{background:var(--cream);max-width:none;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2))}
.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.location-grid article{background:#fff;padding:24px;border-radius:var(--radius);border:1px solid var(--line)}
.location-grid span,.location-grid strong{display:block}
.location-grid span{color:var(--red);font-weight:900}
.location-grid strong{font-family:Georgia,serif;font-size:2rem}

.car-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px}
.car-hero img{width:100%;border-radius:var(--radius);background:var(--cream);box-shadow:var(--shadow)}
.car-model{font-size:1.25rem;color:var(--muted)}
.identity-panel{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.identity-panel div{padding:18px;border-bottom:1px solid var(--line)}
.identity-panel div:nth-child(odd){border-right:1px solid var(--line)}
.prose{font-size:1.16rem}
.feature-detail{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}
.evidence-key{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.evidence-key span,.evidence-label{border:1px solid currentColor;padding:5px 9px;border-radius:999px;font-size:.74rem}
.location-detail strong{font-family:Georgia,serif;font-size:2.4rem}
.owner-story{background:#fff}

.source-list article{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;padding:30px 0;border-top:1px solid var(--line)}
.source-list article:last-child{border-bottom:1px solid var(--line)}
.source-list span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--red);font-weight:900}
.source-list h2{font-size:1.6rem}
.evidence-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.evidence-cards article,.submission-types article{padding:22px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}
.filter-bar button{border:1px solid var(--navy);background:transparent;border-radius:999px;padding:8px 13px;cursor:pointer}
.filter-bar button.active{background:var(--navy);color:#fff}

.form-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}
.submission-types{display:grid;gap:14px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid label,.login-card label{display:grid;gap:7px;font-weight:800}
.form-grid .full,.full{grid-column:1/-1}
.form-grid input,.form-grid textarea,.form-grid select,.login-card input,.inline-form select{width:100%;border:1px solid #b8b2a7;border-radius:10px;padding:11px 12px;background:#fff;color:var(--ink)}
.form-grid textarea{resize:vertical}
.form-grid small,.login-card small{font-weight:400;color:var(--muted)}
.form-grid hr{grid-column:1/-1;width:100%;border:0;border-top:1px solid var(--line)}
fieldset{border:1px solid var(--line);border-radius:12px;padding:15px}
legend{font-weight:800}

.editor-card,.login-card,.setup-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 10px 35px rgba(16,42,67,.07)}
.login-section{min-height:75vh;display:grid;grid-template-columns:1fr 430px;gap:8vw;align-items:center}
.login-card{display:grid;gap:20px}
.login-section h1{font-size:clamp(3rem,7vw,6rem)}

.flash{max-width:var(--max);margin:14px auto;padding:13px 18px;border-radius:10px}
.flash-success{background:#e5f6ec;color:#155f35}
.flash-error{background:#fde8e5;color:#8d2319}
.flash-warning{background:#fff1d6;color:#704500}

.lightbox{border:0;border-radius:16px;padding:14px;background:#0b1220;color:#fff;max-width:min(1000px,92vw)}
.lightbox::backdrop{background:rgba(2,6,23,.88)}
.lightbox img{max-height:75vh;margin:auto}
.lightbox-close{float:right;background:#fff;border:0;width:36px;height:36px;border-radius:50%;font-size:1.4rem;cursor:pointer}

.setup-body{background:var(--cream)}
.setup-shell{min-height:100vh;max-width:1160px;margin:auto;padding:50px 24px;display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw;align-items:center}
.setup-intro h1{font-size:clamp(3rem,6vw,6rem)}
.mysql-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;grid-column:1/-1}

.admin-body{background:#f3f5f7}
.admin-header{position:sticky;background:var(--navy-2);color:#fff;border:0}
.admin-header .brand small{color:#b7c7d6}
.admin-header nav{flex-wrap:wrap;justify-content:flex-end}
.admin-main{max-width:var(--max);margin:auto;padding:40px 24px 90px}
.admin-page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}
.admin-page-heading h1{font-family:Georgia,serif;font-size:3rem;margin:0}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}
.stat-grid a{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;text-decoration:none}
.stat-grid strong,.stat-grid span{display:block}
.stat-grid strong{font-family:Georgia,serif;font-size:3rem;color:var(--red)}
.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.permission-grid article{background:var(--cream);padding:18px;border-radius:12px}
.editor-card{margin-bottom:22px}
.card-heading,.toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}
.card-heading h2,.editor-card h2{font-family:Georgia,serif;margin:.1rem 0;font-size:2rem}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
td small{display:block;color:var(--muted)}
.admin-split{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:22px}
.stack-list{display:grid;gap:12px}
.stack-list article{display:flex;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:12px;padding:15px}
.stack-list p{margin:.3rem 0;color:#475467}
.inline-actions,.inline-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.inline-actions a,.link-button{color:var(--blue);font-weight:800;background:none;border:0;padding:0;cursor:pointer;text-decoration:none}
.link-button.danger,.danger{color:var(--red)}
.check-label{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;justify-content:start}
.check-label input{width:auto!important}

.media-admin-grid{display:grid;gap:14px}
.media-admin-grid article{display:grid;grid-template-columns:150px 1fr;gap:16px;border:1px solid var(--line);padding:12px;border-radius:12px}
.media-admin-grid img{width:150px;aspect-ratio:4/3;object-fit:cover;border-radius:8px;background:var(--cream)}
.media-admin-grid small{display:block;color:var(--muted)}
.media-preview{background:var(--cream);border-radius:12px;padding:16px}
.media-preview img{max-height:480px;margin:auto;border-radius:8px}

.owner-car-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.owner-car-grid article img{aspect-ratio:16/8;object-fit:cover;border-radius:12px;background:var(--cream)}
.owner-scope-note{border-left:6px solid var(--gold)}
.submission-admin-list{display:grid;gap:20px}
.submission-admin-list>article{display:grid;grid-template-columns:220px 1fr 150px;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.submission-meta>*{display:block}
.submission-thumb{max-width:300px;margin-top:14px;border-radius:10px}
.candidate{border-style:dashed}

@media(max-width:980px){
  .primary-nav{display:none;position:absolute;top:77px;left:0;right:0;background:var(--paper);padding:20px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}
  .primary-nav.open{display:flex}.nav-toggle{display:block}
  .hero,.car-hero,.login-section,.setup-shell{grid-template-columns:1fr}
  .hero{padding-top:30px}.hero-art{grid-column:1;grid-row:auto}.hero-stat{position:static;margin-top:20px;width:auto}
  .split-section,.two-column,.identity-grid,.location-detail,.owner-story,.form-layout,.feature-detail{grid-template-columns:1fr}
  .car-grid,.gallery-grid,.feature-grid,.location-grid{grid-template-columns:repeat(2,1fr)}
  .admin-header{align-items:flex-start}.admin-header nav{gap:12px}
  .stat-grid,.permission-grid{grid-template-columns:repeat(2,1fr)}
  .admin-split{grid-template-columns:1fr}
  .submission-admin-list>article{grid-template-columns:1fr}
  .compact-gallery figure:nth-child(n+4){display:block}
}

@media(max-width:650px){
  .site-header{padding:12px 16px}.brand strong{font-size:.86rem}.brand small{display:none}.brand-mark{width:42px;height:42px}
  .section,.timeline-section,.page-hero,.car-hero,.login-section{padding:65px 18px}
  .hero{padding:35px 18px 60px}.hero h1{font-size:3.7rem}
  .car-grid,.gallery-grid,.feature-grid,.location-grid,.owner-car-grid,.evidence-cards,.stat-grid,.permission-grid{grid-template-columns:1fr}
  .timeline li{grid-template-columns:1fr;gap:6px}.timeline>li>span{font-size:1.5rem}
  .row-heading,.location-band,.contribute-band,.site-footer,.admin-page-heading{align-items:flex-start;flex-direction:column}
  .identity-panel{grid-template-columns:1fr}.identity-panel div:nth-child(odd){border-right:0}
  .form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}
  .admin-header{position:static;flex-direction:column}.admin-header nav{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .media-admin-grid article{grid-template-columns:1fr}.media-admin-grid img{width:100%}
  .mysql-fields{grid-template-columns:1fr}.setup-shell{padding:24px 16px}
}

.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Temporary externally sourced photographs */
.external-image-link{position:relative;display:block;text-decoration:none}
.external-image-link img{width:100%}
.image-rights-label{position:absolute;left:12px;right:12px;bottom:12px;padding:8px 11px;border-radius:9px;background:rgba(10,29,45,.9);color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.03em;line-height:1.25}
.card-source-link{display:block!important;padding:11px 18px;border-top:1px solid var(--line);background:#fff8e8;color:#7a3d00!important;font-size:.75rem;font-weight:900;text-decoration:none}
.card-source-link:hover{background:#ffefc8}
.car-hero-image{min-width:0}
.car-hero-image .external-image-link{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.car-hero-image .external-image-link img{box-shadow:none;border-radius:0}

/* Public visitor counter */
.visitor-counter{position:fixed;top:88px;left:12px;z-index:19;display:flex;align-items:baseline;gap:7px;padding:7px 10px;border:1px solid rgba(16,42,67,.2);border-radius:999px;background:rgba(255,253,248,.94);box-shadow:0 5px 18px rgba(16,42,67,.14);font-size:.7rem;line-height:1;pointer-events:none;backdrop-filter:blur(10px)}
.visitor-counter span{font-weight:800;color:var(--muted)}
.visitor-counter strong{font-size:.92rem;color:var(--navy)}

/* Publication state, approval queue and analytics */
.site-state-card{display:flex;align-items:center;justify-content:space-between;gap:24px;border-left:7px solid var(--gold)}
.site-state-card h2{margin:.1rem 0}.site-state-card p{margin:.35rem 0;max-width:820px}
.button-danger{background:var(--red)}.button-danger:hover{background:#8e2d22}
.update-needed-card{border:2px solid var(--gold)}
.status-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;border-radius:12px;margin:20px 0;background:#edf8f0;color:#155b34}
.status-banner strong,.status-banner span{display:block}.status-banner span{font-size:.9rem}
.review-note{padding:14px 16px;border-left:5px solid var(--gold);background:#fff8e8;border-radius:8px;margin:16px 0}.review-note p{margin:.35rem 0 0}
.change-summary{display:grid;gap:0;margin:0}.change-summary>div{padding:12px 0;border-bottom:1px solid var(--line)}.change-summary dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;font-weight:900;color:var(--muted)}.change-summary dd{margin:5px 0 0;white-space:normal}
.live-values-card{align-self:start}.owner-change-layout{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)}
.change-request-list{display:grid;gap:22px}.change-request-card{margin:0}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0}.comparison-grid>section{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fff}.comparison-grid h3{margin-top:0}.proposed-values{background:#fffdf4}.approval-form{border-top:1px solid var(--line);padding-top:18px}.approval-form label{display:grid;gap:8px;font-weight:800}
.filter-links{display:flex;gap:8px;flex-wrap:wrap}.filter-links a{padding:7px 11px;border-radius:999px;background:var(--cream);text-decoration:none;font-size:.78rem;font-weight:800}.filter-links a.active{background:var(--navy);color:#fff}
.analytics-stats>div{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}.analytics-stats strong,.analytics-stats span{display:block}.analytics-stats strong{font-family:Georgia,serif;font-size:2.6rem;color:var(--red)}
.analytics-layout{grid-template-columns:1fr 1fr}.analytics-bars{display:grid;gap:17px}.analytics-bars>div{display:grid;gap:7px}.bar-label{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.bar-label span{font-size:.78rem;color:var(--muted);text-align:right}.bar-track{display:block;height:9px;background:var(--cream);border-radius:999px;overflow:hidden}.bar-track>span{display:block;height:100%;background:var(--blue);border-radius:999px}.muted{color:var(--muted);font-weight:400}
.admin-header nav{flex-wrap:wrap;justify-content:flex-end}
.stat-grid{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))}

@media(max-width:980px){
  .visitor-counter{top:86px}
  .site-state-card,.comparison-grid{grid-template-columns:1fr;display:grid;align-items:start}
  .analytics-layout,.owner-change-layout{grid-template-columns:1fr}
}
@media(max-width:650px){
  .visitor-counter{top:70px;left:8px;padding:6px 8px}.visitor-counter span{max-width:105px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .site-state-card{display:grid}.bar-label{display:grid}.bar-label span{text-align:left}
}

/* Police Mini black, white and warning-blue identity */
body{background:#fff}
.site-header,.admin-header{border-bottom:3px solid var(--blue);background:rgba(255,255,255,.96)}
.brand-mark{width:auto;min-width:72px;height:34px;padding:0 9px;border-radius:3px;background:#fff;color:#05080c;border:3px solid #05080c;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--blue);font-size:.68rem;letter-spacing:.13em}
.primary-nav a:hover,.admin-header nav a:hover{color:var(--blue)}
.nav-account{border:2px solid var(--blue);color:var(--navy)}
.button{border-radius:4px;background:var(--blue);text-transform:uppercase;letter-spacing:.045em;font-size:.82rem}
.button:hover{background:#004f86}.button-ghost{background:#fff;color:var(--navy);border:2px solid var(--navy)}
.button-on-colour{background:transparent;color:#fff;border-color:#fff}
.eyebrow{color:var(--blue)}

.police-hero{grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr);gap:42px;min-height:calc(100vh - 78px);max-width:none;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2));background:linear-gradient(115deg,#fff 0 44%,#e9eef2 44% 100%)}
.police-hero .hero-copy{grid-column:1;grid-row:1}.historic-hero-art{grid-column:2;grid-row:1;display:block;align-self:center;background:#05080c;padding:10px;border-bottom:9px solid var(--blue);box-shadow:var(--shadow)}
.historic-hero-art img{width:100%;max-height:70vh;object-fit:cover;filter:grayscale(1) contrast(1.08);drop-shadow:none}
.hero-image-credit{margin:8px 3px 0;color:#d8e5ef;font-size:.72rem;letter-spacing:.03em}
.police-hero h1{font-family:Arial Black,Impact,system-ui,sans-serif;text-transform:uppercase;letter-spacing:-.065em;color:#05080c}
.fleet-statement{background:#05080c;border-left:7px solid var(--blue);border-radius:3px}.fleet-statement strong{font-family:Arial Black,Impact,sans-serif;color:#fff;font-size:2.2rem;letter-spacing:.08em}

.black-section{background:#05080c;color:#fff;max-width:none;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2))}
.blue-section{background:var(--blue);color:#fff;max-width:none;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2))}
.blue-section .eyebrow,.black-section .eyebrow{color:#cbeaff}.blue-section a,.black-section a{color:inherit}
.dark-section{background:var(--navy-2);border-top:8px solid var(--blue);border-bottom:8px solid var(--blue)}
.pale-section{background:#eef2f5}
.location-band,.contribute-band{background:var(--blue)}
.timeline>li>span,.location-grid span,.source-list span,.stat-grid strong,.analytics-stats strong{color:var(--blue)}
.evidence-note,.review-note,.owner-scope-note,.site-state-card{border-left-color:var(--blue)}
.status-pill{background:#dcedf8;color:#07375b}.status-pill.warning{background:#f2f3f5;color:#343c44}

.fleet-rollcall{display:flex;gap:12px;flex-wrap:wrap}.fleet-rollcall a{display:inline-flex;padding:13px 17px;border:2px solid #080b0f;background:#fff;text-decoration:none;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.05rem;font-weight:900;box-shadow:4px 4px 0 var(--blue)}.fleet-rollcall a:hover{transform:translate(-1px,-1px);box-shadow:6px 6px 0 var(--blue)}
.text-features article{position:relative;min-height:230px;background:rgba(255,255,255,.07);border-radius:4px;border-top:5px solid var(--blue)}
.feature-number{display:block;font-family:Arial Black,Impact,sans-serif;font-size:2.3rem;color:var(--gold);line-height:1}.section-action{margin-top:28px}
.feature-page-hero,.hire-hero{border-bottom:10px solid var(--blue);background:linear-gradient(100deg,#fff 0 66%,#071d35 66%)}
.car-card,.gallery-grid figure,.identity-panel,.location-grid article,.editor-card{border-radius:4px}.car-card{border-top:6px solid var(--blue)}
.car-hero{background:#eef2f5;max-width:none;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2));border-bottom:9px solid var(--blue)}
.car-hero h1{font-family:Arial Black,Impact,system-ui,sans-serif;text-transform:uppercase}.car-hero img{border-radius:3px;filter:grayscale(.15)}

.section-stack article.is-unpublished,.stack-list article.is-unpublished{opacity:.56;background:#eef1f3}.section-editor-layout{grid-template-columns:minmax(390px,.9fr) minmax(0,1.1fr)}
.section-stack article{align-items:center}.section-stack strong,.section-stack small{display:block}
.hire-admin-layout{display:grid;grid-template-columns:minmax(250px,.55fr) minmax(0,1.45fr);gap:22px}.hire-request-list{align-self:start;position:sticky;top:100px}.hire-request-row{display:grid;gap:4px;padding:15px 5px;border-bottom:1px solid var(--line);text-decoration:none}.hire-request-row.active{background:#e5f1fa;border-left:5px solid var(--blue);padding-left:12px}.hire-request-row em{font-size:.75rem;color:var(--muted);font-style:normal}.hire-contact-panel{margin-bottom:22px}.request-brief{padding:20px;background:#eef2f5;border-left:6px solid var(--blue);margin:22px 0}.owner-dispatch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 30px}.owner-dispatch-grid .button{grid-column:1/-1;justify-self:start}

.visitor-counter{border:2px solid #05080c;border-radius:3px;background:#fff;box-shadow:4px 4px 0 var(--blue)}
.admin-header{background:#05080c;border-bottom-color:var(--blue);color:#fff}.admin-header .brand-mark{background:#fff;color:#05080c}.admin-header .brand small{color:#b9c8d5}.admin-header nav a{color:#fff}
.admin-body{background:#f0f3f6}.admin-main{background:#f0f3f6}.editor-card{background:#fff;border:1px solid var(--line);padding:24px;box-shadow:0 7px 24px rgba(4,24,42,.06)}

@media(max-width:980px){.police-hero{grid-template-columns:1fr;background:#fff}.police-hero .hero-copy{grid-column:1;grid-row:1}.historic-hero-art{grid-column:1;grid-row:2}.historic-hero-art img{max-height:none}.hire-admin-layout,.section-editor-layout{grid-template-columns:1fr}.hire-request-list{position:static}.owner-dispatch-grid{grid-template-columns:1fr}}
@media(max-width:650px){.brand-mark{min-width:58px;height:30px;font-size:.58rem}.police-hero h1{font-size:3.8rem}.feature-page-hero,.hire-hero{background:#fff}.fleet-rollcall a{font-size:.9rem;padding:10px 12px}}


.secondary-photo-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);gap:0;align-items:stretch;max-width:none;background:#05080c;color:#fff;border-top:8px solid var(--blue);border-bottom:8px solid var(--blue)}
.secondary-hero-image{margin:0;min-width:0;position:relative;background:#05080c}.secondary-hero-image img{display:block;width:100%;height:100%;min-height:420px;max-height:72vh;object-fit:cover;filter:grayscale(1) contrast(1.08)}
.secondary-hero-image figcaption{position:absolute;left:14px;bottom:12px;max-width:calc(100% - 28px);padding:7px 9px;background:rgba(0,0,0,.78);font-size:.7rem;color:#e8f1f7}.secondary-hero-image figcaption a{color:#fff}
.secondary-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,6vw,84px)}.secondary-hero-copy h2{margin:.2rem 0 1rem;font-size:clamp(2rem,4.8vw,4.6rem);line-height:.94;color:#fff}.secondary-hero-copy p:not(.eyebrow){font-size:1rem;line-height:1.65;color:#d8e5ef}.secondary-hero-copy .button{align-self:flex-start;margin-top:14px;background:#fff;color:#05080c;border-color:#fff}
@media(max-width:980px){.secondary-photo-hero{grid-template-columns:1fr}.secondary-hero-image img{min-height:0;max-height:none}.secondary-hero-copy{padding:38px 24px 46px}}

/* Invitations and account recovery */
.access-link-card{border:2px solid var(--blue);box-shadow:6px 6px 0 rgba(0,95,163,.18)}
.copy-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:7px}
.copy-field input{width:100%;border:1px solid #9ba9b6;border-radius:4px;padding:11px 12px;background:#f5f8fa;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}
.account-actions{margin-top:24px}.account-actions h3{font-family:Georgia,serif;font-size:1.45rem;margin-bottom:.3rem}
.auth-inner-form{padding:0;box-shadow:none;border:0;margin:0}
.login-card .flash{margin:0;max-width:none}
@media(max-width:650px){.copy-field{grid-template-columns:1fr}.copy-field .button{justify-self:start}}

/* 2026 editorial consolidation */
.compact-home-hero{min-height:auto;padding-top:54px;padding-bottom:54px}
.compact-home-hero h1{font-size:clamp(2.65rem,6vw,5.8rem);line-height:.88;margin:.25rem 0 .7rem}
.compact-home-hero .hero-lead{font-size:clamp(1rem,1.6vw,1.28rem);line-height:1.55;max-width:640px}
.compact-home-hero .eyebrow{font-size:.72rem}.compact-home-hero .hero-stat{padding:16px 18px}.compact-home-hero .hero-stat strong{font-size:1.35rem}
.compact-page-hero{padding-top:62px;padding-bottom:52px}.compact-page-hero h1{font-size:clamp(2.2rem,5vw,4.6rem)}
.section,.timeline-section{padding-top:72px;padding-bottom:72px}.section h2,.timeline-section h2{font-size:clamp(1.75rem,3.6vw,3.2rem)}
.section-heading>p,.page-hero>p,.prose{font-size:.98rem;line-height:1.65}
.registration-tile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.registration-tile-grid>a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px;border:2px solid #080b0f;background:#fff;text-decoration:none;box-shadow:4px 4px 0 var(--blue)}
.registration-tile-grid>a strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.08rem;color:#080b0f}.registration-tile-grid>a span{font-size:.75rem;color:var(--muted)}
.compact-registration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-registration-grid>a{padding:12px}
.timeline-car-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.timeline-car-links a,.media-car-links a{display:inline-flex;padding:6px 9px;border:1px solid currentColor;border-radius:999px;font-size:.73rem;font-weight:900;text-decoration:none}
.image-features{grid-template-columns:repeat(2,minmax(0,1fr))}.image-features article{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr);min-height:230px;overflow:hidden;padding:0}.image-features img{width:100%;height:100%;min-height:230px;object-fit:cover}.image-features article>div{padding:25px}
.gallery-tile-grid>div{min-width:0}.gallery-grid figure{height:100%;display:flex;flex-direction:column}.gallery-grid figcaption{flex:1}.gallery-grid figcaption p{font-size:.88rem}.gallery-grid img{aspect-ratio:4/3;object-fit:cover}
.article-tile-grid,.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.article-tile-grid article,.story-grid article{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:22px;box-shadow:0 8px 28px rgba(16,42,67,.08)}.article-tile-grid h2,.article-tile-grid h3,.story-grid h2,.story-grid h3{font-size:1.25rem;margin:.55rem 0}.article-tile-grid small{display:block;margin-top:10px;color:var(--muted)}
.article-detail{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);gap:50px;align-items:start}.article-detail aside{border-left:5px solid var(--blue);padding-left:22px}
.canonical-media-note{padding:12px 15px;border-left:5px solid var(--blue);background:#eef6fb;font-size:.88rem}.media-car-links{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0}
.fleet-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.fleet-card{border:1px solid var(--line);background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.fleet-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.fleet-card-content{padding:20px}.fleet-card h3{margin:.4rem 0}.fleet-card .text-link{display:inline-block;margin-top:10px}
.media-checkbox-grid,.relation-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.media-checkbox-grid label,.relation-picker label{border:1px solid var(--line);padding:9px;border-radius:8px;background:#fff}
@media(max-width:980px){.registration-tile-grid,.fleet-card-grid,.article-tile-grid,.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.image-features article{grid-template-columns:1fr}.image-features img{height:210px;min-height:0}.article-detail{grid-template-columns:1fr}.article-detail aside{border-left:0;border-top:5px solid var(--blue);padding:20px 0 0}.media-checkbox-grid,.relation-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.compact-home-hero{padding-top:34px;padding-bottom:45px}.compact-home-hero h1{font-size:3.1rem}.section,.timeline-section{padding-top:52px;padding-bottom:52px}.registration-tile-grid,.fleet-card-grid,.article-tile-grid,.story-grid,.image-features,.media-checkbox-grid,.relation-picker{grid-template-columns:1fr}.compact-registration-grid{grid-template-columns:1fr}}

/* 2026 final public presentation */
.police-hero{grid-template-columns:minmax(320px,.62fr) minmax(0,1.38fr);gap:30px;padding-left:max(18px,calc((100vw - 1720px)/2));padding-right:max(18px,calc((100vw - 1720px)/2))}
.historic-hero-art{position:relative;overflow:hidden;padding:10px}
.historic-hero-art img{max-height:76vh}
.hero-image-credit{position:absolute;left:18px;bottom:18px;z-index:2;max-width:calc(100% - 36px);margin:0;padding:7px 10px;background:rgba(0,0,0,.78);color:#fff}
.hero-image-credit a{color:#fff}
.gallery-preview-band{background:#05080c;color:#fff;max-width:none;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2));border-top:7px solid var(--blue);border-bottom:7px solid var(--blue)}
.gallery-preview-band .eyebrow{color:#9fd4ff}.gallery-preview-band .section-heading p{color:#d8e5ef}
.gallery-preview-band .gallery-grid figure{background:#151c24;color:#fff;border-color:#364454;box-shadow:none}
.gallery-preview-band .gallery-grid figcaption p,.gallery-preview-band .gallery-grid figcaption small{color:#d2dbe4}
.gallery-preview-band .gallery-grid figcaption a{color:#9fd4ff}
.random-gallery-preview{grid-template-columns:repeat(3,minmax(0,1fr))}
.claim-band{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:50px;align-items:center}
.claim-band .contribute-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.car-profile-link{display:block;height:100%;color:inherit;text-decoration:none}
.fleet-card h3{font-size:1.55rem}.fleet-card .card-model{font-weight:700;color:var(--muted);font-size:.85rem}.card-link{display:inline-block;margin-top:10px;color:var(--blue)}
@media(max-width:980px){.police-hero{grid-template-columns:1fr;padding-left:18px;padding-right:18px}.random-gallery-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.claim-band{grid-template-columns:1fr}}
@media(max-width:650px){.random-gallery-preview{grid-template-columns:1fr}.hero-image-credit{left:14px;bottom:14px;max-width:calc(100% - 28px)}}

/* Consolidated public and analytics refinements */
.police-hero{max-width:1720px;width:100%}
.analytics-stats-wide{grid-template-columns:repeat(4,minmax(0,1fr))}
.analytics-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:22px 0}
.analytics-rank-list{display:grid;gap:0}
.analytics-rank-list>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line)}
.analytics-rank-list>div:last-child{border-bottom:0}
.analytics-rank-list span{font-weight:900;color:var(--blue)}
@media(max-width:1100px){.analytics-stats-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.analytics-stats-wide,.analytics-grid-3{grid-template-columns:1fr}}
.inline-sources{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:16px}.inline-sources .inline-source{display:inline-flex}

/* Consolidated responsive and editorial refinements */
.secondary-photo-hero{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(330px,.5fr);
  grid-template-areas:"image copy";
  width:100%;
  max-width:none;
  margin:0;
  background:#05080c;
  color:#fff;
  border-top:8px solid var(--blue);
  border-bottom:8px solid var(--blue);
  overflow:hidden;
}
.secondary-hero-image{
  grid-area:image;
  margin:0;
  min-width:0;
  position:relative;
  background:#05080c;
  overflow:hidden;
}
.secondary-hero-image img{
  display:block;
  width:100%;
  height:clamp(450px,42vw,760px);
  object-fit:cover;
  object-position:center;
  filter:grayscale(1) contrast(1.08);
}
.secondary-hero-image figcaption{
  position:absolute;
  left:20px;
  bottom:18px;
  max-width:calc(100% - 40px);
  padding:7px 10px;
  background:rgba(0,0,0,.8);
  font-size:.66rem;
  line-height:1.35;
  color:#f2f6f9;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.secondary-hero-image figcaption a{color:#fff}
.secondary-hero-copy{
  grid-area:copy;
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(36px,4.5vw,82px);
  background:#05080c;
  color:#fff;
}
.secondary-hero-copy .eyebrow{color:#7bc0e8}
.secondary-hero-copy h2{
  margin:.18rem 0 1.2rem;
  max-width:8.5ch;
  font-family:"Arial Black",Impact,ui-sans-serif,system-ui,sans-serif;
  font-size:clamp(2.65rem,3.7vw,5.35rem);
  font-weight:900;
  line-height:.92;
  letter-spacing:-.055em;
  color:#fff;
}
.secondary-hero-copy p:not(.eyebrow){
  max-width:34rem;
  font-size:clamp(.96rem,1.08vw,1.12rem);
  line-height:1.68;
  color:#d8e5ef;
}
.secondary-hero-copy .button{
  align-self:flex-start;
  margin-top:16px;
  background:#fff;
  color:#05080c;
  border-color:#fff;
}
.secondary-hero-copy .button:hover{background:#d9edf9;color:#05080c}

.inline-sources{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;margin-top:12px;max-width:100%;overflow-x:auto;white-space:nowrap;font-size:.66rem;line-height:1.2;scrollbar-width:thin}
.inline-sources .inline-source{display:inline-flex;flex:0 0 auto;padding:4px 7px;border:1px solid rgba(20,40,58,.18);background:rgba(255,255,255,.72);color:#314354;text-decoration:none}
.dark-section .inline-sources .inline-source,.black-section .inline-sources .inline-source,.gallery-preview-band .inline-sources .inline-source{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:#d9ebf8}

/* Keep white content cards legible when a homepage band uses the dark alternating theme. */
.dark-section .fleet-card,.black-section .fleet-card{color:var(--ink)}
.dark-section .fleet-card p,.black-section .fleet-card p{color:#475467}
.dark-section .fleet-card .card-link,.black-section .fleet-card .card-link{color:var(--blue)}

.hire-hero{background:#fff;border-bottom:8px solid var(--blue)}
.hire-editorial-layout{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:0;align-items:stretch;padding:0;max-width:var(--max);margin:clamp(38px,6vw,86px) auto;background:#05080c;border-top:7px solid var(--blue);border-bottom:7px solid var(--blue);box-shadow:var(--shadow)}
.hire-editorial-layout>div{padding:clamp(32px,5vw,68px);background:#05080c;color:#fff}
.hire-editorial-layout>div h2{color:#fff;font-size:clamp(2rem,4vw,4rem);line-height:.98}
.hire-editorial-layout>div p{color:#d7e4ee}
.hire-editorial-layout>form{margin:0;padding:clamp(28px,4vw,58px);background:#fff;border-radius:0;box-shadow:none}
.hire-privacy-note{margin-top:24px;padding:14px 16px;border-left:4px solid var(--blue);background:rgba(255,255,255,.08);font-size:.85rem}

.fleet-directory{padding-top:24px}

.admin-header nav a{font-size:.78rem}
.admin-page-heading .eyebrow{letter-spacing:.12em}

@media(max-width:1050px){
  .secondary-photo-hero{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}
  .secondary-hero-copy h2{font-size:clamp(2.5rem,5vw,4.3rem)}
}
@media(max-width:820px){
  .secondary-photo-hero{grid-template-columns:1fr;grid-template-areas:"image" "copy"}
  .secondary-hero-image img{height:auto;min-height:0;aspect-ratio:16/9}
  .secondary-hero-copy{padding:38px 24px 46px}
  .secondary-hero-copy h2{max-width:11ch}
  .hire-editorial-layout{grid-template-columns:1fr;margin-left:18px;margin-right:18px}
}
@media(max-width:650px){
  .secondary-hero-image figcaption{font-size:.6rem;left:10px;bottom:10px;max-width:calc(100% - 20px)}
  .inline-sources{font-size:.61rem}
  .hire-editorial-layout{margin-left:12px;margin-right:12px}
}
.story-submission-layout,.story-draft-shell{display:grid;grid-template-columns:minmax(250px,.55fr) minmax(0,1.45fr);gap:28px;align-items:start}
.story-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);background:#eef3f7}.story-toolbar button{border:1px solid #aab8c4;background:#fff;padding:7px 10px;font-weight:800;cursor:pointer}.story-toolbar span{font-size:.75rem;color:var(--muted)}
.draft-access-card{position:sticky;top:98px;padding:26px;background:#05080c;color:#fff;border-top:6px solid var(--blue)}.draft-access-card h2{color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.draft-access-card input{width:100%;margin:10px 0;padding:10px;background:#fff;color:#05080c}.review-note{margin-top:24px;padding:16px;background:rgba(255,255,255,.09);border-left:4px solid var(--blue)}
.draft-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.draft-media-grid label{display:grid;gap:7px;font-size:.75rem}.draft-media-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}
.story-prose h2,.story-prose h3{margin-top:1.8em}.story-prose ul{padding-left:1.25rem}.edit-request-action{margin-top:32px}
@media(max-width:900px){.story-submission-layout,.story-draft-shell{grid-template-columns:1fr}.draft-access-card{position:static}.draft-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.draft-media-grid{grid-template-columns:1fr}}


/* Public story draft return */
.draft-return-panel{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:28px;align-items:end;background:#eef3f7;border-top:1px solid #ccd6df;border-bottom:1px solid #ccd6df}
.draft-return-panel h2{margin:.15em 0}.draft-return-form{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end;padding:22px}.draft-return-form .button{min-height:52px}.draft-return-form .full{grid-column:1/-1}
@media(max-width:900px){.draft-return-panel{grid-template-columns:1fr}.draft-return-form{grid-template-columns:1fr}.draft-return-form .button{width:100%}}


/* Final Hire-page hero and story approval refinements */
.hire-page-hero{border-bottom:8px solid var(--blue);background:linear-gradient(115deg,#fff 0 43%,#e9eef2 43% 100%)}
.hire-page-hero .hero-copy{grid-column:1;grid-row:1}
.hire-page-hero .hire-hero-art{grid-column:2;grid-row:1;margin:0;position:relative}
.hire-page-hero .hire-hero-art img{width:100%;height:clamp(390px,48vw,690px);object-fit:cover;object-position:center;filter:grayscale(1) contrast(1.07)}
#hire-request{scroll-margin-top:96px}
@media(max-width:980px){.hire-page-hero{grid-template-columns:1fr;background:#fff}.hire-page-hero .hero-copy{grid-column:1;grid-row:1}.hire-page-hero .hire-hero-art{grid-column:1;grid-row:2}.hire-page-hero .hire-hero-art img{height:auto;aspect-ratio:16/10}}

/* August 2026: shared responsive editorial heroes and alternating homepage bands */
.police-hero{
  grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr);
  grid-template-areas:"copy art";
  gap:0;
  align-items:stretch;
  min-height:0;
  width:min(1720px,calc(100% - 36px));
  max-width:1720px;
  margin:clamp(28px,4vw,64px) auto;
  padding:0;
  overflow:hidden;
  background:#fff;
  border-top:8px solid var(--blue);
  border-bottom:8px solid var(--blue);
  box-shadow:var(--shadow);
}
.police-hero .hero-copy{
  grid-area:copy;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:clamp(34px,5vw,82px);
  background:#fff;
}
.police-hero .hero-copy h1{
  max-width:8ch;
  margin:.18rem 0 .8rem;
  font-size:clamp(3.4rem,6.4vw,7.3rem);
  line-height:.86;
}
.police-hero .hero-art{
  grid-area:art;
  position:relative;
  min-width:0;
  min-height:clamp(430px,43vw,720px);
  margin:0;
  padding:0;
  overflow:hidden;
  background:#0a0d11;
}
.police-hero .hero-art>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-height:none;
  object-fit:cover;
  object-position:center;
  filter:grayscale(1) contrast(1.06);
  box-shadow:none;
}
.police-hero .hero-image-credit{z-index:3}

.secondary-photo-hero{
  grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);
  align-items:stretch;
}
.secondary-hero-image{
  min-height:clamp(430px,42vw,720px);
}
.secondary-hero-image img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:0;
  max-height:none;
  object-fit:cover;
}
.secondary-hero-copy{align-self:stretch}

/* The gallery teaser is a light breathing space; the fleet preview closes on dark. */
.gallery-preview-band{
  max-width:none;
  background:#fff;
  color:var(--ink);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.gallery-preview-band .eyebrow{color:var(--blue)}
.gallery-preview-band .section-heading p{color:var(--muted)}
.gallery-preview-band .gallery-grid figure{background:#fff;color:var(--ink);border-color:var(--line);box-shadow:var(--shadow)}
.gallery-preview-band .gallery-grid figcaption p,.gallery-preview-band .gallery-grid figcaption small{color:var(--muted)}
.gallery-preview-band .gallery-grid figcaption a{color:var(--blue)}

.proposal-review{margin:20px 0;padding:16px 18px;border-left:5px solid var(--blue);background:#eef3f7}
.proposal-review ul{margin:.7rem 0 0;padding-left:1.15rem}
.proposal-review li{margin:.4rem 0}
.dark-section .proposal-review,.black-section .proposal-review{background:rgba(255,255,255,.09);color:#fff}

/* Hire shares the white editorial hero without a coloured wedge. */
.hire-page-hero{background:#fff}
.hire-page-hero .hero-copy{grid-area:copy}
.hire-page-hero .hire-hero-art{grid-area:art}
.hire-page-hero .hire-hero-art img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover}

@media(max-width:980px){
  .police-hero{
    grid-template-columns:1fr;
    grid-template-areas:"copy" "art";
    width:calc(100% - 24px);
    margin:20px auto 34px;
  }
  .police-hero .hero-art{min-height:0;aspect-ratio:16/10}
  .police-hero .hero-copy{padding:34px 24px 40px}
  .police-hero .hero-copy h1{font-size:clamp(3rem,14vw,5.7rem)}
  .secondary-photo-hero{grid-template-columns:1fr;grid-template-areas:"image" "copy"}
  .secondary-hero-image{min-height:0;aspect-ratio:16/9}
  .secondary-hero-copy{padding:38px 24px 46px}
}
@media(max-width:600px){
  .police-hero{width:calc(100% - 16px);border-top-width:6px;border-bottom-width:6px}
  .police-hero .hero-art{aspect-ratio:4/3}
}


/* Development notice beneath the public counter */
.visitor-counter{pointer-events:auto;display:grid;gap:5px;align-items:start;line-height:1.1}
.visitor-counter-main{display:flex;align-items:baseline;gap:7px}
.visitor-counter>a{padding-top:5px;border-top:1px solid rgba(9,13,18,.18);color:var(--blue);font-size:.58rem;font-weight:900;letter-spacing:.04em;text-decoration:none;text-transform:uppercase}
.visitor-counter>a:hover{text-decoration:underline}


/* August 2026: adaptive editorial width, card density and canonical media presentation */
:root{
  --max:1440px;
  --editorial-max:1640px;
  --page-gutter:clamp(18px,3.6vw,72px);
  --section-gutter:clamp(22px,4.2vw,78px);
}

/* A little air at the browser edges while keeping the large editorial scale. */
.site-header,.admin-header{
  padding-left:max(var(--page-gutter),calc((100vw - var(--max))/2));
  padding-right:max(var(--page-gutter),calc((100vw - var(--max))/2));
}
.section,.timeline-section,.page-hero,.car-hero,.login-section{
  padding-left:var(--section-gutter);
  padding-right:var(--section-gutter);
}
.dark-section,.pale-section,.black-section,.timeline-section,.location-band,.contribute-band{
  padding-left:max(var(--section-gutter),calc((100vw - var(--max))/2));
  padding-right:max(var(--section-gutter),calc((100vw - var(--max))/2));
}

/* The two opening picture-led sections now share one width and one set of edges. */
.police-hero,.secondary-photo-hero{
  width:min(var(--editorial-max),calc(100% - (2 * var(--page-gutter))));
  max-width:var(--editorial-max);
  margin-left:auto;
  margin-right:auto;
}
.police-hero{margin-top:clamp(24px,3vw,48px);margin-bottom:clamp(34px,4vw,68px)}
.secondary-photo-hero{margin-top:0;margin-bottom:clamp(34px,4vw,68px);overflow:hidden}
.secondary-hero-image{position:relative;min-height:clamp(390px,38vw,650px);height:100%}
.secondary-hero-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.secondary-hero-copy{height:100%;min-width:0}

/* Full directories wrap naturally. Preview rows reveal more cards as space grows. */
.fleet-card-grid,.article-tile-grid,.story-grid,.gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));
  gap:clamp(16px,1.5vw,26px);
  align-items:start;
}
.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}
.adaptive-preview-grid>*:nth-child(n+4){display:none}
@media(min-width:720px){.adaptive-preview-grid>*:nth-child(-n+4){display:block}}
@media(min-width:1080px){.adaptive-preview-grid>*:nth-child(-n+5){display:block}}
@media(min-width:1480px){.adaptive-preview-grid>*:nth-child(-n+6){display:block}}
@media(min-width:1880px){.adaptive-preview-grid>*:nth-child(-n+8){display:block}}

/* Cleaner image tiles: strong photograph, compact summary and quiet credits. */
.gallery-grid figure,.gallery-figure{
  height:auto;
  align-self:start;
  border-radius:8px;
  border:1px solid #cbd4dc;
  border-top:5px solid var(--blue);
  box-shadow:0 12px 34px rgba(2,18,34,.11);
  overflow:hidden;
  background:#fff;
}
.gallery-button{overflow:hidden;background:#dfe5ea}
.gallery-grid img{aspect-ratio:3/2;object-fit:cover;transition:transform .25s ease}
.gallery-button:hover img{transform:scale(1.025)}
.gallery-grid figcaption{padding:15px 16px 17px;display:grid;gap:7px}
.gallery-grid figcaption strong{font-size:1.05rem;line-height:1.25}
.gallery-grid figcaption p{margin:0;color:#3f4b57;font-size:.88rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gallery-grid figcaption small{font-size:.7rem;line-height:1.4;color:#697581}
.gallery-grid figcaption a{display:inline;margin:0;font-size:.76rem}
.gallery-preview-grid .gallery-figure-compact figcaption{min-height:0}

/* Cards read cleanly from four or five columns without oversized text blocks. */
.fleet-card,.article-tile-grid article,.story-grid article{height:auto;align-self:stretch}
.fleet-card img{aspect-ratio:3/2}
.fleet-card-content{padding:17px 18px 19px}
.fleet-card-content h3{font-size:1.35rem;margin:.15rem 0}
.fleet-card-content>p:not(.card-model){font-size:.88rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.article-tile-grid article,.story-grid article{padding:18px}
.article-tile-grid article>p,.story-grid article>p{font-size:.88rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}

@media(max-width:980px){
  .police-hero,.secondary-photo-hero{width:calc(100% - (2 * var(--page-gutter)))}
  .secondary-hero-image{min-height:0;aspect-ratio:16/9}
}
@media(max-width:650px){
  :root{--page-gutter:10px;--section-gutter:18px}
  .police-hero,.secondary-photo-hero{width:calc(100% - 20px)}
  .fleet-card-grid,.article-tile-grid,.story-grid,.gallery-grid{grid-template-columns:1fr}
}

/* August 2026: final responsive composition pass */
:root{
  --editorial-max:1640px;
  --page-gutter:clamp(16px,3.2vw,64px);
  --section-gutter:clamp(20px,4vw,72px);
}

/* The first two homepage features are one connected opening spread. */
.opening-pair,
.hire-page-flow{
  width:min(var(--editorial-max),calc(100% - (2 * var(--page-gutter))));
  max-width:var(--editorial-max);
  margin:clamp(22px,3vw,46px) auto clamp(38px,5vw,78px);
  overflow:hidden;
  box-shadow:0 22px 64px rgba(2,18,34,.18);
}
.opening-pair .police-hero,
.opening-pair .secondary-photo-hero,
.hire-page-flow .police-hero{
  width:100%;
  max-width:none;
  margin:0;
  box-shadow:none;
}
.opening-pair .police-hero{
  min-height:clamp(520px,36vw,680px);
  border:0;
  border-top:7px solid var(--blue);
}
.opening-pair .secondary-photo-hero{
  min-height:clamp(500px,35vw,660px);
  border:0;
  border-top:1px solid #263849;
  border-bottom:7px solid var(--blue);
}
.opening-pair .police-hero .hero-art,
.opening-pair .secondary-hero-image{
  min-height:0;
  height:100%;
}
.opening-pair .police-hero .hero-copy,
.opening-pair .secondary-hero-copy{
  height:100%;
}

/* The history block must remain readable and fluid at every width. */
#story{
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:clamp(34px,7vw,108px);
  align-items:start;
}
#story>*{min-width:0}
#story h2{max-width:12ch}
#story .prose{max-width:760px}

/* Police equipment is the only homepage card section that always shows everything. */
#fleet-features .feature-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr));
  gap:clamp(16px,1.5vw,24px);
  align-items:stretch;
}
#fleet-features .feature-grid article{
  min-width:0;
  height:100%;
}
#fleet-features .feature-grid img{
  width:100%;
  height:auto;
  aspect-ratio:16/10;
  object-fit:cover;
}

/* Homepage previews use two rows on desktop and one horizontal row below desktop. */
.preview-strip .adaptive-preview-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(16px,1.5vw,24px);
  align-items:stretch;
}
.preview-strip .adaptive-preview-grid>*{display:none}
.preview-strip .adaptive-preview-grid>*:nth-child(-n+8){display:block}
@media(min-width:1480px){
  .preview-strip .adaptive-preview-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
  .preview-strip .adaptive-preview-grid>*:nth-child(-n+10){display:block}
}
@media(min-width:1880px){
  .preview-strip .adaptive-preview-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .preview-strip .adaptive-preview-grid>*:nth-child(-n+12){display:block}
}

/* The gallery teaser is a contained white editorial section, never full-bleed. */
.gallery-preview-band{
  width:min(var(--max),calc(100% - (2 * var(--page-gutter))));
  max-width:var(--max);
  margin:clamp(34px,5vw,76px) auto;
  padding-left:var(--section-gutter);
  padding-right:var(--section-gutter);
  background:#fff;
  color:var(--ink);
  border:1px solid var(--line);
  border-top:6px solid var(--blue);
  box-shadow:0 14px 42px rgba(2,18,34,.08);
}

/* Hire is one continuous editorial composition, not separate floating panels. */
.hire-page-flow .hire-page-hero{
  border:0;
  border-top:7px solid var(--blue);
}
.hire-page-flow .hire-editorial-layout{
  width:100%;
  max-width:none;
  margin:0;
  border:0;
  border-top:1px solid #263849;
  border-bottom:7px solid var(--blue);
  box-shadow:none;
}
.hire-page-flow .hire-editorial-layout>div,
.hire-page-flow .hire-editorial-layout>form{
  min-width:0;
}

@media(max-width:1079px){
  .preview-strip .adaptive-preview-grid{
    display:grid;
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:minmax(280px,44vw);
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:inline mandatory;
    scrollbar-width:thin;
    padding-bottom:10px;
  }
  .preview-strip .adaptive-preview-grid>*{display:none;scroll-snap-align:start}
  .preview-strip .adaptive-preview-grid>*:nth-child(-n+4){display:block}
}

@media(max-width:820px){
  .opening-pair,
  .hire-page-flow{
    width:calc(100% - (2 * var(--page-gutter)));
    margin-top:16px;
    margin-bottom:42px;
  }
  .opening-pair .police-hero,
  .hire-page-flow .police-hero{
    grid-template-columns:1fr;
    grid-template-areas:"copy" "art";
    min-height:0;
  }
  .opening-pair .police-hero .hero-art,
  .hire-page-flow .police-hero .hero-art{
    min-height:0;
    height:auto;
    aspect-ratio:16/10;
  }
  .opening-pair .secondary-photo-hero{
    grid-template-columns:1fr;
    grid-template-areas:"image" "copy";
    min-height:0;
  }
  .opening-pair .secondary-hero-image{
    height:auto;
    min-height:0;
    aspect-ratio:16/9;
  }
  .opening-pair .secondary-hero-copy{
    height:auto;
  }
  #story{
    grid-template-columns:1fr;
    gap:18px;
    padding-top:48px;
    padding-bottom:48px;
  }
  #story h2{
    max-width:11ch;
    font-size:clamp(2.15rem,10vw,3.45rem);
    margin-bottom:.25em;
  }
  #story .prose>p{
    font-size:.96rem;
    line-height:1.65;
  }
  .hire-page-flow .hire-editorial-layout{
    grid-template-columns:1fr;
  }
}

@media(max-width:699px){
  .preview-strip .adaptive-preview-grid{
    grid-auto-columns:minmax(270px,82vw);
  }
  .preview-strip .adaptive-preview-grid>*:nth-child(n+4){display:none}
  #fleet-features .feature-grid{grid-template-columns:1fr}
  .gallery-preview-band{
    width:calc(100% - (2 * var(--page-gutter)));
    padding-left:18px;
    padding-right:18px;
  }
}

/* Equipment cards stay readable as the adaptive grid gains columns. */
#fleet-features .feature-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));
}
#fleet-features .feature-grid article{
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:auto 1fr;
  min-height:0;
  padding:0;
  overflow:hidden;
}
#fleet-features .feature-grid img{
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:16/10;
  object-fit:cover;
}
#fleet-features .feature-grid article>div{
  padding:20px 21px 22px;
}
#fleet-features .feature-grid h3{
  margin-top:0;
  font-size:1.12rem;
  line-height:1.3;
}
#fleet-features .feature-grid p{
  font-size:.9rem;
  line-height:1.55;
}

/* August 2026: full-bleed editorial flow and single-row homepage previews */
:root{
  --content-max:1440px;
  --wide-gutter:clamp(22px,4vw,78px);
}

/* Opening features should read as page-wide editorial bands, not floating cards. */
.opening-pair,
.hire-page-flow{
  width:100%;
  max-width:none;
  margin:0;
  overflow:visible;
  box-shadow:none;
}

.opening-pair .police-hero,
.hire-page-flow .hire-page-hero{
  position:relative;
  display:block;
  width:100%;
  max-width:none;
  min-height:clamp(570px,46vw,790px);
  margin:0;
  border:0;
  border-top:7px solid var(--blue);
  border-bottom:7px solid var(--blue);
  box-shadow:none;
  isolation:isolate;
  overflow:hidden;
  background:#fff;
}
.opening-pair .police-hero .hero-art,
.hire-page-flow .hire-page-hero .hero-art{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  min-height:0;
  margin:0;
  padding:0;
  aspect-ratio:auto;
  background:#dfe5e9;
  overflow:hidden;
}
.opening-pair .police-hero .hero-art::after,
.hire-page-flow .hire-page-hero .hero-art::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,#fff 0%,#fff 24%,rgba(255,255,255,.97) 37%,rgba(255,255,255,.82) 48%,rgba(255,255,255,.2) 67%,rgba(255,255,255,0) 82%);
}
.opening-pair .police-hero .hero-art>img,
.hire-page-flow .hire-page-hero .hero-art>img{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  max-height:none;
  object-fit:cover;
  object-position:center;
  filter:grayscale(1) contrast(1.07);
}
.opening-pair .police-hero .hero-copy,
.hire-page-flow .hire-page-hero .hero-copy{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  width:min(100%,var(--content-max));
  min-height:clamp(556px,45vw,776px);
  margin:0 auto;
  padding:clamp(72px,8vw,130px) max(var(--wide-gutter),calc((100vw - var(--content-max))/2));
  background:transparent;
}
.opening-pair .police-hero .hero-copy>* ,
.hire-page-flow .hire-page-hero .hero-copy>*{
  width:min(100%,570px);
}
.opening-pair .police-hero .hero-copy h1,
.hire-page-flow .hire-page-hero .hero-copy h1{
  max-width:7ch;
  font-size:clamp(4rem,7.2vw,8rem);
}
.opening-pair .hero-image-credit,
.hire-page-flow .hero-image-credit{
  left:auto;
  right:max(18px,calc((100vw - var(--content-max))/2));
  bottom:16px;
  z-index:3;
  max-width:min(52vw,760px);
  margin:0;
  padding:6px 9px;
  background:rgba(0,0,0,.74);
  color:#fff;
}

/* The OKD feature uses the photograph as the band, with the copy floating in it. */
.opening-pair .secondary-photo-hero{
  position:relative;
  display:block;
  width:100%;
  max-width:none;
  min-height:clamp(540px,44vw,760px);
  margin:clamp(34px,4vw,64px) 0 0;
  border:0;
  border-top:7px solid var(--blue);
  border-bottom:7px solid var(--blue);
  box-shadow:none;
  isolation:isolate;
  overflow:hidden;
  background:#05080c;
}
.opening-pair .secondary-hero-image{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  min-height:0;
  margin:0;
  aspect-ratio:auto;
}
.opening-pair .secondary-hero-image::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(2,6,10,0) 0%,rgba(2,6,10,.08) 42%,rgba(2,6,10,.76) 68%,#05080c 100%);
}
.opening-pair .secondary-hero-image img{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  min-height:0;
  max-height:none;
  object-fit:cover;
  object-position:center;
}
.opening-pair .secondary-hero-image figcaption{
  z-index:2;
  left:max(18px,calc((100vw - var(--content-max))/2));
  right:auto;
  bottom:16px;
}
.opening-pair .secondary-hero-copy{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  width:min(100%,var(--content-max));
  min-height:clamp(526px,43vw,746px);
  margin:0 auto;
  padding:clamp(72px,8vw,126px) max(var(--wide-gutter),calc((100vw - var(--content-max))/2));
  background:transparent;
}
.opening-pair .secondary-hero-copy>*{
  width:min(100%,470px);
  margin-left:auto;
}
.opening-pair .secondary-hero-copy h2{
  font-size:clamp(3.1rem,5.6vw,6.6rem);
}

/* A normal full-width editorial band reconnects the gallery teaser to the page flow. */
.gallery-preview-band{
  width:100%;
  max-width:none;
  margin:0;
  padding-left:max(var(--section-gutter),calc((100vw - var(--content-max))/2));
  padding-right:max(var(--section-gutter),calc((100vw - var(--content-max))/2));
  background:#fff;
  border:0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  box-shadow:none;
}

/* Every preview is one row. Police equipment remains the only show-everything grid. */
.preview-strip .adaptive-preview-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(15px,1.5vw,24px);
  align-items:stretch;
  overflow:visible;
  padding-bottom:0;
}
.preview-strip .adaptive-preview-grid>*{display:none}
.preview-strip .adaptive-preview-grid>*:nth-child(-n+4){display:block}
@media(min-width:1480px){
  .preview-strip .adaptive-preview-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
  .preview-strip .adaptive-preview-grid>*:nth-child(-n+5){display:block}
  .preview-strip .adaptive-preview-grid>*:nth-child(n+6){display:none}
}
@media(min-width:1880px){
  .preview-strip .adaptive-preview-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .preview-strip .adaptive-preview-grid>*:nth-child(-n+6){display:block}
  .preview-strip .adaptive-preview-grid>*:nth-child(n+7){display:none}
}

/* Hire follows the same full-width, connected visual language as the homepage. */
.hire-page-flow .hire-editorial-layout{
  display:grid;
  grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr);
  width:100%;
  max-width:none;
  margin:clamp(34px,4vw,64px) 0 0;
  padding:0;
  border:0;
  border-top:7px solid var(--blue);
  border-bottom:7px solid var(--blue);
  box-shadow:none;
  background:#05080c;
}
.hire-page-flow .hire-editorial-layout>div{
  padding:clamp(54px,7vw,104px) clamp(36px,5vw,82px) clamp(54px,7vw,104px) max(var(--wide-gutter),calc((100vw - var(--content-max))/2));
}
.hire-page-flow .hire-editorial-layout>form{
  padding:clamp(46px,6vw,90px) max(var(--wide-gutter),calc((100vw - var(--content-max))/2)) clamp(46px,6vw,90px) clamp(36px,5vw,82px);
}

@media(max-width:1079px){
  .preview-strip .adaptive-preview-grid{
    display:grid;
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:minmax(270px,44vw);
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:inline mandatory;
    scrollbar-width:thin;
    padding-bottom:10px;
  }
  .preview-strip .adaptive-preview-grid>*{display:none;scroll-snap-align:start}
  .preview-strip .adaptive-preview-grid>*:nth-child(-n+3){display:block}
}

@media(max-width:820px){
  .opening-pair .police-hero,
  .hire-page-flow .hire-page-hero{
    min-height:0;
  }
  .opening-pair .police-hero .hero-art,
  .hire-page-flow .hire-page-hero .hero-art{
    position:relative;
    inset:auto;
    height:auto;
    aspect-ratio:16/10;
  }
  .opening-pair .police-hero .hero-art::after,
  .hire-page-flow .hire-page-hero .hero-art::after{display:none}
  .opening-pair .police-hero .hero-art>img,
  .hire-page-flow .hire-page-hero .hero-art>img{
    position:absolute;
    inset:0;
  }
  .opening-pair .police-hero .hero-copy,
  .hire-page-flow .hire-page-hero .hero-copy{
    min-height:0;
    padding:clamp(48px,10vw,72px) var(--section-gutter);
  }
  .opening-pair .police-hero .hero-copy h1,
  .hire-page-flow .hire-page-hero .hero-copy h1{
    font-size:clamp(3.4rem,15vw,5.8rem);
  }
  .opening-pair .hero-image-credit,
  .hire-page-flow .hero-image-credit{
    right:12px;
    bottom:12px;
    max-width:calc(100% - 24px);
  }
  .opening-pair .secondary-photo-hero{
    min-height:0;
    margin-top:26px;
  }
  .opening-pair .secondary-hero-image{
    position:relative;
    inset:auto;
    height:auto;
    aspect-ratio:16/9;
  }
  .opening-pair .secondary-hero-image::after{display:none}
  .opening-pair .secondary-hero-copy{
    min-height:0;
    padding:48px var(--section-gutter) 56px;
    background:#05080c;
  }
  .opening-pair .secondary-hero-copy>*{
    width:100%;
    margin-left:0;
  }
  .opening-pair .secondary-hero-image figcaption{
    left:12px;
    bottom:12px;
  }
  .hire-page-flow .hire-editorial-layout{
    grid-template-columns:1fr;
    margin-top:26px;
  }
  .hire-page-flow .hire-editorial-layout>div,
  .hire-page-flow .hire-editorial-layout>form{
    padding:48px var(--section-gutter);
  }
}

@media(max-width:699px){
  .preview-strip .adaptive-preview-grid{
    grid-auto-columns:minmax(250px,82vw);
  }
  .preview-strip .adaptive-preview-grid>*:nth-child(-n+3){display:block}
  .preview-strip .adaptive-preview-grid>*:nth-child(n+4){display:none}
  .gallery-preview-band{
    width:100%;
    padding-left:var(--section-gutter);
    padding-right:var(--section-gutter);
  }
}
@media(max-width:820px){
  .opening-pair .police-hero,
  .hire-page-flow .hire-page-hero{
    display:flex;
    flex-direction:column;
  }
  .opening-pair .police-hero .hero-copy,
  .hire-page-flow .hire-page-hero .hero-copy{order:1}
  .opening-pair .police-hero .hero-art,
  .hire-page-flow .hire-page-hero .hero-art{order:2}
}

/* August 2026 revision: side-by-side editorial bands, compact scaling and one-row previews */
:root{
  --compact-content-max:1440px;
  --compact-gutter:clamp(20px,4vw,72px);
}

/* Shared wordmark from the development page. */
.site-header,.admin-header{
  min-height:68px;
  padding-top:10px;
  padding-bottom:10px;
}
.brand-wordmark{
  display:inline-grid;
  grid-template-columns:1fr;
  gap:1px;
  min-width:max-content;
  text-decoration:none;
  text-transform:uppercase;
  line-height:.92;
}
.brand-wordmark strong{
  display:block;
  font-family:"Arial Black",Impact,ui-sans-serif,system-ui,sans-serif;
  font-size:1rem;
  letter-spacing:-.035em;
}
.brand-wordmark small{
  display:block;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.18em;
  color:var(--blue);
}
.admin-header .brand-wordmark strong{color:#fff}
.admin-header .brand-wordmark small{color:#78c5f1}
.primary-nav,.admin-header nav{gap:clamp(10px,1.3vw,18px)}
.primary-nav a,.admin-header nav a{font-size:.76rem;letter-spacing:.01em}
.visitor-counter{
  left:auto;
  right:12px;
  top:78px;
  border-radius:0;
  padding:7px 9px;
  box-shadow:4px 4px 0 var(--blue);
  backdrop-filter:none;
}

/* The homepage and hire hero keep the copy beside the photograph. */
.opening-pair .police-hero,
.hire-page-flow .hire-page-hero{
  display:grid !important;
  grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr) !important;
  grid-template-areas:"copy art" !important;
  align-items:stretch;
  min-height:clamp(500px,43vw,700px);
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  overflow:hidden;
  border-top:7px solid var(--blue);
  border-bottom:7px solid var(--blue);
  background:#fff;
}
.opening-pair .police-hero .hero-copy,
.hire-page-flow .hire-page-hero .hero-copy{
  grid-area:copy;
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  width:auto;
  min-width:0;
  min-height:0;
  margin:0;
  padding:clamp(52px,7vw,96px) clamp(34px,5vw,74px) clamp(52px,7vw,96px) max(var(--compact-gutter),calc((100vw - var(--compact-content-max))/2));
  background:#fff;
}
.opening-pair .police-hero .hero-copy>*,
.hire-page-flow .hire-page-hero .hero-copy>*{
  width:min(100%,530px);
}
.opening-pair .police-hero .hero-copy h1,
.hire-page-flow .hire-page-hero .hero-copy h1{
  max-width:7.5ch;
  font-size:clamp(3.25rem,5.7vw,6.5rem);
  line-height:.86;
}
.opening-pair .police-hero .hero-art,
.hire-page-flow .hire-page-hero .hero-art{
  grid-area:art;
  position:relative;
  inset:auto;
  z-index:0;
  width:auto;
  height:auto;
  min-width:0;
  min-height:100%;
  margin:0;
  padding:0;
  aspect-ratio:auto;
  overflow:hidden;
  background:#dfe5e9;
}
.opening-pair .police-hero .hero-art::after,
.hire-page-flow .hire-page-hero .hero-art::after{display:none !important}
.opening-pair .police-hero .hero-art>img,
.hire-page-flow .hire-page-hero .hero-art>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-height:none;
  object-fit:cover;
  object-position:center;
  filter:grayscale(1) contrast(1.06);
}
.opening-pair .hero-image-credit,
.hire-page-flow .hero-image-credit{
  left:14px;
  right:auto;
  bottom:12px;
  max-width:calc(100% - 28px);
  margin:0;
  padding:6px 8px;
  background:rgba(0,0,0,.76);
  color:#fff;
}

/* The next row reverses direction: photograph left, copy right. */
.opening-pair .secondary-photo-hero{
  display:grid !important;
  grid-template-columns:minmax(0,1.38fr) minmax(330px,.62fr) !important;
  grid-template-areas:"image copy" !important;
  align-items:stretch;
  min-height:clamp(480px,40vw,670px);
  width:100%;
  max-width:none;
  margin:0;
  overflow:hidden;
  border:0;
  border-bottom:7px solid var(--blue);
  background:#05080c;
}
.opening-pair .secondary-hero-image{
  grid-area:image;
  position:relative;
  inset:auto;
  min-width:0;
  min-height:100%;
  height:auto;
  margin:0;
  aspect-ratio:auto;
  overflow:hidden;
}
.opening-pair .secondary-hero-image::after{display:none !important}
.opening-pair .secondary-hero-image img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center;
}
.opening-pair .secondary-hero-copy{
  grid-area:copy;
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  width:auto;
  min-width:0;
  min-height:0;
  margin:0;
  padding:clamp(50px,6vw,88px) max(var(--compact-gutter),calc((100vw - var(--compact-content-max))/2)) clamp(50px,6vw,88px) clamp(34px,5vw,72px);
  background:#05080c;
}
.opening-pair .secondary-hero-copy>*{
  width:min(100%,460px);
  margin-left:0;
}
.opening-pair .secondary-hero-copy h2{
  font-size:clamp(2.55rem,4.6vw,5.25rem);
}

/* A compact, resolution-led scale rather than a brittle admin zoom control. */
@media(min-width:900px){
  .section,.timeline-section,.page-hero,.car-hero,.login-section{
    padding-top:58px;
    padding-bottom:58px;
  }
  .section h2,.timeline-section h2{font-size:clamp(1.55rem,3vw,2.75rem)}
  .section-heading{margin-bottom:30px}
  .page-hero h1,.car-hero h1,.login-section h1{font-size:clamp(2.8rem,6.2vw,5.8rem)}
  .section-heading>p,.page-hero>p,.prose{font-size:.9rem;line-height:1.58}
  .large-copy{font-size:clamp(1.05rem,1.55vw,1.4rem)}
  .button{padding:10px 15px;font-size:.72rem}
  .site-footer{padding-top:42px;padding-bottom:42px;font-size:.88rem}
}

/* Preview sections are always exactly one row on desktop. */
@media(min-width:900px){
  .preview-strip .adaptive-preview-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    grid-template-rows:minmax(0,1fr) !important;
    grid-auto-flow:column !important;
    gap:clamp(12px,1.25vw,18px) !important;
    align-items:stretch;
    overflow:hidden !important;
    padding-bottom:0 !important;
  }
  .preview-strip .adaptive-preview-grid>*{display:none !important}
  .preview-strip .adaptive-preview-grid>*:nth-child(-n+4){display:block !important}
  .preview-strip .gallery-grid figure,
  .preview-strip .fleet-card,
  .preview-strip .article-tile-grid article{min-width:0}
  .preview-strip .gallery-grid figcaption{padding:11px 12px 13px;gap:5px}
  .preview-strip .gallery-grid figcaption strong{font-size:.9rem}
  .preview-strip .gallery-grid figcaption p{font-size:.75rem;line-height:1.42;-webkit-line-clamp:2}
  .preview-strip .gallery-grid figcaption small{font-size:.62rem}
  .preview-strip .gallery-grid figcaption a{font-size:.66rem}
  .preview-strip .article-tile-grid article{padding:14px}
  .preview-strip .article-tile-grid article h3{font-size:1rem;line-height:1.28}
  .preview-strip .article-tile-grid article>p{font-size:.76rem;line-height:1.42;-webkit-line-clamp:3}
  .preview-strip .fleet-card-content{padding:13px 14px 15px}
  .preview-strip .fleet-card-content h3{font-size:1.08rem}
  .preview-strip .fleet-card-content>p:not(.card-model){font-size:.75rem;line-height:1.42;-webkit-line-clamp:2}
}
@media(min-width:1200px){
  .preview-strip .adaptive-preview-grid{grid-template-columns:repeat(5,minmax(0,1fr)) !important}
  .preview-strip .adaptive-preview-grid>*:nth-child(-n+5){display:block !important}
  .preview-strip .adaptive-preview-grid>*:nth-child(n+6){display:none !important}
}
@media(min-width:1600px){
  .preview-strip .adaptive-preview-grid{grid-template-columns:repeat(6,minmax(0,1fr)) !important}
  .preview-strip .adaptive-preview-grid>*:nth-child(-n+6){display:block !important}
  .preview-strip .adaptive-preview-grid>*:nth-child(n+7){display:none !important}
}

/* Mobile keeps three useful tiles in a single scrollable row. */
@media(max-width:899px){
  .preview-strip .adaptive-preview-grid{
    display:grid !important;
    grid-template-columns:none !important;
    grid-auto-flow:column !important;
    grid-auto-columns:minmax(230px,78vw) !important;
    grid-template-rows:1fr !important;
    gap:14px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:inline mandatory;
    padding-bottom:10px !important;
  }
  .preview-strip .adaptive-preview-grid>*{display:none !important;scroll-snap-align:start}
  .preview-strip .adaptive-preview-grid>*:nth-child(-n+3){display:block !important}
  .preview-strip .adaptive-preview-grid>*:nth-child(n+4){display:none !important}
}

@media(max-width:980px){
  .primary-nav{top:68px}
  .visitor-counter{top:76px}
}
@media(max-width:820px){
  .opening-pair .police-hero,
  .hire-page-flow .hire-page-hero{
    display:flex !important;
    flex-direction:column;
    min-height:0;
  }
  .opening-pair .police-hero .hero-copy,
  .hire-page-flow .hire-page-hero .hero-copy{
    order:1;
    padding:46px var(--section-gutter) 50px;
  }
  .opening-pair .police-hero .hero-art,
  .hire-page-flow .hire-page-hero .hero-art{
    order:2;
    min-height:0;
    aspect-ratio:16/10;
  }
  .opening-pair .secondary-photo-hero{
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-areas:"image" "copy" !important;
    min-height:0;
  }
  .opening-pair .secondary-hero-image{
    min-height:0;
    aspect-ratio:16/9;
  }
  .opening-pair .secondary-hero-copy{
    padding:44px var(--section-gutter) 50px;
  }
}
@media(max-width:650px){
  .brand-wordmark strong{font-size:.88rem}
  .brand-wordmark small{display:block;font-size:.5rem}
  .visitor-counter{right:8px;top:70px}
  .opening-pair .police-hero .hero-copy h1,
  .hire-page-flow .hire-page-hero .hero-copy h1{font-size:clamp(3rem,14vw,4.8rem)}
}

/* Keep the hire introduction and request form visually attached to its hero. */
.hire-page-flow .hire-editorial-layout{
  margin-top:0;
  border-top:0;
}

/* August 2026: live sitemap release, branded footer and stacked mobile previews */
.site-footer{
  position:relative;
  max-width:none;
  min-height:150px;
  margin:0;
  padding:38px max(var(--compact-gutter),calc((100vw - var(--compact-content-max))/2));
  display:flex;
  align-items:center;
  justify-content:flex-start;
  border-top:7px solid var(--blue);
  border-bottom:7px solid var(--blue);
  background:#05080c;
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.footer-brand{color:#fff}
.footer-brand strong{
  color:#fff;
  font-size:1.12rem;
}
.footer-brand small{
  color:#78c5f1;
  font-size:.62rem;
}

/* In-the-wild entries now carry a photograph, using the article image first and
   the linked car photograph as an automatic fallback. */
.wild-card-grid{align-items:stretch}
.article-tile-grid .wild-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:0;
  overflow:hidden;
}
.wild-card-image{
  display:block;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#dfe5e9;
}
.wild-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:grayscale(1) contrast(1.04);
  transition:transform .25s ease;
}
.wild-card:hover .wild-card-image img{transform:scale(1.025)}
.wild-card-content{
  display:flex;
  flex:1;
  flex-direction:column;
  min-width:0;
  padding:16px 17px 18px;
}
.wild-card-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.article-tile-grid .wild-card small{
  display:block;
  margin:0;
  color:var(--muted);
  font-size:.7rem;
  text-align:right;
}
.wild-card h2,.wild-card h3{margin:.65rem 0 .42rem}
.wild-card h2 a,.wild-card h3 a{text-decoration:none}
.wild-card-content>p{
  margin:.15rem 0 0;
  color:#46515d;
}
.wild-card .inline-sources{margin-top:auto;padding-top:14px}
.preview-strip .wild-card-content{padding:13px 14px 15px}
.preview-strip .wild-card-image{aspect-ratio:3/2}
.preview-strip .wild-card-content>p{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* On phones the three retained previews cascade vertically rather than living
   in an easy-to-miss horizontal scroller. Desktop remains exactly one row. */
@media(max-width:899px){
  .preview-strip .adaptive-preview-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:none !important;
    grid-auto-flow:row !important;
    grid-auto-columns:auto !important;
    gap:14px !important;
    overflow:visible !important;
    padding-bottom:0 !important;
    scroll-snap-type:none !important;
  }
  .preview-strip .adaptive-preview-grid>*{
    width:auto !important;
    min-width:0 !important;
    scroll-snap-align:none !important;
  }
  .preview-strip .adaptive-preview-grid>*:nth-child(-n+3){display:block !important}
  .preview-strip .adaptive-preview-grid>*:nth-child(n+4){display:none !important}
  .preview-strip .row-heading{
    display:grid;
    grid-template-columns:1fr;
    align-items:start;
    gap:16px;
  }
  .preview-strip .row-heading>.button{justify-self:start}
}

@media(max-width:650px){
  .site-footer{
    min-height:132px;
    padding:32px 18px;
  }
  .footer-brand strong{font-size:1rem}
  .footer-brand small{font-size:.56rem}
  .wild-card-content{padding:15px 16px 17px}
}
