/* glass.css: liquid-glass look for selected condition pages (narcissistic, eating disorder, dual diagnosis, borderline).
   Loaded after bundle.css, only on those pages. Calm mesh-gradient background, frosted glass cards, one blue accent, a mint secondary.
   Only transform, opacity and translate are animated. Big areas use a translucent fill; the blur is kept to small cards.
   (:not(#s):not(#s):not(#s) below is replaced with a specificity bump so these rules win over the bundle.) */

:root{
  --gl-bg:#f2f7fb; --gl-ink:#15283d; --gl-mut:#4a5f78; --gl-acc:#3a7bd5; --gl-acc-d:#2a62b4; --gl-mint:#7fe0c3;
  --gl-edge:rgba(255,255,255,.78); --gl-fill:rgba(255,255,255,.58); --gl-fill-s:rgba(255,255,255,.78);
  --gl-sh:0 1px 0 rgba(255,255,255,.7) inset,0 24px 48px -32px rgba(21,40,61,.38);
  --gl-ease:cubic-bezier(.22,1,.36,1);
}

/* ---------- background: four soft blobs that drift slowly ---------- */
html{background:var(--gl-bg)}
body:not(#s):not(#s):not(#s){background:transparent;color:var(--gl-ink)}
body::before,body::after{content:"";position:fixed;z-index:-1;pointer-events:none;width:80vmax;height:80vmax;border-radius:50%;will-change:transform}
body::before{left:-26vmax;top:-30vmax;background:radial-gradient(closest-side,rgba(207,227,247,.95),rgba(207,227,247,0));animation:gl-drift-a 24s ease-in-out infinite alternate}
body::after{right:-30vmax;bottom:-34vmax;background:radial-gradient(closest-side,rgba(191,241,226,.85),rgba(191,241,226,0));animation:gl-drift-b 28s ease-in-out infinite alternate}
main:not(#s):not(#s):not(#s){position:relative}
.ann:not(#s):not(#s):not(#s),footer:not(#s):not(#s):not(#s){position:relative;z-index:3}
main::before,main::after{content:"";position:fixed;z-index:-1;pointer-events:none;border-radius:50%;will-change:transform}
main::before{right:-12vmax;top:-18vmax;width:60vmax;height:60vmax;background:radial-gradient(closest-side,rgba(230,220,250,.85),rgba(230,220,250,0));animation:gl-drift-c 20s ease-in-out infinite alternate}
main::after{left:8vmax;bottom:-30vmax;width:56vmax;height:56vmax;background:radial-gradient(closest-side,rgba(255,255,255,.9),rgba(255,255,255,0));animation:gl-drift-a 26s ease-in-out infinite alternate-reverse}
@keyframes gl-drift-a{to{transform:translate3d(9vmax,6vmax,0) scale(1.08)}}
@keyframes gl-drift-b{to{transform:translate3d(-10vmax,-5vmax,0) scale(1.12)}}
@keyframes gl-drift-c{to{transform:translate3d(-7vmax,8vmax,0) scale(.94)}}

/* ---------- hero: one frosted panel, facts as floating glass cards ---------- */
.sp-hero--solo:not(#s):not(#s):not(#s){border:1px solid var(--gl-edge);background:linear-gradient(135deg,rgba(255,255,255,.74),rgba(255,255,255,.36));box-shadow:var(--gl-sh);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);border-radius:32px;overflow:visible}
.sp-hero--solo:not(#s):not(#s):not(#s)::before{right:-60px;bottom:-90px;width:300px;height:300px;border:0;background:radial-gradient(closest-side,rgba(127,224,195,.5),rgba(127,224,195,0));box-shadow:none;border-radius:50%;pointer-events:none;z-index:0}
.sp-hero--solo:not(#s):not(#s):not(#s) h1{color:var(--gl-ink) !important;font-weight:700 !important;letter-spacing:-.035em !important;line-height:1.04 !important}
.sp-hero--solo:not(#s):not(#s):not(#s) .sp-lede{color:var(--gl-mut)}
.sp-hero--solo:not(#s):not(#s):not(#s) .crumb a,.sp-hero--solo:not(#s):not(#s):not(#s) .crumb span{color:var(--gl-mut)}
.sp-hero--solo:not(#s):not(#s):not(#s) .sp-eyebrow{background:rgba(255,255,255,.7);border:1px solid var(--gl-edge);color:var(--gl-acc-d);box-shadow:0 1px 0 rgba(255,255,255,.8) inset}

.sp-hero--solo:not(#s):not(#s):not(#s) .sp-chips{gap:.6rem}
.sp-hero--solo:not(#s):not(#s):not(#s) .sp-chips li{padding:.5rem .95rem .5rem .75rem;border:1px solid var(--gl-edge);background:rgba(255,255,255,.62);color:var(--gl-ink);box-shadow:0 1px 0 rgba(255,255,255,.85) inset,0 10px 22px -16px rgba(21,40,61,.4);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%)}
.sp-hero--solo:not(#s):not(#s):not(#s) .sp-chips svg{color:var(--gl-acc)}

@media (min-width:1100px){
  .sp-hero--solo:not(#s):not(#s):not(#s) .sp-hero__txt{position:static}
  .sp-hero--solo:not(#s):not(#s):not(#s) .sp-hero__txt>*:not(.sp-chips){max-width:calc(100% - 380px)}
  .sp-hero--solo:not(#s):not(#s):not(#s) .sp-chips{position:absolute;right:clamp(1.6rem,3.4vw,3rem);top:50%;translate:0 -50%;display:grid;gap:0;width:300px;z-index:1;perspective:900px}
  .sp-hero--solo:not(#s):not(#s):not(#s) .sp-chips li{display:flex;gap:.8rem;margin:0 0 -.4rem;padding:1.05rem 1.3rem;border-radius:22px;font-size:1.02rem;font-weight:600;background:linear-gradient(135deg,rgba(255,255,255,.8),rgba(255,255,255,.46));-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 22px 36px -22px rgba(21,40,61,.45);transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .45s var(--gl-ease);animation:gl-in .8s var(--gl-ease) both,gl-bob 6s ease-in-out .8s infinite alternate}
  .sp-hero--solo:not(#s):not(#s):not(#s) .sp-chips li:nth-child(1){margin-left:-1.2rem;animation-delay:.12s,.92s}
  .sp-hero--solo:not(#s):not(#s):not(#s) .sp-chips li:nth-child(2){margin-left:1.4rem;animation-delay:.24s,1.04s;animation-duration:.8s,7s}
  .sp-hero--solo:not(#s):not(#s):not(#s) .sp-chips li:nth-child(3){margin-left:-.4rem;margin-bottom:0;animation-delay:.36s,1.16s;animation-duration:.8s,8s}
  .sp-hero--solo:not(#s):not(#s):not(#s) .sp-chips svg{width:22px;height:22px;padding:4px;border-radius:50%;background:rgba(127,224,195,.4);color:var(--gl-acc-d)}
}
@keyframes gl-in{from{opacity:0;translate:0 30px;filter:blur(10px)}to{opacity:1;translate:0 0;filter:blur(0)}}
@keyframes gl-bob{from{translate:0 0}to{translate:0 -8px}}

/* ---------- article: translucent panel, glass pictures, accent bullets ---------- */
.sp__in:not(#s):not(#s):not(#s){padding:clamp(1.3rem,3vw,2.6rem);border:1px solid var(--gl-edge);border-radius:32px;background:var(--gl-fill);box-shadow:var(--gl-sh)}
.sp__in:not(#s):not(#s):not(#s) h2.sp-opener,.sp__in:not(#s):not(#s):not(#s) h2,.sp__in:not(#s):not(#s):not(#s) h3{color:var(--gl-ink) !important;font-weight:700 !important;letter-spacing:-.025em !important}
.sp__in:not(#s):not(#s):not(#s) h2:not(.sp-opener):not(#s):not(#s):not(#s),.sp__in:not(#s):not(#s):not(#s) h3:not(#s){border-top:1px solid rgba(58,123,213,.16)}
.sp__in:not(#s):not(#s):not(#s) h2.sp-opener + p{color:var(--gl-ink)}
.sp__in:not(#s):not(#s):not(#s) p,.sp__in:not(#s):not(#s):not(#s) li{color:#243b55}
.sp__in:not(#s):not(#s):not(#s) a:not(.btn){color:var(--gl-acc-d);text-decoration-color:rgba(58,123,213,.4)}
.sp__in:not(#s):not(#s):not(#s) strong{color:var(--gl-ink)}
.sp__in:not(#s):not(#s):not(#s) ul:not(.sp-chips)>li::before{background:var(--gl-acc);box-shadow:0 0 0 4px rgba(127,224,195,.4)}
.sp__in:not(#s):not(#s):not(#s) figure.sp-fig{padding:8px;border:1px solid var(--gl-edge);border-radius:32px;background:rgba(255,255,255,.55);box-shadow:var(--gl-sh)}
.sp__in:not(#s):not(#s):not(#s) figure.sp-fig img{border-radius:24px;box-shadow:none}

/* ---------- FAQ: glass tiles ---------- */
.fq-q:not(#s):not(#s):not(#s){background:var(--gl-fill-s) !important;border:1px solid var(--gl-edge) !important;border-radius:20px !important;box-shadow:0 1px 0 rgba(255,255,255,.85) inset,0 14px 28px -24px rgba(21,40,61,.4) !important;-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%)}
.fq-q[open]:not(#s):not(#s):not(#s){border-color:rgba(58,123,213,.45) !important;box-shadow:0 1px 0 rgba(255,255,255,.85) inset,0 0 0 3px rgba(58,123,213,.1),0 18px 34px -24px rgba(58,123,213,.5) !important}
.fq-q:not(#s):not(#s):not(#s) summary{color:var(--gl-ink)}
.fq-q:not(#s):not(#s):not(#s) summary::after{background:rgba(127,224,195,.4);color:var(--gl-acc-d)}
.fq-q[open]:not(#s):not(#s):not(#s) summary::after{background:var(--gl-acc);color:#fff}
.fq-q:not(#s):not(#s):not(#s) summary:focus-visible{outline:3px solid rgba(58,123,213,.6);outline-offset:-3px}

/* ---------- related conditions: glass tiles ---------- */
.sp-rel:not(#s):not(#s):not(#s) ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;border:0}
.sp-rel:not(#s):not(#s):not(#s) li{border:0}
.sp-rel:not(#s):not(#s):not(#s) li a{height:100%;padding:1.1rem 1.25rem;border:1px solid var(--gl-edge);border-radius:22px;background:var(--gl-fill-s);box-shadow:0 1px 0 rgba(255,255,255,.85) inset,0 16px 30px -24px rgba(21,40,61,.4);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);transition:transform .35s var(--gl-ease),box-shadow .35s var(--gl-ease)}
.sp-rel:not(#s):not(#s):not(#s) li a:hover{padding-left:1.25rem;transform:translateY(-3px);box-shadow:0 1px 0 rgba(255,255,255,.85) inset,0 0 0 2px rgba(58,123,213,.3),0 24px 38px -24px rgba(58,123,213,.5)}
.sp-rel:not(#s):not(#s):not(#s) li a i{color:var(--gl-acc)}
.sp-rel:not(#s):not(#s):not(#s) h2{font-weight:700 !important;color:var(--gl-ink)}
.sp-partof:not(#s):not(#s):not(#s){color:var(--gl-mut)}

/* ---------- author, assessment and booking ---------- */
.author:not(#s):not(#s):not(#s){border:1px solid var(--gl-edge);border-radius:28px;background:var(--gl-fill-s);box-shadow:var(--gl-sh);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%)}
.author__img:not(#s):not(#s):not(#s){border-radius:20px}
.assess:not(#s):not(#s):not(#s){border:1px solid var(--gl-edge);border-radius:28px;background:linear-gradient(135deg,rgba(207,227,247,.8),rgba(191,241,226,.7));box-shadow:var(--gl-sh)}
.assess:not(#s):not(#s):not(#s) h2{color:var(--gl-ink);font-weight:700 !important}
.assess:not(#s):not(#s):not(#s) p{color:#33496a}
.bp__in:not(#s):not(#s):not(#s){max-width:none;margin-inline:0;padding:clamp(1.3rem,3vw,2.4rem);border:1px solid var(--gl-edge);border-radius:32px;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,255,255,.4));box-shadow:var(--gl-sh);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%)}
.bp:not(#s):not(#s):not(#s) h2,.bp:not(#s):not(#s):not(#s) .bp-k{color:var(--gl-ink)}
.bp:not(#s):not(#s):not(#s) .bp-k{color:var(--gl-acc-d)}
.bp-facts:not(#s):not(#s):not(#s) .bp-facts__ic{background:rgba(127,224,195,.4);color:var(--gl-acc-d)}
.bp-form:not(#s):not(#s):not(#s){border:1px solid var(--gl-edge);border-radius:26px;background:rgba(255,255,255,.88);box-shadow:0 1px 0 #fff inset,0 26px 44px -30px rgba(21,40,61,.45)}

/* ---------- buttons ---------- */
.sp__in:not(#s):not(#s):not(#s) .btn,.assess:not(#s):not(#s):not(#s) .btn,.bp:not(#s):not(#s):not(#s) .btn:not(.ghost):not(.wa){background:var(--gl-acc);border-color:var(--gl-acc);color:#fff;box-shadow:0 12px 24px -14px rgba(58,123,213,.9)}
.assess:not(#s):not(#s):not(#s) .btn:hover,.bp:not(#s):not(#s):not(#s) .btn:not(.ghost):not(.wa):hover{background:var(--gl-acc-d);border-color:var(--gl-acc-d)}
.bp-now:not(#s):not(#s):not(#s) .btn.ghost{background:rgba(255,255,255,.7);border-color:var(--gl-edge)}
:is(a,button,summary,input,textarea,select):focus-visible{outline:3px solid rgba(58,123,213,.65);outline-offset:3px}


/* the article column is as wide as the hero panel, so every box shares the same left and right edge */
article.sec.sp:not(#s):not(#s):not(#s){padding-inline:0}
.sp-rel:not(#s):not(#s):not(#s) li{margin:0;padding:0;border:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.sp-rel:not(#s):not(#s):not(#s) h2,.sp-partof:not(#s):not(#s):not(#s){padding-inline:.5rem}
.sp-rel:not(#s):not(#s):not(#s)>.more__a{display:inline-flex;margin:1.1rem 0 0 .5rem}

/* ---------- phones: fewer blobs, lighter blur, no floating cards ---------- */
@media (max-width:767px){
  body::before,body::after{width:110vmax;height:110vmax}
  main::after{display:none}
  article.sec.sp:not(#s):not(#s):not(#s){padding-inline:0}
  .sp__in:not(#s):not(#s):not(#s){padding:1.1rem}
  .sp-hero--solo:not(#s):not(#s):not(#s),.sp-hero--solo:not(#s):not(#s):not(#s) .sp-chips li,.fq-q:not(#s):not(#s):not(#s),.sp-rel:not(#s):not(#s):not(#s) li a,.author:not(#s):not(#s):not(#s),.bp__in:not(#s):not(#s):not(#s){-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%)}
  .sp__in:not(#s):not(#s):not(#s),.bp__in:not(#s):not(#s):not(#s),.sp-hero--solo:not(#s):not(#s):not(#s){border-radius:24px}
}

/* ---------- reduced motion: final states, nothing loops ---------- */
@media (prefers-reduced-motion:reduce){
  body::before,body::after,main::before,main::after{animation:none}
  .sp-hero--solo:not(#s):not(#s):not(#s) .sp-chips li{animation:none !important;transition:none !important;transform:none !important}
  .sp-rel:not(#s):not(#s):not(#s) li a{transition:none}
  .sp-rel:not(#s):not(#s):not(#s) li a:hover{transform:none}
}
