@font-face {
  font-family: "Bricolage Grotesque"; src: url("./bricolage-latin.8c3ddfa9beb1.woff2") format("woff2");
  font-style: normal; font-weight: 700 800; font-display: swap;
}
@font-face {
  font-family: "DM Sans"; src: url("./dm-sans-latin.468d56b6b25b.woff2") format("woff2");
  font-style: normal; font-weight: 400 800; font-display: swap;
}

:root {
  --ink: #152633;
  --ink-deep: #101f2b;
  --muted: #53636e;
  --orange: #ff9038;
  --orange-strong: #e86f16;
  --warm: #faf8f4;
  --line: #e2e5e4;
  --white: #fff;
  --max: 1264px;
  --radius: 24px;
  --display: "Bricolage Grotesque", "DM Sans", system-ui, sans-serif;
  font-family: "DM Sans", system-ui, sans-serif;
  color: var(--ink);
  background: var(--warm);
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
}
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
button, summary { cursor: pointer; }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { font-family: var(--display); }
h1, h2 { font-weight: 800; letter-spacing: -.047em; }
h3 { letter-spacing: -.022em; }
p { line-height: 1.63; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #26916e; outline-offset: 5px; }
.wrap { width: min(calc(100% - 112px), var(--max)); margin-inline: auto; }
.icon { display: inline-block; width: 1.12em; height: 1.12em; flex: 0 0 auto; vertical-align: -.17em; }
.skip { position: fixed; z-index: 30; left: 16px; top: 8px; transform: translateY(-160%); padding: 12px 18px; border-radius: 30px; background: white; }
.skip:focus { transform: none; }
.pill {
  display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-height: 48px;
  border: 1px solid transparent; border-radius: 999px; padding: 11px 19px;
  font-weight: 700; font-size: .92rem; line-height: 1.2; text-align: center;
  transition: background .18s, border-color .18s, color .18s;
}
.pill--orange { background: var(--orange); color: var(--ink-deep); }
.pill--orange:hover { background: #ffab60; }
.pill--outline { border-color: #cdd5d9; }
.pill--outline:hover { background: #eef2f2; border-color: #a6b4ba; }
.pill--light { color: white; border-color: #a0adb7; }
.pill--light:hover { background: #ffffff20; border-color: white; }
.pill--dark { background: var(--ink); color: white; }
.pill--dark:hover { background: #294251; }
.eyebrow { display: flex; align-items: center; gap: 10px; font-size: .74rem; font-weight: 800; letter-spacing: .135em; text-transform: uppercase; line-height: 1.5; }
.eyebrow::before { content: ""; display: block; width: 24px; height: 2px; background: var(--orange-strong); flex: 0 0 auto; }
.arrow-link { display: inline-flex; align-items: center; gap: 9px; width: fit-content; font-weight: 750; line-height: 1.35; }
.arrow-link .icon { transition: transform .18s; }
.arrow-link:hover .icon { transform: translateX(4px); }
.arrow-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.site-head { position: relative; z-index: 10; background: white; border-bottom: 1px solid #e7e9e8; }
.head-inner { min-height: 94px; display: flex; align-items: center; justify-content: space-between; gap: clamp(17px, 2.25vw, 34px); }
.brand { flex-shrink: 0; display: flex; align-items: center; }
.brand img { width: 91px; height: 70px; object-fit: contain; }
.main-nav { display: flex; align-items: center; gap: clamp(14px, 1.85vw, 30px); margin-inline: auto; }
.nav-link, .nav-group > summary { font-size: .91rem; font-weight: 700; white-space: nowrap; line-height: 1.5; }
.nav-link:hover, .nav-group > summary:hover, .nav-link[aria-current="page"] { color: #a84709; }
.nav-group { position: relative; }
.nav-group summary { display: flex; align-items: center; gap: 5px; list-style: none; }
summary::-webkit-details-marker { display: none; }
.nav-group summary .icon { width: .85em; }
.nav-group[open] > summary .icon { transform: rotate(180deg); }
.nav-pop { position: absolute; top: calc(100% + 17px); left: -16px; width: max-content; min-width: 210px; max-width: min(300px, 86vw); background: white; border: 1px solid var(--line); border-radius: 16px; padding: 7px; box-shadow: 0 15px 45px #101f2b1c; }
.nav-pop a { display: block; padding: 9px 12px; border-radius: 10px; font-size: .91rem; font-weight: 600; }
.nav-pop a:hover, .nav-pop a[aria-current="page"] { background: var(--warm); color: #a84709; }
.head-actions { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.head-actions .pill { min-height: 41px; padding-inline: 13px; font-size: .84rem; }
.head-phone { display: flex; min-height: 32px; align-items: center; gap: 6px; font-size: .87rem; white-space: nowrap; font-weight: 750; margin-right: 6px; }
.head-phone .icon { color: #b95413; }
.head-phone:hover { text-decoration: underline; text-underline-offset: 4px; }
.lang-switch { min-width: 36px; min-height: 36px; display: grid; place-items: center; font-size: .78rem; font-weight: 800; border-radius: 50%; background: #f1f3f2; flex: 0 0 auto; }
.lang-switch:hover { background: #ffeddf; }
.menu-toggle { display: none; background: white; border: 1px solid var(--line); border-radius: 50%; width: 41px; height: 41px; align-items: center; justify-content: center; padding: 0; flex: 0 0 auto; }
.menu-toggle .icon { width: 20px; height: 20px; }
.menu-toggle .menu-close, .menu-toggle[aria-expanded="true"] .menu-open { display: none; }
.menu-toggle[aria-expanded="true"] .menu-close { display: inline-block; }
.hero { background: var(--ink-deep); color: white; position: relative; isolation: isolate; overflow: hidden; }
.hero-picture { position: absolute; inset: 0 0 0 39%; z-index: -2; }
.hero-picture img { width: 100%; height: 100%; object-fit: cover; object-position: 45% 53%; }
.hero::after { position: absolute; z-index: -1; inset: 0; content: ""; pointer-events: none; background: linear-gradient(90deg, #101f2b 0%, #101f2b 35%, #101f2be8 42%, #101f2b4d 53%, #101f2b00 65%); }
.hero-inner { min-height: clamp(500px, 41vw, 644px); display: flex; align-items: center; padding-block: 64px 70px; }
.hero-copy { width: min(575px, 53%); }
.hero-copy .eyebrow { color: #ffab68; margin-bottom: 24px; }
.hero-copy .eyebrow::before { background: var(--orange); }
.hero h1 { font-size: clamp(3.65rem, 5.65vw, 5.7rem); line-height: .99; letter-spacing: -.064em; }
.hero h1 span { color: #ff9b4a; display: block; }
.hero-copy > p:not(.eyebrow) { color: #e2e8eb; max-width: 400px; font-size: clamp(1rem, 1.35vw, 1.18rem); margin-top: 24px; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 31px; }
.hero-actions .pill { padding: 13px 19px; min-height: 51px; }
.area-bar { background: white; border-bottom: 1px solid var(--line); }
.area-bar .wrap { min-height: 90px; display: flex; gap: 18px 30px; align-items: center; justify-content: space-between; }
.area-label { display: flex; flex: 0 0 auto; align-items: center; gap: 12px; }
.area-label .icon { color: #9e420a; width: 1.22em; height: 1.22em; }
.area-symbol { width: 39px; height: 39px; border-radius: 50%; display: grid; place-items: center; background: #fff0e2; }
.area-list { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 14px; padding: 0; margin: 0; list-style: none; color: var(--muted); font-size: .91rem; font-weight: 600; }
.area-list li + li::before { content: ""; display: inline-block; width: 4px; height: 4px; border-radius: 50%; background: #ae6837; vertical-align: .19em; margin-right: 13px; }
.section-space { padding-block: clamp(57px, 6.5vw, 99px); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 22px; margin-bottom: 33px; }
.section-heading h2, .feature-copy h2, .closing h2, .content-section h2 { font-size: clamp(2.16rem, 3.3vw, 3.6rem); line-height: 1.03; }
.section-heading .eyebrow, .feature-copy .eyebrow { margin-bottom: 11px; }
.section-heading > p { color: var(--muted); max-width: 340px; }
.card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.service-card { display: flex; flex-direction: column; background: white; border-radius: var(--radius); border: 1px solid #e9e7e2; overflow: hidden; min-width: 0; }
.card-photo { overflow: hidden; background: #e7ecec; aspect-ratio: 1.86; }
.card-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .28s; }
.service-card:hover .card-photo img { transform: scale(1.035); }
.card-copy { padding: 22px 22px 25px; display: flex; flex: 1; flex-direction: column; align-items: start; }
.card-copy h3 { font-size: clamp(1.35rem, 1.7vw, 1.65rem); line-height: 1.13; }
.card-copy p { margin-top: 10px; color: var(--muted); margin-bottom: 20px; }
.card-copy .arrow-link { margin-top: auto; }
.storm-history {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  align-items: center;
  min-height: 405px;
  margin-bottom: clamp(44px, 6vw, 84px);
  border-radius: var(--radius);
  background: #edf5f9;
}
.storm-history-photo { position: absolute; inset: 0 0 0 25%; z-index: -1; }
.storm-history-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.storm-history-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #edf5f9, #edf5f900 48%); }
.storm-history-copy { padding: clamp(28px, 5vw, 68px); }
.storm-history-brand { width: 84px; margin-bottom: 18px; }
.storm-history h2 { max-width: 15ch; font-size: clamp(2.25rem, 4.45vw, 4.35rem); line-height: 1.01; text-wrap: balance; }
.storm-history h2 span { display: block; }
.storm-history-member { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 15px; margin-top: 25px; }
.storm-history-member p { color: var(--muted); font-size: .87rem; font-weight: 700; }
.storm-history-member img { width: 95px; }
.feature { background: white; }
.feature-grid, .page-lead-grid, .forms-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: clamp(28px, 5vw, 82px); }
.feature-photo { overflow: hidden; border-radius: var(--radius); background: #e1e8ea; }
.feature-photo img { width: 100%; aspect-ratio: 1.64; object-fit: cover; }
.feature-copy > p:not(.eyebrow) { margin-block: 17px 24px; color: var(--muted); max-width: 450px; }
.feature-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.community { background: #eef2ee; }
.community .feature-grid { gap: clamp(24px, 5vw, 74px); }
.community .feature-photo img { aspect-ratio: 2.17; object-position: center; }
.closing { color: white; background: var(--ink); padding-block: 42px; }
.closing .wrap { display: flex; justify-content: space-between; align-items: center; gap: 23px; }
.closing h2 { font-size: clamp(1.9rem, 3vw, 3.2rem); }
.closing p { color: #d9e1e5; margin-top: 8px; }
.closing .pill { flex-shrink: 0; }
.site-foot { background: var(--ink-deep); color: #d8e0e5; }
.foot-grid { display: grid; grid-template-columns: 1.12fr 1fr 1fr 1.14fr; gap: 24px 35px; padding-block: 47px 38px; }
.foot-logo { width: 88px; }
.foot-brand p { margin-top: 13px; max-width: 220px; }
.foot-grid h2 { color: white; font-family: inherit; font-weight: 750; font-size: .95rem; letter-spacing: 0; margin: 6px 0 12px; }
.foot-grid p, .foot-grid li { font-size: .91rem; }
.foot-grid ul { padding: 0; margin: 0; list-style: none; display: grid; gap: 8px; }
.foot-grid a:hover, .foot-bottom a:hover { color: white; text-decoration: underline; text-underline-offset: 4px; }
.foot-bottom { display: flex; justify-content: space-between; gap: 15px; padding-block: 17px; border-top: 1px solid #ffffff28; font-size: .81rem; }
.foot-bottom a { display: inline-flex; align-items: center; gap: 6px; }
.foot-credits { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.foot-credits a { text-decoration: underline; text-underline-offset: 3px; }
.page-lead { background: #edf1ee; padding-block: clamp(35px, 5.3vw, 80px); }
.page-lead .eyebrow { margin-bottom: 15px; }
.page-lead h1 { font-size: clamp(2.7rem, 5.2vw, 5.15rem); line-height: .98; }
.page-lead .intro { font-size: clamp(1.04rem, 1.4vw, 1.22rem); max-width: 540px; margin-top: 18px; color: #485b65; }
.breadcrumb { font-size: .82rem; color: #516370; margin-bottom: 24px; display: flex; align-items: center; gap: 8px; }
.breadcrumb a:hover { text-decoration: underline; text-underline-offset: 4px; }
.page-photo { overflow: hidden; background: #e2e9e9; border-radius: var(--radius); }
.page-photo img { width: 100%; aspect-ratio: 1.78; object-fit: cover; }
.page-photo--guide { background: #e0e8e3; }
.page-photo--guide img, .page-photo--loyalty img { width: 100%; aspect-ratio: 1.78; object-fit: contain; padding: 14px; }
.page-photo--promo img { object-fit: contain; }
.page-body { background: var(--warm); }
.content-section { padding-block: clamp(36px, 4.7vw, 71px); border-bottom: 1px solid var(--line); }
.content-section:last-child { border-bottom: 0; }
.content-section h2 { margin-bottom: 20px; }
.content-section .section-intro { color: var(--muted); max-width: 72ch; margin-bottom: 20px; }
.text-items { max-width: 76ch; display: grid; gap: 23px; }
.text-items h3, .item-card h3, .faq h3 { font-size: 1.25rem; line-height: 1.22; margin-bottom: 5px; }
.text-items p, .item-card p, .faq p { color: #435562; white-space: pre-line; }
.item-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.item-card { padding: 22px; border-radius: 17px; background: white; border: 1px solid var(--line); }
.steps { counter-reset: step; }
.steps .item-card::before { counter-increment: step; content: counter(step); display: grid; place-items: center; background: #fff0e2; color: #923a07; width: 33px; height: 33px; font-weight: 750; border-radius: 50%; margin-bottom: 11px; }
.faq { display: grid; gap: 9px; max-width: 880px; }
.faq details { background: white; border: 1px solid var(--line); border-radius: 16px; }
.faq summary { font-weight: 750; padding: 16px 19px; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.faq summary .icon { color: #a7480d; }
.faq details[open] summary .icon { transform: rotate(180deg); }
.faq details p { padding: 0 19px 16px; }
.content-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 11px; margin-top: 22px; }
.extra-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding-bottom: clamp(36px, 4.7vw, 71px); }
.extra-photos img { width: 100%; aspect-ratio: 1.9; object-fit: cover; border-radius: var(--radius); }
.forms-grid { align-items: start; }
.contact-card { border: 1px solid var(--line); border-radius: var(--radius); background: white; padding: clamp(23px, 3.1vw, 43px); }
.contact-card h2 { font-size: clamp(1.85rem, 2.7vw, 2.7rem); line-height: 1.05; }
.contact-card > p { color: var(--muted); margin-top: 12px; }
.contact-card ul { padding: 0; list-style: none; display: grid; gap: 18px; margin-block: 24px; }
.contact-card li { display: flex; align-items: start; gap: 12px; line-height: 1.6; }
.contact-card li .icon { margin-top: .22em; color: #ae4a0d; }
.contact-card li a { text-decoration: underline; text-underline-offset: 3px; }
.contact-card .content-actions { margin-top: 20px; }
.google-map { width: 100%; height: 360px; display: block; border: 1px solid var(--line); border-radius: var(--radius); background: #e3eae5; }
.map-caption { margin-top: 12px; color: var(--muted); font-size: .88rem; }
.quote-prep { display: grid; gap: 12px; padding-left: 22px; line-height: 1.5; margin-block: 19px 2px; }
.quote-prep li { display: list-item; }
@media (max-width: 1240px) {
  .wrap { width: min(calc(100% - 72px), var(--max)); }
  .head-inner { gap: 18px; }
  .main-nav { gap: 15px; }
  .head-actions { gap: 6px; }
  .head-actions .pill { padding-inline: 11px; }
  .head-phone { margin-right: 2px; }
}
@media (max-width: 1090px) {
  .site-head .wrap { width: min(calc(100% - 48px), var(--max)); }
  .head-inner { min-height: 76px; gap: 12px; }
  .brand img { width: 73px; height: 57px; }
  .head-actions { margin-left: auto; }
  .menu-toggle { display: inline-flex; }
  .main-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: white; border-top: 1px solid var(--line); box-shadow: 0 14px 25px #101f2b24; padding: 10px 24px 18px; max-height: calc(100dvh - 76px); overflow: auto; }
  .main-nav.is-open { display: grid; gap: 0; }
  .nav-link, .nav-group > summary { display: flex; align-items: center; justify-content: space-between; min-height: 44px; border-bottom: 1px solid var(--line); }
  .nav-pop { position: static; width: auto; min-width: 0; max-width: none; padding: 4px 0 5px 12px; border: 0; border-radius: 0; box-shadow: none; }
  .hero h1 { font-size: clamp(3.55rem, 6.7vw, 5.25rem); }
  .hero-copy { width: min(570px, 57%); }
  .hero-picture { left: 36%; }
  .area-bar .wrap { gap: 12px 18px; }
}
@media (max-width: 760px) {
  .wrap { width: calc(100% - 40px); }
  .site-head .wrap { width: calc(100% - 34px); }
  .hero-picture { inset: auto 0 0; height: 310px; }
  .hero-picture img { object-position: 48% 56%; }
  .hero::after { display: none; }
  .hero-picture::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #101f2b, #101f2b00 34%); }
  .hero-inner { min-height: 0; padding-block: 49px 295px; }
  .hero-copy { width: 100%; }
  .hero-copy .eyebrow { margin-bottom: 15px; }
  .hero h1 { font-size: clamp(3.35rem, 9.8vw, 5.1rem); max-width: 580px; }
  .hero-copy > p:not(.eyebrow) { margin-top: 17px; max-width: 385px; }
  .hero-actions { margin-top: 22px; gap: 8px; }
  .hero-actions .pill { min-height: 47px; padding-inline: 14px; }
  .area-bar .wrap { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 17px 21px; gap: 8px; }
  .area-list { font-size: .88rem; gap: 5px 11px; }
  .area-list li + li::before { margin-right: 10px; }
  .area-symbol { width: 32px; height: 32px; }
  .section-heading { display: grid; justify-content: stretch; gap: 10px; margin-bottom: 22px; }
  .section-heading > p { max-width: 470px; }
  .card-grid, .item-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .card-copy { padding: 15px 15px 19px; }
  .card-copy p { font-size: .94rem; }
  .storm-history { min-height: 0; }
  .storm-history-photo { inset: 0 0 auto; height: clamp(202px, 42vw, 320px); }
  .storm-history-photo::after { background: linear-gradient(0deg, #edf5f9, #edf5f900 32%); }
  .storm-history-copy { width: 100%; padding: clamp(183px, 38vw, 286px) 24px 32px; }
  .storm-history-brand { width: 64px; margin-bottom: 12px; }
  .storm-history-member { margin-top: 18px; }
  .feature-grid, .page-lead-grid, .forms-grid { grid-template-columns: 1fr; gap: 22px; }
  .feature-grid .feature-copy { order: -1; }
  .community .feature-copy { order: 0; }
  .foot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .closing .wrap { flex-wrap: wrap; }
  .google-map { height: 320px; }
}
@media (max-width: 720px) {
  .head-inner { display: grid; grid-template-columns: 1fr auto auto auto; grid-template-rows: 62px auto; gap: 0 8px; padding-bottom: 10px; }
  .brand img { width: 63px; height: 50px; }
  .head-actions { display: contents; }
  .head-phone { grid-row: 1; grid-column: 2; font-size: .80rem; gap: 4px; margin-right: 0; }
  .lang-switch { grid-row: 1; grid-column: 3; min-width: 30px; min-height: 30px; }
  .menu-toggle { grid-row: 1; grid-column: 4; justify-self: end; width: 35px; height: 35px; }
  .head-actions .pill { min-height: 37px; font-size: .79rem; padding: 7px 8px; }
  .head-quote { grid-row: 2; grid-column: 1 / 3; }
  .head-pay { grid-row: 2; grid-column: 3 / 5; }
  .main-nav { max-height: calc(100dvh - 109px); }
}
@media (max-width: 565px) {
  .hero-picture { height: 255px; }
  .hero-inner { padding-block: 42px 236px; }
  .card-grid { grid-template-columns: 1fr; }
  .card-photo { aspect-ratio: 1.86; }
  .item-card { padding: 16px; }
  .extra-photos { grid-template-columns: 1fr; }
  .foot-bottom { flex-wrap: wrap; }
}
@media (max-width: 360px) {
  .wrap { width: calc(100% - 32px); }
  .hero h1 { font-size: 2.92rem; }
  .head-actions .pill { font-size: .73rem; }
  .item-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Quote form */
[hidden] { display: none !important; }
.page-lead--quote { padding-block: clamp(24px, 3vw, 42px); }
.page-lead--quote .page-lead-grid { grid-template-columns: 1.35fr .85fr; }
.page-lead--quote .page-photo img { aspect-ratio: 2.6; object-position: left; }
.quote-section { padding-top: clamp(26px, 4vw, 56px); }
.quote-layout { display: grid; grid-template-columns: minmax(0, 2.55fr) minmax(0, 1fr); gap: clamp(22px, 4vw, 56px); align-items: start; }
.quote-form { display: grid; gap: 26px; }
.quote-form-heading p, .quote-help { color: var(--muted); font-size: .91rem; margin-top: 8px; }
.quote-group, .quote-checks { border: 0; padding: 0; margin: 0; min-width: 0; }
.quote-group > legend { font: 750 1.38rem/1.25 var(--display); margin-bottom: 13px; }
.quote-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.form-field { display: grid; align-content: start; gap: 6px; font-weight: 650; font-size: .92rem; }
.form-field--wide { grid-column: 1 / -1; }
.form-field :is(input, select, textarea), .quote-upload {
  display: block; width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px;
  color: var(--ink); border: 1px solid #78878d; background: white; border-radius: 10px;
  font-weight: 400;
}
.form-field :is(input, select, textarea):focus-visible, .quote-check input:focus-visible, .quote-upload:focus-visible {
  outline: 2px solid #26916e; outline-offset: 2px;
}
.form-field textarea { resize: vertical; }
.quote-checks { display: grid; gap: 7px; }
.quote-checks > legend { font-size: .92rem; font-weight: 750; margin-bottom: 7px; }
.quote-checks-inline { display: flex; gap: 20px; }
.quote-check { display: flex; align-items: flex-start; gap: 9px; font-size: .93rem; line-height: 1.5; }
.quote-check input { margin: .2em 0 0; width: 17px; height: 17px; flex-shrink: 0; accent-color: #2c7052; }
.quote-help { margin: 0 0 9px; }
.quote-upload { padding: 7px; font-size: .88rem; background: var(--warm); }
.quote-upload::file-selector-button { border: 1px solid #ccd5d7; border-radius: 99px; background: white; color: var(--ink); padding: 7px 12px; margin-right: 8px; font: inherit; font-weight: 700; cursor: pointer; }
.quote-form .quote-files { margin: 10px 0 0; gap: 5px; }
.quote-form .quote-files li { justify-content: space-between; align-items: center; gap: 8px; overflow-wrap: anywhere; font-size: .88rem; }
.quote-remove { background: white; color: #8c3823; border: 1px solid #dfc7be; border-radius: 999px; padding: 4px 10px; white-space: nowrap; }
.quote-actions { display: grid; justify-items: start; gap: 9px; }
.quote-actions .pill:disabled { opacity: .65; cursor: wait; }
.quote-actions p, .quote-error { font-size: .92rem; }
.quote-error, .quote-actions .form-status--error { color: #8c3823; }
.quote-error { margin-top: 7px; }
@media (max-width: 900px) {
  .quote-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 690px) {
  .page-lead--quote .page-lead-grid { grid-template-columns: 1fr; }
  .page-lead--quote .page-photo { display: none; }
}
@media (max-width: 525px) {
  .quote-fields { grid-template-columns: 1fr; }
}

.contact-layout { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.contact-form, .contact-side { display: grid; gap: 22px; min-width: 0; }
.contact-side .contact-card ul { margin-bottom: 0; }
.contact-side .google-map { height: 300px; }
@media (max-width: 760px) {
  .contact-layout { grid-template-columns: 1fr; }
  .page-lead--contact .page-photo img { aspect-ratio: 2.6; }
}

.map-widget { display: grid; min-height: 300px; place-items: center; background: #edf1ee; border-radius: var(--radius); }
.map-widget .map-load { min-height: 46px; background: white; }
@media (max-width: 525px) {
  .form-field :is(input, select, textarea) { font-size: 1rem; }
}

.referral-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 4vw, 48px); }
@media (max-width: 880px) {
  .referral-groups { grid-template-columns: 1fr; }
}
