/* =========================================================================
   South Houston Endodontics — theme styles
   Tokens carried over from the original site: cyan #00C1CF, ink #1D2327,
   Open Sans. Everything else is rebuilt.
   ====================================================================== */

:root{
  --accent:#00c1cf;
  --accent-dark:#00a3b0;
  --accent-ink:#00343a;
  --ink:#1d2327;
  --ink-2:#2c3338;
  --ink-3:#171b1e;
  --body:#5b6366;
  --muted:#7d878b;
  --line:#e3e7e9;
  --bg:#fff;
  --bg-muted:#f5f8f9;
  --wrap:1180px;
  --gap:clamp(1.5rem,4vw,3rem);
  --pad-y:clamp(3.5rem,8vw,6.5rem);
  --radius:14px;
  --shadow:0 1px 2px rgba(16,24,32,.05),0 12px 32px -12px rgba(16,24,32,.18);
  --shadow-lg:0 24px 60px -24px rgba(16,24,32,.35);
  --ease:cubic-bezier(.22,.61,.36,1);
  --font:"Open Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

body{
  margin:0;background:var(--bg);color:var(--body);
  font-family:var(--font);font-size:1.0625rem;line-height:1.72;font-weight:400;
  -webkit-font-smoothing:antialiased;
}

img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--accent-dark);text-decoration:none}
a:hover{color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}

h1,h2,h3,h4{color:var(--ink);font-weight:700;line-height:1.18;margin:0 0 .6em;letter-spacing:-.015em}
h1{font-size:clamp(2rem,4.6vw,3.25rem)}
h2{font-size:clamp(1.6rem,3.2vw,2.4rem)}
h3{font-size:clamp(1.2rem,2.1vw,1.5rem)}
p{margin:0 0 1.15em}
ul,ol{padding-left:1.35em}
blockquote{margin:2rem 0;padding:.25rem 0 .25rem 1.5rem;border-left:4px solid var(--accent);color:var(--ink-2);font-size:1.15em;font-style:italic}

