.contact-intro { max-width: 850px; padding-bottom: 12px; }
.contact-intro h1 { font-size: clamp(2.2rem, 5vw, 3.75rem); line-height: 1.06; margin: 12px 0 20px; }
.contact-intro > p:last-child { font-size: 1.15rem; line-height: 1.65; color: var(--muted); max-width: 720px; }
.contact-layout { display: grid; grid-template-columns: minmax(230px, .7fr) minmax(0, 1.5fr); align-items: start; gap: clamp(24px, 5vw, 72px); }
.contact-sidebar { padding-top: 12px; overflow-wrap: anywhere; }
.contact-sidebar h2 { font-size: 1.55rem; }
.contact-sidebar h3 { font-size: 1.1rem; margin-top: 26px; }
.contact-sidebar p { line-height: 1.7; color: var(--muted); }
.contact-sidebar a { color: var(--brand-deep); text-decoration: underline; text-underline-offset: 4px; }
.contact-sidebar .contact-phone { font-size: 1.5rem; font-weight: 600; }
.contact-sidebar hr { border: 0; border-top: 1px solid var(--line); margin: 28px 0; }
.estimate-form { padding: clamp(20px, 3vw, 38px); border: 1px solid var(--line); background: var(--surface); border-radius: 20px; }
.estimate-form h2 { font-size: 2rem; margin: 0; }
.estimate-form label { font-size: 1rem; }
.estimate-form input, .estimate-form select, .estimate-form textarea { min-width: 0; max-width: 100%; font-size: 16px; }
.estimate-form fieldset { display: grid; gap: 16px; padding: 20px 0 0; margin: 0; border: 0; border-top: 1px solid var(--line); }
.estimate-form fieldset[hidden], .estimate-form [hidden] { display: none !important; }
.estimate-form legend { font-weight: 600; padding: 0 8px 0 0; }
.estimate-form .field-hint, .estimate-form small { color: var(--muted); font-size: .9rem; line-height: 1.5; font-weight: 400; }
.estimate-form .field-hint { margin: 0; }
.estimate-form .mode-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.estimate-form .mode-options label { display: flex; align-items: flex-start; gap: 10px; border: 1px solid var(--line-strong); border-radius: 10px; padding: 16px 12px; cursor: pointer; line-height: 1.35; }
.estimate-form .mode-options label:has(input:checked) { background: var(--brand-soft); border-color: var(--brand-deep); box-shadow: inset 0 0 0 1px var(--brand-deep); }
.estimate-form .mode-options input { width: 18px; min-height: 18px; height: 18px; flex: 0 0 18px; margin: 2px 0 0; accent-color: var(--brand-deep); }
.estimate-form .mode-options small { display: block; margin-top: 5px; }
.estimate-form input:focus-visible, .estimate-form textarea:focus-visible, .estimate-form select:focus-visible, .estimate-form button:focus-visible { outline: 3px solid var(--brand-deep); outline-offset: 3px; }
.estimate-form [aria-invalid="true"] { border: 2px solid #a21e16; }
.form-error-summary { padding: 16px; border-left: 4px solid #a21e16; background: #fff0ee; color: #78170f; line-height: 1.5; overflow-wrap: anywhere; }
.field-error { color: #921c14; font-size: .9rem; font-weight: 400; }
.estimate-form .selected-files { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.selected-files li { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px; border-radius: 8px; background: var(--bg-soft); }
.selected-files li span { overflow-wrap: anywhere; }
.selected-files button { min-height: 44px; border: 1px solid var(--line-strong); border-radius: 6px; background: white; padding: 8px 10px; cursor: pointer; flex-shrink: 0; }
.estimate-form .form-privacy { font-size: .9rem; color: var(--muted); line-height: 1.6; }
.form-privacy a { text-decoration: underline; text-underline-offset: 3px; color: var(--brand-deep); }
.contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.estimate-form .form-status { overflow-wrap: anywhere; margin: 0; }
.estimate-form .form-status.is-success { padding: 20px; border: 1px solid var(--brand); border-radius: 10px; color: var(--brand-deep); background: var(--brand-soft); }
.estimate-form [data-upload-status]:empty, .estimate-form .form-status:empty { display: none; }
.estimate-form button:disabled { cursor: wait; opacity: .7; }
.contact-faq h3 { font-size: 1.15rem; }
.contact-faq p { color: var(--muted); line-height: 1.6; }
@media (max-width: 900px) { .contact-layout { grid-template-columns: 1fr; } .contact-sidebar { display: none; } }
@media (max-width: 540px) { .estimate-form .mode-options, .estimate-form .form-grid { grid-template-columns: 1fr; } .estimate-form { padding: 22px 18px; } .contact-intro { padding-top: 28px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Public industrial theme: form behavior, required fields and endpoints are unchanged. */
.contact-intro{max-width:1050px;padding-top:66px;padding-bottom:32px;border-bottom:1px solid var(--line)}
.contact-intro h1{font-size:clamp(2.6rem,5.5vw,5.1rem);max-width:18ch;letter-spacing:-.04em;line-height:1.02}
.contact-intro>p:last-child{font-size:1.05rem;max-width:60ch}
.contact-layout{padding-top:48px}
.contact-sidebar{padding-top:20px}
.contact-sidebar a,.form-privacy a{color:var(--accent)}
.contact-sidebar .contact-phone{font-size:1.5rem}
.estimate-form{border-radius:1px;border-top:3px solid var(--accent);background:#1b211e}
.estimate-form h2{font-size:2.15rem;margin-bottom:8px}
.estimate-form label{font-size:.97rem;color:var(--ink)}
.estimate-form input,.estimate-form textarea,.estimate-form select{border:1px solid #677365;border-radius:1px;background:#131915;color:#f2f0e8}
.estimate-form input::placeholder,.estimate-form textarea::placeholder{color:#aeb9aa;opacity:1}
.estimate-form input[type=file]{border:1px dashed #818f78;background:#151e17;color:#d4decd;padding:14px}
.estimate-form input::file-selector-button{border:1px solid #8e9d80;border-radius:0;background:#2c382d;color:#eef3e7;min-height:40px;padding:8px 12px;margin-right:12px;cursor:pointer;font:inherit}
.estimate-form .mode-options label{border-radius:1px;border-color:#667360;background:#151c17;line-height:1.45}
.estimate-form .mode-options label:has(input:checked){background:#2b382b;border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.estimate-form .mode-options input,.estimate-form input[type=checkbox]{accent-color:var(--accent)}
.estimate-form input:focus-visible,.estimate-form textarea:focus-visible,.estimate-form select:focus-visible,.estimate-form button:focus-visible{outline:3px solid #efd09d;outline-offset:4px}
.estimate-form [aria-invalid=true]{border:2px solid #ffb1a5}
.field-error{color:#ffbbae}
.form-error-summary{color:#ffcec4;background:#381d1a;border-color:#ffb1a5}
.selected-files li{background:#131b15;border:1px solid #495544;border-radius:0;line-height:1.5}
.selected-files button{background:#28332a;border:1px solid #89977c;border-radius:0;color:#f3f5ed}
.estimate-form .form-status.is-success{background:#263d2a;color:#e2eddd;border:1px solid #9eb393;border-radius:1px}
.estimate-form button:disabled{opacity:.7}
.estimate-form .verification-check{background:#202d23;border:1px solid #63735c;border-radius:1px;color:#f2f0e8;padding:16px}
@media(max-width:540px){.contact-intro{padding-top:36px;padding-bottom:22px}.contact-layout{padding-top:28px}.estimate-form{padding:24px 18px}.estimate-form h2{font-size:1.85rem}.selected-files li{flex-wrap:wrap}.selected-files button{margin-left:auto}}
