/* Dr. Sasha R. Sioni — Concept 2: Cinematic + Intimate
   Palette: dark forest, sage, warm sand, golden accent
*/

@font-face{
  font-family:"Inter";
  font-style:normal;font-weight:400;font-display:swap;
  src:url("/assets/fonts/Inter-Regular.woff2") format("woff2");
}
@font-face{
  font-family:"Inter";
  font-style:normal;font-weight:600;font-display:swap;
  src:url("/assets/fonts/Inter-SemiBold.woff2") format("woff2");
}

:root{
  --max-width:1140px;
  --body-width:800px;
  --pad:1.25rem;

  --bg:#FAF7F2;
  --bg-deep:#F3EDE3;
  --surface:#FFFFFF;
  --surface-tint:rgba(91,123,107,0.06);

  --text:#2C2C2A;
  --muted:#605F59;

  --primary:#5B7B6B;
  --primary-light:rgba(91,123,107,0.08);
  --primary-mid:rgba(91,123,107,0.15);

  --accent:#C4956A;
  --accent-light:rgba(196,149,106,0.12);

  --dark:#1E2A24;
  --dark-mid:#263530;

  --border:rgba(44,44,42,0.09);
  --radius:14px;
  --radius-sm:10px;
  --radius-pill:100px;

  --shadow-sm:0 1px 4px rgba(0,0,0,0.03);
  --shadow:0 2px 12px rgba(0,0,0,0.06);
  --focus:0 0 0 4px rgba(91,123,107,0.22);

  --serif:Georgia,"Iowan Old Style","Palatino Linotype",Palatino,serif;
  --sans:"Inter","Avenir Next","Segoe UI",system-ui,-apple-system,sans-serif;
}

*{box-sizing:border-box;}
img{max-width:100%;height:auto;}
html{scroll-behavior:smooth;}

