/* Instant estimator: paired actions and a spacious, responsive Roofr window. */
.hero-actions{flex-wrap:wrap;gap:16px}
.hero-actions .hero-explore{margin-left:12px}
.button-outline{background:#082d4370;box-shadow:inset 0 0 0 1px #ffffffb3;color:#fff}
.button-outline:hover{background:#fff;color:var(--ink)}
.quote-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.quote-actions .button,.hero-actions .button{min-height:58px;font-size:1rem}
.contact-actions{margin-top:30px}
.quote-note{max-width:650px;margin:18px 0 0;color:#c6d2d9;font-size:1rem;line-height:1.65}
.contact-actions~.contact-options{margin-top:32px}
.desktop-nav .nav-quote{color:#a6e5ef;border-bottom:1px solid currentColor;white-space:nowrap}
.mobile-nav .nav-quote{font-weight:650;color:#a6e5ef}
body.quote-open{overflow:hidden}
.quote-dialog{width:min(1120px,calc(100% - 40px));height:min(900px,calc(100dvh - 40px));max-width:none;max-height:calc(100dvh - 40px);margin:auto;padding:0;border:0;border-top:4px solid var(--accent);background:#fff;color:var(--ink);box-shadow:0 24px 100px #04192766;overflow:hidden}
.quote-dialog[open]{display:flex;flex-direction:column}
.quote-dialog::backdrop{background:#041927cf;backdrop-filter:blur(5px)}
.quote-dialog-heading{display:flex;flex-shrink:0;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 18px;border-bottom:1px solid var(--line)}
.quote-dialog-heading .eyebrow{font-size:.875rem;letter-spacing:.08em;line-height:1.5;margin:0 0 8px}
.quote-dialog-heading h2{font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.15;letter-spacing:-.035em;margin:0 0 10px}
.quote-dialog-heading #quote-description{font-size:1rem;line-height:1.5;margin:0;color:var(--muted);max-width:760px}
.quote-close{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;padding:0;border:1px solid var(--line);background:#f5f7f8;color:var(--ink);font-size:2rem;line-height:1}
.quote-close:hover{background:#e5edf1}
.quote-frame-container{flex:1;min-height:0;background:#f5f7f8;overflow:auto;overscroll-behavior:contain}
.quote-frame-container iframe{display:block;width:100%;height:100%;min-height:340px;border:0;background:#fff}
.quote-dialog-footer{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;flex-wrap:wrap;gap:6px 20px;padding:12px 24px;border-top:1px solid var(--line);font-size:.875rem;line-height:1.5;color:var(--muted)}
.quote-external{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px;padding-block:5px}
@media(min-width:761px) and (max-width:1250px){.desktop-nav{gap:18px;font-size:.875rem}.site-header>.button{display:none}}
@media(max-width:760px){
  .hero{height:auto;max-height:none;min-height:100svh}
  .hero-actions{align-items:stretch;gap:12px}
  .hero-actions .button{justify-content:space-between;width:100%}
  .hero-actions .hero-explore{align-self:flex-start;margin:8px 0 0}
  .quote-actions{align-items:stretch;gap:12px}
  .quote-actions .button{width:100%}
  .quote-dialog{width:100%;height:100dvh;max-height:100dvh;border-top-width:3px}
  .quote-dialog-heading{padding:14px 16px;gap:10px}
  .quote-dialog-heading .eyebrow{font-size:.75rem;letter-spacing:.04em}
  .quote-dialog-heading h2{font-size:1.65rem;margin-bottom:6px}
  .quote-dialog-heading #quote-description{font-size:.875rem}
  .quote-dialog-footer{padding:10px 16px}
}
@media(max-height:600px){.quote-dialog{overflow:auto}.quote-dialog-heading .eyebrow{display:none}.quote-frame-container{flex-shrink:0;min-height:340px}}
@media print{.quote-dialog,.contact-actions,.quote-note,.nav-quote,.footer-quote{display:none!important}}
