/* Contact channels and message preparation, without decorative arrows. */
.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:72px;align-items:start}
.contact-intro h2{font-size:clamp(32px,3.2vw,42px);line-height:1.18}
.contact-intro>p:not(.eyebrow){max-width:450px;font-size:16px;line-height:1.8}
.contact-main-channel{margin-top:30px;padding:25px 27px;background:#f0ece3;border:1px solid #dcd3c5;border-radius:5px}
.channel-label{font:700 11px/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#6c5540}
.contact-phone{display:inline-block;margin-top:8px;font:500 30px/1.3 var(--serif);color:var(--wine)}
.contact-main-channel .channel-description{margin-top:10px;font-size:13px;line-height:1.7;color:var(--muted)}
.contact-main-channel .button{margin-top:21px}
.contact-secondary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:28px}
.contact-secondary article{min-width:0;padding-top:20px;border-top:1px solid var(--border)}
.contact-secondary strong{display:block;margin-top:9px;font-size:14px;line-height:1.5;color:var(--wine);overflow-wrap:anywhere}
.contact-secondary .button{margin-top:16px;font-size:10px;padding:12px 16px}
.contact-form{padding:32px;background:#fff;border:1px solid #ddd6cc;border-top:3px solid var(--wine);border-radius:5px;box-shadow:0 12px 32px #59152208}
.contact-form .form-kicker{margin:0 0 10px;font-size:10px;line-height:1.5;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#805b23}
.contact-form h3{font-size:31px;line-height:1.2}
.contact-form .form-intro{margin:13px 0 22px;font-size:13px;line-height:1.7;color:var(--muted)}
.contact-form label{margin:17px 0 7px;font-size:12px}
.contact-form input,.contact-form select,.contact-form textarea{padding:12px 14px;border:1px solid #bcb1a7;border-radius:4px;background:#faf9f6;font-size:14px;line-height:1.5}
.contact-form input,.contact-form select{min-height:46px}
.contact-form select{appearance:none;-webkit-appearance:none;background-image:none;cursor:pointer}
.contact-form textarea{min-height:108px}
.contact-form p.form-help{margin:13px 0 19px;font-size:11px;line-height:1.7}
.contact-form .contact-submit{min-height:47px;font-size:11px;padding:15px 18px}
.contact-form .form-status:empty{display:none}
.contact-form .form-status:not(:empty){margin-top:20px;padding-top:16px;border-top:1px solid var(--border);font-size:12px;color:var(--wine)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';flex-shrink:0;font:400 24px/1 var(--sans);color:var(--wine)}
.faq details[open] summary::after{content:'−'}
@media(max-width:1100px){.contact-grid{gap:44px}.contact-form{padding:28px}.contact-main-channel{padding:24px}.contact-secondary{gap:18px}}
@media(max-width:900px){.contact-grid{gap:30px}.contact-intro h2{font-size:33px}.contact-form{padding:25px}.contact-secondary{grid-template-columns:1fr;gap:20px}.contact-phone{font-size:27px}.contact-form h3{font-size:28px}}
@media(max-width:650px){.contact-grid{grid-template-columns:minmax(0,1fr);gap:36px}.contact-intro h2{font-size:33px}.contact-main-channel{padding:24px}.contact-secondary{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.contact-form{padding:25px 22px}.contact-phone{font-size:30px}.contact-form h3{font-size:29px}}
@media(max-width:360px){.contact-secondary{grid-template-columns:1fr}.contact-main-channel{padding:20px}.contact-phone{font-size:27px}}
/* Dedicated contact portrait; typography stays sharp HTML at every size. */
.page-heading.contact-heading{position:relative;isolation:isolate;min-height:440px;padding:80px 0;display:flex;align-items:center;overflow:hidden;background:var(--cream)}
.contact-heading>.container{position:relative;z-index:1;pointer-events:none}
.contact-heading #page-label{color:#8e5c12}
.contact-heading #page-title{max-width:560px;font-size:clamp(40px,4.6vw,62px);line-height:1.08;color:var(--wine)}
.contact-heading #page-description{max-width:480px;color:var(--muted)}
.contact-heading-art{position:absolute;inset:0 0 0 auto;width:min(100%,1000px);mask-image:linear-gradient(to right,transparent,#000 35%);animation:contact-portrait-enter .9s ease-out both}
.contact-heading-art img{display:block;width:100%;height:100%;object-fit:contain;object-position:right center}
@keyframes contact-portrait-enter{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
@media(max-width:900px) and (min-width:601px){.page-heading.contact-heading{min-height:360px;padding:65px 0}.contact-heading #page-title{max-width:390px}.contact-heading #page-description{max-width:350px;font-size:15px}}
@media(max-width:600px){.page-heading.contact-heading{display:flex;flex-direction:column;min-height:0;padding:0;gap:0}.contact-heading>.container{padding-block:38px 28px}.contact-heading #page-title{font-size:36px}.contact-heading #page-description{font-size:15px;max-width:290px}.contact-heading-art{position:relative;inset:auto;width:100%;max-width:420px;mask-image:none;animation:none}.contact-heading-art img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}}
@media(prefers-reduced-motion:reduce){.contact-heading-art{animation:none}}
