/* Variables */
:root {
  --color-text: #3f4555;
  --color-text-soft: #666b79;
  --color-bg: #fff9f7;
  --color-surface: #fffdfc;
  --color-surface-alt: #f9eeef;
  --color-primary: #a87687;
  --color-primary-deep: #805667;
  --color-accent: #d6a87c;
  --color-accent-deep: #b98459;
  --color-secondary: #99a693;
  --color-border: #ead9d8;
  --color-success-bg: #edf6ef;
  --color-success-text: #255c37;
  --color-error-bg: #fff0ef;
  --color-error-text: #8d2f28;
  --admin-form-bg: #fffdfb;
  --admin-input-bg: #fffaf8;
  --admin-input-border: #d9cedd;
  --admin-input-border-hover: #bca9c3;
  --admin-input-focus: #805667;
  --admin-input-focus-ring: rgba(128, 86, 103, 0.18);
  --admin-label: #493d4d;
  --admin-helper: #786f79;
  --admin-error: #a44f64;
  --admin-error-bg: #fff4f6;
  --admin-success: #627b67;
  --font-heading: Georgia, "Times New Roman", serif;
  --font-body: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  --space-2xs: 0.25rem;
  --space-xs: 0.5rem;
  --space-sm: 0.875rem;
  --space-md: 1.25rem;
  --space-lg: 2rem;
  --space-xl: 3rem;
  --space-2xl: 4.5rem;
  --radius-sm: 0.5rem;
  --radius-md: 1rem;
  --radius-lg: 1.5rem;
  --shadow-sm: 0 8px 24px rgba(34, 49, 63, 0.08);
  --shadow-md: 0 18px 40px rgba(34, 49, 63, 0.12);
  --max-width: 82rem;
}

/* Reset */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote {
  margin: 0;
}

