:root{--revision-red:#cf1d25;--revision-ink:#111214;--revision-paper:#f4f1e9;--revision-gold:#b89a5b}
*,*:before,*:after{box-sizing:border-box}
.language-switch{display:flex;align-items:center;gap:6px;direction:ltr;font-size:11px;letter-spacing:.08em;flex:0 0 auto;color:#fff}
.language-switch button{border:0;background:transparent;color:#ffffff99;font:inherit;padding:6px;cursor:pointer}
.language-switch button.active{color:#fff;font-weight:900}
.language-switch span{color:#ffffff55}
.language-switch-generated{z-index:120}
.language-switch-floating{position:fixed;top:22px;right:22px;padding:8px 12px;background:#151719;border:1px solid #ffffff28;color:#fff}
html[dir=ltr] body{text-align:left}
html[dir=ltr] :is(input,select,textarea){text-align:left}
html[dir=ltr] .intake-page,
html[dir=ltr] .intake-page :is(main,.intake-hero,.intake-shell,.intake-intro,.intake-progress,.intake-form,.form-step,.consent-card,.account-note,.signature-box,.choice-group,.radio-block,.check-line,.form-actions,.form-error),
html[dir=ltr] .intake-form :is(label,label small,input,select,textarea),
html[dir=ltr] .choice-grid,
html[dir=ltr] .choice-grid label span,
html[dir=ltr] .radio-block>div,
html[dir=ltr] .radio-block label span{direction:ltr!important;text-align:left!important}
html[dir=ltr] .intake-form input::placeholder,
html[dir=ltr] .intake-form textarea::placeholder{text-align:left!important}
html[dir=ltr] .store-nav,
html[dir=ltr] .store-hero,
html[dir=ltr] .store-intro,
html[dir=ltr] .equipment-guide,
html[dir=ltr] .gi-guide,
html[dir=ltr] .catalog,
html[dir=ltr] .order-help,
html[dir=ltr] .cart-drawer,
html[dir=ltr] dialog{text-align:left}

/* Shared professional content blocks */
.professional-section{padding:clamp(72px,8vw,132px) clamp(22px,7vw,110px);background:var(--revision-paper);color:var(--revision-ink)}
.professional-section.dark{background:#121315;color:#fff}
.professional-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:clamp(30px,7vw,110px);align-items:end;margin-bottom:42px}
.professional-heading small{display:block;color:var(--revision-red);font-size:11px;font-weight:800;letter-spacing:.18em;margin-bottom:14px}
.professional-heading h2{font-size:clamp(38px,5.4vw,76px);line-height:.96;margin:0;letter-spacing:-.04em}
.professional-heading h2 em{color:var(--revision-red);font-style:normal}
.professional-heading p{font-size:clamp(16px,1.3vw,20px);line-height:1.85;margin:0;color:#5c5d60}
.professional-section.dark .professional-heading p{color:#b8b9bc}
.professional-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.professional-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.professional-card{border:1px solid #dcd6ca;background:#fff;padding:30px;min-height:220px;position:relative}
.dark .professional-card{background:#1b1d20;border-color:#ffffff18}
.professional-card>small{display:block;color:var(--revision-red);font-size:10px;font-weight:900;letter-spacing:.15em;margin-bottom:26px}
.professional-card h3{font-size:24px;margin:0 0 12px}
.professional-card p,.professional-card li{font-size:15px;line-height:1.75;color:#666}
.dark .professional-card p,.dark .professional-card li{color:#b8b9bc}
.professional-card ul{margin:0;padding-inline-start:18px}
.professional-card a{display:inline-flex;margin-top:18px;color:inherit;font-weight:800;text-decoration:none;border-bottom:2px solid var(--revision-red)}
.professional-note{display:flex;align-items:flex-start;gap:18px;padding:22px 25px;border:1px solid #d7d0c2;background:#fff;margin-top:20px}
.professional-note b{white-space:nowrap;color:var(--revision-red)}
.professional-note p{margin:0;line-height:1.7;color:#555}
.official-proof{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.official-proof span,.official-proof a{border:1px solid currentColor;padding:9px 13px;font-size:11px;font-weight:850;letter-spacing:.05em;text-decoration:none;color:inherit}
.official-proof .primary-proof{background:var(--revision-red);border-color:var(--revision-red);color:#fff}

/* Shorter marketing homepage: the full ASAI story already has its own page. */
body:not(.content-page) .asai-partnership{display:none}

/* Branch, gallery and policy enhancements */
.branch-availability{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-size:11px;font-weight:800}
.branch-availability:before{content:"";width:8px;height:8px;border-radius:50%;background:#28a463;box-shadow:0 0 0 4px #28a46320}
.gallery-album-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 clamp(22px,7vw,110px) 30px}
.gallery-album-meta article{background:#17191b;color:#fff;padding:22px;border-top:3px solid var(--revision-red)}
.gallery-album-meta small{display:block;color:#d35a5f;font-weight:800;margin-bottom:7px}
.gallery-album-meta b{font-size:17px}
.policy-callout{border-inline-start:4px solid var(--revision-red);background:#fff8ed;padding:20px 24px;margin:22px 0}
.policy-callout p{margin:5px 0 0}

/* Store confidence strip */
.store-service-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#d8d2c8;margin:0}
.store-service-strip article{background:#f5f2eb;padding:24px}
.store-service-strip small{color:var(--revision-red);font-weight:900}
.store-service-strip b{display:block;margin:8px 0}
.store-service-strip p{margin:0;color:#666;font-size:13px;line-height:1.6}

/* Public placeholders for systems that are intentionally not exposed yet. */
.system-unavailable{min-height:100vh;background:#111214;color:#fff;display:grid;place-items:center;padding:30px;text-align:center}
.system-unavailable article{width:min(660px,100%);border:1px solid #ffffff25;background:#191b1e;padding:clamp(34px,7vw,70px)}
.system-unavailable img{width:82px;height:82px;object-fit:contain;margin-bottom:20px}
.system-unavailable small{color:#e55359;font-weight:900;letter-spacing:.16em}
.system-unavailable h1{font-size:clamp(38px,7vw,72px);line-height:1;margin:14px 0}
.system-unavailable p{color:#b6b7ba;line-height:1.8}
.system-unavailable a{display:inline-flex;background:var(--revision-red);color:#fff;text-decoration:none;font-weight:850;padding:14px 22px;margin-top:14px}
.member-portal.disabled{display:none!important}

/* Keep the primary promise readable above the decorative hero layers in every renderer. */
.hero:before,.hero:after{z-index:1}
.hero-copy{z-index:5!important;transform:none!important;transform-style:flat!important}
.hero-copy>*{position:relative;z-index:6}
.hero-actions{transform:none!important}

/* Cleaner navigation and a true mobile drawer */
@media(max-width:1500px){
  .nav{gap:18px!important}
  .nav .header-socials{display:none!important}
  .nav nav{gap:20px!important}
  .student-guide-top{display:none!important}
}
@media(max-width:1050px){
  .nav{min-height:72px;padding-inline:18px!important;display:flex!important;justify-content:space-between;position:sticky}
  .nav .brand{margin-inline-end:auto}
  .nav .menu{display:grid!important;place-items:center;order:3}
  .nav nav{display:none!important;position:fixed!important;inset:72px 0 0!important;background:#101113f7!important;padding:38px 26px 110px!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;overflow:auto;z-index:99}
  .nav.menu-open nav{display:flex!important}
  .nav nav a{color:#fff!important;font-size:20px!important;padding:16px 4px;border-bottom:1px solid #ffffff16;text-align:right}
  [dir=ltr] .nav nav a{text-align:left}
  .nav .nav-cta{display:none!important}
  .nav .language-switch{display:flex!important;order:1;margin:0!important}
  .nav .member-login{width:42px;height:42px;padding:0!important;border-radius:50%;display:grid!important;place-items:center;font-size:0!important;order:2}
  .nav .member-login:before{content:"♙";font-size:20px}
  body.menu-open{overflow:hidden}
}
@media(max-width:720px){
  .season-banner{font-size:11px}
  .nav .brand span{display:none}
  .nav .brand-logo{width:56px!important;height:56px!important}
  .professional-heading{grid-template-columns:1fr}
  .professional-grid,.professional-grid.four,.gallery-album-meta,.store-service-strip{grid-template-columns:1fr}
  .professional-section{padding-block:68px}
  .professional-card{min-height:0}
  .gallery-album-meta{margin-inline:18px}
}
html:has(.store-page),.store-page{overflow-x:hidden}

@media(max-width:560px){
  .system-unavailable{padding:18px;overflow-x:hidden}
  .system-unavailable article{width:100%;padding:34px 22px}
  .system-unavailable h1{font-size:clamp(36px,12vw,48px);letter-spacing:-2px}
  .language-switch-floating{top:14px;right:14px}
  .language-switch-floating button{min-width:40px;min-height:40px}
}
