/* Loaded on every page. Call and Text buttons (tools/pseo.py reach()) plus the one button shape used across the site:
   6px rounded squares, 48px tall, Manrope 800 uppercase, no offset shadow. Footers and sentences use plain links
   (reach_links()) instead of buttons. */
.rr-reach{display:inline-flex;flex-wrap:wrap;gap:12px;align-items:center;vertical-align:middle}
.rr-reach a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border:2px solid #071d3b;
  border-radius:6px;background:#fff;color:#071d3b !important;font:800 13px/1 Manrope,Arial,sans-serif;letter-spacing:.08em;
  text-transform:uppercase;text-decoration:none !important;white-space:nowrap;box-shadow:none;transition:background .15s,color .15s}
.rr-reach a:hover,.rr-reach a:focus-visible{background:#f6f0e7}
.rr-reach svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rr-reach.light a{background:transparent;border-color:#fff;color:#fff !important}
.rr-reach.light a:hover,.rr-reach.light a:focus-visible{background:rgba(255,255,255,.12)}

/* The WordPress-era pages (Elementor buttons, partner pop-up buttons) take the same shape. */
html body .elementor-button,html body .elementor-button:hover,html body .elementor-button:focus,
html body .premium-modal-trigger-btn,html body .premium-modal-trigger-btn:hover{
  border-radius:6px !important;box-shadow:none !important;font-family:Manrope,Arial,sans-serif !important;font-weight:800 !important;
  letter-spacing:.08em !important;text-transform:uppercase !important}
/* Homepage form: "Prefer email?" is a plain link under the form, as on the quote page (tools/build.py). */
html body .elementor-element-175a970 .elementor-button{background:none !important;border:0 !important;padding:0 !important;min-height:0;
  color:#071d3b !important;font:500 15px/1.6 Manrope,Arial,sans-serif !important;letter-spacing:0 !important;text-transform:none !important}
.elementor-element-175a970 .rr-u{font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* Hero: the quote button, Call and Text on one line (tools/build.py hero_row). */
.rr-cta-row{display:flex;flex-wrap:nowrap;gap:12px;align-items:center;justify-content:flex-start}
.elementor-align-center .rr-cta-row{justify-content:center}
.rr-cta-row .elementor-button{display:inline-flex !important;align-items:center;min-height:48px;padding:0 26px !important;
  font-size:13px !important;line-height:1 !important;white-space:nowrap}
.rr-cta-row .elementor-button-content-wrapper{align-items:center}
.rr-cta-row .rr-reach{flex-wrap:nowrap}
@media(max-width:520px){
  .rr-cta-row,.rr-cta-row .rr-reach{gap:8px}
  .rr-cta-row .elementor-button{padding:0 14px !important;font-size:11px !important;min-height:44px}
  .rr-cta-row .elementor-button-icon{display:none}
  .rr-cta-row .rr-reach a{padding:0 12px;min-height:44px;font-size:11px;gap:6px}
  .rr-cta-row .rr-reach svg{width:14px;height:14px}
}

/* Cookie banner buttons. */
.kit-consent__buttons button,.kit-consent button{border-radius:6px !important}

/* City and area chips on the homepage: rounded squares too. */
.rr-city-pills a{border-radius:6px !important}

/* Quote page footer: the circle emblem, turned 20 degrees counterclockwise, on the right (tools/build.py footer_emblem). */
footer.rr-has-emblem{position:relative;overflow:hidden}
.rr-footer-emblem{position:absolute;right:clamp(32px,8vw,140px);top:50%;width:190px;height:auto;transform:translateY(-50%) rotate(-20deg);
  pointer-events:none;z-index:0}
footer.rr-has-emblem>*:not(.rr-footer-emblem){position:relative;z-index:1}
footer.rr-has-emblem .elementor-widget-text-editor p{margin:0;line-height:1.7}
footer.rr-has-emblem p.rr-f-addr{margin-top:6px}
footer.rr-has-emblem p.rr-f-reach{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:2px}
footer.rr-has-emblem p.rr-f-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:24px}
footer.rr-has-emblem p.rr-f-copy{margin-top:24px;opacity:.7;font-size:.92em}
footer.rr-has-emblem .elementor-widget-text-editor{max-width:calc(100% - 300px)}
@media(max-width:767px){
  footer.rr-has-emblem .elementor-widget-text-editor{max-width:none}
  .rr-footer-emblem{position:static;order:99;align-self:flex-end;width:120px;margin:4px 0 0;transform:rotate(-20deg)}
}
/* The narrowest phones (≤370px): a little less padding so the hero's three buttons still fit on one line. */
@media(max-width:370px){
  .rr-cta-row .elementor-button{padding:0 10px !important;letter-spacing:.04em !important}
  .rr-cta-row .rr-reach a,.hero .ctas .rr-reach a{padding:0 9px;letter-spacing:.04em}
  .hero .ctas .btn{padding:0 10px;letter-spacing:.04em}
}
/* Below 340px there isn't room for three buttons: let Call and Text drop to a second line. */
@media(max-width:340px){.rr-cta-row,.hero .ctas{flex-wrap:wrap !important}}
/* Labels and tags are rounded squares too (the thank-you postcard status tag lives in rr-welcome.css). */
.postcard .pc-status{border-radius:6px}
