.association-section{padding:80px var(--gutter);background:var(--ivory);color:var(--forest)}.association-copy{text-align:center;max-width:850px;margin:0 auto 50px}.association-copy h2{max-width:20ch;margin:0 auto 25px;font-size:clamp(32px,4vw,58px)}.association-copy p{max-width:64ch;margin:0 auto 24px}.association-identities{justify-content:center;gap:clamp(25px,7vw,100px);display:flex}.association-identities figure{text-align:center;flex:0 210px;margin:0}.association-identities img{object-fit:contain;width:160px;height:160px;margin:0 auto 20px;display:block}.association-identities figcaption{font-size:14px}.association-attribution{text-align:center;max-width:78ch;margin:40px auto 0;font-size:12px}.association-logo-placeholder{border:1px dashed;place-items:center;min-height:160px;display:grid}@media (max-width:600px){.association-identities{flex-wrap:wrap;gap:30px}.association-identities figure{flex-basis:130px}.association-identities img{width:130px;height:130px}}.navigation>a:not(.button){border-radius:24px;padding-inline:12px;transition:background-color .2s,color .2s}.navigation>a:not(.button):is(:hover,:focus-visible),.navigation>a[aria-current=page]{color:#1f2e24;background:#d6dbc9;border-bottom-color:#0000}.navigation{gap:clamp(4px,.7vw,12px)}.page-body-wide{max-width:1500px}.booking-form input,.booking-form select,.booking-form textarea,.proposal-form input{border-radius:18px;padding:14px 18px}.booking-form .check-field input{border-radius:6px;padding:0}.contact-composition{grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);align-items:start;gap:clamp(35px,6vw,100px);display:grid}.contact-direct h2,.contact-letter h2{max-width:15ch;margin-top:0;font-size:clamp(30px,3vw,48px)}.contact-direct>p{max-width:36ch}.contact-direct dl{margin-top:45px}.contact-direct dl>div{border-bottom:1px solid;grid-template-columns:30px 1fr;gap:4px 16px;padding:22px 0;display:grid}.contact-direct dt{font-size:13px}.contact-direct dd{overflow-wrap:anywhere;grid-column:2;margin:0;font-size:18px}.contact-letter{background:var(--stone);border-radius:36px;padding:clamp(24px,4vw,58px)}[data-theme=dark] .contact-letter,[data-theme=dark] .workflow-preview{background:var(--dark-raised);color:var(--ivory)}[data-theme=dark] .palette-proposal{color:var(--forest)}[data-theme=dark] .palette-proposal input,[data-theme=dark] .palette-proposal select,[data-theme=dark] .palette-proposal textarea,[data-theme=dark] .sample-fields input{color:var(--forest);background:var(--ivory)}.contact-letter>.contact-icon{width:42px;height:42px;margin-bottom:25px}.contact-letter .booking-form{margin-top:32px}.contact-letter .form-grid{gap:22px}.contact-letter .form-note{margin:10px 0}.practitioner-profile{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(30px,7vw,110px);display:grid}.practitioner-portrait{aspect-ratio:4/5;background:var(--mist);color:var(--forest);border-radius:160px 160px 32px 32px;margin:0;position:relative;overflow:hidden}.practitioner-portrait img{object-fit:cover}.practitioner-portrait>div{flex-direction:column;justify-content:center;align-items:center;gap:40px;height:100%;display:flex}.practitioner-portrait span{letter-spacing:-.08em;font-size:clamp(85px,12vw,180px);font-weight:500}.practitioner-portrait small{font-size:14px}.practitioner-copy>h2{margin:20px 0 30px;font-size:clamp(40px,4.8vw,70px);line-height:1.1}.profile-details{margin:40px 0}.profile-details>div{border-top:1px solid;padding:20px 0}.profile-details dt{font-weight:700}.profile-details dd{margin:8px 0 0;font-size:15px}.newsletter{border-top:1px solid #64735d;grid-template-columns:1fr 1fr;gap:8vw;margin-top:35px;padding:55px 0;display:grid}.newsletter h2{max-width:17ch;font-size:clamp(28px,3vw,42px)}.newsletter p{font-size:14px}.newsletter-entry{gap:10px;margin-top:10px;display:flex}.newsletter-entry input{color:#fcf8ee;border-color:#a8b49a;border-radius:28px;min-width:0}.newsletter-entry .button{flex-shrink:0}.newsletter .check-field{margin:18px 0}.newsletter .check-field input{accent-color:#a8b49a}.newsletter-email-preview{margin-top:20px}.newsletter-email-preview summary{cursor:pointer;min-height:44px}.newsletter-email-preview div{color:#1f2e24}.workflow-preview{background:var(--stone);border-radius:30px;margin:60px 0;padding:clamp(20px,4vw,45px)}.workflow-toolbar{margin-bottom:30px}.workflow-toolbar h3{font-size:30px}.workflow-toolbar p{font-size:14px}.preview-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.preview-actions .text-link{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;min-height:44px}.proposal-form{flex-wrap:wrap;align-items:end;gap:15px;margin:25px 0;display:flex}.proposal-form .field{flex:160px}.email-gallery{grid-template-columns:minmax(0,.65fr) minmax(0,1fr);align-items:start;gap:50px;display:grid}.email-catalog h2{margin-top:0}.email-catalog [role=group]{gap:8px;margin-top:30px;display:grid}.email-catalog button{text-align:left;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:18px;padding:14px 18px}.email-catalog button[aria-pressed=true]{background:var(--forest);color:var(--ivory)}.email-canvas{min-width:0}@media (max-width:1100px){.site-header{gap:12px;padding-inline:20px}.navigation{background:var(--ivory);color:var(--forest);border-radius:24px;max-height:calc(100svh - 120px);padding:20px;display:none;position:absolute;top:84px;left:0;right:0;overflow:auto}.navigation.is-open{flex-direction:column;align-items:stretch;display:flex}.menu-toggle{color:inherit;background:0 0;border:0;justify-content:center;align-items:center;width:36px;min-height:44px;padding:0;display:flex}.navigation .button{align-self:start}.navigation>a:not(.button){min-height:44px}}@media (max-width:800px){.contact-composition,.practitioner-profile,.email-gallery,.newsletter{grid-template-columns:1fr;gap:35px}.contact-letter{border-radius:28px}.practitioner-portrait{width:100%;max-width:460px}.newsletter-entry{flex-direction:column}.newsletter-entry .button{align-self:start}.page-body-wide{padding-inline:var(--gutter)}.header-controls{gap:4px}.site-header{padding-inline:16px}.brand{gap:7px}.brand-symbol{width:34px;height:34px}.brand{font-size:23px}.brand-sub{font-size:12px}}@media (prefers-reduced-motion:reduce){.navigation>a:not(.button){transition:none}}
