/* Insurance and BHP service details. The catalogues and blog are outside this scope. */
.public-refresh.service-page.service-detail-page {
    --detail-accent: #356542; --detail-tint: #edf5ed; --detail-line: #cfdfcf;
    --detail-ink: #233a32; --detail-muted: #526159; --detail-dark: #244b3e;
    background: #fff; color: var(--detail-ink);
}
.public-refresh.service-page.service-detail-page.insurance-theme-property {
    --detail-accent: #875524; --detail-tint: #faf2e6; --detail-line: #e7d7be;
}
.public-refresh.service-page.service-detail-page.insurance-theme-mobility {
    --detail-accent: #305f7d; --detail-tint: #edf4f9; --detail-line: #ccdfe9;
}
.public-refresh.service-page.service-detail-page main .gen-container { width: min(1200px, calc(100% - 64px)); margin-inline: auto; padding-inline: 0; }
.public-refresh.service-page.service-detail-page main [id] { scroll-margin-top: 120px; }
.public-refresh.service-page.service-detail-page main :is(h1,h2,h3) { color: var(--detail-ink); text-wrap: balance; }
.public-refresh.service-page.service-detail-page main h1 { font-size: clamp(2.2rem, 3.6vw, 3.5rem); line-height: 1.17; }
.public-refresh.service-page.service-detail-page main h2 { font-size: clamp(1.8rem, 2.6vw, 2.4rem); line-height: 1.25; }
.public-refresh.service-page.service-detail-page main p { color: var(--detail-muted); text-align: left; text-wrap: pretty; }
.public-refresh.service-page.service-detail-page main .gen-section { padding-block: 48px; }
.public-refresh.service-page.service-detail-page main .gen-section-subtitle { margin-bottom: 10px; color: var(--detail-accent); font-size: .76rem; letter-spacing: .07em; }
.public-refresh.service-page.service-detail-page main :is(a,summary,button,input,textarea):focus-visible { outline: 3px solid #356542; outline-offset: 4px; }
.public-refresh.service-page.service-detail-page main .btn-primary { min-height: 48px; padding: 14px 22px; border-radius: 9px; background: #82c342; border-color: #82c342; color: #172612; font-size: .94rem; line-height: 1.5; text-align: center; }
.public-refresh.service-page.service-detail-page main .btn-primary:hover { background: #96d25d; border-color: #548332; }

/* A compact introduction, with the same restrained colour code as the catalogue. */
.public-refresh.service-page.service-detail-page .insurance-hero { padding-block: 26px 30px; background: linear-gradient(115deg, var(--detail-tint), #fafbf8 76%); }
.public-refresh.service-page.service-detail-page .insurance-breadcrumb { margin-bottom: 10px; gap: 8px; color: #526159; font-size: .8rem; line-height: 1.6; }
.public-refresh.service-page.service-detail-page .insurance-breadcrumb a { display: inline-flex; align-items: center; min-height: 36px; color: #43564b; }
.public-refresh.service-page.service-detail-page .insurance-return-nav { margin-bottom: 22px; }
.public-refresh.service-page.service-detail-page .insurance-return-link { display: inline-flex; min-height: 44px; padding: 7px 12px; gap: 10px; border: 1px solid var(--detail-line); border-radius: 8px; background: #ffffffa6; box-shadow: none; color: var(--detail-accent); }
.public-refresh.service-page.service-detail-page .insurance-return-link > span:last-child { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.public-refresh.service-page.service-detail-page .insurance-return-link small { margin: 0; color: #526159; font-size: .8rem; letter-spacing: 0; text-transform: none; }
.public-refresh.service-page.service-detail-page .insurance-return-link strong { font-size: .85rem; }
.public-refresh.service-page.service-detail-page .insurance-return-arrow { width: auto; height: auto; padding: 0; background: none; color: inherit; }
.public-refresh.service-page.service-detail-page .insurance-hero-grid { grid-template-columns: minmax(0,1.35fr) minmax(0,.8fr); gap: 44px; align-items: center; }
.public-refresh.service-page.service-detail-page .insurance-eyebrow { margin-bottom: 14px; color: var(--detail-accent); font-size: .76rem; letter-spacing: .07em; }
.public-refresh.service-page.service-detail-page .insurance-hero-copy h1 { margin-bottom: 20px; }
.public-refresh.service-page.service-detail-page .insurance-hero-copy > p { max-width: 720px; margin-bottom: 0; font-size: 1.025rem; line-height: 1.85; }
.public-refresh.service-page.service-detail-page .insurance-hero-actions { flex-wrap: wrap; gap: 14px 24px; margin-top: 26px; }
.public-refresh.service-page.service-detail-page .insurance-text-link { display: inline-flex; align-items: center; min-height: 44px; color: #315b3d; font-size: .93rem; font-weight: 800; }
.public-refresh.service-page.service-detail-page .insurance-hero-panel { position: relative; margin: 0; padding: 28px; border: 1px solid #244b3e; border-top: 4px solid #8fb99a; border-radius: 18px; background: #244b3e; color: #fff; box-shadow: 0 12px 30px #244b3e10; }
.public-refresh.service-page.service-detail-page .insurance-icon-large { width: 48px; height: 48px; margin-bottom: 18px; padding: 12px; border: 0; border-radius: 12px; background: #ffffff14; color: #d0e7b8; }
.public-refresh.service-page.service-detail-page .insurance-panel-label { display: block; color: #e3f0dd; font-size: .8rem; letter-spacing: .04em; margin-bottom: 12px; }
.public-refresh.service-page.service-detail-page .insurance-check-list { margin: 0; }
.public-refresh.service-page.service-detail-page .insurance-check-list li { padding-block: 10px; border-color: #ffffff26; color: #fff; font-size: .95rem; line-height: 1.65; }
.public-refresh.service-page.service-detail-page .insurance-check-list li::before { color: #c7e4ad; }
.public-refresh.service-page.service-detail-page .public-jump-nav { gap: 8px 20px; margin-top: 28px; padding: 16px 0 0; border: 0; border-top: 1px solid var(--detail-line); background: none; }
.public-refresh.service-page.service-detail-page .public-jump-nav a { min-height: 44px; padding: 8px 0; border: 0; border-radius: 0; background: none; color: #43564b; font-size: .85rem; box-shadow: none; }
.public-refresh.service-page.service-detail-page .public-jump-nav a:hover { color: var(--detail-accent); text-decoration: underline; text-underline-offset: 5px; }

/* Benefits sit beside their introduction, instead of in another full-height section. */
.public-refresh.service-page.service-detail-page .insurance-overview-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.5fr); gap: 38px; align-items: start; }
.public-refresh.service-page.service-detail-page .insurance-overview-intro { padding-top: 6px; }
.public-refresh.service-page.service-detail-page .insurance-overview-intro p { margin-bottom: 0; line-height: 1.85; font-size: 1rem; }
.public-refresh.service-page.service-detail-page .insurance-overview-benefits { min-width: 0; padding: 26px; border: 1px solid var(--detail-line); border-top: 4px solid var(--detail-accent); border-radius: 18px; background: var(--detail-tint); }
.public-refresh.service-page.service-detail-page .insurance-section-heading { margin-bottom: 22px; max-width: 820px; text-align: left; }
.public-refresh.service-page.service-detail-page .insurance-overview-benefits .insurance-section-heading h2 { font-size: 1.65rem; margin-bottom: 0; }
.public-refresh.service-page.service-detail-page .insurance-benefit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.public-refresh.service-page.service-detail-page .insurance-benefit-card:nth-child(odd):last-child { grid-column: 1 / -1; }
.public-refresh.service-page.service-detail-page .insurance-benefit-card { min-height: 0; padding: 20px; border: 1px solid var(--detail-line); border-radius: 12px; background: #fff; box-shadow: none; transform: none; }
.public-refresh.service-page.service-detail-page .insurance-card-number { display: inline-block; margin-bottom: 14px; color: var(--detail-accent); font-size: .8rem; font-weight: 800; }
.public-refresh.service-page.service-detail-page .insurance-benefit-card h3 { margin-bottom: 10px; font-size: 1.2rem; line-height: 1.35; }
.public-refresh.service-page.service-detail-page .insurance-benefit-card p { margin: 0; font-size: .92rem; line-height: 1.75; }

/* Coverage first, then limits and the checklist for a useful conversation. */
.public-refresh.service-page.service-detail-page .insurance-scope { padding-top: 0; background: #fff; }
.public-refresh.service-page.service-detail-page .insurance-scope-grid { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 24px; align-items: stretch; }
.public-refresh.service-page.service-detail-page .insurance-scope-card { padding: 30px; border: 1px solid #d9e3d9; border-radius: 16px; background: #f8faf6; }
.public-refresh.service-page.service-detail-page .insurance-scope-card h2 { font-size: 1.8rem; margin-bottom: 16px; }
.public-refresh.service-page.service-detail-page .public-scope-note { margin-bottom: 18px; font-size: .94rem; line-height: 1.8; }
.public-refresh.service-page.service-detail-page .insurance-detail-list { margin: 0; padding: 0; }
.public-refresh.service-page.service-detail-page .insurance-detail-list li { padding-block: 12px; padding-left: 28px; border-color: #dce4da; color: #3e5147; font-size: .97rem; line-height: 1.75; }
.public-refresh.service-page.service-detail-page .insurance-detail-list li::before { top: 12px; color: #356542; }
.public-refresh.service-page.service-detail-page .insurance-scope-card-dark { background: #244b3e; border-color: #244b3e; }
.public-refresh.service-page.service-detail-page .insurance-scope-card-dark :is(h2,li) { color: #f3f8ef; }
.public-refresh.service-page.service-detail-page .insurance-scope-card-dark .gen-section-subtitle { color: #c7e4ad; }
.public-refresh.service-page.service-detail-page .insurance-scope-card-dark li { border-color: #ffffff26; }
.public-refresh.service-page.service-detail-page .insurance-scope-card-dark li::before { color: #c7e4ad; }
.public-refresh.service-page.service-detail-page .insurance-conditions { background: #faf8f3; color: #233a32; border-block: 1px solid #eee6d9; }
.public-refresh.service-page.service-detail-page .insurance-conditions-grid { grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: 40px; align-items: start; }
.public-refresh.service-page.service-detail-page .insurance-conditions-grid > div > p { color: #526159; font-size: 1rem; line-height: 1.8; }
.public-refresh.service-page.service-detail-page .insurance-conditions .gen-section-subtitle { color: #875524; }
.public-refresh.service-page.service-detail-page .insurance-detail-list-alert li { color: #514b3d; border-color: #e8dfce; }
.public-refresh.service-page.service-detail-page .insurance-detail-list-alert li::before { color: #875524; }
.public-refresh.service-page.service-detail-page .insurance-preparation-card { padding: 28px; border: 1px solid #d8e3d3; border-radius: 16px; background: #fff; color: #233a32; }
.public-refresh.service-page.service-detail-page .insurance-status-dot { width: 28px; height: 3px; margin: 0 0 8px; border-radius: 0; background: #356542; box-shadow: none; animation: none; }
.public-refresh.service-page.service-detail-page .insurance-preparation-card h3 { margin: 8px 0 16px; font-size: 1.6rem; line-height: 1.3; }
.public-refresh.service-page.service-detail-page .insurance-preparation-intro { font-size: .94rem; line-height: 1.8; }
.public-refresh.service-page.service-detail-page .service-details { margin-top: 18px; border: 1px solid #d4dfcf; border-radius: 10px; background: #f5f8f1; color: #344b3c; }
.public-refresh.service-page.service-detail-page .service-details summary { min-height: 48px; color: #344b3c; font-size: .92rem; }
.public-refresh.service-page.service-detail-page .insurance-preparation-list li { color: #435548; font-size: .94rem; }
.public-refresh.service-page.service-detail-page .insurance-preparation-list li::before { color: #356542; }
.public-refresh.service-page.service-detail-page .insurance-preparation-note { color: #526159; font-size: .88rem; }
.public-refresh.service-page.service-detail-page .insurance-consultation-cta { margin-top: 22px; padding-top: 20px; border-color: #dce4d8; }
.public-refresh.service-page.service-detail-page .insurance-consultation-cta p { color: #526159; font-size: .94rem; line-height: 1.8; }
.public-refresh.service-page.service-detail-page .insurance-consultation-cta a { display: inline-flex; align-items: center; min-height: 48px; padding: 12px 16px; border: 1px solid #c3d8c3; border-radius: 8px; background: #edf5ed; color: #315b3d; font-weight: 800; }
.public-refresh.service-page.service-detail-page .insurance-consultation-cta a:hover { background: #e2eedc; color: #315b3d; }

.public-refresh.service-page.service-detail-page .insurance-online-purchase { background: #fff; }
.public-refresh.service-page.service-detail-page .insurance-online-purchase-card { grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); gap: 30px; padding: 30px; border: 1px solid var(--detail-line); border-top: 4px solid var(--detail-accent); border-radius: 18px; background: var(--detail-tint); box-shadow: none; }
.public-refresh.service-page.service-detail-page .insurance-online-purchase-copy h2 { font-size: 2rem; line-height: 1.3; }
.public-refresh.service-page.service-detail-page .insurance-online-purchase-copy > p { max-width: none; color: #526159; font-size: .98rem; line-height: 1.85; }
.public-refresh.service-page.service-detail-page .insurance-online-purchase-actions { margin-top: 22px; }
.public-refresh.service-page.service-detail-page .insurance-online-purchase-help { padding: 24px; border: 1px solid var(--detail-line); border-radius: 12px; background: #fff; }
.public-refresh.service-page.service-detail-page .insurance-online-purchase-icon { width: 40px; height: 40px; margin-bottom: 16px; padding: 10px; border-radius: 10px; background: var(--detail-tint); color: var(--detail-accent); }
.public-refresh.service-page.service-detail-page .insurance-online-purchase-help h3 { color: #233a32; font-size: 1.3rem; }
.public-refresh.service-page.service-detail-page .insurance-online-purchase-help > p { color: #526159; font-size: .93rem; line-height: 1.75; }
.public-refresh.service-page.service-detail-page .insurance-online-purchase-contact { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; min-width: 0; }
.public-refresh.service-page.service-detail-page .insurance-online-purchase-contact a { display: block; min-width: 0; max-width: 100%; padding: 10px 12px; border-color: #dce5d8; background: #f7faf4; overflow-wrap: anywhere; }
.public-refresh.service-page.service-detail-page .insurance-online-purchase-contact span { color: #526159; }
.public-refresh.service-page.service-detail-page .insurance-online-purchase-contact strong { color: #315b3d; font-size: .94rem; overflow-wrap: anywhere; }
.public-refresh.service-page.service-detail-page .insurance-online-purchase-contact-button { padding: 12px 16px; min-height: 48px; border: 1px solid #244b3e; border-radius: 8px; background: #244b3e; color: #fff; }
.public-refresh.service-page.service-detail-page .insurance-online-purchase-contact-button:hover { background: #315d4d; color: #fff; }
.public-refresh.service-page.service-detail-page .insurance-online-purchase-copy .insurance-online-purchase-destination { font-size: .84rem; margin-bottom: 0; }

.public-refresh.service-page.service-detail-page .insurance-process { background: #244b3e; }
.public-refresh.service-page.service-detail-page .insurance-process .insurance-section-heading { max-width: 850px; margin-bottom: 26px; }
.public-refresh.service-page.service-detail-page .insurance-process .gen-section-subtitle { color: #c7e4ad; }
.public-refresh.service-page.service-detail-page .insurance-process h2 { color: #fff; }
.public-refresh.service-page.service-detail-page .insurance-process .insurance-section-heading p { color: #dbe8d8; font-size: 1rem; }
.public-refresh.service-page.service-detail-page .insurance-process-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.public-refresh.service-page.service-detail-page .insurance-process-grid li { padding: 24px; border: 1px solid #ffffff30; border-radius: 12px; background: #ffffff08; }
.public-refresh.service-page.service-detail-page .insurance-process-grid li > span { width: 34px; height: 34px; margin-bottom: 18px; border: 1px solid #8bac7b; border-radius: 50%; background: transparent; color: #deedcb; font-size: .82rem; }
.public-refresh.service-page.service-detail-page .insurance-process-grid h3 { color: #fff; font-size: 1.25rem; }
.public-refresh.service-page.service-detail-page .insurance-process-grid p { margin-bottom: 0; color: #dbe8d8; font-size: .94rem; line-height: 1.8; }
.public-refresh.service-page.service-detail-page .insurance-faq { background: #fff; }
.public-refresh.service-page.service-detail-page .insurance-faq-grid { grid-template-columns: minmax(0,.7fr) minmax(0,1.5fr); gap: 40px; align-items: start; }
.public-refresh.service-page.service-detail-page .insurance-faq-intro p { font-size: .98rem; line-height: 1.8; }
.public-refresh.service-page.service-detail-page .gen-faq-accordion { gap: 12px; }
.public-refresh.service-page.service-detail-page .gen-faq-item { border: 1px solid #d8e2d3; border-radius: 10px; background: #fafbf8; }
.public-refresh.service-page.service-detail-page .gen-faq-item summary { min-height: 52px; padding: 18px 46px 18px 20px; color: #233a32; font-size: .97rem; line-height: 1.6; }
.public-refresh.service-page.service-detail-page .gen-faq-item summary::after { color: #356542; }
.public-refresh.service-page.service-detail-page .gen-faq-content { padding: 0 20px 20px; color: #526159; font-size: .95rem; line-height: 1.8; }

/* Personal contact remains visible next to the form, including the optional email field. */
.public-refresh.service-page.service-detail-page .insurance-contact { padding-top: 12px; background: #fff; }
.public-refresh.service-page.service-detail-page .gen-contact-wrapper { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); max-width: none; gap: 0; padding: 0; overflow: hidden; border: 1px solid #cfdfcf; border-radius: 18px; background: #fff; box-shadow: none; }
.public-refresh.service-page.service-detail-page .insurance-contact-intro { padding: 34px; background: #edf5ed; }
.public-refresh.service-page.service-detail-page .gen-contact-header { max-width: none; margin: 0; text-align: left; }
.public-refresh.service-page.service-detail-page .gen-contact-header h2 { margin-bottom: 20px; font-size: 2rem; }
.public-refresh.service-page.service-detail-page .gen-contact-header p { color: #526159; font-size: .98rem; line-height: 1.85; }
.public-refresh.service-page.service-detail-page .public-contact-links { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin-top: 26px; }
.public-refresh.service-page.service-detail-page .public-contact-links a { display: inline-flex; align-items: center; min-height: 46px; max-width: 100%; padding: 10px 16px; border: 1px solid #c3d8c3; border-radius: 8px; background: #fff; color: #315b3d; font-size: .93rem; font-weight: 800; text-decoration: none; }
.public-refresh.service-page.service-detail-page .public-contact-links a:hover { border-color: #356542; background: #f7fbf2; }
.public-refresh.service-page.service-detail-page #contactForm { min-width: 0; padding: 34px; }
.public-refresh.service-page.service-detail-page .gen-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.public-refresh.service-page.service-detail-page .gen-input-group { min-width: 0; margin: 0; }
.public-refresh.service-page.service-detail-page .gen-input-group label { margin-bottom: 8px; color: #344b3c; font-size: .88rem; line-height: 1.5; }
.public-refresh.service-page.service-detail-page .gen-input { min-height: 48px; width: 100%; padding: 12px; border: 1px solid #bfcdb9; border-radius: 8px; background: #fff; color: #233a32; font-size: 1rem; line-height: 1.6; }
.public-refresh.service-page.service-detail-page .gen-input::placeholder { color: #65705f; opacity: 1; }
.public-refresh.service-page.service-detail-page .insurance-textarea { min-height: 140px; resize: vertical; }
.public-refresh.service-page.service-detail-page .gen-submit-btn { min-height: 50px; width: 100%; margin-top: 22px; padding: 14px 20px; border-radius: 8px; background: #82c342; color: #172612; font-size: .94rem; }
.public-refresh.service-page.service-detail-page .gen-submit-btn:hover { background: #96d25d; }
.public-refresh.service-page.service-detail-page .gen-contact-privacy { margin-bottom: 0; font-size: .8rem; line-height: 1.8; color: #526159; }
.public-refresh.service-page.service-detail-page .gen-contact-privacy a { color: #356542; }
.public-refresh.service-page.service-detail-page .insurance-more { padding-block: 38px; background: #f6f8f3; border-block: 1px solid #e0e7da; }
.public-refresh.service-page.service-detail-page .insurance-more-intro { gap: 28px; margin-bottom: 0; }
.public-refresh.service-page.service-detail-page .insurance-more-intro h2 { font-size: 1.8rem; }
.public-refresh.service-page.service-detail-page .insurance-more-intro p { max-width: 790px; color: #526159; font-size: .95rem; line-height: 1.8; }
.public-refresh.service-page.service-detail-page .insurance-more-details { margin-top: 24px; background: #fff; }
.public-refresh.service-page.service-detail-page .insurance-more-group-heading { margin-bottom: 18px; }
.public-refresh.service-page.service-detail-page .insurance-more-group-heading h3 { font-size: 1.45rem; }
.public-refresh.service-page.service-detail-page .insurance-more-card { padding: 20px; border: 1px solid #d5dfcf; border-radius: 12px; box-shadow: none; }
.public-refresh.service-page.service-detail-page .insurance-more-icon { width: 38px; height: 38px; padding: 8px; background: #edf5ed; color: #356542; }
.public-refresh.service-page.service-detail-page .insurance-more-card-copy strong { color: #233a32; }
.public-refresh.service-page.service-detail-page .insurance-more-card-copy > span { color: #526159; }
.public-refresh.service-page.service-detail-page .insurance-more-card-cta { color: #356542; }
.public-refresh.service-page.service-detail-page .service-related-reading { padding-block: 38px; }
.public-refresh.service-page.service-detail-page .service-related-reading .insurance-section-heading h2 { font-size: 1.8rem; }
.public-refresh.service-page.service-detail-page .insurance-related-card { padding: 22px; border-radius: 12px; }
.public-refresh.service-page.service-detail-page .insurance-related-card strong span { color: #356542; }
.public-refresh.service-page.service-detail-page .insurance-disclaimer { padding-block: 24px; background: #fff; border-top: 1px solid #e0e7da; }
.public-refresh.service-page.service-detail-page .insurance-disclaimer p { color: #5d6858; font-size: .8rem; line-height: 1.8; }

/* The purchase route keeps its established product order and tracked destinations. */
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-shell { width: min(1200px,calc(100% - 64px)); }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-hero { padding-block: 28px 38px; background: linear-gradient(115deg,#edf5ed,#fafbf8 76%); }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-hero::after { display: none; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-breadcrumbs { margin-bottom: 28px; font-size: .82rem; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-hero-grid { gap: 44px; grid-template-columns: minmax(0,1.3fr) minmax(0,.8fr); }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-title { font-size: clamp(2.2rem,3.6vw,3.5rem); line-height: 1.17; letter-spacing: -.025em; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-kicker { margin-bottom: 14px; color: #356542; letter-spacing: .07em; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-kicker::before { width: 24px; height: 2px; border-radius: 0; background: currentColor; box-shadow: none; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-lead { font-size: 1.025rem; line-height: 1.85; color: #526159; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-help-card { padding: 28px; border: 1px solid #244b3e; border-radius: 18px; background: #244b3e; box-shadow: none; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-help-card h2 { color: #fff; font-size: 1.55rem; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-help-card p { color: #dbe8d8; font-size: .94rem; line-height: 1.8; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-help-icon { color: #c7e4ad; background: #ffffff14; box-shadow: none; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-phone { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px 16px; border: 1px solid #d4e5c3; border-radius: 9px; background: #e4f1d7; color: #244b3e; font-size: 1.2rem; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-catalog { padding-block: 42px; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-section-head { margin-bottom: 26px; gap: 32px; align-items: start; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-section-title { font-size: clamp(1.8rem,2.6vw,2.4rem); line-height: 1.25; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-grid { gap: 18px; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-card { --card-accent:#356542; --card-tint:#edf5ed; --card-line:#cfdfcf; padding: 26px; border: 1px solid var(--card-line); border-left: 4px solid var(--card-accent); border-radius: 14px; background: #fff; box-shadow: none; }
.public-refresh.purchase-page.insurance-purchase-refresh :is(.purchase-card-dom-i-mieszkanie,.purchase-card-dla-psa) { --card-accent:#875524; --card-tint:#faf2e6; --card-line:#e7d7be; }
.public-refresh.purchase-page.insurance-purchase-refresh :is(.purchase-card-komunikacyjne,.purchase-card-turystyczne,.purchase-card-assistance,.purchase-card-rezygnacja-z-podrozy) { --card-accent:#305f7d; --card-tint:#edf4f9; --card-line:#ccdfe9; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-card:hover { border-color: var(--card-accent); box-shadow: 0 7px 20px #233a320d; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-card :is(.purchase-card-icon,.purchase-card-arrow) { background: var(--card-tint); color: var(--card-accent); border-color: var(--card-line); }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-card-eyebrow { color: var(--card-accent); }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-card h3 { color: #233a32; font-size: 1.45rem; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-card p { color: #526159; line-height: 1.8; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-external-note { color: #53644e; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-other-insurance { padding: 28px; border: 1px solid #cfdfcf; border-radius: 14px; background: #edf5ed; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-process { padding-block: 42px; background: #244b3e; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-process .purchase-kicker { color: #c7e4ad; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-process :is(h2,h3) { color: #fff; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-step { border: 1px solid #ffffff30; border-radius: 12px; background: #ffffff08; padding: 24px; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-step p { color: #dbe8d8; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-step-number { border: 1px solid #8bac7b; background: transparent; color: #deedcb; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-contact { padding-block: 42px; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-contact-card { padding: 30px; border: 1px solid #cfdfcf; border-radius: 16px; background: #edf5ed; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-contact-card h2 { color: #233a32; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-contact-card p { color: #526159; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-button { min-height: 48px; border-radius: 9px; font-size: .94rem; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-button-primary { background: #82c342; color: #172612; border-color: #82c342; }
.public-refresh.purchase-page.insurance-purchase-refresh .purchase-button-secondary { background: #fff; color: #315b3d; border-color: #cfdfcf; }
.public-refresh.purchase-page.insurance-purchase-refresh main :is(a,button):focus-visible { outline: 3px solid #356542; outline-offset: 4px; }

/* The explainer uses the same palette without changing its approved narrative. */
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-shell { width: min(1200px,calc(100% - 64px)); }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-hero { gap: 40px; padding-bottom: 30px; }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-main h1 { font-size: clamp(2.2rem,3.6vw,3.5rem); line-height: 1.17; }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-hero-note { padding: 30px; background: #244b3e; border-color: #244b3e; border-radius: 18px; }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-hero-note .purpose-kicker { color: #c7e4ad; }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-hero-note .purpose-note-title { color: #fff; }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-hero-note li { color: #dbe8d8; }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-hero-note li::marker { color: #c7e4ad; }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-section { margin-top: 44px; }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-section-heading { margin-bottom: 24px; }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-steps { gap: 18px; }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-steps li { padding: 24px; border: 1px solid #cfdfcf; border-radius: 12px; background: #edf5ed; }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-panel { padding: 28px; border-color: #cfdfcf; border-radius: 16px; }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-panel-warm { background: #faf2e6; border-color: #e7d7be; }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-risk { padding: 28px; border-color: #e7d7be; border-top: 4px solid #875524; border-radius: 16px; background: #faf7f0; }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-risk:last-child { border-color: #ccdfe9; border-top-color: #305f7d; background: #edf4f9; }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-risk-featured { border-color: #cfdfcf; border-top-color: #356542; background: #edf5ed; gap: 30px; }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-risk-label { color: #435f4b; }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-terms { gap: 14px; }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-terms > div { padding: 22px; border-radius: 12px; background: #fff; border-color: #d8e2d3; }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-offers { gap: 18px; }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-offers > article { --offer-accent:#356542; --offer-tint:#edf5ed; --offer-line:#cfdfcf; padding: 26px; border: 1px solid var(--offer-line); border-top: 4px solid var(--offer-accent); border-radius: 14px; background: var(--offer-tint); }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-offers > .purpose-tone-property { --offer-accent:#875524; --offer-tint:#faf2e6; --offer-line:#e7d7be; }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-offers > .purpose-tone-mobility { --offer-accent:#305f7d; --offer-tint:#edf4f9; --offer-line:#ccdfe9; }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-offers h3 { color: var(--offer-accent); }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-group { margin-top: 44px; padding: 30px; border-color: #ccdfe9; background: #edf4f9; }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-group-options article { padding: 24px; border-color: #ccdfe9; }
.public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-contact { margin-top: 44px; padding: 34px; background: #244b3e; }

/* BHP service and accident guide variants share the same contact and page rhythm. */
.public-refresh.service-page.service-detail-page.bhp-service-page main > .public-jump-nav { display: block; width: 100%; margin: 0; padding: 0; border-top: 0; border-bottom: 1px solid #dce5d7; border-radius: 0; background: #fff; }
.public-refresh.service-page.service-detail-page.bhp-service-page main > .public-jump-nav > .gen-container { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 22px; padding-block: 10px; }
.public-refresh.service-page.service-detail-page .bhp-service-experience-note { gap: 12px; margin-top: 24px; padding: 18px; border: 1px solid #cfdfcf; border-radius: 12px; background: #edf5ed; }
.public-refresh.service-page.service-detail-page .bhp-service-experience-note > span { color: #356542; background: #e4eedc; }
.public-refresh.service-page.service-detail-page .bhp-service-experience-note p { color: #43584a; font-size: .92rem; line-height: 1.75; }
.public-refresh.service-page.service-detail-page .accident-guide-index { padding-top: 0; background: #fff; }
.public-refresh.service-page.service-detail-page .accident-guide-index-heading { max-width: 850px; }
.public-refresh.service-page.service-detail-page .accident-guide-index-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.public-refresh.service-page.service-detail-page .accident-guide-index-card { padding: 24px; border: 1px solid #ccdfe9; border-top: 3px solid #305f7d; border-radius: 14px; background: #edf4f9; box-shadow: none; }
.public-refresh.service-page.service-detail-page .accident-guide-index-card h3 { margin-block: 14px; font-size: 1.3rem; }
.public-refresh.service-page.service-detail-page .accident-guide-index-card p { font-size: .94rem; line-height: 1.8; }
.public-refresh.service-page.service-detail-page .accident-guide-index-card :is(strong,.accident-guide-index-label,.accident-guide-index-number) { color: #305f7d; }
.public-refresh.service-page.service-detail-page .bhp-service-modes { padding-top: 0; background: #fff; }
.public-refresh.service-page.service-detail-page .bhp-service-modes > .gen-container { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.5fr); gap: 32px; align-items: start; }
.public-refresh.service-page.service-detail-page .bhp-service-mode-heading { margin: 0; }
.public-refresh.service-page.service-detail-page .bhp-service-mode-heading p { line-height: 1.8; font-size: .98rem; }
.public-refresh.service-page.service-detail-page .bhp-service-mode-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.public-refresh.service-page.service-detail-page .bhp-service-mode-card { padding: 24px; border: 1px solid #cfdfcf; border-top: 4px solid #356542; border-radius: 14px; background: #f5f9f1; }
.public-refresh.service-page.service-detail-page .bhp-service-mode-card-featured { border-color: #ccdfe9; border-top-color: #305f7d; background: #edf4f9; }
.public-refresh.service-page.service-detail-page .bhp-service-mode-card > span { margin-bottom: 16px; color: #356542; }
.public-refresh.service-page.service-detail-page .bhp-service-mode-card h3 { color: #233a32; font-size: 1.3rem; }
.public-refresh.service-page.service-detail-page .bhp-service-mode-card p { color: #526159; font-size: .94rem; line-height: 1.8; }
.public-refresh.service-page.service-detail-page .insurance-process-grid:has(> li:nth-child(4)) { grid-template-columns: repeat(4,minmax(0,1fr)); }
.public-refresh.service-page.service-detail-page .public-preparation { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; align-items: stretch; }
.public-refresh.service-page.service-detail-page .public-preparation > article { padding: 28px; border: 1px solid #cfdfcf; border-radius: 16px; background: #fff; }
.public-refresh.service-page.service-detail-page .public-preparation > article:last-child { background: #edf5ed; }
.public-refresh.service-page.service-detail-page .public-preparation h2 { font-size: 1.8rem; }
.public-refresh.service-page.service-detail-page .public-preparation p { color: #526159; font-size: .98rem; line-height: 1.85; }
.public-refresh.service-page.service-detail-page .public-preparation .btn { margin-top: 18px; }
.public-refresh.service-page.service-detail-page .bhp-legal-single { display: block; }
.public-refresh.service-page.service-detail-page .bhp-legal-single > div { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.5fr); gap: 0 40px; }
.public-refresh.service-page.service-detail-page .bhp-legal-single :is(.gen-section-subtitle,h2,p) { grid-column: 1; }
.public-refresh.service-page.service-detail-page .bhp-legal-single .bhp-legal-list { grid-column: 2; grid-row: 1 / span 4; }
.public-refresh.service-page.service-detail-page .bhp-more-grid { margin-top: 24px; gap: 18px; }
.public-refresh.service-page.service-detail-page .public-form-note { color: #526159; font-size: .86rem; line-height: 1.8; }
.public-refresh.service-page.service-detail-page .public-offer-note { margin-top: 22px; color: #526159; font-size: .9rem; line-height: 1.8; }
.public-refresh.service-page.service-detail-page.accident-guide-page .insurance-intro { padding-bottom: 28px; }
.public-refresh.service-page.service-detail-page.accident-guide-page .insurance-intro .insurance-narrow { max-width: 960px; text-align: left; }
.public-refresh.service-page.service-detail-page .insurance-intro p { font-size: 1rem; line-height: 1.85; }
.public-refresh.service-page.service-detail-page .accident-guide-criteria { padding-top: 24px; background: #f4f8ef; }
.public-refresh.service-page.service-detail-page .accident-guide-criteria-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr)); gap: 18px; }
.public-refresh.service-page.service-detail-page .accident-guide-card { padding: 24px; border: 1px solid #cfdfcf; border-radius: 14px; background: #fff; box-shadow: none; }
.public-refresh.service-page.service-detail-page .accident-guide-card > span { color: #356542; background: #edf5ed; }
.public-refresh.service-page.service-detail-page .accident-guide-card h3 { color: #233a32; font-size: 1.3rem; line-height: 1.35; }
.public-refresh.service-page.service-detail-page .accident-guide-card p { color: #526159; font-size: .95rem; line-height: 1.8; }
.public-refresh.service-page.service-detail-page .accident-guide-compare { background: #fff; }
.public-refresh.service-page.service-detail-page .accident-guide-compare-grid { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 24px; }
.public-refresh.service-page.service-detail-page .accident-guide-panel { padding: 30px; border: 1px solid #d8e2d3; border-radius: 16px; background: #fafbf7; }
.public-refresh.service-page.service-detail-page .accident-guide-panel h2 { font-size: 1.8rem; }
.public-refresh.service-page.service-detail-page .accident-guide-panel p { color: #526159; font-size: .97rem; line-height: 1.85; }
.public-refresh.service-page.service-detail-page .accident-guide-definition-list article { padding-block: 16px; border-color: #d9e3d2; }
.public-refresh.service-page.service-detail-page .accident-guide-definition-list h3 { font-size: 1.2rem; }
.public-refresh.service-page.service-detail-page .accident-guide-panel-dark { background: #244b3e; border-color: #244b3e; }
.public-refresh.service-page.service-detail-page .accident-guide-panel-dark h2 { color: #fff; }
.public-refresh.service-page.service-detail-page .accident-guide-panel-dark :is(p,li) { color: #dbe8d8; }
.public-refresh.service-page.service-detail-page .accident-guide-panel-dark .gen-section-subtitle { color: #c7e4ad; }
.public-refresh.service-page.service-detail-page .accident-guide-document-list li { padding-block: 12px; border: 1px solid #ffffff26; background: #ffffff08; font-size: .96rem; line-height: 1.8; }
.public-refresh.service-page.service-detail-page .accident-guide-document-list li::before { color: #c7e4ad; }
.public-refresh.service-page.service-detail-page .accident-guide-examples { background: #fff; }
.public-refresh.service-page.service-detail-page .accident-guide-examples-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.public-refresh.service-page.service-detail-page .accident-guide-examples .accident-guide-card { background: #edf4f9; border-color: #ccdfe9; border-top: 3px solid #305f7d; }
.public-refresh.service-page.service-detail-page .accident-guide-examples .accident-guide-card > span { color: #305f7d; background: #fff; }
.public-refresh.service-page.service-detail-page .accident-guide-legal { background: #faf8f3; border-block: 1px solid #eee6d9; }
.public-refresh.service-page.service-detail-page .accident-guide-legal .gen-section-subtitle { color: #875524; }
.public-refresh.service-page.service-detail-page .accident-guide-legal-grid { gap: 14px; }
.public-refresh.service-page.service-detail-page .accident-guide-legal-card { padding: 22px; border: 1px solid #e7d7be; border-left: 3px solid #875524; border-radius: 10px; background: #fff; color: #514b3d; font-size: .97rem; line-height: 1.85; }
.public-refresh.service-page.service-detail-page .accident-guide-related { background: #f6f8f3; border-block: 1px solid #e0e7da; }
.public-refresh.service-page.service-detail-page .accident-guide-related-card { padding: 24px; border: 1px solid #d5dfcf; border-radius: 12px; background: #fff; }
.public-refresh.service-page.service-detail-page .accident-guide-related-card :is(span,strong) { color: #356542; }
.public-refresh.service-page.service-detail-page .accident-guide-related-card h3 { font-size: 1.3rem; }
.public-refresh.service-page.service-detail-page .accident-guide-related-card p { font-size: .94rem; line-height: 1.8; }

@media (max-width: 1050px) {
    .public-refresh.service-page.service-detail-page .bhp-service-modes > .gen-container { grid-template-columns: 1fr; gap: 24px; }
    .public-refresh.service-page.service-detail-page .insurance-process-grid:has(> li:nth-child(4)) { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .public-refresh.service-page.service-detail-page .insurance-hero-grid { gap: 28px; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); }
    .public-refresh.service-page.service-detail-page .insurance-overview-grid { grid-template-columns: 1fr; gap: 24px; }
    .public-refresh.service-page.service-detail-page .insurance-overview-intro { max-width: 850px; }
    .public-refresh.service-page.service-detail-page .insurance-conditions-grid { gap: 26px; }
    .public-refresh.service-page.service-detail-page .insurance-faq-grid { gap: 28px; }
    .public-refresh.service-page.service-detail-page :is(.insurance-contact-intro,#contactForm) { padding: 26px; }
    .public-refresh.purchase-page.insurance-purchase-refresh .purchase-hero-grid { gap: 28px; }
}
@media (max-width: 800px) {
    .public-refresh.service-page.service-detail-page .public-preparation,
    .public-refresh.service-page.service-detail-page .accident-guide-compare-grid,
    .public-refresh.service-page.service-detail-page .insurance-process-grid:has(> li:nth-child(4)) { grid-template-columns: 1fr; }
    .public-refresh.service-page.service-detail-page .bhp-legal-single > div { display: block; }
    .public-refresh.service-page.service-detail-page main .gen-container { width: calc(100% - 40px); }
    .public-refresh.service-page.service-detail-page main .gen-section { padding-block: 34px; }
    .public-refresh.service-page.service-detail-page .insurance-hero-grid,
    .public-refresh.service-page.service-detail-page .insurance-scope-grid,
    .public-refresh.service-page.service-detail-page .insurance-conditions-grid,
    .public-refresh.service-page.service-detail-page .insurance-online-purchase-card,
    .public-refresh.service-page.service-detail-page .insurance-faq-grid,
    .public-refresh.service-page.service-detail-page .gen-contact-wrapper { grid-template-columns: minmax(0,1fr); }
    .public-refresh.service-page.service-detail-page .insurance-hero-panel { max-width: none; }
    .public-refresh.service-page.service-detail-page .insurance-process-grid { grid-template-columns: minmax(0,1fr); }
    .public-refresh.service-page.service-detail-page .insurance-process-grid li { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 0 18px; }
    .public-refresh.service-page.service-detail-page .insurance-process-grid li > span { grid-row: 1 / 3; margin: 0; }
    .public-refresh.service-page.service-detail-page .insurance-process-grid p { grid-column: 2; }
    .public-refresh.service-page.service-detail-page .insurance-more-intro { display: block; }
    .public-refresh.service-page.service-detail-page .insurance-more-actions { margin-top: 20px; }
    .public-refresh.purchase-page.insurance-purchase-refresh .purchase-shell,
    .public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-shell { width: calc(100% - 40px); }
    .public-refresh.purchase-page.insurance-purchase-refresh .purchase-hero-grid { grid-template-columns: 1fr; }
    .public-refresh.purchase-page.insurance-purchase-refresh .purchase-help-card { max-width: none; }
    .public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-hero { grid-template-columns: 1fr; gap: 26px; }
    .public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-risk-featured { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .public-refresh.service-page.service-detail-page.bhp-service-page main > .public-jump-nav > .gen-container { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 16px; }
    .public-refresh.service-page.service-detail-page .bhp-service-mode-grid,
    .public-refresh.service-page.service-detail-page .accident-guide-index-grid,
    .public-refresh.service-page.service-detail-page .accident-guide-examples-grid { grid-template-columns: 1fr; }
    .public-refresh.service-page.service-detail-page :is(.public-preparation > article,.accident-guide-panel,.accident-guide-card,.bhp-service-mode-card,.accident-guide-index-card) { padding: 22px; }
    .public-refresh.service-page.service-detail-page .public-contact-links a { overflow-wrap: anywhere; }
    .public-refresh.service-page.service-detail-page main .gen-container { width: calc(100% - 36px); padding-inline: 0 !important; }
    .public-refresh.service-page.service-detail-page .insurance-hero { padding-block: 18px 24px; }
    .public-refresh.service-page.service-detail-page main h1 { font-size: clamp(2rem,8vw,2.5rem); }
    .public-refresh.service-page.service-detail-page main h2 { font-size: 1.8rem; }
    .public-refresh.service-page.service-detail-page .insurance-hero-actions { flex-direction: column; align-items: stretch; gap: 10px; }
    .public-refresh.service-page.service-detail-page .insurance-hero-actions .insurance-text-link { justify-content: center; }
    .public-refresh.service-page.service-detail-page .insurance-hero-actions .btn { width: 100% !important; margin: 0 !important; padding: 14px 18px !important; font-size: .94rem !important; }
    .public-refresh.service-page.service-detail-page .public-jump-nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 16px; }
    .public-refresh.service-page.service-detail-page .public-jump-nav a { border-bottom: 1px solid var(--detail-line); }
    .public-refresh.service-page.service-detail-page .insurance-benefit-grid { grid-template-columns: 1fr; }
    .public-refresh.service-page.service-detail-page .insurance-overview-benefits { padding: 18px; }
    .public-refresh.service-page.service-detail-page :is(.insurance-hero-panel,.insurance-scope-card,.insurance-preparation-card,.insurance-online-purchase-card,.insurance-online-purchase-help,.insurance-contact-intro,#contactForm) { padding: 22px; }
    .public-refresh.service-page.service-detail-page .insurance-benefit-card { padding: 18px; }
    .public-refresh.service-page.service-detail-page .insurance-scope { padding-top: 0; }
    .public-refresh.service-page.service-detail-page .insurance-online-purchase-card { gap: 22px; }
    .public-refresh.service-page.service-detail-page .insurance-online-purchase-help { padding: 18px; }
    .public-refresh.service-page.service-detail-page .insurance-online-purchase-button { width: 100%; }
    .public-refresh.service-page.service-detail-page .insurance-process-grid li { padding: 20px; gap: 0 14px; }
    .public-refresh.service-page.service-detail-page .gen-form-grid { grid-template-columns: minmax(0,1fr); }
    .public-refresh.service-page.service-detail-page .gen-input-group-full { grid-column: 1; }
    .public-refresh.service-page.service-detail-page .insurance-online-purchase-contact { grid-template-columns: 1fr; }
    .public-refresh.service-page.service-detail-page .public-contact-links { align-items: stretch; }
    .public-refresh.service-page.service-detail-page .public-contact-links a { justify-content: center; text-align: center; }
    .public-refresh.purchase-page.insurance-purchase-refresh .purchase-shell,
    .public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-shell { width: calc(100% - 36px); }
    .public-refresh.purchase-page.insurance-purchase-refresh :is(.purchase-hero,.purchase-catalog,.purchase-process,.purchase-contact) { padding-block: 28px; }
    .public-refresh.purchase-page.insurance-purchase-refresh .purchase-title,
    .public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-main h1 { font-size: clamp(2rem,8vw,2.5rem); }
    .public-refresh.purchase-page.insurance-purchase-refresh .purchase-section-head { gap: 14px; }
    .public-refresh.purchase-page.insurance-purchase-refresh :is(.purchase-help-card,.purchase-card,.purchase-other-insurance,.purchase-contact-card) { padding: 22px; }
    .public-refresh.purchase-page.insurance-purchase-refresh .purchase-card { gap: 14px; }
    .public-refresh.purchase-page.insurance-purchase-refresh .purchase-card h3 { font-size: 1.3rem; }
    .public-refresh.page-insurance-purpose.insurance-purpose-refresh :is(.purpose-panel,.purpose-hero-note,.purpose-risk,.purpose-group,.purpose-contact) { padding: 22px; }
    .public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-section { margin-top: 32px; }
    .public-refresh.page-insurance-purpose.insurance-purpose-refresh .purpose-offers > article { padding: 22px; }
}
