@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
--canvas:#181818;
--canvas-elevated:#303030;
--canvas-light:#ffffff;
--primary:#da291c;
--primary-active:#b01e0a;
--ink:#ffffff;
--body-color:#969696;
--body-on-light:#181818;
--muted:#666666;
--hairline:#303030;
--hairline-on-light:#d2d2d2;
--surface-soft-light:#f7f7f7;
--sp-xxxs:4px;
--sp-xxs:8px;
--sp-xs:16px;
--sp-sm:24px;
--sp-md:32px;
--sp-lg:48px;
--sp-xl:64px;
--sp-xxl:96px;
--sp-super:128px;
--font:'Inter',system-ui,sans-serif;
}

html{scroll-behavior:smooth}
body{background:var(--canvas);color:var(--body-color);font-family:var(--font);font-size:14px;font-weight:400;line-height:1.5}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
ul{list-style:none}
address{font-style:normal}

.container{max-width:1280px;margin:0 auto;padding:0 var(--sp-xs)}

/* ── NAV ─────────────────────────────────────────────── */
.top-nav{background:var(--canvas);position:sticky;top:0;z-index:100;border-bottom:1px solid var(--hairline)}
.nav-inner{max-width:1280px;margin:0 auto;padding:0 var(--sp-xs);height:64px;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-md)}
.nav-logo{color:var(--ink);font-size:16px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.nav-logo span{color:var(--primary)}
.nav-menu{display:flex;gap:var(--sp-sm);align-items:center}
.nav-menu a{color:var(--body-color);font-size:13px;font-weight:600;letter-spacing:.65px;text-transform:uppercase;transition:color .2s}
.nav-menu a:hover{color:var(--ink)}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:4px}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--ink)}

/* ── HERO ─────────────────────────────────────────────── */
.hero-band{position:relative;height:90vh;min-height:500px;overflow:hidden;display:flex;align-items:flex-end}
.hero-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,24,24,0) 40%,rgba(24,24,24,.92) 100%)}
.hero-content{position:relative;z-index:2;padding:var(--sp-xxl) var(--sp-xs);max-width:1280px;margin:0 auto;width:100%}
.hero-label{font-size:11px;font-weight:600;letter-spacing:1.1px;text-transform:uppercase;color:var(--primary);margin-bottom:var(--sp-xxs)}
.hero-h1{font-size:clamp(32px,5vw,80px);font-weight:500;line-height:1.05;letter-spacing:-1.6px;color:var(--ink);margin-bottom:var(--sp-sm);max-width:700px}
.hero-sub{font-size:16px;color:var(--body-color);max-width:540px;margin-bottom:var(--sp-md)}
.hero-actions{display:flex;gap:var(--sp-xs);flex-wrap:wrap}

