.ec-contact{color:var(--ec-ink,#231f1e)}
.ec-contact__heading{max-width:100%;margin-bottom:40px}
.ec-contact__heading h1{max-width:22ch}
.ec-contact__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(32px,5vw,76px);align-items:start}
.ec-contact__intro{min-width:0;font-size:17px;line-height:1.7}
.ec-contact__intro h2{font-size:27px;line-height:1.2;margin:32px 0 14px}
.ec-contact__intro a{color:var(--ec-ink,#231f1e);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.ec-contact__panel{min-width:0;padding:clamp(22px,3vw,40px);background:var(--ec-surface,#E5DAC6);border:1px solid var(--ec-line,#B68938);box-shadow:0 8px 24px rgba(35,31,30,.06)}
.ec-contact__panel h2{font-size:32px;line-height:1.15;margin-bottom:12px}
.ec-contact__panel>.ec-note{color:var(--ec-muted,#574F4A);margin-bottom:28px}
.ec-contact__form{display:grid;gap:22px}
.ec-contact__field{display:grid;gap:8px;min-width:0}
.ec-contact__field label{font-size:16px;line-height:1.45;color:var(--ec-ink,#231f1e)}
.ec-contact__field label span{font-size:14px;color:var(--ec-muted,#574F4A)}
.ec-contact__field :is(input,textarea){width:100%;min-width:0;min-height:48px;padding:12px 14px;border:1px solid var(--ec-line,#B68938);border-radius:0;background:var(--ec-paper,#F3ECE0);color:var(--ec-ink,#231f1e);font:inherit;font-size:16px;line-height:1.5}
.ec-contact__field textarea{resize:vertical;min-height:160px}
.ec-contact__field [aria-invalid=true]{border:2px solid var(--ec-ink,#231f1e)}
.ec-contact__help,.ec-contact__field-error{font-size:13px;line-height:1.5;color:var(--ec-muted,#574F4A);margin:0}
.ec-contact__field-error{color:var(--ec-ink,#231f1e)}
.ec-contact__form .ec-button{width:100%;min-height:52px;margin-top:2px}
.ec-contact__notice{padding:16px 18px;border:1px solid var(--ec-line,#B68938);background:var(--ec-paper,#F3ECE0);font-size:15px;line-height:1.55}
.ec-contact__notice--error{border-style:double;border-width:3px}
.ec-contact__notice p:last-child,.ec-contact__notice ul:last-child{margin-bottom:0}
.ec-contact__notice p{margin-bottom:8px}
.ec-contact__privacy{margin:0;text-align:center;font-size:13px}
.ec-contact :is(a,input,textarea,button):focus-visible{outline:2px solid var(--ec-ink,#231f1e);outline-offset:4px}
@media(max-width:749px){.ec-contact__grid{grid-template-columns:1fr;gap:28px}.ec-contact__heading{margin-bottom:20px}.ec-contact__intro{font-size:16px}.ec-contact__intro h2{font-size:25px}.ec-contact__panel{padding:22px 18px}.ec-contact__panel h2{font-size:29px}}
