/* VirtualFlex Insurance page styles. All selectors are scoped to avoid affecting other pages. */
.ins-page {
    --ins-navy: #041c2c; --ins-navy2: #082d46; --ins-blue: #0b5f8a;
    --ins-accent: #19b5e6; --ins-accent-light: #8edcf2;
    --ins-pale: #eaf7fc; --ins-ice: #f4fafc; --ins-text: #29485d;
    --ins-muted: #617789; --ins-border: #d9e8ef;
    background:#fff; color:var(--ins-text);
}
.ins-page *, .ins-page *:before, .ins-page *:after { box-sizing:border-box; }
.ins-container { width:min(1240px,calc(100% - 40px)); margin:0 auto; }
.ins-label { display:inline-flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.16em;font-weight:800;color:var(--ins-blue); }
.ins-label:before { content:"";width:28px;height:2px;background:var(--ins-accent);display:inline-block; }
.ins-kicker { display:flex;align-items:center;gap:10px;color:var(--ins-accent-light);font-size:12px;letter-spacing:.17em;font-weight:800;margin-bottom:25px; }
.ins-kicker span { width:8px;height:8px;border-radius:50%;background:var(--ins-accent);box-shadow:0 0 20px var(--ins-accent); }
.ins-hero { position:relative;overflow:hidden;color:#fff;background:radial-gradient(circle at 78% 42%, color-mix(in srgb,var(--ins-accent) 23%,transparent),transparent 27%),linear-gradient(135deg,var(--ins-navy) 0%,var(--ins-navy2) 58%,var(--ins-navy) 100%); }
.ins-hero:after { content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,#000,transparent 85%); }
.ins-hero__grid { min-height:680px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:35px;position:relative;z-index:1;padding:110px 0 70px; }
.ins-hero__copy { position:relative;z-index:2; }
.ins-hero h1 { font-size:clamp(50px,6vw,82px);line-height:.98;letter-spacing:-.055em;margin:0;max-width:760px;color:#fff; }
.ins-hero h1 em { font-style:normal;color:var(--ins-accent); }
.ins-hero__copy>p { font-size:19px;line-height:1.7;color:#c9dce7;max-width:650px;margin:28px 0 0; }
.ins-hero__tags { display:flex;flex-wrap:wrap;gap:9px;margin-top:28px; }
.ins-hero__tags span { padding:9px 12px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.05);font-size:12px;color:#e2f2f8; }
.ins-button { display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:15px 21px;border:1px solid rgba(255,255,255,.35);border-radius:999px;color:#fff;text-decoration:none;font-weight:750;background:rgba(255,255,255,.07);transition:transform .25s ease,background .25s ease,border-color .25s ease; }
.ins-button span { color:var(--ins-accent);font-size:20px;transition:transform .25s ease; }
.ins-button:hover { transform:translateY(-3px);background:var(--ins-accent);border-color:var(--ins-accent);color:var(--ins-navy); }
.ins-button:hover span { color:var(--ins-navy);transform:translate(3px,-2px); }
.ins-button--primary { margin-top:28px;position:relative;z-index:3; }
.ins-intro { padding:100px 0;background:var(--ins-ice); }
.ins-intro__grid { display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start; }
.ins-intro h2,.ins-capabilities h2,.ins-modules h2 { font-size:clamp(38px,4.5vw,62px);line-height:1.04;letter-spacing:-.045em;color:var(--ins-navy);margin:18px 0 0; }
.ins-intro h2 span,.ins-capabilities h2 span,.ins-modules h2 span,.ins-cta h2 span { color:var(--ins-blue); }
.ins-intro__text { border-left:2px solid var(--ins-accent);padding-left:32px; }
.ins-intro__text p { font-size:18px;line-height:1.75;margin:0 0 20px;color:var(--ins-text); }
.ins-intro__text p:last-child { margin-bottom:0; }
.ins-capabilities { padding:105px 0 115px;background:#fff; }
.ins-section-heading { display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:end; }
.ins-section-heading>p { font-size:18px;line-height:1.75;color:var(--ins-muted);margin:0; }
.ins-capability-grid { display:grid;grid-template-columns:repeat(4,1fr);margin-top:60px;border-top:1px solid var(--ins-border);border-bottom:1px solid var(--ins-border); }
.ins-capability { padding:30px 24px 32px;border-right:1px solid var(--ins-border);min-height:340px; }
.ins-capability:first-child { border-left:1px solid var(--ins-border); }
.ins-number { display:block;font-size:12px;letter-spacing:.15em;font-weight:800;color:var(--ins-accent);margin-bottom:23px; }
.ins-icon { display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:var(--ins-pale);color:var(--ins-blue);font-size:25px;font-weight:800;margin-bottom:22px; }
.ins-capability h3 { font-size:21px;line-height:1.25;color:var(--ins-navy);margin:0 0 12px; }
.ins-capability p { font-size:14px;line-height:1.7;color:var(--ins-muted);margin:0; }
.ins-capability a { display:inline-flex;gap:12px;align-items:center;margin-top:20px;color:var(--ins-blue);font-size:13px;font-weight:800;text-decoration:none;border-bottom:1px solid var(--ins-border);padding-bottom:5px; }
.ins-capability a span { color:var(--ins-accent);font-size:17px; }
.ins-capability a:hover { border-color:var(--ins-accent); }
.ins-modules { padding:105px 0 115px;background:var(--ins-pale); }
.ins-modules__heading { max-width:850px;margin-bottom:48px; }
.ins-modules__heading>p { max-width:690px;font-size:18px;line-height:1.7;color:var(--ins-muted);margin:22px 0 0; }
.ins-module-list { display:flex;flex-direction:column;gap:17px; }
.ins-module { display:grid;grid-template-columns:70px .9fr 1.4fr;gap:28px;align-items:center;padding:32px 35px;background:#fff;border:1px solid var(--ins-border);border-radius:18px;box-shadow:0 12px 32px rgba(4,28,44,.045); }
.ins-module--dark { background:var(--ins-navy);border-color:var(--ins-navy); }
.ins-module__index { font-size:32px;letter-spacing:-.04em;font-weight:800;color:var(--ins-accent);align-self:start; }
.ins-module__intro>span { font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--ins-blue); }
.ins-module--dark .ins-module__intro>span { color:var(--ins-accent-light); }
.ins-module__intro h3 { font-size:25px;line-height:1.2;color:var(--ins-navy);margin:8px 0 10px; }
.ins-module--dark .ins-module__intro h3 { color:#fff; }
.ins-module__intro p { font-size:14px;line-height:1.65;color:var(--ins-muted);margin:0; }
.ins-module--dark .ins-module__intro p { color:#c0d0d9; }
.ins-module__items { display:grid;grid-template-columns:repeat(3,1fr);gap:10px; }
.ins-module__items>div { padding:15px;border-left:2px solid var(--ins-border);min-height:100px; }
.ins-module--dark .ins-module__items>div { border-color:rgba(255,255,255,.18); }
.ins-module__items b { display:block;font-size:13px;color:var(--ins-navy);margin-bottom:7px; }
.ins-module--dark .ins-module__items b { color:#fff; }
.ins-module__items p { font-size:12px;line-height:1.6;color:var(--ins-muted);margin:0; }
.ins-module--dark .ins-module__items p { color:#b7c9d3; }
.ins-cta { padding:85px 0;background:#fff; }
.ins-cta__box { min-height:280px;padding:52px 60px;border-radius:25px;background:linear-gradient(125deg,var(--ins-navy),var(--ins-navy2));display:flex;align-items:center;justify-content:space-between;gap:35px;position:relative;overflow:hidden; }
.ins-cta__box:after { content:"";position:absolute;width:400px;height:400px;border:1px solid rgba(255,255,255,.13);border-radius:50%;right:-100px;top:-180px;box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.02);pointer-events:none; }
.ins-cta .ins-label { color:var(--ins-accent-light);position:relative;z-index:1; }
.ins-cta h2 { font-size:clamp(34px,4.2vw,58px);line-height:1.04;letter-spacing:-.045em;color:#fff;margin:17px 0 0;position:relative;z-index:1; }
.ins-cta h2 span { color:var(--ins-accent); }
.ins-cta .ins-button { position:relative;z-index:2;white-space:nowrap; }

.ins-hero__visual{height:510px;position:relative;display:flex;align-items:center;justify-content:center}
.ins-visual__ring{position:absolute;border:1px solid rgba(142,220,242,.23);border-radius:50%;transform:rotate(-25deg)}
.ins-visual__ring--one{width:390px;height:390px}.ins-visual__ring--two{width:510px;height:260px;border-color:rgba(25,181,230,.26)}
.ins-policy-card{position:relative;z-index:2;width:300px;padding:24px;border:1px solid rgba(142,220,242,.55);border-radius:22px;background:linear-gradient(145deg,rgba(11,95,138,.95),rgba(7,59,88,.98));box-shadow:0 30px 70px rgba(0,0,0,.32)}
.ins-policy-card__top{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.12em;color:#d9f3fb;font-weight:800}
.ins-policy-card__top b{padding:5px 8px;border-radius:999px;background:rgba(25,181,230,.15);color:#8edcf2;font-size:9px}
.ins-policy-card__number{font-size:22px;font-weight:800;letter-spacing:.04em;color:#fff;margin-top:24px}
.ins-policy-card__line{height:1px;background:rgba(255,255,255,.18);margin:18px 0}
.ins-policy-card__stats{display:grid;grid-template-columns:1fr 1fr;gap:15px}.ins-policy-card__stats small{display:block;color:#b8cbd6;font-size:10px;margin-bottom:7px}.ins-policy-card__stats strong{color:#fff;font-size:17px}
.ins-policy-card__progress{height:5px;border-radius:9px;background:rgba(255,255,255,.13);margin-top:24px;overflow:hidden}.ins-policy-card__progress span{display:block;width:72%;height:100%;background:var(--ins-accent);border-radius:9px}
.ins-policy-card__foot{display:block;color:#b8cbd6;font-size:10px;margin-top:10px}
.ins-float{position:absolute;z-index:3;padding:15px 17px;border-radius:13px;border:1px solid rgba(160,241,233,.27);background:rgba(5,30,44,.94);box-shadow:0 16px 35px rgba(0,0,0,.2);display:flex;flex-direction:column;gap:6px;min-width:180px}
.ins-float b{font-size:9px;letter-spacing:.13em;color:var(--ins-accent)}.ins-float strong{font-size:12px;color:#fff}.ins-float span{font-size:10px;color:#b8cbd6}
.ins-float--claims{top:55px;left:2%}.ins-float--risk{right:0;bottom:58px}
.ins-visual__shield{position:absolute;right:17%;top:22%;width:55px;height:62px;clip-path:polygon(50% 0,90% 15%,83% 70%,50% 100%,17% 70%,10% 15%);display:grid;place-items:center;background:var(--ins-accent);color:var(--ins-navy);font-size:23px;font-weight:900;box-shadow:0 0 35px rgba(25,181,230,.25)}
@media(max-width:1100px){.ins-hero__grid{grid-template-columns:1fr;min-height:auto;padding-top:125px}.ins-hero__visual{max-width:650px;width:100%;margin:0 auto}.ins-intro__grid{gap:50px}.ins-section-heading{grid-template-columns:1fr;gap:25px}.ins-module{grid-template-columns:55px 1fr;gap:22px}.ins-module__items{grid-column:1/-1}}
@media(max-width:760px){.ins-container{width:min(100% - 28px,1240px)}.ins-hero__grid{padding:110px 0 45px}.ins-hero h1{font-size:50px}.ins-hero__copy>p{font-size:17px}.ins-hero__visual{height:365px}.ins-visual__ring--one{width:275px;height:275px}.ins-visual__ring--two{width:360px;height:190px}.ins-policy-card{width:255px;padding:19px}.ins-float{min-width:140px;padding:10px}.ins-float--claims{left:0;top:25px}.ins-float--risk{right:0;bottom:20px}.ins-visual__shield{right:12%;top:18%;width:42px;height:49px}.ins-intro,.ins-capabilities,.ins-modules{padding:72px 0}.ins-intro__grid{grid-template-columns:1fr;gap:32px}.ins-intro__text{padding-left:20px}.ins-capability-grid{grid-template-columns:1fr;margin-top:38px}.ins-capability,.ins-capability:first-child{border:0;border-bottom:1px solid var(--ins-border);min-height:0;padding:26px 5px}.ins-capability:last-child{border-bottom:0}.ins-module{grid-template-columns:1fr;padding:24px 20px;gap:15px;border-radius:15px}.ins-module__index{font-size:25px}.ins-module__items{grid-template-columns:1fr}.ins-module__items>div{min-height:0;padding:13px}.ins-cta{padding:52px 0}.ins-cta__box{padding:35px 24px;display:block;border-radius:19px}.ins-cta .ins-button{margin-top:28px}.ins-hero__tags span{font-size:11px}}
@media(max-width:480px){.ins-hero h1{font-size:42px}.ins-intro h2,.ins-capabilities h2,.ins-modules h2{font-size:38px}.ins-hero__visual{transform:scale(.92);width:109%;margin-left:-4.5%}}
