/* Cohesive practice layout: ivory, stone and ink blue. */
:root{--beige:#eee9e1;--white:#fcfaf6;--ink:#273744;--navy:#233b4b;--wine:#233b4b;--line:#d5d0c6}
html body.onepage{background:var(--white);color:var(--ink)}
html body.onepage .wrap{max-width:1200px;padding-inline:52px}
html body.onepage .site-header{background:var(--white);padding:20px max(52px,calc((100vw - 1096px)/2));border-bottom:1px solid var(--line)}
html .site-header .full-practice-logo{width:96px}
html body.onepage .site-header nav{gap:29px}
html body.onepage .site-header nav a{font-size:14px}
html body.onepage .welcome-section{background:var(--white);padding:56px 0 76px}
html body.onepage .welcome-grid{grid-template-columns:1fr 1fr;gap:64px;align-items:center}
html body.onepage .welcome-copy{padding:0}
html body.onepage h1{font-size:clamp(48px,5.5vw,72px);margin-bottom:28px;letter-spacing:-2px}
html body.onepage .welcome-copy p{font-size:17px;line-height:1.7}
html body.onepage .welcome-copy .areas-copy{font-size:14px;line-height:1.85}
html body.onepage .welcome-copy .scope-copy{font-size:13px;margin-top:22px}
html body.onepage .welcome-photo{height:610px;border-radius:0;aspect-ratio:auto}
html body.onepage .welcome-photo img{object-position:50% 37%}
html body.onepage .about-section{background:#eee9e1;padding-block:76px;border:0}
html body.onepage .about-grid{grid-template-columns:.8fr 1.2fr;gap:72px;align-items:start}
html body.onepage .about-photo{height:580px;border-radius:0}
html body.onepage h2{font-size:38px;letter-spacing:-.7px}
html body.onepage .about-grid p{font-size:16px;line-height:1.8;margin-bottom:20px}
html body.onepage .about-credentials .accreditation-marks{background:transparent;padding:0}
html body.onepage .onepage-therapy{background:var(--white);padding-block:80px;border:0}
html body.onepage .onepage-therapy>.reading-width{display:grid;grid-template-columns:.7fr 1.3fr;column-gap:72px;max-width:1200px}
html body.onepage .onepage-therapy h2{grid-column:1;grid-row:1 / span 2}
html body.onepage .onepage-therapy .author-copy,html body.onepage .onepage-therapy .approach-list{grid-column:2}
html body.onepage .approach-details{border-color:var(--line)}
html body.onepage .approach-details>summary{font-size:24px;padding-block:23px}
html body.onepage .approach-body p{font-size:16px;line-height:1.8}
html body.onepage #testimonials.onepage-testimonials{background:#233b4b;color:#fcfaf6;padding-block:64px}
html body.onepage #testimonials h2,html body.onepage #testimonials .client-quote blockquote,html body.onepage #testimonials .quote-controls button{color:#fcfaf6}
html body.onepage #testimonials .client-quote blockquote{font-size:23px;line-height:1.65}
html body.onepage #testimonials .quote-author,html body.onepage #testimonials .quote-position{color:#e1dace}
html body.onepage #testimonials .quote-controls{max-width:740px;margin:24px auto 0}
html body.onepage .faq-section{background:#e9e7df;border:0;padding-block:76px}
html body.onepage .faq-section>.reading-width{max-width:1200px;display:grid;grid-template-columns:.7fr 1.3fr;column-gap:72px}
html body.onepage .faq-section h2{grid-column:1;grid-row:1 / span 8}
html body.onepage .faq-section details{grid-column:2;border-color:#c9c9bf}
html body.onepage .faq-section summary{font-size:20px;line-height:1.45;padding-block:23px}
html body.onepage .faq-section details p{font-size:16px;line-height:1.8}
html body.onepage .contact-section{background:var(--white);padding-block:76px}
html body.onepage .session-information{padding-bottom:52px;margin-bottom:52px;border-bottom:1px solid var(--line)}
html body.onepage .session-facts{gap:26px}
html body.onepage .session-facts dt{font-size:14px;color:#58646a}
html body.onepage .session-facts dd{font-size:20px}
html body.onepage .session-facts dd span{font-size:14px}
html body.onepage .contact-grid{gap:76px}
html body.onepage #contact-form{background:#eee9e1;padding:30px;border:0;margin:0}
html body.onepage #contact-form h2{font-size:28px}
html body.onepage .rainbow-quotation-section{background:#eee9e1;padding-block:38px;border:0}
html body.onepage .site-footer{background:#233b4b;color:#fcfaf6;padding:27px;gap:28px}
@media(max-width:800px){
 html body.onepage .wrap{padding-inline:26px}
 html body.onepage .site-header{padding:18px 26px}
 html body.onepage .site-header nav{gap:8px}
 html body.onepage .welcome-grid,html body.onepage .about-grid{gap:35px}
 html body.onepage .welcome-photo{height:500px}
 html body.onepage .about-grid{grid-template-columns:1fr 1.2fr}
 html body.onepage .about-photo{height:490px}
 html body.onepage .onepage-therapy>.reading-width,html body.onepage .faq-section>.reading-width{display:block}
 html body.onepage .contact-grid{gap:32px}
}
@media(max-width:600px){
 html .site-header .full-practice-logo{width:78px}
 html body.onepage .welcome-section{padding:34px 0 46px}
 html body.onepage .welcome-grid,html body.onepage .about-grid{grid-template-columns:1fr}
 html body.onepage .welcome-photo{height:auto;aspect-ratio:4/5}
 html body.onepage .about-photo{height:auto;aspect-ratio:4/5;max-width:340px}
 html body.onepage .about-section,html body.onepage .onepage-therapy,html body.onepage .faq-section,html body.onepage .contact-section{padding-block:48px}
 html body.onepage h2{font-size:32px}
 html body.onepage #testimonials .client-quote blockquote{font-size:20px}
 html body.onepage .faq-section summary{font-size:19px}
 html body.onepage .session-facts{grid-template-columns:1fr 1fr;gap:24px}
 html body.onepage #contact-form{padding:24px}
 html body.onepage .site-footer{flex-wrap:wrap;gap:16px 25px}
}
html[data-design] body.onepage .contact-section h2,html[data-design] body.onepage .contact-section #contact-form h2{color:var(--ink)}
html body.onepage .contact-section,html body.onepage .contact-section p,html body.onepage .contact-section dd,html body.onepage .contact-section label,html body.onepage .contact-section .email-link,html body.onepage .contact-section .practice-details{color:var(--ink)}
html body.onepage .contact-section .session-note,html body.onepage .contact-section .session-facts dt{color:#58646a}
/* More compact client feedback. */
html body.onepage #testimonials.onepage-testimonials{padding-block:44px}
html body.onepage #testimonials h2{font-size:30px;margin-bottom:24px}
html body.onepage #testimonials .client-quote blockquote{font-size:20px;line-height:1.6}
html body.onepage #testimonials .quote-controls{margin-top:16px}
html body.onepage #testimonials .quote-bottom{margin-top:16px;padding-top:12px}
@media(max-width:600px){html body.onepage #testimonials.onepage-testimonials{padding-block:36px}html body.onepage #testimonials h2{font-size:28px}html body.onepage #testimonials .client-quote blockquote{font-size:18px;line-height:1.65}}
/* Consistent proportions across the main page. */
html body.onepage h2{font-size:34px;line-height:1.25}
html body.onepage .about-section,html body.onepage .onepage-therapy,html body.onepage .faq-section,html body.onepage .contact-section{padding-block:64px}
html body.onepage .welcome-grid{gap:56px}
html body.onepage .welcome-photo{height:580px}
html body.onepage .welcome-copy h1{font-size:clamp(46px,5vw,64px)}
html body.onepage .about-photo{height:560px}
html body.onepage .onepage-therapy>.reading-width,html body.onepage .faq-section>.reading-width{column-gap:56px;grid-template-columns:.65fr 1.35fr}
html body.onepage .approach-details>summary{font-size:22px}
html body.onepage .nav-button{min-height:44px}
html body.onepage .contact-grid{gap:56px}
html body.onepage .session-facts dd{font-size:19px}
@media(min-width:601px) and (max-width:800px){html body.onepage .welcome-photo{height:500px}html body.onepage .about-photo{height:470px}}
@media(max-width:600px){
 html body.onepage h2{font-size:30px}
 html body.onepage .about-section,html body.onepage .onepage-therapy,html body.onepage .faq-section,html body.onepage .contact-section{padding-block:44px}
 html body.onepage .welcome-grid,html body.onepage .about-grid,html body.onepage .contact-grid{gap:30px}
 html body.onepage .welcome-photo,html body.onepage .about-photo{height:auto;aspect-ratio:4/5}
 html body.onepage .welcome-copy h1{font-size:46px}
 html body.onepage .approach-details>summary{font-size:21px}
 html body.onepage .session-facts dd{font-size:18px}
 html body.onepage .session-information{padding-bottom:36px;margin-bottom:36px}
}
/* Focused pages with a continuous warm-white canvas. */
html body.multipage .about-section,html body.multipage .faq-section,html body.multipage .onepage-therapy,html body.multipage .welcome-section,html body.multipage .rainbow-quotation-section,html body.multipage #testimonials.onepage-testimonials{background:var(--white);color:var(--ink);border:0}
html body.multipage #testimonials h2,html body.multipage #testimonials .client-quote blockquote,html body.multipage #testimonials .quote-controls button{color:var(--ink)}
html body.multipage #testimonials .quote-author,html body.multipage #testimonials .quote-position{color:#58646a}
html body.multipage #testimonials>.wrap{border-top:1px solid var(--line);padding-top:40px}
html body.multipage .home-intro>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;border-top:1px solid var(--line);padding-top:48px}
html body.multipage .home-intro{padding:0 0 32px}
html body.multipage .home-intro p{font-size:18px;line-height:1.8}
html body.multipage .text-link{display:inline-block;font-size:15px;text-underline-offset:6px}
html body.multipage .home-invitation{text-align:center;padding:60px 0 72px}
html body.multipage .home-invitation p{max-width:550px;margin:0 auto 26px;font-size:17px}
html body.multipage .home-invitation .text-link{display:block;width:fit-content;margin:22px auto 0}
html body.multipage .about-section h1,html body.multipage .onepage-therapy h1,html body.multipage .faq-section h1,html body.multipage .contact-section h1{font-size:48px;letter-spacing:-1px;margin-bottom:30px}
html body.multipage .onepage-therapy h1,html body.multipage .faq-section h1{grid-column:1;grid-row:1 / span 8}
html body.multipage .about-grid>div>details{border-block:1px solid var(--line);margin:26px 0}
html body.multipage .about-grid>div>details summary{font-size:21px}
html body.multipage .session-information{margin-bottom:0;padding-bottom:0;border:0}
html body.multipage .rainbow-quotation-section>.wrap{border-top:1px solid var(--line);padding-top:34px}
@media(max-width:600px){html body.multipage .home-intro>.wrap{grid-template-columns:1fr;gap:8px;padding-top:32px}html body.multipage .home-invitation{padding:40px 0 48px}html body.multipage .about-section h1,html body.multipage .onepage-therapy h1,html body.multipage .faq-section h1,html body.multipage .contact-section h1{font-size:38px}}
html body.multipage .site-header nav a,html body.multipage .site-header nav a[aria-current=page]{border:0;border-radius:0;background:transparent;padding:6px 0}
html body.multipage .site-header nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}

html body.multipage .about-credentials .restored-qualifications{margin-top:30px;padding-top:28px;border-top:1px solid var(--line)}
html body.multipage .restored-qualifications h2{font-size:28px;margin-bottom:26px}
html body.multipage .about-credentials .qualifications-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
html body.multipage .restored-qualifications .qualification-content{padding:0}
@media(max-width:700px){html body.multipage .about-credentials .qualifications-grid{grid-template-columns:1fr}}
html body.multipage .home-eyebrow{font-size:12px;letter-spacing:.09em;line-height:1.6;text-transform:uppercase;margin-bottom:24px;color:#59636a}
html body.multipage .welcome-copy h1{font-size:clamp(42px,4.6vw,60px);line-height:1.08;letter-spacing:-1.5px}
html body.multipage .home-pathways{padding:30px 0 54px}
html body.multipage .home-pathways>.wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
html body.multipage .home-pathways a{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:20px;text-decoration:none}
html body.multipage .home-pathways a>span:first-child{font-size:12px;color:#657079;margin-bottom:20px}
html body.multipage .home-pathways h2{font-size:28px;margin-bottom:14px}
html body.multipage .home-pathways p{font-size:16px;line-height:1.7;max-width:29ch}
html body.multipage .home-pathways .path-link{margin-top:auto;font-size:14px;text-decoration:underline;text-underline-offset:6px}
html body.multipage .therapy-challenges{grid-column:2;margin:12px 0 25px}
html body.multipage .therapy-challenges h2{font-size:25px;margin-bottom:18px}
html body.multipage .site-header nav{gap:24px}
@media(max-width:800px){html body.multipage .therapy-challenges{margin-top:30px}html body.multipage .site-header nav{gap:10px}}
@media(max-width:600px){html body.multipage .home-pathways>.wrap{grid-template-columns:1fr;gap:30px}html body.multipage .home-pathways{padding-bottom:24px}html body.multipage .home-pathways p{max-width:none}html body.multipage .home-eyebrow{font-size:11px}html body.multipage .welcome-copy h1{font-size:43px}}

html body.multipage .full-width-credentials{padding-top:0;padding-bottom:64px;background:var(--white)}
html body.multipage .full-width-credentials .about-credentials{margin-top:0;padding-top:32px}
html body.multipage .full-width-credentials .restored-qualifications{border:0;padding-top:0}
html body.multipage .full-width-credentials .qualifications-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 40px}
html body.multipage .full-width-credentials .restored-qualifications h2{font-size:34px}
@media(max-width:900px){html body.multipage .full-width-credentials .qualifications-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){html body.multipage .full-width-credentials .qualifications-grid{grid-template-columns:1fr}html body.multipage .full-width-credentials .restored-qualifications h2{font-size:30px}}

/* Warm header and a readable practice descriptor. */
html body.onepage .site-header{background:#eee7dc}
html .site-header .full-practice-logo .logo-therapy-label{position:absolute;z-index:1;left:0;right:0;top:92%;bottom:0;display:flex;align-items:center;justify-content:center;background:#eee7dc;color:#52212b;font-family:Georgia,'Times New Roman',serif;font-size:10px;line-height:1;letter-spacing:.3px;white-space:nowrap}
@media(max-width:600px){html .site-header .full-practice-logo .logo-therapy-label{font-size:8.5px;letter-spacing:0}}

/* Equal-sized practice name and descriptor. */
html .site-header .full-practice-logo .logo-therapy-label{top:85%;bottom:0;flex-direction:column;gap:3px;justify-content:center;font-size:10px;letter-spacing:0;line-height:1.15}
html .site-header .full-practice-logo .logo-therapy-label>span{display:block;font:inherit;white-space:nowrap}
@media(max-width:600px){html .site-header .full-practice-logo .logo-therapy-label{font-size:8.5px;gap:2px}}

/* Dragonfly emblem with readable live-text wordmark. */
html .site-header .brand{display:flex;align-items:center;gap:18px;text-decoration:none;line-height:1.2}
html .site-header .full-practice-logo{width:68px;aspect-ratio:1024/1260;flex-shrink:0;overflow:hidden}
html .site-header .full-practice-logo img{width:200%;height:auto;left:-50%;top:0;object-fit:initial}
html .site-header .practice-wordmark{display:flex;flex-direction:column;gap:5px;font-family:Georgia,'Times New Roman',serif;font-size:19px;font-weight:400;letter-spacing:.2px;color:#52212b;white-space:nowrap}
html body.onepage .site-header{gap:28px}
html body.onepage .site-header nav{gap:20px}
@media(max-width:1050px){html .site-header .practice-wordmark{font-size:16px}html .site-header .brand{gap:12px}html body.onepage .site-header nav{gap:14px}}
@media(max-width:600px){html .site-header .full-practice-logo{width:51px}html .site-header .practice-wordmark{font-size:16px;gap:3px}html .site-header .brand{gap:12px}}

/* Emblem-only header, balanced with navigation. */
html .site-header .full-practice-logo{width:94px;aspect-ratio:1024/1260}
html body.onepage .site-header{padding-top:18px;padding-bottom:18px;min-height:0}
@media(max-width:600px){html .site-header .full-practice-logo{width:72px}html body.onepage .site-header{padding-top:14px;padding-bottom:14px}}

/* Larger emblem for clearer dragonfly detail. */
html .site-header .full-practice-logo{width:124px}
html body.onepage .site-header{padding-top:20px;padding-bottom:20px}
@media(max-width:600px){html .site-header .full-practice-logo{width:94px}html body.onepage .site-header{padding-top:16px;padding-bottom:16px}}

/* Balance the About portrait with the full bio. */
html body.multipage .about-grid{grid-template-columns:1fr 1.15fr;gap:56px;align-items:stretch}
html body.multipage .about-grid .about-photo{height:auto;min-height:720px;align-self:stretch;aspect-ratio:auto}
html body.multipage .about-grid .about-photo img{object-fit:cover;object-position:50% 25%}
@media(min-width:601px) and (max-width:900px){html body.multipage .about-grid{grid-template-columns:.9fr 1.1fr;gap:32px}html body.multipage .about-grid .about-photo{min-height:650px}}
@media(max-width:600px){html body.multipage .about-grid{grid-template-columns:1fr;gap:30px}html body.multipage .about-grid .about-photo{width:100%;max-width:none;min-height:0;height:auto;aspect-ratio:3/4}html body.multipage .about-grid .about-photo img{object-position:50% 28%}}

/* A single reading column for the therapy overview and disclosures. */
html body.therapy-page .onepage-therapy>.reading-width{display:block;max-width:880px}
html body.therapy-page .onepage-therapy h1{margin-bottom:26px}
html body.therapy-page .onepage-therapy>.reading-width>p{max-width:70ch;font-size:17px;line-height:1.8}
html body.therapy-page .onepage-therapy .scope-copy{font-size:14px;line-height:1.75;margin:24px 0 0;padding-left:18px;border-left:2px solid var(--line);color:#58646a}
html body.therapy-page .therapy-challenges{margin:38px 0 42px}
html body.therapy-page .therapy-challenges h2{font-size:26px;margin-bottom:16px}
html body.therapy-page .therapy-challenges .areas-copy{font-size:16px;line-height:1.9}
html body.therapy-page .approach-list{margin:0;padding:0}
html body.therapy-page .approach-list>h2{font-size:30px;margin:0 0 22px}
html body.therapy-page .approach-details{margin:0;border:0;border-top:1px solid var(--line);background:transparent;border-radius:0}
html body.therapy-page .approach-details:last-child{border-bottom:1px solid var(--line)}
html body.therapy-page .approach-details>summary{font-size:23px;line-height:1.4;padding:23px 40px 23px 0}
html body.therapy-page .approach-details>summary:after{top:22px;right:2px}
html body.therapy-page .approach-body{padding:0 0 24px}
@media(max-width:600px){html body.therapy-page .approach-list>h2{font-size:28px}html body.therapy-page .approach-details>summary{font-size:21px}html body.therapy-page .therapy-challenges{margin-block:30px}}
html body.multipage .welcome-copy h1.home-eyebrow{font-size:12px;line-height:1.6;letter-spacing:.09em;margin-bottom:24px}
/* A confident, playful typographic practice title. */
html body.multipage .welcome-copy h1.practice-title{margin:0 0 32px;line-height:1.05;letter-spacing:-1.5px;text-transform:none;color:#233b4b}
html body.multipage .practice-title-name{display:block;font-family:Georgia,'Times New Roman',serif;font-size:clamp(36px,4.2vw,56px);font-weight:700}
html body.multipage .practice-title-therapy{display:block;font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;margin-top:19px;line-height:1.5}
@media(max-width:600px){html body.multipage .practice-title-name{font-size:39px}html body.multipage .practice-title-therapy{font-size:12px;letter-spacing:.2em;margin-top:15px}}
html body.therapy-page .approach-list{border-top:0}

/* Readable, quiet list of areas of support. */
html body.therapy-page .challenge-list{display:grid;grid-template-columns:1fr 1fr;gap:0 34px;list-style:none;padding:0;margin:18px 0 0}
html body.therapy-page .challenge-list li{padding:10px 0;border-bottom:1px solid #e5e0d7;font-size:16px;line-height:1.6}
html body.therapy-page .challenge-list .challenge-wide{grid-column:1/-1;padding-block:16px}
@media(max-width:600px){html body.therapy-page .challenge-list{grid-template-columns:1fr;gap:0}}
/* A lighter list of challenges, without ruled rows. */
html body.therapy-page .challenge-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 28px;margin-top:18px}
html body.therapy-page .challenge-list li{padding:0;border:0;font-size:16px;line-height:1.65}
html body.therapy-page .challenge-list .challenge-wide{padding:12px 0 0;margin-top:5px;max-width:65ch}
@media(max-width:800px){html body.therapy-page .challenge-list{grid-template-columns:1fr 1fr}}
@media(max-width:480px){html body.therapy-page .challenge-list{grid-template-columns:1fr;gap:7px}}

/* A calmer rhythm for therapy information. */
html body.therapy-page .therapy-challenges{margin:36px 0 44px}
html body.therapy-page .challenge-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 30px;margin:18px 0 0}
html body.therapy-page .challenge-list li{padding:0;border:0}
html body.therapy-page .challenge-list .challenge-wide{grid-column:1/-1;max-width:65ch;margin-top:12px;padding:14px 0 0}
html body.therapy-page .challenge-list + .author-copy{margin-top:28px;margin-bottom:0;max-width:64ch}
html body.therapy-page .approach-list>h2{margin-bottom:12px}
html body.therapy-page .approach-details>summary{padding-block:22px}
html body.therapy-page .approach-body{padding-bottom:24px}
html body.therapy-page .session-information{max-width:950px}
html body.therapy-page .session-facts{gap:26px 36px}
@media(max-width:600px){html body.therapy-page .challenge-list{grid-template-columns:1fr;gap:8px}html body.therapy-page .challenge-list .challenge-wide{margin-top:8px;padding-top:12px}html body.therapy-page .challenge-list + .author-copy{margin-top:24px}}

html body.therapy-page .session-fees-copy{max-width:58ch}html body.therapy-page .session-fees-copy p{margin:0 0 24px}html body.therapy-page .session-fees-copy strong{font-weight:400}