body{
  margin:0;
  font-family:var(--sans);
  font-size:16px;
  line-height:1.65;
  color:var(--text);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

a{color:var(--primary);text-underline-offset:.18em;}
a:hover{color:#4a6a5a;}
a:focus-visible{outline:none;box-shadow:var(--focus);border-radius:6px;}

/* ── Layout ── */
.container{
  width:var(--max-width);
  max-width:100%;
  margin:0 auto;
  padding:0 var(--pad);
}
.body-narrow{
  max-width:var(--body-width);
  margin:0 auto;
  padding:0 var(--pad);
}
.body-wide{
  max-width:960px;
  margin:0 auto;
  padding:0 var(--pad);
}

/* ── Header / Nav ── */
.site-header{
  position:absolute;
  top:0;left:0;right:0;
  z-index:50;
  padding:0 var(--pad);
}
.site-header.is-sticky{
  position:sticky;
  background:var(--dark);
}
.site-header .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:60px;
  overflow:visible;
}
.brand{
  font-weight:600;
  font-size:15px;
  color:rgba(255,255,255,0.92);
  text-decoration:none;
  letter-spacing:-0.01em;
  display:flex;
  align-items:flex-end;
}
.brand svg{flex-shrink:0;}
.brand:hover{color:#fff;}

.nav-desktop ul{
  list-style:none;
  display:flex;
  align-items:center;
  gap:28px;
  padding:0;margin:0;
}
.nav-desktop a{
  text-decoration:none;
  color:rgba(255,255,255,0.7);
  font-size:13px;
  font-weight:450;
  padding:6px 0;
  transition:color .2s;
}
.nav-desktop a:hover{
  color:rgba(255,255,255,0.95);
}
.nav-desktop a[aria-current="page"]{
  color:#fff;
  border-bottom:2px solid rgba(255,255,255,0.6);
  padding-bottom:4px;
}

a.nav-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 28px;
  border-radius:100px;
  background:transparent;
  border:1.5px solid var(--accent);
  color:var(--accent);
  font-weight:500;
  font-size:13px;
  line-height:1;
  text-decoration:none;
  transition:background .2s,color .2s,border-color .2s;
  white-space:nowrap;
  flex-shrink:0;
}
a.nav-cta:hover{background:rgba(196,149,106,0.12);border-color:var(--accent);color:var(--accent);}

/* Mobile nav */
.nav-mobile{display:none;}
.nav-mobile-summary{
  list-style:none;
  cursor:pointer;
  padding:.4rem .7rem;
  border-radius:6px;
  color:#fff;
  font-weight:600;
}
.nav-mobile-summary::-webkit-details-marker{display:none;}
.nav-mobile-summary::after{content:"☰";font-size:1.8rem;}
.nav-mobile[open] .nav-mobile-summary::after{content:"✕";}
.nav-mobile-panel{
  position:absolute;
  top:56px;right:var(--pad);left:var(--pad);
  padding:1rem;
  border-radius:var(--radius);
  background:var(--surface);
  box-shadow:var(--shadow);
  border:1px solid var(--border);
  z-index:60;
}
.nav-mobile-panel ul{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:2px;
}
.nav-mobile-panel a{
  display:block;padding:.6rem .75rem;
  border-radius:var(--radius-sm);
  color:var(--text);text-decoration:none;
  font-size:15px;font-weight:500;
}
.nav-mobile-panel a:hover{background:var(--primary-light);}
.nav-mobile-panel a[aria-current="page"]{background:var(--primary-light);color:var(--primary);}
.nav-mobile-panel .nav-cta{
  display:block;text-align:center;
  margin-top:.75rem;
  background:transparent;color:var(--accent);
  border:1.5px solid var(--accent);padding:10px;
  border-radius:100px;
}

/* ── Hero (homepage only) ── */
.hero-dark{
  background:var(--dark);
  padding:140px var(--pad) 80px;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.hero-dark .hero-ring{
  position:absolute;
  top:50%;left:50%;
  border-radius:50%;
  border:1px solid rgba(91,123,107,0.07);
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.hero-dark .hero-ring.lg{width:600px;height:600px;}
.hero-dark .hero-ring.sm{width:440px;height:440px;border-color:rgba(91,123,107,0.04);}

.hero-inner{
  position:relative;
  max-width:680px;
  margin:0 auto;
}
.hero-headshot{
  width:270px;height:270px;
  border-radius:50%;
  border:4px solid rgba(255,255,255,0.12);
  box-shadow:0 8px 32px rgba(0,0,0,0.18);
  object-fit:cover;
  margin:0 auto 28px;
  display:block;
  background:var(--dark-mid);
}
.hero-kicker{
  font-family:var(--sans);
  font-size:11px;
  color:var(--accent);
  letter-spacing:0.14em;
  text-transform:uppercase;
  font-weight:600;
  margin-bottom:20px;
}
.hero-dark h1{
  font-family:var(--serif);
  font-size:42px;
  font-weight:400;
  color:#fff;
  line-height:1.2;
  margin:0 auto 16px;
  letter-spacing:-0.02em;
}
.hero-quote{
  font-family:var(--serif);
  font-size:17px;
  color:rgba(255,255,255,0.65);
  font-style:italic;
  line-height:1.55;
  margin:0 auto 28px;
  max-width:520px;
}
.hero-sub{
  font-family:var(--sans);
  font-size:17px;
  color:rgba(255,255,255,0.72);
  line-height:1.6;
  margin:0 auto 36px;
  max-width:520px;
}
.hero-actions{
  display:flex;gap:14px;justify-content:center;flex-wrap:wrap;
}

/* ── Page Header (subpages) ── */
.page-header{
  background:var(--dark);
  padding:100px var(--pad) 48px;
}
.page-header .body-narrow{text-align:left;}
.page-header .kicker{
  font-family:var(--sans);
  font-size:11px;
  color:var(--accent);
  letter-spacing:0.14em;
  text-transform:uppercase;
  font-weight:600;
  display:block;
  margin-bottom:12px;
}
.page-header h1{
  font-family:var(--serif);
  font-size:36px;
  font-weight:400;
  color:#fff;
  line-height:1.2;
  margin:0 0 12px;
  letter-spacing:-0.02em;
}
.page-header .page-desc{
  font-size:15px;
  color:rgba(255,255,255,0.62);
  line-height:1.6;
  margin:0;
  max-width:560px;
}
.page-header .page-desc-sub{
  font-size:13px;
  color:rgba(255,255,255,0.42);
  line-height:1.55;
  margin:10px 0 0;
  max-width:560px;
  font-family:var(--sans);
}

/* ── Badge Strip ── */
.badge-strip{
  background:var(--primary);
  padding:14px var(--pad);
  display:flex;
  justify-content:center;
  gap:32px;
  flex-wrap:wrap;
}
.badge-strip span{
  font-size:12px;color:#fff;font-weight:500;opacity:0.9;
}

/* ── Buttons ── */
.btn{
  display:inline-block;
  text-decoration:none;
  padding:14px 32px;
  border-radius:var(--radius-sm);
  font-weight:600;
  font-size:15px;
  cursor:pointer;
  transition:filter .2s,background .2s;
  border:none;
}
.btn-accent{background:var(--dark);color:#fff;border:2px solid var(--accent);padding:8px 20px;}
.btn-accent:hover{background:var(--dark-mid);color:#fff;}
.btn-sm.btn-accent{padding:7px 16px;}
.btn-sm.btn-outline-light{padding:7px 16px;border-width:2px;}
.btn-outline-light{
  background:transparent;
  color:rgba(255,255,255,0.85);
  border:2px solid rgba(255,255,255,0.35);
  padding:8px 20px;
}
.btn-outline-light:hover{background:rgba(255,255,255,0.06);color:#fff;}
.btn.btn-eval{background:var(--primary);color:#fff;border:2px solid var(--primary);padding:8px 20px;}
.btn-eval:hover{filter:brightness(1.1);color:#fff;}
.btn-primary{background:var(--primary);color:#fff;}
.btn-primary:hover{filter:brightness(1.05);color:#fff;}
.btn-secondary{
  background:transparent;
  color:var(--primary);
  border:1.5px solid var(--primary);
}
.btn-secondary:hover{background:var(--primary-light);color:var(--primary);}
.btn-sm{padding:10px 22px;font-size:13px;}
.btn-dark{background:var(--dark);color:#fff;}
.btn-dark:hover{background:var(--dark-mid);color:#fff;}
.btn-white{background:#fff;color:var(--dark);}
.btn-white:hover{background:rgba(255,255,255,0.9);color:var(--dark);}

.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:1.25rem;}

/* ── Cards ── */
.card{
  background:var(--surface);
  border-radius:var(--radius);
  padding:28px 28px;
  box-shadow:var(--shadow-sm);
  border:1px solid var(--border);
}
.card-accent-left{border-left:4px solid var(--primary);border-radius:0;}
.card-accent-left.gold{border-left-color:var(--accent);}
.card-accent-left.steel{border-left-color:#7B8E9B;}
.card-accent-top{border-top:3px solid var(--primary);border-radius:0 0 var(--radius) var(--radius);}
.card-accent-top.gold{border-top-color:var(--accent);}
.card-accent-top.steel{border-top-color:#7B8E9B;}

.card-tinted{
  background:var(--primary-light);
  border:none;
  border-radius:var(--radius);
  padding:28px 28px;
}
.card-dark{
  background:var(--dark);
  border-radius:var(--radius);
  padding:28px 28px;
  color:#fff;
}

/* ── Typography ── */
h1{
  font-family:var(--serif);
  font-size:32px;
  font-weight:400;
  line-height:1.2;
  letter-spacing:-0.02em;
  margin:0 0 .75rem;
  color:var(--text);
}
h2{
  font-family:var(--serif);
  font-size:22px;
  font-weight:500;
  line-height:1.25;
  margin:1.75rem 0 .6rem;
  color:var(--text);
}
h3{
  font-family:var(--sans);
  font-size:16px;
  font-weight:600;
  line-height:1.35;
  margin:1.25rem 0 .4rem;
  color:var(--text);
}
.card h2:first-child,.card h3:first-child{margin-top:0;}

p{margin:.6rem 0;}
.muted{color:var(--muted);}
.tiny{font-size:14px;color:var(--muted);}
.kicker{
  font-size:11px;
  color:var(--primary);
  letter-spacing:0.12em;
  text-transform:uppercase;
  font-weight:600;
  display:block;
  margin-bottom:8px;
}

/* ── Section spacing ── */
main{padding:48px 0 56px;}
.section{margin-top:24px;}
.section-gap{margin-top:48px;}
.divider{
  width:40px;height:3px;
  background:var(--accent);
  border-radius:2px;
  margin:48px auto;
}
hr{border:0;border-top:1px solid var(--border);margin:1.75rem 0;}

/* ── Grids ── */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;}
@media(max-width:860px){.grid-2{grid-template-columns:1fr;}}
@media(max-width:980px){.grid-3{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.grid-3{grid-template-columns:1fr;}}

/* ── Lists ── */
.list-clean{padding-left:1.1rem;max-width:72ch;}
.list-clean li{
  color:var(--muted);font-size:15px;
  padding-bottom:10px;
  list-style:none;position:relative;
}
.list-clean li::before{
  content:'';position:absolute;
  width:6px;height:6px;
  background:var(--primary);
  left:-16px;top:9px;
  border-radius:50%;
}

/* ── Steps (how therapy works) ── */
.step-row{
  display:flex;gap:16px;align-items:flex-start;
  padding:16px 0;
}
.step-row+.step-row{border-top:1px solid var(--border);}
.step-num{
  width:36px;height:36px;
  border-radius:50%;
  background:var(--accent);
  color:#fff;
  font-family:var(--serif);
  font-size:15px;font-weight:600;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.step-title{font-weight:600;font-size:15px;color:var(--text);margin-bottom:3px;}
.step-desc{font-size:13px;color:var(--muted);line-height:1.55;}

/* ── Practical details grid ── */
.detail-item{margin-bottom:12px;}
.detail-label{
  font-size:11px;
  color:var(--primary);
  text-transform:uppercase;
  letter-spacing:0.06em;
  font-weight:600;
  margin-bottom:2px;
}
.detail-value{font-size:14px;color:var(--text);line-height:1.5;}

/* ── Table-like (FAQ / steps) ── */
.table-like{border:1px solid var(--border);padding:16px;border-radius:var(--radius-sm);}
.table-row{
  display:flex;gap:40px;
  border-bottom:1px solid rgba(0,0,0,0.04);
  padding:14px 0;
}
.table-row:last-child{border-bottom:0;padding-bottom:0;}
.table-row .left{font-size:15px;color:var(--text);font-weight:500;width:30%;flex-shrink:0;}
.table-row .right{font-size:15px;color:var(--muted);}

/* ── Notice ── */
.notice{
  padding:16px 24px;
  background:var(--surface);
  border-radius:var(--radius-sm);
  border:1px solid var(--border);
  text-align:center;
  font-size:13px;
  color:var(--muted);
  line-height:1.55;
}
.notice strong{color:var(--text);}

/* ── About headshot ── */
.about-headshot img{
  width:100%;max-width:280px;
  border-radius:var(--radius);
  border:3px solid var(--primary-mid);
  box-shadow:0 4px 20px rgba(91,123,107,0.12);
}

/* ── About credential summary ── */
.cred-summary{
  font-size:13px;
  color:var(--muted);
  line-height:1.6;
  margin:0 0 14px;
}
.cred-summary strong{color:var(--text);font-weight:600;}

/* ── Embed ── */
.embed-frame{
  width:100%;min-height:720px;
  border:0;border-radius:var(--radius-sm);
  background:#fff;
}

/* ── Trust band / badges ── */
.trust-band{
  display:flex;gap:10px;flex-wrap:wrap;
  margin:1rem 0;
}
.badge{
  display:inline-block;
  background:var(--primary-light);
  padding:8px 32px;
  border-radius:var(--radius-pill);
  color:var(--primary);
  font-size:13px;font-weight:500;
}

/* ── Footer ── */
.site-footer{
  background:var(--dark);
  padding:52px var(--pad) 0;
  margin-top:24px;
}
.footer-inner{
  max-width:var(--max-width);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr;
  gap:48px;
}
.footer-title{
  font-family:var(--serif);
  font-size:24px;font-weight:500;
  color:#fff;margin:0 0 5px;
}
.footer-tagline{
  font-size:12px;
  color:rgba(255,255,255,0.60);
  line-height:1.5;margin:0 0 18px;
}
.footer-divider{
  border:none;
  border-top:1px solid rgba(255,255,255,0.08);
  margin:0 0 16px;
}
.footer-cred-name{
  font-size:13px;
  color:rgba(255,255,255,0.82);
  margin:0 0 3px;
}
.footer-cred-ids{
  font-size:11.5px;
  color:rgba(255,255,255,0.65);
  letter-spacing:0.01em;
  margin:0 0 20px;
}
.footer-cred-ids a{
  color:rgba(255,255,255,0.65);
  text-decoration:none;
}
.footer-cred-ids a:hover{color:rgba(255,255,255,0.85);}
.footer-cta{
  display:inline-block;
  font-size:14px;font-weight:600;
  color:#1E2A24;background:var(--accent);
  border-radius:8px;padding:10px 22px;
  text-decoration:none;letter-spacing:0.01em;
  transition:background .2s,filter .2s;
}
.footer-cta:hover{filter:brightness(1.1);background:#cfa476;}

.footer-col-label{
  font-size:13px;font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:rgba(255,255,255,0.55);
  margin:0 0 12px;
}
.footer-sub-label{
  font-size:13px;font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:rgba(255,255,255,0.52);
  margin:18px 0 10px;
}
.footer-links{
  list-style:none;padding:0;margin:0;
}
.footer-links li{margin-bottom:4px;}
.footer-links a{
  font-size:13px;
  color:rgba(255,255,255,0.52);
  text-decoration:none;
  display:inline-block;
  padding:4px 0;
}
.footer-links a:hover{color:#fff;}
.footer-links .footer-link-cta{
  color:var(--accent);font-weight:600;
}
.footer-bottom{
  max-width:var(--max-width);
  margin:36px auto 0;
  border-top:1px solid rgba(196,149,106,0.25);
  padding:15px 0 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;flex-wrap:wrap;
}
.footer-crisis{
  font-size:12px;
  color:rgba(196,149,106,0.95);
}
.footer-crisis strong{color:var(--accent);}
.footer-bottom-right{
  display:flex;align-items:center;
  gap:20px;flex-wrap:wrap;
}
.footer-legal{
  font-size:11px;
  color:rgba(255,255,255,0.52);
  line-height:1.5;text-align:right;
  max-width:420px;margin:0;
}
.footer-copyright{
  font-size:11px;
  color:rgba(255,255,255,0.52);
  white-space:nowrap;margin:0;
}

/* ── Scroll Reveal ── */
.reveal{
  opacity:0;transform:translateY(16px);
  transition:opacity .55s ease,transform .55s ease;
}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ── Forms ── */
form{display:grid;gap:.85rem;}
label{font-weight:600;}
input,textarea,select{
  width:100%;padding:.7rem .8rem;
  border-radius:var(--radius-sm);
  border:1px solid rgba(44,44,42,0.15);
  font:inherit;background:#fff;
}
input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:none;box-shadow:var(--focus);
  border-color:rgba(91,123,107,0.35);
}
textarea{min-height:130px;}

/* ── Skip link ── */
.skip-link{
  position:absolute;left:-999px;top:0;
  background:#000;color:#fff;
  padding:.6rem .9rem;border-radius:8px;z-index:999;
}
.skip-link:focus{left:1rem;top:1rem;}

/* ── Responsive ── */
@media(max-width:991px){
  .nav-desktop{display:none!important;}
  .nav-mobile{display:block;}
  .site-header .container{position:relative;}
}
@media(max-width:860px){
  .footer-inner{grid-template-columns:1fr 1fr 1fr;gap:1.5rem;}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:12px;}
  .footer-bottom-right{flex-direction:column;align-items:flex-start;gap:8px;}
  .footer-legal{text-align:left;}
  .table-row{flex-direction:column;gap:4px;}
  .table-row .left{width:100%;}
  .hero-dark h1{font-size:36px;}
}
@media(max-width:680px){
  .footer-inner{grid-template-columns:1fr 1fr;gap:1.5rem;}
  .footer-inner>div:first-child{grid-column:1/-1;}
}
@media(max-width:560px){
  .footer-inner{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .hero-dark{padding:100px var(--pad) 40px;}
  .hero-dark h1{font-size:30px;}
  .hero-quote{font-size:15px;}
  .hero-headshot{width:210px;height:210px;}
  .page-header{padding:90px var(--pad) 36px;}
  .page-header h1{font-size:28px;}
  .badge-strip{gap:16px;padding:12px var(--pad);}
  .badge-strip span{font-size:12px;}
  .brand{font-size:14px;}
  .card{padding:20px;}
  .btn{padding:12px 24px;font-size:14px;}
  .btn-accent{padding:8px 32px;}
  .btn.btn-eval{padding:8px 32px;}
  .grid-2{gap:12px;}
}

/* ── ADHD highlight card ── */
.adhd-highlight{
  background:#1E2A24;
  background:linear-gradient(135deg, #1E2A24 0%, #263530 100%);
  border-radius:var(--radius);
  padding:32px;
  position:relative;
  overflow:hidden;
}
.adhd-highlight::before{
  content:'';position:absolute;
  top:-60px;right:-60px;
  width:200px;height:200px;
  border-radius:50%;
  border:1px solid rgba(196,149,106,0.12);
  pointer-events:none;
}
.adhd-highlight::after{
  content:'';position:absolute;
  top:-20px;right:0;
  width:140px;height:140px;
  border-radius:50%;
  border:1px solid rgba(196,149,106,0.06);
  pointer-events:none;
}
.adhd-highlight h2{color:#fff;margin-top:0;font-family:var(--serif);}
.adhd-highlight p{color:rgba(255,255,255,0.8);font-size:14px;line-height:1.6;margin:0 0 8px;}
.adhd-highlight .accent-line{
  width:32px;height:3px;background:var(--accent);border-radius:2px;margin-bottom:16px;
}
.adhd-highlight .cta-row .btn{position:relative;z-index:2;}

/* ── Cross-link ── */
.crosslink{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:20px 24px;
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:14px;
  transition:border-color .2s, box-shadow .2s;
}
.crosslink:hover{
  border-color:var(--primary-mid);
  box-shadow:var(--shadow);
}
.crosslink-icon{
  width:40px;height:40px;
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;font-size:18px;
}
.crosslink-icon.teal{background:var(--primary-light);color:var(--primary);}
.crosslink-label{font-size:14px;font-weight:600;color:var(--text);}
.crosslink-sub{font-size:12px;color:var(--muted);margin-top:1px;}

/* ── Page header decorative rings ── */
.page-header{position:relative;overflow:hidden;}
.page-header .hero-ring{
  position:absolute;border-radius:50%;
  border:1px solid rgba(91,123,107,0.06);pointer-events:none;
}
.page-header .hero-ring.lg{width:500px;height:500px;top:-100px;right:-100px;}
.page-header .hero-ring.sm{width:340px;height:340px;top:-40px;right:-20px;border-color:rgba(91,123,107,0.03);}
.page-header .body-narrow{position:relative;z-index:2;}

/* ── About page: credential highlight ── */
.cred-highlight{
  background:linear-gradient(135deg, var(--dark) 0%, var(--dark-mid) 100%);
  border-radius:var(--radius);
  padding:24px 28px;
  margin-top:16px;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:flex-start;
  gap:20px;
}
.cred-highlight::before{
  content:'';position:absolute;
  top:-40px;right:-40px;
  width:160px;height:160px;
  border-radius:50%;
  border:1px solid rgba(196,149,106,0.1);
  pointer-events:none;
}
.cred-icon{
  width:44px;height:44px;
  border-radius:10px;
  background:var(--accent);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;font-size:20px;font-weight:700;
}
.cred-highlight-text{position:relative;z-index:2;}
.cred-highlight-text .label{font-size:11px;text-transform:uppercase;letter-spacing:0.1em;color:var(--accent);font-weight:600;margin:0 0 4px;}
.cred-highlight-text .title{font-size:15px;font-weight:600;color:#fff;margin:0 0 3px;}
.cred-highlight-text .sub{font-size:13px;color:rgba(255,255,255,0.45);margin:0;}

/* ── About page: education grid ── */
.edu-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:14px;
}
.edu-item{
  background:var(--bg);
  border-radius:var(--radius-sm);
  padding:14px 16px;
  border:1px solid var(--border);
}
.edu-degree{font-size:14px;font-weight:600;color:var(--text);margin:0 0 2px;}
.edu-school{font-size:12px;color:var(--muted);margin:0;}

/* ── Insurance card ── */
.ins-section{padding:16px 0;border-bottom:1px solid rgba(44,44,42,0.07);}
.ins-section:last-child{border-bottom:none;}
.ins-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--primary);margin-bottom:8px;}
.ins-list{display:flex;flex-wrap:wrap;gap:8px;}
.ins-chip{font-size:13px;font-weight:500;color:var(--text);background:#fff;border:1px solid rgba(44,44,42,0.15);padding:6px 14px;border-radius:20px;display:inline-block;}
.ins-note{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.45;}
.verify-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.verify-item{font-size:12px;color:var(--muted);padding:4px 10px;border-radius:6px;background:rgba(91,123,107,0.12);display:inline-block;}

/* ── About page: publication list ── */
.pub-item{padding:14px 0;border-bottom:1px solid var(--border);}
.pub-item:last-child{border-bottom:none;}
.pub-title{font-size:14px;color:var(--text);line-height:1.5;margin:0 0 3px;}
.pub-journal{font-size:12px;color:var(--muted);font-style:italic;margin:0;}
.pub-tag{
  display:inline-block;font-size:11px;font-weight:600;
  text-transform:uppercase;letter-spacing:0.06em;
  padding:6px 12px;border-radius:4px;
  margin-left:6px;vertical-align:middle;
}
.pub-tag.new{background:var(--accent-light);color:var(--accent);}

@media(max-width:600px){
  .adhd-highlight{padding:24px;}
  .cred-highlight{flex-direction:column;gap:12px;}
  .edu-grid{grid-template-columns:1fr;}
}

/* ── Sticky Mobile CTA Bar (Rec 3) ── */
.mobile-cta-bar{
  display:none;
  position:fixed;
  bottom:0;left:0;right:0;
  z-index:80;
  background:var(--dark);
  border-top:1px solid rgba(196,149,106,0.18);
  padding:10px var(--pad);
  gap:10px;
  align-items:center;
  justify-content:center;
}
.mobile-cta-bar .btn{
  flex:1;max-width:200px;
  text-align:center;
  padding:12px 16px;
  font-size:13px;
}
.mobile-cta-bar .btn-accent{padding:9px 12px;transition:background .15s,transform .15s;}
.mobile-cta-bar .btn-accent:active{transform:scale(0.97);filter:brightness(0.92);}
.mobile-cta-bar .btn-call{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  background:transparent;
  border:1.5px solid rgba(255,255,255,0.2);
  color:rgba(255,255,255,0.75);
  border-radius:var(--radius-sm);
  text-decoration:none;
  font-weight:600;
  font-size:13px;
  padding:12px 16px;
  flex:0 0 auto;
}
.mobile-cta-bar .btn-call:hover{
  background:rgba(255,255,255,0.06);
  color:#fff;
}
@media(max-width:991px){
  .mobile-cta-bar{display:flex;}
  body{padding-bottom:64px;}
}

/* ── Credential Badges (Rec 7) ── */
.trust-strip{
  padding:24px var(--pad) 20px;
  text-align:center;
}
.trust-strip-label{
  font-size:11px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-weight:600;
  margin:0 0 12px;
}
.trust-badges{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
}
.trust-badge{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:500;
  color:var(--text);
}
.trust-badge-icon{
  width:32px;height:32px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:700;
  flex-shrink:0;
  background:var(--primary-light);
  color:var(--primary);
}

/* ── Insurance Logo Strip (Rec 7) ── */
.insurance-strip{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:28px;
  flex-wrap:wrap;
  padding:8px 0 4px;
}
.insurance-strip-item{
  font-size:13px;
  font-weight:600;
  color:var(--muted);
  letter-spacing:0.01em;
  opacity:0.7;
}
@media(max-width:600px){
  .trust-badges{gap:16px;}
  .trust-badge{font-size:12px;}
  .trust-badge-icon{width:28px;height:28px;font-size:12px;}
  .insurance-strip{gap:16px;}
  .insurance-strip-item{font-size:12px;}
}


/* ── v17: Dropdown Nav ── */
.nav-has-dropdown{position:relative;}
.nav-dropdown-trigger::after{content:' \25BE';font-size:9px;opacity:0.6;}
.nav-dropdown{
  display:none !important;position:absolute;
  top:calc(100% + 4px);left:-14px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  box-shadow:var(--shadow);
  padding:6px 0;min-width:220px;
  z-index:60;list-style:none;margin:0;
}
.nav-dropdown.is-open{display:block !important;}
.nav-dropdown li{margin:0;}
.nav-dropdown a{
  display:block!important;
  padding:8px 16px!important;
  font-size:13px!important;
  color:var(--text)!important;
  text-decoration:none!important;
  white-space:nowrap;
  border-bottom:none!important;
}
.nav-dropdown a:hover{background:var(--primary-light)!important;color:var(--primary)!important;}
.nav-mobile-panel .nav-sub{padding-left:1.5rem!important;font-size:14px!important;color:var(--muted)!important;}
.nav-mobile-panel .nav-sub:hover{color:var(--primary)!important;}

/* ── v17: Eval hub cards ── */
.eval-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:24px 28px;
  text-decoration:none;display:block;
  transition:border-color .2s,box-shadow .2s,transform .2s;
  position:relative;
}
.eval-card:hover{border-color:var(--primary-mid);box-shadow:var(--shadow);transform:translateY(-2px);}
.eval-card-kicker{font-size:11px;text-transform:uppercase;letter-spacing:0.08em;font-weight:600;margin:0 0 8px;}
.eval-card-kicker.green{color:var(--primary);}
.eval-card-kicker.gold{color:var(--accent);}
.eval-card-kicker.steel{color:#7B8E9B;}
.eval-card-title{font-family:var(--serif);font-size:20px;font-weight:500;color:var(--text);margin:0 0 8px;}
.eval-card-desc{font-size:14px;color:var(--muted);line-height:1.6;margin:0 0 14px;}
.eval-card-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted);}
.eval-card-meta strong{color:var(--text);}
.eval-card-arrow{position:absolute;top:24px;right:24px;font-size:16px;color:var(--muted);transition:transform .2s,color .2s;}
.eval-card:hover .eval-card-arrow{transform:translateX(3px);color:var(--primary);}

/* ── v17: FAQ ── */
.faq-item{padding:16px 0;border-bottom:1px solid var(--border);}
.faq-item:last-child{border-bottom:none;}
.faq-q{font-size:15px;font-weight:600;color:var(--text);margin:0 0 6px;}
.faq-a{font-size:14px;color:var(--muted);line-height:1.6;margin:0;}

/* ── v28: Hero entrance animation ── */
@keyframes hero-up{
  from{opacity:0;transform:translateY(18px);}
  to{opacity:1;transform:translateY(0);}
}
.hero-anim{
  opacity:0;
  animation:hero-up .45s ease-out forwards;
}
.hero-anim-1{animation-delay:0s;}
.hero-anim-2{animation-delay:.08s;}
.hero-anim-3{animation-delay:.16s;}
.hero-anim-4{animation-delay:.24s;}
.hero-anim-5{animation-delay:.36s;}
@media(prefers-reduced-motion:reduce){
  .hero-anim{animation:none;opacity:1;}
}







































/* Credential strip — directory verification badges */
.cred-strip{margin:12px 0 10px;}
.cred-strip-label{
  font-size:9px;text-transform:uppercase;letter-spacing:0.12em;
  color:rgba(255,255,255,0.50);margin:0 0 7px;font-weight:500;
}
.cred-row{display:flex;gap:8px;flex-wrap:wrap;}
.cred-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 14px;border-radius:6px;
  border:1px solid rgba(196,149,106,0.40);
  background:rgba(196,149,106,0.10);
  text-decoration:none;
  transition:border-color .2s,background .2s;
}
.cred-chip:hover{
  border-color:rgba(196,149,106,0.65);
  background:rgba(196,149,106,0.18);
}
.cred-chip-icon{
  width:15px;height:15px;display:flex;
  align-items:center;justify-content:center;flex-shrink:0;
}
.cred-chip-text{
  font-size:11.5px;color:rgba(255,255,255,0.88);
  white-space:nowrap;font-weight:500;
}
.cred-chip-arrow{
  font-size:10px;color:rgba(196,149,106,0.6);margin-left:2px;
}

/* ── Light-context cred-chips (about page, request page) ── */
.cred-chip-light .cred-chip{
  border:1px solid rgba(91,123,107,0.45);
  background:rgba(91,123,107,0.15);
}
.cred-chip-light .cred-chip:hover{
  border-color:rgba(91,123,107,0.65);
  background:rgba(91,123,107,0.22);
}
.cred-chip-light .cred-chip-text{
  color:var(--text);
}
.cred-chip-light .cred-chip-icon svg{
  stroke:#4A6B5B;
}
.cred-chip-light .cred-chip-arrow{
  color:var(--primary);
}










/* ── v48 additions ── */

/* CTA button: filled gold, darker border, subtle shadow */
.btn-accent{background:var(--accent);color:var(--dark);border:2px solid #B0814A;padding:8px 20px;font-weight:700;box-shadow:0 1px 4px rgba(0,0,0,0.14);}
.btn-accent:hover{filter:brightness(1.05);color:var(--dark);}
.btn-sm.btn-accent{padding:7px 16px;}
.mobile-cta-bar .btn-accent{padding:9px 12px;}

/* Service section label */
.ssl{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:block;margin:0 0 10px;padding-bottom:7px;border-bottom:1px solid var(--border);}

/* Therapy cards (homepage) */
.tc{background:linear-gradient(145deg,rgba(91,123,107,0.07) 0%,rgba(91,123,107,0.02) 100%);border-radius:var(--radius);border:1px solid rgba(91,123,107,0.14);border-left:4px solid var(--primary);box-shadow:0 2px 10px rgba(91,123,107,0.08);overflow:hidden;display:flex;flex-direction:column;}
.tc-head{padding:16px 18px 0;display:flex;align-items:center;gap:10px;}
.tc-ico{width:34px;height:34px;border-radius:9px;background:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.tc-ico svg{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.tc-name{font-family:var(--serif);font-size:16px;font-weight:400;color:var(--text);}
.tc-price-row{padding:10px 18px 0;display:flex;align-items:baseline;gap:4px;}
.tc-price{font-size:26px;font-weight:700;font-family:var(--serif);color:var(--primary);}
.tc-per{font-size:12px;color:var(--muted);}
.tc-body{padding:8px 18px 14px;flex:1;}
.tc-desc{font-size:13px;color:var(--muted);line-height:1.55;margin-bottom:10px;}
.tc-detail{font-size:11.5px;color:var(--muted);margin-bottom:3px;display:flex;align-items:center;gap:5px;}
.tc-detail svg{width:12px;height:12px;stroke:var(--primary);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
.tc-foot{padding:10px 18px 14px;border-top:1px solid rgba(91,123,107,0.10);background:rgba(91,123,107,0.03);display:flex;align-items:center;justify-content:space-between;gap:10px;}
.tc-ins{font-size:11px;color:var(--muted);}
.tc-ins strong{color:var(--text);font-weight:600;}

/* Authority strip */
.authority-strip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 26px;}
.as-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:11px;border-bottom:1px solid var(--border);}
.as-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.as-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);}
.as-item{background:var(--surface);padding:16px 18px;}
.as-item-hd{display:flex;align-items:center;gap:8px;margin-bottom:7px;}
.as-ico{width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;}
.as-ico.g{background:var(--accent-light);}
.as-ico.sg{background:var(--primary-light);}
.as-ico svg{width:15px;height:15px;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none;}
.as-ico.g svg{stroke:var(--accent);}
.as-ico.sg svg{stroke:var(--primary);}
.as-layer{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.as-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:4px;}
.as-body{font-size:11.5px;color:var(--muted);line-height:1.55;}
.as-verify{display:inline-block;font-size:9.5px;font-weight:600;color:var(--primary);background:var(--primary-light);padding:2px 7px;border-radius:4px;margin-top:5px;}

/* Why this practice differentiator */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.why-item{background:var(--surface);border-radius:var(--radius);padding:18px;border:1px solid var(--border);text-align:center;}
.why-icon{width:42px;height:42px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:10px;}
.why-icon.gold{background:var(--accent-light);}
.why-icon.green{background:var(--primary-light);}
.why-icon svg{width:20px;height:20px;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none;}
.why-icon.gold svg{stroke:var(--accent);}
.why-icon.green svg{stroke:var(--primary);}
.why-title{font-size:13.5px;font-weight:700;color:var(--text);margin-bottom:5px;}
.why-sub{font-size:12.5px;color:var(--muted);line-height:1.5;}

/* FAQ accordion */
.faq-accordion details{border-bottom:1px solid var(--border);}
.faq-accordion details:last-child{border-bottom:none;}
.faq-accordion summary{font-size:14.5px;font-weight:600;color:var(--text);padding:14px 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;list-style:none;gap:12px;}
.faq-accordion summary::-webkit-details-marker{display:none;}
.faq-accordion summary::after{content:'';width:18px;height:18px;border-radius:50%;flex-shrink:0;background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 4l3 3 3-3' stroke='%235B7B6B' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center;border:1.5px solid var(--border);transition:transform .2s;}
.faq-accordion details[open] summary::after{transform:rotate(180deg);}
.faq-accordion .faq-body{font-size:13.5px;color:var(--muted);line-height:1.65;padding-bottom:14px;}

/* Fees cards (Option B: sage/gold) */
.fees-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.fees-section-title{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text);}
.fees-section-link{font-size:12px;font-weight:600;color:var(--primary);text-decoration:none;}
.fc{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;}
.fc-top{padding:20px 22px 16px;border-bottom:1px solid var(--border);}
.fc-top.gold-top{border-left:4px solid var(--accent);background:rgba(196,149,106,0.04);border-bottom:1px solid rgba(196,149,106,0.15);}
.fc-badge{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;padding:3px 10px;border-radius:20px;display:inline-block;margin-bottom:12px;}
.fc-badge.sage{background:var(--primary);}
.fc-badge.gold{background:var(--accent);color:var(--dark);}
.fc-price-row{display:flex;align-items:baseline;gap:5px;margin-bottom:4px;}
.fc-price{font-size:36px;font-weight:700;font-family:var(--serif);line-height:1;}
.fc-price.sage{color:var(--primary);}
.fc-price.gold{color:var(--accent);}
.fc-per{font-size:13px;color:var(--muted);}
.fc-format{font-size:12px;color:var(--muted);margin-top:2px;}
.fc-body{padding:14px 22px;flex:1;}
.fc-feature{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;font-size:13px;color:var(--text);}
.fc-feature svg{width:14px;height:14px;stroke:var(--primary);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;margin-top:2px;}
.fc-feature.gold-chk svg{stroke:var(--accent);}
.fc-ins-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px;}
.fc-ins-chip{font-size:11px;font-weight:500;color:var(--text);background:var(--bg);border:1px solid rgba(44,44,42,0.15);padding:3px 10px;border-radius:20px;}
.fc-foot{padding:12px 22px;background:var(--bg);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px;}
.fc-foot.gold-foot{background:rgba(196,149,106,0.04);border-top:1px solid rgba(196,149,106,0.12);}
.fc-scale{font-size:11.5px;color:var(--muted);}
.fc-scale strong{color:var(--text);}
.fees-global-foot{margin-top:10px;padding:10px 16px;background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;}
.fees-global-foot span{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:5px;}
.fees-global-foot svg{width:13px;height:13px;stroke:var(--primary);fill:none;stroke-width:2;stroke-linecap:round;flex-shrink:0;}

/* Request page layout */
.request-layout{display:grid;grid-template-columns:240px 1fr;gap:20px;align-items:start;}
.trust-col{background:var(--dark);border-radius:var(--radius);padding:18px;}
.trust-provider-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.07);}
.trust-prov-name{font-size:12.5px;font-weight:700;color:#fff;}
.trust-prov-cred{font-size:10.5px;color:rgba(255,255,255,.4);}
.trust-row{display:flex;align-items:flex-start;gap:7px;margin-bottom:9px;}
.trust-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:5px;}
.trust-row p{font-size:11.5px;color:rgba(255,255,255,.5);line-height:1.4;margin:0;}
.trust-row strong{color:rgba(255,255,255,.8);}
.trust-ins-section{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.07);}
.trust-ins-label{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.25);margin-bottom:6px;}
.trust-ins-chips{display:flex;flex-wrap:wrap;gap:4px;}
.trust-ins-chip{font-size:10px;font-weight:600;color:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.1);padding:2px 8px;border-radius:20px;}
.process-box{background:var(--bg);border-radius:var(--radius-sm);padding:14px 16px;}
.process-box-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--primary);margin-bottom:10px;}
.process-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:7px;}
.process-num{width:20px;height:20px;border-radius:50%;background:var(--primary);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.process-text strong{display:block;font-size:12.5px;font-weight:600;color:var(--text);}
.process-text span{font-size:11.5px;color:var(--muted);}
.form-col{display:flex;flex-direction:column;gap:12px;}

/* Comparison card (ADHD page) */
.comparison-card{display:grid;grid-template-columns:1fr 1fr;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow);}
.comp-side{padding:22px;}
.comp-side.platform{background:var(--bg-deep);}
.comp-side.clinical{background:var(--dark);}
.comp-header{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px;}
.comp-side.platform .comp-header{color:var(--muted);}
.comp-side.clinical .comp-header{color:var(--accent);}
.comp-price{font-size:22px;font-weight:700;font-family:var(--serif);margin-bottom:12px;}
.comp-side.platform .comp-price{color:var(--muted);}
.comp-side.clinical .comp-price{color:var(--accent);}
.comp-item{display:flex;align-items:flex-start;gap:8px;margin-bottom:7px;font-size:12.5px;}
.comp-item .cdot{width:5px;height:5px;border-radius:50%;flex-shrink:0;margin-top:5px;}
.comp-side.platform .cdot{background:rgba(44,44,42,.25);}
.comp-side.clinical .cdot{background:var(--accent);}
.comp-side.platform .comp-item{color:var(--muted);}
.comp-side.clinical .comp-item{color:rgba(255,255,255,.7);}

/* Couples page expansion */
.display-quote{font-family:var(--serif);font-size:19px;color:var(--text);line-height:1.45;padding:16px 20px;border-left:3px solid var(--accent);background:var(--accent-light);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-bottom:14px;font-style:italic;}
.couples-process{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;}
.cp-card{background:var(--surface);border-radius:var(--radius);padding:16px;border:1px solid var(--border);text-align:center;}
.cp-num{width:30px;height:30px;border-radius:50%;background:var(--primary-light);color:var(--primary);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;margin:0 auto 9px;}
.cp-card h3{font-size:13.5px;font-weight:700;margin-bottom:4px;color:var(--text);}
.cp-card p{font-size:12.5px;color:var(--muted);line-height:1.5;}

/* Responsive additions */
@media(max-width:860px){
  .why-grid{grid-template-columns:1fr 1fr;}
  .as-grid{grid-template-columns:1fr;}
}
@media(max-width:680px){
  .why-grid{grid-template-columns:1fr;}
  .request-layout{grid-template-columns:1fr;}
  .comparison-card{grid-template-columns:1fr;}
  .couples-process{grid-template-columns:1fr;}
  .fees-global-foot{flex-direction:column;gap:6px;}
}
@media(max-width:600px){
  .fc-price{font-size:28px;}
  .tc-price{font-size:22px;}
}






/* v49 — Centered subpage hero (glyph) and About portrait hero — adds visual alignment with homepage .hero-dark without disturbing legacy .page-header rules above. Applied via class names on the wrapping <div>. */

.page-hero-centered,
.page-hero-portrait{
  background:var(--dark);
  padding:96px var(--pad) 56px;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.page-hero-centered .body-narrow,
.page-hero-portrait .body-narrow{
  text-align:center;
  position:relative;
  z-index:2;
  max-width:560px;
}
.page-hero-centered .hero-ring,
.page-hero-portrait .hero-ring{
  position:absolute;
  top:50%;
  left:50%;
  border-radius:50%;
  border:1px solid rgba(91,123,107,0.07);
  transform:translate(-50%,-50%);
  pointer-events:none;
  right:auto;
}
.page-hero-centered .hero-ring.lg,
.page-hero-portrait .hero-ring.lg{width:520px;height:520px;border-color:rgba(91,123,107,0.10);}
.page-hero-centered .hero-ring.sm,
.page-hero-portrait .hero-ring.sm{width:360px;height:360px;border-color:rgba(91,123,107,0.05);}

.page-hero-centered .kicker,
.page-hero-portrait .kicker{
  font-family:var(--sans);
  font-size:11px;
  color:var(--accent);
  letter-spacing:0.14em;
  text-transform:uppercase;
  font-weight:600;
  display:block;
  margin-bottom:14px;
}
.page-hero-centered h1,
.page-hero-portrait h1{
  font-family:var(--serif);
  font-weight:400;
  color:#fff;
  font-size:40px;
  margin:0 auto 14px;
  max-width:620px;
  letter-spacing:-0.02em;
  line-height:1.2;
}
.page-hero-centered .page-desc,
.page-hero-portrait .page-desc{
  font-size:15px;
  color:rgba(255,255,255,0.72);
  line-height:1.6;
  margin:0 auto;
  max-width:520px;
}
.page-hero-centered .page-desc-sub,
.page-hero-portrait .page-desc-sub{
  font-size:13px;
  color:rgba(255,255,255,0.55);
  line-height:1.55;
  margin:10px auto 0;
  max-width:520px;
}

/* Glyph disc (subpage centered hero) */
.ph-glyph{
  width:72px;height:72px;
  border-radius:50%;
  border:1px solid rgba(196,149,106,0.85);
  background:rgba(196,149,106,0.04);
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 22px;
  position:relative;
  z-index:2;
}
.ph-glyph svg{
  width:30px;height:30px;
  stroke:var(--accent);
  fill:none;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Portrait disc (About hero) */
.ph-portrait{
  width:180px;height:180px;
  border-radius:50%;
  border:4px solid rgba(255,255,255,0.12);
  box-shadow:0 8px 32px rgba(0,0,0,0.18);
  object-fit:cover;
  margin:0 auto 22px;
  display:block;
  background:var(--dark-mid);
  position:relative;
  z-index:2;
}

/* Hero CTA row on subpages */
.page-hero-centered .hero-actions,
.page-hero-portrait .hero-actions{
  display:flex;
  gap:12px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:26px;
}

/* Mobile tuning */
@media (max-width:640px){
  .page-hero-centered,
  .page-hero-portrait{padding:80px var(--pad) 40px;}
  .page-hero-centered h1,
  .page-hero-portrait h1{font-size:30px;}
  .ph-glyph{width:64px;height:64px;margin-bottom:18px;}
  .ph-glyph svg{width:26px;height:26px;}
  .ph-portrait{width:150px;height:150px;margin-bottom:18px;}
  .page-hero-centered .hero-ring.lg,
  .page-hero-portrait .hero-ring.lg{width:400px;height:400px;}
  .page-hero-centered .hero-ring.sm,
  .page-hero-portrait .hero-ring.sm{width:280px;height:280px;}
}

/* v51 visual polish: mobile-safe hero wrapping and request-funnel CTA behavior */
html,
body{
  overflow-x:hidden;
}

.hero-dark .hero-inner,
.hero-dark h1,
.hero-dark .hero-sub,
.page-hero-centered .body-narrow,
.page-hero-centered h1,
.page-hero-centered .page-desc{
  width:100%;
  max-width:calc(100vw - 40px);
  overflow-wrap:anywhere;
}

.hero-title-brand,
.hero-title-provider,
.hero-title-services{
  display:block;
}

.hero-title-brand{
  margin:0 0 10px;
  font-family:var(--sans);
  font-size:clamp(12px,1.2vw,15px);
  font-weight:700;
  line-height:1.25;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--accent);
}

.hero-title-provider{
  font-size:clamp(30px,3.35vw,42px);
  line-height:1.14;
  color:#fff;
}

.hero-title-services{
  margin-top:8px;
  font-size:clamp(24px,2.55vw,34px);
  line-height:1.18;
  color:rgba(255,255,255,0.90);
}

@media(max-width:991px){
  body[data-page="request"]{
    padding-bottom:24px;
  }
  body[data-page="request"].rf-form-active{
    padding-bottom:64px;
  }
  body[data-page="request"] .mobile-cta-bar{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
    transition:opacity .18s ease,transform .18s ease;
  }
  body[data-page="request"].rf-funnel-in-view:not(.rf-form-active) .mobile-cta-bar{
    opacity:0;
    transform:translateY(100%);
    pointer-events:none;
  }
  body[data-page="request"] .rf-panel{
    scroll-margin-bottom:96px;
  }
  body[data-page="request"].rf-form-active .rf-panel[data-panel="form"]{
    padding-bottom:82px;
  }
}

@media(max-width:600px){
  .hero-dark{
    padding:72px var(--pad) 104px!important;
  }
  .hero-dark .hero-inner,
  .hero-dark h1,
  .hero-dark .hero-sub,
  .page-hero-centered .body-narrow,
  .page-hero-centered h1,
  .page-hero-centered .page-desc{
    max-width:calc(100vw - 40px);
  }
  .hero-dark h1,
  .page-hero-centered h1{
    font-size:clamp(28px,8vw,36px)!important;
    line-height:1.16!important;
    letter-spacing:0!important;
  }
  .hero-headshot{
    width:176px!important;
    height:176px!important;
    margin-bottom:20px;
  }
  .hero-title-brand{
    margin-bottom:8px;
    font-size:10px;
    letter-spacing:0.12em;
  }
  .hero-title-provider{
    font-size:clamp(25px,7vw,30px);
    line-height:1.16;
  }
  .hero-title-services{
    margin-top:6px;
    font-size:clamp(24px,6.8vw,29px);
    line-height:1.16;
  }
  .hero-sub{
    font-size:15px;
    line-height:1.5;
  }
  .hero-actions{
    margin-top:18px;
  }
  .page-hero-centered .page-desc{
    font-size:15px;
  }
}

@media(max-width:430px){
  .hero-dark,
  .page-hero-centered{
    overflow:hidden;
  }
  .page-hero-centered .hero-ring.lg{
    width:min(400px,100vw);
    height:min(400px,100vw);
  }
  .hero-dark .hero-actions{
    width:100%;
    max-width:calc(100vw - 40px);
  }
  .hero-dark .hero-actions .btn{
    min-width:0;
  }
}

body[data-page="request"] .rf-opt input{
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:0!important;
}

@media(max-width:360px){
  .hero-dark{
    padding-top:68px!important;
    padding-bottom:96px!important;
  }
  .hero-headshot{
    width:156px!important;
    height:156px!important;
    margin-bottom:16px;
  }
  .hero-title-brand{
    margin-bottom:7px;
    font-size:9px;
  }
  .hero-title-provider{
    font-size:24px;
  }
  .hero-title-services{
    font-size:23px;
  }
  .hero-sub{
    font-size:14px;
    line-height:1.42;
  }
  .hero-actions{
    margin-top:14px;
    gap:10px;
  }
}

/* v52 balanced homepage stack: stronger face/text proportion */
@media(min-width:601px){
  .hero-dark{
    padding:150px var(--pad) 72px;
  }
  .hero-dark .hero-inner{
    max-width:min(1120px,calc(100vw - 40px));
  }
  .hero-headshot{
    width:300px!important;
    height:300px!important;
    margin-bottom:30px;
  }
  .hero-title-brand{
    margin-bottom:18px;
    font-size:14px;
    letter-spacing:0.16em;
  }
  .hero-dark h1{
    max-width:980px!important;
    margin-bottom:22px!important;
    font-size:56px!important;
    line-height:1.08!important;
    letter-spacing:0!important;
  }
  .hero-title-provider{
    font-size:56px;
    line-height:1.08;
  }
  .hero-title-services{
    margin-top:8px;
    font-size:40px;
    line-height:1.12;
  }
  .hero-dark .hero-sub{
    max-width:760px;
    margin-bottom:34px;
    font-size:18px;
    line-height:1.55;
  }
  .hero-actions{
    margin-bottom:28px;
  }
  .hero-dark .hero-ring.lg{
    width:690px;
    height:690px;
  }
  .hero-dark .hero-ring.sm{
    width:500px;
    height:500px;
  }
}

@media(max-width:600px){
  .hero-headshot{
    width:188px!important;
    height:188px!important;
  }
  .hero-title-provider{
    font-size:30px;
  }
  .hero-title-services{
    font-size:28px;
  }
}

@media(max-width:360px){
  .hero-headshot{
    width:156px!important;
    height:156px!important;
  }
  .hero-title-provider{
    font-size:24px;
  }
  .hero-title-services{
    font-size:23px;
  }
}
