
:root{--navy:#17324d;--blue:#2d5f88;--sand:#f2ece2;--cream:#fbfaf7;--ink:#1f2b33;--muted:#647078;--line:#dfe3e5;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.7 Inter,Arial,sans-serif}a{color:inherit}
.container{width:min(1160px,92%);margin:auto}
header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.logo{height:58px;width:auto;display:block}.navlinks{display:flex;gap:25px;align-items:center}.navlinks a{text-decoration:none;color:#4f5b64;font-size:14px}.navlinks a:hover{color:var(--navy)}
.btn{display:inline-block;text-decoration:none;border-radius:5px;padding:13px 21px;font-weight:700;font-size:14px}.btn-primary{background:var(--navy);color:#fff}.btn-outline{border:1px solid #bfcbd3;color:var(--navy);background:#fff}
.hero{padding:82px 0;background:linear-gradient(135deg,#edf3f3 0%,#f8f4ed 100%)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}
.eyebrow{font-size:12px;letter-spacing:.17em;text-transform:uppercase;color:var(--blue);font-weight:800}
h1,h2{font-family:Georgia,serif;color:var(--navy);font-weight:500;line-height:1.1}h1{font-size:clamp(42px,6vw,68px);margin:15px 0 23px}h2{font-size:39px;margin:12px 0 20px}h3{color:var(--navy);margin:0 0 8px}p{color:var(--muted);max-width:760px}
.hero p{font-size:18px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}
.hero-logo{background:#fff;border-radius:18px;padding:15px;box-shadow:0 20px 55px rgba(23,50,77,.12);border:1px solid #e0e3e2}.hero-logo img{display:block;width:100%;height:auto}
section{padding:82px 0}.alt{background:#fff}.center{text-align:center}.lead{max-width:780px;margin:0 auto;color:var(--muted);font-size:17px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}.card{background:#fff;border:1px solid var(--line);padding:29px;border-radius:10px}.alt .card{background:var(--cream)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.list{padding:0;margin:22px 0;list-style:none}.list li{padding:10px 0;border-bottom:1px solid var(--line)}
.quote{font:25px/1.45 Georgia,serif;color:var(--navy);border-left:3px solid #a67c52;background:#f6f2eb;padding:27px}
.page-hero{padding:70px 0;background:linear-gradient(135deg,#edf3f3,#f6efe5)}
.cta{background:var(--navy);color:#fff;padding:68px 0}.cta h2{color:#fff}.cta p{color:#d9e3e9}
footer{background:#12283c;color:#dce5ea;padding:34px 0}.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px}.foot a{text-decoration:none}
.small{font-size:13px;color:var(--muted)}
@media(max-width:900px){.navlinks{display:none}.hero-grid,.two{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.hero{padding:58px 0}section{padding:62px 0}h2{font-size:32px}.cards{grid-template-columns:1fr}.logo{height:52px}.hero-logo{padding:8px}}

.about-photo{max-width:470px;margin:auto}

@media(max-width:900px){.hero-logo img{height:520px!important}}@media(max-width:620px){.hero-logo img{height:430px!important}}

/* Practice contact and privacy enhancements */
.contact-details{margin:1.25rem 0;padding:1.15rem 1.25rem;border:1px solid #d9dfe5;border-radius:12px;background:#fbfaf7}
.contact-details p{margin:.8rem 0}

.fax-highlight a{font-size:1.18rem;font-weight:700}
.crisis-note{margin-top:1.25rem;padding:1rem 1.1rem;border:1px solid #d9dfe5;border-radius:8px;background:#f7f7f5;font-size:.95rem;line-height:1.6}
.npp{max-width:850px}
.npp-banner{font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.npp h2{margin-top:2rem}
.npp p{line-height:1.7}