.wrap{width:min(100% - 2.5rem,var(--wrap));margin-inline:auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:var(--ink);color:#fff;padding:.75rem 1.25rem}
.skip-link:focus{left:0}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.85rem 1.6rem;border-radius:999px;border:2px solid transparent;
  font-weight:700;font-size:.95rem;letter-spacing:.02em;line-height:1.2;
  cursor:pointer;transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn--sm{padding:.55rem 1.1rem;font-size:.875rem}
.btn--primary{background:var(--accent);color:#04282c;box-shadow:0 8px 20px -10px rgba(0,193,207,.9)}
.btn--primary:hover{background:var(--accent-dark);color:#fff}
.btn--outline{border-color:var(--accent);color:var(--accent-dark);background:transparent}
.btn--outline:hover{background:var(--accent);color:#04282c}
.btn--ghost{border-color:rgba(255,255,255,.55);color:#fff;background:transparent}
.btn--ghost:hover{background:#fff;color:var(--ink)}

/* =========================================================================
   HEADER — "Noir": dark glass over the hero, solid dark elsewhere.
   Contrast is guaranteed by a scrim behind the bar, so white text stays
   legible over any slide. Blur is progressive enhancement only.
   ====================================================================== */

.site-top{position:relative;z-index:60}
.has-overlay-header .site-top{position:absolute;top:0;left:0;right:0}

/* ---------- Utility bar ---------- */
.topbar{background:var(--ink-3);color:#b9c2c6;font-size:.8125rem;position:relative;z-index:70}
.topbar__inner{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center;justify-content:space-between;min-height:46px;padding-block:.35rem}
.topbar p{margin:0}
.topbar__contact{display:flex;flex-wrap:wrap;gap:.35rem 1.75rem}
.topbar a{color:#b9c2c6;display:inline-flex;align-items:center;gap:.5rem;transition:color .2s var(--ease)}
.topbar a:hover{color:var(--accent)}
.topbar__social{display:flex;gap:.4rem}
.topbar__social a{width:27px;height:27px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;justify-content:center;transition:background .2s,transform .2s}
.topbar__social a:hover{background:var(--accent);color:#04282c;transform:translateY(-1px)}
.ico{width:1em;height:1em;fill:currentColor;flex:none}
.topbar__social .ico{width:.78em;height:.78em}

/* Over the hero the bar goes transparent with a hairline rule. */
/* The top bar used to go transparent over the hero on the front page. The
   phone number and address then sat on whatever the photograph happened to be
   doing behind them, which is exactly where a practice least wants its phone
   number to be hard to read. It now keeps the same solid bar it has on every
   other page, matching the old site. Only the nav still floats. */
.has-overlay-header .topbar{background:var(--ink-3);color:#b9c2c6;
  border-bottom:1px solid rgba(255,255,255,.08)}
.has-overlay-header .topbar a{color:#b9c2c6}
.has-overlay-header .topbar a:hover{color:var(--accent)}
.has-overlay-header .topbar a:hover{color:var(--accent)}

/* ---------- Header row ---------- */
.site-header{position:sticky;top:0;z-index:60;background:var(--ink-3);border-bottom:1px solid rgba(255,255,255,.07)}
.site-header--overlay{background:transparent;border-bottom:0}
.has-overlay-header .site-header{position:static}
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}}

.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1.75rem;min-height:96px}
.site-header--overlay .site-header__inner{min-height:112px}

.brand__link{display:block;line-height:0}
.brand__logo{max-height:34px;width:auto}
.custom-logo{max-height:34px;width:auto}
.brand__text{display:block;color:#fff;line-height:1.05;font-weight:800;letter-spacing:.04em}
.brand__line1{display:block;font-size:.68rem;letter-spacing:.24em;color:rgba(255,255,255,.7);text-transform:uppercase}
.brand__line2{display:block;font-size:1.3rem;text-transform:uppercase}

.burger{display:none;background:none;border:0;padding:.6rem;cursor:pointer}
.burger__bars,.burger__bars::before,.burger__bars::after{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:transform .22s var(--ease),opacity .22s var(--ease)}
.burger__bars{position:relative}
.burger__bars::before,.burger__bars::after{content:"";position:absolute;left:0}
.burger__bars::before{top:-7px}
.burger__bars::after{top:7px}
.burger[aria-expanded="true"] .burger__bars{background:transparent!important}
.burger[aria-expanded="true"] .burger__bars::before{transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] .burger__bars::after{transform:translateY(-7px) rotate(-45deg)}

/* ---------- The glass pill ---------- */
.nav{display:flex;align-items:center;position:relative}

.nav__list{
  display:flex;align-items:stretch;list-style:none;margin:0;padding:.35rem;
  min-height:60px;border-radius:999px;
  /* Solid base first: this is what guarantees contrast and is the fallback
     wherever backdrop-filter is unavailable or disabled. */
  background:rgba(13,20,23,.86);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 20px 44px -22px rgba(0,0,0,.8);
}
@supports (backdrop-filter:blur(4px)) or (-webkit-backdrop-filter:blur(4px)){
  @media (min-width:1101px){
    .nav__list{
      background:rgba(13,20,23,.62);
      -webkit-backdrop-filter:blur(20px) saturate(140%);
      backdrop-filter:blur(20px) saturate(140%);
    }
  }
}

.nav__item{position:relative;display:flex;align-items:center}
/* Declared AFTER .nav__item so it wins: the mega sheet spans the nav bar. */
.nav__item--mega{position:static}
.nav__link{
  display:flex;align-items:center;gap:.5rem;height:100%;padding:0 1.05rem;border-radius:999px;
  color:rgba(255,255,255,.84);font-size:.78rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;white-space:nowrap;
  transition:color .2s var(--ease),background .2s var(--ease);
}
.nav__link .ico{width:1.15em;height:1.15em;opacity:.85}
.nav__link:hover,.nav__item:hover>.nav__link{color:#fff;background:rgba(255,255,255,.09)}
.current-menu-item>.nav__link,.current_page_item>.nav__link,
.current-menu-ancestor>.nav__link,.current_page_ancestor>.nav__link{color:var(--accent);background:rgba(0,193,207,.14)}

.nav__toggle{
  display:flex;align-items:center;background:none;border:0;color:rgba(255,255,255,.55);
  cursor:pointer;padding:0 .8rem 0 0;margin-left:-.7rem;border-radius:999px;
}
.nav__toggle .ico{width:.72em;height:.72em;transition:transform .25s var(--ease)}
.nav__item--has-children:hover>.nav__toggle{color:var(--accent)}
.nav__item--has-children:hover>.nav__toggle .ico{transform:rotate(180deg)}

.nav__item--utils{display:flex;align-items:stretch;gap:.15rem;padding-left:.3rem}
.nav__util{
  display:flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;
  align-self:center;border-radius:999px;cursor:pointer;color:rgba(255,255,255,.72);padding:0 .5rem;
  transition:color .2s var(--ease),background .2s var(--ease);
}
.nav__util .ico{width:1.05em;height:1.05em}
.nav__util:hover{color:var(--accent);background:rgba(255,255,255,.09)}

/* Header chrome is not a form control — pin the reset so no element-level
   rule (or its :hover) can repaint it. */
.burger,.burger:hover,.nav__toggle,.nav__toggle:hover,.nav__util,.nav__util:hover{
  border:0;transform:none;box-shadow:none;
}
.burger,.burger:hover{background:none}

/* ---------- Plain dropdowns ---------- */
.nav__submenu{
  position:absolute;top:calc(100% + .6rem);left:0;min-width:250px;z-index:70;
  list-style:none;margin:0;padding:.4rem;
  background:#11181b;border:1px solid rgba(255,255,255,.13);border-radius:14px;
  box-shadow:0 30px 60px -24px rgba(0,0,0,.85);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s;
}
@supports (backdrop-filter:blur(4px)){
  @media (min-width:1101px){.nav__submenu{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}
}
.nav__item--has-children:hover>.nav__submenu,
.nav__item--has-children:focus-within>.nav__submenu,
.nav__item--has-children.is-open>.nav__submenu{opacity:1;visibility:visible;transform:translateY(0)}
.nav__submenu .nav__item{display:block}
.nav__submenu .nav__link{
  white-space:normal;font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:none;
  padding:.6rem .8rem;height:auto;line-height:1.4;border-radius:10px;color:rgba(255,255,255,.8);
}
.nav__submenu .nav__link:hover{background:rgba(255,255,255,.09);color:var(--accent)}

/* ---------- Search drawer ---------- */
.navsearch{background:rgba(15,21,24,.96);border-top:1px solid rgba(255,255,255,.1)}
.navsearch .wrap{padding-block:1.1rem}
.navsearch[hidden]{display:none}
.navsearch input[type=search]{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);color:#fff}
.navsearch input[type=search]::placeholder{color:rgba(255,255,255,.45)}

/* =========================================================================
   MEGA MENU — Noir
   ====================================================================== */
.nav__item--mega>.mega{
  /* Right-aligned to the nav bar but free to extend leftward, so the panel is
     not capped at the nav's own width (which squeezed the copy to ~140px). */
  position:absolute;top:100%;right:0;left:auto;z-index:70;margin-top:.6rem;
  width:min(980px,calc(100vw - 3rem));
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .24s var(--ease),transform .24s var(--ease),visibility .24s;
}
.nav__item--mega:hover>.mega,
.nav__item--mega:focus-within>.mega,
.nav__item--mega.is-open>.mega{opacity:1;visibility:visible;transform:translateY(0)}

.mega__inner{
  display:grid;grid-template-columns:272px minmax(0,1fr);overflow:hidden;
  background:#11181b;
  border:1px solid rgba(255,255,255,.14);border-radius:18px;
  box-shadow:0 42px 84px -30px rgba(0,0,0,.9);
}
@supports (backdrop-filter:blur(4px)){
  @media (min-width:1101px){
    .mega__inner{background:rgba(15,22,25,.985);-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%)}
  }
}

.nav__submenu--mega{
  position:static;opacity:1;visibility:hidden;transform:none;transition:none;
  min-width:0;box-shadow:none;border:0;border-radius:0;
  list-style:none;margin:0;padding:.5rem;background:rgba(255,255,255,.035);
  border-right:1px solid rgba(255,255,255,.09);
}
.nav__item--mega:hover .nav__submenu--mega,
.nav__item--mega:focus-within .nav__submenu--mega,
.nav__item--mega.is-open .nav__submenu--mega{visibility:visible}

.nav__link--mega{
  display:flex!important;align-items:center;gap:.85rem;position:relative;
  padding:.85rem 1rem;border-radius:12px;
  font-size:.875rem;font-weight:600;letter-spacing:0;text-transform:none;line-height:1.3;
  color:rgba(255,255,255,.88);white-space:normal;height:auto;
}
.nav__link--mega::before{
  content:"";position:absolute;left:.35rem;top:.6rem;bottom:.6rem;width:3px;border-radius:3px;
  background:var(--accent);transform:scaleY(0);transition:transform .25s var(--ease);
}
.nav__link--mega:hover,.nav__link--mega.is-current{background:rgba(255,255,255,.08);color:#fff}
.nav__link--mega:hover::before,.nav__link--mega.is-current::before{transform:scaleY(1)}
.nav__link--mega .glyph{width:22px;height:22px;flex:none;color:var(--accent);opacity:.9}
.nav__link--mega .ico{margin-left:auto;width:.7em;height:.7em;opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s}
.nav__link--mega:hover .ico,.nav__link--mega.is-current .ico{opacity:.65;transform:translateX(0)}

.mega__panel{display:grid;grid-template-columns:minmax(0,1fr) 268px;gap:2rem;align-items:center;padding:1.9rem 2.1rem}
.mega__card{display:flex;gap:1.15rem;align-items:flex-start}
.mega__badge{
  width:60px;height:60px;border-radius:16px;display:grid;place-items:center;flex:none;
  background:rgba(0,193,207,.16);border:1px solid rgba(0,193,207,.3);color:var(--accent);
}
.mega__badge .glyph{width:30px;height:30px}
.mega__copy{min-width:0;flex:1}
.mega__heading{color:#fff;font-size:1.25rem;font-weight:700;letter-spacing:-.015em;margin:0 0 .5rem;line-height:1.25}
.mega__desc{margin:0 0 1.15rem;color:rgba(255,255,255,.78);font-size:.925rem;line-height:1.7;max-width:44ch}
.mega__more{display:inline-flex;align-items:center;gap:.5rem;color:var(--accent);font-size:.85rem;font-weight:700}
.mega__more .ico{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;transition:transform .2s var(--ease)}
.mega__more:hover .ico{transform:translateX(4px)}
.mega__feature{width:100%;height:auto;border-radius:14px;border:1px solid rgba(255,255,255,.12)}
@media (max-width:1280px){.mega__feature{display:none}.mega__panel{grid-template-columns:1fr}}

/* ---------- Mobile ---------- */
@media (max-width:1100px){
  .burger{display:block;order:3}
  .site-header{position:sticky;background:var(--ink-3);border-bottom:1px solid rgba(255,255,255,.08)}
  .site-header--overlay{position:sticky;background:var(--ink-3)}
  .has-overlay-header .site-header{position:sticky}
  .has-overlay-header .site-top{position:relative}
  .has-overlay-header .topbar{background:var(--ink-3);border-bottom:0}
  .site-header__inner,.site-header--overlay .site-header__inner{min-height:70px;flex-wrap:wrap;padding-block:.6rem}
  .nav{order:4;flex-basis:100%;display:none;padding-bottom:1rem}
  .nav.is-open{display:block}
  .nav__list{flex-direction:column;align-items:stretch;padding:.35rem;min-height:0;border-radius:16px;background:rgba(255,255,255,.05)}
  .nav__item{border-bottom:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:1fr auto}
  .nav__item:last-child{border-bottom:0}
  .nav__item--utils{display:flex;border-bottom:0;padding:.6rem .25rem 0;gap:.5rem}
  .nav__item--utils .nav__util{border:1px solid rgba(255,255,255,.14)}
  .nav__item--has-children>.nav__submenu{grid-column:1/-1}
  .nav__toggle{display:flex;justify-content:center;padding:0 1rem;margin:0}
  .nav__link{padding:.9rem .75rem;height:auto}
  .nav__submenu{
    position:static;opacity:1;visibility:visible;transform:none;display:none;
    border:0;box-shadow:none;background:rgba(255,255,255,.05);margin-bottom:.5rem;
  }
  .nav__item--has-children.is-open>.nav__submenu{display:block}
  .nav__item--has-children.is-open>.nav__toggle .ico{transform:rotate(180deg)}
}

/* ---------- Mega panel photo: cross-fades as you move down the list ------ */
.mega__figure{
  width:100%;
  /* The live panel photos are cut-out subjects on a white background, so the
     frame is a light card and the subject is contained, never cropped. A
     featured image set on the page (object-fit:cover) fills it edge to edge. */
  margin:0;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.14);
  aspect-ratio:1/1;position:relative;
  background:linear-gradient(165deg,#fff 0%,#eef6f7 100%);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);
}
.mega__feature{width:100%;height:100%;object-fit:contain;object-position:bottom center;display:block;
  transition:opacity .28s var(--ease),transform .5s var(--ease)}
.mega__feature.is-swapping{opacity:.25}
.mega__feature.is-empty{opacity:0}
.nav__item--mega:hover .mega__feature{transform:scale(1.03)}

/* ---------- "Meet The Dr." image card ---------- */
.nav__submenu--card{
  position:absolute;top:calc(100% + .6rem);left:50%;translate:-50% 0;width:280px;z-index:70;
  background:#11181b;border:1px solid rgba(255,255,255,.14);border-radius:16px;
  box-shadow:0 30px 60px -24px rgba(0,0,0,.85);overflow:hidden;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s;
}
@supports (backdrop-filter:blur(4px)){
  @media (min-width:1101px){.nav__submenu--card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}
}
.nav__item--card:hover>.nav__submenu--card,
.nav__item--card:focus-within>.nav__submenu--card,
.nav__item--card.is-open>.nav__submenu--card{opacity:1;visibility:visible;transform:translateY(0) ;translate:-50% 0}
.drcard__media{display:block;position:relative}
.drcard__img{width:100%;height:210px;object-fit:cover;object-position:center 22%;display:block;
  transition:transform .5s var(--ease)}
.drcard__media:hover .drcard__img{transform:scale(1.04)}
.drcard__media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(8,12,14,.62) 100%)}
.drcard__cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:.85rem 1rem;
  color:#fff;font-size:.9rem;font-weight:700;letter-spacing:.01em}
.drcard__links{list-style:none;margin:0;padding:.4rem}
.drcard__links .nav__link{
  white-space:normal;font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:none;
  padding:.6rem .8rem;height:auto;border-radius:10px;color:rgba(255,255,255,.8);
}
.drcard__links .nav__link:hover{background:rgba(255,255,255,.09);color:var(--accent)}

/* ---------- Map panel behind the location pin ---------- */
.nav__util-wrap{position:relative;display:flex;align-items:stretch}
.mappanel{
  position:absolute;top:calc(100% + .85rem);right:-.35rem;width:340px;z-index:80;
  background:#11181b;border:1px solid rgba(255,255,255,.14);border-radius:16px;
  box-shadow:0 34px 66px -26px rgba(0,0,0,.9);overflow:hidden;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s;
}
.nav__util-wrap--map:hover>.mappanel,
.nav__util-wrap--map:focus-within>.mappanel{opacity:1;visibility:visible;transform:translateY(0)}
.mappanel__frame{width:100%;aspect-ratio:4/3;background:rgba(255,255,255,.05)}
.mappanel__frame iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.15)}
.mappanel__foot{padding:.9rem 1rem 1rem;display:grid;gap:.45rem}
.mappanel__addr{margin:0;color:rgba(255,255,255,.75);font-size:.82rem;line-height:1.5}
.mappanel__link{display:inline-flex;align-items:center;gap:.45rem;color:var(--accent);font-size:.82rem;font-weight:700}
.mappanel__link .ico{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;transition:transform .2s var(--ease)}
.mappanel__link:hover .ico{transform:translateX(4px)}

@media (max-width:1100px){
  .nav__submenu--card{position:static;translate:none;width:auto;opacity:1;visibility:visible;transform:none;
    display:none;background:rgba(255,255,255,.05);border:0;box-shadow:none;margin-bottom:.5rem}
  .nav__item--card.is-open>.nav__submenu--card{display:block}
  .drcard__img{height:160px}
  .mappanel{display:none}
}

/* Mobile mega menu — declared after the desktop rules so it wins the cascade. */
@media (max-width:1100px){
  .nav__item--mega>.mega{
    position:static;opacity:1;visibility:visible;transform:none;display:none;
  }
  .nav__item--mega.is-open>.mega{display:block}
  .mega__inner{grid-template-columns:1fr;box-shadow:none;border:0;border-radius:12px;background:rgba(255,255,255,.04)}
  .nav__submenu--mega{
    /* The earlier mobile rule hides .nav__submenu and only re-shows DIRECT
       children of an open item; this list is nested inside .mega__inner. */
    display:block;visibility:visible;border-right:0;background:transparent;
  }
  .nav__submenu--mega .nav__item{display:block}
  .mega__panel{display:none}
}

/* ---------- Hero slider ---------- */
.hero{
  position:relative;isolation:isolate;color:#fff;overflow:hidden;
  min-height:var(--hero-h,890px);display:grid;
}
.hero__slides{display:grid;grid-template-areas:"s";min-height:inherit}
.hero__slide{
  grid-area:s;position:relative;display:flex;align-items:center;justify-content:center;
  text-align:center;padding:clamp(7rem,14vh,11rem) 0 clamp(4rem,8vh,6rem);
  opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s;
}
.hero__slide.is-active{opacity:1;visibility:visible}
.hero__img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;
  transform:scale(1.06);transition:transform 9s linear;
}
.hero__slide.is-active .hero__img{transform:scale(1)}
.hero__slide::after{
  content:"";position:absolute;inset:0;z-index:-1;
  /* Kept deliberately light, at Dr. Sameti's request, so the reception
     photograph reads as a bright, clean room rather than a dim one. The top
     and bottom bands stay slightly heavier than the middle because the dark
     header sits over the top and the slider controls over the bottom. Going
     below these values starts to cost the white headline its contrast against
     the aquarium highlights, which carry the brightest pixels in the frame. */
  background:linear-gradient(180deg,rgba(10,14,16,.30) 0%,rgba(10,14,16,.08) 45%,rgba(10,14,16,.34) 100%);
}
.hero__inner{max-width:62rem}
.hero__kicker{
  color:#fff;font-size:clamp(1.6rem,4.4vw,3.4rem);font-weight:700;line-height:1.1;
  margin:0 0 .35em;text-shadow:0 2px 8px rgba(0,0,0,.65),0 2px 34px rgba(0,0,0,.5);
}
.hero__title{
  color:#fff;font-weight:300;font-size:clamp(1.25rem,2.9vw,2.2rem);line-height:1.25;
  margin:0 0 .5em;text-shadow:0 2px 8px rgba(0,0,0,.6),0 2px 30px rgba(0,0,0,.45);
}
.hero__lede{
  color:#fff;font-weight:300;font-size:clamp(1.15rem,2.7vw,2rem);line-height:1.3;margin:0;
  text-shadow:0 1px 6px rgba(0,0,0,.6),0 2px 22px rgba(0,0,0,.45);
}
.hero__actions{display:flex;justify-content:center;margin-top:2rem}

.hero__dots{
  position:absolute;left:50%;bottom:2.25rem;translate:-50% 0;z-index:3;
  display:flex;gap:.65rem;
}
.hero__dot{
  width:15px;height:15px;border-radius:50%;padding:0;cursor:pointer;
  background:transparent;border:2px solid rgba(255,255,255,.85);transition:background .2s ease,transform .2s ease;
}
.hero__dot:hover{transform:scale(1.15)}
.hero__dot.is-active{background:#fff}

@media (max-width:1100px){
  .hero{min-height:min(var(--hero-h,890px),74vh)}
  .hero__slide{padding-block:clamp(3rem,10vh,5rem)}
}
@media (prefers-reduced-motion:reduce){
  .hero__img{transition:none;transform:none}
  .hero__slide{transition:none}
}

/* ---------- Credential band ---------- */
.creds{background:var(--paper,#f4f9fa);border-bottom:1px solid var(--line)}
.creds__grid{display:grid;gap:clamp(1.1rem,2.4vw,2rem);
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));padding-block:clamp(1.75rem,3.4vw,2.5rem)}
.creds__item{display:flex;gap:.9rem;align-items:flex-start}
.creds__ico{width:42px;height:42px;border-radius:12px;flex:none;display:grid;place-items:center;
  background:#fff;border:1px solid var(--line);color:var(--accent-dark);box-shadow:0 6px 16px -10px rgba(16,24,32,.4)}
.creds__ico .ico{width:1.25em;height:1.25em}
.creds__body{min-width:0}
.creds__label{display:block;color:var(--ink);font-weight:700;font-size:.95rem;line-height:1.35;margin-bottom:.2rem}
.creds__note{display:block;color:var(--muted);font-size:.82rem;line-height:1.5}

/* ---------- Three pillars ---------- */
.pillars{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));margin-top:clamp(2rem,4vw,3rem)}
.pillar{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(1.5rem,2.6vw,2rem);
  box-shadow:0 1px 2px rgba(16,24,32,.04),0 22px 48px -34px rgba(16,24,32,.4);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease)}
.pillar:hover{transform:translateY(-3px);box-shadow:0 1px 2px rgba(16,24,32,.05),0 30px 60px -34px rgba(16,24,32,.5)}
.pillar__ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;margin-bottom:1.1rem;
  background:linear-gradient(155deg,rgba(0,193,207,.18),rgba(0,193,207,.06));color:var(--accent-dark);
  border:1px solid rgba(0,193,207,.28)}
.pillar__ico .ico{width:1.5em;height:1.5em}
.pillar__title{font-size:1.1rem;line-height:1.35;margin-bottom:.55em}
.pillar p{margin:0;font-size:.95rem}

/* ---------- Pre-footer CTA ---------- */
.prefoot{background:linear-gradient(120deg,#0d494f 0%,var(--ink-2) 55%,var(--ink-3) 100%);color:#cfd9dc;position:relative;overflow:hidden}
.prefoot::after{content:"";position:absolute;right:-10%;top:-60%;width:52%;aspect-ratio:1;
  background:radial-gradient(circle,rgba(0,193,207,.26) 0%,transparent 62%);pointer-events:none}
.prefoot__inner{display:grid;gap:clamp(1.5rem,3vw,2.5rem);grid-template-columns:minmax(0,1fr) auto;
  align-items:center;padding-block:clamp(2.5rem,5vw,3.75rem);position:relative;z-index:1}
@media (max-width:820px){.prefoot__inner{grid-template-columns:1fr}}
.prefoot__eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700;margin-bottom:.6rem}
.prefoot__title{color:#fff;font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:.35em}
.prefoot__text{margin:0;max-width:44ch;font-size:.975rem}
.prefoot__actions{display:flex;gap:.75rem;flex-wrap:wrap}
.btn--lg{padding:1.05rem 2rem;font-size:1.05rem}
.btn--lg .ico{width:1.1em;height:1.1em}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink-3);color:#9aa5aa;font-size:.94rem}
.site-footer__grid{display:grid;gap:clamp(2rem,4vw,3rem);
  grid-template-columns:minmax(0,1.45fr) repeat(2,minmax(0,1fr)) minmax(0,1.15fr);
  padding-block:clamp(3rem,6vw,4.5rem)}
@media (max-width:1024px){.site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.site-footer__grid{grid-template-columns:1fr}}
.site-footer__logo{max-height:34px;width:auto;margin-bottom:1.1rem}
.site-footer__brand{color:#fff;font-weight:700;font-size:1.1rem;margin-bottom:.75rem}
.site-footer__desc{margin:0 0 1.35rem;max-width:38ch;line-height:1.7}
.site-footer__facts{list-style:none;margin:0 0 1.35rem;padding:0;display:grid;gap:.7rem}
.site-footer__facts li{display:flex;gap:.65rem;align-items:flex-start;font-size:.85rem;line-height:1.5;color:#b3bec2}
.site-footer__facts .ico{width:1.05em;height:1.05em;color:var(--accent);flex:none;margin-top:.15em}
.site-footer__social{display:flex;gap:.5rem;margin:0}
.site-footer__social a{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.08);color:#fff;transition:background .2s,transform .2s}
.site-footer__social a:hover{background:var(--accent);color:#04282c;transform:translateY(-2px)}
.site-footer__social .ico{width:.85em;height:.85em}

.site-footer__title{color:#fff;font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;margin-bottom:1.15rem}
.site-footer__list{list-style:none;margin:0;padding:0}
.site-footer__list li{margin-bottom:.6rem;line-height:1.5}
.site-footer a{color:#9aa5aa;transition:color .18s var(--ease)}
.site-footer a:hover{color:var(--accent)}

.site-footer__addr{font-style:normal;display:grid;gap:.85rem}
.site-footer__addr a{display:flex;gap:.65rem;align-items:flex-start;line-height:1.5}
.site-footer__addr .ico{width:1.05em;height:1.05em;color:var(--accent);flex:none;margin-top:.2em}
.site-footer__hours{margin:1.35rem 0 0;font-size:.88rem;line-height:1.7}
.site-footer__hoursk{display:block;color:#fff;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;margin-bottom:.35rem}

.site-footer__affil{border-top:1px solid rgba(255,255,255,.08)}
.affil{padding-block:1.75rem;text-align:center}
.affil__title{margin:0 0 1.1rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:#7d888d}
.affil__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:clamp(1.5rem,4vw,3rem);
  align-items:center;justify-content:center}
.affil__logo{height:46px;width:auto;filter:grayscale(1) brightness(1.9) contrast(.55);opacity:.62;
  transition:opacity .22s var(--ease),filter .22s var(--ease)}
.affil__item a:hover .affil__logo{opacity:1;filter:none}
.affil__abbr{color:#8f9a9f;font-weight:700;letter-spacing:.1em}

.site-footer__bar{border-top:1px solid rgba(255,255,255,.08);font-size:.8rem}
.site-footer__barinner{display:flex;flex-wrap:wrap;gap:.5rem 2rem;justify-content:space-between;
  align-items:center;padding-block:1.35rem}
.site-footer__barinner p{margin:0}
.site-footer__legal{color:#6f7a7f;max-width:62ch}

/* ---------- Sections ---------- */
.section{padding-block:var(--pad-y)}
.section--muted{background:var(--bg-muted)}
.section--dark,.section--cta{background:var(--ink);color:#c3cbcf}
.section--dark h2,.section--dark h3,.section--cta h2{color:#fff}
.section--contact{background:var(--bg-muted)}

.section__head{max-width:46rem;margin-inline:auto;text-align:center;margin-bottom:clamp(2rem,5vw,3.5rem)}
.section__eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;font-weight:700;color:var(--accent);margin-bottom:.75rem}
.section__title{margin-bottom:.4em}
.section__title--left{text-align:left}
.section__lede{font-size:1.08rem}
.section__foot{text-align:center;display:flex;gap:.85rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}

/* ---------- Prose ---------- */
.prose{max-width:52rem;margin-inline:auto}
.prose--center{text-align:center}
.prose--two{max-width:var(--wrap);columns:2;column-gap:var(--gap)}
@media (max-width:760px){.prose--two{columns:1}}
.prose__hero{width:100%;border-radius:var(--radius);margin-bottom:2rem;box-shadow:var(--shadow)}
.prose img{border-radius:10px}
.prose h2,.prose h3{margin-top:2em}
.prose h2:first-child,.prose h3:first-child{margin-top:0}
.prose ul,.prose ol{margin:0 0 1.25em}
.prose li{margin-bottom:.4em}
.prose--center ul,.prose--center ol{text-align:left;display:inline-block}

/* ---------- Tiles ---------- */
.tiles{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(275px,1fr))}
.tile{
  display:flex;flex-direction:column;gap:.5rem;padding:1.75rem;border-radius:var(--radius);
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:#b6bfc3;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.tile:hover{transform:translateY(-4px);border-color:var(--accent);background:rgba(0,193,207,.09);color:#d5dcdf}
.tile__title{color:#fff;font-size:1.15rem;margin:0}
.tile__text{margin:0;font-size:.95rem;flex:1}
.tile__more{color:var(--accent);font-weight:700;font-size:.9rem}
.tiles--light .tile{background:#fff;border-color:var(--line);color:var(--body);box-shadow:var(--shadow)}
.tiles--light .tile:hover{border-color:var(--accent);background:#fff}
.tiles--light .tile__title{color:var(--ink)}
.subpages__title{margin-top:clamp(2.5rem,6vw,4rem);margin-bottom:1.25rem}

/* ---------- Doctor ---------- */
.doctor{display:grid;gap:var(--gap);grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center}
@media (max-width:820px){.doctor{grid-template-columns:1fr}}
.doctor__img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow-lg)}
.doctor__placeholder{display:block;aspect-ratio:4/3;border-radius:var(--radius);background:linear-gradient(135deg,var(--bg-muted),#dfe8ea)}

/* ---------- Cards ---------- */
.cards{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(285px,1fr))}
.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.card__media img,.card__placeholder{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:0}
.card__placeholder{background:linear-gradient(135deg,var(--bg-muted),#dde6e8)}
.card__body{padding:1.4rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.card__meta{margin:0;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.card__title{margin:0;font-size:1.12rem;line-height:1.35}
.card__title a{color:var(--ink)}
.card__title a:hover{color:var(--accent-dark)}
.card__excerpt{margin:0;font-size:.95rem;flex:1}
.card__more{font-weight:700;font-size:.9rem;color:var(--accent-dark)}

/* ---------- Banner / breadcrumbs / layout ---------- */
.banner{background:linear-gradient(135deg,var(--ink-3),var(--ink-2));color:#fff;padding-block:clamp(3rem,7vw,5rem);text-align:center}
.banner__title{color:#fff;margin:0}
.banner__sub{margin:.75rem 0 0;color:#a9b3b7;text-transform:uppercase;letter-spacing:.14em;font-size:.8rem}

.crumbs{background:var(--bg-muted);border-bottom:1px solid var(--line);font-size:.85rem}
.crumbs .wrap{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding-block:.85rem;color:var(--muted)}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--accent-dark)}

.page-body{padding-block:var(--pad-y)}
.layout{display:grid;gap:var(--gap);grid-template-columns:minmax(0,1fr) 305px;align-items:start}
@media (max-width:960px){.layout{grid-template-columns:1fr}}
.layout__main{min-width:0}

/* ---------- Sidebar / widgets ---------- */
.widget{background:var(--bg-muted);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem}
.widget__title{font-size:1rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem}
.widget ul{list-style:none;margin:0;padding:0}
.widget li{padding:.4rem 0;border-bottom:1px solid var(--line);font-size:.94rem}
.widget li:last-child{border-bottom:0}
.widget a{color:var(--ink-2)}
.widget a:hover{color:var(--accent-dark)}
.widget--cta{background:var(--ink);border-color:var(--ink);color:#b9c2c6}
.widget--cta .widget__title{color:#fff}

/* ---------- Forms ---------- */
input[type=text],input[type=email],input[type=url],input[type=tel],input[type=search],input[type=date],input[type=number],select,textarea{
  width:100%;padding:.8rem 1rem;border:1px solid var(--line);border-radius:10px;background:#fff;
  font:inherit;font-size:1rem;color:var(--ink);transition:border-color .16s ease,box-shadow .16s ease;
}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(0,193,207,.16);outline:none}
textarea{min-height:150px;resize:vertical}
label{display:block;font-weight:600;color:var(--ink-2);font-size:.92rem;margin-bottom:.35rem}
button[type=submit],input[type=submit],.wpcf7-submit,.searchform button{
  background:var(--accent);color:#04282c;border:0;border-radius:999px;padding:.85rem 1.9rem;
  font:inherit;font-weight:700;cursor:pointer;transition:background .18s ease,transform .18s ease;
}
button[type=submit]:hover,input[type=submit]:hover,.wpcf7-submit:hover,.searchform button:hover{
  background:var(--accent-dark);color:#fff;transform:translateY(-2px)
}
/* Header chrome is not a form control — keep the button reset explicit so no
   later element-level rule (or its :hover) can repaint it. */
.burger,.burger:hover,.nav__toggle,.nav__toggle:hover,.nav__util,.nav__util:hover{
  background:none;border:0;border-radius:0;transform:none;box-shadow:none;
}
.searchform{display:flex;gap:.5rem}
.searchform input{flex:1}
.wpcf7-form p{margin-bottom:1rem}
.wpcf7 .wpcf7-not-valid-tip{color:#c0392b;font-size:.85rem}
.wpcf7-response-output{border-radius:10px;padding:.85rem 1rem;font-size:.92rem}

.contact{display:grid;gap:clamp(1.5rem,3vw,2.5rem);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start}
@media (max-width:900px){.contact{grid-template-columns:1fr}}

.contact__form{
  background:var(--bg-muted);border:1px solid var(--line);border-radius:20px;
  padding:clamp(1.75rem,3.4vw,2.75rem);
  box-shadow:0 1px 2px rgba(16,24,32,.04),0 28px 60px -34px rgba(16,24,32,.35);
}
.contact__form h3,.contact__info h3{
  font-size:1.35rem;letter-spacing:-.015em;margin-bottom:.4rem;
}
.contact__note{margin:0 0 1.75rem;font-size:.925rem;color:var(--muted)}

/* Floating-label fields — one column, two-up for the short ones. */
.contact__form .wpcf7-form>p,.formrow{display:grid;gap:1.05rem;margin:0 0 1.05rem}
@media (min-width:620px){.formrow--2{grid-template-columns:1fr 1fr}}
.field{position:relative}
.field>label{
  position:absolute;left:1rem;top:.95rem;margin:0;pointer-events:none;
  color:var(--muted);font-size:.95rem;font-weight:400;
  transition:transform .18s var(--ease),color .18s var(--ease),font-size .18s var(--ease);
  transform-origin:left top;background:#fff;padding-inline:.32rem;border-radius:4px;
}
.field input,.field textarea,
.contact__form input[type=text],.contact__form input[type=email],
.contact__form input[type=tel],.contact__form textarea,
.contact__form .wpcf7-form-control:not(.wpcf7-submit){
  width:100%;padding:1.05rem 1.1rem .85rem;border:1.5px solid var(--line);border-radius:12px;
  background:#fff;font:inherit;font-size:.975rem;color:var(--ink);
  transition:border-color .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease);
}
.field input:hover,.field textarea:hover,.contact__form .wpcf7-form-control:not(.wpcf7-submit):hover{border-color:#cdd8db}
.field input:focus,.field textarea:focus,
.contact__form .wpcf7-form-control:not(.wpcf7-submit):focus{
  outline:none;background:#fff;border-color:var(--accent);
  box-shadow:0 0 0 4px rgba(0,193,207,.14);
}
.field input:focus+label,.field textarea:focus+label,
.field input:not(:placeholder-shown)+label,.field textarea:not(:placeholder-shown)+label{
  transform:translateY(-1.55rem) scale(.82);color:var(--accent-dark);font-weight:700;
}
.field textarea{min-height:150px;resize:vertical}
.contact__submit{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.4rem}
.contact__form .wpcf7-submit,.contact__form button[type=submit]{
  background:var(--accent);color:#04282c;border:0;border-radius:999px;
  padding:1rem 2.25rem;font-weight:700;font-size:.95rem;cursor:pointer;
  box-shadow:0 14px 30px -14px rgba(0,193,207,.95);
  transition:transform .2s var(--ease),background .2s var(--ease);
}
.contact__form .wpcf7-submit:hover,.contact__form button[type=submit]:hover{
  transform:translateY(-2px);background:var(--accent-dark);color:#fff;
}
.contact__reassure{margin:0;font-size:.82rem;color:var(--muted)}
.contact__form .wpcf7-not-valid-tip{color:#c0392b;font-size:.82rem;margin-top:.4rem}
.contact__form .wpcf7-response-output{border-radius:12px;padding:.9rem 1.1rem;font-size:.9rem;margin:1.25rem 0 0}
.contact__form .wpcf7-spinner{margin-inline-start:.5rem}

/* Info column */
.contact__info{
  background:var(--ink);color:rgba(255,255,255,.78);border-radius:20px;
  padding:clamp(1.75rem,3.4vw,2.5rem);position:relative;overflow:hidden;
}
.contact__info::before{
  content:"";position:absolute;right:-30%;top:-40%;width:110%;aspect-ratio:1;
  background:radial-gradient(circle,rgba(0,193,207,.22) 0%,transparent 62%);pointer-events:none;
}
.contact__info h3{color:#fff;position:relative}
.contact__list{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:1.15rem;position:relative}
.contact__item{display:flex;gap:.9rem;align-items:flex-start}
.contact__ico{
  width:42px;height:42px;border-radius:12px;flex:none;display:grid;place-items:center;
  background:rgba(0,193,207,.16);border:1px solid rgba(0,193,207,.3);color:var(--accent);
}
.contact__ico .ico{width:1.15em;height:1.15em}
.contact__k{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:.2rem}
.contact__v{display:block;color:#fff;font-weight:600;font-size:.975rem;line-height:1.5}
.contact__v:hover{color:var(--accent)}
.contact__map{width:100%;margin-top:1.6rem;border-radius:14px;overflow:hidden;aspect-ratio:16/10;position:relative;border:1px solid rgba(255,255,255,.12)}
.contact__map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.2)}

/* ---------- Post extras ---------- */
.post-terms{font-size:.9rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1.25rem;margin-top:2.5rem}
.postnav{display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-top:2rem}
@media (max-width:600px){.postnav{grid-template-columns:1fr}}
.postnav__link{border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.25rem;color:var(--ink);font-weight:600;font-size:.95rem}
.postnav__link span{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:.25rem}
.postnav__link:hover{border-color:var(--accent);color:var(--accent-dark)}
.postnav__link--next{text-align:right}

.pager{margin-top:2.5rem}
.pager .nav-links{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}
.pager .page-numbers{display:inline-flex;min-width:2.6rem;height:2.6rem;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;color:var(--ink-2);font-weight:600;font-size:.92rem;padding-inline:.6rem}
.pager .page-numbers:hover{border-color:var(--accent);color:var(--accent-dark)}
.pager .current{background:var(--accent);border-color:var(--accent);color:#04282c}

.notice{background:var(--bg-muted);border-left:4px solid var(--accent);border-radius:8px;padding:1rem 1.25rem;font-size:.95rem}

.comments{margin-top:3rem;border-top:1px solid var(--line);padding-top:2.5rem}
.comments__list{list-style:none;margin:0 0 2.5rem;padding:0}
.comments__list .children{list-style:none;padding-left:1.5rem}
.comments__list li{margin-bottom:1.5rem}
.comment-body{background:var(--bg-muted);border-radius:var(--radius);padding:1.25rem}
.comment-meta{font-size:.85rem;color:var(--muted);margin-bottom:.5rem}

/* ---------- Legacy builder content (see inc/content-cleanup.php) ---------- */
.vc-row{display:flex;flex-wrap:wrap;gap:var(--gap);margin-block:1.5rem}
.vc-col{flex:1 1 var(--vc-col,100%);min-width:min(100%,260px)}
.vc-space{height:1.75rem}
.vc-sep{border:0;border-top:1px solid var(--line);margin:2.5rem 0}
.vc-figure{margin:1.75rem 0}
.vc-figure.is-center{text-align:center}
.vc-figure img{border-radius:10px;margin-inline:auto}
.vc-heading{margin-top:2em}
.vc-btn-wrap{margin:1.5rem 0}
.vc-video{margin:1.75rem 0;aspect-ratio:16/9}
.vc-video iframe{width:100%;height:100%;border:0;border-radius:10px}
.vc-notice{background:var(--bg-muted);border-left:4px solid var(--accent);border-radius:8px;padding:1rem 1.25rem;margin:1.5rem 0}
.vc-toggle{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:.75rem;background:#fff;overflow:hidden}
.vc-toggle>summary{cursor:pointer;padding:1rem 1.25rem;font-weight:700;color:var(--ink);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.vc-toggle>summary::-webkit-details-marker{display:none}
.vc-toggle>summary::after{content:"+";font-size:1.35rem;color:var(--accent);line-height:1}
.vc-toggle[open]>summary::after{content:"\2013"}
.vc-toggle>summary:hover{background:var(--bg-muted)}
.vc-toggle__body{padding:0 1.25rem 1.25rem}

/* ---------- Footer ---------- */

/* ---------- Utilities WP core needs ---------- */
.alignleft{float:left;margin:.4rem 1.5rem 1rem 0}
.alignright{float:right;margin:.4rem 0 1rem 1.5rem}
.aligncenter{margin-inline:auto;display:block}
.alignwide{width:min(100vw - 2.5rem,1180px);margin-inline:auto}
.wp-caption{max-width:100%}
.wp-caption-text,figcaption{font-size:.85rem;color:var(--muted);text-align:center;margin-top:.6rem}
.sticky{border-color:var(--accent)}

.vc-accordion{margin:1.75rem 0}
.vc-social{display:flex;gap:.75rem;flex-wrap:wrap}
.vc-social__link{border:1px solid var(--line);border-radius:999px;padding:.4rem 1rem;font-size:.9rem;font-weight:600}
.vc-social__link:hover{border-color:var(--accent)}
.vc-postlist{list-style:none;margin:1.5rem 0;padding:0;display:grid;gap:.25rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.vc-postlist li{padding:.7rem 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:.15rem}
.vc-postlist__date{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.vc-form{margin:1.5rem 0}

/* ---------- Post meta, author box, related, treatment sidebar ---------- */
.postmeta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.75rem;
  padding-bottom:1.25rem;border-bottom:1px solid var(--line);color:var(--muted);font-size:.85rem}
.postmeta__by{display:inline-flex;align-items:center;gap:.45rem;color:var(--ink-2);font-weight:600}
.postmeta__by .ico{width:1.05em;height:1.05em;color:var(--accent-dark)}
.postmeta__dot{opacity:.5}
.postmeta__upd{color:var(--accent-dark);font-weight:600}

.authorbox{display:grid;grid-template-columns:132px minmax(0,1fr);gap:1.5rem;align-items:center;
  margin-top:3rem;padding:1.5rem;border:1px solid var(--line);border-radius:18px;background:var(--bg-muted)}
@media (max-width:560px){.authorbox{grid-template-columns:1fr}}
.authorbox__img{width:132px;height:132px;object-fit:cover;object-position:center 20%;border-radius:14px}
.authorbox__eyebrow{margin:0 0 .3rem;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700}
.authorbox__name{font-size:1.15rem;margin:0 0 .5rem}
.authorbox__text{margin:0 0 .8rem;font-size:.92rem;line-height:1.65}
.authorbox__link{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;font-size:.88rem;color:var(--accent-dark)}
.authorbox__link .ico{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;transition:transform .2s var(--ease)}
.authorbox__link:hover .ico{transform:translateX(4px)}

.related{margin-top:3rem;padding-top:2.5rem;border-top:1px solid var(--line)}
.related__title{font-size:1.25rem;margin-bottom:1.5rem}
.cards--sm{grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1.1rem}
.cards--sm .card__body{padding:1.1rem}
.cards--sm .card__title{font-size:1rem}
.cards--sm .card__excerpt{display:none}

.archive__intro{font-size:1.05rem;line-height:1.7;margin-bottom:2rem;padding-left:1.1rem;
  border-left:3px solid var(--accent);color:var(--ink-2)}

.widget--treatments li.is-current>a{color:var(--accent-dark);font-weight:700}
.widget__facts{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.widget__facts li{display:flex;gap:.6rem;align-items:flex-start;font-size:.85rem;line-height:1.5;border:0;padding:0}
.widget__facts .ico{width:1.05em;height:1.05em;color:var(--accent);flex:none;margin-top:.15em}
.widget--trust{background:var(--ink);border-color:var(--ink);color:#b9c2c6}
.widget--trust .widget__title{color:#fff}

.treatcta{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:center;justify-content:space-between;
  margin-top:2.5rem;padding:1.75rem;border-radius:18px;
  background:linear-gradient(135deg,rgba(0,193,207,.12),rgba(0,193,207,.04));
  border:1px solid rgba(0,193,207,.28)}
.treatcta__title{font-size:1.15rem;margin-bottom:.4em}
.treatcta__body p{margin:0;font-size:.94rem;max-width:52ch}
.treatcta .btn .ico{width:1.05em;height:1.05em}

/* =========================================================================
   Interior page sections
   ====================================================================== */

/* ---- Split hero ---- */
.phero{background:linear-gradient(170deg,var(--bg-muted) 0%,#e9f3f5 100%);border-bottom:1px solid var(--line);
  position:relative;overflow:hidden}
.phero::after{content:"";position:absolute;right:-14%;top:-45%;width:52%;aspect-ratio:1;
  background:radial-gradient(circle,rgba(0,193,207,.16) 0%,transparent 64%);pointer-events:none}
.phero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,4vw,3.5rem);
  align-items:center;padding-block:clamp(2.75rem,6vw,4.5rem);position:relative;z-index:1}
@media (max-width:900px){.phero__grid{grid-template-columns:1fr}.phero__media{order:-1}}
.phero__eyebrow{color:var(--accent-dark);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700;margin-bottom:.9rem}
.phero__title{font-size:clamp(2rem,4.4vw,3.15rem);letter-spacing:-.025em;margin-bottom:.4em}
.phero__lead{font-size:clamp(1.02rem,1.6vw,1.15rem);line-height:1.75;max-width:52ch;margin-bottom:1.75rem}
.phero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:0}
.phero__actions .ico{width:1.05em;height:1.05em}
.phero__media{margin:0}
/* No filter here on purpose. A blanket brightness() could not rescue the two
   underexposed originals (the entrance photograph averaged 48 of 255, with no
   pixel above mid-grey) and it washed out the nine that were correctly
   exposed at 139-219. Those two files have been tone-corrected properly and
   re-uploaded instead; the rest are left alone. If another photograph looks
   dark, fix the file, not every image on the site. */
.phero__img{width:100%;border-radius:20px;box-shadow:0 30px 64px -30px rgba(16,24,32,.5)}

.glance{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin:0 0 1.9rem;
  background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.glance__item{background:#fff;padding:.95rem 1.1rem}
.glance dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-weight:700;margin-bottom:.3rem}
.glance dd{margin:0;color:var(--ink);font-weight:700;font-size:.94rem;line-height:1.35}

/* ---- Symptom grid ---- */
.symptoms{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(268px,1fr))}
.symptom{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.5rem;
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}
.symptom:hover{transform:translateY(-3px);border-color:rgba(0,193,207,.4);box-shadow:0 22px 46px -30px rgba(16,24,32,.45)}
.symptom__ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;margin-bottom:1rem;
  background:rgba(0,193,207,.12);color:var(--accent-dark)}
.symptom__ico .ico{width:1.3em;height:1.3em}
.symptom__title{font-size:1rem;margin-bottom:.45em}
.symptom p{margin:0;font-size:.92rem;line-height:1.65}
.section__foot--note{font-size:.9rem;color:var(--muted);max-width:62ch;margin-inline:auto;text-align:center;display:block}

/* ---- Steps timeline ---- */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:s;
  max-width:60rem;margin-inline:auto}
.step{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.4rem;padding:1.5rem 0;
  border-bottom:1px solid var(--line);position:relative}
.step:last-child{border-bottom:0}
.step__n{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;flex:none;
  background:var(--ink);color:var(--accent);font-weight:800;font-size:.85rem;letter-spacing:.04em}
.step__title{font-size:1.06rem;margin-bottom:.4em}
.step__body p{margin:0;font-size:.95rem;line-height:1.7}

/* ---- Comparison ---- */
.compare{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.compare__col{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  border-radius:18px;padding:1.75rem;position:relative}
.compare__col.is-preferred{background:rgba(0,193,207,.09);border-color:rgba(0,193,207,.4)}
.compare__flag{position:absolute;top:-.7rem;left:1.75rem;background:var(--accent);color:#04282c;
  font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .75rem;border-radius:999px}
.compare__title{color:#fff;font-size:1.15rem;margin-bottom:1.1rem}
.compare__list{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}
.compare__list li{display:flex;gap:.7rem;align-items:flex-start;font-size:.94rem;line-height:1.6;color:#c3cbcf}
.compare__list .ico{width:1.05em;height:1.05em;flex:none;margin-top:.2em}
.is-preferred .compare__list .ico{color:var(--accent)}
.compare__col:not(.is-preferred) .compare__list .ico{color:#6b787d;width:.7em;height:.7em;margin-top:.45em}
.compare__note{max-width:64ch;margin:1.75rem auto 0;text-align:center;font-size:.92rem;color:#98a3a8}

/* ---- Prose wide + pull quote ---- */
.prose--wide{max-width:56rem}
.pullquote{margin:2.25rem 0;padding:1.25rem 0 1.25rem 1.75rem;border-left:4px solid var(--accent);
  font-size:1.12rem;line-height:1.65;color:var(--ink-2);font-style:normal;font-weight:600}

/* ---- Checklist ---- */
.checkwrap{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:start}
/* Two columns only where the checklist is also two columns, so the heading
   column is never left stranded beside a much taller list. */
@media (min-width:1100px){
  .checkwrap{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(1.75rem,4vw,3rem)}
  .checkwrap__head{position:sticky;top:120px}
}
.checkwrap__head p{font-size:.98rem;line-height:1.7}
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}
@media (min-width:1100px){.checklist{grid-template-columns:1fr 1fr;gap:.85rem 1rem}}
.checklist li{display:flex;gap:.85rem;align-items:flex-start;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:1rem 1.15rem;font-size:.94rem;line-height:1.6}
.checklist .ico{width:1.15em;height:1.15em;color:var(--accent-dark);flex:none;margin-top:.15em}

/* ---- Alert band ---- */
.alertband{background:linear-gradient(120deg,#7a1f1f 0%,#a32a2a 60%,#8d2424 100%);color:#ffe9e9}
.alertband__inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1.5rem;align-items:center;
  padding-block:clamp(1.75rem,3.5vw,2.5rem)}
@media (max-width:860px){.alertband__inner{grid-template-columns:1fr;gap:1rem}}
.alertband__ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;flex:none;
  background:rgba(255,255,255,.16);color:#fff}
.alertband__ico .ico{width:1.5em;height:1.5em}
.alertband__title{color:#fff;font-size:1.2rem;margin-bottom:.4em}
.alertband__body p{margin:0;font-size:.96rem;line-height:1.7;max-width:70ch}
.alertband .btn--primary{background:#fff;color:#7a1f1f;box-shadow:none}
.alertband .btn--primary:hover{background:#ffe9e9;color:#7a1f1f}

/* ---- FAQ ---- */
.faq{max-width:52rem;margin-inline:auto;display:grid;gap:.75rem}
.faq .vc-toggle{border-radius:14px}
.faq .vc-toggle>summary{font-size:1rem;padding:1.15rem 1.35rem}
.faq .vc-toggle__body{padding:0 1.35rem 1.35rem}
.faq .vc-toggle__body p{margin:0;line-height:1.75;font-size:.96rem}

/* ---- Other-treatments strip ---- */
.strip2__title{font-size:1.15rem;margin-bottom:1.25rem}
.strip2{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.strip2__item{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem 1.15rem;
  font-weight:600;font-size:.94rem;color:var(--ink);transition:.2s var(--ease)}
.strip2__item .ico{width:.85em;height:.85em;color:var(--muted)}
.strip2__item:hover{border-color:var(--accent);color:var(--accent-dark);transform:translateX(3px)}
.strip2__item:hover .ico{color:var(--accent-dark)}

/* ---- Contact page ---- */
.contactgrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(1.5rem,3vw,2rem);align-items:stretch}
@media (max-width:960px){.contactgrid{grid-template-columns:1fr}}
.contactinfo{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(1rem,2vw,1.5rem);margin-top:clamp(1rem,2vw,1.5rem)}
.contactcards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:clamp(1rem,2vw,1.5rem)}
.contactcard{display:flex;flex-direction:column;gap:.3rem;background:#fff;border:1px solid var(--line);
  border-radius:16px;padding:1.35rem;transition:.2s var(--ease)}
.contactcard:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 22px 46px -30px rgba(16,24,32,.45)}
.contactcard--accent{background:var(--ink);border-color:var(--ink);color:#c3cbcf}
.contactcard__ico{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;margin-bottom:.6rem;
  background:rgba(0,193,207,.14);color:var(--accent-dark)}
.contactcard--accent .contactcard__ico{background:rgba(0,193,207,.2);color:var(--accent)}
.contactcard__ico .ico{width:1.2em;height:1.2em}
.contactcard__k{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:700}
.contactcard--accent .contactcard__k{color:rgba(255,255,255,.55)}
.contactcard__v{font-weight:700;color:var(--ink);font-size:.98rem;line-height:1.45;min-width:0;
  overflow-wrap:anywhere;word-break:break-word;hyphens:auto}
.contactcard__v--wrap{font-size:.92rem;letter-spacing:-.01em}
.contactcard--accent .contactcard__v{color:#fff}
.contactcard__note{font-size:.8rem;color:var(--muted);margin-top:.15rem}
.contactform{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(1.5rem,3vw,2.25rem);
  display:flex;flex-direction:column;
  box-shadow:0 1px 2px rgba(16,24,32,.04),0 26px 56px -36px rgba(16,24,32,.4)}
.contactform__title{font-size:1.3rem;margin-bottom:.35em}
.contactform__note{margin:0 0 1.6rem;font-size:.93rem;color:var(--muted)}
.contactgrid__side{display:grid;gap:1rem;align-content:start}
.mapcard{width:100%;border-radius:16px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;background:var(--bg-muted)}
.mapcard iframe{width:100%;height:100%;border:0;display:block}
.infocard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.35rem}
.infocard__title{display:flex;align-items:center;gap:.55rem;font-size:.78rem;text-transform:uppercase;
  letter-spacing:.13em;margin-bottom:.9rem;color:var(--ink)}
.infocard__title .ico{width:1.15em;height:1.15em;color:var(--accent-dark)}
.infocard__hours{margin:0;font-size:.92rem;line-height:1.8}
.infocard__list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.infocard__list li{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;line-height:1.55}
.infocard__list .ico{width:1em;height:1em;color:var(--accent-dark);flex:none;margin-top:.2em}
.infocard__list .ico--dot{width:.55em;height:.55em;margin-top:.5em}

/* ---- Download cards ---- */
.dlgrid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.dlcard{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1.1rem;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.35rem;transition:.2s var(--ease)}
a.dlcard:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 22px 46px -30px rgba(16,24,32,.45)}
.dlcard__ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  background:rgba(0,193,207,.12);color:var(--accent-dark)}
.dlcard__ico .ico{width:1.3em;height:1.3em}
.dlcard__body{display:grid;gap:.2rem;min-width:0}
.dlcard__title{font-weight:700;color:var(--ink);font-size:1rem}
.dlcard__desc{font-size:.88rem;color:var(--body);line-height:1.55}
.dlcard__meta{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:.25rem}
.dlcard__cta{color:var(--muted)}
.dlcard__cta .ico{width:1.2em;height:1.2em}
a.dlcard:hover .dlcard__cta{color:var(--accent-dark)}

/* ---- Referral routes ---- */
.routes{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(275px,1fr))}
.route{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.6rem}
.route__ico{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;margin-bottom:1rem;
  background:rgba(0,193,207,.12);color:var(--accent-dark)}
.route__ico .ico{width:1.3em;height:1.3em}
.route__title{font-size:1.05rem;margin-bottom:.45em}
.route p{margin:0;font-size:.93rem;line-height:1.65}
.route__link{display:inline-flex;align-items:center;gap:.45rem;margin-top:.9rem;font-weight:700;font-size:.88rem;color:var(--accent-dark)}

/* ---- Long-string safety -------------------------------------------------
   Emails, URLs and long addresses must wrap rather than clip out of a card. */
.contactcard__v,.infocard__list span,.site-footer__addr span,.contact__v,
.mappanel__addr,.dlcard__title,.dlcard__desc,.glance dd,.card__title a,
.strip2__item span,.mega__heading,.mega__desc{overflow-wrap:anywhere}
.site-footer__addr a,.contact__item,.infocard__list li{min-width:0}

/* Fallback rendering for Yoast Local SEO shortcodes left in page bodies. */
ul.hours{list-style:none;margin:0;padding:0;font-size:.92rem;line-height:1.8}
address.vcard{font-style:normal;line-height:1.7}

/* ==========================================================================
   Clickable-card affordance
   --------------------------------------------------------------------------
   Patients were not realising these boxes were links: at rest they looked
   exactly like the static fact boxes beside them, and the only cue was a
   hover state, which does not exist on a phone at all.

   So the cue moves to the resting state — an accent rail down the left edge,
   a tinted icon chip and a visible chevron — and hover becomes a clear step
   up from that rather than the first sign of life.

   Scoped to anchors on purpose. A .glance or .infocard that is NOT a link
   must keep looking inert; giving a dead box the same treatment would be a
   worse failure than the one being fixed here.
   ========================================================================== */

a.dlcard,a.contactcard,a.tile,a.strip2__item,.card{
  position:relative;overflow:hidden;
  border-color:rgba(0,193,207,.34);
  box-shadow:0 1px 2px rgba(16,24,32,.04),0 12px 26px -22px rgba(16,24,32,.4);
}

/* The rail. 3px at rest, full accent and wider on hover. */
a.dlcard::before,a.contactcard::before,.card::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--accent);opacity:.55;
  transition:width .2s var(--ease),opacity .2s var(--ease);
}
a.dlcard:hover::before,a.contactcard:hover::before,.card:hover::before,
a.dlcard:focus-visible::before,a.contactcard:focus-visible::before,.card:focus-within::before{
  width:6px;opacity:1;
}

/* Hover is now a bigger move than it was, because rest already carries a cue. */
a.dlcard:hover,a.contactcard:hover,.card:hover{
  transform:translateY(-5px);
  border-color:var(--accent);
  box-shadow:0 1px 2px rgba(16,24,32,.05),0 30px 60px -30px rgba(16,24,32,.5);
}

/* The chevron: present at rest, slides on hover. */
a.dlcard .dlcard__cta .ico,.card__more .ico,.strip2__item .ico,.route__link .ico{
  transition:transform .2s var(--ease);
}
a.dlcard:hover .dlcard__cta .ico,.card:hover .card__more .ico,
.strip2__item:hover .ico,.route__link:hover .ico{transform:translateX(4px)}

a.dlcard .dlcard__cta,.card__more{color:var(--accent-dark);font-weight:600}

/* Tiles sit on dark ground, so the rail would disappear. They get a ring. */
a.tile{box-shadow:inset 0 0 0 1px rgba(0,193,207,.28)}
a.tile:hover{transform:translateY(-5px)}

/* Contact cards: the value is the call to action, so keep it accent at rest. */
a.contactcard .contactcard__v{color:var(--accent-dark)}
a.contactcard--accent .contactcard__v{color:#fff}

/* Touch devices never hover. Give them the resting cue and no lift. */
@media (hover:none){
  a.dlcard:hover,a.contactcard:hover,.card:hover,a.tile:hover{transform:none}
  a.dlcard::before,a.contactcard::before,.card::before{width:5px;opacity:.9}
}

@media (prefers-reduced-motion:reduce){
  a.dlcard,a.contactcard,.card,a.tile{transition:none}
  a.dlcard:hover,a.contactcard:hover,.card:hover,a.tile:hover{transform:none}
}
