:root{
  --plum:#220325;
  --plum-mid:#3D1642;
  --lavender:#8876AA;
  --lavender-lift:#C4B6E0;
  --lavender-wash:#F4F1F8;
  --ink:#1E1522;
  --ink-70:#544B5B;
  --ink-50:#7A7181;
  --paper:#FFFFFF;
  --paper-2:#FBF9FC;
  --line:#E8E2EE;
  --line-strong:#D6CCE0;
  --star:#E5A32C;

  --sans:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;

  --shell:min(1180px,100% - 2.5rem);
  --nav-h:78px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--paper-2);color:var(--ink);font-family:var(--sans);
  font-size:clamp(1.0625rem,.3vw + 1rem,1.125rem);line-height:1.6;font-weight:400;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
body.is-locked{overflow:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:600;line-height:1.1;letter-spacing:-.024em;text-wrap:balance}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:2.5px solid var(--lavender);outline-offset:3px;border-radius:4px}
.shell{width:var(--shell);margin-inline:auto}
.skip{position:absolute;left:-9999px;top:0;background:var(--plum);color:#fff;padding:.9rem 1.4rem;z-index:200}
.skip:focus{left:0}
.h2{font-size:clamp(1.9rem,3.4vw,2.7rem)}
.lede{font-size:clamp(1.0625rem,.6vw + .95rem,1.1875rem);line-height:1.6;color:var(--ink-70)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:54px;padding:0 1.7rem;
  border-radius:999px;font-family:var(--sans);font-size:1.0625rem;font-weight:600;letter-spacing:-.008em;
  text-decoration:none;border:1.5px solid transparent;cursor:pointer;
  transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);
}
.btn--solid{background:var(--plum);color:#fff}
.btn--solid:hover{background:var(--plum-mid)}
.btn--line{background:transparent;color:var(--plum);border-color:var(--line-strong)}
.btn--line:hover{border-color:var(--plum);background:var(--lavender-wash)}
.btn--lav{background:var(--lavender);color:#fff}
.btn--lav:hover{background:#7A689C}
.btn--rev{background:transparent;color:#fff;border-color:rgba(255,255,255,.34)}
.btn--rev:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn--sm{min-height:46px;padding:0 1.25rem;font-size:1rem}
.nav{position:sticky;top:0;z-index:100;background:rgba(251,249,252,.86);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav .shell{display:flex;align-items:center;gap:1.5rem;min-height:var(--nav-h)}
.logo{display:block;flex:none;text-decoration:none}
.logo img{height:46px;width:auto}
.nav__links{display:flex;align-items:center;gap:.15rem;margin-left:auto}
.nav__links a{text-decoration:none;font-size:.9375rem;font-weight:500;padding:.55rem .8rem;border-radius:8px;transition:background .2s,color .2s}
.nav__links a:hover{background:var(--lavender-wash);color:var(--plum)}
.nav__cta{display:flex;align-items:center;gap:.7rem;margin-left:.75rem}
.nav__tel{display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;font-weight:600;font-size:.9375rem;color:var(--plum);white-space:nowrap}
.nav__tel:hover{color:var(--lavender)}
.nav-toggle{display:none;margin-left:auto;width:48px;height:48px;border:1px solid var(--line-strong);background:var(--paper);border-radius:12px;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.nav-toggle span{display:block;width:19px;height:1.7px;background:var(--plum);border-radius:2px}
@media (max-width:1060px){
  .nav__links,.nav__cta{display:none}
  .nav-toggle{display:flex}
  :root{--nav-h:70px}
  .logo img{height:42px}
}
.mobile-menu{
  position:fixed;inset:0;z-index:150;background:var(--plum);color:#fff;display:flex;flex-direction:column;
  padding:0 0 max(1.5rem,env(safe-area-inset-bottom));opacity:0;visibility:hidden;transform:translateY(-14px);
  transition:opacity .34s var(--ease),transform .34s var(--ease),visibility .34s;overflow-y:auto;
}
.mobile-menu.is-open{opacity:1;visibility:visible;transform:none}
.mobile-menu__top{display:flex;align-items:center;justify-content:space-between;min-height:var(--nav-h);padding-inline:1.25rem;margin-top:var(--nav-offset,0px);border-bottom:1px solid rgba(255,255,255,.14);flex:none}
.mobile-menu__top .logo img{height:42px}
.mobile-menu__list{padding:1rem 1.25rem .5rem}
.mobile-menu__list a{display:flex;align-items:center;min-height:62px;text-decoration:none;color:#fff;font-size:1.4rem;font-weight:500;letter-spacing:-.02em;border-bottom:1px solid rgba(255,255,255,.1);opacity:0;transform:translateY(12px)}
.mobile-menu.is-open .mobile-menu__list a{animation:menuIn .42s var(--ease) forwards}
.mobile-menu__foot{margin-top:auto;padding:1.5rem 1.25rem 0;display:grid;gap:.85rem}
.mobile-menu__tel{display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:54px;text-decoration:none;color:#fff;font-size:1.125rem;font-weight:600;border:1.5px solid rgba(255,255,255,.3);border-radius:999px}
@media (max-width:820px),(prefers-reduced-motion:reduce){
  .cards > .card{
    position:relative;top:auto;z-index:auto;min-height:0;display:block;
    border-radius:0;box-shadow:none;
    padding:clamp(3.25rem,9vw,4.5rem) 0;
  }
  
  .cards > .card + .card{border-radius:0;box-shadow:none;border-top:1px solid var(--line)}
  .cards > .card:first-child{padding-top:0}
}
@media (max-width:560px){
  .hero h1{max-width:none}
  .hero__actions .btn{width:100%}
  
  .proof{display:grid;grid-template-columns:1fr;gap:0;margin-top:2.25rem}
  .proof__item,.proof > .proof__meta{padding:.85rem 0;border-top:1px solid var(--line)}
  .proof__item{border-top:0;padding-top:0}
  .proof__rule{display:none}
}
.card .shell{position:relative;z-index:1}
@media (max-width:820px),(prefers-reduced-motion:reduce){
  .cards > .card--plum{position:relative}
}
.cond a{background:var(--paper);padding:1.7rem 1.6rem 1.5rem;text-decoration:none;display:flex;flex-direction:column;transition:background .28s var(--ease)}
.cond p{font-size:.9375rem;color:var(--ink-70);line-height:1.5}
.svc--flip .svc__media{order:-1}
.svc__media{position:relative}
.svc__media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:clamp(12px,1.2vw,18px);box-shadow:0 26px 52px -30px rgba(34,3,37,.38)}
.svc .lede{max-width:30rem}
@media (max-width:900px){
  .svc{grid-template-columns:1fr;gap:1.75rem}
  .svc--flip .svc__media{order:0}
  .svc__media img{aspect-ratio:16/10}
}
.team__shot img{width:100%;height:100%;object-fit:cover;border-radius:50%;transition:transform .5s var(--ease)}
.team__card:hover .team__shot img{transform:scale(1.06)}
.rev__meta{margin-top:.9rem;font-size:.9375rem;color:var(--ink-70)}
.fnd__media img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:clamp(12px,1.2vw,18px)}
.fnd p + p{margin-top:1rem}
.fnd ul{display:grid;gap:.6rem;margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.16)}
.prac__row a{display:inline-flex;align-items:center;min-height:44px;color:var(--plum);text-decoration-color:var(--line-strong);text-underline-offset:3px}
.ins__logos img{width:auto;object-fit:contain}
.ins__logos .ins--bcbs img{height:25px}
.ins__logos .ins--aetna img{height:25px}
.ins__logos .ins--uhc img{height:32px}
.ins__logos .ins--cigna img{height:42px}
.close-cta{position:relative;overflow:hidden;text-align:center;padding:clamp(4rem,7vw,6rem) 0;background:var(--plum);color:#fff}
.close-cta .shell{position:relative;z-index:1}
.close-cta p{max-width:44ch;margin:1.15rem auto 2.1rem;color:rgba(255,255,255,.74)}
@media (max-width:560px){.close-cta__actions .btn{width:100%}}
.foot{background:var(--plum);color:rgba(255,255,255,.62);padding:0 0 2rem;font-size:.9375rem}
.foot__grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:clamp(1.75rem,3.5vw,3rem);padding:clamp(2.25rem,4vw,3rem) 0 2rem;border-top:1px solid rgba(255,255,255,.14)}
.foot .logo img{height:48px}
.foot__blurb{margin:1rem 0 1.25rem;max-width:24rem;line-height:1.55;font-size:.875rem}
.foot h3{font-size:.625rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--lavender-lift);margin-bottom:1rem}
.foot li + li{margin-top:.1rem}
.foot a{text-decoration:none;transition:color .2s}
.foot a:hover{color:#fff}
.foot ul:not(.foot__contact) a{display:inline-flex;align-items:center;min-height:33px}
.foot__contact li{display:flex;gap:.7rem;align-items:flex-start;line-height:1.5;padding-block:.1rem}
.foot__contact svg{width:16px;height:16px;flex:none;margin-top:.5rem;stroke:var(--lavender);stroke-width:1.8;fill:none}
.foot__contact a{display:inline-flex;align-items:center;min-height:33px}
@media (pointer:coarse){
  .foot ul:not(.foot__contact) a,.foot__contact a{min-height:44px}
  .foot__contact svg{margin-top:.72rem}
}
.foot__social{display:flex;gap:.55rem;margin-top:1.25rem}
.foot__social a{width:46px;height:46px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:border-color .25s,background .25s}
.foot__social a:hover{border-color:var(--lavender-lift);background:rgba(255,255,255,.07)}
.foot__social svg{width:16px;height:16px;fill:currentColor}
.foot__bottom{padding-top:1.4rem;display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 2rem;justify-content:space-between;font-size:.8125rem;color:rgba(255,255,255,.5);border-top:1px solid rgba(255,255,255,.1)}
.foot__bottom ul{display:flex;flex-wrap:wrap;gap:0 1.5rem}
.foot__bottom li + li{margin-top:0}
@media (max-width:900px){
  .foot__grid{grid-template-columns:1fr 1fr;gap:1.5rem 2rem}
  
  .foot__grid > div:first-child,.foot__grid > div:last-child{grid-column:1/-1}
  .foot__blurb{max-width:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .spot__slide{position:relative;opacity:1;visibility:visible;transform:none}
  .spot__slide + .spot__slide{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line)}
  .spot__nav{display:none}
}

/* the mobile-menu links are opacity:0 until this runs. it was dropped by the
   original rule-level extraction, which only matched selector blocks, so the
   interior menus opened blank while the homepage (inline CSS) worked. */
@keyframes menuIn{to{opacity:1;transform:none}}


/* ============================================================
   Content pages. Layered on top of _core.css (tokens, nav,
   footer, buttons, shell), which is lifted verbatim from the
   homepage so the chrome is pixel-identical across the site.
   These rules only cover what content pages need and the
   homepage does not have: page headers, prose, hub grids,
   condition cross-links, FAQ, CTA bands.
   ============================================================ */

/* ---------- page header ---------- */
.phead{position:relative;overflow:hidden;background:var(--lavender-wash);border-bottom:1px solid var(--line)}
.phead .shell{position:relative;z-index:1;padding:calc(var(--nav-h) + clamp(2.5rem,5vw,4.5rem)) 0 clamp(2.5rem,4vw,3.75rem)}
.phead__wash{position:absolute;inset:0;opacity:.16;pointer-events:none;
  background:url("/images/ridge.jpg") center/cover no-repeat;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,transparent 92%);
          mask-image:linear-gradient(to bottom,#000 0%,transparent 92%)}
.phead h1{font-size:clamp(2.1rem,4.4vw,3.4rem);max-width:20ch}
.phead .lede{margin-top:1.15rem;max-width:56ch}
.crumbs{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;font-size:.8125rem;color:var(--ink-50);margin-bottom:1.1rem}
.crumbs a{color:var(--lavender);text-decoration:none;font-weight:600}
.crumbs a:hover{text-decoration:underline}
.crumbs span{opacity:.55}

/* ---------- generic section rhythm ---------- */
/* explicit background: the fixed plum over-scroll backdrop sits at z-index -1,
   so any transparent section would let it bleed through mid-page. */
.sec{padding:clamp(3rem,6vw,5rem) 0;background:var(--paper-2,#FBF9FC)}
.sec--wash{background:var(--lavender-wash)}
.sec--paper{background:var(--paper-2,#FBF9FC)}
.sec__head{max-width:62ch;margin-bottom:clamp(1.75rem,3vw,2.5rem)}
.sec__head .lede{margin-top:.9rem}

/* ---------- prose ---------- */
.prose{max-width:68ch;font-size:1.0625rem;line-height:1.72;color:var(--ink-70)}
.prose > * + *{margin-top:1.15rem}
.prose h2{font-size:clamp(1.4rem,2.4vw,1.85rem);color:var(--ink);margin-top:2.5rem;letter-spacing:-.022em}
.prose h3{font-size:1.125rem;color:var(--ink);margin-top:1.9rem}
.prose strong{color:var(--ink);font-weight:600}
.prose ul{padding-left:0}
.prose li{position:relative;padding-left:1.6rem;margin-top:.6rem}
.prose li::before{content:"";position:absolute;left:.35rem;top:.72em;width:5px;height:5px;border-radius:50%;background:var(--lavender)}
.prose a{color:var(--plum);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose a:hover{color:var(--lavender)}

/* ---------- hub / card grids ---------- */
.grid{display:grid;gap:clamp(.9rem,1.8vw,1.35rem)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--2{grid-template-columns:repeat(2,1fr)}
@media (max-width:900px){.grid--3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.grid--3,.grid--2{grid-template-columns:1fr}}

.tile{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:16px;
  padding:clamp(1.4rem,2.4vw,1.9rem);text-decoration:none;color:inherit;
  transition:border-color .28s var(--ease),transform .28s var(--ease),box-shadow .28s var(--ease)}
a.tile:hover{border-color:var(--lavender);transform:translateY(-3px);box-shadow:0 14px 34px rgba(34,3,37,.09)}
.tile h3{font-size:1.0625rem;letter-spacing:-.012em}
.tile p{margin-top:.55rem;font-size:.9375rem;line-height:1.6;color:var(--ink-70)}
.tile__more{margin-top:auto;padding-top:1.1rem;font-size:.875rem;font-weight:600;color:var(--lavender);display:inline-flex;align-items:center;gap:.4rem}
a.tile:hover .tile__more{gap:.65rem}
.tile__more svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .28s var(--ease)}

/* covered-here chip list, used on hubs to expose the sub-topics
   without giving each one a thin page of its own */
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem;padding:0;list-style:none}
.chips li{font-size:.8125rem;font-weight:600;color:var(--ink-70);background:var(--lavender-wash);
  border:1px solid var(--line);border-radius:999px;padding:.42rem .85rem}

/* ---------- FAQ ---------- */
.faq{max-width:72ch}
.faq details{border-bottom:1px solid var(--line);padding:1.15rem 0}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;font-weight:600;font-size:1.0625rem;color:var(--ink);
  display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:11px;height:11px;margin-top:.42em;border-right:2px solid var(--lavender);
  border-bottom:2px solid var(--lavender);transform:rotate(45deg);transition:transform .28s var(--ease)}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq details > div{margin-top:.85rem;color:var(--ink-70);line-height:1.68;max-width:64ch}

/* ---------- closing CTA band ---------- */
.cta{background:var(--plum);color:#fff;text-align:center;padding:clamp(3.25rem,6vw,5rem) 0}
.cta h2{font-size:clamp(1.7rem,3.2vw,2.5rem);color:#fff}
.cta p{margin:1rem auto 0;max-width:48ch;color:rgba(255,255,255,.76);line-height:1.65}
.cta__row{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:2rem}
@media (max-width:520px){.cta__row .btn{width:100%}}

/* ---------- related links strip ---------- */
.related{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem;padding:0;list-style:none}
.related a{display:inline-block;font-size:.875rem;font-weight:600;color:var(--plum);background:var(--paper);
  border:1px solid var(--line-strong);border-radius:999px;padding:.55rem 1.05rem;text-decoration:none;
  transition:border-color .25s var(--ease),background .25s var(--ease)}
.related a:hover{border-color:var(--lavender);background:var(--lavender-wash)}

/* ---------- two-column split ---------- */
.split{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,4vw,3.5rem);align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:2.25rem}}
.aside{background:var(--lavender-wash);border:1px solid var(--line);border-radius:18px;padding:clamp(1.5rem,2.6vw,2rem);position:sticky;top:calc(var(--nav-h) + 1.25rem)}
@media (max-width:900px){.aside{position:static}}
.aside h3{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--lavender);margin-bottom:1rem}
.aside dl{margin:0}
.aside dt{font-size:.8125rem;color:var(--ink-50);margin-top:.9rem}
.aside dd{margin:.1rem 0 0;font-weight:600;color:var(--ink)}
.aside .btn{width:100%;margin-top:1.5rem}

/* touch targets, matching the homepage contract */
@media (pointer:coarse){
  .crumbs a,.related a,.faq summary{min-height:44px;display:flex;align-items:center}
  .faq summary{justify-content:space-between}
}

/* ============================================================
   Reviews marquee. Ported from the React/Framer pattern to
   plain CSS because this site has no framework: three columns
   scrolling at staggered speeds behind a fade mask.

   The list is rendered TWICE inside each column and the track
   translates -50%, so the loop is seamless with no JS.

   No avatar photographs. The source pattern uses stock portraits,
   which on a psychiatry practice would mean inventing faces for
   real patients. Initials only, and reviews stay first-name-plus
   -initial for the same reason.
   ============================================================ */
.marq{
  display:flex;justify-content:center;gap:clamp(1rem,2vw,1.5rem);
  max-height:min(740px,78vh);overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent);
          mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent);
}
.marq__col{flex:0 1 320px;min-width:0}
.marq__track{display:flex;flex-direction:column;gap:clamp(1rem,2vw,1.5rem);animation:marq var(--dur,18s) linear infinite;will-change:transform}
@keyframes marq{from{transform:translateY(0)}to{transform:translateY(-50%)}}
.marq:hover .marq__track,.marq:focus-within .marq__track{animation-play-state:paused}

.rev{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:22px;
  padding:clamp(1.5rem,2.6vw,2rem);box-shadow:0 10px 30px rgba(34,3,37,.05)}
.rev__stars{display:flex;gap:2px;margin-bottom:.9rem}
.rev__stars svg{width:15px;height:15px;fill:#F2B01E}
.rev__text{font-size:.9375rem;line-height:1.68;color:var(--ink-70);margin:0}
.rev__by{display:flex;align-items:center;gap:.7rem;margin-top:1.25rem}
.rev__ini{width:38px;height:38px;flex:none;border-radius:50%;background:var(--lavender-wash);
  color:var(--lavender);display:flex;align-items:center;justify-content:center;
  font-size:.8125rem;font-weight:700;letter-spacing:.02em}
.rev__name{font-weight:600;font-size:.9375rem;line-height:1.25;color:var(--ink)}
.rev__src{font-size:.8125rem;color:var(--ink-50);line-height:1.3;display:flex;align-items:center;gap:.3rem}
.rev__src svg{width:12px;height:12px}
.rev__toggle{display:none;min-height:44px;margin-top:.35rem;padding:0;border:0;background:transparent;
  color:var(--lavender);font:600 .875rem/1 var(--sans);text-decoration:underline;
  text-underline-offset:3px;cursor:pointer}
.rev__toggle:hover{color:var(--plum)}
.rev__toggle:focus-visible{outline:2px solid var(--lavender);outline-offset:4px;border-radius:2px}

@media (max-width:1024px){.marq__col:nth-child(3){display:none}}
@media (max-width:760px){
  .marq__col:nth-child(2){display:none}
  .marq{display:block;max-height:none;overflow:visible;-webkit-mask-image:none;mask-image:none}
  .marq__col{width:100%;max-width:none;flex:none}
  .marq__track{gap:.875rem;animation:none}
  .rev{width:100%;padding:1.25rem;border-radius:16px;box-shadow:0 8px 24px rgba(34,3,37,.045)}
  .rev__text{font-size:1rem;line-height:1.58}
  .reviews-enhanced .rev__text:not(.is-expanded){display:-webkit-box;-webkit-box-orient:vertical;
    -webkit-line-clamp:8;line-clamp:8;overflow:hidden}
  .reviews-enhanced .rev__toggle{display:inline-flex;align-items:center}
  .reviews-enhanced .rev__toggle[hidden]{display:none}
  /* on one narrow column an endless scroll traps the reader, so the
     duplicate half is dropped and the list just sits still */
  .marq__track > .rev:nth-child(n+9){display:none}
}
@media (prefers-reduced-motion:reduce){
  .marq{max-height:none;overflow:visible;-webkit-mask-image:none;mask-image:none}
  .marq__track{animation:none}
  .marq__track > .rev:nth-child(n+9){display:none}
}


/* iOS rubber-band over-scroll paints the HTML element's background in the gap
   past the end of the document. The footer is plum and the page is paper, so
   over-scrolling at the bottom showed a large light void under a dark footer.
   Painting the lower half of the fixed backdrop plum makes that gap match the
   footer. z-index -1 keeps it behind every section, all of which set their own
   background, so nothing else is affected. */
html{background:var(--paper-2,#FBF9FC)}
body{position:relative}
body::after{content:"";position:fixed;left:0;right:0;bottom:0;height:60vh;
  background:var(--plum);z-index:-1;pointer-events:none}


/* agency byline in the footer legal row */
.foot__by{display:inline-block;margin-left:.35rem;opacity:.72}
.foot__by a{color:#fff;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.foot__by a:hover{opacity:1;text-decoration-thickness:2px}


/* ---------- SPRAVATO Consumer ISI ----------
   Regulated text reproduced verbatim under Janssen's toolkit terms. Set smaller
   and tighter than body copy so it reads as the safety block it is, but never
   hidden, collapsed or truncated: the requirement is that patients can read it. */
.isi{font-size:.9375rem;line-height:1.6}
.isi h3{font-size:1rem;margin-top:1.9rem;color:var(--ink)}
.isi ul{margin-top:.6rem}
.isi li{margin-top:.4rem}
.isi ul ul{margin-top:.35rem;margin-left:.4rem}
.isi ul ul li::before{background:var(--ink-50);width:4px;height:4px}
.isi__cols{columns:2;column-gap:2rem}
@media (max-width:640px){.isi__cols{columns:1}}
.isi__cols li{break-inside:avoid}
.isi__docs{margin-top:2rem;padding:1.1rem 1.25rem;background:var(--paper);
  border:1px solid var(--line-strong);border-radius:12px}
.isi__tm{margin-top:1rem;font-size:.8125rem;color:var(--ink-50)}

/* ---------- editorial photo band ----------
   The interior pages were 25 copies of one template with no photography at all,
   while the practice had real pictures of its own office sitting unused. This
   band sits between the page header and the prose on hub pages, which both
   warms the page and gives the page types different shapes. */
.band{position:relative;margin:0;background:var(--plum)}
.band img{display:block;width:100%;height:clamp(240px,34vw,420px);object-fit:cover;
  opacity:.94;transition:opacity .6s var(--ease),transform 1.2s var(--ease)}
.band figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.5rem clamp(1.25rem,4vw,3rem) 1.15rem;
  font-size:.8125rem;color:rgba(255,255,255,.9);
  background:linear-gradient(to top,rgba(34,3,37,.72),transparent)}
.band figcaption span{display:block;max-width:min(1200px,100% - 2.5rem);margin-inline:auto}

/* ---------- page header, with more presence ----------
   The ridge watermark was set at .16 and read as a flat gradient rather than an
   image. Raised, and given a lavender floor so the band has weight. */
.phead__wash{opacity:.28}
.phead::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(to right,transparent,var(--lavender),transparent);opacity:.5}

/* ---------- scroll reveal ----------
   Interior pages had no motion at all while the homepage animates throughout.
   Transform-only so it never triggers layout, and fully disabled for anyone
   who asks for reduced motion. */
.rise{opacity:0;transform:translateY(14px);
  transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rise.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .rise{opacity:1;transform:none;transition:none}
  .band img{transition:none}
}
