/* A personal identity: burgundy brings warmth alongside the original forest green. */
:root{--burgundy:#702b40;--burgundy-dark:#582032;--rose-paper:#eee3de}
.brand-mark{color:var(--burgundy)}
.hero-art{background:var(--burgundy)}
.hero h1 em,.personal h2 em,.pricing h2 em,.faq h2 em{color:var(--burgundy)}
.button:not(.button-light){background:var(--burgundy);border-color:var(--burgundy)}
.button:not(.button-light):hover{background:var(--burgundy-dark)}
.nav-contact{border-color:var(--burgundy);color:var(--burgundy)}
.header nav>a:not(.nav-contact):hover{color:var(--burgundy)}
.step-no,.service-number,.process-list li>span{color:var(--burgundy)}
.price-included .check-list li:before{color:var(--burgundy)}
.process-note{border-color:var(--burgundy)}
.personal{background:var(--rose-paper);padding:100px 0 80px}
.personal>.wrap>.eyebrow{color:var(--burgundy);margin-bottom:37px}
.personal-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px;align-items:center}
.portrait-block{margin:0;min-width:0}
.portrait-slot{aspect-ratio:4/5;max-height:550px;background:#e3d1cd;border:1px solid #b7989d;position:relative;display:grid;place-items:center;color:var(--burgundy);overflow:hidden}
.portrait-slot>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.portrait-corner,.portrait-bottom{position:absolute;left:28px;font-size:12px;letter-spacing:.13em}
.portrait-corner{top:25px}.portrait-bottom{bottom:25px}
.portrait-placeholder{text-align:center}
.portrait-placeholder>span{font:8rem/.9 var(--serif);letter-spacing:-.095em;display:block;margin-bottom:28px;opacity:.65}
.portrait-placeholder>p{font-size:14px;letter-spacing:.01em}
.portrait-block figcaption{margin-top:20px;display:flex;flex-direction:column;gap:4px}
.portrait-block figcaption strong{font-size:18px;font-weight:500;color:var(--burgundy)}
.portrait-block figcaption span{font-size:14px;color:#5d5c58}
.personal-copy{min-width:0}
.personal-hello{font-size:15px;color:var(--burgundy);margin-bottom:22px}
.personal .personal-copy h2{font-size:clamp(2.7rem,3.8vw,4rem);line-height:1.1}
.personal-copy>p:not(.personal-hello):not(.personal-invitation){margin-top:22px;color:#565c54;font-size:16px;max-width:540px}
.personal-copy>p.personal-lead{font-size:18px!important;color:var(--ink)!important}
.personal-copy>.button{margin-top:28px}
.personal-invitation{font-size:13px;color:#625b59;margin-top:14px}
.personal-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;margin-top:65px;padding-top:32px;border-top:1px solid #cdbbb7}
.personal-values article>span{font-size:12px;color:var(--burgundy)}
.personal-values h3{font:1.7rem/1.15 var(--serif);letter-spacing:-.035em;margin:15px 0}
.personal-values p{font-size:16px;color:#5c6056;max-width:330px}
/* One restrained opening motion for FAQ, pricing details and care information. */
.form-honeypot{display:none!important}
.contact-email{display:inline-block;font-size:15px;font-weight:400;margin-top:17px;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere;color:var(--burgundy)}
.form-preview a{text-decoration:underline;text-underline-offset:3px}
.form-result[data-state="error"]{border-color:var(--burgundy);color:var(--burgundy)}
.form-result[data-state="sending"]{border-color:var(--line)}
details{overflow-anchor:none}
details.is-animating{overflow:hidden;will-change:height}
summary{position:relative;padding-right:34px}
summary:after,summary:before{content:''!important;position:absolute;right:3px;top:50%;width:16px;height:1.5px;background:var(--burgundy);transition:transform .25s ease,opacity .25s ease}
summary:before{transform:rotate(90deg)}
details[open]:not([data-expanded="false"])>summary:before{transform:rotate(0);opacity:0}
.care summary:after,.care summary:before{background:var(--ivory)}
.accordion-content{display:flow-root;opacity:1;transition:opacity .2s ease}
details[data-expanded="false"]>.accordion-content{opacity:0}
.accordion-content>p{padding:0 35px 23px 0;color:#586458;font-size:16px}
.care .accordion-content>p{color:#d9e3d4;font-size:15px}
.faq .accordion-content>p{font-size:16px}
.scope-details .accordion-content .scope-grid{margin:0}
.contact .form-preview{color:#625b59}
.contact button:disabled{background:#d1d4c9!important;color:#4f5e50;border-color:#aab6a7!important;opacity:1}
@media(max-width:1050px){.personal-grid{gap:45px;grid-template-columns:.85fr 1.15fr}.personal .personal-copy h2{font-size:2.8rem}.personal-values{gap:27px}.personal-values h3{font-size:1.5rem}.portrait-corner,.portrait-bottom{left:20px;letter-spacing:.09em}}
@media(max-width:760px){.personal{padding:60px 0}.personal-grid{grid-template-columns:minmax(0,1fr);gap:35px}.personal>.wrap>.eyebrow{margin-bottom:28px}.portrait-slot{aspect-ratio:4/4.6;max-height:430px}.portrait-block{width:100%;max-width:400px}.portrait-placeholder>span{font-size:6.5rem}.personal .personal-copy h2{font-size:clamp(2.25rem,8.6vw,3.2rem)}.personal-copy>p.personal-lead{font-size:17px!important}.personal-copy>p:not(.personal-hello):not(.personal-invitation){margin-top:21px}.personal-hello{margin-bottom:17px}.personal-values{grid-template-columns:minmax(0,1fr);gap:27px;margin-top:40px;padding-top:27px}.personal-values h3{font-size:1.6rem;margin:10px 0}.personal-values p{max-width:none}.personal-values article:not(:last-child){border-bottom:1px solid #d6c8c2;padding-bottom:25px}.personal-invitation{font-size:14px}.accordion-content>p,.faq .accordion-content>p{padding-right:10px;font-size:16px}}
@media(prefers-reduced-motion:reduce){summary:after,summary:before,.accordion-content{transition:none!important}}
.contact-confirmation{margin:auto;width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #d6c8c2;border-radius:8px;padding:36px;background:var(--ivory,#f5f2e9);color:#253d31;box-shadow:0 24px 90px #17271f33}
.contact-confirmation::backdrop{background:#16251fd1}
.contact-confirmation[open]{animation:confirmation-in .28s ease-out}
.confirmation-check{display:grid;place-items:center;width:42px;height:42px;background:#702b40;color:#fff;border-radius:50%;font-size:23px;margin-bottom:22px}
.contact-confirmation .eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:18px}
.contact-confirmation h2{font-size:clamp(30px,6vw,42px);line-height:1.1;margin-bottom:20px}
.contact-confirmation>p:not(.eyebrow){font-size:15px;line-height:1.65}
#confirmation-summary{border-top:1px solid #d6c8c2;border-bottom:1px solid #d6c8c2;margin:24px 0;padding:18px 0;display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px 14px;font-size:14px}
#confirmation-summary dt{color:#726b67}
#confirmation-summary dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.confirmation-signature{margin-bottom:24px}
.contact-confirmation .button{background:#702b40;color:#fff;border-color:#702b40;width:100%}
body:has(.contact-confirmation[open]){overflow:hidden}
@keyframes confirmation-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:480px){.contact-confirmation{padding:26px 22px}#confirmation-summary{grid-template-columns:1fr;gap:4px}#confirmation-summary dd{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){.contact-confirmation[open]{animation:none}}
