:root{
  --ivory:#FBF8F1; --cream:#F4EFE3; --paper:#FFFDF8;
  --navy:#14284B; --ink:#2B3A55; --muted:#5A6478;
  --teal:#2E6E7E; --teal-d:#215663; --sage:#7F9C7A; --sage-l:#C9D8C3;
  --gold:#B8975A; --gold-l:#D9C59A;
  --serif:"Cormorant Garamond", "Playfair Display", Georgia, serif;
  --sans:"Jost", "Helvetica Neue", Arial, sans-serif;
  --r:2px; --max:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:1.0625rem;line-height:1.75;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal-d)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);color:var(--navy);font-weight:500;line-height:1.15;margin:0 0 .5em;letter-spacing:.005em}
h1{font-size:clamp(2.2rem,4.4vw,3.5rem)}
h1 em{display:block;font-style:italic;color:var(--teal-d);font-weight:400}
h2{font-size:clamp(2rem,3.6vw,2.9rem)}
h3{font-size:1.6rem}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1.5rem}
.narrow{max-width:760px;text-align:center}
.center{text-align:center}
.muted{color:var(--muted)}
.tiny{font-size:.85rem}
.skip{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:1rem;top:1rem}
.eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.28em;font-size:.78rem;font-weight:500;color:#8A6D35;margin-bottom:1rem}

/* rules */
.rule{display:flex;align-items:center;justify-content:center;gap:.6rem;margin:1.2rem auto 2.4rem;width:220px}
.rule::before,.rule::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.rule::after{background:linear-gradient(90deg,var(--gold),transparent)}
.rule span{width:6px;height:6px;border:1px solid var(--gold);transform:rotate(45deg)}
.rule.left{margin-left:0;justify-content:flex-start}
.rule.left::before{display:none}

/* buttons */
.btn{display:inline-block;font-family:var(--sans);font-weight:500;font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:#fff;background:linear-gradient(135deg,var(--teal) 0%,var(--teal-d) 100%);padding:1rem 2rem;border:1px solid var(--teal-d);border-radius:var(--r);box-shadow:0 0 0 1px rgba(184,151,90,.0),0 10px 30px -14px rgba(33,86,99,.55);transition:transform .35s ease,box-shadow .35s ease,background .35s;cursor:pointer}
.btn:hover{transform:translateY(-2px);box-shadow:0 0 0 4px rgba(184,151,90,.25),0 16px 34px -16px rgba(33,86,99,.6)}
.btn-sm{padding:.6rem 1.1rem;font-size:.72rem;color:#fff!important}
.link-arrow{font-family:var(--sans);font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:.2rem}
.link-arrow span{display:inline-block;transition:transform .3s}
.link-arrow:hover span{transform:translateX(4px)}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,248,241,.86);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid rgba(184,151,90,.35)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.brand-name{font-family:var(--serif);font-size:1.55rem;color:var(--navy);font-weight:500;letter-spacing:.01em}
nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:1.8rem}
nav a{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--ink);font-weight:400;position:relative}
nav a:not(.btn)::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--gold);transition:right .35s ease}
nav a:not(.btn):hover::after{right:0}
.nav-toggle{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.nav-toggle span{position:absolute;left:10px;right:10px;height:1px;background:var(--navy);transition:transform .3s,top .3s}
.nav-toggle span:first-child{top:18px}.nav-toggle span:last-child{top:26px}
.nav-open .nav-toggle span:first-child{top:22px;transform:rotate(45deg)}
.nav-open .nav-toggle span:last-child{top:22px;transform:rotate(-45deg)}

/* hero */
.hero{position:relative;overflow:hidden;padding:4.5rem 0 6rem}
.wash{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;pointer-events:none}
.wash-1{width:620px;height:620px;left:-180px;top:-140px;background:radial-gradient(circle at 40% 40%,rgba(46,110,126,.35),rgba(46,110,126,0) 70%);animation:drift 22s ease-in-out infinite alternate}
.wash-2{width:700px;height:700px;right:-220px;bottom:-260px;background:radial-gradient(circle at 50% 50%,rgba(127,156,122,.38),rgba(127,156,122,0) 70%);animation:drift 26s ease-in-out infinite alternate-reverse}
@keyframes drift{from{transform:translate(0,0) scale(1)}to{transform:translate(40px,30px) scale(1.08)}}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:160px;background:linear-gradient(180deg,rgba(251,248,241,0),var(--ivory));pointer-events:none}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.05fr;gap:4rem;align-items:center}
.hero-logo img{width:100%;max-width:470px;margin:0 auto}
.lede{font-size:1.15rem;color:var(--ink);max-width:34em}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:1.8rem;margin-top:2rem}

