/* Navigation and contact controls */
.site-header .logo img,body:has(.photo-hero) .site-header .logo img:first-child {
  display:block; width:100%; height:auto; max-height:42px; object-fit:contain;
}
.theme-switch {
  --switch-ink:#f7f7f4;
  display:inline-flex; align-items:center; justify-content:center; gap:2px;
  padding:3px; height:40px; border:1px solid #777772; border-radius:24px;
  background:#1e1e1c; color:var(--switch-ink); cursor:pointer; flex:none;
}
.theme-switch svg {width:30px; height:30px; padding:6px; border-radius:50%}
.theme-switch svg:first-child,.theme-switch[aria-checked=true] svg:last-child {background:#d5221a; color:white}
.theme-switch[aria-checked=true] svg:first-child {background:transparent}
.menu-foot {display:flex; align-items:center; justify-content:flex-start; gap:12px}
.theme-switch:focus-visible,.session-invite :focus-visible {outline:3px solid #ff8b82; outline-offset:3px}
@media(max-width:760px){
  .head-right .theme-switch {display:none}
  .site-header .logo {width:clamp(94px,28vw,150px)}
}
.direction-tabs .tab-number {color:var(--type-accent,#a91c13); font-variant-numeric:tabular-nums; margin-inline-end:.35em}
.direction-tabs [role=tab] {color:inherit}
.direction-tabs [role=tab][aria-selected=true] {color:var(--type-accent,#a91c13)}
.studio-options {grid-template-columns:repeat(2,minmax(0,1fr))}
.studio-options .package {min-width:0}
.studio-options .package .button {margin-top:auto}
.session-card {background:#e9e6dc;border-color:#c8c6bc}
#inquiry,#contact-actions {scroll-margin:92px}
.footer-contact {display:flex;flex-flow:row wrap;gap:10px;align-content:start;align-items:center}
.footer-contact>span {flex:0 0 100%;line-height:1.5}
.footer .footer-contact>a {
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:44px;max-width:100%;padding:9px 16px;border:1px solid #93938c;
  border-radius:24px;color:#f7f7f4;font:500 14px/1.35 Manrope,sans-serif;
}
.footer-contact>a:hover,.footer-contact>a:focus-visible {border-color:#ff8b82;color:#ff8b82}
.footer-brand p {max-width:none;margin:0}
.footer-brand p span {display:block;white-space:nowrap}
@media(max-width:760px){
  .studio-options {grid-template-columns:1fr}
  .footer-brand {width:100%;gap:14px}
  .footer-brand p {font-size:clamp(16px,4.4vw,28px);line-height:1.18;letter-spacing:-.025em}
  .footer-brand img {width:min(200px,70vw)}
}
.session-invite {
  box-sizing:border-box;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);
  border:1px solid #a9a99d;border-radius:22px;background:#f3f0e8;color:#111110;
  padding:clamp(24px,5vw,42px);margin:auto;box-shadow:0 24px 90px #0005;
}
.session-invite::backdrop {background:#0c0c0bac}
.session-invite h2 {font:clamp(24px,3vw,36px)/1.12 RAI,sans-serif;max-width:90%;margin:18px 0 16px;letter-spacing:-.04em}
.session-invite p {font:16px/1.55 Manrope,sans-serif;margin:0 0 24px}
.invite-close {position:absolute;right:8px;top:8px;width:42px;height:42px;border:none;background:transparent;color:inherit;font:28px/1 sans-serif;cursor:pointer}
.session-invite .button {background:#d5221a;color:#fff}
.partner-hero {min-height:0}
[data-theme=dark] {
  color-scheme:dark;--cream:#111110;--type-accent:#ff8b82;
  --surface:#1e1e1c;--raised:#292927;--ink:#f7f7f4;--muted:#b7b7b0;--line:#555552;
}
[data-theme=dark] body,[data-theme=dark] .panel,[data-theme=dark] .inner-hero:not(.photo-hero),[data-theme=dark] .full-menu {
  background:var(--cream);color:var(--ink)
}
[data-theme=dark] :is(.tabs,.detail,.receipt,.package,.stage,.payment-panels,.founder-card,.case-fact,.booking-layout,.project-dialog,.session-invite,.interface,.case-flow>div) {
  background:var(--surface);color:var(--ink);border-color:var(--line)
}
[data-theme=dark] :is(.tab-panels [role=tabpanel],.tab-buttons [aria-selected=true],.booking-layout>div:first-child,.full-menu .language-switch,.session-card,.project-fallback,.project-dialog footer,.payment-panels article) {
  background:var(--raised);color:var(--ink);border-color:var(--line)
}
[data-theme=dark] :is(.section-head p,.detail p,.package p,.editorial-copy,.editorial-detail p,.faq details p,.receipt small,.case-card>p,.direction-tabs dd,.founder-card p,.payment-panels p,.timezone-note,.draft-note,.project-fallback p) {color:var(--muted)}
[data-theme=dark] :is(.eyebrow,.case-card>small,.direction-tabs dt,.tab-number,.detail>span,.faq summary span,.carousel-controls span,.receipt>strong,.package>strong,.full-menu a[aria-current=page]) {color:var(--type-accent)}
[data-theme=dark] :is(.filters button,.tab-buttons button,.carousel-controls button,.menu-close,.full-menu nav a,.full-menu .language-switch a,.project-dialog header button,.weekday,.selection-summary,.case-card h3,.editorial-detail summary,.project-dialog .text-link) {color:var(--ink)}
[data-theme=dark] .direction-tabs [role=tab][aria-selected=true],[data-theme=dark] .tab-buttons button[aria-pressed=true],
[data-theme=dark] .full-menu nav a[aria-current=page],[data-theme=dark] .full-menu nav a:hover,
[data-theme=dark] .full-menu nav a:focus-visible {color:var(--type-accent)}
[data-theme=dark] :is(.button,.package .button,.filters button[aria-pressed=true]) {background:#d5221a;color:white}
[data-theme=dark] :is(.button:hover,.button:focus-visible) {background:#ab1a13;color:white}
[data-theme=dark] :is(.booking input,.booking textarea,.booking select,.footer input,.footer textarea) {background:var(--raised);color:var(--ink);border-color:#93938c}
[data-theme=dark] .booking-layout>div:first-child img {content:url('/assets/logo-white.svg')}
[data-theme=dark] :is(.calendar-grid button,.slots button,.month-head button,.weekday,[data-zone]) {color:var(--ink)!important}
[data-theme=dark] .calendar-grid button {background:var(--raised)}
[data-theme=dark] :is(.calendar-grid button,.slots button)[aria-pressed=true] {background:#d5221a;color:white!important}
[data-theme=dark] :is(.calendar-grid button,.slots button,.month-head button):disabled {background:#242422;color:#a7a7a0!important}
[data-theme=dark] :is(.calendar-grid button,.slots button):enabled:not([aria-pressed=true]):hover {color:var(--type-accent)!important}
[data-theme=dark] :focus-visible {outline:2px solid var(--type-accent);outline-offset:3px}
