.contact-page{min-height:100vh;background:var(--paper);color:var(--ink)}.contact-page-main{padding:clamp(88px,10vw,150px) max(24px,calc((100vw - 1440px) / 2)) clamp(92px,11vw,160px)}.contact-page-intro{max-width:940px;margin-bottom:clamp(64px,8vw,110px)}.contact-page-intro h1{margin:16px 0 26px;font-size:clamp(3.4rem,7vw,6rem);line-height:.94;letter-spacing:-.04em;text-wrap:balance}.contact-page-intro h1 em{color:var(--accent-deep);font-family:var(--font-serif),Georgia,"Times New Roman",serif;font-weight:500}.contact-page-intro>p:last-child{max-width:62ch;margin:0;color:var(--muted);font-size:1.08rem;line-height:1.7}.contact-page-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);grid-gap:clamp(42px,8vw,120px);gap:clamp(42px,8vw,120px);align-items:start}.contact-options{display:grid;border-top:1px solid var(--line)}.contact-option{display:grid;grid-template-columns:90px 1fr auto;grid-gap:24px;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}.contact-option span{color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.contact-option strong{font-size:clamp(1.25rem,2vw,2rem);line-height:1.1}.contact-option a{color:var(--accent-deep);font-size:.78rem;font-weight:800;text-transform:uppercase}.contact-social-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 18px}.contact-address{padding:clamp(30px,4vw,52px);border-radius:var(--radius);background:var(--soft-blue)}.contact-address h2{margin:0 0 24px;font-size:clamp(2rem,4vw,3.8rem);line-height:.98;letter-spacing:-.04em}.contact-address p{margin:0 0 30px;color:#43526a;line-height:1.7}.contact-address .button{margin-top:8px}.quote-form{margin-top:clamp(84px,11vw,156px);padding-top:clamp(48px,6vw,80px);border-top:1px solid var(--line);scroll-margin-top:100px}.quote-form-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.6fr);grid-gap:24px clamp(40px,8vw,120px);gap:24px clamp(40px,8vw,120px);align-items:end;margin-bottom:clamp(42px,6vw,72px)}.quote-form-heading .section-label{grid-column:1/-1}.quote-form-heading h2{max-width:10ch;margin:0;font-size:clamp(2.8rem,5.7vw,5.5rem);line-height:.96;letter-spacing:-.04em;text-wrap:balance}.quote-form-heading>p:last-child{max-width:48ch;margin:0;color:var(--muted);line-height:1.7}.quote-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px 20px;gap:24px 20px}.form-field{display:grid;grid-gap:8px;gap:8px}.form-field label{color:var(--ink);font-size:.82rem;font-weight:750}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:52px;padding:13px 14px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;color:var(--ink);font:inherit;transition:border-color .2s,box-shadow .2s}.form-field textarea{min-height:140px;resize:vertical}.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px rgba(61,77,168,.16)}.form-field-wide{grid-column:1/-1}.quote-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.quote-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:28px}.quote-form-actions p{margin:0;color:var(--muted);font-size:.86rem}.quote-form-actions p a{color:var(--accent-deep);font-weight:700;text-decoration:underline;text-underline-offset:3px}.quote-form-legal{max-width:72ch;margin:18px 0 0;color:var(--muted);font-size:.78rem;line-height:1.65}.quote-form-legal a{color:var(--accent-deep);font-weight:700;text-decoration:underline;text-underline-offset:3px}.quote-form-status{max-width:760px;margin:24px 0 0;padding:14px 16px;border:1px solid var(--line);border-radius:8px;font-size:.9rem;line-height:1.55}.quote-form-status.is-success{border-color:#85b99a;background:#eef8f1;color:#215b37}.quote-form-status.is-error{border-color:#d6a1a1;background:#fff2f2;color:#8f2424}@media (max-width:800px){.contact-page-grid,.quote-form-grid,.quote-form-heading{grid-template-columns:1fr}.form-field-wide,.quote-form-heading .section-label{grid-column:auto}.contact-option{grid-template-columns:1fr;gap:10px}.contact-option a{justify-self:start}.contact-social-links{justify-content:flex-start}}