/* E2 is confined to the existing offer module; no lower-page tokens or resets. */
.ewc-e2-hero { --slate:#dce4ee;--fog:#c5d2e2;--navy:#071448;--indigo:#10113e;--blue:#0431fd;--teal:#33d8d5;--gutter:clamp(20px,5.5vw,80px);--rig:360px;--iv-gap:64px;color:var(--navy);font:400 17px/1.55 Montserrat,system-ui,sans-serif;isolation:isolate;background:var(--slate); }
.ewc-e2-hero,.ewc-e2-hero *,.ewc-e2-hero *::before,.ewc-e2-hero *::after { box-sizing:border-box; }
.ewc-e2-hero img {display:block;max-width:100%;height:auto;}
.ewc-e2-hero h2,.ewc-e2-hero p,.ewc-e2-hero figure { margin:0; padding:0; font-family:inherit; color:inherit; }
.ewc-e2-hero a {color:inherit;}
.ewc-e2-hero :focus-visible {outline:3px solid #0431fd;outline-offset:4px;}
.ewc-e2-hero .iv :focus-visible {outline-color:#33d8d5;}
.ewc-e2-hero .wrap{ width: 100%; max-width: 1280px; margin-inline: auto; padding-inline: var(--gutter); }
.ewc-e2-hero .iv :focus-visible{ outline-color: var(--teal); }
.ewc-e2-hero .pill{
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 12px 26px; border-radius: 999px;
  font-weight: 600; font-size: 15px; line-height: 1.2; text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}
.ewc-e2-hero .pill--white{ background: #fff; color: var(--navy); }
.ewc-e2-hero .pill--white:hover{ background: var(--fog); }
.ewc-e2-hero .pill--navy{ background: var(--navy); color: #fff; }
.ewc-e2-hero .pill--navy:hover{ background: var(--indigo); color: #fff; }
.ewc-e2-hero .fit{ position: relative; background: var(--slate); overflow-x:clip; }
.ewc-e2-hero .fit__wrap{
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 300px;
  column-gap: 40px; padding-top: 72px; padding-bottom: 88px;
}
.ewc-e2-hero .fit__stage{
  position: absolute; left: 54%; width: 40%; max-width: 520px; aspect-ratio: 3 / 2;
  
  top: 0; margin-top: -16%;
}
.ewc-e2-hero .fit__contours{
  position: absolute; z-index: 0; left: -25%; top: -20%; width: 150%; height: 165%;
  overflow: visible; pointer-events: none;
  -webkit-mask-image: radial-gradient(ellipse 50% 50% at 42% 58%, #000 45%, transparent 100%);
  mask-image: radial-gradient(ellipse 50% 50% at 42% 58%, #000 45%, transparent 100%);
}
.ewc-e2-hero .fit__contours ellipse{
  fill: none; stroke: var(--blue); stroke-width: 1.5; vector-effect: non-scaling-stroke;
  opacity: calc(.9 - var(--i) * .1);
}
.ewc-e2-hero .fit__insole{
  position: relative; z-index: 2; width: 100%;
  filter: drop-shadow(0 22px 18px #07144838);
}
.ewc-e2-hero .fit__copy{ position: relative; z-index: 1; grid-column: 1; max-width: 580px; }
.ewc-e2-hero .fit h2{ font-size: 22px; font-weight: 600; letter-spacing: 0; }
.ewc-e2-hero .fit__deal{
  margin-top: 10px; font-size: 64px; line-height: 1; font-weight: 700; letter-spacing: -0.02em;
}
.ewc-e2-hero .fit__deal span{ display: block; color: var(--blue); }
.ewc-e2-hero .fit__date{ margin-top: 20px; font-size: 22px; font-weight: 600; }
.ewc-e2-hero .fit__note{ margin-top: 6px; }
.ewc-e2-hero .fit__copy .pill{ margin-top: 28px; }
.ewc-e2-hero .fit__photo{
  position: relative; z-index: 1; grid-column: 2; align-self: start; margin-top: 170px;
  padding: 8px; border-radius: 26px; background: var(--fog);
}
.ewc-e2-hero .fit__photo img{ width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 40%; border-radius: 20px; }
.ewc-e2-hero .iv{ background: var(--indigo); color: #fff; overflow: hidden; }
.ewc-e2-hero .iv__grid{
  display: grid; grid-template-columns: minmax(0, 1fr) var(--rig);
  grid-template-rows: auto auto; column-gap: var(--iv-gap); padding-bottom: 72px;
}
.ewc-e2-hero .iv__copy{ grid-column: 1; grid-row: 1; padding-top: 72px; }
.ewc-e2-hero .iv h2{ font-size: 80px; line-height: 1; font-weight: 700; letter-spacing: -0.02em; }
.ewc-e2-hero .iv__what{ margin-top: 8px; font-size: 34px; line-height: 1.15; font-weight: 600; letter-spacing: -0.01em; }
.ewc-e2-hero .iv__more{ margin-top: 14px; color: var(--fog); }
.ewc-e2-hero .iv__copy .pill{ margin-top: 26px; }
.ewc-e2-hero .iv__rig{ grid-column: 2; grid-row: 1; display: flex; flex-direction: column; }
.ewc-e2-hero .iv__rig::after{
  content: ""; flex: 1 1 auto; min-height: 20px;
  margin-left: calc(62.5% - 1px); border-left: 2px solid var(--teal);
}
.ewc-e2-hero .iv__box{
  position: relative; isolation: isolate; overflow: hidden;
  background: var(--fog); border-radius: 0 0 20px 20px;
}
.ewc-e2-hero .iv__bag{ width: 100%; margin-top: -6%; mix-blend-mode: multiply; }
.ewc-e2-hero .iv__vial{ position: absolute; left: 4%; bottom: 3%; width: 24%; mix-blend-mode: multiply; }
.ewc-e2-hero .iv__drip{
  grid-column: 1 / -1; grid-row: 2; align-self: start; height: calc(50% + 16px);
  margin-left: min(500px, calc(100% - var(--rig) - var(--iv-gap) + 12px));
  margin-right: calc(var(--rig) * .375 - 1px);
  border-right: 2px solid var(--teal); border-bottom: 2px solid var(--teal);
  border-bottom-right-radius: 14px; position: relative;
}
.ewc-e2-hero .iv__drip::before{
  content: ""; position: absolute; left: -4px; bottom: -5px;
  width: 8px; height: 8px; border-radius: 50%; background: var(--teal);
}
.ewc-e2-hero .iv__terms{
  grid-column: 1; grid-row: 2; margin-top: 32px; max-width: 476px;
  font-size: 14px; line-height: 1.6; color: var(--fog);
}
@media (prefers-reduced-motion: no-preference){
.ewc-e2-hero .fit__insole{ animation: ewc-e2-land .6s cubic-bezier(.2, .7, .2, 1) both; }
.ewc-e2-hero .fit__contours ellipse{
    stroke-dasharray: 1; stroke-dashoffset: 1;
    animation: ewc-e2-draw 1.2s ease-out both;
    animation-delay: calc(.5s + var(--i) * .07s);
  }
@keyframes ewc-e2-land{ from { transform: translateY(-16px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes ewc-e2-draw{ to { stroke-dashoffset: 0; } }
}
@media (max-width: 1080px){
.ewc-e2-hero .fit__deal{ font-size: 56px; }
.ewc-e2-hero .iv h2{ font-size: 64px; }
.ewc-e2-hero .iv__what{ font-size: 28px; }
}
@media (max-width: 760px){
.ewc-e2-hero .fit__wrap{ display: block; padding-top: 0; padding-bottom: 64px; }
.ewc-e2-hero .fit__stage{
    position: relative; left: auto;
    width: 70%; max-width: none; margin-left: auto; margin-top: -18vw;
  }
.ewc-e2-hero .fit__copy{ margin-top: 28px; }
.ewc-e2-hero .fit__deal{ font-size: 44px; }
.ewc-e2-hero .fit__date{ font-size: 20px; }
.ewc-e2-hero .fit__photo{ margin-top: 36px; max-width: 360px; }
.ewc-e2-hero .iv__grid{ grid-template-columns: minmax(0, 1fr) 38%; grid-template-rows: auto auto auto; padding-bottom: 56px; }
.ewc-e2-hero .iv__copy{ padding-top: 48px; }
.ewc-e2-hero .iv h2{ font-size: 56px; }
.ewc-e2-hero .iv__what{ font-size: 22px; }
.ewc-e2-hero .iv__copy .pill{ font-size: 14px; padding-inline: 20px; }
.ewc-e2-hero .iv__rig::after{ min-height: 0; }
.ewc-e2-hero .iv__drip{
    grid-column: 2; grid-row: 2; justify-self: start; width: 0; height: 24px;
    margin: 0 0 0 calc(62.5% - 1px); border-bottom: 0; border-radius: 0;
    border-right: 0; border-left: 2px solid var(--teal);
  }
.ewc-e2-hero .iv__drip::before{ left: -5px; bottom: -4px; }
.ewc-e2-hero .iv__terms{ grid-column: 1 / -1; grid-row: 3; margin-top: 10px; font-size: 12px; }
}
@media (max-width: 380px){
.ewc-e2-hero .fit__deal{ font-size: 38px; }
.ewc-e2-hero .iv h2{ font-size: 48px; }
}
@media(min-width:861px){
.ewc-e2-hero .fit__wrap{ padding-top:56px; padding-bottom:48px; }
.ewc-e2-hero .fit__photo{ margin-top:100px; }
.ewc-e2-hero .fit__photo img{ height:260px; aspect-ratio:auto; }
}
.ewc-e2-hero .opening-offers{
  display: grid;
  grid-template-columns: minmax(0, 62fr) minmax(0, 38fr);
  min-height: 600px;
  max-width: 1920px;
  margin-inline: auto;
}
.ewc-e2-hero .opening-offers > section{ min-width: 0; }
.ewc-e2-hero .opening-offers .fit{ overflow: hidden; }
.ewc-e2-hero .opening-offers .fit__wrap{
  display: block;
  min-height: 600px;
  height: 100%;
  padding: 44px 34px 34px max(42px, calc((100vw - 1280px) / 2 + 36px));
}
.ewc-e2-hero .opening-offers .fit__copy{ position: relative; z-index: 3; max-width: 510px; }
.ewc-e2-hero .opening-offers .fit h2{ font-size: 20px; line-height: 1.3; font-weight: 600; letter-spacing: 0; }
.ewc-e2-hero .opening-offers .fit__deal{ margin-top: 16px; font-size: clamp(48px, 4.3vw, 64px); line-height: 1.02; letter-spacing: -.035em; }
.ewc-e2-hero .opening-offers .fit__date{ margin-top: 20px; font-size: 17px; line-height: 1.5; }
.ewc-e2-hero .opening-offers .fit__note{ margin-top: 5px; font-size: 14px; line-height: 1.6; }
.ewc-e2-hero .opening-offers .fit__copy .pill{ margin-top: 22px; min-height: 46px; font-size: 13px; padding: 13px 23px; }
.ewc-e2-hero .opening-offers .fit__stage{
  position: absolute;
  width: 66%; max-width: 590px; aspect-ratio: 3 / 2;
  left: auto; right: -3%; top: auto; bottom: -14px;
  margin: 0;
}
.ewc-e2-hero .opening-offers .fit__contours{ left: -18%; top: -18%; width: 142%; height: 148%; }
.ewc-e2-hero .opening-offers .fit__insole{ filter: drop-shadow(0 18px 14px #07144824); }
.ewc-e2-hero .opening-offers .fit__photo{
  position: absolute; left: max(42px, calc((100vw - 1280px) / 2 + 36px)); bottom: 30px;
  margin: 0; padding: 5px; width: 172px; border-radius: 16px;
}
.ewc-e2-hero .opening-offers .fit__photo img{ width: 100%; height: 112px; aspect-ratio: auto; object-fit: cover; object-position: 50% 40%; border-radius: 11px; }
.ewc-e2-hero .opening-offers .iv{ position: relative; }
.ewc-e2-hero .opening-offers .iv__grid{
  position: relative; display: block; height: 100%; min-height: 600px;
  padding: 44px 40px 104px;
}
.ewc-e2-hero .opening-offers .iv__copy{ position: relative; z-index: 2; padding: 0; }
.ewc-e2-hero .opening-offers .iv__eyebrow{ font-size: 10px; line-height: 1.5; font-weight: 600; text-transform: uppercase; letter-spacing: 1.4px; color: var(--fog); margin-bottom: 17px; }
.ewc-e2-hero .opening-offers .iv h2{ font-size: clamp(60px, 5.6vw, 80px); line-height: 1; letter-spacing: -.04em; }
.ewc-e2-hero .opening-offers .iv__what{ margin-top: 12px; max-width: 360px; font-size: clamp(26px, 2.45vw, 34px); line-height: 1.15; letter-spacing: -.025em; }
.ewc-e2-hero .opening-offers .iv__more{ margin-top: 15px; font-size: 14px; line-height: 1.55; }
.ewc-e2-hero .opening-offers .iv__copy .pill{ margin-top: 23px; padding: 13px 22px; min-height: 46px; font-size: 13px; }
.ewc-e2-hero .opening-offers .iv__rig{ position: absolute; top: 315px; right: 30px; width: 230px; height: 190px; display: block; }
.ewc-e2-hero .opening-offers .iv__rig::after{ position: absolute; content: ''; left: 62%; bottom: -16px; height: 16px; min-height: 0; margin: 0; border-left: 2px solid var(--teal); }
.ewc-e2-hero .opening-offers .iv__box{ height: 190px; border-radius: 16px; }
.ewc-e2-hero .opening-offers .iv__bag{ width: 245px; max-width: none; height: auto; position: absolute; left: -2px; top: -8px; margin: 0; }
.ewc-e2-hero .opening-offers .iv__vial{ width: 112px; max-width: none; left: -8px; bottom: -5px; }
.ewc-e2-hero .opening-offers .iv__drip{ display: none; }
.ewc-e2-hero .opening-offers .iv__terms{ position: absolute; left: 40px; right: 40px; bottom: 26px; margin: 0; max-width: 440px; font-size: 11px; line-height: 1.65; }
@media (min-width: 761px) and (max-width: 1100px){
.ewc-e2-hero .opening-offers{ grid-template-columns: minmax(0, 60fr) minmax(0, 40fr); }
.ewc-e2-hero .opening-offers .fit__wrap{ padding-left: 32px; padding-right: 24px; }
.ewc-e2-hero .opening-offers .fit__deal{ font-size: 47px; }
.ewc-e2-hero .opening-offers .fit__photo{ left: 32px; width: 140px; bottom: 25px; }
.ewc-e2-hero .opening-offers .fit__photo img{ height: 100px; }
.ewc-e2-hero .opening-offers .fit__stage{ width: 73%; right: -9%; bottom: -1px; }
.ewc-e2-hero .opening-offers .iv__grid{ padding-left: 28px; padding-right: 28px; }
.ewc-e2-hero .opening-offers .iv h2{ font-size: 62px; }
.ewc-e2-hero .opening-offers .iv__what{ font-size: 27px; }
.ewc-e2-hero .opening-offers .iv__copy .pill{ font-size: 12px; padding-inline: 18px; }
.ewc-e2-hero .opening-offers .iv__rig{ right: 20px; width: 210px; }
.ewc-e2-hero .opening-offers .iv__terms{ left: 28px; right: 28px; font-size: 11px; }
}
@media (max-width: 760px){
.ewc-e2-hero .opening-offers{ display: block; min-height: 0; }
.ewc-e2-hero .opening-offers .fit__wrap{ height: 460px; min-height: 0; padding: 28px 24px; }
.ewc-e2-hero .opening-offers .fit h2{ font-size: 17px; }
.ewc-e2-hero .opening-offers .fit__deal{ font-size: 47px; line-height: 1.02; margin-top: 13px; letter-spacing: -.035em; }
.ewc-e2-hero .opening-offers .fit__date{ font-size: 15px; margin-top: 16px; }
.ewc-e2-hero .opening-offers .fit__note{ font-size: 12px; margin-top: 4px; max-width: 270px; }
.ewc-e2-hero .opening-offers .fit__copy .pill{ font-size: 12px; margin-top: 18px; min-height: 44px; padding: 12px 21px; }
.ewc-e2-hero .opening-offers .fit__stage{ position: absolute; left: auto; right: -9%; bottom: -40px; top: auto; width: 88%; max-width: 430px; margin: 0; }
.ewc-e2-hero .opening-offers .fit__photo{ display: none; }
.ewc-e2-hero .opening-offers .iv__grid{ min-height: 415px; padding: 27px 24px 108px; }
.ewc-e2-hero .opening-offers .iv__eyebrow{ font-size: 8px; margin-bottom: 13px; letter-spacing: 1.2px; }
.ewc-e2-hero .opening-offers .iv h2{ font-size: 64px; }
.ewc-e2-hero .opening-offers .iv__what{ max-width: 235px; font-size: 27px; line-height: 1.16; margin-top: 11px; }
.ewc-e2-hero .opening-offers .iv__more{ max-width: 235px; margin-top: 13px; font-size: 12px; }
.ewc-e2-hero .opening-offers .iv__copy .pill{ min-height: 44px; padding: 12px 18px; font-size: 11px; margin-top: 19px; }
.ewc-e2-hero .opening-offers .iv__rig{ top: 52px; right: -13px; width: 150px; height: 210px; }
.ewc-e2-hero .opening-offers .iv__box{ background: transparent; border-radius: 0; height: 210px; overflow: visible; }
.ewc-e2-hero .opening-offers .iv__bag{ width: 220px; left: -35px; top: -13px; mix-blend-mode: normal; }
.ewc-e2-hero .opening-offers .iv__vial{ width: 100px; left: -6px; bottom: -7px; mix-blend-mode: normal; }
.ewc-e2-hero .opening-offers .iv__rig::after{ display: none; }
.ewc-e2-hero .opening-offers .iv__terms{ left: 24px; right: 24px; bottom: 25px; max-width: 430px; font-size: 11px; line-height: 1.65; }
}
@media (max-width: 380px){
.ewc-e2-hero .opening-offers .fit__deal{ font-size: 40px; }
.ewc-e2-hero .opening-offers .fit__stage{ width: 98%; right: -16%; bottom: -22px; }
.ewc-e2-hero .opening-offers .iv__grid{ min-height: 425px; }
.ewc-e2-hero .opening-offers .iv h2{ font-size: 58px; }
.ewc-e2-hero .opening-offers .iv__what{ max-width: 205px; font-size: 24px; }
.ewc-e2-hero .opening-offers .iv__more{ max-width: 190px; }
.ewc-e2-hero .opening-offers .iv__rig{ width: 115px; right: -18px; top: 57px; }
.ewc-e2-hero .opening-offers .iv__bag{ width: 185px; left: -37px; }
.ewc-e2-hero .opening-offers .iv__vial{ width: 85px; bottom: 13px; left: -11px; }
.ewc-e2-hero .opening-offers .iv__terms{ font-size: 11px; line-height: 1.7; }
}
@media(min-width:761px) and (max-width:1100px){
.ewc-e2-hero .opening-offers .iv__rig{top:335px;height:150px}
.ewc-e2-hero .opening-offers .iv__box{height:150px}
.ewc-e2-hero .opening-offers .iv__bag{width:205px;left:14px;top:-8px}
.ewc-e2-hero .opening-offers .iv__vial{width:90px;bottom:-5px}
}
@media(prefers-reduced-motion:reduce){.ewc-e2-hero *,.ewc-e2-hero *::before,.ewc-e2-hero *::after{animation:none!important;transition:none!important}}
