:root{
  --black:#071A34; --ink:#0B1F3A; --char:#0B2E52; --yellow:#5EEAD4; --yellow-d:#0EA5A0;
  --white:#FFFFFF; --off:#F2FAF9; --grey:#5B6B7C; --line:#E4F1EF; --line-d:rgba(94,234,212,.18);
  --gold-tint:#E3F7F4;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; background:var(--white); color:var(--ink); font-family:'Outfit',system-ui,sans-serif; font-weight:300; line-height:1.75; -webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:'Outfit',system-ui,sans-serif; font-weight:600; line-height:1.14; letter-spacing:-.025em; margin:0 0 .5em; text-wrap:balance;}
p{margin:0 0 1em;}
a{color:inherit; text-decoration:none;}
img,svg{display:block; max-width:100%;}
.icon{width:1em; height:1em; display:inline-block; vertical-align:-0.15em; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
.wrap{width:100%; max-width:1240px; margin:0 auto; padding:0 clamp(18px,5vw,60px);}

.eyebrow{font:600 12px 'Outfit',sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--yellow-d);}
.hl{position:relative; display:inline-block; z-index:1;}
.hl::after{content:""; position:absolute; left:-2px; right:-2px; bottom:.08em; height:.3em; background:var(--yellow); z-index:-1; border-radius:2px;}

.btn{display:inline-flex; align-items:center; gap:9px; font:600 14.5px 'Outfit',sans-serif; padding:14px 26px; border-radius:50px; border:none; cursor:pointer; transition:.18s;}
.btn-y{background:var(--yellow); color:var(--black);}
.btn-y:hover{background:var(--black); color:var(--yellow); transform:translateY(-2px);}
.btn-ow{border:1.6px solid rgba(94,234,212,.32); color:#fff; background:transparent;}
.btn-ow:hover{background:var(--yellow); color:var(--black); border-color:var(--yellow);}

.pill{display:inline-flex; align-items:center; gap:0; background:var(--yellow); color:var(--black); border-radius:60px; padding:8px 8px 8px 32px; font:700 13.5px 'Outfit',sans-serif; letter-spacing:.14em; text-transform:uppercase; transition:.25s; border:none; cursor:pointer;}
.pill span{margin-right:26px;}
.pill i{width:48px; height:48px; border-radius:50%; background:var(--black); color:var(--yellow); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:.25s;}
.pill:hover{background:#fff;}
.pill:hover i{transform:translateX(4px);}

/* ---------- NAV ---------- */
header.nav{position:sticky; top:0; z-index:100; background:var(--black);}
.nav-in{max-width:1240px; margin:0 auto; padding:15px clamp(18px,5vw,60px); display:flex; align-items:center; justify-content:space-between; gap:20px;}
.brand{display:flex; align-items:center; gap:11px;}
.brand img{height:44px; width:auto;}
.nav-links{display:flex; align-items:center; gap:26px;}
.nav-links a{font:500 14.5px 'Outfit',sans-serif; color:#D6D7D9; padding:6px 0; transition:.15s;}
.nav-links a:hover, .nav-links a.active{color:var(--yellow);}
.nav-drop{position:relative;}
.nav-drop-btn{display:inline-flex; align-items:center; gap:6px; font:500 14.5px 'Outfit',sans-serif; color:#D6D7D9; cursor:pointer; background:none; border:none; padding:6px 0;}
.nav-drop:hover .nav-drop-btn, .nav-drop.open .nav-drop-btn{color:var(--yellow);}
.nav-drop-btn svg{width:11px; height:11px; transition:.2s;}
.nav-drop.open .nav-drop-btn svg{transform:rotate(180deg);}
.nav-drop-menu{position:absolute; top:calc(100% + 14px); left:50%; transform:translateX(-50%) translateY(6px); background:#0B2740; border:1px solid var(--line-d); border-radius:14px; padding:8px; min-width:230px; opacity:0; visibility:hidden; transition:.18s; box-shadow:0 24px 50px rgba(0,0,0,.4);}
.nav-drop:hover .nav-drop-menu, .nav-drop.open .nav-drop-menu{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);}
.nav-drop-menu a{display:block; padding:10px 14px; border-radius:9px; color:#D6D7D9; font-size:14px; transition:.15s;}
.nav-drop-menu a:hover, .nav-drop-menu a.active{background:rgba(94,234,212,.1); color:var(--yellow);}
.nav-cta{display:flex; align-items:center; gap:18px;}
.burger{display:none; flex-direction:column; justify-content:center; gap:6px; background:none; border:none; cursor:pointer; width:36px; height:36px; padding:0;}
.burger span{display:block; height:2px; border-radius:2px; background:#fff; transition:.3s;}
.burger span:nth-child(1){width:26px; align-self:flex-end;}
.burger span:nth-child(2){width:20px; align-self:flex-end;}
.burger span:nth-child(3){width:24px; align-self:flex-end;}
.burger.on span:nth-child(1){width:26px; transform:translateY(8px) rotate(45deg);}
.burger.on span:nth-child(2){opacity:0;}
.burger.on span:nth-child(3){width:26px; transform:translateY(-8px) rotate(-45deg);}

.menu-panel{position:fixed; inset:0; z-index:99; background:var(--black); display:flex; flex-direction:column; justify-content:center; gap:2px; padding:0 clamp(24px,7vw,70px); opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s; overflow-y:auto;}
.menu-panel.on{opacity:1; visibility:visible;}
.menu-panel a{display:block; font-family:'Outfit',sans-serif; font-weight:200; letter-spacing:-.02em; font-size:clamp(24px,7vw,40px); color:#fff; padding:8px 0; opacity:0; transform:translateY(20px); transition:opacity .4s, transform .4s, color .2s;}
.menu-panel.on a{opacity:1; transform:none;}
.menu-panel a:hover, .menu-panel a.active{color:var(--yellow);}
.menu-panel .mp-sub{font-size:clamp(15px,3.6vw,18px); color:#6E8B9E; padding:4px 0 4px 18px; font-weight:300;}

@media(max-width:900px){ .nav-links, .nav-cta .btn-ow{display:none;} .burger{display:flex;} }

/* ---------- HERO (home, full) ---------- */
.hero{background:var(--black); color:#fff; position:relative; overflow:hidden; padding:40px 0 0;}
.hero-in{position:relative; z-index:2; max-width:1240px; margin:0 auto; padding:0 clamp(18px,5vw,60px); width:100%;}
.hero-top{padding-bottom:26px;}
.hero-photo-wrap{position:relative; height:clamp(220px,28vw,340px); background-size:cover; background-position:center; overflow:hidden;}
.hero-photo-wrap::before{content:""; position:absolute; top:0; left:0; right:0; height:40%; background:linear-gradient(180deg, var(--black), transparent); pointer-events:none;}
.hero-bottom{position:relative; z-index:2; margin-top:-92px; padding-top:104px; padding-bottom:56px;
  background:linear-gradient(180deg, transparent 0%, rgba(7,26,52,.5) 24%, rgba(7,26,52,.9) 46%, var(--black) 66%, var(--black) 100%);}
.hero .eyebrow{color:var(--yellow); display:inline-flex; align-items:center; gap:8px; margin-bottom:16px;}
.hero h1{font-size:clamp(32px,5.6vw,64px); font-weight:200; line-height:1.12; letter-spacing:-.03em; margin:0; max-width:18ch;}
.hero h1 b{font-weight:600;}
.hero p.lead{color:#DCE8EE; font-size:clamp(15px,1.4vw,19px); font-weight:300; max-width:640px; margin-bottom:36px; line-height:1.85; text-shadow:0 2px 12px rgba(0,0,0,.55);}

/* ---------- HERO (interior, compact) ---------- */
.hero-compact{background:var(--black); color:#fff; padding:70px 0 60px;}
.hero-compact .hero-in{text-align:center; max-width:760px; margin:0 auto;}
.hero-compact .eyebrow{justify-content:center;}
.hero-compact h1{max-width:none; font-size:clamp(30px,5vw,52px); font-weight:200;}
.hero-compact h1 b{font-weight:600;}
.hero-compact p.lead{margin:14px auto 0;}

.ticker{overflow:hidden; margin-top:8px; -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.ticker-tr{display:flex; white-space:nowrap; gap:34px; animation:roll 26s linear infinite; width:max-content;}
.ticker-tr span{font:700 12.5px 'Outfit',sans-serif; letter-spacing:.1em; color:#6E8B9E; text-transform:uppercase;}
@keyframes roll{from{transform:translateX(0);} to{transform:translateX(-50%);}}

.scrollcue{display:flex; align-items:center; gap:12px; margin-top:44px; font:600 11px 'Outfit',sans-serif; letter-spacing:.22em; text-transform:uppercase; color:#6E8B9E;}
.scrollcue i{width:36px; height:1px; background:#1C3A54; display:block; position:relative; overflow:hidden;}
.scrollcue i::after{content:""; position:absolute; inset:0; background:var(--yellow); animation:sweep 2.6s ease-in-out infinite;}
@keyframes sweep{0%{transform:translateX(-100%);}60%,100%{transform:translateX(100%);}}

/* ---------- SECTIONS ---------- */
section{padding:clamp(56px,9vw,120px) 0;}
.shead{max-width:780px; margin-bottom:clamp(36px,5vw,60px);}
.shead h2{font-size:clamp(28px,4.2vw,48px); font-weight:600; margin-top:12px; letter-spacing:-.03em;}
.shead p{color:var(--grey); font-size:clamp(15px,1.3vw,18px); margin-top:16px; max-width:640px; line-height:1.8;}
.dark{background:var(--black); color:#fff;}
.dark .shead p{color:#9AB4C4;}
.soft{background:var(--off);}

/* ---------- ABOUT / SPLIT-DARK ---------- */
.about-sec{background:var(--black);}
.about-sec .eyebrow{display:block; color:var(--yellow); margin:0;}
.yrule{display:block; height:2px; background:var(--yellow); width:64px; margin:16px 0 22px;}
.about-sec h2{font-weight:300 !important; color:#fff; font-size:clamp(26px,4vw,44px); letter-spacing:-.03em; line-height:1.16; margin:0 0 26px !important;}
.about-copy p{color:#9AB4C4; font-size:clamp(15px,1.3vw,17px); font-weight:300; margin-bottom:18px; line-height:1.85;}
.about-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(30px,5vw,70px); align-items:center;}

.slogan-block{display:flex; align-items:center; gap:16px; margin-top:26px; padding:20px 22px; border:1px solid rgba(94,234,212,.32); border-radius:16px; position:relative; overflow:hidden; background:linear-gradient(100deg,rgba(94,234,212,.12) 0%,rgba(94,234,212,.02) 55%,transparent 100%);}
.slogan-mark{flex:0 0 auto; width:46px; height:46px; border-radius:50%; border:1px solid rgba(94,234,212,.5); color:var(--yellow); display:flex; align-items:center; justify-content:center;}
.slogan-mark svg{width:22px; height:22px;}
.slogan-txt{line-height:1.4;}
.slogan-txt b{display:block; font:500 clamp(15px,1.4vw,18px) 'Outfit',sans-serif; color:#fff; letter-spacing:-.01em;}
.slogan-txt span{display:block; font:200 clamp(15px,1.4vw,18px) 'Outfit',sans-serif; color:var(--yellow); letter-spacing:-.01em;}

.stat-cards{display:grid; grid-template-columns:1fr 1fr; gap:clamp(12px,1.6vw,20px);}
.sc{background:#0B2740; border:1px solid var(--line-d); border-radius:14px; padding:clamp(20px,2.4vw,28px);}
.sc-n{font:600 clamp(26px,3.2vw,38px) 'Outfit',sans-serif; line-height:1.05; color:var(--yellow); letter-spacing:-.02em; font-variant-numeric:tabular-nums;}
.sc-l{font-size:13.5px; color:#6E8B9E; font-weight:300; margin-top:8px;}

/* ---------- MARQUEE STRIP ---------- */
.strip{background:var(--yellow); overflow:hidden;}
.strip-tr{display:flex; white-space:nowrap; padding:13px 0; animation:rollstrip 30s linear infinite; width:max-content;}
.strip-tr span{font:700 13px 'Outfit',sans-serif; color:var(--black); margin-right:30px; display:flex; align-items:center;}
.strip-tr span::after{content:"—"; margin-left:30px; color:rgba(7,26,52,.4);}
@keyframes rollstrip{from{transform:translateX(0);} to{transform:translateX(-50%);}}

/* ---------- SERVICES / FEATURE GRID ---------- */
.svc-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(16px,2.2vw,26px);}
.svc-grid.cols-3{grid-template-columns:repeat(3,1fr);}
.svc{background:#fff; border:1px solid var(--line); border-radius:18px; padding:clamp(24px,2.8vw,36px); transition:.2s;}
.svc:hover{border-color:var(--yellow-d); transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,.07);}
.svc-ic{width:46px; height:46px; border-radius:12px; background:var(--gold-tint); display:flex; align-items:center; justify-content:center; margin-bottom:16px; color:var(--yellow-d); font-size:20px;}
.svc-ic svg{width:22px; height:22px;}
.svc h3{font-size:clamp(18px,1.6vw,22px); font-weight:500; margin-bottom:10px;}
.svc p{color:var(--grey); font-size:15px; font-weight:300; margin-bottom:0;}
.svc a.service-link{display:inline-flex; align-items:center; gap:6px; margin-top:10px; color:var(--yellow-d); font:600 13.5px 'Outfit',sans-serif;}

/* ---------- PROCESS STEPS ---------- */
.steps-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(16px,2vw,22px);}
.step-card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px;}
.step-n{width:38px; height:38px; border-radius:50%; background:var(--black); color:var(--yellow); display:flex; align-items:center; justify-content:center; font:700 15px 'Outfit',sans-serif; margin-bottom:14px;}
.step-card h4{font-size:16.5px; margin-bottom:6px;}
.step-card p{color:var(--grey); font-size:14px; margin-bottom:0;}

/* ---------- ACCORDION ---------- */
.acc{border-top:1px solid var(--line);}
.acc-item{border-bottom:1px solid var(--line);}
.acc-btn{width:100%; background:none; border:none; text-align:left; padding:clamp(18px,2.2vw,26px) 2px; display:flex; align-items:center; justify-content:space-between; gap:16px; cursor:pointer; font:400 clamp(16px,1.8vw,21px) 'Outfit',sans-serif; color:var(--ink); transition:.15s;}
.acc-btn:hover{color:var(--yellow-d);}
.acc-sign{width:28px; height:28px; border-radius:50%; background:var(--yellow-d); color:#fff; display:flex; align-items:center; justify-content:center; font-size:17px; flex-shrink:0; transition:.25s; font-family:'Outfit',sans-serif;}
.acc-item.open .acc-sign{transform:rotate(45deg);}
.acc-body{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.acc-item.open .acc-body{max-height:400px;}
.acc-inner{padding:0 2px 22px; color:var(--grey); font-size:15px; max-width:680px; line-height:1.8;}

/* ---------- TESTIMONIALS ---------- */
.t-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2vw,24px);}
.t-card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:clamp(22px,2.4vw,28px);}
.stars{color:var(--yellow-d); font-size:14px; letter-spacing:2px; margin-bottom:14px;}
.t-card p.quote{color:var(--ink); font-size:15px; font-weight:400; line-height:1.7; margin-bottom:18px;}
.t-who{display:flex; align-items:center; gap:12px;}
.t-av{width:42px; height:42px; border-radius:50%; background:var(--gold-tint); color:var(--yellow-d); display:flex; align-items:center; justify-content:center; font:700 14px 'Outfit',sans-serif; flex-shrink:0;}
.t-who b{display:block; font-size:14.5px; font-weight:600;}
.t-who span{font-size:12.5px; color:var(--grey);}
.t-note{margin-top:22px; font-size:12.5px; color:var(--grey); font-style:italic;}

/* ---------- CONTACT / FORM ---------- */
.contact-sec{background:var(--black); color:#fff;}
.split{display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,60px); align-items:start;}
.feature-list{list-style:none; margin:20px 0 0; padding:0; display:grid; gap:12px;}
.feature-list li{display:flex; gap:10px; align-items:flex-start; color:#9AB4C4; font-size:14.5px;}
.feature-list .icon{color:var(--yellow); margin-top:3px; flex-shrink:0;}

.form-panel{background:#0B2740; border:1px solid var(--line-d); border-radius:20px; padding:clamp(24px,3vw,34px);}
.frow{display:flex; gap:14px;}
.fgroup{flex:1; margin-bottom:15px;}
.fgroup label{display:block; font:600 12.5px 'Outfit',sans-serif; margin-bottom:7px; color:#D6D7D9; letter-spacing:.02em;}
.fgroup input, .fgroup select{width:100%; padding:12px 14px; border:1px solid rgba(94,234,212,.18); border-radius:10px; background:#0A2440; color:#fff; font:inherit; font-size:14.5px;}
.fgroup input::placeholder{color:#6E8B9E;}
.fgroup input:focus, .fgroup select:focus{outline:2px solid var(--yellow); outline-offset:1px;}
.consent{display:flex; align-items:flex-start; gap:9px; font-size:11.5px; color:#6E8B9E; line-height:1.6; margin:12px 0 18px;}
.consent input[type="checkbox"]{flex-shrink:0;}
.consent a{color:var(--yellow); text-decoration:underline;}
.consent strong{color:#D6D7D9;}
.form-note{font-size:12px; color:#6E8B9E; margin-top:14px; text-align:center;}

/* ---------- CALL CTA BOX ---------- */
.call-box{display:flex; gap:18px; align-items:flex-start; margin-top:32px; padding:26px; border-radius:18px; background:var(--gold-tint); border:1px solid var(--line-d);}
.call-box-ic{flex-shrink:0; width:52px; height:52px; border-radius:14px; background:var(--yellow); display:flex; align-items:center; justify-content:center;}
.call-box-ic .icon{color:var(--black); width:24px; height:24px;}
.call-box h3{margin:0 0 6px; font-size:1.15rem; color:var(--ink);}
.call-box p{margin:0 0 16px; color:var(--grey);}
.call-box .btn{white-space:nowrap;}
@media(max-width:480px){ .call-box{flex-direction:column; align-items:flex-start;} }
.validation-error{border-color:#F87171 !important; background:rgba(248,113,113,.08) !important;}

/* ---------- DISCLOSURES ---------- */
.disclosures{background:#050F1F; color:#9AB4C4; font-size:13.5px;}
.disclosures h2{font-size:1.35rem; color:#fff; margin-bottom:10px;}
.disclosures h4{color:var(--yellow-d); font-family:'Outfit',sans-serif; font-size:13.5px; margin:18px 0 6px; text-transform:uppercase; letter-spacing:.04em;}
.disclosures p{line-height:1.85;}
.disclosures a{color:var(--yellow); text-decoration:underline;}

/* ---------- LEGAL / POLICY PAGES ---------- */
.policy{background:#fff;}
.policy h2{font-size:clamp(28px,4vw,40px); margin-bottom:18px;}
.policy h3{font-size:17px; color:var(--yellow-d); margin:28px 0 8px; text-transform:uppercase; letter-spacing:.03em;}
.policy p{color:var(--grey); font-size:15px; line-height:1.85;}
.policy a{color:var(--yellow-d); text-decoration:underline;}
.policy .last-updated{margin-top:30px; font-size:12.5px; color:#94A3AE; font-style:italic;}

/* ---------- LEGAL NOTE (long disclaimer, homepage) ---------- */
.legal-note{background:#050F1F; color:#6E8B9E; font-size:12px; line-height:1.85;}
.legal-note .wrap{max-width:980px;}
.legal-note p{margin-bottom:14px;}

/* ---------- PARTNERS ---------- */
.partner-list{display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:10px;}
.partner-item{background:#fff; border:1px solid var(--line); border-radius:10px; padding:12px 15px; font-size:14px;}
.alpha{color:var(--yellow-d); font:600 1.1rem 'Outfit',sans-serif; margin:26px 0 10px; padding-bottom:5px; border-bottom:2px solid var(--off);}
.alpha:first-child{margin-top:0;}

/* ---------- FOOTER ---------- */
footer{background:var(--black); color:#6E8B9E; padding:50px 0 24px;}
.foot-top{display:flex; align-items:center; gap:14px; margin-bottom:30px;}
.foot-top img{height:56px;}
.foot-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:28px; margin-bottom:34px;}
.foot-grid h3{font-size:13px; color:#fff; text-transform:uppercase; letter-spacing:.08em; margin-bottom:14px; font-weight:600;}
.foot-grid ul{list-style:none; padding:0; margin:0; display:grid; gap:9px;}
.foot-grid a{color:#6E8B9E; font-size:14px; transition:.15s;}
.foot-grid a:hover{color:var(--yellow);}
.foot-grid p{color:#6E8B9E; font-size:14px; margin:0;}
.foot-medicare{border-top:1px solid var(--line-d); margin-top:6px; padding-top:20px; font-size:11.5px; line-height:1.7; color:#6E8B9E;}
.foot-medicare strong{color:#9AB4C4;}
.foot-bottom{text-align:center; border-top:1px solid var(--line-d); margin-top:20px; padding-top:18px; font-size:12.5px; color:#6E8B9E;}

/* ---------- SCROLL TO TOP ---------- */
.scroll-to-top{position:fixed; right:22px; bottom:22px; width:44px; height:44px; border-radius:50%; background:var(--yellow); color:var(--black); display:flex; align-items:center; justify-content:center; cursor:pointer; opacity:0; visibility:hidden; transform:translateY(10px); transition:.25s; z-index:80; box-shadow:0 12px 30px rgba(0,0,0,.25);}
.scroll-to-top.show{opacity:1; visibility:visible; transform:none;}
.scroll-to-top i{font-size:16px;}

/* ---------- LEAD SUBMIT MODAL (form-submit.js targets #front-modal) ---------- */
#front-modal{display:none; position:fixed; inset:0; z-index:300; background:rgba(7,26,52,.72); align-items:center; justify-content:center; padding:20px;}
#front-modal .modal-container{background:#fff; border-radius:18px; padding:34px; max-width:440px; width:100%; text-align:center; font-family:'Outfit',sans-serif;}
#front-modal .heading{font-size:20px; color:var(--ink);}

@media(max-width:820px){
  .about-grid, .split{grid-template-columns:1fr;}
  .svc-grid, .svc-grid.cols-3, .t-grid, .steps-grid{grid-template-columns:1fr;}
  .stat-cards{grid-template-columns:1fr 1fr;}
  .frow{flex-direction:column; gap:0;}
  .foot-grid{grid-template-columns:1fr 1fr;}
}
