@charset "UTF-8";
/* ==========================================================================
   Angelina Dental Care — hand-built theme styles (Rose Violet)
   1. Tokens      5. Header/nav   9. Process      13. Footer/CTA
   2. Base        6. Hero        10. Doctors      14. Inner pages
   3. Buttons     7. Form        11. Reviews      15. Utilities/dock
   4. Sections    8. Services    12. FAQ          16. Responsive
   ========================================================================== */

/* 1. Tokens ---------------------------------------------------------------- */
:root {
  --v-600: #9333EA;   /* primary violet */
  --v-500: #A855F7;
  --v-700: #7E22CE;
  --mag:   #DB2777;   /* secondary magenta */
  --mag-d: #BE185D;
  --rose:  #FB7185;   /* accent */
  --plum:  #3B0A45;   /* deep sections */
  --plum-2:#2A0832;
  --ink:   #2A1030;   /* body text */
  --muted: #6B5570;
  --line:  #F0E4F7;
  --line-2:#E6D3F0;
  --tint:  #FDF4FF;   /* page tint */
  --tint-2:#FBEAFB;
  --paper: #ffffff;

  --grad: linear-gradient(135deg, #A855F7 0%, #DB2777 100%);
  --grad-soft: linear-gradient(135deg, #F5EBFF 0%, #FDE7F3 100%);
  --grad-plum: linear-gradient(150deg, #4A1257 0%, #2A0832 100%);

  --sh-sm: 0 2px 10px rgba(59, 10, 69, .06);
  --sh:    0 16px 40px rgba(59, 10, 69, .10);
  --sh-lg: 0 30px 70px rgba(59, 10, 69, .16);
  --glow:  0 12px 30px rgba(147, 51, 234, .30);

  --r: 14px;
  --r-lg: 22px;
  --r-xl: 30px;
  --container: 1200px;
  --gutter: 24px;

  --display: "Fraunces", Georgia, "Times New Roman", serif;
  --body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* 2. Base ------------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 110px; }

body.adc {
  margin: 0;
  font-family: var(--body);
  font-size: 16.5px;
  line-height: 1.7;
  color: var(--ink);
  background: var(--paper);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

img, svg { max-width: 100%; }
img { height: auto; display: block; }
a { color: var(--v-600); text-decoration: none; transition: color .18s ease; }
a:hover { color: var(--mag); }

h1, h2, h3, h4 {
  font-family: var(--display);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -.01em;
  margin: 0 0 .5em;
  color: var(--plum);
}
p { margin: 0 0 1.1em; }
ul, ol { margin: 0 0 1.1em; padding-left: 1.15em; }

.adc-icon { width: 1.25em; height: 1.25em; flex: none; }

:focus-visible { outline: 3px solid var(--v-500); outline-offset: 3px; border-radius: 6px; }

button, [type="button"], [type="submit"], [type="reset"] { white-space: normal; font-family: inherit; }
button:hover, button:focus, [type="submit"]:hover, [type="submit"]:focus { background: none; }

.adc-skip {
  position: absolute; left: -9999px; top: 0; z-index: 999;
  background: var(--plum); color: #fff; padding: 12px 20px; border-radius: 0 0 10px 0;
}
.adc-skip:focus { left: 0; color: #fff; }

.adc-container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); }
.adc-container--narrow { max-width: 820px; }

.adc-eyebrow {
  display: inline-flex; align-items: center; gap: 9px;
  font-family: var(--body); font-weight: 700; font-size: 12.5px; letter-spacing: .13em;
  text-transform: uppercase; color: var(--mag); margin: 0 0 16px;
}
.adc-eyebrow__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--grad); }

/* 3. Buttons --------------------------------------------------------------- */
.adc-btn {
  --btn-bg: var(--v-600); --btn-fg: #fff; --btn-bd: transparent;
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  font-family: var(--body); font-weight: 700; font-size: 15px; line-height: 1;
  padding: 14px 22px; border-radius: 999px; border: 1.5px solid var(--btn-bd);
  background: var(--btn-bg); color: var(--btn-fg); cursor: pointer;
  transition: transform .16s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
  white-space: nowrap;
}
.adc-btn:hover { transform: translateY(-2px); color: var(--btn-fg); }
.adc-btn__icon { width: 18px; height: 18px; }
.adc-btn--lg { padding: 17px 30px; font-size: 16px; }

.adc-btn--primary { --btn-bg: var(--v-600); box-shadow: var(--glow); }
.adc-btn--primary:hover { --btn-bg: var(--v-700); box-shadow: 0 16px 38px rgba(147,51,234,.42); }
.adc-btn--ghost { --btn-bg: transparent; --btn-fg: var(--v-600); --btn-bd: var(--line-2); }
.adc-btn--ghost:hover { --btn-bg: var(--tint); }
.adc-btn--outline { --btn-bg: #fff; --btn-fg: var(--plum); --btn-bd: var(--line-2); }
.adc-btn--outline:hover { --btn-bd: var(--v-500); --btn-fg: var(--v-700); }
.adc-btn--light { --btn-bg: #fff; --btn-fg: var(--v-700); box-shadow: var(--sh); }
.adc-btn--outline-light { --btn-bg: transparent; --btn-fg: #fff; --btn-bd: rgba(255,255,255,.5); }
.adc-btn--outline-light:hover { --btn-bg: rgba(255,255,255,.12); }
.adc-btn--dark { --btn-bg: var(--plum); --btn-fg: #fff; }
.adc-btn--wa { --btn-bg: #25D366; --btn-fg: #06331b; }
.adc-btn--wa:hover { --btn-bg: #1fb857; --btn-fg: #06331b; }

/* 4. Sections + headings --------------------------------------------------- */
.adc-section { padding: 84px 0; position: relative; }
.adc-section--tint { background: var(--tint); }

.adc-head { max-width: 680px; margin: 0 auto 46px; }
.adc-head--center { text-align: center; }
.adc-head--center .adc-eyebrow { justify-content: center; }
.adc-head--left { margin-left: 0; }
.adc-head__title { font-size: clamp(28px, 4vw, 42px); margin: 0 0 .35em; }
.adc-head__text { color: var(--muted); font-size: 17px; margin: 0; }

/* 5. Header / nav ---------------------------------------------------------- */
.adc-header { position: relative; z-index: 60; }

.adc-topbar { background: var(--grad-plum); color: #EAD9F2; font-size: 13.5px; }
.adc-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 42px; }
.adc-topbar__meta { display: flex; align-items: center; gap: 22px; }
.adc-topbar__fact { display: inline-flex; align-items: center; gap: 7px; color: #EAD9F2; }
.adc-topbar__fact:hover { color: #fff; }
.adc-topbar__fact .adc-icon { width: 15px; height: 15px; color: var(--rose); }

.adc-nav { background: rgba(255,255,255,.9); backdrop-filter: saturate(150%) blur(10px); border-bottom: 1px solid var(--line); }
.adc-nav__inner { display: flex; align-items: center; gap: 20px; min-height: 82px; }
.adc-logo { flex: none; display: block; }
.adc-logo img { height: 66px; width: auto; }

.adc-header.is-stuck .adc-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 70;
  box-shadow: var(--sh); background: rgba(255,255,255,.96);
}
.adc-header.is-stuck .adc-logo img { height: 54px; }

.adc-menu { display: flex; align-items: center; gap: 4px; list-style: none; margin: 0 auto 0 8px; padding: 0; }
.adc-menu li { position: relative; }
.adc-menu a {
  display: block; padding: 10px 14px; border-radius: 999px; white-space: nowrap;
  font-weight: 600; font-size: 15.5px; color: var(--ink);
}
.adc-menu a:hover { color: var(--v-700); background: var(--tint); }
.adc-menu .current-menu-item > a, .adc-menu .current_page_item > a { color: var(--v-700); background: var(--tint); }
.adc-menu .sub-menu {
  position: absolute; top: 100%; left: 0; min-width: 240px;
  background: #fff; border: 1px solid var(--line); border-top: 12px solid transparent;
  background-clip: padding-box; border-radius: 14px; box-shadow: var(--sh);
  padding: 8px; list-style: none; margin: 0; opacity: 0; visibility: hidden; transform: translateY(6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s; z-index: 20;
}
.adc-menu li:hover > .sub-menu,
.adc-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.adc-menu .sub-menu a { font-size: 14.5px; white-space: normal; }
/* caret on items that have a submenu */
.adc-menu .menu-item-has-children > a { display: inline-flex; align-items: center; gap: 6px; }
.adc-menu .menu-item-has-children > a::after {
  content: ""; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-1px); transition: transform .18s ease; opacity: .7;
}
.adc-menu .menu-item-has-children:hover > a::after { transform: rotate(225deg); }

.adc-nav__cta { display: flex; align-items: center; gap: 16px; flex: none; }
.adc-nav__phone { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); }
.adc-nav__phone .adc-icon { width: 34px; height: 34px; padding: 8px; border-radius: 50%; background: var(--tint); color: var(--v-600); }
.adc-nav__phone span { display: flex; flex-direction: column; line-height: 1.25; }
.adc-nav__phone-label { font-size: 11.5px; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }
.adc-nav__phone-num { font-weight: 700; font-size: 15px; }

.adc-burger {
  display: none; align-items: center; justify-content: center; margin-left: auto;
  background: var(--v-600); color: #fff; border: none; width: 48px; height: 48px;
  padding: 0; border-radius: 14px; cursor: pointer; box-shadow: var(--glow);
}
.adc-burger .adc-icon { width: 24px; height: 24px; }

/* Drawer */
.adc-scrim { position: fixed; inset: 0; background: rgba(42,8,50,.5); opacity: 0; visibility: hidden; transition: .25s ease; z-index: 80; }
.adc-scrim.is-open { opacity: 1; visibility: visible; }
.adc-drawer {
  position: fixed; top: 0; right: 0; height: 100%; width: min(360px, 88vw);
  background: #fff; z-index: 90; transform: translateX(100%); transition: transform .28s ease;
  display: flex; flex-direction: column; box-shadow: var(--sh-lg);
}
.adc-drawer.is-open { transform: none; }
.adc-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.adc-drawer__head img { height: 42px; width: auto; }
.adc-drawer__close { background: var(--tint); border: none; border-radius: 50%; width: 40px; height: 40px; display: grid; place-items: center; cursor: pointer; color: var(--plum); }
.adc-drawer__body { padding: 16px 20px 28px; overflow-y: auto; }
.adc-drawer .adc-menu { display: flex !important; flex-direction: column; align-items: stretch; gap: 2px; margin: 0 0 18px; }
.adc-drawer .adc-menu a { color: var(--ink); }
.adc-drawer .adc-menu a { padding: 13px 14px; border-radius: 12px; font-size: 16.5px; }
.adc-drawer .menu-item-has-children > a { display: flex; justify-content: space-between; align-items: center; }
.adc-drawer .menu-item-has-children > a::after { transform: rotate(45deg); opacity: .55; }
.adc-drawer .menu-item-has-children.is-open > a { color: var(--v-700); background: var(--tint); }
.adc-drawer .menu-item-has-children.is-open > a::after { transform: rotate(225deg); }
.adc-drawer .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: none; padding: 2px 0 8px 10px; margin: 0; list-style: none; display: none; }
.adc-drawer .menu-item-has-children.is-open > .sub-menu { display: block; }
.adc-drawer .sub-menu a { padding: 10px 12px; font-size: 14.5px; color: var(--muted); }
.adc-drawer .sub-menu a:hover { color: var(--v-700); }
.adc-drawer__actions { display: grid; gap: 10px; margin-bottom: 20px; }
.adc-drawer__actions .adc-btn { width: 100%; }
.adc-drawer__contact { display: grid; gap: 12px; font-size: 14.5px; color: var(--muted); }
.adc-drawer__contact a, .adc-drawer__contact span { display: inline-flex; gap: 9px; align-items: flex-start; color: var(--muted); }
.adc-drawer__contact .adc-icon { color: var(--v-600); margin-top: 2px; }

/* 6. Hero ------------------------------------------------------------------ */
.adc-hero {
  position: relative; padding: 66px 0 96px; overflow: hidden;
  background-image:
    linear-gradient(102deg, rgba(42,8,50,.90) 0%, rgba(74,18,87,.78) 34%, rgba(126,34,206,.5) 66%, rgba(219,39,119,.34) 100%),
    url(../img/photos/hero-clinic.jpg);
  background-size: cover, cover;
  background-position: center, center right;
  background-repeat: no-repeat, no-repeat;
}
/* Home hero sits on a deep photo — flip the content to light. */
.adc-hero .adc-eyebrow { color: #F9C7E6; }
.adc-hero .adc-eyebrow__dot { background: #fff; }
.adc-hero__title { color: #fff; }
.adc-hero__title em { color: #F9A8D4; }
.adc-hero__text { color: rgba(255,255,255,.92); }
.adc-hero__usps li { color: #fff; }
.adc-hero__usps .adc-icon { background: #fff; color: var(--v-700); }
.adc-hero__rating b { color: #fff; }
.adc-hero__trust-text { color: rgba(255,255,255,.82); }
.adc-hero__blob { position: absolute; border-radius: 50%; filter: blur(10px); opacity: .5; }
.adc-hero__blob--1 { width: 340px; height: 340px; background: radial-gradient(circle, rgba(219,39,119,.20), transparent 70%); top: -80px; right: -60px; }
.adc-hero__blob--2 { width: 380px; height: 380px; background: radial-gradient(circle, rgba(147,51,234,.18), transparent 70%); bottom: -140px; left: -100px; }
.adc-hero__inner { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; gap: 40px; align-items: center; }
.adc-hero__title { font-size: clamp(34px, 5vw, 58px); line-height: 1.04; margin: 0 0 20px; }
.adc-hero__title em { font-style: italic; color: #F9A8D4; display: block; }
.adc-hero__text { font-size: 18px; color: rgba(255,255,255,.92); max-width: 540px; margin: 0 0 24px; text-shadow: 0 1px 12px rgba(42,8,50,.35); }
.adc-hero__usps { list-style: none; margin: 0 0 28px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; max-width: 520px; }
.adc-hero__usps li { display: flex; align-items: center; gap: 9px; font-weight: 600; font-size: 15px; }
.adc-hero__usps .adc-icon { width: 22px; height: 22px; padding: 4px; border-radius: 50%; background: var(--v-600); color: #fff; }
.adc-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 26px; }
.adc-hero__trust { display: flex; align-items: center; gap: 14px; }
.adc-hero__rating { display: inline-flex; align-items: center; gap: 8px; }
.adc-hero__rating b { font-family: var(--display); font-size: 26px; color: #fff; }
.adc-hero__trust-text { font-size: 14px; color: rgba(255,255,255,.85); max-width: 220px; line-height: 1.4; }

.adc-stars { display: inline-flex; gap: 2px; }
.adc-star { width: 18px; height: 18px; color: #E9D5FF; }
.adc-star .adc-icon { width: 18px; height: 18px; fill: currentColor; stroke: none; }
.adc-star.is-on { color: #F59E0B; }

/* Hero art — glass info chips floating over the clinic photo background */
.adc-hero__media { position: relative; }
.adc-heroart { position: relative; min-height: 420px; }
.adc-heroart__chip {
  position: absolute; display: flex; align-items: center; gap: 11px;
  background: rgba(255,255,255,.94); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,.7); border-radius: 16px; padding: 12px 16px; box-shadow: var(--sh-lg);
  font-size: 13px; line-height: 1.25;
}
.adc-heroart__chip b { display: block; font-family: var(--body); font-weight: 700; color: var(--plum); font-size: 14.5px; }
.adc-heroart__chip span:last-child { color: var(--muted); }
.adc-heroart__chip-ico { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--grad); color: #fff; flex: none; }
.adc-heroart__chip-ico .adc-icon { width: 20px; height: 20px; }
.adc-heroart__chip--1 { top: 14%; left: 2%; }
.adc-heroart__chip--2 { top: 40%; right: 0; }
.adc-heroart__chip--3 { bottom: 10%; left: 12%; }

/* 7. Form ------------------------------------------------------------------ */
.adc-bookwrap { margin-top: -60px; position: relative; z-index: 5; }
.adc-form { background: #fff; border: 1px solid var(--line); border-radius: var(--r-xl); box-shadow: var(--sh-lg); padding: 30px; }
.adc-form--card { box-shadow: var(--sh); }
.adc-form__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 22px; }
.adc-form__title { font-size: 26px; margin: 0; }
.adc-form__usps { display: flex; flex-wrap: wrap; gap: 6px 16px; list-style: none; margin: 0; padding: 0; }
.adc-form__usps li { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--muted); }
.adc-form__usps .adc-icon { width: 16px; height: 16px; color: var(--mag); }
.adc-form__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.adc-field { display: flex; flex-direction: column; gap: 6px; }
.adc-field--full { grid-column: 1 / -1; }
.adc-field__label { font-size: 13px; font-weight: 600; color: var(--plum); }
.adc-field__wrap { display: flex; align-items: center; gap: 10px; background: var(--tint); border: 1.5px solid var(--line-2); border-radius: 12px; padding: 0 14px; transition: border-color .16s ease, background .16s ease; }
.adc-field__wrap .adc-icon { width: 18px; height: 18px; color: var(--v-600); flex: none; }
.adc-field__wrap:focus-within { border-color: var(--v-500); background: #fff; }
.adc-field__wrap input, .adc-field__wrap select, .adc-field__wrap textarea {
  flex: 1; width: 100%; border: none; background: transparent; padding: 13px 0;
  font-family: inherit; font-size: 15px; color: var(--ink); outline: none;
}
.adc-field__wrap--area { align-items: flex-start; }
.adc-field__wrap--area .adc-icon { margin-top: 14px; }
.adc-field__wrap textarea { resize: vertical; padding-top: 13px; }
.adc-field.has-error .adc-field__wrap { border-color: var(--rose); background: #fff5f6; }
.adc-field__error { color: var(--mag-d); font-size: 12.5px; font-weight: 600; }
.adc-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.adc-form__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 22px; }
.adc-form__note { margin: 0; font-size: 13.5px; color: var(--muted); display: inline-flex; align-items: center; gap: 7px; }
.adc-form__note .adc-icon { width: 16px; height: 16px; color: var(--v-600); }
.adc-form.is-busy { opacity: .75; pointer-events: none; }
.adc-form__status { margin-top: 14px; font-weight: 600; border-radius: 12px; }
.adc-form__status.is-ok { background: #ECFDF3; color: #087443; padding: 14px 16px; }
.adc-form__status.is-bad { background: #FEF2F3; color: var(--mag-d); padding: 14px 16px; }

/* 8. Stats + services ------------------------------------------------------ */
.adc-stats { padding: 42px 0; }
.adc-stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.adc-stat { text-align: center; padding: 22px 14px; border-radius: var(--r-lg); background: var(--tint); border: 1px solid var(--line); }
.adc-stat__ico { display: grid; place-items: center; width: 52px; height: 52px; margin: 0 auto 12px; border-radius: 50%; background: var(--grad); color: #fff; }
.adc-stat__ico .adc-icon { width: 24px; height: 24px; }
.adc-stat__num { display: block; font-family: var(--display); font-weight: 600; font-size: 32px; color: var(--plum); line-height: 1; }
.adc-stat__label { display: block; margin-top: 6px; color: var(--muted); font-size: 14px; font-weight: 600; }

.adc-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.adc-tile { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 26px 22px; display: flex; flex-direction: column; transition: transform .18s ease, box-shadow .2s ease, border-color .2s ease; }
.adc-tile:hover { transform: translateY(-4px); box-shadow: var(--sh); border-color: var(--line-2); }
.adc-tile.is-featured { border-color: var(--v-500); box-shadow: var(--glow); }
.adc-tile__icon { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 16px; background: var(--grad-soft); color: var(--v-600); margin-bottom: 16px; }
.adc-tile__icon .adc-icon { width: 28px; height: 28px; }
.adc-tile__title { font-size: 20px; margin: 0 0 8px; }
.adc-tile__title a { color: var(--plum); }
.adc-tile__title a:hover { color: var(--v-600); }
.adc-tile__text { color: var(--muted); font-size: 14.5px; margin: 0 0 18px; flex: 1; }
.adc-tile__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.adc-tile__price { font-weight: 700; color: var(--mag); font-size: 14px; }
.adc-tile__link { display: inline-flex; align-items: center; gap: 5px; font-weight: 700; font-size: 14px; color: var(--v-600); }
.adc-tile__link .adc-icon { width: 16px; height: 16px; transition: transform .16s ease; }
.adc-tile__link:hover .adc-icon { transform: translate(2px, -2px); }
.adc-services__foot, .adc-process__foot, .adc-doctors__foot { text-align: center; margin-top: 40px; }

/* 9. Why + process --------------------------------------------------------- */
.adc-why__grid { display: grid; grid-template-columns: .9fr 1.4fr; gap: 44px; align-items: start; }
.adc-why__title { font-size: clamp(28px, 3.6vw, 40px); }
.adc-why__text { color: var(--muted); font-size: 17px; margin-bottom: 24px; }
.adc-features { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.adc-feature { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 24px; }
.adc-section--tint .adc-feature { border-color: var(--line-2); }
.adc-feature__ico { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 14px; background: var(--grad-soft); color: var(--v-600); margin-bottom: 14px; }
.adc-feature__ico .adc-icon { width: 24px; height: 24px; }
.adc-feature__title { font-size: 18px; margin: 0 0 6px; }
.adc-feature__text { color: var(--muted); font-size: 14.5px; margin: 0; }

.adc-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; counter-reset: step; }
.adc-step { position: relative; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 30px 22px 24px; text-align: center; }
.adc-step__num { position: absolute; top: -16px; left: 50%; transform: translateX(-50%); font-family: var(--display); font-weight: 600; font-size: 15px; color: #fff; background: var(--grad); width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; box-shadow: var(--glow); }
.adc-step__ico { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: var(--tint); color: var(--v-600); margin: 8px auto 14px; }
.adc-step__ico .adc-icon { width: 28px; height: 28px; }
.adc-step__title { font-size: 18px; margin: 0 0 7px; }
.adc-step__text { color: var(--muted); font-size: 14px; margin: 0; }

/* 10. Doctors -------------------------------------------------------------- */
.adc-docs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.adc-doc { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; transition: transform .18s ease, box-shadow .2s ease; }
.adc-doc:hover { transform: translateY(-4px); box-shadow: var(--sh); }
.adc-doc__media { position: relative; aspect-ratio: 1 / 1; background: var(--grad-soft); display: grid; place-items: center; overflow: hidden; }
.adc-doc__media img { width: 100%; height: 100%; object-fit: cover; }
.adc-doc__exp { position: absolute; bottom: 12px; left: 12px; background: rgba(255,255,255,.92); color: var(--v-700); font-weight: 700; font-size: 12.5px; padding: 5px 11px; border-radius: 999px; }
.adc-doc__body { padding: 18px 20px 22px; }
.adc-doc__name { font-size: 19px; margin: 0 0 3px; }
.adc-doc__name a { color: var(--plum); }
.adc-doc__name a:hover { color: var(--v-600); }
.adc-doc__role { color: var(--mag); font-weight: 700; font-size: 14px; margin: 0 0 8px; }
.adc-doc__creds { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 13.5px; margin: 0; }
.adc-doc__creds .adc-icon { width: 16px; height: 16px; color: var(--v-500); }

.adc-avatar { display: grid; place-items: center; width: 100%; height: 100%; font-family: var(--display); font-weight: 600; font-size: 3.4rem; color: #fff; }
.adc-avatar--violet { background: linear-gradient(140deg, #A855F7, #7E22CE); }
.adc-avatar--magenta { background: linear-gradient(140deg, #E64BA0, #BE185D); }
.adc-avatar--rose { background: linear-gradient(140deg, #FB7185, #E11D48); }
.adc-avatar--plum { background: linear-gradient(140deg, #7B2C8E, #3B0A45); }

/* 11. Reviews -------------------------------------------------------------- */
.adc-reviewgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.adc-review { position: relative; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 28px 24px; }
.adc-review__quote { position: absolute; top: 20px; right: 22px; color: var(--line-2); }
.adc-review__quote .adc-icon { width: 34px; height: 34px; fill: var(--tint-2); stroke: none; }
.adc-review__body { color: var(--ink); font-size: 15px; margin: 14px 0 20px; }
.adc-review__foot { display: flex; align-items: center; gap: 12px; }
.adc-review__foot .adc-avatar { width: 46px; height: 46px; border-radius: 50%; font-size: 1.05rem; flex: none; }
.adc-review__meta { display: flex; flex-direction: column; line-height: 1.3; }
.adc-review__meta b { color: var(--plum); font-size: 15px; }
.adc-review__meta span { color: var(--muted); font-size: 13px; }
.adc-review__src { margin-left: auto; font-size: 12px; font-weight: 700; color: var(--v-600); background: var(--tint); padding: 4px 10px; border-radius: 999px; align-self: flex-start; }

/* 12. FAQ ------------------------------------------------------------------ */
.adc-faq { max-width: 820px; margin: 0 auto; display: grid; gap: 12px; }
.adc-faq__item { background: #fff; border: 1px solid var(--line-2); border-radius: var(--r); overflow: hidden; }
.adc-faq__q { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; text-align: left; background: none; border: none; padding: 20px 22px; cursor: pointer; font-family: var(--body); font-weight: 700; font-size: 16.5px; color: var(--plum); }
.adc-faq__chev { transition: transform .22s ease; color: var(--v-600); flex: none; }
.adc-faq__item.is-open .adc-faq__chev { transform: rotate(180deg); }
.adc-faq__a { max-height: 0; overflow: hidden; transition: max-height .28s ease; }
.adc-faq__item.is-open .adc-faq__a { max-height: 400px; }
.adc-faq__a p { margin: 0; padding: 0 22px 22px; color: var(--muted); font-size: 15px; }
.adc-faqsec__foot { text-align: center; margin-top: 34px; display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: center; }
.adc-faqsec__foot span { color: var(--muted); font-weight: 600; }

/* 13. CTA + footer --------------------------------------------------------- */
.adc-cta { padding: 20px 0; }
.adc-cta__inner { position: relative; overflow: hidden; background: var(--grad); border-radius: var(--r-xl); padding: 52px 48px; display: flex; align-items: center; justify-content: space-between; gap: 30px; box-shadow: var(--sh-lg); }
.adc-cta__body { position: relative; z-index: 2; max-width: 620px; }
.adc-cta__body .adc-eyebrow { color: #FBCFE8; }
.adc-cta__body .adc-eyebrow__dot { background: #fff; }
.adc-cta__body h2 { color: #fff; font-size: clamp(26px, 3.4vw, 38px); margin: 0 0 12px; }
.adc-cta__body p { color: rgba(255,255,255,.9); font-size: 17px; margin: 0 0 24px; }
.adc-cta__actions { display: flex; flex-wrap: wrap; gap: 14px; }
.adc-cta__mark { position: relative; z-index: 2; flex: none; width: 150px; height: 150px; border-radius: 50%; background: rgba(255,255,255,.14); display: grid; place-items: center; }
.adc-cta__mark img { width: 92px; height: 92px; filter: brightness(0) invert(1); opacity: .95; }

.adc-footer { background: var(--grad-plum); color: #D9C4E4; padding: 66px 0 26px; }
.adc-footer__grid { display: grid; grid-template-columns: 1.7fr 1fr 1fr 1.3fr; gap: 36px; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,.12); }
.adc-footer h4 { color: #fff; font-family: var(--body); font-weight: 700; font-size: 15px; letter-spacing: .04em; margin: 0 0 18px; }
.adc-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 11px; }
.adc-footer a { color: #D9C4E4; }
.adc-footer a:hover { color: #fff; }
/* animated link hover — a gradient dash grows in as the link nudges right */
.adc-footer__grid ul li a { position: relative; display: inline-block; transition: color .2s ease, padding-left .22s ease; }
.adc-footer__grid ul li a::before {
  content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 0; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--rose), #F0ABFC);
  transition: width .24s ease;
}
.adc-footer__grid ul li a:hover { color: #fff; padding-left: 20px; }
.adc-footer__grid ul li a:hover::before { width: 14px; }
.adc-footer__contact li a { display: inline; }
.adc-footer__logo { display: inline-block; }
.adc-footer__logo img { height: 92px; width: auto; max-width: 100%; margin-bottom: 18px; }
.adc-footer__about { font-size: 14.5px; line-height: 1.7; color: #C6ADD4; margin: 0 0 16px; }
.adc-footer__reg { display: flex; align-items: flex-start; gap: 9px; font-size: 13px; color: #B79AC6; margin: 0 0 18px; }
.adc-footer__reg .adc-icon { color: var(--rose); width: 18px; height: 18px; flex: none; margin-top: 1px; }
.adc-footer__social { display: flex; gap: 10px; }
.adc-footer__social a { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: rgba(255,255,255,.1); color: #fff; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.adc-footer__social a:hover { background: var(--grad); transform: translateY(-4px); box-shadow: 0 10px 22px rgba(219,39,119,.4); }
.adc-footer__social .adc-icon { width: 19px; height: 19px; }
.adc-footer__contact { display: grid; gap: 14px; }
.adc-footer__contact li { display: flex; gap: 11px; align-items: flex-start; font-size: 14px; }
.adc-footer__contact .adc-icon { color: var(--rose); width: 19px; height: 19px; flex: none; margin-top: 2px; }
.adc-footer__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding-top: 22px; font-size: 13.5px; color: #B79AC6; }
.adc-footer__bar ul { display: flex; gap: 20px; }

/* 15. Utilities + dock ----------------------------------------------------- */
.adc-top { position: fixed; right: 22px; bottom: 22px; z-index: 50; width: 46px; height: 46px; border-radius: 50%; border: none; background: var(--v-600); color: #fff; cursor: pointer; box-shadow: var(--glow); opacity: 0; visibility: hidden; transform: translateY(10px); transition: .22s ease; display: grid; place-items: center; }
.adc-top.is-on { opacity: 1; visibility: visible; transform: none; }
.adc-top .adc-icon { width: 22px; height: 22px; }
.adc-dock { display: none; }

/* 14. Inner pages ---------------------------------------------------------- */
.adc-phero {
  position: relative; padding: 72px 0; overflow: hidden;
  background-color: #F5E9FF;
  background-image: url(../img/photos/inner-band.jpg); /* default; pages override inline */
  background-size: cover; background-position: center right; background-repeat: no-repeat;
}
.adc-phero::before {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(100deg, rgba(45,10,53,.86) 0%, rgba(74,18,87,.66) 40%, rgba(126,34,206,.34) 74%, rgba(219,39,119,.22) 100%);
}
.adc-phero__blob { display: none; }
.adc-phero__inner { position: relative; z-index: 2; max-width: 760px; }
/* inner hero text flips to light over the photo */
.adc-phero .adc-eyebrow { color: #F9C7E6; }
.adc-phero .adc-eyebrow__dot { background: #fff; }
.adc-phero h1 { color: #fff; }
.adc-phero p { color: rgba(255,255,255,.9); }
.adc-crumbs { color: rgba(255,255,255,.75); }
.adc-crumbs a { color: #F9C7E6; }
.adc-crumbs span[aria-hidden] { color: rgba(255,255,255,.4); }
.adc-phero h1 { font-size: clamp(30px, 4.4vw, 48px); margin: 0 0 12px; color: #fff; }
.adc-phero p { font-size: 18px; color: rgba(255,255,255,.9); margin: 0; max-width: 620px; }
.adc-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 13.5px; color: rgba(255,255,255,.72); margin-bottom: 16px; }
.adc-crumbs a { color: #F9C7E6; font-weight: 600; }
.adc-crumbs a:hover { color: #fff; }
.adc-crumbs span[aria-hidden] { color: rgba(255,255,255,.4); }

.adc-prose { font-size: 16.5px; color: var(--ink); }
.adc-prose--center { max-width: 720px; margin: 0 auto 40px; text-align: center; }
.adc-prose h2 { font-size: 27px; margin: 1.4em 0 .5em; }
.adc-prose h3 { font-size: 21px; margin: 1.2em 0 .4em; }
.adc-prose ul { padding-left: 1.2em; }
.adc-prose li { margin-bottom: .4em; }
.adc-prose a { text-decoration: underline; }

.adc-single { display: grid; grid-template-columns: 1.6fr .9fr; gap: 40px; align-items: start; }
.adc-single__icon { display: inline-grid; place-items: center; width: 64px; height: 64px; border-radius: 18px; background: var(--grad-soft); color: var(--v-600); margin-bottom: 18px; }
.adc-single__icon .adc-icon { width: 32px; height: 32px; }
.adc-single__hero { margin: 0 0 26px; border-radius: var(--r-lg); overflow: hidden; }
.adc-checklist { list-style: none; margin: 0 0 1.4em; padding: 0; display: grid; gap: 10px; }
.adc-checklist li { display: flex; align-items: flex-start; gap: 10px; }
.adc-checklist .adc-icon { width: 22px; height: 22px; padding: 4px; border-radius: 50%; background: var(--v-600); color: #fff; flex: none; margin-top: 2px; }
.adc-single__aside { position: sticky; top: 100px; }
.adc-aside-card { background: #fff; border: 1px solid var(--line-2); border-radius: var(--r-lg); box-shadow: var(--sh); padding: 26px; display: grid; gap: 12px; }
.adc-aside-card h3 { margin: 0; font-size: 21px; }
.adc-aside-card p { margin: 0; color: var(--muted); font-size: 14.5px; }
.adc-aside-card .adc-btn { width: 100%; }
.adc-aside-card__price { display: flex; align-items: baseline; gap: 8px; margin: 0; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.adc-aside-card__price span { color: var(--muted); font-size: 13px; }
.adc-aside-card__price b { font-family: var(--display); font-size: 26px; color: var(--mag); }
.adc-aside-card__media { border-radius: var(--r); overflow: hidden; aspect-ratio: 1/1; background: var(--grad-soft); }
.adc-aside-card__media img { width: 100%; height: 100%; object-fit: cover; }
.adc-facts { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.adc-facts li { display: flex; justify-content: space-between; gap: 14px; padding-bottom: 10px; border-bottom: 1px dashed var(--line-2); font-size: 14px; }
.adc-facts li:last-child { border-bottom: none; padding-bottom: 0; }
.adc-facts span { color: var(--muted); }
.adc-facts b { color: var(--plum); text-align: right; }
.adc-related { margin-top: 60px; }
.adc-related__title { font-size: 26px; margin-bottom: 24px; }

.adc-about { display: grid; grid-template-columns: 1.6fr .9fr; gap: 40px; align-items: start; }
.adc-about__side { position: sticky; top: 100px; }
.adc-about__card { background: #fff; border: 1px solid var(--line-2); border-radius: var(--r-lg); box-shadow: var(--sh); padding: 28px; display: grid; gap: 16px; }
.adc-about__mark { display: grid; place-items: center; width: 76px; height: 76px; border-radius: 20px; background: var(--grad-soft); }
.adc-about__card .adc-btn { width: 100%; }
.adc-midcta { text-align: center; }
.adc-midcta h2 { font-size: clamp(24px, 3vw, 34px); }
.adc-midcta p { color: var(--muted); font-size: 17px; max-width: 640px; margin: 0 auto 24px; }

.adc-contact { display: grid; grid-template-columns: 1fr 1.1fr; gap: 44px; align-items: start; }
.adc-contact__list { list-style: none; margin: 24px 0; padding: 0; display: grid; gap: 18px; }
.adc-contact__list li { display: flex; gap: 14px; align-items: flex-start; }
.adc-contact__list b { display: block; color: var(--plum); font-size: 15px; margin-bottom: 2px; }
.adc-contact__ico { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: var(--grad-soft); color: var(--v-600); flex: none; }
.adc-contact__ico .adc-icon { width: 22px; height: 22px; }
.adc-map { margin-top: 22px; border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--line-2); }
.adc-map iframe { width: 100%; height: 260px; border: 0; display: block; }
.adc-map__link { display: inline-flex; align-items: center; gap: 7px; padding: 12px 16px; font-weight: 600; font-size: 14px; background: var(--tint); }
.adc-map__link .adc-icon { width: 16px; height: 16px; }

.adc-appt { display: grid; grid-template-columns: 1.3fr .8fr; gap: 40px; align-items: start; }
.adc-appt__reasons { list-style: none; margin: 22px 0; padding: 0; display: grid; gap: 18px; }
.adc-appt__reasons li { display: flex; gap: 14px; align-items: flex-start; }
.adc-appt__reasons b { display: block; color: var(--plum); margin-bottom: 2px; }
.adc-appt__ico { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: var(--grad-soft); color: var(--v-600); flex: none; }
.adc-appt__ico .adc-icon { width: 22px; height: 22px; }
.adc-appt__call { background: var(--tint); border: 1px solid var(--line-2); border-radius: var(--r-lg); padding: 22px; margin-top: 24px; }
.adc-appt__call p { margin: 0 0 8px; font-weight: 600; color: var(--plum); }
.adc-appt__phone { display: inline-flex; align-items: center; gap: 10px; font-family: var(--display); font-size: 24px; font-weight: 600; color: var(--v-700); }
.adc-appt__phone .adc-icon { width: 24px; height: 24px; }
.adc-appt__call span { display: block; margin-top: 4px; color: var(--muted); font-size: 13.5px; }

.adc-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.adc-post { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; transition: transform .18s ease, box-shadow .2s ease; }
.adc-post:hover { transform: translateY(-4px); box-shadow: var(--sh); }
.adc-post__media img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.adc-post__body { padding: 22px; }
.adc-post__title { font-size: 20px; margin: 0 0 6px; }
.adc-post__meta { color: var(--mag); font-size: 13px; font-weight: 600; margin: 0 0 8px; }
.adc-post__excerpt { color: var(--muted); font-size: 14.5px; margin: 0 0 14px; }
.adc-pagination { margin-top: 40px; text-align: center; }
.adc-pagination .page-numbers { display: inline-grid; place-items: center; min-width: 42px; height: 42px; padding: 0 12px; border-radius: 12px; background: var(--tint); color: var(--plum); font-weight: 700; margin: 0 4px; }
.adc-pagination .page-numbers.current { background: var(--grad); color: #fff; }
.adc-empty { text-align: center; color: var(--muted); padding: 60px 0; }

/* 16. Responsive ----------------------------------------------------------- */
@media (max-width: 1080px) {
  .adc-tiles, .adc-docs { grid-template-columns: repeat(2, 1fr); }
  .adc-reviewgrid, .adc-posts { grid-template-columns: repeat(2, 1fr); }
  .adc-steps { grid-template-columns: repeat(2, 1fr); row-gap: 34px; }
  .adc-nav__phone { display: none; }
  .adc-menu a { padding: 10px 11px; font-size: 15px; }
}

@media (max-width: 900px) {
  .adc-menu, .adc-nav__cta { display: none; }
  .adc-burger { display: inline-flex; }
  .adc-topbar__meta .adc-topbar__fact:not(:first-child) { display: none; }
  .adc-hero__inner { grid-template-columns: 1fr; gap: 30px; }
  .adc-hero__media { display: none; }
  /* mobile: centre the crop on the dental unit and lighten the wash so the
     clinic machine is clearly visible; keep text legible with a shadow. */
  .adc-hero {
    background-image:
      linear-gradient(178deg, rgba(45,10,53,.80) 0%, rgba(59,10,69,.48) 54%, rgba(102,24,120,.40) 100%),
      url(../img/photos/hero-clinic.jpg);
    background-size: cover, cover;
    background-position: center, center center;
  }
  .adc-hero__title, .adc-hero__text { text-shadow: 0 2px 16px rgba(20,4,26,.6); }
  .adc-hero__usps li { text-shadow: 0 1px 10px rgba(20,4,26,.75); }
  .adc-why__grid { grid-template-columns: 1fr; gap: 28px; }
  .adc-single, .adc-about, .adc-contact, .adc-appt { grid-template-columns: 1fr; gap: 28px; }
  .adc-single__aside, .adc-about__side { position: static; }
  .adc-appt__form { order: -1; }
  .adc-cta__inner { flex-direction: column; text-align: center; padding: 40px 28px; }
  .adc-cta__actions { justify-content: center; }
  .adc-cta__mark { display: none; }
  .adc-footer__grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .adc-footer__brand { grid-column: 1 / -1; }
  .adc-form__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
  .adc-section { padding: 56px 0; }
  .adc-logo img { height: 72px; }
  .adc-header.is-stuck .adc-logo img { height: 60px; }
  .adc-container { padding: 0 18px; }
  .adc-topbar { display: none; }
  .adc-stats__grid { grid-template-columns: 1fr 1fr; }
  .adc-tiles, .adc-docs, .adc-reviewgrid, .adc-posts, .adc-features, .adc-steps { grid-template-columns: 1fr; }
  .adc-hero__usps { grid-template-columns: 1fr; }
  .adc-hero { padding-bottom: 80px; }
  .adc-form { padding: 22px; }
  .adc-form__grid { grid-template-columns: 1fr; }
  .adc-hero__actions .adc-btn, .adc-form__foot .adc-btn { width: 100%; }
  .adc-footer__grid { grid-template-columns: 1fr; }
  .adc-heroart__chip--1 { left: 0; }
  .adc-heroart__chip--2 { right: 0; }
  .adc-top { display: none; }
  .adc-dock { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; position: fixed; left: 0; right: 0; bottom: 0; z-index: 55; background: #fff; border-top: 1px solid var(--line); box-shadow: 0 -6px 20px rgba(59,10,69,.1); }
  .adc-dock .adc-btn { border-radius: 0; flex-direction: column; gap: 3px; padding: 10px 4px; font-size: 12px; box-shadow: none; }
  .adc-dock .adc-btn__icon { width: 20px; height: 20px; }
  body.adc { padding-bottom: 62px; }
}
