:root { --red:#ed0000; --black:#080808; --panel:#161616; --line:#2d2d2d; }
* { box-sizing:border-box; }
body { min-height:100vh; margin:0; padding-top:112px; color:#fff; background:var(--black); font-family:Inter, sans-serif; }
.site-header { width:100%; height:112px; position:fixed; top:0; z-index:1030; background:#0b0b0b; border-bottom:1px solid #1f1f1f; }
.navbar { height:100%; }.brand-mark { width:142px; height:108px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; background:#000; border:1px solid #240000; box-shadow:0 0 17px rgba(236,0,0,.12) inset; text-decoration:none; line-height:.75; }.brand-mark .rds { color:#e51818; font:900 49px 'Barlow Condensed',sans-serif; letter-spacing:-3px; text-shadow:1px 1px #fff; }.brand-mark .jr { position:absolute; transform:translate(-39px,-18px) rotate(-18deg); color:#fff; font:italic 31px Georgia,serif; }.brand-mark small { margin-top:7px; font:8px 'DM Mono',monospace; letter-spacing:4px; }.brand-mark em { margin-top:3px; color:#e73535; font:italic 15px Georgia,serif; }.brand-logo-image { width:100%; height:100%; object-fit:contain; }.nav-link { padding:10px 17px!important; color:#aaa!important; font:600 12px 'DM Mono',monospace; letter-spacing:.7px; }.nav-link:hover { color:#fff!important; }.btn-red { padding:13px 25px; color:#fff; background:var(--red); border:1px solid var(--red); border-radius:1px; font:700 12px 'DM Mono',monospace; letter-spacing:.3px; }.btn-red:hover { color:#fff; background:#bf0000; border-color:#bf0000; }
.dropdown-menu { min-width:160px; padding:7px; border:1px solid #333; border-radius:0; background:#111; }
.dropdown-item { color:#ddd; font:600 11px 'DM Mono',monospace; letter-spacing:.5px; }
.dropdown-item:hover { color:#fff; background:#310000; }
.membership-page { width:min(1180px,100%); margin:0 auto; padding:56px 24px 80px; }
.membership-intro { max-width:650px; }
.eyebrow { margin:0 0 11px; color:#ff2727; font:600 11px 'DM Mono',monospace; letter-spacing:2px; }
.membership-intro h1 { margin:0; color:#fff; font:900 clamp(3.4rem,7vw,5.8rem)/.84 'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:-2px; }
.membership-intro h1 span { color:var(--red); }
.membership-intro > p { max-width:560px; margin:22px 0 26px; color:#aaa; font-size:14px; line-height:1.7; }
.membership-info { display:flex; gap:13px; align-items:center; margin-bottom:30px; padding:16px; border:1px solid var(--line); border-radius:15px; background:var(--panel); }
.membership-info span { color:var(--red); font-size:22px; }
.membership-info p { margin:0; color:#d1d1d1; font-size:13px; line-height:1.5; }
.active-membership { margin-bottom:30px; padding:28px; border:1px solid #6b1111; border-radius:15px; background:linear-gradient(135deg, #250404, var(--panel)); }
.active-membership h2 { margin:0; color:#fff; font:800 clamp(2rem,4vw,3rem)/.95 'Barlow Condensed',sans-serif; text-transform:uppercase; }.active-membership > p:not(.eyebrow) { margin:13px 0 0; color:#ddd; font-size:14px; }.active-membership .membership-expiry { color:#ffb0b0; font:600 11px 'DM Mono',monospace; letter-spacing:.4px; }
.package-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:15px; }
.package-card { min-height:310px; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:15px; background:var(--panel); }
.package-card__top { min-height:122px; padding:15px; background:var(--red); }
.package-card__title { margin:0 0 13px; min-height:42px; color:#fff; font-size:12px; font-weight:700; line-height:1.35; }
.class-badge { display:inline-block; padding:5px 8px; border-radius:4px; background:rgba(255,255,255,.2); color:#fff; font-size:11px; font-weight:600; }
.package-card__content { height:100%; padding:16px; display:flex; flex-direction:column; justify-content:space-between; }
.benefits { display:grid; gap:10px; margin:0; padding:0; list-style:none; color:#d0d0d0; font-size:11px; }
.benefits li::before { content:'✓'; display:inline-grid; width:16px; height:16px; place-items:center; margin-right:8px; border-radius:50%; color:var(--red); background:#310000; font-size:11px; font-weight:900; }
.checkout-button { width:100%; margin-top:20px; padding:12px; border:0; border-radius:8px; color:#fff; background:var(--red); font:600 12px Inter,sans-serif; text-align:center; text-decoration:none; transition:background .2s ease; }
.checkout-button:hover { background:#b60000; color:#fff; }
.site-footer { padding:50px 0 23px; background:#080808; border-top:1px solid #242424; }.footer-inner { padding:0 64px; }.footer-logo { width:265px; height:210px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; background:#000 url('images/jrds-logo.jpg') center / contain no-repeat; border:1px solid #240000; box-shadow:0 0 22px rgba(236,0,0,.2); text-decoration:none; line-height:.78; }.footer-logo > * { display:none; }.footer-logo-main { position:relative; color:#e51818; font:900 74px/.7 'Barlow Condensed',sans-serif; letter-spacing:-5px; text-shadow:1px 1px #fff; }.footer-logo-jr { position:absolute; left:-31px; top:-19px; transform:rotate(-18deg); color:#fff; font:italic 49px Georgia,serif; }.footer-logo-name { margin-top:16px; color:#e73535; font:italic 29px Georgia,serif; }.footer-logo small { margin-top:12px; color:#eee; font:10px 'DM Mono',monospace; letter-spacing:5px; }.footer-about { max-width:268px; margin-top:20px; color:#a0a0a0; font-size:11px; line-height:1.65; }.footer-heading { margin:1px 0 17px; color:var(--red); font:700 10px 'DM Mono',monospace; letter-spacing:2px; }.footer-links { display:grid; gap:10px; }.footer-links a,.footer-address { color:#979797; font-size:11px; line-height:1.4; text-decoration:none; }.footer-links a:hover { color:#fff; }.footer-address { margin:0 0 8px; line-height:1.85; }.footer-address a { color:#fff; text-decoration:none; }.footer-directions { color:#fff; font:600 10px 'DM Mono',monospace; letter-spacing:1px; text-decoration:none; }.footer-bottom { margin-top:39px; padding-top:17px; color:#858585; border-top:1px solid #252525; font-size:9px; }
@media (max-width:991.98px) { body { padding-top:82px; }.site-header { height:82px; }.brand-mark { width:102px; height:81px; }.brand-mark .rds { font-size:38px; }.brand-mark .jr { transform:translate(-30px,-15px) rotate(-18deg); font-size:24px; }.brand-mark em { font-size:10px; }.brand-mark small { font-size:6px; letter-spacing:2px; }.navbar-collapse { padding:14px; margin:0 -12px; background:#101010; border-bottom:1px solid #292929; }.nav-link { padding:10px 0!important; }.footer-inner { padding:0 36px; }.footer-logo { width:220px; height:174px; }.footer-logo-main { font-size:62px; }.footer-logo-name { font-size:24px; }.site-footer .row { row-gap:42px; } }
@media (max-width:575.98px) { .membership-page { padding:35px 17px 60px; } .package-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .package-card { min-height:296px; border-radius:12px; } .package-card__top { min-height:132px; padding:12px; } .package-card__content { padding:12px; } .package-card__title { font-size:11px; } .benefits { font-size:10px; } .checkout-button { padding:10px 6px; font-size:11px; } }
