:root{
  --hero-v117-navy:#12295d;
  --hero-v117-copy:#4c6483;
  --hero-v117-orange:#ee7548;
  --hero-v117-orange-deep:#df663c;
}

.hero-premium-v7{
  position:relative;
  padding:24px 0 38px;
  background:linear-gradient(180deg,#f6f8fb 0%,#fff 100%);
}
.hero-v7-shell{
  width:min(1280px,calc(100% - 40px));
  margin-inline:auto;
}
.hero-v117-stage{
  position:relative;
  min-height:620px;
  border-radius:34px;
  overflow:hidden;
  isolation:isolate;
  background:#07111e;
  box-shadow:0 26px 72px rgba(18,41,93,.14),inset 0 0 0 1px rgba(255,255,255,.18);
}
.hero-v7-media{
  position:absolute;
  inset:0;
  z-index:-3;
  background:#07111e;
}
.hero-v7-media video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center 40%;
}
.hero-v117-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(180deg,rgba(4,11,22,.12) 0%,rgba(4,11,22,.03) 42%,rgba(4,11,22,.30) 100%),
    linear-gradient(90deg,rgba(3,10,20,.34) 0%,rgba(3,10,20,.12) 36%,rgba(3,10,20,.03) 65%,rgba(3,10,20,.08) 100%);
}
.hero-v117-meta{
  position:absolute;
  top:22px;
  left:22px;
  right:22px;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.hero-v117-meta-left,
.hero-v117-meta-right{
  min-height:42px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(255,255,255,.84);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 12px 30px rgba(6,18,36,.12);
  color:var(--hero-v117-navy);
  font-size:11px;
  font-weight:780;
}
.hero-v117-meta-left .hero-v7-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--hero-v117-orange);
  box-shadow:0 0 0 5px rgba(238,117,72,.12);
}
.hero-v7-flag{
  width:24px;
  height:16px;
  object-fit:cover;
  border-radius:4px;
  box-shadow:0 0 0 1px rgba(18,41,93,.08);
}
.hero-v117-meta-right i{
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--hero-v117-orange);
}

