/* Original reference styles scoped to Insurance Solutions to protect other sections */
@scope (#insurance-solutions){

:scope{
  --bg:#FFFFFF;
  --soft:#F4F6F9;
  --navy:#0F1B2D;
  --text:#3E4A5E;
  --mute:#6B7588;
  --line:#E3E6EC;
  --red:#B3261E;
  --red-hi:#D2463C;
  --panel:#13213A;
  --frame-bg:#FFFFFF;
  --on-navy:#FFFFFF;
  --ease:cubic-bezier(.65,0,.15,1);
  color-scheme:light;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0D1420; --soft:#111A29; --navy:#E8ECF3; --text:#C3CBD8; --mute:#8A94A6; --line:#26324A; --red:#F0675E; --red-hi:#F58A82; --on-navy:#0D1420; --frame-bg:#141E2E;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0D1420; --soft:#111A29; --navy:#E8ECF3; --text:#C3CBD8; --mute:#8A94A6; --line:#26324A; --red:#F0675E; --red-hi:#F58A82; --on-navy:#0D1420; --frame-bg:#141E2E;
  color-scheme:dark;
}
*,*::before,*::after{ box-sizing:inherit; }
.insurance-video-ref{ margin:0; background:var(--bg); color:var(--text); font-family:"DM Sans","Helvetica Neue",Helvetica,Arial,sans-serif; -webkit-font-smoothing:antialiased; line-height:1.6; }
.wrap{ max-width:1240px; margin:0 auto; padding:0 clamp(1.25rem,4vw,2.5rem); }
.eyebrow{ margin:0; color:var(--red); font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }

/* ── Hero ── */
.hero{ text-align:center; padding-top:clamp(4rem,8vw,6rem); }
.hero h1{ margin:1rem 0 0; color:var(--navy); font-weight:500; font-size:clamp(2.8rem,6.4vw,5rem); line-height:1.02; letter-spacing:-.05em; }
.hero h2{ margin:1rem 0 0; color:var(--navy); font-weight:400; font-size:clamp(1.25rem,2.2vw,1.6rem); letter-spacing:-.02em; }
.hero p{ margin:.8rem auto 0; max-width:37rem; color:var(--mute); }

/* ═════ Reproductor ═════ */
.stage{ max-width:1080px; margin:clamp(2.5rem,5vw,4rem) auto 0; }
.frame{ background:var(--frame-bg); border:1px solid var(--line); border-radius:calc(var(--r,22px) + 10px); padding:10px; box-shadow:0 60px 110px -70px rgba(15,27,45,.6); }
.player-wrap{ transform-origin:50% 0; will-change:transform; }
.player:not(.is-live){ cursor:pointer; }
.player{
  position:relative; aspect-ratio:16/9; overflow:hidden; background:var(--panel);
  border-radius:var(--r,22px);
  user-select:none;
}
.player video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

/* Simulación (solo si no hay archivo de video): sustituida por tu video real */
.sim{ position:absolute; inset:0; display:none; place-items:center; color:#fff; text-align:center;
  background:radial-gradient(70% 60% at 50% 40%, #2C4366 0, #172740 55%, #0E182A 100%); padding-bottom:40px; }
.player.is-sim .sim{ display:grid; }
.player:not(.is-live) .sim-in{ opacity:0; }
.sim-in{ transition:opacity .4s; }
.sim .ring{ width:clamp(90px,14vw,150px); aspect-ratio:1; border-radius:50%; border:6px solid rgba(255,255,255,.85); display:grid; place-items:center; margin:0 auto 1.2rem; box-shadow:0 20px 40px rgba(0,0,0,.35); }
.sim .ring svg{ width:52%; height:52%; stroke:#fff; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.sim b{ display:block; font-size:clamp(1.4rem,3vw,2.4rem); font-weight:500; letter-spacing:-.03em; }
.sim small{ color:rgba(255,255,255,.65); font-size:.85rem; }
.sim .fade{ animation:simIn .6s var(--ease); }
@keyframes simIn{ from{ opacity:0; transform:translateY(10px) scale(.97) } to{ opacity:1; transform:none } }

/* Velo + botón grande */
.veil{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,18,32,0) 40%, rgba(10,18,32,.55)); transition:opacity .5s; pointer-events:none; }
.badge{ position:absolute; top:16px; left:16px; display:flex; align-items:center; gap:.45rem; background:rgba(10,18,32,.55); color:#fff; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); font-size:.75rem; font-weight:600; padding:.4rem .75rem; border-radius:999px; transition:opacity .4s; }
.badge i{ width:7px; height:7px; border-radius:50%; background:var(--red-hi); animation:pulse 1.4s infinite; }
@keyframes pulse{ 50%{ opacity:.3 } }
.big-play{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  display:flex; flex-direction:column; align-items:center; gap:.9rem;
  background:none; border:0; padding:0; color:#fff; font:inherit; cursor:pointer;
  transition:opacity .35s;
}
.big-play .pi{
  width:clamp(68px,9vw,88px); aspect-ratio:1; border-radius:50%; display:grid; place-items:center;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.35);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  box-shadow:0 20px 50px -15px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.25);
  transition:transform .6s cubic-bezier(.3,1.6,.5,1), background .3s;
}
.big-play .pi::after{ content:""; position:absolute; width:inherit; aspect-ratio:1; border-radius:50%; border:1px solid rgba(255,255,255,.4); animation:halo 2.4s ease-out infinite; }
@keyframes halo{ from{ transform:scale(1); opacity:.7 } to{ transform:scale(1.6); opacity:0 } }
.big-play .pi svg{ margin-left:4px; width:24px; height:24px; }
.big-play:hover .pi{ transform:scale(1.08); background:rgba(255,255,255,.22); }
.big-play .lbl{ white-space:nowrap; font-size:.9rem; font-weight:600; letter-spacing:.01em; padding:.42rem .95rem; border-radius:999px; background:rgba(8,14,26,.4); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.big-play:focus-visible{ outline:none; }
.big-play:focus-visible .pi{ outline:3px solid var(--red-hi); outline-offset:4px; }

/* Controles propios */
.controls{
  position:absolute; left:0; right:0; bottom:0; padding:2.5rem 1rem .8rem;
  background:linear-gradient(180deg, transparent, rgba(8,14,26,.75));
  display:flex; align-items:center; gap:.8rem; color:#fff;
  opacity:0; transform:translateY(8px); transition:opacity .35s, transform .35s; pointer-events:none;
}
.player.is-live .controls{ opacity:1; transform:none; pointer-events:auto; }
.player.is-live.is-idle .controls{ opacity:0; }
.player.is-live .big-play, .player.is-live .badge{ opacity:0; pointer-events:none; }
.player.is-live .veil{ opacity:0; }
.cbtn{ flex:none; width:36px; height:36px; border-radius:50%; border:0; background:rgba(255,255,255,.12); color:#fff; display:grid; place-items:center; cursor:pointer; }
.cbtn:hover{ background:rgba(255,255,255,.22); }
.cbtn:focus-visible{ outline:2px solid #fff; outline-offset:2px; }
.time{ flex:none; font-size:.8rem; font-variant-numeric:tabular-nums; opacity:.85; min-width:84px; }
.track{ position:relative; flex:1; height:22px; cursor:pointer; touch-action:none; }
.track .bar{ position:absolute; left:0; right:0; top:50%; height:4px; margin-top:-2px; border-radius:4px; background:rgba(255,255,255,.22); overflow:hidden; transition:height .2s, margin .2s; }
.track:hover .bar{ height:6px; margin-top:-3px; }
.track .fill{ position:absolute; inset:0 auto 0 0; width:0; background:var(--red-hi); }
.track .tick{ position:absolute; top:50%; width:2px; height:10px; margin-top:-5px; background:rgba(255,255,255,.55); border-radius:1px; }
.track .knob{ position:absolute; top:50%; width:14px; height:14px; margin:-7px 0 0 -7px; border-radius:50%; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.4); }

/* Final */
.end{
  position:absolute; inset:0; display:grid; place-items:center; text-align:center; color:#fff;
  background:rgba(10,18,32,.78); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  opacity:0; pointer-events:none; transition:opacity .5s;
}
.player.is-ended .end{ opacity:1; pointer-events:auto; }
.end h3{ margin:0; font-weight:500; font-size:clamp(1.4rem,3vw,2.2rem); letter-spacing:-.03em; }
.end p{ margin:.5rem 0 0; color:rgba(255,255,255,.75); }
.end .row{ display:flex; gap:.6rem; justify-content:center; margin-top:1.4rem; flex-wrap:wrap; }
.end a, .end button{ font:inherit; font-weight:600; font-size:.95rem; border-radius:999px; padding:.8rem 1.3rem; cursor:pointer; text-decoration:none; }
.end a{ background:#fff; color:#0F1B2D; border:0; }
.end button{ background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.6); }

/* Capítulos: barra segmentada */
.segments{ display:flex; gap:6px; padding:12px 4px 4px; }
.seg{
  flex:var(--w) 1 0; min-width:0; background:none; border:0; border-radius:12px;
  padding:.55rem .55rem .6rem; text-align:left; cursor:pointer; font:inherit; color:var(--mute);
  transition:background .25s, color .25s;
}
.seg:hover{ background:var(--soft); color:var(--navy); }
.seg .top{ display:flex; align-items:center; gap:.45rem; font-size:.84rem; font-weight:600; white-space:nowrap; overflow:hidden; }
.seg .top span{ overflow:hidden; text-overflow:ellipsis; }
.seg svg{ flex:none; width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.seg small{ display:block; margin-top:.1rem; font-size:.74rem; font-variant-numeric:tabular-nums; opacity:.8; }
.seg .sbar{ display:block; height:3px; margin-top:.55rem; border-radius:3px; background:var(--line); overflow:hidden; }
.seg .sbar i{ display:block; height:100%; width:0; background:var(--red); border-radius:3px; }
.seg.is-active{ color:var(--navy); }
.seg.is-active svg{ color:var(--red); }
.seg:focus-visible{ outline:2px solid var(--red); outline-offset:1px; }
.caption{ margin:1rem 0 0; text-align:center; color:var(--mute); font-size:.85rem; }

/* ═════ Detalle tipo Cartage ═════ */
.detail{ background:var(--soft); margin-top:clamp(5rem,9vw,7rem); padding:clamp(5rem,9vw,7rem) 0; }
.detail .wrap{ display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(2rem,6vw,5rem); }
.sticky{ position:sticky; top:clamp(5rem,15vh,8rem); align-self:start; }
.sticky h2{ margin:1rem 0 0; color:var(--navy); font-weight:500; font-size:clamp(2.2rem,4.4vw,3.4rem); line-height:1.05; letter-spacing:-.045em; }
.focus{
  margin-top:2rem; background:var(--panel); color:#fff; border-radius:22px; padding:2rem;
  min-height:240px; display:flex; flex-direction:column; justify-content:space-between; gap:2rem;
}
.focus-in{ flex:1; display:flex; flex-direction:column; justify-content:space-between; gap:2rem; }
.focus .big{ width:64px; height:64px; border-radius:18px; background:rgba(255,255,255,.08); display:grid; place-items:center; }
.focus .big svg{ width:32px; height:32px; stroke:#fff; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.focus b{ display:block; font-size:1.8rem; font-weight:500; letter-spacing:-.03em; line-height:1.1; }
.focus button{ margin-top:.8rem; font:inherit; font-size:.9rem; color:#fff; background:none; border:0; padding:0; cursor:pointer; border-bottom:1.5px solid rgba(255,255,255,.5); }
.focus .swap{ animation:simIn .5s var(--ease); }
.rows{ list-style:none; margin:0; padding:0; }
.rowc{ padding:clamp(2.5rem,7vh,4rem) 0; border-bottom:1px solid var(--line); opacity:.35; transition:opacity .5s; }
.rowc:first-child{ padding-top:0; }
.rowc.is-active{ opacity:1; }
.rowc h3{ margin:0; color:var(--navy); font-weight:500; font-size:clamp(1.5rem,2.6vw,2rem); letter-spacing:-.03em; }
.rowc p{ margin:.7rem 0 0; max-width:30rem; }
.rowc a{ display:inline-block; margin-top:1rem; color:var(--navy); font-weight:600; font-size:.92rem; text-decoration:none; border-bottom:1.5px solid var(--red); padding-bottom:2px; }
.rowc a:focus-visible{ outline:2px solid var(--red); outline-offset:3px; }

/* CTA final */
.final{ text-align:center; padding:clamp(5rem,9vw,7rem) 0; }
.final h2{ margin:0; color:var(--navy); font-weight:500; font-size:clamp(2rem,4.5vw,3.2rem); letter-spacing:-.04em; line-height:1.08; }
.final p{ color:var(--mute); margin:.8rem auto 0; max-width:30rem; }
.final a{ display:inline-block; margin-top:1.8rem; background:var(--navy); color:var(--on-navy); padding:.95rem 1.6rem; border-radius:999px; font-weight:700; text-decoration:none; }

@media (max-width:900px){
  .segments{ overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .seg{ flex:0 0 auto; min-width:118px; }
  .detail .wrap{ grid-template-columns:1fr; }
  .sticky{ position:relative; top:0; }
  .focus{ display:none; }
  .rowc{ opacity:1; }
}
@media (max-width:560px){ .time{ display:none; } .badge{ display:none; } .big-play{ gap:.6rem; } .big-play .pi{ width:56px; } .big-play .pi svg{ width:18px; height:18px; } .big-play .lbl{ white-space:nowrap; font-size:.8rem; } .frame{ padding:6px; } }
@media (prefers-reduced-motion: reduce){
  .player-wrap{ transform:none !important; }
  .sim .fade, .focus .swap{ animation:none; }
}

}
#insurance-solutions .insurance-video-ref{background:transparent;margin:0;padding:0}
#insurance-solutions .insurance-video-ref .stage{margin:clamp(1.25rem,2.5vw,2.25rem) auto 0!important;max-width:1080px}
#insurance-solutions .insurance-video-ref .frame{background:#fff}
#insurance-solutions .insurance-video-ref .player{aspect-ratio:16/9}
#insurance-solutions .insurance-video-ref .player video{object-fit:contain!important;background:#13213A}
#insurance-solutions .insurance-video-ref .sim{display:none!important}
#insurance-solutions .insurance-video-ref .player-wrap{transform:none!important}
#insurance-solutions .detail{background:var(--bg-paper,#F7F6F3)}
#insurance-solutions .final{background:var(--bg-paper,#F7F6F3)}
#insurance-solutions .detail .wrap{max-width:1240px}
#insurance-solutions .final a{color:#fff!important}
