:root{
  --navy:#0b1f33;
  --navy-2:#102a43;
  --blue:#2563eb;
  --blue-2:#3b82f6;
  --cyan:#38bdf8;
  --ink:#172033;
  --muted:#667085;
  --line:#e5eaf1;
  --surface:#f7f9fc;
  --surface-2:#eef4fb;
  --white:#fff;
  --radius:16px;
  --radius-sm:10px;
  --shadow-sm:0 1px 2px rgba(16,24,40,.04),0 4px 14px rgba(16,24,40,.06);
  --shadow:0 18px 48px rgba(16,24,40,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--white);line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none;transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease}
img{max-width:100%;display:block}
button,input,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}

/* Slim utility bar */
.topbar{background:var(--navy);color:#d8e5f3;font-size:.86rem;border-bottom:1px solid rgba(255,255,255,.08)}
.topbar .container{display:flex;justify-content:flex-end;align-items:center;min-height:38px}
.topbar-links{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap}
.topbar a:hover{color:#fff}

/* Clean app-style navigation inspired by the SSO environment */
.navbar{background:rgba(255,255,255,.96);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);backdrop-filter:saturate(160%) blur(14px)}
.navbar .container{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:76px}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{width:210px;height:58px;object-fit:contain}
.nav{display:flex;gap:.35rem;align-items:center;margin-left:auto;color:#344054;font-size:.94rem;font-weight:650}
.nav a{padding:.65rem .78rem;border-radius:9px;white-space:nowrap}
.nav a:hover,.nav a.active{color:var(--blue);background:#f1f5ff}
.nav .contact-btn{background:var(--blue);color:#fff;padding:.68rem 1rem;margin-left:.35rem;box-shadow:0 2px 6px rgba(37,99,235,.20)}
.nav .contact-btn:hover{color:#fff;background:#1d4ed8;transform:translateY(-1px)}
.menu-btn{display:none;background:#fff;border:1px solid var(--line);color:var(--navy);padding:.6rem .8rem;border-radius:9px;font-weight:700;cursor:pointer}

/* Hero */
.hero{position:relative;min-height:610px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(90deg,rgba(7,20,38,.94) 0%,rgba(7,20,38,.78) 44%,rgba(7,20,38,.18) 78%),url('../images/redtruck.jpg') center/cover no-repeat;color:#fff}
.hero:after{content:"";position:absolute;inset:auto -8% -45% auto;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(56,189,248,.22),transparent 65%);pointer-events:none}
.hero .container{position:relative;z-index:1}
.hero-content{max-width:700px;padding:6.5rem 0}
.eyebrow{display:inline-flex;align-items:center;gap:.45rem;color:var(--blue);font-weight:800;letter-spacing:.09em;text-transform:uppercase;font-size:.76rem}
.hero .eyebrow,.page-hero .eyebrow{color:#8bd5ff}
.hero h1{font-size:clamp(3rem,6vw,5.25rem);line-height:.98;letter-spacing:-.045em;margin:.55rem 0 1.15rem;font-weight:800}
.hero p{font-size:1.19rem;max-width:610px;color:#dce7f5;line-height:1.7}
.button-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.8rem}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;background:var(--blue);color:#fff;padding:.76rem 1.18rem;border-radius:10px;font-weight:750;border:1px solid var(--blue);cursor:pointer;box-shadow:0 2px 6px rgba(37,99,235,.18)}
.btn:hover{background:#1d4ed8;border-color:#1d4ed8;color:#fff;transform:translateY(-1px)}
.btn.secondary{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.35);box-shadow:none;backdrop-filter:blur(8px)}
.btn.secondary:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.55)}

.promo-strip{background:#fff;border-bottom:1px solid var(--line)}
.promo-strip .container{display:flex;justify-content:center;gap:2rem;align-items:center;padding:1rem 0;color:#475467;font-size:.94rem;font-weight:650}

/* Content */
.section{padding:88px 0}
.section.alt{background:var(--surface)}
.section-title{text-align:center;max-width:760px;margin:0 auto 3rem}
.section-title h2,.two-col h2,.content-narrow h2{font-size:clamp(2rem,4vw,2.65rem);line-height:1.15;letter-spacing:-.03em;margin:.55rem 0 1rem;color:var(--navy)}
.section-title p,.card p{color:var(--muted)}
.two-col{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.two-col>img,.liability-image{border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.5)}
.checks{padding:0;list-style:none;margin:1.5rem 0}
.checks li{margin:.8rem 0;padding-left:2rem;position:relative;color:#475467}
.checks li:before{content:'✓';position:absolute;left:0;top:.05rem;width:1.35rem;height:1.35rem;display:grid;place-items:center;border-radius:50%;background:#eaf2ff;color:var(--blue);font-size:.8rem;font-weight:900}
.stat{display:inline-block;font-size:3rem;font-weight:800;color:var(--blue);line-height:1;letter-spacing:-.05em;margin-top:.6rem}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{padding:28px;background:#fff;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(16,24,40,.09);border-color:#cfd8e6}
.card h3{margin:0 0 .65rem;color:var(--navy);font-size:1.08rem}
.card p{margin:0;font-size:.95rem}

/* Interior pages */
.page-hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#0b1f33 0%,#123a61 72%,#1c5d91 100%);color:#fff;padding:72px 0}
.page-hero:after{content:"";position:absolute;right:-80px;top:-180px;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(56,189,248,.24),transparent 68%)}
.page-hero .container{position:relative;z-index:1}
.page-hero h1{font-size:clamp(2.45rem,5vw,3.6rem);line-height:1.05;letter-spacing:-.04em;margin:.4rem 0;font-weight:800}
.content-narrow{max-width:850px;margin:auto}
.login-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.login-card{padding:32px;background:#fff;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow-sm);text-align:left}
.login-card h2,.login-card h3{color:var(--navy)}
.embed-panel{min-height:420px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:var(--shadow-sm);overflow:hidden}
.embed-panel>div[id^="knack-"]{width:100%}
.embed-note{max-width:680px;text-align:center;color:var(--muted)}

/* Forms */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-sm)}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
label{font-weight:700;color:#344054;font-size:.93rem}
input,textarea{width:100%;margin-top:6px;padding:12px 13px;border:1px solid #cfd7e3;border-radius:9px;background:#fff;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s}
input:focus,textarea:focus{border-color:#7aa7ff;box-shadow:0 0 0 4px rgba(37,99,235,.10)}
textarea{min-height:140px;resize:vertical}
.notice{padding:16px 18px;border-radius:12px;background:#eff6ff;border:1px solid #dbeafe;color:#365475}

/* Footer */
.footer{background:#081827;color:#b9c6d6;padding:58px 0 22px;border-top:1px solid #122d49}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px}
.footer img{width:230px;filter:brightness(1.08)}
.footer h3{color:#fff;font-size:.95rem;text-transform:uppercase;letter-spacing:.06em;margin-top:0}
.footer p{color:#9fb0c3}
.footer a{display:block;margin:.42rem 0;color:#c5d1df;font-size:.94rem}
.footer a:hover{color:#fff}
.copyright{border-top:1px solid #1c3248;margin-top:38px;padding-top:20px;text-align:center;font-size:.84rem;color:#8093a8}
.hidden{display:none}

@media(max-width:1000px){
  .nav{gap:.15rem;font-size:.9rem}.nav a{padding:.6rem}.brand img{width:185px}
  .cards{grid-template-columns:1fr 1fr}.two-col{gap:42px}
}
@media(max-width:820px){
  .navbar .container{min-height:70px}.brand img{width:180px;height:52px}
  .nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:12px 20px 18px;border-bottom:1px solid var(--line);box-shadow:0 14px 24px rgba(16,24,40,.08)}
  .nav.open{display:flex}.nav a{padding:.78rem .85rem}.nav .contact-btn{margin:.35rem 0 0;text-align:center}
  .menu-btn{display:block}.hero{min-height:560px;background-position:62% center}.hero-content{padding:5.5rem 0}.two-col,.login-grid,.footer-grid{grid-template-columns:1fr}.two-col{gap:34px}.footer-grid{gap:30px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}
}
@media(max-width:560px){
  .container{width:min(100% - 28px,1180px)}.topbar .container{justify-content:center}.topbar-links{gap:.85rem;font-size:.78rem}
  .hero{min-height:530px}.hero-content{padding:4.6rem 0}.hero h1{font-size:2.8rem}.hero p{font-size:1.05rem}.button-row{flex-direction:column;align-items:stretch}.btn{width:100%}
  .cards{grid-template-columns:1fr}.section{padding:62px 0}.page-hero{padding:54px 0}.page-hero h1{font-size:2.45rem}.embed-panel{padding:16px;border-radius:14px}.form-grid{padding:20px}.footer{padding-top:46px}
}

/* Portal-first homepage iteration */
.topbar-inner{justify-content:space-between!important;width:100%}.topbar-message{font-weight:700;color:#9fb6cc;letter-spacing:.02em}
.portal-hero{min-height:575px;background:linear-gradient(90deg,rgba(5,18,33,.96) 0%,rgba(5,18,33,.86) 46%,rgba(5,18,33,.3) 76%),url('../images/redtruck.jpg') center/cover no-repeat}
.portal-hero .hero-content{max-width:760px;padding:6rem 0 7rem}.portal-hero h1{max-width:720px}.portal-hero p{max-width:650px}
.hero-trust{display:flex;gap:34px;margin-top:2.1rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.14);max-width:590px}.hero-trust span{display:flex;flex-direction:column;gap:2px}.hero-trust strong{font-size:1rem;color:#fff}.hero-trust small{color:#aebfd1;font-size:.82rem}
.quick-access{position:relative;margin-top:-58px;z-index:5;padding-bottom:28px}.quick-access .container{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 70px rgba(16,24,40,.13);padding:30px}.quick-access-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:22px}.quick-access-heading h2{margin:.3rem 0 0;color:var(--navy);font-size:clamp(1.7rem,3vw,2.25rem);letter-spacing:-.035em}.quick-access-heading p{margin:0;color:var(--muted)}
.portal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.portal-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-height:118px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fbfcfe}.portal-card:hover{transform:translateY(-3px);border-color:#bdd0f7;background:#fff;box-shadow:0 12px 28px rgba(16,24,40,.08)}.portal-card-primary{background:linear-gradient(145deg,#eef5ff,#f8fbff);border-color:#cfe0ff}.portal-icon{width:44px;height:44px;border-radius:12px;background:#eaf2ff;color:var(--blue);display:grid;place-items:center;flex:none}.portal-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.portal-copy{display:flex;flex-direction:column;gap:3px}.portal-copy strong{color:var(--navy);font-size:1rem}.portal-copy small{color:var(--muted);font-size:.82rem;line-height:1.4}.portal-arrow{font-size:1.3rem;color:#8ca4bf;transition:transform .2s ease,color .2s ease}.portal-card:hover .portal-arrow{transform:translateX(3px);color:var(--blue)}
.value-section{padding-top:72px}.modern-split{align-items:stretch}.content-stack{padding:12px 0}.content-stack .lead{font-size:1.06rem;color:#596579;max-width:650px}.feature-list{margin:28px 0 8px;border-top:1px solid var(--line)}.feature-row{display:grid;grid-template-columns:48px 1fr;gap:12px;padding:20px 0;border-bottom:1px solid var(--line)}.feature-row>span{font-size:.8rem;font-weight:850;color:var(--blue);letter-spacing:.08em}.feature-row strong{display:block;color:var(--navy);margin-bottom:3px}.feature-row p{margin:0;color:var(--muted);font-size:.94rem}.button-row.compact{align-items:center;margin-top:28px}.text-link{font-weight:750;color:var(--blue);padding:.7rem .2rem}.text-link span{display:inline-block;transition:transform .2s}.text-link:hover span{transform:translateX(3px)}
.image-panel{position:relative;min-height:520px}.image-panel img{width:100%;height:100%;object-fit:cover;border-radius:20px;box-shadow:var(--shadow);border:1px solid var(--line)}.image-badge{position:absolute;left:22px;right:22px;bottom:22px;background:rgba(8,24,39,.9);color:#fff;padding:17px 19px;border-radius:14px;backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:2px}.image-badge strong{font-size:1rem}.image-badge span{font-size:.83rem;color:#c8d4e0}
.left-title{text-align:left;margin-left:0;max-width:680px}.modern-cards{grid-template-columns:repeat(3,1fr)}.modern-cards .card{min-height:230px;padding:30px}.card-number{font-size:.78rem;font-weight:850;color:var(--blue);letter-spacing:.12em;margin-bottom:34px}.modern-cards .card h3{font-size:1.18rem}.modern-cards .card p{font-size:.96rem}
.cta-band{background:linear-gradient(120deg,#0b1f33,#103b62);color:#fff;padding:48px 0}.cta-band-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta-band h2{margin:.35rem 0 0;font-size:clamp(1.8rem,3vw,2.45rem);letter-spacing:-.035em}.cta-actions{display:flex;align-items:center;gap:18px}.btn.light{background:#fff;color:var(--navy);border-color:#fff;box-shadow:none}.btn.light:hover{background:#f2f6fa;border-color:#f2f6fa;color:var(--navy)}.cta-phone{font-weight:800;color:#fff;font-size:1.05rem}

@media(max-width:1080px){.portal-grid{grid-template-columns:1fr 1fr}.portal-hero{min-height:540px}.quick-access{margin-top:-46px}}
@media(max-width:820px){.topbar-message{display:none}.topbar-inner{justify-content:center!important}.portal-hero .hero-content{padding:5rem 0 6rem}.quick-access{margin-top:-30px}.quick-access .container{padding:22px}.quick-access-heading{align-items:flex-start;flex-direction:column;gap:6px}.image-panel{min-height:410px}.modern-cards{grid-template-columns:1fr}.cta-band-inner{align-items:flex-start;flex-direction:column}.nav a[href="file-a-claim.html"],.nav a[href="published-policies.html"]{display:block}}
@media(max-width:560px){.hero-trust{gap:18px;flex-direction:column}.portal-grid{grid-template-columns:1fr}.portal-card{min-height:104px}.quick-access .container{width:calc(100% - 20px);padding:16px}.quick-access-heading{padding:4px}.quick-access-heading p{font-size:.9rem}.image-panel{min-height:340px}.image-badge{left:14px;right:14px;bottom:14px}.cta-actions{align-items:flex-start;flex-direction:column}.cta-band{padding:38px 0}}

/* Account chooser */
.page-hero-copy{max-width:620px;color:#c7d5e3;font-size:1.02rem;margin:.8rem 0 0}.account-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.account-choice{display:grid;grid-template-columns:72px 1fr;gap:22px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:var(--shadow-sm)}.account-choice:hover{transform:translateY(-3px);border-color:#c9d8ef;box-shadow:0 16px 36px rgba(16,24,40,.09)}.account-choice-icon{width:64px;height:64px;border-radius:16px;background:linear-gradient(145deg,#eaf2ff,#f6f9ff);display:grid;place-items:center;color:var(--blue);font-weight:900;border:1px solid #d7e5ff}.account-choice h2{margin:.35rem 0 .55rem;color:var(--navy);font-size:1.35rem}.account-choice p{margin:0 0 1rem;color:var(--muted)}.account-link{color:var(--blue);font-weight:800;font-size:.94rem}@media(max-width:820px){.account-choice-grid{grid-template-columns:1fr}}@media(max-width:560px){.account-choice{grid-template-columns:1fr;padding:22px}.account-choice-icon{width:54px;height:54px}}


/* 2026 SSO-inspired clean visual refresh */
:root{
  --navy:#071a2d;
  --navy-2:#0d2b49;
  --blue:#1976d2;
  --blue-2:#3b8eea;
  --surface:#f4f7fa;
  --surface-2:#edf2f7;
  --line:#dce4ec;
  --radius:18px;
  --shadow-sm:0 8px 24px rgba(6,24,44,.07);
  --shadow:0 26px 70px rgba(5,20,38,.16);
}
body{background:#f7f9fb;color:#1b2636}
.topbar{background:#061625;border-bottom:0}.topbar .container{min-height:34px}.topbar-message{color:#aec0d1}
.navbar{background:rgba(255,255,255,.94);border-bottom:1px solid rgba(13,43,73,.08);box-shadow:0 1px 12px rgba(5,20,38,.035)}
.navbar .container{min-height:72px}.brand img{width:194px;height:54px}.nav{font-size:.92rem}.nav a{padding:.6rem .75rem}.nav .contact-btn{border-radius:999px;padding:.65rem 1rem}

/* Use the same trucking background treatment across the public site and portal pages. */
.portal-hero,.photo-page-hero{
  background-image:linear-gradient(90deg,rgba(3,14,25,.92) 0%,rgba(4,19,34,.81) 47%,rgba(7,28,48,.38) 100%),url('../images/redtruck.jpg');
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
}
.portal-hero{min-height:650px}.portal-hero:after{background:radial-gradient(circle,rgba(70,166,255,.18),transparent 68%)}
.sso-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(350px,.62fr);gap:72px;align-items:center}
.portal-hero .hero-content{padding:6rem 0;max-width:720px}.portal-hero h1{font-size:clamp(3.35rem,6.2vw,5.6rem);max-width:700px}.portal-hero p{font-size:1.16rem;max-width:650px;color:#d7e4ef}
.sso-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:2.2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.18)}
.sso-trust span{padding-right:20px}.sso-trust span+span{padding-left:20px;border-left:1px solid rgba(255,255,255,.16)}
.sso-trust strong{display:block;font-size:1rem;color:#fff}.sso-trust small{display:block;color:#aebfd0;line-height:1.4;margin-top:2px;font-size:.78rem}
.hero-access-card{background:rgba(255,255,255,.97);color:#1c2837;border:1px solid rgba(255,255,255,.65);border-radius:22px;padding:30px;box-shadow:0 28px 80px rgba(0,0,0,.28);backdrop-filter:blur(18px)}
.hero-access-card .access-kicker{color:var(--blue);font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.12em}.hero-access-card h2{font-size:1.7rem;line-height:1.15;color:var(--navy);letter-spacing:-.025em;margin:.45rem 0 .45rem}.hero-access-card>p{font-size:.92rem;color:#6a7787;margin:0 0 1.2rem}
.access-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #e2e8ef;background:#fff;border-radius:12px;padding:14px 15px;margin-top:9px;font-weight:750;color:#243448}.access-row b{font-size:1.1rem;color:#8ba0b5;transition:transform .18s,color .18s}.access-row:hover{border-color:#b9d3ed;background:#f7fbff;color:var(--navy);transform:translateY(-1px)}.access-row:hover b{color:var(--blue);transform:translateX(3px)}.access-row.primary{background:#eaf4ff;border-color:#cfe4fb;color:#0a4f91}.access-help{font-size:.79rem;color:#748294;margin-top:18px;padding-top:16px;border-top:1px solid #e7edf3}.access-help a{color:#315f89;font-weight:700}

.sso-quick{margin-top:0;background:#fff;border:0;box-shadow:none;padding:56px 0 28px}.sso-quick .container{padding:0;background:transparent;border:0;box-shadow:none}.sso-quick .quick-access-heading{margin-bottom:22px}.sso-quick .quick-access-heading h2{font-size:clamp(1.75rem,3vw,2.35rem);margin:.35rem 0 0}
.resource-pill-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.resource-pill-grid>a{display:flex;flex-direction:column;gap:3px;background:#f8fafc;border:1px solid #e4eaf0;border-radius:14px;padding:19px 20px}.resource-pill-grid>a:hover{background:#fff;border-color:#bdd4e9;box-shadow:0 10px 28px rgba(8,34,59,.07);transform:translateY(-2px)}.resource-pill-grid strong{color:var(--navy);font-size:.95rem}.resource-pill-grid span{color:#728092;font-size:.82rem}

.section{padding:78px 0}.section.alt{background:#f3f6f9}.card,.account-choice,.login-card,.form-grid,.embed-panel{border-color:#e0e7ee;box-shadow:0 12px 34px rgba(7,27,47,.06)}
.card,.account-choice,.login-card,.form-grid{border-radius:18px}.card:hover,.account-choice:hover{box-shadow:0 18px 46px rgba(7,27,47,.10);border-color:#c7d6e4}
.modern-cards .card{min-height:210px}.card-number{margin-bottom:24px}

.photo-page-hero{padding:88px 0;background-position:center 44%}.photo-page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,17,30,.94),rgba(7,27,47,.72) 58%,rgba(7,27,47,.35));z-index:0}.photo-page-hero .container{position:relative;z-index:2}.photo-page-hero:after{display:none}.photo-page-hero h1{text-shadow:0 2px 18px rgba(0,0,0,.16)}
.portal-app-section{background:linear-gradient(180deg,#eef3f7 0%,#f8fafc 100%)!important;padding:48px 0 72px}.portal-app-section .embed-panel{max-width:1180px;margin:0 auto;background:#fff;border-radius:20px;padding:28px;min-height:480px;box-shadow:0 18px 55px rgba(6,25,45,.09)}
.account-choice-grid{max-width:1040px}.account-choice{padding:32px}.account-choice-icon{background:#eef6fd;border-color:#d5e7f7;border-radius:15px}

.cta-band{background:#071a2d}.footer{background:#051522;border-top:0}.footer-grid{gap:60px}.copyright{border-top-color:#163047}

@media(max-width:1050px){.sso-hero-grid{grid-template-columns:1fr .75fr;gap:38px}.resource-pill-grid{grid-template-columns:1fr 1fr}.sso-trust{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:820px){.portal-hero{min-height:auto}.sso-hero-grid{grid-template-columns:1fr;gap:0}.portal-hero .hero-content{padding:5rem 0 2rem}.hero-access-card{margin-bottom:4rem}.sso-trust{grid-template-columns:1fr;gap:12px}.sso-trust span,.sso-trust span+span{padding:0;border-left:0}.photo-page-hero{padding:64px 0;background-position:58% center}.resource-pill-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.portal-hero h1{font-size:3.05rem}.hero-access-card{padding:22px;border-radius:18px}.resource-pill-grid{grid-template-columns:1fr}.sso-quick{padding:42px 0 18px}.photo-page-hero{padding:54px 0}.portal-app-section .embed-panel{padding:14px;border-radius:15px}.section{padding:60px 0}}

/* Self-hosted CTA support chat */
.cta-chat-launcher{position:fixed;right:22px;bottom:22px;z-index:9998;border:0;border-radius:999px;background:#0b5cab;color:#fff;box-shadow:0 14px 38px rgba(4,35,67,.28);display:flex;align-items:center;gap:10px;padding:14px 18px;font:800 .94rem/1.1 inherit;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.cta-chat-launcher:hover{transform:translateY(-2px);background:#084f95;box-shadow:0 18px 44px rgba(4,35,67,.34)}
.cta-chat-launcher svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cta-chat-panel{position:fixed;right:22px;bottom:82px;z-index:9999;width:min(390px,calc(100vw - 28px));height:min(590px,calc(100vh - 112px));background:#fff;border:1px solid #dbe4ec;border-radius:20px;box-shadow:0 26px 80px rgba(3,20,38,.24);display:none;overflow:hidden;flex-direction:column}
.cta-chat-panel.open{display:flex}
.cta-chat-head{background:linear-gradient(135deg,#071a2d,#0e3a61);color:#fff;padding:18px 18px 16px;display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.cta-chat-head strong{display:block;font-size:1rem}.cta-chat-head span{display:block;color:#b7cadc;font-size:.78rem;margin-top:3px}
.cta-chat-close{border:0;background:rgba(255,255,255,.1);color:#fff;width:32px;height:32px;border-radius:9px;cursor:pointer;font-size:1.25rem;line-height:1}
.cta-chat-body{flex:1;overflow:auto;padding:16px;background:#f5f8fb;display:flex;flex-direction:column;gap:10px}
.cta-chat-msg{max-width:82%;padding:10px 12px;border-radius:13px;font-size:.9rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}
.cta-chat-msg.visitor{align-self:flex-end;background:#0b5cab;color:#fff;border-bottom-right-radius:4px}
.cta-chat-msg.agent{align-self:flex-start;background:#fff;color:#26364a;border:1px solid #dfe7ef;border-bottom-left-radius:4px}
.cta-chat-msg.system{align-self:center;background:transparent;color:#76869a;font-size:.76rem;text-align:center;max-width:95%}
.cta-chat-time{display:block;font-size:.67rem;opacity:.7;margin-top:4px}
.cta-chat-welcome{background:#fff;border:1px solid #e0e7ee;border-radius:14px;padding:14px;color:#516173;font-size:.87rem;line-height:1.5}
.cta-chat-form{border-top:1px solid #e1e8ef;padding:12px;background:#fff;display:flex;gap:8px;align-items:flex-end}
.cta-chat-form textarea{margin:0;min-height:44px;max-height:110px;resize:none;border-radius:12px;padding:11px 12px;font:inherit;line-height:1.35}
.cta-chat-send{border:0;width:44px;height:44px;flex:none;border-radius:12px;background:#0b5cab;color:#fff;cursor:pointer;font-size:1.05rem;font-weight:900}
.cta-chat-send:disabled{opacity:.45;cursor:not-allowed}.cta-chat-status{padding:0 14px 10px;background:#fff;color:#718094;font-size:.72rem;min-height:17px}
@media(max-width:560px){.cta-chat-launcher{right:14px;bottom:14px;padding:13px 15px}.cta-chat-launcher span{display:none}.cta-chat-panel{right:8px;left:8px;bottom:72px;width:auto;height:min(610px,calc(100vh - 88px));border-radius:18px}}

/* 2026 branding + clean-route refinement */
.navbar .container{min-height:90px}
.brand img{width:270px;height:72px;object-fit:contain}
.hero-brand-name{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  margin-bottom:18px;
  padding:8px 15px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(4,20,36,.46);
  color:#fff;
  font-size:1.02rem;
  font-weight:850;
  line-height:1.15;
  letter-spacing:.07em;
  text-transform:uppercase;
  box-shadow:0 8px 30px rgba(0,0,0,.12);
  backdrop-filter:blur(8px);
}
.portal-hero .hero-content{max-width:760px}
@media(max-width:900px){
  .brand img{width:235px;height:64px}
  .navbar .container{min-height:82px}
}
@media(max-width:560px){
  .brand img{width:205px;height:58px}
  .navbar .container{min-height:74px}
  .hero-brand-name{font-size:.78rem;letter-spacing:.055em;padding:7px 11px;line-height:1.3}
}

/* Insurance Products navigation */
.nav-dropdown{position:relative}
.nav-dropdown-toggle{display:flex;align-items:center;gap:.38rem;border:0;background:transparent;color:#344054;padding:.65rem .78rem;border-radius:9px;font:inherit;font-weight:650;cursor:pointer;white-space:nowrap}
.nav-dropdown-toggle:hover,.nav-dropdown.open>.nav-dropdown-toggle,.nav-dropdown.active>.nav-dropdown-toggle{color:var(--blue);background:#f1f5ff}
.nav-dropdown-toggle span{font-size:.72rem;transition:transform .2s ease}
.nav-dropdown.open>.nav-dropdown-toggle span{transform:rotate(180deg)}
.nav-dropdown-menu{position:absolute;top:calc(100% + 10px);left:0;min-width:300px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px rgba(16,24,40,.14);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;z-index:100}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown.open .nav-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav-dropdown-menu a{display:block;padding:.72rem .82rem;border-radius:9px;font-size:.91rem;font-weight:650;color:#344054}
.nav-dropdown-menu a:hover,.nav-dropdown-menu a.active{background:#f1f5ff;color:var(--blue)}
.nav-dropdown-menu .dropdown-overview{color:var(--navy);font-weight:800;border-bottom:1px solid var(--line);border-radius:9px 9px 4px 4px;margin-bottom:5px;padding-bottom:.82rem}

/* Insurance Products menu in the homepage right-side access card */
.access-dropdown{border-top:0}
.access-dropdown .access-row{width:100%;text-align:left;cursor:pointer;font:inherit;font-weight:750}
.access-dropdown-toggle b{transition:transform .2s ease}
.access-dropdown.open .access-dropdown-toggle b{transform:rotate(180deg)}
.access-dropdown-menu{display:none;padding:0 0 9px 14px}
.access-dropdown.open .access-dropdown-menu{display:block}
.access-dropdown-menu a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;margin:2px 0;border-radius:9px;color:#475467;font-size:.86rem;font-weight:700}
.access-dropdown-menu a:hover{background:#f1f5ff;color:var(--blue)}
.access-dropdown-menu a:first-child{color:var(--navy);font-weight:800}

/* Insurance Products landing/detail pages */
.insurance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.insurance-card{position:relative;display:block;min-height:190px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.insurance-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(16,24,40,.09);border-color:#c7d7ef}
.insurance-card h3{margin:28px 0 8px;color:var(--navy);font-size:1.12rem}
.insurance-card p{margin:0;color:var(--muted);font-size:.94rem}
.insurance-card-arrow{position:absolute;right:22px;top:20px;color:var(--blue);font-size:1.25rem;font-weight:800}
.product-detail{display:grid;grid-template-columns:1.35fr .65fr;gap:48px;align-items:start}
.product-detail h2{font-size:clamp(2rem,4vw,2.65rem);line-height:1.15;letter-spacing:-.03em;color:var(--navy);margin:.55rem 0 1rem}
.product-detail .lead{color:var(--muted);font-size:1.05rem;max-width:720px}
.product-contact-card{padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.product-contact-card h3{margin-top:0;color:var(--navy)}
.product-contact-card p{color:var(--muted)}
.product-contact-card a{display:block;margin:.5rem 0;color:var(--blue);font-weight:750}

@media(max-width:1000px){.insurance-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){
  .nav-dropdown{width:100%}
  .nav-dropdown-toggle{width:100%;justify-content:space-between;padding:.78rem .85rem}
  .nav-dropdown-menu{position:static;min-width:0;width:100%;box-shadow:none;border:0;border-left:2px solid #dbe6f5;border-radius:0;margin:2px 0 5px 14px;padding:2px 0 2px 9px;opacity:1;visibility:visible;transform:none;display:none}
  .nav-dropdown.open .nav-dropdown-menu{display:block}
  .nav-dropdown:hover .nav-dropdown-menu:not(:focus-within){display:none}
  .nav-dropdown.open:hover .nav-dropdown-menu{display:block}
  .product-detail{grid-template-columns:1fr;gap:28px}
}
@media(max-width:560px){.insurance-grid{grid-template-columns:1fr}.insurance-card{min-height:160px}}


/* Match Insurance Products side-menu typography to other menu items */
.side-menu .insurance-products-toggle,
.side-menu .side-dropdown-toggle,
.member-access .insurance-products-toggle,
.member-access .side-dropdown-toggle {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
}


/* Insurance Products side-menu trigger: match bold weight of other menu items */
.side-menu .insurance-products-toggle,
.side-menu .side-dropdown-toggle,
.member-access .insurance-products-toggle,
.member-access .side-dropdown-toggle,
.portal-panel .insurance-products-toggle,
.portal-panel .side-dropdown-toggle {
    font-weight: 700 !important;
}

/* Exact homepage side-menu Insurance Products trigger weight */
.hero-access-card .access-dropdown > .access-dropdown-toggle.access-row{font-weight:750 !important;}
.hero-access-card .access-dropdown > .access-dropdown-toggle.access-row > span{font-weight:750 !important;}

/* v6 - top navigation logo: left aligned and 100% larger */
.navbar .container{
  width:calc(100% - 32px);
  max-width:1540px;
  margin-left:16px;
  margin-right:16px;
  min-height:150px;
}
.brand{
  margin-left:0 !important;
  margin-right:auto;
  justify-content:flex-start;
}
.brand img{
  width:540px !important;
  height:144px !important;
  max-width:none;
  object-fit:contain;
  object-position:left center;
}
@media(max-width:1250px){
  .brand img{width:390px !important;height:104px !important}
  .navbar .container{min-height:112px}
  .nav{font-size:.86rem;gap:.08rem}
  .nav a,.nav-dropdown-toggle{padding:.55rem .5rem}
}
@media(max-width:900px){
  .navbar .container{width:calc(100% - 24px);margin-left:12px;margin-right:12px;min-height:100px}
  .brand img{width:360px !important;height:96px !important}
}
@media(max-width:560px){
  .navbar .container{min-height:88px}
  .brand img{width:300px !important;height:80px !important;max-width:calc(100vw - 100px)}
}

/* v6 - top navigation logo: left aligned and 100% larger */
.navbar .container{width:calc(100% - 32px);max-width:1540px;margin-left:16px;margin-right:16px;min-height:150px}
.brand{margin-left:0 !important;margin-right:auto;justify-content:flex-start}
.brand img{width:540px !important;height:144px !important;max-width:none;object-fit:contain;object-position:left center}
@media(max-width:1250px){.brand img{width:390px !important;height:104px !important}.navbar .container{min-height:112px}.nav{font-size:.86rem;gap:.08rem}.nav a,.nav-dropdown-toggle{padding:.55rem .5rem}}
@media(max-width:900px){.navbar .container{width:calc(100% - 24px);margin-left:12px;margin-right:12px;min-height:100px}.brand img{width:360px !important;height:96px !important}}
@media(max-width:560px){.navbar .container{min-height:88px}.brand img{width:300px !important;height:80px !important;max-width:calc(100vw - 100px)}}


/* v7: floating logo over compact menu bar */
.site-header,
.main-nav,
.navbar,
.top-nav,
header {
    position: relative;
}

/* Restore compact menu/header sizing */
.site-header .container,
.main-nav .container,
.navbar .container,
.top-nav .container,
header .container {
    max-width: 1200px !important;
    min-height: unset !important;
}

/* Float the brand independently over the left side of the menu bar */
.site-logo,
.brand,
.nav-brand,
.navbar-brand {
    position: absolute !important;
    left: 28px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 20 !important;
    margin: 0 !important;
}

/* Keep logo large without forcing the navigation bar taller */
.site-logo img,
.brand img,
.nav-brand img,
.navbar-brand img,
header .logo img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-height: 112px !important;
    max-width: 330px !important;
}

/* Give menu items room so they don't sit underneath the floating logo */
.site-header nav,
.main-nav nav,
.navbar nav,
.top-nav nav,
header nav,
.site-header .nav-links,
.main-nav .nav-links,
.navbar .nav-links,
.top-nav .nav-links {
    padding-left: 250px !important;
}

/* Keep menu bar itself compact */
.site-header,
.main-nav,
.navbar,
.top-nav {
    min-height: 64px !important;
}

@media (max-width: 900px) {
    .site-logo,
    .brand,
    .nav-brand,
    .navbar-brand {
        left: 18px !important;
    }

    .site-logo img,
    .brand img,
    .nav-brand img,
    .navbar-brand img,
    header .logo img {
        max-height: 82px !important;
        max-width: 240px !important;
    }

    .site-header nav,
    .main-nav nav,
    .navbar nav,
    .top-nav nav,
    header nav,
    .site-header .nav-links,
    .main-nav .nav-links,
    .navbar .nav-links,
    .top-nav .nav-links {
        padding-left: 0 !important;
    }
}


/* v8: align utility text with floating logo and fix Contact active state */

/* Keep top utility content aligned to the same inset as the floating logo */
.utility-bar .container,
.topbar .container,
.top-bar .container,
.header-top .container,
.site-utility .container {
    max-width: none !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
}

/* Left tagline and right customer-service details align with logo inset */
.utility-bar,
.topbar,
.top-bar,
.header-top,
.site-utility {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.utility-bar .utility-left,
.utility-bar .utility-right,
.topbar .utility-left,
.topbar .utility-right,
.top-bar .utility-left,
.top-bar .utility-right,
.header-top .utility-left,
.header-top .utility-right,
.site-utility .utility-left,
.site-utility .utility-right {
    margin: 0 !important;
}

/* Do not leave Contact permanently highlighted */
.nav-links a[href="/contact"],
nav a[href="/contact"] {
    background: transparent;
}

/* Contact receives active styling only when body/page explicitly marks it active */
body.contact-page .nav-links a[href="/contact"],
body.contact-page nav a[href="/contact"],
.nav-links a[href="/contact"].active,
nav a[href="/contact"].active {
    background: var(--primary, #1d5fa7);
    color: #fff;
}

@media (max-width: 900px) {
    .utility-bar .container,
    .topbar .container,
    .top-bar .container,
    .header-top .container,
    .site-utility .container {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}


/* v9: uniform navigation across all pages; remove special Contact circle */
nav a[href="/contact"],
.nav-links a[href="/contact"],
.main-nav a[href="/contact"],
.top-nav a[href="/contact"] {
    border-radius: inherit !important;
    box-shadow: none !important;
    background: transparent !important;
    color: inherit !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: inherit !important;
}

/* Contact active state matches standard active nav treatment, not a circle */
nav a[href="/contact"].active,
.nav-links a[href="/contact"].active,
.main-nav a[href="/contact"].active,
.top-nav a[href="/contact"].active {
    border-radius: 8px !important;
    box-shadow: none !important;
}

/* Ensure all page navigation uses identical spacing/alignment */
.site-header nav,
.main-nav nav,
.top-nav nav,
.navbar nav,
.site-header .nav-links,
.main-nav .nav-links,
.top-nav .nav-links,
.navbar .nav-links {
    align-items: center !important;
}


/* v10: recenter main menu and keep Contact with the other menu items */
.site-header .container,
.main-nav .container,
.top-nav .container,
.navbar .container,
header .container {
    position: relative !important;
}

/* Main navigation occupies the full header width and centers its menu group */
.site-header nav,
.main-nav nav,
.top-nav nav,
.navbar nav,
header nav {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 auto !important;
}

/* Keep all menu items in one centered row with consistent spacing */
.site-header .nav-links,
.main-nav .nav-links,
.top-nav .nav-links,
.navbar .nav-links,
header .nav-links {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 28px !important;
    width: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Ensure Contact behaves exactly like the other nav items */
.site-header .nav-links a[href="/contact"],
.main-nav .nav-links a[href="/contact"],
.top-nav .nav-links a[href="/contact"],
.navbar .nav-links a[href="/contact"],
header .nav-links a[href="/contact"] {
    margin: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    position: static !important;
    transform: none !important;
}

/* Keep the floating logo independent of menu centering */
.site-logo,
.brand,
.nav-brand,
.navbar-brand {
    position: absolute !important;
    left: 28px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 20 !important;
}

/* Reserve visual room for the logo without shifting the menu group */
@media (min-width: 901px) {
    .site-header,
    .main-nav,
    .top-nav,
    .navbar {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .site-header .nav-links,
    .main-nav .nav-links,
    .top-nav .nav-links,
    .navbar .nav-links,
    header .nav-links {
        max-width: calc(100% - 420px) !important;
    }
}

@media (max-width: 900px) {
    .site-header .nav-links,
    .main-nav .nav-links,
    .top-nav .nav-links,
    .navbar .nav-links,
    header .nav-links {
        gap: 16px !important;
        max-width: 100% !important;
    }
}


/* v11: remove header utility strip */
.utility-bar,
.topbar,
.top-bar,
.header-top,
.site-utility {
    display: none !important;
}


/* v12: lower floating logo and brighten hero/background photography */

/* Lower the floating logo so the top edge is not clipped */
.site-logo,
.brand,
.nav-brand,
.navbar-brand {
    top: calc(50% + 18px) !important;
    overflow: visible !important;
}

.site-header,
.main-nav,
.top-nav,
.navbar,
header {
    overflow: visible !important;
}

/* Brighten the large background image by reducing dark overlay strength */
.hero::before,
.hero-section::before,
.page-hero::before,
.banner::before,
.masthead::before {
    opacity: 0.28 !important;
}

/* If the hero uses a gradient overlay directly on the element, add a soft light layer */
.hero,
.hero-section,
.page-hero,
.banner,
.masthead {
    background-blend-mode: normal !important;
}

/* Preserve readable foreground content while allowing more of the photo through */
.hero::after,
.hero-section::after,
.page-hero::after,
.banner::after,
.masthead::after {
    opacity: 0.08 !important;
}

@media (max-width: 900px) {
    .site-logo,
    .brand,
    .nav-brand,
    .navbar-brand {
        top: calc(50% + 10px) !important;
    }
}


/* v16: mobile navigation refinement - desktop styles unchanged */
@media (max-width: 900px) {
    .site-header,
    .main-nav,
    .top-nav,
    .navbar,
    header {
        min-height: 68px !important;
        overflow: visible !important;
    }

    .site-header .container,
    .main-nav .container,
    .top-nav .container,
    .navbar .container,
    header .container {
        min-height: 68px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        position: relative !important;
    }

    /* Keep floating logo readable and clear of the mobile menu trigger */
    .site-logo,
    .brand,
    .nav-brand,
    .navbar-brand {
        left: 18px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        z-index: 30 !important;
    }

    .site-logo img,
    .brand img,
    .nav-brand img,
    .navbar-brand img,
    header .logo img {
        max-height: 72px !important;
        max-width: 205px !important;
    }

    /* Mobile menu button */
    .menu-toggle,
    .nav-toggle,
    .mobile-menu-toggle,
    .hamburger {
        margin-left: auto !important;
        position: relative !important;
        z-index: 40 !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        border-radius: 10px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Mobile menu panel */
    .site-header nav,
    .main-nav nav,
    .top-nav nav,
    .navbar nav,
    header nav {
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .site-header .nav-links,
    .main-nav .nav-links,
    .top-nav .nav-links,
    .navbar .nav-links,
    header .nav-links {
        position: absolute !important;
        top: calc(100% + 8px) !important;
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 12px !important;
        display: none;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 6px !important;
        background: #ffffff !important;
        border: 1px solid rgba(15, 47, 82, 0.12) !important;
        border-radius: 16px !important;
        box-shadow: 0 18px 48px rgba(15, 47, 82, 0.18) !important;
        z-index: 35 !important;
        max-height: calc(100vh - 92px) !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .site-header .nav-links.open,
    .site-header .nav-links.active,
    .site-header .nav-links.show,
    .main-nav .nav-links.open,
    .main-nav .nav-links.active,
    .main-nav .nav-links.show,
    .top-nav .nav-links.open,
    .top-nav .nav-links.active,
    .top-nav .nav-links.show,
    .navbar .nav-links.open,
    .navbar .nav-links.active,
    .navbar .nav-links.show,
    header .nav-links.open,
    header .nav-links.active,
    header .nav-links.show {
        display: flex !important;
    }

    /* Every top-level mobile item looks like one clean row */
    .site-header .nav-links > a,
    .site-header .nav-links > li > a,
    .main-nav .nav-links > a,
    .main-nav .nav-links > li > a,
    .top-nav .nav-links > a,
    .top-nav .nav-links > li > a,
    .navbar .nav-links > a,
    .navbar .nav-links > li > a,
    header .nav-links > a,
    header .nav-links > li > a {
        width: 100% !important;
        min-height: 46px !important;
        margin: 0 !important;
        padding: 12px 14px !important;
        border-radius: 10px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        font-size: 16px !important;
        line-height: 1.25 !important;
        text-align: left !important;
    }

    /* Insurance Products top-level control matches the other rows */
    .nav-dropdown,
    .dropdown,
    .has-dropdown {
        width: 100% !important;
        margin: 0 !important;
    }

    .nav-dropdown > a,
    .nav-dropdown > button,
    .dropdown > a,
    .dropdown > button,
    .has-dropdown > a,
    .has-dropdown > button,
    .insurance-products-toggle {
        width: 100% !important;
        min-height: 46px !important;
        margin: 0 !important;
        padding: 12px 14px !important;
        border-radius: 10px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
        text-align: left !important;
    }

    /* Dropdown becomes an indented accordion rather than a desktop flyout */
    .nav-dropdown .dropdown-menu,
    .dropdown .dropdown-menu,
    .has-dropdown .dropdown-menu,
    .nav-dropdown-menu {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 4px 0 2px !important;
        padding: 6px !important;
        transform: none !important;
        box-shadow: none !important;
        border: 0 !important;
        border-left: 3px solid rgba(28, 103, 180, 0.22) !important;
        border-radius: 0 10px 10px 0 !important;
        background: #f7f9fc !important;
    }

    .nav-dropdown .dropdown-menu a,
    .dropdown .dropdown-menu a,
    .has-dropdown .dropdown-menu a,
    .nav-dropdown-menu a {
        display: block !important;
        width: 100% !important;
        padding: 10px 12px !important;
        margin: 0 !important;
        border-radius: 8px !important;
        font-size: 15px !important;
        line-height: 1.25 !important;
        white-space: normal !important;
    }

    /* Avoid desktop hover-only behavior on touch devices */
    .nav-dropdown:hover .dropdown-menu,
    .dropdown:hover .dropdown-menu,
    .has-dropdown:hover .dropdown-menu {
        transform: none !important;
    }

    /* Keep CTA/account/contact items from being separated or oversized */
    .site-header .nav-links a[href="/contact"],
    .site-header .nav-links a[href="/account"],
    .main-nav .nav-links a[href="/contact"],
    .main-nav .nav-links a[href="/account"],
    header .nav-links a[href="/contact"],
    header .nav-links a[href="/account"] {
        margin: 0 !important;
        width: 100% !important;
    }
}

@media (max-width: 480px) {
    .site-logo img,
    .brand img,
    .nav-brand img,
    .navbar-brand img,
    header .logo img {
        max-height: 64px !important;
        max-width: 175px !important;
    }

    .site-header .nav-links,
    .main-nav .nav-links,
    .top-nav .nav-links,
    .navbar .nav-links,
    header .nav-links {
        left: 8px !important;
        right: 8px !important;
        padding: 10px !important;
    }
}


/* v17: drop the mobile top navigation lower */
@media (max-width: 900px) {
    .site-header .nav-links,
    .main-nav .nav-links,
    .top-nav .nav-links,
    .navbar .nav-links,
    header .nav-links {
        top: calc(100% + 24px) !important;
    }
}

@media (max-width: 480px) {
    .site-header .nav-links,
    .main-nav .nav-links,
    .top-nav .nav-links,
    .navbar .nav-links,
    header .nav-links {
        top: calc(100% + 20px) !important;
    }
}


/* v18: hide the top navigation completely on mobile */
@media (max-width: 900px) {
    .site-header nav,
    .main-nav nav,
    .top-nav nav,
    .navbar nav,
    header nav,
    .site-header .nav-links,
    .main-nav .nav-links,
    .top-nav .nav-links,
    .navbar .nav-links,
    header .nav-links,
    .menu-toggle,
    .nav-toggle,
    .mobile-menu-toggle,
    .hamburger {
        display: none !important;
    }

    /* Keep only the floating logo/header visible on mobile */
    .site-header,
    .main-nav,
    .top-nav,
    .navbar,
    header {
        min-height: 72px !important;
    }

    .site-header .container,
    .main-nav .container,
    .top-nav .container,
    .navbar .container,
    header .container {
        min-height: 72px !important;
        justify-content: flex-start !important;
    }
}


/* v19: remove the mobile MENU text/control completely */
@media (max-width: 900px) {
    .menu-toggle,
    .nav-toggle,
    .mobile-menu-toggle,
    .hamburger,
    .menu-label,
    .mobile-menu-label,
    button[aria-label*="menu" i],
    button[title*="menu" i],
    a[aria-label*="menu" i],
    .nav-menu-toggle,
    .navbar-toggler {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
        width: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
    }

    /* Hide desktop/top navigation itself on mobile; leave logo only */
    header nav,
    .site-header nav,
    .main-nav,
    .top-nav,
    .navbar,
    .nav-links,
    .main-menu,
    .primary-menu {
        display: none !important;
    }
}


/* v20: restore mobile logo, hide only navigation and Menu control */
@media (max-width: 900px) {
    .navbar,
    header.navbar,
    .site-header {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        min-height: 78px !important;
        overflow: visible !important;
    }

    .navbar .container,
    header.navbar .container,
    .site-header .container {
        display: flex !important;
        min-height: 78px !important;
        align-items: center !important;
        position: relative !important;
    }

    .navbar .brand,
    header.navbar .brand,
    .site-header .brand {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: absolute !important;
        left: 18px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        z-index: 50 !important;
        width: auto !important;
        height: auto !important;
    }

    .navbar .brand img,
    header.navbar .brand img,
    .site-header .brand img {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        max-height: 70px !important;
        max-width: 200px !important;
        width: auto !important;
        height: auto !important;
    }

    .navbar .nav,
    header.navbar .nav,
    .site-header .nav,
    .navbar .menu-btn,
    header.navbar .menu-btn,
    .site-header .menu-btn {
        display: none !important;
        visibility: hidden !important;
    }
}

@media (max-width: 480px) {
    .navbar .brand img,
    header.navbar .brand img,
    .site-header .brand img {
        max-height: 64px !important;
        max-width: 180px !important;
    }
}
