body{margin:0}img{max-width:100%}[hidden]{display:none!important}

/* Layout: the current Omni site, cleaned up. Info header, light-blue nav bar, diagonal-blue hero with photo card, step rows, icon grid, arc-photo feature, blue contact panel. Single light look, matching the brand. */
:root{
  --sky:#2ea3f2;      /* nav bar, header icons (current site) */
  --blue:#1e73be;     /* buttons, eyebrows, panels (current site) */
  --deep:#17568f;     /* hero gradient start (current site) */
  --navy:#0b5c96;     /* logo ring */
  --teal:#9ce0e0;     /* logo inner */
  --green:#2ab88b;    /* service icons (current site) */
  --ink:#0d0d1a;
  --text:#3b3f45;
  --muted:#6b7280;
  --line:#e6e9ee;
  --bg:#ffffff;
  --soft:#f4f8fc;
  --ph-bg:#fff4d6;--ph-line:#e0a526;--ph-text:#7a5200;
  --f-display:"Jura","Trebuchet MS",sans-serif;
  --f-label:"Poppins","Segoe UI",sans-serif;
  --f-body:"Roboto","Helvetica Neue",Arial,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--text);font:400 16px/1.8 var(--f-body)}
h1,h2,h3,h4{margin:0;color:var(--ink);font-family:var(--f-display);font-weight:500;line-height:1.15;text-wrap:balance}
h1{font-size:clamp(2.4rem,5.4vw,4rem)}
h2{font-size:clamp(1.9rem,3.6vw,2.6rem)}
h3{font-size:1.3rem;font-weight:600}
p{margin:0}
a{color:var(--blue)}
a:focus-visible,button:focus-visible{outline:3px solid var(--sky);outline-offset:3px;border-radius:6px}
.wrap{max-width:1140px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.eyebrow{font:500 .85rem/1.4 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.ph{background:var(--ph-bg);color:var(--ph-text);border:1px dashed var(--ph-line);border-radius:4px;padding:0 .35em}
.btn{display:inline-block;padding:12px 26px;border-radius:999px;background:var(--blue);color:#fff;font:500 .95rem/1.4 var(--f-body);text-decoration:none;box-shadow:0 8px 18px -10px rgba(30,115,190,.8)}
.btn:hover{background:var(--deep)}
.btn-white{background:#fff;color:var(--blue);box-shadow:none}
.btn-white:hover{background:var(--soft)}
section{padding-block:90px}

.notice{background:var(--ph-bg);color:var(--ph-text);font-size:.85rem;border-bottom:1px solid var(--ph-line)}
.notice .wrap{padding-block:6px}

/* info header */
.top .wrap{display:flex;align-items:center;gap:28px;padding-block:14px;flex-wrap:wrap}
.top .logo{width:100px;height:100px;margin-right:auto;flex:none}
.top .logo img{width:100%;height:100%;display:block}
.info{display:flex;gap:12px;align-items:flex-start;min-width:0}
.ico{width:34px;height:34px;border:2px solid var(--sky);border-radius:50%;display:grid;place-items:center;flex:none;color:var(--sky)}
.ico svg{width:16px;height:16px}
.info b{display:block;font:500 1rem/1.3 var(--f-label);color:var(--sky)}
.info span{font:400 .88rem/1.6 var(--f-label);color:var(--ink)}
@media (max-width:820px){.top .info{display:none}.top .wrap{justify-content:center}.top .logo{margin:0}}

/* nav bar */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--sky)}
.navbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--sky);box-shadow:0 4px 14px -6px rgba(0,0,0,.25)}
.navbar ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:4px;flex-wrap:wrap}
.navbar a{display:block;padding:20px 12px;color:#fff;text-decoration:none;font:500 1rem/1 var(--f-label)}
.navbar a:hover{color:#e7f5fe;text-decoration:underline;text-underline-offset:6px}
.navbar .call{display:none}
@media (max-width:560px){.navbar a{padding:16px 8px;font-size:.9rem}}

/* hero */
.hero{position:relative;overflow:hidden;padding-block:110px}
.hero::after{content:"";position:absolute;inset:0 0 0 58%;background:linear-gradient(180deg,var(--deep),#1d6fb8);clip-path:polygon(22% 0,100% 0,100% 100%,22% 100%,0 0);z-index:0}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.hero-copy{display:grid;gap:24px;justify-items:start}
.hero-copy p{max-width:48ch}
.hero-photo{border-radius:8px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.45);aspect-ratio:1/1;max-width:100%}
.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:860px){.hero{padding-block:56px}.hero::after{inset:auto 0 0 0;height:42%;clip-path:none}.hero .wrap{grid-template-columns:1fr;gap:36px}.hero-photo{max-width:440px;justify-self:center}}

/* steps */
.steps-head{margin-bottom:28px}
.step{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;padding-block:26px;border-bottom:1px solid var(--line)}
.step:first-of-type{border-top:1px solid var(--line)}
.step h4{font-size:1.3rem}
.steps .btn{margin-top:34px}
@media (max-width:640px){.step{grid-template-columns:1fr;gap:6px}}

/* services */
.services{text-align:center}
.services .head{display:grid;gap:10px;margin-bottom:56px}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:44px 32px;text-align:left}
.svc{display:grid;gap:10px;align-content:start}
.svc svg{width:30px;height:30px;color:var(--green)}
.svc h4{font-size:1.12rem;font-weight:600}
.svc p{font-size:.95rem;line-height:1.7}
.svc .ph{font-size:.8rem;justify-self:start}
@media (max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.grid{grid-template-columns:1fr}}

/* short-term feature */
.stm{padding-block:0;background:var(--soft)}
.stm .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;max-width:none;padding-right:0}
.stm-copy{display:grid;gap:18px;padding-block:80px;max-width:540px;justify-self:end}
.stm-copy ul{margin:0;padding-left:20px;display:grid;gap:6px}
.stm-photo{align-self:stretch;min-height:420px;background:center/cover no-repeat;border-radius:50% 0 0 50% / 100% 0 0 100%}
.legal{border:1px solid var(--line);border-left:4px solid var(--blue);background:#fff;border-radius:6px;padding:16px 18px;font-size:.9rem;line-height:1.6;display:grid;gap:8px}
.legal strong{color:var(--ink)}
.legal ul{padding-left:18px;margin:0;gap:2px}
@media (max-width:860px){.stm .wrap{grid-template-columns:1fr;gap:0;padding-right:max(16px,env(safe-area-inset-right,0px))}.stm-photo{order:-1;min-height:260px;border-radius:0 0 50% 50% / 0 0 30% 30%;margin-left:calc(-1 * max(16px,env(safe-area-inset-left,0px)));margin-right:calc(-1 * max(16px,env(safe-area-inset-right,0px)))}.stm-copy{padding-block:40px 64px;justify-self:start}}

/* about / office */
.about .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.about-copy{display:grid;gap:18px}
.about-photo{border-radius:8px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.35)}
.about-photo img{display:block;width:100%;height:auto}
@media (max-width:860px){.about .wrap{grid-template-columns:1fr;gap:32px}}

