@import url("responsive-foundation.css?v=step34");

:root {
  --navy: #151942;
  --blue: #2a347d;
  --gold: #ffc928;
  --gold-deep: #e6ad16;
  --orange: #f26d21;
  --orange-deep: #c94e12;
  --cream: #fffaf0;
  --ink: #1a1e43;
  --muted: #626987;
  --line: #ded7ba;
  --white: #ffffff;
  --green: #087a56;
  --shadow: 0 18px 45px rgba(21, 25, 66, 0.15);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--cream);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.5;
}
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { cursor: pointer; }
.shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }

.top-note { color: #fff2bd; background: var(--navy); font-size: 13px; }
.top-note .shell { display: flex; justify-content: space-between; gap: 18px; padding: 8px 0; }
.top-note a { color: var(--gold); font-weight: 800; }

.site-header { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid rgba(21, 25, 66, 0.12); background: rgba(255, 250, 240, 0.96); backdrop-filter: blur(14px); }
.nav-wrap { min-height: 110px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.portal-brand { display: flex; align-items: center; gap: 0; min-width: 256px; }
.logo-frame { width: 256px; height: 106px; display: grid; place-items: center; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; isolation: isolate; }
.logo-frame img { display: block; width: auto; height: auto; max-width: 256px; max-height: 106px; object-fit: contain; filter: none; }
.brand-copy { display: none; }
.brand-copy strong { color: var(--navy); font-size: 15px; }
.brand-copy small { margin-top: 3px; color: var(--gold-deep); font-size: 12px; font-weight: 900; }
.main-nav { display: flex; align-items: center; gap: 15px; font-size: 14px; font-weight: 800; }
.main-nav > a:not(.customer-access-login):not(.customer-access-create):not(.rto-portal-link):not(.office-crm-login) { color: #434968; }
.main-nav > a:not(.customer-access-login):not(.customer-access-create):not(.rto-portal-link):not(.office-crm-login):hover { color: var(--blue); }
.customer-access-login, .customer-access-create { padding: 10px 13px; border-radius: 8px; white-space: nowrap; }
.customer-access-login { color: #ffffff; background: var(--orange); }
.customer-access-create { border: 1px solid var(--gold-deep); color: var(--navy); background: #fff8d9; }
.rto-portal-link { padding: 9px 11px; border: 1px solid var(--gold-deep); border-radius: 8px; color: var(--navy); background: #fff3bd; box-shadow: inset 0 -2px 0 rgba(205, 143, 0, .12); white-space: nowrap; }
.rto-portal-link:hover { color: #fff; border-color: var(--orange); background: var(--orange); }
.office-crm-login { padding: 9px 11px; border: 1px solid var(--navy); border-radius: 8px; color: #fff; background: var(--navy); white-space: nowrap; }
.office-crm-login:hover { color: var(--navy); border-color: var(--gold-deep); background: var(--gold); }
.menu-button { display: none; border: 0; background: transparent; color: var(--navy); font-size: 28px; }

.hero-section { position: relative; overflow: hidden; min-height: 574px; color: var(--white); background: linear-gradient(113deg, #151942 0%, #151942 62%, #f5bd23 62%, #ffda56 100%); }
.hero-pattern { position: absolute; inset: 0; opacity: 0.45; background: repeating-linear-gradient(45deg, transparent 0 44px, rgba(255, 255, 255, 0.07) 44px 88px); pointer-events: none; }
.hero-contact-flash { position: relative; overflow: hidden; display: grid; gap: 5px; width: fit-content; max-width: 100%; margin: 0 0 18px; padding: 12px 15px; border: 1px solid rgba(255, 226, 119, .88); border-radius: 12px; color: #151942; background: linear-gradient(112deg, #ffe677 0%, #ffc928 48%, #ffb41f 100%); box-shadow: 0 9px 25px rgba(0, 0, 0, .2), inset 0 1px 0 rgba(255, 255, 255, .75); }
.hero-contact-flash::before { position: absolute; top: -70%; left: -45%; width: 34%; height: 240%; content: ""; background: rgba(255, 255, 255, .46); transform: rotate(22deg); animation: flash-shine 3.4s ease-in-out infinite; pointer-events: none; }
.flash-label, .hero-contact-flash p, .flash-contact-actions { position: relative; z-index: 1; }.flash-label { color: #9a3c08; font-size: 11px; font-weight: 900; letter-spacing: .13em; }.hero-contact-flash p { margin: 0; color: #151942; font-size: 15px; font-weight: 900; line-height: 1.35; }.flash-contact-actions { display: flex; flex-wrap: wrap; gap: 10px; perspective: 700px; }.flash-contact-actions a { position: relative; display: inline-flex; align-items: center; gap: 7px; min-height: 37px; padding: 0 12px; overflow: hidden; border: 1px solid rgba(255, 230, 137, .56); border-bottom: 4px solid #080c32; border-radius: 10px; color: #ffffff; background: linear-gradient(145deg, #34428f 0%, #151942 54%, #080b2e 100%); box-shadow: 0 6px 0 #070a29, 0 11px 16px rgba(9, 11, 41, .34), inset 0 1px 0 rgba(255, 255, 255, .22); font-size: 14px; font-weight: 900; letter-spacing: .02em; text-shadow: 0 1px 1px rgba(0, 0, 0, .35); white-space: nowrap; transform: translateZ(0) rotateX(3deg); transition: transform 180ms ease, box-shadow 180ms ease, border-bottom-width 180ms ease; }.flash-contact-actions a::before { position: absolute; top: 0; right: 7%; left: 7%; height: 45%; content: ""; border-radius: 0 0 50% 50%; background: linear-gradient(180deg, rgba(255, 255, 255, .23), transparent); pointer-events: none; }.flash-contact-actions a > span { position: relative; z-index: 1; display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; color: #151942; background: #ffda56; box-shadow: inset 0 1px 1px rgba(255,255,255,.75), 0 2px 0 #b77d04; font-size: 14px; }.flash-contact-actions a:hover { color: #ffffff; border-bottom-width: 2px; box-shadow: 0 3px 0 #070a29, 0 8px 12px rgba(9, 11, 41, .33), inset 0 1px 0 rgba(255, 255, 255, .28); transform: translateY(3px) translateZ(9px) rotateX(0); }.flash-contact-actions a:focus-visible { outline: 3px solid #ffffff; outline-offset: 3px; }.flash-contact-actions .flash-whatsapp-button > span { color: #ffffff; background: #1aa868; box-shadow: inset 0 1px 1px rgba(255,255,255,.65), 0 2px 0 #0b653e; }
@keyframes flash-shine { 0%, 34% { transform: translateX(-30%) rotate(22deg); opacity: 0; } 44% { opacity: .8; } 63% { transform: translateX(490%) rotate(22deg); opacity: 0; } 100% { transform: translateX(490%) rotate(22deg); opacity: 0; } }
@keyframes contact-flash-pulse { 0%, 100% { box-shadow: 0 9px 25px rgba(0, 0, 0, .2), 0 0 0 0 rgba(255, 201, 40, .28), inset 0 1px 0 rgba(255, 255, 255, .75); } 50% { box-shadow: 0 13px 31px rgba(0, 0, 0, .3), 0 0 0 8px rgba(255, 201, 40, 0), inset 0 1px 0 rgba(255, 255, 255, .85); } }
@media (prefers-reduced-motion: no-preference) { .hero-contact-flash { animation: contact-flash-pulse 2.2s ease-in-out infinite; } }
.hero-pattern::after { content: ""; position: absolute; width: 520px; height: 520px; border: 85px solid rgba(255, 201, 40, 0.15); border-radius: 50%; left: -220px; top: 210px; }
.hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.72fr); gap: 56px; align-items: center; min-height: 574px; padding: 68px 0; }
.eyebrow { margin: 0 0 10px; color: var(--gold-deep); font-size: 12px; font-weight: 900; letter-spacing: 0.14em; }
.hero-copy h1 { max-width: 680px; margin: 0; font-size: clamp(38px, 5vw, 60px); line-height: 1.06; letter-spacing: -0.045em; }
.hero-copy h1 span { color: var(--gold); }
.hero-text { max-width: 620px; margin: 24px 0; color: #dce4ff; font-size: 17px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.button { display: inline-flex; min-height: 47px; align-items: center; justify-content: center; padding: 12px 18px; border: 1px solid transparent; border-radius: 8px; font-size: 14px; font-weight: 900; transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 9px 20px rgba(21, 25, 66, 0.2); }
.button-gold { color: #ffffff; background: linear-gradient(135deg, var(--gold-deep), var(--orange)); }
.button-outline { border-color: rgba(255, 255, 255, 0.5); color: var(--white); }
.button-navy { color: var(--white); background: var(--navy); }
.button-light { border-color: #ffffff; color: var(--navy); background: #ffffff; }
.hero-points { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 30px; color: #fff0b5; font-size: 13px; font-weight: 800; }

.quote-card { overflow: hidden; border: 3px solid var(--navy); border-radius: 16px; color: var(--ink); background: var(--white); box-shadow: 0 23px 44px rgba(21, 25, 66, 0.3); }
.quote-card-head { padding: 22px 25px 18px; color: var(--white); background: var(--navy); }
.quote-card-head p { margin: 0; color: var(--gold); font-size: 11px; font-weight: 900; letter-spacing: 0.14em; }
.quote-card-head h2 { margin: 4px 0; font-size: 26px; }
.quote-card-head span { color: #d9e2ff; font-size: 13px; }
.quote-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 21px 25px 12px; }
.quote-form label { display: grid; gap: 6px; color: #3c4260; font-size: 12px; font-weight: 800; }
.quote-form input, .quote-form select { width: 100%; min-width: 0; border: 1px solid #cfd3e0; border-radius: 7px; padding: 11px 10px; color: var(--ink); background: #ffffff; outline: none; }
.quote-form input:focus, .quote-form select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(42, 52, 125, 0.13); }
.full-field, .full-button { grid-column: 1 / -1; }
.form-note { margin: 0; padding: 0 25px 20px; color: var(--muted); font-size: 11px; }
.quote-success { margin: 0 25px 20px; padding: 12px; border-radius: 8px; color: #075c42; background: #e6f8ef; font-size: 13px; font-weight: 700; }
.quote-success.quote-error { color: #9a1f1f; background: #fff0f0; }
.quote-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.trust-strip { border-bottom: 1px solid #e1d8b5; background: var(--white); }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-grid > div { display: grid; gap: 3px; padding: 20px 25px; border-right: 1px solid #ece4c8; }
.trust-grid > div:first-child { padding-left: 0; }
.trust-grid > div:last-child { border-right: 0; }
.trust-grid strong { color: var(--navy); font-size: 14px; }
.trust-grid span { color: var(--muted); font-size: 12px; }

.section { padding: 84px 0; }
.section-heading { max-width: 690px; }
.center-heading { margin: 0 auto 34px; text-align: center; }
.section-heading h2, .why-copy h2, .claims-box h2, .contact-grid h2 { margin: 0; color: var(--navy); font-size: clamp(29px, 4vw, 43px); line-height: 1.12; letter-spacing: -0.035em; }
.section-heading > p:last-child { color: var(--muted); }
.products-section { background: linear-gradient(180deg, #fffaf0, #fff3c4); }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.product-card { min-height: 246px; display: flex; flex-direction: column; align-items: flex-start; padding: 22px; border: 1px solid #e4dcbf; border-radius: 13px; background: #ffffff; box-shadow: 0 10px 22px rgba(30, 33, 66, 0.06); transition: transform 160ms ease, box-shadow 160ms ease; }
.product-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.product-featured { color: var(--white); border-color: var(--navy); background: linear-gradient(145deg, var(--navy), var(--blue)); }
.product-icon { width: 44px; height: 44px; display: grid; place-items: center; margin-bottom: 20px; border-radius: 10px; color: var(--navy); background: var(--gold); font-size: 25px; font-weight: 900; }
.product-card > p { margin: 0; color: var(--gold-deep); font-size: 11px; font-weight: 900; letter-spacing: 0.13em; }
.product-card h3 { margin: 5px 0 8px; font-size: 21px; line-height: 1.1; }
.product-card span { color: var(--muted); font-size: 13px; }
.product-featured span { color: #dae3ff; }
.product-card button { margin-top: auto; padding: 12px 0 0; border: 0; color: var(--orange-deep); background: transparent; font-weight: 900; text-align: left; }
.product-featured button { color: var(--gold); }
.motor-guide-dialog, .health-guide-dialog, .property-guide-dialog, .engineering-guide-dialog { width: min(100% - 28px, 1020px); max-height: min(88vh, 920px); margin: auto; padding: 0; border: 0; border-radius: 20px; color: var(--ink); background: transparent; box-shadow: 0 26px 80px rgba(9, 13, 43, .42); }
.motor-guide-dialog::backdrop, .health-guide-dialog::backdrop, .property-guide-dialog::backdrop, .engineering-guide-dialog::backdrop { background: rgba(10, 16, 52, .72); backdrop-filter: blur(4px); }
.motor-guide-content, .health-guide-content, .property-guide-content, .engineering-guide-content { position: relative; max-height: min(88vh, 920px); overflow: auto; border: 3px solid var(--gold); border-radius: 20px; background: #fffdf8; }
.motor-guide-header { padding: 36px 58px 32px; color: #fff; background: linear-gradient(128deg, var(--navy) 0%, var(--blue) 70%, var(--gold) 70%); }
.motor-guide-header .eyebrow { color: var(--gold); }.motor-guide-header h2 { max-width: 720px; margin: 4px 0 10px; color: #fff; font-size: clamp(30px, 5vw, 46px); line-height: 1.08; letter-spacing: -.035em; }.motor-guide-header > p:last-child { max-width: 670px; margin: 0; color: #e8ecff; }
.motor-guide-close { position: absolute; z-index: 2; top: 14px; right: 16px; width: 38px; height: 38px; border: 0; border-radius: 50%; color: var(--navy); background: #fff; font-size: 30px; line-height: 1; cursor: pointer; }.motor-guide-close:hover { color: #fff; background: var(--orange); }
.motor-guide-section { padding: 26px 34px 0; }.motor-guide-section h3 { margin: 0; color: var(--navy); font-size: 24px; }.motor-guide-section h3 small, .motor-guide-section h4 small { display: block; margin-top: 2px; color: var(--orange-deep); font-size: .78em; }.motor-guide-lead { margin: 7px 0 16px; color: var(--muted); }
.motor-type-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }.motor-type-card { position: relative; min-height: 270px; padding: 21px 20px 18px; border: 1px solid #d9dff3; border-radius: 14px; background: #f6f8ff; }.motor-type-card.comprehensive-card { border-color: #eed28a; background: #fff8df; }.motor-type-card h4, .motor-detail-grid h4, .motor-terms-grid h4 { margin: 0; color: var(--navy); font-size: 18px; }.motor-type-card p { margin: 11px 0 0; color: #4f5676; font-size: 14px; line-height: 1.5; }.motor-badge { display: grid; width: 32px; height: 32px; place-items: center; margin-bottom: 13px; border-radius: 8px; color: #fff; background: var(--navy); font-size: 12px; font-weight: 900; }.comprehensive-card .motor-badge { color: var(--navy); background: var(--gold); }
.motor-detail-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }.motor-detail-grid article { padding: 17px 14px; border: 1px solid #d8e0e8; border-radius: 12px; background: #fff; }.motor-detail-grid article > span { display: grid; width: 34px; height: 34px; place-items: center; margin-bottom: 10px; border-radius: 8px; background: #fff0bc; font-size: 18px; }.motor-detail-grid h4 { font-size: 15px; }.motor-detail-grid p { margin: 8px 0 0; color: #5d647e; font-size: 13px; line-height: 1.45; }.exclusion-section .motor-detail-grid article { border-color: #efc8c2; background: #fff9f8; }.exclusion-section .motor-detail-grid article > span { color: #b43e26; background: #ffe2dc; }
.motor-terms-section { padding-bottom: 26px; }.motor-terms-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }.motor-terms-grid article { padding: 16px; border-top: 4px solid var(--gold); border-radius: 10px; background: #f5f6fa; }.motor-terms-grid h4 { font-size: 16px; }.motor-terms-grid p { margin: 9px 0 0; color: #5d647e; font-size: 13px; line-height: 1.45; }
.motor-guide-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 34px 28px; border-top: 1px solid #e8dfbf; background: #fff4c7; }.motor-guide-footer p { max-width: 620px; margin: 0; color: #535a74; font-size: 13px; }.motor-guide-footer .button { flex: 0 0 auto; }
.health-guide-header { padding: 36px 58px 32px; color: #fff; background: linear-gradient(128deg, var(--navy) 0%, #2d4795 70%, var(--gold) 70%); }.health-guide-header .eyebrow { color: var(--gold); }.health-guide-header h2 { max-width: 720px; margin: 4px 0 10px; color: #fff; font-size: clamp(30px, 5vw, 46px); line-height: 1.08; letter-spacing: -.035em; }.health-guide-header > p:last-child { max-width: 700px; margin: 0; color: #e8ecff; }.health-guide-close { position: absolute; z-index: 2; top: 14px; right: 16px; width: 38px; height: 38px; border: 0; border-radius: 50%; color: var(--navy); background: #fff; font-size: 30px; line-height: 1; cursor: pointer; }.health-guide-close:hover { color: #fff; background: var(--orange); }
.health-guide-section { padding: 26px 34px 0; }.health-guide-section h3 { margin: 0 0 14px; color: var(--navy); font-size: 24px; }.health-guide-section h3 small, .health-guide-section h4 small, .health-guide-section strong small { display: block; margin-top: 2px; color: var(--orange-deep); font-size: .78em; }.health-explainer-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }.health-explainer-card { position: relative; padding: 22px 20px 17px; border: 1px solid #cfd8f5; border-radius: 14px; background: #f5f7ff; }.health-explainer-card.accident-card { border-color: #ead18d; background: #fff8df; }.health-icon { display: grid; width: 38px; height: 38px; place-items: center; margin-bottom: 10px; border-radius: 9px; color: var(--navy); background: var(--gold); font-size: 23px; font-weight: 900; }.health-explainer-card h3 { margin-bottom: 8px; font-size: 20px; }.health-explainer-card p { margin: 9px 0 0; color: #535b78; font-size: 14px; line-height: 1.5; }
.health-detail-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }.health-detail-grid article { padding: 17px 14px; border: 1px solid #d8e0e8; border-radius: 12px; background: #fff; }.health-detail-grid article > span { display: grid; width: 34px; height: 34px; place-items: center; margin-bottom: 10px; border-radius: 8px; background: #fff0bc; font-size: 18px; }.health-detail-grid h4 { margin: 0; color: var(--navy); font-size: 15px; }.health-detail-grid p { margin: 8px 0 0; color: #5d647e; font-size: 13px; line-height: 1.45; }.accident-coverage-grid article { border-color: #d7d8f6; background: #f8f9ff; }.accident-coverage-grid article > span { background: #e8e9ff; }.health-exclusion-section .health-detail-grid article { border-color: #efc8c2; background: #fff9f8; }.health-exclusion-section .health-detail-grid article > span { color: #b43e26; background: #ffe2dc; }
.health-compare-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; overflow: hidden; border: 1px solid #d9dfeb; border-radius: 13px; background: #d9dfeb; }.health-compare-grid article { min-height: 96px; padding: 15px 16px; background: #fff; }.health-compare-grid .compare-head { min-height: 106px; color: #fff; background: var(--navy); }.health-compare-grid .health-compare-accident { color: var(--navy); background: var(--gold); }.health-compare-grid h4 { margin: 0; font-size: 18px; }.health-compare-grid p { margin: 8px 0 0; color: #59617d; font-size: 13px; line-height: 1.45; }.health-compare-grid .compare-head p { color: inherit; }.health-compare-grid strong { color: var(--navy); font-size: 14px; }
.health-checklist-section { padding-bottom: 26px; }.health-checklist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 0; padding: 0; list-style: none; }.health-checklist li { position: relative; min-height: 70px; padding: 14px 14px 14px 40px; border-radius: 10px; color: #535b78; background: #f5f6fa; font-size: 13px; line-height: 1.45; }.health-checklist li::before { position: absolute; top: 15px; left: 14px; content: '✓'; display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; color: var(--navy); background: var(--gold); font-size: 12px; font-weight: 900; }.health-checklist strong { color: var(--navy); }.health-guide-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 34px 28px; border-top: 1px solid #e8dfbf; background: #fff4c7; }.health-guide-footer p { max-width: 620px; margin: 0; color: #535a74; font-size: 13px; }.health-guide-footer .button { flex: 0 0 auto; }
.property-guide-header { padding: 36px 58px 32px; color: #fff; background: linear-gradient(128deg, var(--navy) 0%, #3d4a99 70%, var(--gold) 70%); }.property-guide-header .eyebrow { color: var(--gold); }.property-guide-header h2 { max-width: 720px; margin: 4px 0 10px; color: #fff; font-size: clamp(30px, 5vw, 46px); line-height: 1.08; letter-spacing: -.035em; }.property-guide-header > p:last-child { max-width: 700px; margin: 0; color: #e8ecff; }.property-guide-close { position: absolute; z-index: 2; top: 14px; right: 16px; width: 38px; height: 38px; border: 0; border-radius: 50%; color: var(--navy); background: #fff; font-size: 30px; line-height: 1; cursor: pointer; }.property-guide-close:hover { color: #fff; background: var(--orange); }
.property-guide-section { padding: 26px 34px 0; }.property-guide-section h3 { margin: 0 0 14px; color: var(--navy); font-size: 24px; }.property-guide-section h3 small, .property-guide-section h4 small { display: block; margin-top: 2px; color: var(--orange-deep); font-size: .78em; }.property-intro-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }.property-intro-card { padding: 20px 17px 16px; border: 1px solid #d8e0e8; border-radius: 13px; background: #fff; }.property-intro-card.home-card { border-color: #e5d29a; background: #fff9e7; }.property-intro-card.shop-card { border-color: #d1d8f2; background: #f5f7ff; }.property-icon { display: grid; width: 38px; height: 38px; place-items: center; margin-bottom: 10px; border-radius: 9px; background: var(--gold); font-size: 21px; }.property-intro-card h3 { margin-bottom: 5px; font-size: 19px; }.property-intro-card p { margin: 9px 0 0; color: #535b78; font-size: 13px; line-height: 1.45; }.property-intro-card .policy-note { margin: 0; color: var(--orange-deep); font-size: 11px; font-weight: 900; }
.property-detail-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }.property-detail-grid article { padding: 17px 14px; border: 1px solid #d8e0e8; border-radius: 12px; background: #fff; }.property-detail-grid article > span { display: grid; width: 34px; height: 34px; place-items: center; margin-bottom: 10px; border-radius: 8px; background: #fff0bc; font-size: 18px; }.property-detail-grid h4 { margin: 0; color: var(--navy); font-size: 15px; }.property-detail-grid p { margin: 8px 0 0; color: #5d647e; font-size: 13px; line-height: 1.45; }.home-coverage-grid article { border-color: #ecdaa3; background: #fffaf0; }.home-coverage-grid article > span { background: #fff0bd; }.shop-coverage-grid article { border-color: #d7d8f6; background: #f8f9ff; }.shop-coverage-grid article > span { background: #e8e9ff; }.property-warning { margin: 14px 0 0; padding: 12px 15px; border-left: 4px solid var(--orange); border-radius: 8px; color: #6a4b20; background: #fff3db; font-size: 13px; }.property-exclusion-section .property-detail-grid article { border-color: #efc8c2; background: #fff9f8; }.property-exclusion-section .property-detail-grid article > span { color: #b43e26; background: #ffe2dc; }
.property-compare-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; overflow: hidden; border: 1px solid #d9dfeb; border-radius: 13px; background: #d9dfeb; }.property-compare-grid article { min-height: 125px; padding: 15px 16px; background: #fff; }.property-compare-grid .property-compare-head { min-height: 100px; color: #fff; background: var(--navy); }.property-compare-grid .home-compare { color: var(--navy); background: var(--gold); }.property-compare-grid .shop-compare { background: var(--blue); }.property-compare-grid h4 { margin: 0; font-size: 18px; }.property-compare-grid p { margin: 7px 0 10px; color: #59617d; font-size: 13px; line-height: 1.45; }.property-compare-grid .property-compare-head p { color: inherit; }.property-compare-grid strong, .property-compare-grid b { color: var(--navy); font-size: 14px; }
.property-checklist-section { padding-bottom: 26px; }.property-checklist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 0; padding: 0; list-style: none; }.property-checklist li { position: relative; min-height: 70px; padding: 14px 14px 14px 40px; border-radius: 10px; color: #535b78; background: #f5f6fa; font-size: 13px; line-height: 1.45; }.property-checklist li::before { position: absolute; top: 15px; left: 14px; content: '✓'; display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; color: var(--navy); background: var(--gold); font-size: 12px; font-weight: 900; }.property-checklist strong { color: var(--navy); }.property-guide-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 34px 28px; border-top: 1px solid #e8dfbf; background: #fff4c7; }.property-guide-footer p { max-width: 620px; margin: 0; color: #535a74; font-size: 13px; }.property-guide-footer .button { flex: 0 0 auto; }
.engineering-guide-header { padding: 36px 58px 32px; color: #fff; background: linear-gradient(128deg, var(--navy) 0%, #3b4a9b 70%, var(--gold) 70%); }.engineering-guide-header .eyebrow { color: var(--gold); }.engineering-guide-header h2 { max-width: 760px; margin: 4px 0 10px; color: #fff; font-size: clamp(30px, 5vw, 46px); line-height: 1.08; letter-spacing: -.035em; }.engineering-guide-header > p:last-child { max-width: 750px; margin: 0; color: #e8ecff; }.engineering-guide-close { position: absolute; z-index: 2; top: 14px; right: 16px; width: 38px; height: 38px; border: 0; border-radius: 50%; color: var(--navy); background: #fff; font-size: 30px; line-height: 1; cursor: pointer; }.engineering-guide-close:hover { color: #fff; background: var(--orange); }
.engineering-guide-section { padding: 26px 34px 0; }.engineering-guide-section h3 { margin: 0 0 14px; color: var(--navy); font-size: 24px; }.engineering-guide-section h3 small, .engineering-guide-section h4 small { display: block; margin-top: 2px; color: var(--orange-deep); font-size: .78em; }.engineering-guide-lead { margin: -4px 0 16px; color: var(--muted); }.engineering-intro-card { display: grid; grid-template-columns: 54px 1fr; gap: 16px; padding: 22px; border: 1px solid #d5dbf1; border-radius: 14px; background: linear-gradient(120deg, #f4f6ff, #fff8e0); }.engineering-main-icon { display: grid; width: 50px; height: 50px; place-items: center; border-radius: 12px; color: var(--navy); background: var(--gold); font-size: 27px; }.engineering-intro-card h3 { margin-bottom: 7px; font-size: 21px; }.engineering-intro-card p { margin: 8px 0 0; color: #535b78; font-size: 14px; line-height: 1.5; }
.engineering-policy-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }.engineering-policy-grid article { padding: 16px 13px; border: 1px solid #d8e0e8; border-radius: 12px; background: #fff; }.engineering-policy-grid article:nth-child(2n) { background: #f7f8ff; }.engineering-badge { display: inline-grid; min-width: 38px; min-height: 25px; place-items: center; margin-bottom: 10px; padding: 3px 7px; border-radius: 7px; color: var(--navy); background: var(--gold); font-size: 11px; font-weight: 900; }.engineering-policy-grid h4 { margin: 0; color: var(--navy); font-size: 15px; line-height: 1.25; }.engineering-policy-grid p { margin: 8px 0 0; color: #5d647e; font-size: 12px; line-height: 1.45; }
.engineering-detail-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }.engineering-detail-grid article { padding: 17px 14px; border: 1px solid #d8e0e8; border-radius: 12px; background: #fff; }.engineering-detail-grid article > span { display: grid; width: 34px; height: 34px; place-items: center; margin-bottom: 10px; border-radius: 8px; background: #fff0bc; font-size: 18px; }.engineering-detail-grid h4 { margin: 0; color: var(--navy); font-size: 15px; }.engineering-detail-grid p { margin: 8px 0 0; color: #5d647e; font-size: 13px; line-height: 1.45; }.engineering-exclusion-section .engineering-detail-grid article { border-color: #efc8c2; background: #fff9f8; }.engineering-exclusion-section .engineering-detail-grid article > span { color: #b43e26; background: #ffe2dc; }
.engineering-summary-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }.engineering-summary-grid article { padding: 15px 13px; border-top: 4px solid var(--gold); border-radius: 10px; background: #f5f6fa; }.engineering-summary-grid strong { color: var(--orange-deep); font-size: 13px; letter-spacing: .07em; }.engineering-summary-grid h4 { margin: 6px 0 0; color: var(--navy); font-size: 15px; }.engineering-summary-grid p { margin: 7px 0 0; color: #5d647e; font-size: 12px; line-height: 1.45; }
.engineering-checklist-section { padding-bottom: 26px; }.engineering-checklist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 0; padding: 0; list-style: none; }.engineering-checklist li { position: relative; min-height: 70px; padding: 14px 14px 14px 40px; border-radius: 10px; color: #535b78; background: #f5f6fa; font-size: 13px; line-height: 1.45; }.engineering-checklist li::before { position: absolute; top: 15px; left: 14px; content: '✓'; display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; color: var(--navy); background: var(--gold); font-size: 12px; font-weight: 900; }.engineering-checklist strong { color: var(--navy); }.engineering-guide-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 34px 28px; border-top: 1px solid #e8dfbf; background: #fff4c7; }.engineering-guide-footer p { max-width: 620px; margin: 0; color: #535a74; font-size: 13px; }.engineering-guide-footer .button { flex: 0 0 auto; }
.travel-guide-dialog { width: min(100% - 28px, 1050px); max-height: min(88vh, 940px); margin: auto; padding: 0; border: 0; border-radius: 20px; color: var(--ink); background: transparent; box-shadow: 0 26px 80px rgba(9, 13, 43, .42); }.travel-guide-dialog::backdrop { background: rgba(10, 16, 52, .72); backdrop-filter: blur(4px); }.travel-guide-content { position: relative; max-height: min(88vh, 940px); overflow: auto; border: 3px solid var(--gold); border-radius: 20px; background: #fffdf8; }.travel-guide-header { padding: 36px 58px 32px; color: #fff; background: linear-gradient(128deg, var(--navy) 0%, #27488c 70%, var(--gold) 70%); }.travel-guide-header .eyebrow { color: var(--gold); }.travel-guide-header h2 { max-width: 760px; margin: 4px 0 10px; color: #fff; font-size: clamp(30px, 5vw, 46px); line-height: 1.08; letter-spacing: -.035em; }.travel-guide-header > p:last-child { max-width: 750px; margin: 0; color: #e8ecff; }.travel-guide-close { position: absolute; z-index: 2; top: 14px; right: 16px; width: 38px; height: 38px; border: 0; border-radius: 50%; color: var(--navy); background: #fff; font-size: 30px; line-height: 1; cursor: pointer; }.travel-guide-close:hover { color: #fff; background: var(--orange); }
.travel-guide-section { padding: 26px 34px 0; }.travel-guide-section h3 { margin: 0 0 14px; color: var(--navy); font-size: 24px; }.travel-guide-section h3 small, .travel-guide-section h4 small { display: block; margin-top: 2px; color: var(--orange-deep); font-size: .78em; }.travel-intro-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; }.travel-intro-grid article { padding: 20px; border: 1px solid #d4dcf3; border-radius: 14px; background: linear-gradient(120deg, #f4f7ff, #fff8e1); }.travel-main-icon { display: grid; width: 48px; height: 48px; place-items: center; margin-bottom: 12px; border-radius: 12px; color: var(--navy); background: var(--gold); font-size: 25px; }.travel-intro-grid h3 { margin-bottom: 7px; font-size: 20px; }.travel-intro-grid p { margin: 8px 0 0; color: #535b78; font-size: 14px; line-height: 1.5; }
.travel-detail-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }.travel-detail-grid article { padding: 17px 14px; border: 1px solid #d8e0e8; border-radius: 12px; background: #fff; }.travel-detail-grid article > span { display: grid; width: 34px; height: 34px; place-items: center; margin-bottom: 10px; border-radius: 8px; background: #fff0bc; font-size: 18px; }.travel-detail-grid h4 { margin: 0; color: var(--navy); font-size: 15px; }.travel-detail-grid p { margin: 8px 0 0; color: #5d647e; font-size: 13px; line-height: 1.45; }.travel-exclusion-section .travel-detail-grid article { border-color: #efc8c2; background: #fff9f8; }.travel-exclusion-section .travel-detail-grid article > span { color: #b43e26; background: #ffe2dc; }
.travel-policy-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }.travel-policy-grid article { padding: 17px 15px; border: 1px solid #d8e0e8; border-radius: 12px; background: #fff; }.travel-policy-grid article:nth-child(2n) { background: #f7f8ff; }.travel-badge { display: inline-grid; min-width: 47px; min-height: 25px; place-items: center; margin-bottom: 10px; padding: 3px 7px; border-radius: 7px; color: var(--navy); background: var(--gold); font-size: 10px; font-weight: 900; }.travel-policy-grid h4 { margin: 0; color: var(--navy); font-size: 16px; }.travel-policy-grid p { margin: 8px 0 0; color: #5d647e; font-size: 13px; line-height: 1.45; }
.travel-compare-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; overflow: hidden; border: 1px solid #d9dfeb; border-radius: 13px; background: #d9dfeb; }.travel-compare-grid article { min-height: 155px; padding: 17px 16px; background: #fff; }.travel-compare-grid .travel-compare-head { min-height: 130px; color: #fff; background: var(--navy); }.travel-compare-travel { background: #fff8d8 !important; }.travel-compare-transit { background: #f2f5ff !important; }.travel-compare-grid h4 { margin: 0; color: var(--navy); font-size: 18px; }.travel-compare-grid .travel-compare-head h4 { color: #fff; }.travel-compare-grid p { margin: 8px 0 0; color: #59617d; font-size: 13px; line-height: 1.45; }.travel-compare-grid .travel-compare-head p { color: inherit; }.travel-compare-grid strong { color: var(--navy); }
.travel-checklist-section { padding-bottom: 26px; }.travel-checklist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 0; padding: 0; list-style: none; }.travel-checklist li { position: relative; min-height: 70px; padding: 14px 14px 14px 40px; border-radius: 10px; color: #535b78; background: #f5f6fa; font-size: 13px; line-height: 1.45; }.travel-checklist li::before { position: absolute; top: 15px; left: 14px; content: '✓'; display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; color: var(--navy); background: var(--gold); font-size: 12px; font-weight: 900; }.travel-checklist strong { color: var(--navy); }.travel-guide-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 34px 28px; border-top: 1px solid #e8dfbf; background: #fff4c7; }.travel-guide-footer p { max-width: 620px; margin: 0; color: #535a74; font-size: 13px; }.travel-guide-footer .button { flex: 0 0 auto; }
.commercial-guide-dialog { width: min(100% - 28px, 1050px); max-height: min(88vh, 940px); margin: auto; padding: 0; border: 0; border-radius: 20px; color: var(--ink); background: transparent; box-shadow: 0 26px 80px rgba(9, 13, 43, .42); }.commercial-guide-dialog::backdrop { background: rgba(10, 16, 52, .72); backdrop-filter: blur(4px); }.commercial-guide-content { position: relative; max-height: min(88vh, 940px); overflow: auto; border: 3px solid var(--gold); border-radius: 20px; background: #fffdf8; }.commercial-guide-header { padding: 36px 58px 32px; color: #fff; background: linear-gradient(128deg, var(--navy) 0%, #2e3e86 70%, var(--gold) 70%); }.commercial-guide-header .eyebrow { color: var(--gold); }.commercial-guide-header h2 { max-width: 760px; margin: 4px 0 10px; color: #fff; font-size: clamp(30px, 5vw, 46px); line-height: 1.08; letter-spacing: -.035em; }.commercial-guide-header > p:last-child { max-width: 750px; margin: 0; color: #e8ecff; }.commercial-guide-close { position: absolute; z-index: 2; top: 14px; right: 16px; width: 38px; height: 38px; border: 0; border-radius: 50%; color: var(--navy); background: #fff; font-size: 30px; line-height: 1; cursor: pointer; }.commercial-guide-close:hover { color: #fff; background: var(--orange); }
.commercial-guide-section { padding: 26px 34px 0; }.commercial-guide-section h3 { margin: 0 0 14px; color: var(--navy); font-size: 24px; }.commercial-guide-section h3 small, .commercial-guide-section h4 small { display: block; margin-top: 2px; color: var(--orange-deep); font-size: .78em; }.commercial-guide-lead { margin: -4px 0 16px; color: var(--muted); }.commercial-intro-card { display: grid; grid-template-columns: 54px 1fr; gap: 16px; padding: 22px; border: 1px solid #d5dbf1; border-radius: 14px; background: linear-gradient(120deg, #f4f6ff, #fff8e0); }.commercial-main-icon { display: grid; width: 50px; height: 50px; place-items: center; border-radius: 12px; color: var(--navy); background: var(--gold); font-size: 27px; }.commercial-intro-card h3 { margin-bottom: 7px; font-size: 21px; }.commercial-intro-card p { margin: 8px 0 0; color: #535b78; font-size: 14px; line-height: 1.5; }
.commercial-policy-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }.commercial-policy-grid article, .commercial-liability-grid article { padding: 17px 14px; border: 1px solid #d8e0e8; border-radius: 12px; background: #fff; }.commercial-policy-grid article:nth-child(2n), .commercial-liability-grid article:nth-child(2n) { background: #f7f8ff; }.commercial-badge { display: inline-grid; min-width: 44px; min-height: 25px; place-items: center; margin-bottom: 10px; padding: 3px 7px; border-radius: 7px; color: var(--navy); background: var(--gold); font-size: 10px; font-weight: 900; }.commercial-policy-grid h4, .commercial-liability-grid h4 { margin: 0; color: var(--navy); font-size: 15px; line-height: 1.25; }.commercial-policy-grid p, .commercial-liability-grid p { margin: 8px 0 0; color: #5d647e; font-size: 13px; line-height: 1.45; }.commercial-liability-callout { display: grid; grid-template-columns: 44px 1fr; gap: 14px; padding: 18px; border-left: 4px solid var(--gold-deep); border-radius: 11px; background: #fff4ce; }.commercial-liability-callout > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 10px; color: var(--navy); background: var(--gold); font-size: 21px; }.commercial-liability-callout p { margin: 0 0 8px; color: #535b78; font-size: 14px; line-height: 1.5; }.commercial-liability-callout p:last-child { margin-bottom: 0; }.commercial-liability-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 14px; }
.commercial-detail-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }.commercial-detail-grid article { padding: 17px 14px; border: 1px solid #d8e0e8; border-radius: 12px; background: #fff; }.commercial-detail-grid article > span { display: grid; width: 34px; height: 34px; place-items: center; margin-bottom: 10px; border-radius: 8px; background: #fff0bc; font-size: 18px; }.commercial-detail-grid h4 { margin: 0; color: var(--navy); font-size: 15px; }.commercial-detail-grid p { margin: 8px 0 0; color: #5d647e; font-size: 13px; line-height: 1.45; }.commercial-exclusion-section .commercial-detail-grid article { border-color: #efc8c2; background: #fff9f8; }.commercial-exclusion-section .commercial-detail-grid article > span { color: #b43e26; background: #ffe2dc; }
.commercial-summary-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }.commercial-summary-grid article { padding: 15px 13px; border-top: 4px solid var(--gold); border-radius: 10px; background: #f5f6fa; }.commercial-summary-grid strong { color: var(--orange-deep); font-size: 11px; letter-spacing: .06em; }.commercial-summary-grid h4 { margin: 6px 0 0; color: var(--navy); font-size: 15px; }.commercial-summary-grid p { margin: 7px 0 0; color: #5d647e; font-size: 12px; line-height: 1.45; }.commercial-checklist-section { padding-bottom: 26px; }.commercial-checklist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 0; padding: 0; list-style: none; }.commercial-checklist li { position: relative; min-height: 70px; padding: 14px 14px 14px 40px; border-radius: 10px; color: #535b78; background: #f5f6fa; font-size: 13px; line-height: 1.45; }.commercial-checklist li::before { position: absolute; top: 15px; left: 14px; content: '✓'; display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; color: var(--navy); background: var(--gold); font-size: 12px; font-weight: 900; }.commercial-checklist strong { color: var(--navy); }.commercial-guide-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 34px 28px; border-top: 1px solid #e8dfbf; background: #fff4c7; }.commercial-guide-footer p { max-width: 620px; margin: 0; color: #535a74; font-size: 13px; }.commercial-guide-footer .button { flex: 0 0 auto; }

.why-section { overflow: hidden; background: #ffffff; }
.why-grid { display: grid; grid-template-columns: minmax(350px, 0.8fr) minmax(0, 1fr); gap: 75px; align-items: center; }
.why-visual { position: relative; min-height: 390px; overflow: hidden; border-radius: 18px; background: linear-gradient(145deg, var(--navy), #3c4998); box-shadow: var(--shadow); }
.why-visual::before, .why-visual::after { content: ""; position: absolute; border-radius: 50%; }
.why-visual::before { width: 320px; height: 320px; right: -120px; top: -110px; border: 56px solid rgba(255, 201, 40, 0.75); }
.why-visual::after { width: 250px; height: 250px; left: -115px; bottom: -95px; border: 44px solid rgba(255, 255, 255, 0.1); }
.why-logo { position: absolute; z-index: 1; top: 108px; left: 50%; width: 250px; height: 145px; transform: translateX(-50%); object-fit: contain; filter: drop-shadow(0 9px 14px rgba(0, 0, 0, .22)); }
.visual-card { position: absolute; z-index: 1; display: grid; gap: 2px; padding: 12px 14px; border-radius: 9px; background: #ffffff; box-shadow: 0 12px 22px rgba(0, 0, 0, 0.18); }
.visual-card strong { color: var(--navy); font-size: 14px; }
.visual-card span { color: var(--muted); font-size: 11px; }
.card-one { left: 24px; top: 38px; }.card-two { right: 24px; bottom: 63px; }.card-three { left: 35px; bottom: 38px; }
.why-copy > p:not(.eyebrow) { color: var(--muted); font-size: 16px; }
.benefit-list { display: grid; gap: 8px; margin-top: 22px; }
.benefit-list > div { display: grid; grid-template-columns: 42px 1fr; gap: 12px; align-items: start; }
.benefit-list span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 8px; color: #ffffff; background: var(--orange); font-size: 12px; font-weight: 900; }
.benefit-list p { margin: 0; color: var(--muted); font-size: 14px; }.benefit-list strong { display: block; color: var(--navy); font-size: 15px; }

.claims-section { padding: 0 0 84px; background: #ffffff; }
.claims-box { display: flex; justify-content: space-between; gap: 35px; align-items: center; padding: 40px 46px; border-radius: 18px; color: var(--white); background: linear-gradient(125deg, var(--navy) 0%, var(--navy) 76%, var(--gold) 76%); box-shadow: var(--shadow); }
.claims-box h2 { color: var(--white); max-width: 660px; }.claims-box p:not(.eyebrow) { max-width: 680px; color: #dce4ff; }.claims-box .eyebrow { color: var(--gold); }
.claim-actions { min-width: 190px; display: grid; gap: 10px; }
.claim-phone-dialog { width: min(100% - 34px, 740px); padding: 0; border: 0; border-radius: 20px; color: var(--ink); background: transparent; box-shadow: 0 24px 70px rgba(10, 14, 44, .38); }
.claim-phone-dialog::backdrop { background: rgba(12, 18, 57, .68); backdrop-filter: blur(3px); }
.claim-phone-dialog-content { position: relative; padding: 42px 34px 36px; border: 3px solid var(--gold); border-radius: 20px; text-align: center; background: linear-gradient(145deg, #fffdf8, #fff4c9); }
.claim-phone-dialog h2 { margin: 7px 0 18px; color: var(--navy); font-size: clamp(28px, 5vw, 38px); line-height: 1.1; }
.claim-phone-dialog p:last-of-type { margin: 16px auto 23px; max-width: 420px; color: var(--muted); line-height: 1.55; }
.claim-phone-number { display: inline-block; max-width: 100%; color: var(--navy); font-size: clamp(30px, 6vw, 62px); font-weight: 900; letter-spacing: .015em; text-decoration: none; white-space: nowrap; }
.claim-phone-number:hover { color: var(--orange-deep); }
.claim-call-now { min-width: 190px; justify-content: center; }
.claim-phone-close { position: absolute; top: 10px; right: 14px; width: 34px; height: 34px; border: 0; border-radius: 50%; color: var(--navy); background: #fff; font-size: 28px; line-height: 1; cursor: pointer; }
.claim-phone-close:hover { color: #fff; background: var(--navy); }

.contact-section { background: #fff4c7; }.contact-grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 16px; align-items: stretch; }.contact-grid > div:first-child { padding: 16px 18px 0 0; }.contact-grid h2 { font-size: 34px; }.contact-grid > div:first-child > p:not(.eyebrow) { color: var(--muted); }
.contact-card { min-height: 178px; display: grid; align-content: start; gap: 7px; padding: 22px; border: 1px solid #dfd2a0; border-radius: 12px; background: #ffffff; }.contact-card span { color: var(--orange-deep); font-size: 11px; font-weight: 900; letter-spacing: 0.12em; }.contact-card a, .contact-card strong { color: var(--navy); font-size: 16px; font-weight: 900; }.contact-card p { margin: 0; color: var(--muted); font-size: 13px; }
.contact-location { color: inherit; text-decoration: none; cursor: pointer; transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease; }.contact-location:hover, .contact-location:focus-visible { transform: translateY(-4px); border-color: var(--orange); box-shadow: 0 14px 27px rgba(21, 25, 66, .16); outline: none; }.contact-location em { margin-top: 5px; color: var(--orange-deep); font-size: 12px; font-style: normal; font-weight: 900; }

.site-footer { color: #cbd5ff; background: var(--navy); }.footer-row { min-height: 100px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }.footer-row > div { display: grid; gap: 3px; }.footer-row strong { color: var(--gold); font-size: 14px; letter-spacing: 0.06em; }.footer-row span, .footer-row p { margin: 0; font-size: 12px; }

@media (max-width: 1020px) {
  .main-nav { gap: 11px; font-size: 13px; }.rto-portal-link { padding: 8px 9px; }.hero-grid { grid-template-columns: 1fr minmax(330px, 0.7fr); gap: 30px; }.product-grid { grid-template-columns: repeat(2, 1fr); }.contact-grid { grid-template-columns: repeat(3, 1fr); }.contact-grid > div:first-child { grid-column: 1 / -1; }.contact-grid > div:first-child { padding: 0; }
}

@media (max-width: 760px) {
  .shell { width: min(100% - 28px, 1180px); }.top-note .shell { align-items: flex-start; flex-direction: column; gap: 2px; }.nav-wrap { min-height: 76px; }.portal-brand { min-width: 0; }.logo-frame { width: 150px; height: 70px; }.logo-frame img { max-width: 150px; max-height: 70px; }.menu-button { display: block; }.main-nav { position: absolute; top: 76px; left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 10px 14px 16px; border-top: 1px solid #eee4bf; background: var(--cream); box-shadow: 0 12px 22px rgba(21, 25, 66, 0.13); }.main-nav.open { display: flex; }.main-nav a { padding: 12px 8px; }.customer-access-login, .customer-access-create, .rto-portal-link { text-align: center; }.hero-section { background: linear-gradient(160deg, var(--navy) 0%, var(--navy) 72%, var(--gold) 72%); }.hero-grid { grid-template-columns: 1fr; min-height: 0; gap: 36px; padding: 56px 0 64px; }.hero-copy h1 { font-size: 39px; }.hero-text { font-size: 15px; }.quote-card { width: 100%; }.trust-grid { grid-template-columns: repeat(2, 1fr); }.trust-grid > div { padding: 16px 12px; border-bottom: 1px solid #ece4c8; }.trust-grid > div:first-child { padding-left: 12px; }.trust-grid > div:nth-child(2) { border-right: 0; }.section { padding: 58px 0; }.product-grid, .why-grid, .contact-grid { grid-template-columns: 1fr; }.product-card { min-height: 220px; }.why-grid { gap: 40px; }.why-visual { min-height: 330px; }.claims-section { padding-bottom: 58px; }.claims-box { align-items: stretch; flex-direction: column; padding: 30px 24px; background: linear-gradient(155deg, var(--navy) 0%, var(--navy) 82%, var(--gold) 82%); }.claim-phone-dialog-content { padding: 38px 20px 30px; }.motor-guide-header, .health-guide-header, .property-guide-header, .engineering-guide-header { padding: 32px 24px 26px; }.motor-guide-section, .health-guide-section, .property-guide-section, .engineering-guide-section { padding: 23px 20px 0; }.motor-type-grid, .motor-terms-grid, .health-explainer-grid, .health-checklist, .property-intro-grid, .property-checklist, .engineering-checklist { grid-template-columns: 1fr; }.motor-detail-grid, .health-detail-grid, .health-compare-grid, .property-detail-grid, .property-compare-grid, .engineering-detail-grid { grid-template-columns: repeat(2, 1fr); }.engineering-policy-grid, .engineering-summary-grid { grid-template-columns: repeat(2, 1fr); }.motor-guide-footer, .health-guide-footer, .property-guide-footer, .engineering-guide-footer { align-items: stretch; flex-direction: column; padding: 21px 20px 25px; }.motor-guide-footer .button, .health-guide-footer .button, .property-guide-footer .button, .engineering-guide-footer .button { width: 100%; }.contact-grid > div:first-child { grid-column: auto; }.footer-row { align-items: flex-start; flex-direction: column; justify-content: center; padding: 20px 0; }
}

@media (max-width: 430px) {
  .hero-copy h1 { font-size: 34px; }.quote-form { grid-template-columns: 1fr; padding: 18px 18px 10px; }.quote-card-head { padding: 19px 18px 16px; }.form-note { padding: 0 18px 18px; }.quote-success { margin: 0 18px 18px; }.trust-grid { grid-template-columns: 1fr; }.trust-grid > div { border-right: 0; }.hero-points { display: grid; }.hero-actions { display: grid; }.button { width: 100%; }.motor-detail-grid, .health-detail-grid, .health-compare-grid, .property-detail-grid, .property-compare-grid, .engineering-detail-grid, .engineering-policy-grid, .engineering-summary-grid { grid-template-columns: 1fr; }.motor-guide-content, .health-guide-content, .property-guide-content, .engineering-guide-content { border-width: 2px; }.engineering-intro-card { grid-template-columns: 1fr; }.contact-grid h2 { font-size: 31px; }
}

@media (max-width: 760px) {
  .travel-guide-header { padding: 32px 24px 26px; }.travel-guide-section { padding: 23px 20px 0; }.travel-intro-grid, .travel-checklist { grid-template-columns: 1fr; }.travel-detail-grid { grid-template-columns: repeat(2, 1fr); }.travel-policy-grid, .travel-compare-grid { grid-template-columns: 1fr; }.travel-guide-footer { align-items: stretch; flex-direction: column; padding: 21px 20px 25px; }.travel-guide-footer .button { width: 100%; }
}

@media (max-width: 430px) {
  .travel-detail-grid { grid-template-columns: 1fr; }.travel-guide-content { border-width: 2px; }
}

@media (max-width: 760px) {
  .commercial-guide-header { padding: 32px 24px 26px; }.commercial-guide-section { padding: 23px 20px 0; }.commercial-intro-card, .commercial-checklist { grid-template-columns: 1fr; }.commercial-policy-grid, .commercial-liability-grid, .commercial-summary-grid { grid-template-columns: repeat(2, 1fr); }.commercial-detail-grid { grid-template-columns: repeat(2, 1fr); }.commercial-guide-footer { align-items: stretch; flex-direction: column; padding: 21px 20px 25px; }.commercial-guide-footer .button { width: 100%; }
}

@media (max-width: 430px) {
  .commercial-policy-grid, .commercial-liability-grid, .commercial-summary-grid, .commercial-detail-grid { grid-template-columns: 1fr; }.commercial-guide-content { border-width: 2px; }
}

/* Premium 3D depth and motion — intentionally CSS-only so it stays fast and works without JavaScript. */
body { background: radial-gradient(circle at 84% 8%, rgba(255, 202, 43, .18), transparent 25rem), radial-gradient(circle at 8% 62%, rgba(42, 52, 125, .08), transparent 27rem), var(--cream); }
@keyframes vis-float-card { 0%, 100% { transform: translate3d(0, 0, 0) rotateX(0); } 50% { transform: translate3d(0, -10px, 20px) rotateX(1.5deg); } }
@keyframes vis-copy-rise { 0%, 100% { transform: translate3d(0, 0, 0); } 50% { transform: translate3d(0, -5px, 16px); } }
@keyframes vis-orbit-glow { 0%, 100% { transform: translate3d(-3%, -2%, 0) scale(1); opacity: .34; } 50% { transform: translate3d(4%, 3%, 28px) scale(1.08); opacity: .58; } }
@keyframes vis-gold-pulse { 0%, 100% { filter: drop-shadow(0 4px 0 rgba(21, 25, 66, .05)); } 50% { filter: drop-shadow(0 12px 14px rgba(230, 173, 22, .36)); } }

@media (min-width: 761px) and (prefers-reduced-motion: no-preference) {
  .site-header { box-shadow: 0 10px 24px rgba(21, 25, 66, .08); transform: translateZ(32px); }
  .logo-frame img { animation: vis-gold-pulse 4.4s ease-in-out infinite; }
  .hero-section { isolation: isolate; perspective: 1400px; }
  .hero-section::before { position: absolute; z-index: 0; inset: -18%; content: ""; background: radial-gradient(circle at 74% 22%, rgba(255, 244, 189, .27), transparent 13rem), radial-gradient(circle at 32% 72%, rgba(80, 106, 216, .3), transparent 18rem); pointer-events: none; animation: vis-orbit-glow 10s ease-in-out infinite; }
  .hero-pattern { z-index: 1; transform: translateZ(12px); }
  .hero-grid { z-index: 2; transform-style: preserve-3d; }
  .hero-copy { transform-style: preserve-3d; animation: vis-copy-rise 6s ease-in-out infinite; }
  .hero-copy > * { transform: translateZ(22px); }
  .quote-card { position: relative; transform-style: preserve-3d; will-change: transform; animation: vis-float-card 5.8s ease-in-out infinite; transition: transform 280ms ease, box-shadow 280ms ease; }
  .quote-card::after { position: absolute; z-index: -1; inset: 18px -18px -24px 18px; content: ""; border-radius: 18px; background: rgba(6, 12, 48, .28); filter: blur(15px); transform: translateZ(-45px); }
  .quote-card:hover { animation-play-state: paused; transform: translate3d(0, -13px, 40px) rotateX(4deg) rotateY(-4deg); box-shadow: 0 35px 56px rgba(10, 15, 49, .42); }
  .quote-card-head, .quote-form, .form-note { transform: translateZ(24px); }
  .trust-grid > div { transition: transform 220ms ease, box-shadow 220ms ease, background 220ms ease; transform-style: preserve-3d; }
  .trust-grid > div:hover { z-index: 2; background: #fffdf6; box-shadow: 0 13px 24px rgba(21, 25, 66, .12); transform: perspective(900px) translateY(-7px) translateZ(16px) rotateX(3deg); }
  .product-grid { perspective: 1500px; }
  .product-card { transform-style: preserve-3d; will-change: transform; transition: transform 260ms ease, box-shadow 260ms ease, border-color 260ms ease; }
  .product-card > * { transform: translateZ(18px); }
  .product-card::after { position: absolute; z-index: 0; right: 15px; bottom: 14px; width: 80px; height: 80px; content: ""; border-radius: 50%; background: radial-gradient(circle, rgba(255, 201, 40, .26), transparent 68%); transform: translateZ(2px); pointer-events: none; }
  .product-card:hover { border-color: #f0c347; box-shadow: 0 25px 38px rgba(18, 25, 69, .19); transform: translateY(-13px) translateZ(32px) rotateX(5deg) rotateY(-4deg); }
  .product-grid .product-card:nth-child(2n):hover { transform: translateY(-13px) translateZ(32px) rotateX(5deg) rotateY(4deg); }
  .product-card:hover .product-icon { transform: translateZ(42px) rotate(-7deg) scale(1.08); box-shadow: 0 12px 18px rgba(21, 25, 66, .24); }
  .product-icon { transition: transform 260ms ease, box-shadow 260ms ease; }
  .why-visual { perspective: 1300px; transform-style: preserve-3d; }
  .why-visual::before { transform: translateZ(-15px); }
  .why-logo { transform: translateZ(38px) rotateX(4deg); filter: drop-shadow(0 19px 20px rgba(10, 14, 47, .34)); animation: vis-float-card 6.5s ease-in-out infinite; }
  .visual-card { transform-style: preserve-3d; transition: transform 260ms ease, box-shadow 260ms ease; }
  .visual-card:hover { box-shadow: 0 21px 30px rgba(6, 12, 46, .26); transform: translateZ(65px) rotateX(4deg) rotateY(-5deg); }
  .claims-box { position: relative; transform-style: preserve-3d; transition: transform 280ms ease, box-shadow 280ms ease; }
  .claims-box:hover { box-shadow: 0 28px 48px rgba(21, 25, 66, .24); transform: perspective(1300px) translateY(-7px) rotateX(3deg); }
  .claims-box > * { transform: translateZ(20px); }
  .contact-card { transform-style: preserve-3d; transition: transform 240ms ease, box-shadow 240ms ease; }
  .contact-card:hover { box-shadow: 0 21px 32px rgba(21, 25, 66, .16); transform: perspective(1000px) translateY(-10px) rotateX(4deg) rotateY(-3deg); }
  .contact-card:nth-child(2n):hover { transform: perspective(1000px) translateY(-10px) rotateX(4deg) rotateY(3deg); }
  .button { transform: translateZ(8px); }
  .button:hover { transform: translateY(-4px) translateZ(18px); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Customer convenience: WhatsApp, renewal enquiry, documents and trust. */
.customer-help-section { background: linear-gradient(180deg, #ffffff 0%, #fff7d7 100%); }
.customer-help-grid { display: grid; grid-template-columns: minmax(300px, .88fr) minmax(0, 1.12fr); gap: 20px; align-items: stretch; }
.renewal-help-card, .help-card, .trust-promise-card, .business-hours-card, .social-support-card { border: 1px solid #e2d8b6; border-radius: 18px; background: #fffdf8; box-shadow: 0 15px 34px rgba(21, 25, 66, .08); }
.renewal-help-card { padding: 27px; color: #fff; border-color: var(--navy); background: linear-gradient(145deg, var(--navy), #303d8f); }
.renewal-help-card .eyebrow { color: var(--gold); }.renewal-help-card h3 { margin: 4px 0 10px; font-size: 27px; line-height: 1.12; }.renewal-help-card > p:not(.eyebrow):not(.renewal-help-status) { color: #e0e7ff; }
.help-icon { display: grid; width: 44px; height: 44px; place-items: center; margin-bottom: 16px; border-radius: 12px; color: var(--navy); background: var(--gold); font-size: 23px; font-weight: 900; }
.renewal-help-form { display: grid; gap: 11px; margin-top: 20px; }.renewal-help-form label { display: grid; gap: 5px; color: #fff4bf; font-size: 12px; font-weight: 900; }.renewal-help-form input { width: 100%; border: 1px solid rgba(255,255,255,.4); border-radius: 8px; padding: 11px; color: var(--navy); background: #fffdf8; outline: none; }.renewal-help-form input:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(255, 201, 40, .2); }.renewal-help-form .button { margin-top: 2px; width: 100%; }.renewal-help-status { min-height: 20px; margin: 13px 0 0; color: #fff3bf; font-size: 12px; font-weight: 700; }
.help-stack { display: grid; gap: 20px; }.help-card { padding: 24px; }.help-card h3 { margin: 2px 0 14px; color: var(--navy); font-size: 23px; }.checklist-card { display: grid; grid-template-columns: 44px 1fr; column-gap: 15px; }.checklist-card .help-icon, .faq-card .help-icon { grid-row: span 2; }.checklist-columns { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 3px; }.checklist-columns > div { padding: 14px 14px 8px; border-radius: 10px; background: #f6f7fc; }.checklist-columns strong { color: var(--navy); font-size: 14px; }.checklist-columns ul { margin: 8px 0 0; padding-left: 18px; color: var(--muted); font-size: 13px; }.checklist-columns li { margin: 6px 0; }.help-small { grid-column: 1 / -1; margin: 12px 0 0; color: var(--muted); font-size: 12px; }
.faq-card { display: grid; grid-template-columns: 44px 1fr; column-gap: 15px; }.faq-card details { grid-column: 1 / -1; padding: 12px 0; border-top: 1px solid #e5dfc9; }.faq-card summary { color: var(--navy); font-size: 14px; font-weight: 900; cursor: pointer; }.faq-card details p { margin: 9px 0 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.service-trust-section { padding-top: 0; background: #fff7d7; }.service-trust-grid { display: grid; grid-template-columns: 1.2fr repeat(2, .9fr); gap: 16px; }.trust-promise-card, .business-hours-card, .social-support-card { padding: 25px; }.trust-promise-card { color: #fff; border-color: var(--navy); background: linear-gradient(135deg, var(--navy), #2f3b8d); }.trust-promise-card .eyebrow { color: var(--gold); }.trust-promise-card h2 { margin: 3px 0 12px; font-size: 29px; line-height: 1.12; }.trust-promise-card p:not(.eyebrow) { color: #e0e6ff; }.text-link { color: var(--gold); font-size: 14px; font-weight: 900; }.business-hours-card h3, .social-support-card h3 { margin: 4px 0 16px; color: var(--navy); font-size: 21px; }.business-hours-card dl { margin: 0; }.business-hours-card dl div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid #ece3c5; }.business-hours-card dt { color: var(--muted); font-size: 13px; }.business-hours-card dd { margin: 0; color: var(--navy); font-size: 13px; font-weight: 900; text-align: right; }.business-hours-card > p { margin: 15px 0 0; color: var(--muted); font-size: 12px; }.social-support-card { display: flex; flex-direction: column; align-items: flex-start; }.social-support-card > a { margin: 5px 0; color: var(--orange-deep); font-size: 14px; font-weight: 900; }.social-support-card > a:hover { color: var(--navy); }
.floating-whatsapp { position: fixed; z-index: 40; right: 20px; bottom: 20px; display: inline-flex; align-items: center; gap: 9px; min-height: 52px; padding: 0 18px; border: 2px solid #fff; border-radius: 999px; color: #fff; background: #128c4a; box-shadow: 0 13px 28px rgba(10, 83, 42, .34); font-size: 14px; }.floating-whatsapp span { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; color: #128c4a; background: #fff; font-size: 16px; }.floating-whatsapp:hover { transform: translateY(-3px) scale(1.02); background: #0d783e; }

@media (max-width: 760px) { .customer-help-grid, .service-trust-grid { grid-template-columns: 1fr; }.renewal-help-card, .help-card, .trust-promise-card, .business-hours-card, .social-support-card { padding: 21px; } }
@media (max-width: 430px) { .checklist-columns { grid-template-columns: 1fr; }.renewal-help-card h3 { font-size: 24px; }.trust-promise-card h2 { font-size: 26px; }.floating-whatsapp { right: 14px; bottom: 14px; min-height: 48px; padding: 0 15px; } }

/* Keep only the primary enquiry action in the hero. */
#home .hero-actions { display: none; }
.hero-contact-flash { display: none; }
.customer-access-create { display: none !important; }

.vis-language-switch{position:fixed;left:16px;bottom:18px;transform:none;z-index:100;display:flex;gap:6px;align-items:center}.vis-language-switch button{border:2px solid #d99d00;border-radius:999px;padding:6px 12px;background:#fff9eb;color:#111944;font-weight:850;cursor:pointer;box-shadow:0 3px 8px rgba(17,25,68,.16);transition:.2s}.vis-language-switch button:hover,.vis-language-switch button.active{background:#ffc42b;color:#111944;transform:translateY(-1px)}
