/* Homepage body refinement. Header, hero, navigation and footer are untouched. */
.hb-section { padding: 48px 20px; color: #062334; font-family: 'Plus Jakarta Sans', Inter, sans-serif; scroll-margin-top: 100px; }
.hb-section .hp-container, .hb-process .hp-container { max-width: 1200px; }
.hb-section h2 { font-family: Outfit, Inter, sans-serif; font-size: clamp(28px, 3vw, 40px); line-height: 1.12; font-weight: 800; letter-spacing: -.025em; color: #062334; }
.hb-section h3 { font-family: Outfit, Inter, sans-serif; font-weight: 750; line-height: 1.2; }
.hb-section p { font-size: 16px; line-height: 1.6; }
.hb-section .hp-eyebrow { color: #8c6000; font-size: 11px; letter-spacing: .16em; font-weight: 750; text-transform: uppercase; margin-bottom: 10px; }
.hb-section a, .hb-section summary { text-underline-offset: 4px; }
.hb-section :is(a,button,summary):focus-visible { outline: 3px solid #137eac; outline-offset: 4px; }
.hb-heading { text-align: center; margin-bottom: 24px; }
.hb-heading > p:last-child { margin-top: 8px; color: #495e73; }
.hb-coverage { background: #faf6ec; padding-bottom: 24px; }
.hb-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.hb-coverage-card { display: block; min-width: 0; border: 1px solid #dde5e8; border-radius: 16px; overflow: hidden; background: #fff; color: #062334; text-decoration: none; box-shadow: 0 4px 14px #06233408; }
.hb-card-photo { position: relative; overflow: hidden; aspect-ratio: 2.2; background: #062334; }
.hb-card-photo::after { content: ''; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent,rgba(6,35,52,.95)); pointer-events: none; }
.hb-card-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; }
.hb-home .hb-card-photo img { object-position: 50% 15%; }
.hb-motorcycle-atv .hb-card-photo img { object-position: 50% 70%; }
.hb-card-title { position: absolute; z-index: 1; inset: auto 20px 16px; display: flex; align-items: center; gap: 14px; justify-content: space-between; }
.hb-card-title h3 { color: #fff; font-size: clamp(21px,2.2vw,28px); }
.hb-card-arrow { display: grid; place-items: center; background: #ffcc33; color: #062334; border-radius: 50%; width: 40px; height: 40px; flex-shrink: 0; font-size: 23px; }
.hb-coverage-card > p { margin: 0; padding: 15px 20px 18px; color: #465d6c; }
.hb-coverage-card:hover .hb-card-arrow { background: #ffe07b; }
.hb-other { text-align: center; margin: 22px auto 0; max-width: 890px; color: #465d6c; }
.hb-other a { color: #062334; font-weight: 600; display: inline-flex; align-items: center; min-height: 44px; padding-block: 8px; }
.hb-coverage-actions { text-align: center; margin-top: 12px; }
.hb-coverage-actions p { font-size: 13px; margin-top: 10px; color: #596b77; }
.hb-gold, .hb-navy { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 48px; padding: 13px 22px; border-radius: 9px; font-weight: 750; font-size: 16px; text-decoration: none; }
.hb-gold { background: #ffcc33; color: #062334; }
.hb-gold:hover { background: #ffdc65; }
.hb-navy { background: #062334; color: #fff; }
.hb-navy:hover { background: #16465b; }
.hb-policy { background: #faf6ec; padding-top: 0; padding-bottom: 28px; }
.hb-policy-panel { display: grid; grid-template-columns: 1fr 240px; gap: 32px; align-items: center; padding: 30px 36px; background: linear-gradient(110deg,#062334,#0a3a4b); border-radius: 16px; color: white; }
.hb-policy h2 { color: white; font-size: clamp(27px,3vw,36px); }
.hb-policy p { margin: 12px 0 18px; color: #dde8ec; max-width: 650px; }
.hb-policy .hb-note { font-size: 13px; margin: 12px 0 0; }
.hb-policy-art { padding: 20px; background: #fff; border: 1px solid #dbe5e9; border-radius: 12px; text-align: center; color: #062334; }
.hb-policy-art svg { width: 36px; height: 36px; color: #a97500; margin: 0 auto 10px; }
.hb-policy-art strong, .hb-policy-art span { display: block; }
.hb-policy-art span { margin-top: 4px; font-size: 13px; color: #526778; }
.hb-agency { background: #faf6ec; padding-top: 20px; }
.hb-agency-layout { display: grid; grid-template-columns: 1.2fr 1fr; gap: 24px 48px; align-items: center; }
.hb-agency-intro { margin: 12px 0 24px; color: #465d6c; max-width: 570px; }
.hb-benefits { display: grid; gap: 18px; }
.hb-benefits > div { display: flex; align-items: flex-start; gap: 18px; }
.hb-benefits svg { width: 34px; height: 34px; min-width: 34px; color: #a16f00; margin-top: 3px; }
.hb-benefits p { margin: 0; }
.hb-benefits strong, .hb-benefits span { display: block; }
.hb-benefits strong { font-weight: 750; }
.hb-benefits span { color: #465d6c; margin-top: 3px; }
.hb-text-link { display: inline-flex; gap: 12px; align-items: center; padding: 12px 0; min-height: 44px; font-size: 16px; font-weight: 650; color: #062334; }
.hb-contact-card { background: #fff; border: 1px solid #e0e4e4; border-radius: 16px; padding: 28px; box-shadow: 0 5px 20px #06233408; }
.hb-contact-card h3 { font-size: 28px; margin: 8px 0 12px; }
.hb-contact-card address { font-style: normal; color: #465d6c; line-height: 1.6; }
.hb-phone { display: inline-flex; min-height: 44px; align-items: center; color: #062334; font-weight: 800; font-size: 27px; margin-top: 10px; text-decoration: none; }
.hb-contact-card > p:not(.hp-eyebrow) { color: #465d6c; margin: 6px 0 18px; }
.hb-contact-card .hb-navy { display: flex; width: 100%; }
.hb-contact-card .hb-text-link { margin-top: 6px; }
.hb-service-areas { grid-column: 1 / -1; border-top: 1px solid #dce2e4; }
.hb-service-areas summary, .hb-more-guides summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; min-height: 48px; font-weight: 650; padding: 12px 0; list-style: none; }
.hb-service-areas summary::-webkit-details-marker, .hb-more-guides summary::-webkit-details-marker { display: none; }
.hb-service-areas summary > span, .hb-more-guides summary > span { font-size: 24px; }
.hb-service-areas[open] summary > span, .hb-more-guides[open] summary > span { transform: rotate(45deg); }
.hb-service-areas > p { color: #465d6c; margin: 6px 0 12px; }
.hb-service-areas .hp-town-links { display: flex; flex-wrap: wrap; gap: 10px; }
.hb-service-areas .hp-town-links a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 16px; background: white; border: 1px solid #d5dfe3; border-radius: 8px; color: #062334; }
.hb-service-areas > .hb-text-link { margin-right: 24px; }
.hb-process { padding: 28px 20px 40px; background: #fff; }
.hb-process h2 { margin: 0; font-size: 29px; }
.hb-process .hp-eyebrow { display: none; }
.hb-process .example-steps { margin-top: 24px; gap: 24px; }
.hb-process .example-steps b { background: #ffcc33; color: #062334; }
.hb-process .example-steps small { font-size: 16px; }
.hb-reviews { padding-block: 38px !important; background: #062334 !important; }
.hb-reviews > div.absolute { display: none !important; }
.hb-reviews h2 { font-size: clamp(28px,3vw,36px) !important; margin-bottom: 12px !important; }
.hb-reviews > div > p { margin-bottom: 20px !important; color: #d5e1e7 !important; font-size: 16px !important; }
.hb-reviews > div > a { margin-bottom: 20px !important; padding: 12px 20px !important; }
.hb-reviews #testimonial-carousel > div { border-radius: 14px !important; padding: 22px !important; backdrop-filter: none !important; }
.hb-reviews #testimonial-carousel > div > p { font-size: 16px !important; line-height: 1.6 !important; }
.hb-reviews .mt-10 { margin-top: 20px !important; }
.hb-tools { background: #e8f0f3; padding: 42px 20px; }
.hb-tools .hp-container { max-width: 1200px; }
.hb-tools .ace-heading { margin-bottom: 20px; }
.hb-tools .ace-heading h2 { color: #062334; font-size: clamp(28px,3vw,36px); }
.hb-tools .ace-expand > summary { background: white; color: #062334; border: 1px solid #ccdce4; }
.hb-tools .ace-layout { border-radius: 16px; }
.hb-tools .ace-result { background: #062334; }
.hb-tools .ace-title p, .hb-tools .ace-result > p:not(.ace-eyebrow), .hb-tools .ace-fields label, .hb-tools .ace-help, .hb-tools .ace-method { font-size: 16px; }
.hb-tools .ace-help summary, .hb-tools .ace-method summary { min-height: 44px; }
.hb-tools .hp-tool-links { margin-top: 20px; padding: 14px 18px; }
.hb-tools .hp-tool-links a { min-height: 44px; font-size: 16px; }
.hb-guides { background: #faf6ec; padding-bottom: 20px; }
.hb-guides h2 { font-size: clamp(27px,3vw,34px); margin-bottom: 22px; }
.hb-guide-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.hb-guide-grid > a { display: flex; align-items: center; gap: 16px; padding: 20px; background: white; color: #062334; border: 1px solid #dbe3e6; border-radius: 12px; text-decoration: none; box-shadow: 0 3px 12px #06233406; }
.hb-guide-grid svg { width: 30px; height: 30px; flex-shrink: 0; color: #996900; }
.hb-guide-grid strong, .hb-guide-grid small { display: block; font-size: 16px; line-height: 1.4; }
.hb-guide-grid small { color: #465d6c; margin-top: 5px; }
.hb-guide-grid > a > span:last-child { margin-left: auto; }
.hb-more-guides { margin-top: 14px; }
.hb-more-guides > div { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 24px; }
.hb-more-guides a { min-height: 44px; display: flex; align-items: center; padding: 10px 0; color: #062334; }
#questions { background: #faf6ec; padding-top: 16px; padding-bottom: 40px; }
#questions .hp-heading { margin-bottom: 22px; }
#questions h2 { color: #062334; font-size: clamp(28px,3vw,34px); }
#questions details { border-radius: 10px; }
#questions summary, #questions details p { font-size: 16px; }
.hb-blog { padding-block: 40px !important; }
.hb-blog h2 { font-size: clamp(28px,3vw,34px) !important; }
.hb-blog .max-w-7xl { max-width: 1240px !important; }
.hb-blog .mb-8 { margin-bottom: 24px !important; }
.hb-blog #blog-preview-grid { max-width: 1200px !important; gap: 20px !important; }
.hb-blog #blog-preview-grid h3, .hb-blog #blog-preview-grid p { font-size: 16px !important; }
.hb-blog .mt-10 { margin-top: 24px !important; }
.hp-newsletter { padding-block: 32px; background: #f4f7f8; }
.hp-newsletter button { font-size: 16px !important; }
#contact { padding-block: 40px !important; }
#contact h2 { font-size: clamp(27px,3vw,34px) !important; }
.hb-final { background: linear-gradient(110deg,#062334,#14505b); color: white; padding-block: 32px; }
.hb-final-layout { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 28px; }
.hb-final h2 { color: white; font-size: clamp(28px,3vw,34px); }
.hb-final p { color: #d5e5e9; margin-top: 10px; }
.hb-final-phone { min-height: 44px; display: inline-flex; align-items: center; color: white; font-size: 20px; font-weight: 750; white-space: nowrap; }
@media(max-width:1000px) { .hb-agency-layout { gap: 24px; } .hb-guide-grid { grid-template-columns: 1fr; } .hb-final-layout { grid-template-columns: 1fr auto; } .hb-final-layout > div { grid-column: 1 / -1; } }
@media(max-width:699px) {
 .hb-section { padding: 32px 20px; }
 .hb-heading { text-align: left; margin-bottom: 20px; }
 .hb-card-grid { grid-template-columns: 1fr; gap: 16px; }
 .hb-card-photo { aspect-ratio: 2.05; }
 .hb-card-title { inset: auto 16px 13px; }
 .hb-card-title h3 { font-size: 23px; }
 .hb-card-arrow { width: 36px; height: 36px; }
 .hb-coverage-card > p { padding: 12px 16px 14px; }
 .hb-coverage-actions .hb-gold { width: 100%; }
 .hb-other { text-align: left; }
 .hb-policy { padding-top: 0; padding-bottom: 16px; }
 .hb-policy-panel { grid-template-columns: 1fr; padding: 24px 20px; gap: 0; }
 .hb-policy-art { display: none; }
 .hb-policy .hb-gold { width: 100%; }
 .hb-agency { padding-top: 12px; }
 .hb-agency-layout { grid-template-columns: 1fr; gap: 22px; }
 .hb-contact-card { padding: 22px; }
 .hb-benefits { gap: 16px; }
 .hb-benefits svg { width: 28px; min-width: 28px; }
 .hb-process { padding: 28px 20px; }
 .hb-process .example-steps { gap: 20px; }
 .hb-reviews .max-w-7xl { padding-inline: 20px !important; }
 .hb-reviews > div > a { gap: 10px !important; padding-inline: 12px !important; }
 .hb-reviews > div > a > div:last-child { font-size: 12px !important; margin-left: 0 !important; }
 .hb-tools { padding: 32px 20px; }
 .hb-tools .ace-heading { text-align: left; }
 .hb-tools .ace-input, .hb-tools .ace-result { padding: 22px 16px; }
 .hb-tools .ace-fields { grid-template-columns: 1fr; }
 .hb-tools .hp-tool-links { gap: 6px; }
 .hb-more-guides > div { grid-template-columns: 1fr; }
 #questions { padding: 12px 20px 32px; }
 .hb-blog .max-w-7xl { padding-inline: 20px !important; }
 .hb-final-layout { grid-template-columns: 1fr; gap: 18px; }
 .hb-final .hb-gold, .hb-final-phone { justify-content: center; }
}
@media(prefers-reduced-motion:reduce) { .hb-section *, .hb-blog *, .hb-reviews *, .hb-process * { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
