/* Shared visual refinement. Loaded after each page's existing component styles. */
:root {
  --black: #0c0c0b;
  --dark: #161413;
  --dark2: #1e1c1a;
  --blue: #ffd22a;
  --blue2: #e5a900;
  --purple: #e72f3c;
  --pink: #f04a4b;
  --green: #ff9234;
  --white: #f4f5f0;
  --muted: #c8bcad;
  --font-game: 'Rajdhani', 'Arial Narrow', sans-serif;
  --font-body: 'Segoe UI', Arial, sans-serif;
  --font-mono: 'Share Tech Mono', monospace;
}
body {font-size:16px;line-height:1.7}
h1,h2,h3,h4 {text-wrap:balance}
.h-title {font-size:clamp(48px,6.2vw,84px);font-weight:700;line-height:.98;letter-spacing:-.025em;text-transform:uppercase;text-shadow:none}
.s-title,.c-title {font-size:clamp(32px,4vw,50px);font-weight:700;line-height:1.08;letter-spacing:-.015em}
.c-h1 {font-size:clamp(38px,4.6vw,62px);font-weight:700;line-height:1.02;letter-spacing:-.02em}
.grad,.h-title .line2,.pr-num {background:none;-webkit-text-fill-color:currentColor;color:var(--blue);filter:none}
.glitch {animation:none;filter:none}
.h-sub,.c-hero-sub,.s-sub {font-size:17px;line-height:1.75}
.s-label,.c-badge,.h-badge {font-size:12px;letter-spacing:1.5px}
.s-label::before {color:var(--green)}
.nav-links a,.tb-links a {font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.6px}
.logo-text,.tb-txt,.ft-logo-txt {font-family:'Orbitron',sans-serif}
.logo-icon,.tb-ico,.ft-logo-ico {background:#292724;border:1px solid #504b45;box-shadow:none;border-radius:6px}
.btn-main,.nav-btn,.mob-cta a {
  background:var(--blue);color:#17120a;box-shadow:none;border-radius:5px;
  font-family:var(--font-game);font-weight:700;font-size:16px;letter-spacing:.7px;
}
.btn-main:hover,.nav-btn:hover,.mob-book:hover {background:#ffe470;color:#17120a;box-shadow:0 6px 20px #0004;transform:translateY(-2px)}
.btn-ghost {font-size:16px;font-weight:700;letter-spacing:.7px;border-color:#625d55;color:var(--white)}
.btn-ghost:hover {box-shadow:none}
.hero-orb {opacity:.2;animation:none}
.orb1 {background:radial-gradient(circle,rgba(255,210,42,.18),transparent 70%)}
.orb3 {display:none}
#bg-canvas {opacity:.22}
body::before {opacity:.25}
.grid-floor {opacity:.35}
.truck-frame {border-radius:10px;animation:none;transform:none;box-shadow:0 24px 60px #0008;border-color:#4d4843}
.truck-frame::after {opacity:.2;border-radius:10px}
.truck-glow {display:none}
.c-hero-img {border-radius:10px;box-shadow:0 24px 60px #0008}
.f-tag {z-index:3;animation:none;box-shadow:none;background:#181715;font-size:12px}
.hud-proof,.stats-strip {background:#181715;border-color:#3a3732}
.hud-num,.stat-num,.c-stat .n,.cta-hud-n {text-shadow:none;font-weight:700}
.hud-lbl,.c-stat .l,.cta-hud-l {font-size:11px;letter-spacing:.7px}
.feat-card,.ev-card,.pr-card {background:#181715;border-color:#383531;border-radius:10px}
.feat-card h4,.ev-card h3 {font-size:23px;line-height:1.15;letter-spacing:0}
.feat-card p,.ev-card p {font-size:15px;line-height:1.7}
.feat-tag {color:#17120a;font-size:10px}
.feat-card::before {opacity:.12}
.neon-border::before {background:var(--blue);animation:none;border-radius:12px}
.pr-card.hot {background:#211f1d;border-color:var(--blue);box-shadow:none}
.pr-card.hot::before {background:var(--blue);animation:none}
.pop-tag {background:var(--green);color:#17120a;font-size:12px;letter-spacing:1px;border-radius:0 0 5px 5px}
.pr-name {font-size:28px;letter-spacing:0}
.pr-num {font-size:76px;font-weight:700;font-variant-numeric:tabular-nums}
.pr-dur {font-size:12px;letter-spacing:1px}
.pr-feat {font-size:14px}
.wheel-controls button {border-radius:5px}
@media(max-width:600px) {
  body {font-size:16px}
  .h-title {font-size:clamp(42px,11vw,62px)}
  .s-title,.c-title {font-size:34px}
  .h-sub,.c-hero-sub,.s-sub {font-size:16px}
  .h-badge,.c-badge {font-size:11px;letter-spacing:.7px}
  .h-btns {gap:12px}
  .h-btns .btn-main,.h-btns .btn-ghost {padding:15px 22px}
  .hud-item {padding:14px 10px}
  .hud-lbl {font-size:10px;letter-spacing:.3px}
  .feat-card h4 {font-size:22px}
  .feat-card p {font-size:14px}
  .pr-num {font-size:64px}
}

/* Readable component scale, shared by the homepage and supporting pages. */
body{font-size:17px}
.nav-links a,.tb-links a{font-size:14px;letter-spacing:0}
.nav-links{gap:20px}
.s-label,.h-badge,.c-badge,.hiw-tag,.pr-dur,.pop-tag,.stat-l,.hud-lbl,.c-stat .l,.cta-hud-l,.g-overlay .g-sub,.rv-evt,.ft-col h4,.cl-label,.area-region-count,.areas-cta-l{font-size:14px;letter-spacing:.5px}
.hw-front h3,.gm-card-title,.gm-tab .tab-name{font-family:var(--font-body);font-size:16px;letter-spacing:0;line-height:1.4}
.hw-front p,.feat-card p,.ev-card p,.hiw-card p,.pr-feat,.pr-tagline,.pr-add,.before-book-list p,.party-fact p,.rv-text,.faq-ai,.ft-desc,.ft-col ul li a,.ft-contact li{font-size:16px;line-height:1.65}
.party-fact h3,.hiw-card h3{font-size:23px;letter-spacing:0}
.gm-tab .tab-age,.gm-tier-info p,.gm-tier-count,.con-tag,.etag,.pr-rate,.pr-val-badge,.gm-card.no-art .na-t{font-family:var(--font-body);font-size:14px;line-height:1.5;letter-spacing:0}
.gm-viewall a{font-family:var(--font-body);font-size:16px;letter-spacing:0}
.gm-tier-header{flex-wrap:wrap;gap:12px;padding:18px}
.gm-tier-info{flex:1;min-width:0}
.gm-tier-count{white-space:normal}
.gm-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.gm-tab{width:100%;min-width:0;justify-content:flex-start;padding:16px;text-align:left}
.gm-tab .tab-lbl{min-width:0}
.gm-grid{grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch}
.gm-card{aspect-ratio:auto;display:flex;flex-direction:column;background:#1e1d1a}
.gm-card .gm-cover{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.gm-card .gm-card-info{position:relative;inset:auto;padding:14px;background:#1e1d1a;flex:1}
.gm-card .gm-card-title{font-size:16px;text-shadow:none}
.gm-card .con-tag{font-size:14px;padding:2px 5px}
.gm-card.no-art .na-fill{position:relative;inset:auto;aspect-ratio:3/4;min-height:180px;padding:16px}
.gm-pop{display:none}
.hw-flip{height:auto;cursor:default}
.hw-flip-inner{height:auto;transform:none!important}
.hw-front{position:relative;inset:auto;height:100%;padding:20px 14px;background:#181715}
.hw-back,.hw-flip-hint{display:none}
.hw-console-img{height:100px}
.hw-console-img img{max-height:100%;object-fit:contain}
.area-details{border-block:1px solid #46423c;margin:24px 0}
.area-details summary{padding:20px 0;cursor:pointer;font-size:17px;font-weight:600}
.area-details .areas-regions{opacity:1;transform:none;margin-bottom:24px}
section[id]{scroll-margin-top:90px}
.btn-main,.btn-ghost,.nav-btn,.mob-cta a{font-family:var(--font-body);font-size:16px;letter-spacing:0;font-weight:700;justify-content:center;text-align:center;min-height:48px}
.home-refined #hero{min-height:0;padding:140px 0 76px}
.home-refined .h-title{font-size:clamp(48px,5.4vw,76px);max-width:650px;margin-bottom:22px}
.home-refined .h-sub{font-size:18px;margin-bottom:20px;max-width:500px}
.hero-price{font-size:19px;margin-bottom:12px;color:var(--white)}
.hero-price strong{color:var(--green)}
.hero-capacity{font-size:16px;line-height:1.6;color:var(--muted);max-width:470px;margin-bottom:28px}
.home-refined .h-btns{margin-bottom:0}
.home-refined .truck-frame{border:0;border-bottom:5px solid var(--green)}
.home-refined .truck-frame::after{display:none}
.home-refined #gallery{background:#1d1c1a;border-block:1px solid #44413b}
.home-refined .gal-grid{grid-auto-rows:190px;gap:16px}
.home-refined .g-item{border-radius:6px}
.home-refined #pricing{background:#e9eee8;color:#22201d}
.home-refined #pricing .s-sub,.home-refined #pricing .s-label{color:#49453f}
.home-refined #pricing .grad{color:#8d4300}
.home-refined .pr-grid{align-items:stretch}
.home-refined .pr-card,.home-refined .pr-card.hot{transform:none;padding:40px 28px 28px;display:flex;flex-direction:column;text-align:left;color:var(--white)}
.home-refined .pr-card:hover,.home-refined .pr-card.hot:hover{transform:none}
.home-refined .pr-card .btn-main,.home-refined .pr-card .btn-ghost{margin-top:auto;padding:14px 10px}
.home-refined .pr-price{justify-content:flex-start;margin-bottom:16px}
.home-refined .pr-name{margin-bottom:16px}
.home-refined .pr-adds{margin-bottom:24px}
.home-refined .pr-note,.home-refined .before-book{background:#fff8;border-color:#bdc9c5;color:#22201d}
.home-refined .pr-note p,.home-refined .before-book-list p{color:#49453f;font-size:16px}
.home-refined .pr-note strong,.home-refined .before-book-list strong{color:#22201d}
.home-refined .pr-includes{color:#22201d}
.home-refined .feat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.home-refined .feat-card{background:transparent;box-shadow:none;border:0;border-top:1px solid #46423c;border-radius:0;padding:24px 0;align-items:flex-start}
.home-refined .feat-card::before,.home-refined .feat-card::after{display:none}
.home-refined .feat-ic{width:44px;height:44px;flex-shrink:0;border-radius:6px;box-shadow:none;background:#3b3733}
.home-refined .feat-card h4{font-size:24px;margin-bottom:6px}
.home-refined .hw-incl-head{margin-top:40px}
.home-refined #events{border-block:1px solid #46423c;background:#1d1c1a}
.home-refined .ev-grid{margin-top:28px}
.home-refined .ev-card{padding:28px;background:transparent;box-shadow:none}
.home-refined .cta-hud{display:none}
.home-refined .rv-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.home-refined .rv-card{padding:26px;box-shadow:none}
.home-refined .mob-cta{visibility:hidden;pointer-events:none}
.home-refined .mob-cta.is-ready{visibility:visible;pointer-events:auto}
@media(max-width:1100px){
 .nav-links{gap:12px}.nav-links a{font-size:13px}
 .gm-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:768px){
 .container,.hero-inner,.nav-wrap{padding-left:20px;padding-right:20px}
 .home-refined #hero{padding:108px 0 44px}
 .home-refined .hero-inner{gap:28px}
 .home-refined .hero-visual{order:0}
 .home-refined .h-title{font-size:clamp(42px,10.8vw,62px)}
 .home-refined .h-badge{font-size:14px;letter-spacing:0;padding:6px 0;background:none;border:0;margin-bottom:18px;white-space:normal}
 .home-refined .h-sub{font-size:17px}
 .home-refined .h-btns{display:grid;grid-template-columns:1fr;gap:10px}
 .home-refined .h-btns a{width:100%;padding:14px 20px}
 .home-refined .hero-capacity{font-size:16px}
 .section{padding:48px 0}
 .home-refined .s-title,.home-refined .s-sub,.home-refined .s-label,.home-refined .gal-head,.home-refined .gm-head,.home-refined .rv-head,.home-refined .pr-wrap,.home-refined .hw-title-wrap{text-align:center}
 .home-refined .s-label{justify-content:center}
 .home-refined .s-title{margin-inline:auto}
 .home-refined .s-sub{margin-inline:auto!important}
 .home-refined .gal-grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}
 .home-refined .g-item{flex:0 0 88%;height:310px;scroll-snap-align:start}
 .home-refined .g-cap{font-size:21px}
 .hiw-route{padding-left:0;margin-top:24px}
 .hiw-road,.hiw-pin{display:none}
 .hiw-card{padding:24px;border-radius:6px}
 .hiw-icon{display:none}
 .hiw-card h3{font-size:26px}
 .home-refined .feat-grid{grid-template-columns:1fr;gap:0}
 .home-refined .feat-card{flex-direction:row;text-align:left;gap:16px;padding:22px 0}
 .home-refined .feat-card h4{justify-content:flex-start;font-size:24px}
 .home-refined .feat-card p{font-size:16px}
 .hw-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
 .hw-grid .hw-flip:last-child{grid-column:1/-1}
 .hw-front h3{font-size:16px;letter-spacing:0}
 .hw-front p{font-size:16px}
 .gm-tabs{grid-template-columns:1fr 1fr;gap:10px}
 .gm-tab{padding:12px;gap:8px;align-items:flex-start}
 .gm-tab .tab-name{font-size:16px}
 .gm-tab .tab-age{font-size:14px;line-height:1.4}
 .gm-tier-header{align-items:flex-start}
 .gm-tier-count{width:100%;margin-left:0}
 .gm-tier-info p{font-size:14px;letter-spacing:0}
 .gm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .home-refined .rv-grid{grid-template-columns:1fr}
 .home-refined .pr-card{padding:40px 24px 24px}
 .home-refined .pr-grid{gap:18px}
 .home-refined .pr-card.hot{order:-1}
 .home-refined .pr-num{font-size:64px}
 .mob-cta{padding:10px 20px calc(10px + env(safe-area-inset-bottom,0px))}
 .mob-cta a{padding:12px;font-size:16px}
 .gm-viewall a{padding:16px;text-align:center}
 .area-region-header{flex-wrap:wrap}
 .area-region-count{margin-left:0}
}
.home-refined .pr-includes{display:block;text-align:left;max-width:760px;margin:0 auto 36px;font-size:17px;color:#49453f}
.home-refined .pr-includes p+p{margin-top:12px}
.home-refined #pricing .s-label::before{color:#8d4300}
.home-refined .pr-val-badge{font-size:14px;letter-spacing:0}
.home-refined .pr-add{font-size:16px}
.home-refined .pr-tagline{font-size:16px}
.home-refined .pr-card.card-left,.home-refined .pr-card.card-right{border-color:#46423c}
@media(max-width:768px){.home-refined .pr-includes{font-size:16px}.home-refined .pr-wrap{margin-bottom:24px}}
@media(min-width:601px) and (max-width:768px){.gm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-refined .hw-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-refined .hw-grid .hw-flip:last-child{grid-column:auto}}

/* Labeled social links stay recognizable and easy to tap at every width. */
.ft-socials{flex-wrap:wrap;gap:12px}
.ft-socials .ft-soc{width:auto;min-height:48px;height:auto;padding:10px 14px;gap:10px;justify-content:flex-start;font-family:var(--font-body);font-size:16px;font-weight:600;color:var(--white);border-color:#58534c}
.ft-soc svg{width:22px;height:22px;flex-shrink:0;color:var(--blue)}
.ft-socials .ft-soc:hover{color:var(--white);background:#34312d;border-color:var(--blue);transform:none}
/* Review 2026-09-23. In-article booking buttons: `.article a` (city.css) outranked the
   button text color, leaving blue text on the blue button across all blog articles. */
.article a.btn{text-decoration:none}
.article a.btn-main,.article a.btn-main:hover{color:#17120a}

/* Readable floor for informational labels the 2026-09-13 pass did not reach
   (city/service pages, library counts, footer legal row, homepage area labels). */
.c-label{font-size:14px;letter-spacing:2px}
.c-price .dur{font-size:14px;letter-spacing:1px}
.c-pop{font-size:12px;letter-spacing:1px;white-space:nowrap;color:#17120a}
.lib-tier-head .cnt{font-size:14px}
.ev-more{font-size:14px;letter-spacing:.5px}
.area-region-header h4{font-size:15px}
.city-links .cl-label{font-size:14px;letter-spacing:1.5px}
.f-bottom{font-size:14px;line-height:1.8}
.f-bottom a{display:inline-block;padding:3px 2px;min-height:24px}
