:root {
  --primary: #004b87;
  --primary-dark: #001f3f;
  --aqua: #00ced1;
  --green: #0e9f6e;
  --green-dark: #013222;
  --gold: #ffd700;
  --bg: #f0f8ff;
  --surface: #ffffff;
  --surface-soft: #f6fbff;
  --text: #061725;
  --muted: #526778;
  --line: #d8e8ef;
  --shadow: 0 22px 60px rgba(0, 75, 135, 0.16);
  --brand-shadow: 0 18px 44px rgba(14, 159, 110, .14);
  --radius: 8px;
  --radius-lg: 24px;
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: var(--bg);
}

*,
*::before,
*::after { box-sizing: border-box; }
html {
  scroll-behavior: smooth;
  scroll-padding-top: 92px;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}
body,
#root {
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow-x: hidden;
}
body { background: var(--bg); }
body.modal-open { overflow: hidden; }
body, button, input, select { font: inherit; }
textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
section { max-width: 100%; }
img { display: block; width: 100%; max-width: 100%; height: auto; }
svg { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
button, a, input, select, textarea { touch-action: manipulation; }
button, .button, .choice, .day, .service-card, .mini-cta, .mobile-menu a, .nav-button { -webkit-tap-highlight-color: rgba(0, 206, 209, .18); }
::selection { background: rgba(0, 206, 209, .28); color: var(--primary-dark); }
:focus-visible {
  outline: 3px solid rgba(0, 206, 209, .72);
  outline-offset: 3px;
}
.brand, .service-card, .summary-card, fieldset, .chart-card, .table-card, .calendar-list, .cta-section > *, .reference-panel > *, .area-callout > *, .referral-modal > *, .referral-dashboard-grid > *, .admin-main, .area-grid article, .testimonial-track article { min-width: 0; }
.button, .mini-cta, .mobile-menu a, .nav-button { text-align: center; }
.skip-link { position: fixed; left: 1rem; top: -4rem; z-index: 1000; padding: .75rem 1rem; background: var(--primary); color: white; border-radius: var(--radius); }
.skip-link:focus { top: 1rem; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 76px;
  padding: .85rem clamp(1rem, 4vw, 3rem);
  background: rgba(255, 255, 255, .86);
  border-bottom: 1px solid rgba(0, 75, 135, .1);
  backdrop-filter: blur(18px);
}

.brand { display: inline-flex; align-items: center; gap: .75rem; min-width: 0; }
.brand-mark {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  flex: 0 0 auto;
  color: white;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--primary), var(--aqua));
  box-shadow: 0 12px 30px rgba(0, 75, 135, .2);
}
.brand-mark svg { width: 29px; height: 29px; }
.brand-mark.logo-mark {
  width: 58px;
  height: 58px;
  padding: .18rem;
  border: 1px solid rgba(0, 75, 135, .12);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--brand-shadow);
  overflow: hidden;
}
.brand-mark.logo-mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  border-radius: 10px;
}
.brand strong, .brand small { display: block; }
.brand strong { font-family: "Geist", sans-serif; font-size: 1rem; line-height: 1.1; }
.brand small { margin-top: .18rem; color: var(--muted); font-size: .78rem; }
.desktop-nav { display: flex; align-items: center; gap: clamp(.65rem, 1.5vw, 1.2rem); color: #24465e; font-weight: 700; }
.desktop-nav a {
  position: relative;
  padding: .65rem .2rem;
  transition: color .2s ease;
}
.desktop-nav a::after,
.nav-button::after {
  content: "";
  position: absolute;
  left: .2rem;
  right: .2rem;
  bottom: .42rem;
  height: 2px;
  border-radius: 999px;
  background: var(--aqua);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .22s ease;
}
.desktop-nav a:hover { color: var(--primary); }
.nav-button {
  position: relative;
  border: 0;
  background: transparent;
  color: inherit;
  padding: .65rem .2rem;
  font-weight: 800;
  cursor: pointer;
}
.nav-button:hover { color: var(--primary); }
.desktop-nav a:hover::after,
.nav-button:hover::after { transform: scaleX(1); }
.header-actions { display: flex; align-items: center; gap: .75rem; }
.phone-link { color: var(--primary); font-weight: 800; white-space: nowrap; }
.header-book { min-height: 42px; padding: .6rem 1rem; background: var(--gold); color: #1d2430; }
.icon-button {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: white;
  color: var(--primary);
}
.icon-button svg { width: 20px; height: 20px; fill: currentColor; stroke: none; }
.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: white;
  place-items: center;
  gap: 4px;
}
.menu-toggle span { display: block; width: 18px; height: 2px; background: var(--primary); }
.mobile-menu {
  position: absolute;
  top: calc(100% + .5rem);
  right: 1rem;
  display: none;
  width: min(310px, calc(100% - 2rem));
  padding: .8rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,.96);
  box-shadow: var(--shadow);
}
.mobile-menu.open { display: grid; }
.mobile-menu a { padding: .9rem; border-radius: var(--radius); font-weight: 800; }
.mobile-menu .nav-button { width: 100%; padding: .9rem; text-align: left; border-radius: var(--radius); }
.mobile-menu a:hover { background: var(--surface-soft); }
.mobile-menu .nav-button:hover { background: var(--surface-soft); }

.hero {
  position: relative;
  min-height: 0;
  background: #fff;
  overflow: hidden;
}
@keyframes waterSlide {
  from { background-position: 0 0, 0 0; }
  to { background-position: 240px 0, 0 0; }
}
.hero-image-only {
  width: 100%;
  height: auto;
}
.hero-glass-actions {
  position: absolute;
  left: 50%;
  bottom: clamp(2.3rem, 14.4vw, 9.4rem);
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .85rem;
  max-width: min(520px, calc(100% - 2rem));
  transform: translateX(-50%);
}
.hero-glass-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: .85rem 1.25rem;
  border: 1px solid rgba(255, 255, 255, .48);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(0, 75, 135, .58), rgba(0, 206, 209, .42));
  color: white;
  font-weight: 900;
  letter-spacing: 0;
  box-shadow: 0 18px 46px rgba(0, 31, 63, .22), inset 0 1px 0 rgba(255,255,255,.38);
  backdrop-filter: blur(14px) saturate(1.2);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  transition: transform .22s ease, background .22s ease, box-shadow .22s ease;
}
.hero-glass-button:hover {
  transform: translateY(-2px);
  background: linear-gradient(135deg, rgba(0, 75, 135, .72), rgba(0, 206, 209, .54));
  box-shadow: 0 22px 54px rgba(0, 31, 63, .28), inset 0 1px 0 rgba(255,255,255,.46);
}
.eyebrow {
  margin: 0 0 .75rem;
  color: var(--primary);
  font-family: "Geist", sans-serif;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}
