/* Schema-driven Lyra frontend and administration surfaces. */
.desktop-nav { display: flex; align-items: center; justify-content: center; gap: 17px; flex: 1; }
.desktop-nav a { color: #344d66; font-size: 10px; font-weight: 750; white-space: nowrap; }
.desktop-nav a:hover, .desktop-nav a.active { color: var(--blue-500); }
.header-actions { display: flex; align-items: center; gap: 10px; }
.menu-toggle { display: none; width: 43px; height: 43px; place-items: center; color: #0b2a4d; background: #eef4f8; border: 0; border-radius: 7px; }
.menu-toggle svg { width: 20px; }
.top-links a { display: flex; align-items: center; gap: 6px; }
.top-links svg { width: 13px; height: 13px; }
.brand-image { display: block; width: auto; max-width: 170px; height: 48px; object-fit: contain; }
.mobile-menu, .mobile-menu-backdrop { display: none; }

.slider-actions { display: flex; align-items: center; gap: 26px; }
.slider-secondary-link { padding-bottom: 5px; color: #d2e2ee; border-bottom: 1px solid rgba(255,255,255,.35); font-size: 11px; font-weight: 700; }

.quick-quote { position: relative; overflow: hidden; background: #edf4f8; }
.quick-quote::before { content: ""; position: absolute; left: -260px; bottom: -350px; width: 650px; height: 650px; border: 1px solid rgba(51,122,171,.12); border-radius: 50%; box-shadow: 0 0 0 95px rgba(51,122,171,.025), 0 0 0 190px rgba(51,122,171,.018); }
.quick-quote-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 500px; align-items: start; gap: 100px; }
.quick-quote-copy { padding-top: 35px; }
.quick-quote-copy h2, .home-about-copy h2, .company-heading h2, .home-faq-intro h2, .contact-schema-copy h2 { margin: 0; color: #0b2948; font-size: clamp(39px, 4.2vw, 57px); line-height: 1.07; letter-spacing: -.042em; font-weight: 500; }
.quick-quote-copy h2 em, .home-about-copy h2 em, .home-faq-intro h2 em, .contact-schema-copy h2 em { color: #458abe; font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
.quick-quote-copy > p { max-width: 610px; margin: 26px 0 33px; color: #627c91; font-size: 14px; line-height: 1.85; }
.quick-assurances { display: grid; grid-template-columns: repeat(2, 1fr); max-width: 580px; border-top: 1px solid #ccdae4; }
.quick-assurances span { display: flex; align-items: center; gap: 9px; padding: 16px 20px 16px 0; color: #173957; border-bottom: 1px solid #ccdae4; font-size: 10px; font-weight: 700; }
.quick-assurances svg { width: 16px; height: 16px; color: #438aba; }
.home-quote-card { max-width: none; }
.quote-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.quote-card textarea { width: 100%; padding: 13px 14px; color: #18324e; background: #f5f8fb; border: 1px solid #dbe5ed; border-radius: 6px; outline: 0; resize: vertical; }
.quote-card textarea:focus { border-color: #4b8fc7; box-shadow: 0 0 0 3px rgba(61,133,198,.12); }
.quote-card .consent-row a { color: #2d76a8; text-decoration: underline; }
.conditional-form-fields { margin-top: 3px; padding-top: 3px; }
.dynamic-quote-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 0 12px; }
.dynamic-field { min-width: 0; }
.dynamic-field.width-full { grid-column: 1/-1; }
.dynamic-field.width-third { grid-column: span 1; }
.dynamic-field fieldset { border: 0; }
.dynamic-field legend { margin-bottom: 7px; color: #45617b; font-size: 11px; font-weight: 700; }
.inline-option { display: flex !important; flex-direction: row !important; align-items: center; gap: 7px; margin: 7px 0 !important; font-weight: 400 !important; }
.inline-option input { width: 15px !important; height: 15px !important; }
.quote-fields-loading { margin-top: 15px; padding: 18px; color: #698095; background: #f4f8fa; border: 1px solid #dfe7ed; font-size: 9px; text-align: center; }
.quote-success { min-height: 330px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 25px; text-align: center; }
.quote-success > svg { width: 50px; height: 50px; margin-bottom: 19px; color: #337fac; }
.quote-success h3 { margin: 0 0 10px; color: #123351; font-family: Georgia, serif; font-size: 25px; }
.quote-success p { max-width: 330px; margin: 0 0 20px; color: #698095; font-size: 11px; line-height: 1.7; }
.quote-success button { width: auto; height: auto; margin: 0; padding: 12px 17px; }

.home-products { background: white; }
.home-products-top { align-items: end; }
.home-products-top > p { color: #6c8296; }
.schema-product-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.schema-product-card { min-height: 218px; display: flex; flex-direction: column; padding: 18px; background: #f8fafb; border: 1px solid #dfe7ed; border-radius: 8px; transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease; }
.schema-product-card:hover { z-index: 2; transform: translateY(-3px); background: white; border-color: #c9dae5; box-shadow: 0 14px 30px rgba(8,39,70,.09); }
.schema-product-top { display: flex; align-items: center; justify-content: space-between; }
.schema-product-top > span { width: 38px; height: 38px; display: grid; place-items: center; color: #2f78a9; background: #e7f0f6; border-radius: 8px; }
.schema-product-top svg { width: 18px; height: 18px; stroke-width: 1.7; }
.schema-product-top small { max-width: 105px; color: #668399; font-size: 7.5px; font-weight: 800; letter-spacing: .09em; text-align: right; text-transform: uppercase; }
.schema-product-card h3 { margin: 17px 0 7px; color: #143553; font-family: inherit; font-size: 16.5px; line-height: 1.3; font-weight: 750; letter-spacing: -.02em; }
.schema-product-card > p { display: -webkit-box; overflow: hidden; margin: 0; color: #71879a; font-size: 9.5px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.schema-product-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 12px; border-top: 1px solid #e0e8ed; }
.schema-product-actions a { color: #647e92; font-size: 8px; font-weight: 800; white-space: nowrap; }
.schema-product-actions a:last-child { display: flex; align-items: center; gap: 5px; color: #2777aa; }
.schema-product-actions svg { width: 12px; height: 12px; }
.section-inline-cta { width: fit-content; display: flex; align-items: center; gap: 18px; margin-top: 35px; padding-bottom: 6px; color: #153755; border-bottom: 1px solid #a9bfce; font-size: 11px; font-weight: 800; }
.section-inline-cta svg { width: 15px; height: 15px; color: #4489b9; }

.why-schema { padding: 70px 0; color: white; background: #071a33; }
.why-schema .center-heading { margin-bottom: 34px; }
.why-schema .center-heading h2 { color: white; font-size: clamp(30px, 3vw, 42px); }
.why-schema .section-kicker { color: #82bce2; }
.schema-feature-grid { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid rgba(255,255,255,.12); border-right: 0; }
.schema-feature-grid article { position: relative; min-height: 220px; display: flex; flex-direction: column; padding: 21px; border-right: 1px solid rgba(255,255,255,.12); transition: background .2s ease; }
.schema-feature-grid article:hover { background: #0d2f56; }
.feature-value { color: #82b6d8; font-family: Georgia, serif; font-size: 10px; }
.feature-icon { width: 40px; height: 40px; display: grid; place-items: center; margin: 25px 0 18px; color: white; background: rgba(117,181,223,.1); border: 1px solid rgba(117,181,223,.18); border-radius: 50%; }
.feature-icon svg { width: 18px; height: 18px; stroke-width: 1.5; }
.schema-feature-grid h3 { margin: 0 0 8px; font-size: 14px; }
.schema-feature-grid p { margin: 0; color: #91a8bc; font-size: 9.5px; line-height: 1.55; }
.schema-stats { color: white; background: #0c315b; }
.schema-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.schema-stats-grid div { min-height: 185px; display: flex; flex-direction: column; justify-content: center; padding: 28px 35px; border-right: 1px solid rgba(255,255,255,.12); }
.schema-stats-grid div:first-child { border-left: 1px solid rgba(255,255,255,.12); }
.schema-stats-grid strong { font-family: Georgia, serif; font-size: 41px; font-weight: 500; }
.schema-stats-grid span { margin-top: 10px; color: #a8bfd1; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

.home-about-schema { background: #f2f6f9; }
.home-about-schema-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 100px; align-items: center; }
.about-visual-schema { position: relative; min-height: 480px; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; color: white; background: linear-gradient(145deg, #082346, #0d4778); }
.about-visual-schema::before { content: ""; position: absolute; width: 450px; height: 450px; border: 1px solid rgba(143,197,232,.2); border-radius: 50%; box-shadow: 0 0 0 65px rgba(143,197,232,.04), 0 0 0 130px rgba(143,197,232,.025); }
.about-shield { position: relative; z-index: 2; width: 115px; height: 115px; display: grid; place-items: center; margin-bottom: 25px; color: #9dd0ee; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.15); border-radius: 50%; }
.about-shield svg { width: 48px; height: 48px; stroke-width: 1.2; }
.about-visual-schema > span { position: relative; z-index: 2; font-family: Georgia, serif; font-size: 45px; letter-spacing: .2em; }
.about-visual-schema > small { position: relative; z-index: 2; margin-top: 12px; color: #9fbdd1; font-size: 8px; letter-spacing: .18em; }
.home-about-copy .lead { margin: 27px 0 17px; color: #183b5b; font-size: 20px; line-height: 1.55; font-weight: 650; }
.home-about-copy > p:not(.lead) { margin: 0; color: #6c8396; font-size: 13px; line-height: 1.85; }

.company-marquee { overflow: hidden; background: white; }
.company-heading { display: flex; align-items: end; justify-content: space-between; gap: 70px; margin-bottom: 50px; }
.company-heading h2 { font-size: clamp(34px, 3.5vw, 48px); }
.company-heading > p { max-width: 420px; margin: 0 0 5px; color: #6e8497; font-size: 13px; line-height: 1.8; }
.company-track-wrap { width: 100%; overflow: hidden; border-block: 1px solid #dde6ec; }
.company-track { width: max-content; display: flex; animation: companyScroll 34s linear infinite; }
.company-track a { min-width: 235px; height: 105px; display: grid; place-items: center; color: #5d7082; border-right: 1px solid #e0e8ee; font-family: Georgia, serif; font-size: 18px; font-weight: 700; filter: grayscale(1); transition: color .2s ease, background .2s ease; }
.company-track a:hover { color: #123b5f; background: #f4f8fa; }
@keyframes companyScroll { to { transform: translateX(-50%); } }

.schema-process { background: #f1f5f8; }
.schema-process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: #d7e2ea; border: 1px solid #d7e2ea; }
.schema-process-grid article { min-height: 300px; padding: 34px; background: white; }
.schema-process-grid article > span { color: #4c8dbc; font-family: Georgia, serif; font-size: 12px; }
.schema-process-grid h3 { margin: 105px 0 14px; color: #143654; font-family: Georgia, serif; font-size: 24px; font-weight: 500; }
.schema-process-grid p { margin: 0; color: #6d8497; font-size: 12px; line-height: 1.75; }

.testimonial-schema { color: white; background: linear-gradient(120deg, #071a33, #0c3d6d); }
.testimonial-schema-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 100px; align-items: center; animation: slideContentIn .45s ease both; }
.testimonial-schema-intro h2 { margin: 0; font-size: clamp(38px, 4vw, 54px); line-height: 1.08; font-weight: 500; }
.testimonial-schema-intro h2 em { color: #88c2e6; font-family: Georgia, serif; font-weight: 400; }
.testimonial-nav { display: flex; align-items: center; gap: 13px; margin-top: 38px; }
.testimonial-nav button { width: 37px; height: 37px; display: grid; place-items: center; padding: 0; color: white; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); border-radius: 50%; cursor: pointer; }
.testimonial-nav svg { width: 16px; }
.testimonial-nav span { color: #8faac0; font-family: Georgia, serif; font-size: 10px; }
.testimonial-schema blockquote { position: relative; margin: 0; padding: 45px 0 45px 64px; border-left: 1px solid rgba(255,255,255,.14); }
.testimonial-quote-icon { position: absolute; right: 0; top: 0; width: 65px; height: 65px; color: rgba(130,188,226,.22); }
.testimonial-stars { display: flex; gap: 5px; color: #7eb8df; }
.testimonial-stars svg { width: 13px; height: 13px; }
.testimonial-schema blockquote > p { max-width: 690px; margin: 28px 0 35px; font-family: Georgia, serif; font-size: clamp(25px, 3vw, 37px); line-height: 1.38; }
.testimonial-schema footer { display: flex; align-items: center; gap: 14px; }
.testimonial-schema footer > span { width: 43px; height: 43px; display: grid; place-items: center; color: #08274a; background: #9bc8e4; border-radius: 50%; font-size: 10px; font-weight: 800; }
.testimonial-schema footer div { display: flex; flex-direction: column; gap: 5px; }
.testimonial-schema footer b { font-size: 11px; }
.testimonial-schema footer small { color: #94aec1; font-size: 9px; }

.home-blog { background: white; }
.home-blog-grid, .blog-index-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.home-blog-grid article, .blog-index-grid article { overflow: hidden; background: #f7f9fb; border: 1px solid #e0e8ee; transition: transform .2s ease, box-shadow .2s ease; }
.home-blog-grid article:hover, .blog-index-grid article:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(8,39,70,.09); }
.blog-card-cover, .blog-index-cover { height: 125px; display: flex; align-items: flex-start; justify-content: space-between; padding: 18px; color: white; background: linear-gradient(140deg, #09284d, #0f5487); }
.blog-card-cover span, .blog-index-cover span { font-family: Georgia, serif; font-size: 12px; }
.blog-card-cover small, .blog-index-cover small { padding: 6px 8px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.14); font-size: 8px; text-transform: uppercase; letter-spacing: .1em; }
.blog-card-body { min-height: 275px; display: flex; flex-direction: column; padding: 23px; }
.blog-card-body time, .blog-index-grid time { color: #7190a7; font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.blog-card-body h3, .blog-index-grid h2 { margin: 15px 0 11px; color: #153653; font-family: Georgia, serif; font-size: 20px; line-height: 1.3; font-weight: 500; }
.blog-card-body p, .blog-index-grid p { margin: 0; color: #718699; font-size: 10px; line-height: 1.7; }
.blog-card-body a, .blog-index-grid article > div:last-child > a { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 18px; color: #357dad; border-top: 1px solid #dfe7ed; font-size: 9px; font-weight: 800; }
.blog-card-body a svg, .blog-index-grid a svg { width: 14px; }

.home-faq { background: #f1f5f8; }
.home-faq-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 110px; }
.home-faq-intro > p { max-width: 390px; margin: 25px 0; color: #687f93; font-size: 13px; line-height: 1.8; }
.home-faq-intro > a { display: flex; align-items: center; gap: 15px; color: #347daa; font-size: 11px; font-weight: 800; }
.home-faq-intro > a svg { width: 15px; }
.faq-list { border-top: 1px solid #ccd9e3; }
.faq-list details { border-bottom: 1px solid #ccd9e3; }
.faq-list summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 4px; color: #173856; cursor: pointer; font-size: 13px; font-weight: 750; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { width: 28px; height: 28px; display: grid; place-items: center; color: #397fac; background: white; border-radius: 50%; font-size: 17px; font-weight: 400; transition: transform .2s ease; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details > p { margin: 0; padding: 0 52px 23px 4px; color: #698095; font-size: 11px; line-height: 1.75; }

.schema-final-cta { padding: 62px 0; color: white; background: #08284d; }
.schema-final-cta-grid { display: flex; align-items: center; justify-content: space-between; gap: 65px; }
.schema-final-cta .section-kicker { color: #7fb8df; }
.schema-final-cta h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(34px, 4vw, 48px); font-weight: 500; }
.schema-final-cta p { margin: 14px 0 0; color: #a8bed0; font-size: 12px; }
.schema-final-cta-grid > a { min-width: 200px; display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 17px 19px; color: #0b2c4f; background: white; border-radius: 6px; font-size: 11px; font-weight: 800; }
.schema-final-cta svg { width: 16px; color: #4187b7; }

.home-contact-map { background: white; }
.home-contact-map-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 95px; align-items: center; }
.contact-map-card { min-height: 470px; overflow: hidden; background: #e8f0f5; }
.contact-map-card iframe { width: 100%; height: 470px; border: 0; }
.map-placeholder { min-height: 470px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #143958; background-image: linear-gradient(35deg, transparent 48%, #cfdee8 49%, #cfdee8 51%, transparent 52%), linear-gradient(-25deg, transparent 48%, #d7e3eb 49%, #d7e3eb 51%, transparent 52%); background-size: 120px 95px, 170px 130px; text-align: center; }
.map-placeholder svg { width: 55px; height: 55px; margin-bottom: 18px; color: #347da9; }
.map-placeholder span { padding: 8px 12px; background: rgba(255,255,255,.86); font-weight: 750; }
.map-placeholder small { margin-top: 8px; padding: 6px 9px; color: #70889a; background: rgba(255,255,255,.82); }
.contact-schema-copy > p { margin: 23px 0 28px; color: #6a8296; font-size: 13px; line-height: 1.8; }
.contact-schema-list { border-top: 1px solid #d9e3ea; }
.contact-schema-list > * { display: grid; grid-template-columns: 35px 1fr; align-items: center; gap: 14px; padding: 16px 0; border-bottom: 1px solid #d9e3ea; }
.contact-schema-list > * > svg { width: 17px; color: #3f83b2; }
.contact-schema-list span { display: flex; flex-direction: column; gap: 4px; }
.contact-schema-list small { color: #738b9e; font-size: 8px; text-transform: uppercase; letter-spacing: .1em; }
.contact-schema-list b { color: #173a59; font-size: 12px; }

.floating-whatsapp { position: fixed; z-index: 30; right: 24px; bottom: 24px; display: flex; align-items: center; gap: 10px; padding: 13px 16px; color: white; background: #128c5e; border-radius: 30px; box-shadow: 0 14px 34px rgba(4,45,30,.25); font-size: 10px; font-weight: 800; }
.floating-whatsapp svg { width: 18px; height: 18px; }
.mobile-action-bar { display: none; }
.cookie-panel { position: fixed; z-index: 50; left: 24px; bottom: 24px; width: min(620px, calc(100% - 48px)); display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 28px; padding: 22px; color: white; background: #071d38; border: 1px solid rgba(255,255,255,.13); box-shadow: 0 20px 55px rgba(2,16,31,.3); }
.cookie-panel strong { font-family: Georgia, serif; font-size: 18px; }
.cookie-panel p { margin: 8px 0 6px; color: #aabfd0; font-size: 9px; line-height: 1.6; }
.cookie-panel a { color: #7db9df; font-size: 8px; text-decoration: underline; }
.cookie-actions { display: flex; flex-direction: column; gap: 7px; }
.cookie-actions button { padding: 10px 12px; color: white; background: transparent; border: 1px solid rgba(255,255,255,.18); cursor: pointer; font-size: 8px; font-weight: 800; }
.cookie-actions button:last-child { color: #09284a; background: white; }

.footer-main-schema { grid-template-columns: 1.45fr .8fr 1fr 1.2fr; }
.footer-admin-link { display: inline-block; margin-top: 18px; padding-bottom: 3px; color: #7aaed0 !important; border-bottom: 1px solid rgba(122,174,208,.35); }
.footer-contact a, .footer-contact p { display: flex !important; flex-direction: row !important; align-items: flex-start; gap: 9px; }
.footer-contact svg { width: 14px; height: 14px; flex: 0 0 auto; color: #6ca5cb; }

/* Public listing and detail pages */
.insurance-index-hero, .content-index-hero, .legal-page-hero { position: relative; overflow: hidden; color: white; background: linear-gradient(120deg,#06182f,#0d4778); }
.insurance-index-hero::after, .content-index-hero::after, .legal-page-hero::after { content: ""; position: absolute; width: 650px; height: 650px; right: -210px; top: -270px; border: 1px solid rgba(148,199,233,.16); border-radius: 50%; box-shadow: 0 0 0 90px rgba(148,199,233,.03),0 0 0 180px rgba(148,199,233,.02); }
.insurance-index-hero-grid { position: relative; z-index: 2; min-height: 390px; display: grid; grid-template-columns: 1fr 190px; align-items: center; gap: 70px; padding-block: 55px; }
.insurance-index-hero h1, .content-index-hero h1, .legal-page-hero h1 { margin: 0; font-size: clamp(46px,5vw,66px); line-height: 1.05; letter-spacing: -.05em; font-weight: 500; }
.insurance-index-hero h1 em, .content-index-hero h1 em { color: #8cc6e9; font-family: Georgia,serif; font-weight: 400; }
.insurance-index-hero p, .content-index-hero p, .legal-page-hero p { max-width: 620px; margin: 23px 0 0; color: #bed2e2; font-size: 14px; line-height: 1.8; }
.insurance-hero-seal { width: 175px; height: 175px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: white; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.16); border-radius: 50%; }
.insurance-hero-seal svg { width: 30px; height: 30px; color: #8dc7e9; }
.insurance-hero-seal strong { margin-top: 10px; font-family: Georgia,serif; font-size: 32px; font-weight: 500; }
.insurance-hero-seal span { color: #9eb9cc; font-size: 8px; text-transform: uppercase; letter-spacing: .1em; }
.insurance-category-nav { position: sticky; z-index: 8; top: 0; background: white; border-bottom: 1px solid #e0e8ee; box-shadow: 0 8px 22px rgba(8,39,70,.05); }
.insurance-category-nav .shell { min-height: 56px; display: flex; align-items: center; gap: 32px; }
.insurance-category-nav a { color: #5f778b; font-size: 10px; font-weight: 800; }
.insurance-index { padding: 18px 0 44px; background: #f2f6f9; }
.insurance-category-section { padding: 30px 0 50px; scroll-margin-top: 70px; }
.insurance-category-section + .insurance-category-section { border-top: 1px solid #d7e2ea; }
.insurance-category-title { display: grid; grid-template-columns: 48px 1fr; gap: 20px; margin-bottom: 26px; }
.insurance-category-title > span { color: #4d8fbd; font-family: Georgia,serif; font-size: 13px; }
.insurance-category-title small { color: #728b9e; font-size: 8px; text-transform: uppercase; letter-spacing: .14em; }
.insurance-category-title h2 { margin: 7px 0 0; color: #123452; font-family: Georgia,serif; font-size: 30px; font-weight: 500; }
.insurance-index-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.insurance-index-grid article { min-height: 310px; display: flex; flex-direction: column; padding: 22px; background: white; border: 1px solid #dfe7ed; transition: transform .2s ease,box-shadow .2s ease; }
.insurance-index-grid article:hover { transform: translateY(-4px); box-shadow: 0 18px 42px rgba(8,39,70,.08); }
.insurance-card-icon { width: 44px; height: 44px; display: grid; place-items: center; margin-bottom: 20px; color: #3279a7; background: #edf4f8; border-radius: 50%; }
.insurance-card-icon svg { width: 20px; }
.insurance-index-grid article > small { color: #7691a4; font-size: 8px; text-transform: uppercase; letter-spacing: .12em; }
.insurance-index-grid h3 { margin: 9px 0 10px; color: #153654; font-family: Georgia,serif; font-size: 21px; font-weight: 500; }
.insurance-index-grid p { margin: 0; color: #6f8598; font-size: 11px; line-height: 1.7; }
.insurance-index-grid ul { margin: 14px 0; padding: 0; list-style: none; }
.insurance-index-grid li { display: flex; align-items: center; gap: 8px; margin: 6px 0; color: #49647b; font-size: 9px; }
.insurance-index-grid li svg { width: 13px; color: #4489b8; }
.insurance-index-grid article > div:last-child { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 14px; border-top: 1px solid #e0e8ee; }
.insurance-index-grid article > div:last-child a { color: #667e92; font-size: 9px; font-weight: 800; }
.insurance-index-grid article > div:last-child a:last-child { display: flex; align-items: center; gap: 8px; color: #327dab; }
.insurance-index-grid article > div:last-child svg { width: 13px; }

.insurance-detail-hero { color: white; background: linear-gradient(120deg,#06172e,#0d497c); }
.insurance-detail-hero-grid { min-height: 410px; display: grid; grid-template-columns: 1fr 235px; align-items: center; gap: 65px; }
.insurance-detail-hero h1 { margin: 0; font-size: clamp(48px,5.5vw,72px); line-height: 1.03; letter-spacing: -.05em; font-weight: 500; }
.insurance-detail-hero p { max-width: 640px; margin: 24px 0 28px; color: #c0d4e3; font-size: 15px; line-height: 1.8; }
.detail-hero-actions { display: flex; align-items: center; gap: 25px; }
.detail-hero-actions a:first-child { display: flex; align-items: center; gap: 24px; padding: 16px 18px; color: #0b2b4e; background: white; border-radius: 6px; font-size: 10px; font-weight: 800; }
.detail-hero-actions a:first-child svg { width: 15px; }
.detail-hero-actions a:last-child { color: #c4d9e7; border-bottom: 1px solid rgba(255,255,255,.35); font-size: 10px; font-weight: 750; }
.detail-hero-icon { width: 220px; height: 220px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.15); border-radius: 50%; }
.detail-hero-icon svg { width: 60px; height: 60px; color: #92c9e9; stroke-width: 1.1; }
.detail-hero-icon span { margin-top: 17px; color: #a5c0d3; font-size: 9px; letter-spacing: .2em; }
.insurance-detail-main { background: #f2f6f9; }
.insurance-detail-layout { display: grid; grid-template-columns: 1fr 420px; align-items: start; gap: 80px; }
.rich-content { color: #647d91; font-size: 14px; line-height: 1.9; }
.rich-content h2 { margin: 48px 0 18px; color: #123553; font-family: Georgia,serif; font-size: 31px; line-height: 1.25; font-weight: 500; }
.rich-content h2:first-child { margin-top: 0; }
.rich-content p { margin: 0 0 18px; }
.rich-content ul { padding-left: 21px; }
.detail-check-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }
.detail-check-grid span { display: flex; align-items: center; gap: 10px; padding: 15px; color: #173957; background: white; border: 1px solid #dee7ed; font-size: 10px; font-weight: 700; }
.detail-check-grid svg { width: 16px; color: #3d86b5; }
.coverage-list { border-top: 1px solid #cfdae3; }
.coverage-list div { display: grid; grid-template-columns: 42px 1fr; gap: 10px; padding: 16px 0; border-bottom: 1px solid #cfdae3; }
.coverage-list span { color: #4c8db9; font-family: Georgia,serif; font-size: 10px; }
.coverage-list b { color: #183a58; font-size: 11px; }
.detail-two-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.detail-two-columns > div { padding: 24px; background: #0b2e55; }
.detail-two-columns h2 { margin: 0 0 13px; color: white; font-size: 23px; }
.detail-two-columns p { margin: 0; color: #adc1d1; font-size: 11px; }
.faq-list.compact summary { background: white; padding-inline: 16px; }
.faq-list.compact details > p { padding-inline: 16px; }
.detail-quote-sidebar { position: sticky; top: 25px; padding: 24px; color: #0b1f3a; background: white; border: 1px solid #dce6ed; box-shadow: 0 22px 52px rgba(8,39,70,.1); }
.detail-quote-sidebar .quote-icon svg { width: 21px; }

.content-index-hero > .shell, .legal-page-hero > .shell { position: relative; z-index: 2; min-height: 350px; display: flex; flex-direction: column; justify-content: center; padding-block: 55px; }
.blog-index { padding: 72px 0; background: #f2f6f9; }
.blog-index-grid article > div:last-child { min-height: 225px; display: flex; flex-direction: column; padding: 21px; }
.blog-detail-hero { padding: 80px 0; color: white; background: linear-gradient(120deg,#06172e,#0d4778); }
.blog-detail-hero a { display: flex; align-items: center; gap: 8px; margin-bottom: 45px; color: #acc7d9; font-size: 9px; }
.blog-detail-hero a svg { width: 14px; }
.blog-detail-hero h1 { max-width: 900px; margin: 0; font-size: clamp(42px,5vw,65px); line-height: 1.08; letter-spacing: -.045em; font-weight: 500; }
.blog-detail-hero p { max-width: 760px; margin: 24px 0; color: #c1d4e2; font-size: 15px; line-height: 1.75; }
.blog-detail-hero time { color: #8eb3cc; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.blog-detail-layout { display: grid; grid-template-columns: 1fr 320px; gap: 90px; padding-block: 90px; }
.blog-rich-content { max-width: 760px; }
.blog-detail-layout aside { position: sticky; top: 25px; padding: 27px; color: white; background: #0a2b51; }
.blog-detail-layout aside > span { color: #7fb7dc; font-size: 8px; text-transform: uppercase; letter-spacing: .12em; }
.blog-detail-layout aside h2 { margin: 17px 0 13px; font-family: Georgia,serif; font-size: 24px; font-weight: 500; }
.blog-detail-layout aside p { color: #a4bacb; font-size: 10px; line-height: 1.7; }
.blog-detail-layout aside a { display: flex; align-items: center; justify-content: space-between; margin-top: 24px; padding: 13px; color: #0b2b4f; background: white; font-size: 9px; font-weight: 800; }
.blog-detail-layout aside svg { width: 14px; }

.faq-page { background: #f2f6f9; }
.faq-page-layout { display: grid; grid-template-columns: 260px 1fr; gap: 90px; align-items: start; }
.faq-page-layout > aside { position: sticky; top: 90px; display: flex; flex-direction: column; padding: 24px; background: white; border: 1px solid #dfe7ed; }
.faq-page-layout aside h2 { margin: 0 0 17px; color: #173957; font-size: 15px; }
.faq-page-layout aside > a { padding: 10px 0; color: #6d8498; border-bottom: 1px solid #e3eaf0; font-size: 10px; }
.faq-page-layout aside > div { margin-top: 23px; padding: 18px; color: white; background: #0b315a; }
.faq-page-layout aside p { margin: 0 0 13px; font-size: 11px; }
.faq-page-layout aside div a { display: flex; align-items: center; justify-content: space-between; color: #9dcae5; font-size: 9px; }
.faq-page-layout aside svg { width: 14px; }
.faq-page-layout > div > section { margin-bottom: 55px; scroll-margin-top: 90px; }

.companies-index { padding: 72px 0; background: #f2f6f9; }
.companies-index-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 13px; }
.companies-index-grid article { min-height: 205px; display: flex; flex-direction: column; padding: 21px; background: white; border: 1px solid #dfe7ed; }
.companies-index-grid article > span { width: 43px; height: 43px; display: grid; place-items: center; color: #3f83b1; background: #edf4f8; border-radius: 50%; }
.companies-index-grid svg { width: 20px; }
.companies-index-grid h2 { margin: 28px 0 11px; color: #173856; font-family: Georgia,serif; font-size: 21px; font-weight: 500; }
.companies-index-grid a { display: flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 14px; color: #377eac; border-top: 1px solid #e0e7ec; font-size: 9px; font-weight: 800; }
.companies-index-grid a + a { margin-top: 9px; }
.companies-index-grid a svg { width: 13px; }

.about-schema-page { padding: 72px 0; background: white; }
.about-schema-intro { display: grid; grid-template-columns: 1fr 300px; gap: 70px; align-items: start; }
.about-schema-intro aside { padding: 28px; color: white; background: #0a2c52; }
.about-schema-intro aside strong { display: block; font-family: Georgia,serif; font-size: 54px; font-weight: 500; }
.about-schema-intro aside span { color: #8fbbd7; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.about-schema-intro aside p { margin: 28px 0 0; padding-top: 23px; color: #a7bdcc; border-top: 1px solid rgba(255,255,255,.14); font-size: 11px; line-height: 1.7; }
.about-values-schema { padding: 72px 0; color: white; background: #071a33; }
.about-values-schema .center-heading { margin-bottom: 38px; }
.about-values-schema .center-heading h2 { color: white; }
.about-value-grid { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid rgba(255,255,255,.12); border-right: 0; }
.about-value-grid article { min-height: 215px; padding: 23px; border-right: 1px solid rgba(255,255,255,.12); }
.about-value-grid svg { width: 28px; height: 28px; color: #7eb7dc; }
.about-value-grid h3 { margin: 34px 0 10px; font-family: Georgia,serif; font-size: 21px; font-weight: 500; }
.about-value-grid p { margin: 0; color: #94aabd; font-size: 11px; line-height: 1.7; }
.team-schema { padding: 72px 0; background: #f2f6f9; }
.team-schema .section-top { margin-bottom: 36px; }
.team-schema-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.team-schema-grid article { min-height: 240px; display: flex; flex-direction: column; align-items: flex-start; padding: 23px; background: white; border: 1px solid #dfe7ed; }
.team-schema-grid article > span { width: 58px; height: 58px; display: grid; place-items: center; color: white; background: #0b315a; border-radius: 50%; font-family: Georgia,serif; font-size: 17px; }
.team-schema-grid h3 { margin: 27px 0 7px; color: #153653; font-family: Georgia,serif; font-size: 21px; font-weight: 500; }
.team-schema-grid p { margin: 0 0 15px; color: #698095; font-size: 10px; }
.team-schema-grid a { margin-top: 7px; color: #397fac; font-size: 9px; }

.damage-hero-schema { color: white; background: linear-gradient(120deg,#06172e,#0d4778); }
.damage-hero-grid { min-height: 400px; display: grid; grid-template-columns: 1fr 210px; align-items: center; gap: 70px; }
.damage-hero-schema h1 { margin: 0; font-size: clamp(48px,5vw,67px); line-height: 1.04; letter-spacing: -.05em; font-weight: 500; }
.damage-hero-schema h1 em { color: #8bc5e7; font-family: Georgia,serif; font-weight: 400; }
.damage-hero-schema p { max-width: 620px; margin: 23px 0 28px; color: #bed2e1; font-size: 14px; line-height: 1.8; }
.damage-hero-schema a { width: fit-content; display: flex; align-items: center; gap: 25px; padding: 15px 18px; color: #0b2b4e; background: white; border-radius: 6px; font-size: 10px; font-weight: 800; }
.damage-hero-schema a svg { width: 15px; }
.damage-hero-icon { width: 190px; height: 190px; display: grid; place-items: center; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.15); border-radius: 50%; }
.damage-hero-icon svg { width: 62px; height: 62px; color: #91c8e9; stroke-width: 1.1; }
.damage-steps-schema { padding: 72px 0; background: #f2f6f9; }
.damage-steps-schema .center-heading { margin-bottom: 38px; }
.damage-step-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: #d8e2ea; border: 1px solid #d8e2ea; }
.damage-step-grid article { min-height: 220px; padding: 24px; background: white; }
.damage-step-grid article > span { color: #4c8db9; font-family: Georgia,serif; font-size: 11px; }
.damage-step-grid svg { display: block; width: 28px; height: 28px; margin: 27px 0 18px; color: #347ca9; stroke-width: 1.4; }
.damage-step-grid h3 { margin: 0 0 10px; color: #153654; font-family: Georgia,serif; font-size: 21px; font-weight: 500; }
.damage-step-grid p { margin: 0; color: #6b8296; font-size: 11px; line-height: 1.75; }
.damage-content-schema { padding: 72px 0; background: white; }
.damage-content-layout { display: grid; grid-template-columns: 1fr 390px; gap: 90px; align-items: start; }
.damage-content-layout aside { padding: 27px; background: #f1f5f8; border: 1px solid #dce5ec; }
.damage-content-layout aside h2 { margin: 0 0 19px; color: #153654; font-family: Georgia,serif; font-size: 24px; font-weight: 500; }
.damage-content-layout aside div { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 13px 0; border-bottom: 1px solid #d8e2e9; }
.damage-content-layout aside span { color: #304c65; font-size: 10px; font-weight: 750; }
.damage-content-layout aside a, .damage-content-layout aside small { color: #397fac; font-size: 8px; }
.legal-page-hero h1 { max-width: 850px; }
.legal-content { background: #f2f6f9; }
.legal-content .rich-content { max-width: 860px; padding: 55px; background: white; border: 1px solid #dfe7ed; }
.contact-schema-page { padding: 72px 0; background: #f2f6f9; }
.contact-schema-page-grid { display: grid; grid-template-columns: 1fr 520px; gap: 90px; align-items: start; }
.contact-schema-page-grid > div > h2 { margin: 0; color: #123452; font-family: Georgia,serif; font-size: clamp(38px,4vw,52px); font-weight: 500; }
.contact-schema-page-grid > div > p { max-width: 530px; margin: 20px 0 30px; color: #6d8396; font-size: 13px; line-height: 1.8; }
.contact-schema-cards { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }
.contact-schema-cards > * { min-height: 92px; display: grid; grid-template-columns: 35px 1fr; align-items: center; gap: 12px; padding: 17px; background: white; border: 1px solid #dfe7ed; }
.contact-schema-cards > * > svg { width: 18px; color: #3d83b1; }
.contact-schema-cards > * > div { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.contact-schema-cards small { color: #7b91a3; font-size: 7px; text-transform: uppercase; letter-spacing: .08em; }
.contact-schema-cards b { overflow: hidden; color: #173957; font-size: 9px; text-overflow: ellipsis; }
.contact-schema-page-grid > aside { padding: 30px; background: white; border: 1px solid #dce5ec; box-shadow: 0 22px 52px rgba(8,39,70,.08); }
.contact-schema-page-grid > aside > h2 { margin: 0; color: #153653; font-family: Georgia,serif; font-size: 28px; font-weight: 500; }
.contact-schema-page-grid > aside > p { margin: 8px 0 22px; color: #74899b; font-size: 9px; }
.contact-message-form label { display: flex; flex-direction: column; gap: 7px; margin-bottom: 13px; color: #456077; font-size: 8px; font-weight: 750; }
.contact-message-form input, .contact-message-form textarea { width: 100%; padding: 11px 12px; color: #173754; background: #f5f8fa; border: 1px solid #dce5eb; outline: 0; }
.contact-message-form input { height: 43px; }
.contact-message-form textarea { resize: vertical; }
.contact-message-form input:focus, .contact-message-form textarea:focus { border-color: #4a8cba; box-shadow: 0 0 0 3px rgba(61,133,198,.1); }
.contact-message-form .contact-consent { flex-direction: row; align-items: flex-start; font-weight: 400; }
.contact-message-form .contact-consent input { width: 15px; height: 15px; flex: 0 0 auto; }
.contact-message-form .contact-consent a { color: #327cab; text-decoration: underline; }
.contact-message-form > button, .contact-form-success button { width: 100%; padding: 13px; color: white; background: #0b3159; border: 0; cursor: pointer; font-size: 9px; font-weight: 800; }
.contact-form-success { min-height: 330px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.contact-form-success svg { width: 45px; height: 45px; color: #3982b0; }
.contact-form-success h2 { margin: 18px 0 8px; color: #153653; font-family: Georgia,serif; }
.contact-form-success p { color: #6d8396; font-size: 10px; }
.contact-map-full { min-height: 430px; background: #e8f0f5; }
.contact-map-full iframe { width: 100%; height: 430px; border: 0; }
.contact-map-full .map-placeholder { min-height: 430px; }

/* Admin panel */
.admin-login { min-height: 100vh; display: grid; grid-template-columns: .8fr 1.2fr; color: white; background: #06182f; }
.admin-login-brand { display: flex; align-items: center; justify-content: center; gap: 16px; border-right: 1px solid rgba(255,255,255,.1); }
.admin-login-brand > span:last-child { display: flex; flex-direction: column; }
.admin-login-brand b { font-size: 29px; letter-spacing: .16em; }
.admin-login-brand small { color: #8fb4ce; font-size: 9px; letter-spacing: .18em; }
.admin-login section { align-self: center; max-width: 540px; padding: 70px; }
.admin-login-icon { width: 55px; height: 55px; display: grid; place-items: center; margin-bottom: 35px; color: #8dc7e9; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.13); border-radius: 50%; }
.admin-login-icon svg { width: 24px; }
.admin-login section > small { color: #84b8da; font-size: 9px; text-transform: uppercase; letter-spacing: .16em; }
.admin-login h1 { margin: 15px 0 19px; font-size: clamp(38px,4.5vw,58px); line-height: 1.08; font-weight: 500; }
.admin-login p { color: #a8bed0; font-size: 13px; line-height: 1.75; }
.admin-login-form { max-width: 430px; display: grid; gap: 17px; margin-top: 30px; }
.admin-login-form > label { display: grid; gap: 8px; }
.admin-login-form > label > span { color: #c2d5e3; font-size: 10px; font-weight: 700; letter-spacing: .03em; }
.admin-login-form > label > div { height: 51px; display: flex; align-items: center; gap: 12px; padding: 0 14px; background: rgba(255,255,255,.065); border: 1px solid rgba(255,255,255,.15); border-radius: 7px; transition: border-color .2s, background .2s; }
.admin-login-form > label > div:focus-within { background: rgba(255,255,255,.09); border-color: #72bce7; }
.admin-login-form > label > div > svg { width: 17px; color: #7eabc8; flex: none; }
.admin-login-form input { min-width: 0; flex: 1; color: white; background: transparent; border: 0; outline: 0; font: inherit; font-size: 12px; }
.admin-login-form input::placeholder { color: #66839a; }
.admin-login-form > label > div > button { width: 30px; height: 30px; display: grid; place-items: center; color: #7895aa; background: transparent; border: 0; cursor: pointer; }
.admin-login-form > label > div > button svg { width: 16px; }
.admin-login-form .admin-login-remember { display: flex; align-items: center; gap: 9px; }
.admin-login-form .admin-login-remember input { min-width: 14px; width: 14px; height: 14px; flex: none; accent-color: #54b5e7; }
.admin-login-form .admin-login-remember span { color: #8da7b9; font-size: 9px; font-weight: 500; }
.admin-login-error { padding: 11px 13px; color: #ffd4d4; background: rgba(178,47,47,.17); border: 1px solid rgba(255,123,123,.25); border-radius: 6px; font-size: 10px; line-height: 1.5; }
.admin-login-submit { height: 51px; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; color: #0a2a4d; background: white; border: 0; border-radius: 7px; font-size: 10px; font-weight: 800; cursor: pointer; }
.admin-login-submit:disabled { opacity: .72; cursor: wait; }
.admin-login-submit svg { width: 16px; }
.admin-login-submit .spin { animation: adminSpin .8s linear infinite; }
@keyframes adminSpin { to { transform: rotate(360deg); } }
.admin-login-note { display: block; margin-top: 22px; color: #718da4; font-size: 8px; }
.admin-access-denied { min-height: 100vh; display: grid; place-items: center; background: #edf3f7; }
.admin-access-denied > div { max-width: 500px; padding: 45px; background: white; box-shadow: 0 20px 55px rgba(8,39,70,.12); text-align: center; }
.admin-access-denied h1 { color: #133452; }
.admin-access-denied p { color: #6e8396; }
.admin-access-denied a { display: inline-block; margin-top: 20px; padding: 12px 16px; color: white; background: #0a2d53; }
.admin-shell { min-height: 100vh; display: grid; grid-template-columns: 255px 1fr; color: #102942; background: #eef3f7; }
.admin-sidebar { position: sticky; z-index: 20; top: 0; height: 100vh; display: flex; flex-direction: column; color: #adc0cf; background: #071b34; }
.admin-brand { height: 80px; display: flex; align-items: center; gap: 12px; padding: 0 20px; border-bottom: 1px solid rgba(255,255,255,.09); }
.admin-brand > span { width: 37px; height: 37px; display: grid; place-items: center; color: #09284b; background: #8ec5e6; border-radius: 8px; font-family: Georgia,serif; font-size: 20px; }
.admin-brand div { display: flex; flex-direction: column; }
.admin-brand b { color: white; font-size: 16px; letter-spacing: .14em; }
.admin-brand small { color: #7793a9; font-size: 7px; letter-spacing: .14em; }
.admin-brand button { display: none; margin-left: auto; color: white; background: transparent; border: 0; }
.admin-sidebar nav { flex: 1; display: flex; flex-direction: column; gap: 2px; overflow: auto; padding: 14px 10px; }
.admin-sidebar nav button { min-height: 39px; display: flex; align-items: center; gap: 11px; padding: 0 12px; color: #8fa7ba; background: transparent; border: 0; border-radius: 6px; cursor: pointer; font-size: 9px; font-weight: 650; text-align: left; }
.admin-sidebar nav button svg { width: 16px; height: 16px; }
.admin-sidebar nav button:hover, .admin-sidebar nav button.active { color: white; background: #0d3158; }
.admin-signout { width: calc(100% - 20px); display: flex; align-items: center; gap: 10px; margin: 10px; padding: 13px; color: #91aabc; background: transparent; border: 0; border-top: 1px solid rgba(255,255,255,.08); font-size: 9px; cursor: pointer; }
.admin-signout svg { width: 15px; }
.admin-workspace { min-width: 0; }
.admin-topbar { height: 80px; display: flex; align-items: center; justify-content: space-between; padding: 0 30px; background: white; border-bottom: 1px solid #dce5eb; }
.admin-topbar > div:first-of-type > span { color: #7b90a2; font-size: 7px; text-transform: uppercase; letter-spacing: .12em; }
.admin-topbar h1 { margin: 4px 0 0; color: #143451; font-size: 18px; }
.admin-mobile-toggle { display: none; color: #173755; background: transparent; border: 0; }
.admin-top-actions { display: flex; align-items: center; gap: 16px; }
.admin-top-actions > button { position: relative; width: 37px; height: 37px; display: grid; place-items: center; color: #557086; background: #f1f5f8; border: 0; border-radius: 50%; }
.admin-top-actions > button svg { width: 16px; }
.admin-top-actions > button i { position: absolute; right: 7px; top: 6px; width: 6px; height: 6px; background: #4c92c1; border: 1px solid white; border-radius: 50%; }
.admin-top-actions > div { display: flex; align-items: center; gap: 10px; }
.admin-top-actions > div > span { width: 37px; height: 37px; display: grid; place-items: center; color: white; background: #0b3159; border-radius: 50%; font-size: 9px; font-weight: 800; }
.admin-top-actions p { display: flex; flex-direction: column; gap: 3px; margin: 0; }
.admin-top-actions b { color: #173755; font-size: 9px; }
.admin-top-actions small { color: #8496a5; font-size: 7px; }
.admin-top-actions > div > svg { width: 13px; color: #8295a5; }
.admin-content { padding: 29px; }
.admin-page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; margin-bottom: 25px; }
.admin-page-heading > div > span { color: #4284b2; font-size: 7px; font-weight: 800; text-transform: uppercase; letter-spacing: .13em; }
.admin-page-heading h2 { margin: 6px 0 0; color: #143552; font-size: 24px; }
.admin-page-heading p { max-width: 650px; margin: 8px 0 0; color: #70869a; font-size: 9px; line-height: 1.6; }
.admin-page-heading > a, .admin-page-heading > button { display: flex; align-items: center; gap: 9px; padding: 11px 14px; color: white; background: #0b3159; border: 0; border-radius: 5px; cursor: pointer; font-size: 8px; font-weight: 800; }
.admin-page-heading svg { width: 14px; }
.admin-notice { margin: 0 0 18px; padding: 12px 14px; color: #784a16; background: #fff7e7; border: 1px solid #f2dfbb; font-size: 9px; }
.dashboard-card-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 10px; }
.dashboard-card-grid article { min-height: 137px; display: flex; flex-direction: column; padding: 17px; background: white; border: 1px solid #dfe7ec; }
.dashboard-card-grid article > span { color: #5a91b7; font-family: Georgia,serif; font-size: 8px; }
.dashboard-card-grid strong { margin-top: auto; color: #123653; font-family: Georgia,serif; font-size: 28px; font-weight: 500; }
.dashboard-card-grid p { margin: 5px 0 0; color: #74889a; font-size: 8px; }
.dashboard-lower { display: grid; grid-template-columns: 1.15fr .85fr; gap: 13px; margin-top: 13px; }
.dashboard-lower > section { min-height: 360px; padding: 22px; background: white; border: 1px solid #dfe7ec; }
.admin-section-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 29px; }
.admin-section-title small { color: #7890a2; font-size: 7px; text-transform: uppercase; letter-spacing: .1em; }
.admin-section-title h3 { margin: 5px 0 0; color: #153552; font-size: 15px; }
.admin-section-title > svg { width: 18px; color: #4a89b4; }
.admin-bars { display: flex; flex-direction: column; gap: 17px; }
.admin-bars > div { display: grid; grid-template-columns: 105px 1fr 25px; align-items: center; gap: 12px; }
.admin-bars span { color: #667e91; font-size: 8px; }
.admin-bars i { height: 7px; overflow: hidden; background: #edf2f5; border-radius: 8px; }
.admin-bars b { display: block; height: 100%; background: linear-gradient(90deg,#1e5d8b,#72add3); border-radius: 8px; }
.admin-bars strong { color: #153653; font-size: 8px; text-align: right; }
.recent-quote-list > div { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 9px; padding: 13px 0; border-bottom: 1px solid #e4eaef; }
.recent-quote-list span { color: #173653; font-size: 9px; font-weight: 750; }
.recent-quote-list small { color: #7890a3; font-size: 7px; }
.recent-quote-list b { padding: 5px 7px; color: #276748; background: #e9f6ef; border-radius: 10px; font-size: 6px; }
.recent-quote-list > p { color: #7b8fa0; font-size: 9px; }
.admin-filters { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; padding: 12px; background: white; border: 1px solid #dfe7ec; }
.admin-filters label { min-width: 260px; display: flex; align-items: center; gap: 8px; padding: 0 11px; background: #f5f8fa; border: 1px solid #dfe7ec; }
.admin-filters label svg { width: 14px; color: #7590a4; }
.admin-filters input { width: 100%; height: 36px; background: transparent; border: 0; outline: 0; font-size: 8px; }
.admin-filters select, .admin-filters > a { height: 38px; padding: 0 11px; color: #496277; background: white; border: 1px solid #dfe7ec; font-size: 8px; }
.admin-filters > a { display: flex; align-items: center; margin-left: auto; }
.admin-table-wrap { position: relative; overflow: auto; background: white; border: 1px solid #dfe7ec; }
.admin-table-wrap table { width: 100%; border-collapse: collapse; white-space: nowrap; }
.admin-table-wrap th { padding: 12px 14px; color: #71879a; background: #f7f9fb; border-bottom: 1px solid #dfe7ec; font-size: 7px; text-align: left; text-transform: uppercase; letter-spacing: .07em; }
.admin-table-wrap td { max-width: 260px; overflow: hidden; padding: 13px 14px; color: #5d7487; border-bottom: 1px solid #e6ecef; font-size: 8px; text-overflow: ellipsis; }
.admin-table-wrap td b { color: #193956; }
.admin-table-wrap td select { max-width: 150px; padding: 6px; color: #466178; background: #f5f8fa; border: 1px solid #dce5eb; font-size: 7px; }
.admin-table-wrap td > button, .admin-row-actions button { padding: 6px 8px; color: #416e8d; background: #eef4f7; border: 0; cursor: pointer; font-size: 7px; }
.admin-table-wrap td > button svg, .admin-row-actions svg { width: 13px; height: 13px; }
.admin-row-actions { display: flex; align-items: center; gap: 5px; }
.admin-active-pill, .admin-inactive-pill { display: inline-block; padding: 5px 8px; color: #246748; background: #e9f6ef; border-radius: 10px; font-size: 6px; font-weight: 800; }
.admin-inactive-pill { color: #865b38; background: #fff1e8; }
.admin-loading, .admin-empty { padding: 35px; color: #7b8f9f; font-size: 9px; text-align: center; }
.admin-resource + .admin-resource { margin-top: 55px; padding-top: 45px; border-top: 1px solid #d3dfe7; }
.admin-drawer-backdrop { position: fixed; z-index: 50; inset: 0; display: flex; justify-content: flex-end; background: rgba(4,19,36,.5); }
.admin-drawer { width: min(620px,100%); height: 100%; overflow: auto; background: white; box-shadow: -20px 0 50px rgba(4,19,36,.2); }
.admin-drawer > header { position: sticky; z-index: 2; top: 0; display: flex; align-items: center; justify-content: space-between; padding: 22px 25px; background: white; border-bottom: 1px solid #dfe7ec; }
.admin-drawer header small { color: #4382ae; font-size: 7px; text-transform: uppercase; letter-spacing: .1em; }
.admin-drawer header h2 { margin: 5px 0 0; color: #143653; font-size: 20px; }
.admin-drawer header button { color: #60798e; background: transparent; border: 0; }
.admin-drawer header svg { width: 18px; }
.admin-drawer form { padding: 24px; }
.admin-form-field { display: flex; flex-direction: column; gap: 7px; margin-bottom: 15px; }
.admin-form-field > span { color: #456077; font-size: 8px; font-weight: 750; }
.admin-form-field input, .admin-form-field textarea, .admin-form-field select { width: 100%; min-height: 42px; padding: 10px 11px; color: #173754; background: #f7f9fb; border: 1px solid #dce5eb; outline: 0; font-size: 9px; }
.admin-form-field textarea { min-height: 105px; resize: vertical; }
.admin-check-field { display: flex; align-items: center; gap: 9px; margin: 15px 0; color: #405d75; font-size: 8px; }
.admin-rich-editor { border: 1px solid #dce5eb; }
.admin-rich-editor > div:first-child { display: flex; gap: 5px; padding: 7px; background: #eef4f7; border-bottom: 1px solid #dce5eb; }
.admin-rich-editor button { padding: 6px 8px; color: #345a76; background: white; border: 1px solid #d7e1e8; font-size: 7px; }
.admin-rich-editor > div:last-child { min-height: 170px; padding: 13px; color: #173754; outline: 0; font-size: 10px; line-height: 1.6; }
.admin-drawer form > footer { position: sticky; bottom: 0; display: flex; justify-content: flex-end; gap: 8px; margin: 25px -24px -24px; padding: 15px 24px; background: white; border-top: 1px solid #dfe7ec; }
.admin-drawer footer button { padding: 11px 15px; color: #425f76; background: #eef4f7; border: 0; font-size: 8px; font-weight: 800; }
.admin-drawer footer button:last-child { color: white; background: #0b3159; }
.quote-detail-content { padding: 24px; }
.quote-detail-person { display: grid; grid-template-columns: 48px 1fr 38px 38px; align-items: center; gap: 10px; padding-bottom: 20px; border-bottom: 1px solid #dfe7ec; }
.quote-detail-person > span { width: 48px; height: 48px; display: grid; place-items: center; color: white; background: #0b3159; border-radius: 50%; font-size: 10px; font-weight: 800; }
.quote-detail-person h3 { margin: 0; color: #153653; font-size: 14px; }
.quote-detail-person p { margin: 4px 0 0; color: #718698; font-size: 8px; }
.quote-detail-person > a { width: 36px; height: 36px; display: grid; place-items: center; color: #337da9; background: #eef4f7; border-radius: 50%; }
.quote-detail-person > a svg { width: 15px; }
.quote-detail-fields { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; margin: 20px 0; }
.quote-detail-fields > div { display: flex; flex-direction: column; gap: 5px; padding: 12px; background: #f4f7f9; border: 1px solid #e0e7ec; }
.quote-detail-fields small { color: #7a90a2; font-size: 7px; text-transform: uppercase; }
.quote-detail-fields b { overflow-wrap: anywhere; color: #193956; font-size: 9px; }
.quote-note-list { margin-top: 22px; border-top: 1px solid #dfe7ec; }
.quote-note-list > h3 { color: #153653; font-size: 12px; }
.quote-note-list > div { padding: 11px 0; border-bottom: 1px solid #e3eaee; }
.quote-note-list b { color: #294a63; font-size: 8px; }
.quote-note-list p { margin: 5px 0; color: #5f778b; font-size: 8px; line-height: 1.5; }
.quote-note-list small { color: #8698a6; font-size: 6px; }
.quote-detail-save { width: 100%; margin-top: 20px; padding: 13px; color: white; background: #0b3159; border: 0; font-size: 8px; font-weight: 800; }
.admin-upload { display: grid; grid-template-columns: 45px 1fr auto auto; align-items: center; gap: 15px; padding: 22px; background: white; border: 1px dashed #afc3d2; }
.admin-upload > svg { width: 25px; color: #4383ad; }
.admin-upload div { display: flex; flex-direction: column; gap: 4px; }
.admin-upload b { color: #153653; font-size: 10px; }
.admin-upload span { color: #7a8fa0; font-size: 7px; }
.admin-upload input { font-size: 8px; }
.admin-upload button { padding: 10px 14px; color: white; background: #0b3159; border: 0; font-size: 8px; font-weight: 800; }
.admin-media-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 11px; margin-top: 14px; }
.admin-media-grid article { min-width: 0; display: flex; flex-direction: column; padding: 10px; background: white; border: 1px solid #dfe7ec; }
.admin-media-grid img, .admin-media-grid article > svg { width: 100%; height: 120px; object-fit: cover; color: #7391a5; background: #eef4f7; }
.admin-media-grid b { overflow: hidden; margin-top: 9px; color: #29475f; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.admin-media-grid small { margin-top: 4px; color: #8495a3; font-size: 7px; }
.backup-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; }
.backup-grid a { min-height: 260px; display: flex; flex-direction: column; padding: 25px; background: white; border: 1px solid #dfe7ec; transition: transform .2s ease,box-shadow .2s ease; }
.backup-grid a:hover { transform: translateY(-3px); box-shadow: 0 16px 38px rgba(8,39,70,.08); }
.backup-grid svg { width: 30px; height: 30px; color: #4282ad; }
.backup-grid h3 { margin: 50px 0 11px; color: #153653; font-size: 16px; }
.backup-grid p { margin: 0; color: #718698; font-size: 9px; line-height: 1.6; }
.backup-grid span { margin-top: auto; padding-top: 15px; color: #397fac; border-top: 1px solid #e0e8ee; font-size: 8px; font-weight: 800; }
.admin-sidebar-backdrop { display: none; }

@media (max-width: 1120px) {
  .desktop-nav { display: none; }
  .menu-toggle { display: grid; }
  .mobile-menu { position: fixed; z-index: 50; right: 0; top: 0; width: min(390px,88vw); height: 100dvh; display: flex; flex-direction: column; padding: 28px; color: white; background: #071b34; transform: translateX(105%); transition: transform .25s ease; }
  .mobile-menu.open { transform: translateX(0); }
  .mobile-menu-backdrop { position: fixed; z-index: 49; inset: 0; display: block; background: rgba(4,18,34,.48); border: 0; }
  .mobile-menu-close { position: absolute; right: 22px; top: 24px; color: white; background: transparent; border: 0; }
  .mobile-menu-close svg { width: 22px; }
  .mobile-menu .brand { color: white; }
  .mobile-menu .brand-mark i { background: #071b34; }
  .mobile-menu nav { display: flex; flex-direction: column; margin-top: 45px; }
  .mobile-menu nav a { display: flex; align-items: center; gap: 15px; padding: 13px 0; color: #d7e2eb; border-bottom: 1px solid rgba(255,255,255,.1); font-size: 12px; }
  .mobile-menu nav span { color: #72acd2; font-family: Georgia,serif; font-size: 8px; }
  .mobile-menu-contact { display: flex; flex-direction: column; gap: 11px; margin-top: auto; }
  .mobile-menu-contact a { display: flex; align-items: center; gap: 9px; color: #a9becd; font-size: 9px; }
  .mobile-menu-contact a:last-child { justify-content: space-between; padding: 13px; color: #0b2b4e; background: white; font-weight: 800; }
  .mobile-menu-contact svg { width: 15px; }
  .quick-quote-grid { grid-template-columns: 1fr 440px; gap: 60px; }
  .schema-product-grid { grid-template-columns: repeat(4,1fr); }
  .schema-feature-grid { grid-template-columns: repeat(3,1fr); border-bottom: 0; }
  .schema-feature-grid article { border-bottom: 1px solid rgba(255,255,255,.12); }
  .home-about-schema-grid { gap: 60px; }
  .home-blog-grid, .blog-index-grid { grid-template-columns: repeat(2,1fr); }
  .insurance-detail-layout { grid-template-columns: 1fr 380px; gap: 45px; }
  .companies-index-grid { grid-template-columns: repeat(3,1fr); }
  .dashboard-card-grid { grid-template-columns: repeat(3,1fr); }
  .admin-media-grid { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 900px) {
  .quick-quote-grid, .home-about-schema-grid, .home-contact-map-grid, .insurance-detail-layout, .blog-detail-layout, .damage-content-layout { grid-template-columns: 1fr; }
  .contact-schema-page-grid { grid-template-columns: 1fr; gap: 50px; }
  .quick-quote-copy { padding-top: 0; }
  .quick-quote-grid { gap: 50px; }
  .home-quote-card { width: 100%; max-width: 520px; }
  .schema-product-grid { grid-template-columns: repeat(3,1fr); }
  .schema-feature-grid { grid-template-columns: repeat(2,1fr); }
  .schema-stats-grid { grid-template-columns: repeat(2,1fr); }
  .company-heading { align-items: flex-start; flex-direction: column; gap: 25px; }
  .testimonial-schema-grid, .home-faq-grid { grid-template-columns: 1fr; gap: 50px; }
  .testimonial-schema blockquote { padding: 35px 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.14); }
  .insurance-index-grid { grid-template-columns: repeat(2,1fr); }
  .insurance-detail-layout { gap: 40px; }
  .detail-quote-sidebar { position: static; max-width: 520px; }
  .blog-detail-layout aside { position: static; }
  .faq-page-layout { grid-template-columns: 210px 1fr; gap: 45px; }
  .about-schema-intro { grid-template-columns: 1fr 280px; gap: 50px; }
  .about-value-grid { grid-template-columns: repeat(2,1fr); }
  .admin-shell { grid-template-columns: 1fr; }
  .admin-sidebar { position: fixed; left: 0; width: 255px; transform: translateX(-105%); transition: transform .22s ease; }
  .admin-sidebar.open { transform: translateX(0); }
  .admin-brand button { display: block; }
  .admin-sidebar-backdrop.show { position: fixed; z-index: 19; inset: 0; display: block; background: rgba(3,17,33,.45); border: 0; }
  .admin-mobile-toggle { display: block; }
  .admin-topbar { justify-content: flex-start; gap: 14px; }
  .admin-top-actions { margin-left: auto; }
  .dashboard-lower { grid-template-columns: 1fr; }
  .backup-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 760px) {
  .schema-product-grid { grid-template-columns: repeat(2,1fr); }
  .top-links a:not(:last-child) { display: none; }
  .slider-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .quick-assurances, .quote-form-row, .dynamic-quote-grid { grid-template-columns: 1fr; }
  .dynamic-field { grid-column: 1 !important; }
  .contact-schema-cards { grid-template-columns: 1fr; }
  .schema-process-grid, .damage-step-grid, .team-schema-grid { grid-template-columns: 1fr; }
  .schema-process-grid article { min-height: 240px; }
  .schema-process-grid h3 { margin-top: 65px; }
  .home-blog-grid, .blog-index-grid { grid-template-columns: 1fr; }
  .schema-final-cta-grid { align-items: flex-start; flex-direction: column; }
  .floating-whatsapp { display: none; }
  body { padding-bottom: 63px; }
  .mobile-action-bar { position: fixed; z-index: 35; left: 0; right: 0; bottom: 0; height: 63px; display: grid; grid-template-columns: repeat(3,1fr); color: white; background: #071b34; border-top: 1px solid rgba(255,255,255,.1); }
  .mobile-action-bar a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border-right: 1px solid rgba(255,255,255,.1); font-size: 8px; font-weight: 700; }
  .mobile-action-bar a:last-child { color: #0a2b4e; background: white; }
  .mobile-action-bar svg { width: 17px; height: 17px; }
  .cookie-panel { left: 15px; bottom: 76px; width: calc(100% - 30px); grid-template-columns: 1fr; gap: 15px; }
  .cookie-actions { flex-direction: row; }
  .footer-main-schema { grid-template-columns: repeat(2,1fr); }
  .footer-brand { grid-column: 1/-1; }
  .insurance-index-hero-grid, .insurance-detail-hero-grid, .damage-hero-grid { grid-template-columns: 1fr; }
  .insurance-hero-seal, .detail-hero-icon, .damage-hero-icon { display: none; }
  .insurance-category-nav { overflow-x: auto; }
  .insurance-category-nav .shell { width: max-content; min-width: 100%; }
  .insurance-index-grid { grid-template-columns: 1fr; }
  .insurance-index-grid article, .damage-step-grid article, .team-schema-grid article { min-height: 0; }
  .detail-two-columns { grid-template-columns: 1fr; }
  .faq-page-layout { grid-template-columns: 1fr; }
  .faq-page-layout > aside { position: static; }
  .companies-index-grid { grid-template-columns: repeat(2,1fr); }
  .about-schema-intro { grid-template-columns: 1fr; }
  .about-value-grid { grid-template-columns: 1fr; }
  .admin-login { grid-template-columns: 1fr; }
  .admin-login-brand { min-height: 160px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
  .admin-login section { padding: 40px 25px; }
  .admin-content { padding: 18px; }
  .dashboard-card-grid { grid-template-columns: repeat(2,1fr); }
  .admin-page-heading { align-items: flex-start; flex-direction: column; }
  .admin-filters { align-items: stretch; flex-direction: column; }
  .admin-filters label { min-width: 0; }
  .admin-filters > a { margin-left: 0; }
  .admin-media-grid { grid-template-columns: repeat(2,1fr); }
  .backup-grid { grid-template-columns: 1fr; }
}

@media (max-width: 470px) {
  .schema-product-grid, .schema-feature-grid, .schema-stats-grid, .companies-index-grid { grid-template-columns: 1fr; }
  .why-schema { padding: 54px 0; }
  .why-schema .center-heading { margin-bottom: 27px; }
  .why-schema .center-heading h2 { font-size: 32px; }
  .schema-feature-grid article { min-height: 0; padding: 19px 21px; }
  .feature-icon { margin: 18px 0 14px; }
  .schema-product-card { min-height: 190px; }
  .companies-index-grid article, .about-value-grid article, .blog-index-grid article > div:last-child { min-height: 0; }
  .schema-stats-grid div { min-height: 140px; border-left: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); }
  .quick-quote-copy h2, .home-about-copy h2, .home-faq-intro h2, .contact-schema-copy h2 { font-size: 37px; }
  .insurance-index-hero h1, .content-index-hero h1, .insurance-detail-hero h1, .damage-hero-schema h1 { font-size: 40px; }
  .detail-check-grid { grid-template-columns: 1fr; }
  .footer-main-schema { grid-template-columns: 1fr; }
  .footer-main-schema > div { grid-column: 1; }
  .admin-top-actions p, .admin-top-actions > div > svg { display: none; }
  .admin-topbar { padding-inline: 15px; }
  .admin-content { padding: 14px; }
  .dashboard-card-grid { grid-template-columns: 1fr; }
  .dashboard-lower > section { padding: 16px; }
  .admin-bars > div { grid-template-columns: 80px 1fr 20px; }
  .admin-media-grid { grid-template-columns: 1fr; }
  .admin-upload { grid-template-columns: 35px 1fr; }
  .admin-upload input, .admin-upload button { grid-column: 1/-1; }
}

@media (prefers-reduced-motion: reduce) {
  .company-track { animation: none; }
}

/* Refined text-only brand and navigation. */
.topbar { position: relative; z-index: 42; background: #07192f; }
.topbar-inner { height: 32px; }
.topbar p { color: #aebfcd; font-size: 10.5px; letter-spacing: .055em; }
.top-links { gap: 0; height: 100%; }
.top-links a { height: 100%; padding: 0 18px; color: #c4d2dd; border-left: 1px solid rgba(255,255,255,.08); font-size: 10.5px; font-weight: 650; letter-spacing: .015em; }
.top-links a:last-child { color: white; background: rgba(255,255,255,.045); }

.site-header { position: sticky; z-index: 40; top: 0; background: rgba(255,255,255,.98); border-bottom: 1px solid #dce6ed; box-shadow: 0 8px 30px rgba(7,25,47,.045); backdrop-filter: blur(14px); }
.nav-wrap { height: 82px; gap: 23px; }
.brand-wordmark { min-width: 163px; width: fit-content; gap: 0; }
.brand-wordmark > span { display: flex; flex-direction: column; align-items: flex-start; line-height: 1; }
.brand-wordmark b { color: #09274a; font-size: 28px; font-weight: 800; letter-spacing: .19em; }
.brand-wordmark small { margin-top: 7px; padding-left: 1px; color: #5f7890; font-size: 9.5px; font-weight: 750; letter-spacing: .42em; }
.brand-inverse b { color: white; }
.brand-inverse small { color: #8fa8bc; }

.desktop-nav { align-self: stretch; justify-content: flex-end; gap: 4px; }
.desktop-nav > a, .desktop-nav .nav-dropdown-trigger { position: relative; height: 100%; display: flex; align-items: center; padding: 0 11px; color: #2c465f; font-size: 12.5px; font-weight: 700; white-space: nowrap; }
.desktop-nav > a::after, .nav-dropdown::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: -1px; height: 2px; background: #2e7fb8; transform: scaleX(0); transform-origin: center; transition: transform .2s ease; }
.desktop-nav > a:hover::after, .desktop-nav > a.active::after, .nav-dropdown:hover::after, .nav-dropdown.active::after { transform: scaleX(1); }
.desktop-nav > a:hover, .desktop-nav > a.active, .nav-dropdown:hover > .nav-dropdown-trigger, .nav-dropdown.active > .nav-dropdown-trigger { color: #0b3157; }
.nav-dropdown { position: relative; height: 100%; display: flex; align-items: center; }
.nav-dropdown-trigger { gap: 8px; }
.nav-dropdown-trigger > span { width: 6px; height: 6px; margin-top: -3px; border-right: 1.5px solid #638098; border-bottom: 1.5px solid #638098; transform: rotate(45deg); transition: transform .2s ease; }
.nav-dropdown:hover .nav-dropdown-trigger > span, .nav-dropdown:focus-within .nav-dropdown-trigger > span { margin-top: 3px; transform: rotate(225deg); }
.insurance-mega-menu, .corporate-menu { position: absolute; top: calc(100% - 1px); visibility: hidden; opacity: 0; pointer-events: none; transform: translateY(12px); transition: opacity .2s ease, transform .2s ease, visibility .2s; }
.nav-dropdown:hover > .insurance-mega-menu, .nav-dropdown:focus-within > .insurance-mega-menu, .nav-dropdown:hover > .corporate-menu, .nav-dropdown:focus-within > .corporate-menu { visibility: visible; opacity: 1; pointer-events: auto; transform: translateY(0); }
.insurance-mega-menu { left: -165px; width: 680px; display: grid; grid-template-columns: 225px 1fr; overflow: hidden; background: white; border: 1px solid #d9e4ec; border-radius: 0 0 12px 12px; box-shadow: 0 28px 65px rgba(6,28,52,.18); }
.mega-menu-intro { display: flex; flex-direction: column; min-height: 290px; padding: 32px 28px; color: white; background: linear-gradient(145deg,#082445,#0d3b68); }
.mega-menu-intro > small { color: #8fc2e1; font-size: 9.5px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.mega-menu-intro > strong { margin-top: 20px; font-size: 21px; line-height: 1.4; font-weight: 570; }
.mega-menu-intro > a { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 16px; color: #e0ecf4; border-top: 1px solid rgba(255,255,255,.16); font-size: 10.5px; font-weight: 750; }
.mega-product-links { display: grid; grid-template-columns: repeat(2,1fr); align-content: start; padding: 20px; }
.mega-product-links > a { min-height: 62px; display: flex; flex-direction: column; justify-content: center; padding: 10px 13px; border-bottom: 1px solid #e7edf2; transition: background .18s ease; }
.mega-product-links > a:nth-last-child(-n+2) { border-bottom: 0; }
.mega-product-links > a:hover { color: inherit; background: #f2f7fa; }
.mega-product-links small { color: #758b9d; font-size: 8px; letter-spacing: .075em; text-transform: uppercase; }
.mega-product-links b { margin-top: 5px; color: #173957; font-size: 11.5px; font-weight: 750; }
.corporate-menu { left: 0; width: 265px; padding: 10px; background: white; border: 1px solid #d9e4ec; border-radius: 0 0 10px 10px; box-shadow: 0 24px 55px rgba(6,28,52,.16); }
.corporate-menu > a { display: grid; grid-template-columns: 30px 1fr; align-items: center; min-height: 54px; padding: 0 12px; border-bottom: 1px solid #e8eef2; }
.corporate-menu > a:last-child { border-bottom: 0; }
.corporate-menu > a:hover { color: inherit; background: #f3f7fa; }
.corporate-menu small { color: #6f9bb9; font-family: Georgia,serif; font-size: 9px; }
.corporate-menu b { color: #24445f; font-size: 11.5px; font-weight: 720; }
.header-actions { flex: none; }
.nav-cta { min-width: 116px; display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; background: #0a2b50; border: 1px solid #0a2b50; border-radius: 5px; font-size: 11.5px; letter-spacing: .015em; transition: background .2s, border-color .2s; }
.nav-cta:hover { color: white; background: #15466f; border-color: #15466f; }

@media (max-width: 1120px) {
  .desktop-nav { display: none; }
  .menu-toggle { display: grid; border: 1px solid #d9e5ed; border-radius: 5px; }
  .mobile-menu { width: min(410px,90vw); padding: 0 30px 30px; overflow-y: auto; background: #071b34; box-shadow: -25px 0 70px rgba(3,15,29,.32); }
  .mobile-menu-head { min-height: 92px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.1); }
  .mobile-menu .brand-wordmark b { color: white; }
  .mobile-menu .brand-wordmark small { color: #86a3b9; }
  .mobile-menu-close { position: static; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; }
  .mobile-menu-kicker { display: block; margin-top: 27px; color: #79acd0; font-size: 9.5px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
  .mobile-menu nav { margin-top: 12px; gap: 0; }
  .mobile-menu nav a { min-height: 52px; gap: 17px; padding: 0; font-size: 14px; font-weight: 650; }
  .mobile-menu nav a.active { color: white; }
  .mobile-menu nav span { width: 20px; color: #6f9fbe; }
  .mobile-menu-contact { gap: 12px; margin-top: 30px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.1); }
  .mobile-menu-contact a { min-height: 32px; font-size: 10.5px; }
  .mobile-menu-contact a:last-child { min-height: 49px; margin-top: 4px; padding: 0 15px; border-radius: 5px; }
  .mobile-menu-backdrop { background: rgba(3,15,29,.58); backdrop-filter: blur(3px); }
}

@media (max-width: 760px) {
  .topbar-inner { justify-content: flex-end; }
  .topbar p, .top-links a:first-child { display: none; }
  .top-links a:nth-child(2), .top-links a:last-child { display: flex; }
  .top-links a { padding-inline: 12px; }
  .nav-wrap { height: 70px; }
  .brand-wordmark { min-width: 138px; }
  .brand-wordmark b { font-size: 24px; }
  .brand-wordmark small { margin-top: 6px; font-size: 8px; }
}

@media (max-width: 430px) {
  .nav-cta { min-width: 0; }
  .brand-wordmark b { font-size: 23px; }
  .brand-wordmark small { font-size: 7.5px; }
}
