@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700;800&display=swap');
:root{--navy:#101c29;--red:#c8292c;--gold:#c7a66a;--ink:#172330;--muted:#67727c;--cream:#f5f3ee}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink)}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.header{background:var(--navy);color:white;position:relative;z-index:5;border-bottom:1px solid #ffffff26}.nav{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:14px;align-items:center;font-family:'Barlow Condensed',Impact,sans-serif;font-weight:800;font-size:24px;line-height:.95;letter-spacing:.8px}.brand strong,.brand small{display:block}.brand strong{font-size:18px;color:#fff}.brand small{font:600 9px Inter,sans-serif;letter-spacing:2px;margin-top:8px;color:var(--gold)}.crest{width:63px;height:67px;display:grid;place-items:center;color:white;font-size:20px;background:#b92c30;clip-path:polygon(50% 0,64% 17%,86% 11%,83% 35%,100% 50%,83% 65%,86% 89%,64% 83%,50% 100%,36% 83%,14% 89%,17% 65%,0 50%,17% 35%,14% 11%,36% 17%);outline:2px solid var(--gold)}nav{display:flex;align-items:center;gap:25px;font-size:12px;font-weight:700}nav a:hover,.text-link:hover{color:var(--gold)}.nav-donate{background:var(--red);padding:15px 19px;color:white!important}.menu{display:none}.hero{min-height:640px;position:relative;background:#18212a;color:#fff;display:flex;flex-direction:column;justify-content:center}.hero-photo{position:absolute;inset:0;background:linear-gradient(90deg,#111b26 0%,#111b26dd 35%,#111b2677 100%),url('assets/tower-21.jpg') center 47%/cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0d1722aa,transparent 50%)}.hero-content{position:relative;padding:80px 0 110px}.eyebrow,.kicker{font-weight:800;letter-spacing:2.5px;font-size:11px}.eyebrow{color:var(--gold);display:flex;align-items:center;gap:12px}.line{height:2px;width:28px;background:var(--gold)}h1,h2,h3{font-family:'Barlow Condensed',Impact,sans-serif;text-transform:uppercase}h1{font-size:clamp(52px,6.9vw,99px);letter-spacing:.3px;line-height:.94;margin:25px 0}h1 em{font-style:normal;color:#e7b9a0}.hero p{font-size:15px;line-height:1.9;color:#e3e5e7;max-width:555px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.btn{padding:18px 23px;font-size:12px;font-weight:800;display:inline-flex;gap:30px;justify-content:space-between;align-items:center}.btn.red{background:var(--red)}.btn.outline{border:1px solid #ffffff7a}.btn.light{background:white;color:var(--navy)}.hero-bottom{position:absolute;bottom:0;width:100%;border-top:1px solid #ffffff44}.hero-bottom .wrap{display:flex;justify-content:space-between;padding:20px 0;font-size:10px;letter-spacing:2px;font-weight:700;color:#cbd0d5}.intro{background:var(--cream);padding:88px 0}.intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px}.kicker{color:var(--red)}h2{font-size:clamp(37px,4.3vw,58px);line-height:1.03;margin:18px 0}h2 span{color:#8a9299}.intro p:not(.kicker),.contact p:not(.kicker),.callout p:not(.kicker){line-height:1.9;font-size:15px;color:#58636d}.intro-grid>div:last-child{padding-top:32px}.text-link{display:inline-block;margin-top:15px;font-weight:800;font-size:12px;color:var(--red)}.features{padding:80px 0 90px;background:white}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.feature-num{font-size:10px;font-weight:800;letter-spacing:2px;color:var(--red);display:block;margin-bottom:16px}.feature-art{height:205px;display:flex;align-items:end;padding:20px;background-size:cover;background-position:center;position:relative;overflow:hidden}.feature-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#111c29cc,transparent)}.feature-art span{position:relative;z-index:1;font:800 30px 'Barlow Condensed',sans-serif;color:white}.apparatus-art{background-image:linear-gradient(130deg,#263a48,#9b3134)}.join-art{background-image:linear-gradient(130deg,#4b5660,#152636)}.events-art{background-image:linear-gradient(130deg,#8b342f,#243849)}.feature-body h3{font-size:29px;margin:20px 0 5px}.feature-body p{font-size:13px;line-height:1.8;color:var(--muted);min-height:47px}.feature-body a{font-size:12px;font-weight:800;color:var(--red)}.callout{background:var(--red);color:white;padding:75px 0}.callout-grid{display:flex;align-items:center;justify-content:space-between;gap:30px}.callout h2{font-size:57px}.callout .kicker{color:#f2c8c6}.callout p:not(.kicker){color:#ffe6e6;max-width:610px}.contact{padding:90px 0;background:#f4f5f6}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-panel{background:white;border-top:5px solid var(--red);padding:30px;box-shadow:0 12px 30px #1825340b}.contact-panel h3{font-size:26px;margin:0}.contact-panel .muted{font-size:12px!important}.contact-panel .emergency{border-top:1px solid #ddd;padding-top:18px;font-size:12px!important;font-weight:700;color:var(--ink)!important}.emergency strong{color:var(--red);font-size:22px}footer{background:var(--navy);color:white;padding:30px 0}.footer{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:11px;color:#aeb8c0}.footer strong{display:block;color:white;font-size:12px}.footer small{display:block;margin-top:8px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:900px){.menu{display:block;background:transparent;border:1px solid #ffffff66;color:white;padding:10px;font-size:18px}nav{display:none;position:absolute;top:96px;left:0;right:0;background:var(--navy);padding:25px;flex-direction:column;align-items:stretch}nav.open{display:flex}.intro-grid,.contact-grid{grid-template-columns:1fr;gap:20px}.intro-grid>div:last-child{padding-top:0}.feature-grid{grid-template-columns:1fr}.feature-art{height:250px}.callout-grid{align-items:start;flex-direction:column}}@media(max-width:560px){.wrap{width:calc(100% - 36px)}.nav{min-height:82px}.brand{font-size:19px}.brand strong{font-size:14px}.brand small{font-size:8px;letter-spacing:1px}.crest{width:49px;height:53px;font-size:16px}nav{top:82px}.hero{min-height:620px}.hero-content{padding:65px 0 110px}h1{font-size:54px}.hero-bottom .wrap{font-size:8px;gap:12px}.intro,.features,.contact{padding:60px 0}.callout h2{font-size:43px}.footer{flex-direction:column;align-items:start}}

.brand-logo{width:78px;height:65px;object-fit:contain;border-radius:3px;background:#0a0b0c}.fleet-showcase{padding:80px 0;background:#f5f3ee}.fleet-showcase h2{font-size:clamp(40px,5vw,65px);margin:10px 0 28px}.fleet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.fleet-card{background:#fff;box-shadow:0 12px 30px #101c2912;overflow:hidden}.fleet-card img{display:block;width:100%;height:340px;object-fit:cover}.fleet-card div{padding:20px 24px}.fleet-card h3{font-size:32px;margin:0}.fleet-card p{color:#67727c;margin:5px 0 0}.apparatus-art{background:linear-gradient(0deg,#101c29aa,#101c2922),url('assets/engine-212.jpg') center/cover!important}@media(max-width:700px){.fleet-grid{grid-template-columns:1fr}.fleet-card img{height:270px}.brand-logo{width:57px;height:53px}.hero-photo{background-position:61% center}}

/* Version 3: centered station emblem with Engine 212 and Tower 21 directly below */
.hero-centered{min-height:auto;background:radial-gradient(ellipse at 50% 15%,#263648 0%,#101c29 70%);text-align:center;border-bottom:4px solid var(--gold)}
.hero-centered-inner{padding:62px 0 56px;display:flex;flex-direction:column;align-items:center}
.centered-eyebrow{display:block;margin:0 0 24px;color:var(--gold)}
.hero-main-logo{display:block;width:min(560px,90%);height:auto;max-height:330px;object-fit:contain;mix-blend-mode:lighten}
.hero-centered h1{font-size:clamp(39px,5.4vw,77px);line-height:1.01;margin:25px 0 10px}
.hero-centered h1 em{color:var(--gold)}
.hero-centered .hero-subtitle{margin:0;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#e1e3e7}
.hero-actions{justify-content:center;margin-top:25px}
.hero-apparatus{background:#101c29;padding:28px 0 45px}
.hero-trucks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.hero-trucks figure{margin:0;position:relative;overflow:hidden;background:#263648;border:1px solid #ffffff35}
.hero-trucks img{display:block;width:100%;height:360px;object-fit:cover;object-position:center}
.hero-trucks figure:first-child img{object-position:center 55%}
.hero-trucks figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:30px 22px 18px;background:linear-gradient(transparent,#0b1422ee);color:white}
.hero-trucks figcaption strong{font:800 32px 'Barlow Condensed',Impact,sans-serif}
.hero-trucks figcaption span{font-size:10px;letter-spacing:1.2px;color:#e5c892;font-weight:700}
@media(max-width:700px){.hero-centered-inner{padding:38px 0 40px}.hero-main-logo{width:100%;max-height:250px}.hero-centered h1{font-size:clamp(35px,9vw,53px)}.hero-trucks{grid-template-columns:1fr;gap:16px}.hero-trucks img{height:270px}.hero-trucks figcaption{flex-wrap:wrap}.hero-apparatus{padding:18px 0 30px}}

/* Apparatus page */
.apparatus-page-hero{background:radial-gradient(ellipse at top,#283c4f,#101c29 75%);padding:95px 0;color:white;border-bottom:4px solid var(--gold)}.apparatus-page-hero h1{margin:15px 0;font-size:clamp(60px,9vw,112px)}.apparatus-page-hero h1 em{color:var(--gold)}.apparatus-page-hero p:last-child{max-width:640px;line-height:1.8;color:#d6dee5}.apparatus-detail{padding:85px 0;scroll-margin-top:20px}.apparatus-detail.alternate{background:var(--cream)}.apparatus-detail-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:55px;align-items:center}.apparatus-detail-grid>img{display:block;width:100%;max-height:530px;object-fit:cover;border-bottom:5px solid var(--red);box-shadow:0 18px 40px #101c2920}.apparatus-detail h2{font-size:clamp(55px,7vw,90px);margin:10px 0}.apparatus-detail p{line-height:1.85;color:#596673}.apparatus-detail h3{font-size:27px;margin:25px 0 10px}.spec-list{border-top:1px solid #cbd1d5;margin:0}.spec-list div{display:grid;grid-template-columns:1fr 1.2fr;gap:12px;border-bottom:1px solid #dce0e3;padding:13px 0;font-size:13px}.spec-list dt{font-weight:800;color:#344250}.spec-list dd{margin:0;color:#596673}.apparatus-detail .spec-note{font-size:12px;font-style:italic}.apparatus-cta{background:var(--navy);color:white;padding:70px 0;text-align:center}.apparatus-cta h2{margin:0 0 12px}.apparatus-cta p{color:#d6dee5}.apparatus-cta .btn{margin-top:18px}.fleet-card a:hover,.hero-trucks a:hover{color:var(--gold)}@media(max-width:800px){.apparatus-detail-grid{grid-template-columns:1fr;gap:24px}.apparatus-detail{padding:55px 0}.apparatus-detail-grid>img{max-height:400px}.apparatus-page-hero{padding:65px 0}}

/* Expanded apparatus directory */
.fleet-directory{padding:72px 0;background:#111c2a;color:#f8f5ee}.fleet-directory.alternate{background:#192739}.fleet-directory.retired-section{background:#10151d;border-top:3px solid #b08a4b}.fleet-directory h2{font-size:clamp(2rem,4vw,3rem);margin:8px 0 14px}.fleet-directory p{max-width:760px;line-height:1.7;color:#d4dbe3}.directory-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.directory-links a{display:inline-block;padding:12px 18px;border:1px solid #b08a4b;color:#f5dfb2;text-decoration:none;border-radius:5px}.directory-links a:hover{background:#b08a4b;color:#111c2a}.placeholder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px}.placeholder-unit{padding:28px;border:1px dashed #a88a58;background:rgba(255,255,255,.035);border-radius:8px}.placeholder-unit span{color:#e1b870;font-size:.76rem;letter-spacing:.14em;font-weight:700}.placeholder-unit h3{color:#fff;margin:12px 0}.placeholder-unit p{margin:0}@media(max-width:650px){.placeholder-grid{grid-template-columns:1fr}.fleet-directory{padding:46px 0}}

/* About Us & History */
.history-hero{background:radial-gradient(circle at 80% 30%,#253b52,#111c2a 60%);padding:85px 0 80px;color:#fff}.history-hero-inner{display:flex;align-items:center;gap:70px}.history-emblem{width:220px;height:220px;object-fit:contain;border-radius:50%;box-shadow:0 15px 50px #0006}.history-hero h1{font-size:clamp(42px,6vw,80px);line-height:1.02;margin:16px 0}.history-hero h1 em{color:#dcb765;font-style:normal}.history-hero p:not(.eyebrow){font-size:19px;max-width:650px;color:#d7dce4;margin-bottom:28px}.history-intro{padding:80px 0;background:#fff}.history-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.history-intro h2,.history-timeline h2,.history-towers h2,.history-archive h2{font-size:clamp(30px,4vw,49px);line-height:1.13;margin:10px 0 22px}.history-intro h2 span{color:#af262d}.history-intro p,.history-timeline p,.history-towers p,.history-archive p{line-height:1.75}.history-timeline{padding:80px 0;background:#f1f3f6}.history-lead{max-width:720px;color:#5e6873}.timeline{margin-top:45px;border-left:3px solid #bb2d32;padding-left:32px}.milestone{display:grid;grid-template-columns:170px 1fr;gap:26px;position:relative;padding:0 0 40px}.milestone:before{content:'';position:absolute;left:-42px;top:10px;width:16px;height:16px;border-radius:50%;background:#c22d33;border:3px solid #fff;box-shadow:0 0 0 2px #c22d33}.milestone-year{font-size:24px;font-weight:850;color:#9e222b}.milestone-year small{display:block;font-size:12px;font-weight:600;color:#6b7280}.milestone-content{background:#fff;padding:27px 32px;border-radius:10px;box-shadow:0 7px 25px #1724360a}.milestone-content h3{font-size:23px;margin:6px 0 10px}.milestone-content p{margin:0}.milestone-tag,.history-era{color:#a32c30;font-size:12px;letter-spacing:1.4px;font-weight:850}.historical-note{font-size:13px;color:#66707b;margin-top:12px!important}.history-towers{background:#111c2a;color:#fff;padding:85px 0}.history-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:36px 0 28px}.history-card{border:1px solid #526074;background:#1a293b;border-radius:12px;padding:28px;overflow:hidden}.history-card h3{font-size:23px;margin:12px 0}.history-card p{color:#d1d8e2}.history-card .history-era{color:#e4bd73}.history-card .photo-pending{display:block;border:1px dashed #66758b;color:#b8c5d2;padding:24px 12px;text-align:center;font-size:13px;margin-top:25px;border-radius:8px}.history-card.featured{padding:0}.history-card.featured img{width:100%;height:185px;object-fit:cover;display:block}.history-card-pad{padding:25px}.history-towers .text-link{color:#f1c878}.history-archive{padding:85px 0;background:#fff}.history-archive> .wrap > p{max-width:820px}.archive-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:32px 0}.archive-grid>div{border:1px solid #d8dce3;padding:24px;border-radius:10px}.archive-grid strong,.archive-grid span{display:block}.archive-grid span{font-size:14px;color:#67717c;margin-top:7px}@media(max-width:800px){.history-hero-inner{flex-direction:column;gap:25px;text-align:center}.history-emblem{width:160px;height:160px}.history-intro-grid{grid-template-columns:1fr;gap:10px}.history-card-grid{grid-template-columns:1fr}.milestone{grid-template-columns:1fr;gap:8px}.timeline{padding-left:22px}.milestone:before{left:-32px}.archive-grid{grid-template-columns:1fr}.history-hero{padding:50px 0}.history-timeline,.history-intro,.history-towers,.history-archive{padding:55px 0}}

/* Version 7: expanded fleet and authentic CVFD photo archive */
.fleet-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fleet-card img,.unit-no-photo{height:220px;width:100%;object-fit:cover}.unit-no-photo,.apparatus-photo-pending{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#182334,#394454);color:#f1d7a7;font-weight:800;letter-spacing:.12em;text-align:center;padding:2rem;min-height:300px}.apparatus-photo-pending{min-height:390px}.apparatus-detail-grid img{object-fit:cover;max-height:500px}.photo-teaser{padding:80px 0;background:#f2f3f5}.photo-teaser h2{font-size:clamp(2rem,4vw,3rem);margin:.4rem 0}.photo-teaser-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0}.photo-teaser-grid img{width:100%;height:270px;object-fit:cover;border-radius:4px}.gallery-section{padding:75px 0}.gallery-section:nth-child(odd){background:#f4f5f7}.gallery-section h2{font-size:clamp(2rem,4vw,3.2rem);margin:10px 0}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px}.gallery-grid figure{margin:0;overflow:hidden;background:#1a2635;aspect-ratio:4/3;border-radius:3px}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.gallery-grid img:hover{transform:scale(1.04)}.fleet-directory .directory-links{flex-wrap:wrap}.fleet-card{overflow:hidden}@media(max-width:850px){.fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:580px){.fleet-grid,.photo-teaser-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-teaser-grid img{height:240px}.gallery-section{padding:50px 0}}

/* V8: Real CVFD photography forms a full-bleed mosaic behind the centered crest. */
.hero-centered{position:relative;isolation:isolate;overflow:hidden;background:#101c29;min-height:680px}
.hero-collage{position:absolute;inset:0;z-index:-2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:5px;transform:scale(1.015)}
.hero-collage img{width:100%;height:100%;object-fit:cover;min-height:0;filter:saturate(.85)}
.hero-collage-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,17,27,.65),rgba(8,17,27,.32) 50%,rgba(8,17,27,.65)),linear-gradient(0deg,rgba(8,17,27,.93),rgba(8,17,27,.28) 45%,rgba(8,17,27,.72))}
.hero-centered-inner{position:relative;z-index:1;padding-top:70px;padding-bottom:70px}
.hero-main-logo{width:min(330px,65vw);max-height:280px;object-fit:contain;mix-blend-mode:normal;border-radius:12px;box-shadow:0 18px 60px #0009}
.hero-centered h1{text-shadow:0 3px 20px #000b}
.hero-centered .eyebrow,.hero-centered .hero-subtitle{text-shadow:0 2px 10px #000}
@media(max-width:700px){.hero-centered{min-height:690px}.hero-collage{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr))}.hero-collage-shade{background:linear-gradient(0deg,#09131fee,#09131f77 45%,#09131fd9)}.hero-main-logo{width:min(260px,68vw)}.hero-centered-inner{padding-top:55px;padding-bottom:55px}}

/* Version 10: scoped additions from the interactive preview. Version 9 layout preserved. */
.v10-feature{padding:75px 24px;scroll-margin-top:85px;background:#fff;color:#202c39}
.v10-feature.v10-muted{background:#f6f4ef}
.v10-feature.v10-dark{background:#101a2b;color:#fff}
.v10-feature .wrap{max-width:1160px;margin:0 auto}
.v10-feature .split{display:grid;grid-template-columns:1.2fr 1fr;gap:35px;align-items:start}
.v10-feature .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.v10-feature h2{font-size:clamp(28px,3.5vw,43px);line-height:1.13;margin:8px 0 20px;color:inherit}
.v10-feature h3{font-size:22px;margin:0 0 12px;color:inherit}
.v10-feature p{line-height:1.7;margin:0 0 16px;color:inherit}
.v10-feature .eyebrow,.v10-feature .tag{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:#bb7b24;font-weight:800;display:block;margin-bottom:12px}
.v10-feature.v10-dark .eyebrow{color:#e9b95c}
.v10-feature .panel,.v10-feature .tile{padding:27px;background:#f6f4ef;border:1px solid #e5e0d6;border-radius:9px;color:#202c39}
.v10-feature.v10-dark .panel{background:#1e2c42;border-color:#46526a;color:#fff}
.v10-feature .intro{margin-bottom:25px;max-width:750px}
.v10-feature .btn{display:inline-block;padding:13px 23px;background:#b51e2b;color:#fff;text-decoration:none;border:0;border-radius:4px;font-weight:800;cursor:pointer}
.v10-feature .btn.gold{background:#e9b95c;color:#101a2b}
.v10-feature .hidden{display:none}
.v10-feature .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.v10-feature label{display:block;font-weight:700;margin:14px 0 6px}
.v10-feature input:not([type=checkbox]),.v10-feature select,.v10-feature textarea{width:100%;padding:12px;border:1px solid #c8cbd1;border-radius:5px;font:inherit}
.v10-feature .note{padding:13px;margin:15px 0;background:#fff4d8;color:#513d0e;border-left:4px solid #d8a438;font-size:14px}
.v10-feature .donations{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.v10-feature .amount{border:1px solid #b51e2b;border-radius:5px;padding:11px 18px;background:#fff;color:#9b1725;cursor:pointer;font-weight:700}
.v10-feature .amount.selected{background:#b51e2b;color:#fff}
.v10-preview-note{text-align:center;background:#101a2b;color:#e9b95c;font-size:12px;padding:13px 20px}
@media(max-width:750px){.v10-feature .split,.v10-feature .grid,.v10-feature .form-grid{grid-template-columns:1fr}.v10-feature{padding:48px 18px}}