.hero-v7-card{
  position:absolute;
  left:20px;
  right:20px;
  bottom:20px;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.08fr) minmax(260px,.74fr);
  gap:28px;
  align-items:start;
  padding:24px 24px 22px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(255,255,255,.93),rgba(246,248,250,.86));
  backdrop-filter:blur(16px) saturate(108%);
  -webkit-backdrop-filter:blur(16px) saturate(108%);
  box-shadow:0 22px 54px rgba(4,14,30,.18),inset 0 1px 0 rgba(255,255,255,.95);
  color:var(--hero-v117-navy);
}
.hero-v117-title-block{min-width:0}
.hero-v7-eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 13px;
  color:#60738e;
  font-size:11.5px;
  line-height:1;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.hero-v117-kicker-line{
  width:34px;
  height:2px;
  border-radius:999px;
  background:var(--hero-v117-orange);
}
.hero-v7-card h1{
  margin:0;
  max-width:455px;
  color:var(--hero-v117-navy);
  font-size:clamp(40px,3.05vw,46px);
  line-height:1.07;
  letter-spacing:-.037em;
  font-weight:820;
}
.hero-v7-card h1 span{color:var(--hero-v117-orange)}
.hero-v7-copy{
  display:grid;
  gap:9px;
  min-width:0;
  padding-top:25px;
}
.hero-v7-copy p{
  margin:0;
  color:var(--hero-v117-copy);
  font-size:16.4px;
  line-height:1.5;
  letter-spacing:-.003em;
}
.hero-v7-copy strong{color:#28466e;font-weight:800}

.hero-v117-action{
  min-width:0;
  display:grid;
  gap:12px;
  align-content:start;
  padding-top:24px;
}
.hero-v7-cta{
  width:100%;
  min-height:58px;
  padding:8px 9px 8px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:16px;
  background:linear-gradient(112deg,#f17a4d 0%,#eb7045 58%,#e5633b 100%);
  color:#fff;
  text-decoration:none;
  font-size:16px;
  line-height:1.12;
  font-weight:800;
  letter-spacing:-.015em;
  box-shadow:0 14px 30px rgba(214,72,31,.22),inset 0 1px 0 rgba(255,255,255,.20);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.hero-v7-cta:hover{
  color:#fff;
  transform:translateY(-1px);
  filter:saturate(1.04);
  box-shadow:0 18px 36px rgba(214,72,31,.29),inset 0 1px 0 rgba(255,255,255,.22);
}
.hero-v7-arrow{
  width:38px;
  height:38px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.40);
  background:rgba(255,255,255,.08);
  font-size:18px;
  font-weight:800;
}
.hero-v7-benefits{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
}
.hero-v7-benefit{
  min-width:0;
  display:flex;
  align-items:center;
  gap:6px;
  color:#2c4a71;
  font-size:10.5px;
  line-height:1.15;
  font-weight:760;
}
.hero-v7-icon{
  width:23px;
  height:23px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:8px;
  border:1px solid rgba(238,117,72,.22);
  background:#fff4ef;
  color:var(--hero-v117-orange-deep);
  font-size:8.5px;
  font-style:normal;
  font-weight:900;
}
.hero-v7-legal{
  width:100%;
  border:1px solid rgba(18,41,93,.08);
  border-radius:13px;
  background:rgba(255,255,255,.68);
  overflow:hidden;
}
.hero-v7-legal summary{
  min-height:34px;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 10px;
  cursor:pointer;
  color:#5a6f8b;
  font-size:10.5px;
  font-weight:760;
}
.hero-v7-legal summary::-webkit-details-marker{display:none}
.hero-v7-legal summary span{
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(238,117,72,.22);
  background:#fff;
  color:var(--hero-v117-orange-deep);
  transition:transform .18s ease;
}
.hero-v7-legal[open] summary span{transform:rotate(45deg)}
.hero-v7-legal-body{
  padding:10px 11px 11px;
  border-top:1px solid rgba(18,41,93,.07);
}
.hero-v7-legal-body p{
  margin:0;
  color:#647792;
  font-size:9.7px;
  line-height:1.43;
}
.hero-v7-legal-body strong{color:#304d73;font-weight:800}

@media (max-width:1120px){
  .hero-v117-stage{min-height:610px}
  .hero-v7-card{
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr) minmax(240px,.7fr);
    gap:22px;
    padding:22px;
  }
  .hero-v7-card h1{font-size:38px}
  .hero-v7-copy p{font-size:15.6px}
  .hero-v7-cta{font-size:15px}
  .hero-v7-benefit{font-size:9.8px}
}

@media (max-width:900px){
  .hero-premium-v7{padding-top:16px}
  .hero-v7-shell{width:calc(100% - 28px)}
  .hero-v117-stage{min-height:700px;border-radius:28px}
  .hero-v7-media video{object-position:61% 42%}
  .hero-v117-meta{top:16px;left:16px;right:16px}
  .hero-v117-meta-right{display:none}
  .hero-v7-card{
    left:16px;
    right:16px;
    bottom:16px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px 22px;
  }
  .hero-v117-title-block{grid-column:1/2}
  .hero-v7-copy{grid-column:2/3;padding-top:22px}
  .hero-v117-action{grid-column:1/-1;padding-top:0;grid-template-columns:minmax(0,1fr) minmax(260px,.65fr);align-items:start}
  .hero-v7-benefits{grid-column:1/2;grid-row:2}
  .hero-v7-legal{grid-column:2/3;grid-row:2}
}

@media (max-width:760px){
  .hero-premium-v7{
    padding:0 0 42px;
    background:linear-gradient(180deg,#f4f6f9 0%,#f7f8fb 45%,#fff 100%);
  }
  .hero-v7-shell{width:100%}
  .hero-v117-stage{
    min-height:0;
    overflow:visible;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    padding-top:210px;
  }
  .hero-v7-media{
    height:240px;
    bottom:auto;
    z-index:0;
    overflow:hidden;
    border-radius:0 0 24px 24px;
  }
  .hero-v7-media video{object-position:59% 46%}
  .hero-v117-overlay{
    height:240px;
    bottom:auto;
    z-index:1;
    background:linear-gradient(180deg,rgba(4,11,22,.12),rgba(4,11,22,.06) 55%,rgba(4,11,22,.28));
    border-radius:0 0 24px 24px;
  }
  .hero-v117-meta{
    top:14px;
    left:14px;
    right:14px;
    z-index:3;
  }
  .hero-v117-meta-left{
    min-height:38px;
    padding:0 12px;
    font-size:10px;
  }
  .hero-v117-meta-left .hero-v7-dot{width:6px;height:6px}
  .hero-v7-flag{width:21px;height:14px}
  .hero-v7-card{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    z-index:3;
    width:calc(100% - 24px);
    margin:-14px auto 0;
    display:block;
    padding:20px 18px 16px;
    border-radius:22px;
    background:#fff;
    border:1px solid rgba(18,41,93,.08);
    box-shadow:0 18px 40px rgba(18,41,93,.10);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .hero-v7-eyebrow{margin-bottom:10px;font-size:10.8px}
  .hero-v117-kicker-line{width:28px}
  .hero-v7-card h1{
    max-width:none;
    font-size:clamp(30px,7.5vw,34px);
    line-height:1.08;
    letter-spacing:-.033em;
  }
  .hero-v7-copy{
    padding-top:14px;
    gap:8px;
  }
  .hero-v7-copy p{
    font-size:15.5px;
    line-height:1.5;
  }
  .hero-v117-action{
    display:block;
    padding-top:0;
    margin-top:15px;
  }
  .hero-v7-cta{
    min-height:52px;
    padding:7px 8px 7px 15px;
    border-radius:15px;
    font-size:15.3px;
  }
  .hero-v7-arrow{width:35px;height:35px;border-radius:11px;font-size:16px}
  .hero-v7-benefits{display:none}
  .hero-v7-legal{
    margin-top:7px;
    border:0;
    border-radius:0;
    background:transparent;
  }
  .hero-v7-legal summary{
    justify-content:flex-start;
    gap:7px;
    padding:0 2px;
    color:#61738d;
    font-size:10.2px;
  }
  .hero-v7-legal summary span{order:-1;width:17px;height:17px}
  .hero-v7-legal-body{
    margin-top:5px;
    padding:10px 11px 11px;
    border:1px solid rgba(18,41,93,.08);
    border-radius:13px;
    background:#f9fafb;
  }
  .hero-v7-legal-body p{font-size:9.65px;line-height:1.42}
}

@media (max-width:390px){
  .hero-v117-stage{padding-top:195px}
  .hero-v7-media,.hero-v117-overlay{height:225px}
  .hero-v7-card{width:calc(100% - 20px);padding:18px 16px 15px}
  .hero-v7-card h1{font-size:29px}
  .hero-v7-copy p{font-size:15px}
  .hero-v7-cta{font-size:14.8px}
}

@media (prefers-reduced-motion:reduce){
  .hero-v7-cta,.hero-v7-legal summary span{transition:none}
}

/* ==========================================================
   V120 DESKTOP HERO — SAFE LAYOUT
   Keeps V117 mobile untouched. On desktop, the video lives in
   its own visual block and the content card sits in normal flow,
   overlapping only slightly. Opening legal text expands DOWN,
   never upward over the video.
   ========================================================== */
@media (min-width:761px){
  .hero-premium-v7{
    padding:24px 0 54px;
    background:linear-gradient(180deg,#f6f8fb 0%,#fff 100%);
  }

  .hero-v117-stage{
    min-height:0;
    overflow:visible;
    isolation:isolate;
    background:transparent;
    border-radius:0;
    box-shadow:none;
  }

  .hero-v7-media{
    position:relative;
    inset:auto;
    z-index:0;
    height:404px;
    overflow:hidden;
    border-radius:34px;
    background:#07111e;
    box-shadow:0 26px 72px rgba(18,41,93,.14),inset 0 0 0 1px rgba(255,255,255,.18);
  }

  .hero-v7-media video{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 38%;
  }

  .hero-v117-overlay{
    top:0;
    left:0;
    right:0;
    bottom:auto;
    height:404px;
    z-index:1;
    border-radius:34px;
    background:
      linear-gradient(180deg,rgba(4,11,22,.10) 0%,rgba(4,11,22,.02) 58%,rgba(4,11,22,.24) 100%),
      linear-gradient(90deg,rgba(3,10,20,.28) 0%,rgba(3,10,20,.08) 38%,rgba(3,10,20,.02) 68%,rgba(3,10,20,.08) 100%);
    pointer-events:none;
  }

  .hero-v117-meta{
    top:22px;
    left:22px;
    right:22px;
    z-index:3;
  }

  .hero-v7-card{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    z-index:4;
    width:calc(100% - 64px);
    margin:-88px auto 0;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr) minmax(250px,.68fr);
    gap:28px;
    align-items:start;
    padding:26px 26px 24px;
    border-radius:28px;
    background:linear-gradient(145deg,rgba(255,255,255,.975),rgba(247,249,251,.955));
    backdrop-filter:blur(14px) saturate(106%);
    -webkit-backdrop-filter:blur(14px) saturate(106%);
    box-shadow:0 22px 54px rgba(4,14,30,.14),inset 0 1px 0 rgba(255,255,255,.98);
  }

  .hero-v7-card h1{
    max-width:440px;
    font-size:clamp(38px,2.75vw,43px);
    line-height:1.065;
  }

  .hero-v7-copy{
    padding-top:23px;
    gap:9px;
  }

  .hero-v7-copy p{
    font-size:15.8px;
    line-height:1.49;
  }

  .hero-v117-action{
    padding-top:22px;
    gap:11px;
  }

  .hero-v7-cta{
    min-height:56px;
    font-size:15.4px;
  }

  .hero-v7-benefit{
    font-size:10px;
  }

  .hero-v7-legal{
    position:relative;
    overflow:visible;
  }

  .hero-v7-legal-body{
    max-height:126px;
    overflow:auto;
    scrollbar-width:thin;
    scrollbar-color:rgba(18,41,93,.20) transparent;
  }

  .hero-v7-legal-body::-webkit-scrollbar{width:5px}
  .hero-v7-legal-body::-webkit-scrollbar-thumb{
    background:rgba(18,41,93,.18);
    border-radius:999px;
  }
}

@media (min-width:761px) and (max-width:980px){
  .hero-v7-media,
  .hero-v117-overlay{height:360px}

  .hero-v7-card{
    width:calc(100% - 40px);
    margin-top:-76px;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    gap:20px 24px;
    padding:23px;
  }

  .hero-v117-title-block{grid-column:1/2}
  .hero-v7-copy{grid-column:2/3;padding-top:20px}

  .hero-v117-action{
    grid-column:1/-1;
    padding-top:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(270px,.72fr);
    gap:10px 16px;
    align-items:start;
  }

  .hero-v7-cta{grid-column:1/2;grid-row:1}
  .hero-v7-benefits{grid-column:1/2;grid-row:2}
  .hero-v7-legal{grid-column:2/3;grid-row:1/3}
  .hero-v7-card h1{font-size:36px}
  .hero-v7-copy p{font-size:15.3px}
}

/* ==========================================================
   V121 — DESKTOP HERO REFINEMENT
   Compact card + full-width legal row. Legal expansion grows
   the card downward without squeezing the CTA column or using
   an inner scrollbar. Mobile visual treatment remains V117.
   ========================================================== */

/* Reset legacy legal-icon assumptions after moving legal outside action */
.hero-v121-legal summary > span{
  width:auto;
  height:auto;
  display:inline;
  border:0;
  border-radius:0;
  background:transparent;
  color:inherit;
  transform:none !important;
}
.hero-v121-legal summary > i{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  border:1px solid rgba(238,117,72,.22);
  background:#fff;
  color:var(--hero-v117-orange-deep);
  font-style:normal;
  font-size:12px;
  line-height:1;
  font-weight:800;
  transition:transform .18s ease;
}
.hero-v121-legal[open] summary > i{transform:rotate(45deg)}

@media (min-width:981px){
  .hero-premium-v7{
    padding:22px 0 48px;
  }

  .hero-v7-media,
  .hero-v117-overlay{
    height:424px;
  }

  .hero-v7-media video{
    object-position:center 38%;
  }

  .hero-v7-card{
    width:calc(100% - 72px);
    margin:-84px auto 0;
    grid-template-columns:minmax(300px,.88fr) minmax(420px,1.12fr) minmax(275px,.68fr);
    column-gap:32px;
    row-gap:17px;
    align-items:start;
    padding:23px 26px 17px;
    border-radius:27px;
    background:linear-gradient(145deg,rgba(255,255,255,.982),rgba(247,249,251,.965));
    box-shadow:0 20px 48px rgba(4,14,30,.13),inset 0 1px 0 rgba(255,255,255,.98);
  }

  .hero-v117-title-block{
    align-self:start;
  }

  .hero-v7-eyebrow{
    margin-bottom:11px;
  }

  .hero-v7-card h1{
    max-width:405px;
    font-size:clamp(37px,2.6vw,42px);
    line-height:1.055;
    letter-spacing:-.038em;
  }

  .hero-v7-copy{
    padding-top:17px;
    gap:8px;
  }

  .hero-v7-copy p{
    font-size:15.5px;
    line-height:1.46;
  }

  .hero-v117-action{
    padding-top:16px;
    gap:9px;
  }

  .hero-v7-cta{
    min-height:54px;
    border-radius:15px;
    font-size:15.2px;
  }

  .hero-v7-arrow{
    width:36px;
    height:36px;
    border-radius:11px;
  }

  .hero-v7-benefits{
    gap:7px;
  }

  .hero-v7-benefit{
    font-size:9.8px;
    gap:5px;
  }

  .hero-v7-icon{
    width:22px;
    height:22px;
  }

  .hero-v121-legal{
    grid-column:1/-1;
    width:100%;
    margin:0;
    overflow:hidden;
    border:1px solid rgba(18,41,93,.075);
    border-radius:13px;
    background:rgba(248,250,252,.78);
  }

  .hero-v121-legal summary{
    min-height:36px;
    padding:0 11px 0 13px;
    color:#60738e;
    font-size:10.7px;
    line-height:1;
    font-weight:760;
  }

  .hero-v121-legal .hero-v7-legal-body{
    max-height:none;
    overflow:visible;
    padding:10px 13px 12px;
    border-top:1px solid rgba(18,41,93,.065);
    background:rgba(255,255,255,.58);
  }

  .hero-v121-legal .hero-v7-legal-body p{
    max-width:1120px;
    color:#647792;
    font-size:10.6px;
    line-height:1.48;
  }

  .hero-v121-legal .hero-v7-legal-body strong{
    color:#304d73;
  }
}

@media (min-width:761px) and (max-width:980px){
  .hero-v7-card{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    row-gap:16px;
  }

  .hero-v117-title-block{grid-column:1/2}
  .hero-v7-copy{grid-column:2/3}

  .hero-v117-action{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:10px 18px;
    align-items:center;
  }

  .hero-v7-cta{grid-column:1/2}
  .hero-v7-benefits{grid-column:2/3}

  .hero-v121-legal{
    grid-column:1/-1;
    margin:0;
  }

  .hero-v121-legal .hero-v7-legal-body{
    max-height:none;
    overflow:visible;
  }
}

@media (max-width:760px){
  /* keep the approved V117 mobile composition, only adapt the moved legal block */
  .hero-v121-legal{
    margin-top:7px;
    border:0;
    border-radius:0;
    background:transparent;
    overflow:visible;
  }

  .hero-v121-legal summary{
    min-height:34px;
    justify-content:flex-start;
    gap:7px;
    padding:0 2px;
    color:#61738d;
    font-size:10.2px;
  }

  .hero-v121-legal summary > i{
    order:-1;
    width:17px;
    height:17px;
    font-size:10px;
  }

  .hero-v121-legal .hero-v7-legal-body{
    max-height:none;
    overflow:visible;
    margin-top:5px;
    padding:10px 11px 11px;
    border:1px solid rgba(18,41,93,.08);
    border-radius:13px;
    background:#f9fafb;
  }

  .hero-v121-legal .hero-v7-legal-body p{
    font-size:9.65px;
    line-height:1.42;
  }
}

/* ==========================================================
   V122 — DESKTOP HERO UX REBALANCE
   Keep approved mobile untouched.
   Desktop: two-column information layout, CTA directly follows
   explanatory copy, compact overlap, full-width legal row.
   ========================================================== */
@media (min-width:981px){
  .hero-premium-v7{
    padding:22px 0 46px;
  }

  .hero-v7-media,
  .hero-v117-overlay{
    height:420px;
  }

  .hero-v7-media video{
    object-position:center 38%;
  }

  .hero-v7-card{
    width:calc(100% - 92px);
    margin:-144px auto 0;
    display:grid;
    grid-template-columns:minmax(330px,.82fr) minmax(0,1.18fr);
    grid-template-areas:
      "title copy"
      "title action"
      "legal legal";
    column-gap:44px;
    row-gap:14px;
    align-items:start;
    padding:24px 28px 18px;
    border-radius:28px;
    background:linear-gradient(145deg,rgba(255,255,255,.985),rgba(247,249,251,.968));
    box-shadow:0 22px 52px rgba(4,14,30,.14),inset 0 1px 0 rgba(255,255,255,.99);
  }

  .hero-v117-title-block{
    grid-area:title;
    align-self:start;
    padding-top:1px;
  }

  .hero-v7-eyebrow{
    margin-bottom:11px;
  }

  .hero-v7-card h1{
    max-width:430px;
    font-size:clamp(38px,2.65vw,43px);
    line-height:1.055;
    letter-spacing:-.038em;
  }

  .hero-v7-copy{
    grid-area:copy;
    padding-top:1px;
    gap:8px;
    max-width:650px;
  }

  .hero-v7-copy p{
    font-size:15.8px;
    line-height:1.47;
  }

  .hero-v117-action{
    grid-area:action;
    display:grid;
    grid-template-columns:minmax(285px,340px) minmax(0,1fr);
    gap:14px 18px;
    align-items:center;
    padding-top:2px;
  }

  .hero-v7-cta{
    width:100%;
    min-height:56px;
    padding:8px 9px 8px 18px;
    border-radius:15px;
    font-size:15.5px;
  }

  .hero-v7-benefits{
    grid-template-columns:repeat(3,max-content);
    justify-content:start;
    gap:12px;
  }

  .hero-v7-benefit{
    gap:6px;
    font-size:10.3px;
    white-space:nowrap;
  }

  .hero-v7-icon{
    width:23px;
    height:23px;
  }

  .hero-v121-legal{
    grid-area:legal;
    width:100%;
    margin-top:2px;
    border-radius:13px;
    background:rgba(248,250,252,.80);
  }

  .hero-v121-legal summary{
    min-height:36px;
    padding:0 11px 0 13px;
  }

  .hero-v121-legal .hero-v7-legal-body{
    padding:10px 13px 12px;
  }

  .hero-v121-legal .hero-v7-legal-body p{
    max-width:1150px;
    font-size:10.6px;
    line-height:1.48;
  }
}

@media (min-width:981px) and (max-width:1180px){
  .hero-v7-card{
    width:calc(100% - 60px);
    margin-top:-130px;
    grid-template-columns:minmax(300px,.84fr) minmax(0,1.16fr);
    column-gap:30px;
    padding:22px 24px 17px;
  }

  .hero-v7-card h1{
    font-size:37px;
    max-width:390px;
  }

  .hero-v7-copy p{
    font-size:15.2px;
  }

  .hero-v117-action{
    grid-template-columns:minmax(260px,315px) minmax(0,1fr);
    gap:12px 14px;
  }

  .hero-v7-benefits{
    gap:8px;
  }

  .hero-v7-benefit{
    font-size:9.7px;
  }
}


/* ==========================================================
   V126 — NEW DESKTOP HERO DIRECTION
   Desktop only: compact editorial panel on the dark left side
   of the video. The subject remains fully visible on the right.
   Mobile remains exactly as approved.
   ========================================================== */
@media (min-width:981px){
  .hero-premium-v7{
    padding:18px 0 54px;
    background:linear-gradient(180deg,#f6f8fb 0%,#ffffff 100%);
  }

  .hero-v7-shell{
    width:min(1340px,calc(100% - 52px));
  }

  .hero-v117-stage{
    position:relative;
    min-height:620px;
    overflow:hidden;
    isolation:isolate;
    border-radius:36px;
    background:#07111e;
    box-shadow:0 28px 76px rgba(18,41,93,.16),inset 0 0 0 1px rgba(255,255,255,.16);
  }

  .hero-v7-media{
    position:absolute;
    inset:0;
    z-index:-3;
    width:100%;
    height:100%;
    min-height:100%;
    overflow:hidden;
    border-radius:inherit;
    box-shadow:none;
    background:#07111e;
  }

  .hero-v7-media video{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 38%;
  }

  .hero-v117-overlay{
    position:absolute;
    inset:0;
    z-index:-2;
    width:auto;
    height:auto;
    border-radius:inherit;
    background:
      linear-gradient(90deg,rgba(3,10,20,.58) 0%,rgba(3,10,20,.34) 31%,rgba(3,10,20,.10) 51%,rgba(3,10,20,.02) 72%,rgba(3,10,20,.09) 100%),
      linear-gradient(180deg,rgba(3,10,20,.10) 0%,rgba(3,10,20,.01) 50%,rgba(3,10,20,.22) 100%);
    pointer-events:none;
  }

  .hero-v117-meta{
    position:absolute;
    top:24px;
    left:26px;
    right:26px;
    z-index:4;
  }

  .hero-v117-meta-left,
  .hero-v117-meta-right{
    min-height:42px;
    padding:0 14px;
    background:rgba(255,255,255,.88);
    border:1px solid rgba(255,255,255,.60);
    box-shadow:0 12px 28px rgba(3,10,20,.12);
  }

  .hero-v7-card{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    z-index:3;
    width:min(548px,calc(100% - 620px));
    min-width:500px;
    margin:92px auto 38px 38px;
    display:block;
    padding:28px 28px 22px;
    border:1px solid rgba(255,255,255,.72);
    border-radius:29px;
    background:linear-gradient(145deg,rgba(255,255,255,.955),rgba(247,249,251,.925));
    backdrop-filter:blur(16px) saturate(108%);
    -webkit-backdrop-filter:blur(16px) saturate(108%);
    box-shadow:0 24px 58px rgba(2,12,27,.22),inset 0 1px 0 rgba(255,255,255,.98);
    color:var(--hero-v117-navy);
  }

  .hero-v117-title-block{
    padding:0;
  }

  .hero-v7-eyebrow{
    margin:0 0 12px;
    font-size:11px;
  }

  .hero-v117-kicker-line{
    width:30px;
  }

  .hero-v7-card h1{
    max-width:480px;
    margin:0;
    font-size:clamp(39px,3.05vw,44px);
    line-height:1.055;
    letter-spacing:-.039em;
  }

  .hero-v7-copy{
    display:grid;
    gap:8px;
    max-width:485px;
    padding:18px 0 0;
  }

  .hero-v7-copy p{
    font-size:15.4px;
    line-height:1.47;
  }

  .hero-v117-action{
    display:block;
    margin-top:18px;
    padding:0;
  }

  .hero-v7-cta{
    width:100%;
    min-height:56px;
    padding:8px 9px 8px 18px;
    border-radius:16px;
    font-size:15.6px;
  }

  .hero-v7-benefits{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-top:11px;
  }

  .hero-v7-benefit{
    white-space:normal;
    gap:6px;
    font-size:10px;
    line-height:1.18;
  }

  .hero-v7-icon{
    width:23px;
    height:23px;
  }

  .hero-v121-legal{
    width:100%;
    margin-top:12px;
    overflow:hidden;
    border:1px solid rgba(18,41,93,.075);
    border-radius:13px;
    background:rgba(248,250,252,.82);
  }

  .hero-v121-legal summary{
    min-height:36px;
    padding:0 11px 0 13px;
    color:#60738e;
    font-size:10.7px;
    line-height:1;
    font-weight:760;
  }

  .hero-v121-legal .hero-v7-legal-body{
    max-height:none;
    overflow:visible;
    padding:10px 13px 12px;
    border-top:1px solid rgba(18,41,93,.065);
    background:rgba(255,255,255,.64);
  }

  .hero-v121-legal .hero-v7-legal-body p{
    max-width:none;
    font-size:10.35px;
    line-height:1.46;
  }
}

@media (min-width:981px) and (max-width:1180px){
  .hero-v7-shell{
    width:calc(100% - 38px);
  }

  .hero-v117-stage{
    min-height:610px;
    border-radius:32px;
  }

  .hero-v7-card{
    width:500px;
    min-width:0;
    margin:88px auto 32px 28px;
    padding:25px 24px 20px;
  }

  .hero-v7-card h1{
    font-size:38px;
  }

  .hero-v7-copy{
    padding-top:16px;
  }

  .hero-v7-copy p{
    font-size:14.9px;
  }

  .hero-v7-cta{
    font-size:15px;
  }
}


/* ==========================================================
   V127 — DESKTOP: INFO LEFT / ACTION + LEGAL RIGHT
   Preserve approved mobile. Keep lateral spacing aligned with
   the new home system and leave the centre of the video open.
   ========================================================== */
@media (min-width:981px){
  .hero-v7-shell{
    width:min(1320px,calc(100% - 64px));
  }

  .hero-v117-stage{
    min-height:620px;
    padding:0;
  }

  .hero-v7-card.hero-v127-layout{
    position:relative;
    z-index:3;
    width:auto;
    min-width:0;
    margin:94px 38px 36px;
    padding:0;
    display:grid;
    grid-template-columns:minmax(440px,520px) minmax(300px,350px);
    justify-content:space-between;
    align-items:end;
    gap:52px;
    border:0;
    border-radius:0;
    background:transparent;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    box-shadow:none;
    color:var(--hero-v117-navy);
  }

  .hero-v127-info{
    align-self:start;
    padding:28px 28px 26px;
    border:1px solid rgba(255,255,255,.72);
    border-radius:29px;
    background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(247,249,251,.93));
    backdrop-filter:blur(16px) saturate(108%);
    -webkit-backdrop-filter:blur(16px) saturate(108%);
    box-shadow:0 24px 58px rgba(2,12,27,.22),inset 0 1px 0 rgba(255,255,255,.98);
  }

  .hero-v127-info .hero-v7-card h1,
  .hero-v127-info h1{
    max-width:470px;
    font-size:clamp(39px,3vw,44px);
    line-height:1.055;
  }

  .hero-v127-info .hero-v7-copy{
    max-width:470px;
    padding-top:18px;
  }

  .hero-v127-side{
    align-self:end;
    width:100%;
    padding:16px;
    border:1px solid rgba(255,255,255,.64);
    border-radius:23px;
    background:rgba(255,255,255,.88);
    backdrop-filter:blur(14px) saturate(106%);
    -webkit-backdrop-filter:blur(14px) saturate(106%);
    box-shadow:0 20px 46px rgba(2,12,27,.18),inset 0 1px 0 rgba(255,255,255,.96);
  }

  .hero-v127-side .hero-v117-action{
    display:block;
    margin:0;
    padding:0;
  }

  .hero-v127-side .hero-v7-cta{
    width:100%;
    min-height:58px;
    font-size:15.5px;
  }

  .hero-v127-side .hero-v7-benefits{
    margin-top:10px;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }

  .hero-v127-side .hero-v7-benefit{
    white-space:normal;
    font-size:9.7px;
    line-height:1.15;
  }

  .hero-v127-side .hero-v121-legal{
    width:100%;
    margin-top:11px;
    background:rgba(248,250,252,.88);
  }

  .hero-v127-side .hero-v121-legal .hero-v7-legal-body{
    max-height:none;
    overflow:visible;
  }

  .hero-v127-side .hero-v121-legal .hero-v7-legal-body p{
    font-size:10.1px;
    line-height:1.45;
  }
}

@media (min-width:981px) and (max-width:1180px){
  .hero-v7-shell{
    width:calc(100% - 40px);
  }

  .hero-v7-card.hero-v127-layout{
    margin:88px 26px 30px;
    grid-template-columns:minmax(400px,485px) minmax(285px,325px);
    gap:30px;
  }

  .hero-v127-info{
    padding:25px 24px 22px;
  }

  .hero-v127-info h1{
    font-size:38px;
  }

  .hero-v127-info .hero-v7-copy p{
    font-size:14.9px;
  }
}

@media (max-width:980px){
  .hero-v127-info,
  .hero-v127-side{
    display:contents;
  }
}


/* ==========================================================
   V128 — DESKTOP ALIGNMENT + TIGHTER HERO
   Align hero edges with global shell/header/section grid,
   reduce empty lower space, and widen the right-side action card.
   Mobile remains unchanged.
   ========================================================== */
@media (min-width:981px){
  .hero-premium-v7{
    padding:22px 0 34px;
  }

  .hero-v7-shell{
    width:min(var(--c2-shell), calc(100% - 48px));
  }

  .hero-v117-stage{
    min-height:560px;
    padding:0;
  }

  .hero-v7-media,
  .hero-v117-overlay{
    height:468px;
  }

  .hero-v7-media video{
    object-position:center 34%;
  }

  .hero-v7-card.hero-v127-layout{
    margin:74px 24px 18px;
    padding:0;
    grid-template-columns:minmax(430px,520px) minmax(350px,390px);
    gap:34px;
    align-items:end;
  }

  .hero-v127-info{
    padding:28px 28px 24px;
    border-radius:29px;
  }

  .hero-v127-info h1{
    max-width:450px;
    font-size:clamp(38px,2.9vw,43px);
    line-height:1.055;
  }

  .hero-v127-info .hero-v7-copy{
    max-width:455px;
    padding-top:16px;
    gap:8px;
  }

  .hero-v127-info .hero-v7-copy p{
    font-size:15.4px;
    line-height:1.48;
  }

  .hero-v127-side{
    width:100%;
    max-width:390px;
    justify-self:end;
    align-self:end;
    padding:18px;
    border-radius:24px;
  }

  .hero-v127-side .hero-v117-action{
    padding:0;
    margin:0;
  }

  .hero-v127-side .hero-v7-cta{
    min-height:56px;
    font-size:15.3px;
  }

  .hero-v127-side .hero-v7-benefits{
    margin-top:10px;
    gap:8px;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .hero-v127-side .hero-v7-benefit{
    font-size:9.9px;
    line-height:1.15;
  }

  .hero-v127-side .hero-v121-legal{
    margin-top:10px;
    width:100%;
  }

  .hero-v127-side .hero-v121-legal summary{
    min-height:38px;
    padding:0 11px 0 13px;
  }

  .hero-v127-side .hero-v121-legal .hero-v7-legal-body{
    max-height:none;
    overflow:visible;
  }

  .hero-v127-side .hero-v121-legal .hero-v7-legal-body p{
    font-size:10.15px;
    line-height:1.46;
  }
}

@media (min-width:981px) and (max-width:1180px){
  .hero-v7-shell{
    width:min(var(--c2-shell), calc(100% - 48px));
  }

  .hero-v117-stage{
    min-height:538px;
  }

  .hero-v7-media,
  .hero-v117-overlay{
    height:440px;
  }

  .hero-v7-card.hero-v127-layout{
    margin:68px 20px 16px;
    grid-template-columns:minmax(380px,1fr) minmax(320px,360px);
    gap:24px;
  }

  .hero-v127-info{
    padding:24px 22px 22px;
  }

  .hero-v127-info h1{
    max-width:410px;
    font-size:36px;
  }

  .hero-v127-info .hero-v7-copy p{
    font-size:14.8px;
  }

  .hero-v127-side{
    max-width:360px;
    padding:16px;
  }
}


/* ==========================================================
   V129 — CLEAN / BALANCED DESKTOP HERO
   Same global shell as header/sections. Two floating modules
   share one visual axis: information left, action/legal right.
   Right module is vertically centered instead of hanging low.
   Mobile remains untouched.
   ========================================================== */
@media (min-width:981px){
  .hero-premium-v7{
    padding:18px 0 30px;
  }

  .hero-v7-shell{
    width:min(var(--c2-shell),calc(100% - 48px));
  }

  .hero-v117-stage{
    min-height:520px;
    border-radius:32px;
  }

  .hero-v117-meta{
    top:22px;
    left:28px;
    right:28px;
  }

  /* duplicated by the action module; hiding it makes desktop calmer */
  .hero-v117-meta-right{
    display:none;
  }

  .hero-v7-card.hero-v127-layout{
    width:auto;
    min-width:0;
    margin:78px 30px 24px;
    padding:0;
    display:grid;
    grid-template-columns:minmax(0,500px) minmax(360px,405px);
    justify-content:space-between;
    align-items:center;
    gap:34px;
  }

  .hero-v127-info,
  .hero-v127-side{
    border:1px solid rgba(255,255,255,.72);
    background:linear-gradient(145deg,rgba(255,255,255,.965),rgba(247,249,251,.94));
    backdrop-filter:blur(16px) saturate(108%);
    -webkit-backdrop-filter:blur(16px) saturate(108%);
    box-shadow:0 22px 52px rgba(2,12,27,.19),inset 0 1px 0 rgba(255,255,255,.98);
  }

  .hero-v127-info{
    width:100%;
    align-self:center;
    padding:26px 27px 24px;
    border-radius:28px;
  }

  .hero-v127-info h1{
    max-width:445px;
    font-size:clamp(38px,2.75vw,42px);
    line-height:1.055;
  }

  .hero-v127-info .hero-v7-copy{
    max-width:448px;
    padding-top:15px;
    gap:7px;
  }

  .hero-v127-info .hero-v7-copy p{
    font-size:15.2px;
    line-height:1.45;
  }

  .hero-v127-side{
    width:100%;
    max-width:405px;
    justify-self:end;
    align-self:center;
    padding:18px;
    border-radius:28px;
  }

  .hero-v127-side .hero-v117-action{
    display:block;
    margin:0;
    padding:0;
  }

  .hero-v127-side .hero-v7-cta{
    width:100%;
    min-height:58px;
    border-radius:16px;
    font-size:15.4px;
  }

  .hero-v127-side .hero-v7-benefits{
    margin-top:11px;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }

  .hero-v127-side .hero-v7-benefit{
    justify-content:center;
    gap:5px;
    white-space:normal;
    font-size:9.8px;
    line-height:1.12;
    text-align:left;
  }

  .hero-v127-side .hero-v7-icon{
    width:23px;
    height:23px;
  }

  .hero-v127-side .hero-v121-legal{
    width:100%;
    margin-top:11px;
    border-radius:13px;
    background:rgba(248,250,252,.90);
  }

  .hero-v127-side .hero-v121-legal summary{
    min-height:38px;
    padding:0 11px 0 13px;
  }

  .hero-v127-side .hero-v121-legal .hero-v7-legal-body{
    max-height:none;
    overflow:visible;
    padding:10px 12px 12px;
  }

  .hero-v127-side .hero-v121-legal .hero-v7-legal-body p{
    font-size:10px;
    line-height:1.43;
  }
}

@media (min-width:981px) and (max-width:1180px){
  .hero-v117-stage{
    min-height:500px;
  }

  .hero-v7-card.hero-v127-layout{
    margin:72px 24px 22px;
    grid-template-columns:minmax(0,465px) minmax(330px,370px);
    gap:26px;
  }

  .hero-v127-info{
    padding:24px 23px 22px;
  }

  .hero-v127-info h1{
    max-width:410px;
    font-size:36px;
  }

  .hero-v127-info .hero-v7-copy p{
    font-size:14.7px;
  }

  .hero-v127-side{
    max-width:370px;
    padding:16px;
  }
}


/* ==========================================================
   V130 — DESKTOP HERO FINAL COMPOSITION PASS
   Same global shell as header/sections. No floating midpoint.
   Both modules share the same bottom baseline; the stage height
   is driven by content + intentional padding, removing dead air.
   Mobile remains untouched.
   ========================================================== */
@media (min-width:981px){
  .hero-premium-v7{
    padding:16px 0 28px;
  }

  .hero-v7-shell{
    width:min(var(--c2-shell),calc(100% - 48px));
  }

  .hero-v117-stage{
    position:relative;
    min-height:0;
    padding:72px 28px 72px;
    overflow:hidden;
    border-radius:32px;
  }

  .hero-v7-media,
  .hero-v117-overlay{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-height:100%;
    border-radius:inherit;
  }

  .hero-v7-media video{
    object-position:center 36%;
  }

  .hero-v117-meta{
    top:22px;
    left:28px;
    right:28px;
  }

  .hero-v117-meta-right{
    display:none;
  }

  .hero-v7-card.hero-v127-layout{
    position:relative;
    z-index:3;
    width:100%;
    min-width:0;
    margin:0;
    padding:0;
    display:grid;
    grid-template-columns:minmax(0,510px) minmax(400px,440px);
    justify-content:space-between;
    align-items:end;
    gap:34px;
    border:0;
    border-radius:0;
    background:transparent;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    box-shadow:none;
  }

  .hero-v127-info{
    width:100%;
    align-self:end;
    padding:28px;
    border-radius:28px;
    border:1px solid rgba(255,255,255,.74);
    background:linear-gradient(145deg,rgba(255,255,255,.965),rgba(247,249,251,.94));
    backdrop-filter:blur(16px) saturate(108%);
    -webkit-backdrop-filter:blur(16px) saturate(108%);
    box-shadow:0 22px 52px rgba(2,12,27,.19),inset 0 1px 0 rgba(255,255,255,.98);
  }

  .hero-v127-info h1{
    max-width:455px;
    font-size:clamp(38px,2.7vw,42px);
    line-height:1.055;
  }

  .hero-v127-info .hero-v7-copy{
    max-width:458px;
    padding-top:16px;
    gap:9px;
  }

  .hero-v127-info .hero-v7-copy p{
    font-size:15.15px;
    line-height:1.46;
  }

  .hero-v127-side{
    width:100%;
    max-width:430px;
    justify-self:end;
    align-self:end;
    padding:18px;
    border-radius:24px;
    border:1px solid rgba(255,255,255,.72);
    background:linear-gradient(145deg,rgba(255,255,255,.955),rgba(247,249,251,.94));
    backdrop-filter:blur(15px) saturate(106%);
    -webkit-backdrop-filter:blur(15px) saturate(106%);
    box-shadow:0 20px 46px rgba(2,12,27,.18),inset 0 1px 0 rgba(255,255,255,.96);
  }

  .hero-v127-side .hero-v117-action{
    display:block;
    margin:0;
    padding:0;
  }

  .hero-v127-side .hero-v7-cta{
    width:100%;
    min-height:58px;
    border-radius:16px;
    font-size:15.4px;
  }

  .hero-v127-side .hero-v7-benefits{
    margin-top:12px;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
  }

  .hero-v127-side .hero-v7-benefit{
    justify-content:flex-start;
    gap:6px;
    white-space:normal;
    font-size:9.8px;
    line-height:1.14;
    text-align:left;
  }

  .hero-v127-side .hero-v121-legal{
    width:100%;
    margin-top:12px;
    border-radius:13px;
    background:rgba(248,250,252,.91);
  }

  .hero-v127-side .hero-v121-legal summary{
    min-height:40px;
    padding:0 11px 0 13px;
  }

  .hero-v127-side .hero-v121-legal .hero-v7-legal-body{
    max-height:none;
    overflow:visible;
    padding:11px 12px 12px;
  }

  .hero-v127-side .hero-v121-legal .hero-v7-legal-body p{
    font-size:10px;
    line-height:1.44;
  }
}

@media (min-width:981px) and (max-width:1180px){
  .hero-v117-stage{
    padding:68px 24px 68px;
  }

  .hero-v7-card.hero-v127-layout{
    grid-template-columns:minmax(0,455px) minmax(345px,385px);
    gap:26px;
  }

  .hero-v127-info{
    padding:25px 24px;
  }

  .hero-v127-info h1{
    max-width:415px;
    font-size:36px;
  }

  .hero-v127-info .hero-v7-copy p{
    font-size:14.7px;
  }

  .hero-v127-side{
    max-width:380px;
    padding:16px;
  }
}


/* ==========================================================
   V131 — DESKTOP HERO: UNIFIED EDITORIAL PANEL
   One shared surface instead of two unrelated floating cards.
   The media keeps full presence; the content panel overlaps the
   video in normal flow so legal expansion grows downward safely.
   Mobile <=980px remains unchanged.
   ========================================================== */
@media (min-width:981px){
  .hero-premium-v7{
    padding:18px 0 42px;
  }

  /* Exact same horizontal grid used by header and home sections */
  .hero-v7-shell{
    width:min(var(--c2-shell),calc(100% - 48px));
  }

  .hero-v117-stage{
    position:relative;
    min-height:0;
    padding:0;
    overflow:visible;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  .hero-v7-media{
    position:relative;
    inset:auto;
    z-index:0;
    height:472px;
    overflow:hidden;
    border-radius:32px;
    background:#07111e;
    box-shadow:0 24px 66px rgba(18,41,93,.13),inset 0 0 0 1px rgba(255,255,255,.16);
  }

  .hero-v117-overlay{
    position:absolute;
    inset:0 0 auto;
    z-index:1;
    width:100%;
    height:472px;
    min-height:0;
    border-radius:32px;
    pointer-events:none;
    background:
      linear-gradient(180deg,rgba(4,11,22,.08) 0%,rgba(4,11,22,.02) 46%,rgba(4,11,22,.23) 100%),
      linear-gradient(90deg,rgba(3,10,20,.30) 0%,rgba(3,10,20,.10) 30%,rgba(3,10,20,.02) 65%,rgba(3,10,20,.05) 100%);
  }

  .hero-v7-media video{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 34%;
  }

  .hero-v117-meta{
    top:22px;
    left:24px;
    right:24px;
    z-index:3;
  }

  .hero-v117-meta-right{display:none;}

  /* Single balanced surface */
  .hero-v7-card.hero-v127-layout{
    position:relative;
    z-index:4;
    width:calc(100% - 56px);
    min-width:0;
    margin:-152px auto 0;
    padding:24px 26px 20px;
    display:grid;
    grid-template-columns:minmax(0,1.7fr) minmax(330px,.72fr);
    gap:30px;
    align-items:stretch;
    border:1px solid rgba(255,255,255,.78);
    border-radius:30px;
    background:linear-gradient(145deg,rgba(255,255,255,.976),rgba(247,249,251,.958));
    backdrop-filter:blur(16px) saturate(108%);
    -webkit-backdrop-filter:blur(16px) saturate(108%);
    box-shadow:0 24px 58px rgba(4,14,30,.16),inset 0 1px 0 rgba(255,255,255,.99);
  }

  /* Left zone: headline + copy side-by-side to reduce unnecessary height */
  .hero-v127-info{
    width:auto;
    min-width:0;
    display:grid;
    grid-template-columns:minmax(285px,.9fr) minmax(0,1.1fr);
    gap:26px;
    align-items:start;
    padding:0 28px 0 0;
    border:0;
    border-radius:0;
    background:transparent;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    box-shadow:none;
  }

  .hero-v117-title-block{
    min-width:0;
    padding-top:2px;
  }

  .hero-v7-eyebrow{
    margin-bottom:11px;
  }

  .hero-v127-info h1{
    max-width:360px;
    font-size:clamp(37px,2.55vw,41px);
    line-height:1.055;
    letter-spacing:-.038em;
  }

  .hero-v127-info .hero-v7-copy{
    max-width:420px;
    padding-top:5px;
    gap:8px;
  }

  .hero-v127-info .hero-v7-copy p{
    font-size:14.8px;
    line-height:1.46;
  }

  /* Right action rail is part of the same card, not a floating module */
  .hero-v127-side{
    width:auto;
    min-width:0;
    max-width:none;
    justify-self:stretch;
    align-self:stretch;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:2px 0 2px 28px;
    border:0;
    border-left:1px solid rgba(18,41,93,.09);
    border-radius:0;
    background:transparent;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    box-shadow:none;
  }

  .hero-v127-side .hero-v117-action{
    display:block;
    margin:0;
    padding:0;
  }

  .hero-v127-side .hero-v7-cta{
    width:100%;
    min-height:56px;
    border-radius:16px;
    font-size:15.4px;
  }

  .hero-v127-side .hero-v7-benefits{
    margin-top:12px;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
  }

  .hero-v127-side .hero-v7-benefit{
    justify-content:flex-start;
    gap:5px;
    white-space:normal;
    font-size:9.5px;
    line-height:1.14;
    text-align:left;
  }

  .hero-v127-side .hero-v7-icon{
    width:22px;
    height:22px;
  }

  .hero-v127-side .hero-v121-legal{
    width:100%;
    margin-top:12px;
    border-radius:13px;
    background:rgba(248,250,252,.86);
  }

  .hero-v127-side .hero-v121-legal summary{
    min-height:38px;
    padding:0 10px 0 12px;
  }

  .hero-v127-side .hero-v121-legal .hero-v7-legal-body{
    max-height:none;
    overflow:visible;
    padding:10px 11px 11px;
  }

  .hero-v127-side .hero-v121-legal .hero-v7-legal-body p{
    font-size:9.9px;
    line-height:1.43;
  }
}

@media (min-width:981px) and (max-width:1180px){
  .hero-v7-media,
  .hero-v117-overlay{height:448px;}

  .hero-v7-card.hero-v127-layout{
    width:calc(100% - 44px);
    margin-top:-140px;
    padding:22px 22px 18px;
    grid-template-columns:minmax(0,1.55fr) minmax(305px,.72fr);
    gap:22px;
  }

  .hero-v127-info{
    grid-template-columns:minmax(250px,.92fr) minmax(0,1.08fr);
    gap:20px;
    padding-right:20px;
  }

  .hero-v127-info h1{
    max-width:315px;
    font-size:34px;
  }

  .hero-v127-info .hero-v7-copy p{
    font-size:14.1px;
  }

  .hero-v127-side{
    padding-left:20px;
  }
}


/* ==========================================================
   V132 — HARD RESET DESKTOP HERO LAYOUT
   Fixes legacy grid-area rules from V121/V122 that were still
   affecting the nested V131 grid and causing text overlap.
   Desktop only; approved mobile remains untouched.
   ========================================================== */
@media (min-width:981px){
  .hero-premium-v7{
    padding:18px 0 38px;
  }

  .hero-v7-shell{
    width:min(var(--c2-shell),calc(100% - 48px));
  }

  .hero-v117-stage{
    position:relative;
    min-height:0;
    padding:0;
    overflow:visible;
    background:transparent;
    border-radius:0;
    box-shadow:none;
  }

  .hero-v7-media,
  .hero-v117-overlay{
    height:500px;
    border-radius:32px;
  }

  .hero-v7-media video{
    object-position:center 33%;
  }

  .hero-v117-meta{
    top:22px;
    left:24px;
    right:24px;
  }

  .hero-v117-meta-right{display:none!important;}

  .hero-v7-card.hero-v127-layout{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    z-index:4;
    width:calc(100% - 56px);
    min-width:0;
    margin:-150px auto 0;
    padding:25px 27px 21px;
    display:grid!important;
    grid-template-columns:minmax(0,1.62fr) minmax(340px,.74fr)!important;
    grid-template-areas:none!important;
    column-gap:30px;
    row-gap:0;
    align-items:stretch;
    border:1px solid rgba(255,255,255,.80);
    border-radius:30px;
    background:linear-gradient(145deg,rgba(255,255,255,.982),rgba(247,249,251,.965));
    backdrop-filter:blur(16px) saturate(108%);
    -webkit-backdrop-filter:blur(16px) saturate(108%);
    box-shadow:0 24px 58px rgba(4,14,30,.15),inset 0 1px 0 rgba(255,255,255,.99);
  }

  .hero-v127-info{
    width:auto;
    min-width:0;
    display:grid!important;
    grid-template-columns:minmax(300px,.92fr) minmax(0,1.08fr)!important;
    grid-template-areas:none!important;
    column-gap:28px;
    row-gap:0;
    align-items:start;
    align-self:center;
    padding:0 28px 0 0;
    margin:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  /* Important: cancel grid-area rules from older hero iterations */
  .hero-v127-info .hero-v117-title-block,
  .hero-v127-info .hero-v7-copy{
    grid-area:auto!important;
    grid-column:auto!important;
    grid-row:auto!important;
    position:relative;
    inset:auto;
    margin:0;
    min-width:0;
  }

  .hero-v127-info .hero-v117-title-block{
    padding:1px 0 0;
  }

  .hero-v127-info .hero-v7-eyebrow{
    margin:0 0 12px;
  }

  .hero-v127-info h1{
    margin:0;
    max-width:390px;
    font-size:clamp(37px,2.55vw,42px);
    line-height:1.055;
    letter-spacing:-.038em;
  }

  .hero-v127-info .hero-v7-copy{
    display:grid!important;
    gap:9px;
    max-width:440px;
    padding:4px 0 0;
  }

  .hero-v127-info .hero-v7-copy p{
    margin:0;
    font-size:14.8px;
    line-height:1.47;
  }

  .hero-v127-side{
    grid-area:auto!important;
    grid-column:auto!important;
    grid-row:auto!important;
    position:relative;
    inset:auto;
    width:auto;
    min-width:0;
    max-width:none;
    align-self:stretch;
    justify-self:stretch;
    display:flex!important;
    flex-direction:column;
    justify-content:center;
    gap:0;
    margin:0;
    padding:0 0 0 28px;
    border:0;
    border-left:1px solid rgba(18,41,93,.09);
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  .hero-v127-side .hero-v117-action{
    grid-area:auto!important;
    grid-column:auto!important;
    grid-row:auto!important;
    display:block!important;
    margin:0;
    padding:0;
  }

  .hero-v127-side .hero-v7-cta{
    width:100%;
    min-height:56px;
    margin:0;
    font-size:15.4px;
  }

  .hero-v127-side .hero-v7-benefits{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    margin:11px 0 0;
    gap:8px;
  }

  .hero-v127-side .hero-v7-benefit{
    min-width:0;
    justify-content:flex-start;
    gap:6px;
    white-space:normal;
    font-size:9.7px;
    line-height:1.14;
  }

  .hero-v127-side .hero-v121-legal{
    grid-area:auto!important;
    grid-column:auto!important;
    grid-row:auto!important;
    position:relative;
    inset:auto;
    width:100%;
    margin:12px 0 0;
    overflow:hidden;
    border:1px solid rgba(18,41,93,.075);
    border-radius:13px;
    background:rgba(248,250,252,.88);
  }

  .hero-v127-side .hero-v121-legal summary{
    min-height:38px;
    padding:0 10px 0 12px;
  }

  .hero-v127-side .hero-v121-legal .hero-v7-legal-body{
    max-height:none;
    overflow:visible;
    padding:10px 11px 11px;
  }

  .hero-v127-side .hero-v121-legal .hero-v7-legal-body p{
    margin:0;
    font-size:9.9px;
    line-height:1.43;
  }
}

@media (min-width:981px) and (max-width:1180px){
  .hero-v7-media,
  .hero-v117-overlay{height:460px;}

  .hero-v7-card.hero-v127-layout{
    width:calc(100% - 44px);
    margin-top:-136px;
    padding:22px 22px 19px;
    grid-template-columns:minmax(0,1.5fr) minmax(310px,.78fr)!important;
    column-gap:22px;
  }

  .hero-v127-info{
    grid-template-columns:minmax(250px,.9fr) minmax(0,1.1fr)!important;
    column-gap:20px;
    padding-right:20px;
  }

  .hero-v127-info h1{
    max-width:315px;
    font-size:34px;
  }

  .hero-v127-info .hero-v7-copy p{
    font-size:14px;
  }

  .hero-v127-side{
    padding-left:20px;
  }
}


/* ==========================================================
   V133 — DESKTOP TWO-PIECE HERO, CLEAN + ROBUST
   Exact requested structure: information card on the left;
   CTA + benefits + legal on the right, both OVER the video.
   No merged bottom panel. Mobile remains unchanged.
   ========================================================== */
@media (min-width:981px){
  .hero-premium-v7{
    padding:18px 0 42px;
  }

  /* Same lateral system as header + following sections */
  .hero-v7-shell{
    width:min(var(--c2-shell),calc(100% - 48px));
  }

  .hero-v117-stage{
    position:relative;
    min-height:552px;
    overflow:hidden;
    isolation:isolate;
    border-radius:32px;
    background:#07111e;
    box-shadow:0 24px 64px rgba(18,41,93,.12),inset 0 0 0 1px rgba(255,255,255,.14);
  }

  .hero-v7-media{
    position:absolute!important;
    inset:0!important;
    z-index:0;
    width:100%;
    height:100%!important;
    border-radius:inherit;
    overflow:hidden;
    box-shadow:none;
  }

  .hero-v7-media video{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 33%;
  }

  .hero-v117-overlay{
    position:absolute!important;
    inset:0!important;
    z-index:1;
    width:auto;
    height:auto!important;
    border-radius:inherit;
    background:
      linear-gradient(90deg,rgba(3,10,20,.42) 0%,rgba(3,10,20,.15) 39%,rgba(3,10,20,.03) 61%,rgba(3,10,20,.13) 100%),
      linear-gradient(180deg,rgba(3,10,20,.08) 0%,rgba(3,10,20,.02) 55%,rgba(3,10,20,.26) 100%);
    pointer-events:none;
  }

  .hero-v117-meta{
    top:22px;
    left:24px;
    right:24px;
    z-index:5;
  }
  .hero-v117-meta-right{display:none!important;}

  /* Transparent layout wrapper; it contributes to stage height so legal can open safely */
  .hero-v7-card.hero-v127-layout{
    position:relative!important;
    inset:auto!important;
    z-index:4;
    width:100%!important;
    min-width:0;
    margin:0!important;
    padding:106px 30px 46px!important;
    display:grid!important;
    grid-template-columns:minmax(470px,520px) minmax(360px,400px)!important;
    grid-template-areas:none!important;
    justify-content:space-between;
    align-items:start;
    column-gap:56px;
    row-gap:0;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  /* LEFT = one clean content card */
  .hero-v127-info{
    grid-area:auto!important;
    grid-column:auto!important;
    grid-row:auto!important;
    position:relative;
    inset:auto;
    width:100%;
    min-width:0;
    margin:0;
    padding:27px 28px 25px!important;
    display:block!important;
    align-self:start;
    border:1px solid rgba(255,255,255,.76)!important;
    border-radius:28px!important;
    background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(247,249,251,.945))!important;
    box-shadow:0 22px 52px rgba(2,12,27,.20),inset 0 1px 0 rgba(255,255,255,.98)!important;
    backdrop-filter:blur(15px) saturate(108%)!important;
    -webkit-backdrop-filter:blur(15px) saturate(108%)!important;
  }

  .hero-v127-info .hero-v117-title-block,
  .hero-v127-info .hero-v7-copy{
    grid-area:auto!important;
    grid-column:auto!important;
    grid-row:auto!important;
    position:relative!important;
    inset:auto!important;
    width:auto!important;
    min-width:0;
    margin:0!important;
  }

  .hero-v127-info .hero-v117-title-block{
    padding:0!important;
  }

  .hero-v127-info .hero-v7-eyebrow{
    margin:0 0 12px!important;
  }

  .hero-v127-info h1{
    margin:0!important;
    max-width:445px!important;
    font-size:clamp(38px,2.8vw,43px)!important;
    line-height:1.055!important;
    letter-spacing:-.038em!important;
  }

  .hero-v127-info .hero-v7-copy{
    display:grid!important;
    gap:9px!important;
    max-width:455px!important;
    padding:18px 0 0!important;
  }

  .hero-v127-info .hero-v7-copy p{
    margin:0!important;
    font-size:15.1px!important;
    line-height:1.48!important;
  }

  /* RIGHT = action stack, NO outer floating white card */
  .hero-v127-side{
    grid-area:auto!important;
    grid-column:auto!important;
    grid-row:auto!important;
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    min-width:0;
    max-width:400px!important;
    justify-self:end!important;
    align-self:start!important;
    display:block!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  .hero-v127-side .hero-v117-action{
    grid-area:auto!important;
    grid-column:auto!important;
    grid-row:auto!important;
    display:block!important;
    margin:0!important;
    padding:0!important;
  }

  .hero-v127-side .hero-v7-cta{
    width:100%!important;
    min-height:60px!important;
    margin:0!important;
    padding:8px 10px 8px 20px!important;
    border-radius:18px!important;
    font-size:15.8px!important;
    box-shadow:0 16px 34px rgba(214,72,31,.28),inset 0 1px 0 rgba(255,255,255,.22)!important;
  }

  .hero-v127-side .hero-v7-benefits{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    margin:10px 0 0!important;
    padding:10px 12px!important;
    border:1px solid rgba(255,255,255,.58)!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.84)!important;
    backdrop-filter:blur(12px) saturate(105%)!important;
    -webkit-backdrop-filter:blur(12px) saturate(105%)!important;
    box-shadow:0 12px 28px rgba(2,12,27,.12)!important;
  }

  .hero-v127-side .hero-v7-benefit{
    min-width:0;
    justify-content:flex-start!important;
    gap:6px!important;
    white-space:normal!important;
    font-size:9.9px!important;
    line-height:1.14!important;
  }

  .hero-v127-side .hero-v121-legal{
    grid-area:auto!important;
    grid-column:auto!important;
    grid-row:auto!important;
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    margin:10px 0 0!important;
    overflow:hidden!important;
    border:1px solid rgba(255,255,255,.64)!important;
    border-radius:15px!important;
    background:rgba(255,255,255,.90)!important;
    box-shadow:0 12px 28px rgba(2,12,27,.12)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
  }

  .hero-v127-side .hero-v121-legal summary{
    min-height:42px!important;
    padding:0 11px 0 14px!important;
    font-size:10.7px!important;
  }

  .hero-v127-side .hero-v121-legal .hero-v7-legal-body{
    max-height:none!important;
    overflow:visible!important;
    padding:11px 13px 13px!important;
    background:rgba(255,255,255,.74)!important;
  }

  .hero-v127-side .hero-v121-legal .hero-v7-legal-body p{
    margin:0!important;
    font-size:10px!important;
    line-height:1.45!important;
  }
}

@media (min-width:981px) and (max-width:1180px){
  .hero-v117-stage{min-height:536px;}

  .hero-v7-card.hero-v127-layout{
    padding:98px 24px 42px!important;
    grid-template-columns:minmax(420px,480px) minmax(330px,360px)!important;
    column-gap:34px!important;
  }

  .hero-v127-info{
    padding:24px 24px 22px!important;
  }

  .hero-v127-info h1{
    max-width:400px!important;
    font-size:36px!important;
  }

  .hero-v127-info .hero-v7-copy{
    padding-top:15px!important;
  }

  .hero-v127-info .hero-v7-copy p{
    font-size:14.4px!important;
  }

  .hero-v127-side{
    max-width:360px!important;
  }
}


/* ==========================================================
   V134 — DESKTOP BOTTOM-ALIGNED ACTION + UPWARD LEGAL
   Preserve the V133 two-piece concept. The right action stack
   now shares the same bottom baseline as the left information
   card. Legal disclosure opens upward without changing that
   baseline or pushing the hero downward.
   ========================================================== */
@media (min-width:981px){
  .hero-v7-card.hero-v127-layout{
    align-items:end!important;
  }

  .hero-v127-info{
    align-self:end!important;
  }

  .hero-v127-side{
    align-self:end!important;
  }

  /* Keep the closed legal summary as the bottom edge of the right stack. */
  .hero-v127-side .hero-v121-legal{
    position:relative!important;
    overflow:visible!important;
  }

  /* Open legal copy upward, above the summary, without altering the stack height. */
  .hero-v127-side .hero-v121-legal[open] .hero-v7-legal-body{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:calc(100% + 9px)!important;
    z-index:8!important;
    max-height:210px!important;
    overflow:auto!important;
    padding:13px 14px 14px!important;
    border:1px solid rgba(18,41,93,.10)!important;
    border-radius:15px!important;
    background:rgba(255,255,255,.985)!important;
    box-shadow:0 18px 42px rgba(2,12,27,.20)!important;
    backdrop-filter:blur(14px) saturate(106%)!important;
    -webkit-backdrop-filter:blur(14px) saturate(106%)!important;
    scrollbar-width:thin;
    scrollbar-color:rgba(18,41,93,.22) transparent;
  }

  .hero-v127-side .hero-v121-legal[open] .hero-v7-legal-body::-webkit-scrollbar{
    width:5px;
  }
  .hero-v127-side .hero-v121-legal[open] .hero-v7-legal-body::-webkit-scrollbar-thumb{
    background:rgba(18,41,93,.20);
    border-radius:999px;
  }

  .hero-v127-side .hero-v121-legal[open] summary{
    background:rgba(255,255,255,.96)!important;
  }

  /* Slightly tighten the right stack so its visual weight matches the left card. */
  .hero-v127-side .hero-v7-benefits{
    margin-top:9px!important;
  }
  .hero-v127-side .hero-v121-legal{
    margin-top:9px!important;
  }
}


/* ==========================================================
   V135 — DESKTOP LEGAL STACK PUSHES UP AS ONE UNIT
   Keep V133/V134 visual direction. The right action group is
   anchored to the same bottom baseline as the left card. When
   legal copy opens, the whole right stack grows upward: CTA,
   benefits and legal move together, so nothing is covered.
   ========================================================== */
@media (min-width:981px){
  /* Left card determines the row height. Right stack is anchored
     independently to the same bottom baseline. */
  .hero-v7-card.hero-v127-layout{
    position:relative!important;
    display:block!important;
    min-height:0!important;
  }

  .hero-v127-info{
    position:relative!important;
    width:min(58%,560px)!important;
    max-width:560px!important;
    margin:0!important;
  }

  .hero-v127-side{
    position:absolute!important;
    right:0!important;
    bottom:0!important;
    top:auto!important;
    left:auto!important;
    width:min(40%,430px)!important;
    max-width:430px!important;
    margin:0!important;
    transform:none!important;
    transition:none!important;
  }

  /* Legal becomes part of normal height of the right stack.
     Reversing the inner order keeps the summary at the bottom,
     while the disclosure content appears above it and pushes the
     CTA + benefits upward as a single anchored unit. */
  .hero-v127-side .hero-v121-legal{
    position:relative!important;
    display:flex!important;
    flex-direction:column-reverse!important;
    gap:0!important;
    overflow:hidden!important;
    margin-top:10px!important;
  }

  .hero-v127-side .hero-v121-legal[open] .hero-v7-legal-body{
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    z-index:auto!important;
    width:100%!important;
    max-height:190px!important;
    overflow:auto!important;
    margin:0!important;
    padding:12px 13px 13px!important;
    border:0!important;
    border-bottom:1px solid rgba(18,41,93,.075)!important;
    border-radius:0!important;
    background:rgba(255,255,255,.78)!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  .hero-v127-side .hero-v121-legal[open] summary{
    position:relative!important;
    z-index:2!important;
    border-radius:0 0 15px 15px!important;
    background:rgba(255,255,255,.96)!important;
  }

  .hero-v127-side .hero-v121-legal:not([open]) summary{
    border-radius:15px!important;
  }
}

@media (min-width:981px) and (max-width:1180px){
  .hero-v127-info{
    width:min(57%,500px)!important;
    max-width:500px!important;
  }

  .hero-v127-side{
    width:min(41%,390px)!important;
    max-width:390px!important;
  }
}


/* ==========================================================
   V136 — DESKTOP TRUE BOTTOM BASELINE ALIGNMENT
   The V135 right stack was anchored to the wrapper's outer
   bottom, while the left card ended above the wrapper's bottom
   padding. Match that internal baseline exactly so both columns
   finish on the same horizontal line. Legal still expands upward
   as one unit and pushes CTA + benefits upward together.
   ========================================================== */
@media (min-width:1181px){
  .hero-v127-side{
    bottom:46px!important;
  }
}

@media (min-width:981px) and (max-width:1180px){
  .hero-v127-side{
    bottom:42px!important;
  }
}


/* ==========================================================
   V137 — DESKTOP RIGHT STACK BREATHING ROOM
   Keep the approved V136 baseline logic. The right module sits
   slightly further away from the video edge, matching the left
   card's visual breathing room more closely.
   ========================================================== */
@media (min-width:1181px){
  .hero-v127-side{
    right:22px!important;
    bottom:46px!important;
  }
}

@media (min-width:981px) and (max-width:1180px){
  .hero-v127-side{
    right:18px!important;
    bottom:42px!important;
  }
}

/* V185 responsive hardening for long localized compound words. */
@media (max-width:620px){
  .hero-v7-card h1{overflow-wrap:anywhere}
}