.green-note { color: var(--green); font-weight: 900; }
h1, h2, h3 {
  margin: 0;
  font-family: "Geist", sans-serif;
  letter-spacing: 0;
  text-wrap: balance;
}
h1 { max-width: 12ch; font-size: clamp(2.55rem, 6vw, 5.45rem); line-height: .96; }
h2 { font-size: clamp(2rem, 4vw, 3.45rem); line-height: 1.03; }
h3 { font-size: 1.2rem; }
p {
  line-height: 1.65;
  text-wrap: pretty;
}
.page-hero {
  width: min(1180px, calc(100% - 2rem));
  margin: 0 auto;
  padding: clamp(3rem, 5vw, 5rem) 0 clamp(1.5rem, 3vw, 2.5rem);
}
.page-hero h1 { max-width: 12ch; color: var(--primary-dark); }
.page-hero p:not(.eyebrow) { max-width: 720px; color: var(--muted); font-size: 1.08rem; }
.compact-hero { padding-bottom: 1rem; }
.button-row, .cta-actions { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 1.6rem; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: .85rem 1.2rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font-weight: 800;
  position: relative;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
  line-height: 1.15;
}
.button::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 0 35%, rgba(255,255,255,.34) 48%, transparent 62% 100%);
  transform: translateX(-120%);
  transition: transform .55s ease;
}
.button:hover { transform: translateY(-2px); }
.button:active { transform: translateY(0); }
.button:hover::after { transform: translateX(120%); }
.button-gold { background: var(--gold); color: #1d2430; box-shadow: 0 14px 28px rgba(160, 125, 0, .23); }
.button-green { background: var(--green); color: white; box-shadow: 0 14px 30px rgba(14,159,110,.25); }
.button-light { background: rgba(255,255,255,.78); border-color: rgba(0, 75, 135, .18); color: var(--primary); }
.button-primary { width: 100%; background: var(--primary); color: white; box-shadow: 0 16px 34px rgba(0, 75, 135, .24); }
.trust-strip {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .65rem;
  width: min(1180px, calc(100% - 2rem));
  margin: -2rem auto 0;
  position: relative;
  z-index: 2;
}
.trust-strip span {
  padding: .62rem .85rem;
  border: 1px solid rgba(0, 75, 135, .12);
  border-radius: 999px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 12px 28px rgba(0,75,135,.08);
  color: var(--primary);
  font-size: .86rem;
  font-weight: 900;
  animation: riseIn .55s ease both;
}
.trust-strip span:nth-child(2) { animation-delay: .06s; }
.trust-strip span:nth-child(3) { animation-delay: .12s; }
.trust-strip span:nth-child(4) { animation-delay: .18s; }
.trust-strip span:nth-child(5) { animation-delay: .24s; }
.trust-strip span:nth-child(6) { animation-delay: .3s; }

.social-connect-section {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 1rem;
  align-items: center;
  padding-top: clamp(1.5rem, 3vw, 2.25rem);
  padding-bottom: clamp(1rem, 2vw, 1.5rem);
}
.social-connect-copy p:not(.eyebrow) {
  max-width: 44ch;
  margin: .7rem 0 0;
  color: var(--muted);
}
.social-connect-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
}
.social-connect-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .7rem;
  align-items: center;
  min-height: 86px;
  padding: .85rem;
  border: 1px solid rgba(0, 75, 135, .12);
  border-radius: var(--radius);
  background: rgba(255,255,255,.9);
  box-shadow: 0 14px 34px rgba(0,75,135,.08);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.social-connect-card:hover {
  transform: translateY(-3px);
  border-color: rgba(0, 206, 209, .38);
  box-shadow: 0 20px 46px rgba(0,75,135,.13);
}
.social-connect-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(0,75,135,.12), rgba(0,206,209,.18));
  color: var(--primary);
}
.social-connect-icon svg {
  width: 22px;
  height: 22px;
}
.social-connect-card strong,
.social-connect-card small {
  display: block;
}
.social-connect-card strong {
  color: var(--primary-dark);
  font-family: "Geist", sans-serif;
  font-size: .98rem;
}
.social-connect-card small {
  margin-top: .18rem;
  color: var(--muted);
  font-weight: 700;
}
.social-connect-card-muted {
  opacity: .76;
}

.scroll-reveal {
  opacity: 0;
  transform: translate3d(0, 22px, 0) scale(.985);
  transition: opacity .58s ease, transform .58s ease;
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
.scroll-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}
.scroll-reveal.reveal-card {
  transform: translate3d(0, 26px, 0) scale(.98);
}
.scroll-reveal.reveal-card.is-visible {
  transform: translate3d(0, 0, 0) scale(1);
}

.reference-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  gap: 1rem;
  align-items: center;
  width: min(1180px, calc(100% - 2rem));
  margin: 0 auto;
  padding: clamp(1rem, 3vw, 1.5rem);
  border: 1px solid rgba(14,159,110,.18);
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, rgba(14,159,110,.1), rgba(0,206,209,.1));
}
.reference-panel p { margin: .4rem 0 0; color: var(--muted); }
.reference-panel img {
  width: 100%;
  max-height: 170px;
  object-fit: contain;
  padding: 1rem;
  border-radius: var(--radius);
  background: white;
  box-shadow: var(--brand-shadow);
  transition: transform .3s ease, box-shadow .3s ease;
}
.reference-panel:hover img { transform: translateY(-3px) scale(1.015); box-shadow: 0 24px 54px rgba(14,159,110,.18); }