body {
  min-height: 100vh;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

ul[role="list"],
ol[role="list"] {
  list-style: none;
  padding: 0;
}

/* Base Typography */
body {
  background: radial-gradient(circle at 12% 8%, rgba(168, 118, 135, 0.2), transparent 34%), radial-gradient(circle at 88% 28%, rgba(214, 168, 124, 0.16), transparent 30%), linear-gradient(150deg, #f9eff2 0%, #f4e5ea 52%, #efe0e7 100%);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.65;
}

h1,
h2,
h3 {
  color: #6e4657;
  font-family: var(--font-heading);
  font-style: italic;
  font-weight: 400;
  line-height: 1.1;
}

h1 {
  font-size: clamp(2rem, 4vw, 3.25rem);
}

h2 {
  font-size: clamp(1.55rem, 3vw, 2.3rem);
}

h3 {
  font-size: clamp(1.15rem, 2vw, 1.4rem);
}

.content-column { max-width: 52rem; }
.content-column p + p { margin-top: var(--space-md); }
.section--tinted { background: #ecd6de; }
.biography-copy p { font-size: clamp(1.06rem, 0.3vw + 1rem, 1.18rem); line-height: 1.82; }
.biography-copy .section-intro { max-width: 62rem; }
.service-list { columns: 1; gap: var(--space-lg); list-style: none; margin-top: var(--space-lg); padding: 0; }
.service-list li { break-inside: avoid; color: var(--color-primary-deep); font-size: 0.95rem; letter-spacing: 0.05em; margin-bottom: 0.8rem; }
.service-list li::before { color: var(--color-accent-deep); content: "✦"; margin-right: 0.65rem; }
.treatment-list { color:var(--color-text-soft); list-style:disc; margin:.65rem 0 .15rem 1.4rem; padding:0; }.treatment-list li { font-size:.96rem; margin:.35rem 0; }.treatment-list li::before { content:none; }
.service-option { display:grid !important; grid-template-columns:1.35rem minmax(0,1fr); }.service-option > span { color:var(--color-primary-deep); font-weight:700; }.service-option .treatment-list { display:grid; gap:.55rem; grid-column:2; grid-template-columns:repeat(auto-fit,minmax(10rem,1fr)); list-style:none; margin:.7rem 0 0; padding:0; }.service-option .treatment-list li { align-items:center; background:#fff7f5; border:1px solid #ead9d8; border-radius:.45rem; color:#684452; display:flex; font-size:.92rem; gap:.45rem; margin:0; padding:.45rem .6rem; }.service-option .treatment-list li::before { color:#a87687; content:"•"; font-size:1.1rem; line-height:1; }
.service-option .treatment-list li { background:transparent; border:0; border-bottom:1px solid #ead9d8; border-radius:0; padding:.3rem 0; }
.public-review-reply { background:#f7e9ed; border-left:3px solid #a87687; border-radius:.4rem; margin:0 0 1rem; padding:.8rem 1rem; }.public-review-reply strong { color:#805667; }.public-review-reply p { margin:.4rem 0 0; white-space:pre-wrap; }
.service-note { color:var(--color-text-soft); font-size:.9rem; margin-top:-.5rem; }
.dashboard-activity span { color:#66515b; font-size:.9rem; margin-left:auto; }
.dashboard-summary,.dashboard-last-login { color:#66515b; }.dashboard-cards { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); margin:1.5rem 0 2.5rem; }.dashboard-card { background:#fffdfc; border:1px solid #ead9d8; border-radius:.8rem; box-shadow:0 .4rem 1.2rem rgba(95,64,80,.07); color:#5f4050; padding:1.3rem; text-decoration:none; transition:transform .16s ease,box-shadow .16s ease; }.dashboard-card:hover,.dashboard-card:focus-visible { box-shadow:0 .7rem 1.5rem rgba(95,64,80,.14); transform:translateY(-2px); }.dashboard-card.is-attention { background:#f9eeef; border-color:#d6bfc4; }.dashboard-card strong { color:#805667; display:block; font-size:2rem; }.dashboard-card h2 { font-size:1.15rem; margin:.45rem 0; }.dashboard-card p { color:#66515b; min-height:3rem; }.dashboard-card span { color:#805667; font-size:.9rem; font-weight:700; }.dashboard-section { margin-top:2.5rem; }.dashboard-activity { background:#fffdfc; border:1px solid #ead9d8; border-radius:.7rem; }.dashboard-activity article { border-bottom:1px solid #ead9d8; display:flex; gap:1rem; justify-content:space-between; padding:1rem; }.dashboard-activity article:last-child { border:0; }.dashboard-activity time { color:#805667; font-size:.88rem; }.dashboard-activity>p,.dashboard-loading { background:#fffdfc; border:1px solid #ead9d8; border-radius:.7rem; padding:1rem; }
.disclaimer { color: var(--color-text-soft); font-size: 0.92rem; margin-top: var(--space-md); }
.trust-grid { display: grid; gap: var(--space-md); grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); margin-top: var(--space-xl); }
.trust-grid article { padding: 1.5rem; }
.trust-grid p { color: var(--color-text-soft); margin-top: 0.6rem; }
.credential-section { background: rgba(255, 253, 252, 0.7); border-block: 1px solid rgba(168, 118, 135, 0.14); }
.credential-section__inner { align-items: center; display: flex; flex-wrap: wrap; gap: var(--space-lg); justify-content: space-between; }
.verification-badge { background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); display: grid; min-height: 6rem; min-width: 12.5rem; padding: var(--space-sm); place-items: center; text-align: center; }
.verification-badge a { color: var(--color-primary-deep); text-decoration: underline; text-underline-offset: 0.18em; }
.footer-verification-badge { display:inline-flex; margin-left:.75rem; vertical-align:middle; }.footer-verification-badge img { height:1.65rem !important; max-width:7rem !important; object-fit:contain; width:auto !important; }.footer-verification-badge a { color:#fff7f5; font-size:.72rem; }

p,
li,
label,
input,
select,
textarea {
  font-size: clamp(1rem, 1.2vw, 1.05rem);
}

.eyebrow {
  color: var(--color-primary-deep);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.section-title {
  max-width: 36rem;
}

.section-intro {
  color: var(--color-text-soft);
  margin-top: var(--space-sm);
  max-width: 42rem;
}

/* Layout */
.skip-link {
  background: var(--color-primary-deep);
  color: #fff;
  left: var(--space-sm);
  padding: 0.75rem 1rem;
  position: absolute;
  top: -4rem;
  z-index: 1000;
}

.skip-link:focus {
  top: var(--space-sm);
}

.page-shell {
  overflow: clip;
}

.container {
  margin: 0 auto;
  max-width: var(--max-width);
  padding-inline: clamp(1rem, 3.5vw, 3.5rem);
}

.section {
  padding-block: clamp(3.5rem, 6vw, 5.5rem);
}

main > .section:first-child {
  padding-top: var(--space-xl);
}

.section--page-intro {
  padding-bottom: var(--space-xs);
}

.section--page-intro + .section {
  padding-top: var(--space-md);
}

.section--compact {
  padding: var(--space-xl) 0;
}

.grid {
  display: grid;
  gap: var(--space-lg);
}

.two-column {
  align-items: center;
}

main {
  display: block;
}

/* Announcement Bar */
.announcement-bar {
  background: #283746;
  color: #f8f4ed;
  font-size: 0.95rem;
}

.announcement-bar__inner {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  justify-content: space-between;
  padding: 0.75rem 0;
}

.announcement-bar a {
  color: #f9d88f;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

/* Header and Navigation */
.site-header {
  background: rgba(244, 229, 234, 0.96);
  border-bottom: 1px solid rgba(168, 118, 135, 0.18);
  position: sticky;
  top: 0;
  z-index: 100;
  backdrop-filter: blur(12px);
}

.site-header__inner {
  align-items: center;
  display: grid;
  gap: var(--space-md);
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  min-height: 5.5rem;
  position: relative;
}

.brand {
  align-items: center;
  display: inline-flex;
  gap: 0.9rem;
  grid-column: 2;
  min-width: 0;
}

.brand img {
  height: auto;
  mix-blend-mode: multiply;
  max-width: 14rem;
  object-fit: contain;
  width: clamp(10rem, 20vw, 14rem);
}

.brand__text {
  display: none;
}

.brand__name {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 700;
}

.brand__location {
  color: var(--color-text-soft);
  font-size: 0.92rem;
}

.nav-toggle {
  align-items: center;
  background: transparent;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  color: var(--color-text);
  cursor: pointer;
  display: none;
  grid-column: 3;
  height: 2.85rem;
  justify-self: end;
  justify-content: center;
  width: 2.85rem;
}

.nav-toggle__bars,
.nav-toggle__bars::before,
.nav-toggle__bars::after {
  background: currentColor;
  border-radius: 999px;
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  transition: transform 180ms ease, opacity 180ms ease;
  width: 1.2rem;
}

.nav-toggle__bars::before {
  transform: translateY(-0.38rem);
}

.nav-toggle__bars::after {
  transform: translateY(0.38rem);
}

.nav-toggle[aria-expanded="true"] .nav-toggle__bars {
  background: transparent;
}

.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before {
  transform: rotate(45deg);
}

.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after {
  transform: rotate(-45deg);
}

.site-nav {
  background: #f4e5ea;
  border-top: 1px solid rgba(110, 107, 150, 0.12);
  display: block;
  grid-column: 3;
  left: 0;
  padding: 0 0 var(--space-md);
  position: absolute;
  right: 0;
  top: 100%;
  box-shadow: 0 14px 24px rgba(48, 34, 42, 0.13);
}

html.js-enabled .nav-toggle {
  display: inline-flex;
}

html.js-enabled .site-nav {
  display: none;
}

html.js-enabled .site-nav.is-open {
  display: block;
}

.site-nav ul {
  display: grid;
  gap: var(--space-xs);
  list-style: none;
  padding: var(--space-md) var(--space-md) 0;
}

.site-nav a {
  border-radius: 999px;
  display: inline-flex;
  padding: 0.8rem 0.95rem;
}

.site-nav a[aria-current="page"] {
  background: rgba(110, 107, 150, 0.12);
  color: var(--color-primary-deep);
  font-weight: 700;
}

.site-nav__cta {
  background: linear-gradient(135deg, #e0b85a, #c9922d);
  box-shadow: 0 10px 24px rgba(201, 146, 45, 0.28);
  color: #1f2a36;
  letter-spacing: 0.01em;
  margin-top: var(--space-md);
  min-width: 100%;
  padding-inline: 1.25rem;
  position: relative;
}

.site-nav__cta::after {
  content: "\203A";
  font-size: 1.15em;
  line-height: 1;
  margin-left: 0.35rem;
}

.site-nav__cta:hover,
.site-nav__cta:focus-visible {
  background: linear-gradient(135deg, #d7ab46, #bb8421);
  box-shadow: 0 14px 30px rgba(187, 132, 33, 0.34);
}

/* Buttons */
.button,
button[type="submit"] {
  align-items: center;
  background: var(--color-accent);
  border: 1px solid transparent;
  border-radius: 999px;
  color: #1f2a36;
  cursor: pointer;
  display: inline-flex;
  font-weight: 700;
  gap: var(--space-xs);
  justify-content: center;
  min-height: 3rem;
  padding: 0.8rem 1.35rem;
  text-align: center;
  transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.button:hover,
button[type="submit"]:hover {
  background: var(--color-accent-deep);
  transform: translateY(-1px);
}

.button--secondary {
  background: transparent;
  border-color: var(--color-primary);
  color: var(--color-primary-deep);
}

.button--secondary:hover {
  background: rgba(110, 107, 150, 0.08);
}

.button-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  margin-top: var(--space-lg);
}

button[type="submit"] {
  line-height: 1.2;
  max-width: 100%;
  white-space: normal;
}

/* Hero */
.hero {
  padding: var(--space-lg) 0 var(--space-xl);
}

.hero__panel {
  background:
    linear-gradient(rgba(92, 58, 69, 0.56), rgba(92, 58, 69, 0.44)),
    url("../images/clinic-hero.jpg") center/cover no-repeat;
  border-radius: 2rem;
  box-shadow: var(--shadow-md);
  color: #fff9f2;
  display: grid;
  gap: var(--space-lg);
  overflow: hidden;
  padding: clamp(2rem, 5vw, 4rem);
  position: relative;
}

.hero__content {
  max-width: 38rem;
  position: relative;
  z-index: 1;
}

.hero__content p {
  color: rgba(255, 249, 242, 0.88);
  font-size: clamp(1.05rem, 1.6vw, 1.2rem);
  margin-top: var(--space-md);
  max-width: 34rem;
}

.hero__badge {
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-bottom: var(--space-md);
  padding: 0.5rem 0.9rem;
  text-transform: uppercase;
}

.hero__content h1 {
  color: #fffdf9;
  max-width: 17ch;
}

.hero__actions {
  margin-top: var(--space-lg);
}

.hero__actions .button--secondary {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.5);
  color: #fffdf9;
}

.hero__actions .button--secondary:hover {
  background: rgba(255, 255, 255, 0.18);
}

.hero__support {
  align-self: end;
  background: rgba(255, 253, 248, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.48);
  border-radius: 1.5rem;
  box-shadow: var(--shadow-sm);
  color: var(--color-text);
  max-width: 24rem;
  padding: 1.2rem;
  position: relative;
  z-index: 1;
}

.hero__support img {
    border-radius: 1rem;
    margin-bottom: 1rem;
    object-fit: cover;
    object-position: center top;
    aspect-ratio: 11 / 14;
    width: 100%;
  }

.hero__support h2 {
  font-size: clamp(1.2rem, 2vw, 1.6rem);
}

.hero__support p {
  color: var(--color-text-soft);
  font-size: 0.98rem;
  margin-top: 0.6rem;
}

/* Sections */
.surface-card,
.content-panel,
.timeline,
.placeholder-card,
.form-card,
.card,
.trust-grid article,
.verification-badge {
  background: rgba(255, 253, 248, 0.92);
  border: 1px solid rgba(219, 207, 192, 0.85);
  box-shadow: var(--shadow-sm);
}

.surface-card,
.content-panel,
.timeline,
.placeholder-card,
.form-card,
.verification-badge {
  border-radius: var(--radius-lg);
}

.card,
.trust-grid article {
  border-radius: var(--radius-md);
}

.content-panel {
  padding: clamp(1.5rem, 3vw, 2.25rem);
}

.content-panel h2 + h3 {
  margin-top: var(--space-sm);
}

.alt-surface {
  background: rgba(243, 238, 229, 0.6);
}

.check-list {
  display: grid;
  gap: var(--space-sm);
  list-style: none;
  padding: 0;
}

.check-list > li,
.feature-list > li {
  align-items: flex-start;
  display: flex;
  gap: 0.75rem;
}

.check-list > li::before,
.feature-list > li::before {
  background: rgba(210, 166, 75, 0.18);
  border: 1px solid rgba(210, 166, 75, 0.34);
  border-radius: 999px;
  color: var(--color-accent-deep);
  content: "•";
  display: inline-flex;
  flex: 0 0 1.35rem;
  font-weight: 700;
  height: 1.35rem;
  justify-content: center;
  line-height: 1;
  margin-top: 0.2rem;
}

.feature-list {
  display: grid;
  gap: var(--space-md);
  list-style: none;
  padding: 0;
}

.timeline {
  padding: clamp(1.5rem, 3vw, 2rem);
}

.timeline__items {
  display: grid;
  gap: var(--space-md);
  margin-top: var(--space-md);
}

.timeline__item {
  border-left: 3px solid rgba(110, 107, 150, 0.26);
  padding-left: var(--space-md);
}

.timeline__item strong {
  color: var(--color-primary-deep);
  display: block;
  font-family: var(--font-heading);
  font-size: 1.1rem;
}

/* Cards */
.card-grid {
  display: grid;
  gap: var(--space-lg);
  margin-top: var(--space-xl);
}

.card {
  padding: 1.5rem;
}

.card h3 {
  margin-top: var(--space-sm);
}

.card p,
.card li {
  color: var(--color-text-soft);
}

.card__icon {
  align-items: center;
  background: linear-gradient(145deg, rgba(110, 107, 150, 0.16), rgba(210, 166, 75, 0.18));
  border-radius: 1rem;
  display: inline-flex;
  height: 3rem;
  justify-content: center;
  width: 3rem;
}

.card__icon svg {
  color: var(--color-primary-deep);
  height: 1.5rem;
  width: 1.5rem;
}

.card a {
  color: var(--color-primary-deep);
  font-weight: 700;
  margin-top: var(--space-md);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.image-frame {
  background: linear-gradient(180deg, rgba(110, 107, 150, 0.18), rgba(134, 150, 127, 0.2));
  border-radius: var(--radius-lg);
  overflow: hidden;
  position: relative;
}

.image-frame img {
  aspect-ratio: 4 / 5;
  object-fit: cover;
  width: 100%;
}

.image-frame--landscape img {
  aspect-ratio: 16 / 10;
}

.logo-display {
  background: var(--color-surface);
  display: grid;
  place-items: center;
}

.logo-display img {
  aspect-ratio: 16 / 10;
  object-fit: contain;
  padding: clamp(0.75rem, 3vw, 2rem);
}

.image-frame--portrait img {
  aspect-ratio: 11 / 16;
  object-position: center top;
}

.placeholder-card {
  padding: 1.5rem;
}

.placeholder-card p,
.disclaimer,
.text-soft {
  color: var(--color-text-soft);
}

/* Forms */
.form-card {
  padding: clamp(1.5rem, 3vw, 2rem);
}

.form-grid {
  display: grid;
  gap: var(--space-md);
}

.form-grid > div:last-child {
  display: flex;
  justify-content: flex-start;
}

.form-row {
  display: grid;
  gap: var(--space-md);
}

.field {
  display: grid;
  gap: 0.45rem;
}

.field label,
.checkbox {
  font-weight: 600;
}

.field input:not([type="checkbox"]),
.field select,
.field textarea {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 0.85rem;
  color: var(--color-text);
  min-height: 3rem;
  padding: 0.85rem 1rem;
  width: 100%;
}

.field textarea {
  min-height: 9rem;
  resize: vertical;
}

.field input:not([type="checkbox"])::placeholder,
.field textarea::placeholder {
  color: #7e8791;
}

.field.is-invalid input:not([type="checkbox"]),
.field.is-invalid select,
.field.is-invalid textarea {
  background: var(--color-error-bg);
  border-color: #d26e67;
}

.field-error {
  color: var(--color-error-text);
  font-size: 0.92rem;
  min-height: 1.2rem;
}

.field-help {
  color: var(--color-text-soft);
  font-size: 0.92rem;
}

.checkbox-wrap {
  align-items: start;
  display: flex;
  gap: 0.75rem;
}

.checkbox-wrap input {
  accent-color: var(--color-primary);
  height: 1.5rem;
  flex: 0 0 auto;
  margin-top: 0.25rem;
  width: 1.5rem;
}

.form-feedback {
  border-radius: var(--radius-md);
  display: none;
  margin-bottom: var(--space-md);
  padding: 1rem 1.1rem;
}

.form-feedback.is-visible {
  display: block;
}

.form-feedback.is-success {
  background: var(--color-success-bg);
  color: var(--color-success-text);
}

.form-feedback.is-error {
  background: var(--color-error-bg);
  color: var(--color-error-text);
}

/* Footer */
.site-footer {
  background: #5f4050;
  color: #fff7f5;
  margin-top: var(--space-2xl);
  padding: var(--space-2xl) 0 var(--space-lg);
}

.footer-grid {
  display: grid;
  gap: var(--space-lg);
}

.site-footer h2,
.site-footer h3 {
  color: #fffaf3;
}

.footer-links,
.footer-meta {
  display: grid;
  gap: var(--space-sm);
}

.footer-meta {
  align-content: start;
  gap: .15rem;
}

.footer-meta h2,
.footer-meta p {
  margin: 0;
}

.footer-meta::after {
  background: #fff url("../images/hiltonhealthcarelogo.png") center / contain no-repeat;
  border-radius: .4rem;
  content: "";
  height: 6.5rem;
  margin-top: var(--space-sm);
  width: 14rem;
}

.site-footer a {
  color: #f6d78f;
}

.site-footer small,
.site-footer p {
  color: rgba(247, 241, 232, 0.82);
}

.site-footer .footer-links p:nth-of-type(2),
.site-footer .footer-links p:nth-of-type(3) {
  color: #f6d78f;
}

.copyright {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  margin-top: var(--space-lg);
  padding-top: var(--space-lg);
}

/* Utilities */
.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.text-link {
  color: var(--color-primary-deep);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.warning {
  background: rgba(210, 166, 75, 0.14);
  border-left: 4px solid var(--color-accent);
  border-radius: var(--radius-md);
  padding: 1rem 1.1rem;
}

.flow-top {
  margin-top: 1rem;
}

.placeholder-map {
  display: grid;
  min-height: 16rem;
  place-items: center;
}

.clinic-map {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

.clinic-map iframe {
  border: 0;
  display: block;
  height: clamp(18rem, 35vw, 26rem);
  width: 100%;
}

.contact-form-card {
  border: 1px solid var(--color-border);
  box-shadow: 0 1rem 2.8rem rgba(95, 64, 80, 0.1);
  max-width: 70rem;
  padding: clamp(1.75rem, 4vw, 3.5rem);
}

.contact-form-card__heading {
  border-bottom: 1px solid var(--color-border);
  margin-bottom: 1.5rem;
  padding-bottom: 1.25rem;
}

.contact-form-card__heading .eyebrow { margin-bottom: 0.45rem; }
.contact-form-card__heading h2 { margin: 0; }
.contact-form-card__heading p:last-child { color: var(--color-text-soft); margin: 0.6rem 0 0; }
.contact-form { gap: 1.75rem; }
.contact-form .form-row { gap: 1.5rem; }
.contact-form .field label { color: var(--color-primary-deep); font-weight: 700; }
.contact-form input, .contact-form textarea { background: #fffdfc; border-color: #d6bfc4; border-radius: 0.55rem; box-shadow: inset 0 1px 1px rgba(95,64,80,.04); min-height: 3.35rem; padding: 0.9rem 1rem; }
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--color-primary); box-shadow: 0 0 0 4px rgba(168,118,135,.18); outline: none; }
.contact-form textarea { min-height: 13rem; resize: vertical; }
.contact-form__submit { align-items: center; border-top: 1px solid var(--color-border); display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; padding-top: 1.25rem; }
.contact-form__submit p { color: var(--color-text-soft); font-size: 0.9rem; margin: 0; }.contact-form__submit button { border-radius: 999px; padding: 0.85rem 1.4rem; }
@media (max-width:40rem) { .contact-form__submit { align-items: stretch; flex-direction: column; }.contact-form__submit button { width: 100%; } }

[data-reveal] {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 380ms ease, transform 380ms ease;
}

[data-reveal].is-visible {
  opacity: 1;
  transform: none;
}

:focus-visible {
  outline: 3px solid var(--color-accent);
  outline-offset: 3px;
}

/* Responsive Styles */
@media (min-width: 40rem) {
  .service-list {
    columns: 2;
  }

  .form-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-grid,
  .card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 70rem) {
  html.js-enabled .nav-toggle {
    display: none;
  }

  .site-header__inner {
    gap: var(--space-lg);
  }

  .site-nav,
  html.js-enabled .site-nav {
    align-items: center;
    background: transparent;
    border-top: 0;
    display: flex !important;
    justify-self: end;
    margin-left: 0;
    padding: 0;
    position: static;
    box-shadow: none;
  }

  .site-nav ul {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    padding: 0;
    white-space: nowrap;
  }

  .site-nav a {
    font-size: 0.88rem;
    padding: 0.6rem 0.65rem;
  }

  .site-nav__cta {
    margin: 0 0 0 var(--space-md);
    min-width: auto;
    white-space: nowrap;
  }

  .hero {
    padding: var(--space-xl) 0 var(--space-2xl);
  }

  .hero__panel {
    align-items: end;
    grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.8fr);
    min-height: clamp(32rem, 42vw, 38rem);
  }

  .two-column {
    grid-template-columns: 1.15fr 0.85fr;
  }

  .two-column--balanced {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trust-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .card-grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .card-grid--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .footer-grid {
    grid-template-columns: 1.2fr 0.9fr 0.9fr 1fr;
  }
}

@media (min-width: 82rem) {
  .two-column {
    gap: clamp(2.5rem, 5vw, 5rem);
  }

  .hero__content {
    max-width: 42rem;
  }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  [data-reveal] {
    opacity: 1;
    transform: none;
  }
}

/* Review collection and moderation */
.review-page {
  background: #fff7f5;
  min-height: 100vh;
  padding: clamp(2rem, 6vw, 5rem) 1.25rem;
}

.review-card {
  background: #fffdfc;
  border: 1px solid #ead9d8;
  border-radius: 1rem;
  box-shadow: 0 1rem 3rem rgba(95, 64, 80, 0.1);
  margin: 0 auto;
  max-width: 48rem;
  padding: clamp(1.5rem, 5vw, 3.5rem);
}

.review-card h1 { margin-top: 0; }
.review-back-link { color:#805667; font-weight:700; text-decoration:none; }.review-back-link:hover,.review-back-link:focus-visible { color:#5f4050; text-decoration:underline; text-underline-offset:.2em; }
.review-eyebrow { color: #805667; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.12em; margin: 0 0 0.75rem; text-transform: uppercase; }
.review-card form { display: grid; gap: 1.15rem; margin-top: 1.5rem; }
.review-card label { display: grid; font-weight: 700; gap: 0.45rem; }
.review-card input, .review-card select, .review-card textarea { border: 1px solid #d6bfc4; border-radius: 0.35rem; font: inherit; padding: 0.7rem; width: 100%; }
.review-card textarea { resize: vertical; }
.review-card button { background: #805667; border: 0; border-radius: 0.35rem; color: #fffaf3; cursor: pointer; font: inherit; font-weight: 700; justify-self: start; padding: 0.75rem 1rem; }
.review-card button:hover, .review-card button:focus-visible { background:#5f4050; outline:2px solid #f6d78f; outline-offset:2px; }
.review-card button:disabled { cursor: wait; opacity: 0.6; }
.review-consent { align-items: start; font-size: 0.95rem; font-weight: 400 !important; grid-template-columns: 1.2rem 1fr; }
.review-consent input { margin-top: 0.25rem; }
.review-consent a { color:#805667; font-weight:700; text-decoration-color:#d6a87c; text-decoration-thickness:.12em; text-underline-offset:.16em; }
.review-consent a:hover,.review-consent a:focus-visible { color:#5f4050; }
.review-legal { color: #805667; font-size: 0.9rem; margin: 0; }
.review-feedback { margin: 0; min-height: 1.4rem; }
.review-feedback.success { color: #1d6a3b; }
.review-feedback.error { color: #a32424; }
.review-honeypot { height: 0; overflow: hidden; position: absolute; width: 0; }
.admin-header { align-items: start; display: flex; gap: 1rem; justify-content: space-between; }
.admin-controls { align-items: end; display: flex; flex-wrap: wrap; gap: 1rem; margin: 1.5rem 0; }
.admin-controls label { max-width: 13rem; }
.admin-review-list { display: grid; gap: 1rem; }
.admin-home-preview { border-bottom: 1px solid #d8dfd8; margin: 0 -0.25rem 2.5rem; padding-bottom: 2.5rem; }
.admin-preview-page { border: 1px solid #d8dfd8; border-radius: 0.5rem; margin-top: 1.5rem; overflow: hidden; }
.admin-preview-page .hero { padding: 1.5rem 0; }
.admin-preview-page .hero__panel { min-height: 20rem; }
.admin-preview-page .section { padding: 2.5rem 0; }
.admin-review-tools > h2 { margin-top: 0; }

.admin-sidebar { background:#5f4050; color:#fff7f5; display:flex; flex-direction:column; gap:1.5rem; inset:0 auto 0 0; padding:1.5rem; position:fixed; width:16rem; z-index:20; }
.admin-sidebar__brand { align-items:center; display:flex; gap:.75rem; font-weight:700; }.admin-sidebar__brand img { background:#fffaf3; border-radius:.35rem; height:2.5rem; object-fit:contain; padding:.2rem; width:2.5rem; }
.admin-sidebar ul { display:grid; gap:.35rem; list-style:none; margin:0; padding:0; }.admin-sidebar a,.admin-logout { border-radius:.35rem; color:inherit; display:block; font:inherit; padding:.7rem; text-decoration:none; width:100%; }.admin-logout { background:transparent; border:0; cursor:pointer; margin-top:auto; text-align:left; }
.admin-sidebar a:hover,.admin-sidebar a:focus-visible,.admin-sidebar a[aria-current="page"],.admin-logout:hover,.admin-logout:focus-visible { background:rgba(246,215,143,.18); color:#f6d78f; outline:2px solid #f6d78f; outline-offset:2px; }
.admin-main { background:#fff7f5; margin-left:16rem; min-height:100vh; padding:clamp(1.5rem,4vw,4rem); }.admin-main__inner { margin:0 auto; max-width:70rem; }.admin-page-header { border-bottom:1px solid #ead9d8; margin-bottom:2rem; padding-bottom:1.5rem; }.admin-quick-links { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(12rem,1fr)); }.admin-quick-links a { background:#fffdfc; border:1px solid #ead9d8; border-radius:.5rem; color:#805667; padding:1rem; text-decoration:none; }.admin-quick-links a:hover,.admin-quick-links a:focus-visible { background:#f9eeef; outline:2px solid #a87687; outline-offset:2px; }.admin-menu-button,.admin-sidebar__close { display:none; }
.admin-main button { background:#a87687; color:#fffaf3; }.admin-main button:hover,.admin-main button:focus-visible { background:#805667; outline:2px solid #f6d78f; outline-offset:2px; }

/* Shared admin form system */
.admin-page .review-card, .admin-form-card { background:var(--admin-form-bg); border:1px solid var(--color-border); box-shadow:0 .6rem 1.8rem rgba(95,64,80,.09); }
.admin-page.review-page { background:#fff7f5; }.admin-login-card { border-top:5px solid #5f4050; max-width:31rem; }.admin-page .review-eyebrow { color:#805667; }.admin-page .review-card h1 { color:#5f4050; }.admin-page .review-card > p { color:#66515b; }.admin-page .form-helper { color:#805667; }.admin-page .password-toggle { background:#f9eeef; border-color:#d6bfc4; color:#5f4050; }.admin-page .password-toggle:hover,.admin-page .password-toggle:focus-visible { background:#f6d78f; border-color:#d6a87c; color:#5f4050; }
.admin-page form, .admin-main form { display:grid; gap:1.15rem; }.admin-page .form-grid, .admin-main .form-grid, .admin-user-form, .admin-filters { align-items:end; display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(12rem,1fr)); }
.form-group { display:grid; gap:.45rem; }.form-label, .admin-page label, .admin-main label { color:var(--admin-label); display:grid; font-weight:600; gap:.45rem; }
.field-required { color:var(--admin-error); margin-left:.2rem; }.form-helper { color:var(--admin-helper); font-size:.88rem; margin:0; }.form-error { color:var(--admin-error); font-size:.88rem; margin:0; }.form-success { color:var(--admin-success); font-size:.88rem; margin:0; }
.form-control, .form-select, .form-textarea, .admin-page input, .admin-page select, .admin-page textarea, .admin-main input, .admin-main select, .admin-main textarea { background:var(--admin-input-bg); border:1px solid var(--admin-input-border); border-radius:.6rem; box-shadow:inset 0 1px 1px rgba(95,64,80,.03); color:var(--color-text); font:inherit; min-height:2.9rem; padding:.68rem .8rem; transition:border-color .16s ease, box-shadow .16s ease, background .16s ease; width:100%; }
.form-textarea, .admin-page textarea, .admin-main textarea { line-height:1.55; min-height:8rem; resize:vertical; }.form-select, .admin-page select, .admin-main select { appearance:auto; padding-right:2.4rem; }
.form-control::placeholder, .admin-page input::placeholder, .admin-main input::placeholder { color:#938992; opacity:1; }.form-control:hover, .form-select:hover, .form-textarea:hover, .admin-page input:hover, .admin-page select:hover, .admin-main input:hover, .admin-main select:hover { border-color:var(--admin-input-border-hover); }
.form-control:focus, .form-select:focus, .form-textarea:focus, .admin-page input:focus, .admin-page select:focus, .admin-page textarea:focus, .admin-main input:focus, .admin-main select:focus, .admin-main textarea:focus { border-color:var(--admin-input-focus); box-shadow:0 0 0 4px var(--admin-input-focus-ring); outline:none; }
.form-control[aria-invalid="true"], .field-error .form-control, .field-error input { background:var(--admin-error-bg); border-color:var(--admin-error); }.form-control:disabled, .form-select:disabled, .admin-page input:disabled, .admin-main input:disabled { background:#eee8e4; color:#827a7c; cursor:not-allowed; }
.input-wrapper { position:relative; }.input-icon { color:var(--admin-helper); left:.8rem; pointer-events:none; position:absolute; top:50%; transform:translateY(-50%); }.input-wrapper .form-control { padding-left:2.4rem; }.password-toggle { background:#f9eeef; border:1px solid var(--admin-input-border); border-radius:.45rem; color:var(--admin-label); min-height:2.3rem; padding:.35rem .6rem; position:absolute; right:.3rem; top:50%; transform:translateY(-50%); }
.admin-page button[type="submit"], .admin-main form button[type="submit"] { background:#805667; color:#fffaf3; min-height:2.9rem; }.admin-page button[type="submit"]:hover, .admin-main form button[type="submit"]:hover { background:#5f4050; }
@media (max-width:50rem) { .admin-sidebar { transform:translateX(-105%); transition:transform .2s ease; }.admin-sidebar.is-open { transform:translateX(0); }.admin-sidebar__close,.admin-menu-button { display:block; }.admin-menu-button { margin:1rem; }.admin-main { margin-left:0; }.admin-drawer-backdrop { background:rgba(0,0,0,.45); inset:0; position:fixed; z-index:10; } }
.admin-review { border: 1px solid #d8dfd8; border-radius: 0.5rem; display: grid; gap: 1.25rem; padding: 1rem; }
.admin-review p { margin: 0.75rem 0; white-space: pre-wrap; }
.admin-review small { color: #5e695f; }
.admin-review__reply-status { color:#684452; font-size:.9rem; font-weight:700; }
.admin-reply-dialog { background:#fffdfc; border:1px solid #d6bfc4; border-radius:.8rem; box-shadow:0 1.5rem 4rem rgba(48,34,42,.28); color:#3d3035; max-width:38rem; padding:0; width:calc(100% - 2rem); }
.admin-reply-dialog::backdrop { background:rgba(48,34,42,.5); }
.admin-reply-dialog form { display:grid; gap:1rem; padding:1.5rem; }
.admin-reply-dialog header,.admin-reply-dialog footer { align-items:center; display:flex; gap:1rem; justify-content:space-between; }
.admin-reply-dialog h2 { margin:0; }
.admin-reply-dialog header .review-eyebrow { margin:0 0 .25rem; }
.admin-reply-dialog label { color:#684452; font-weight:700; }
.admin-reply-dialog textarea { background:#fff; border:1px solid #d6bfc4; border-radius:.5rem; font:inherit; min-height:10rem; padding:.8rem; resize:vertical; width:100%; }
.admin-reply-dialog__review { background:#f9eeef; border-radius:.45rem; line-height:1.55; margin:0; padding:.7rem .85rem; white-space:pre-wrap; }
.admin-reply-dialog__close { background:transparent; border:1px solid #b898a3; border-radius:.4rem; color:#684452; padding:.45rem .65rem; }
.admin-actions { display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); }
.admin-actions button { align-self: end; border:1px solid #8f6273; border-radius:.55rem; box-shadow:0 .18rem .45rem rgba(95,64,80,.12); font-weight:700; min-height:2.75rem; padding:.55rem .8rem; transition:background .16s ease,transform .16s ease,box-shadow .16s ease; }.admin-actions button:hover { box-shadow:0 .35rem .8rem rgba(95,64,80,.2); transform:translateY(-1px); }.admin-actions button:active { transform:none; }
.admin-actions .admin-action-delete { border-color:#8e4051; background:#fff4f5; color:#7a2e40; }
.admin-actions .admin-action-delete:hover { background:#f8e2e6; }
.contact-message__heading { align-items:center; display:flex; flex-wrap:wrap; gap:.6rem; justify-content:space-between; }
.contact-message__heading span { background:#ead6dc; border-radius:999px; color:#684452; font-size:.76rem; font-weight:700; padding:.2rem .55rem; text-transform:uppercase; }
.contact-message.is-unread { border-left:4px solid #a87687; background:#fffafb; }

/* Admin-only website preview */
.admin-preview-panel { background:#fffdfc; border:1px solid #ead9d8; border-radius:.8rem; box-shadow:0 .6rem 1.8rem rgba(95,64,80,.08); overflow:hidden; }
.admin-preview-toolbar,.admin-preview-device { align-items:center; display:flex; flex-wrap:wrap; gap:.65rem; padding:1rem; }
.admin-preview-toolbar { border-bottom:1px solid #ead9d8; justify-content:space-between; }.admin-preview-pages,.admin-preview-actions { display:flex; flex-wrap:wrap; gap:.45rem; }
.admin-preview-panel button,.admin-preview-panel a { background:#f9eeef; border:1px solid #d6bfc4; border-radius:.4rem; color:#5f4050; cursor:pointer; font:inherit; padding:.55rem .7rem; text-decoration:none; }
.admin-preview-panel button:hover,.admin-preview-panel button:focus-visible,.admin-preview-panel button.is-active,.admin-preview-panel button[aria-pressed="true"] { background:#5f4050; border-color:#5f4050; color:#fffaf3; }
.admin-preview-actions a { background:#f6d78f; border-color:#d6a87c; font-weight:700; }.admin-preview-device { background:#fff7f5; color:#5f4050; font-size:.92rem; }.admin-preview-device span { font-weight:700; margin-right:.2rem; }
.admin-preview-status { color:#805667; font-size:.92rem; margin:0; padding:0 1rem 1rem; }.admin-preview-frame-wrap { background:#ead9d8; min-height:44rem; overflow:auto; padding:1rem; text-align:center; }.admin-preview-frame-wrap iframe { background:#fff; border:1px solid #c9b4bc; display:block; height:44rem; margin:0 auto; max-width:100%; transition:width .2s ease; width:100%; }
.review-hero { padding:clamp(1.25rem,3vw,2.5rem) 0 clamp(2.5rem,5vw,4.5rem); }.review-hero .hero__panel { background:linear-gradient(135deg,#765563 0%,#9b7180 52%,#b9939e 100%); box-shadow:0 1.3rem 3.6rem rgba(95,64,80,.17); min-height:0; overflow:hidden; padding:clamp(1.8rem,5vw,4.5rem); }.review-hero .hero__panel::before,.review-hero .hero__panel::after { border:1px solid rgba(255,250,243,.3); border-radius:50%; content:""; height:24rem; position:absolute; right:-10rem; top:-13rem; width:24rem; }.review-hero .hero__panel::after { height:15rem; right:4rem; top:auto; bottom:-11rem; width:15rem; }.review-hero .hero__content { max-width:52rem; }.review-hero__heading { align-items:center; display:flex; flex-wrap:wrap; gap:1rem 2rem; justify-content:space-between; }.review-hero .review-eyebrow { color:#fff0bd; margin-bottom:.45rem; }.review-hero .hero__content h1 { max-width:none; }.review-hero .button { background:#f6d78f; border-color:#f6d78f; color:#5f4050; white-space:nowrap; }.review-hero .button:hover,.review-hero .button:focus-visible { background:#fffaf3; border-color:#fffaf3; }.review-hero__stars { color:#fff0bd; font-size:1.35rem; letter-spacing:.2em; margin:1.1rem 0 .65rem; }.homepage-review-carousel { background:rgba(255,253,252,.17); border:1px solid rgba(255,250,243,.34); border-radius:1rem; font-size:1.08rem; line-height:1.7; max-width:48rem; min-height:10.5rem; padding:clamp(1.15rem,3vw,2rem); }.homepage-review-carousel blockquote { margin:0; }.homepage-review-carousel blockquote p { color:#fffaf3; font-size:clamp(1.1rem,2.2vw,1.55rem); font-style:italic; }.homepage-review-carousel footer { color:#fff0bd; font-size:.98rem; font-style:normal; font-weight:700; }.review-hero__note { color:rgba(255,249,242,.78)!important; font-size:.92rem!important; margin-top:.9rem!important; }.homepage-review-carousel > p { color:#fffaf3!important; margin:0!important; }
.review-hero__all { margin:1rem 0 0!important; }.review-hero__all a { color:#fffaf3; font-weight:700; text-decoration:underline; text-underline-offset:.22em; }
.review-hero__actions { display:flex; flex-wrap:wrap; gap:.7rem; }.review-hero .button--secondary { background:transparent; border-color:rgba(255,250,243,.7); color:#fffaf3; }.review-hero .button--secondary:hover,.review-hero .button--secondary:focus-visible { background:rgba(255,250,243,.16); border-color:#fffaf3; }
@media (max-width:40rem) { .review-hero__heading { align-items:flex-start; flex-direction:column; }.review-hero .button { width:100%; } }
.public-reviews-page { background:#fff7f5; min-height:100vh; }.public-reviews-hero { background:linear-gradient(135deg,#765563,#a77988); color:#fffaf3; padding:clamp(3rem,7vw,6rem) 0; text-align:center; }.public-reviews-hero .review-eyebrow { color:#fff0bd; }.public-reviews-hero h1 { color:#fffaf3; }.public-reviews-hero p:not(.review-eyebrow) { font-size:1.12rem; margin:1rem auto 1.5rem; max-width:38rem; }.public-reviews-hero .button { background:#f6d78f; border-color:#f6d78f; color:#5f4050; }.public-review-filters { align-items:end; background:#fffdfc; border:1px solid #ead9d8; border-radius:1rem; display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; margin:-2rem auto 2rem; max-width:48rem; padding:1.25rem; position:relative; }.public-review-filters label { color:#805667; display:grid; font-weight:700; gap:.4rem; }.public-review-filters select { border:1px solid #d6bfc4; border-radius:.5rem; font:inherit; min-height:2.8rem; padding:.5rem .7rem; }.public-review-filters button { background:#805667; border:0; border-radius:.5rem; color:#fffaf3; font:inherit; font-weight:700; min-height:2.8rem; padding:.5rem 1rem; }.public-review-list { display:grid; gap:1.1rem; grid-template-columns:repeat(auto-fit,minmax(17rem,1fr)); }.public-review-card { background:#fffdfc; border:1px solid #ead9d8; border-radius:1rem; box-shadow:0 .6rem 1.6rem rgba(95,64,80,.08); display:flex; flex-direction:column; padding:1.35rem; }.public-review-card__stars { color:#b98459; letter-spacing:.08em; }.public-review-card blockquote { color:#3f4555; font-size:1.05rem; line-height:1.65; margin:1rem 0; }.public-review-card footer { border-top:1px solid #ead9d8; color:#805667; display:flex; justify-content:space-between; margin-top:auto; padding-top:.85rem; }.public-review-card footer span { font-size:.9rem; }.public-reviews-empty { background:#fffdfc; border:1px dashed #d6bfc4; border-radius:1rem; grid-column:1/-1; padding:2rem; text-align:center; }
@media (min-width:100rem) { .admin-main:has(.admin-main__inner--wide) { padding-left:clamp(3rem,5vw,7rem); padding-right:clamp(3rem,5vw,7rem); }.admin-main__inner--wide { max-width:108rem; }.admin-main__inner--wide .admin-preview-frame-wrap { min-height:62rem; }.admin-main__inner--wide .admin-preview-frame-wrap iframe { height:62rem; } }
@media (max-width:50rem) { .admin-preview-toolbar { align-items:stretch; }.admin-preview-toolbar,.admin-preview-pages,.admin-preview-actions { display:grid; width:100%; }.admin-preview-panel button,.admin-preview-panel a { text-align:center; }.admin-preview-frame-wrap { min-height:36rem; padding:.55rem; }.admin-preview-frame-wrap iframe { height:36rem; } }

@media (min-width: 48rem) {
  .admin-review { grid-template-columns: minmax(0, 1fr) minmax(15rem, 0.7fr); }
}

/* Homepage patient-review carousel */
.homepage-review-carousel { display:grid; overflow:hidden; }
.homepage-review-carousel .homepage-review-slide { grid-area:1/1; transition:opacity 1s ease, transform 1s cubic-bezier(.22,.61,.36,1); }
.homepage-review-carousel .homepage-review-slide.is-entering { opacity:0; transform:translateX(-110%); }
.homepage-review-carousel .homepage-review-slide.is-exiting { opacity:0; transform:translateX(110%); }

@media (prefers-reduced-motion: reduce) {
  .homepage-review-carousel .homepage-review-slide { transition:none; }
}

.review-hero .hero__content h2 { color:#fffdf9; max-width:none; }

/* Homepage appointment prompts */
.appointment-cta { background:#fffaf3; border:1px solid rgba(95,64,80,.14); border-left:5px solid #9b7180; border-radius:1.25rem; box-shadow:var(--shadow-sm); padding:clamp(1rem,2vw,1.4rem); text-align:center; }
.appointment-cta .eyebrow { color:#765563; margin-bottom:.3rem; }
.appointment-cta h2 { font-size:clamp(1.35rem,2.5vw,1.7rem); margin-bottom:.2rem; }
.appointment-cta p:last-child { color:var(--color-text-soft); margin:0; }
.appointment-cta__phone { border-top:1px solid rgba(95,64,80,.16); color:#765563; display:block; font-size:clamp(1rem,2vw,1.15rem); font-weight:700; letter-spacing:.01em; margin-top:.65rem; padding-top:.6rem; }
.appointment-cta__phone a,.appointment-intro-cta a { color:#765563; text-decoration-color:rgba(118,85,99,.45); text-decoration-thickness:.12em; text-underline-offset:.16em; }
.appointment-intro-cta { align-items:baseline; border-left:4px solid #9b7180; display:flex; flex-wrap:wrap; gap:.25rem .7rem; margin-top:var(--space-lg); padding-left:1rem; }
.appointment-intro-cta strong { color:#5f4050; }
.appointment-section--first { padding-top:clamp(2rem,4vw,3.25rem); }
[data-mobile-phone-link]:not([href]) { color:inherit!important; cursor:text; text-decoration:none!important; }

/* Keep the service overview concise without crowding phone-sized layouts. */
.services-page .section { padding-block:clamp(2rem,4vw,3.5rem); }
.services-page .section--page-intro { padding-bottom:.5rem; }
.services-page .service-list { margin-top:.5rem; }
.services-page .treatment-list { gap:.2rem .8rem; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:0; }
.services-page .treatment-list li { font-size:.85rem; padding:.2rem 0; }
.contact-location-intro { margin-bottom:var(--space-lg); }
.contact-detail__body { display:grid; gap:.25rem; }
.contact-detail__body p { margin:0; }
.authorization-modal { background:transparent; border:0; max-height:90vh; max-width:min(54rem,94vw); padding:0; width:100%; }
.authorization-modal::backdrop { background:rgba(36,24,30,.68); }
.authorization-modal__content { background:#fffaf3; border-radius:1rem; box-shadow:0 1.5rem 4rem rgba(0,0,0,.3); overflow:hidden; position:relative; }
.authorization-modal__close { align-items:center; background:#5f4050; border:0; border-radius:50%; color:#fff; cursor:pointer; display:flex; font-size:1.5rem; height:2.25rem; justify-content:center; line-height:1; padding:0; position:absolute; right:.75rem; top:.75rem; width:2.25rem; z-index:1; }
.authorization-modal iframe { border:0; display:block; height:min(76vh,52rem); width:100%; }
.authorization-page { align-items:center; display:flex; justify-content:center; padding:1.25rem; }
.authorization-page .authorization-document { margin:0; width:min(48rem,100%); }
.new-patient-steps { display:grid; gap:1rem; }
.new-patient-steps article + article { border-top:1px solid rgba(95,64,80,.14); padding-top:1rem; }
.new-patient-steps h3 { margin-bottom:.35rem; }
.new-patient-steps p { margin:0; }
.intake-form-links { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:var(--space-lg); }

/* Homepage review carousel: make the review itself the focal point. */
.review-hero .hero__panel { background:#5f4050; border:1px solid rgba(255,250,243,.2); box-shadow:var(--shadow-sm); padding:clamp(1.5rem,3vw,2.5rem); }
.review-hero .hero__panel::before,.review-hero .hero__panel::after { content:none; }
.review-hero .hero__content { max-width:none; }
.review-hero .review-eyebrow { color:#fff0bd; }
.review-hero .hero__content h2 { color:#fffdf9; }
.review-hero .button { background:#f6d78f; border-color:#f6d78f; color:#5f4050; }
.review-hero .button:hover,.review-hero .button:focus-visible { background:#fffaf3; border-color:#fffaf3; }
.review-hero .button--secondary { background:transparent; border-color:#f6d78f; color:#fffaf3; }
.review-hero .button--secondary:hover,.review-hero .button--secondary:focus-visible { background:#f6d78f; border-color:#f6d78f; color:#5f4050; }
.review-hero__stars { color:#f6d78f; }
.homepage-review-carousel { background:#fffaf3; border-color:rgba(118,85,99,.22); box-shadow:var(--shadow-sm); max-width:none; min-height:8.5rem; padding:clamp(1.25rem,3vw,2rem); width:100%; }
.homepage-review-carousel blockquote p { color:#4b3941; font-size:clamp(1.2rem,2.5vw,1.75rem); line-height:1.65; max-width:60rem; }
.homepage-review-carousel footer { color:#765563; font-size:1rem; }
.homepage-review-carousel > p { color:#4b3941!important; }
