/*
Theme Name: Pathways GeneratePress Child
Theme URI: https://pathwaysofrockland.com/
Description: Custom GeneratePress child theme for Pathways of Rockland County.
Author: Pathways of Rockland County
Template: generatepress
Version: 0.4.0
Text Domain: pathways-gp
Requires at least: 6.5
Requires PHP: 7.4
*/

/* Core Pathways design tokens */
:root {
  --pw-navy:#102d49;
  --pw-navy-2:#183b5b;
  --pw-blue:#7896ad;
  --pw-blue-dark:#496b86;
  --pw-mist:#e7eef2;
  --pw-mist-2:#d8e3ea;
  --pw-sand:#d3aa62;
  --pw-sand-soft:#efe1c7;
  --pw-paper:#fbfaf7;
  --pw-cream:#f4f0e8;
  --pw-white:#fff;
  --pw-ink:#183044;
  --pw-muted:#607285;
  --pw-line:rgba(16,45,73,.14);
  --pw-shadow:0 18px 55px rgba(16,45,73,.12);
  --pw-serif:Georgia,'Times New Roman',serif;
  --pw-sans:'Avenir Next',Avenir,'Segoe UI',Helvetica,Arial,sans-serif;
  --pw-max:1180px;
  --pw-radius:26px;
}

html { scroll-behavior:smooth; }
body { background:var(--pw-paper); color:var(--pw-ink); font-family:var(--pw-sans); line-height:1.65; -webkit-font-smoothing:antialiased; }
body, button, input, select, textarea { font-family:var(--pw-sans); }
a { text-decoration-thickness:1px; text-underline-offset:3px; }

/* GeneratePress shell */
.site { background:transparent; }
.grid-container { max-width:var(--pw-max); }
.site-header { background:rgba(251,250,247,.96); border-bottom:1px solid rgba(16,45,73,.08); }
.inside-header { max-width:var(--pw-max); padding:18px 24px; }
.site-branding, .site-logo { display:none; }
.pathways-brand { display:inline-flex; align-items:center; width:min(310px,52vw); }
.pathways-brand img { width:100%; height:auto; display:block; }