/* ── BUTTONS ──────────────────────────────────────────── */
.btn-primary{display:inline-block;background:var(--primary);color:#fff;font-size:14px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;padding:14px 32px;height:48px;line-height:1;border:none;cursor:pointer;border-radius:0;transition:background .2s}
.btn-primary:hover{background:var(--primary-active);color:#fff}
.btn-outline{display:inline-block;background:transparent;color:var(--ink);font-size:14px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;padding:13px 31px;height:48px;line-height:1;border:1px solid var(--ink);cursor:pointer;border-radius:0;transition:border-color .2s,color .2s}
.btn-outline:hover{border-color:var(--primary);color:var(--primary)}

/* ── SECTION LABELS ───────────────────────────────────── */
.section-label{font-size:11px;font-weight:600;letter-spacing:1.1px;text-transform:uppercase;color:var(--primary);margin-bottom:var(--sp-xxs)}
.section-title{font-size:36px;font-weight:500;line-height:1.2;letter-spacing:-.36px;color:var(--ink);margin-bottom:var(--sp-xs)}
.section-body{font-size:14px;color:var(--body-color);max-width:640px;line-height:1.6}

/* ── CARD GRID ────────────────────────────────────────── */
.card-grid{display:grid;gap:var(--sp-xs);grid-template-columns:repeat(3,1fr)}
.card{background:var(--canvas-elevated);border-radius:0;overflow:hidden;display:flex;flex-direction:column}
.card-img{width:100%;height:220px;object-fit:cover}
.card-body{padding:var(--sp-sm);display:flex;flex-direction:column;gap:var(--sp-xxs);flex:1}
.card-label{font-size:11px;font-weight:600;letter-spacing:1.1px;text-transform:uppercase;color:var(--primary)}
.card-title{font-size:18px;font-weight:700;line-height:1.2;color:var(--ink)}
.card-text{font-size:14px;color:var(--body-color);line-height:1.5;margin-top:auto}
.card-link{display:inline-block;margin-top:var(--sp-xs);font-size:14px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--primary)}

/* ── ARTICLE PAGE ─────────────────────────────────────── */
.article-hero{position:relative;height:500px;overflow:hidden}
.article-hero img{width:100%;height:100%;object-fit:cover}
.article-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,24,24,0) 30%,rgba(24,24,24,.9) 100%)}
.article-hero-text{position:absolute;bottom:0;left:0;right:0;padding:var(--sp-xl) var(--sp-xs);max-width:1280px;margin:0 auto}
.article-wrap{max-width:800px;margin:0 auto;padding:var(--sp-xxl) var(--sp-xs)}
.article-wrap h1{font-size:clamp(26px,3.5vw,56px);font-weight:500;letter-spacing:-.8px;color:var(--ink);line-height:1.1;margin-bottom:var(--sp-sm)}
.article-meta{font-size:12px;color:var(--muted);margin-bottom:var(--sp-md);display:flex;gap:var(--sp-sm);flex-wrap:wrap}
.article-wrap h2{font-size:26px;font-weight:500;color:var(--ink);letter-spacing:.2px;margin:var(--sp-lg) 0 var(--sp-xs)}
.article-wrap h3{font-size:18px;font-weight:700;color:var(--ink);margin:var(--sp-md) 0 var(--sp-xxs)}
.article-wrap p{font-size:15px;color:var(--body-color);line-height:1.7;margin-bottom:var(--sp-sm)}
.article-wrap ul,.article-wrap ol{padding-left:var(--sp-md);color:var(--body-color);font-size:15px;line-height:1.7;margin-bottom:var(--sp-sm)}
.article-wrap li{margin-bottom:var(--sp-xxs)}
.article-wrap a{color:var(--primary)}
.article-img{width:100%;height:360px;object-fit:cover;margin:var(--sp-md) 0}
.article-caption{font-size:12px;color:var(--muted);text-align:center;margin-top:calc(-1 * var(--sp-sm));margin-bottom:var(--sp-md)}

/* ── BAND — ACCENT (RED) ──────────────────────────────── */
.livery-band{background:var(--primary);padding:var(--sp-xxl) var(--sp-xs);text-align:center}
.livery-band .section-title{color:#fff}
.livery-band .section-body{color:rgba(255,255,255,.85);margin:0 auto}

/* ── LIGHT BAND ───────────────────────────────────────── */
.light-band{background:var(--canvas-light);padding:var(--sp-xxl) var(--sp-xs)}
.light-band .section-label{color:var(--primary)}
.light-band .section-title{color:var(--body-on-light)}
.light-band .section-body{color:var(--body-on-light)}
.light-band .card{background:var(--surface-soft-light,#f7f7f7);border:1px solid var(--hairline-on-light)}
.light-band .card-title{color:var(--body-on-light)}
.light-band .card-text{color:#555}

/* ── DARK BAND ────────────────────────────────────────── */
.dark-band{background:var(--canvas);padding:var(--sp-xxl) var(--sp-xs)}

/* ── CONTACT FORM ─────────────────────────────────────── */
.contact-band{background:var(--canvas-elevated);padding:var(--sp-xxl) var(--sp-xs)}
.form-wrap{max-width:640px;margin:0 auto}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-xs);margin-bottom:var(--sp-xs)}
.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--sp-xs)}
.form-label{font-size:11px;font-weight:600;letter-spacing:1.1px;text-transform:uppercase;color:var(--body-color)}
.form-input{background:var(--canvas);color:var(--ink);border:1px solid var(--hairline);border-radius:4px;padding:14px 16px;height:48px;font-size:14px;font-family:var(--font);width:100%}
.form-input:focus{outline:none;border-color:var(--primary)}