/* sections */
.section{padding:6.5rem 0;position:relative}
.tinted{background:linear-gradient(180deg,var(--cream),#EEF1E8 120%)}
.section-head{text-align:center;max-width:760px;margin:0 auto}
.sub{color:var(--muted)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem 2.4rem}
.card{background:var(--paper);border:1px solid rgba(184,151,90,.35);padding:2.6rem 2.2rem;border-radius:var(--r);position:relative;transition:transform .5s ease,box-shadow .5s ease}
.card::before{content:"";position:absolute;inset:8px;border:1px solid rgba(184,151,90,.15);pointer-events:none}
.card:hover{transform:translateY(-4px);box-shadow:0 24px 50px -30px rgba(20,40,75,.35)}
.num{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--gold);margin-bottom:.8rem}
.service{padding:2rem 0 1.6rem;border-top:1px solid rgba(184,151,90,.45)}
.service h3{font-size:1.65rem}

.quote-band{padding:5rem 0;text-align:center;background:radial-gradient(ellipse at 30% 50%,rgba(46,110,126,.12),transparent 60%),radial-gradient(ellipse at 75% 50%,rgba(127,156,122,.16),transparent 60%),var(--ivory);border-top:1px solid rgba(184,151,90,.3);border-bottom:1px solid rgba(184,151,90,.3)}
.quote{font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,2.8vw,2.2rem);color:var(--navy);max-width:820px;margin:0 auto;line-height:1.4}

.steps{list-style:none;margin:0 auto;padding:0;max-width:860px}
.steps li{display:grid;grid-template-columns:90px 1fr;gap:1.4rem;padding:1.8rem 0;border-bottom:1px solid rgba(184,151,90,.35)}
.steps li:last-child{border-bottom:0}
.step-n{font-family:var(--serif);font-size:2.6rem;color:var(--teal);line-height:1;font-weight:400}
.steps h3{margin-bottom:.3em}

.about-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:4.5rem;align-items:center}
.portrait{aspect-ratio:4/5;border-radius:220px 220px 4px 4px;background:radial-gradient(circle at 30% 30%,rgba(46,110,126,.35),transparent 60%),radial-gradient(circle at 70% 75%,rgba(127,156,122,.45),transparent 60%),var(--cream);border:1px solid var(--gold-l);display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--serif);font-size:1.3rem;color:var(--navy);position:relative}
.portrait::after{content:"";position:absolute;inset:12px;border-radius:210px 210px 2px 2px;border:1px solid rgba(184,151,90,.4)}
.role{font-family:var(--serif);font-style:italic;font-size:1.35rem;color:var(--teal-d);margin-top:-.4rem}

