@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;
    --surface-soft:#f7f7f7;
    --primary:#da291c;
    --primary-active:#b01e0a;
    --ink:#ffffff;
    --body:#969696;
    --body-on-light:#181818;
    --muted:#666666;
    --hairline:#303030;
    --hairline-on-light:#d2d2d2;
    --on-primary:#ffffff;
    --spacing-xxxs:4px;
    --spacing-xxs:8px;
    --spacing-xs:16px;
    --spacing-sm:24px;
    --spacing-md:32px;
    --spacing-lg:48px;
    --spacing-xl:64px;
    --spacing-xxl:96px;
    --spacing-super:128px;
}

html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:var(--canvas);color:var(--ink);font-size:14px;line-height:1.5}

a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}

.site-header{background:var(--canvas);border-bottom:1px solid var(--hairline);position:sticky;top:0;z-index:100}
.nav-container{max-width:1280px;margin:0 auto;padding:0 var(--spacing-xs);height:64px;display:flex;align-items:center;justify-content:space-between}
.logo{font-size:18px;font-weight:700;color:var(--ink);letter-spacing:0.08px}
.logo span{color:var(--primary)}
.main-nav{display:flex;gap:var(--spacing-sm)}
.main-nav a{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:0.65px;color:var(--body)}
.main-nav a:hover,.main-nav a.active{color:var(--ink)}
.nav-toggle{display:none;background:none;border:none;color:var(--ink);font-size:22px;cursor:pointer}

.hero-band{position:relative;width:100%;height:92vh;min-height:500px;overflow:hidden;background:var(--canvas)}
.hero-band img{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.1) 0%,rgba(24,24,24,0.75) 100%)}
.hero-content{position:absolute;bottom:var(--spacing-xxl);left:50%;transform:translateX(-50%);width:100%;max-width:1280px;padding:0 var(--spacing-xs)}
.hero-content h1{font-size:80px;font-weight:500;line-height:1.05;letter-spacing:-1.6px;color:var(--ink);max-width:700px}
.hero-content p{margin-top:var(--spacing-sm);font-size:16px;color:var(--body);max-width:520px}
.hero-ctas{margin-top:var(--spacing-md);display:flex;gap:var(--spacing-xs)}
.btn-primary{display:inline-block;background:var(--primary);color:var(--on-primary);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;padding:14px 32px;height:48px;border:none;border-radius:0;cursor:pointer;line-height:1}
.btn-primary:hover{background:var(--primary-active)}
.btn-outline{display:inline-block;background:transparent;color:var(--ink);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;padding:14px 32px;height:48px;border:1px solid var(--ink);border-radius:0;cursor:pointer;line-height:1}
.btn-outline:hover{background:rgba(255,255,255,0.08)}
.btn-primary-light{display:inline-block;background:var(--primary);color:var(--on-primary);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;padding:14px 32px;height:48px;border:none;border-radius:0;cursor:pointer;line-height:1}
.btn-primary-light:hover{background:var(--primary-active)}

.section-dark{padding:var(--spacing-xxl) var(--spacing-xs);background:var(--canvas)}
.section-light{padding:var(--spacing-xxl) var(--spacing-xs);background:var(--canvas-light);color:var(--body-on-light)}
.section-elevated{padding:var(--spacing-xxl) var(--spacing-xs);background:var(--canvas-elevated)}
.section-inner{max-width:1280px;margin:0 auto}

.section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.1px;color:var(--primary);margin-bottom:var(--spacing-xs)}
.section-title{font-size:36px;font-weight:500;line-height:1.2;letter-spacing:-0.36px}
.section-title-light{font-size:36px;font-weight:500;line-height:1.2;letter-spacing:-0.36px;color:var(--body-on-light)}
.section-body{font-size:14px;color:var(--body);margin-top:var(--spacing-sm);max-width:680px;line-height:1.6}
.section-body-light{font-size:14px;color:var(--body-on-light);margin-top:var(--spacing-sm);max-width:680px;line-height:1.6}

.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-top:var(--spacing-xl)}
.card{background:var(--canvas-elevated);border-radius:0;overflow:hidden;border:1px solid var(--hairline)}
.card-img{width:100%;height:220px;object-fit:cover}
.card-body{padding:var(--spacing-sm)}
.card-badge{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.1px;color:var(--primary);margin-bottom:var(--spacing-xxs)}
.card-title{font-size:18px;font-weight:700;line-height:1.2;color:var(--ink)}
.card-text{font-size:13px;color:var(--body);margin-top:var(--spacing-xxs);line-height:1.5}
.card-link{display:inline-block;margin-top:var(--spacing-sm);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:0.65px;color:var(--primary)}

.card-light{background:var(--canvas-light);border-radius:0;overflow:hidden;border:1px solid var(--hairline-on-light)}
.card-light .card-title{color:var(--body-on-light)}
.card-light .card-text{color:#444}
.card-light .card-badge{color:var(--primary)}

.livery-band{background:var(--primary);padding:var(--spacing-xxl) var(--spacing-xs)}
.livery-band .section-title{color:var(--on-primary)}
.livery-band .section-body{color:rgba(255,255,255,0.8)}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xxl);align-items:center;margin-top:var(--spacing-xl)}
.two-col img{width:100%;height:400px;object-fit:cover}