/* values */
.values{text-align:center;padding-top:0}
.values .head{margin-bottom:48px}
.vals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;text-align:center}
.val{display:grid;gap:12px;justify-items:center}
.val svg{width:34px;height:34px;color:var(--green)}
.val h4{font-size:1.3rem}
.val p{max-width:32ch}
@media (max-width:760px){.vals{grid-template-columns:1fr;gap:32px}}

/* license band */
.license{background:linear-gradient(180deg,var(--deep),#1d6fb8);color:#fff;padding-block:64px}
.license .wrap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:40px;align-items:center}
.license img{width:150px;height:150px}
.license h2{color:#fff}
.license dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:22px 0 0}
.license dt{font:500 .78rem/1.3 var(--f-body);letter-spacing:.06em;text-transform:uppercase;opacity:.8}
.license dd{margin:4px 0 0;font:500 1rem/1.4 var(--f-label)}
@media (max-width:860px){.license .wrap{grid-template-columns:1fr;justify-items:center;text-align:center}.license dl{grid-template-columns:repeat(2,minmax(0,1fr));text-align:left}}

/* partners (carriers + states), echoes the current site's "Our Trusted Partners" row */
.partners{text-align:center}
.partners .sub{color:var(--muted);margin:10px auto 36px;max-width:60ch}
.names{list-style:none;margin:0 auto;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:14px 34px;max-width:980px}
.names li{font:500 clamp(1.15rem,2.2vw,1.45rem)/1.3 var(--f-display);color:#8a929c;letter-spacing:.01em}
.partners h3{margin:56px 0 18px;font-size:1.4rem;font-weight:500}
.states{list-style:none;margin:0 auto;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:900px}
.states li{border:1px solid var(--line);border-radius:999px;padding:6px 14px;font:400 .92rem/1.3 var(--f-label);color:var(--ink);background:var(--soft)}

/* contact */
.contact .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.contact-copy{display:grid;gap:18px}
.panel{background:var(--blue);color:#fff;border-radius:6px;padding:34px;display:grid;gap:20px;box-shadow:0 30px 60px -30px rgba(30,115,190,.7)}
.panel h3{color:#fff;font-family:var(--f-label);font-weight:500;font-size:1.15rem}
.row{display:flex;gap:14px;align-items:flex-start;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:16px}
.row:last-of-type{border-bottom:0}
.row .ico{border-color:#fff;color:#fff}
.row b{display:block;font:500 .8rem/1.3 var(--f-body);letter-spacing:.06em;text-transform:uppercase;opacity:.85}
.row span{font:500 1.05rem/1.5 var(--f-label);overflow-wrap:anywhere}
.row div{min-width:0}
.copy{margin-left:8px;background:transparent;border:1px solid rgba(255,255,255,.6);color:#fff;border-radius:999px;font:500 .75rem/1 var(--f-body);padding:5px 10px;cursor:pointer}
.panel .btn{justify-self:start}
@media (max-width:860px){.contact .wrap{grid-template-columns:1fr;gap:32px}}

/* cta */
.cta{background:linear-gradient(rgba(10,30,50,.62),rgba(10,30,50,.62)),url(img/advisor.jpg) center/cover;padding-block:90px}
.cta-box{background:#fff;border-radius:6px;padding:44px;text-align:center;display:grid;gap:16px;justify-items:center;max-width:860px;margin:0 auto}
.cta-box p{max-width:62ch}

/* footer */
footer{padding-block:64px 28px;border-top:1px solid var(--line)}
.foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:56px}
.foot-brand{display:grid;gap:16px;justify-items:start}
.foot-brand img{width:130px;height:130px}
.foot-brand p{font-size:.92rem;max-width:42ch}
.disc{display:grid;gap:12px;font-size:.84rem;line-height:1.6;color:var(--muted)}
.disc h4{font:500 1rem/1.3 var(--f-label);color:var(--ink)}
.fine{margin-top:44px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.84rem;color:var(--muted)}
.fine nav{display:flex;gap:18px}
.fine a{color:var(--muted)}
details.policy{margin-top:20px;font-size:.88rem}
details.policy summary{cursor:pointer;color:var(--ink);font-weight:500}
details.policy div{display:grid;gap:10px;margin-top:10px;max-width:80ch}
@media (max-width:860px){.foot{grid-template-columns:1fr;gap:36px}}

/* multi-page additions */
.navbar a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.page-hero{position:relative;background:linear-gradient(rgba(23,86,143,.55),rgba(29,111,184,.55)),url(img/family.jpg) center 30%/cover;padding-block:70px}
.page-hero .box{background:var(--blue);color:#fff;border-radius:6px;padding:40px;max-width:720px;margin:0 auto;display:grid;gap:14px;text-align:center;justify-items:center}
.page-hero h1{color:#fff;font-size:clamp(2.2rem,4.6vw,3.4rem)}
.page-hero p{max-width:56ch}
.more{display:inline-flex;gap:6px;font:500 .9rem/1.4 var(--f-body);color:var(--blue);text-decoration:none;margin-top:4px}
.more:hover{text-decoration:underline}
.center{text-align:center}
.services .btn{margin-top:48px}
.hours{display:grid;gap:2px;border-left:4px solid var(--sky);padding:6px 0 6px 14px}
.hours b{font:500 .8rem/1.4 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.hours span{font:500 1.15rem/1.4 var(--f-label);color:var(--ink)}
.hours small{font-size:.85rem;color:var(--muted)}
.team-note{max-width:1000px;margin:0 auto;text-align:center;display:grid;gap:14px}
.team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:24px}
.member{background:#fff;border-radius:8px;box-shadow:0 20px 40px -24px rgba(0,0,0,.3);padding:28px 16px;display:grid;gap:8px;justify-items:center}
.member .avatar{width:96px;height:96px;border-radius:50%;background:var(--teal);border:4px solid var(--navy);color:var(--navy);display:grid;place-items:center;font:600 1.6rem/1 var(--f-display)}
.member h4{font-size:1.2rem}
.member p{font-style:italic;font-size:.92rem;color:var(--muted)}
@media (max-width:860px){.team{grid-template-columns:repeat(2,minmax(0,1fr))}}
.policy-page .wrap{max-width:820px}
.policy-page h2{font-size:1.6rem;margin-top:36px}
.policy-page p,.policy-page li{margin-top:10px}
.faq-list{display:grid;gap:18px;margin-top:28px}
.faq-item{background:#fff;border:1px solid var(--line);border-left:4px solid var(--sky);border-radius:6px;padding:20px 22px}
.faq-item h2{font-size:1.25rem;margin:0}
.faq-item p,.faq-item ul{margin-top:8px}
.faq-item{scroll-margin-top:90px}
/* ---- motion and sister-site patterns ---- */
html.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
html.js .reveal.from-left{transform:translateX(-40px)}
html.js .reveal.from-right{transform:translateX(40px)}
html.js .reveal.in{opacity:1;transform:none}
.btn{transition:background .25s,transform .25s,box-shadow .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 24px -12px rgba(30,115,190,.9)}
.read-more{display:inline-flex;align-items:center;gap:8px;font:500 .95rem/1.4 var(--f-body);color:var(--blue);text-decoration:none}
.read-more svg{width:16px;height:16px;transition:transform .25s}
.read-more:hover{color:var(--deep)}
.read-more:hover svg{transform:translateX(4px)}
.navbar ul{align-items:center}
.navbar a.nav-cta{background:#fff;color:var(--blue);border-radius:999px;padding:11px 24px;margin:8px 0 8px 14px;box-shadow:0 6px 14px -8px rgba(0,0,0,.35);transition:background .25s,color .25s,transform .25s}
.navbar a.nav-cta:hover,.navbar a.nav-cta[aria-current="page"]{background:var(--navy);color:#fff;text-decoration:none}
.navbar a.nav-cta:hover{transform:translateY(-2px)}
@media (max-width:560px){.navbar a.nav-cta{padding:9px 16px;margin-left:6px}}
/* home: intro split */
.intro .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.intro-photo{position:relative;padding-left:16px}
.intro-photo::before{content:"";position:absolute;left:0;top:12%;bottom:30%;width:16px;background:var(--sky);border-radius:4px 0 0 4px}
.intro-photo img{display:block;width:100%;height:auto;border-radius:8px;box-shadow:0 30px 60px -30px rgba(0,0,0,.35)}
.stat{position:absolute;left:40px;bottom:-30px;background:#fff;border-radius:8px;padding:18px 24px;box-shadow:0 20px 40px -18px rgba(0,0,0,.35);display:grid;gap:2px;max-width:220px}
.stat b{font:600 2.6rem/1 var(--f-display);color:var(--sky)}
.stat span{font-size:.88rem;color:var(--muted);line-height:1.4}
.intro-copy{display:grid;gap:18px;justify-items:start}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.checks li{display:flex;gap:10px;align-items:flex-start}
.checks svg{flex:none;width:20px;height:20px;color:var(--green);margin-top:3px}
@media (max-width:860px){.intro .wrap{grid-template-columns:1fr;gap:64px}}
/* home: who we help */
.who{background:var(--soft)}
.who-head{text-align:center;display:grid;gap:10px;margin-bottom:48px;justify-items:center}
.who-head p{max-width:60ch;color:var(--muted)}
.who-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.who-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:32px 28px;display:grid;gap:12px;align-content:start;transition:transform .3s,box-shadow .3s,border-color .3s}
.who-card:hover{transform:translateY(-6px);box-shadow:0 24px 40px -24px rgba(11,92,150,.45);border-color:var(--sky)}
.who-card .ic{width:64px;height:64px;border-radius:12px;background:var(--navy);color:var(--teal);display:grid;place-items:center;transition:background .3s,color .3s}
.who-card:hover .ic{background:var(--sky);color:#fff}
.who-card .ic svg{width:32px;height:32px}
.who-card p{color:var(--muted)}
@media (max-width:860px){.who-grid{grid-template-columns:1fr}}
/* service cards */
.svc{background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px 22px;transition:transform .3s,box-shadow .3s,border-color .3s}
.svc:hover{transform:translateY(-6px);box-shadow:0 24px 40px -24px rgba(11,92,150,.45);border-color:var(--sky)}
.grid{gap:24px}
.svc .read-more{margin-top:4px;font-size:.9rem}
/* steps as numbered cards */
.step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.steps .step{position:relative;overflow:hidden;display:grid;grid-template-columns:none;gap:10px;align-content:start;padding:30px 26px 70px;border:0;border-radius:10px;background:var(--soft);transition:transform .3s,box-shadow .3s}
.steps .step:first-of-type{border-top:0}
.steps .step:hover{transform:translateY(-4px);box-shadow:0 20px 36px -24px rgba(11,92,150,.45)}
.steps .step .num{position:absolute;right:18px;bottom:-14px;font:600 5.5rem/1 var(--f-display);color:rgba(46,163,242,.16)}
.steps .step h3{font-size:1.2rem}
@media (max-width:860px){.step-grid{grid-template-columns:1fr}}
/* faq teaser */
.faq-teaser{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:start}
.faq-teaser .lead{display:grid;gap:16px;justify-items:start}
.faq-teaser ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.faq-teaser li a{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-left:4px solid var(--sky);border-radius:8px;padding:16px 18px;color:var(--ink);text-decoration:none;font:500 1rem/1.4 var(--f-label);transition:transform .25s,border-color .25s,box-shadow .25s}
.faq-teaser li a:hover{transform:translateX(4px);border-color:var(--sky);box-shadow:0 14px 28px -20px rgba(11,92,150,.5)}
.faq-teaser li svg{flex:none;width:18px;height:18px;color:var(--sky)}
@media (max-width:860px){.faq-teaser{grid-template-columns:1fr;gap:28px}}
/* blog */
.latest-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:40px}
.latest-head > div{display:grid;gap:8px}
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.post-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;display:grid;grid-template-rows:auto 1fr;transition:transform .3s,box-shadow .3s}
.post-card:hover{transform:translateY(-6px);box-shadow:0 24px 40px -24px rgba(11,92,150,.45)}
.pc-img{display:block;aspect-ratio:16/10;overflow:hidden}
.pc-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.post-card:hover .pc-img img{transform:scale(1.06)}
.pc-body{padding:22px 22px 26px;display:grid;gap:10px;align-content:start}
.pc-date{font:500 .8rem/1.4 var(--f-body);letter-spacing:.05em;text-transform:uppercase;color:var(--sky)}
.pc-body h3{font-size:1.2rem;line-height:1.3}
.pc-body h3 a{color:var(--ink);text-decoration:none}
.pc-body h3 a:hover{color:var(--blue)}
.pc-body p{font-size:.95rem;color:var(--muted)}
@media (max-width:900px){.posts{grid-template-columns:1fr;max-width:560px;margin:0 auto}}
.article .wrap{max-width:780px}
.crumbs{font-size:.88rem;color:var(--muted);margin-bottom:18px}
.crumbs a{color:var(--blue);text-decoration:none}
.article h1{font-size:clamp(2rem,4.4vw,3rem)}
.article .meta{color:var(--muted);font-size:.92rem;margin-top:12px}
.lead-img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;margin:26px 0 8px}
.article-body h2{font-size:1.5rem;margin-top:34px}
.article-body p,.article-body ul{margin-top:12px;line-height:1.75}
.article-body li{margin-top:6px}
.article-cta{margin-top:44px;background:var(--navy);color:#fff;border-radius:10px;padding:28px;display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.article-cta h2{color:#fff;font-size:1.4rem}
.article-cta p{opacity:.9;margin-top:6px}
.article-cta .btn{background:#fff;color:var(--blue)}
.article-note{font-size:.85rem;color:var(--muted);margin-top:18px}
.more-head{font-size:1.3rem;margin-top:40px}
.more-list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