.main-navigation { background:rgba(251,250,247,.98); color:var(--pw-navy); border-bottom:1px solid rgba(16,45,73,.08); }
.main-navigation .inside-navigation { max-width:var(--pw-max); }
.main-navigation .main-nav ul li a { color:#314d64; font-size:14px; padding-left:14px; padding-right:14px; }
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li:focus > a,
.main-navigation .main-nav ul li[class*="current-menu-"] > a { color:var(--pw-navy); background:transparent; }
.main-navigation .menu-bar-items a { color:var(--pw-navy); }

.pathways-topbar { background:var(--pw-navy); color:#dce8ef; font-size:12px; letter-spacing:.06em; }
.pathways-topbar__inner { max-width:var(--pw-max); margin:auto; padding:8px 24px; display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.pathways-topbar a { color:#fff; font-weight:700; text-decoration:none; }

#page.grid-container { max-width:none; padding:0; }
#content.site-content { display:block; padding:0; }
.pathways-front #primary { width:100%; float:none; }
.pathways-front #main { margin:0; }
.pathways-front .inside-article { padding:0; }

/* Typography */
.pathways-page h1,.pathways-page h2,.pathways-page .pw-display { font-family:var(--pw-serif); font-weight:400; color:var(--pw-navy); letter-spacing:-.025em; }
.pathways-page h1 { font-size:clamp(50px,6vw,84px); line-height:1.02; margin:0 0 26px; }
.pathways-page h2 { font-size:clamp(38px,4.5vw,58px); line-height:1.08; margin:0 0 22px; }
.pathways-page h3 { font-size:21px; line-height:1.25; color:var(--pw-navy); margin:0 0 10px; }
.pw-container { width:min(var(--pw-max),calc(100% - 42px)); margin-inline:auto; }
.pw-eyebrow { font-size:12px; letter-spacing:.18em; text-transform:uppercase; font-weight:800; color:var(--pw-blue-dark); margin:0 0 18px; }
.pw-eyebrow--sand { color:#e0bc79; }
.pw-lead { font-size:20px; color:#4d6477; max-width:720px; }

.pw-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid var(--pw-navy); background:var(--pw-navy); color:#fff!important; border-radius:999px; padding:13px 22px; font-weight:700; font-size:14px; line-height:1.2; text-decoration:none!important; transition:.2s; }
.pw-button:hover { transform:translateY(-1px); background:#0b243b; color:#fff!important; }
.pw-button--secondary { background:transparent; color:var(--pw-navy)!important; border-color:rgba(16,45,73,.35); }
.pw-button--secondary:hover { background:var(--pw-navy); color:#fff!important; }
.pw-button--light { background:#fff; border-color:#fff; color:var(--pw-navy)!important; }

/* Homepage */
.pw-hero { position:relative; overflow:hidden; background:linear-gradient(135deg,#f9f7f1 0%,#eef3f5 55%,#e4edf2 100%); padding:76px 0 82px; }
.pw-hero:before { content:''; position:absolute; width:530px; height:530px; border-radius:50%; right:-160px; top:-180px; background:rgba(211,170,98,.19); }
.pw-hero__grid { display:grid; grid-template-columns:1.02fr .98fr; gap:70px; align-items:center; }
.pw-hero__content { position:relative; z-index:2; }
.pw-hero__lead { font-size:20px; color:#4e6578; max-width:650px; margin-bottom:30px; }
.pw-hero__actions { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:34px; }
.pw-hero__meta { display:flex; gap:26px; flex-wrap:wrap; border-top:1px solid var(--pw-line); padding-top:22px; color:#526a7d; font-size:13px; }
.pw-hero__meta strong { display:block; color:var(--pw-navy); font-size:14px; }
.pw-hero__visual { position:relative; min-height:590px; }
.pw-hero__image { position:absolute; right:0; top:16px; width:86%; height:520px; object-fit:cover; border-radius:130px 24px 110px 24px; box-shadow:var(--pw-shadow); }
.pw-hero__mark { position:absolute; left:-22px; bottom:26px; width:220px; padding:28px; background:rgba(255,255,255,.92); border:1px solid rgba(255,255,255,.8); border-radius:34px; box-shadow:var(--pw-shadow); }
.pw-hero__mark img { width:100%; }
.pw-hero__accent { position:absolute; right:28px; bottom:12px; width:145px; height:145px; border-radius:50%; border:1px solid rgba(16,45,73,.18); display:grid; place-items:center; color:var(--pw-navy); font-family:var(--pw-serif); font-size:18px; text-align:center; background:rgba(244,240,232,.92); padding:20px; }

.pw-statement { padding:46px 0; border-top:1px solid var(--pw-line); border-bottom:1px solid var(--pw-line); background:#fff; }
.pw-statement .pw-container { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; align-items:start; }
.pw-statement__text { font-family:var(--pw-serif); font-size:clamp(28px,3vw,40px); line-height:1.25; color:var(--pw-navy); margin:0; }

.pw-section { padding:108px 0; }
.pw-section--cream { background:var(--pw-cream); }
.pw-section--mist { background:var(--pw-mist); }
.pw-section-heading { max-width:760px; margin-bottom:48px; }
.pw-section-heading--split { max-width:none; display:grid; grid-template-columns:1.1fr .75fr; gap:80px; align-items:end; }
.pw-section-heading--split > p:last-child { color:var(--pw-muted); margin-bottom:4px; }

.pw-audience-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.pw-audience-card { background:#fff; border:1px solid var(--pw-line); border-radius:var(--pw-radius); padding:31px 28px; min-height:315px; display:flex; flex-direction:column; transition:.25s; }
.pw-audience-card:hover { transform:translateY(-4px); box-shadow:var(--pw-shadow); border-color:rgba(16,45,73,.05); }
.pw-audience-card__top { display:flex; justify-content:space-between; align-items:center; margin-bottom:42px; }
.pw-audience-card__num { font-size:12px; color:var(--pw-blue-dark); letter-spacing:.13em; }
.pw-audience-card__glyph { width:50px; height:50px; border-radius:50%; background:var(--pw-mist); position:relative; }
.pw-audience-card__glyph:after { content:''; position:absolute; width:14px; height:14px; border-radius:50%; background:var(--pw-sand); right:7px; bottom:8px; }
.pw-audience-card h3 { font-family:var(--pw-serif); font-weight:400; font-size:31px; }
.pw-audience-card p { color:var(--pw-muted); font-size:15px; }
.pw-audience-card a { margin-top:auto; font-weight:700; color:var(--pw-navy); font-size:14px; text-decoration:none; }

.pw-support-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:90px; align-items:start; }
.pw-support-intro { position:sticky; top:130px; }
.pw-support-list { border-top:1px solid var(--pw-line); }
.pw-support-row { display:grid; grid-template-columns:56px 1fr auto; gap:22px; padding:28px 0; border-bottom:1px solid var(--pw-line); align-items:start; }
.pw-support-row > span:first-child { font-size:12px; color:var(--pw-blue-dark); letter-spacing:.13em; }
.pw-support-row h3 { font-family:var(--pw-serif); font-size:27px; font-weight:400; margin-bottom:4px; }
.pw-support-row p { color:var(--pw-muted); margin:0; max-width:650px; }
.pw-support-row .pw-arrow { font-size:24px; color:var(--pw-sand); }

.pw-feature { background:var(--pw-navy); color:#fff; overflow:hidden; }
.pw-feature__grid { display:grid; grid-template-columns:1.2fr .8fr; min-height:550px; }
.pw-feature__content { padding:95px 8vw 95px max(24px,calc((100vw - var(--pw-max))/2)); align-self:center; }
.pw-feature__content h2 { color:#fff; max-width:680px; }
.pw-feature__content > p:not(.pw-eyebrow) { max-width:650px; color:#cbd9e2; font-size:18px; }
.pw-feature__art { position:relative; background:linear-gradient(155deg,#1b4568,#7896ad); display:flex; align-items:center; justify-content:center; min-height:460px; }
.pw-feature__art:before { content:''; position:absolute; width:440px; height:440px; border:1px solid rgba(255,255,255,.24); border-radius:50%; }
.pw-feature__art img { width:290px; filter:brightness(0) invert(1); opacity:.92; position:relative; }
.pw-principles { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:38px; }
.pw-principle { padding-top:20px; border-top:1px solid rgba(255,255,255,.25); }
.pw-principle span { color:#e3bf7e; font-weight:800; font-size:12px; }
.pw-principle h3 { font-family:var(--pw-serif); font-size:24px; font-weight:400; color:#fff; margin-top:10px; }
.pw-principle p { font-size:14px; color:#cbd9e2; }

.pw-service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.pw-service-card { border:1px solid var(--pw-line); border-radius:var(--pw-radius); padding:34px; background:#fff; min-height:285px; display:flex; flex-direction:column; }
.pw-service-card__icon { width:58px; height:58px; border-radius:18px; background:linear-gradient(135deg,var(--pw-mist),#f7f2e8); display:grid; place-items:center; font-family:var(--pw-serif); font-size:20px; color:var(--pw-navy); margin-bottom:34px; }
.pw-service-card h3 { font-family:var(--pw-serif); font-size:28px; font-weight:400; }
.pw-service-card p { color:var(--pw-muted); font-size:15px; }
.pw-service-card a { margin-top:auto; color:var(--pw-navy); font-weight:700; font-size:14px; text-decoration:none; }

.pw-team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.pw-team-card { background:#fff; border:1px solid var(--pw-line); border-radius:var(--pw-radius); overflow:hidden; }
.pw-team-card__portrait { height:265px; position:relative; background:linear-gradient(145deg,#dce7ed,#b8cad5); display:flex; align-items:flex-end; padding:24px; overflow:hidden; }
.pw-team-card__portrait:before,.pw-team-card__portrait:after { content:''; position:absolute; border-radius:50%; background:rgba(255,255,255,.35); }
.pw-team-card__portrait:before { width:160px; height:160px; right:-25px; top:-30px; }
.pw-team-card__portrait:after { width:95px; height:95px; left:24px; top:38px; background:rgba(211,170,98,.24); }
.pw-team-card__initials { position:relative; z-index:2; font-family:var(--pw-serif); font-size:58px; color:var(--pw-navy); }
.pw-team-card__body { padding:27px; }
.pw-team-card__role { color:var(--pw-blue-dark); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.pw-team-card__body h3 { font-family:var(--pw-serif); font-size:27px; font-weight:400; }
.pw-team-card__body p { color:var(--pw-muted); font-size:14px; }
.pw-team-card__body a { color:var(--pw-navy); font-weight:700; font-size:14px; text-decoration:none; }

.pw-cta { padding:42px 0 100px; }
.pw-cta__panel { background:var(--pw-navy); border-radius:34px; color:#dbe6ed; padding:58px 62px; display:grid; grid-template-columns:1fr auto; gap:60px; align-items:center; box-shadow:var(--pw-shadow); }
.pw-cta__panel h2 { color:#fff; max-width:800px; }
.pw-cta__panel p:not(.pw-eyebrow) { max-width:760px; font-size:17px; }

/* Branded footer injected through GeneratePress hook */
.pathways-footer { background:#0c263e; color:#cbd9e2; padding:72px 0 30px; }
.pathways-footer__grid { display:grid; grid-template-columns:1.4fr .65fr .65fr .8fr; gap:52px; }
.pathways-footer__brand img { width:min(300px,100%); filter:brightness(0) invert(1); opacity:.96; }
.pathways-footer h3 { color:#fff; font-family:var(--pw-serif); font-size:20px; font-weight:400; }
.pathways-footer a { color:#dce8ef; display:block; margin:7px 0; text-decoration:none; }
.pathways-footer p { color:#aebfca; }
.pathways-footer__bottom { border-top:1px solid rgba(255,255,255,.13); margin-top:42px; padding-top:22px; display:flex; justify-content:space-between; gap:30px; font-size:12px; color:#9db0bd; }
.site-info { display:none; }

/* Regular WordPress pages */
body:not(.home) .site-content { padding-top:56px; padding-bottom:80px; }
body:not(.home) .inside-article { background:transparent; padding:0; }
body:not(.home) .entry-title { font-family:var(--pw-serif); font-size:clamp(42px,5vw,64px); font-weight:400; color:var(--pw-navy); letter-spacing:-.025em; }
body:not(.home) .entry-content { font-size:17px; max-width:800px; }
body:not(.home) .entry-content h2 { font-family:var(--pw-serif); font-weight:400; color:var(--pw-navy); font-size:clamp(30px,3.8vw,44px); }

/* Responsive */
@media (min-width:1025px) {
  .site-header { position:sticky; top:0; z-index:110; }
  .main-navigation { position:sticky; top:88px; z-index:109; }
}
@media (max-width:1024px) {
  .pw-hero__grid,.pw-feature__grid,.pw-section-heading--split,.pw-support-layout { grid-template-columns:1fr; }
  .pw-hero__visual { min-height:520px; max-width:720px; }
  .pw-audience-grid { grid-template-columns:repeat(2,1fr); }
  .pw-service-grid,.pw-team-grid { grid-template-columns:repeat(2,1fr); }
  .pw-principles { grid-template-columns:1fr; }
  .pw-support-intro { position:static; }
  .pathways-footer__grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:720px) {
  .pw-container { width:min(100% - 30px,var(--pw-max)); }
  .pw-section { padding:74px 0; }
  .pw-hero { padding:52px 0 62px; }
  .pw-hero__visual { min-height:390px; }
  .pw-hero__image { height:350px; width:92%; border-radius:86px 20px 74px 20px; }
  .pw-hero__mark { width:150px; padding:18px; left:0; }
  .pw-hero__accent { display:none; }
  .pw-statement .pw-container { grid-template-columns:1fr; gap:14px; }
  .pw-audience-grid,.pw-service-grid,.pw-team-grid,.pw-cta__panel,.pathways-footer__grid { grid-template-columns:1fr; }
  .pw-cta__panel { padding:40px 28px; gap:24px; }
  .pw-section-heading--split { gap:14px; }
  .pw-support-row { grid-template-columns:38px 1fr; }
  .pw-support-row .pw-arrow { display:none; }
  .pathways-footer__bottom { flex-direction:column; }
  .pathways-topbar__inner { justify-content:center; text-align:center; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  * { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

/* v0.2 homepage + interior page system */
.pw-office-strip { margin-top:30px; padding:18px 0 0; border-top:1px solid var(--pw-line); display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.pw-office-strip__label { display:block; text-transform:uppercase; letter-spacing:.13em; font-size:11px; font-weight:800; color:var(--pw-blue-dark); margin-bottom:4px; }
.pw-office-strip strong { display:block; color:var(--pw-navy); font-size:14px; line-height:1.45; }
.pw-office-strip a,.pw-text-link { color:var(--pw-navy); font-weight:750; font-size:14px; text-decoration:none; }
.pw-statement__support { margin:18px 0 0; max-width:720px; color:var(--pw-muted); font-size:17px; }
.pw-section-action { margin-top:30px; }
.pw-service-grid--six { grid-template-columns:repeat(3,1fr); }
.pw-team-grid--five { grid-template-columns:repeat(5,1fr); }
.pw-team-grid--five .pw-team-card__portrait { height:210px; }
.pw-team-grid--five .pw-team-card__body { padding:22px; }
.pw-team-grid--five .pw-team-card__body h3 { font-size:23px; }
.pw-team-grid--five .pw-team-card__body p { font-size:13px; }

.pw-location-section { padding:105px 0; background:linear-gradient(135deg,#e9f0f3,#f7f3eb); border-top:1px solid var(--pw-line); border-bottom:1px solid var(--pw-line); }
.pw-location-grid { display:grid; grid-template-columns:1.1fr .75fr; gap:90px; align-items:center; }
.pw-location-address { margin-top:32px; padding-top:25px; border-top:1px solid var(--pw-line); display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.pw-location-address strong { color:var(--pw-navy); font-family:var(--pw-serif); font-size:25px; font-weight:400; max-width:520px; }
.pw-location-address a { color:var(--pw-navy); font-weight:750; text-decoration:none; }
.pw-contact-card,.pw-office-note { background:#fff; border:1px solid rgba(16,45,73,.11); border-radius:28px; padding:38px; box-shadow:var(--pw-shadow); display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.pw-contact-card__label { text-transform:uppercase; font-size:11px; letter-spacing:.15em; font-weight:800; color:var(--pw-blue-dark); margin:0; }
.pw-contact-card__primary { font-family:var(--pw-serif); font-size:32px; color:var(--pw-navy); text-decoration:none; }
.pw-contact-card > a:not(.pw-button):not(.pw-text-link),.pw-office-note > a:not(.pw-text-link) { color:var(--pw-ink); text-decoration:none; }
.pw-contact-card .pw-button { margin-top:8px; }

.pw-next-step-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; align-items:start; }
.pw-steps { list-style:none; padding:0; margin:0; border-top:1px solid var(--pw-line); }
.pw-steps li { display:grid; grid-template-columns:55px 1fr; gap:20px; padding:27px 0; border-bottom:1px solid var(--pw-line); }
.pw-steps li > span,.pw-three-grid > div > span,.pw-practice-values span,.pw-service-detail__num { color:var(--pw-blue-dark); font-size:12px; letter-spacing:.14em; font-weight:800; }
.pw-steps h3 { font-family:var(--pw-serif); font-size:25px; font-weight:400; }
.pw-steps p { margin:0; color:var(--pw-muted); }

/* Designed internal pages */
body.page .pathways-page { margin-top:-56px; margin-bottom:-80px; }
.pw-page-hero { padding:82px 0 78px; background:linear-gradient(135deg,#f9f7f1 0%,#edf3f5 72%,#e5edf1 100%); border-bottom:1px solid var(--pw-line); }
.pw-page-hero__inner { max-width:950px; margin-left:max(calc((100% - var(--pw-max))/2),21px); margin-right:auto; }
.pw-page-hero h1 { max-width:900px; }
.pw-page-hero__lead { max-width:780px; font-size:21px; color:var(--pw-muted); margin:0; }
.pw-longform-grid { display:grid; grid-template-columns:220px 1fr; gap:90px; align-items:start; }
.pw-side-nav { position:sticky; top:155px; border-top:1px solid var(--pw-line); padding-top:20px; }
.pw-side-nav a { display:block; padding:9px 0; color:var(--pw-ink); text-decoration:none; font-size:14px; }
.pw-side-nav a:hover { color:var(--pw-navy); }
.pw-content-stack { max-width:820px; }
.pw-content-section { padding:0 0 78px; margin-bottom:78px; border-bottom:1px solid var(--pw-line); scroll-margin-top:170px; }
.pw-content-section:last-child { border-bottom:0; margin-bottom:0; }
.pw-content-section p { font-size:17px; color:#455d70; }
.pw-kicker { text-transform:uppercase; color:var(--pw-blue-dark)!important; font-size:11px!important; font-weight:800; letter-spacing:.17em; margin-bottom:12px!important; }
.pw-tag-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:25px; }
.pw-tag-row span { border:1px solid var(--pw-line); border-radius:999px; padding:7px 12px; font-size:12px; color:var(--pw-navy); background:#fff; }

.pw-service-detail-list { max-width:980px; }
.pw-service-detail { display:grid; grid-template-columns:80px 1fr; gap:34px; padding:55px 0; border-bottom:1px solid var(--pw-line); scroll-margin-top:170px; }
.pw-service-detail:first-child { padding-top:0; }
.pw-service-detail__num { padding-top:11px; }
.pw-service-detail p:not(.pw-kicker) { max-width:760px; color:var(--pw-muted); font-size:17px; }

.pw-practice-grid { display:grid; grid-template-columns:1.05fr .75fr; gap:100px; align-items:start; }
.pw-practice-copy > p:not(.pw-eyebrow) { color:var(--pw-muted); font-size:18px; }
.pw-practice-values { display:grid; gap:0; border-top:1px solid var(--pw-line); }
.pw-practice-values > div { padding:24px 0; border-bottom:1px solid var(--pw-line); }
.pw-practice-values h3 { font-family:var(--pw-serif); font-weight:400; font-size:25px; margin:7px 0; }
.pw-practice-values p { color:var(--pw-muted); margin:0; font-size:14px; }
.pw-office-note .pw-kicker { margin-bottom:0!important; }
.pw-office-note > a { font-family:var(--pw-serif); font-size:23px; }
.pw-office-note p { color:var(--pw-muted); }

.pw-team-directory { max-width:1000px; display:grid; gap:0; border-top:1px solid var(--pw-line); }
.pw-team-profile { display:grid; grid-template-columns:220px 1fr; gap:48px; padding:45px 0; border-bottom:1px solid var(--pw-line); align-items:center; }
.pw-team-profile__visual { height:215px; border-radius:24px; background:linear-gradient(145deg,#dce7ed,#b8cad5); display:flex; align-items:flex-end; padding:25px; position:relative; overflow:hidden; }
.pw-team-profile__visual:before { content:''; width:140px; height:140px; background:rgba(255,255,255,.38); position:absolute; right:-20px; top:-25px; border-radius:50%; }
.pw-team-profile__visual span { position:relative; font-family:var(--pw-serif); font-size:55px; color:var(--pw-navy); }
.pw-team-profile h2 { font-size:38px; margin-bottom:12px; }
.pw-team-profile p:not(.pw-team-card__role) { color:var(--pw-muted); font-size:16px; max-width:650px; }

.pw-faq-list { max-width:900px; }
.pw-faq { border-top:1px solid var(--pw-line); }
.pw-faq:last-child { border-bottom:1px solid var(--pw-line); }
.pw-faq summary { cursor:pointer; list-style:none; padding:25px 44px 25px 0; font-family:var(--pw-serif); font-size:26px; color:var(--pw-navy); position:relative; }
.pw-faq summary::-webkit-details-marker { display:none; }
.pw-faq summary:after { content:'+'; position:absolute; right:8px; top:24px; font-family:var(--pw-sans); font-size:24px; font-weight:300; }
.pw-faq[open] summary:after { content:'–'; }
.pw-faq > div { padding:0 60px 24px 0; color:var(--pw-muted); font-size:16px; }

.pw-contact-layout { display:grid; grid-template-columns:.72fr 1.1fr; gap:90px; align-items:start; }
.pw-contact-details h2 { margin-bottom:35px; }
.pw-contact-detail { border-top:1px solid var(--pw-line); padding:19px 0; display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
.pw-contact-detail > span { text-transform:uppercase; color:var(--pw-blue-dark); font-size:10px; font-weight:800; letter-spacing:.15em; }
.pw-contact-detail > a:not(.pw-text-link),.pw-contact-detail > strong { color:var(--pw-navy); font-size:17px; text-decoration:none; }
.pw-form-panel { background:#fff; border:1px solid var(--pw-line); border-radius:30px; padding:44px; box-shadow:var(--pw-shadow); }
.pw-form-panel h2 { font-size:40px; }
.pw-form-panel > p:not(.pw-eyebrow) { color:var(--pw-muted); }
.pw-form-placeholder { margin-top:28px; padding:26px; background:var(--pw-cream); border-radius:18px; color:var(--pw-muted); }
.pw-form-placeholder p:last-child { margin-bottom:0; }
.pw-form-shortcode { margin-top:28px; }
.pw-form-shortcode input[type=text],.pw-form-shortcode input[type=email],.pw-form-shortcode input[type=tel],.pw-form-shortcode textarea,.pw-form-shortcode select { width:100%; border:1px solid var(--pw-line); border-radius:12px; padding:12px 14px; background:#fff; }
.pw-form-shortcode input[type=submit],.pw-form-shortcode button[type=submit] { border:0; border-radius:999px; background:var(--pw-navy); color:#fff; padding:13px 22px; font-weight:700; }
.pw-three-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.pw-three-grid > div { background:#fff; border:1px solid var(--pw-line); border-radius:22px; padding:28px; }
.pw-three-grid h3 { font-family:var(--pw-serif); font-size:24px; font-weight:400; margin-top:13px; }
.pw-three-grid p { color:var(--pw-muted); font-size:14px; margin-bottom:0; }
.pw-cta--page { padding-top:0; }

@media (max-width:1100px) {
  .pw-team-grid--five { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:1024px) {
  .pw-location-grid,.pw-next-step-grid,.pw-longform-grid,.pw-practice-grid,.pw-contact-layout { grid-template-columns:1fr; gap:55px; }
  .pw-side-nav { position:static; display:flex; flex-wrap:wrap; gap:8px 18px; }
  .pw-side-nav .pw-eyebrow { width:100%; }
  .pw-service-grid--six { grid-template-columns:repeat(2,1fr); }
  .pw-page-hero__inner { margin-inline:auto; }
}
@media (max-width:720px) {
  .pw-office-strip { align-items:flex-start; flex-direction:column; }
  .pw-location-section { padding:72px 0; }
  .pw-location-address strong { font-size:22px; }
  .pw-team-grid--five,.pw-service-grid--six,.pw-three-grid { grid-template-columns:1fr; }
  .pw-team-profile { grid-template-columns:1fr; gap:24px; }
  .pw-team-profile__visual { height:190px; }
  .pw-service-detail { grid-template-columns:40px 1fr; gap:18px; }
  .pw-form-panel { padding:30px 22px; }
  .pw-page-hero { padding:60px 0; }
}

/* Clinician profiles */
.pw-clinician-hero { padding:72px 0; background:linear-gradient(135deg,#f9f7f1,#e7eff3); border-bottom:1px solid var(--pw-line); }
.pw-clinician-hero__grid { display:grid; grid-template-columns:1fr 320px; gap:80px; align-items:center; }
.pw-clinician-hero__visual { width:300px; height:300px; border-radius:34px; overflow:hidden; background:linear-gradient(145deg,#dce7ed,#b8cad5); display:grid; place-items:center; justify-self:end; }
.pw-clinician-hero__visual img { width:100%; height:100%; object-fit:cover; }
.pw-clinician-hero__visual span { font-family:var(--pw-serif); font-size:82px; color:var(--pw-navy); }
.pw-clinician-content { display:grid; grid-template-columns:minmax(0,760px) 300px; gap:90px; align-items:start; }
.pw-clinician-article { font-size:17px; color:#455d70; }
.pw-clinician-article h2,.pw-clinician-article h3 { font-family:var(--pw-serif); font-weight:400; color:var(--pw-navy); }
.pw-clinician-article h2 { font-size:38px; margin-top:42px; }
.pw-clinician-article h3 { font-size:27px; margin-top:32px; }
.pw-clinician-aside { position:sticky; top:155px; background:var(--pw-cream); border:1px solid var(--pw-line); border-radius:24px; padding:28px; }
.pw-clinician-aside h3 { font-family:var(--pw-serif); font-size:27px; font-weight:400; }
.pw-clinician-aside p:not(.pw-eyebrow) { color:var(--pw-muted); font-size:14px; }
@media(max-width:900px){.pw-clinician-hero__grid,.pw-clinician-content{grid-template-columns:1fr}.pw-clinician-hero__visual{justify-self:start}.pw-clinician-aside{position:static}}
@media(max-width:520px){.pw-clinician-hero__visual{width:220px;height:220px}.pw-clinician-hero__visual span{font-size:60px}}

/* v0.3 hub + topic pages */
.pw-hub-grid { display:grid; gap:18px; }
.pw-hub-grid--four { grid-template-columns:repeat(4,1fr); }
.pw-hub-grid--three { grid-template-columns:repeat(3,1fr); }
.pw-hub-card { min-height:330px; display:flex; flex-direction:column; align-items:flex-start; padding:32px; background:#fff; border:1px solid var(--pw-line); border-radius:24px; text-decoration:none; color:var(--pw-ink); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.pw-hub-card:hover { transform:translateY(-3px); box-shadow:var(--pw-shadow); border-color:rgba(16,45,73,.2); }
.pw-hub-card__num { color:var(--pw-blue-dark); font-size:11px; letter-spacing:.15em; font-weight:800; margin-bottom:45px; }
.pw-hub-card h3 { font-family:var(--pw-serif); font-size:31px; font-weight:400; color:var(--pw-navy); margin:0 0 14px; }
.pw-hub-card p { color:var(--pw-muted); font-size:15px; line-height:1.7; margin:0 0 24px; }
.pw-hub-card strong { margin-top:auto; color:var(--pw-navy); font-size:13px; }
.pw-feature--compact { padding:88px 0; }
.pw-feature__simple { display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:start; }
.pw-feature__simple h2 { color:#fff; }
.pw-feature__simple p { color:rgba(255,255,255,.78); font-size:17px; }
.pw-concern-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--pw-line); }
.pw-concern-item { display:grid; grid-template-columns:38px 1fr; gap:12px; padding:23px 12px 23px 0; border-bottom:1px solid var(--pw-line); }
.pw-concern-item:nth-child(odd) { padding-right:30px; }
.pw-concern-item:nth-child(even) { padding-left:30px; border-left:1px solid var(--pw-line); }
.pw-concern-item span { color:var(--pw-blue-dark); }
.pw-concern-item strong { color:var(--pw-navy); font-family:var(--pw-serif); font-size:21px; font-weight:400; }

.pw-topic-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:start; }
.pw-topic-heading h2 { font-size:42px; max-width:520px; }
.pw-topic-list { list-style:none; padding:0; margin:0; border-top:1px solid var(--pw-line); }
.pw-topic-list li { display:grid; grid-template-columns:36px 1fr; gap:15px; padding:22px 0; border-bottom:1px solid var(--pw-line); }
.pw-topic-list li > span { color:var(--pw-blue-dark); }
.pw-topic-list strong { color:var(--pw-navy); font-size:16px; line-height:1.55; }
.pw-topic-copy-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:start; }
.pw-topic-copy-grid h2 { max-width:540px; }
.pw-topic-copy p { color:var(--pw-muted); font-size:18px; line-height:1.78; }
.pw-topic-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:60px; }
.pw-topic-card { background:#fff; border:1px solid var(--pw-line); border-radius:22px; padding:30px; }
.pw-topic-card > span { color:var(--pw-blue-dark); font-size:11px; letter-spacing:.15em; font-weight:800; }
.pw-topic-card h3 { font-family:var(--pw-serif); font-size:25px; font-weight:400; color:var(--pw-navy); margin:32px 0 12px; }
.pw-topic-card p { color:var(--pw-muted); font-size:14px; margin:0; }
.pw-related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.pw-related-card { min-height:150px; position:relative; display:flex; flex-direction:column; align-items:flex-start; padding:25px; border:1px solid var(--pw-line); border-radius:20px; text-decoration:none; background:#fff; }
.pw-related-card span { font-family:var(--pw-serif); font-size:24px; color:var(--pw-navy); }
.pw-related-card strong { margin-top:auto; font-size:12px; color:var(--pw-blue-dark); }
.pw-related-card i { position:absolute; right:22px; top:21px; color:var(--pw-blue-dark); font-style:normal; }
.pw-location-mini { padding:42px 0; background:#e8eff2; border-top:1px solid var(--pw-line); border-bottom:1px solid var(--pw-line); }
.pw-location-mini__inner { display:flex; justify-content:space-between; align-items:center; gap:40px; }
.pw-location-mini__inner strong { display:block; font-family:var(--pw-serif); font-size:23px; color:var(--pw-navy); font-weight:400; }
.pw-location-mini__inner p:not(.pw-eyebrow) { color:var(--pw-muted); margin:6px 0 0; }
.pw-location-mini__inner a { color:var(--pw-navy); font-weight:750; text-decoration:none; }
.pw-location-mini__links { display:flex; gap:24px; align-items:center; }
.pw-faq-layout { display:grid; grid-template-columns:1fr 285px; gap:70px; align-items:start; }
.pw-faq-aside { position:sticky; top:150px; display:flex; flex-direction:column; gap:12px; padding:27px; border-radius:22px; background:var(--pw-cream); border:1px solid var(--pw-line); }
.pw-faq-aside strong { color:var(--pw-navy); line-height:1.55; }
.pw-faq-aside a { color:var(--pw-navy); text-decoration:none; font-size:14px; }
.pw-contact-detail small { color:var(--pw-muted); font-size:12px; }
.pw-emergency-note { padding:30px 0; background:#f7f3eb; border-top:1px solid var(--pw-line); }
.pw-emergency-note .pw-container { display:grid; grid-template-columns:220px 1fr; gap:40px; }
.pw-emergency-note strong { color:var(--pw-navy); }
.pw-emergency-note p { margin:0; color:var(--pw-muted); }

@media (max-width:1100px) {
  .pw-hub-grid--four { grid-template-columns:repeat(2,1fr); }
  .pw-team-grid--five { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:900px) {
  .pw-hub-grid--three,.pw-topic-card-grid,.pw-related-grid { grid-template-columns:1fr; }
  .pw-topic-grid,.pw-topic-copy-grid,.pw-feature__simple,.pw-faq-layout { grid-template-columns:1fr; gap:42px; }
  .pw-faq-aside { position:static; }
  .pw-related-card { min-height:125px; }
}
@media (max-width:700px) {
  .pw-hub-grid--four { grid-template-columns:1fr; }
  .pw-hub-card { min-height:0; }
  .pw-hub-card__num { margin-bottom:28px; }
  .pw-concern-grid { grid-template-columns:1fr; }
  .pw-concern-item:nth-child(odd),.pw-concern-item:nth-child(even) { padding-left:0; padding-right:0; border-left:0; }
  .pw-location-mini__inner,.pw-location-mini__links { align-items:flex-start; flex-direction:column; }
  .pw-emergency-note .pw-container { grid-template-columns:1fr; gap:8px; }
}

/* v0.4 custom consultation form */
.pw-consultation-form { margin-top:30px; display:grid; gap:22px; }
.pw-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.pw-form-field { margin:0; padding:0; border:0; min-width:0; }
.pw-form-field label,.pw-form-field legend { display:block; margin:0 0 8px; color:var(--pw-navy); font-size:14px; font-weight:750; line-height:1.4; }
.pw-form-field label small { margin-left:7px; color:var(--pw-muted); font-weight:500; }
.pw-form-field input[type=text],.pw-form-field input[type=email],.pw-form-field input[type=tel],.pw-form-field textarea { width:100%; box-sizing:border-box; border:1px solid rgba(16,45,73,.2); border-radius:13px; padding:13px 14px; background:#fff; color:var(--pw-ink); font:inherit; line-height:1.5; transition:border-color .18s ease, box-shadow .18s ease; }
.pw-form-field textarea { resize:vertical; min-height:145px; }
.pw-form-field input:focus,.pw-form-field textarea:focus { outline:0; border-color:var(--pw-blue-dark); box-shadow:0 0 0 3px rgba(46,92,120,.12); }
.pw-form-field > small { display:block; margin-top:7px; color:var(--pw-muted); font-size:12px; }
.pw-contact-choice legend { margin-bottom:11px; }
.pw-radio-row { display:flex; flex-wrap:wrap; gap:9px; }
.pw-radio-row label { margin:0; cursor:pointer; }
.pw-radio-row input { position:absolute; opacity:0; pointer-events:none; }
.pw-radio-row label span { display:inline-flex; align-items:center; min-height:40px; padding:8px 15px; border:1px solid rgba(16,45,73,.18); border-radius:999px; color:var(--pw-navy); background:#fff; font-size:13px; font-weight:700; transition:background .18s ease, border-color .18s ease, box-shadow .18s ease; }
.pw-radio-row input:checked + span { background:var(--pw-navy); border-color:var(--pw-navy); color:#fff; }
.pw-radio-row input:focus-visible + span { box-shadow:0 0 0 3px rgba(46,92,120,.18); }
.pw-form-submit { justify-self:start; border:0; cursor:pointer; font:inherit; }
.pw-form-required,.pw-form-disclaimer { margin:0!important; color:var(--pw-muted)!important; font-size:12px!important; line-height:1.55; }
.pw-form-disclaimer { padding-top:16px; border-top:1px solid var(--pw-line); }
.pw-form-notice { margin:25px 0 4px; padding:15px 17px; border-radius:13px; font-size:14px; line-height:1.55; }
.pw-form-notice--success { background:#edf5f0; border:1px solid #bfd9c8; color:#244d34; }
.pw-form-notice--error { background:#fbf0ee; border:1px solid #e4c4be; color:#6b3028; }
.pw-honeypot { position:absolute!important; left:-10000px!important; top:auto!important; width:1px!important; height:1px!important; overflow:hidden!important; }
@media(max-width:620px){.pw-form-grid{grid-template-columns:1fr}.pw-radio-row{align-items:stretch}.pw-radio-row label span{min-width:88px;justify-content:center}}