.section { width: min(1180px, calc(100% - 2rem)); margin: 0 auto; padding: clamp(2.75rem, 5vw, 4.75rem) 0; }
.section-heading { max-width: 760px; margin-bottom: 1.45rem; }
.section-heading p:not(.eyebrow) {
  max-width: 66ch;
  margin: .85rem 0 0;
  color: var(--muted);
  font-size: 1.05rem;
}
.section-heading.compact { max-width: 680px; }
.scroll-gallery-section {
  min-height: auto;
  padding-top: clamp(1.5rem, 3vw, 2.5rem);
  padding-bottom: clamp(1rem, 2vw, 1.5rem);
  max-width: 100%;
}
.scroll-gallery-sticky {
  position: relative;
  top: auto;
  display: grid;
  align-content: center;
  gap: clamp(1rem, 2.4vw, 1.6rem);
  min-height: auto;
}
.scroll-gallery-frame {
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  max-width: 100%;
  min-height: clamp(260px, 30vw, 400px);
  padding: clamp(.85rem, 2vw, 1.35rem);
  border: 1px solid rgba(0, 75, 135, .1);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 16% 20%, rgba(0,206,209,.2), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.9), rgba(246,251,255,.94));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.72), 0 22px 60px rgba(0,75,135,.1);
  outline: none;
  display: grid;
  align-items: center;
  contain: inline-size;
  overscroll-behavior-inline: contain;
}
.scroll-gallery-frame::-webkit-scrollbar { height: 0; }
.scroll-gallery-track {
  --gallery-progress: 0;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: clamp(1rem, 2vw, 1.4rem);
  width: 100%;
  max-width: 100%;
  min-width: 100%;
  min-height: inherit;
  transform: none;
  transition: none;
  will-change: auto;
}
.scroll-gallery-card {
  position: relative;
  flex: 0 0 min(clamp(270px, 40vw, 500px), 100%);
  max-width: 100%;
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: var(--radius);
  background: white;
  box-shadow: 0 24px 56px rgba(0, 31, 63, .16);
  transform: none;
  transition: transform .2s ease, box-shadow .2s ease;
}
.scroll-gallery-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.scroll-gallery-card figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 2.8rem 1rem 1rem;
  background: linear-gradient(0deg, rgba(0,31,63,.86), rgba(0,31,63,0));
  color: white;
  font-weight: 800;
  text-shadow: 0 2px 10px rgba(0,0,0,.35);
}
.scroll-gallery-section + .section {
  padding-top: clamp(1.1rem, 2vw, 1.8rem);
}
.teaser-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.step-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.step-grid article {
  padding: 1.2rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255,255,255,.86);
  box-shadow: 0 14px 38px rgba(0,75,135,.08);
  transition: transform .25s ease, box-shadow .25s ease;
}
.step-grid article:hover { transform: translateY(-5px); box-shadow: 0 20px 50px rgba(0,75,135,.12); }
.step-grid article > strong {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin-bottom: .8rem;
  border-radius: 999px;
  background: var(--primary);
  color: white;
}
.step-grid p { color: var(--muted); }
.card-label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 24px;
  padding: .22rem .55rem;
  border-radius: 999px;
  background: rgba(0, 206, 209, .12);
  color: var(--primary);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
}
.service-grid, .advantage-grid, .area-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.service-card, .advantage-grid article, .area-grid article, .testimonial-track article, .summary-card, fieldset, .faq-list details, .benefit-grid article, .referral-form, .success-panel, .metric-grid article, .chart-card, .table-card, .calendar-list {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 14px 38px rgba(0, 75, 135, .08);
}
.service-card {
  display: grid;
  grid-template-rows: auto auto auto 1fr auto;
  gap: .9rem;
  padding: 1.2rem;
  min-height: 260px;
  cursor: pointer;
  transform: translateZ(0);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.service-card:hover {
  transform: translateY(-6px);
  border-color: rgba(0,206,209,.48);
  box-shadow: 0 22px 52px rgba(0,75,135,.14);
}
.service-card h3 { color: var(--primary-dark); }
.service-card.selected { outline: 3px solid rgba(0, 206, 209, .35); border-color: var(--aqua); }
.service-card.selected .mini-cta { background: var(--primary); color: white; }
.service-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 16px;
  color: var(--primary);
  background: linear-gradient(135deg, rgba(0, 206, 209, .14), rgba(14,159,110,.14));
  transition: transform .25s ease, background .25s ease;
}
.service-card:hover .service-icon { transform: rotate(-3deg) scale(1.06); background: linear-gradient(135deg, rgba(0, 206, 209, .22), rgba(14,159,110,.2)); }
.service-icon svg { width: 28px; height: 28px; }
.service-card p { margin: 0; color: var(--muted); }
.service-card dl { display: grid; grid-template-columns: auto 1fr; gap: .3rem .75rem; margin: auto 0 0; }
.service-card dt { color: var(--muted); font-size: .8rem; font-weight: 700; }
.service-card dd { margin: 0; font-weight: 800; text-align: right; }
.mini-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: end;
  min-height: 42px;
  margin-top: .2rem;
  padding: .6rem .8rem;
  border-radius: 999px;
  background: rgba(0,75,135,.08);
  color: var(--primary);
  font-weight: 900;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.mini-cta:hover {
  background: var(--primary);
  color: white;
  transform: translateY(-1px);
}
.official-pricing-section {
  padding-top: clamp(3rem, 6vw, 5rem);
}
.pricing-category-line {
  color: var(--primary) !important;
  font-weight: 900;
}
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.pricing-card {
  display: grid;
  gap: .85rem;
  align-content: start;
  min-height: 250px;
  padding: 1.25rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 14px 38px rgba(0, 75, 135, .08);
}
.pricing-card h3 {
  margin: 0;
  color: var(--primary);
  font-size: clamp(1.05rem, 2vw, 1.25rem);
}
.pricing-card p {
  margin: 0;
  color: var(--muted);
}
.pricing-price {
  margin-top: .45rem !important;
  color: var(--green) !important;
  font-size: 1.4rem;
  font-weight: 900;
}
.quote-card .pricing-price {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 36px;
  padding: .25rem .75rem;
  border-radius: 999px;
  background: rgba(14, 159, 110, .12);
}
.pricing-card .mini-cta {
  align-self: end;
  width: fit-content;
  min-width: 132px;
}
.pricing-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}
.pricing-benefits li {
  min-height: 54px;
  display: grid;
  place-items: center;
  padding: .8rem 1rem;
  border: 1px solid rgba(14, 159, 110, .18);
  border-radius: 999px;
  background: rgba(14, 159, 110, .08);
  color: var(--primary);
  font-weight: 900;
  text-align: center;
}
.booking-pricing-benefits {
  margin-top: 1.25rem;
}
.pricing-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  margin-top: 1rem;
  padding: 1.25rem;
  border-radius: var(--radius);
  background: linear-gradient(135deg, var(--primary), #006ea8);
  color: white;
}
.pricing-cta h3 {
  margin: 0 0 .5rem;
  color: white;
}
.pricing-cta p {
  margin: 0;
  color: rgba(255, 255, 255, .82);
}
.advantage-section {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: clamp(2.75rem, 5vw, 4.75rem);
  padding-bottom: clamp(2.75rem, 5vw, 4.75rem);
  padding-inline: max(1rem, calc((100% - 1180px) / 2));
  background: linear-gradient(135deg, var(--primary-dark), var(--primary) 58%, var(--green-dark));
  color: white;
}
.advantage-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(115deg, rgba(255,255,255,.08) 0 1px, transparent 1px 36px);
  opacity: .42;
  animation: waterSlide 18s linear infinite;
  pointer-events: none;
}
.advantage-section > * { position: relative; }
.advantage-section .eyebrow, .advantage-section p { color: #93f8ff; }
.advantage-grid article { padding: 1.2rem; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.18); box-shadow: none; transition: transform .25s ease, background .25s ease; }
.advantage-grid article:hover { transform: translateY(-5px); background: rgba(255,255,255,.13); }
.advantage-grid strong, .advantage-grid span { display: block; }
.advantage-grid span { margin-top: .45rem; color: rgba(255,255,255,.76); line-height: 1.5; }
.advantage-grid .card-label {
  margin-bottom: .75rem;
  background: rgba(255, 255, 255, .14);
  color: #c9fbff;
}

