.contact-page{--ink:#0a0e12;--paper:#f3efe7;--line:#d3cec5;--sub:#4f5659;--copper:#b85a24;background:var(--paper);color:var(--ink);min-height:100vh;font-family:var(--sans)}
.contact-page *{box-sizing:border-box}

.contact-layout{display:grid;grid-template-columns:42% 58%;gap:5vw;padding:88px 5.5vw 96px;align-items:start}
.contact-intro h1{margin:0;font-size:clamp(46px,5.4vw,78px);line-height:.9;letter-spacing:-.065em;font-weight:500}
.contact-intro h1 i{font-family:var(--serif);font-weight:500;letter-spacing:-.08em}
.contact-lead{max-width:400px;margin:30px 0 0;font-size:16px;line-height:1.6;color:var(--sub)}

.contact-details{margin:46px 0 0;display:grid;gap:22px;border-top:1px solid var(--line);padding-top:26px}
.contact-details dt{font:500 12px var(--mono);letter-spacing:.12em;color:#5a6367;margin-bottom:7px}
.contact-details dd{margin:0;font-size:15px;line-height:1.55}
.contact-details a{display:inline-block;padding:11px 0 3px;border-bottom:1px solid #b6b0a5}
.contact-details a:hover{color:var(--copper);border-color:currentColor}
.contact-details address{font-style:normal;display:grid}

.contact-form-panel{background:#fbf8f1;border:1px solid #ded9cf;padding:38px}

.quote-form{display:grid;gap:22px}
.quote-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.quote-field{display:grid;gap:8px}
.quote-field label{font:500 12px var(--mono);letter-spacing:.1em;color:#4b5457}
.quote-field input,.quote-field select,.quote-field textarea{width:100%;font-family:inherit;font-size:15px;color:var(--ink);background:#fff;border:1px solid #cfc9be;border-radius:0;padding:13px 14px;min-height:46px}
.quote-field textarea{resize:vertical;line-height:1.55}
.quote-field input::placeholder,.quote-field textarea::placeholder{color:#8b9295}
.quote-field input:hover,.quote-field select:hover,.quote-field textarea:hover{border-color:#a8a294}
.quote-field [aria-invalid="true"]{border-color:#b3352a;background:#fdf6f5}
.quote-field small{font-size:13px;line-height:1.45;color:#96291f}

.quote-summary-error{margin:0;padding:13px 15px;background:#fdf0ee;border-left:3px solid #b3352a;font-size:14px;color:#8c2419}

.quote-submit{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--ink);color:#fff;border:0;padding:17px 20px;font:inherit;font-size:14px;cursor:pointer;justify-self:start;min-height:46px}
.quote-submit span{font-size:16px}
.quote-submit:hover:not(:disabled){background:#1d2831}
.quote-submit:disabled{opacity:.62;cursor:progress}

.quote-note{margin:0;font-size:13px;line-height:1.5;color:#5f6669}

.quote-sent{display:grid;gap:14px}
.quote-sent .eyebrow{font:500 12px var(--mono);letter-spacing:.14em;color:#4e575b;margin:0}
.quote-sent h3{margin:0;font-size:31px;letter-spacing:-.045em;font-weight:500;line-height:1.05}
.quote-sent p{margin:0;font-size:15px;line-height:1.6;color:var(--sub);max-width:44ch}

@media(max-width:900px){
  .contact-layout{grid-template-columns:1fr;gap:52px;padding:64px 22px 74px}
  .contact-form-panel{padding:26px 22px}
}
@media(max-width:560px){
  .quote-row{grid-template-columns:1fr}
  .quote-submit{width:100%}
}

.quote-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- Thank you (no-JS submit target) ---------- */
.thankyou{padding:96px 5.5vw 120px;max-width:760px}
.thankyou h1{margin:0;font-size:clamp(42px,5.2vw,74px);line-height:.94;letter-spacing:-.06em;font-weight:500}
.thankyou h1 i{font-family:var(--serif);font-weight:500;letter-spacing:-.08em}
.thankyou-lead{margin:28px 0 0;font-size:16px;line-height:1.65;color:var(--sub)}
.thankyou-lead a{border-bottom:1px solid #b6b0a5;padding-bottom:2px}
.thankyou-lead a:hover{color:var(--copper);border-color:currentColor}
.thankyou-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:34px}
@media(max-width:760px){.thankyou{padding:64px 22px 84px}}
