.contact-hero h1{color:var(--white)}.contact-hero .lead{max-width:760px}.contact-main{background:var(--white);padding:4.75rem 0}.contact-grid{grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);align-items:start;gap:2.5rem;display:grid}.contact-sidebar{position:sticky;top:104px}.contact-card,.contact-form-card{border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);box-shadow:0 10px 34px #0d0f100f}.contact-card{padding:1.7rem}.contact-card h2,.contact-form-card h2,.contact-faq h2{font-family:var(--font-display);letter-spacing:-.012em;color:var(--ink);margin:.25rem 0 .8rem;font-weight:900;line-height:1}.contact-card h2{font-size:clamp(2rem,3vw,2.8rem)}.contact-card>p{color:var(--ash);margin:.65rem 0 1.35rem}.contact-whatsapp{color:#071b10;background:#25d366;border-radius:999px;align-items:center;gap:.8rem;width:100%;min-height:54px;padding:.8rem 1rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;display:flex;box-shadow:0 8px 22px #0d0f101f}.contact-whatsapp:hover{color:#071b10;background:#36df76;text-decoration:none;transform:translateY(-2px);box-shadow:0 12px 28px #0d0f1029}.contact-whatsapp svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 26px;width:26px;height:26px}.contact-methods{border-top:1px solid var(--line);gap:.2rem;margin:1.45rem 0 0;padding-top:1.35rem;display:grid}.contact-method{grid-template-columns:28px 1fr;align-items:start;gap:.75rem;padding:.72rem 0;display:grid}.contact-method svg{fill:none;width:22px;height:22px;stroke:var(--fire);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;margin-top:.15rem}.contact-method strong{color:var(--ink);margin-bottom:.08rem;font-size:.9rem;display:block}.contact-method span,.contact-method a{color:var(--ash);text-decoration:none}.contact-method a:hover{color:var(--fire-dark)}.contact-map{margin-top:.8rem;font-weight:600;display:inline-block}.contact-proof{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-top:1.5rem;padding-top:1.35rem;display:grid}.contact-proof-item{min-width:0}.contact-proof-value{font-family:var(--font-display);color:var(--ink);font-size:1.65rem;font-weight:900;line-height:1;display:block}.contact-proof-label{color:var(--ash);margin-top:.3rem;font-size:.75rem;line-height:1.25;display:block}.contact-estimate{border-top:1px solid var(--line);color:var(--ash);margin:1.35rem 0 0;padding-top:1.25rem;font-size:.92rem}.contact-estimate a{font-weight:700}.contact-form-card{padding:2rem}.contact-form-card .eyebrow{margin-bottom:.35rem}.contact-form-card h2{font-size:clamp(2.3rem,4vw,3.5rem)}.contact-form-intro{max-width:650px;color:var(--ash);margin:0 0 1.8rem;font-size:1.02rem}.contact-form-card .form-field{margin-bottom:1rem}.contact-form-card .form-field label{font-size:.92rem}.contact-form-card .form-field input,.contact-form-card .form-field textarea,.contact-form-card .form-field select{background:var(--white);width:100%;min-height:48px}.contact-form-card .form-field textarea{min-height:170px}.contact-field-hint{color:var(--ash);margin:.35rem 0 0;font-size:.8rem;line-height:1.4}.form-field-error{color:#9f2f25;min-height:1.15rem;margin:.25rem 0 0;font-size:.8rem;line-height:1.3}.form-field input.is-invalid,.form-field textarea.is-invalid,.form-field select.is-invalid{border-color:#b94a3d;outline:2px solid #b94a3d1f}.contact-form-card .form-check{margin:1.15rem 0 1.25rem}.contact-form-card .form-submit{width:100%;min-height:52px}.contact-form-card .form-submit:disabled{opacity:.65;cursor:wait}.contact-privacy-note{color:var(--ash);align-items:flex-start;gap:.45rem;margin:.8rem 0 0;font-size:.78rem;line-height:1.45;display:flex}.contact-privacy-note svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 16px;width:16px;height:16px;margin-top:.1rem}.contact-faq{background:var(--white);padding:0 0 5rem}.contact-faq-inner{max-width:820px}.contact-faq h2{margin-bottom:1.4rem;font-size:clamp(2.3rem,4vw,3.5rem)}.contact-faq .faq-item{border-top:1px solid var(--line)}.contact-faq .faq-item:last-child{border-bottom:1px solid var(--line)}.contact-faq .faq-item summary{cursor:pointer;font-family:var(--font-display);color:var(--ink);padding:1rem 0;font-size:1.2rem;font-weight:700}.contact-faq .faq-item p{color:var(--ash);margin:.1rem 0 1.2rem}@media (width<=900px){.contact-grid{grid-template-columns:1fr;gap:1.5rem}.contact-sidebar{position:static}.contact-card,.contact-form-card{padding:1.5rem}}@media (width<=600px){.contact-main{padding:3.5rem 0}.contact-card,.contact-form-card{padding:1.25rem}.contact-proof{gap:.4rem}.contact-proof-value{font-size:1.4rem}.contact-proof-label{font-size:.7rem}.contact-faq{padding-bottom:4rem}}
