:root{--red:#B5121B;--red-dark:#8F0D15;--maroon:#4A0E0E;--charcoal:#222;--near-black:#151515;--white:#fff;--off-white:#F7F7F7;--light-grey:#EEE;--med-grey:#777;--orange:#F58220;
  box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);}
*{box-sizing:border-box;margin:0;padding:0;border-radius:0;}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth;}
body{font-family:'Inter',system-ui,sans-serif;color:var(--charcoal);background:var(--white);line-height:1.5;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px;}
h1,h2,h3{font-weight:700;letter-spacing:-0.01em;}

.logo-stack{display:inline-flex;flex-direction:column;line-height:1;font-weight:800;font-style:italic;letter-spacing:.02em;transform:skewX(-6deg);}
.logo-stack .l-top{font-size:20px;color:var(--red);text-transform:uppercase;}
.logo-stack .l-bottom{font-size:13px;color:var(--near-black);text-transform:uppercase;letter-spacing:.16em;margin-top:1px;}
.footer-logo .l-bottom{color:var(--white);}

.site-header{position:sticky;top:0;z-index:50;background:var(--white);border-bottom:1px solid var(--light-grey);padding-top:env(safe-area-inset-top,0px);}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:68px;}
.menu-btn{width:44px;height:44px;background:var(--red);display:flex;align-items:center;justify-content:center;}
.menu-btn:hover{background:var(--red-dark);}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{content:'';display:block;width:20px;height:2px;background:var(--white);position:relative;}
.menu-btn span::before{position:absolute;top:-6px;}
.menu-btn span::after{position:absolute;top:6px;}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;font-weight:600;font-size:14px;transition:background .15s;}
.btn-primary{background:var(--red);color:var(--white);}
.btn-primary:hover{background:var(--red-dark);}
.btn-outline{background:transparent;border:1px solid var(--charcoal);color:var(--charcoal);}
.btn-outline:hover{background:var(--off-white);}
.btn-wa{background:#1FA855;color:var(--white);}
.btn-wa:hover{background:#178a45;}

.mobile-drawer{position:fixed;inset:0;background:var(--white);z-index:200;transform:translateX(100%);transition:transform .25s ease;display:flex;flex-direction:column;padding:24px;padding-top:calc(24px + env(safe-area-inset-top,0px));}
.mobile-drawer.open{transform:translateX(0);}
.mobile-drawer .close-drawer{align-self:flex-end;width:40px;height:40px;background:none;font-size:26px;color:var(--near-black);}
.mobile-drawer a{display:block;padding:18px 4px;font-size:18px;font-weight:600;border-bottom:1px solid var(--light-grey);}
.mobile-drawer a.btn{margin-top:24px;border-bottom:none;text-align:center;}

.page-head{padding:36px 0 22px;}
.kicker{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--red);margin-bottom:8px;text-transform:uppercase;}
.page-head h1{font-size:30px;}
.page-head p{color:var(--med-grey);font-size:14px;margin-top:8px;max-width:520px;}

/* gallery */
.gallery-group{padding:10px 0 26px;}
.gallery-group h2{font-size:18px;margin-bottom:12px;}
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
.gallery-grid button{padding:0;background:var(--off-white);aspect-ratio:4/3;overflow:hidden;display:block;width:100%;}
.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.gallery-grid button:hover img{transform:scale(1.05);}
.lightbox{display:none;position:fixed;inset:0;z-index:300;background:rgba(10,10,10,.92);align-items:center;justify-content:center;padding:16px;}
.lightbox.open{display:flex;}
.lightbox img{max-height:88vh;max-width:100%;object-fit:contain;}
.lightbox .lb-close{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:14px;width:44px;height:44px;background:var(--red);color:var(--white);font-size:26px;}
.lightbox .lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:56px;background:rgba(255,255,255,.14);color:var(--white);font-size:26px;}
.lightbox .lb-prev{left:8px;}.lightbox .lb-next{right:8px;}

/* station page */
.station-hero{position:relative;height:280px;background:#222;overflow:hidden;}
.station-hero img{width:100%;height:100%;object-fit:cover;}
.station-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,21,21,.1) 30%,rgba(21,21,21,.75) 100%);}
.station-hero .hero-text{position:absolute;left:0;right:0;bottom:22px;z-index:2;color:var(--white);}
.station-hero .kicker{color:#ffd7d4;}
.station-hero h1{font-size:30px;line-height:1.15;}
.station-body{padding:28px 20px 12px;}
.station-body p.lead{font-size:16px;line-height:1.7;color:var(--charcoal);max-width:620px;}
.facts{margin:22px 0;border:1px solid var(--light-grey);}
.facts div{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--light-grey);font-size:14px;}
.facts div:last-child{border-bottom:none;}
.facts span:first-child{color:var(--med-grey);}
.facts a{color:var(--red);font-weight:600;}
.cta-row{display:flex;flex-direction:column;gap:10px;margin:22px 0 8px;}
.other-stations{padding:28px 0 40px;}
.other-stations h2{font-size:18px;margin-bottom:12px;}
.other-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
.other-grid a{display:block;border:1px solid var(--light-grey);}
.other-grid img{height:84px;width:100%;object-fit:cover;}
.other-grid span{display:block;padding:8px 10px;font-size:13px;font-weight:600;}
.other-grid a.current{border-color:var(--red);}
.other-grid a.current span{color:var(--red);}

footer{background:var(--near-black);color:#cfcfcf;padding:36px 0 22px;font-size:14px;}
footer .footer-top{display:flex;flex-direction:column;gap:18px;margin-bottom:22px;}
footer ul{list-style:none;}footer li{margin-bottom:8px;}
footer a:hover{color:var(--white);}
footer .footer-bottom{border-top:1px solid #333;padding-top:16px;font-size:12px;color:#888;}

@media (min-width:700px){
  .gallery-grid{grid-template-columns:repeat(3,1fr);gap:12px;}
  .other-grid{grid-template-columns:repeat(3,1fr);}
  .station-hero{height:380px;}
  .cta-row{flex-direction:row;}
}
@media (min-width:1000px){.gallery-grid{grid-template-columns:repeat(4,1fr);}.other-grid{grid-template-columns:repeat(5,1fr);}}