.booking-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 1.25rem; align-items: start; }
.booking-page { min-height: calc(100dvh - 76px); }
.booking-step-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 1.25rem; align-items: start; padding-top: 1rem; }
.booking-form { display: grid; gap: 1rem; }
fieldset { margin: 0; padding: 1.2rem; }
legend { padding: 0 .4rem; font-family: "Geist", sans-serif; font-weight: 800; }
.choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; }
.choice, .time-slots button {
  min-height: 48px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-soft);
  color: var(--text);
  cursor: pointer;
}
.choice strong, .choice span { min-width: 0; overflow-wrap: anywhere; }
.choice { display: grid; gap: .2rem; padding: .8rem; text-align: left; }
.choice.active, .time-slots button.active { border-color: var(--aqua); background: var(--aqua); color: #002b38; font-weight: 800; }
.time-slots button.unavailable,
.time-slots button:disabled {
  cursor: not-allowed;
  border-color: #d6e0e6;
  background: #eef4f7;
  color: #8aa0ad;
  text-decoration: line-through;
}
.field-label, .form-grid label, .referral-form label { display: grid; gap: .45rem; color: #284c63; font-weight: 700; }
select, input, textarea {
  width: 100%;
  min-height: 48px;
  padding: .8rem .9rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: white;
  color: var(--text);
}
textarea { min-height: 112px; resize: vertical; }
.hidden-field { display: none !important; }
.wide-field { grid-column: 1 / -1; }
.calendar { display: grid; gap: .8rem; }
.calendar-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.calendar-head span { color: var(--muted); font-size: .9rem; }
.calendar-controls { display: flex; gap: .5rem; }
.calendar-controls button {
  min-height: 40px;
  padding: .45rem .75rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: white;
  color: var(--primary);
  font-weight: 800;
}
.weekdays, .calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .35rem; }
.weekdays span { text-align: center; color: var(--muted); font-size: .78rem; font-weight: 800; }
.day {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 44px;
  border: 1px solid transparent;
  border-radius: var(--radius);
  background: #f9fdff;
  cursor: pointer;
  font-weight: 800;
}
.day.out { color: #9ab0bd; background: transparent; }
.day.unavailable { color: #9ab0bd; background: #eef4f7; cursor: not-allowed; }
.day.today { border-color: var(--gold); }
.day.limited::before {
  content: "Limited";
  position: absolute;
  top: 3px;
  font-size: .48rem;
  color: #8a6d00;
}
.day.available::after {
  content: "";
  position: absolute;
  bottom: 7px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--aqua);
}
.day.selected { background: var(--primary); color: white; font-weight: 800; }
.day.selected::after { background: var(--gold); }
.time-slots { display: flex; flex-wrap: wrap; gap: .55rem; }
.time-slots button { padding: .65rem 1rem; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.addon {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  min-height: 52px;
  padding: .85rem 0;
  border-bottom: 1px solid var(--line);
  font-weight: 700;
}
.addon:last-child { border-bottom: 0; }
.addon input { width: 20px; min-height: auto; accent-color: var(--aqua); }
.addon strong { margin-left: auto; color: var(--primary); white-space: nowrap; }
.form-actions {
  display: flex;
  justify-content: space-between;
  gap: .8rem;
}
.form-actions .button-primary { width: auto; }
.form-error {
  margin: 0;
  padding: .9rem 1rem;
  border: 1px solid rgba(238,0,0,.22);
  border-radius: var(--radius);
  background: rgba(238,0,0,.08);
  color: #a00000;
  font-weight: 800;
}
.summary-card { position: sticky; top: 96px; padding: 1.3rem; }
.summary-card h3 { margin-bottom: 1rem; font-size: 1.55rem; }
.summary-card dl { display: grid; gap: .75rem; margin: 0 0 1rem; }
.summary-card dl div, .total-row { display: flex; justify-content: space-between; gap: 1rem; min-width: 0; }
.summary-card dt { color: var(--muted); }
.summary-card dd { margin: 0; font-weight: 800; text-align: right; overflow-wrap: anywhere; }
.total-row { align-items: center; padding: 1rem 0; border-top: 1px solid var(--line); }
.total-row strong { color: var(--primary); font-size: 1.8rem; }

.success-panel {
  padding: clamp(2rem, 5vw, 4rem);
  margin-top: clamp(2rem, 4vw, 4rem);
  margin-bottom: clamp(2rem, 4vw, 4rem);
  text-align: center;
  animation: popIn .45s ease both;
}
.success-panel h1 {
  max-width: 720px;
  margin: 0 auto .85rem;
  text-align: center;
  line-height: 1.08;
}
.success-panel > p:not(.eyebrow) { max-width: 680px; margin-inline: auto; color: var(--muted); }
.success-panel .form-hint {
  max-width: 680px;
  margin: 0 auto;
  text-align: center;
}
.success-panel .button-row {
  justify-content: center;
  align-items: center;
}
.success-icon {
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  margin: 0 auto 1rem;
  border-radius: 999px;
  background: var(--aqua);
  color: #002b38;
  font-family: "Geist", sans-serif;
  font-weight: 900;
}
.success-summary, .code-card {
  display: grid;
  gap: .45rem;
  max-width: 620px;
  margin: 1.5rem auto;
  padding: 1.1rem;
  border-radius: var(--radius);
  background: var(--surface-soft);
  border: 1px solid var(--line);
  text-align: left;
}
.code-card { text-align: center; }
.code-card strong { color: var(--primary); font-size: 1.55rem; }
.code-card span, .code-card a { color: var(--muted); overflow-wrap: anywhere; }
@keyframes popIn {
  from { opacity: 0; transform: translateY(16px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.results-gallery-grid {
  display: grid;
  grid-template-columns: minmax(0, 608px);
  gap: 1rem;
  align-items: stretch;
  justify-content: center;
  margin: 0 auto 1.2rem;
}
.gallery-before-after,
.gallery-placeholder {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-lg);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  background: var(--surface);
}
.gallery-before-after img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.gallery-before-after figcaption,
.gallery-placeholder figcaption {
  padding: .6rem .85rem;
  color: var(--muted);
  font-weight: 800;
  font-size: .9rem;
}
.placeholder-frame {
  display: grid;
  place-items: center;
  aspect-ratio: 16 / 9;
  background:
    linear-gradient(135deg, rgba(0, 75, 135, .08), rgba(0, 206, 209, .12)),
    repeating-linear-gradient(45deg, rgba(0, 75, 135, .06) 0 10px, transparent 10px 20px);
  color: var(--primary);
  font-weight: 900;
}
.placeholder-frame span {
  padding: .5rem .8rem;
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  border: 1px solid var(--line);
}
section[aria-labelledby="gallery-title"] .area-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
section[aria-labelledby="gallery-title"] .area-grid article {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  height: 100%;
}
section[aria-labelledby="gallery-title"] .area-grid h3,
section[aria-labelledby="gallery-title"] .area-grid p {
  margin: 0;
}
section[aria-labelledby="gallery-title"] .area-grid img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  margin-top: auto;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: var(--surface-soft);
  box-shadow: 0 10px 24px rgba(0,75,135,.08);
}

.areas-layout { display: grid; grid-template-columns: 380px 1fr; gap: 1rem; align-items: stretch; }
.map-card {
  position: relative;
  min-height: 480px;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 32% 25%, #fff 0 3px, transparent 4px),
    radial-gradient(circle at 62% 40%, #fff 0 3px, transparent 4px),
    radial-gradient(circle at 38% 65%, #fff 0 3px, transparent 4px),
    linear-gradient(140deg, #00ced1, #004b87);
  box-shadow: var(--shadow);
}
.map-card::before {
  content: "";
  position: absolute;
  inset: 10%;
  border: 1px solid rgba(255,255,255,.36);
  border-radius: 50%;
}
.map-card span {
  position: absolute;
  display: inline-flex;
  padding: .45rem .65rem;
  border-radius: 999px;
  background: rgba(255,255,255,.86);
  color: var(--primary);
  font-size: .8rem;
  font-weight: 800;
}
.map-card span:nth-child(1) { left: 18%; top: 24%; }
.map-card span:nth-child(2) { right: 13%; top: 38%; }
.map-card span:nth-child(3) { left: 16%; bottom: 22%; }
.map-card span:nth-child(4) { right: 18%; bottom: 16%; }
.area-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.area-grid article { padding: 1rem; min-width: 0; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.area-grid article:hover { transform: translateY(-4px); border-color: rgba(14,159,110,.28); box-shadow: 0 20px 48px rgba(0,75,135,.1); }
.area-grid h3 { margin-bottom: .4rem; }
.area-grid p { display: inline-flex; margin: 0 0 .6rem; padding: .25rem .55rem; border-radius: 999px; background: rgba(14, 159, 110, .14); color: var(--green-dark); font-size: .78rem; font-weight: 900; }
.area-grid span { display: block; color: var(--muted); }
.area-grid a { display: inline-flex; margin-top: 1rem; color: var(--primary); font-weight: 900; }
section[aria-labelledby="gallery-title"] .area-grid p {
  display: block;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--muted);
  font-size: .95rem;
  font-weight: 400;
  line-height: 1.55;
}
section[aria-labelledby="gallery-title"] .area-grid span {
  display: inline-flex;
  align-self: flex-start;
  margin-top: .1rem;
  padding: .25rem .55rem;
  border-radius: 999px;
  background: rgba(14, 159, 110, .14);
  color: var(--green-dark);
  font-size: .78rem;
  font-weight: 900;
}
.area-callout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
  padding: 1.2rem;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, rgba(255,215,0,.22), rgba(0,206,209,.16));
  border: 1px solid rgba(0,75,135,.12);
  background-size: 160% 160%;
  animation: gradientBreathe 9s ease-in-out infinite;
}
.area-callout p { margin: .35rem 0 0; color: var(--muted); }
@keyframes gradientBreathe {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

.testimonial-section {
  width: 100%;
  padding: clamp(2.75rem, 5vw, 4.75rem) max(1rem, calc((100% - 1180px) / 2));
  background: white;
}
.testimonial-section > div:first-child {
  max-width: 760px;
  margin-bottom: 1.5rem;
}
.testimonial-track { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.testimonial-track article {
  display: flex;
  flex-direction: column;
  padding: 1.2rem;
  transition: transform .25s ease, box-shadow .25s ease;
}
.testimonial-track article:hover { transform: translateY(-5px); box-shadow: 0 22px 52px rgba(0,75,135,.12); }
.testimonial-track p {
  flex: 1;
  margin: .8rem 0 1rem;
  color: #29475b;
}
.testimonial-track strong, .testimonial-track span { display: block; }
.testimonial-track span { color: var(--muted); margin-top: .2rem; }
.stars { color: #a77f00; font-size: 1rem; letter-spacing: 0; }

.faq-list { display: grid; gap: .75rem; max-width: 880px; }
.faq-list details { padding: 1rem 1.1rem; }
.faq-list summary { cursor: pointer; font-family: "Geist", sans-serif; font-weight: 800; }
.faq-list p { margin: .75rem 0 0; color: var(--muted); }
.faq-list details[open] { border-color: rgba(0,206,209,.35); }

.social-row {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin-top: 1rem;
}
.social-row a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: .65rem .9rem;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: white;
  font-weight: 900;
}

.referral-section { padding-top: 3rem; }
.referral-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr); gap: 1rem; align-items: start; }
.benefit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.benefit-grid article { padding: 1.1rem; }
.benefit-grid strong, .benefit-grid span { display: block; }
.benefit-grid span { margin-top: .4rem; color: var(--muted); line-height: 1.5; }
.referral-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; padding: 1.2rem; }
.referral-form button { grid-column: 1 / -1; }

.referral-launcher {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 70;
  min-height: 48px;
  padding: .8rem 1rem;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 999px;
  background: var(--gold);
  color: #1d2430;
  box-shadow: 0 18px 44px rgba(0, 75, 135, .22);
  font-weight: 900;
  cursor: pointer;
}
.ai-assistant {
  position: fixed;
  right: 1rem;
  bottom: 5rem;
  z-index: 75;
  display: grid;
  justify-items: end;
  gap: .75rem;
  pointer-events: none;
}
.ai-assistant > * { pointer-events: auto; }
.ai-assistant-launcher {
  min-height: 48px;
  padding: .8rem 1rem;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 999px;
  background: var(--primary);
  color: white;
  box-shadow: 0 18px 44px rgba(0, 75, 135, .28);
  font-weight: 900;
  cursor: pointer;
}
.ai-assistant-panel {
  display: grid;
  grid-template-rows: auto minmax(180px, 1fr) auto auto;
  width: min(390px, calc(100dvw - 2rem));
  max-height: min(680px, calc(100dvh - 8rem));
  overflow: hidden;
  border: 1px solid rgba(0, 75, 135, .14);
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,.98);
  box-shadow: 0 28px 90px rgba(0, 31, 63, .28);
}
.ai-assistant-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
  background: linear-gradient(135deg, var(--primary-dark), var(--primary));
  color: white;
}
.ai-assistant-head strong,
.ai-assistant-head span { display: block; }
.ai-assistant-head span {
  margin-top: .2rem;
  color: rgba(255,255,255,.72);
  font-size: .86rem;
  line-height: 1.35;
}
.ai-assistant-close {
  min-height: 36px;
  padding: .35rem .65rem;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: white;
  font-weight: 900;
  cursor: pointer;
}
.ai-chat-log {
  display: grid;
  align-content: start;
  gap: .7rem;
  min-height: 0;
  overflow-y: auto;
  padding: 1rem;
  background: linear-gradient(180deg, #f6fbff, #fff);
}
.ai-chat-message {
  max-width: 88%;
  padding: .75rem .85rem;
  border-radius: 16px;
  line-height: 1.48;
  white-space: pre-wrap;
}
.ai-chat-message.assistant {
  justify-self: start;
  background: white;
  border: 1px solid var(--line);
  color: var(--text);
}
.ai-chat-message.user {
  justify-self: end;
  background: var(--primary);
  color: white;
}
.ai-chat-message.thinking {
  color: var(--muted);
  font-style: italic;
}
.ai-chat-action {
  display: grid;
  justify-items: start;
  gap: .4rem;
  max-width: 88%;
}
.ai-chat-action .button {
  min-height: 42px;
  padding: .55rem .85rem;
}
.ai-chat-action span {
  color: var(--muted);
  font-size: .84rem;
  font-weight: 800;
}
.ai-suggestions {
  display: flex;
  gap: .5rem;
  overflow-x: auto;
  padding: .75rem 1rem 0;
}
.ai-suggestions button {
  flex: 0 0 auto;
  min-height: 36px;
  padding: .45rem .65rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-soft);
  color: var(--primary);
  font-size: .85rem;
  font-weight: 900;
  cursor: pointer;
}
.ai-chat-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .6rem;
  padding: 1rem;
}
.ai-chat-form textarea {
  min-height: 48px;
  max-height: 130px;
}
.ai-chat-form .button {
  min-height: 48px;
  width: auto;
  padding-inline: 1rem;
}
.referral-popup {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  padding: 1rem;
}
.referral-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 31, 63, .62);
  backdrop-filter: blur(10px);
}
.referral-modal {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 1rem;
  width: min(980px, 100%);
  max-height: min(820px, calc(100dvh - 2rem));
  overflow: auto;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: var(--radius-lg);
  background:
    linear-gradient(135deg, rgba(240,248,255,.96), rgba(255,255,255,.96)),
    radial-gradient(circle at top right, rgba(0,206,209,.2), transparent 35%);
  box-shadow: 0 30px 90px rgba(0, 31, 63, .35);
}
.referral-modal-copy {
  padding: 1rem;
}
.modal-close {
  position: absolute;
  top: .8rem;
  right: .8rem;
  z-index: 2;
  min-height: 40px;
  padding: .45rem .75rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: white;
  color: var(--primary);
  font-weight: 900;
  cursor: pointer;
}
.modal-benefits {
  grid-template-columns: 1fr;
  margin-top: 1rem;
}
.modal-referral-form {
  align-self: start;
  background: rgba(255,255,255,.78);
}
.measurement-popup {
  position: fixed;
  inset: 0;
  z-index: 110;
  display: grid;
  place-items: center;
  padding: 1rem;
}
.measurement-modal {
  position: relative;
  z-index: 1;
  width: min(520px, 100%);
  padding: clamp(1rem, 3vw, 1.4rem);
  border: 1px solid rgba(255,255,255,.55);
  border-radius: var(--radius-lg);
  background:
    linear-gradient(135deg, rgba(240,248,255,.98), rgba(255,255,255,.98)),
    radial-gradient(circle at top right, rgba(0,206,209,.18), transparent 38%);
  box-shadow: 0 30px 90px rgba(0, 31, 63, .35);
}
.measurement-modal h2 {
  margin: 0 0 .5rem;
}
.measurement-modal p {
  margin-top: 0;
}
.measurement-form {
  display: grid;
  gap: .85rem;
  margin-top: 1rem;
}
.measurement-form input {
  min-height: 50px;
  width: 100%;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: .8rem .9rem;
  font: inherit;
  font-weight: 800;
}
.referral-success {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 1rem;
  padding: clamp(2rem, 4vw, 4rem);
  text-align: center;
}
.referral-success p {
  max-width: 520px;
  margin: 0;
  color: var(--muted);
}
.referral-auth-layout {
  display: grid;
  grid-template-columns: minmax(320px, .75fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  padding-top: 1rem;
}
.referral-login-card, .referral-login-info {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255,255,255,.9);
  box-shadow: 0 14px 38px rgba(0,75,135,.08);
}
.referral-login-card {
  display: grid;
  gap: 1rem;
  padding: 1.2rem;
}
.referral-login-card label {
  display: grid;
  gap: .45rem;
  color: #284c63;
  font-weight: 800;
}
.referral-login-info {
  padding: 1.2rem;
}
.form-hint {
  margin: 0;
  color: var(--muted);
  font-size: .92rem;
}
.returning-user-link {
  grid-column: 1 / -1;
  text-align: center;
}
.returning-user-link a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--primary);
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.referral-dashboard {
  display: grid;
  gap: 1rem;
  padding-top: 1rem;
}
.referral-dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(280px, .5fr);
  gap: 1rem;
}
.dashboard-code {
  justify-items: start;
  text-align: left;
  max-width: none;
  margin: 0;
}
.dashboard-code .button {
  margin-top: .8rem;
}

