/* CONTACT: the shared ivory, rose and natural-light palette. */
.contact-page main{font-size:15px;line-height:2.15}
.contact-page .breadcrumb{display:flex;gap:13px;color:var(--muted);font-size:12px;letter-spacing:.06em;margin-bottom:30px}
.contact-intro{padding:28px 0 70px;background:linear-gradient(90deg,rgba(255,253,252,.97),rgba(255,253,252,.89)),url('assets/light.webp') center/cover}
.contact-intro h1{font-size:64px;line-height:1.15;letter-spacing:.14em;margin-bottom:20px}
.contact-intro h2{font-size:32px;letter-spacing:.035em;text-wrap:balance}
.contact-intro .body-copy{font-size:14px;line-height:2.1;margin-top:26px}
.contact-intro .body-copy p+p{margin-top:16px}
.contact-guidance{background:linear-gradient(var(--white),var(--ivory));padding-bottom:80px}
.contact-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.contact-card{border:1px solid rgba(216,197,185,.5);background:var(--white);display:flex;flex-direction:column;box-shadow:0 4px 25px rgba(72,55,54,.025)}
.contact-card figure{padding:10px 10px 0}
.contact-card img{width:100%;height:210px;filter:var(--photo-tone);object-position:center}
.contact-card-90 img{object-position:68% 44%}
.contact-card-work img{object-position:center 66%}
.contact-card-brand img{object-position:center 62%}
.contact-card-body{padding:26px 25px 22px;display:flex;flex-direction:column;flex:1}
.contact-card-eyebrow{font-size:11px;line-height:1.7;letter-spacing:.1em;color:var(--rose-dark);text-align:center}
.contact-card h2{font-size:33px;letter-spacing:.03em;line-height:1.4;margin-top:10px;text-align:center}
.contact-card h3{font-size:17px;line-height:1.95;letter-spacing:0;margin:23px -3px 24px;text-align:center;min-height:66px;text-wrap:balance}
.contact-card-description{font-size:13px;line-height:2.05;flex:1}
.contact-card-description p+p{margin-top:18px}
.contact-equation{font-size:18px;letter-spacing:.025em;text-align:center;color:var(--rose-dark);margin-bottom:18px}
.contact-card-action{padding-top:25px}
.contact-price{font-size:22px;letter-spacing:.045em;line-height:1.4;margin-bottom:15px;text-align:center}
.contact-card-help{font-size:12px;text-align:center;margin-bottom:10px}
.contact-card .pill{width:100%;font-size:13px;gap:18px;padding:12px 14px;min-height:50px}
.contact-card-90 .pill{background:#bb8d94}
.contact-card-90 .pill:hover{background:#97616c}
.contact-card-note{border-top:1px solid var(--line);margin-top:25px;padding-top:21px;font-size:12px;line-height:2}
.contact-card-note h4{font-size:12px;font-weight:500;margin-bottom:7px}
.contact-form-link{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--rose-dark);margin-top:13px;min-height:44px;border-bottom:1px solid rgba(186,148,139,.5);gap:10px}
.contact-form-link:hover{color:var(--brown)}
.contact-form-link span{font-size:20px;line-height:1}
.contact-other{padding:64px 0 80px;background:var(--ivory)}
.contact-other-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.contact-other .section-label{margin-bottom:22px}
.contact-other h2{font-size:27px;margin-bottom:20px}
.contact-other ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.contact-other li{display:flex;gap:17px;align-items:baseline}
.contact-other li span{font-family:Georgia,serif;color:var(--rose);font-size:14px}
.contact-other-closing{margin-top:25px;font-size:14px}
.contact-form-section{background:linear-gradient(130deg,#f6f0eb,var(--white) 65%)}
.contact-form-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:80px;align-items:start}
.contact-form-aside .section-label{margin-bottom:22px}
.contact-form-aside h2{font-size:27px;letter-spacing:.025em}
.contact-form-aside figure{position:relative;margin-top:34px}
.contact-form-aside img{width:100%;height:300px;filter:var(--photo-tone);object-position:32%}
.contact-form-aside figcaption{position:absolute;bottom:18px;left:24px;font-family:'La Belle Aurore',cursive;font-size:29px;color:#6f6257;text-shadow:0 1px 8px var(--ivory);transform:rotate(-4deg)}
.contact-reply{margin-top:36px;border-top:1px solid var(--line);padding-top:25px;font-size:13px;line-height:2.05}
.contact-reply h3{font-size:17px;margin-bottom:16px}
.contact-reply p+p{margin-top:16px}
.contact-reply .reply-note{font-size:11px;color:#78685f}
.contact-form-panel{background:var(--white);padding:42px;border:1px solid rgba(216,197,185,.6)}
.form-preview-notice{border-left:2px solid var(--rose);padding:10px 14px;background:var(--ivory);font-size:12px;line-height:1.9;margin-bottom:32px;color:#78645a}
.contact-field+.contact-field{margin-top:28px}
.contact-field label{display:flex;align-items:center;gap:14px;font-size:15px;line-height:1.9;margin-bottom:12px;font-weight:500;flex-wrap:wrap}
.required-badge,.optional-badge{font-size:10px;font-weight:400;letter-spacing:.05em;line-height:1.6;padding:2px 8px;border-radius:2px}
.required-badge{background:#eee0dc;color:#805b54}
.optional-badge{background:var(--ivory);color:var(--muted)}
.contact-field input,.contact-field select,.contact-field textarea{display:block;width:100%;max-width:100%;font:inherit;font-size:16px;color:var(--brown);background:#fcfaf7;border:1px solid #d8ccc3;border-radius:2px;padding:13px 14px;line-height:1.7;transition:border-color .15s,background .15s}
.contact-field input,.contact-field select{min-height:54px}
.contact-field textarea{resize:vertical;min-height:130px}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{outline:2px solid var(--rose-dark);outline-offset:3px;background:var(--white);border-color:var(--rose-dark)}
.contact-select{position:relative}
.contact-select select{appearance:none;padding-right:36px}
.contact-select:after{content:'';position:absolute;right:18px;top:22px;width:7px;height:7px;border-right:1px solid var(--rose-dark);border-bottom:1px solid var(--rose-dark);transform:rotate(45deg);pointer-events:none}
.field-hint{font-size:12px;line-height:1.9;margin-bottom:12px;color:#817165}
.contact-submit{text-align:center;margin-top:38px}
.contact-submit .pill{min-width:260px;min-height:56px;gap:45px}
.contact-submit .pill:disabled{opacity:.55;cursor:default;transform:none}
.contact-closing{background:linear-gradient(90deg,rgba(250,248,244,.94),rgba(250,248,244,.89)),url('assets/about-promise-v2.webp') center/cover}
.contact-closing-en{font-size:25px;line-height:1.8;letter-spacing:.13em;color:var(--rose-dark);margin-bottom:34px}
.contact-closing h2{font-size:30px;line-height:1.8;margin-bottom:26px}
.contact-closing>.container>p:last-child{font-size:14px}
@media(min-width:761px) and (max-width:1100px){
.contact-card-grid{gap:15px}.contact-card-body{padding:23px 18px 18px}.contact-card h2{font-size:27px}.contact-card h3{font-size:15px}.contact-card-description{font-size:12px}.contact-card img{height:180px}.contact-form-layout{gap:35px}.contact-form-panel{padding:30px}.contact-other-grid{gap:35px}
}
@media(max-width:900px){.contact-card-grid{grid-template-columns:1fr;max-width:650px}.contact-card{display:grid;grid-template-columns:.8fr 1.4fr}.contact-card figure{padding:10px 0 10px 10px}.contact-card img{height:100%;min-height:360px}.contact-card h3{min-height:0}.contact-card-body{padding:25px}.contact-card-description{font-size:13px}.contact-card h2{font-size:30px}}
@media(max-width:760px){
.contact-page main{font-size:14px}.contact-intro{padding:20px 0 48px}.contact-intro .breadcrumb{font-size:10px;margin-bottom:32px}.contact-intro h1{font-size:49px;margin-bottom:21px}.contact-intro h2{font-size:23px;line-height:1.9}.contact-intro .body-copy{font-size:13px;margin-top:25px}.contact-intro .body-copy p+p{margin-top:19px}
.contact-guidance{padding-bottom:50px}.contact-card-grid{gap:30px}.contact-card{display:flex}.contact-card figure{padding:9px 9px 0}.contact-card img{height:200px;min-height:0}.contact-card-body{padding:25px 24px 19px}.contact-card-eyebrow{font-size:11px}.contact-card h2{font-size:34px}.contact-card h3{font-size:16px;margin-top:19px;margin-bottom:22px}.contact-card-description{font-size:13px}.contact-card-description br{display:none}.contact-card-note{font-size:12px}.contact-card-note br{display:none}.contact-card-note h4{font-size:12px}.contact-card .pill{font-size:13px}.contact-price{font-size:23px}
.contact-other{padding:50px 0 62px}.contact-other-grid{grid-template-columns:1fr;gap:28px}.contact-other h2{font-size:24px;margin-bottom:15px}.contact-other li{font-size:13px;gap:12px}.contact-other-closing{font-size:13px;margin-top:22px}
.contact-form-section{padding:64px 0}.contact-form-layout{display:flex;flex-direction:column;gap:30px}.contact-form-aside{display:contents}.contact-form-aside .section-label{order:0;margin-bottom:-15px}.contact-form-aside h2{order:1;font-size:24px}.contact-form-aside figure{display:none}.contact-form-panel{order:2;width:100%;padding:25px 20px}.contact-reply{order:3;width:100%;margin-top:0;font-size:13px}.contact-reply .reply-note{font-size:12px}.contact-form-aside .section-label:before{width:24px}.form-preview-notice{font-size:11px;margin-bottom:25px}.contact-field label{font-size:14px;gap:10px}.contact-field input,.contact-field select,.contact-field textarea{font-size:16px;padding:12px}.contact-field select{font-size:14px;padding-right:30px}.contact-select:after{right:13px}.contact-field+.contact-field{margin-top:25px}.field-hint{font-size:12px}.contact-submit .pill{min-width:0;width:100%;font-size:14px}.contact-closing{padding:70px 0}.contact-closing-en{font-size:19px;letter-spacing:.1em;margin-bottom:28px}.contact-closing h2{font-size:24px}.contact-closing>.container>p:last-child{font-size:13px}
}
@media(max-width:360px){.contact-card-body{padding:23px 19px 18px}.contact-card h3{font-size:14px}.contact-form-panel{padding:22px 16px}.contact-intro h2{font-size:21px}.contact-card img{height:175px}.contact-card-note h4{font-size:11px}.contact-closing h2{font-size:22px}}

.contact-intro-link{display:inline-flex;align-items:center;gap:22px;font-size:12px;color:var(--rose-dark);min-height:44px;margin-top:20px;border-bottom:1px solid var(--line)}
.contact-intro-link:hover{color:var(--brown)}
.contact-form-section:focus{outline:none}
/* Let card paragraphs wrap to their available width without short final lines. */
.contact-card-description br{display:none}