/* ── COOKIE BANNER ────────────────────────────────────── */
#cookie-banner{display:none;position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--canvas-elevated);border-top:1px solid var(--hairline);padding:var(--sp-sm) var(--sp-xs)}
#cookie-banner.show{display:block}
.cookie-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;gap:var(--sp-md);flex-wrap:wrap}
.cookie-text{flex:1;font-size:13px;color:var(--body-color)}
.cookie-text a{color:var(--primary)}
.cookie-actions{display:flex;gap:var(--sp-xs)}

/* ── BADGE ────────────────────────────────────────────── */
.badge{display:inline-block;background:var(--canvas-elevated);color:var(--ink);font-size:11px;font-weight:600;letter-spacing:1.1px;text-transform:uppercase;border-radius:9999px;padding:4px 12px}

/* ── RELATED ARTICLES ─────────────────────────────────── */
.related-band{background:var(--canvas);padding:var(--sp-xxl) var(--sp-xs)}

/* ── PAGES (about/privacy/terms) ──────────────────────── */
.page-wrap{max-width:800px;margin:0 auto;padding:var(--sp-xxl) var(--sp-xs)}
.page-wrap h1{font-size:clamp(26px,3.5vw,56px);font-weight:500;color:var(--ink);letter-spacing:-.8px;margin-bottom:var(--sp-md)}
.page-wrap h2{font-size:26px;font-weight:500;color:var(--ink);margin:var(--sp-lg) 0 var(--sp-xs)}
.page-wrap h3{font-size:18px;font-weight:700;color:var(--ink);margin:var(--sp-md) 0 var(--sp-xxs)}
.page-wrap p,.page-wrap li{font-size:15px;color:var(--body-color);line-height:1.7;margin-bottom:var(--sp-xs)}
.page-wrap ul,.page-wrap ol{padding-left:var(--sp-md)}
.page-wrap a{color:var(--primary)}
.page-updated{font-size:12px;color:var(--muted);margin-bottom:var(--sp-md)}

/* ── FOOTER ───────────────────────────────────────────── */
.footer-dark{background:var(--canvas);border-top:1px solid var(--hairline);padding:var(--sp-xl) var(--sp-xs) var(--sp-md)}
.footer-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--sp-xl);padding-bottom:var(--sp-xl);border-bottom:1px solid var(--hairline)}
.footer-brand{font-size:16px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ink);display:block;margin-bottom:var(--sp-xs)}
.footer-brand span{color:var(--primary)}
.footer-tagline{font-size:13px;color:var(--body-color);margin-bottom:var(--sp-sm);line-height:1.5}
.footer-address{font-size:13px;color:var(--muted);line-height:1.7}
.footer-address a{color:var(--body-color)}
.footer-col-title{font-size:11px;font-weight:600;letter-spacing:1.1px;text-transform:uppercase;color:var(--ink);margin-bottom:var(--sp-sm)}
.footer-col ul{display:flex;flex-direction:column;gap:var(--sp-xxs)}
.footer-col li{font-size:13px;color:var(--body-color)}
.footer-col a:hover{color:var(--ink)}
.footer-bottom{max-width:1280px;margin:var(--sp-md) auto 0;font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:4px}
.footer-bottom a{color:var(--muted)}

/* ── RESPONSIVE ───────────────────────────────────────── */
@media(max-width:1024px){
  .card-grid{grid-template-columns:repeat(2,1fr)}
  .footer-inner{grid-template-columns:1fr 1fr;gap:var(--sp-md)}
}
@media(max-width:768px){
  .nav-menu{display:none;position:absolute;top:64px;left:0;right:0;background:var(--canvas);flex-direction:column;align-items:flex-start;padding:var(--sp-sm) var(--sp-xs);border-bottom:1px solid var(--hairline);gap:var(--sp-sm)}
  .nav-menu.open{display:flex}
  .nav-toggle{display:flex}
  .form-row{grid-template-columns:1fr}
  .hero-actions{flex-direction:column}
  .hero-h1{letter-spacing:-.5px}
}
@media(max-width:640px){
  .card-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}
  .cookie-inner{flex-direction:column;align-items:flex-start}
}
