.contact-section { background: linear-gradient(#eeeadef2,#f8f5edf9),url('../images/botanical-canopy-960.webp') center/cover; }
.contact-grid { display:grid;grid-template-columns:1fr 1.18fr;gap:44px;align-items:start; }
.contact-copy { padding:40px;background:linear-gradient(160deg,#153022ed,#153022af),url('../images/botanical-canopy-960.webp') center/cover;color:var(--cream);border-radius:4px; }
.contact-copy .eyebrow { color:#e0c89e; }
.contact-copy h1 span { color:#e0c89e; }
.contact-copy h1 { font-size:clamp(38px,3.5vw,52px);margin-top:20px; }
.contact-copy .lead { margin-top:26px;color:#e4e9db;max-width:500px; }
.contact-methods { margin-top:30px; }
.contact-methods > a,.contact-methods > div { display:flex;gap:16px;align-items:center;padding-block:22px;border-bottom:1px solid #e0c89e45; }
.contact-methods > a:hover { color:#e0c89e; }
.contact-methods > a > .icon:last-child { margin-left:auto;width:20px; }
.contact-methods span { display:block;overflow-wrap:anywhere;min-width:0; }
.contact-methods strong { display:block; }
.contact-methods span span { color:#e4e9db;margin-top:3px; }
.contact-photo { margin-top:32px;height:260px;overflow:hidden;border-radius:4px; }
.contact-photo img { width:100%;height:100%;object-fit:cover;object-position:50% 40%; }
.quote-panel { padding:36px;background:var(--paper);border:0;border-top:4px solid var(--brown);border-radius:4px;box-shadow:0 18px 45px #203a2b0c; }
.quote-panel h2 { font-size:28px;letter-spacing:-.025em;margin-top:12px; }
.form-intro { color:var(--muted);margin-block:16px 26px; }
.form-grid { display:grid;grid-template-columns:1fr 1fr;gap:20px; }
.form-field { min-width:0; }
.form-field label { display:block;font-weight:700;margin-bottom:8px;line-height:1.5; }
.form-full { grid-column:1/-1; }
.form-field input,.form-field select,.form-field textarea { width:100%;min-height:50px;padding:11px 12px;border:1px solid #bfc7b8;border-radius:4px;background:var(--paper);color:var(--forest); }
.form-field textarea { resize:vertical;min-height:124px;max-height:450px; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { outline:2px solid var(--forest);outline-offset:2px;border-color:var(--forest); }
.form-field input::placeholder,.form-field textarea::placeholder { color:#6e7469;opacity:1; }
.form-note { display:flex;gap:10px;color:var(--muted);margin-top:20px;line-height:1.5; }
.form-note .icon { width:20px;height:20px;margin-top:2px; }
.form-submit { width:100%;margin-top:24px; }
.form-errors { margin-bottom:24px;padding:18px;border-left:3px solid #9d412d;background:#fff0e9;color:#793124; }
.form-errors ul { margin:10px 0 0;padding-left:20px; }
.field-error { display:block;color:#913826;margin-top:6px; }
.quote-preview { margin-top:26px; }
.quote-preview h3 { margin-block:14px; }
.quote-preview > p:not(.eyebrow) { color:var(--muted); }
.quote-preview pre { font:inherit;font-size:16px;white-space:pre-wrap;overflow-wrap:anywhere;padding:20px;background:var(--soft);border-radius:4px;margin:22px 0;max-height:400px;overflow-y:auto; }
.preview-actions { display:flex;flex-direction:column;gap:12px; }
.quote-preview .text-link { margin-top:20px; }
#enquiry,#quote-form { scroll-margin-top:120px; }
@media (max-width:1100px) { .contact-grid { gap:40px; }.quote-panel { padding:28px; } }
@media (max-width:900px) { .contact-grid { gap:34px;grid-template-columns:1fr; }.contact-copy { padding:34px; }.quote-panel { padding:22px; }.form-grid { grid-template-columns:1fr; }.form-full { grid-column:auto; }.contact-copy h1 { font-size:clamp(30px,8vw,38px); } }
@media (max-width:700px) { .contact-grid { grid-template-columns:1fr;gap:28px; }.contact-copy { padding:28px 24px; }.contact-photo { display:none; }.contact-section { padding-top:34px; }.quote-panel { padding:24px; }.contact-copy .eyebrow { max-width:300px; }.contact-copy h1 { font-size:clamp(30px,8vw,38px); } }

.enquiry-mini { display:flex;align-items:center;gap:20px;padding-bottom:25px;margin-bottom:25px;border-bottom:1px solid var(--line); }
.enquiry-mini span { display:flex;align-items:center;gap:8px;color:var(--muted);font-size:16px; }
.enquiry-mini .icon { width:18px;height:18px;color:var(--brown); }
@media(max-width:900px) { .enquiry-mini { flex-wrap:wrap;gap:12px 18px; } }

