/* Selected immersion, softened with a muted plum and a more compact photograph. */
.about-section:has(.cabinet-wrap) { grid-template-columns:1fr 1fr; padding:0; gap:0; align-items:stretch; }
.about-section .cabinet-wrap { position:relative; width:100%; max-width:none; align-self:stretch; }
.cabinet-wrap .portrait-frame { height:100%; border-radius:0; }
.cabinet-wrap .portrait-frame img { display:block; width:100%; height:100%; min-height:620px; aspect-ratio:auto; object-position:50% 60%; }
.cabinet-wrap .portrait-caption { position:absolute; bottom:24px; left:24px; right:24px; width:fit-content; margin:0; padding:12px 16px; background:#faf4ecf2; color:var(--ink); border-radius:4px; font-size:10px; line-height:1.6; }
.about-section .about-copy { padding:64px 12%; }
.about-section .about-copy h2 { font-size:clamp(40px,4vw,58px); }
@media(max-width:1000px) and (min-width:801px) {
 .about-section .about-copy { padding:48px 9%; }
 .about-section .about-copy h2 { font-size:42px; }
}
@media(max-width:800px) {
 .about-section:has(.cabinet-wrap) { grid-template-columns:1fr; gap:0; }
 .cabinet-wrap .portrait-frame img { height:clamp(300px,65vw,460px); min-height:0; object-position:center 65%; }
 .cabinet-wrap .portrait-caption { bottom:18px; left:6%; right:6%; font-size:9px; }
 .about-section .about-copy { padding:38px 6% 48px; }
}
.hero { background:linear-gradient(120deg,#776272,#685363); color:#fffaf4; }
.hero .hero-atmosphere { display:none; }
.hero h1,.hero h1 em { color:#fffaf4; }
.hero .hero-category,.hero .hero-intro,.hero .location,.hero .text-link { color:#fff5ef; }
.hero .location span { background:#ead2a9; }
.hero .button { background:#faf4ec; color:#4e3747; border-color:#faf4ec; }
.hero .button:hover { background:#eadfd5; }
.hero-cabinet img { border-radius:0; }
.hero-cabinet figcaption { color:#fffaf4; }
.hero-cabinet figcaption span { color:#fff5ef; }
@media(min-width:801px) {
 .hero { grid-template-columns:1.05fr 1fr; padding:0; gap:0; align-items:stretch; }
 .hero .hero-content { align-self:center; padding:38px 10% 40px 16%; }
 .hero h1 { font-size:clamp(43px,3.85vw,58px); }
 .hero .location { font-size:9px; letter-spacing:.06em; line-height:1.8; }
 .hero-cabinet { max-width:none; display:block; }
 .hero-cabinet img { height:580px; object-position:center 35%; aspect-ratio:auto; }
 .hero-cabinet figcaption { position:absolute; bottom:22px; left:24px; margin:0; padding:13px 18px; background:#faf4ecf2; color:var(--ink); border-radius:4px; font-size:21px; }
 .hero-cabinet figcaption span { color:#695461; }
}
@media(max-width:800px) {
 .hero { padding-bottom:0; }
 .hero-cabinet { width:calc(100% + 12vw); max-width:none; }
 .hero-cabinet img { height:auto; aspect-ratio:1/1; object-position:center 28%; border-radius:0; }
 .hero-cabinet figcaption { position:absolute; bottom:18px; left:6%; margin:0; padding:11px 16px; background:#faf4ecf2; color:var(--ink); font-size:20px; border-radius:4px; }
 .hero-cabinet figcaption span { color:#695461; }
}

/* Approved sage accents. */
.home-page { --detail:#627564; --detail-light:#bbd0ba; --detail-wash:#e6ece1; }
.hero .hero-category,.hero .hero-actions .text-link>span,.hero .location span { color:var(--detail-light); }
.hero .location span { background:var(--detail-light); }
.hero .text-link { border-bottom-color:var(--detail-light); }
.hero-cabinet figcaption { border-left:3px solid var(--detail); }
.intro-section>.eyebrow,.primary-care .eyebrow,.complementary-heading>.eyebrow,.about-copy>.eyebrow,.practical-section .section-heading .eyebrow,.contact-heading>.eyebrow { color:var(--detail); }
.intro-grid h2 { border-left-color:var(--detail); }
.approach-invitation { color:var(--detail) !important; }
.text-link { border-bottom-color:var(--detail); }
.text-link>span,.signature,.step-number { color:var(--detail); }
.cabinet-wrap .portrait-caption { border-left:3px solid var(--detail); }
.primary-care,.contact-card { border-top:2px solid var(--detail); }
.primary-care-axes li::before { color:var(--detail); }
.training-tags span { border-color:var(--detail-light); }
.training-content>.eyebrow { color:var(--detail-light); }
.trust-strip { background:var(--detail-wash); }

.approach-copy .approach-needs-intro { margin-bottom:10px; }
.approach-needs { list-style:none; margin:0 0 18px; padding:0; max-width:465px; }
.approach-needs li { position:relative; padding-left:18px; margin:0 0 6px; font-size:15px; line-height:1.85; color:var(--muted); }
.approach-needs li::before { content:"•"; position:absolute; left:3px; color:var(--detail); }
.approach-needs strong { font-weight:600; color:var(--ink); }
.approach-needs strong.nobreak { white-space:nowrap; }

.approach-visual { margin:46px 0 0; max-width:380px; border-radius:190px 190px 6px 6px; overflow:hidden; box-shadow:0 18px 40px #4e37471a; }
.approach-visual img { display:block; width:100%; height:auto; aspect-ratio:3/4; object-fit:cover; }
@media(max-width:800px) { .approach-visual { display:none; } }
