/* Homepage section transition experiment v2.
   Exact recovery point: checkpoint/homepage-recovered-2026-09-27 */
.home{background:var(--paper)}
.home .section+.section:before{display:none}
.home .hero{background:linear-gradient(180deg,#faf7f2 0%,#f8f3ec 72%,#f4efe8 100%)}
.home .practice{background:linear-gradient(180deg,#f4efe8 0%,#f1e9df 24%,#f1e9df 76%,#eee4d8 100%)}
.home .services{background:linear-gradient(180deg,#eee4d8 0%,#e5d8ca 22%,#e5d8ca 78%,#f2ece5 100%)}
.home .founder{background:linear-gradient(180deg,#f2ece5 0%,#f8f4ee 22%,#f8f4ee 78%,#e9e1d7 100%)}
.home .community{background:linear-gradient(180deg,#e9e1d7 0%,#ddd0c2 22%,#ddd0c2 78%,#eee7df 100%)}
.home .closing{background:linear-gradient(180deg,#eee7df 0%,#e6ddd3 32%,#ddd2c6 100%)}
.home .closing:before{display:none}
.home .small-soft-photo{width:238px}

/* Contact and event forms follow the established site typography and spacing. */
.contact-panel{max-width:980px;margin:0 auto;padding:clamp(3rem,6vw,5rem) 1.5rem;display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(2.5rem,6vw,5rem);align-items:start}
.contact-copy h2{font:400 clamp(1.9rem,3vw,2.8rem)/1.1 Georgia,'Times New Roman',serif;margin:0 0 1rem}
.contact-copy p{max-width:390px}
.contact-form{position:relative;background:rgba(248,244,238,.65);padding:clamp(1.5rem,3vw,2.25rem);border:1px solid rgba(57,72,95,.12)}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem 1.25rem}
.contact-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.78rem;font-weight:700;letter-spacing:.03em;color:var(--deep)}
.contact-form label span{font-weight:400;color:var(--muted)}
.contact-form input,.contact-form textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:1px solid #cfc5ba;border-radius:6px;padding:.72rem .8rem}
.contact-form textarea{resize:vertical;min-height:150px}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid rgba(70,90,117,.3);outline-offset:1px;border-color:var(--blue)}
.phone-field,.message-field{grid-column:1/-1}
.optin-row{display:grid!important;grid-template-columns:auto 1fr;align-items:start;gap:.65rem!important;margin:1.2rem 0;font-weight:400!important;line-height:1.45}
.optin-row input{width:auto;margin-top:.2rem}
.form-submit{border:0;cursor:pointer;margin-top:1.25rem}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:680px){.home .small-soft-photo{width:200px}.contact-panel{grid-template-columns:1fr;padding:2.5rem 1.5rem}.contact-fields{grid-template-columns:1fr}.contact-form{padding:1.35rem}}

/* Branding and portrait refinement: keep the existing page content gutters. */
.site-header{padding-left:clamp(1rem,2vw,2rem);padding-right:clamp(1rem,2vw,2rem);gap:clamp(.65rem,1.4vw,1.4rem)}
.site-header .brand{gap:1rem;min-width:0}
.site-header .brand-logo{width:clamp(90px,8.2vw,132px);height:clamp(90px,8.2vw,132px);flex:none}
.site-header .brand strong{font-size:clamp(1.3rem,2vw,2rem);line-height:1.15}
.site-header .brand small{font-size:clamp(.61rem,.8vw,.8rem);letter-spacing:.08em}
.site-header nav{gap:clamp(.5rem,1vw,1rem)}
.site-header nav a{font-size:clamp(.72rem,.82vw,.87rem)}
.home .small-soft-photo{width:clamp(280px,25vw,340px)}
.home .closing-logo{width:clamp(145px,14vw,200px);height:auto;aspect-ratio:1/1;opacity:1}
.therapist-portrait{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:44% 56% 48% 52% / 42% 40% 60% 58%}
.therapist-portrait-founder{max-width:380px;box-shadow:0 18px 40px rgba(57,72,95,.1)}
.team-card .therapist-portrait{width:160px;max-width:100%}
.profile-layout{display:grid;grid-template-columns:minmax(190px,260px) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}
.profile-layout .therapist-portrait-profile{width:100%;position:sticky;top:155px}
.therapist-biography{max-width:1120px;margin:auto;padding-left:1.5rem;padding-right:1.5rem}
.therapist-biography .profile-layout p{max-width:720px}
@media(max-width:980px){.site-header .brand-logo{width:96px;height:96px}.site-header nav{justify-content:flex-start}.profile-layout .therapist-portrait-profile{position:static}}
@media(max-width:680px){.site-header{padding-left:1rem;padding-right:1rem}.site-header .brand-logo{width:76px;height:76px}.site-header .brand strong{font-size:1.2rem}.site-header .brand small{font-size:.59rem}.home .small-soft-photo{width:min(275px,100%)}.home .closing-logo{width:155px}.team-card .therapist-portrait{width:110px}.profile-layout{grid-template-columns:1fr}.profile-layout .therapist-portrait-profile{width:min(260px,100%)}}

/* Portrait frames: fixed proportions, no tall ovals. */
.team-card .therapist-portrait{display:block;width:160px;height:200px;max-width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;border-radius:16px}
.team-founder .therapist-portrait-founder{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;border-radius:20px}
.therapist-biography .therapist-portrait-profile{height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;border-radius:18px}
.team-card .portrait-placeholder{min-height:200px}
@media(max-width:680px){.team-card .therapist-portrait{width:110px;height:138px}.team-card .portrait-placeholder{min-height:138px}}
/* Compact only the services page; preserve other interior page spacing. */
.interior .service-detail{min-height:0;padding-top:clamp(1.5rem,2.8vw,2.5rem);padding-bottom:clamp(1.5rem,2.8vw,2.5rem);border-bottom:1px solid var(--line)}
.interior .service-detail h2{margin:0 0 .65rem}
.interior .service-detail p{margin:.4rem 0 .75rem}
.interior .service-detail .text-link{margin-top:.15rem}

/* Header navigation and distinct, restrained contact action. */
.site-header nav a{font-size:clamp(.9rem,1vw,1.05rem);line-height:1.3}
.site-header .header-action{background:#d8e4ec;color:#263c52;border:1px solid #d8e4ec;font-weight:700;box-shadow:0 2px 7px rgba(17,33,49,.16);padding:.8rem 1.4rem}
.site-header .header-action:hover,.site-header .header-action:focus-visible{background:#fff;color:#263c52;border-color:#fff}
@media(max-width:980px){.site-header nav a{font-size:.94rem}}
@media(max-width:680px){.site-header nav a{font-size:.88rem}.site-header .header-action{display:inline-block;padding:.55rem .9rem;font-size:.85rem}}
