/* Source: public-experience.css */
/* Public component layer.
   Global visual language lives in bauhaus.css; the shared navigation/content shell lives in site-system.css.
   Keep this file limited to components that actually need cross-page behavior. */

/* Accessibility + document behavior */
.publicSite .skipLink{position:absolute;left:18px;top:-120px;z-index:100;padding:12px 18px;background:var(--bh-yellow,#f1c52c);color:var(--bh-ink,#181918);border:2px solid var(--bh-ink,#181918)}
.publicSite .skipLink:focus{top:12px}
.publicSite main{min-width:0}
.publicSite main:focus{outline:none}
.publicSite [hidden]{display:none!important}
.publicSite #apply,.publicSite #draft-heading,.publicSite :is(#find-your-training,#learning-library,#training-formats,#nyc-dancing,#lambada-flow,#tuesday-zouk){scroll-margin-top:110px}

/* Mobile navigation mechanics. Visual treatment is defined by Bauhaus/site-system. */
.publicSite .mobileMenu{display:none;position:relative}
.publicSite .mobileMenu summary{list-style:none;cursor:pointer;min-height:44px;padding:10px 14px;font-weight:750}
.publicSite .mobileMenu summary::-webkit-details-marker{display:none}
.publicSite .mobilePanel{position:absolute;right:0;top:52px;z-index:80;width:min(320px,calc(100vw - 32px));max-height:calc(100dvh - 100px);overflow:auto;display:grid;padding:8px}
.publicSite .mobilePanel a{display:flex;align-items:center;min-height:44px;padding:10px 12px}
@media(min-width:1100px){.publicSite .primary{display:flex!important}.publicSite .mobileMenu{display:none!important}}
@media(max-width:1099px){.publicSite .primary{display:none!important}.publicSite .mobileMenu{display:block!important}}

/* Application / inquiry components */
.publicSite .fieldHint{font-size:.875rem;line-height:1.5}
.publicSite .applicationExtra{padding:16px 0;border-block:1px solid #88887e}
.publicSite .applicationExtra summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:800}
.publicSite .applicationExtra .field{margin-top:18px}
.publicSite .applicationDraft{margin-top:16px;padding:24px}
.publicSite .applicationDraft textarea{min-height:260px}
.publicSite .form{max-width:860px}

/* Class-specific components */
.publicSite .classFlyer{display:block!important;visibility:visible!important;opacity:1!important;content-visibility:visible!important;width:100%;max-width:340px;margin:28px auto 0}
.publicSite .classFlyer>a{display:block}
.publicSite .classFlyer img{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;max-width:100%;height:auto!important;object-fit:contain;border:1px solid #77786f}
.publicSite .classFlyer figcaption{display:block!important;visibility:visible!important;opacity:1!important;margin-top:10px;font-size:.875rem;text-align:center}
.publicSite .lambadaFeature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);align-items:start;gap:56px}
.publicSite .lambadaFeature .classFlyer{margin-top:0}
.publicSite .classGuidance{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;margin-bottom:24px}
.publicSite .classGuidance h2{font-size:1.5rem;margin-bottom:8px}
.publicSite .classGuidance p{max-width:650px;margin:0}
.publicSite .classGuidance>.btn{flex-shrink:0}
.publicSite .contactHint{font-size:.875rem;margin:12px 0 0}
.publicSite #schedule .g2>div{display:flex;flex-direction:column}
.publicSite #schedule .classFlyer{padding-top:24px;margin-top:auto}
@media(max-width:760px){.publicSite .lambadaFeature{grid-template-columns:1fr;gap:28px}.publicSite .classGuidance{align-items:flex-start;flex-direction:column;padding:20px}}

/* Editorial photography */
.publicSite .editorialPhoto{margin:0;min-width:0}
.publicSite .editorialPhoto img{display:block;width:100%;height:auto}
.publicSite .editorialPhoto figcaption{font-size:.85rem;line-height:1.6;padding-top:12px;max-width:780px}
.publicSite .photoBand{padding:32px 0}
.publicSite .editorialSplit{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:center}
.publicSite .editorialTall{width:100%;max-width:420px;justify-self:center}
.publicSite .workshopWide{margin-top:40px}
.publicSite .heroPortrait img[src^="/assets/editorial/"],.publicSite .aboutPortrait img[src^="/assets/editorial/"]{aspect-ratio:auto;height:auto;object-fit:contain}
@media(max-width:760px){.publicSite .editorialSplit{grid-template-columns:1fr;gap:28px}.publicSite .photoBand{padding:20px 0}}

/* Public choice architecture */
.publicSite .trainingChoices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}
.publicSite .trainingChoice{display:flex;flex-direction:column;position:relative}
.publicSite .trainingChoice h3{font-size:1.7rem;margin:12px 0}
.publicSite .choiceNumber{font-size:.875rem;font-weight:800;letter-spacing:.1em;color:var(--bh-blue,#1748b6)}
.publicSite .trainingChoice dl{margin:24px 0;line-height:1.55}
.publicSite .trainingChoice dt{font-size:.875rem;font-weight:800;margin-top:14px}
.publicSite .trainingChoice dd{margin:4px 0 0;font-size:1rem}
.publicSite .trainingChoice .cardLink{margin-top:auto;padding-top:16px}
.publicSite .startingHelp{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:32px 0;margin-top:28px;border-block:2px solid var(--bh-ink,#181918)}
.publicSite .startingHelp h3{font-size:1.4rem}
.publicSite .startingHelp p{max-width:640px;margin-bottom:0}
.publicSite .startingHelp .btn{flex-shrink:0}
.publicSite .choiceNote{font-size:.875rem;margin-top:20px}
@media(max-width:900px){.publicSite .trainingChoices{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.publicSite .trainingChoices{grid-template-columns:1fr;gap:20px}.publicSite .startingHelp{flex-direction:column;align-items:flex-start;gap:20px}}

/* Shared public footer structure */
.publicSite .footerDirectory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:28px;margin-top:28px;border-top:1px solid #77786f}
.publicSite .footerGroup{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.publicSite.bhSite .footerGroup h2{font-size:1rem;letter-spacing:0;margin:0 0 12px;line-height:1.3}
.publicSite .footerGroup a{display:inline-flex;align-items:center;min-height:44px;padding:7px 0;text-decoration:underline;text-underline-offset:4px;font-size:1rem}
@media(max-width:760px){.publicSite .footerDirectory{grid-template-columns:1fr;gap:28px}.publicSite .applicationDraft{padding:18px}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.publicSite *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Reserve portrait space before responsive image decoding. Keep the decoded
   image's natural ratio and the approved uncropped artwork. */
.publicSite[data-page="index"] .heroPortrait img[src^="/assets/editorial/"]{aspect-ratio:auto 4/5}
.artDock[data-art-slot]{min-height:44px}


/* Source: bauhaus.css */
/* Gab's Bauhaus-inspired interface: geometry supports movement and clear choices. */
:root{--bh-paper:#f4f0e6;--bh-ink:#181918;--bh-blue:#1748b6;--bh-red:#bc3025;--bh-yellow:#f1c52c}
body.bhSite{font-family:Futura,'Century Gothic',Avenir,'Trebuchet MS',sans-serif;-webkit-font-smoothing:antialiased}
.bhSite h1,.bhSite h2,.bhSite h3,.bhSite h4{font-family:Futura,'Century Gothic',Avenir,'Trebuchet MS',sans-serif;font-weight:800;letter-spacing:-.04em}
.bhSite :is(button,input,select,textarea){font-family:inherit}
.bhSite :is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #d34329;outline-offset:4px}
/* Public pages: editorial paper, asymmetric rules and primary-color wayfinding. */
body.publicSite.bhSite{background:var(--bh-paper);color:var(--bh-ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.65}
.bhSite.publicSite nav{background:var(--bh-paper);border-bottom:1px solid #d8d5cb;box-shadow:none}
.bhSite.publicSite .n{min-height:92px}
.bhSite.publicSite .primary{font-size:.875rem;color:var(--bh-ink)}
.bhSite.publicSite .primary a[aria-current],.bhSite.publicSite nav a:hover{color:var(--bh-blue)}
.bhSite.publicSite .memberLink{border:0;padding:10px 13px;color:var(--bh-ink)}
.bhSite.publicSite .mobileMenu summary,.bhSite.publicSite .mobilePanel{border-radius:6px;border-color:#d8d5cb;background:var(--bh-paper);color:var(--bh-ink)}
.bhSite.publicSite .mobilePanel a:hover{background:#e7dfcb;color:var(--bh-ink)}
.bhSite.publicSite .hero,.bhSite.publicSite:not(.bnbPage) .hero,.bhSite.publicSite .bnbHero{background:var(--bh-paper);padding:80px 0 72px;border-bottom:1px solid #d8d5cb;position:relative;overflow:hidden}
.bhSite.publicSite .hero:before,.bhSite.publicSite .bnbHero:before{content:'';display:block;width:84px;height:12px;background:linear-gradient(90deg,var(--bh-red) 0 33.33%,var(--bh-yellow) 33.33% 66.66%,var(--bh-blue) 66.66%);margin:0 max(18px,calc((100% - 1120px)/2)) 32px}
.bhSite.publicSite .hero h1,.bhSite.publicSite:not(.bnbPage) .hero h1,.bhSite.publicSite .bnbHero h1{font-family:Futura,'Century Gothic',Avenir,sans-serif;font-weight:700;letter-spacing:-.05em;line-height:1.07;font-size:clamp(2.7rem,5.2vw,4.8rem);margin-top:20px;text-wrap:balance}
.bhSite.publicSite h2,.bhSite.publicSite:not(.bnbPage) h2{font-family:inherit;font-weight:650;font-size:clamp(2rem,3.6vw,3.25rem);line-height:1.12;letter-spacing:-.04em}
.bhSite.publicSite h3{font-family:inherit;font-weight:650;line-height:1.25;letter-spacing:-.025em}
.bhSite.publicSite :is(.accent,h1 em){color:var(--bh-blue);font-style:normal}
.bhSite.publicSite :is(.lede,.muted,.small,.mini,.fieldHint,.contactHint,.pricingNote,.breadcrumb,.bioLead,.bioText,.editorialPhoto figcaption,.heroPortrait figcaption,.card p,.classGuidance p,.bnbPromo .lede){color:#454841!important}
.bhSite.publicSite :is(.kicker,.eyebrow){color:var(--bh-red);font-size:.6875rem;letter-spacing:.16em;font-weight:700}
.bhSite.publicSite .tag{background:var(--bh-yellow);color:var(--bh-ink);border-radius:0;padding:7px 11px;font-size:.8rem;border-left:5px solid var(--bh-ink)}
.bhSite.publicSite :is(.btn,.waFloat){border-radius:6px;background:var(--bh-blue);color:#fff;border:1px solid var(--bh-blue);box-shadow:none;font-weight:650;min-height:48px;padding:13px 22px;font-size:.9375rem;line-height:1.4}
.bhSite.publicSite .btn.ghost{background:transparent;color:var(--bh-ink);border-color:#a6aaa0;box-shadow:none}
.bhSite.publicSite .btn:hover,.bhSite.publicSite .waFloat:hover{filter:none;background:var(--bh-ink);border-color:var(--bh-ink);color:#fff;transform:translateY(-2px)}
.bhSite.publicSite :is(.sec,.bnbSection){padding:72px 0}
.bhSite.publicSite :is(.soft,.warm,.bnbSoft,.bnbFinal){background:#e9e3d5;color:var(--bh-ink)}
.bhSite.publicSite :is(.card,.formatCard,.membershipCard,.package,.classGuidance,.applicationDraft,.portalPreview){border-radius:6px;background:#fffdf7;border:1px solid #d8d5cb;color:var(--bh-ink);box-shadow:none}
.bhSite.publicSite .card{border-top:3px solid var(--bh-blue);padding:30px}
.bhSite.publicSite .card:nth-child(3n+2){border-top-color:var(--bh-red)}
.bhSite.publicSite .card:nth-child(3n+3){border-top-color:var(--bh-yellow)}
.bhSite.publicSite a.card:hover{background:#fffdf6;border-color:var(--bh-ink);transform:translateY(-3px)}
.bhSite.publicSite :is(.cardLink,.footerLinks a,.classFlyer figcaption a,.textLink){color:var(--bh-blue);text-decoration:underline;text-underline-offset:4px}
.bhSite.publicSite :is(.grid,.formatCards){gap:24px}
.bhSite.publicSite :is(.row,.list li,.membershipOption,.schedule,.applicationExtra,.bookingSteps,.step){border-color:#88887e}
.bhSite.publicSite :is(.row b,.offerPrice,.price,.packagePrice){color:var(--bh-ink)}
.bhSite.publicSite :is(.heroPortrait img,.aboutPortrait img,.editorialPhoto img,.classesPhoto,.classFlyer img,.bnbArt img,.rooms img,.bnbPromo img,.pizzaRow img){border-radius:0}
.bhSite.publicSite .heroPortrait{border-bottom:3px solid var(--bh-blue);padding-bottom:12px;position:relative}
.bhSite.publicSite .heroPortrait:after{content:'';position:absolute;right:-16px;top:-16px;width:40px;height:40px;border-radius:50%;background:var(--bh-red);border:6px solid var(--bh-paper)}
.bhSite.publicSite .heroLayout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:64px;align-items:center}
.bhSite.publicSite .bnbPromo{background:var(--bh-yellow);color:var(--bh-ink);border-block:2px solid var(--bh-ink)}
.bhSite.publicSite .bnbPromo h2{font-family:inherit;font-weight:800}.bhSite.publicSite .bnbPromo .kicker{color:var(--bh-ink)}
.bhSite.publicSite .bnbDark,.bhSite.publicSite .featured{background:var(--bh-blue);color:#fff}
.bhSite.publicSite :is(.bnbDark,.featured) :is(h2,h3,p,li,.packagePrice,.small,.eyebrow){color:#fff!important}
.bhSite.publicSite .featured .btn{background:var(--bh-yellow);color:var(--bh-ink);border-color:var(--bh-yellow)}
.bhSite.publicSite :is(input,select,textarea){border:1px solid #a6aaa0!important;border-radius:6px!important;background:#fffdf7!important;color:var(--bh-ink)!important;font-size:1rem}
.bhSite.publicSite :is(input,textarea)::placeholder{color:#66695f}
.bhSite.publicSite footer{background:var(--bh-ink);color:var(--bh-paper);border-top:3px solid var(--bh-red);padding-bottom:36px}
.bhSite.publicSite footer a{color:#eeeae0!important}
.bhSite.publicSite .sectionIndex a,.bhSite.publicSite .path span{border-radius:0;border-color:#75776f;background:transparent;color:var(--bh-ink)}
/* Member tools retain a dark cockpit, with the same typography and geometry. */
body.bhMember{--gold:#f1c52c;--ink:#f5f0e7;--panel:#181d29;--bg:#0b1020;--line:#414858;background:#0b1020;color:#f5f0e7}
.bhMember :is(.portalNavigation,.atlasHeader){background:var(--bh-paper)!important;border-bottom:4px solid var(--bh-blue)}
.bhMember .brand-context{color:var(--bh-ink)}
.bhMember :is(.authCard,.dashCard,.toolBox,.box,.detail,.coachOverviewCard,.editorPanel,.accountPanel,.missionCard,.crewSection,.crewProfile,.atlasAccount,.galaxyFrame){border-radius:0!important;border-color:#596073}
.bhMember :is(.btn,.primaryButton){border-radius:0;background:var(--bh-yellow);color:#161918;border:1px solid var(--bh-yellow);font-weight:800}
.bhMember :is(.btn.ghost,.secondaryButton){border-radius:0;background:transparent;color:#f1c52c;border:1px solid #f1c52c}
.bhMember :is(input,select,textarea){border-radius:0!important;font-size:1rem}
.bhMember :is(.tag,.badge){border-radius:0;background:#f1c52c;color:#161918}
.bhMember :is(.hubNav a,.rail nav a,.flightControls button,.filter,.smallBtn){border-radius:0!important}
.bhMember .rail nav a[aria-current=page]{border-left:4px solid #f1c52c;background:#183c85;color:#fff}
.bhMember .hero{background:#0b1020;border-bottom:3px solid var(--bh-blue)}
.bhMember .crewIntro h2,.bhMember .focusBox h2{font-family:inherit;font-weight:800}
/* A quiet colophon: small visible marks, comfortably sized keyboard/touch targets. */
.bhColophon{display:flex;justify-content:flex-end;gap:2px;padding:10px max(18px,calc((100% - 1120px)/2));background:var(--bh-ink);border-top:1px solid #555;color:var(--bh-paper)}
.bhSecret{display:grid;place-items:center;width:44px;height:44px;padding:0;background:transparent;border:0;color:inherit;cursor:pointer}
.bhSecret span{width:9px;height:9px;background:#f1c52c;display:block}.bhSecret:nth-child(1) span{border-radius:50%;background:#e74938}.bhSecret:nth-child(3) span{background:#729bff;clip-path:polygon(50% 0,100% 100%,0 100%)}
.bhSecret:hover span{transform:scale(1.4)}
.bhCabinet{width:min(680px,calc(100% - 32px));max-height:85dvh;overflow:auto;padding:28px;background:var(--bh-paper);color:var(--bh-ink);border:2px solid var(--bh-ink);box-shadow:10px 10px 0 #1748b6;font:16px/1.65 Futura,'Trebuchet MS',sans-serif}
.bhCabinet::backdrop{background:#080b17cc}.bhCabinet h2{font:800 clamp(1.8rem,5vw,2.8rem)/1.1 Futura,'Trebuchet MS',sans-serif;margin:16px 0}.bhCabinet .bhClose{display:block;margin-left:auto;background:#181918;color:#fff;padding:10px 16px;border:0;font:inherit;cursor:pointer}.bhCabinet img{display:block;width:100%;height:auto;margin:20px 0}.bhCabinet a{color:#1748b6;text-decoration:underline}.bhCabinet small{display:block;font-size:.875rem}.bhCabinet .bhDate{font-size:3rem;font-weight:900;color:#bc3025;line-height:1.1}.bhCabinet .bhExperiment{display:flex;gap:12px;margin:24px 0;align-items:center}.bhExperiment i{width:40px;height:40px;background:#1748b6}.bhExperiment i:first-child{background:#bc3025;border-radius:50%}.bhExperiment i:last-child{background:#f1c52c;clip-path:polygon(50% 0,100% 100%,0 100%)}
@media(max-width:760px){.bhSite.publicSite .heroLayout{grid-template-columns:1fr;gap:36px}.bhSite.publicSite .hero,.bhSite.publicSite:not(.bnbPage) .hero,.bhSite.publicSite .bnbHero{padding:36px 0 40px}.bhSite.publicSite :is(.sec,.bnbSection){padding:44px 0}.bhSite.publicSite .hero:before,.bhSite.publicSite .bnbHero:before{margin-bottom:24px}.bhSite.publicSite .heroPortrait{max-width:420px;margin-right:16px}.bhSite.publicSite .hero h1,.bhSite.publicSite:not(.bnbPage) .hero h1,.bhSite.publicSite .bnbHero h1{font-size:clamp(2.5rem,10vw,3.8rem)}.bhCabinet{padding:20px}.bhSite.publicSite .n{min-height:78px}}
@media(prefers-reduced-motion:reduce){.bhSite *{scroll-behavior:auto!important}.bhSite .card,.bhSite .btn,.bhSecret span{transition:none!important;transform:none!important}}
/* Legacy page-specific callouts now use the shared light surface. */
.bhSite.publicSite main [style*="background"]{background:var(--bh-paper)!important;color:var(--bh-ink)!important;border-color:#d8d5cb!important;border-radius:6px!important}
.bhSite.publicSite main [style*="color"]{color:var(--bh-ink)!important}
.bhSite.publicSite :is(.breadcrumb a,.membershipLength,.offerPrice small,.offerPrice span,.classIntro,.membershipOption span,.quote,.fit,.timeline,.step p){color:#454841}
.bhSite.publicSite main a[style*="color"]{color:var(--bh-blue)!important}
.bhSite.publicSite #schedule .g2>div{background:var(--bh-paper);border:1px solid #77786f;border-top:6px solid var(--bh-blue);border-radius:0}
.bhSite.publicSite #schedule .g2>div:nth-child(2){border-top-color:var(--bh-red)}
.bhSite.publicSite #application-help a,.bhSite.publicSite .pricingNote a,.bhSite.publicSite .space span{color:var(--bh-blue)}
.bhSite.publicSite .space span{background:transparent;border-color:#77786f;border-radius:0}
.bhSite.publicSite main a:not(.btn):not(.card){color:var(--bh-blue)}
.bhSite.publicSite :is(.timeline b,.step b,.portalPreview .mini span,.aboutPortrait figcaption){color:#454841}
.bhSite.publicSite .portalPreview .mini span{border-radius:0;border-color:#77786f;background:transparent}
.bhSite.publicSite .bnbDark a:not(.btn),.bhSite.publicSite .featured a:not(.btn){color:#fff}
@media(min-width:1100px) and (max-width:1199px){.bhSite.publicSite .primary{display:none!important}.bhSite.publicSite .mobileMenu{display:block!important}}
/* Page-specific finds: discreet visual marks, without covering text or controls. */
.artDock{display:flex;min-height:36px;margin:0 0 8px;max-width:100%;clear:both}.artDockRight{justify-content:flex-end}.artDockLeft{justify-content:flex-start}.artDock .artSecret{color:#5a5c52}.bhMember .artDock .artSecret{color:#aebad0}.bhColophon .artSecret{color:#e6dec8}
.bhSecret.artSecret span{width:auto;height:auto;display:block;background:none!important;border-radius:0!important;clip-path:none!important;font:400 16px/1 Georgia,serif;opacity:.8;transform:none}.bhSecret.artSecret:hover span,.bhSecret.artSecret:focus-visible span{opacity:1;color:#bc3025}.bhMember .artSecret:hover span,.bhColophon .artSecret:hover span{color:#f1c52c}
.bhCabinet .artArtist{font-size:.875rem;font-weight:800;letter-spacing:.02em;color:#8e261e}.bhCabinet img{max-height:45dvh;object-fit:contain;background:#e6dfd1}
@media(max-width:760px){.artDock{margin-bottom:2px}.bhCabinet img{max-height:35dvh}}


/* Source: art-directions.css */
/* Original interface compositions: cut-paper color, fractured planes, painterly palettes.
   These are design references, not reproductions of artworks. */
body[data-art]{--art-a:#164ab0;--art-b:#b63731;--art-tint:#e5edf9;--art-tint2:#f7dfd6;--art-field:#edf1f6;--bh-blue:var(--art-a);--bh-red:var(--art-b)}
body[data-art=rhythm]{--art-a:#214db2;--art-b:#ae2b44;--art-tint:#e1eafa;--art-tint2:#f9dcd9;--art-field:#f3e4de}
body[data-art=atelier]{--art-a:#3c554b;--art-b:#923d2c;--art-tint:#e2e9e3;--art-tint2:#f0ded2;--art-field:#e8e3da}
body[data-art=planes]{--art-a:#294f75;--art-b:#9b472d;--art-tint:#dee8ed;--art-tint2:#edddcf;--art-field:#e5e8e7}
body[data-art=intimate]{--art-a:#773755;--art-b:#73501b;--art-tint:#f0e0e7;--art-tint2:#ede7d4;--art-field:#f0e7e6}
body[data-art=garden]{--art-a:#325d65;--art-b:#685080;--art-tint:#deeeea;--art-tint2:#e9e2f2;--art-field:#e4ece9}
body[data-art=terrace]{--art-a:#255e6a;--art-b:#a23b26;--art-tint:#dceef0;--art-tint2:#f3ddd1;--art-field:#e4eceb}
body[data-art=pop]{--art-a:#573bac;--art-b:#a92f57;--art-tint:#e9e2fa;--art-tint2:#f7dde8;--art-field:#e8e4f1}
/* Public pages share one Bauhaus palette and consistent surfaces.
   Page character comes from photography and composition, not competing controls. */
body.publicSite[data-art]{--bh-blue:#1748b6;--bh-red:#bc3025}
.bhSite.publicSite[data-art] :is(.soft,.warm,.bnbSoft,.bnbFinal){background:#eeece4}
.bhSite.publicSite[data-art] .tag{background:#f5ebc7;border-left:2px solid var(--bh-yellow);border-radius:4px}
.bhSite.publicSite[data-art] .bnbPromo{background:#e9edf7;border-block:1px solid #d8d5cb}
.bhSite.publicSite[data-art] footer a{color:#eeeae0!important}
.bhSite.publicSite[data-art] .hero:before,.bhSite.publicSite[data-art] .bnbHero:before{width:64px;height:4px;background:linear-gradient(90deg,var(--bh-blue) 0 48%,transparent 48% 54%,var(--bh-red) 54% 78%,transparent 78% 84%,var(--bh-yellow) 84%);border-radius:0}
.bhSite.publicSite[data-art] .card{background:#fffdf7;border:1px solid #d8d5cb;border-top:3px solid var(--bh-blue);border-radius:6px}
.bhSite.publicSite[data-art] .card:nth-child(3n+2){border-top-color:var(--bh-red)}
.bhSite.publicSite[data-art] .card:nth-child(3n+3){border-top-color:#c3a025}
.bhSite.publicSite[data-art] a.card:hover{background:#fffefb;border-color:var(--bh-blue)}
.bhSite.publicSite[data-art] :is(.formatCard,.membershipCard,.package,.classGuidance,.portalPreview){background:#fffdf7;border-color:#d8d5cb;border-radius:6px}
.bhSite.publicSite[data-art] .featured,.bhSite.publicSite[data-art] .package.featured{background:var(--bh-blue);border-color:var(--bh-blue)}
.bhSite.publicSite[data-art] .featured .btn{background:#fffdf7;border-color:#fffdf7;color:var(--bh-blue)}
.bhSite.publicSite[data-art] main [style*="background"]{background:#fffdf7!important}
.bhSite.publicSite[data-art] #schedule .g2>div{background:#fffdf7;border:1px solid #d8d5cb;border-top:3px solid var(--bh-blue);border-radius:6px}
.bhSite.publicSite[data-art] #schedule .g2>div:nth-child(2){border-top-color:var(--bh-red)}
.bhSite.publicSite[data-art=cutout] .heroPortrait img{border-radius:42% 42% 0 0}
.bhSite.publicSite[data-art=terrace] .bnbArt img{border-radius:90px 90px 0 0}
/* Kandinsky-like color intervals in the cockpit; the map's saved states stay unchanged. */
body.bhMember[data-art]{--gold:#9edce0;--art-a:#96dce3;--art-b:#c7b6ed;--bh-blue:#354d83;--bh-red:#a588c8;background:#0d1423}
.bhMember[data-art] :is(.btn,.primaryButton){background:#a5e2dd;color:#11292e;border-color:#a5e2dd;border-radius:4px 16px 4px 4px}
.bhMember[data-art] :is(.btn.ghost,.secondaryButton){background:transparent;color:#c7b6ed;border-color:#9981bb;border-radius:4px}
.bhMember[data-art] :is(.tag,.badge){background:#d4c6ed;color:#261c3a;border-radius:14px 14px 14px 2px}
.bhMember[data-art] :is(.authCard,.accountPanel,.toolBox,.dashCard){border-radius:16px 3px 16px 3px!important;border-color:#4b6573;background:#14232e}
.bhMember[data-art] .dashCard:nth-of-type(3n){background:#211e32;border-color:#68567f;border-radius:3px 20px 3px 3px!important}
.bhMember[data-art] :is(.crewProfile,.missionCard){border-radius:3px 24px 3px 3px!important;border-color:#607691}
.bhMember[data-art] .rail nav a[aria-current=page]{border-left-color:#a5e2dd;background:#23334d}
.bhMember[data-art] .startHere{background:#192b33;border-color:#76adaf;border-radius:4px 28px 4px 4px}
.bhMember[data-art] .galaxyFrame{border-radius:18px 3px 18px 3px!important}
@media(max-width:760px){.bhSite.publicSite[data-art] .card{padding:24px}.bhSite.publicSite[data-art] .heroPortrait{margin-right:16px}}


/* Source: brand-badge.css */
/* Circular symbol with the geometric wordmark beside it. */
body .publicBrand,body .portalNavigation .portalBrand,body .atlasLogo{display:block!important;width:320px!important;height:107px!important;flex:0 0 320px!important;overflow:visible!important;border-radius:0!important}
body .publicBrand img,body .portalBrand img,body .atlasLogo img,body .brand.brand-logo img{display:block!important;width:320px!important;height:107px!important;max-width:none!important;object-fit:contain!important;object-position:center!important;border-radius:0!important;background:#fff}
body.publicSite .n,body .portalNavigation .n{height:auto!important;min-height:120px!important}
body .brand.brand-logo{flex-shrink:0}
@media(max-width:520px){body .publicBrand,body .portalNavigation .portalBrand,body .atlasLogo{width:240px!important;height:80px!important;flex-basis:240px!important}body .publicBrand img,body .portalBrand img,body .atlasLogo img,body .brand.brand-logo img{width:240px!important;height:80px!important}body.publicSite .n,body .portalNavigation .n{height:auto!important;min-height:96px!important;gap:12px!important}}
@media(max-width:360px){body .publicBrand,body .portalNavigation .portalBrand,body .atlasLogo{width:204px!important;height:68px!important;flex-basis:204px!important}body .publicBrand img,body .portalBrand img,body .atlasLogo img,body .brand.brand-logo img{width:204px!important;height:68px!important}}
/* Let the white artwork background blend into the warm navigation surface. */
body .publicBrand img,body .portalBrand img,body .atlasLogo img{mix-blend-mode:multiply;background:transparent}


/* Source: site-system.css */
/* Final public-site coherence layer.
   Loads last. Bauhaus owns the visual language; this file owns shell dimensions, hierarchy, and cross-page rhythm. */
body.publicSite{
  --site-max:1120px;
  --site-copy:72ch;
  --site-touch:44px;
  --site-line:#d8d5cb;
  --site-subtle:#555b53;
  --site-section:clamp(64px,7vw,96px);
}
.publicSite .w{width:min(var(--site-max),calc(100% - 36px));margin-inline:auto}
.publicSite nav{z-index:60}
.publicSite .n{min-height:82px!important;gap:24px}
.publicSite .publicBrand{display:block!important;width:208px!important;height:auto!important;flex:0 0 208px!important;overflow:visible!important}
.publicSite .publicBrand img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:3/1;object-fit:contain!important;object-position:left center!important}
.publicSite .primary{gap:6px!important;align-items:center}
.publicSite .primary>a,.publicSite .navExplore>summary{display:flex;align-items:center;min-height:var(--site-touch);padding:10px 10px!important;white-space:nowrap}
.publicSite .primary>a{font-weight:650}
.publicSite .memberLink{margin-left:6px;padding:10px 13px!important;font-weight:600!important}

/* The public header is a three-branch navigation tree: Train, Teaching, Explore. */
.publicSite .navExplore{position:relative}
.publicSite .navExplore>summary{list-style:none;cursor:pointer;font:inherit;font-size:inherit;font-weight:650;color:inherit}
.publicSite .navExplore>summary::-webkit-details-marker{display:none}
.publicSite .navExplore>summary::after{content:'▾';margin-left:6px;font-size:.78em;transition:transform .16s ease}
.publicSite .navExplore[open]>summary::after{transform:rotate(180deg)}
.publicSite .navExplore>summary[aria-current="page"]{color:var(--bh-blue,#1748b6);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}
.publicSite .navExplorePanel{position:absolute;right:0;top:calc(100% + 8px);z-index:80;display:grid;width:250px;padding:8px;background:var(--bh-paper,#f4f0e6);color:var(--bh-ink,#181918);border:1px solid #d8d5cb;border-radius:8px;box-shadow:0 14px 40px #18201b14}
.publicSite .primary .navExplore:first-of-type .navExplorePanel{left:0;right:auto}
.publicSite .navExplorePanel a{display:flex;align-items:center;min-height:42px;padding:10px 12px;font-size:.875rem;font-weight:500;text-decoration:none}
.publicSite .navExplorePanel a:hover,.publicSite .navExplorePanel a:focus-visible{background:#e9edf7;color:var(--bh-ink,#181918)}
.publicSite .navExplorePanel a[aria-current="page"]{background:#e9edf7;color:var(--bh-ink,#181918);text-decoration:none}
.publicSite .studentVoiceBar{display:none!important}

/* Mobile keeps the same tree instead of flattening every destination into one long list. */
.publicSite .mobilePanel{width:min(340px,calc(100vw - 32px));padding:8px;display:grid;gap:2px}
.publicSite .mobilePanel>.memberLink{display:flex;align-items:center;min-height:46px;margin:5px 0 0;padding:11px 12px!important;border:1px solid #d8d5cb!important;font-weight:600!important}
.publicSite .mobileTree{border-bottom:1px solid #77786f55}
.publicSite .mobileTree>summary{list-style:none;cursor:pointer;border:0!important;border-radius:0!important;padding:12px!important;min-height:46px;display:flex;align-items:center;justify-content:space-between;font-weight:650!important}
.publicSite .mobileTree>summary::-webkit-details-marker{display:none}
.publicSite .mobileTree>summary::after{content:'+';font-size:1.15rem;font-weight:500}
.publicSite .mobileTree[open]>summary::after{content:'−'}
.publicSite .mobileTree>summary[aria-current="page"]{color:var(--bh-blue,#1748b6)}
.publicSite .mobileTreePanel{display:grid;padding:0 0 8px 12px}
.publicSite .mobileTreePanel a{display:flex;align-items:center;min-height:42px;padding:8px 12px!important;border:0!important;font-weight:600}
.publicSite .mobileTreePanel a[aria-current="page"]{background:#e9edf7;color:var(--bh-ink,#181918)}

/* Shared information hierarchy */
.publicSite :is(.sec,.bnbSection){padding-block:var(--site-section)!important}
.publicSite .hero .lede,.publicSite .lede{max-width:var(--site-copy)}
.publicSite .hero .actions{max-width:760px}
.publicSite :is(.sec,.bnbSection)>.w>p:not(.kicker):not(.eyebrow):not(.choiceNote):not(.pricingNote){max-width:var(--site-copy)}
.publicSite :is(.sec,.bnbSection)>.w>h2{max-width:22ch}
.publicSite .actions{align-items:center}
.publicSite .actions .btn{max-width:100%}
.publicSite .grid{align-items:stretch}
.publicSite .card{height:100%}
.publicSite :is(.card p,.classGuidance p,.startingHelp p,.editorialPhoto figcaption){max-width:68ch}
.publicSite .breadcrumb{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.publicSite .smallHeading{font-size:clamp(1.7rem,3vw,2rem)!important}

/* Shared footer */
.publicSite .footerLegal{margin-top:40px;padding-top:20px;border-top:1px solid #ffffff2b;font-size:.75rem;line-height:1.7;color:#c9c9bf}
.publicSite footer>.w:first-child{font-weight:500;letter-spacing:0;line-height:1.7;font-size:.875rem;max-width:var(--site-max)}
.publicSite .footerDirectory{grid-template-columns:1fr 1.15fr .85fr;gap:56px}
.publicSite .footerGroup h2{margin-bottom:14px!important;font-size:.6875rem!important;font-weight:600!important;letter-spacing:.12em!important;text-transform:uppercase;color:#acb1a7}
.publicSite .footerGroup a{line-height:1.5;font-size:.875rem;font-weight:400!important;padding-block:7px}

/* Three grouped choices fit comfortably on tablets, so the desktop tree can appear sooner. */
@media(min-width:960px){
  .publicSite .primary{display:flex!important}
  .publicSite .mobileMenu{display:none!important}
}
@media(max-width:959px){
  .publicSite .primary{display:none!important}
  .publicSite .mobileMenu{display:block!important}
  .publicSite .n{min-height:72px!important;gap:12px}
  .publicSite .publicBrand{width:min(214px,calc(100vw - 118px))!important;flex-basis:auto!important}
}
@media(max-width:760px){
  .publicSite .w{width:calc(100% - 32px)}
  .publicSite .footerDirectory{grid-template-columns:1fr;gap:26px}
  .publicSite .actions .btn{width:auto}
  .publicSite :is(.sec,.bnbSection)>.w>h2{max-width:none}
}
@media(max-width:380px){
  .publicSite .publicBrand{width:min(188px,calc(100vw - 112px))!important}
}
@media(prefers-reduced-motion:reduce){
  .publicSite .navExplore>summary::after{transition:none}
}

/* Training comparison: explicit light surfaces prevent legacy dark styles from
   mixing with the public brand palette. Keep this scoped to the public homepage. */
.publicSite #find-your-training{
  background:#f4f0e6;
  color:#181918;
}
.publicSite #find-your-training h2{
  color:#181918;
  font-size:clamp(2rem,3.8vw,3.25rem);
  line-height:1.15;
  letter-spacing:-.025em;
  text-wrap:balance;
  margin-bottom:20px;
}
.publicSite #find-your-training .kicker{
  color:var(--bh-red);
  font-size:.6875rem;
  line-height:1.5;
  letter-spacing:.08em;
}
.publicSite #find-your-training :is(p,.lede,dt,dd){
  color:#30362f!important;
  font-size:1rem;
  line-height:1.7;
  font-style:normal;
  letter-spacing:normal;
}
.publicSite #find-your-training .lede{max-width:62ch}
.publicSite #find-your-training .trainingChoices{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:24px;
  margin-top:32px;
}
.publicSite #find-your-training .trainingChoice{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  margin-top:0;
  padding:28px;
  color:#181918;
  background:#fffdf7;
  border:1px solid #d8d5cb;
  border-top:3px solid var(--bh-blue);
  border-radius:6px;
  box-shadow:none;
}
.publicSite #find-your-training .trainingChoice:nth-child(3n+2){border-top-color:#b63731}
.publicSite #find-your-training .trainingChoice:nth-child(3n+3){border-top-color:#c3a025}
.publicSite #find-your-training .trainingChoice h3{
  color:#181918;
  font-size:1.625rem;
  line-height:1.25;
  letter-spacing:-.015em;
  margin:14px 0 12px;
}
.publicSite #find-your-training .trainingChoice>p{margin:0}
.publicSite #find-your-training .choiceNumber{
  color:#164ab0;
  font-size:.9375rem;
  line-height:1.4;
  font-weight:650;
}
.publicSite #find-your-training .trainingChoice dl{margin:24px 0 28px}
.publicSite #find-your-training .trainingChoice dt{
  font-size:.9375rem;
  font-weight:750;
  line-height:1.45;
  margin:20px 0 4px;
}
.publicSite #find-your-training .trainingChoice dt:first-child{margin-top:0}
.publicSite #find-your-training .trainingChoice dd{margin:0}
.publicSite #find-your-training .trainingChoice dd:first-of-type{font-weight:750}
.publicSite #find-your-training .cardLink{
  display:block;
  color:#164ab0;
  font-size:1rem;
  line-height:1.5;
  font-weight:750;
  margin-top:auto;
  padding-top:20px;
  border-top:1px solid #d8d5cb;
  text-decoration:underline;
  text-underline-offset:4px;
}
.publicSite #find-your-training a.card:hover{
  background:#fff;
  border-color:#164ab0;
  transform:none;
}
.publicSite #find-your-training :is(a,button):focus-visible{
  outline:3px solid #164ab0;
  outline-offset:5px;
}
.publicSite #find-your-training .startingHelp{
  gap:24px;
  padding:28px 0;
  margin-top:32px;
  border-block:1px solid #d8d5cb;
}
.publicSite #find-your-training .startingHelp h3{
  color:#181918;
  font-size:1.5rem;
  line-height:1.3;
  letter-spacing:-.015em;
}
.publicSite #find-your-training .startingHelp .btn{
  min-height:48px;
  color:#181918;
  background:#fffdf7;
  border-color:#181918;
  font-size:1rem;
  line-height:1.5;
  white-space:normal;
  text-align:center;
}
.publicSite #find-your-training .startingHelp .btn:hover{
  color:#fff;
  background:#181918;
}
.publicSite #find-your-training .choiceNote{font-size:1rem;line-height:1.6}
@media(min-width:761px) and (max-width:1099px){
  .publicSite #find-your-training .trainingChoices{grid-template-columns:repeat(2,minmax(0,1fr))}
  .publicSite #find-your-training .trainingChoice:last-child:nth-child(odd){grid-column:1 / -1}
  .publicSite #find-your-training .startingHelp{align-items:flex-start;flex-direction:column}
}
@media(max-width:760px){
  .publicSite #find-your-training .trainingChoices{grid-template-columns:1fr;gap:20px;margin-top:24px}
  .publicSite #find-your-training .trainingChoice{padding:24px}
  .publicSite #find-your-training .startingHelp{align-items:flex-start;flex-direction:column}
  .publicSite #find-your-training .startingHelp .btn{width:100%}
}

