/* hero */
.hero{background:linear-gradient(180deg,var(--sky),#fff 92%);padding:150px 0 clamp(60px,8vw,110px);overflow:hidden;position:relative}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}
.hero h1{font-size:clamp(3rem,7.6vw,6.8rem);line-height:.98;letter-spacing:-.035em;max-width:11ch;color:var(--navy)}
.hero .lead{margin:1.7rem 0 2.1rem;font-size:1.22rem;color:var(--muted)}
.cta{display:flex;flex-wrap:wrap;gap:.9rem}
.stage{position:relative;width:100%;max-width:540px;aspect-ratio:1;justify-self:end}
.stage>svg{position:absolute;inset:0;width:100%;height:100%}
.logo-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:36%;aspect-ratio:1;background:#fff;border-radius:26px;box-shadow:0 18px 50px -12px rgba(11,37,69,.35);display:grid;place-items:center}
.logo-card img{width:100%;height:100%;display:block}
.spin{transform-origin:300px 300px;animation:spin 60s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.in{opacity:0;transform:translateY(24px);animation:in .9s cubic-bezier(.2,.8,.2,1) forwards}
.in:nth-child(2){animation-delay:.15s}.in:nth-child(3){animation-delay:.3s}
@keyframes in{to{opacity:1;transform:none}}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr}.stage{max-width:360px;justify-self:center;order:-1}.hero{padding-top:118px}}
/* intro */
.intro{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2rem,6vw,6rem)}
.intro .lead+.lead{margin-top:1.1rem}
.pills{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.8rem}
.pill{border-radius:999px;padding:.5rem 1.1rem;font-weight:600;font-size:.95rem;color:var(--navy)}
.pill:nth-child(1){background:var(--yellow)}.pill:nth-child(2){background:var(--turq)}.pill:nth-child(3){background:var(--orange)}
@media(max-width:800px){.intro{grid-template-columns:1fr}}
/* services */
.services{background:var(--sky)}
.sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:3.2rem}
.card{--c:var(--turq);background:color-mix(in srgb,var(--c) 16%,#fff);border-radius:30px;padding:2rem;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden}
.card:hover{transform:translateY(-5px);box-shadow:0 18px 36px -18px var(--c)}
.card::after{content:"";position:absolute;right:-34px;top:-34px;width:96px;height:96px;border-radius:50%;background:var(--c);opacity:.28}
.card:nth-child(2){--c:var(--coral)}.card:nth-child(3){--c:var(--yellow)}.card:nth-child(4){--c:var(--orange)}.card:nth-child(5){--c:var(--teal)}.card:nth-child(6){--c:#7cc6ee}
.ico{width:64px;height:64px;border-radius:22px;background:var(--c);display:grid;place-items:center;margin-bottom:1.3rem;color:var(--navy);position:relative;z-index:1}
.card:nth-child(5) .ico{color:#fff}
.ico svg{width:34px;height:34px}.ico .a{opacity:.55}
.card p{color:var(--muted);margin-top:.7rem;font-size:1rem}
@media(max-width:900px){.sgrid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.sgrid{grid-template-columns:1fr}}
/* why */
.why{background:var(--teal);color:#fff;overflow:hidden}
.wgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem;margin-top:3.2rem;position:relative;z-index:1}
.wgrid>div{background:rgba(255,255,255,.12);border-radius:28px;padding:2rem;border-top:6px solid var(--yellow)}
.wgrid>div:nth-child(2){border-color:var(--coral)}.wgrid>div:nth-child(3){border-color:var(--turq)}.wgrid>div:nth-child(4){border-color:var(--orange)}
.wgrid p{color:#e3f4f4;margin-top:.6rem}
@media(max-width:700px){.wgrid{grid-template-columns:1fr}}
/* team */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:3.2rem}
.person{border-radius:30px;overflow:hidden;background:#fff;box-shadow:0 0 0 1.5px var(--line)}
.person svg.band{display:block;width:100%;height:auto}
.txt{padding:1.4rem 1.7rem 1.8rem}
.role{font-weight:600;font-size:.95rem;margin-top:.3rem;color:var(--teal)}
.person p{color:var(--muted);font-size:.98rem;margin-top:.7rem}
.note{margin-top:1.6rem;font-size:.95rem;color:var(--muted);border-left:4px solid var(--orange);padding-left:1rem;max-width:70ch}
@media(max-width:900px){.tgrid{grid-template-columns:1fr}}
/* insurance + areas */
.split{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
.panel{border-radius:38px;padding:clamp(2rem,4vw,3.4rem);position:relative;overflow:hidden}
.panel>*{position:relative;z-index:1}
.panel.a{background:#fff3cf}.panel.b{background:#ffe2de}
.panel h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:1.1rem}
.panel p{color:var(--muted)}
.steps{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:.9rem}
.steps li{display:flex;gap:.9rem;align-items:flex-start}
.steps i{flex:none;width:24px;height:24px;border-radius:50%;background:var(--turq);margin-top:.15rem;display:grid;place-items:center;font-style:normal;font-weight:700;font-size:.8rem}
.chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}
.chip{background:#fff;border-radius:999px;padding:.5rem 1.05rem;font-weight:500;font-size:.96rem;border:2px solid transparent;transition:transform .2s,border-color .2s}
.chip:hover{transform:translateY(-2px);border-color:var(--coral)}
@media(max-width:900px){.split{grid-template-columns:1fr}}
/* faq */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,6rem)}
details{border-bottom:2px solid var(--sky);padding:1.4rem 0}details:first-of-type{border-top:2px solid var(--sky)}
summary{cursor:pointer;list-style:none;font:400 1.4rem/1.3 var(--serif);display:flex;justify-content:space-between;gap:1rem;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";flex:none;width:38px;height:38px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;font:500 1.5rem/1 var(--sans);transition:transform .3s,background .3s}
details:nth-of-type(2n) summary::after{background:var(--turq)}details:nth-of-type(3n) summary::after{background:var(--coral)}
details[open] summary::after{transform:rotate(45deg)}
details p{color:var(--muted);margin-top:.9rem;max-width:60ch}
@media(max-width:800px){.faq{grid-template-columns:1fr}}
/* contact */
.contact{background:var(--sky);overflow:hidden}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.contact h2{font-size:clamp(2.4rem,6vw,4.8rem);max-width:12ch}
.contact .lead{margin-top:1.3rem}
form{background:#fff;border-radius:32px;padding:clamp(1.6rem,3vw,2.6rem);display:grid;gap:1.1rem;border-top:8px solid var(--coral);position:relative;z-index:1}
label{font-weight:600;font-size:.95rem;display:grid;gap:.4rem}
input,textarea,select{font:400 1rem var(--sans);padding:.9rem 1rem;border:2px solid var(--line);border-radius:14px;background:#fff;color:var(--navy);width:100%}
input:focus,textarea:focus,select:focus{outline:3px solid var(--turq);border-color:var(--turq)}
textarea{min-height:110px;resize:vertical}
.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fine{font-size:.85rem;color:var(--muted)}
.ok{display:none;background:#d9f5f6;border-radius:14px;padding:1rem;font-weight:500}
@media(max-width:800px){.cgrid{grid-template-columns:1fr}.two{grid-template-columns:1fr}}

/* careers */
.hire{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;background:var(--navy);color:#fff;border-radius:999px;padding:.9rem .9rem .9rem 1rem;margin-bottom:3.2rem}
.hire p{flex:1;min-width:200px;font-weight:500}
.badge{background:var(--yellow);color:var(--navy);font:600 1.05rem var(--sans);padding:.55rem 1.2rem;border-radius:999px}
.hire .btn.line{border-color:#fff;color:#fff}.hire .btn.line:hover{background:#fff;color:var(--navy)}
.jgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:3rem}
.job{--c:var(--turq);background:color-mix(in srgb,var(--c) 16%,#fff);border-radius:30px;padding:2rem;display:flex;flex-direction:column;align-items:flex-start;border-top:8px solid var(--c);transition:transform .3s,box-shadow .3s}
.job:hover{transform:translateY(-5px);box-shadow:0 18px 36px -18px var(--c)}
.job .ico{margin-bottom:1.3rem}.job p{color:var(--muted);margin:.8rem 0 1.6rem;flex:1}
@media(max-width:900px){.jgrid{grid-template-columns:1fr}.hire{border-radius:32px}}
/* insurance */
.insurance{background:#fbf3e4}
.iwrap{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.insurance .steps i{background:var(--turq)}
.fine2{margin-top:1.4rem;font-size:.95rem;color:var(--muted);max-width:56ch}
.tile{aspect-ratio:1;width:100%;max-width:400px;justify-self:center;background:var(--navy);border-radius:44px;display:grid;place-items:center;box-shadow:inset 0 0 0 10px var(--turq),0 24px 50px -24px rgba(11,37,69,.55)}
.tile-in{width:58%;aspect-ratio:1;background:#fff;border-radius:28px;display:grid;place-items:center;overflow:hidden}
.tile-in img{width:100%;height:100%;display:block}
@media(max-width:800px){.iwrap{grid-template-columns:1fr}.tile{max-width:300px;order:-1}}
/* areas */
.areas{background:var(--sky)}
.lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;margin-top:2.8rem}
.loc{display:flex;align-items:center;gap:.9rem;background:#fff;border-radius:22px;padding:1rem 1.2rem;font:400 1.2rem var(--serif);transition:transform .2s,box-shadow .2s}
.loc:hover{transform:translateY(-3px);box-shadow:0 14px 28px -16px var(--navy)}
.pin{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--turq);color:var(--navy)}
.pin svg{width:24px;height:24px}
.loc:nth-child(2n) .pin{background:var(--coral)}.loc:nth-child(3n) .pin{background:var(--yellow)}.loc:nth-child(5n) .pin{background:var(--orange)}

/* areas (single message layout) */
.aw{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.areabox{aspect-ratio:1;width:100%;max-width:380px;justify-self:center;background:#fff;border-radius:44px;display:grid;place-items:center;box-shadow:0 24px 50px -28px rgba(11,37,69,.45)}
.areabox svg{width:80%;height:80%}
@media(max-width:800px){.aw{grid-template-columns:1fr}.areabox{max-width:280px;order:-1}}

/* forms: separate careers application */
.apply{background:var(--sky)}
.apply .steps{margin-top:1.8rem}.apply .steps i{background:var(--yellow)}
#cform{border-top-color:var(--teal)}
select{appearance:auto}
input[type=file]{padding:.7rem 1rem;background:#f6fbfe}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.status{display:none;border-radius:14px;padding:1rem;font-weight:500}
.status.ok{display:block;background:#d9f5f6}.status.err{display:block;background:#ffe2de}
.apply .lead{margin-top:1.3rem}

/* careers: four roles + highlights */
.jgrid{grid-template-columns:repeat(2,1fr)}
.perk{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;gap:.6rem;flex:1;color:var(--navy);font-size:.97rem}
.perk li{display:flex;gap:.7rem;align-items:flex-start}
.perk li::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--c);margin-top:.5rem}
.job p{flex:0 0 auto;margin-bottom:1.2rem}
.perks{background:#fff3cf}
.perks h2{max-width:20ch}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:3rem}
.ptile{background:#fff;border-radius:26px;padding:1.6rem;border-top:8px solid var(--c)}
.ptile h3{font-size:1.25rem}.ptile p{color:var(--muted);margin-top:.7rem;font-size:.97rem}
@media(max-width:1000px){.pgrid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.jgrid{grid-template-columns:1fr}}
@media(max-width:600px){.pgrid{grid-template-columns:1fr}}

[hidden]{display:none!important}

/* insurance: categories */
.isub{font:400 clamp(1.4rem,3.2vw,2.3rem)/1.2 var(--serif);color:var(--teal);margin-top:1.2rem;letter-spacing:-.01em}
.igrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:3.2rem}
.icat{background:#fff;border-radius:28px;padding:1.8rem;border-top:8px solid var(--c);transition:transform .3s,box-shadow .3s}
.icat:hover{transform:translateY(-4px);box-shadow:0 16px 32px -18px var(--c)}
.icat .ico{margin-bottom:1.1rem}.icat h3{margin-bottom:1rem}
.icat .perk{margin:0;font-size:1rem}
@media(max-width:1000px){.igrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.igrid{grid-template-columns:1fr}}

/* different insurance */
.diff{padding:clamp(56px,8vw,100px) 0;background:#fff}
.dpanel{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(2rem,5vw,4rem);align-items:center;background:var(--navy);color:#fff;border-radius:44px;padding:clamp(2rem,5vw,4.5rem);border-bottom:10px solid var(--turq)}
.dpanel h2{max-width:14ch}
.dsub{font:400 clamp(1.3rem,3vw,2rem)/1.25 var(--serif);color:var(--yellow);margin-top:1.1rem}
.dp{color:#d3e2ef;margin-top:1.2rem;max-width:58ch}
.dfine{color:#a9bdd0;font-size:.92rem;margin-top:1.3rem;max-width:58ch}
.dart{width:100%;max-width:300px;justify-self:center}.dart svg{width:100%;height:auto;display:block}
@media(max-width:800px){.dpanel{grid-template-columns:1fr;border-radius:32px}.dart{max-width:200px;order:-1}}

/* insurer logos (shown only when the logo file exists) */
.plogo{display:none;flex:none;width:32px;height:32px;object-fit:contain}
.perk li.hl{align-items:center}.perk li.hl::before{display:none}.perk li.hl .plogo{display:block}