.admin-section {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 1rem;
  width: min(1280px, calc(100% - 2rem));
  margin: 0 auto;
  padding: clamp(2.75rem, 5vw, 4.75rem) 0;
}
.admin-section,
.admin-section *,
.admin-section *::before,
.admin-section *::after {
  animation: none !important;
  scroll-behavior: auto !important;
  transition: none !important;
}
.admin-section .button,
.admin-section .button:hover,
.admin-section .button::after,
.admin-section .button:hover::after,
.admin-section .table-card,
.admin-section .table-card:hover,
.admin-section .metric-grid article,
.admin-section .metric-grid article:hover,
.admin-section .calendar-list,
.admin-section .calendar-list:hover,
.admin-section input,
.admin-section select,
.admin-section textarea {
  transform: none !important;
}
.admin-sidebar {
  position: sticky;
  top: 96px;
  display: grid;
  gap: .45rem;
  align-self: start;
  padding: 1rem;
  border-radius: var(--radius-lg);
  background: var(--primary-dark);
  color: white;
}
.admin-sidebar strong { padding: .75rem; font-family: "Geist", sans-serif; font-size: 1.25rem; }
.admin-sidebar a { padding: .75rem; border-radius: var(--radius); color: rgba(255,255,255,.78); font-weight: 800; }
.admin-sidebar a:hover { background: rgba(255,255,255,.1); color: white; }
.admin-main, #adminContent { display: grid; gap: 1rem; min-width: 0; }
.admin-topbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, auto) auto;
  gap: .8rem;
  align-items: center;
}
.admin-topbar h2,
.table-card-head h2,
.calendar-list h2 {
  margin: 0;
}
.admin-avatar {
  display: none;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 999px;
  background: var(--gold);
  color: #1d2430;
  font-weight: 900;
}
.admin-login-panel {
  max-width: 720px;
}
.admin-token-form {
  display: grid;
  gap: .8rem;
  margin-top: 1rem;
}
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; }
.metric-grid article { padding: 1rem; }
.metric-grid span, .metric-grid strong { display: block; }
.metric-grid span { color: var(--muted); font-size: .86rem; font-weight: 800; }
.metric-grid strong { margin-top: .4rem; color: var(--primary); font-size: 1.75rem; }
.charts-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; }
.chart-card { min-height: 220px; padding: 1rem; }
.bar-chart { display: flex; align-items: end; gap: .55rem; height: 145px; padding-top: 1rem; }
.bar-chart i { flex: 1; border-radius: 999px 999px 0 0; background: linear-gradient(180deg, var(--aqua), var(--primary)); animation: growBar .8s ease both; }
@keyframes growBar { from { height: 10%; opacity: .3; } }
.line-chart {
  height: 145px;
  margin-top: 1rem;
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, transparent 12%, rgba(0,206,209,.18) 12% 28%, transparent 28% 42%, rgba(0,75,135,.2) 42% 60%, transparent 60%),
    linear-gradient(#d8e8ef 1px, transparent 1px) 0 0 / 100% 33%;
}
.donut-chart {
  display: grid;
  place-items: center;
  width: 145px;
  height: 145px;
  margin: 1rem auto 0;
  border-radius: 999px;
  background: conic-gradient(var(--primary) 0 69%, #d8e8ef 69% 100%);
}
.donut-chart span { display: grid; place-items: center; width: 82px; height: 82px; border-radius: 999px; background: white; color: var(--primary); font-weight: 900; }
.demand-list { display: grid; gap: .7rem; margin-top: 1rem; }
.demand-list span { display: flex; justify-content: space-between; padding-bottom: .55rem; border-bottom: 1px solid var(--line); color: var(--muted); }
.table-card, .calendar-list { padding: 1rem; min-width: 0; overflow: hidden; }
.table-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .8rem;
}
.table-card-head .button {
  flex: 0 0 auto;
}
.table-scroll {
  overflow-x: auto;
  border: 1px solid rgba(216, 232, 239, .82);
  border-radius: var(--radius);
}
table { width: 100%; border-collapse: collapse; min-width: 780px; }
th, td { padding: .8rem; border-bottom: 1px solid var(--line); text-align: left; white-space: nowrap; vertical-align: top; }
tbody tr:last-child td { border-bottom: 0; }
td small {
  display: block;
  margin-top: .25rem;
  color: var(--muted);
  font-weight: 700;
}
th { color: var(--muted); font-size: .78rem; text-transform: uppercase; }
.status { display: inline-flex; padding: .3rem .55rem; border-radius: 999px; font-size: .78rem; font-weight: 900; }
.status.confirmed { background: rgba(0,206,209,.18); color: #005669; }
.status.pending { background: rgba(255,215,0,.24); color: #7b6200; }
.status.pending-approval { background: rgba(255,215,0,.24); color: #7b6200; }
.status.under-review { background: rgba(255,215,0,.24); color: #7b6200; }
.status.approved { background: rgba(0,112,243,.14); color: var(--primary); }
.status.declined { background: rgba(238,0,0,.12); color: #9e1515; }
.status.ineligible { background: rgba(238,0,0,.12); color: #9e1515; }
.status.no-reward-yet { background: rgba(102,102,102,.12); color: var(--muted); }
.status.completed { background: rgba(0,112,243,.14); color: var(--primary); }
.status.cancelled { background: rgba(238,0,0,.12); color: #9e1515; }
.admin-action-cell {
  white-space: nowrap;
}
.admin-action-cell .button + .button {
  margin-left: .5rem;
}
.admin-input,
.admin-select,
.admin-textarea {
  width: 100%;
  min-width: 130px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: white;
  color: var(--text);
  font: inherit;
  font-weight: 700;
}
.admin-input,
.admin-select {
  min-height: 42px;
  padding: .55rem .7rem;
}
.admin-input.compact {
  min-width: 92px;
}
.admin-textarea {
  min-width: 280px;
  min-height: 86px;
  padding: .65rem .75rem;
  resize: vertical;
  white-space: normal;
}
.admin-check {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-weight: 900;
  color: var(--primary-dark);
}
.button-small {
  min-height: 40px;
  padding: .55rem .8rem;
  font-size: .85rem;
}
.admin-services-table {
  min-width: 1080px;
}
.admin-performance span {
  align-items: start;
  gap: .4rem;
}
.admin-performance em {
  color: var(--muted);
  font-style: normal;
  font-weight: 800;
}
.admin-bottom { display: grid; grid-template-columns: 1fr; gap: 1rem; }
.calendar-list p { display: grid; gap: .2rem; margin: 0; padding: .85rem 0; border-bottom: 1px solid var(--line); }
.calendar-list span { color: var(--muted); }
.admin-bottom .calendar-list {
  order: -1;
}
.admin-performance {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.admin-performance span {
  display: grid;
  justify-content: stretch;
  padding: .8rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-soft);
}
.cta-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.35rem;
  width: min(1180px, calc(100% - 2rem));
  margin: 0 auto 2.75rem;
  padding: clamp(1.35rem, 3vw, 2.35rem);
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, var(--primary-dark), var(--primary));
  color: white;
  box-shadow: var(--shadow);
}
.cta-section .eyebrow { color: var(--aqua); }
.cta-section h2 { max-width: 12ch; }
.cta-section p { max-width: 55ch; color: rgba(255,255,255,.76); }
.contact-mini-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
  margin-top: 1rem;
}
.contact-mini-grid span {
  display: grid;
  gap: .25rem;
  padding: .75rem;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--radius);
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.82);
  overflow-wrap: anywhere;
}
.contact-mini-grid strong {
  color: white;
  font-size: .76rem;
  text-transform: uppercase;
}
.site-footer {
  display: grid;
  gap: 1rem;
  padding: 3rem clamp(1rem, 4vw, 3rem);
  background: #00192e;
  color: white;
}
.site-footer p { max-width: 760px; margin: 0; color: rgba(255,255,255,.72); }
.footer-brand .brand small { color: rgba(255,255,255,.64); }
.copyright { font-size: .88rem; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
  .scroll-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .scroll-gallery-section { min-height: auto; }
  .scroll-gallery-sticky { position: relative; top: auto; min-height: auto; }
  .scroll-gallery-frame { display: block; min-height: 0; overflow-x: auto; }
  .scroll-gallery-track {
    display: flex;
    gap: 1rem;
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    min-height: 0;
    transform: none !important;
    transition: none !important;
    will-change: auto;
  }
  .scroll-gallery-card {
    position: relative;
    flex: 0 0 min(280px, 76vw);
    aspect-ratio: 4 / 5;
    transform: none !important;
    opacity: 1 !important;
    filter: none !important;
  }
}

@media (max-width: 980px) {
  .desktop-nav { display: none; }
  .menu-toggle { display: grid; }
  .booking-layout, .booking-step-layout, .areas-layout, .referral-layout, .referral-modal, .referral-auth-layout, .referral-dashboard-grid, .admin-section, .admin-bottom, .reference-panel { grid-template-columns: 1fr; }
  .pricing-cta { grid-template-columns: 1fr; }
  .results-gallery-grid { grid-template-columns: minmax(0, 608px); }
  .gallery-before-after { justify-self: center; width: 100%; }
  section[aria-labelledby="gallery-title"] .area-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .button-row .button, .cta-actions .button { flex: 1 1 190px; }
  .service-grid, .teaser-grid, .advantage-grid, .testimonial-track, .metric-grid, .charts-grid, .step-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .social-connect-section { grid-template-columns: 1fr; }
  .social-connect-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .summary-card { position: static; }
  .map-card { min-height: 320px; }
  .admin-sidebar { position: static; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .admin-topbar { grid-template-columns: minmax(0, 1fr) auto; }
  .admin-performance { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-avatar { display: none; }
  .referral-modal-copy { padding-right: 3rem; }
}

@media (max-width: 767px) {
  .booking-layout,
  .booking-step-layout,
  .areas-layout,
  .referral-layout,
  .referral-modal,
  .referral-auth-layout,
  .referral-dashboard-grid,
  .admin-section,
  .admin-bottom,
  .reference-panel,
  .service-grid,
  .teaser-grid,
  .advantage-grid,
  .testimonial-track,
  .metric-grid,
  .charts-grid,
  .step-grid,
  .pricing-grid,
  .pricing-benefits,
  .contact-mini-grid {
    grid-template-columns: 1fr;
  }
  .section,
  .page-hero,
  .trust-strip,
  .cta-section {
    max-width: 100%;
  }
}

@media (max-width: 680px) {
  html { scroll-padding-top: 74px; }
  body { font-size: 16.5px; }
  main,
  .site-header,
  .hero,
  .trust-strip,
  .section,
  .testimonial-section,
  .cta-section,
  .site-footer {
    max-width: 100%;
    overflow-x: hidden;
  }
  main,
  section,
  article,
  aside,
  header,
  footer,
  form,
  fieldset,
  .service-card,
  .summary-card,
  .pricing-card,
  .area-callout,
  .testimonial-track article,
  .advantage-grid article,
  .step-grid article {
    min-width: 0;
  }
  h1,
  h2,
  h3,
  p,
  a,
  button,
  span,
  strong,
  dd,
  dt,
  li {
    overflow-wrap: anywhere;
  }
  img,
  video,
  canvas,
  input,
  select,
  textarea,
  .button,
  .mini-cta,
  .hero-glass-button {
    max-width: 100%;
  }
  .site-header { min-height: 66px; padding: .65rem .75rem; gap: .6rem; }
  .site-header .brand > span:last-child, .brand small, .phone-link, .header-book, .icon-button { display: none; }
  .brand-mark.logo-mark { width: 50px; height: 50px; }
  .mobile-menu {
    left: .75rem;
    right: .75rem;
    width: auto;
    top: calc(100% + .35rem);
    border-radius: 18px;
  }
  .mobile-menu a, .mobile-menu .nav-button { min-height: 48px; }
  .hero-glass-actions {
    left: 50%;
    right: auto;
    bottom: clamp(1rem, 6vw, 1.65rem);
    gap: .55rem;
    width: calc(100% - 1.7rem);
    max-width: none;
    transform: translateX(-50%);
  }
  .hero-glass-button {
    flex: 1 1 136px;
    min-height: 44px;
    padding: .72rem .85rem;
    font-size: .9rem;
  }
  h1 { max-width: 12ch; font-size: clamp(2.18rem, 11vw, 3.45rem); line-height: 1; }
  h2 { font-size: clamp(1.85rem, 9vw, 2.2rem); line-height: 1.08; }
  h3 { font-size: 1.12rem; line-height: 1.22; }
  p { line-height: 1.58; }
  p,
  li,
  summary,
  label,
  input,
  select,
  textarea,
  .button,
  .mini-cta {
    font-size: 1.03rem;
  }
  .page-hero { width: calc(100% - 1.25rem); max-width: 1180px; padding: 3rem 0 1.35rem; }
  .section { width: calc(100% - 1rem); max-width: 1180px; padding: 1.45rem 0; }
  .section-heading { margin-bottom: .9rem; }
  .section-heading p:not(.eyebrow) { font-size: 1.04rem; }
  .page-hero p:not(.eyebrow),
  .section-heading p:not(.eyebrow),
  .service-card p:not(.pricing-price),
  .pricing-card > p,
  .advantage-grid article p,
  .area-grid article p,
  .landing-area-grid article p,
  .step-grid article p,
  .social-connect-card p,
  .area-callout p,
  .cta-section p,
  .testimonial-track article p,
  .faq-list details p,
  .calendar-list p,
  .table-card p,
  .benefit-grid span {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .page-hero p:not(.eyebrow),
  .section-heading p:not(.eyebrow),
  .service-card p:not(.pricing-price),
  .pricing-card > p,
  .advantage-grid article p,
  .area-grid article p,
  .landing-area-grid article p,
  .step-grid article p,
  .social-connect-card p,
  .area-callout p,
  .cta-section p,
  .benefit-grid span {
    -webkit-line-clamp: 2;
  }
  .testimonial-track article p,
  .faq-list details p,
  .calendar-list p,
  .table-card p {
    -webkit-line-clamp: 3;
  }
  .scroll-gallery-section {
    min-height: auto;
    padding-top: 1.4rem;
    padding-bottom: 1.35rem;
  }
  .scroll-gallery-sticky {
    position: relative;
    top: auto;
    min-height: auto;
    gap: .7rem;
  }
  .scroll-gallery-sticky .section-heading p:not(.eyebrow) { display: none; }
  .scroll-gallery-frame {
    display: block;
    max-width: 100%;
    min-height: 0;
    overflow-x: auto;
    overflow-y: hidden;
    padding: .65rem .65rem .9rem;
    border-radius: 18px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .scroll-gallery-frame::-webkit-scrollbar { height: 0; }
  .scroll-gallery-track {
    gap: .85rem;
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    min-height: 0;
    transform: none !important;
    transition: none;
  }
  .scroll-gallery-card {
    flex: 0 0 min(76vw, 304px);
    max-width: calc(100% - 1.3rem);
    aspect-ratio: 4 / 3;
    border-radius: 8px;
    scroll-snap-align: start;
    transform: none !important;
  }
  .scroll-gallery-card figcaption {
    padding: 2.3rem .85rem .8rem;
    font-size: .9rem;
  }
  .trust-strip { width: calc(100% - 1rem); max-width: 1180px; margin-top: .75rem; justify-content: flex-start; gap: .45rem; }
  .trust-strip span {
    max-width: 100%;
    padding: .5rem .62rem;
    font-size: .76rem;
    white-space: normal;
  }
  .reference-panel { width: min(100% - 1.25rem, 1180px); margin-top: 1rem; padding: 1rem; border-radius: 18px; }
  .reference-panel img { max-height: 138px; padding: .75rem; }
  .service-grid, .teaser-grid, .advantage-grid, .testimonial-track, .area-grid, .choice-grid, .form-grid, .benefit-grid, .referral-form, .metric-grid, .charts-grid, .admin-topbar, .step-grid, .social-connect-grid { grid-template-columns: 1fr; }
  .social-connect-section {
    padding-top: 1.25rem;
    padding-bottom: 1rem;
  }
  .social-connect-card {
    min-height: 72px;
    padding: .78rem;
  }
  .service-grid,
  .teaser-grid,
  .advantage-grid,
  .testimonial-track,
  .area-grid,
  .step-grid,
  .pricing-grid,
  .pricing-benefits,
  .results-gallery-grid {
    width: 100%;
    max-width: 100%;
  }
  .pricing-grid, .pricing-benefits { grid-template-columns: 1fr; }
  .pricing-card { min-height: auto; padding: .95rem; gap: .6rem; }
  .pricing-card h3 { font-size: 1.12rem; }
  .pricing-price { font-size: 1.05rem; }
  .pricing-card .mini-cta, .pricing-cta .button { width: 100%; }
  .pricing-card .mini-cta { min-width: 0; }
  .pricing-benefits li { border-radius: var(--radius); }
  .service-card { min-height: auto; padding: .9rem; gap: .58rem; border-radius: 10px; }
  .service-card h3 { font-size: 1.12rem; }
  .service-card p { margin-block: 0; }
  .card-label { font-size: .72rem; }
  .service-card p:not(.pricing-price) {
    -webkit-line-clamp: 2;
  }
  .mini-cta { width: 100%; min-height: 44px; justify-content: center; }
  .service-card dl { margin-top: .2rem; }
  section[aria-labelledby="main-services-title"],
  section[aria-labelledby="gallery-title"] {
    display: none;
  }
  .step-grid article, .advantage-grid article, .testimonial-track article, fieldset, .summary-card, .referral-form, .referral-login-card, .referral-login-info, .metric-grid article, .chart-card, .table-card, .calendar-list { padding: .95rem; }
  .booking-step-layout { gap: 1rem; padding-top: .35rem; }
  .choice { padding: .9rem; }
  .calendar-head { align-items: flex-start; flex-direction: column; gap: .3rem; }
  .weekdays, .calendar-grid { gap: .28rem; }
  .day { min-height: 42px; border-radius: 7px; }
  .day.limited::before { content: ""; top: auto; bottom: 7px; width: 5px; height: 5px; border-radius: 50%; background: var(--gold); }
  .day.available::after { bottom: 7px; }
  .time-slots button { flex: 1 1 calc(50% - .55rem); padding-inline: .65rem; }
  .results-gallery-grid { grid-template-columns: 1fr; gap: .75rem; margin-bottom: .85rem; }
  .gallery-before-after { grid-column: auto; width: 100%; }
  section[aria-labelledby="gallery-title"] .area-grid { grid-template-columns: 1fr; }
  section[aria-labelledby="gallery-title"] .area-grid img { aspect-ratio: 16 / 10; }
  section[aria-labelledby="gallery-title"] .area-grid article { gap: .5rem; }
  .area-callout { align-items: stretch; flex-direction: column; }
  .testimonial-section {
    padding: 2.6rem max(.55rem, calc((100% - 1180px) / 2));
  }
  .testimonial-section > div:first-child { margin-bottom: 1rem; }
  .testimonial-track { gap: .75rem; }
  .testimonial-track article p { margin: .65rem 0 .85rem; }
  .testimonial-track article:nth-child(n+4) { display: none; }
  .faq-list details { padding: .9rem; }
  .faq-list details:nth-child(n+4) { display: none; }
  .cta-section {
    align-items: stretch;
    flex-direction: column;
    gap: 1rem;
    width: calc(100% - 1rem);
    max-width: 1180px;
    margin-bottom: 1.5rem;
    padding: 1.15rem;
    border-radius: 18px;
  }
  .cta-section h2 { max-width: 14ch; }
  .contact-mini-grid { grid-template-columns: 1fr; gap: .5rem; }
  .contact-mini-grid span { padding: .68rem; }
  .cta-actions, .button-row { gap: .65rem; }
  .cta-actions .button, .button-row .button, .area-callout .button { width: 100%; flex-basis: 100%; }
  .admin-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .table-card-head { align-items: stretch; flex-direction: column; }
  .table-card-head .button { width: 100%; }
  .admin-performance { grid-template-columns: 1fr; }
  .calendar-controls { width: 100%; }
  .calendar-controls button { flex: 1; }
  .form-actions { flex-direction: column; }
  .form-actions .button { width: 100%; }
  .addon { align-items: flex-start; gap: .55rem; }
  .addon strong { width: 100%; margin-left: 32px; font-size: .9rem; }
  .summary-card h3 { font-size: 1.35rem; }
  .total-row strong { font-size: 1.45rem; }
  .referral-launcher {
    left: auto;
    right: .85rem;
    bottom: max(.85rem, env(safe-area-inset-bottom));
    width: auto;
    min-width: 112px;
    min-height: 52px;
    padding: .75rem 1rem;
    border-radius: 999px;
    max-width: calc(100% - 1.7rem);
  }
  .ai-assistant {
    left: auto;
    right: .85rem;
    bottom: calc(4.5rem + env(safe-area-inset-bottom));
    justify-items: end;
    max-width: calc(100% - 1.7rem);
  }
  .ai-assistant-launcher {
    width: auto;
    min-width: 96px;
    min-height: 52px;
    padding: .75rem 1rem;
    border-radius: 999px;
  }
  .ai-assistant-panel {
    width: min(360px, calc(100% - 1.5rem));
    max-height: min(620px, calc(100dvh - 7.5rem));
  }
  .ai-chat-form { grid-template-columns: 1fr; }
  .ai-chat-form .button { width: 100%; }
  .referral-modal { padding: 3.5rem .85rem .85rem; border-radius: 18px; }
  .referral-modal,
  .referral-auth-card,
  .referral-login-card,
  .referral-login-info {
    width: 100%;
    max-width: 100%;
  }
  .referral-modal-copy { padding: 0; }
  .modal-close { top: .75rem; right: .75rem; min-height: 44px; }
  .site-footer {
    gap: .85rem;
    padding: 2rem .85rem calc(5rem + env(safe-area-inset-bottom));
  }
  .site-footer p:nth-of-type(2) { display: none; }
  .site-footer .footer-brand { align-items: flex-start; }
}

@media (max-width: 420px) {
  body { font-size: 16.75px; }
  .hero { min-height: 0; }
  .hero-image-only {
    min-height: 245px;
    object-fit: cover;
    object-position: center;
  }
  .hero-glass-actions { bottom: .8rem; }
  .hero-glass-button { flex-basis: calc(50% - .3rem); font-size: .9rem; padding-inline: .65rem; }
  .eyebrow { font-size: .74rem; }
  h1 { font-size: clamp(2.05rem, 12.5vw, 3.1rem); }
  .page-hero p:not(.eyebrow), .section-heading p:not(.eyebrow) { font-size: 1.04rem; }
  .pricing-card h3,
  .service-card h3 {
    font-size: 1.14rem;
  }
  .brand-mark.logo-mark { width: 46px; height: 46px; border-radius: 12px; }
  .menu-toggle { width: 42px; height: 42px; }
  .calendar-controls button { padding-inline: .45rem; }
  .weekdays span { font-size: .7rem; }
  .day { min-height: 38px; font-size: .9rem; }
  .time-slots button { flex-basis: 100%; }
  .admin-sidebar { grid-template-columns: 1fr; }
  th, td { padding: .7rem .6rem; }
}
