/* Boot Scootin' v96.0.0 — Honky Tonk visual system */
:root{
  --black:#030202;
  --black2:#0b0505;
  --panel:#120908;
  --panel2:#1a0c0b;
  --red:#f0222f;
  --red2:#991019;
  --neon:#ff3344;
  --cream:#f6ead8;
  --cream2:#d9c4a6;
  --muted:#bcae9f;
  --line:#6c2028;
  --glow:0 0 10px rgba(255,38,53,.62),0 0 26px rgba(255,24,39,.26);
}
html{background:#020101}
body{
  background:
    radial-gradient(circle at 14% 4%,rgba(211,17,31,.14),transparent 25rem),
    radial-gradient(circle at 86% 22%,rgba(121,9,17,.18),transparent 30rem),
    repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0 1px,transparent 1px 54px),
    linear-gradient(180deg,#040202,#080404 48%,#030202)!important;
  color:var(--cream)!important;
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.18;
  background-image:linear-gradient(115deg,transparent 0 46%,rgba(255,255,255,.035) 48%,transparent 50% 100%);
  background-size:260px 260px;
}
::selection{background:var(--red);color:#fff}
.header{
  background:rgba(3,2,2,.96)!important;
  border-bottom:1px solid rgba(255,48,62,.42)!important;
  box-shadow:0 12px 38px rgba(0,0,0,.55),0 1px 0 rgba(255,45,57,.12)!important;
}
.brand-logo{filter:drop-shadow(0 0 10px rgba(246,25,40,.28))}
.wordmark strong{color:var(--cream)!important;text-shadow:0 0 12px rgba(255,35,50,.28)}
.wordmark span{color:var(--red)!important}
.menu,.nav-close{border-color:#9e2630!important;box-shadow:inset 0 0 15px rgba(255,24,39,.08)}
.button,.poster-enter+.button{
  background:linear-gradient(180deg,#d51c28,#8d0d15)!important;
  border:1px solid #ff4551!important;
  box-shadow:var(--glow),inset 0 1px rgba(255,255,255,.2)!important;
  color:#fff!important;
  border-radius:0!important;
}
.button:hover,.button:focus-visible{filter:brightness(1.16);box-shadow:0 0 14px rgba(255,38,53,.82),0 0 36px rgba(255,24,39,.34)!important}
.dark-button,.button.ghost{background:rgba(10,5,5,.82)!important;border-color:#7f2930!important}
.hero{border-bottom:1px solid rgba(255,38,52,.3)}
.hero-bg{filter:saturate(.76) contrast(1.18) brightness(.66)!important}
.hero:after{background:radial-gradient(circle at 76% 38%,rgba(255,20,38,.32),transparent 34%),linear-gradient(180deg,transparent 72%,rgba(2,1,1,.95))!important}
h1,h2,.section-title h2,.card h2,.card h3{
  color:var(--cream)!important;
  text-shadow:0 3px 0 #2b080b,0 0 20px rgba(255,27,43,.14);
}
h1 em,.kicker.red,.red{color:var(--neon)!important;text-shadow:var(--glow)}
.script{color:#ff3847!important;text-shadow:var(--glow)}
.quick-strip,.section.dark,.dark{
  background:linear-gradient(180deg,#0b0505,#050303)!important;
  border-color:#4d171c!important;
}
.section.paper,.paper{
  background:
   linear-gradient(rgba(247,234,215,.97),rgba(239,220,194,.97)),
   repeating-linear-gradient(0deg,transparent 0 4px,rgba(75,44,29,.05) 4px 5px)!important;
  color:#24130f!important;
}
.section.paper h1,.section.paper h2,.section.paper h3,.paper h1,.paper h2,.paper h3{color:#220e0d!important;text-shadow:none!important}
.section.paper .kicker,.paper .kicker{color:#98131b!important;text-shadow:none!important}
.card,.feature-card,.platform-preview-grid>a,.platform-pathway-grid>a,.booking-card,.content-card,.panel,.stat-card,
[class*="card"],details:not(.menu45-section){
  border-color:#743038!important;
  box-shadow:0 18px 38px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.025)!important;
}
.section.dark .card,.dark .card,.platform-preview-grid>a{
  background:linear-gradient(155deg,rgba(28,12,12,.96),rgba(7,4,4,.98))!important;
}
.platform-preview-grid>a,.platform-pathway-grid>a{position:relative;overflow:hidden}
.platform-preview-grid>a:before,.platform-pathway-grid>a:before{
  content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,var(--red),transparent);box-shadow:var(--glow)
}
input,select,textarea{
  border:1px solid #8d4a3f!important;
  background:#fffaf1!important;
  color:#22110e!important;
  border-radius:0!important;
}
input:focus,select:focus,textarea:focus{outline:2px solid var(--red)!important;outline-offset:2px}
footer{background:#020101!important;border-top:1px solid #631c23!important;box-shadow:0 -14px 42px rgba(0,0,0,.5)}
footer .script{font-size:clamp(1.4rem,3vw,2.2rem)}
.site-ip-notice{border-top-color:#4e1a20!important;color:#a99586!important}
.admin-login-link{background:#090404!important;border:1px solid #6e2027!important;color:#d7c4b0!important}

/* Professional icon system replacing standalone emoji glyphs */
.bs-icon{
  display:inline-grid!important;place-items:center!important;width:2.7rem!important;height:2.7rem!important;
  color:var(--neon)!important;filter:drop-shadow(0 0 7px rgba(255,35,50,.48));vertical-align:middle
}
.bs-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.platform-preview-grid>a>.bs-icon,.platform-pathway-grid>a>.bs-icon,.quick-strip .bs-icon{margin:0 auto .75rem}

/* Mobile navigation becomes a contained drill-down rather than one long rolling list */
@media(max-width:950px){
 #menu45{overflow:hidden!important;min-height:100dvh!important}
 #menu45 .menu45-sections{position:relative!important}
 #menu45.menu46-drilldown .menu45-first,
 #menu45.menu46-drilldown .menu45-section:not(.menu46-active),
 #menu45.menu46-drilldown .menu45-home{display:none!important}
 #menu45 details.menu45-section.menu46-active{display:block!important;border:0!important;min-height:calc(100dvh - 110px)!important}
 #menu45 details.menu45-section.menu46-active>summary{
   position:sticky!important;top:88px!important;z-index:5!important;
   grid-template-columns:36px minmax(0,1fr)!important;
   padding:18px 0!important;background:#080404!important;border-bottom:1px solid #70242b!important
 }
 #menu45 details.menu45-section.menu46-active>summary:before{
   content:"‹";display:grid;place-items:center;width:34px;height:34px;border:1px solid #743038;color:#fff;font:30px/1 Arial
 }
 #menu45 details.menu45-section.menu46-active>summary>span{grid-column:2!important;text-decoration:none!important}
 #menu45 details.menu45-section.menu46-active>summary>b{display:none!important}
 #menu45 details.menu45-section.menu46-active .menu45-submenu{padding:10px 0 35px!important}
 #menu45 details.menu45-section.menu46-active .menu45-submenu>a{
   min-height:67px!important;padding:16px 8px!important;border-bottom:1px solid #3d1a1d!important;font-size:18px!important
 }
 #menu45 .menu45-head h2{color:var(--cream)!important;text-shadow:var(--glow)}
 #menu45 .menu45-first strong,#menu45 details.menu45-section>summary>span{color:var(--cream)!important}
}

/* Small neon motion, respectful of reduced motion */
@media(prefers-reduced-motion:no-preference){
 .button{transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}
 .platform-preview-grid>a,.platform-pathway-grid>a,[class*="card"]{transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
 .platform-preview-grid>a:hover,.platform-pathway-grid>a:hover,[class*="card"]:hover{transform:translateY(-3px);border-color:#bf2833!important}
}

/* v96.4.19 — LAPTOP MENU SCALE REPAIR FOR INNER PAGES
   The inline menu CSS on older pages uses a 950px phone breakpoint. On a MacBook
   Safari window that can incorrectly create a full-size phone menu. This later
   stylesheet converts only 768–1100px to a compact laptop layout. */
@media (min-width:768px) and (max-width:1100px){
  .header{height:76px!important;padding:8px 18px!important}
  .header .brand-lockup{min-width:0!important}
  .header .menu{display:block!important;padding:.55rem .9rem!important;font-size:.78rem!important}
  .header>.button{display:inline-flex!important;padding:.65rem .9rem!important;font-size:.72rem!important}

  nav#nav.menu45-overlay.open{overflow-y:auto!important}
  nav#nav.menu45-overlay #menu45.menu45-panel{
    width:min(1040px,calc(100vw - 28px))!important;
    min-height:100dvh!important;
    padding:0 14px 28px!important;
  }
  nav#nav.menu45-overlay #menu45 .menu45-head{min-height:68px!important;padding:8px 0!important;margin-bottom:8px!important}
  nav#nav.menu45-overlay #menu45 .menu45-head h2{font-size:24px!important}
  nav#nav.menu45-overlay #menu45 .nav-close{width:40px!important;height:40px!important;min-width:40px!important;font-size:23px!important}
  nav#nav.menu45-overlay #menu45 .menu45-first{min-height:66px!important;padding:10px!important;margin-bottom:10px!important;border:1px solid #66272b!important}
  nav#nav.menu45-overlay #menu45 .menu45-first strong{font-size:17px!important;text-decoration:none!important}
  nav#nav.menu45-overlay #menu45 .menu45-first em{font-size:11px!important;margin-top:4px!important}
  nav#nav.menu45-overlay #menu45 .menu45-sections{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px 12px!important}
  nav#nav.menu45-overlay #menu45 details.menu45-section{border:1px solid #492225!important;background:#110808!important}
  nav#nav.menu45-overlay #menu45 details.menu45-section>summary{min-height:60px!important;padding:9px 11px!important}
  nav#nav.menu45-overlay #menu45 details.menu45-section>summary>span{font-size:16px!important;text-decoration:none!important}
  nav#nav.menu45-overlay #menu45 .menu45-summary-copy>strong{font-size:16px!important}
  nav#nav.menu45-overlay #menu45 .menu45-summary-copy>small{font-size:10px!important;margin-top:2px!important}
  nav#nav.menu45-overlay #menu45 .menu45-submenu{padding:0 10px 7px!important}
  nav#nav.menu45-overlay #menu45 .menu45-submenu>a{min-height:36px!important;padding:7px 0!important;font-size:12.5px!important}
  nav#nav.menu45-overlay #menu45 .menu45-home{margin-top:12px!important;padding:10px!important}
}

/* v96.4.23 — PRESENTATION DESKTOP FINALISATION
   One desktop header everywhere, compact hero, clean spacing and reliable boot. */
html.desktop-mode body{padding-top:0!important}
html.desktop-mode .honky-header,
html.desktop-mode header.honky-header,
html.desktop-mode .unified-desktop-header{
  box-sizing:border-box!important;width:100%!important;height:76px!important;min-height:76px!important;max-height:76px!important;
  display:grid!important;grid-template-columns:220px minmax(0,1fr) 132px!important;align-items:center!important;
  gap:14px!important;padding:6px 24px!important;margin:0!important;background:#050303!important;border-bottom:1px solid #4b171a!important;
  position:relative!important;top:auto!important;left:auto!important;right:auto!important;z-index:80!important;overflow:hidden!important
}
html.desktop-mode .honky-header .brand-lockup{width:220px!important;max-width:220px!important;height:62px!important;display:flex!important;align-items:center!important;gap:8px!important;margin:0!important;padding:0!important}
html.desktop-mode .honky-header .brand-lockup>img{width:52px!important;height:52px!important;min-width:52px!important;max-width:52px!important;object-fit:contain!important;margin:0!important}
html.desktop-mode .honky-header .brand-lockup-copy{display:grid!important;line-height:1!important;min-width:0!important}
html.desktop-mode .honky-header .brand-lockup-copy strong{font:400 13px/1 Rye,serif!important;letter-spacing:.04em!important;color:#f3e7dc!important}
html.desktop-mode .honky-header .brand-lockup-copy b{font:700 8px/1.2 Oswald,sans-serif!important;letter-spacing:.18em!important;color:#ed2732!important}
html.desktop-mode .honky-header .brand-lockup-copy small{font:600 6px/1.2 Oswald,sans-serif!important;letter-spacing:.18em!important;color:#c89d87!important}
html.desktop-mode .honky-header .honky-desktop-nav{display:flex!important;align-items:center!important;justify-content:center!important;gap:clamp(12px,1.65vw,25px)!important;min-width:0!important;white-space:nowrap!important}
html.desktop-mode .honky-header .honky-desktop-nav a{display:block!important;padding:14px 0!important;font:600 10.5px/1 Oswald,sans-serif!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:#e7d9cf!important;text-decoration:none!important;position:relative!important}
html.desktop-mode .honky-header .honky-desktop-nav a.active:after{content:""!important;position:absolute!important;left:0!important;right:0!important;bottom:7px!important;height:2px!important;background:#ef202b!important}
html.desktop-mode .honky-header .honky-book{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:132px!important;min-width:132px!important;min-height:40px!important;padding:0 10px!important;border:1px solid #ef202b!important;background:rgba(120,8,14,.22)!important;font:600 10px/1 Oswald,sans-serif!important;letter-spacing:.11em!important;color:white!important;text-decoration:none!important;text-transform:uppercase!important}
html.desktop-mode .honky-header .honky-menu-button{display:none!important}

/* Homepage hero: no giant empty void beneath the navigation. */
html.desktop-mode .better-hero{
  box-sizing:border-box!important;width:100%!important;height:500px!important;min-height:500px!important;max-height:500px!important;
  margin:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;overflow:hidden!important;
  background-image:linear-gradient(90deg,rgba(0,0,0,.90) 0%,rgba(0,0,0,.70) 38%,rgba(0,0,0,.16) 72%,rgba(0,0,0,.06) 100%),url('summer-stomp-floor-1.webp')!important;
  background-size:cover!important;background-position:center 42%!important;background-repeat:no-repeat!important
}
html.desktop-mode .better-hero:before{display:none!important}
html.desktop-mode .better-hero-copy{box-sizing:border-box!important;display:block!important;position:relative!important;inset:auto!important;z-index:3!important;width:min(560px,50vw)!important;height:auto!important;margin:0 0 0 clamp(34px,5vw,72px)!important;padding:22px 0!important;transform:none!important;text-align:left!important;opacity:1!important;visibility:visible!important}
html.desktop-mode .better-hero .hero-small{margin:0 0 10px!important;font-size:11px!important;line-height:1.2!important}
html.desktop-mode .better-hero h1{display:grid!important;width:max-content!important;max-width:100%!important;margin:0 0 14px!important;text-align:left!important;line-height:.9!important}
html.desktop-mode .better-hero h1 span{font-size:50px!important}
html.desktop-mode .better-hero h1 small{font-size:24px!important;text-align:center!important}
html.desktop-mode .better-hero h1 em{font-size:58px!important}
html.desktop-mode .better-hero .hero-lead{margin:0 0 18px!important;font-size:14px!important;line-height:1.55!important;text-align:left!important}
html.desktop-mode .better-hero .hero-actions{display:flex!important;gap:10px!important;margin:0!important}

/* Entry boot: use the real raster boot directly; no old background/vector layers. */
html.desktop-mode .poster-intro.boot-entry .entry-boot{
  top:22%!important;left:50%!important;width:390px!important;height:405px!important;min-height:0!important;max-height:405px!important;
  transform:translateX(-50%)!important;background:none!important;background-image:none!important;border:0!important;overflow:visible!important;filter:none!important
}
html.desktop-mode .poster-intro.boot-entry .entry-boot::before,
html.desktop-mode .poster-intro.boot-entry .entry-boot::after{display:none!important;content:none!important}
html.desktop-mode .poster-intro.boot-entry .entry-boot-photo{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;clip-path:none!important;transform:none!important;filter:drop-shadow(0 18px 18px rgba(0,0,0,.48))!important;opacity:1!important;visibility:visible!important}
html.desktop-mode .poster-intro.boot-entry .boot-entry-button{bottom:7.8%!important;width:min(620px,62vw)!important}
html.desktop-mode .poster-intro.boot-entry .boot-entry-tagline{bottom:2.2%!important}

/* Explore panel now follows the same red/black desktop visual language as the top navigation. */
html.desktop-mode .honky-mobile-nav.open{padding:0!important;background:rgba(3,2,2,.97)!important;align-items:flex-start!important}
html.desktop-mode .honky-menu-panel{width:min(1120px,100vw)!important;margin:0 auto!important;padding:0 24px 20px!important;border:0!important;border-top:1px solid #4b171a!important;background:#070404!important;box-shadow:0 24px 70px rgba(0,0,0,.65)!important}
html.desktop-mode .honky-menu-head{height:68px!important;min-height:68px!important;border-bottom:1px solid #4b171a!important;padding:4px 0!important}
html.desktop-mode .honky-menu-head img{width:120px!important;height:58px!important;object-fit:contain!important}
html.desktop-mode .honky-menu-feature{margin:12px 0!important;padding:13px 16px!important;border:1px solid #6b1b20!important;border-left:4px solid #ef202b!important;background:linear-gradient(90deg,rgba(104,14,19,.32),rgba(22,8,9,.9))!important}
html.desktop-mode .honky-menu-sections{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important;border-top:1px solid #3c1517!important;border-left:1px solid #3c1517!important}
html.desktop-mode .honky-menu-sections details.menu45-section{border:0!important;border-right:1px solid #3c1517!important;border-bottom:1px solid #3c1517!important;background:#0b0606!important}
html.desktop-mode .honky-menu-sections details.menu45-section>summary{min-height:78px!important;padding:11px 14px!important;background:#0b0606!important}
html.desktop-mode .honky-menu-sections details.menu45-section>summary:hover{background:#16090a!important}
html.desktop-mode .honky-menu-sections details.menu45-section>summary strong{font-size:18px!important}
html.desktop-mode .honky-menu-sections details.menu45-section>summary small{font-size:10px!important}
html.desktop-mode .honky-menu-sections details.menu45-section>summary svg{width:28px!important;height:28px!important}

/* Remove accidental desktop whitespace between homepage content/photo blocks. */
html.desktop-mode main{margin:0!important;padding:0!important}
html.desktop-mode main>section{margin-top:0!important;margin-bottom:0!important}
html.desktop-mode .cream-home{padding-top:34px!important;padding-bottom:34px!important}
html.desktop-mode .intro-grid{gap:22px!important}
html.desktop-mode .class-card-grid{gap:14px!important}
html.desktop-mode .home-class-card{gap:0!important;margin:0!important}
html.desktop-mode .home-class-card img{display:block!important;margin:0!important}
html.desktop-mode .gallery-home figure,html.desktop-mode .gallery-home img,html.desktop-mode .gallery-grid figure,html.desktop-mode .gallery-grid img{margin:0!important;display:block!important}
html.desktop-mode .gallery-grid,html.desktop-mode .home-gallery-grid{gap:10px!important}

@media (min-width:768px) and (max-width:1080px){
  html.desktop-mode .honky-header{grid-template-columns:180px minmax(0,1fr) 112px!important;gap:8px!important;padding-left:14px!important;padding-right:14px!important}
  html.desktop-mode .honky-header .brand-lockup{width:180px!important}
  html.desktop-mode .honky-header .brand-lockup>img{width:44px!important;height:44px!important;min-width:44px!important}
  html.desktop-mode .honky-header .honky-desktop-nav{gap:10px!important}
  html.desktop-mode .honky-header .honky-desktop-nav a{font-size:9px!important;letter-spacing:.06em!important}
  html.desktop-mode .honky-header .honky-book{width:112px!important;min-width:112px!important;font-size:9px!important}
  html.desktop-mode .better-hero{height:460px!important;min-height:460px!important;max-height:460px!important}
  html.desktop-mode .better-hero-copy{width:53vw!important;margin-left:34px!important}
  html.desktop-mode .better-hero h1 span{font-size:42px!important}
  html.desktop-mode .better-hero h1 em{font-size:49px!important}
}

/* v96.4.53 SAFE RESTORE: public black/red consistency sweep.
   Deliberately excludes admin/HQ/ranch surfaces and QR codes. */
body:not(.admin-page):not(.ranch-page):not(.hq-page) .paper,
body:not(.admin-page):not(.ranch-page):not(.hq-page) .cream,
body:not(.admin-page):not(.ranch-page):not(.hq-page) .cream-card,
body:not(.admin-page):not(.ranch-page):not(.hq-page) .paper-card,
body:not(.admin-page):not(.ranch-page):not(.hq-page) .note-card,
body:not(.admin-page):not(.ranch-page):not(.hq-page) .info-card,
body:not(.admin-page):not(.ranch-page):not(.hq-page) .stat-card,
body:not(.admin-page):not(.ranch-page):not(.hq-page) .diary-card,
body:not(.admin-page):not(.ranch-page):not(.hq-page) .dance-card,
body:not(.admin-page):not(.ranch-page):not(.hq-page) .reward-card,
body:not(.admin-page):not(.ranch-page):not(.hq-page) .form-card,
body:not(.admin-page):not(.ranch-page):not(.hq-page) .about-card,
body:not(.admin-page):not(.ranch-page):not(.hq-page) .advice-card,
body:not(.admin-page):not(.ranch-page):not(.hq-page) .feature-card {
  background:#100909!important;
  color:#f5ece6!important;
  border-color:#5e2529!important;
}
body:not(.admin-page):not(.ranch-page):not(.hq-page) .paper h1,
body:not(.admin-page):not(.ranch-page):not(.hq-page) .paper h2,
body:not(.admin-page):not(.ranch-page):not(.hq-page) .paper h3,
body:not(.admin-page):not(.ranch-page):not(.hq-page) .paper h4,
body:not(.admin-page):not(.ranch-page):not(.hq-page) .cream h1,
body:not(.admin-page):not(.ranch-page):not(.hq-page) .cream h2,
body:not(.admin-page):not(.ranch-page):not(.hq-page) .cream h3,
body:not(.admin-page):not(.ranch-page):not(.hq-page) .cream h4 {
  color:#f7eee8!important;
}
body:not(.admin-page):not(.ranch-page):not(.hq-page) .paper p,
body:not(.admin-page):not(.ranch-page):not(.hq-page) .paper li,
body:not(.admin-page):not(.ranch-page):not(.hq-page) .cream p,
body:not(.admin-page):not(.ranch-page):not(.hq-page) .cream li {
  color:#d8c9c0!important;
}
body:not(.admin-page):not(.ranch-page):not(.hq-page) input:not([type="checkbox"]):not([type="radio"]),
body:not(.admin-page):not(.ranch-page):not(.hq-page) select,
body:not(.admin-page):not(.ranch-page):not(.hq-page) textarea {
  background:#0b0606!important;
  color:#f7eee8!important;
  border-color:#6b292e!important;
}
/* Preserve deliberately white scannable QR surfaces. */
.qr-card,.qr-wrap,.qr-code,.qr-code img,[class*="qr-"] img { background:#fff!important; }
