/* One shared colour system for the public site; Mini App retains its own UI. */
:root{--ink:#eef3fc;--accent:#8dcbff;--edge:#2a3b53;--pikod-ink:#eef3fc;--pikod-blue:#3264b5}
body:not(.booking-design){background:#0b1220;color:#eef3fc;font-family:Inter,system-ui,sans-serif;line-height:1.65}
body:not(.booking-design) :is(h1,h2,h3,h4,label,summary){color:#eef3fc}
body:not(.booking-design) :is([class*="text-slate-"],[class*="text-gray-"],.hero-copy,.page-intro p,.service-grid p){color:#bccbe0}
body:not(.booking-design) :is(.text-dark,.text-brand-900){color:#eef3fc}
body:not(.booking-design) :is(.text-brand-600,.text-brand-500,.catalog-link){color:#8dcbff}
body:not(.booking-design) :is(.bg-white,.bg-slate-50,.bg-slate-100,.bg-brand-50,.bg-brand-100,.calendar,.appointment-day){background:#141f31;color:#eef3fc;border-color:#2a3b53}
body:not(.booking-design) [class*="border-slate-"]{border-color:#2a3b53}
body:not(.booking-design) :is(.site-header,.site-actions){background:#0b1220f5;border-color:#2a3b53;backdrop-filter:blur(18px);box-shadow:none}
body:not(.booking-design) .logo{mix-blend-mode:normal;border-radius:6px;background:#fff}
body:not(.booking-design) .site-menu :is(summary,nav){background:#141f31;color:#eef3fc;border-color:#334a69}
body:not(.booking-design) .site-menu nav{box-shadow:0 20px 55px #0007;padding:10px;min-width:280px}
body:not(.booking-design) .site-menu nav a:hover{background:#233652;color:#fff}
body:not(.booking-design) :where(.site-button,#back){background:#18273e;color:#eaf2ff;border:1px solid #3a5275;border-radius:12px;box-shadow:none}
body:not(.booking-design) :is(.site-button.primary,.bg-dark){background:#315fb3;color:#fff;border-color:#5582cf}
body:not(.booking-design) :where(.site-button,#back):hover{background:#294775;border-color:#8dcbff}
body:not(.booking-design) :is(input,select,textarea){background:#0d1727;color:#edf3ff;border:1px solid #4a6180;border-radius:10px;padding:11px 14px;max-width:100%;color-scheme:dark}
body:not(.booking-design) ::placeholder{color:#a6b8d0;opacity:1}
body:not(.booking-design) :focus-visible{outline:2px solid #9ad5ff;outline-offset:4px}
body:not(.booking-design) .site-hero{position:relative;padding:72px 0 64px;background:radial-gradient(ellipse at 95% 0%,#58263b55,transparent 48%),radial-gradient(ellipse at 85% 90%,#23477b66,transparent 55%),#0d1728;border-color:#2a3b53}
body:not(.booking-design) .site-hero h1{font-size:clamp(3.8rem,9vw,7rem);letter-spacing:-.065em;line-height:1.05;font-weight:800;color:#f2f6ff}
body:not(.booking-design) .location{font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:#9bd3ff}
body:not(.booking-design) .hero-copy{max-width:650px;font-size:clamp(1rem,2vw,1.25rem);line-height:1.75}
.hero-terms{color:#b1c3dd;font-size:.875rem;margin-top:22px}
body:not(.booking-design) .site-section{padding-block:42px}
body:not(.booking-design) .site-section h2{font-size:clamp(1.6rem,3.5vw,2.3rem);letter-spacing:-.035em}
body:not(.booking-design) .service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-block:24px}
body:not(.booking-design) .service-grid article{position:relative;background:radial-gradient(220px circle at var(--card-x,-250px) var(--card-y,-250px),#38bdf813,transparent),#141f31;border:1px solid #2a3b53;border-radius:18px;padding:26px;box-shadow:none}
body:not(.booking-design) .service-grid h3{font-size:1.1rem;margin-bottom:10px}
body:not(.booking-design) .service-grid p{font-size:.95rem;line-height:1.7}
body:not(.booking-design) main:not(:has(.site-hero)) h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.15;letter-spacing:-.045em}
body:not(.booking-design) .catalog-group{padding-top:26px;margin-bottom:30px}
body:not(.booking-design) .catalog-group h3{color:#9bd3ff;font-size:1.2rem;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #38516f}
body:not(.booking-design) .catalog-group li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:16px 10px;border-bottom:1px solid #293950;color:#eef3fc;line-height:1.6}
body:not(.booking-design) .catalog-group li[hidden],body:not(.booking-design) .catalog-group[hidden]{display:none}
body:not(.booking-design) .catalog-group li:nth-child(even){background:#18263a}
body:not(.booking-design) .catalog-group strong{color:#a9d8ff;font-weight:650;font-variant-numeric:tabular-nums}
body:not(.booking-design) .calendar-grid button{background:#223c60;color:#dcecff}
body:not(.booking-design) .calendar-grid button:disabled{background:transparent;color:#8fa2be}
body:not(.booking-design) .calendar-grid button[aria-pressed=true]{background:#4277d0;color:#fff}
body:not(.booking-design) footer{background:#0a101c;border-color:#2a3b53}
.holding{display:flex;align-items:center;gap:24px;padding:28px;border:1px solid #69404f;border-radius:18px;background:linear-gradient(120deg,#301824,#171e2d);color:#f3f4f6}
.holding img{width:100px;height:auto;border-radius:10px}.holding h2{color:#f4e8ed!important;font-size:1.45rem}.holding p{color:#dfcdd6;margin-top:8px}
body:not(.booking-design) .glass::after{display:none}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.site-button,.service-grid article{transition:transform .22s ease,border-color .22s ease,background-color .22s ease}.site-button:hover,.service-grid article:hover{transform:translateY(-2px)}body:not(.booking-design) .service-grid article:hover{border-color:#557cad}}
@media(max-width:740px){body:not(.booking-design) .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.holding{padding:20px;gap:16px}.holding img{width:76px}}
@media(max-width:480px){body:not(.booking-design) .service-grid{grid-template-columns:1fr}body:not(.booking-design) .site-hero{padding:44px 0}body:not(.booking-design) .catalog-group li{grid-template-columns:1fr;gap:4px}body:not(.booking-design) .service-grid article{padding:22px}.holding{align-items:flex-start}.holding h2{font-size:1.15rem}.site-actions a{font-size:.85rem;padding-inline:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
body:not(.booking-design) .bg-shape{display:none}
body:not(.booking-design) .site-actions a:last-child{background:#315fb3;color:#fff;border-color:#5582cf}
@keyframes quiet-enter{from{transform:translateY(8px);opacity:.5}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:no-preference){.glass-enter{animation:quiet-enter .45s ease both}}

/* Light reading surfaces, with the navy hero as the main accent. */
body:not(.booking-design) {
  --ink: #142544;
  --accent: #2454ad;
  --edge: #d4dfed;
  background: #f5f8fd;
  color: #142544;
}
body:not(.booking-design) :is(h1,h2,h3,h4,label,summary,.text-dark,.text-brand-900) { color: #142544; }
body:not(.booking-design) :is([class*="text-slate-"],[class*="text-gray-"],.hero-copy,.page-intro p,.service-grid p) { color: #405575; }
body:not(.booking-design) :is(.text-brand-600,.text-brand-500,.catalog-link,.catalog-group h3,.catalog-group strong) { color: #2454ad; }
body:not(.booking-design) :is(.bg-white,.bg-slate-50,.bg-slate-100,.bg-brand-50,.bg-brand-100,.calendar,.appointment-day,.site-header,.site-actions,footer) {
  background: #fff;
  color: #142544;
  border-color: #d4dfed;
}
body:not(.booking-design) [class*="border-slate-"] { border-color: #d4dfed; }
body:not(.booking-design) .site-menu :is(summary,nav) { background: #fff; color: #142544; border-color: #d4dfed; }
body:not(.booking-design) .site-menu nav a:hover { background: #eaf2ff; color: #142544; }
body:not(.booking-design) :where(.site-button,#back) { background: #fff; color: #142544; border-color: #c1d1e6; }
body:not(.booking-design) :where(.site-button,#back):hover { background: #eaf2ff; color: #142544; }
body:not(.booking-design) :is(.site-button.primary,.bg-dark,.site-actions a:last-child) { background: #244f99; color: #fff; }
body:not(.booking-design) :is(input,select,textarea) { background: #fff; color: #142544; border-color: #a8bad3; color-scheme: light; }
body:not(.booking-design) ::placeholder { color: #526682; }
body:not(.booking-design) :focus-visible { outline-color: #3472c5; }
body:not(.booking-design) .site-hero .hero-copy { color: #e0eaff; }
body:not(.booking-design) .service-grid article {
  background: radial-gradient(220px circle at var(--card-x,-250px) var(--card-y,-250px),#dbeafe,transparent),#fff;
  border-color: #d4dfed;
}
body:not(.booking-design) .catalog-group h3 { border-color: #c2d2e8; }
body:not(.booking-design) .catalog-group li { color: #142544; border-color: #dce5f1; }
body:not(.booking-design) .catalog-group li:nth-child(even) { background: #f1f6fd; }
body:not(.booking-design) .calendar-grid button { background: #e6efff; color: #214c91; }
body:not(.booking-design) .calendar-grid button:disabled { background: transparent; color: #61738e; }
body:not(.booking-design) .calendar-grid button[aria-pressed=true] { background: #244f99; color: #fff; }