.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;align-items:start}
.details{display:grid;grid-template-columns:100px 1fr;gap:.9rem 1rem;margin:2rem 0 0}
.details dt{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:#8A6D35;font-weight:500;padding-top:.3rem}
.details dd{margin:0}
.contact-form{background:var(--paper);border:1px solid rgba(184,151,90,.4);padding:2.4rem;border-radius:var(--r);box-shadow:0 30px 60px -40px rgba(20,40,75,.35)}
.form-note{background:#EEF3EC;border-left:2px solid var(--sage);padding:.8rem 1rem;font-size:.95rem}
.field{margin-bottom:1.2rem}
label{display:block;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--navy);margin-bottom:.4rem}
.opt{text-transform:none;letter-spacing:0;color:var(--muted);font-weight:300}
input,select{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:var(--ivory);border:1px solid #CFC4AC;border-radius:var(--r);padding:.8rem .9rem;transition:border-color .3s,box-shadow .3s}
input:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(46,110,126,.15);outline:none}

.site-footer{background:var(--navy);color:#DCD6C8;text-align:center}
.crisis{background:linear-gradient(90deg,var(--teal-d),#2F5D57);color:#fff;padding:1rem 1.5rem;font-size:1.05rem;letter-spacing:.02em}
.footer-inner{padding:3.5rem 1.5rem 3rem}
.foot-name{font-family:var(--serif);font-size:1.9rem;color:#fff;margin:0}
.foot-tag{font-size:.75rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-l);margin-bottom:1.6rem}
.site-footer .muted{color:#B8B4AA}

/* reveal */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity 1.1s cubic-bezier(.2,.6,.2,1),transform 1.1s cubic-bezier(.2,.6,.2,1)}
.js .reveal.in{opacity:1;transform:none}
.grid-3 .reveal:nth-child(2),.grid-2 .reveal:nth-child(2){transition-delay:.12s}
.grid-3 .reveal:nth-child(3),.grid-2 .reveal:nth-child(3){transition-delay:.24s}
.grid-2 .reveal:nth-child(4){transition-delay:.36s}

/* responsive */
@media (max-width:960px){
  .hero-inner,.about-inner,.contact-inner{grid-template-columns:1fr;gap:2.6rem}
  .hero{padding:2.5rem 0 4.5rem}
  .hero-copy{text-align:center}.lede{margin:0 auto}.cta-row{justify-content:center}
  .hero-logo img{max-width:340px}
  .grid-3{grid-template-columns:1fr}
  .portrait{max-width:340px;margin:0 auto;width:100%}
  .nav-toggle{display:block}
  nav{position:fixed;inset:76px 0 auto 0;background:rgba(251,248,241,.98);border-bottom:1px solid rgba(184,151,90,.35);max-height:0;overflow:hidden;transition:max-height .45s ease}
  .nav-open nav{max-height:480px}
  nav ul{flex-direction:column;gap:1.3rem;padding:1.8rem 1.5rem 2.2rem}
}
@media (max-width:640px){
  body{font-size:1rem}
  .section{padding:4.5rem 0}
  .grid-2{grid-template-columns:1fr}
  .steps li{grid-template-columns:56px 1fr;gap:1rem}
  .step-n{font-size:2rem}
  .details{grid-template-columns:1fr;gap:.2rem}
  .details dd{margin-bottom:.9rem}
  .contact-form{padding:1.6rem}
  .brand-name{font-size:1.3rem}
  .brand img{width:36px;height:auto}
}
.creds{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:-.2rem}
.areas{margin:0 auto 1.8rem;padding:1.2rem 0;max-width:520px;border-top:1px solid rgba(217,197,154,.35);border-bottom:1px solid rgba(217,197,154,.35)}
.areas-h{font-family:var(--serif);font-style:italic;font-size:1.25rem;color:#fff;margin:0 0 .5rem}
.areas ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.6rem;font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-l)}
.areas li+li::before{content:"\2022";margin-right:1.6rem;color:rgba(217,197,154,.6)}
@media (max-width:640px){.areas li+li::before{margin-right:.6rem}.areas ul{gap:.4rem .6rem}}
.areas-line{font-size:.85rem;color:#CFC8B8;margin:0 auto 1.4rem;max-width:640px}
.areas-line a{color:var(--gold-l)}
.areas-page{overflow:hidden}
.areas-page h1{font-size:clamp(2rem,4vw,3rem)}
.city-list{text-align:left;margin:1rem 0 2.5rem}
.city{padding:1.8rem 0;border-top:1px solid rgba(184,151,90,.45)}
.city h2{font-size:1.8rem}
/* multi-page */
.page-hero{position:relative;overflow:hidden;padding:5rem 0 3.5rem;text-align:center}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(180deg,rgba(251,248,241,0),var(--ivory));pointer-events:none}
.page-hero .wrap{position:relative;z-index:1}
.page-hero h1{font-size:clamp(2.1rem,4.4vw,3.3rem)}
.page-hero + .section{padding-top:2.5rem}
.center-block{margin-left:auto;margin-right:auto}
.h3{font-size:1.6rem}
.service .h3{font-size:1.65rem}
.card-link{display:block;text-decoration:none;color:inherit}
.card-link .more{display:inline-block;margin-top:.6rem;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--teal-d);border-bottom:1px solid var(--gold);padding-bottom:.15rem}
.card-link:hover .more span{display:inline-block;transform:translateX(4px);transition:transform .3s}
nav a[aria-current="page"]:not(.btn){color:var(--teal-d)}
nav a[aria-current="page"]:not(.btn)::after{right:0}
.cta-band{padding:5rem 0;text-align:center;background:linear-gradient(135deg,rgba(46,110,126,.10),rgba(127,156,122,.16));border-top:1px solid rgba(184,151,90,.3)}
.cta-band p{color:var(--muted);margin-bottom:1.8rem}
.fee-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;text-align:left}
.form-h{font-size:1.8rem}
.foot-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.6rem;margin:0 0 1.4rem}
.foot-nav a{color:#E7E1D3;text-decoration:none;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}
.foot-nav a:hover{color:var(--gold-l)}
.book-inner{display:grid;grid-template-columns:1.25fr .9fr;gap:3rem;align-items:start}
.widget-ph{min-height:460px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2.5rem;background:repeating-linear-gradient(135deg,rgba(184,151,90,.05) 0 12px,transparent 12px 24px),var(--paper);border:2px dashed var(--gold);border-radius:var(--r)}
.widget-title{font-family:var(--serif);font-size:1.9rem;color:var(--navy);margin-bottom:.6rem}
.next h2{font-size:2rem}
.next-list{padding-left:1.2rem;margin:0 0 2rem}
.next-list li{margin-bottom:.7rem}
.next-list li::marker{color:var(--gold);font-family:var(--serif)}
.fallback{border-top:1px solid rgba(184,151,90,.45);padding-top:1.4rem;margin-bottom:1.6rem}
.fallback h3{font-size:1.4rem}
.crisis-note{background:#EEF3EC;border-left:3px solid var(--teal);padding:.9rem 1rem;font-size:.95rem}
@media (max-width:960px){.book-inner{grid-template-columns:1fr}.widget-ph{min-height:340px}}
@media (max-width:640px){.fee-grid{grid-template-columns:1fr}.page-hero{padding:3.5rem 0 2.5rem}}

/* Accessibility and clear healthcare advertising disclosures */
body{font-weight:400} .reading{text-align:left} .reading ul{padding-left:1.5rem}
.provider-disclosure{font-family:var(--sans);font-size:1rem;line-height:1.6;color:#14284B;font-weight:400;margin:1rem 0}
.prominent-disclosure{padding-top:1rem;padding-bottom:1rem;background:#F4EFE3}
.privacy-note{border-left:3px solid #215663;padding:1rem;background:#F4EFE3}
a:not(.btn){text-underline-offset:.18em} main a:not(.btn),.site-footer a{text-decoration:underline}
:focus-visible{outline:3px solid #14284B!important;outline-offset:4px!important}
.reveal,.js .reveal{opacity:1!important;transform:none!important}
.eyebrow,.num,.more{color:#655022} .tiny{font-size:.95rem}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:600px){.brand-name{font-size:1.3rem}.prominent-disclosure .provider-disclosure{font-size:.95rem}a{overflow-wrap:anywhere}}

.site-footer .provider-disclosure{color:#FFFDF8}.site-footer :focus-visible{outline-color:#FFFDF8!important}
.quote-band .quote{margin-top:0}
.site-footer .provider-disclosure{font-size:1rem;margin:1.2rem auto}
/* hero: centered stack, big logo on top */
.hero-inner{grid-template-columns:1fr;gap:2rem;max-width:820px;text-align:center}
.hero-logo img{max-width:380px}
.hero-copy .lede{margin-left:auto;margin-right:auto}.hero-copy .cta-row{justify-content:center}
@media (max-width:900px){.hero-logo img{max-width:280px}}
/* at-a-glance facts + FAQ */
.reading .facts,.facts{list-style:none;padding:0;margin:0;text-align:left}
.facts li{padding:.85rem 0;border-bottom:1px solid var(--sage-l)}
.facts li:last-child{border-bottom:0}
.facts strong{color:var(--navy);font-weight:500}
.faq-item{text-align:left;padding:1.1rem 0;border-bottom:1px solid var(--sage-l)}
.faq-item:last-child{border-bottom:0}
.faq-item h3{font-size:1.35rem;margin-bottom:.35em}
.faq-item p{margin:0}
/* tighter vertical rhythm (Nov 7 2026) */
.section{padding:3.5rem 0}
.hero{padding:2.5rem 0 3rem}
.hero-inner{gap:1.25rem}
.hero-logo img{max-width:320px}
.page-hero{padding:3rem 0 1.5rem}
.page-hero + .section{padding-top:1.5rem}
.rule{margin:.8rem auto 1.4rem}
.quote-band{padding:3rem 0}
.cta-band{padding:3rem 0}
.cta-band p{margin-bottom:1.2rem}
.cta-row{margin-top:1.4rem}
.eyebrow{margin-bottom:.6rem}
.card{padding:2rem 1.8rem}
.service{padding:1.4rem 0 1rem}
.steps li{padding:1.2rem 0}
.city{padding:1.2rem 0}
.city-list{margin:.8rem 0 1.6rem}
.footer-inner{padding:2.5rem 1.5rem 2rem}
.foot-tag{margin-bottom:1.1rem}
.widget-ph{min-height:0}
h2{margin-bottom:.4em}
@media (max-width:960px){.section{padding:2.75rem 0}.hero{padding:1.75rem 0 2.5rem}}
@media (max-width:640px){.page-hero{padding:2.25rem 0 1.25rem}}
