.fe-contact{--contact-ink:#382c23;--contact-muted:#766555;--contact-accent:#98724f;--contact-line:#d9cbbb;width:100%;padding:clamp(56px,7vw,104px) max(24px,6vw) clamp(64px,8vw,120px);background:#f4f0e8;color:var(--contact-ink)}
.fe-contact-intro{max-width:850px;margin:0 auto 46px;text-align:center}
.fe-contact .fe-contact-eyebrow{margin:0 0 24px;font-size:12px;font-weight:500;line-height:1.6;letter-spacing:.14em;text-transform:uppercase;color:var(--contact-muted)}
.fe-contact h1{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(48px,6vw,86px);font-weight:500;line-height:1.03;letter-spacing:-.025em}
.fe-contact h1 em{font-weight:inherit;color:var(--contact-accent)}
.fe-contact .fe-contact-description{max-width:620px;margin:28px auto 0;font-size:15px;line-height:1.85;color:var(--contact-muted)}
.fe-contact-panel{max-width:1000px;margin-inline:auto;padding:38px 44px 42px;border:1px solid var(--contact-line);background:#eee7dc}
.fe-contact .fe-contact-required{margin:0 0 26px;font-size:12px;line-height:1.6;color:var(--contact-muted)}
.fe-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 28px}
.fe-contact-field{min-width:0}
.fe-contact-field--wide{grid-column:1/-1}
.fe-contact-field label{display:flex;align-items:baseline;gap:7px;margin-bottom:10px;font-size:14px;font-weight:500;line-height:1.6}
.fe-contact-field label span{font-size:12px;font-weight:400;color:var(--contact-muted)}
.fe-contact-field input,.fe-contact-field textarea{display:block;width:100%;min-height:54px;padding:14px 16px;border:1px solid #c5b4a2;border-radius:0;background:#f8f4ec;color:var(--contact-ink);font-family:"Manrope","Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.6;box-shadow:none;appearance:none;-webkit-appearance:none;transition:border-color .2s,background-color .2s}
.fe-contact-field textarea{min-height:170px;resize:vertical}
.fe-contact-field input::placeholder,.fe-contact-field textarea::placeholder{color:#847769;opacity:1}
.fe-contact-field input:focus,.fe-contact-field textarea:focus{outline:2px solid var(--contact-accent);outline-offset:3px;border-color:var(--contact-accent);background:#fffaf2}
.fe-contact-field [aria-invalid=true]{border-color:#9f3d31}
.fe-contact-actions{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;margin-top:30px}
.fe-contact .fe-contact-privacy{max-width:490px;margin:0;font-size:12px;line-height:1.85;color:var(--contact-muted)}
.fe-contact-privacy a{text-decoration:underline!important;text-underline-offset:4px;white-space:normal}
.fe-contact-submit{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;flex-shrink:0;min-height:54px;min-width:220px;padding:15px 22px;border:1px solid var(--contact-ink);border-radius:0;background:var(--contact-ink);color:#f8f0e2;font-family:"Manrope","Helvetica Neue",Arial,sans-serif;font-size:14px;line-height:1.5;cursor:pointer;transition:background-color .2s,border-color .2s}
.fe-contact-submit svg{display:block;flex-shrink:0;width:20px;height:20px}
.fe-contact-submit:hover{background:#795c42;border-color:#795c42}
.fe-contact :is(button,a):focus-visible{outline:2px solid var(--contact-accent);outline-offset:5px}
.fe-contact-feedback{padding:22px 24px;font-size:15px;line-height:1.8}
.fe-contact-feedback p{margin:0}
.fe-contact-feedback--success{border:1px solid #849174;background:#e5e9dd}
.fe-contact-feedback--error{margin-bottom:28px;border:1px solid #b17869;background:#f2dfd5}
.fe-contact-preview-note{max-width:1000px;margin:22px auto 0;font-size:12px;line-height:1.8;color:var(--contact-muted);text-align:center}
@media(max-width:680px){.fe-contact{padding:48px 24px 60px}.fe-contact-intro{margin-bottom:30px}.fe-contact .fe-contact-eyebrow{margin-bottom:20px}.fe-contact h1{font-size:clamp(43px,10.8vw,62px);line-height:1.05}.fe-contact .fe-contact-description{margin-top:24px;font-size:14px;line-height:1.85}.fe-contact-panel{padding:26px 20px 28px}.fe-contact-fields{grid-template-columns:1fr;gap:24px}.fe-contact .fe-contact-required{margin-bottom:24px}.fe-contact-actions{flex-direction:column;gap:24px;margin-top:26px}.fe-contact-submit{width:100%;min-height:54px}.fe-contact-field textarea{min-height:160px}}
@media(max-width:360px){.fe-contact{padding-inline:20px}.fe-contact-panel{padding-inline:16px}.fe-contact h1{font-size:42px}.fe-contact-field label{flex-wrap:wrap;gap:3px 7px}}
@media(prefers-reduced-motion:reduce){.fe-contact *{transition:none!important}}