.contact-form{background:var(--canvas-elevated);padding:var(--spacing-md);max-width:560px;margin-top:var(--spacing-xl)}
.form-group{margin-bottom:var(--spacing-sm)}
.form-group label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1.1px;color:var(--body);margin-bottom:var(--spacing-xxs)}
.form-group input,.form-group textarea{width:100%;background:var(--canvas);border:1px solid var(--hairline);color:var(--ink);font-family:inherit;font-size:14px;padding:14px 16px;border-radius:4px}
.form-group textarea{min-height:120px;resize:vertical}

.article-hero{position:relative;width:100%;height:60vh;min-height:340px;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.05) 0%,rgba(24,24,24,0.8) 100%)}
.article-hero-content{position:absolute;bottom:var(--spacing-xl);left:50%;transform:translateX(-50%);width:100%;max-width:900px;padding:0 var(--spacing-xs)}
.article-hero-content h1{font-size:56px;font-weight:500;line-height:1.1;letter-spacing:-1.12px;color:var(--ink)}

.article-body{max-width:900px;margin:0 auto;padding:var(--spacing-xxl) var(--spacing-xs)}
.article-body h2{font-size:26px;font-weight:500;line-height:1.5;letter-spacing:0.195px;margin-top:var(--spacing-xl);margin-bottom:var(--spacing-sm)}
.article-body h3{font-size:18px;font-weight:700;margin-top:var(--spacing-md);margin-bottom:var(--spacing-xs)}
.article-body p{font-size:15px;color:var(--body);line-height:1.7;margin-bottom:var(--spacing-sm)}
.article-body ul,.article-body ol{padding-left:var(--spacing-md);margin-bottom:var(--spacing-sm)}
.article-body li{font-size:15px;color:var(--body);line-height:1.7;margin-bottom:var(--spacing-xxs)}
.article-body img{margin:var(--spacing-lg) 0;width:100%;max-height:480px;object-fit:cover}
.article-body a{color:var(--primary)}
.article-meta{font-size:12px;color:var(--muted);letter-spacing:0;margin-bottom:var(--spacing-md)}

.breadcrumb{max-width:1280px;margin:0 auto;padding:var(--spacing-sm) var(--spacing-xs);font-size:12px;color:var(--muted)}
.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:var(--ink)}

.page-content{max-width:900px;margin:0 auto;padding:var(--spacing-xxl) var(--spacing-xs)}
.page-content h1{font-size:56px;font-weight:500;line-height:1.1;letter-spacing:-1.12px;margin-bottom:var(--spacing-lg)}
.page-content h2{font-size:26px;font-weight:500;margin-top:var(--spacing-xl);margin-bottom:var(--spacing-sm)}
.page-content p{font-size:15px;color:var(--body);line-height:1.7;margin-bottom:var(--spacing-sm)}
.page-content ul{padding-left:var(--spacing-md);margin-bottom:var(--spacing-sm)}
.page-content li{font-size:15px;color:var(--body);line-height:1.7}

.site-footer{background:var(--canvas);border-top:1px solid var(--hairline);padding:var(--spacing-xl) var(--spacing-xs) var(--spacing-md)}
.footer-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:var(--spacing-md)}
.footer-brand{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:var(--spacing-xxs)}
.footer-desc{font-size:13px;color:var(--body);line-height:1.5;margin-bottom:var(--spacing-xs)}
.footer-contact{font-size:13px;color:var(--body);line-height:1.8}
.footer-contact a{color:var(--body)}
.footer-contact a:hover{color:var(--ink)}
.footer-col-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.1px;color:var(--muted);margin-bottom:var(--spacing-xs)}
.footer-col a{display:block;font-size:13px;color:var(--body);margin-bottom:var(--spacing-xxs)}
.footer-col a:hover{color:var(--ink)}
.footer-disclaimer{font-size:12px;color:var(--muted);line-height:1.6}
.footer-bottom{max-width:1280px;margin:var(--spacing-md) auto 0;padding-top:var(--spacing-sm);border-top:1px solid var(--hairline);font-size:12px;color:var(--muted)}

.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--canvas-elevated);border-top:1px solid var(--hairline);z-index:999;padding:var(--spacing-sm) var(--spacing-xs)}
.cookie-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}
.cookie-inner p{font-size:13px;color:var(--body)}
.cookie-btns{display:flex;gap:var(--spacing-xs);flex-shrink:0}

@media(max-width:1024px){
    .cards-grid{grid-template-columns:repeat(2,1fr)}
    .footer-inner{grid-template-columns:repeat(3,1fr)}
    .hero-content h1{font-size:56px}
    .two-col{grid-template-columns:1fr}
}
@media(max-width:768px){
    .nav-toggle{display:block}
    .main-nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--canvas);flex-direction:column;padding:var(--spacing-sm);border-bottom:1px solid var(--hairline)}
    .main-nav.open{display:flex}
    .hero-content h1{font-size:32px;letter-spacing:-0.6px}
    .article-hero-content h1{font-size:32px}
    .page-content h1{font-size:36px}
}
@media(max-width:640px){
    .cards-grid{grid-template-columns:1fr}
    .footer-inner{grid-template-columns:1fr 1fr}
    .hero-ctas{flex-direction:column}
    .cookie-inner{flex-direction:column;align-items:flex-start}
}
