:root{
  --bg:#f8f9fa;
  --panel:#ffffff;
  --panel-2:#fafafa;
  --text:#0c0f0d;
  --muted:#6b7280;
  --brand:#0d7f5d;
  --brand-2:#18a87a;
  --accent:#e5e7eb;
  --success:#16a34a;
  --radius-card:24px;
  --radius-btn:10px;
  --shadow-1:0 6px 20px rgba(0,0,0,.06); 
  --shadow-2:0 16px 48px rgba(0,0,0,.12);
  --btn-ghost-color:var(--brand);
  --focus:0 0 0 3px color-mix(in oklab, var(--brand-2), white 70%);
}

[data-theme="dark"]{
  --bg:#0b0e0d;
  --panel:#0f1312;
  --panel-2:#0c100f;
  --text:#e9f0ed;
  --muted:#9aa7a1;
  --accent:#1e2623;
  --btn-ghost-color:#88f3c8;
  --shadow-1:none;
  --shadow-2:none;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
html,body{ overflow-x:hidden; }

html{
  scroll-behavior:smooth;
}

#core-training-card{
  scroll-margin-top:150px;
}

body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica,Arial;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  -webkit-tap-highlight-color:transparent;
}

a{ color:inherit; text-decoration:none; }
img{
    max-width: 100%;
    height: auto;
    display: block;
    text-align: left;
}
p{ margin:0 0 10px; }

a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible{
  outline:none;
  box-shadow:var(--focus);
  border-radius:12px;
}

button,
input,
select,
textarea{
  font:inherit;
  color:inherit;
}

.container{
  width:min(1200px,92vw);
  margin-inline:auto;
  padding:clamp(8px,2vw,28px);
}

.stack{ margin-top:0px; }

/* =========================
   HEADER
========================= */
header{
  position:sticky;
  top:0;
  z-index:100;
  border-bottom:1px solid var(--accent);
  background:transparent;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  isolation:isolate;
  overflow:visible;
}

header::before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--panel);
  opacity:.97;
  pointer-events:none;
  z-index:-1;
}

.topbar{
  display:grid;
  align-items:center;
  gap:12px;
  grid-template-columns:auto 1fr auto;
  grid-template-areas:"brand gap right";
}

.brand{
  grid-area:brand;
  display:flex;
  align-items:center;
}

.brand-full{
  gap:14px;
}

.brand img.logo-img{
  width:58px;
  height:58px;
  display:block;
  object-fit:contain;
}

.brand-wordmark{
  display:flex;
  flex-direction:column;
  line-height:1;
  letter-spacing:.08em;
}

.brand-wordmark strong{
  color:var(--text);
  font-size:20px;
  font-weight:900;
}

.brand-wordmark small{
  margin-top:6px;
  color:var(--brand);
  font-size:12px;
  font-weight:900;
  letter-spacing:.22em;
}

.brand-divider{
  width:1px;
  height:34px;
  background:rgba(12,15,13,.12);
}

.brand-section-title{
  color:#374151;
  font-size:18px;
  font-weight:700;
  letter-spacing:-.01em;
}

.toggle-wrap,
.member-wrap{
  display:none;
}

.right-wrap{
  grid-area:right;
  display:flex;
  align-items:center;
  gap:12px;
}

/* NOTIFICATION BELL */
.notification-wrap{
  position:relative;
  display:inline-flex;
  align-items:center;
  z-index:1000;
}

.notification-bell{
  position:relative;
  width:44px;
  height:40px;
  border:1px solid rgba(20,163,112,.18);
  background:#fff;
  color:var(--brand);
  border-radius:12px;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(0,0,0,.04);
}

.notification-bell svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.notification-dot{
  position:absolute;
  top:7px;
  right:8px;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--brand-2);
  box-shadow:0 0 0 3px #fff;
}

.notification-bell.is-open{
  background:#eefaf5;
  border-color:rgba(20,163,112,.30);
}

/* MEMBER PILL */
.member-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:40px;
  padding:8px 14px;
  border:1px solid var(--accent);
  border-radius:12px;
  background:#fff;
  color:var(--muted);
  font-size:14px;
  white-space:nowrap;
  box-shadow:0 4px 12px rgba(0,0,0,.035);
}

.member-pill strong{
  color:var(--brand);
  font-weight:800;
}

.member-status-ring{
  width:15px;
  height:15px;
  border-radius:50%;
  background:#fff;
  border:3px solid var(--success);
  box-shadow:inset 0 0 0 2px #fff;
}

/* NOTIFICATION POPOVER */
.notification-popover{
  position:absolute;
  top:calc(100% + 14px);
  right:0;
  width:min(520px, calc(100vw - 28px));
  background:#fff;
  border:1px solid var(--accent);
  border-radius:18px;
  box-shadow:0 18px 48px rgba(0,0,0,.14);
  z-index:999;
  overflow:hidden;
}

.notification-popover::before{
  content:"";
  position:absolute;
  top:-7px;
  right:24px;
  width:14px;
  height:14px;
  background:#fff;
  border-left:1px solid var(--accent);
  border-top:1px solid var(--accent);
  transform:rotate(45deg);
}

.notification-popover-head{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  align-items:center;
  padding:18px 20px;
  background:linear-gradient(135deg,#fff,#eefaf5);
  border-bottom:1px solid var(--accent);
}

.notification-head-icon{
  width:48px;
  height:48px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:#eefaf5;
  color:var(--brand);
  border:1px solid rgba(20,163,112,.14);
  font-size:26px;
  line-height:1;
}

.notification-popover-head strong{
  display:block;
  margin:0;
  color:var(--text);
  font-size:20px;
  line-height:1.1;
}

.notification-popover-head p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.35;
}

.notification-list{
  display:grid;
  gap:0;
}

.notification-item{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  padding:17px 20px;
  border-bottom:1px solid var(--accent);
}

.notification-item:last-child{
  border-bottom:none;
}

.notification-item-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:#eefaf5;
  color:var(--brand);
  border:1px solid rgba(20,163,112,.14);
  flex-shrink:0;
}

.notification-item-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.notification-item strong{
  display:block;
  margin:0 0 4px;
  color:var(--text);
  font-size:15px;
  line-height:1.25;
}

.notification-item p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}

/* MOBILE HEADER */
@media (max-width:760px){
  .brand-wordmark,
  .brand-divider,
  .brand-section-title{
    display:none;
  }

  .brand img.logo-img{
    width:60px;
    height:60px;
  }
}

@media (max-width:560px){
  .topbar{
    grid-template-columns:1fr auto 1fr;
    grid-template-areas:"toggle brand member";
  }

  .brand{
    grid-area:brand;
    justify-content:center;
  }

  .toggle-wrap{
    grid-area:toggle;
    justify-self:start;
    display:block;
  }

  .member-wrap{
    grid-area:member;
    justify-self:end;
    display:block;
  }

  .right-wrap{
    display:none;
  }

  .member-pill{
    padding:8px 10px;
    font-size:12px;
  }

  .member-status-ring{
    width:13px;
    height:13px;
    border-width:3px;
  }

  .toggle-wrap .notification-popover{
    left:0;
    right:auto;
    width:min(340px, calc(100vw - 28px));
  }

  .toggle-wrap .notification-popover::before{
    left:16px;
    right:auto;
  }

  .notification-popover-head{
    padding:15px;
  }

  .notification-head-icon{
    width:40px;
    height:40px;
    border-radius:12px;
    font-size:22px;
  }

  .notification-popover-head strong{
    font-size:17px;
  }

  .notification-item{
    padding:14px 15px;
    gap:11px;
  }

  .notification-item-icon{
    width:38px;
    height:38px;
    border-radius:12px;
  }

  .notification-item-icon svg{
    width:19px;
    height:19px;
  }
}

/* =========================
   HERO / LAYOUT
========================= */
.hero{
  padding:20px 0 18px;
}

.hero-title{
  font-size:clamp(18px,3.2vw,18px);
  line-height:1.08;
  margin:4px 0 10px;
  letter-spacing:-.035em;
}

.hero-sub{
  max-width:980px;
  color:var(--muted);
  font-size:16px;
  line-height:1.55;
  margin:0;
}

.grid{
  display:grid;
  gap:18px;
  grid-template-columns:1fr;
}

@media (min-width:860px){
  .grid{ grid-template-columns:1.3fr 1fr; }
}

/* =========================
   CARDS / BUTTONS
========================= */
.card{
  background:var(--panel);
  border:1px solid var(--accent);
  border-radius:var(--radius-card);
  box-shadow:var(--shadow-1);
  overflow:hidden;
}

.card .hd{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 20px;
  background:linear-gradient(135deg,var(--brand-2),var(--brand));
  color:#fff;
  border-bottom:none;
  box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);
}

.card .hd h2{
  margin:0;
  font-weight:700;
  font-size:18px;
  color:#fff;
  letter-spacing:.3px;
}

.card .bd{ padding:18px 20px; }

.card.tinted .hd{
  background:linear-gradient(135deg,var(--brand-2),var(--brand));
  color:#fff;
}
.card-expand{
  height:0;
  overflow:hidden;
  opacity:0;
  transition:height .42s ease, opacity .28s ease;
}

.card-expand.open{
  opacity:1;
}

.btn{
  display:inline-grid;
  place-items:center;
  gap:6px;
  padding:12px 16px;
  border-radius:var(--radius-btn);
  background:linear-gradient(135deg,var(--brand-2),var(--brand));
  color:#fff;
  border:1px solid transparent;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(20,163,112,.22);
  white-space:nowrap;
  transition:transform .06s ease;
  font:inherit;
  font-size:16px;
  font-weight:400;
  line-height:1.5;
}

.btn:active{ transform:translateY(1px); }

.btn-ghost{
  background:transparent;
  border:1px solid var(--accent);
  color:var(--btn-ghost-color);
}

.pill{
  font-size:12px;
  color:#111;
  background:#f1f5f9;
  border:1px solid var(--accent);
  border-radius:999px;
  padding:4px 8px;
}

[data-theme="dark"] .pill{
  color:#e6f5ef;
  background:#0b1311;
}

/* =========================
   MEDIA
========================= */
.media-rect{
  aspect-ratio:16 / 10;
  background:transparent;
  border-bottom:0;
  display:block;
  position:relative;
  overflow:hidden;
  line-height:0;
}

.product-thumb.media-rect,
.guide-top.media-rect,
.offer-top .product-thumb.media-rect,
.ms-visual{
  display:block;
  overflow:hidden;
}

.product-thumb.media-rect img,
.guide-top.media-rect img,
.offer-top .product-thumb.media-rect img,
.ms-visual > img{
  width:110%;
  height:110%;
  object-fit:contain;
  object-position:center top;
  padding:0;
  margin:0;
  border:0;
  display:block;
  vertical-align:middle;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  image-rendering:auto;
  transform:none !important;
}

.offer-media,
#modalDynamic .offer-media{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.offer-media img,
#modalDynamic .offer-media img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
}

.is-logo{
  background:var(--panel-2);
}

.is-logo img{
  object-fit:contain !important;
  object-position:center;
  padding:18px !important;
  background:transparent;
  transform:none !important;
}

.logo-fallback{
  display:none;
  font-weight:800;
  text-align:center;
  padding:0 14px;
  line-height:1.3;
}

.offer-media.no-logo img{ display:none; }
.offer-media.no-logo .logo-fallback{ display:block; }


/* =========================
   SECTION DIVIDER
========================= */
.section-divider{
  display:flex;
  align-items:center;
  gap:12px;
  margin:42px 0 18px;
}

.section-divider .line{
  flex:1;
  height:1px;
  background:var(--accent);
}

.section-divider .label{
  font-weight:700;
  color:var(--muted);
  letter-spacing:.4px;
  text-transform:uppercase;
  font-size:12px;
}

/* =========================
   UPDATES CARD
========================= */
.updates-card{
  background:var(--panel);
  border:1px solid var(--accent);
  border-radius:var(--radius-card);
  box-shadow:var(--shadow-1);
  overflow:hidden;
}

.updates-card .bd{
  padding:16px 20px;
  background:var(--panel);
  color:var(--text);
}

.updates-card details{
  background:linear-gradient(135deg,var(--brand-2),var(--brand));
  color:#fff;
}

.updates-card summary{
  padding:18px 20px;
  display:flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  list-style:none;
}

.updates-card .bell{
  width:18px;
  height:18px;
  display:inline-block;
}

.updates-card .chev{
  margin-left:auto;
  transition:transform .18s ease;
}

.updates-card details[open] .chev{ transform:rotate(180deg); }

.updates-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:12px;
}

.updates-list li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:14px;
  color:var(--text);
  background:var(--panel-2);
  border:1px solid var(--accent);
  border-radius:12px;
  padding:10px 12px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2);
}

.updates-list li .icon{
  font-size:18px;
  line-height:1;
}

/* =========================
   PRODUCT CARDS
========================= */
.products{
  display:grid;
  gap:16px;
  grid-template-columns:1fr;
}

@media (min-width:640px){
  .products{ grid-template-columns:1fr 1fr; }
}

@media (min-width:980px){
  .products{ grid-template-columns:1fr 1fr 1fr; }
}

.product-card{
  border:1px solid var(--accent);
  background:var(--panel);
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--shadow-1);
  display:flex;
  flex-direction:column;
  cursor:default;
  position:relative;
}

.product-card[role="button"]{ cursor:pointer; }

.product-body{
  padding:16px;
  display:grid;
  gap:10px;
}

.product-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.product-title{
  margin:0;
  font-size:16px;
  font-weight:700;
  line-height:1.35;
}

.product-desc{
  margin:0;
  color:var(--muted);
  font-size:13px;
}

/* =========================
   UPSELL INTRO PANEL
========================= */
.upsell-intro-panel{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:18px;
  margin:0 0 18px;
  padding:18px 20px;
  border:1px solid rgba(20,163,112,.20);
  border-radius:18px;
  background:
    radial-gradient(circle at 92% 25%, rgba(20,163,112,.10), transparent 28%),
    linear-gradient(135deg, rgba(238,250,245,.96), rgba(255,255,255,.96));
  box-shadow:
    0 8px 22px rgba(20,163,112,.06),
    inset 0 1px 0 rgba(255,255,255,.85);
}

.upsell-intro-icon{
  width:66px;
  height:66px;
  display:grid;
  place-items:center;
  border-radius:20px;
  background:#eefaf5;
  border:1px solid rgba(20,163,112,.18);
  color:var(--brand);
  font-size:30px;
  box-shadow:0 8px 18px rgba(20,163,112,.08);
}

.upsell-intro-copy{
  min-width:0;
}

.upsell-intro-pill{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  margin-bottom:8px;
  padding:5px 10px;
  border-radius:999px;
  background:#fff4e5;
  border:1px solid #f5d39a;
  color:#b45309;
  font-size:11px;
  font-weight:850;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.upsell-intro-copy h3{
  margin:0 0 6px;
  color:var(--text);
  font-size:18px;
  line-height:1.25;
  letter-spacing:-.02em;
}

.upsell-intro-copy p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
  max-width:920px;
}

.upsell-intro-copy p strong{
  color:var(--brand);
}

.upsell-member-benefit{
  margin-top:14px;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}

@media (max-width:640px){
  .upsell-intro-panel{
    grid-template-columns:1fr;
    gap:12px;
    padding:16px;
    text-align:left;
  }

  .upsell-intro-icon{
    width:54px;
    height:54px;
    border-radius:16px;
    font-size:25px;
  }

  .upsell-intro-copy h3{
    font-size:16px;
  }
}

/* =========================
   DFY INTRO PANEL - ORANGE VERSION
========================= */
.upsell-intro-panel-dfy{
  margin:0 0 18px;
  padding:18px 20px;
  border:1px solid rgba(249,115,22,.35);
  border-radius:16px;
  background:linear-gradient(
    180deg,
    rgba(249,115,22,.14),
    rgba(249,115,22,.05)
  );
  box-shadow:
    0 12px 32px rgba(0,0,0,.06),
    0 0 36px rgba(249,115,22,.08);
}

/* Remove the inner box effect */
.upsell-intro-panel-dfy .upsell-intro-copy{
  padding:0;
  border:none;
  background:transparent;
  box-shadow:none;
}

.upsell-intro-panel-dfy .training-start-kicker{
  display:inline-flex;
  width:fit-content;
  margin-bottom:14px;
  padding:7px 14px;
  border-radius:999px;
  background:linear-gradient(135deg,#fb923c,#ea580c);
  color:#fff;
  border:1px solid rgba(249,115,22,.35);
  box-shadow:0 8px 18px rgba(249,115,22,.22);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
}

.upsell-intro-panel-dfy h3{
  margin:0 0 8px;
  color:var(--text);
  font-size:18px;
  line-height:1.35;
}

.upsell-intro-panel-dfy p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}

/* Clean member benefit row, not boxed */
.upsell-intro-panel-dfy .upsell-member-benefit{
  margin-top:14px;
  padding:0;
  border:none;
  background:transparent;
  box-shadow:none;
}

.upsell-intro-panel-dfy .upsell-member-benefit p{
  margin:0;
  color:var(--text);
  font-size:13px;
  line-height:1.45;
}

/* =========================
   DFY INTRO PANEL - MOBILE
========================= */
@media (max-width:640px){
  .upsell-intro-panel-dfy{
    padding:14px;
    border-radius:14px;
  }

  .upsell-intro-panel-dfy .training-start-kicker{
    margin-bottom:12px;
    padding:6px 11px;
    font-size:11px;
  }

  .upsell-intro-panel-dfy h3{
    font-size:16px;
    line-height:1.35;
  }

  .upsell-intro-panel-dfy p{
    font-size:13px;
    line-height:1.5;
  }

  .upsell-intro-panel-dfy .upsell-member-benefit p{
    font-size:12.5px;
  }
}
/* =========================
   PRODUCT RATING
========================= */
.product-rating{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  color:#111827;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}

.product-rating span:first-child{
  color:#f59e0b;
  font-size:14px;
  line-height:1;
}

.product-rating span:last-child{
  color:var(--muted);
  font-weight:700;
}

/* =========================
   AI SPEED UPGRADE PILL
========================= */
.ai-speed-pill{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  margin-top:2px;
  padding:10px 12px;
  border:1px solid rgba(249,115,22,.38);
  border-radius:12px;
  background:linear-gradient(
    135deg,
    rgba(255,247,237,.98),
    rgba(255,255,255,.90)
  );
  color:#c2410c;
  font-size:12px;
  font-weight:850;
  line-height:1.25;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.80);
}

.ai-speed-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  font-size:15px;
  line-height:1;
}

.ai-speed-pill span:nth-child(2){
  flex:1;
}

.ai-speed-info{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:50%;
  border:1px solid rgba(194,65,12,.45);
  color:#c2410c;
  font-size:11px;
  font-weight:900;
  line-height:1;
  flex-shrink:0;
}

/* =========================
   PRODUCT VALUE PANEL
========================= */
.product-value-panel{
  display:grid;
  grid-template-columns:1fr auto;

  align-items:center;
  gap:14px;
  margin-top:2px;
  padding:13px 14px;
  border:1px solid rgba(20,163,112,.22);
  border-radius:14px;
  background:linear-gradient(
    135deg,
    rgba(238,250,245,.94),
    rgba(255,255,255,.96)
  );
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}

.product-price-wrap{
  display:grid;
  gap:4px;
  min-width:0;
}

.product-price-label{
  display:block;
  color:var(--brand);
  font-size:12px;
  font-weight:850;
  line-height:1.2;
}

.product-price-line{
  display:flex;
  align-items:baseline;
  gap:9px;
  line-height:1;
}

.price{
  font-weight:800;
  font-size:14px;
}

.product-price-line .price{
  color:var(--brand);
  font-size:22px;
  font-weight:950;
  letter-spacing:-.035em;
}

.old-price{
  color:var(--muted);
  text-decoration:line-through;
  margin-left:8px;
  font-weight:600;
}

.product-price-line .old-price{
  color:var(--muted);
  font-size:28px;
  font-weight:800;
  opacity:.72;
  margin-left:0;
}

.product-feature-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  white-space:nowrap;
  padding:8px 11px;
  border-radius:999px;
  background:#fff;
  color:var(--brand);
  border:1px solid rgba(20,163,112,.20);
  font-size:12px;
  font-weight:800;
}

/* Legacy support for any cards still using .product-meta */
.product-meta{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:14px;
  margin-top:4px;
}

.product-meta .pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  padding:7px 10px;
  background:#eefaf5;
  color:var(--brand);
  border:1px solid rgba(20,163,112,.16);
  font-size:11px;
  font-weight:700;
}

/* =========================
   PRODUCT CARD ACTIONS
========================= */
.product-actions{
  display:flex;
  justify-content:center;
  padding:14px 16px;
  border-top:1px solid var(--accent);
}

.product-actions .btn{
  width:100%;
  min-width:0;
  max-width:none;
  font-weight:700;
}

/* =========================
   PRODUCT CARD RIBBON
========================= */
.ribbon{
  position:absolute;
  top:12px;
  left:-8px;
  background:var(--brand);
  color:#fff;
  font-size:12px;
  padding:4px 10px;
  border-radius:999px;
  box-shadow:0 4px 10px rgba(0,0,0,.15);
}

/* =========================
   PRODUCT CARD RESPONSIVE
========================= */
@media (max-width:420px){
  .product-topline{
    align-items:flex-start;
  }

  .product-value-panel{
    grid-template-columns:1fr;
    gap:10px;
  }

  .product-feature-pill{
    width:100%;
  }
}

/* =========================
   OFFER CARDS
========================= */
.offer-grid{
  display:grid;
  gap:16px;
  grid-template-columns:1fr;
}

@media (min-width:640px){
  .offer-grid{ grid-template-columns:1fr 1fr; }
}

@media (min-width:980px){
  .offer-grid{ grid-template-columns:1fr 1fr 1fr; }
}

.offer-card{
  border:1px solid var(--accent);
  background:var(--panel);
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--shadow-1);
  display:flex;
  flex-direction:column;
  cursor:default;
}

.offer-card[role="button"]{ cursor:pointer; }

.offer-top{ position:relative; }

.offer-ribbon{
  position:absolute;
  top:12px;
  left:-8px;
  background:var(--brand);
  color:#fff;
  font-size:12px;
  padding:4px 10px;
  border-radius:999px;
  box-shadow:0 4px 10px rgba(0,0,0,.15);
}

.offer-body{
  padding:16px;
  display:grid;
  gap:10px;
}

.offer-title{
  margin:0;
  font-size:16px;
  font-weight:700;
  line-height:1.35;
}

.offer-desc{
  margin:0;
  color:var(--muted);
  font-size:13px;
}

.offer-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:2px;
}

.tag{
  font-size:12px;
  border:1px solid var(--accent);
  padding:4px 8px;
  border-radius:999px;
  background:#f1f5f9;
  color:#111;
}

[data-theme="dark"] .tag{
  background:#0b1311;
  color:#e6f5ef;
}

.offer-actions{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-direction:column;
  align-items:center;
  padding:14px 16px;
  border-top:1px solid var(--accent);
}

.offer-actions .btn{
  width:auto;
  min-width:160px;
  max-width:220px;
  padding:12px 16px;
}

.offer-actions .btn-ghost{
  background:linear-gradient(135deg,var(--brand-2),var(--brand));
  color:#fff;
  border:1px solid transparent;
  box-shadow:0 6px 18px rgba(20,163,112,.22);
}

/* =========================
   GUIDE CARDS
========================= */
.guides-grid{
  display:grid;
  gap:16px;
  grid-template-columns:1fr;
}

@media (min-width:640px){
  .guides-grid{ grid-template-columns:1fr 1fr; }
}

@media (min-width:980px){
  .guides-grid{ grid-template-columns:1fr 1fr 1fr; }
}

.guide-card{
  border:1px solid var(--accent);
  background:var(--panel);
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--shadow-1);
  display:flex;
  flex-direction:column;
}


.guide-top.media-rect img{
  filter:drop-shadow(0 14px 20px rgba(19,39,48,.10));
}

.guide-body{
  padding:16px;
  display:grid;
  gap:10px;
  flex-grow:1;
}

.guide-title{
  margin:0;
  font-size:16px;
  font-weight:700;
  line-height:1.4;
}

.guide-desc{
  margin:0;
  color:var(--muted);
  font-size:13px;
}

.guide-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:2px;
}

.guide-tag{
  font-size:12px;
  border:1px solid var(--accent);
  padding:4px 8px;
  border-radius:999px;
  background:#f1f5f9;
  color:#111;
}

[data-theme="dark"] .guide-tag{
  background:#0b1311;
  color:#e6f5ef;
}

.guide-actions{
  display:flex;
  gap:10px;
  padding:14px 16px;
  border-top:1px solid var(--accent);
  justify-content:center;
}

.guide-actions .btn{ min-width:160px; }

.guide-kicker{
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:fit-content;
  margin-bottom:6px;
  padding:5px 10px;

  font-size:11px;
  font-weight:800;
  letter-spacing:.03em;
  white-space:nowrap;

  color:#b45309;
  background:#fff4e5;
  border:1px solid #f5d39a;
  border-radius:999px;

  box-shadow:0 1px 0 rgba(255,255,255,.7) inset;
}

[data-theme="dark"] .guide-kicker{
  color:#f5c56c;
  background:#2a2113;
  border-color:#5c4722;
}

.featured-guide{
  border-color:color-mix(in oklab, var(--brand) 28%, var(--accent) 72%);
  box-shadow:0 10px 26px rgba(0,0,0,.08);
}

.guide-note,
.aff-note{
  font-size:12.5px;
  color:var(--muted);
  margin-top:10px;
}

/* =========================
   HOVER STATES
========================= */
@media (hover:hover){
  .product-card,
  .offer-card,
  .guide-card,
  .module,
  .updates-card{
    transition:transform .15s ease, box-shadow .15s ease;
  }

  .product-card:hover,
  .offer-card:hover,
  .guide-card:hover{
    transform:translateY(-3px);
    box-shadow:var(--shadow-2);
  }

  .module:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow-2);
  }

  .updates-card:hover{
    transform:translateY(-3px);
    box-shadow:var(--shadow-2);
  }
}

/* =========================
   FAQ DETAILS
========================= */
details:not(.updates-card details){
  border:1px solid var(--accent);
  border-radius:12px;
  padding:10px 12px;
  background:var(--panel);
}

details + details{ margin-top:10px; }

summary{
  cursor:pointer;
  list-style:none;
}

summary::after{ content:""; }


/* =========================
   MODAL SOURCE TEMPLATES
   Hidden before JavaScript initialises
========================= */
.modal-source{
  display:none !important;
}

/* =========================
   MODAL
========================= */
.modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:100;
  overflow-x:hidden;
}

.modal[aria-hidden="false"]{ display:flex; }

.modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.5);
  backdrop-filter:blur(2px);
  opacity:0;
  transition:opacity .25s ease;
}

.modal[aria-hidden="false"] .modal-backdrop{ opacity:1; }

.modal-dialog{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-rows:auto 1fr;
  width:100vw;
  height:100dvh;
  background:var(--panel);
  border:1px solid var(--accent);
  border-radius:0;
  box-shadow:var(--shadow-2);
  transform:translateY(10px);
  opacity:0;
  transition:transform .25s ease, opacity .25s ease;
  overflow-x:hidden;
}

.modal[aria-hidden="false"] .modal-dialog{
  transform:translateY(0);
  opacity:1;
}

@media (min-width:900px){
  .modal-dialog{
    inset:auto;
    top:5vh;
    left:50%;
    transform:translate(-50%,10px);
    width:min(980px,96vw);
    height:90vh;
    border-radius:24px;
    overflow:hidden;
  }

  .modal[aria-hidden="false"] .modal-dialog{
    transform:translate(-50%,0);
  }
}

.modal-header{
  position:sticky;
  top:0;
  z-index:2;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-bottom:1px solid var(--accent);
  background:linear-gradient(180deg,var(--panel) 75%, rgba(255,255,255,0));
  backdrop-filter:saturate(1.05) blur(4px);
}

.modal-title{
  margin:0;
  font-size:16px;
  text-align:center;
}

.modal-close,
.modal-back-btn{
  border:1px solid var(--accent);
  background:transparent;
  border-radius:10px;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}

.modal-close:hover,
.modal-back-btn:hover{
  background:var(--panel-2);
  border-color:#dfe3e8;
}

.modal-body{
  overflow:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  padding:0;
}

/* =========================
   MODAL NARROW
========================= */
.modal.narrow .modal-dialog{
  width:min(760px,96vw);
  height:auto;
  max-height:90vh;
}

.modal.narrow .modal-body{ padding:0; }
.modal.narrow .modal-body > *{
  max-width:720px;
  margin:0 auto;
}

.modal.narrow .ms-grid{
  grid-template-columns:1fr !important;
  padding:18px;
}

.modal.narrow .ms-visual{ display:none !important; }

@media (max-width:899.98px){
  .modal.narrow .modal-dialog{
    position:absolute;
    inset:0;
    width:100svw;
    height:100dvh;
    max-width:none;
    margin:0;
    border-radius:0;
    overflow:hidden;
  }

  .modal.narrow .modal-header{
    position:sticky;
    top:0;
    padding-left:max(12px, env(safe-area-inset-left));
    padding-right:max(12px, env(safe-area-inset-right));
    min-height:52px;
  }

  .modal.narrow .modal-body{
    height:calc(100dvh - 52px);
    overflow-y:auto;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
  }
}

.modal.narrow .modal-body > .ms-wrap{
  max-width:none;
  margin:0;
}

.modal.narrow .ms-hero{
  width:100%;
  border-radius:0;
}

.modal.narrow .ms-grid,
.modal.narrow .ms-desc,
.modal.narrow .ms-testis,
.modal.narrow .ms-includes,
.modal.narrow .ms-guarantee{
  max-width:720px;
  margin:0 auto;
}

@media (min-width:900px){
  .modal.narrow .modal-body > #modalDynamic,
  .modal.narrow .modal-body > #modalDynamic > .ms-wrap{
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }

  .modal.narrow #modalDynamic .ms-hero{
    width:100% !important;
    border-radius:0;
  }

  .modal.narrow #modalDynamic .ms-grid,
  .modal.narrow #modalDynamic .ms-desc,
  .modal.narrow #modalDynamic .ms-testis,
  .modal.narrow #modalDynamic .ms-includes,
  .modal.narrow #modalDynamic .ms-guarantee{
    max-width:720px;
    margin:0 auto;
  }
}

/* =========================
   MODAL CONTENT
========================= */
.ms-wrap{ display:grid; gap:0; }

.ms-hero{
  position:relative;
  background:linear-gradient(135deg,rgba(20,163,112,.15),rgba(11,122,85,.08));
  border-bottom:1px solid var(--accent);
  padding:18px;
}

.ms-badge{
  display:inline-block;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.4px;
  background:var(--brand);
  color:#fff;
  padding:4px 10px;
  border-radius:999px;
}

.ms-title{
  font-size:clamp(22px,2.6vw,28px);
  margin:10px 0 6px;
}

.ms-sub{
  color:var(--muted);
  margin:0;
}

.ms-grid{
  display:grid;
  gap:18px;
  grid-template-columns:1fr;
  padding:18px;
}

@media (min-width:900px){
  .ms-grid{ grid-template-columns:1.2fr 1fr; }
}

.ms-copy{
  display:grid;
  gap:12px;
  align-content:start;
}

@media (min-width:900px){
  .ms-grid .ms-copy{
    display:flex;
    flex-direction:column;
  }

  .ms-grid .ms-copy .ms-cta{ margin-top:auto; }
  .ms-grid .ms-copy .ms-note{ text-align:center; }
}

.ms-price{
  display:flex;
  align-items:baseline;
  gap:10px;
}

.ms-price .price{
  font-size:22px;
  font-weight:800;
}

.pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.pill-chip{
  font-size:12px;
  color:#111;
  background:#f1f5f9;
  border:1px solid var(--accent);
  border-radius:999px;
  padding:6px 10px;
}

[data-theme="dark"] .pill-chip{
  color:#e6f5ef;
  background:#0b1311;
}

.checklist{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:8px;
  color:var(--text);
}

.checklist li{
  display:flex;
  align-items:center;
  gap:10px;
}

.checklist .check{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  background:var(--success, #0aaf67);
  color:#fff;
  border-radius:50%;
  font-size:13px;
  font-weight:700;
  flex-shrink:0;
}

/* DFY checklist: centre the whole block, keep text left-aligned */
.dfy-checklist-grid{
  max-width:600px;
  margin:14px auto 22px;
}

.core-wrap{
  display:flex;
  align-items:center;
  gap:14px;
}

.core-thumb{
  flex:0 0 125px;
  height:150px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid var(--accent);
  background:var(--panel-2);
}

.core-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.core-copy p{ margin:0 0 6px; }

@media (max-width:560px){
  .core-wrap{ align-items:flex-start; }
}

.ms-cta{
  display:flex;
  justify-content:center;
}

.ms-cta .btn{ min-width:200px; }

.ms-note{
  margin:0;
  line-height:1.2;
  font-size:14px;
  text-align:center;
}

.ms-note + .ms-note{ margin-top:2px; }

@media (max-width:480px){
  .ms-note{ display:none; }
}

.ms-includes{
  display:grid;
  gap:12px;
  grid-template-columns:1fr;
  padding:0 18px 18px;
}

@media (min-width:700px){
  .ms-includes{ grid-template-columns:repeat(4,1fr); }
}

.ms-inc{
  border:1px solid var(--accent);
  border-radius:14px;
  padding:12px;
  background:var(--panel);
  text-align:center;
}

.ms-inc .big{
  font-weight:800;
  font-size:18px;
}

.ms-inc .small{
  color:var(--muted);
  font-size:12px;
}

.ms-guarantee{
  margin:0 18px 18px;
  padding:12px 14px;
  border:1px solid var(--accent);
  border-radius:14px;
  background:linear-gradient(0deg,var(--panel-2),var(--panel));
  font-size:14px;
  display:flex;
  gap:10px;
  align-items:center;
}

.ms-guarantee .dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--success);
  box-shadow:0 0 0 4px color-mix(in oklab, var(--success), transparent 80%);
}

.ms-desc{
  margin:0 18px 16px;
  padding:16px;
  border:1px solid var(--accent);
  border-radius:14px;
  background:var(--panel);
}

.ms-desc h4{
  margin:0 0 8px;
  font-size:16px;
}

.ms-desc p{ margin:0 0 10px; }

.ms-testis{
  margin:0 18px 24px;
  display:grid;
  gap:12px;
}

.ms-testis h4{
  margin:0;
  font-size:16px;
}

/* =========================
   TESTIMONIALS
========================= */
.t-grid{
  display:grid;
  gap:12px;
  grid-template-columns:1fr;
}

@media (min-width:900px){
  .t-grid{ grid-template-columns:repeat(3,1fr); }
}

.t-card{
  background:var(--panel);
  border:1px solid var(--accent);
  border-radius:14px;
  padding:14px;
  box-shadow:var(--shadow-1);
}

.t-quote{
  margin:0 0 10px;
  font-size:14px;
}

.t-meta{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:12px;
  color:var(--muted);
}

.t-avatar{
  width:32px;
  height:32px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--brand-2),var(--brand));
  color:#fff;
  font-weight:700;
  border:1px solid color-mix(in oklab, #fff, transparent 70%);
}

.t-name{
  font-weight:700;
  color:var(--text);
  font-size:13px;
}

.t-stars{
  font-size:12px;
  letter-spacing:.25px;
  color:#f59e0b;
}

/* =========================
   MODULES
========================= */
.modules{
  display:grid;
  gap:12px;
}

.module{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  background:var(--panel-2);
  border:1px solid var(--accent);
  border-radius:12px;
  padding:12px;
}

.mod-idx{
  width:32px;
  height:32px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,rgba(20,163,112,.12),rgba(11,122,85,.12));
  border:1px solid var(--accent);
  font-weight:700;
}

.module h4{
  margin:0;
  font-size:15px;
}

.module p{
  margin:.25rem 0 0;
  color:var(--muted);
  font-size:13px;
}

.module .btn{
  padding:10px 14px;
}

@media (max-width:640px){
  .module{
    grid-template-columns:auto 1fr;
    align-items:start;
  }

  .module .btn{
    grid-column:1 / -1;
    width:100%;
    margin-top:6px;
  }
}

/* =========================
   SUPPORT GRID / HELP CARD
========================= */
.support-grid{ display:grid; gap:12px; }

@media (max-width:859.98px){
  .support-grid{ grid-template-columns:1fr; }
}

@media (min-width:860px){
  .support-grid{
    grid-template-columns:2fr 1fr;
    align-items:stretch;
  }
}

.support-grid > *{ margin-top:0 !important; }

.support-grid .card{
  display:flex;
  flex-direction:column;
  height:100%;
}

.support-grid .card .bd{ flex:1; }

.support-card-body{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.support-lead{
  font-weight:700;
  font-size:16px;
  margin:0;
}

.support-contact-wrap{ margin-top:6px; }

.support-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  font-size:13px;
  font-weight:600;
  line-height:1.4;
  border-radius:999px;
  background:linear-gradient(135deg,var(--brand-2),var(--brand));
  color:#fff;
  border:1px solid transparent;
  box-shadow:0 6px 18px rgba(20,163,112,.22);
  text-align:center;
  word-break:break-word;
}

.support-pill:hover{ transform:translateY(-1px); }

.support-pill:focus-visible{
  outline:none;
  box-shadow:var(--focus);
}

/* =========================
   FOOTER
========================= */
footer{
  margin-top:40px;
  padding:28px 0 60px;
  background:var(--panel);
  border-top:1px solid var(--accent);
  color:var(--text);
  font-size:13px;
}

footer .foot-wrap{
  width:min(1100px,92vw);
  margin:0 auto;
  padding:0 clamp(16px,2vw,28px);
}

footer p{
  max-width:900px;
  margin:.5rem auto;
  color:var(--muted);
  text-align:center;
}

.footer-nav{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  margin:12px 0 0;
}

.foot-link{
  appearance:none;
  border:1px solid var(--accent);
  background:transparent;
  color:inherit;
  cursor:pointer;
  border-radius:999px;
  padding:6px 12px;
  font-size:13px;
}

.foot-link:focus-visible{
  outline:none;
  box-shadow:var(--focus);
}

.copy{
  color:var(--muted);
  text-align:center;
  margin-top:10px;
}

/* =========================
   BODY / GLOBAL STATES
========================= */
body.no-scroll{ overflow:hidden; }

.hidden{ display:none !important; }

/* =========================
   MOBILE CTA VISIBILITY
========================= */
@media (max-width:640px){
  .product-actions .btn,
  .offer-actions .btn,
  .guide-actions .btn{
    width:100%;
    max-width:none;
  }
}

/* =========================
   MODAL STICKY CTA
========================= */
.ms-sticky{
  position:sticky;
  bottom:0;
  background:var(--panel) !important;
  border-top:1px solid var(--accent);
  padding:14px 18px calc(10px + env(safe-area-inset-bottom));
  display:none;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  box-shadow:0 -6px 18px rgba(0,0,0,.06);
  text-align:center;
  width:100%;
  z-index:1;
}

[data-theme="dark"] .ms-sticky{
  background:var(--panel) !important;
}

.ms-sticky .btn{
  min-width:220px;
  margin:0 0 6px 0;
}

.ms-sticky .guarantee{
  font-size:12px;
  color:var(--muted);
  margin:0;
}

@media (max-width:979.98px){
  .ms-sticky{ display:flex; }
  .ms-cta{ display:none; }
}

/* =========================
   UNLOCK STATES
========================= */
.product-card.locked {
  opacity: 1;
}

/* Unlocked Recommended Add-on card */
.product-card.unlocked {
  background: linear-gradient(180deg, rgba(220,252,231,0.96), rgba(255,255,255,0.94));
  border: 3px solid rgba(20,163,112,0.85);  /* thicker border */
  box-shadow: 0 14px 36px rgba(20,163,112,0.22), inset 0 1px 0 rgba(255,255,255,0.85);
  border-radius: 18px;
}

.product-card.unlocked > * {
  position: relative;
  z-index: 1;
}

.product-card.unlocked .product-title {
  color: #064e3b;
}

.product-card.unlocked .product-desc {
  color: #42635a;
}

/* =========================
   UNLOCKED PANEL MATCHING PRICE PANEL
========================= */
.product-card.unlocked .product-unlocked-panel {
  display: flex;
  align-items: center;          /* vertically center the checkmark and text */
  justify-content: center;      /* horizontally center content */
  gap: 16px;
  
  min-height: 58px;             /* match original .product-value-panel height */
  padding: 20.3px 20px;      /* same padding as price panel */
  
  margin-top: 3px;             /* NEW: adds space between AI Speed Boost pill and panel */
  
  border-radius: 14px;          /* same as price panel */
  background: linear-gradient(135deg, rgba(238,252,245,.94), rgba(255,255,255,.96));
  border: 1px solid rgba(20,163,112,.22);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);

  font-weight: 700;
  color: #064e3b;
  text-transform: uppercase;    /* force text to all caps */
}

.product-card.unlocked .ai-speed-pill {
  padding: 10px 10px;  /* taller vertical padding for unlocked card only */
  line-height: 1.4;    /* ensures text stays centered */
}

.product-card.unlocked .product-unlocked-icon {
  font-size: 18px;
  line-height: 1;
}

/* Hide ribbon for unlocked cards */
.product-card.unlocked .ribbon {
  display: none;
}

/* Module unlocked state (existing) */
.module.unlocked {
  border-color: var(--success);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--success), transparent 85%);
  background: color-mix(in oklab, var(--success) 4%, white 96%);
}

.module.unlocked::after {
  content: none;
}

@media (hover:hover) {
  .module.unlocked:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-2);
  }
}
/* =========================
   SUBSCRIPTION NOTE
========================= */
.subscription-note{
  margin-top:12px;
  padding:10px 14px;
  background:#f6f7f8;
  border:1px solid rgba(0,0,0,0.06);
  border-radius:8px;
  font-size:.75rem;
  line-height:1.4;
  color:#777;
  text-align:center;
}

.subscription-note p{ margin:0; }

.subscription-note .subtle{
  margin-top:4px;
  font-size:.75rem;
  color:#888;
}

/* =========================
   MODAL DYNAMIC REFINEMENTS
========================= */
#modalDynamic .ms-desc{ margin-top:0; }
#modalDynamic .ms-desc p:last-child{ margin-bottom:0; }

#modalDynamic .offer-media{
  border-bottom:none;
  border-radius:16px;
  border:1px solid var(--accent);
}

#modalDynamic .ms-hero{ padding:20px; }
#modalDynamic .ms-grid{ padding-top:16px; }

#modalDynamic .ms-cta .btn{
  min-width:240px;
  padding:14px 18px;
  border-radius:12px;
}

.spacer{ height:28px; }

/* =========================
   EXPANDABLE DFY SECTION
========================= */

.dfy-card .card-expand.open{
  margin-top:0;
  padding:0;
  border-top:none;
  background:transparent;
}

/* =========================
   DFY IMAGE-BOTTOM ALIGNED DIVIDER
========================= */
.dfy-soft-divider{
  display:none;
}

.dfy-card-inner{
  position:relative;
}

.dfy-card-inner::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:38px;
  background:linear-gradient(
    180deg,
    rgba(255,122,24,0) 0%,
    rgba(255,122,24,0.08) 58%,
    rgba(255,122,24,0.16) 100%
  );
  pointer-events:none;
  z-index:2;
}

.dfy-card-inner::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:rgba(255,122,24,0.55);
  pointer-events:none;
  z-index:3;
}

.dfy-card-media,
.dfy-card-body{
  position:relative;
  z-index:1;
}

/* =========================
   DFY CARD
========================= */
.dfy-card{
  border:1px solid rgba(249,115,22,.35);
  background:linear-gradient(
    180deg,
    rgba(249,115,22,.14),
    rgba(249,115,22,.05)
  );
  box-shadow:
    0 12px 32px rgba(0,0,0,.08),
    0 0 36px rgba(249,115,22,.10);
}

.dfy-card-wide{
  overflow:hidden;
}

.dfy-card-inner{
  display:grid;
  grid-template-columns:1fr;
  background:linear-gradient(
    180deg,
    rgba(249,115,22,.18),
    rgba(255,255,255,.55)
  );
}

.dfy-card-body{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.dfy-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.dfy-card-head .product-title{
  margin:0;
  font-size:18px;
  line-height:1.35;
  flex:1;
}

.dfy-pill{
  flex-shrink:0;
  align-self:flex-start;
  margin-top:2px;
  background:linear-gradient(135deg,#fb923c,#ea580c);
  color:#fff;
  border:1px solid rgba(249,115,22,.45);
}

.dfy-offer-label{
  display:inline-block;
  width:fit-content;
  padding:6px 12px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--brand-2),var(--brand));
  color:#fff;
  font-size:12px;
  font-weight:600;
  box-shadow:0 6px 16px rgba(20,163,112,.24);
}

.dfy-title{
  margin:0;
  font-size:20px;
  font-weight:700;
  color:#fff;
}

.dfy-section-head{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
}

/* =========================
   DFY TOP COPY AREA
========================= */
.dfy-copy-block{
  display:grid;
  gap:10px;
  width:100%;
}

.dfy-mini-kicker{
  display:inline-flex;
  width:fit-content;
  align-items:center;
  justify-content:center;
  padding:6px 11px;
  border:1px solid rgba(249,115,22,.24);
  border-radius:999px;
  background:rgba(255,255,255,.65);
  color:#9a3412;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.dfy-card-head .product-title{
  margin:0;
  max-width:720px;
  font-size:22px;
  line-height:1.18;
  letter-spacing:-.02em;
}

.dfy-lead-copy{
  max-width:760px;
  margin:0;
  color:#1f2937 !important;
  font-size:14px;
  line-height:1.55;
}

.dfy-ideal-row{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin-top:2px;
}

.dfy-ideal-row span{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border:1px solid rgba(20,163,112,.16);
  border-radius:999px;
  background:rgba(20,163,112,.08);
  color:#0f5132;
  font-size:12px;
  font-weight:700;
}

/* Mobile */
@media (max-width:640px){
  .dfy-card-head .product-title{
    font-size:19px;
  }

  .dfy-lead-copy{
    font-size:13px;
  }

  .dfy-ideal-row span{
    font-size:11.5px;
    padding:5px 9px;
  }
}

/* =========================
   DFY CHECKLIST
========================= */
.dfy-checklist-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px 24px;
  margin:18px 0 22px;
}

.dfy-checklist-grid li{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:14px;
  line-height:1.4;
}

/* =========================
   DFY OFFER / PRICE BOX
========================= */
.dfy-offer-box{
  position:relative;
  margin-top:22px;
  padding:32px 22px 24px;
  border:1px solid rgba(249,115,22,.35);
  border-radius:16px;
  background:rgba(255,255,255,.58);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:14px;
  box-shadow:
    0 12px 28px rgba(249,115,22,.12),
    inset 0 1px 0 rgba(255,255,255,.7);
}

.dfy-urgency{
  position:absolute;
  top:-15px;
  left:50%;
  transform:translateX(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 14px;
  border-radius:999px;
  background:linear-gradient(135deg,#f97316,#ea580c);
  color:#fff;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
  box-shadow:0 6px 16px rgba(249,115,22,.35);
  animation:dfyPulse 2.4s ease-in-out infinite;
}

@keyframes dfyPulse{
  0%,100%{
    transform:translateX(-50%) scale(1);
    box-shadow:0 6px 16px rgba(249,115,22,.28);
  }

  50%{
    transform:translateX(-50%) scale(1.035);
    box-shadow:0 8px 22px rgba(249,115,22,.42);
  }
}

@media (prefers-reduced-motion:reduce){
  .dfy-urgency{
    animation:none;
  }
}

/* =========================
   DFY STACKED PRICE / CTA / GUARANTEE
========================= */
.dfy-price-stack{
  width:100%;
  max-width:560px;
  display:grid;
  gap:12px;
  margin-top:4px;
}

.dfy-price-main,
.dfy-guarantee-mini{
  border:1px solid rgba(249,115,22,.16);
  border-radius:14px;
  background:rgba(255,255,255,.72);
  padding:14px 16px;
}

.dfy-price-main-full{
  width:100%;
}

.dfy-price-label{
  display:block;
  margin-bottom:6px;
  color:#9a3412;
  font-size:18px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.02em;
}

.dfy-price-row{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:10px;
  margin-bottom:8px;
}

.dfy-price-row .price{
  color:var(--brand);
  font-size:48px;
  font-weight:900;
  line-height:1;
}

.dfy-price-row .old-price{
  color:var(--muted);
  font-size:28px;
  font-weight:700;
  opacity:.7;
  text-decoration:line-through;
  transform:translateY(-5px);
}

.dfy-price-main .dfy-value{
  max-width:75%;
  margin:0 auto;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.45;
}

.dfy-value{
  margin:0;
  max-width:380px;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}

/* Full-width CTA inside the stacked price area */
.dfy-offer-box .btn,
.dfy-offer-box .dfy-cta-full{
  width:100%;
  max-width:none;
  align-self:stretch;
  margin-top:0;
  padding:16px 24px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-size:20px;
  font-weight:800;
  box-shadow:0 10px 24px rgba(20,163,112,.35);
}

.dfy-offer-box .btn:hover,
.dfy-offer-box .dfy-cta-full:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(20,163,112,.45);
}

.dfy-offer-box .btn::before,
.dfy-offer-box .dfy-cta-full::before{
  content:none;
  color:#fff;
  font-size:17px;
  line-height:1;
}

/* Guarantee panel */
.dfy-guarantee-full{
  width:100%;
  display:flex;
  flex-direction:row;
  justify-content:center;
  align-items:center;
  gap:12px;
  text-align:left;
}

.dfy-guarantee-full span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:999px;
  background:rgba(20,163,112,.10);
  border:1px solid rgba(20,163,112,.18);
  font-size:17px;
}

.dfy-guarantee-full strong{
  display:block;
  color:var(--text);
  font-size:18px;
  line-height:1.25;
}

.dfy-guarantee-full small{
  display:block;
  color:var(--muted);
  font-size:11.5px;
  line-height:1.35;
}

/* Legacy price line support, if used elsewhere */
.dfy-price-line{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;

  font-size:15px;
  flex-wrap:wrap;
}

.dfy-price-line .label{
  color:var(--text);
}

.dfy-price-line .price{
  color:var(--brand);
  font-size:28px;
  font-weight:900;
  line-height:1;
}

.dfy-price-line .old-price{
  margin-left:4px;
  color:var(--muted);
  font-size:14px;
  font-weight:600;
  opacity:.7;
  text-decoration:line-through;
}

/* =========================
   DFY STATIC PROOF / REVIEWS
========================= */
.dfy-expanded-proof{
  display:grid;
  gap:14px;
  padding:16px 18px 18px;
}

.dfy-proof-static{
  width:100%;
  max-width:none;
  margin:16px 0 0;
  padding:0;
  box-sizing:border-box;
}

.dfy-expanded-proof.dfy-proof-static{
  padding:0;
}

.dfy-proof-static .dfy-review-strip,
.dfy-proof-static .dfy-benefits{
  width:100%;
  max-width:none;
  box-sizing:border-box;
}

.dfy-proof-static .dfy-review-strip{
  margin:0;
}

.dfy-proof-static .dfy-benefits{
  margin:16px 0 0;
}

/* =========================
   DFY REVIEW STRIP
========================= */
.dfy-review-strip{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
  padding:14px;
  border:1px solid rgba(249,115,22,.18);
  border-radius:16px;
  background:rgba(255,255,255,.72);
  box-shadow:0 10px 24px rgba(0,0,0,.045);
}

.dfy-review{
  padding:12px 14px;
  border:1px solid rgba(249,115,22,.08);
  border-radius:13px;
  background:rgba(255,255,255,.55);
  box-shadow:none;
}

.dfy-review-stars{
  margin-bottom:6px;
  color:#f59e0b;
  letter-spacing:.8px;
  font-size:.9rem;
}

.dfy-review p{
  margin:0 0 8px;
  color:#1f2937;
  font-size:.84rem;
  line-height:1.45;
  font-style:italic;
}

.dfy-review strong{
  display:block;
  color:#0f5132;
  font-size:.76rem;
}

/* =========================
   DFY BENEFITS
========================= */
.dfy-benefits{
  margin-top:18px;
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  padding:14px;
  border:1px solid rgba(249,115,22,.35);
  border-radius:16px;
  background:rgba(255,255,255,.6);
}

.dfy-benefit{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:10px 12px;
}

.dfy-icon{
  font-size:18px;
  line-height:1;
}

.dfy-benefit strong{
  display:block;
  margin-bottom:2px;
  font-size:14px;
}

.dfy-benefit p{
  margin:0;
  color:var(--muted);
  font-size:12px;
}

/* =========================
   DFY SALES PAGE
========================= */
.dfy-sales-page{
  width:100%;
  margin:0;
  padding:34px 20px 42px;
  border:none;
  border-radius:0;
  background:linear-gradient(
    180deg,
    rgba(255,255,255,.55) 0%,
    rgba(249,115,22,.10) 22%,
    rgba(249,115,22,.06) 68%,
    rgba(255,255,255,.45) 100%
  );
  box-shadow:none;
}

.dfy-sales-hero,
.dfy-sales-section{
  max-width:980px;
  margin:0 auto;
  padding:34px 0;
  border:none;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.dfy-sales-hero{
  padding-top:8px;
  text-align:center;
}

.dfy-sales-section + .dfy-sales-section,
.dfy-sales-hero + .dfy-sales-section{
  border-top:1px solid rgba(249,115,22,.20);
}

.dfy-sales-badge{
  display:inline-flex;
  margin-bottom:14px;
  padding:7px 13px;
  border-radius:999px;
  background:linear-gradient(135deg,#fb923c,#ea580c);
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  box-shadow:0 8px 18px rgba(249,115,22,.22);
}

.dfy-sales-hero h2{
  max-width:820px;
  margin:0 auto 14px;
  font-size:clamp(34px,5vw,54px);
  line-height:1.05;
}

.dfy-sales-section h3{
  max-width:820px;
  margin:0 auto 18px;
  font-size:clamp(26px,3vw,38px);
  line-height:1.12;
  text-align:center;
}

.dfy-sales-hero p,
.dfy-sales-section p{
  color:var(--muted);
  font-size:16px;
  line-height:1.65;
}

.dfy-sales-hero p{
  max-width:760px;
  margin:0 auto 18px;
}

.dfy-sales-image{
  max-width:640px;
  margin:24px auto;
  border:1px solid rgba(249,115,22,.22);
  border-radius:20px;
  overflow:hidden;

  background:rgba(255,255,255,.55);
  box-shadow:0 12px 28px rgba(249,115,22,.12);
}

.dfy-sales-image img{
  width:100%;
  height:auto;
  object-fit:contain;
}

.dfy-sales-price{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:14px 0 8px;
}

.dfy-sales-price .old-price{
  color:var(--muted);
  text-decoration:line-through;
  font-size:20px;
  font-weight:700;
}

.dfy-sales-price .new-price{
  color:#ea580c;
  font-size:46px;
  font-weight:900;
  line-height:1;
}

.dfy-sales-small{
  margin:0 auto 16px;
  font-size:13px !important;
}

.dfy-sales-cta{
  min-width:280px;
  padding:15px 22px;
  font-weight:800;
}

.dfy-sales-pill-row{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin:0 auto 22px;
}

.dfy-sales-pill-row span{
  padding:7px 12px;
  border:1px solid rgba(249,115,22,.24);
  border-radius:999px;
  background:rgba(255,255,255,.68);
  color:#9a3412;
  font-size:12px;
  font-weight:700;
}

.dfy-sales-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}

.dfy-sales-feature,
.dfy-sales-checklist li,
.t-card,
.value-card-row{
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(6px);

  -webkit-backdrop-filter:blur(6px);
}

.dfy-sales-feature{
  padding:18px;
  border:1px solid rgba(249,115,22,.22);
  border-radius:18px;
  box-shadow:0 8px 20px rgba(0,0,0,.04);
}

.dfy-sales-feature h4{
  margin:0 0 8px;
  font-size:18px;
}

.dfy-sales-feature p{
  margin:0;
  color:var(--muted);
}

.dfy-sales-highlight,
.dfy-sales-cta-box{
  padding:34px 22px;
  border:1px solid rgba(249,115,22,.18);
  border-radius:22px;
  background:rgba(255,255,255,.44);
  text-align:center;
}

.dfy-sales-highlight p,
.dfy-sales-cta-box p{
  max-width:760px;
  margin:0 auto 12px;
}

.dfy-sales-checklist{
  list-style:none;
  padding:0;
  margin:0 auto;
  max-width:760px;
  display:grid;
  gap:12px;
}

.dfy-sales-checklist li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:13px 15px;
  border:1px solid rgba(249,115,22,.18);
  border-radius:14px;
  font-size:15px;
}

.dfy-sales-checklist span{
  width:24px;
  height:24px;
  display:inline-grid;
  place-items:center;
  flex-shrink:0;
  border-radius:50%;
  background:var(--success);
  color:#fff;
  font-weight:900;
}

.dfy-sales-callout{
  max-width:760px;
  margin:18px auto;
  display:grid;
  gap:8px;
  padding:18px;
  border:1px solid rgba(249,115,22,.20);
  border-radius:18px;
  background:rgba(255,255,255,.62);
  text-align:center;
}

.dfy-compare{
  display:grid;
  gap:16px;
  margin-top:14px;
}

.dfy-col{
  padding:18px;
  border:1px solid rgba(249,115,22,.18);
  border-radius:16px;
  background:rgba(255,255,255,.64);
}

.dfy-col h4,
.dfy-col h5{
  margin:0 0 10px;
  font-size:17px;
}

.dfy-col ul{
  margin:0;
  padding-left:18px;
  color:var(--muted);
}

.dfy-with{
  border-color:rgba(249,115,22,.35);
  background:rgba(255,255,255,.78);
}

.dfy-sales-stat-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  max-width:760px;
  margin:20px auto;
}

.dfy-sales-stat-grid div{
  padding:18px 12px;
  border:1px solid rgba(249,115,22,.18);
  border-radius:16px;
  background:rgba(255,255,255,.70);
  text-align:center;
  font-weight:800;
}

.dfy-sales-urgency{
  color:#ea580c !important;
  font-weight:800;
  margin-top:14px !important;
}

/* =========================
   DFY VALUE STACK
========================= */
.value-stack-cards{
  max-width:760px;
  margin:14px auto 0;
  display:grid;
  gap:10px;
}

.value-card-row{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:14px;
  padding:12px 14px;
  border:1px solid rgba(249,115,22,.18);
  border-radius:12px;
}

.value-card-left{
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-width:0;
}

.value-card-left .check{
  width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  margin-top:1px;
  border-radius:50%;
  background:var(--success);
  color:#fff;
  font-size:13px;
  font-weight:700;
}

.value-card-left span:last-child{
  color:var(--text);
  font-size:15px;
  line-height:1.45;
}

.value-card-price{
  color:var(--text);
  font-size:20px;
  font-weight:800;
  white-space:nowrap;
}

.value-summary-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 4px;
  border-top:1px dashed rgba(249,115,22,.35);
  color:var(--muted);
  font-size:18px;
  font-weight:700;
}

.value-anchor-price{
  text-decoration:line-through;
  opacity:.75;
  font-weight:800;
}

.value-special-card{
  margin-top:10px;
  padding:18px 20px;
  border:1px solid rgba(249,115,22,.42);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(249,115,22,.22),rgba(234,88,12,.08));
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  box-shadow:0 12px 30px rgba(249,115,22,.12);
}

.value-special-left{
  display:flex;
  flex-direction:column;
}

.value-special-label{
  color:#ea580c;
  font-size:18px;
  font-weight:800;
}

.value-special-sub{
  color:var(--muted);
  font-size:12px;
}

.value-special-price{
  color:#ea580c;
  font-size:42px;
  font-weight:900;
  line-height:1;
}

/* =========================
   DFY STACK INTRO
========================= */
.dfy-stack-intro{
  max-width:900px;
  margin:0 auto;
  padding:48px 20px;
  border-bottom:1px solid rgba(249,115,22,.18);
  text-align:center;
}

.dfy-stack-badge{
  display:inline-block;
  margin-bottom:14px;
  padding:7px 14px;
  border-radius:999px;
  background:linear-gradient(135deg,#fb923c,#ea580c);
  color:#fff;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
}

.dfy-stack-intro h2{
  max-width:760px;
  margin:0 auto 14px;
  font-size:clamp(34px,5vw,58px);
  line-height:1.04;
  letter-spacing:-.04em;
}

.dfy-stack-intro h2 span{
  color:var(--brand);
}

.dfy-stack-intro p{
  max-width:640px;
  margin:0 auto 28px;
  color:var(--muted);
  font-size:17px;
  line-height:1.6;
}

.dfy-stack-image{
  max-width:620px;
  margin:0 auto 26px;
  border:1px solid rgba(249,115,22,.25);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 16px 36px rgba(249,115,22,.12);
}

.dfy-stack-image img{
  width:100%;
  display:block;
}

.dfy-stack-points{
  max-width:620px;
  margin:0 auto;
  display:grid;
  gap:10px;
}

.dfy-stack-points div{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  padding:13px 16px;
  border:1px solid rgba(20,163,112,.18);
  border-radius:14px;
  background:rgba(255,255,255,.72);
  font-weight:700;
}

.dfy-stack-points span{
  width:23px;
  height:23px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--success);
  color:#fff;
  font-size:12px;
}

/* =========================
   DFY SALES PAGE EXTRA HELPERS
========================= */
.dfy-inline-checks{
  max-width:820px;
  margin:18px auto;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
}

.dfy-inline-checks span{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border:1px solid rgba(20,163,112,.16);
  border-radius:999px;
  background:rgba(20,163,112,.08);
  color:#0f5132;
  font-size:13px;
  font-weight:800;
  line-height:1.25;
}

.dfy-quote-stack{
  max-width:760px;
  margin:20px auto;
  display:grid;
  gap:10px;
}

.dfy-quote-stack blockquote{
  margin:0;
  padding:14px 16px;
  border-left:4px solid #ea580c;
  border-radius:12px;
  background:rgba(249,115,22,.08);
  color:var(--text);
  font-size:15px;
  font-weight:800;
  line-height:1.45;
}

.dfy-pain-list.positive span{
  border-color:rgba(20,163,112,.18);
  background:rgba(20,163,112,.07);
}

.dfy-big-lines.light-version span{
  background:rgba(20,163,112,.08);
  border:1px solid rgba(20,163,112,.16);
  color:#0f5132;
}

/* Mobile tidy-up */
@media (max-width:640px){
  .dfy-inline-checks{
    justify-content:flex-start;
  }

  .dfy-inline-checks span{
    width:100%;
    justify-content:flex-start;
    border-radius:12px;
    font-size:12.5px;
  }

  .dfy-quote-stack blockquote{
    font-size:14px;
  }
}

/* =========================
   DFY EXPAND SALES PAGE V3
   Full-width stacked sales page
========================= */
.dfy-stack-intro{
  width:100%;
  padding:0;
  background:linear-gradient(
    180deg,
    rgba(255,244,235,.95) 0%,
    rgba(255,237,213,.72) 38%,
    rgba(255,250,245,.95) 100%
  );
  border-top:1px solid rgba(249,115,22,.28);
}

/* =========================
   FULL-WIDTH PAGE SECTIONS
========================= */
.dfy-sales-hero-v2,
.dfy-sales-section-v2,
.dfy-dark-band,
.dfy-problem-block,
.dfy-full-image-block,
.dfy-value-section-v2,
.dfy-guarantee-v2,
.dfy-final-cta-v2{
  width:100%;
  max-width:none;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
  border-bottom:1px solid rgba(249,115,22,.22);
}

/* Page spacing */
.dfy-sales-section-v2,
.dfy-problem-block,
.dfy-value-section-v2,
.dfy-guarantee-v2,
.dfy-final-cta-v2{
  padding:52px 42px;
}

/* Inner readable width without creating card containers */
.dfy-section-copy,
.dfy-hero-copy-v2,
.dfy-dark-band > *,
.dfy-final-cta-v2 > *,
.dfy-guarantee-v2 > div,
.dfy-value-section-v2 > *,
.dfy-problem-block > *{
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}

/* Remove centre-by-default feel */
.dfy-section-copy{
  text-align:left;
}

.dfy-section-copy.centre{
  text-align:center;
}

/* =========================
   TYPOGRAPHY
========================= */
.dfy-section-copy h3,
.dfy-dark-band h3,
.dfy-final-cta-v2 h3,
.dfy-guarantee-v2 h3,
.dfy-urgency-card-v2 h3{
  margin:0 0 18px;
  color:var(--text);
  font-size:clamp(30px,4vw,52px);
  line-height:1.04;
  letter-spacing:-.045em;
}

.dfy-section-copy p,
.dfy-sales-hero-v2 p,
.dfy-dark-band p,
.dfy-final-cta-v2 p,
.dfy-guarantee-v2 p,
.dfy-urgency-card-v2 p{
  margin:0 0 16px;
  color:var(--muted);
  font-size:16px;
  line-height:1.7;
}

.dfy-sales-kicker,
.dfy-section-label{
  display:inline-flex;
  width:fit-content;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
  padding:8px 14px;
  border-radius:999px;
  background:linear-gradient(135deg,#fb923c,#ea580c);
  color:#fff;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.035em;
  box-shadow:0 8px 18px rgba(249,115,22,.22);
}

.dfy-section-label{
  background:rgba(20,163,112,.10);
  color:#0f5132;
  border:1px solid rgba(20,163,112,.18);
  box-shadow:none;
}

.dfy-section-label.light{
  background:rgba(255,255,255,.16);
  color:#fff;
  border:1px solid rgba(255,255,255,.22);
}

/* =========================
   STACKED HERO
========================= */
.dfy-sales-hero-v2{
  display:block;
  padding:58px 42px 48px;
  text-align:center;
  background:
    radial-gradient(circle at 50% 0%, rgba(249,115,22,.18), transparent 35%),
    linear-gradient(180deg,rgba(255,255,255,.70),rgba(255,247,237,.78));
}

.dfy-hero-copy-v2{
  padding:0;
  text-align:center;
}

.dfy-hero-copy-v2 h2{
  max-width:980px;
  margin:0 auto 18px;
  color:var(--text);
  font-size:clamp(40px,6vw,76px);
  line-height:.98;
  letter-spacing:-.06em;
}

.dfy-sales-subhead{
  max-width:760px;
  margin:0 auto 20px !important;
  color:#0f5132 !important;
  font-size:clamp(18px,2.2vw,24px) !important;
  font-weight:900;
  line-height:1.35 !important;
}

.dfy-hero-copy-v2 > p{
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
}

.dfy-hero-checks{
  max-width:900px;
  margin:24px auto;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
}

.dfy-hero-checks span,
.dfy-trust-row span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 13px;
  border-radius:999px;
  border:1px solid rgba(20,163,112,.16);
  background:rgba(20,163,112,.08);
  color:#0f5132;
  font-size:12px;
  font-weight:850;
}

.dfy-sales-main-cta{
  width:100%;
  max-width:620px;
  padding:17px 26px;
  border-radius:13px;
  font-size:20px;
  font-weight:900;
  box-shadow:0 12px 28px rgba(20,163,112,.34);
}

.dfy-trust-row{
  max-width:900px;
  margin:16px auto 0;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
}

/* Hero image now full-width underneath hero copy */
.dfy-hero-visual-v2{
  max-width:980px;
  margin:34px auto 0;
  padding:0;
}

.dfy-image-placeholder{
  min-height:340px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:28px;
  border:1px dashed rgba(249,115,22,.45);
  border-radius:22px;
  background:
    linear-gradient(135deg,rgba(249,115,22,.16),rgba(20,163,112,.06)),
    rgba(255,255,255,.74);
}

.dfy-image-placeholder strong{
  display:block;
  margin-bottom:8px;
  color:#9a3412;
  font-size:24px;
}

.dfy-image-placeholder span{
  display:block;
  max-width:680px;
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
}

/* =========================
   PROCESS ROW
========================= */
.dfy-process-row{
  max-width:980px;
  margin:28px auto 0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}

.dfy-process-step{
  padding:16px;
  border:1px solid rgba(20,163,112,.16);
  border-radius:16px;
  background:rgba(255,255,255,.58);
  text-align:center;
}

.dfy-process-step strong{
  display:inline-grid;
  place-items:center;
  width:32px;
  height:32px;
  margin-bottom:8px;
  border-radius:50%;
  background:var(--success);
  color:#fff;
}

.dfy-process-step span{
  display:block;
  color:var(--text);
  font-weight:900;
}

/* =========================
   FEATURE SPLIT - STILL STACKED
========================= */
.dfy-feature-split{
  display:block;
}

.dfy-flow-card{
  max-width:980px;
  margin:28px auto 0;
  display:grid;
  gap:14px;
}

.dfy-flow-line{
  padding:20px;
  border-radius:16px;
  border:1px solid rgba(0,0,0,.08);
}

.dfy-flow-line strong,
.dfy-flow-line span{
  display:block;
}

.dfy-flow-line strong{
  margin-bottom:8px;
  font-size:17px;
}

.dfy-flow-line span{
  color:var(--text);
  font-weight:850;
  line-height:1.45;
}

.dfy-flow-line.bad{
  border-color:rgba(239,68,68,.20);
  background:rgba(239,68,68,.055);
}

.dfy-flow-line.good{
  border-color:rgba(20,163,112,.22);
  background:rgba(20,163,112,.07);
}

/* =========================
   PATH GRID
========================= */
.dfy-path-grid{
  max-width:980px;
  margin:28px auto 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

.dfy-path-card{
  padding:20px;
  border:1px solid rgba(249,115,22,.18);
  border-radius:18px;
  background:rgba(255,255,255,.58);
}

.dfy-path-card span{
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  margin-bottom:12px;
  border-radius:50%;
  background:rgba(249,115,22,.14);
  color:#ea580c;
  font-weight:900;
}

.dfy-path-card h4{
  margin:0 0 8px;
  font-size:19px;
}

.dfy-path-card p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}

.dfy-path-card.featured{
  border-color:rgba(20,163,112,.24);
  background:rgba(20,163,112,.07);
}

.dfy-path-card.featured span{
  background:var(--success);
  color:#fff;
}

/* =========================
   DARK BAND
========================= */
.dfy-dark-band{
  padding:58px 42px;
  background:linear-gradient(135deg,#064e3b,#0f8f68);
  color:#fff;
  text-align:center;
}

.dfy-dark-band h3,
.dfy-dark-band p{
  color:#fff;
}

.dfy-dark-band p{
  max-width:820px;
  opacity:.94;
}

.dfy-learn-grid{
  max-width:980px;
  margin:28px auto 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

.dfy-learn-grid div{
  padding:20px;

  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  background:rgba(255,255,255,.11);
}

.dfy-learn-grid strong{
  display:block;
  margin-bottom:8px;
  font-size:22px;
}

.dfy-learn-grid p{
  margin:0;
}

/* =========================
   HOUSE + COMPARE
========================= */
.dfy-house-box{
  max-width:980px;
  margin:28px auto;
  padding:24px;
  border:1px solid rgba(249,115,22,.24);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(249,115,22,.12),rgba(255,255,255,.70));
  text-align:left;
}

.dfy-house-box h4{
  margin:0 0 10px;
  font-size:24px;
  line-height:1.2;
}

.dfy-house-box p{
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.65;
}

.dfy-compare-grid-v2{
  max-width:980px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.dfy-compare-card-v2{
  padding:24px;
  border-radius:18px;
  border:1px solid rgba(0,0,0,.08);
}

.dfy-compare-card-v2 h4{
  margin:0 0 14px;
  font-size:24px;
}

.dfy-compare-card-v2 ul{
  list-style:none;
  display:grid;
  gap:10px;
  padding:0;
  margin:0;
}

.dfy-compare-card-v2 li{
  display:flex;
  gap:8px;
  color:var(--text);
  font-size:14px;
  line-height:1.45;
}

.dfy-compare-card-v2.diy{
  background:rgba(239,68,68,.045);
  border-color:rgba(239,68,68,.18);
}

.dfy-compare-card-v2.diy li::before{
  content:"x";
}

.dfy-compare-card-v2.dfy{
  background:rgba(20,163,112,.07);
  border-color:rgba(20,163,112,.22);
}

.dfy-compare-card-v2.dfy li::before{
  content:"+";
}

/* =========================
   PROBLEM
========================= */
.dfy-problem-block{
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,247,237,.78));
}

.dfy-problem-block h4{
  margin:0 0 18px;
  color:#ea580c;
  font-size:clamp(24px,3vw,36px);
  line-height:1.12;
}

.dfy-problem-grid{
  max-width:980px;
  margin:28px auto 0;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}

.dfy-problem-grid span{
  padding:13px 15px;
  border:1px solid rgba(239,68,68,.16);
  border-radius:12px;
  background:rgba(239,68,68,.045);
  color:var(--text);
  font-weight:850;
  font-size:14px;
}

/* =========================
   FULL IMAGE BLOCK
========================= */
.dfy-full-image-block{
  padding:52px 42px;
}

/* =========================
   BUILD GRID
========================= */
.dfy-build-grid-v2{
  max-width:980px;
  margin:28px auto 0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

.dfy-build-card-v2{
  padding:18px;
  border:1px solid rgba(249,115,22,.18);
  border-radius:18px;
  background:rgba(255,255,255,.62);
  box-shadow:0 8px 20px rgba(0,0,0,.025);
}

.dfy-build-card-v2 span{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  margin-bottom:10px;
  border-radius:50%;
  background:rgba(20,163,112,.10);
  border:1px solid rgba(20,163,112,.16);
  font-size:20px;
}

.dfy-build-card-v2 h4{
  margin:0 0 8px;
  font-size:18px;
}

.dfy-build-card-v2 p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}

/* =========================
   TIMELINE
========================= */
.dfy-timeline-v2{
  max-width:980px;
  margin:28px auto 0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

.dfy-timeline-v2 div{
  padding:18px;
  border:1px solid rgba(20,163,112,.18);
  border-radius:18px;
  background:rgba(20,163,112,.06);
}

.dfy-timeline-v2 strong{
  display:inline-flex;
  margin-bottom:10px;
  padding:5px 10px;
  border-radius:999px;
  background:var(--success);
  color:#fff;
  font-size:12px;
}

.dfy-timeline-v2 h4{
  margin:0 0 8px;
}

.dfy-timeline-v2 p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}

/* =========================
   URGENCY GRID
========================= */
.dfy-urgency-grid-v2{
  width:100%;
  max-width:none;
  margin:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  border-bottom:1px solid rgba(249,115,22,.22);
}

.dfy-urgency-card-v2{
  padding:52px 42px;
  border:0;
  border-radius:0;
  box-shadow:none;
}

.dfy-urgency-card-v2.orange{
  background:linear-gradient(135deg,rgba(249,115,22,.16),rgba(255,247,237,.92));
}

.dfy-urgency-card-v2.green{
  background:linear-gradient(135deg,rgba(20,163,112,.12),rgba(255,255,255,.88));
}

.dfy-urgency-card-v2 small{
  color:var(--muted);
  font-size:12px;
}

/* =========================
   VALUE STACK
========================= */
.dfy-value-section-v2{
  padding:58px 42px;
}

.dfy-value-layout-v2{
  max-width:980px;
  margin:28px auto 0;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:18px;
}

.dfy-value-list-v2{
  display:grid;
  gap:10px;
}

.dfy-value-list-v2 div{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:13px 15px;
  border:1px solid rgba(249,115,22,.18);
  border-radius:12px;
  background:rgba(255,255,255,.68);
}

.dfy-value-list-v2 span{
  color:var(--text);
  font-weight:850;
  font-size:14px;
}

.dfy-value-list-v2 strong{
  color:#ea580c;
  white-space:nowrap;
}

.dfy-price-box-v2{
  padding:26px;
  border:1px solid rgba(249,115,22,.35);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(249,115,22,.16),rgba(255,255,255,.90));
  text-align:center;
  display:grid;
  justify-items:center;
  align-content:center;
  gap:8px;
}

.dfy-price-box-v2 span{
  color:var(--muted);
  font-weight:850;
  text-transform:uppercase;
  font-size:12px;
}

.dfy-price-box-v2 s{
  color:var(--muted);
  font-size:24px;
  font-weight:900;
}

.dfy-price-box-v2 strong{
  color:var(--brand);
  font-size:56px;
  line-height:1;
  font-weight:950;
}

.dfy-price-box-v2 p{
  margin:0 0 10px;
  color:var(--text);
  font-weight:900;
}

/* =========================
   TESTIMONIALS
========================= */
.dfy-testimonial-grid-v2{
  max-width:980px;
  margin:28px auto 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

.dfy-testimonial-v2{
  padding:20px;
  border:1px solid rgba(249,115,22,.18);
  border-radius:18px;
  background:rgba(255,255,255,.70);
}

.dfy-testimonial-v2 .stars{
  margin-bottom:8px;
  color:#f59e0b;
  letter-spacing:1px;
}

.dfy-testimonial-v2 p{
  margin:0 0 10px;
  color:var(--text);
  font-size:14px;
  line-height:1.5;
  font-style:italic;
}

.dfy-testimonial-v2 strong{
  color:#0f5132;
  font-size:13px;
}

/* =========================
   GUARANTEE
========================= */
.dfy-guarantee-v2{
  padding:58px 42px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:22px;
  align-items:center;
  background:linear-gradient(135deg,rgba(20,163,112,.10),rgba(255,255,255,.84));
}

.dfy-guarantee-badge-v2{
  width:92px;
  height:92px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(20,163,112,.10);
  border:1px solid rgba(20,163,112,.22);
  font-size:42px;
}

/* =========================
   FAQ
========================= */
.dfy-faq-list-v2{
  max-width:860px;
  margin:28px auto 0;
  display:grid;
  gap:10px;
}

.dfy-faq-list-v2 details{
  border:1px solid rgba(249,115,22,.18);
  border-radius:14px;
  background:rgba(255,255,255,.72);
  overflow:hidden;
}

.dfy-faq-list-v2 summary{
  cursor:pointer;
  padding:15px 16px;
  color:var(--text);
  font-weight:900;
}

.dfy-faq-list-v2 p{
  margin:0;
  padding:0 16px 16px;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}

/* =========================
   FINAL CTA
========================= */
.dfy-final-cta-v2{
  padding:62px 42px;
  text-align:center;
  background:
    radial-gradient(circle at 50% 0%, rgba(20,163,112,.14), transparent 40%),
    linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,247,237,.86));
  border-bottom:0;
}

.dfy-final-cta-v2 p{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}

.dfy-final-cta-v2 small{
  display:block;
  margin-top:12px;
  color:var(--muted);
  font-size:12px;
}

/* =========================
   MOBILE
========================= */
@media (max-width:760px){
  .dfy-sales-hero-v2,
  .dfy-sales-section-v2,
  .dfy-dark-band,
  .dfy-problem-block,
  .dfy-full-image-block,
  .dfy-value-section-v2,
  .dfy-guarantee-v2,
  .dfy-final-cta-v2,
  .dfy-urgency-card-v2{
    padding:34px 16px;
  }

  .dfy-hero-copy-v2 h2{
    font-size:38px;
  }

  .dfy-sales-main-cta{
    font-size:16px;
  }

  .dfy-hero-checks span,
  .dfy-trust-row span{
    width:100%;
    border-radius:12px;
  }

  .dfy-process-row,
  .dfy-path-grid,
  .dfy-learn-grid,
  .dfy-compare-grid-v2,
  .dfy-problem-grid,
  .dfy-build-grid-v2,
  .dfy-timeline-v2,
  .dfy-value-layout-v2,
  .dfy-testimonial-grid-v2,
  .dfy-guarantee-v2,
  .dfy-urgency-grid-v2{
    grid-template-columns:1fr;
  }

  .dfy-value-list-v2 div{
    flex-direction:column;
    text-align:center;
    gap:4px;
  }

  .dfy-price-box-v2 strong{
    font-size:42px;
  }

  .dfy-guarantee-badge-v2{
    margin:0 auto;
  }

  .dfy-guarantee-v2{
    text-align:center;
  }

  .dfy-image-placeholder{
    min-height:220px;
  }
}

/* =========================
   RESPONSIVE
========================= */
@media (min-width:700px){
  .dfy-benefits{
    grid-template-columns:repeat(4,1fr);
    gap:0;
  }

  .dfy-benefit{
    border-right:1px solid rgba(249,115,22,.25);
  }

  .dfy-benefit:last-child{
    border-right:none;
  }
}

@media (min-width:720px){
  .dfy-checklist-grid{
    grid-template-columns:1fr 1fr;
  }

  .dfy-compare{
    grid-template-columns:1fr 1fr;
  }

  .dfy-sales-stat-grid{
    grid-template-columns:repeat(4,1fr);
  }
}

@media (min-width:760px){
  .dfy-sales-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media (min-width:860px){
  .dfy-card-inner{
    grid-template-columns:minmax(280px,420px) 1fr;
    align-items:stretch;
  }

  .dfy-card-media{
    border-right:1px solid rgba(249,115,22,.25);
    border-bottom:1px solid rgba(255,122,24,0.48);
    aspect-ratio:auto;
    height:100%;
    min-height:100%;
  }

  .dfy-card-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
  }

  .dfy-card-body{
    padding:20px;
  }
}

@media (max-width:859.98px){
  .dfy-card-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .dfy-pill{
    margin-top:0;
  }
}

@media (max-width:760px){
  .dfy-expanded-proof{
    padding:14px 12px 16px;
  }

  .dfy-expanded-proof.dfy-proof-static{
    padding:0;
  }

  .dfy-review-strip{
    grid-template-columns:1fr;
  }
}

@media (max-width:720px){
  .dfy-price-row .price{
    font-size:38px;
  }
}

@media (max-width:640px){
  .dfy-urgency{
    max-width:calc(100% - 24px);
    padding:6px 10px;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:11px;
  }

  .dfy-price-label{
    font-size:18px;
  }

  .dfy-price-main .dfy-value{
    max-width:none;
  }

  .dfy-offer-box{
    padding:32px 14px 20px;
  }

  .dfy-price-stack{
    max-width:none;
  }

  .dfy-guarantee-full{
    align-items:flex-start;
  }

  .dfy-offer-box .btn,
  .dfy-offer-box .dfy-cta-full{
    font-size:17px;
  }

  .dfy-price-line{
    flex-direction:column;
    gap:4px;
  }

  .dfy-price-line .old-price{
    margin-left:0;
  }

  .dfy-sales-page{
    padding:24px 14px 34px;
  }

  .dfy-sales-hero,
  .dfy-sales-section{
    padding:28px 0;
  }

  .dfy-sales-highlight,
  .dfy-sales-cta-box{
    padding:28px 16px;
  }

  .dfy-sales-price .new-price{
    font-size:38px;
  }

  .dfy-sales-cta{
    width:100%;
    min-width:0;
  }

  .value-card-row{
    grid-template-columns:1fr auto;
    gap:10px;
    padding:11px 12px;
  }

  .value-card-left span:last-child{
    font-size:14px;
  }

  .value-card-price{
    font-size:18px;
  }

  .value-summary-row{
    font-size:16px;
  }


  .value-special-label{
    font-size:16px;
  }

  .value-special-price{
    font-size:30px;
  }
}
.training-home-card{
  overflow:hidden;
}

.training-home-body{
  background:linear-gradient(135deg,rgba(20,163,112,.035),#fff 50%,rgba(249,115,22,.025));
}

.training-hero-panel{
  position:relative;
  display:block;
  min-height:520px;
  margin-bottom:24px;
  padding:34px 28px 124px;
  border:1px solid rgba(20,163,112,.16);
  border-radius:20px;
  background:linear-gradient(135deg,#fff,rgba(20,163,112,.045));
  overflow:hidden;
}

/* Full hero background image - pushed right so it does not fight the headline */
.training-hero-bg{
  position:absolute;
  top:0;
  right:0px;
  bottom:0;
  left:38%;
  z-index:0;
  pointer-events:none;
  opacity:1;
}

.training-hero-bg img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center right;
}

/* Protects headline readability on the left */
.training-hero-panel::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,1) 0%,
    rgba(255,255,255,.99) 34%,
    rgba(255,255,255,.94) 46%,
    rgba(255,255,255,.70) 56%,
    rgba(255,255,255,.22) 68%,
    rgba(255,255,255,0) 82%
  );
}

/* HERO COPY */
.training-hero-copy{
  position:relative;
  z-index:2;
  max-width:560px;
}

.training-start-kicker{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  margin-bottom:18px;
  padding:8px 15px;
  border-radius:999px;
  background:#eefaf5;
  color:var(--brand);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  border:1px solid rgba(20,163,112,.18);
}
.training-start-kicker{
  animation:startKickerPulse 2.4s ease-in-out infinite;
}

.dfy-training-start-kicker{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  margin-bottom:8px;
  padding:8px 15px;
  border-radius:999px;
  background:#eefaf5;
  color:var(--brand);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  border:1px solid rgba(20,163,112,.18);
}
.dfy-training-start-kicker{
  animation:startKickerPulse 2.4s ease-in-out infinite;
}

.training-courses-intro{
  margin:28px 0 14px;
}

.training-courses-intro .section-divider{
  margin:0 0 8px;
}

.training-courses-helper{
  margin:0 0 14px;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.45;
  text-align:center;
}

.training-courses-helper strong{
  color:var(--brand);
  font-weight:800;
}

@keyframes startKickerPulse{
  0%,100%{
    transform:scale(1);
    box-shadow:0 0 0 0 rgba(20,163,112,.18);
  }

  50%{
    transform:scale(1.025);
    box-shadow:0 0 0 6px rgba(20,163,112,.08);
  }
}

@media (prefers-reduced-motion:reduce){
  .training-start-kicker{
    animation:none;
  }
}

.training-hero-copy h3{
  max-width:560px;
  margin:0 0 16px;
  font-size:clamp(34px,3.7vw,50px);
  line-height:1.08;
  letter-spacing:-.05em;
}

.training-hero-copy h3 span{
  color:var(--brand);
}

.training-hero-copy p{
  max-width:530px;
  margin:0;
  color:var(--muted);
  font-size:16px;
  line-height:1.55;
}

/* BENEFIT PILLS - keep only if reused later */
.training-benefits{
  display:flex;
  flex-wrap:nowrap;
  gap:12px;
  margin-top:26px;
}

.training-benefits span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:11px 16px;
  border-radius:12px;
  background:#fff;
  border:1px solid rgba(20,163,112,.18);
  box-shadow:0 6px 16px rgba(0,0,0,.045);
  font-size:14px;
  font-weight:800;
  white-space:nowrap;
}

.training-benefits strong{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--brand);
  color:#fff;
  font-size:13px;
  line-height:1;
  flex-shrink:0;
}

/* Old image-frame structure no longer needed */
.training-hero-visual,
.training-hero-image-frame{
  display:none;
}


/* ROADMAP */
.training-roadmap{
  position:absolute;
  left:28px;
  right:28px;
  bottom:24px;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0, 1fr) 26px minmax(0, 1fr) 26px minmax(0, 1fr);
  align-items:stretch;
  gap:8px;
}

.training-roadmap-step{
  position:relative;
  min-width:0;
  padding:15px 16px;
  border-radius:16px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(20,163,112,.18);
  box-shadow:0 8px 18px rgba(0,0,0,.04);
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  gap:12px;
  text-align:left;
  overflow:hidden;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.roadmap-icon{
  width:40px;
  height:40px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#eefaf5;
  color:var(--brand);
  border:1px solid rgba(20,163,112,.16);
  flex-shrink:0;
}

.roadmap-icon svg{
  width:18px;
  height:18px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.roadmap-icon svg path:first-child:last-child{
  fill:currentColor;
  stroke:none;
}

.roadmap-copy{
  min-width:0;
}

.roadmap-copy small{
  display:block;
  margin-bottom:5px;
  color:var(--brand);
  font-size:14px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
  line-height:1.1;
}

.roadmap-copy strong{
  display:block;
  color:var(--text);
  font-size:14px;
  font-weight:850;
  line-height:1.25;
}

.roadmap-copy p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}

.roadmap-arrow{
  align-self:center;
  justify-self:center;
  width:24px;
  height:24px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--brand-2);
  color:#fff;
  box-shadow:0 6px 14px rgba(20,163,112,.18);
  position:static;
  transform:none;
  z-index:1;
  pointer-events:none;
}

.roadmap-arrow svg{
  width:15px;
  height:15px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* MODULE CARDS */
.module-with-image{
  grid-template-columns:auto 210px minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
}

.core-ribbon{
  align-self:start;
  margin-top:12px;
  position:relative;
  width:32px;
  height:42px;
  border-radius:9px 9px 3px 3px;
  background:linear-gradient(180deg,var(--brand-2),var(--brand));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:15px;
  box-shadow:0 6px 14px rgba(20,163,112,.16);
}

.core-ribbon::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-8px;
  width:0;
  height:0;
  margin:auto;
  border-left:16px solid transparent;
  border-right:16px solid transparent;
  border-top:8px solid var(--brand);
}

.core-start-module{
  background:linear-gradient(180deg,#fcfffd,#f7fbf8);
  border:1px solid #39c46a;
  border-radius:22px;
  padding:18px;
  box-shadow:
    0 8px 24px rgba(20,163,112,.055),
    inset 0 1px 0 rgba(255,255,255,.85);
}

.module-thumb{
  width:210px;
  aspect-ratio:16 / 8.4;
  border-radius:10px;
  overflow:hidden;
  background:var(--panel-2);
  border:1px solid var(--accent);
  flex-shrink:0;
  display:block;
}

.module-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  border-radius:10px;
}

.core-module-content{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.module-progress-wrap{
  margin-top:10px;
  display:grid;
  gap:5px;
  justify-items:start;
}

.module-progress-bar{
  width:min(520px,100%);
  height:7px;
  border-radius:999px;
  background:#dfe7e4;
  overflow:hidden;
}

.module-progress-bar span{
  display:block;
  height:100%;
  border-radius:999px;
  background:var(--brand);
}

.module-progress-wrap small{
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}

.training-status-row{
  margin-top:18px;
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  width:100%;
}

.training-unlocked-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:9px 14px;
  border-radius:14px;
  background:#eefaf5;
  color:var(--brand);
  border:1px solid rgba(20,163,112,.18);
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
  flex-shrink:0;
}

.training-divider{
  width:1px;
  height:32px;
  background:rgba(20,163,112,.18);
  flex-shrink:0;
}

.training-progress-text{
  color:var(--muted);
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
  flex-shrink:0;
}

.training-status-row .module-progress-bar{
  width:auto;
  max-width:220px;
  flex:1;
  min-width:160px;
  margin-top:0;
}

.training-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}

.training-btn .play-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  font-size:11px;
  line-height:1;
  transform:translateX(1px);
}

.core-start-module .btn{
  min-width:160px;
  text-align:center;
}

.module-action-group{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.module-action-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  transform:translateY(11px);
}

.module-meta-time{
  text-align:center;
  font-size:12px;
  font-weight:700;
  color:var(--muted);
  opacity:.9;
  white-space:nowrap;
}

.training-home-card .modules{
  display:grid;
  gap:12px;
}

/* UPDATES PREVIEW */
.updates-preview-card{
  padding:0;
  background:#fff;
  border:1px solid var(--accent);
  border-radius:18px;
  box-shadow:var(--shadow-1);
  overflow:hidden;
}

.updates-dropdown{
  border:none;
  padding:0;
  background:#fff;
}

.updates-dropdown summary{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:16px;
  padding:16px 22px;
  cursor:pointer;
  list-style:none;
}

.updates-dropdown summary::-webkit-details-marker{
  display:none;
}

.updates-preview-icon{
  width:46px;
  height:46px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--brand);
  background:#eefaf5;
  border:1px solid rgba(20,163,112,.16);
}

.updates-preview-copy h2{
  margin:0 0 2px;
  color:var(--text);
  font-size:18px;
  line-height:1.2;
}

.updates-preview-copy p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.45;
  max-width:620px;
}

.updates-view-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 13px;
  border-radius:10px;
  color:var(--brand);
  background:#fff;
  border:1px solid var(--accent);
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}

.updates-dropdown[open] .updates-view-btn{
  background:#eefaf5;
}

.updates-dropdown-body{
  padding:0 22px 18px;
  border-top:1px solid var(--accent);
}

.updates-dropdown-body .updates-list{
  padding-top:14px;
}

/* RESPONSIVE */
@media (max-width:980px){
  .training-hero-panel{
    min-height:auto;
    padding:30px 24px 24px;
  }

  .training-hero-bg{
    left:38%;
    right:-80px;
    opacity:.34;
  }

  .training-hero-bg img{
    object-position:center right;
  }

  .training-hero-panel::before{
    background:linear-gradient(
      90deg,
      rgba(255,255,255,.99) 0%,
      rgba(255,255,255,.96) 48%,
      rgba(255,255,255,.78) 66%,
      rgba(255,255,255,.34) 100%
    );
  }

  .training-hero-copy{
    max-width:none;
  }

  .training-hero-copy h3{
    max-width:720px;
  }

  .training-hero-copy p{
    max-width:680px;
  }

  .training-roadmap{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    width:100%;
    max-width:100%;
    margin-top:28px;
    grid-template-columns:minmax(0, 1fr) 26px minmax(0, 1fr) 26px minmax(0, 1fr);
  }
}

@media (max-width:860px){
  .training-hero-panel{
    padding:24px 22px;
  }

  .training-hero-copy h3{
    font-size:34px;
  }
}

@media (max-width:760px){
  .updates-dropdown summary{
    grid-template-columns:1fr;
    text-align:left;
  }

  .updates-view-btn{
    width:100%;
  }

  .training-hero-bg{
    left:0;
    right:0;
    opacity:.20;
  }

  .training-roadmap{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:22px;
  }

  .roadmap-arrow{
    display:none;
  }
}

@media (max-width:640px){
  .training-hero-panel{
    padding:20px;
  }

  .training-hero-copy h3{
    font-size:34px;
  }

  .training-hero-copy p{
    font-size:15px;
  }

  .training-roadmap{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:22px;
    padding-right:0;
  }

  .training-roadmap-step{
    padding:13px 14px;
    border-radius:14px;
  }

  .roadmap-icon{
    width:36px;
    height:36px;
  }

  .roadmap-icon svg{
    width:16px;
    height:16px;
  }

  .roadmap-copy small{
    font-size:14px;
  }

  .roadmap-copy strong{
    font-size:13px;
  }

  .roadmap-copy p{
    font-size:12px;
  }

  .roadmap-arrow{
    display:none;
  }

  .module-with-image{
    grid-template-columns:auto 1fr;
  }

  .module-thumb{
    grid-column:1 / -1;
    width:100%;
    max-width:none;
    aspect-ratio:16 / 8.4;
    border-radius:10px;
    overflow:hidden;
  }

  .module-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    border-radius:10px;
  }

  .module-action-group{
    grid-column:1 / -1;
    width:100%;
  }

  .training-status-row{
    gap:10px;
    flex-wrap:wrap;
  }

  .training-divider{
    display:none;
  }

  .training-status-row .module-progress-bar{
    flex-basis:100%;
    min-width:100%;
    max-width:none;
  }

  .module-action-inner{
    width:100%;
    gap:8px;
  }

  .module-action-inner .btn{
    width:100%;
    min-width:0;
  }
}

/* =========================
   DFY CHECKLIST ALIGNMENT FIX
========================= */
.dfy-card-body .dfy-checklist-grid{
  width:100%;
  max-width:560px;
  margin:18px auto 26px;
  justify-self:center;
}

.dfy-card-body .dfy-checklist-grid li{
  align-items:center;
  gap:10px;
}

.dfy-card-body .dfy-checklist-grid .check{
  margin-right:0;
}

/* =========================
   DFY EXPAND SALES PAGE - TRUE FULL WIDTH OVERRIDE
   Add this at the VERY BOTTOM of your CSS file
========================= */

/* Make the expanded sales page use the full available width */
.dfy-card .card-expand .dfy-stack-intro{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  background:linear-gradient(
    180deg,
    rgba(255,244,235,.95) 0%,
    rgba(255,237,213,.72) 38%,
    rgba(255,250,245,.95) 100%
  ) !important;
}

/* Remove section containers */
.dfy-card .card-expand .dfy-sales-hero-v2,
.dfy-card .card-expand .dfy-sales-section-v2,
.dfy-card .card-expand .dfy-dark-band,
.dfy-card .card-expand .dfy-problem-block,
.dfy-card .card-expand .dfy-full-image-block,
.dfy-card .card-expand .dfy-value-section-v2,
.dfy-card .card-expand .dfy-guarantee-v2,
.dfy-card .card-expand .dfy-final-cta-v2{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  border-radius:0 !important;
  border-left:0 !important;
  border-right:0 !important;
  box-shadow:none !important;
}

/* Hero section full-width */
.dfy-card .card-expand .dfy-sales-hero-v2{
  display:block !important;
  padding:60px 48px 52px !important;
  text-align:center !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(249,115,22,.18), transparent 38%),
    linear-gradient(180deg,rgba(255,255,255,.70),rgba(255,247,237,.78)) !important;
}

/* Remove the inner hero container effect */
.dfy-card .card-expand .dfy-hero-copy-v2{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  text-align:center !important;
}

/* Keep text readable without making a visible container */
.dfy-card .card-expand .dfy-hero-copy-v2 h2,
.dfy-card .card-expand .dfy-hero-copy-v2 .dfy-sales-subhead,
.dfy-card .card-expand .dfy-hero-copy-v2 > p{
  max-width:980px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Hero image stacked full-width underneath */
.dfy-card .card-expand .dfy-hero-visual-v2{
  width:100% !important;
  max-width:980px !important;
  margin:36px auto 0 !important;
  padding:0 !important;
}

/* Image placeholder is allowed to have shape */
.dfy-card .card-expand .dfy-image-placeholder{
  width:100% !important;
  max-width:none !important;
}

/* Make normal sections full-width but keep text readable */
.dfy-card .card-expand .dfy-sales-section-v2,
.dfy-card .card-expand .dfy-problem-block,
.dfy-card .card-expand .dfy-value-section-v2,
.dfy-card .card-expand .dfy-guarantee-v2,
.dfy-card .card-expand .dfy-final-cta-v2{
  padding:56px 48px !important;
}

/* Inner text width only, no visible box */
.dfy-card .card-expand .dfy-section-copy{
  max-width:980px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Mobile */
@media (max-width:760px){
  .dfy-card .card-expand .dfy-sales-hero-v2,
  .dfy-card .card-expand .dfy-sales-section-v2,
  .dfy-card .card-expand .dfy-problem-block,
  .dfy-card .card-expand .dfy-value-section-v2,
  .dfy-card .card-expand .dfy-guarantee-v2,
  .dfy-card .card-expand .dfy-final-cta-v2{
    padding:34px 16px !important;
  }

  .dfy-card .card-expand .dfy-hero-copy-v2 h2{
    font-size:38px !important;
  }
}

/* =========================
   DFY STORY SALES PAGE
   Full-width, stacked, softer style
========================= */
.dfy-card .card-expand .dfy-sales-story{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  background:linear-gradient(
    180deg,
    #f8fffb 0%,
    #fff7ed 32%,
    #ffffff 100%
  ) !important;
  border-top:1px solid rgba(249,115,22,.25);
}

/* Reset old section containers */
.dfy-sales-story section{
  width:100%;
  max-width:none;
  margin:0;
  border-radius:0;
  box-shadow:none;
  border-bottom:1px solid rgba(20,163,112,.12);
}

/* Shared spacing */
.dfy-story-hero,
.dfy-story-section,
.dfy-story-image-section,
.dfy-story-band,
.dfy-final-story{
  padding:58px 46px;
}

.dfy-story-inner,
.dfy-story-narrow{
  max-width:920px;
  margin:0 auto;
}

/* Typography */
.dfy-story-kicker,
.dfy-story-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:fit-content;
  margin-bottom:18px;
  padding:9px 15px;
  border-radius:999px;
  background:linear-gradient(135deg,#fb923c,#ea580c);
  color:#fff;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.035em;
  box-shadow:0 8px 18px rgba(249,115,22,.22);
}

.dfy-story-label{
  background:rgba(20,163,112,.10);
  border:1px solid rgba(20,163,112,.18);
  color:#0f5132;
  box-shadow:none;
}

.dfy-story-hero{
    background: radial-gradient(circle at 50% 0%, rgba(20,163,112,.10), transparent 42%),
    linear-gradient(180deg,rgba(255,255,255,.95),rgba(248,255,251,.92));
}

.dfy-story-hero h2,
.dfy-story-section h3,
.dfy-story-band h3,
.dfy-final-story h3{
  margin:0 0 18px;
  color:var(--text);
  font-size:clamp(34px,5vw,68px);
  line-height:1;
  letter-spacing:-.055em;
}

.dfy-story-section h3,
.dfy-story-band h3,
.dfy-final-story h3{
  font-size:clamp(30px,4vw,52px);
  line-height:1.05;
}

.dfy-story-hero h2 span{
  color:var(--brand);
}

.dfy-story-subhead{
  max-width:780px;
  margin:0 auto 24px;
  color:#0f5132;
  font-size:clamp(18px,2.2vw,24px);
  font-weight:900;
  line-height:1.35;
}

.dfy-story-copy{
  max-width:820px;
  margin:0 auto;
}

.dfy-story-copy p,
.dfy-story-section p,
.dfy-story-band p,
.dfy-final-story p{
    margin: 0 0 16px;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.72;
    text-align: left;
}

.dfy-story-punch{
  color:var(--text) !important;
  font-size:20px !important;
  font-weight:900;
  line-height:1.45 !important;
}

/* CTAs */
.dfy-story-actions{
  display:grid;
  justify-items:center;
  gap:16px;
  margin-top:28px;
}

.dfy-story-cta{
  width:100%;
  max-width:620px;
  padding:17px 26px;
  border-radius:14px;
  font-size:20px;
  font-weight:900;
  box-shadow:0 14px 32px rgba(20,163,112,.32);
}

.dfy-story-trust{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
}

.dfy-story-trust span{
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(20,163,112,.16);
  background:rgba(20,163,112,.08);
  color:#0f5132;
  font-size:12px;
  font-weight:850;
}

/* Image placeholder */
.dfy-story-image-section{
  background:linear-gradient(180deg,#ffffff,#fff7ed);
}

.dfy-story-image-placeholder{
  max-width:980px;
  min-height:340px;
  margin:0 auto;
  display:grid;
  place-items:center;
  text-align:center;
  padding:28px;
  border:1px dashed rgba(249,115,22,.45);
  border-radius:24px;
  background:
    linear-gradient(135deg,rgba(249,115,22,.14),rgba(20,163,112,.07)),
    rgba(255,255,255,.82);
}

.dfy-story-image-placeholder strong{
  display:block;
  margin-bottom:8px;
  color:#9a3412;
  font-size:24px;
}

.dfy-story-image-placeholder span{
  display:block;
  max-width:680px;
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
}

/* Method steps */
.dfy-method-steps{
  max-width:980px;
  margin:30px auto 0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

.dfy-method-steps div{
  padding:18px;
  border:1px solid rgba(20,163,112,.16);
  border-radius:18px;
  background:rgba(255,255,255,.78);
  text-align:center;
}

.dfy-method-steps span{
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  margin-bottom:10px;
  border-radius:50%;
  background:var(--success);
  color:#fff;
  font-weight:900;
}

.dfy-method-steps strong{
  display:block;
  color:var(--text);
  font-size:14px;
  line-height:1.35;
}

/* Soft sections */
.dfy-soft-green{
  background:linear-gradient(180deg,rgba(20,163,112,.06),rgba(255,255,255,.88));
}

.dfy-soft-orange{
  background:linear-gradient(180deg,rgba(249,115,22,.10),rgba(255,255,255,.88));
}

/* Flow comparison */
.dfy-flow-compare{
  max-width:920px;
  margin:30px auto 0;
  display:grid;
  gap:14px;
}

.dfy-flow-box{
  padding:20px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
}

.dfy-flow-box span{
  display:block;
  margin-bottom:8px;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

.dfy-flow-box strong{
  display:block;
  color:var(--text);
  font-size:16px;
  line-height:1.45;
}

.dfy-flow-bad{
  border-color:rgba(239,68,68,.20);
  background:rgba(239,68,68,.04);
}

.dfy-flow-good{
  border-color:rgba(20,163,112,.24);
  background:rgba(20,163,112,.07);
}

/* Dark story band */
.dfy-story-band{
  text-align:center;
  background:linear-gradient(135deg,#064e3b,#0f8f68);
  color:#fff;
}

.dfy-story-band h3,
.dfy-story-band p{
  color:#fff;
}

.dfy-learn-cards{
  max-width:980px;
  margin:30px auto 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

.dfy-learn-cards div{
  padding:20px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.12);
}

.dfy-learn-cards span{
  display:block;
  font-size:28px;
  margin-bottom:8px;
}

.dfy-learn-cards strong{
  display:block;
  color:#fff;
  font-size:22px;
  margin-bottom:8px;
}

.dfy-learn-cards p{
  margin:0;
  color:rgba(255,255,255,.88);
}

/* Compare panels */
.dfy-compare-panels{
  max-width:980px;
  margin:30px auto 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.dfy-compare-panel{
  padding:24px;
  border-radius:20px;
  border:1px solid rgba(0,0,0,.08);
}

.dfy-compare-panel h4{
  margin:0 0 14px;
  font-size:24px;
}

.dfy-compare-panel ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}

.dfy-compare-panel li{
  display:flex;
  gap:8px;
  color:var(--text);
  font-size:14px;
  line-height:1.45;
}

.dfy-compare-panel.diy{
  background:rgba(239,68,68,.045);
  border-color:rgba(239,68,68,.18);
}

.dfy-compare-panel.diy li::before{
  content:"x";
}

.dfy-compare-panel.dfy{
  background:rgba(20,163,112,.07);
  border-color:rgba(20,163,112,.22);
}

.dfy-compare-panel.dfy li::before{
  content:"+";
}

/* Problem list */
.dfy-problem-list{
  max-width:920px;
  margin:30px auto 0;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}

.dfy-problem-list span{
  padding:13px 15px;
  border-radius:14px;
  border:1px solid rgba(239,68,68,.16);
  background:rgba(239,68,68,.045);
  color:var(--text);
  font-size:14px;
  font-weight:850;
}

/* Build grid */
.dfy-build-grid-story{
  max-width:980px;
  margin:30px auto 0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

.dfy-build-grid-story div{
  padding:20px;
  border-radius:18px;
  border:1px solid rgba(20,163,112,.14);
  background:rgba(255,255,255,.78);
}

.dfy-build-grid-story span{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  margin-bottom:12px;
  border-radius:50%;
  background:rgba(20,163,112,.10);
  border:1px solid rgba(20,163,112,.18);
  font-size:22px;
}

.dfy-build-grid-story strong{
  display:block;
  margin-bottom:8px;
  color:var(--text);
  font-size:17px;
}

.dfy-build-grid-story p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}

/* Timeline */
.dfy-timeline-story{
  max-width:980px;
  margin:30px auto 0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

.dfy-timeline-story div{
  padding:18px;
  border-radius:18px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(20,163,112,.18);
}

.dfy-timeline-story strong{
  display:inline-flex;
  margin-bottom:8px;
  padding:5px 10px;
  border-radius:999px;
  background:var(--success);
  color:#fff;
  font-size:12px;
}

.dfy-timeline-story span{
  display:block;
  color:var(--text);
  font-weight:850;
}

/* Limited */
.dfy-limited-story{
  text-align:center;
  background:linear-gradient(135deg,rgba(249,115,22,.16),rgba(255,255,255,.90));
}

/* Value stack */
.dfy-value-story{
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,247,237,.86));
}

.dfy-value-wrap-story{
  max-width:980px;
  margin:30px auto 0;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:18px;
}

.dfy-value-list-story{
  display:grid;
  gap:10px;
}

.dfy-value-list-story div{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:13px 15px;
  border-radius:13px;
  border:1px solid rgba(249,115,22,.18);
  background:rgba(255,255,255,.78);
}

.dfy-value-list-story span{
  color:var(--text);
  font-weight:850;
}

.dfy-value-list-story strong{
  color:#ea580c;
  white-space:nowrap;
}

.dfy-price-story{
  padding:28px;
  border-radius:22px;
  border:1px solid rgba(249,115,22,.35);
  background:linear-gradient(135deg,rgba(249,115,22,.16),#fff);
  text-align:center;
  display:grid;
  align-content:center;
  justify-items:center;
  gap:8px;
}

.dfy-price-story span{
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

.dfy-price-story s{
  color:var(--muted);
  font-size:24px;
  font-weight:900;
}

.dfy-price-story strong{
  color:var(--brand);
  font-size:58px;
  line-height:1;
  font-weight:950;
}

.dfy-price-story p{
  margin:0 0 10px;
  color:var(--text);
  font-weight:900;
}

/* Reviews */
.dfy-reviews-story{
  max-width:980px;
  margin:30px auto 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

.dfy-reviews-story div{
  padding:20px;
  border-radius:18px;
  border:1px solid rgba(249,115,22,.16);
  background:rgba(255,255,255,.78);
}

.dfy-reviews-story span{
  display:block;
  color:#f59e0b;
  margin-bottom:8px;
  letter-spacing:1px;
}

.dfy-reviews-story p{
  margin:0 0 10px;
  color:var(--text);
  font-size:14px;
  line-height:1.5;
  font-style:italic;
}

.dfy-reviews-story strong{
  color:#0f5132;
  font-size:13px;
}

/* Guarantee */
.dfy-guarantee-story{
  text-align:center;
  background:linear-gradient(135deg,rgba(20,163,112,.10),rgba(255,255,255,.94));
}

.dfy-guarantee-icon-story{
  width:92px;
  height:92px;
  display:grid;
  place-items:center;
  margin:0 auto 20px;
  border-radius:50%;
  background:rgba(20,163,112,.10);
  border:1px solid rgba(20,163,112,.22);
  font-size:42px;
}

/* FAQ */
.dfy-faq-story{
  max-width:860px;
  margin:30px auto 0;
  display:grid;
  gap:10px;
}

.dfy-faq-story details{
  border:1px solid rgba(249,115,22,.18);
  border-radius:14px;
  background:rgba(255,255,255,.82);
  overflow:hidden;
}

.dfy-faq-story summary{
  cursor:pointer;
  padding:15px 16px;
  color:var(--text);
  font-weight:900;
}

.dfy-faq-story p{
  margin:0;
  padding:0 16px 16px;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}

/* Final CTA */
.dfy-final-story{
  text-align:center;
  background:
    radial-gradient(circle at 50% 0%, rgba(20,163,112,.14), transparent 40%),
    linear-gradient(180deg,#ffffff,#f8fffb);
}

.dfy-final-story p{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}

.dfy-final-story small{
  display:block;
  margin-top:12px;
  color:var(--muted);
  font-size:12px;
}

/* Mobile */
@media (max-width:760px){
  .dfy-story-hero,
  .dfy-story-section,
  .dfy-story-image-section,
  .dfy-story-band,
  .dfy-final-story{
    padding:38px 16px;
  }

  .dfy-story-hero h2{
    font-size:38px;
  }

  .dfy-story-cta{
    font-size:16px;
  }

  .dfy-story-trust span{
    width:100%;
    border-radius:12px;
  }

  .dfy-method-steps,
  .dfy-learn-cards,
  .dfy-compare-panels,
  .dfy-problem-list,
  .dfy-build-grid-story,
  .dfy-timeline-story,
  .dfy-value-wrap-story,
  .dfy-reviews-story{
    grid-template-columns:1fr;
  }

  .dfy-value-list-story div{
    flex-direction:column;
    text-align:center;
    gap:4px;
  }

  .dfy-price-story strong{
    font-size:42px;
  }

  .dfy-story-image-placeholder{
    min-height:220px;
  }
}

/* =========================
   DFY EXPAND AREA - REMOVE ALL ORANGE OUTER FRAME / FADE
   Place at the VERY BOTTOM of CSS
========================= */

/* Kill orange/peach background from the outer DFY section */
#dfy-upgrade,
#dfy-upgrade.card,
#dfy-upgrade.card.tinted,
#dfy-upgrade.card.tinted.stack,
#dfy-upgrade > .bd{
  background:#ffffff !important;
  background-image:none !important;
  border-left:0 !important;
  border-right:0 !important;
  box-shadow:none !important;
}

/* Kill any pseudo-element glow/fade on the outer section */
#dfy-upgrade::before,
#dfy-upgrade::after,
#dfy-upgrade.card::before,
#dfy-upgrade.card::after,
#dfy-upgrade .bd::before,
#dfy-upgrade .bd::after{
  display:none !important;
  content:none !important;
  background:none !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
}

/* Kill orange background from the DFY product card wrapper */
#dfy-upgrade .product-card,
#dfy-upgrade .product-card.dfy-card,
#dfy-upgrade .product-card.dfy-card.dfy-card-wide{
  background:#ffffff !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}

/* Kill pseudo-elements on the DFY card wrapper */
#dfy-upgrade .product-card::before,
#dfy-upgrade .product-card::after,
#dfy-upgrade .dfy-card::before,
#dfy-upgrade .dfy-card::after,
#dfy-upgrade .dfy-card-wide::before,
#dfy-upgrade .dfy-card-wide::after{
  display:none !important;
  content:none !important;
  background:none !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
}

/* Keep the TOP DFY offer card styled, but only around .dfy-card-inner */
#dfy-upgrade .product-card.dfy-card.dfy-card-wide > .dfy-card-inner{
  border:1px solid rgba(249,115,22,.35) !important;
  border-radius:16px !important;
  overflow:hidden !important;
  background:linear-gradient(
    180deg,
    rgba(249,115,22,.14),
    rgba(249,115,22,.05)
  ) !important;
  box-shadow:
    0 12px 32px rgba(0,0,0,.08),
    0 0 36px rgba(249,115,22,.10) !important;
}

/* Remove old divider/fade after top card */
#dfy-upgrade .dfy-card-inner::before,
#dfy-upgrade .dfy-card-inner::after,
#dfy-upgrade .dfy-soft-divider{
  display:none !important;
  content:none !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
}

/* Expanded page must be pure white */
#dfy-upgrade .card-expand,
#dfy-upgrade .card-expand.open,
#dfy-upgrade .card-expand > *,
#dfy-upgrade .dfy-stack-intro,
#dfy-upgrade .dfy-sales-story{
  background:#ffffff !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}

/* Sections inside expanded page */
#dfy-upgrade .dfy-sales-story section{
  background:#ffffff !important;
  background-image:none !important;
  border-left:0 !important;
  border-right:0 !important;
  border-top:0 !important;
  box-shadow:none !important;
}

/* Keep subtle horizontal separators only */
#dfy-upgrade .dfy-sales-story section{
  border-bottom:1px solid rgba(20,163,112,.10) !important;
}

/* Restore intentional special backgrounds only */
#dfy-upgrade .dfy-sales-story .dfy-story-band{
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.22), transparent 42%),
    linear-gradient(135deg, #dff7ec 0%, #bfeecf 52%, #9fe3ba 100%) !important;
}

#dfy-upgrade .dfy-sales-story .dfy-limited-story{
  background:linear-gradient(
    135deg,
    rgba(249,115,22,.08),
    #ffffff 72%
  ) !important;
}

#dfy-upgrade .dfy-sales-story .dfy-guarantee-story{
  background:linear-gradient(
    135deg,
    rgba(20,163,112,.075),
    #ffffff 72%
  ) !important;
}

/* =========================
   DFY STORY TEXT ALIGNMENT FIX
   Fixes headings centred but body copy left-aligned
========================= */

#dfy-upgrade .dfy-story-inner,
#dfy-upgrade .dfy-story-narrow{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Centre normal story paragraphs under headings */
#dfy-upgrade .dfy-story-inner p,
#dfy-upgrade .dfy-story-narrow p,
#dfy-upgrade .dfy-story-copy p{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Keep readable paragraph widths */
#dfy-upgrade .dfy-story-copy,
#dfy-upgrade .dfy-story-narrow p{
  max-width:820px !important;
}

/* But keep card/grid content left-aligned where it should be */
#dfy-upgrade .dfy-compare-panel,
#dfy-upgrade .dfy-compare-panel *,
#dfy-upgrade .dfy-build-grid-story,
#dfy-upgrade .dfy-build-grid-story *,
#dfy-upgrade .dfy-value-list-story,
#dfy-upgrade .dfy-value-list-story *,
#dfy-upgrade .dfy-faq-story,
#dfy-upgrade .dfy-faq-story *,
#dfy-upgrade .dfy-reviews-story,
#dfy-upgrade .dfy-reviews-story *{
  text-align:left !important;
}

/* Keep timeline and method steps centred */
#dfy-upgrade .dfy-method-steps,
#dfy-upgrade .dfy-method-steps *,
#dfy-upgrade .dfy-timeline-story,
#dfy-upgrade .dfy-timeline-story *,
#dfy-upgrade .dfy-learn-cards,
#dfy-upgrade .dfy-learn-cards *{
  text-align:center !important;
}

/* =========================
   DFY HERO HEADLINE WIDTH FIX
========================= */

#dfy-upgrade .dfy-story-hero h2{
  max-width:920px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
  line-height:1.03 !important;
}

/* Give the green word cleaner spacing */
#dfy-upgrade .dfy-story-hero h2 span{
  display:inline-block;
  color:var(--brand) !important;
}

/* Slightly smaller on laptop widths so it centres better */
@media (max-width:1200px){
  #dfy-upgrade .dfy-story-hero h2{
    max-width:860px !important;
    font-size:clamp(42px, 5vw, 64px) !important;
  }
}

/* Mobile */
@media (max-width:760px){
  #dfy-upgrade .dfy-story-hero h2{
    max-width:100% !important;
    font-size:38px !important;
    line-height:1.06 !important;
  }
}

/* =========================
   DFY SALES PAGE COPY ALIGNMENT
   Big headlines stay centred, supporting copy goes left
========================= */

/* Keep main section headings centred */
#dfy-upgrade .dfy-sales-story h2,
#dfy-upgrade .dfy-sales-story h3,
#dfy-upgrade .dfy-sales-story .dfy-story-label,
#dfy-upgrade .dfy-sales-story .dfy-story-kicker{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Any main copy under big headlines should be left-aligned */
#dfy-upgrade .dfy-story-copy,
#dfy-upgrade .dfy-story-narrow{
  text-align:left !important;
}

/* Paragraphs under big headlines left-aligned */
#dfy-upgrade .dfy-story-copy p,
#dfy-upgrade .dfy-story-narrow p,
#dfy-upgrade .dfy-story-section p,
#dfy-upgrade .dfy-story-band p,
#dfy-upgrade .dfy-final-story p{
  text-align:left !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Keep the text block itself centred on the page */
#dfy-upgrade .dfy-story-copy,
#dfy-upgrade .dfy-story-narrow{
  max-width:820px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Keep hero subheadline centred because it acts like a headline */
#dfy-upgrade .dfy-story-subhead{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Keep punch lines centred only if they are being used as emphasis headlines */
#dfy-upgrade .dfy-story-punch{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Keep CTA areas centred */
#dfy-upgrade .dfy-story-actions,
#dfy-upgrade .dfy-story-trust,
#dfy-upgrade .dfy-final-story,
#dfy-upgrade .dfy-final-story p,
#dfy-upgrade .dfy-limited-story,
#dfy-upgrade .dfy-guarantee-story{
  text-align:center !important;
}

/* Keep cards/grids readable */
#dfy-upgrade .dfy-method-steps *,
#dfy-upgrade .dfy-learn-cards *,
#dfy-upgrade .dfy-timeline-story *,
#dfy-upgrade .dfy-price-story *,
#dfy-upgrade .dfy-reviews-story *{
  text-align:center !important;
}

/* Keep comparison, benefits and FAQ content left aligned */
#dfy-upgrade .dfy-compare-panel,
#dfy-upgrade .dfy-compare-panel *,
#dfy-upgrade .dfy-build-grid-story,
#dfy-upgrade .dfy-build-grid-story *,
#dfy-upgrade .dfy-value-list-story,
#dfy-upgrade .dfy-value-list-story *,
#dfy-upgrade .dfy-faq-story,
#dfy-upgrade .dfy-faq-story *{
  text-align:left !important;
}

/* =========================
   DFY STORY PAGE POLISH UPGRADES
   Wider copy, VS comparison, full-width banner, stronger visuals
========================= */

/* Wider story copy but still readable */
#dfy-upgrade .dfy-story-narrow,
#dfy-upgrade .dfy-story-copy{
  max-width:900px !important;
}

/* Keep body copy left-aligned under big headings */
#dfy-upgrade .dfy-story-narrow p,
#dfy-upgrade .dfy-story-copy p{
  text-align:left !important;
  max-width:900px !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Centre the section headings/pills only */
#dfy-upgrade .dfy-story-narrow h3,
#dfy-upgrade .dfy-story-label,
#dfy-upgrade .dfy-story-kicker{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Slightly stronger body text */
#dfy-upgrade .dfy-story-section p,
#dfy-upgrade .dfy-story-copy p{
  font-size:16.5px !important;
  line-height:1.72 !important;
  color:#475569 !important;
}

/* Cleaner headline sizing to reduce ugly line breaks */
#dfy-upgrade .dfy-story-section h3,
#dfy-upgrade .dfy-story-band h3,
#dfy-upgrade .dfy-final-story h3{
  max-width:920px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  font-size:clamp(30px, 3.6vw, 48px) !important;
  line-height:1.06 !important;
  letter-spacing:-.045em !important;
}


/* =========================
   GREEN BANNER - FULL WIDTH OF WHITE PAGE ONLY
========================= */
#dfy-upgrade .dfy-story-band{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:70px clamp(18px, 5vw, 72px) !important;
  border-radius:0 !important;
  box-sizing:border-box !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.14), transparent 40%),
    linear-gradient(135deg,#064e3b,#0f8f68) !important;
}

/* Keep the content inside nicely centred */
#dfy-upgrade .dfy-story-band .dfy-story-narrow,
#dfy-upgrade .dfy-story-band .dfy-learn-cards{
  width:100%;
  max-width:1040px;
  margin-left:auto;
  margin-right:auto;
}

#dfy-upgrade .dfy-story-band .dfy-story-narrow{
  max-width:900px !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-story-band .dfy-story-narrow p{
  text-align:center !important;
  color:rgba(255,255,255,.92) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

#dfy-upgrade .dfy-learn-cards{
  max-width:980px !important;
}

/* =========================
   LEAD CAPTURE VS DFY COMPARISON
========================= */
#dfy-upgrade .dfy-lead-compare-section{
  padding-top:64px !important;
  padding-bottom:72px !important;
}

#dfy-upgrade .dfy-vs-wrap{
  max-width:1040px;
  margin:34px auto 0;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:stretch;
  gap:18px;
}

#dfy-upgrade .dfy-vs-card{
  overflow:hidden;
  border-radius:22px;
  background:#fff;
  box-shadow:0 16px 40px rgba(15,23,42,.07);
}

#dfy-upgrade .dfy-vs-card-bad{
  border:1px solid rgba(239,68,68,.22);
}

#dfy-upgrade .dfy-vs-card-good{
  border:1px solid rgba(20,163,112,.28);
}

#dfy-upgrade .dfy-vs-thumb{
  min-height:150px;
  display:grid;
  align-content:center;
  gap:8px;
  padding:24px;
  text-align:center;
}

#dfy-upgrade .dfy-vs-card-bad .dfy-vs-thumb{
  background:
    radial-gradient(circle at 50% 0%, rgba(239,68,68,.12), transparent 45%),
    linear-gradient(135deg,rgba(254,242,242,.95),rgba(255,255,255,.88));
}

#dfy-upgrade .dfy-vs-card-good .dfy-vs-thumb{
  background:
    radial-gradient(circle at 50% 0%, rgba(20,163,112,.14), transparent 45%),
    linear-gradient(135deg,rgba(236,253,245,.98),rgba(255,255,255,.88));
}

#dfy-upgrade .dfy-vs-thumb strong{
  color:var(--text);
  font-size:23px;
  font-weight:950;
  line-height:1.1;
}

#dfy-upgrade .dfy-vs-thumb span{
  color:#64748b;
  font-size:13px;
  font-weight:800;
}

#dfy-upgrade .dfy-vs-body{
  padding:24px;
}

#dfy-upgrade .dfy-vs-body h4{
  margin:0 0 10px;
  color:var(--text);
  font-size:24px;
  line-height:1.15;
  letter-spacing:-.025em;
}

#dfy-upgrade .dfy-vs-body p{
  margin:0 0 16px !important;
  color:#64748b !important;
  font-size:14.5px !important;
  line-height:1.55 !important;
  text-align:left !important;
}

#dfy-upgrade .dfy-vs-body ul{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}

#dfy-upgrade .dfy-vs-body li{
  display:flex;
  gap:8px;
  color:#0f172a;
  font-size:14px;
  line-height:1.45;
  font-weight:750;
}

#dfy-upgrade .dfy-vs-card-bad li::before{
  content:"x";
}

#dfy-upgrade .dfy-vs-card-good li::before{
  content:"+";
}

#dfy-upgrade .dfy-vs-badge{
  width:64px;
  height:64px;
  align-self:center;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,#fb923c,#ea580c);
  color:#fff;
  font-size:20px;
  font-weight:950;
  box-shadow:0 14px 28px rgba(249,115,22,.28);
  z-index:2;
}

/* =========================
   STRONGER VISUAL BREAK SECTIONS
========================= */
#dfy-upgrade .dfy-system-flow-visual,
#dfy-upgrade .dfy-package-visual{
  padding:58px clamp(18px, 5vw, 72px) !important;
  background:#fff !important;
}

#dfy-upgrade .dfy-visual-card,
#dfy-upgrade .dfy-package-card{
  max-width:1040px;
  margin:0 auto;
  padding:34px;
  border:1px dashed rgba(249,115,22,.38);
  border-radius:26px;
  background:
    radial-gradient(circle at 50% 0%, rgba(20,163,112,.075), transparent 42%),
    linear-gradient(135deg,rgba(249,115,22,.055),rgba(255,255,255,.92));
}

#dfy-upgrade .dfy-visual-card h3,
#dfy-upgrade .dfy-package-card h3{
  margin:0 0 22px;
  text-align:center;
  color:var(--text);
  font-size:clamp(26px, 3vw, 40px);
  line-height:1.08;
}

#dfy-upgrade .dfy-visual-flow{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;
  align-items:center;
  gap:10px;
}

#dfy-upgrade .dfy-visual-flow div{
  min-height:92px;
  display:grid;
  align-content:center;
  gap:4px;
  padding:14px;
  border:1px solid rgba(20,163,112,.16);
  border-radius:16px;
  background:rgba(255,255,255,.78);
  text-align:center;
}

#dfy-upgrade .dfy-visual-flow strong{
  color:var(--text);
  font-size:14px;
  font-weight:900;
}

#dfy-upgrade .dfy-visual-flow span{
  color:#64748b;
  font-size:12px;
  font-weight:700;
}

#dfy-upgrade .dfy-visual-flow b{
  color:#ea580c;
  font-size:22px;
  font-weight:950;
}

#dfy-upgrade .dfy-package-card{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:24px;
  align-items:center;
}

#dfy-upgrade .dfy-package-copy h3{
  text-align:left !important;
}

#dfy-upgrade .dfy-package-copy p{
  text-align:left !important;
  color:#64748b !important;
  font-size:16px !important;
  line-height:1.65 !important;
}

#dfy-upgrade .dfy-package-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}

#dfy-upgrade .dfy-package-grid span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:10px 12px;
  border:1px solid rgba(20,163,112,.16);
  border-radius:14px;
  background:rgba(255,255,255,.82);
  color:#0f5132;
  font-size:13px;
  font-weight:900;
  text-align:center;
}

/* =========================
   MOBILE
========================= */
@media (max-width:760px){
  #dfy-upgrade .dfy-story-narrow,
  #dfy-upgrade .dfy-story-copy{
    max-width:100% !important;
  }

  #dfy-upgrade .dfy-vs-wrap{
    grid-template-columns:1fr;
  }

  #dfy-upgrade .dfy-vs-badge{
    margin:0 auto;
  }

  #dfy-upgrade .dfy-visual-flow{
    grid-template-columns:1fr;
  }

  #dfy-upgrade .dfy-visual-flow b{
    transform:rotate(90deg);
    justify-self:center;
  }

  #dfy-upgrade .dfy-package-card{
    grid-template-columns:1fr;
    padding:24px;
  }

  #dfy-upgrade .dfy-package-copy h3,
  #dfy-upgrade .dfy-package-copy p{
    text-align:center !important;
  }

  #dfy-upgrade .dfy-package-grid{
    grid-template-columns:1fr;
  }
}

/* =========================
   DFY STORY BAND - FULL WIDTH OF WHITE PAGE ONLY
   Fixes the green banner being too narrow or too wide
========================= */

/* Reset previous full-browser bleed rules */
#dfy-upgrade .product-card.dfy-card.dfy-card-wide > .card-expand .dfy-sales-story > .dfy-story-band{
  position:static !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;

  width:100% !important;
  max-width:none !important;

  margin:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;

  border-radius:0 !important;
  box-sizing:border-box !important;

  padding:70px clamp(24px, 6vw, 90px) !important;

  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.08), transparent 44%),
    linear-gradient(135deg,#02291e,#055c42) !important;
}

/* Keep the content inside the green banner nicely centred */
#dfy-upgrade .product-card.dfy-card.dfy-card-wide > .card-expand .dfy-sales-story > .dfy-story-band > .dfy-story-narrow,
#dfy-upgrade .product-card.dfy-card.dfy-card-wide > .card-expand .dfy-sales-story > .dfy-story-band > .dfy-learn-cards{
  width:100% !important;
  max-width:1040px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Make sure the green banner text stays centred */
#dfy-upgrade .product-card.dfy-card.dfy-card-wide > .card-expand .dfy-sales-story > .dfy-story-band .dfy-story-narrow,
#dfy-upgrade .product-card.dfy-card.dfy-card-wide > .card-expand .dfy-sales-story > .dfy-story-band .dfy-story-narrow p{
  text-align:center !important;
}

/* Mobile */
@media (max-width:760px){
  #dfy-upgrade .product-card.dfy-card.dfy-card-wide > .card-expand .dfy-sales-story > .dfy-story-band{
    padding:42px 18px !important;
  }
}

/* =========================
   DFY EXPAND PAGE - MATCH WHITE PAGE WIDTH
   Replace the previous calc(100% + 40px) fix with this
========================= */

/* Let the expanded section escape the DFY product card wrapper */
#dfy-upgrade .product-card.dfy-card.dfy-card-wide{
  overflow:visible !important;
}

/* Pull the expanded sales page wider so it reaches the white page edges */
#dfy-upgrade .product-card.dfy-card.dfy-card-wide > .card-expand{
  width:calc(100% + 80px) !important;
  max-width:calc(100% + 80px) !important;
  margin-left:-40px !important;
  margin-right:-40px !important;
  padding-left:0 !important;
  padding-right:0 !important;
  overflow:hidden !important;
  background:#fff !important;
}

/* Sales story fills the corrected width */
#dfy-upgrade .product-card.dfy-card.dfy-card-wide > .card-expand .dfy-sales-story{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:#fff !important;
  overflow:hidden !important;
}

/* Banner sections now fill the corrected white-page width */
#dfy-upgrade .dfy-sales-story > .dfy-story-band,
#dfy-upgrade .dfy-sales-story > .dfy-limited-story,
#dfy-upgrade .dfy-sales-story > .dfy-guarantee-story{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:70px clamp(24px, 6vw, 90px) !important;
  border-radius:0 !important;
  box-sizing:border-box !important;
}

/* Green banner */
#dfy-upgrade .dfy-sales-story > .dfy-story-band{
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.14), transparent 40%),
    linear-gradient(135deg,#064e3b,#0f8f68) !important;
}

/* Limited availability banner */
#dfy-upgrade .dfy-sales-story > .dfy-limited-story{
  background:
    radial-gradient(circle at 18% 0%, rgba(249,115,22,.12), transparent 34%),
    linear-gradient(135deg, rgba(249,115,22,.12), #ffffff 72%) !important;
}

/* Guarantee banner */
#dfy-upgrade .dfy-sales-story > .dfy-guarantee-story{
  background:
    radial-gradient(circle at 50% 0%, rgba(20,163,112,.10), transparent 38%),
    linear-gradient(135deg, rgba(20,163,112,.09), #ffffff 74%) !important;
}

/* Keep banner content centred */
#dfy-upgrade .dfy-story-band > .dfy-story-narrow,
#dfy-upgrade .dfy-story-band > .dfy-learn-cards,
#dfy-upgrade .dfy-limited-story > .dfy-story-narrow,
#dfy-upgrade .dfy-guarantee-story > .dfy-story-narrow{
  width:100% !important;
  max-width:1040px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Mobile */
@media (max-width:760px){
  #dfy-upgrade .product-card.dfy-card.dfy-card-wide > .card-expand{
    width:calc(100% + 32px) !important;
    max-width:calc(100% + 32px) !important;
    margin-left:-16px !important;
    margin-right:-16px !important;
  }

  #dfy-upgrade .dfy-sales-story > .dfy-story-band,
  #dfy-upgrade .dfy-sales-story > .dfy-limited-story,
  #dfy-upgrade .dfy-sales-story > .dfy-guarantee-story{
    padding:42px 18px !important;
  }
}

/* =========================
   DFY EXPAND PAGE - MOBILE FULL WIDTH FIX
========================= */

@media (max-width:760px){
  #dfy-upgrade .product-card.dfy-card.dfy-card-wide > .card-expand{
    width:calc(100% + 72px) !important;
    max-width:calc(100% + 72px) !important;
    margin-left:-36px !important;
    margin-right:-36px !important;
    padding-left:0 !important;
    padding-right:0 !important;
    overflow:hidden !important;
    background:#fff !important;
  }

  #dfy-upgrade .product-card.dfy-card.dfy-card-wide > .card-expand .dfy-sales-story{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    overflow:hidden !important;
  }

  #dfy-upgrade .dfy-sales-story > .dfy-story-band,
  #dfy-upgrade .dfy-sales-story > .dfy-limited-story,
  #dfy-upgrade .dfy-sales-story > .dfy-guarantee-story{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding:42px 18px !important;
    border-radius:0 !important;
    box-sizing:border-box !important;
  }
}

/* =========================
   DFY GREEN BANNER - DARK PREMIUM GREEN
========================= */

#dfy-upgrade .product-card.dfy-card.dfy-card-wide > .card-expand .dfy-sales-story > section.dfy-story-band,
#dfy-upgrade .dfy-sales-story > section.dfy-story-band,
#dfy-upgrade .dfy-story-band,
#dfy-upgrade .dfy-learn-build-section{
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.10), transparent 42%),
    radial-gradient(circle at 10% 90%, rgba(20,163,112,.14), transparent 40%),
    linear-gradient(135deg, #033728 0%, #075c43 52%, #087a56 100%) !important;
  color:#ffffff !important;
}

/* Keep main banner text white */
#dfy-upgrade .dfy-story-band h3,
#dfy-upgrade .dfy-story-band .dfy-story-narrow p{
  color:#ffffff !important;
}

/* Keep card text dark green for readability */
#dfy-upgrade .dfy-story-band .dfy-learn-cards strong,
#dfy-upgrade .dfy-story-band .dfy-learn-cards p{
  color:#064e3b !important;
}

/* Softer cards inside the green banner */
#dfy-upgrade .dfy-story-band .dfy-learn-cards div{
  background:rgba(255,255,255,.76) !important;
  border:1px solid rgba(255,255,255,.34) !important;
  box-shadow:0 10px 24px rgba(15,23,42,.08) !important;
}

/* Keep the orange kicker white */
#dfy-upgrade .dfy-story-band .dfy-story-kicker{
  color:#ffffff !important;
}

/* =========================
   DFY HERO HEADLINE - FINAL 2 LINE FIX
========================= */

/* Let only the hero inner go wider */
#dfy-upgrade .dfy-story-hero .dfy-story-inner{
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

/* Keep headline centred and two-line */
#dfy-upgrade .dfy-story-hero .dfy-hero-headline{
  max-width:1180px !important;
  margin:0 auto 18px !important;
  text-align:center !important;
  color:#0c0f0d !important;
  font-size:clamp(42px, 5.2vw, 72px) !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
}

/* Force each line to behave properly */
#dfy-upgrade .dfy-story-hero .dfy-hero-headline .dfy-headline-line{
  display:block !important;
  color:#0c0f0d !important;
  white-space:nowrap !important;
  text-align:center !important;
}

/* Only Subscribers should be green */
#dfy-upgrade .dfy-story-hero .dfy-hero-headline em{
  color:var(--brand) !important;
  font-style:normal !important;
}

/* Keep the copy block narrower than the headline */
#dfy-upgrade .dfy-story-hero .dfy-story-subhead,
#dfy-upgrade .dfy-story-hero .dfy-story-copy{
  max-width:900px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Mobile safety */
@media (max-width:760px){
  #dfy-upgrade .dfy-story-hero .dfy-hero-headline{
    font-size:38px !important;
    line-height:1.06 !important;
  }

  #dfy-upgrade .dfy-story-hero .dfy-hero-headline .dfy-headline-line{
    white-space:normal !important;
  }
}

/* =========================
   DFY HERO / STORY OPEN CLEANUP
========================= */

#dfy-upgrade .dfy-story-hero{
  padding:64px 24px 72px !important;
  background:#fff !important;
}

#dfy-upgrade .dfy-story-hero .dfy-story-inner{
  max-width:1080px !important;
  margin:0 auto !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-story-hero .dfy-story-kicker{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto 24px !important;
  padding:9px 18px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#fb923c,#ea580c) !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.02em !important;
  box-shadow:0 12px 24px rgba(249,115,22,.24) !important;
}

#dfy-upgrade .dfy-hero-headline{
  max-width:1080px !important;
  margin:0 auto 18px !important;
  text-align:center !important;
  color:#070b0a !important;
  font-size:clamp(42px, 5.4vw, 74px) !important;
  line-height:1.02 !important;
  letter-spacing:-.06em !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-hero-headline .dfy-headline-line{
  display:block !important;
  color:#070b0a !important;
  white-space:nowrap !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-hero-headline em{
  color:var(--brand) !important;
  font-style:normal !important;
}

#dfy-upgrade .dfy-story-subhead{
  max-width:820px !important;
  margin:0 auto 44px !important;
  color:#475569 !important;
  text-align:center !important;
  font-size:clamp(20px, 2.4vw, 28px) !important;
  line-height:1.32 !important;
  font-weight:900 !important;
}

#dfy-upgrade .dfy-story-copy{
  max-width:840px !important;
  margin:0 auto !important;
  text-align:left !important;
}

#dfy-upgrade .dfy-story-copy p{
  margin:0 0 14px !important;
  color:#334155 !important;
  text-align:left !important;
  font-size:16.5px !important;
  line-height:1.72 !important;
}

#dfy-upgrade .dfy-story-copy strong{
  color:#111827 !important;
  font-weight:900 !important;
}

#dfy-upgrade .dfy-story-question{
  margin:26px 0 22px !important;
  color:#0f172a !important;
  font-size:21px !important;
  line-height:1.35 !important;
  font-weight:950 !important;
  font-style:italic !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-story-list{
  max-width:780px !important;
  margin:18px 0 22px !important;
  padding:0 !important;
  list-style:none !important;
  display:grid !important;
  gap:10px !important;
}

#dfy-upgrade .dfy-story-list li{
  position:relative !important;
  padding-left:30px !important;
  color:#334155 !important;
  font-size:16px !important;
  line-height:1.48 !important;
  font-weight:750 !important;
  text-align:left !important;
}

#dfy-upgrade .dfy-story-list-good li::before{
  content:"+" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
}

#dfy-upgrade .dfy-story-list-bad{
  margin-top:12px !important;
  margin-bottom:26px !important;
}

#dfy-upgrade .dfy-story-list-bad li::before{
  content:"x" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
}

#dfy-upgrade .dfy-story-image-section{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  margin:46px auto 34px !important;
  padding:0 !important;
}

#dfy-upgrade .dfy-story-image-section img{
  width:min(760px, 100%) !important;
  height:auto !important;
  display:block !important;
}

#dfy-upgrade .dfy-story-hero .dfy-price-stack{
  width:100% !important;
  max-width:680px !important;
  margin:0 auto !important;
  display:grid !important;
  gap:14px !important;
}

#dfy-upgrade .dfy-story-hero .dfy-price-main-full,
#dfy-upgrade .dfy-story-hero .dfy-cta-full,
#dfy-upgrade .dfy-story-hero .dfy-guarantee-full{
  width:100% !important;
  max-width:680px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

#dfy-upgrade .dfy-story-hero .dfy-cta-full{
  min-height:58px !important;
  font-size:18px !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-story-hero .dfy-guarantee-full{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  text-align:left !important;
}

/* Mobile */
@media (max-width:760px){
  #dfy-upgrade .dfy-story-hero{
    padding:44px 18px 54px !important;
  }

  #dfy-upgrade .dfy-hero-headline{
    font-size:38px !important;
    line-height:1.06 !important;
    letter-spacing:-.045em !important;
  }

  #dfy-upgrade .dfy-hero-headline .dfy-headline-line{
    white-space:normal !important;
  }

  #dfy-upgrade .dfy-story-subhead{
    font-size:20px !important;
    margin-bottom:34px !important;
  }

  #dfy-upgrade .dfy-story-copy p{
    font-size:15.5px !important;
  }

  #dfy-upgrade .dfy-story-question{
    font-size:18px !important;
    text-align:left !important;
  }

  #dfy-upgrade .dfy-story-image-section{
    margin:34px auto 28px !important;
  }

  #dfy-upgrade .dfy-story-hero .dfy-guarantee-full{
    text-align:center !important;
    flex-direction:column !important;
  }
}

/* =========================
   DFY HERO / STORY OPEN FINAL
========================= */

#dfy-upgrade .dfy-story-hero{
  padding:64px 24px 72px !important;
  background:#fff !important;
}

#dfy-upgrade .dfy-story-hero .dfy-story-inner{
  width:100% !important;
  max-width:1080px !important;
  margin:0 auto !important;
  text-align:center !important;
}

/* Kicker */
#dfy-upgrade .dfy-story-hero .dfy-story-kicker{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto 24px !important;
  padding:9px 18px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#fb923c,#ea580c) !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.02em !important;
  box-shadow:0 12px 24px rgba(249,115,22,.24) !important;
}

/* Headline */
#dfy-upgrade .dfy-hero-headline{
  max-width:1080px !important;
  margin:0 auto 18px !important;
  text-align:center !important;
  color:#070b0a !important;
  font-size:clamp(42px, 5.4vw, 74px) !important;
  line-height:1.02 !important;
  letter-spacing:-.06em !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-hero-headline .dfy-headline-line{
  display:block !important;
  color:#070b0a !important;
  white-space:nowrap !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-hero-headline em{
  color:var(--brand) !important;
  font-style:normal !important;
}

/* Subheadline */
#dfy-upgrade .dfy-story-subhead{
  max-width:840px !important;
  margin:0 auto 44px !important;
  color:#475569 !important;
  text-align:center !important;
  font-size:clamp(20px, 2.4vw, 28px) !important;
  line-height:1.32 !important;
  font-weight:900 !important;
}

/* Story copy */
#dfy-upgrade .dfy-story-copy{
  max-width:840px !important;
  margin:0 auto !important;
  text-align:left !important;
}

#dfy-upgrade .dfy-story-copy p{
  margin:0 0 14px !important;
  color:#334155 !important;
  text-align:left !important;
  font-size:16.5px !important;
  line-height:1.72 !important;
}

#dfy-upgrade .dfy-story-copy strong{
  color:#111827 !important;
  font-weight:900 !important;
}

#dfy-upgrade .dfy-story-question{
  margin:26px 0 22px !important;
  color:#0f172a !important;
  font-size:21px !important;
  line-height:1.35 !important;
  font-weight:950 !important;
  font-style:italic !important;
  text-align:center !important;
}

/* Green and red story lists */
#dfy-upgrade .dfy-story-list{
  max-width:780px !important;
  margin:18px 0 22px !important;
  padding:0 !important;
  list-style:none !important;
  display:grid !important;
  gap:10px !important;
}

#dfy-upgrade .dfy-story-list li{
  position:relative !important;
  padding-left:30px !important;
  color:#334155 !important;
  font-size:16px !important;
  line-height:1.48 !important;
  font-weight:750 !important;
  text-align:left !important;
}

#dfy-upgrade .dfy-story-list-good li::before{
  content:"+" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
}

#dfy-upgrade .dfy-story-list-bad{
  margin-top:12px !important;
  margin-bottom:26px !important;
}

#dfy-upgrade .dfy-story-list-bad li::before{
  content:"x" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
}

/* =========================
   HERO SUMMARY / OFFER CARD
========================= */

#dfy-upgrade .dfy-hero-summary-card{
  width:100% !important;
  max-width:900px !important;
  margin:46px auto 0 !important;
  padding:34px 34px 30px !important;
  border:1px solid rgba(249,115,22,.24) !important;
  border-radius:22px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(249,115,22,.07), transparent 44%),
    linear-gradient(135deg, rgba(255,247,237,.96), rgba(255,255,255,.98)) !important;
  box-shadow:0 18px 42px rgba(15,23,42,.06) !important;
  box-sizing:border-box !important;
}

#dfy-upgrade .dfy-hero-summary-copy{
  max-width:760px !important;
  margin:0 auto 26px !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-summary-kicker{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto 14px !important;
  padding:7px 14px !important;
  border-radius:999px !important;
  background:rgba(20,163,112,.10) !important;
  border:1px solid rgba(20,163,112,.20) !important;
  color:#08734f !important;
  font-size:11px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.05em !important;
}

#dfy-upgrade .dfy-hero-summary-copy h3{
  max-width:760px !important;
  margin:0 auto 14px !important;
  color:#0f172a !important;
  text-align:center !important;
  font-size:clamp(26px, 3vw, 38px) !important;
  line-height:1.08 !important;
  letter-spacing:-.045em !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-hero-summary-copy p{
  max-width:700px !important;
  margin:0 auto !important;
  color:#475569 !important;
  font-size:16.5px !important;
  line-height:1.65 !important;
  text-align:center !important;
}

/* Summary checklist */
#dfy-upgrade .dfy-summary-checklist{
  max-width:700px !important;
  margin:0 auto 34px !important;
  padding-left:42px !important;
  padding-right:0 !important;
  list-style:none !important;
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:13px 44px !important;
}

#dfy-upgrade .dfy-summary-checklist li{
  position:relative !important;
  padding-left:32px !important;
  color:#0f172a !important;
  font-size:15px !important;
  line-height:1.4 !important;
  font-weight:850 !important;
  text-align:left !important;
}

#dfy-upgrade .dfy-summary-checklist li::before{
  content:"+" !important;
  position:absolute !important;
  left:0 !important;
  top:-1px !important;
  width:22px !important;
  height:22px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:#14a370 !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
}

/* =========================
   OFFER STACK INSIDE SUMMARY CARD
========================= */

#dfy-upgrade .dfy-hero-summary-card .dfy-hero-offer-stack{
  width:100% !important;
  max-width:720px !important;
  margin:0 auto !important;
  padding:22px 18px 18px !important;
  border:1px solid rgba(249,115,22,.24) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.82) !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

/* Hero summary urgency pill only - sits inside the card and still pulses */
#dfy-upgrade .dfy-hero-summary-card .dfy-hero-offer-stack > .dfy-urgency{
  position:static !important;
  transform:none !important;
  margin:0 auto 18px !important;
  width:max-content !important;
  max-width:100% !important;
  z-index:2 !important;
  animation:dfyHeroUrgencyPulse 1.8s ease-in-out infinite !important;
}

/* Hero summary pill pulse - no translate so it does not jump */
@keyframes dfyHeroUrgencyPulse{
  0%, 100%{
    transform:scale(1);
    box-shadow:0 8px 18px rgba(249,115,22,.28);
  }

  50%{
    transform:scale(1.045);
    box-shadow:0 12px 28px rgba(249,115,22,.42);
  }
}

/* Restore main DFY card urgency pill position and pulse */
#dfy-upgrade .dfy-card-wide .dfy-offer-box > .dfy-urgency{
  position:absolute !important;
  top:0 !important;
  left:50% !important;
  transform:translate(-50%, -50%) !important;
  margin:0 !important;
  z-index:5 !important;
  animation:dfyMainUrgencyPulse 1.8s ease-in-out infinite !important;
}

/* Main card pulse keeps its translate position */
@keyframes dfyMainUrgencyPulse{
  0%, 100%{
    transform:translate(-50%, -50%) scale(1);
    box-shadow:0 8px 18px rgba(249,115,22,.28);
  }

  50%{
    transform:translate(-50%, -50%) scale(1.045);
    box-shadow:0 12px 28px rgba(249,115,22,.42);
  }
}

#dfy-upgrade .dfy-hero-summary-card .dfy-price-stack{
  width:100% !important;
  max-width:640px !important;
  margin:0 auto !important;
  display:grid !important;
  gap:14px !important;
}

#dfy-upgrade .dfy-hero-summary-card .dfy-price-main-full,
#dfy-upgrade .dfy-hero-summary-card .dfy-cta-full,
#dfy-upgrade .dfy-hero-summary-card .dfy-guarantee-full{
  width:100% !important;
  max-width:640px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Price box */
#dfy-upgrade .dfy-hero-summary-card .dfy-price-main-full{
  padding:22px 24px !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.84) !important;
}

/* CTA */
#dfy-upgrade .dfy-hero-summary-card .dfy-cta-full{
  min-height:58px !important;
  font-size:18px !important;
  font-weight:950 !important;
}

/* Guarantee */
#dfy-upgrade .dfy-hero-summary-card .dfy-guarantee-full{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  text-align:left !important;
}

#dfy-upgrade .dfy-hero-summary-card .dfy-guarantee-full span{
  flex:0 0 auto !important;
}

/* =========================
   MOBILE
========================= */

@media (max-width:760px){
  #dfy-upgrade .dfy-story-hero{
    padding:44px 18px 54px !important;
  }

  #dfy-upgrade .dfy-story-hero .dfy-story-inner{
    max-width:100% !important;
  }

  #dfy-upgrade .dfy-hero-headline{
    font-size:38px !important;
    line-height:1.06 !important;
    letter-spacing:-.045em !important;
  }

  #dfy-upgrade .dfy-hero-headline .dfy-headline-line{
    white-space:normal !important;
  }

  #dfy-upgrade .dfy-story-subhead{
    font-size:20px !important;
    margin-bottom:34px !important;
  }

  #dfy-upgrade .dfy-story-copy p{
    font-size:15.5px !important;
  }

  #dfy-upgrade .dfy-story-question{
    font-size:18px !important;
    text-align:left !important;
  }

  #dfy-upgrade .dfy-hero-summary-card{
    margin:36px auto 0 !important;
    padding:22px 18px 20px !important;
    border-radius:18px !important;
  }

  #dfy-upgrade .dfy-hero-summary-copy{
    margin-bottom:22px !important;
  }

  #dfy-upgrade .dfy-hero-summary-copy h3{
    font-size:26px !important;
    line-height:1.08 !important;
  }

  #dfy-upgrade .dfy-hero-summary-copy p{
    text-align:left !important;
    font-size:15.5px !important;
  }

  #dfy-upgrade .dfy-summary-checklist{
    max-width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-bottom:28px !important;
  }

  #dfy-upgrade .dfy-summary-checklist li{
    font-size:14.5px !important;
  }

  #dfy-upgrade .dfy-hero-summary-card .dfy-hero-offer-stack{
    padding:18px 14px 18px !important;
  }

  #dfy-upgrade .dfy-hero-summary-card .dfy-hero-offer-stack > .dfy-urgency{
    margin:0 auto 16px !important;
    width:100% !important;
    max-width:100% !important;
    white-space:normal !important;
    text-align:center !important;
  }

  #dfy-upgrade .dfy-hero-summary-card .dfy-guarantee-full{
    text-align:center !important;
    flex-direction:column !important;
  }
}

/* =========================
   DFY MOBILE CTA FIX - SEPARATE TOP CARD + HERO CARD
========================= */

@media (max-width:760px){

  /* Reset ALL DFY CTAs to a safe mobile base */
  #dfy-upgrade .dfy-cta-full{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    text-align:center !important;
    line-height:1.15 !important;
    padding:16px 12px !important;
    white-space:normal !important;
    overflow:visible !important;
  }

  /* TOP / MAIN DFY CARD CTA */
  #dfy-upgrade .dfy-card-inner .dfy-cta-full{
    font-size:14px !important;
    letter-spacing:-.01em !important;
    white-space:normal !important;
  }

  /* HERO SUMMARY / SALES PAGE CTA */
  #dfy-upgrade .dfy-hero-summary-card .dfy-cta-full{
    font-size:13.5px !important;
    letter-spacing:-.025em !important;
    white-space:nowrap !important;
    padding-left:8px !important;
    padding-right:8px !important;
  }
}

/* =========================
   DFY SIMPLE METHOD SECTION
========================= */

#dfy-upgrade .dfy-simple-method-section{
  padding:72px 24px !important;
  background:#fff !important;
  border-top:1px solid rgba(20,163,112,.10) !important;
}

#dfy-upgrade .dfy-simple-method-section .dfy-story-narrow{
  max-width:860px !important;
  margin:0 auto 38px !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-simple-method-section .dfy-story-label{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto 18px !important;
  padding:8px 16px !important;
  border-radius:999px !important;
  background:rgba(20,163,112,.10) !important;
  border:1px solid rgba(20,163,112,.20) !important;
  color:#08734f !important;
  font-size:12px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}

#dfy-upgrade .dfy-simple-method-section h3{
  max-width:860px !important;
  margin:0 auto 18px !important;
  color:#070b0a !important;
  font-size:clamp(32px, 4vw, 54px) !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
  font-weight:950 !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-simple-method-section p{
  max-width:780px !important;
  margin:0 auto 16px !important;
  color:#334155 !important;
  font-size:17px !important;
  line-height:1.7 !important;
}

#dfy-upgrade .dfy-simple-method-section .dfy-section-lead{
  font-size:18px !important;
  color:#475569 !important;
}

#dfy-upgrade .dfy-section-punch{
  max-width:760px !important;
  margin:22px auto !important;
  color:#0f172a !important;
  font-size:22px !important;
  line-height:1.35 !important;
  font-weight:950 !important;
  text-align:center !important;
}

/* Method step cards */
#dfy-upgrade .dfy-method-steps{
  width:100% !important;
  max-width:1040px !important;
  margin:38px auto 54px !important;
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:16px !important;
}

#dfy-upgrade .dfy-method-step{
  padding:22px 18px !important;
  border:1px solid rgba(20,163,112,.18) !important;
  border-radius:18px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(20,163,112,.07), transparent 44%),
    #ffffff !important;
  box-shadow:0 14px 32px rgba(15,23,42,.045) !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-method-step span{
  width:38px !important;
  height:38px !important;
  display:grid !important;
  place-items:center !important;
  margin:0 auto 14px !important;
  border-radius:999px !important;
  background:#14a370 !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-method-step strong{
  display:block !important;
  margin:0 0 10px !important;
  color:#0f172a !important;
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-method-step p{
  margin:0 auto !important;
  color:#475569 !important;
  font-size:14px !important;
  line-height:1.55 !important;
}

/* Upgrade / comparison card */
#dfy-upgrade .dfy-method-shift-card{
  width:100% !important;
  max-width:960px !important;
  margin:0 auto !important;
  padding:34px 30px 32px !important;
  border:1px solid rgba(249,115,22,.24) !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(249,115,22,.08), transparent 42%),
    linear-gradient(135deg, rgba(255,247,237,.98), rgba(255,255,255,.98)) !important;
  box-shadow:0 18px 42px rgba(15,23,42,.06) !important;
  box-sizing:border-box !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-shift-kicker{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto 14px !important;
  padding:8px 16px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#fb923c,#ea580c) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.03em !important;
  box-shadow:0 10px 22px rgba(249,115,22,.22) !important;
}

#dfy-upgrade .dfy-method-shift-card h3{
  max-width:760px !important;
  font-size:clamp(30px, 3.4vw, 46px) !important;
  margin-bottom:18px !important;
}

#dfy-upgrade .dfy-traffic-compare{
  max-width:860px !important;
  margin:30px auto !important;
  display:grid !important;
  grid-template-columns:1fr auto 1fr !important;
  align-items:stretch !important;
  gap:16px !important;
}

#dfy-upgrade .dfy-traffic-box{
  padding:22px 20px !important;
  border-radius:18px !important;
  text-align:left !important;
  box-sizing:border-box !important;
}

#dfy-upgrade .dfy-traffic-box strong{
  display:block !important;
  margin:0 0 10px !important;
  color:#0f172a !important;
  font-size:17px !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-traffic-box p{
  margin:0 !important;
  font-size:15px !important;
  line-height:1.6 !important;
  color:#334155 !important;
}

#dfy-upgrade .dfy-traffic-box-bad{
  background:rgba(254,242,242,.82) !important;
  border:1px solid rgba(239,68,68,.20) !important;
}

#dfy-upgrade .dfy-traffic-box-bad strong::before{
  content:"x ";
}

#dfy-upgrade .dfy-traffic-box-good{
  background:rgba(236,253,245,.86) !important;
  border:1px solid rgba(20,163,112,.22) !important;
}

#dfy-upgrade .dfy-traffic-box-good strong::before{
  content:"+ ";
}

#dfy-upgrade .dfy-traffic-vs{
  width:46px !important;
  height:46px !important;
  align-self:center !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:#0f172a !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:950 !important;
  box-shadow:0 10px 24px rgba(15,23,42,.18) !important;
}

/* Mobile */
@media (max-width:760px){
  #dfy-upgrade .dfy-simple-method-section{
    padding:54px 18px !important;
  }

  #dfy-upgrade .dfy-simple-method-section h3{
    font-size:34px !important;
    line-height:1.06 !important;
  }

  #dfy-upgrade .dfy-simple-method-section p{
    font-size:15.8px !important;
    text-align:left !important;
  }

  #dfy-upgrade .dfy-section-punch{
    font-size:19px !important;
    text-align:center !important;
  }

  #dfy-upgrade .dfy-method-steps{
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin:30px auto 42px !important;
  }

  #dfy-upgrade .dfy-method-step{
    text-align:left !important;
    display:grid !important;
    grid-template-columns:auto 1fr !important;
    column-gap:14px !important;
    align-items:start !important;
  }

  #dfy-upgrade .dfy-method-step span{
    margin:0 !important;
    grid-row:1 / span 2 !important;
  }

  #dfy-upgrade .dfy-method-step strong,
  #dfy-upgrade .dfy-method-step p{
    text-align:left !important;
  }

  #dfy-upgrade .dfy-method-shift-card{
    padding:26px 18px 24px !important;
    border-radius:20px !important;
  }

  #dfy-upgrade .dfy-traffic-compare{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  #dfy-upgrade .dfy-traffic-vs{
    margin:0 auto !important;
  }
}

/* =========================
   DFY SECTION 2 - MOVE COPY FURTHER LEFT
========================= */

#dfy-upgrade .dfy-simple-method-section .dfy-story-narrow{
  max-width:920px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:left !important;
}

/* Keep label centred */
#dfy-upgrade .dfy-simple-method-section .dfy-story-label{
  display:inline-flex !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Keep headline centred */
#dfy-upgrade .dfy-simple-method-section .dfy-story-narrow > h3{
  max-width:760px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

/* Move paragraph copy left inside the wider wrapper */
#dfy-upgrade .dfy-simple-method-section .dfy-story-narrow p{
  max-width:840px !important;
  margin-left:0 !important;
  margin-right:auto !important;
  text-align:left !important;
}

/* Keep the punch line aligned with the story copy, not centred */
#dfy-upgrade .dfy-simple-method-section .dfy-section-punch{
  max-width:840px !important;
  margin-left:0 !important;
  margin-right:auto !important;
  text-align:left !important;
}

/* =========================
   DFY METHOD STEPS - CENTER TEXT
========================= */

#dfy-upgrade .dfy-method-steps .dfy-method-step{
  text-align:center !important;
}

#dfy-upgrade .dfy-method-steps .dfy-method-step span{
  margin-left:auto !important;
  margin-right:auto !important;
}

#dfy-upgrade .dfy-method-steps .dfy-method-step strong,
#dfy-upgrade .dfy-method-steps .dfy-method-step p{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* =========================
   DFY UPGRADE CARD - CENTER ALL TEXT
========================= */

#dfy-upgrade .dfy-method-shift-card{
  text-align:center !important;
}

#dfy-upgrade .dfy-method-shift-card h3,
#dfy-upgrade .dfy-method-shift-card p,
#dfy-upgrade .dfy-method-shift-card strong,
#dfy-upgrade .dfy-method-shift-card .dfy-section-punch{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Center text inside the comparison cards */
#dfy-upgrade .dfy-method-shift-card .dfy-traffic-box{
  text-align:center !important;
}

#dfy-upgrade .dfy-method-shift-card .dfy-traffic-box strong,
#dfy-upgrade .dfy-method-shift-card .dfy-traffic-box p{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Keep the VS badge centered */
#dfy-upgrade .dfy-method-shift-card .dfy-traffic-vs{
  margin-left:auto !important;
  margin-right:auto !important;
}

/* =========================
   GLOBAL DFY PILL CENTERING
   Applies to all small label/kicker pills
========================= */

#dfy-upgrade .dfy-story-label,
#dfy-upgrade .dfy-story-kicker,
#dfy-upgrade .dfy-shift-kicker,
#dfy-upgrade .dfy-hero-kicker,
#dfy-upgrade .dfy-card-kicker,
#dfy-upgrade .dfy-offer-kicker{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

/* Force Section 2 "The Simple Method" pill dead centre */
#dfy-upgrade .dfy-simple-method-section .dfy-story-narrow > .dfy-story-label{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:fit-content !important;
  max-width:100% !important;
  margin:0 auto 18px auto !important;
  float:none !important;
  position:relative !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
}

/* =========================
   DFY VS COMPARISON SECTION
========================= */

#dfy-upgrade .dfy-method-shift-card{
  padding-top:30px !important;
  padding-bottom:30px !important;
}

/* Main VS layout */
#dfy-upgrade .dfy-vs-wrap{
  position:relative !important;
  max-width:1000px !important;
  margin:34px auto 24px !important;
  display:grid !important;
  grid-template-columns:1fr auto 1fr !important;
  align-items:stretch !important;
  gap:34px !important;
}

/* Cards */
#dfy-upgrade .dfy-vs-card{
  position:relative !important;
  overflow:visible !important;
  min-height:410px !important;
  display:flex !important;
  flex-direction:column !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:0 18px 42px rgba(15,23,42,.07) !important;
}

#dfy-upgrade .dfy-vs-card-bad{
  border:1px solid rgba(220,38,38,.22) !important;
  background:linear-gradient(180deg, rgba(254,242,242,.72), #fff 45%) !important;
}

#dfy-upgrade .dfy-vs-card-good{
  border:1px solid rgba(20,163,112,.28) !important;
  background:linear-gradient(180deg, rgba(236,253,245,.82), #fff 45%) !important;
}

/* Big X / Tick icons */
#dfy-upgrade .dfy-vs-icon{
  position:absolute !important;
  top:-36px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:72px !important;
  height:72px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:#fff !important;
  font-size:46px !important;
  font-weight:950 !important;
  line-height:1 !important;
  z-index:5 !important;
  border-width:4px !important;
  border-style:solid !important;
}

#dfy-upgrade .dfy-vs-icon-bad{
  color:#dc2626 !important;
  border-color:rgba(220,38,38,.13) !important;
  box-shadow:0 14px 30px rgba(220,38,38,.20) !important;
}

#dfy-upgrade .dfy-vs-icon-good{
  color:#16a34a !important;
  border-color:rgba(22,163,74,.14) !important;
  box-shadow:0 14px 30px rgba(22,163,74,.20) !important;
}

/* Top card area */
#dfy-upgrade .dfy-vs-thumb{
  height:132px !important;
  padding:44px 22px 18px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  border-bottom:1px solid rgba(15,23,42,.08) !important;
}

#dfy-upgrade .dfy-vs-thumb strong{
  display:block !important;
  margin:0 0 8px !important;
  color:#0f172a !important;
  font-size:24px !important;
  line-height:1.1 !important;
  font-weight:950 !important;
  letter-spacing:-.035em !important;
}

#dfy-upgrade .dfy-vs-card-bad .dfy-vs-thumb strong{
  color:#7f1d1d !important;
}

#dfy-upgrade .dfy-vs-card-good .dfy-vs-thumb strong{
  color:#065f46 !important;
}

#dfy-upgrade .dfy-vs-thumb span{
  display:block !important;
  max-width:320px !important;
  margin:0 auto !important;
  color:#64748b !important;
  font-size:13px !important;
  line-height:1.45 !important;
  font-weight:850 !important;
}

/* Card body */
#dfy-upgrade .dfy-vs-body{
  flex:1 !important;
  padding:22px 26px 24px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-vs-body h4{
  min-height:30px !important;
  margin:0 0 12px !important;
  color:#0f172a !important;
  font-size:24px !important;
  line-height:1.12 !important;
  font-weight:950 !important;
  letter-spacing:-.035em !important;
}

#dfy-upgrade .dfy-vs-card-bad .dfy-vs-body h4{
  color:#7f1d1d !important;
}

#dfy-upgrade .dfy-vs-card-good .dfy-vs-body h4{
  color:#065f46 !important;
}

#dfy-upgrade .dfy-vs-body p{
  min-height:48px !important;
  max-width:340px !important;
  margin:0 auto 16px !important;
  color:#475569 !important;
  font-size:16px !important;
  line-height:1.5 !important;
  text-align:center !important;
}

/* Bullet lists */
#dfy-upgrade .dfy-vs-body ul{
  max-width:330px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:grid !important;
  gap:8px !important;
  list-style:none !important;
  text-align:left !important;
}

#dfy-upgrade .dfy-vs-body li{
  position:relative !important;
  padding-left:29px !important;
  color:#0f172a !important;
  font-size:14.5px !important;
  line-height:1.3 !important;
  font-weight:850 !important;
}

#dfy-upgrade .dfy-vs-body li::before{
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:18px !important;
  height:18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  color:#fff !important;
  font-size:11px !important;
  font-weight:950 !important;
  line-height:1 !important;
}

#dfy-upgrade .dfy-vs-card-bad .dfy-vs-body li::before{
  content:"x" !important;
  background:#dc2626 !important;
}

#dfy-upgrade .dfy-vs-card-good .dfy-vs-body li::before{
  content:"+" !important;
  background:#16a34a !important;
}

/* VS badge */
#dfy-upgrade .dfy-vs-badge{
  position:relative !important;
  z-index:6 !important;
  align-self:center !important;
  width:70px !important;
  height:70px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#fb923c,#f97316,#ea580c) !important;
  border:6px solid #fff !important;
  color:#fff !important;
  font-size:22px !important;
  font-weight:950 !important;
  letter-spacing:-.04em !important;
  box-shadow:0 16px 34px rgba(249,115,22,.34) !important;
}

/* Bottom punch copy */
#dfy-upgrade .dfy-method-shift-card > .dfy-section-punch{
  max-width:780px !important;
  margin:22px auto 10px !important;
  font-size:18px !important;
  line-height:1.35 !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-method-shift-card > p:last-child{
  max-width:760px !important;
  margin:0 auto !important;
  font-size:15.5px !important;
  line-height:1.6 !important;
  text-align:center !important;
}

/* =========================
   MOBILE
========================= */

@media (max-width:760px){

  #dfy-upgrade .dfy-vs-wrap{
    grid-template-columns:1fr !important;
    gap:52px !important;
    max-width:100% !important;
    margin:54px auto 28px !important;
  }

  #dfy-upgrade .dfy-vs-card{
    min-height:auto !important;
    border-radius:20px !important;
  }

  #dfy-upgrade .dfy-vs-card-bad{
    order:1 !important;
  }

  #dfy-upgrade .dfy-vs-badge{
    order:2 !important;
    width:64px !important;
    height:64px !important;
    margin:-26px auto !important;
    font-size:21px !important;
  }

  #dfy-upgrade .dfy-vs-card-good{
    order:3 !important;
  }

  #dfy-upgrade .dfy-vs-icon{
    width:68px !important;
    height:68px !important;
    top:-34px !important;
    font-size:44px !important;
  }

  #dfy-upgrade .dfy-vs-thumb{
    height:auto !important;
    min-height:126px !important;
    padding:48px 18px 22px !important;
  }

  #dfy-upgrade .dfy-vs-thumb strong{
    font-size:22px !important;
  }

  #dfy-upgrade .dfy-vs-thumb span{
    max-width:280px !important;
    font-size:12.5px !important;
  }

  #dfy-upgrade .dfy-vs-body{
    padding:24px 20px 26px !important;
  }

  #dfy-upgrade .dfy-vs-body h4{
    min-height:auto !important;
    font-size:22px !important;
  }

  #dfy-upgrade .dfy-vs-body p{
    min-height:auto !important;
    max-width:300px !important;
    font-size:15.5px !important;
  }

  #dfy-upgrade .dfy-vs-body ul{
    max-width:300px !important;
  }

  #dfy-upgrade .dfy-vs-body li{
    font-size:14px !important;
  }

  #dfy-upgrade .dfy-method-shift-card > .dfy-section-punch{
    font-size:17px !important;
  }

  #dfy-upgrade .dfy-method-shift-card > p:last-child{
    font-size:15px !important;
  }
}

/* =========================
   DIY VS DFY - STORY TEXT ALIGNMENT FIX
========================= */

/* Keep the main section intro centred where needed */
#dfy-upgrade .dfy-diy-dfy-section .dfy-section-lead,
#dfy-upgrade .dfy-diy-dfy-section .dfy-section-punch{
  text-align:center !important;
}

/* Align the main story paragraphs left */
#dfy-upgrade .dfy-diy-dfy-section > .dfy-story-narrow > p:not(.dfy-section-lead):not(.dfy-section-punch){
  text-align:left !important;
}

/* Align the after-house story paragraphs left */
#dfy-upgrade .dfy-diy-dfy-story-after p:not(.dfy-section-punch){
  text-align:left !important;
}

/* Keep the house punch centred */
#dfy-upgrade .dfy-house-story-card .dfy-house-punch,
#dfy-upgrade .dfy-house-story-card > .dfy-house-punch{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
  display:block !important;
}


/* =========================
   DFY LEARN WHILE WE BUILD SECTION
========================= */

#dfy-upgrade .dfy-learn-build-section{
  position:relative !important;
  overflow:hidden !important;
  padding:72px 28px 70px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.18), transparent 34%),
    radial-gradient(circle at 10% 90%, rgba(20,163,112,.28), transparent 38%),
    linear-gradient(135deg, #064e3b 0%, #06724f 45%, #0d9468 100%) !important;
  color:#fff !important;
  border-radius:0 !important;
}

#dfy-upgrade .dfy-learn-build-section::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.04), transparent 28%, rgba(255,255,255,.05) 70%, transparent),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.06), transparent 45%) !important;
  pointer-events:none !important;
}

/* Intro */
#dfy-upgrade .dfy-learn-build-section .dfy-story-narrow{
  position:relative !important;
  z-index:2 !important;
  max-width:980px !important;
  margin:0 auto 36px !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-learn-build-section .dfy-story-kicker{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 auto 22px !important;
  padding:10px 18px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#fb923c,#f97316,#ea580c) !important;
  color:#fff !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.035em !important;
  box-shadow:0 14px 30px rgba(249,115,22,.28) !important;
}

#dfy-upgrade .dfy-learn-build-section h3{
  max-width:900px !important;
  margin:0 auto 18px !important;
  color:#fff !important;
  font-size:clamp(38px, 5vw, 72px) !important;
  line-height:.98 !important;
  letter-spacing:-.06em !important;
  font-weight:950 !important;
  text-align:center !important;
  text-shadow:0 12px 34px rgba(0,0,0,.16) !important;
}

#dfy-upgrade .dfy-learn-build-section .dfy-story-narrow p{
  max-width:880px !important;
  margin:0 auto 20px !important;
  color:rgba(255,255,255,.94) !important;
  font-size:19px !important;
  line-height:1.65 !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-learn-build-section .dfy-story-narrow p:last-child{
  margin-bottom:0 !important;
}

/* Cards layout */
#dfy-upgrade .dfy-learn-cards{
  position:relative !important;
  z-index:2 !important;
  max-width:1100px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:22px !important;
  align-items:stretch !important;
}

/* Card */
#dfy-upgrade .dfy-learn-card{
  position:relative !important;
  min-height:270px !important;
  padding:74px 26px 30px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  border-radius:28px !important;
  background:rgba(232,243,239,.92) !important;
  border:1px solid rgba(255,255,255,.72) !important;
  box-shadow:0 8px 22px rgba(0,0,0,.06) !important;
  text-align:center !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

/* Remove old green corner decoration */
#dfy-upgrade .dfy-learn-card::after{
  display:none !important;
  content:none !important;
}

/* Top icon */
#dfy-upgrade .dfy-learn-icon{
  position:absolute !important;
  top:-34px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:96px !important;
  height:96px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.72) !important;
  color:#0f172a !important;
  font-size:42px !important;
  line-height:1 !important;
  box-shadow:0 16px 34px rgba(0,0,0,.12) !important;
  border:1px solid rgba(15,23,42,.06) !important;
  z-index:3 !important;
}

/* Card title */
#dfy-upgrade .dfy-learn-card strong{
  display:block !important;
  margin:0 !important;
  color:#064e3b !important;
  font-size:26px !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  letter-spacing:-.03em !important;
  text-align:center !important;
}

/* Thin divider + tick */
#dfy-upgrade .dfy-learn-divider{
  position:relative !important;
  display:block !important;
  width:100% !important;
  max-width:250px !important;
  height:30px !important;
  margin:16px auto 18px !important;
  background:transparent !important;
}

#dfy-upgrade .dfy-learn-divider::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:50% !important;
  height:1px !important;
  background:rgba(20,163,112,.32) !important;
  transform:translateY(-50%) !important;
}

#dfy-upgrade .dfy-learn-divider::after{
  content:"+" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%, -50%) !important;
  width:28px !important;
  height:28px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:#ecfdf5 !important;
  border:3px solid #14a370 !important;
  color:#14a370 !important;
  font-size:14px !important;
  font-weight:950 !important;
  line-height:1 !important;
}

/* Card paragraph */
#dfy-upgrade .dfy-learn-card p{
  max-width:245px !important;
  min-height:auto !important;
  margin:0 auto !important;
  color:#0f3f36 !important;
  font-size:16px !important;
  line-height:1.55 !important;
  font-weight:500 !important;
  text-align:center !important;
}

/* Bottom note */
#dfy-upgrade .dfy-learn-bottom-note{
  position:relative !important;
  z-index:2 !important;
  max-width:860px !important;
  margin:24px auto 0 !important;
  padding:16px 22px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  border-radius:18px !important;
  background:rgba(7,90,66,.32) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:0 16px 34px rgba(0,0,0,.10) !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-learn-bottom-note span{
  font-size:24px !important;
  line-height:1 !important;
  flex:0 0 auto !important;
}

#dfy-upgrade .dfy-learn-bottom-note p{
  margin:0 !important;
  color:#fff !important;
  font-size:15px !important;
  line-height:1.45 !important;
  font-weight:750 !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-learn-bottom-note strong{
  color:#bbf7d0 !important;
  font-weight:950 !important;
}

/* =========================
   MOBILE
========================= */

@media (max-width:760px){

  #dfy-upgrade .dfy-learn-build-section{
    padding:58px 18px 60px !important;
  }

  #dfy-upgrade .dfy-learn-build-section .dfy-story-narrow{
    margin-bottom:52px !important;
  }

  #dfy-upgrade .dfy-learn-build-section h3{
    font-size:42px !important;
    line-height:1.02 !important;
  }

  #dfy-upgrade .dfy-learn-build-section .dfy-story-narrow p{
    font-size:16px !important;
    line-height:1.65 !important;
  }

  #dfy-upgrade .dfy-learn-cards{
    grid-template-columns:1fr !important;
    gap:52px !important;
    margin:0 auto !important;
  }

  #dfy-upgrade .dfy-learn-card{
    min-height:auto !important;
    padding:70px 22px 28px !important;
    border-radius:24px !important;
  }

  #dfy-upgrade .dfy-learn-icon{
    width:84px !important;
    height:84px !important;
    top:-30px !important;
    font-size:36px !important;
  }

  #dfy-upgrade .dfy-learn-card strong{
    font-size:24px !important;
  }

  #dfy-upgrade .dfy-learn-divider{
    max-width:230px !important;
    margin:15px auto 17px !important;
  }

  #dfy-upgrade .dfy-learn-card p{
    max-width:280px !important;
    font-size:15px !important;
  }

  #dfy-upgrade .dfy-learn-bottom-note{
    max-width:100% !important;
    margin-top:24px !important;
    padding:14px 16px !important;
    flex-direction:column !important;
    gap:8px !important;
  }

  #dfy-upgrade .dfy-learn-bottom-note p{
    font-size:14px !important;
  }
}

/* =========================
   DIY VS DFY SECTION
========================= */

#dfy-upgrade .dfy-diy-dfy-section{
  position:relative !important;
  padding:64px 24px 70px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(20,163,112,.06), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f8fffc 100%) !important;
  border-top:1px solid rgba(20,163,112,.10) !important;
}

/* Intro / story copy */
#dfy-upgrade .dfy-diy-dfy-section .dfy-story-narrow{
  max-width:860px !important;
  margin:0 auto 30px !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-diy-dfy-section .dfy-story-label{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 auto 18px !important;
  padding:8px 16px !important;
  border-radius:999px !important;
  background:rgba(20,163,112,.10) !important;
  border:1px solid rgba(20,163,112,.20) !important;
  color:#08734f !important;
  font-size:12px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}

#dfy-upgrade .dfy-diy-dfy-section h3{
  max-width:820px !important;
  margin:0 auto 18px !important;
  color:#070b0a !important;
  font-size:clamp(38px, 4.6vw, 60px) !important;
  line-height:1.02 !important;
  letter-spacing:-.058em !important;
  font-weight:950 !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-diy-dfy-section .dfy-story-narrow > p{
  max-width:760px !important;
  margin:0 auto 15px !important;
  color:#334155 !important;
  font-size:17.5px !important;
  line-height:1.68 !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-diy-dfy-section .dfy-section-lead{
  max-width:740px !important;
  color:#1f2937 !important;
  font-size:18.5px !important;
  font-weight:750 !important;
}

#dfy-upgrade .dfy-diy-dfy-section .dfy-section-punch{
  max-width:780px !important;
  margin:18px auto !important;
  color:#0f172a !important;
  font-size:21px !important;
  line-height:1.32 !important;
  font-weight:950 !important;
  text-align:center !important;
}

/* =========================
   HOUSE STORY CARD
========================= */

#dfy-upgrade .dfy-house-story-card{
  display:block !important;
  max-width:920px !important;
  margin:26px auto 28px !important;
  padding:30px 32px 28px !important;
  border-radius:26px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(249,115,22,.12), transparent 44%),
    linear-gradient(135deg, rgba(255,247,237,.98), rgba(255,255,255,.98)) !important;
  border:1px solid rgba(249,115,22,.24) !important;
  box-shadow:0 18px 42px rgba(15,23,42,.06) !important;
  text-align:center !important;
  box-sizing:border-box !important;
}

#dfy-upgrade .dfy-house-story-card *{
  box-sizing:border-box !important;
}

#dfy-upgrade .dfy-house-kicker{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 auto 22px !important;
  padding:9px 18px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#fb923c,#f97316,#ea580c) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.035em !important;
  box-shadow:0 12px 24px rgba(249,115,22,.24) !important;
}

#dfy-upgrade .dfy-house-story-grid{
  width:100% !important;
  max-width:820px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:1fr 1px 1fr !important;
  align-items:start !important;
  justify-content:center !important;
  gap:30px !important;
}

#dfy-upgrade .dfy-house-side{
  width:100% !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-house-icon{
  width:66px !important;
  height:66px !important;
  margin:0 auto 12px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  font-size:30px !important;
  line-height:1 !important;
}

#dfy-upgrade .dfy-house-icon-diy{
  background:rgba(249,115,22,.12) !important;
}

#dfy-upgrade .dfy-house-icon-dfy{
  background:rgba(20,163,112,.12) !important;
}

#dfy-upgrade .dfy-house-side h4{
  width:100% !important;
  max-width:330px !important;
  min-height:52px !important;
  margin:0 auto 10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#0f172a !important;
  font-size:21px !important;
  line-height:1.18 !important;
  font-weight:950 !important;
  letter-spacing:-.035em !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-house-side p{
  width:100% !important;
  max-width:315px !important;
  min-height:76px !important;
  margin:0 auto !important;
  color:#334155 !important;
  font-size:15.5px !important;
  line-height:1.55 !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-house-divider{
  width:1px !important;
  height:120px !important;
  margin:0 auto !important;
  background:rgba(249,115,22,.22) !important;
}

#dfy-upgrade .dfy-house-punch{
  display:block !important;
  width:100% !important;
  max-width:760px !important;
  margin:24px auto 0 !important;
  padding:22px 0 0 !important;
  border-top:1px solid rgba(249,115,22,.18) !important;
  color:#0f172a !important;
  font-size:21px !important;
  line-height:1.3 !important;
  font-weight:950 !important;
  text-align:center !important;
}

/* Story after house card */
#dfy-upgrade .dfy-diy-dfy-story-after{
  max-width:820px !important;
  margin:0 auto 22px !important;
}

#dfy-upgrade .dfy-diy-dfy-story-after p{
  max-width:760px !important;
  font-size:16.5px !important;
  line-height:1.6 !important;
}

#dfy-upgrade .dfy-diy-dfy-story-after .dfy-section-punch{
  max-width:720px !important;
  margin:18px auto 0 !important;
  font-size:20px !important;
}

/* =========================
   DIY VS DFY COMPARISON CARDS
========================= */

#dfy-upgrade .dfy-diy-dfy-compare{
  position:relative !important;
  max-width:1080px !important;
  margin:58px auto 0 !important;
  display:grid !important;
  grid-template-columns:1fr auto 1.08fr !important;
  align-items:stretch !important;
  gap:30px !important;
}

/* Route cards */
#dfy-upgrade .dfy-route-card{
  position:relative !important;
  overflow:visible !important;
  height:100% !important;
  min-height:500px !important;
  padding:66px 30px 30px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  border-radius:26px !important;
  background:#fff !important;
  box-shadow:0 18px 42px rgba(15,23,42,.07) !important;
  text-align:center !important;
  box-sizing:border-box !important;
  transform:none !important;
}

#dfy-upgrade .dfy-route-card-diy{
  border:1px solid rgba(249,115,22,.28) !important;
  background:linear-gradient(180deg, rgba(255,247,237,.82), #fff 48%) !important;
}

#dfy-upgrade .dfy-route-card-dfy{
  border:2px solid rgba(20,163,112,.44) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(20,163,112,.11), transparent 40%),
    linear-gradient(180deg, rgba(236,253,245,.88), #fff 48%) !important;
  box-shadow:
    0 22px 52px rgba(20,163,112,.16),
    0 18px 42px rgba(15,23,42,.07) !important;
}

/* Card icons */
#dfy-upgrade .dfy-route-icon{
  position:absolute !important;
  top:-38px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:70px !important;
  height:70px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:#fff !important;
  font-size:34px !important;
  line-height:1 !important;
  border:4px solid rgba(15,23,42,.06) !important;
  box-shadow:0 16px 34px rgba(15,23,42,.12) !important;
  z-index:4 !important;
}

#dfy-upgrade .dfy-route-icon-diy{
  box-shadow:0 16px 34px rgba(249,115,22,.18) !important;
}

#dfy-upgrade .dfy-route-icon-dfy{
  box-shadow:0 18px 40px rgba(20,163,112,.24) !important;
}

/* Route tags */
#dfy-upgrade .dfy-route-tag{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto 8px !important;
  padding:8px 15px !important;
  border-radius:999px !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.035em !important;
}

#dfy-upgrade .dfy-route-card-diy .dfy-route-tag{
  color:#9a3412 !important;
  background:rgba(249,115,22,.12) !important;
  border:1px solid rgba(249,115,22,.22) !important;
}

#dfy-upgrade .dfy-route-card-dfy .dfy-route-tag{
  color:#065f46 !important;
  background:rgba(20,163,112,.13) !important;
  border:1px solid rgba(20,163,112,.24) !important;
}

/* Timeframe badges */
#dfy-upgrade .dfy-route-time{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 auto 16px !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  font-size:11.5px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.01em !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-route-time-diy{
  color:#9a3412 !important;
  background:rgba(249,115,22,.10) !important;
  border:1px solid rgba(249,115,22,.20) !important;
}

#dfy-upgrade .dfy-route-time-dfy{
  color:#065f46 !important;
  background:rgba(20,163,112,.12) !important;
  border:1px solid rgba(20,163,112,.24) !important;
}

/* Card headings */
#dfy-upgrade .dfy-route-card h4{
  margin:0 0 10px !important;
  color:#0f172a !important;
  font-size:32px !important;
  line-height:1.08 !important;
  font-weight:950 !important;
  letter-spacing:-.045em !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-route-card-diy h4{
  color:#9a3412 !important;
}

#dfy-upgrade .dfy-route-card-dfy h4{
  color:#065f46 !important;
  font-size:34px !important;
}

/* Route intro copy */
#dfy-upgrade .dfy-route-card > p{
  min-height:58px !important;
  max-width:330px !important;
  margin:0 auto 18px !important;
  color:#475569 !important;
  font-size:15.5px !important;
  line-height:1.55 !important;
  text-align:center !important;
}

/* Lists */
#dfy-upgrade .dfy-route-card ul{
  width:100% !important;
  max-width:340px !important;
  margin:0 auto 34px !important;
  padding:18px 0 0 !important;
  display:grid !important;
  gap:9px !important;
  list-style:none !important;
  text-align:left !important;
  border-top:1px solid rgba(15,23,42,.10) !important;
}

#dfy-upgrade .dfy-route-card li{
  position:relative !important;
  padding-left:33px !important;
  color:#0f172a !important;
  font-size:15px !important;
  line-height:1.38 !important;
  font-weight:850 !important;
}

#dfy-upgrade .dfy-route-card li::before{
  position:absolute !important;
  left:0 !important;
  top:1px !important;
  width:21px !important;
  height:21px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:950 !important;
  line-height:1 !important;
}

#dfy-upgrade .dfy-route-card-diy li::before{
  content:"+" !important;
  background:#f97316 !important;
}

#dfy-upgrade .dfy-route-card-dfy li::before{
  content:"+" !important;
  background:#16a34a !important;
}

/* Bottom pills */
#dfy-upgrade .dfy-route-learning-note,
#dfy-upgrade .dfy-route-recommended{
  width:100% !important;
  max-width:340px !important;
  min-height:44px !important;
  margin:0 auto !important;
  padding:10px 14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:14px !important;
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:950 !important;
  text-align:center !important;
  box-sizing:border-box !important;
}

#dfy-upgrade .dfy-route-learning-note{
  color:#9a3412 !important;
  background:rgba(249,115,22,.10) !important;
  border:1px solid rgba(249,115,22,.22) !important;
}

#dfy-upgrade .dfy-route-recommended{
  color:#065f46 !important;
  background:rgba(20,163,112,.10) !important;
  border:1px solid rgba(20,163,112,.22) !important;
}

/* Push bottom pills to the card bottom on desktop */
@media (min-width:761px){
  #dfy-upgrade .dfy-route-learning-note,
  #dfy-upgrade .dfy-route-recommended{
    margin-top:auto !important;
  }
}

/* OR badge */
#dfy-upgrade .dfy-route-vs{
  position:relative !important;
  z-index:6 !important;
  align-self:center !important;
  width:66px !important;
  height:66px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#fb923c,#f97316,#ea580c) !important;
  border:6px solid #fff !important;
  color:#fff !important;
  font-size:21px !important;
  font-weight:950 !important;
  letter-spacing:-.04em !important;
  box-shadow:0 16px 34px rgba(249,115,22,.34) !important;
}

/* Bottom takeaway */
#dfy-upgrade .dfy-route-bottom-note{
  max-width:900px !important;
  margin:28px auto 0 !important;
  padding:20px 26px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  border-radius:20px !important;
  background:
    radial-gradient(circle at 0% 50%, rgba(20,163,112,.13), transparent 34%),
    rgba(20,163,112,.08) !important;
  border:1px solid rgba(20,163,112,.18) !important;
  box-shadow:0 14px 34px rgba(15,23,42,.045) !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-route-bottom-note span{
  width:48px !important;
  height:48px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:#ecfdf5 !important;
  border:1px solid rgba(20,163,112,.22) !important;
  color:#08734f !important;
  font-size:24px !important;
  line-height:1 !important;
  flex:0 0 auto !important;
}

#dfy-upgrade .dfy-route-bottom-note p{
  margin:0 !important;
  color:#0f172a !important;
  font-size:20px !important;
  line-height:1.35 !important;
  font-weight:950 !important;
  text-align:left !important;
}

/* =========================
   MOBILE
========================= */

@media (max-width:760px){

  #dfy-upgrade .dfy-diy-dfy-section{
    padding:52px 18px 58px !important;
  }

  #dfy-upgrade .dfy-diy-dfy-section .dfy-story-narrow{
    margin-bottom:30px !important;
  }

  #dfy-upgrade .dfy-diy-dfy-section h3{
    font-size:34px !important;
    line-height:1.06 !important;
  }

  #dfy-upgrade .dfy-diy-dfy-section .dfy-story-narrow > p,
  #dfy-upgrade .dfy-house-side p{
    font-size:15.5px !important;
    line-height:1.6 !important;
  }

  #dfy-upgrade .dfy-diy-dfy-section .dfy-section-punch{
    font-size:19px !important;
  }

  #dfy-upgrade .dfy-house-story-card{
    padding:24px 18px !important;
    border-radius:22px !important;
  }

  #dfy-upgrade .dfy-house-story-grid{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }

  #dfy-upgrade .dfy-house-divider{
    width:100% !important;
    height:1px !important;
  }

  #dfy-upgrade .dfy-house-side h4{
    min-height:auto !important;
    font-size:20px !important;
  }

  #dfy-upgrade .dfy-house-side p{
    min-height:auto !important;
  }

  #dfy-upgrade .dfy-house-punch{
    font-size:20px !important;
    padding-top:20px !important;
  }

  #dfy-upgrade .dfy-diy-dfy-compare{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:34px !important;
    max-width:100% !important;
    margin:58px auto 0 !important;
  }

  #dfy-upgrade .dfy-route-card{
    width:100% !important;
    max-width:360px !important;
    min-height:auto !important;
    height:auto !important;
    padding:62px 20px 26px !important;
    border-radius:22px !important;
    transform:none !important;
  }

  #dfy-upgrade .dfy-route-card-diy{
    order:1 !important;
  }

  #dfy-upgrade .dfy-route-vs{
    order:2 !important;
    position:relative !important;
    align-self:center !important;
    width:62px !important;
    height:62px !important;
    margin:-10px auto !important;
    flex:0 0 auto !important;
    font-size:20px !important;
  }

  #dfy-upgrade .dfy-route-card-dfy{
    order:3 !important;
  }

  #dfy-upgrade .dfy-route-icon{
    width:68px !important;
    height:68px !important;
    top:-34px !important;
    font-size:32px !important;
  }

  #dfy-upgrade .dfy-route-card h4,
  #dfy-upgrade .dfy-route-card-dfy h4{
    font-size:28px !important;
    line-height:1.08 !important;
  }

  #dfy-upgrade .dfy-route-card > p{
    min-height:auto !important;
    max-width:285px !important;
    font-size:15.5px !important;
  }

  #dfy-upgrade .dfy-route-card ul{
    max-width:285px !important;
    margin-bottom:30px !important;
  }

  #dfy-upgrade .dfy-route-card li{
    font-size:14px !important;
    line-height:1.3 !important;
  }

  #dfy-upgrade .dfy-route-learning-note,
  #dfy-upgrade .dfy-route-recommended{
    max-width:285px !important;
    margin-top:0 !important;
    font-size:13.5px !important;
  }

  #dfy-upgrade .dfy-route-bottom-note{
    margin-top:28px !important;
    padding:18px 16px !important;
    flex-direction:column !important;
    gap:10px !important;
  }

  #dfy-upgrade .dfy-route-bottom-note p{
    font-size:16px !important;
    text-align:center !important;
  }
}

/* =========================
   DFY SETUP PROBLEM / AGITATION SECTION
========================= */

#dfy-upgrade .dfy-setup-problem-section{
  position:relative !important;
  padding:74px 24px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(249,115,22,.08), transparent 34%),
    linear-gradient(180deg, #fffaf5 0%, #ffffff 100%) !important;
  border-top:1px solid rgba(249,115,22,.12) !important;
  border-bottom:1px solid rgba(249,115,22,.10) !important;
}

#dfy-upgrade .dfy-setup-problem-section .dfy-story-narrow{
  max-width:860px !important;
  margin:0 auto !important;
  text-align:left !important;
}

/* Label */
#dfy-upgrade .dfy-setup-problem-section .dfy-story-label{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 auto 18px !important;
  padding:8px 16px !important;
  border-radius:999px !important;
  background:rgba(249,115,22,.10) !important;
  border:1px solid rgba(249,115,22,.22) !important;
  color:#9a3412 !important;
  font-size:12px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}

/* Heading */
#dfy-upgrade .dfy-setup-problem-section h3{
  max-width:860px !important;
  margin:0 auto 24px !important;
  color:#070b0a !important;
  font-size:clamp(36px, 4.6vw, 62px) !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
  font-weight:950 !important;
  text-align:center !important;
}

/* Story copy */
#dfy-upgrade .dfy-setup-problem-section .dfy-story-narrow > p{
  max-width:820px !important;
  margin:0 auto 18px !important;
  color:#334155 !important;
  font-size:18px !important;
  line-height:1.72 !important;
  text-align:left !important;
}

#dfy-upgrade .dfy-setup-problem-section .dfy-section-lead{
  color:#1f2937 !important;
  font-size:19px !important;
  font-weight:850 !important;
}

#dfy-upgrade .dfy-setup-problem-section .dfy-section-punch{
  max-width:820px !important;
  margin:26px auto !important;
  color:#0f172a !important;
  font-size:23px !important;
  line-height:1.35 !important;
  font-weight:950 !important;
  text-align:center !important;
}

/* =========================
   THOUGHT LOOP
========================= */

#dfy-upgrade .dfy-thought-loop{
  max-width:760px !important;
  margin:30px auto !important;
  padding:24px !important;
  display:grid !important;
  gap:12px !important;
  border-radius:22px !important;
  background:#fff !important;
  border:1px solid rgba(249,115,22,.20) !important;
  box-shadow:0 18px 42px rgba(15,23,42,.055) !important;
}

#dfy-upgrade .dfy-thought-loop span{
  display:block !important;
  padding:14px 18px !important;
  border-radius:14px !important;
  background:rgba(255,247,237,.92) !important;
  border:1px solid rgba(249,115,22,.12) !important;
  color:#7c2d12 !important;
  font-size:17px !important;
  line-height:1.4 !important;
  font-weight:950 !important;
  text-align:center !important;
}

/* =========================
   NO MORE TECH BOTTLENECKS BOX
========================= */

#dfy-upgrade .dfy-bottleneck-box{
  position:relative !important;
  max-width:760px !important;
  margin:30px auto 26px !important;
  padding:30px 24px 24px !important;
  overflow:hidden !important;
  border-radius:22px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(249,115,22,.10), transparent 36%),
    radial-gradient(circle at 100% 100%, rgba(249,115,22,.06), transparent 32%),
    linear-gradient(135deg, #fffaf5 0%, #ffffff 100%) !important;
  border:1px solid rgba(249,115,22,.22) !important;
  box-shadow:0 14px 34px rgba(15,23,42,.045) !important;
  text-align:center !important;
  box-sizing:border-box !important;
}

#dfy-upgrade .dfy-bottleneck-box::before{
  content:"" !important;
  position:absolute !important;
  inset:10px !important;
  border-radius:18px !important;
  border:1px solid rgba(249,115,22,.10) !important;
  pointer-events:none !important;
}

#dfy-upgrade .dfy-bottleneck-icon{
  position:relative !important;
  z-index:2 !important;
  width:46px !important;
  height:46px !important;
  margin:0 auto 12px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid rgba(249,115,22,.20) !important;
  color:#f97316 !important;
  font-size:24px !important;
  line-height:1 !important;
  box-shadow:0 10px 22px rgba(249,115,22,.14) !important;
}

#dfy-upgrade .dfy-bottleneck-box h4{
  position:relative !important;
  z-index:2 !important;
  max-width:620px !important;
  margin:0 auto 8px !important;
  color:#0f172a !important;
  font-size:clamp(28px, 3.2vw, 40px) !important;
  line-height:1.06 !important;
  letter-spacing:-.045em !important;
  font-weight:950 !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-bottleneck-box h4::after{
  content:"" !important;
  display:block !important;
  width:150px !important;
  height:4px !important;
  margin:10px auto 0 !important;
  border-radius:999px !important;
  background:linear-gradient(90deg, transparent, #f97316, transparent) !important;
}

#dfy-upgrade .dfy-bottleneck-subhead{
  position:relative !important;
  z-index:2 !important;
  max-width:620px !important;
  margin:14px auto 22px !important;
  color:#334155 !important;
  font-size:15.5px !important;
  line-height:1.45 !important;
  font-weight:650 !important;
  text-align:center !important;
}

/* Bottleneck grid */
#dfy-upgrade .dfy-bottleneck-grid{
  position:relative !important;
  z-index:2 !important;
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:10px !important;
  max-width:660px !important;
  margin:0 auto !important;
}

#dfy-upgrade .dfy-bottleneck-item{
  min-height:56px !important;
  padding:10px 12px !important;
  display:grid !important;
  grid-template-columns:auto 1fr !important;
  align-items:center !important;
  gap:10px !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.88) !important;
  border:1px solid rgba(249,115,22,.18) !important;
  box-shadow:0 8px 18px rgba(15,23,42,.04) !important;
  text-align:left !important;
  box-sizing:border-box !important;
}

#dfy-upgrade .dfy-bottleneck-item span{
  width:30px !important;
  height:30px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#fb923c,#f97316,#ea580c) !important;
  color:#fff !important;
  font-size:17px !important;
  font-weight:950 !important;
  line-height:1 !important;
  box-shadow:0 8px 16px rgba(249,115,22,.16) !important;
}

#dfy-upgrade .dfy-bottleneck-item strong{
  color:#0f172a !important;
  font-size:13.5px !important;
  line-height:1.25 !important;
  font-weight:950 !important;
  letter-spacing:-.01em !important;
}

/* Bottom takeaway */
#dfy-upgrade .dfy-bottleneck-bottom{
  position:relative !important;
  z-index:2 !important;
  max-width:660px !important;
  margin:20px auto 0 !important;
  padding:14px 16px !important;
  display:grid !important;
  grid-template-columns:auto 1fr !important;
  align-items:center !important;
  gap:12px !important;
  border-radius:16px !important;
  background:
    radial-gradient(circle at 0% 50%, rgba(249,115,22,.10), transparent 34%),
    rgba(255,247,237,.78) !important;
  border:1px solid rgba(249,115,22,.22) !important;
  text-align:left !important;
}

#dfy-upgrade .dfy-bottleneck-bottom span{
  width:40px !important;
  height:40px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid rgba(249,115,22,.22) !important;
  color:#f97316 !important;
  font-size:21px !important;

  line-height:1 !important;
  box-shadow:0 8px 18px rgba(249,115,22,.12) !important;
}

#dfy-upgrade .dfy-bottleneck-bottom p{
  margin:0 !important;
  color:#0f172a !important;
  font-size:15.5px !important;
  line-height:1.35 !important;
  font-weight:950 !important;
  text-align:left !important;
}

/* Optional closing punch if used outside the bottleneck box */
#dfy-upgrade .dfy-setup-problem-section .dfy-story-punch{
  max-width:820px !important;
  margin:30px auto 0 !important;
  padding:22px 26px !important;
  border-radius:20px !important;
  background:rgba(20,163,112,.08) !important;
  border:1px solid rgba(20,163,112,.16) !important;
  color:#0f172a !important;
  font-size:21px !important;
  line-height:1.45 !important;
  font-weight:950 !important;
  text-align:center !important;
}

/* =========================
   MOBILE
========================= */

@media (max-width:760px){

  #dfy-upgrade .dfy-setup-problem-section{
    padding:56px 18px !important;
  }

  #dfy-upgrade .dfy-setup-problem-section h3{
    font-size:34px !important;
    line-height:1.06 !important;
  }

  #dfy-upgrade .dfy-setup-problem-section .dfy-story-narrow > p{
    font-size:16px !important;
    line-height:1.65 !important;
  }

  #dfy-upgrade .dfy-setup-problem-section .dfy-section-lead{
    font-size:17px !important;
  }

  #dfy-upgrade .dfy-setup-problem-section .dfy-section-punch{
    font-size:19px !important;
  }

  #dfy-upgrade .dfy-thought-loop{
    padding:18px !important;
    margin:24px auto !important;
  }

  #dfy-upgrade .dfy-thought-loop span{
    padding:12px 14px !important;
    font-size:15px !important;
  }

  #dfy-upgrade .dfy-bottleneck-box{
    max-width:100% !important;
    padding:28px 14px 22px !important;
    border-radius:22px !important;
  }

  #dfy-upgrade .dfy-bottleneck-box::before{
    inset:9px !important;
    border-radius:18px !important;
  }

  #dfy-upgrade .dfy-bottleneck-icon{
    width:44px !important;
    height:44px !important;
    font-size:23px !important;
  }

  #dfy-upgrade .dfy-bottleneck-box h4{
    font-size:28px !important;
  }

  #dfy-upgrade .dfy-bottleneck-subhead{
    font-size:14.5px !important;
  }

  #dfy-upgrade .dfy-bottleneck-grid{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  #dfy-upgrade .dfy-bottleneck-item{
    min-height:54px !important;
    padding:10px 12px !important;
  }

  #dfy-upgrade .dfy-bottleneck-item strong{
    font-size:13.5px !important;
  }

  #dfy-upgrade .dfy-bottleneck-bottom{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    text-align:center !important;
    padding:14px !important;
  }

  #dfy-upgrade .dfy-bottleneck-bottom p{
    font-size:14px !important;
    text-align:center !important;
  }

  #dfy-upgrade .dfy-setup-problem-section .dfy-story-punch{
    font-size:17px !important;
    padding:18px 16px !important;
  }
}

/* =========================
   FINAL LOCKED ALIGNMENT - DIY + PROBLEM STORY COPY
   Story paragraphs match hero copy width (900px).
   Headings, labels, lead lines, punch lines, and cards stay centred.
========================= */

@media (min-width:761px){

  #dfy-upgrade .dfy-diy-dfy-section > .dfy-match-story-copy,
  #dfy-upgrade .dfy-diy-dfy-section > .dfy-diy-dfy-story-after.dfy-match-story-copy,
  #dfy-upgrade .dfy-setup-problem-section > .dfy-match-story-copy{
    width:100% !important;
    max-width:900px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:left !important;
    box-sizing:border-box !important;
  }

  #dfy-upgrade .dfy-diy-dfy-section > .dfy-match-story-copy > p:not(.dfy-section-lead):not(.dfy-section-punch):not(.dfy-story-punch),
  #dfy-upgrade .dfy-diy-dfy-section > .dfy-diy-dfy-story-after.dfy-match-story-copy > p:not(.dfy-section-lead):not(.dfy-section-punch):not(.dfy-story-punch),
  #dfy-upgrade .dfy-setup-problem-section > .dfy-match-story-copy > p:not(.dfy-section-lead):not(.dfy-section-punch):not(.dfy-story-punch){
    width:100% !important;
    max-width:900px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
    transform:none !important;
  }

  #dfy-upgrade .dfy-diy-dfy-section > .dfy-match-story-copy > .dfy-section-lead,
  #dfy-upgrade .dfy-setup-problem-section > .dfy-match-story-copy > .dfy-section-lead,
  #dfy-upgrade .dfy-diy-dfy-section > .dfy-match-story-copy > .dfy-section-punch,
  #dfy-upgrade .dfy-diy-dfy-section > .dfy-diy-dfy-story-after.dfy-match-story-copy > .dfy-section-punch,
  #dfy-upgrade .dfy-setup-problem-section > .dfy-match-story-copy > .dfy-section-punch{
    max-width:900px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
    transform:none !important;
  }

  #dfy-upgrade .dfy-diy-dfy-section > .dfy-match-story-copy > .dfy-story-label,
  #dfy-upgrade .dfy-diy-dfy-section > .dfy-match-story-copy > h3,
  #dfy-upgrade .dfy-setup-problem-section > .dfy-match-story-copy > .dfy-story-label,
  #dfy-upgrade .dfy-setup-problem-section > .dfy-match-story-copy > h3{
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }

  #dfy-upgrade .dfy-house-story-card .dfy-house-punch{
    width:100% !important;
    max-width:760px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }
}

@media (max-width:760px){

  #dfy-upgrade .dfy-diy-dfy-section > .dfy-match-story-copy,
  #dfy-upgrade .dfy-diy-dfy-section > .dfy-diy-dfy-story-after.dfy-match-story-copy,
  #dfy-upgrade .dfy-setup-problem-section > .dfy-match-story-copy{
    max-width:100% !important;
  }

  #dfy-upgrade .dfy-diy-dfy-section > .dfy-match-story-copy > p:not(.dfy-section-lead):not(.dfy-section-punch):not(.dfy-story-punch),
  #dfy-upgrade .dfy-diy-dfy-section > .dfy-diy-dfy-story-after.dfy-match-story-copy > p:not(.dfy-section-lead):not(.dfy-section-punch):not(.dfy-story-punch),
  #dfy-upgrade .dfy-setup-problem-section > .dfy-match-story-copy > p:not(.dfy-section-lead):not(.dfy-section-punch):not(.dfy-story-punch){
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
  }
}

/* =========================
   FINAL SAFETY OVERRIDE - DFY STORY ALIGNMENT
   Keep approved hero alignment consistent across later story sections.
========================= */
@media (min-width:761px){
  #dfy-upgrade .dfy-diy-dfy-section > .dfy-match-story-copy,
  #dfy-upgrade .dfy-diy-dfy-section > .dfy-diy-dfy-story-after.dfy-match-story-copy,
  #dfy-upgrade .dfy-setup-problem-section > .dfy-match-story-copy{
    width:100% !important;
    max-width:900px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:left !important;
    transform:none !important;
    box-sizing:border-box !important;
  }

  #dfy-upgrade .dfy-diy-dfy-section > .dfy-match-story-copy > p:not(.dfy-section-lead):not(.dfy-section-punch):not(.dfy-story-punch),
  #dfy-upgrade .dfy-diy-dfy-section > .dfy-diy-dfy-story-after.dfy-match-story-copy > p:not(.dfy-section-lead):not(.dfy-section-punch):not(.dfy-story-punch),
  #dfy-upgrade .dfy-setup-problem-section > .dfy-match-story-copy > p:not(.dfy-section-lead):not(.dfy-section-punch):not(.dfy-story-punch){
    width:100% !important;
    max-width:900px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
    transform:none !important;
  }

  #dfy-upgrade .dfy-diy-dfy-section > .dfy-match-story-copy > .dfy-story-label,
  #dfy-upgrade .dfy-diy-dfy-section > .dfy-match-story-copy > h3,
  #dfy-upgrade .dfy-setup-problem-section > .dfy-match-story-copy > .dfy-story-label,
  #dfy-upgrade .dfy-setup-problem-section > .dfy-match-story-copy > h3,
  #dfy-upgrade .dfy-diy-dfy-section > .dfy-match-story-copy > .dfy-section-lead,
  #dfy-upgrade .dfy-setup-problem-section > .dfy-match-story-copy > .dfy-section-lead,
  #dfy-upgrade .dfy-diy-dfy-section > .dfy-match-story-copy > .dfy-section-punch,
  #dfy-upgrade .dfy-diy-dfy-section > .dfy-diy-dfy-story-after.dfy-match-story-copy > .dfy-section-punch,
  #dfy-upgrade .dfy-setup-problem-section > .dfy-match-story-copy > .dfy-section-punch{
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
    transform:none !important;
  }

  #dfy-upgrade .dfy-house-story-card .dfy-house-punch,
  #dfy-upgrade .dfy-setup-problem-section .dfy-thought-loop,
  #dfy-upgrade .dfy-setup-problem-section .dfy-bottleneck-box,
  #dfy-upgrade .dfy-diy-dfy-section .dfy-house-story-card,
  #dfy-upgrade .dfy-diy-dfy-section .dfy-vs-wrap{
    margin-left:auto !important;
    margin-right:auto !important;
    transform:none !important;
  }
}

/* =========================
   DFY WHAT WE BUILD - PREMIUM STACK SECTION
========================= */

#dfy-upgrade .dfy-build-stack-section{
  position:relative !important;
  padding:82px 24px 88px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 8% 18%, rgba(20,163,112,.08), transparent 32%),
    radial-gradient(circle at 92% 12%, rgba(20,163,112,.07), transparent 34%),
    radial-gradient(circle at 50% 100%, rgba(20,163,112,.06), transparent 42%),
    linear-gradient(180deg, #ffffff 0%, #f8fffb 56%, #ffffff 100%) !important;
  border-bottom:1px solid rgba(20,163,112,.10) !important;
}

#dfy-upgrade .dfy-build-stack-section::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle, rgba(20,163,112,.10) 1px, transparent 1.4px) !important;
  background-size:18px 18px !important;
  opacity:.18 !important;
  mask-image:linear-gradient(90deg, transparent 0%, #000 12%, transparent 36%, transparent 64%, #000 88%, transparent 100%) !important;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 12%, transparent 36%, transparent 64%, #000 88%, transparent 100%) !important;
}

#dfy-upgrade .dfy-build-stack-section > *{
  position:relative !important;
  z-index:1 !important;
}

#dfy-upgrade .dfy-build-stack-section .dfy-story-narrow{
  width:100% !important;
  max-width:1080px !important;
  margin:0 auto 46px !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-build-stack-section .dfy-story-label{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto 22px !important;
  padding:9px 20px !important;
  border-radius:999px !important;
  background:#eefaf5 !important;
  border:1px solid rgba(20,163,112,.22) !important;
  color:#064e3b !important;
  font-size:12px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.14em !important;
  box-shadow:0 10px 24px rgba(20,163,112,.08) !important;
}

#dfy-upgrade .dfy-build-stack-section h3{
  max-width:980px !important;
  margin:0 auto 18px !important;
  color:#070b0a !important;
  text-align:center !important;
  font-size:clamp(32px, 4vw, 54px) !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-build-stack-section h3 em{
  display:inline-block !important;
  color:var(--brand) !important;
  font-style:normal !important;
}

#dfy-upgrade .dfy-build-stack-section .dfy-section-lead{
  max-width:860px !important;
  margin:0 auto !important;
  color:#334155 !important;
  text-align:center !important;
  font-size:18px !important;
  line-height:1.72 !important;
  font-weight:500 !important;
}

#dfy-upgrade .dfy-build-stack-section .dfy-build-grid-story{
  width:100% !important;
  max-width:1080px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:18px !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-build-stack-section .dfy-build-grid-story > div{
  min-height:250px !important;
  padding:30px 22px 26px !important;
  border:1px solid rgba(20,163,112,.20) !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(20,163,112,.075), transparent 42%),
    rgba(255,255,255,.92) !important;
  box-shadow:
    0 18px 42px rgba(15,23,42,.06),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

#dfy-upgrade .dfy-build-stack-section .dfy-build-grid-story > div:hover{
  transform:translateY(-4px) !important;
  border-color:rgba(20,163,112,.34) !important;
  box-shadow:
    0 24px 54px rgba(15,23,42,.09),
    0 0 0 4px rgba(20,163,112,.045),
    inset 0 1px 0 rgba(255,255,255,.94) !important;
}

#dfy-upgrade .dfy-build-stack-section .dfy-build-grid-story > div > span{
  width:64px !important;
  height:64px !important;
  display:grid !important;
  place-items:center !important;
  margin:0 auto 18px !important;
  border-radius:999px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.95), transparent 54%),
    #dcfce7 !important;
  border:1px solid rgba(20,163,112,.22) !important;
  color:#08734f !important;
  box-shadow:
    0 12px 24px rgba(20,163,112,.12),
    inset 0 1px 0 rgba(255,255,255,.9) !important;
  font-size:28px !important;
  line-height:1 !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-build-stack-section .dfy-build-grid-story > div > strong{
  display:block !important;
  width:100% !important;
  margin:0 0 10px !important;
  color:#070b0a !important;
  text-align:center !important;
  font-size:18px !important;
  line-height:1.25 !important;
  font-weight:950 !important;
  letter-spacing:-.025em !important;
}

#dfy-upgrade .dfy-build-stack-section .dfy-build-grid-story > div > p{
  width:100% !important;
  max-width:240px !important;
  margin:0 auto !important;
  color:#475569 !important;
  text-align:center !important;
  font-size:14.5px !important;
  line-height:1.62 !important;
}

/* Force centre alignment over earlier global DFY rules */
#dfy-upgrade .dfy-build-stack-section,
#dfy-upgrade .dfy-build-stack-section *,
#dfy-upgrade .dfy-build-stack-section .dfy-build-grid-story,
#dfy-upgrade .dfy-build-stack-section .dfy-build-grid-story *{
  text-align:center !important;
}

/* =========================
   DFY WHAT WE BUILD - LEAD ASSET STORY
========================= */

#dfy-upgrade .dfy-lead-asset-story{
  width:100% !important;
  max-width:900px !important;
  margin:78px auto 0 !important;
  padding:34px 0 0 !important;
  text-align:center !important;
}

/* Keep label centred and add breathing room */
#dfy-upgrade .dfy-lead-asset-story > .dfy-story-label{
  display:inline-flex !important;
  margin-top:0 !important;
  margin-left:auto !important;
  margin-right:auto !important;
  margin-bottom:22px !important;
}

/* Keep heading centred */
#dfy-upgrade .dfy-lead-asset-story h3{
  max-width:900px !important;
  margin:0 auto 22px !important;
  color:#070b0a !important;
  text-align:center !important;
  font-size:clamp(32px, 4vw, 54px) !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-lead-asset-story h3 em{
  display:inline-block !important;
  color:var(--brand) !important;
  font-style:normal !important;
}

/* Centre the copy block, but keep text left-aligned */
#dfy-upgrade .dfy-lead-asset-copy{
  width:100% !important;
  max-width:820px !important;
  margin:0 auto !important;
  text-align:left !important;
}

#dfy-upgrade .dfy-lead-asset-copy p{
  width:100% !important;
  max-width:820px !important;
  margin:0 auto 16px !important;
  color:#334155 !important;
  text-align:left !important;
  font-size:16.5px !important;
  line-height:1.72 !important;
}

#dfy-upgrade .dfy-lead-asset-copy .dfy-section-lead{
  color:#475569 !important;
  font-size:18px !important;
  font-weight:700 !important;
}

/* Punch line centred */
#dfy-upgrade .dfy-lead-asset-copy .dfy-section-punch{
  max-width:820px !important;
  margin:24px auto 0 !important;
  color:#0f172a !important;
  text-align:center !important;
  font-size:20px !important;
  line-height:1.42 !important;
  font-weight:950 !important;
}

/* =========================
   DFY WHAT WE BUILD - CTA BOX
========================= */

#dfy-upgrade .dfy-build-stack-cta{
  position:relative !important;
  max-width:820px !important;
  margin:42px auto 0 !important;
  padding:38px 24px 26px !important;
  border:1px solid rgba(249,115,22,.34) !important;
  border-radius:22px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(249,115,22,.07), transparent 42%),
    rgba(255,255,255,.90) !important;
  box-shadow:
    0 18px 42px rgba(15,23,42,.055),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-build-urgency-pill{
  position:absolute !important;
  top:0 !important;
  left:50% !important;
  transform:translate(-50%, -50%) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  max-width:calc(100% - 36px) !important;
  padding:9px 22px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#fb923c,#ea580c) !important;
  color:#ffffff !important;
  border:1px solid rgba(249,115,22,.35) !important;
  box-shadow:0 10px 22px rgba(249,115,22,.28) !important;
  font-size:13px !important;
  font-weight:950 !important;
  line-height:1.2 !important;
  text-transform:none !important;
  letter-spacing:-.01em !important;
  text-align:center !important;
  white-space:nowrap !important;
  z-index:3 !important;
  animation:dfyBuildUrgencyPulse 1.8s ease-in-out infinite !important;
}

@keyframes dfyBuildUrgencyPulse{
  0%, 100%{
    transform:translate(-50%, -50%) scale(1);
    box-shadow:0 10px 22px rgba(249,115,22,.28);
  }

  50%{
    transform:translate(-50%, -50%) scale(1.045);
    box-shadow:0 14px 30px rgba(249,115,22,.42);
  }
}

#dfy-upgrade .dfy-build-stack-cta p{
  max-width:680px !important;
  margin:0 auto 18px !important;
  color:#0f172a !important;
  font-size:18px !important;
  line-height:1.55 !important;
  font-weight:850 !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-build-stack-btn{
  width:100% !important;
  max-width:420px !important;
  margin:0 auto 12px !important;
  padding:15px 22px !important;
  border-radius:14px !important;
  font-size:17px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.02em !important;
}

#dfy-upgrade .dfy-build-stack-cta small{
  display:block !important;
  max-width:560px !important;
  margin:0 auto !important;
  color:#64748b !important;
  font-size:12.5px !important;
  line-height:1.45 !important;
  text-align:center !important;
}

/* Tablet */
@media (max-width:980px){
  #dfy-upgrade .dfy-build-stack-section .dfy-build-grid-story{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mobile */
@media (max-width:760px){
  #dfy-upgrade .dfy-build-stack-section{
    padding:54px 18px 60px !important;
  }

  #dfy-upgrade .dfy-build-stack-section .dfy-story-narrow{
    margin-bottom:32px !important;
  }

  #dfy-upgrade .dfy-build-stack-section h3{
    font-size:38px !important;
    line-height:1.06 !important;
    letter-spacing:-.045em !important;
  }

  #dfy-upgrade .dfy-build-stack-section .dfy-section-lead{
    font-size:16px !important;
    line-height:1.62 !important;
  }

  #dfy-upgrade .dfy-build-stack-section .dfy-build-grid-story{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  #dfy-upgrade .dfy-build-stack-section .dfy-build-grid-story > div{
    min-height:auto !important;
    padding:26px 20px 24px !important;
  }

  #dfy-upgrade .dfy-build-stack-section .dfy-build-grid-story > div > p{
    max-width:320px !important;
  }

  #dfy-upgrade .dfy-lead-asset-story{
    margin-top:56px !important;
    padding-top:28px !important;
  }

  #dfy-upgrade .dfy-lead-asset-story h3{
    font-size:38px !important;
    line-height:1.06 !important;
    letter-spacing:-.045em !important;
  }

  #dfy-upgrade .dfy-lead-asset-copy p{
    font-size:15.5px !important;
  }

  #dfy-upgrade .dfy-lead-asset-copy .dfy-section-lead{
    font-size:16px !important;
  }

  #dfy-upgrade .dfy-lead-asset-copy .dfy-section-punch{
    text-align:left !important;
    font-size:17px !important;
  }

  #dfy-upgrade .dfy-build-stack-cta{
    margin-top:36px !important;
    padding:40px 18px 22px !important;
  }

  #dfy-upgrade .dfy-build-urgency-pill{
    width:calc(100% - 36px) !important;
    max-width:calc(100% - 36px) !important;
    padding:8px 12px !important;
    font-size:11px !important;
    white-space:normal !important;
  }

  #dfy-upgrade .dfy-build-stack-cta p{
    font-size:16px !important;
  }

  #dfy-upgrade .dfy-build-stack-btn{
    max-width:100% !important;
    font-size:15px !important;
  }
}

/* =========================
   DFY WHAT HAPPENS NEXT
========================= */

#dfy-upgrade .dfy-next-steps-section{
  padding-top:72px !important;
  padding-bottom:76px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(20,163,112,.08), transparent 38%),
    linear-gradient(180deg, rgba(248,255,251,.96), #ffffff 100%) !important;
}

#dfy-upgrade .dfy-next-steps-section .dfy-story-narrow{
  max-width:900px !important;
  margin:0 auto !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-next-steps-section h3{
  max-width:900px !important;
  margin:0 auto 22px !important;
  color:#070b0a !important;
  text-align:center !important;
  font-size:clamp(32px, 4vw, 54px) !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-next-steps-section .dfy-story-narrow p{
  max-width:820px !important;
  margin:0 auto 16px !important;
  color:#334155 !important;
  text-align:left !important;
  font-size:16.5px !important;
  line-height:1.72 !important;
}

#dfy-upgrade .dfy-next-steps-section .dfy-section-lead{
  color:#475569 !important;
  font-size:18px !important;
  font-weight:700 !important;
}

#dfy-upgrade .dfy-next-steps-section .dfy-section-punch{
  max-width:820px !important;
  margin:24px auto 0 !important;
  color:#0f172a !important;
  text-align:center !important;
  font-size:20px !important;
  line-height:1.42 !important;
  font-weight:950 !important;
}

/* Timeline */
#dfy-upgrade .dfy-next-steps-timeline{
  width:100% !important;
  max-width:1080px !important;
  margin:42px auto 0 !important;
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:16px !important;
}

#dfy-upgrade .dfy-next-steps-timeline > div{
  min-height:190px !important;
  padding:22px 18px 20px !important;
  border:1px solid rgba(20,163,112,.20) !important;
  border-radius:22px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(20,163,112,.075), transparent 44%),
    rgba(255,255,255,.92) !important;
  box-shadow:
    0 18px 42px rgba(15,23,42,.055),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-next-steps-timeline strong{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto 14px !important;
  padding:7px 13px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg, var(--brand-2), var(--brand)) !important;
  color:#ffffff !important;
  font-size:12px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.03em !important;
}

#dfy-upgrade .dfy-next-steps-timeline span{
  display:block !important;
  margin:0 0 9px !important;
  color:#070b0a !important;
  font-size:17px !important;
  line-height:1.25 !important;
  font-weight:950 !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-next-steps-timeline p{
  max-width:220px !important;
  margin:0 auto !important;
  color:#475569 !important;
  font-size:13.5px !important;
  line-height:1.55 !important;
  text-align:center !important;
}

/* Mobile */
@media (max-width:760px){
  #dfy-upgrade .dfy-next-steps-section{
    padding-top:54px !important;
    padding-bottom:58px !important;
  }

  #dfy-upgrade .dfy-next-steps-section h3{
    font-size:38px !important;
    line-height:1.06 !important;
    letter-spacing:-.045em !important;
  }

  #dfy-upgrade .dfy-next-steps-section .dfy-story-narrow p{
    font-size:15.5px !important;
  }

  #dfy-upgrade .dfy-next-steps-section .dfy-section-lead{
    font-size:16px !important;
  }

  #dfy-upgrade .dfy-next-steps-section .dfy-section-punch{
    text-align:left !important;
    font-size:17px !important;
  }

  #dfy-upgrade .dfy-next-steps-timeline{
    grid-template-columns:1fr !important;
    gap:14px !important;
    margin-top:32px !important;
  }

  #dfy-upgrade .dfy-next-steps-timeline > div{
    min-height:auto !important;
  }

  #dfy-upgrade .dfy-next-steps-timeline p{
    max-width:320px !important;
  }
}

/* =========================
   DFY LIMITED SPOTS SECTION
========================= */

#dfy-upgrade .dfy-limited-story{
  position:relative !important;
  padding:76px 24px 82px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(249,115,22,.10), transparent 38%),
    linear-gradient(180deg, #fff7ed 0%, #ffffff 100%) !important;
  border-top:1px solid rgba(249,115,22,.14) !important;
  border-bottom:1px solid rgba(249,115,22,.14) !important;
}

#dfy-upgrade .dfy-limited-story::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle, rgba(249,115,22,.12) 1px, transparent 1.4px) !important;
  background-size:18px 18px !important;
  opacity:.14 !important;
  mask-image:linear-gradient(90deg, transparent 0%, #000 16%, transparent 42%, transparent 58%, #000 84%, transparent 100%) !important;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 16%, transparent 42%, transparent 58%, #000 84%, transparent 100%) !important;
}

#dfy-upgrade .dfy-limited-story > *{
  position:relative !important;
  z-index:1 !important;
}

#dfy-upgrade .dfy-limited-story .dfy-story-narrow{
  max-width:900px !important;
  margin:0 auto !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-limited-story .dfy-story-kicker{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:fit-content !important;
  margin:0 auto 22px !important;
  padding:9px 18px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#fb923c,#ea580c) !important;
  color:#ffffff !important;
  border:1px solid rgba(249,115,22,.35) !important;
  box-shadow:0 10px 24px rgba(249,115,22,.22) !important;
  font-size:12px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.045em !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-limited-story h3{
  max-width:900px !important;
  margin:0 auto 22px !important;
  color:#070b0a !important;
  text-align:center !important;
  font-size:clamp(32px, 4vw, 54px) !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-limited-story h3 em{
  display:inline-block !important;
  color:#c2410c !important;
  font-style:normal !important;
}

#dfy-upgrade .dfy-limited-story p{
  max-width:820px !important;
  margin:0 auto 16px !important;
  color:#334155 !important;
  text-align:left !important;
  font-size:16.5px !important;
  line-height:1.72 !important;
}

#dfy-upgrade .dfy-limited-story .dfy-section-lead{
  color:#475569 !important;
  font-size:18px !important;
  font-weight:700 !important;
}

#dfy-upgrade .dfy-limited-story .dfy-section-punch{
  max-width:820px !important;
  margin:24px auto 0 !important;
  color:#0f172a !important;
  text-align:center !important;
  font-size:20px !important;
  line-height:1.42 !important;
  font-weight:950 !important;
}

/* CTA box */
#dfy-upgrade .dfy-limited-cta-box{
  position:relative !important;
  max-width:820px !important;
  margin:44px auto 0 !important;
  padding:38px 24px 26px !important;
  border:1px solid rgba(249,115,22,.34) !important;
  border-radius:22px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(249,115,22,.08), transparent 42%),
    rgba(255,255,255,.92) !important;
  box-shadow:
    0 18px 42px rgba(15,23,42,.055),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-limited-pill{
  position:absolute !important;
  top:0 !important;
  left:50% !important;
  transform:translate(-50%, -50%) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  max-width:calc(100% - 36px) !important;
  padding:9px 22px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#fb923c,#ea580c) !important;
  color:#ffffff !important;
  border:1px solid rgba(249,115,22,.35) !important;
  box-shadow:0 10px 22px rgba(249,115,22,.28) !important;
  font-size:13px !important;
  font-weight:950 !important;
  line-height:1.2 !important;
  text-align:center !important;
  white-space:nowrap !important;
  z-index:3 !important;
  animation:dfyLimitedPulse 1.8s ease-in-out infinite !important;
}

@keyframes dfyLimitedPulse{
  0%, 100%{
    transform:translate(-50%, -50%) scale(1);
    box-shadow:0 10px 22px rgba(249,115,22,.28);
  }

  50%{
    transform:translate(-50%, -50%) scale(1.045);
    box-shadow:0 14px 30px rgba(249,115,22,.42);
  }
}

#dfy-upgrade .dfy-limited-cta-box p{
  max-width:680px !important;
  margin:0 auto 18px !important;
  color:#0f172a !important;
  font-size:18px !important;
  line-height:1.55 !important;
  font-weight:850 !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-limited-btn{
  width:100% !important;
  max-width:420px !important;
  margin:0 auto !important;
  padding:15px 22px !important;
  border-radius:14px !important;
  font-size:17px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.02em !important;
}

/* Mobile */
@media (max-width:760px){
  #dfy-upgrade .dfy-limited-story{
    padding:56px 18px 62px !important;
  }

  #dfy-upgrade .dfy-limited-story h3{
    font-size:38px !important;
    line-height:1.06 !important;
    letter-spacing:-.045em !important;
  }

  #dfy-upgrade .dfy-limited-story p{
    font-size:15.5px !important;
  }

  #dfy-upgrade .dfy-limited-story .dfy-section-lead{
    font-size:16px !important;
  }

  #dfy-upgrade .dfy-limited-story .dfy-section-punch{
    text-align:left !important;
    font-size:17px !important;
  }

  #dfy-upgrade .dfy-limited-cta-box{
    margin-top:38px !important;
    padding:40px 18px 22px !important;
  }

  #dfy-upgrade .dfy-limited-pill{
    width:calc(100% - 36px) !important;
    max-width:calc(100% - 36px) !important;
    padding:8px 12px !important;
    font-size:11px !important;
    white-space:normal !important;
  }

  #dfy-upgrade .dfy-limited-cta-box p{
    font-size:16px !important;
  }

  #dfy-upgrade .dfy-limited-btn{
    max-width:100% !important;
    font-size:15px !important;
  }
}

/* =========================
   DFY NOT MAGIC SECTION
========================= */

#dfy-upgrade .dfy-not-magic-section{
  position:relative !important;
  padding:76px 24px 82px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(20,163,112,.07), transparent 38%),
    linear-gradient(180deg, #ffffff 0%, #f8fffb 100%) !important;
  border-bottom:1px solid rgba(20,163,112,.10) !important;
}

#dfy-upgrade .dfy-not-magic-section .dfy-story-narrow{
  max-width:900px !important;
  margin:0 auto !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-not-magic-section h3{
  max-width:900px !important;
  margin:0 auto 22px !important;
  color:#070b0a !important;
  text-align:center !important;
  font-size:clamp(32px, 4vw, 54px) !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-not-magic-section h3 em{
  display:inline-block !important;
  color:var(--brand) !important;
  font-style:normal !important;
}

#dfy-upgrade .dfy-not-magic-section p{
  max-width:820px !important;
  margin:0 auto 16px !important;
  color:#334155 !important;
  text-align:left !important;
  font-size:16.5px !important;
  line-height:1.72 !important;
}

#dfy-upgrade .dfy-not-magic-section .dfy-section-lead{
  color:#475569 !important;
  font-size:18px !important;
  font-weight:700 !important;
}

#dfy-upgrade .dfy-not-magic-section .dfy-section-punch{
  max-width:820px !important;
  margin:24px auto 0 !important;
  color:#0f172a !important;
  text-align:center !important;
  font-size:20px !important;
  line-height:1.42 !important;
  font-weight:950 !important;
}

/* Callout */
#dfy-upgrade .dfy-not-magic-callout{
  width:100% !important;
  max-width:900px !important;
  margin:38px auto 0 !important;
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:14px !important;
}

#dfy-upgrade .dfy-not-magic-callout > div{
  min-height:118px !important;
  padding:20px 18px !important;
  border:1px solid rgba(20,163,112,.20) !important;
  border-radius:20px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(20,163,112,.075), transparent 44%),
    rgba(255,255,255,.94) !important;
  box-shadow:
    0 16px 38px rgba(15,23,42,.055),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-not-magic-callout span{
  width:38px !important;
  height:38px !important;
  margin:0 auto 10px !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  background:#eefaf5 !important;
  border:1px solid rgba(20,163,112,.22) !important;
  color:var(--brand) !important;
  font-size:18px !important;
  font-weight:950 !important;
}


#dfy-upgrade .dfy-not-magic-callout strong{
  display:block !important;
  max-width:220px !important;
  margin:0 auto !important;
  color:#0f172a !important;
  text-align:center !important;
  font-size:15px !important;
  line-height:1.35 !important;
  font-weight:950 !important;
}

/* Mobile */
@media (max-width:760px){
  #dfy-upgrade .dfy-not-magic-section{
    padding:56px 18px 62px !important;
  }

  #dfy-upgrade .dfy-not-magic-section h3{
    font-size:38px !important;
    line-height:1.06 !important;
    letter-spacing:-.045em !important;
  }

  #dfy-upgrade .dfy-not-magic-section p{
    font-size:15.5px !important;
  }

  #dfy-upgrade .dfy-not-magic-section .dfy-section-lead{
    font-size:16px !important;
  }

  #dfy-upgrade .dfy-not-magic-section .dfy-section-punch{
    text-align:left !important;
    font-size:17px !important;
  }

  #dfy-upgrade .dfy-not-magic-callout{
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-top:30px !important;
  }

  #dfy-upgrade .dfy-not-magic-callout > div{
    min-height:auto !important;
    padding:18px 16px !important;
  }

  #dfy-upgrade .dfy-not-magic-callout strong{
    max-width:300px !important;
  }
}

/* =========================
   DFY ROUTE + FIT SECTION
========================= */

#dfy-upgrade .dfy-route-fit-section{
  position:relative !important;
  padding:76px 24px 82px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(20,163,112,.07), transparent 38%),
    linear-gradient(180deg, #ffffff 0%, #f8fffb 100%) !important;
  border-bottom:1px solid rgba(20,163,112,.10) !important;
}

#dfy-upgrade .dfy-route-fit-section .dfy-story-narrow{
  max-width:900px !important;
  margin:0 auto !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-route-fit-section h3{
  max-width:900px !important;
  margin:0 auto 22px !important;
  color:#070b0a !important;
  text-align:center !important;
  font-size:clamp(32px, 4vw, 54px) !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-route-fit-section h3 em{
  display:inline-block !important;
  color:var(--brand) !important;
  font-style:normal !important;
}

#dfy-upgrade .dfy-route-fit-section p{
  max-width:820px !important;
  margin:0 auto 16px !important;
  color:#334155 !important;
  text-align:left !important;
  font-size:16.5px !important;
  line-height:1.72 !important;
}

#dfy-upgrade .dfy-route-fit-section .dfy-section-lead{
  color:#475569 !important;
  font-size:18px !important;
  font-weight:700 !important;
}

#dfy-upgrade .dfy-route-fit-section .dfy-section-punch{
  max-width:820px !important;
  margin:24px auto 0 !important;
  color:#0f172a !important;
  text-align:center !important;
  font-size:20px !important;
  line-height:1.42 !important;
  font-weight:950 !important;
}


/* =========================
   DFY ROUTE STEPS
========================= */

#dfy-upgrade .dfy-route-steps{
  width:100% !important;
  max-width:960px !important;
  margin:42px auto 0 !important;
  display:grid !important;
  grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
  gap:12px !important;
}

#dfy-upgrade .dfy-route-steps > div{
  min-height:118px !important;
  padding:20px 14px !important;
  border:1px solid rgba(20,163,112,.20) !important;
  border-radius:20px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(20,163,112,.075), transparent 44%),
    rgba(255,255,255,.94) !important;
  box-shadow:
    0 16px 38px rgba(15,23,42,.055),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-route-steps span{
  width:38px !important;
  height:38px !important;
  margin:0 auto 10px !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  background:linear-gradient(135deg, var(--brand-2), var(--brand)) !important;
  color:#ffffff !important;
  font-size:12px !important;
  font-weight:950 !important;
  line-height:1 !important;
}

#dfy-upgrade .dfy-route-steps strong{
  display:block !important;
  color:#070b0a !important;
  text-align:center !important;
  font-size:17px !important;
  line-height:1.2 !important;
  font-weight:950 !important;
}


/* =========================
   DFY FIT INTRO
========================= */

#dfy-upgrade .dfy-fit-intro{
  max-width:820px !important;
  margin:38px auto 0 !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-fit-intro p{
  max-width:720px !important;
  margin:0 auto !important;
  color:#0f172a !important;
  text-align:center !important;
  font-size:18px !important;
  line-height:1.45 !important;
  font-weight:900 !important;
}


/* =========================
   DFY FIT CARDS
========================= */

#dfy-upgrade .dfy-fit-grid{
  width:100% !important;
  max-width:1080px !important;
  margin:42px auto 0 !important;
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:18px !important;
}

#dfy-upgrade .dfy-fit-card{
  padding:30px 28px 28px !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.94) !important;
  box-shadow:
    0 18px 42px rgba(15,23,42,.06),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
}

#dfy-upgrade .dfy-fit-card-good{
  border:1px solid rgba(20,163,112,.22) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(20,163,112,.08), transparent 44%),
    rgba(255,255,255,.94) !important;
}

#dfy-upgrade .dfy-fit-card-bad{
  border:1px solid rgba(249,115,22,.24) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(249,115,22,.07), transparent 44%),
    rgba(255,255,255,.94) !important;
}

#dfy-upgrade .dfy-fit-label{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  margin:0 auto 20px !important;
  color:#070b0a !important;
  text-align:center !important;
  font-size:24px !important;
  line-height:1.1 !important;
  letter-spacing:-.035em !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-fit-card ul{
  list-style:none !important;
  display:grid !important;
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
}

#dfy-upgrade .dfy-fit-card li{
  position:relative !important;
  min-height:56px !important;
  padding:14px 18px 14px 56px !important;
  border-radius:14px !important;
  background:#ffffff !important;
  color:#334155 !important;
  text-align:left !important;
  font-size:14px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
  border:1px solid rgba(15,23,42,.06) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:100% !important;
  box-sizing:border-box !important;
}

#dfy-upgrade .dfy-fit-card-good li::before,
#dfy-upgrade .dfy-fit-card-bad li::before{
  position:absolute !important;
  top:50% !important;
  left:18px !important;
  transform:translateY(-50%) !important;
  width:22px !important;
  height:22px !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  font-size:13px !important;
  font-weight:950 !important;
  line-height:1 !important;
}

#dfy-upgrade .dfy-fit-card-good li::before{
  content:"+" !important;
  background:#dcfce7 !important;
  color:var(--brand) !important;
}

#dfy-upgrade .dfy-fit-card-bad li::before{
  content:"x" !important;
  background:#fff7ed !important;
  color:#ea580c !important;
}


/* =========================
   MOBILE
========================= */

@media (max-width:760px){
  #dfy-upgrade .dfy-route-fit-section{
    padding:56px 18px 62px !important;
  }

  #dfy-upgrade .dfy-route-fit-section h3{
    font-size:38px !important;
    line-height:1.06 !important;
    letter-spacing:-.045em !important;
  }

  #dfy-upgrade .dfy-route-fit-section p{
    font-size:15.5px !important;
  }

  #dfy-upgrade .dfy-route-fit-section .dfy-section-lead{
    font-size:16px !important;
  }

  #dfy-upgrade .dfy-route-fit-section .dfy-section-punch{
    text-align:left !important;
    font-size:17px !important;
  }

  #dfy-upgrade .dfy-route-steps{
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-top:32px !important;
  }

  #dfy-upgrade .dfy-route-steps > div{
    min-height:auto !important;
    padding:18px 16px !important;
  }

  #dfy-upgrade .dfy-fit-intro{
    margin-top:30px !important;
  }

  #dfy-upgrade .dfy-fit-intro p{
    max-width:100% !important;
    font-size:16.5px !important;
    line-height:1.45 !important;
  }

  #dfy-upgrade .dfy-fit-grid{
    grid-template-columns:1fr !important;
    gap:16px !important;
    margin-top:32px !important;
  }

  #dfy-upgrade .dfy-fit-card{
    padding:26px 20px 24px !important;
  }

  #dfy-upgrade .dfy-fit-label{
    font-size:22px !important;
  }

  #dfy-upgrade .dfy-fit-card li{
    min-height:54px !important;
    padding:13px 16px 13px 52px !important;
    font-size:14px !important;
  }

  #dfy-upgrade .dfy-fit-card-good li::before,
  #dfy-upgrade .dfy-fit-card-bad li::before{
    left:16px !important;
  }
}

/* =========================
   DFY VALUE STACK SECTION
========================= */

#dfy-upgrade .dfy-value-story{
  position:relative !important;
  padding:76px 24px 82px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(249,115,22,.07), transparent 40%),
    linear-gradient(180deg, #fffaf5 0%, #ffffff 100%) !important;
  border-bottom:1px solid rgba(249,115,22,.12) !important;
}

#dfy-upgrade .dfy-value-story .dfy-story-narrow{
  max-width:900px !important;
  margin:0 auto !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-value-story h3{
  max-width:900px !important;
  margin:0 auto 22px !important;
  color:#070b0a !important;
  text-align:center !important;
  font-size:clamp(32px, 4vw, 54px) !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-value-story h3 em{
  display:inline-block !important;
  color:var(--brand) !important;
  font-style:normal !important;
}

#dfy-upgrade .dfy-value-story p{
  max-width:820px !important;
  margin:0 auto 16px !important;
  color:#334155 !important;
  text-align:left !important;
  font-size:16.5px !important;
  line-height:1.72 !important;
}

#dfy-upgrade .dfy-value-story .dfy-section-lead{
  color:#475569 !important;
  font-size:18px !important;
  font-weight:700 !important;
}

#dfy-upgrade .dfy-value-story .dfy-section-punch{
  max-width:820px !important;
  margin:24px auto 0 !important;
  color:#0f172a !important;
  text-align:center !important;
  font-size:20px !important;
  line-height:1.42 !important;
  font-weight:950 !important;
}


/* =========================
   VALUE STACK WRAP
========================= */

#dfy-upgrade .dfy-value-wrap-story{
  width:100% !important;
  max-width:860px !important;
  margin:46px auto 0 !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:18px !important;
}


/* =========================
   VALUE LIST CARD
========================= */

#dfy-upgrade .dfy-value-list-story{
  padding:16px !important;
  border-radius:26px !important;
  border:1px solid rgba(249,115,22,.18) !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(249,115,22,.06), transparent 42%),
    rgba(255,255,255,.96) !important;
  box-shadow:
    0 20px 48px rgba(15,23,42,.06),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
  display:grid !important;
  gap:10px !important;
}

#dfy-upgrade .dfy-value-list-story > div{
  padding:12px !important;
  border-radius:16px !important;
  border:1px solid rgba(15,23,42,.065) !important;
  background:#ffffff !important;
  box-shadow:0 10px 22px rgba(15,23,42,.03) !important;
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) 118px !important;
  gap:12px !important;
  align-items:stretch !important;
}

#dfy-upgrade .dfy-value-copy{
  min-height:74px !important;
  padding:12px 14px !important;
  border-radius:12px !important;
  border:1px solid rgba(249,115,22,.16) !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(249,115,22,.045), transparent 42%),
    #ffffff !important;
  display:grid !important;
  align-content:center !important;
  gap:5px !important;
}

#dfy-upgrade .dfy-value-copy > span{
  display:block !important;
  color:#0f172a !important;
  text-align:left !important;
  font-size:15px !important;
  line-height:1.18 !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-value-copy small{
  display:block !important;
  color:#64748b !important;
  text-align:left !important;
  font-size:16px !important;
  line-height:1.42 !important;
  font-weight:700 !important;
}

#dfy-upgrade .dfy-value-list-story strong{
  align-self:stretch !important;
  justify-self:stretch !important;
  min-width:0 !important;
  min-height:100% !important;
  padding:10px 10px !important;
  border-radius:12px !important;
  border:1px solid rgba(249,115,22,.24) !important;
  background:

    radial-gradient(circle at 50% 0%, rgba(249,115,22,.10), transparent 46%),
    #fff7ed !important;
  color:#ea580c !important;
  text-align:center !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
}

#dfy-upgrade .dfy-value-list-story strong span{
  display:block !important;
  color:#ea580c !important;
  text-align:center !important;
  font-size:25px !important;
  line-height:.95 !important;
  letter-spacing:-.04em !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-value-list-story strong em{
  display:block !important;
  margin-top:5px !important;
  color:#ea580c !important;
  text-align:center !important;
  font-size:12px !important;
  line-height:1 !important;
  font-style:normal !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.05em !important;
}


/* =========================
   PRICE CARD
========================= */

#dfy-upgrade .dfy-price-story{
  position:relative !important;
  max-width:860px !important;
  min-height:auto !important;
  padding:42px 26px 24px !important;
  border-radius:26px !important;
  border:1px solid rgba(20,163,112,.24) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(20,163,112,.14), transparent 46%),
    linear-gradient(180deg, #ffffff 0%, #ecfdf5 100%) !important;
  box-shadow:
    0 24px 54px rgba(15,23,42,.08),
    inset 0 1px 0 rgba(255,255,255,.94) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-price-story::before{
  content:"Best Value" !important;
  position:absolute !important;
  top:12px !important;
  right:14px !important;
  padding:7px 11px !important;
  border-radius:999px !important;
  background:#fff7ed !important;
  color:#ea580c !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  border:1px solid rgba(249,115,22,.18) !important;
}

#dfy-upgrade .dfy-price-story > span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto 16px !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  background:#dcfce7 !important;
  color:var(--brand) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.05em !important;
}

#dfy-upgrade .dfy-price-story s{
  display:block !important;
  margin:0 auto 8px !important;
  color:#94a3b8 !important;
  text-align:center !important;
  font-size:32px !important;
  line-height:1 !important;
  font-weight:950 !important;
  text-decoration-thickness:3px !important;
}

#dfy-upgrade .dfy-price-story strong{
  display:block !important;
  margin:0 auto 10px !important;
  color:#070b0a !important;
  text-align:center !important;
  font-size:clamp(58px, 6vw, 78px) !important;
  line-height:.9 !important;
  letter-spacing:-.065em !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-price-story p{
  max-width:100% !important;
  margin:0 auto 20px !important;
  color:#334155 !important;
  text-align:center !important;
  font-size:15px !important;
  line-height:1.4 !important;
  font-weight:850 !important;
}

#dfy-upgrade .dfy-price-story .dfy-story-cta,
#dfy-upgrade .dfy-price-story .dfy-limited-btn{
  width:100% !important;
  max-width:292px !important;
  min-height:56px !important;
  margin:0 auto 14px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  font-size:14px !important;
  font-weight:950 !important;
  letter-spacing:-.01em !important;
  box-shadow:0 16px 34px rgba(20,163,112,.24) !important;
}

#dfy-upgrade .dfy-price-story small{
  display:block !important;
  max-width:330px !important;
  margin:0 auto !important;
  color:#64748b !important;
  text-align:center !important;
  font-size:12.5px !important;
  line-height:1.45 !important;
  font-weight:750 !important;
}


/* =========================
   MOBILE
========================= */

@media (max-width:760px){
  #dfy-upgrade .dfy-value-story{
    padding:56px 18px 62px !important;
  }

  #dfy-upgrade .dfy-value-story h3{
    font-size:38px !important;
    line-height:1.06 !important;
    letter-spacing:-.045em !important;
  }

  #dfy-upgrade .dfy-value-story p{
    font-size:15.5px !important;
  }

  #dfy-upgrade .dfy-value-story .dfy-section-lead{
    font-size:16px !important;
  }

  #dfy-upgrade .dfy-value-story .dfy-section-punch{
    text-align:left !important;
    font-size:17px !important;
  }

  #dfy-upgrade .dfy-value-wrap-story{
    max-width:100% !important;
    margin-top:34px !important;
    gap:16px !important;
  }

  #dfy-upgrade .dfy-value-list-story{
    padding:12px !important;
    border-radius:22px !important;
  }

  #dfy-upgrade .dfy-value-list-story > div{
    grid-template-columns:minmax(0, 1fr) 92px !important;
    gap:10px !important;
    padding:10px !important;
    align-items:stretch !important;
  }

  #dfy-upgrade .dfy-value-copy{
    min-height:78px !important;
    padding:12px !important;
  }

  #dfy-upgrade .dfy-value-copy > span{
    font-size:14px !important;
  }

  #dfy-upgrade .dfy-value-copy small{
    font-size:12.5px !important;
    line-height:1.38 !important;
  }

  #dfy-upgrade .dfy-value-list-story strong{
    padding:8px 8px !important;
  }

  #dfy-upgrade .dfy-value-list-story strong span{
    font-size:20px !important;
  }

  #dfy-upgrade .dfy-value-list-story strong em{
    margin-top:4px !important;
    font-size:10.5px !important;
  }

  #dfy-upgrade .dfy-price-story{
    padding:42px 20px 24px !important;
  }

  #dfy-upgrade .dfy-price-story::before{
    top:12px !important;
    right:12px !important;
  }

  #dfy-upgrade .dfy-price-story s{
    font-size:28px !important;
  }

  #dfy-upgrade .dfy-price-story strong{
    font-size:60px !important;
  }
}

/* =========================
   DFY TESTIMONIALS SECTION
========================= */

#dfy-upgrade .dfy-testimonials-story-section{
  position:relative !important;
  padding:76px 24px 82px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(20,163,112,.07), transparent 40%),
    linear-gradient(180deg, #ffffff 0%, #f8fffb 100%) !important;
  border-bottom:1px solid rgba(20,163,112,.10) !important;
}

#dfy-upgrade .dfy-testimonials-story-section .dfy-story-narrow{
  max-width:900px !important;
  margin:0 auto !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-testimonials-story-section h3{
  max-width:900px !important;
  margin:0 auto 22px !important;
  color:#070b0a !important;
  text-align:center !important;
  font-size:clamp(32px, 4vw, 54px) !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-testimonials-story-section h3 em{
  display:inline-block !important;
  color:var(--brand) !important;
  font-style:normal !important;
}

#dfy-upgrade .dfy-testimonials-story-section p{
  max-width:820px !important;
  margin:0 auto 16px !important;
  color:#334155 !important;
  text-align:left !important;

  font-size:16.5px !important;
  line-height:1.72 !important;
}

#dfy-upgrade .dfy-testimonials-story-section .dfy-section-lead{
  color:#475569 !important;
  font-size:18px !important;
  font-weight:700 !important;
}


/* =========================
   DFY REVIEW CARDS
========================= */

#dfy-upgrade .dfy-reviews-story{
  width:100% !important;
  max-width:1080px !important;
  margin:44px auto 0 !important;
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:18px !important;
}

#dfy-upgrade .dfy-reviews-story > div{
  position:relative !important;
  min-height:300px !important;
  padding:30px 26px 26px !important;
  border-radius:24px !important;
  border:1px solid rgba(20,163,112,.18) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(20,163,112,.08), transparent 42%),
    rgba(255,255,255,.96) !important;
  box-shadow:
    0 20px 46px rgba(15,23,42,.065),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
}

#dfy-upgrade .dfy-reviews-story > div::before{
  content:"\22" !important;
  position:absolute !important;
  top:12px !important;
  right:22px !important;
  color:rgba(20,163,112,.12) !important;
  font-size:76px !important;
  line-height:1 !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-reviews-story span{
  display:block !important;
  margin:0 0 16px !important;
  color:#f59e0b !important;
  text-align:left !important;
  font-size:18px !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-reviews-story p{
  max-width:100% !important;
  margin:0 0 22px !important;
  color:#334155 !important;
  text-align:left !important;
  font-size:15.5px !important;
  line-height:1.65 !important;
  font-weight:750 !important;
}

#dfy-upgrade .dfy-reviews-story strong{
  display:block !important;
  margin-top:auto !important;
  color:#0f172a !important;
  text-align:left !important;
  font-size:14px !important;
  line-height:1.3 !important;
  font-weight:950 !important;
}


/* =========================
   MOBILE
========================= */

@media (max-width:760px){
  #dfy-upgrade .dfy-testimonials-story-section{
    padding:56px 18px 62px !important;
  }

  #dfy-upgrade .dfy-testimonials-story-section h3{
    font-size:38px !important;
    line-height:1.06 !important;
    letter-spacing:-.045em !important;
  }

  #dfy-upgrade .dfy-testimonials-story-section p{
    font-size:15.5px !important;
  }

  #dfy-upgrade .dfy-testimonials-story-section .dfy-section-lead{
    font-size:16px !important;
  }

  #dfy-upgrade .dfy-reviews-story{
    grid-template-columns:1fr !important;
    gap:16px !important;
    margin-top:34px !important;
  }

  #dfy-upgrade .dfy-reviews-story > div{
    min-height:auto !important;
    padding:28px 22px 24px !important;
  }

  #dfy-upgrade .dfy-reviews-story p{
    font-size:15px !important;
  }
}

/* =========================
   DFY FAQ SECTION
========================= */

#dfy-upgrade .dfy-faq-story-section{
  position:relative !important;
  padding:76px 24px 82px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(20,163,112,.065), transparent 40%),
    linear-gradient(180deg, #ffffff 0%, #f8fffb 100%) !important;
  border-bottom:1px solid rgba(20,163,112,.10) !important;
}

#dfy-upgrade .dfy-faq-story-section .dfy-story-narrow{
  max-width:900px !important;
  margin:0 auto !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-faq-story-section h3{
  max-width:900px !important;
  margin:0 auto 22px !important;
  color:#070b0a !important;
  text-align:center !important;
  font-size:clamp(32px, 4vw, 54px) !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-faq-story-section p{
  max-width:820px !important;
  margin:0 auto 16px !important;
  color:#334155 !important;
  text-align:left !important;
  font-size:16.5px !important;
  line-height:1.72 !important;
}

#dfy-upgrade .dfy-faq-story-section .dfy-section-lead{
  color:#475569 !important;
  text-align:center !important;
  font-size:18px !important;
  font-weight:800 !important;
}

#dfy-upgrade .dfy-faq-story{
  width:100% !important;
  max-width:820px !important;
  margin:40px auto 0 !important;
  display:grid !important;
  gap:12px !important;
}

#dfy-upgrade .dfy-faq-story details{
  border-radius:18px !important;
  border:1px solid rgba(20,163,112,.16) !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(20,163,112,.045), transparent 38%),
    rgba(255,255,255,.96) !important;
  box-shadow:
    0 14px 32px rgba(15,23,42,.045),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
  overflow:hidden !important;
}

#dfy-upgrade .dfy-faq-story summary{
  position:relative !important;
  min-height:62px !important;
  padding:20px 58px 20px 22px !important;
  color:#0f172a !important;
  text-align:left !important;
  font-size:15px !important;
  line-height:1.35 !important;
  font-weight:950 !important;
  cursor:pointer !important;
  list-style:none !important;
}

#dfy-upgrade .dfy-faq-story summary::-webkit-details-marker{
  display:none !important;
}

#dfy-upgrade .dfy-faq-story summary::after{
  content:"+" !important;
  position:absolute !important;
  top:50% !important;
  right:22px !important;
  transform:translateY(-50%) !important;
  width:26px !important;
  height:26px !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  background:#dcfce7 !important;
  color:var(--brand) !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-faq-story details[open] summary::after{
  content:"-" !important;
}

#dfy-upgrade .dfy-faq-story details[open] summary{
  border-bottom:1px solid rgba(20,163,112,.10) !important;
}

#dfy-upgrade .dfy-faq-story details p{
  max-width:100% !important;
  margin:0 !important;
  padding:18px 22px 22px !important;
  color:#475569 !important;
  text-align:left !important;
  font-size:15px !important;
  line-height:1.65 !important;
  font-weight:700 !important;
  background:rgba(248,255,251,.72) !important;
}


/* =========================
   MOBILE
========================= */

@media (max-width:760px){
  #dfy-upgrade .dfy-faq-story-section{
    padding:56px 18px 62px !important;
  }

  #dfy-upgrade .dfy-faq-story-section h3{
    font-size:38px !important;
    line-height:1.06 !important;
    letter-spacing:-.045em !important;
  }

  #dfy-upgrade .dfy-faq-story-section p{
    font-size:15.5px !important;
  }

  #dfy-upgrade .dfy-faq-story-section .dfy-section-lead{
    font-size:16px !important;
  }

  #dfy-upgrade .dfy-faq-story{
    margin-top:32px !important;
    gap:10px !important;
  }

  #dfy-upgrade .dfy-faq-story summary{
    min-height:58px !important;
    padding:18px 52px 18px 18px !important;
    font-size:14px !important;
  }

  #dfy-upgrade .dfy-faq-story summary::after{
    right:18px !important;
    width:24px !important;
    height:24px !important;
    font-size:17px !important;
  }

  #dfy-upgrade .dfy-faq-story details p{
    padding:16px 18px 20px !important;
    font-size:14.5px !important;
  }
}

/* =========================
   DFY GUARANTEE SECTION
========================= */

#dfy-upgrade .dfy-guarantee-story{
  position:relative !important;
  padding:76px 24px 82px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(20,163,112,.08), transparent 42%),
    linear-gradient(180deg, #ffffff 0%, #f8fffb 100%) !important;
  border-bottom:1px solid rgba(20,163,112,.10) !important;
}

#dfy-upgrade .dfy-guarantee-card{
  width:100% !important;
  max-width:980px !important;
  margin:0 auto !important;
  padding:44px 34px 34px !important;
  border-radius:30px !important;
  border:1px solid rgba(20,163,112,.22) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(20,163,112,.11), transparent 46%),
    rgba(255,255,255,.96) !important;
  box-shadow:
    0 24px 58px rgba(15,23,42,.07),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
}

#dfy-upgrade .dfy-guarantee-icon-story{
  width:74px !important;
  height:74px !important;
  margin:0 auto 18px !important;
  border-radius:24px !important;
  display:grid !important;
  place-items:center !important;
  background:#dcfce7 !important;
  color:var(--brand) !important;
  font-size:34px !important;
  box-shadow:0 16px 34px rgba(20,163,112,.16) !important;
}

#dfy-upgrade .dfy-guarantee-story .dfy-story-narrow{
  max-width:860px !important;
  margin:0 auto !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-guarantee-story h3{
  max-width:860px !important;
  margin:0 auto 22px !important;
  color:#070b0a !important;
  text-align:center !important;
  font-size:clamp(32px, 4vw, 54px) !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-guarantee-story h3 em{
  display:inline-block !important;
  color:var(--brand) !important;
  font-style:normal !important;
}

#dfy-upgrade .dfy-guarantee-story p{
  max-width:760px !important;
  margin:0 auto 16px !important;
  color:#334155 !important;
  text-align:left !important;
  font-size:16.5px !important;
  line-height:1.72 !important;
}

#dfy-upgrade .dfy-guarantee-story .dfy-section-lead{
  color:#475569 !important;
  text-align:center !important;
  font-size:18px !important;
  font-weight:800 !important;
}

#dfy-upgrade .dfy-guarantee-story .dfy-section-punch{
  max-width:760px !important;
  margin:24px auto 0 !important;
  color:#0f172a !important;
  text-align:center !important;
  font-size:20px !important;
  line-height:1.42 !important;
  font-weight:950 !important;
}


/* =========================
   GUARANTEE STEPS
========================= */

#dfy-upgrade .dfy-guarantee-steps{
  width:100% !important;
  margin:34px auto 0 !important;
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:14px !important;
}

#dfy-upgrade .dfy-guarantee-steps > div{
  min-height:172px !important;
  padding:22px 18px !important;
  border-radius:20px !important;
  border:1px solid rgba(20,163,112,.16) !important;
  background:#ffffff !important;
  box-shadow:0 14px 32px rgba(15,23,42,.045) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-guarantee-steps span{
  width:34px !important;
  height:34px !important;
  margin:0 auto 12px !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  background:#dcfce7 !important;
  font-size:16px !important;
  line-height:1 !important;
}

#dfy-upgrade .dfy-guarantee-steps strong{
  display:block !important;
  margin:0 auto 8px !important;
  color:#070b0a !important;
  text-align:center !important;
  font-size:17px !important;
  line-height:1.18 !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-guarantee-steps p{
  max-width:100% !important;
  margin:0 auto !important;
  color:#64748b !important;
  text-align:center !important;
  font-size:13.5px !important;
  line-height:1.45 !important;
  font-weight:700 !important;
}


/* =========================
   MOBILE
========================= */

@media (max-width:760px){
  #dfy-upgrade .dfy-guarantee-story{
    padding:56px 18px 62px !important;
  }

  #dfy-upgrade .dfy-guarantee-card{
    padding:34px 20px 24px !important;
    border-radius:26px !important;
  }

  #dfy-upgrade .dfy-guarantee-icon-story{
    width:64px !important;
    height:64px !important;
    border-radius:22px !important;
    font-size:30px !important;
  }

  #dfy-upgrade .dfy-guarantee-story h3{
    font-size:38px !important;
    line-height:1.06 !important;
    letter-spacing:-.045em !important;
  }

  #dfy-upgrade .dfy-guarantee-story p{
    font-size:15.5px !important;
  }

  #dfy-upgrade .dfy-guarantee-story .dfy-section-lead{
    font-size:16px !important;
  }

  #dfy-upgrade .dfy-guarantee-story .dfy-section-punch{
    text-align:left !important;
    font-size:17px !important;
  }

  #dfy-upgrade .dfy-guarantee-steps{
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-top:28px !important;
  }

  #dfy-upgrade .dfy-guarantee-steps > div{
    min-height:auto !important;
    padding:20px 18px !important;
  }
}

/* =========================
   DFY FINAL CTA SECTION
========================= */

#dfy-upgrade .dfy-final-story{
  position:relative !important;
  padding:82px 24px 92px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(249,115,22,.10), transparent 42%),
    radial-gradient(circle at 50% 100%, rgba(20,163,112,.10), transparent 46%),
    linear-gradient(180deg, #fffaf5 0%, #f8fffb 100%) !important;
  border-bottom:1px solid rgba(20,163,112,.12) !important;
}

#dfy-upgrade .dfy-final-card{
  width:100% !important;
  max-width:980px !important;
  margin:0 auto !important;
  padding:48px 38px 40px !important;
  border-radius:32px !important;
  border:1px solid rgba(20,163,112,.22) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(20,163,112,.10), transparent 46%),
    rgba(255,255,255,.96) !important;
  box-shadow:
    0 28px 64px rgba(15,23,42,.085),
    inset 0 1px 0 rgba(255,255,255,.96) !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-final-story .dfy-story-kicker{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto 18px !important;
  padding:10px 16px !important;
  border-radius:999px !important;
  background:#dcfce7 !important;
  color:var(--brand) !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  border:1px solid rgba(20,163,112,.18) !important;
  box-shadow:0 12px 26px rgba(20,163,112,.10) !important;
}

#dfy-upgrade .dfy-final-story h3{
  max-width:820px !important;
  margin:0 auto 22px !important;
  color:#070b0a !important;
  text-align:center !important;
  font-size:clamp(36px, 5vw, 64px) !important;
  line-height:1.01 !important;
  letter-spacing:-.06em !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-final-story h3 em{
  display:inline-block !important;
  color:var(--brand) !important;
  font-style:normal !important;
}

#dfy-upgrade .dfy-final-story p{
  max-width:790px !important;
  margin:0 auto 16px !important;
  color:#334155 !important;
  text-align:center !important;
  font-size:17px !important;
  line-height:1.65 !important;
  font-weight:700 !important;
}


/* =========================
   FINAL CTA CHECKS
========================= */

#dfy-upgrade .dfy-final-checks{
  width:100% !important;
  max-width:820px !important;
  margin:30px auto 28px !important;
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:12px !important;
}

#dfy-upgrade .dfy-final-checks > div{
  min-height:58px !important;
  padding:14px 16px !important;
  border-radius:16px !important;
  border:1px solid rgba(20,163,112,.16) !important;
  background:#ffffff !important;
  box-shadow:0 12px 28px rgba(15,23,42,.045) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-final-checks span{
  width:24px !important;
  height:24px !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  background:#dcfce7 !important;
  font-size:14px !important;
  line-height:1 !important;
  flex:0 0 auto !important;
}

#dfy-upgrade .dfy-final-checks strong{
  display:block !important;
  color:#0f172a !important;
  text-align:left !important;
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:950 !important;
}


/* =========================
   FINAL ACTION PANEL
========================= */

#dfy-upgrade .dfy-final-action-panel{
  width:100% !important;
  max-width:820px !important;
  margin:28px auto 0 !important;
  padding:24px 28px 22px !important;
  border-radius:24px !important;
  border:1px solid rgba(249,115,22,.22) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(249,115,22,.10), transparent 44%),
    linear-gradient(180deg, #fffaf5 0%, #ffffff 100%) !important;
  box-shadow:
    0 18px 42px rgba(15,23,42,.065),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-final-urgency-pill{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto 10px !important;
  padding:9px 14px !important;
  border-radius:999px !important;
  background:#fff7ed !important;
  color:#ea580c !important;
  text-align:center !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  border:1px solid rgba(249,115,22,.24) !important;
  box-shadow:0 10px 22px rgba(249,115,22,.10) !important;
}

#dfy-upgrade .dfy-final-action-panel h4{
  margin:0 auto 6px !important;
  color:#070b0a !important;
  text-align:center !important;
  font-size:28px !important;
  line-height:1.08 !important;
  letter-spacing:-.04em !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-final-action-panel p{
  max-width:820px !important;
  margin:0 auto 16px !important;
  color:#475569 !important;
  text-align:center !important;
  font-size:15px !important;
  line-height:1.5 !important;
  font-weight:750 !important;
}

#dfy-upgrade .dfy-final-action-panel .dfy-story-cta{
  width:100% !important;
  max-width:380px !important;
  min-height:60px !important;
  margin:0 auto 14px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  font-size:15px !important;
  font-weight:950 !important;
  letter-spacing:-.01em !important;
  box-shadow:0 18px 38px rgba(20,163,112,.26) !important;
}

#dfy-upgrade .dfy-final-action-panel small{
  display:block !important;
  max-width:820px !important;
  margin:0 auto !important;
  color:#64748b !important;
  text-align:center !important;
  font-size:12.5px !important;
  line-height:1.45 !important;
  font-weight:750 !important;
}


/* =========================
   MOBILE
========================= */

@media (max-width:760px){
  #dfy-upgrade .dfy-final-story{
    padding:58px 18px 68px !important;
  }

  #dfy-upgrade .dfy-final-card{
    padding:38px 20px 30px !important;
    border-radius:28px !important;
  }

  #dfy-upgrade .dfy-final-story .dfy-story-kicker{
    font-size:11px !important;
    line-height:1.25 !important;
    padding:10px 14px !important;
  }

  #dfy-upgrade .dfy-final-story h3{
    font-size:40px !important;
    line-height:1.05 !important;
    letter-spacing:-.05em !important;
  }

  #dfy-upgrade .dfy-final-story p{
    font-size:15.5px !important;
    line-height:1.6 !important;
  }

  #dfy-upgrade .dfy-final-checks{
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin:26px auto 28px !important;
  }

  #dfy-upgrade .dfy-final-checks > div{
    justify-content:flex-start !important;
    text-align:left !important;
  }

  #dfy-upgrade .dfy-final-action-panel{
    max-width:100% !important;
    margin-top:28px !important;
    padding:22px 16px 20px !important;
    border-radius:22px !important;
  }

  #dfy-upgrade .dfy-final-urgency-pill{
    width:100% !important;
    font-size:11px !important;
    line-height:1.25 !important;
    padding:10px 12px !important;
  }

  #dfy-upgrade .dfy-final-action-panel h4{
    font-size:24px !important;
  }

  #dfy-upgrade .dfy-final-action-panel p{
    font-size:14.5px !important;
  }

  #dfy-upgrade .dfy-final-action-panel .dfy-story-cta{
    max-width:100% !important;
    min-height:58px !important;
    font-size:14px !important;
  }

  #dfy-upgrade .dfy-final-action-panel small{
    font-size:12.5px !important;
  }
}

/* =========================
   DFY EXPAND SCROLL OFFSET
========================= */

#dfy-upgrade,
#upsell-u104,
.dfy-expanded-sales,
.dfy-expanded-card,
.dfy-expanded-hero{
  scroll-margin-top:120px !important;
}


/* =========================
   DIY VS DFY BOTTOM NOTE
========================= */

#dfy-upgrade .dfy-diy-dfy-section .dfy-route-bottom-note{
  width:100% !important;
  max-width:1080px !important;
  margin:28px auto 0 !important;
  padding:24px 34px !important;
  display:grid !important;
  grid-template-columns:auto 1fr !important;
  align-items:center !important;
  gap:22px !important;
}

#dfy-upgrade .dfy-diy-dfy-section .dfy-route-bottom-note p{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  text-align:left !important;
}


/* =========================
   DFY PREVIEW CARD
========================= */

.dfy-card-wide .dfy-card-inner{
  align-items:stretch;
}

.dfy-card .dfy-card-body{
  padding-top:28px;
  padding-bottom:28px;
}

.dfy-card .dfy-copy-block{
  max-width:560px;
  margin:0 auto;
  text-align:center;
}

.dfy-card .training-start-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 10px;
}

.dfy-card .product-title{
  max-width:560px;
  margin:0 auto 10px;
  font-size:clamp(24px, 2vw, 32px);
  line-height:1.05;
  letter-spacing:-.035em;
}

.dfy-card .dfy-lead-copy{
  max-width:560px;
  margin:0 auto;
  font-size:15px;
  line-height:1.45;
  font-weight:700;
}

.dfy-card .dfy-lead-punch{
  margin-top:12px;
  padding:12px 16px;
  border-radius:14px;
  background:rgba(236,253,245,.85);
  border:1px solid rgba(16,185,129,.22);
  color:#10251d;
  font-weight:800;
}


/* =========================
   DFY PREVIEW BULLETS
========================= */

.dfy-card .dfy-checklist-grid{
  margin-top:18px;
  gap:9px 14px;
}

.dfy-card .dfy-checklist-grid li{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:34px;
  padding:8px 11px;
  border-radius:12px;
  background:#fff;
  border:1px solid rgba(15,23,42,.07);
  box-shadow:0 6px 14px rgba(15,23,42,.04);
}

.dfy-card .dfy-checklist-grid .check{
  width:22px;
  height:22px;
  min-width:22px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#16a34a;
  color:#fff;
  font-size:12px;
  font-weight:900;
  line-height:1;
}

.dfy-card .dfy-checklist-grid li span:last-child{
  color:#172033;
  font-size:13px;
  line-height:1.15;
  font-weight:800;
}


/* =========================
   LOCKED CTA OFFER BOX
   Used for all DFY CTA sections
========================= */

.dfy-offer-box{
  position:relative;
  width:100%;
  max-width:720px;
  margin:28px auto 0;
  padding:32px 22px 24px;
  border:1px solid rgba(249,115,22,.35);
  border-radius:16px;
  background:rgba(255,255,255,.58);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:14px;
  box-shadow:
    0 12px 28px rgba(249,115,22,.12),
    inset 0 1px 0 rgba(255,255,255,.7);
}

.dfy-card .dfy-offer-box{
  max-width:none;
  margin-top:18px;
}

.dfy-build-stack-cta,
.dfy-limited-cta-box,
.dfy-final-action-panel,
.dfy-price-story{
  width:100%;
}


/* =========================
   LOCKED ORANGE URGENCY PILL
========================= */

.dfy-urgency{
  position:absolute;
  top:-15px;
  left:50%;
  transform:translateX(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 14px;
  border-radius:999px;
  background:linear-gradient(135deg,#f97316,#ea580c);
  color:#fff;
  font-size:12px;
  line-height:1.2;
  font-weight:800;
  white-space:nowrap;
  box-shadow:0 6px 16px rgba(249,115,22,.35);
  animation:dfyPulse 2.4s ease-in-out infinite;
}

@keyframes dfyPulse{
  0%,100%{
    transform:translateX(-50%) scale(1);
    box-shadow:0 6px 16px rgba(249,115,22,.28);
  }

  50%{
    transform:translateX(-50%) scale(1.035);
    box-shadow:0 8px 22px rgba(249,115,22,.42);
  }
}

@media (prefers-reduced-motion:reduce){
  .dfy-urgency{
    animation:none;
  }
}


/* =========================
   LOCKED PRICE / MESSAGE STACK
========================= */

.dfy-price-stack{
  width:100%;
  max-width:560px;
  display:grid;
  gap:12px;
  margin-top:4px;
}

.dfy-price-main,
.dfy-guarantee-mini{
  width:100%;
  border:1px solid rgba(249,115,22,.16);
  border-radius:14px;
  background:rgba(255,255,255,.72);
  padding:14px 16px;
}

.dfy-price-main-full{
  width:100%;
}

.dfy-price-label{
  display:block;
  margin-bottom:6px;
  color:#9a3412;
  font-size:18px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.02em;
}

.dfy-price-row{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:10px;
  margin-bottom:8px;
}

.dfy-price-row .price{
  color:var(--brand);
  font-size:48px;
  font-weight:900;
  line-height:1;
}

.dfy-price-row .old-price{
  color:var(--muted);
  font-size:18px;
  font-weight:700;
  opacity:.7;
  text-decoration:line-through;
  transform:translateY(-5px);
}

.dfy-price-main .dfy-value,
.dfy-value{
  max-width:75%;
  margin:0 auto;
  color:var(--muted);
  text-align:center;
  font-size:12.5px;
  line-height:1.45;
}

.dfy-build-stack-message,
.dfy-limited-cta-message,
.dfy-final-action-message{
  max-width:640px;
  margin:0 auto;
  color:#0f172a;
  text-align:center;
  font-size:18px;
  line-height:1.45;
  font-weight:900;
}


/* =========================
   LOCKED FULL-WIDTH RECTANGLE CTA
========================= */

.dfy-offer-box .btn,
.dfy-offer-box .dfy-cta-full{
  width:100% !important;
  max-width:none !important;
  min-height:56px;
  align-self:stretch;
  margin:0 !important;
  padding:16px 24px !important;
  border-radius:12px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px;
  text-align:center;
  font-size:18px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:.01em;
  box-shadow:0 10px 24px rgba(20,163,112,.35);
}

.dfy-offer-box .btn:hover,
.dfy-offer-box .dfy-cta-full:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(20,163,112,.45);
}

.dfy-offer-box .btn::before,
.dfy-offer-box .dfy-cta-full::before{
  content:none;
  color:#fff;
  font-size:17px;
  line-height:1;
}

.dfy-offer-box .btn{
  border-radius:12px !important;
}


/* =========================
   LOCKED IRON-CLAD PROMISE
========================= */

.dfy-guarantee-mini.dfy-guarantee-full{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:16px 18px;
  border-radius:16px;
}

.dfy-guarantee-copy{
  width:100%;
  max-width:560px;
  margin:0 auto;
  text-align:center;
}

.dfy-guarantee-copy strong{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin:0;
  color:#142033;
  text-align:center;
  font-size:15px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:0;
  text-transform:none;
}

.dfy-guarantee-inline-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  line-height:1;
}

.dfy-guarantee-copy small{
  display:block;
  width:100%;
  max-width:560px;
  margin:4px auto 0;
  color:#64748b;
  text-align:center;
  font-size:12px;
  line-height:1.45;
  font-weight:700;
}


/* =========================
   VALUE STACK PRICE CTA
========================= */

.dfy-value-story .dfy-price-story{
  text-align:center;
}

.dfy-value-story .dfy-price-story.dfy-offer-box{
  max-width:720px;
}

.dfy-value-story .dfy-price-story .dfy-price-label{
  margin-bottom:8px;
}

.dfy-value-story .dfy-price-story .dfy-price-row .price{
  font-size:clamp(52px, 6vw, 78px);
}

.dfy-value-story .dfy-price-story .dfy-price-main .dfy-value{
  max-width:520px;
}


/* =========================
   FINAL CTA PANEL CLEANUP
========================= */

#dfy-upgrade .dfy-final-checks{
  width:100% !important;
  max-width:820px !important;
  margin:30px auto 28px !important;
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:12px !important;
}

#dfy-upgrade .dfy-final-checks > div{
  min-height:58px !important;
  padding:14px 16px !important;
  border-radius:16px !important;
  border:1px solid rgba(20,163,112,.16) !important;
  background:#ffffff !important;
  box-shadow:0 12px 28px rgba(15,23,42,.045) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-final-checks span{
  width:24px !important;
  height:24px !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  background:#dcfce7 !important;
  font-size:14px !important;
  line-height:1 !important;
  flex:0 0 auto !important;
}

#dfy-upgrade .dfy-final-checks strong{
  display:block !important;
  color:#0f172a !important;
  text-align:left !important;
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:950 !important;
}

#dfy-upgrade .dfy-final-action-panel.dfy-offer-box{
  max-width:720px !important;
  margin:32px auto 0 !important;
}


/* =========================
   MOBILE
========================= */

@media (max-width:760px){

  #dfy-upgrade .dfy-diy-dfy-section .dfy-route-bottom-note{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    text-align:center !important;
    padding:22px 18px !important;
    gap:12px !important;
  }

  #dfy-upgrade .dfy-diy-dfy-section .dfy-route-bottom-note p{
    text-align:center !important;
  }

  .dfy-card .dfy-copy-block{
    text-align:center;
  }

  .dfy-card .product-title{
    font-size:27px;
  }

  .dfy-card .dfy-lead-copy{
    font-size:14px;
  }

  .dfy-card .dfy-checklist-grid{
    grid-template-columns:1fr;
  }

  .dfy-offer-box{
    max-width:100%;
    padding:34px 16px 20px;
    border-radius:16px;
  }

  .dfy-urgency{
    width:calc(100% - 32px);
    max-width:420px;
    padding:8px 12px;
    white-space:normal;
    text-align:center;
    font-size:11.5px;
  }

  .dfy-price-stack{
    max-width:100%;
  }

  .dfy-price-label{
    font-size:15px;
  }

  .dfy-price-row{
    flex-direction:column;
    align-items:center;
    gap:4px;
  }

  .dfy-price-row .price{
    font-size:46px;
  }

  .dfy-price-row .old-price{
    transform:none;
    font-size:13px;
  }

  .dfy-price-main .dfy-value,
  .dfy-value{
    max-width:100%;
    font-size:11.5px;
  }

  .dfy-build-stack-message,
  .dfy-limited-cta-message,
  .dfy-final-action-message{
    font-size:15px;
    line-height:1.45;
  }

  .dfy-offer-box .btn,
  .dfy-offer-box .dfy-cta-full{
    min-height:54px;
    padding:14px 16px !important;
    font-size:14px;
    border-radius:12px !important;
  }

  .dfy-guarantee-mini.dfy-guarantee-full{
    padding:14px 12px;
  }

  .dfy-guarantee-copy strong{
    font-size:13px;
  }

  .dfy-guarantee-copy small{
    font-size:11px;
  }

  #dfy-upgrade .dfy-final-story{
    padding:58px 18px 68px !important;
  }

  #dfy-upgrade .dfy-final-card{
    padding:38px 20px 30px !important;
    border-radius:28px !important;
  }

  #dfy-upgrade .dfy-final-story .dfy-story-kicker{
    font-size:11px !important;
    line-height:1.25 !important;
    padding:10px 14px !important;
  }

  #dfy-upgrade .dfy-final-story h3{
    font-size:40px !important;
    line-height:1.05 !important;
    letter-spacing:-.05em !important;
  }

  #dfy-upgrade .dfy-final-story p{
    font-size:15.5px !important;
    line-height:1.6 !important;
  }

  #dfy-upgrade .dfy-final-checks{
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin:26px auto 28px !important;
  }

  #dfy-upgrade .dfy-final-checks > div{
    justify-content:flex-start !important;
    text-align:left !important;
  }

}

/* =========================
   VALUE STACK CTA HARD FIX
   Stops old .dfy-price-story rules breaking the guarantee
========================= */

#dfy-upgrade .dfy-value-story .dfy-value-cta-box.dfy-offer-box{
  position:relative !important;
  width:100% !important;
  max-width:720px !important;
  margin:0 auto !important;
  padding:32px 22px 24px !important;
  border:1px solid rgba(249,115,22,.35) !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.58) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center !important;
  gap:14px !important;
  box-shadow:
    0 12px 28px rgba(249,115,22,.12),
    inset 0 1px 0 rgba(255,255,255,.7) !important;
}

#dfy-upgrade .dfy-value-story .dfy-value-cta-box .dfy-price-stack{
  width:100% !important;
  max-width:560px !important;
  display:grid !important;
  gap:12px !important;
  margin:4px auto 0 !important;
}

#dfy-upgrade .dfy-value-story .dfy-value-cta-box .dfy-price-main{
  width:100% !important;
  padding:14px 16px !important;
  border:1px solid rgba(249,115,22,.16) !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.72) !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-value-story .dfy-value-cta-box .dfy-price-label{
  display:block !important;
  margin:0 0 8px !important;
  color:#9a3412 !important;
  text-align:center !important;
  font-size:18px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
  text-transform:none !important;
}

#dfy-upgrade .dfy-value-story .dfy-value-cta-box .dfy-price-row{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
  gap:10px !important;
  margin:0 0 8px !important;
}

#dfy-upgrade .dfy-value-story .dfy-value-cta-box .dfy-price-row .price{
  color:var(--brand) !important;
  text-align:center !important;
  font-size:clamp(52px, 6vw, 78px) !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.04em !important;
  text-transform:none !important;
}

#dfy-upgrade .dfy-value-story .dfy-value-cta-box .dfy-price-row .old-price{
  color:var(--muted) !important;
  text-align:center !important;
  font-size:18px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  opacity:.7 !important;
  text-decoration:line-through !important;
  text-transform:none !important;
  transform:translateY(-5px) !important;
}

#dfy-upgrade .dfy-value-story .dfy-value-cta-box .dfy-value{
  width:100% !important;
  max-width:520px !important;
  margin:0 auto !important;
  color:var(--muted) !important;
  text-align:center !important;
  font-size:12.5px !important;
  line-height:1.45 !important;
  font-weight:700 !important;
  text-transform:none !important;
}

#dfy-upgrade .dfy-value-story .dfy-value-cta-box .dfy-cta-full{
  width:100% !important;
  max-width:none !important;
  min-height:56px !important;
  align-self:stretch !important;
  margin:0 !important;
  padding:16px 24px !important;
  border-radius:12px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  color:#fff !important;
  text-align:center !important;
  font-size:18px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  text-transform:uppercase !important;
  box-shadow:0 10px 24px rgba(20,163,112,.35) !important;
}

#dfy-upgrade .dfy-value-story .dfy-value-cta-box .dfy-cta-full::before{
  content:none !important;
  color:#fff !important;
  font-size:17px !important;
  line-height:1 !important;
}


/* =========================
   VALUE STACK GUARANTEE HARD FIX
========================= */

#dfy-upgrade .dfy-value-story .dfy-value-cta-box .dfy-guarantee-mini.dfy-guarantee-full{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:16px 18px !important;
  border:1px solid rgba(249,115,22,.16) !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.72) !important;
  text-align:center !important;
  gap:0 !important;
}

#dfy-upgrade .dfy-value-story .dfy-value-cta-box .dfy-guarantee-copy{
  width:100% !important;
  max-width:560px !important;
  margin:0 auto !important;
  padding:0 !important;
  text-align:center !important;
}

#dfy-upgrade .dfy-value-story .dfy-value-cta-box .dfy-guarantee-copy strong{
  width:auto !important;
  max-width:none !important;
  height:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  margin:0 !important;
  padding:0 !important;
  color:#142033 !important;
  text-align:center !important;
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

#dfy-upgrade .dfy-value-story .dfy-value-cta-box .dfy-guarantee-copy strong .dfy-guarantee-inline-icon{
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:inherit !important;
  font-size:16px !important;
  line-height:1 !important;
  text-transform:none !important;
}

#dfy-upgrade .dfy-value-story .dfy-value-cta-box .dfy-guarantee-copy small{
  width:100% !important;
  max-width:560px !important;
  display:block !important;
  margin:4px auto 0 !important;
  padding:0 !important;
  color:#64748b !important;
  text-align:center !important;
  font-size:12px !important;
  line-height:1.45 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}


/* =========================
   MOBILE VALUE STACK CTA FIX
========================= */

@media (max-width:760px){
  #dfy-upgrade .dfy-value-story .dfy-value-cta-box.dfy-offer-box{
    max-width:100% !important;
    padding:34px 16px 20px !important;
  }

  #dfy-upgrade .dfy-value-story .dfy-value-cta-box .dfy-price-row{
    flex-direction:column !important;
    align-items:center !important;
    gap:4px !important;
  }

  #dfy-upgrade .dfy-value-story .dfy-value-cta-box .dfy-price-row .price{
    font-size:46px !important;
  }

  #dfy-upgrade .dfy-value-story .dfy-value-cta-box .dfy-price-row .old-price{
    transform:none !important;
    font-size:18px !important;
  }

  #dfy-upgrade .dfy-value-story .dfy-value-cta-box .dfy-cta-full{
    min-height:54px !important;
    padding:14px 16px !important;
    font-size:14px !important;
  }

  #dfy-upgrade .dfy-value-story .dfy-value-cta-box .dfy-guarantee-copy strong{
    font-size:13px !important;
  }

  #dfy-upgrade .dfy-value-story .dfy-value-cta-box .dfy-guarantee-copy small{
    font-size:11px !important;
  }
}

/* =========================
   VALUE STACK CTA WIDTH MATCH
========================= */

#dfy-upgrade .dfy-value-story .dfy-value-cta-box.dfy-offer-box{
  width:100% !important;
  max-width:980px !important;
  margin:28px auto 0 !important;
}

#dfy-upgrade .dfy-value-story .dfy-value-cta-box .dfy-price-stack{
  width:100% !important;
  max-width:590px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* =========================
   VALUE STACK EXISTING BEST VALUE PILL FIX
========================= */

#dfy-upgrade .dfy-value-story .dfy-value-cta-box .dfy-best-value,
#dfy-upgrade .dfy-value-story .dfy-value-cta-box .best-value,
#dfy-upgrade .dfy-value-story .dfy-value-cta-box .value-badge{
  position:absolute !important;
  top:16px !important;
  right:18px !important;
  z-index:5 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:7px 13px !important;
  border-radius:999px !important;
  background:#fff7ed !important;
  border:1px solid rgba(249,115,22,.28) !important;
  color:#ea580c !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.035em !important;
  text-transform:uppercase !important;
  box-shadow:0 8px 18px rgba(249,115,22,.10) !important;
}

@media (max-width:760px){
  #dfy-upgrade .dfy-value-story .dfy-value-cta-box .dfy-best-value,
  #dfy-upgrade .dfy-value-story .dfy-value-cta-box .best-value,
  #dfy-upgrade .dfy-value-story .dfy-value-cta-box .value-badge{
    top:14px !important;
    right:14px !important;
    padding:6px 10px !important;
    font-size:10px !important;
  }
}

/* =========================
   FINAL CTA WIDTH MATCH
   Match offer box to bullet/check pills
========================= */

#dfy-upgrade #dfy-final-offer .dfy-final-checks{
  width:100% !important;
  max-width:820px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

#dfy-upgrade #dfy-final-offer .dfy-final-action-panel.dfy-offer-box{
  width:100% !important;
  max-width:820px !important;
  margin:32px auto 0 !important;
}

#dfy-upgrade #dfy-final-offer .dfy-final-action-panel .dfy-price-stack{
  width:100% !important;
  max-width:560px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* =========================
   TOOL MODAL HERO UPGRADE
   Used for AWeber / Leadpages / Udimi modals
========================= */

.tool-hero{
  padding:30px 24px 32px !important;
  background:
    radial-gradient(circle at 88% 18%, rgba(20,163,112,.16), transparent 34%),
    linear-gradient(135deg, rgba(236,253,245,.98), rgba(255,255,255,.96)) !important;
  border-bottom:1px solid rgba(20,163,112,.16) !important;
}

.tool-hero .ms-badge{
  margin-bottom:14px !important;
  padding:7px 13px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#f97316,#ea580c) !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(249,115,22,.22) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
}

.tool-hero-title{
  max-width:820px !important;
  margin:0 0 14px !important;
  color:#07111f !important;
  font-size:clamp(30px, 4.2vw, 52px) !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
  font-weight:950 !important;
}

.tool-hero-title em{
  color:var(--brand) !important;
  font-style:normal !important;
}

.tool-hero-sub{
  max-width:850px !important;
  margin:0 !important;
  color:#334155 !important;
  font-size:16px !important;
  line-height:1.6 !important;
  font-weight:650 !important;
}

.tool-hero-sub strong{
  color:var(--brand) !important;
  font-weight:950 !important;
}


/* =========================
   TOOL MODAL POWER CALLOUT
========================= */

.tool-power-callout{
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
  margin:0 0 14px !important;
  padding:14px 16px !important;
  border-radius:14px !important;
  background:linear-gradient(135deg, rgba(255,247,237,.95), rgba(255,255,255,.96)) !important;
  border:1px solid rgba(249,115,22,.22) !important;
  color:#0f172a !important;
  font-size:14px !important;
  line-height:1.45 !important;
  box-shadow:0 8px 18px rgba(249,115,22,.06) !important;
}

.tool-power-callout strong{
  color:#ea580c !important;
  white-space:nowrap !important;
  font-weight:950 !important;
}

.tool-power-callout span{
  color:#334155 !important;
  font-weight:750 !important;
}


/* =========================
   TOOL MODAL CTA UPGRADE
========================= */

.ms-copy .ms-cta .btn,
.ms-sticky .btn{
  font-weight:900 !important;
  border-radius:12px !important;
  box-shadow:0 10px 24px rgba(20,163,112,.28) !important;
}

.ms-copy .ms-cta .btn:hover,
.ms-sticky .btn:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 14px 30px rgba(20,163,112,.38) !important;
}


/* =========================
   TOOL MODAL DESCRIPTION BOXES
========================= */

#offer-aweber .ms-desc h4{
  color:#0f172a !important;
  font-weight:950 !important;
  letter-spacing:-.02em !important;
}

#offer-aweber .ms-desc strong{
  color:var(--brand) !important;
  font-weight:950 !important;
}

#offer-aweber .checklist li{
  align-items:flex-start !important;
}

#offer-aweber .checklist .check{
  margin-top:1px !important;
}


/* =========================
   MOBILE TOOL MODAL CLEANUP
========================= */

@media (max-width:760px){
  .tool-hero{
    padding:24px 18px 26px !important;
  }

  .tool-hero-title{
    font-size:34px !important;
    line-height:1.05 !important;
  }

  .tool-hero-sub{
    font-size:15px !important;
    line-height:1.55 !important;
  }

  .tool-power-callout{
    flex-direction:column !important;
    gap:5px !important;
    padding:13px 14px !important;
  }

  .tool-power-callout strong{
    white-space:normal !important;
  }
}

/* =========================
   TOOL MODAL SALES ENERGY UPGRADE
   AWeber / Leadpages / Udimi
========================= */

#offer-aweber .tool-hero{
  padding:34px 28px 36px !important;
  background:
    radial-gradient(circle at 88% 16%, rgba(20,163,112,.20), transparent 34%),
    radial-gradient(circle at 8% 92%, rgba(249,115,22,.10), transparent 34%),
    linear-gradient(135deg, rgba(236,253,245,.98), rgba(255,255,255,.98)) !important;
  border-bottom:1px solid rgba(249,115,22,.24) !important;
}

#offer-aweber .tool-hero .ms-badge{
  margin-bottom:16px !important;
  padding:8px 15px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#f97316,#ea580c) !important;
  color:#fff !important;
  border:1px solid rgba(249,115,22,.35) !important;
  box-shadow:0 10px 22px rgba(249,115,22,.24) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.045em !important;
  text-transform:uppercase !important;
}

#offer-aweber .tool-hero-title{
  max-width:880px !important;
  margin:0 0 16px !important;
  color:#07111f !important;
  font-size:clamp(34px, 5vw, 62px) !important;
  line-height:.98 !important;
  letter-spacing:-.065em !important;
  font-weight:950 !important;
}

#offer-aweber .tool-hero-title em{
  position:relative !important;
  z-index:1 !important;
  display:inline-block !important;
  color:var(--brand) !important;
  font-style:normal !important;
  white-space:normal !important;
}

#offer-aweber .tool-hero-sub{
  max-width:900px !important;
  margin:0 !important;
  color:#334155 !important;
  font-size:17px !important;
  line-height:1.62 !important;
  font-weight:700 !important;
}

#offer-aweber .tool-hero-sub strong{
  color:var(--brand) !important;
  font-weight:950 !important;
}


/* =========================
   TOOL MODAL MAIN GRID ENERGY
========================= */

#offer-aweber .ms-grid{
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,250,245,.72)) !important;
}

#offer-aweber .ms-copy{
  padding:2px 0 !important;
}

#offer-aweber .pill-row{
  gap:8px !important;
  margin-bottom:4px !important;
}

#offer-aweber .pill-chip{
  border:1px solid rgba(20,163,112,.22) !important;
  background:rgba(236,253,245,.96) !important;
  color:#0f5132 !important;
  font-weight:850 !important;
}


/* =========================
   TOOL POWER CALLOUT - STRONGER
========================= */

#offer-aweber .tool-power-callout{
  margin:4px 0 16px !important;
  padding:16px 18px !important;
  border-radius:16px !important;
  background:
    radial-gradient(circle at 96% 0%, rgba(249,115,22,.16), transparent 34%),
    linear-gradient(135deg, rgba(255,247,237,.98), rgba(255,255,255,.98)) !important;
  border:1px solid rgba(249,115,22,.34) !important;
  box-shadow:0 12px 24px rgba(249,115,22,.08) !important;
}

#offer-aweber .tool-power-callout strong{
  color:#ea580c !important;
  font-size:14px !important;
  font-weight:950 !important;
}

#offer-aweber .tool-power-callout span{
  color:#1e293b !important;
  font-size:14px !important;
  line-height:1.45 !important;
  font-weight:850 !important;
}


/* =========================
   TOOL CHECKLIST / BULLETS UPGRADE
========================= */

#offer-aweber .ms-copy .checklist{
  gap:10px !important;
}

#offer-aweber .ms-copy .checklist li{
  position:relative !important;
  align-items:flex-start !important;
  gap:12px !important;
  padding:13px 14px !important;
  border-radius:14px !important;
  background:#ffffff !important;
  border:1px solid rgba(249,115,22,.16) !important;
  box-shadow:
    0 8px 18px rgba(15,23,42,.045),
    inset 0 1px 0 rgba(255,255,255,.85) !important;
}

#offer-aweber .ms-copy .checklist li::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:12px !important;
  bottom:12px !important;
  width:3px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#f97316,#16a34a) !important;
}

#offer-aweber .ms-copy .checklist .check{
  width:25px !important;
  height:25px !important;
  min-width:25px !important;
  margin-top:1px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#18a87a,#0d7f5d) !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:950 !important;
  box-shadow:0 8px 16px rgba(20,163,112,.22) !important;
}

#offer-aweber .ms-copy .checklist li span:last-child{
  color:#334155 !important;
  font-size:13.5px !important;
  line-height:1.45 !important;
  font-weight:700 !important;
}

#offer-aweber .ms-copy .checklist li strong{
  color:#07111f !important;
  font-weight:950 !important;
}


/* =========================
   TOOL CTA UPGRADE
========================= */

#offer-aweber .ms-copy .ms-cta{
  margin-top:4px !important;
}

#offer-aweber .ms-copy .ms-cta .btn{
  width:100% !important;
  min-height:54px !important;
  border-radius:12px !important;
  background:linear-gradient(135deg,var(--brand-2),var(--brand)) !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:950 !important;
  letter-spacing:.01em !important;
  box-shadow:0 14px 30px rgba(20,163,112,.32) !important;
}

#offer-aweber .ms-note{
  margin-top:2px !important;
  color:#64748b !important;
  font-size:12px !important;
  line-height:1.4 !important;
  font-weight:750 !important;
}


/* =========================
   MODAL DESCRIPTION BOXES - ORANGE OUTLINE
========================= */

#offer-aweber .ms-desc{
  border:1px solid rgba(249,115,22,.24) !important;
  border-radius:16px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,250,245,.78)) !important;
  box-shadow:0 10px 24px rgba(15,23,42,.04) !important;
}

#offer-aweber .ms-desc h4{
  position:relative !important;
  margin:0 0 10px !important;
  padding-bottom:8px !important;
  color:#07111f !important;
  font-size:17px !important;
  line-height:1.25 !important;
  font-weight:950 !important;
  letter-spacing:-.025em !important;
}

#offer-aweber .ms-desc h4::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  bottom:0 !important;
  width:64px !important;
  height:4px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,#f97316,#16a34a) !important;
}

#offer-aweber .ms-desc p{
  color:#334155 !important;
  font-size:14px !important;
  line-height:1.65 !important;
  font-weight:650 !important;
}

#offer-aweber .ms-desc p strong,
#offer-aweber .ms-desc li strong{
  color:var(--brand) !important;
  font-weight:950 !important;
}

#offer-aweber .ms-desc .checklist{
  gap:9px !important;
}

#offer-aweber .ms-desc .checklist li{
  padding:10px 12px !important;
  border-radius:12px !important;
  background:#fff !important;
  border:1px solid rgba(20,163,112,.14) !important;
}

#offer-aweber .ms-desc .checklist .check{
  width:23px !important;
  height:23px !important;
  min-width:23px !important;
  background:var(--success) !important;
}


/* =========================
   TOOL TESTIMONIALS UPGRADE
========================= */

#offer-aweber .ms-testis h4{
  color:#07111f !important;
  font-size:18px !important;
  font-weight:950 !important;
  letter-spacing:-.02em !important;
}

#offer-aweber .t-card{
  border:1px solid rgba(249,115,22,.20) !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(15,23,42,.045) !important;
}

#offer-aweber .t-quote{
  color:#334155 !important;
  font-weight:700 !important;
}

#offer-aweber .t-avatar{
  box-shadow:0 8px 16px rgba(20,163,112,.18) !important;
}


/* =========================
   MOBILE TOOL MODAL ENERGY
========================= */

@media (max-width:760px){
  #offer-aweber .tool-hero{
    padding:26px 18px 28px !important;
  }

  #offer-aweber .tool-hero-title{
    font-size:36px !important;
    line-height:1.02 !important;
    letter-spacing:-.055em !important;
  }

  #offer-aweber .tool-hero-sub{
    font-size:15px !important;
    line-height:1.55 !important;
  }

  #offer-aweber .tool-power-callout{
    flex-direction:column !important;
    gap:6px !important;
    padding:14px !important;
  }

  #offer-aweber .ms-copy .checklist li{
    padding:12px 12px 12px 14px !important;
  }

  #offer-aweber .ms-copy .checklist li span:last-child{
    font-size:13px !important;
  }
}

/* =========================
   TOOL MODAL SALES ENERGY FIX
   Works after modal content is copied into #modalDynamic
========================= */

#modalDynamic .tool-hero,
.modal .tool-hero{
  padding:34px 28px 36px !important;
  background:
    radial-gradient(circle at 88% 16%, rgba(20,163,112,.22), transparent 34%),
    radial-gradient(circle at 8% 92%, rgba(249,115,22,.12), transparent 34%),
    linear-gradient(135deg, rgba(236,253,245,.98), rgba(255,255,255,.98)) !important;
  border-bottom:1px solid rgba(249,115,22,.28) !important;
}

#modalDynamic .tool-hero .ms-badge,
.modal .tool-hero .ms-badge{
  margin-bottom:16px !important;
  padding:8px 15px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#f97316,#ea580c) !important;
  color:#fff !important;
  border:1px solid rgba(249,115,22,.35) !important;
  box-shadow:0 10px 22px rgba(249,115,22,.24) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.045em !important;
  text-transform:uppercase !important;
}

#modalDynamic .tool-hero-title,
.modal .tool-hero-title{
  max-width:880px !important;
  margin:0 0 16px !important;
  color:#07111f !important;
  font-size:clamp(34px, 5vw, 62px) !important;
  line-height:.98 !important;
  letter-spacing:-.065em !important;
  font-weight:950 !important;
}

#modalDynamic .tool-hero-title em,
.modal .tool-hero-title em{
  color:var(--brand) !important;
  font-style:normal !important;
}

#modalDynamic .tool-hero-sub,
.modal .tool-hero-sub{
  max-width:900px !important;
  margin:0 !important;
  color:#334155 !important;
  font-size:17px !important;
  line-height:1.62 !important;
  font-weight:700 !important;
}

#modalDynamic .tool-hero-sub strong,
.modal .tool-hero-sub strong{
  color:var(--brand) !important;
  font-weight:950 !important;
}


/* =========================
   TOOL MODAL CONTENT ENERGY
========================= */

#modalDynamic .ms-grid,
.modal #modalDynamic .ms-grid{
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,250,245,.72)) !important;
}

#modalDynamic .pill-chip,
.modal #modalDynamic .pill-chip{
  border:1px solid rgba(20,163,112,.22) !important;
  background:rgba(236,253,245,.96) !important;
  color:#0f5132 !important;
  font-weight:850 !important;
}


/* =========================
   PRO MOVE CALLOUT
========================= */

#modalDynamic .tool-power-callout,
.modal .tool-power-callout{
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
  margin:4px 0 16px !important;
  padding:16px 18px !important;
  border-radius:16px !important;
  background:
    radial-gradient(circle at 96% 0%, rgba(249,115,22,.16), transparent 34%),
    linear-gradient(135deg, rgba(255,247,237,.98), rgba(255,255,255,.98)) !important;
  border:1px solid rgba(249,115,22,.34) !important;
  box-shadow:0 12px 24px rgba(249,115,22,.08) !important;
}

#modalDynamic .tool-power-callout strong,
.modal .tool-power-callout strong{
  color:#ea580c !important;
  font-size:14px !important;
  font-weight:950 !important;
  white-space:nowrap !important;
}

#modalDynamic .tool-power-callout span,
.modal .tool-power-callout span{
  color:#1e293b !important;
  font-size:14px !important;
  line-height:1.45 !important;
  font-weight:850 !important;
}


/* =========================
   UPGRADED BULLET DESIGN
========================= */

#modalDynamic .ms-copy .checklist,
.modal #modalDynamic .ms-copy .checklist{
  gap:10px !important;
}

#modalDynamic .ms-copy .checklist li,
.modal #modalDynamic .ms-copy .checklist li{
  position:relative !important;
  align-items:flex-start !important;
  gap:12px !important;
  padding:13px 14px 13px 16px !important;
  border-radius:14px !important;
  background:#ffffff !important;
  border:1px solid rgba(249,115,22,.20) !important;
  box-shadow:
    0 8px 18px rgba(15,23,42,.045),
    inset 0 1px 0 rgba(255,255,255,.85) !important;
}

#modalDynamic .ms-copy .checklist li::before,
.modal #modalDynamic .ms-copy .checklist li::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:12px !important;
  bottom:12px !important;
  width:3px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#f97316,#16a34a) !important;
}

#modalDynamic .ms-copy .checklist .check,
.modal #modalDynamic .ms-copy .checklist .check{
  width:25px !important;
  height:25px !important;
  min-width:25px !important;
  margin-top:1px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#18a87a,#0d7f5d) !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:950 !important;
  box-shadow:0 8px 16px rgba(20,163,112,.22) !important;
}

#modalDynamic .ms-copy .checklist li span:last-child,
.modal #modalDynamic .ms-copy .checklist li span:last-child{
  color:#334155 !important;
  font-size:13.5px !important;
  line-height:1.45 !important;
  font-weight:700 !important;
}

#modalDynamic .ms-copy .checklist li strong,
.modal #modalDynamic .ms-copy .checklist li strong{
  color:#07111f !important;
  font-weight:950 !important;
}


/* =========================
   ORANGE OUTLINE CONTENT BOXES
========================= */

#modalDynamic .ms-desc,
.modal #modalDynamic .ms-desc{
  border:1px solid rgba(249,115,22,.26) !important;
  border-radius:16px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,250,245,.78)) !important;
  box-shadow:0 10px 24px rgba(15,23,42,.04) !important;
}

#modalDynamic .ms-desc h4,
.modal #modalDynamic .ms-desc h4{
  position:relative !important;
  margin:0 0 10px !important;
  padding-bottom:8px !important;
  color:#07111f !important;
  font-size:18px !important;
  line-height:1.2 !important;
  font-weight:950 !important;
  letter-spacing:-.025em !important;
}

#modalDynamic .ms-desc h4::after,
.modal #modalDynamic .ms-desc h4::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  bottom:0 !important;
  width:64px !important;
  height:4px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,#f97316,#16a34a) !important;
}

#modalDynamic .ms-desc p,
.modal #modalDynamic .ms-desc p{
  color:#334155 !important;
  font-size:14px !important;
  line-height:1.65 !important;
  font-weight:650 !important;
}

#modalDynamic .ms-desc p strong,
#modalDynamic .ms-desc li strong,
.modal #modalDynamic .ms-desc p strong,
.modal #modalDynamic .ms-desc li strong{
  color:var(--brand) !important;
  font-weight:950 !important;
}


/* =========================
   TOOL CTA STRONGER
========================= */

#modalDynamic .ms-copy .ms-cta .btn,
.modal #modalDynamic .ms-copy .ms-cta .btn,
#modalDynamic .ms-sticky .btn,
.modal #modalDynamic .ms-sticky .btn{
  width:100% !important;
  min-height:54px !important;
  border-radius:12px !important;
  background:linear-gradient(135deg,var(--brand-2),var(--brand)) !important;
  color:#fff !important;
  font-size:16px !important;
  line-height:1.15 !important;
  font-weight:950 !important;
  letter-spacing:.01em !important;
  box-shadow:0 14px 30px rgba(20,163,112,.32) !important;
}


/* =========================
   MOBILE
========================= */

@media (max-width:760px){
  #modalDynamic .tool-hero,
  .modal .tool-hero{
    padding:26px 18px 28px !important;
  }

  #modalDynamic .tool-hero-title,
  .modal .tool-hero-title{
    font-size:36px !important;
    line-height:1.02 !important;
    letter-spacing:-.055em !important;
  }

  #modalDynamic .tool-hero-sub,
  .modal .tool-hero-sub{
    font-size:15px !important;
    line-height:1.55 !important;
  }

  #modalDynamic .tool-power-callout,
  .modal .tool-power-callout{
    flex-direction:column !important;
    gap:6px !important;
    padding:14px !important;
  }

  #modalDynamic .tool-power-callout strong,
  .modal .tool-power-callout strong{
    white-space:normal !important;
  }
}

/* =========================
   TOOL MODAL SALES ENERGY UPGRADE
   Works after modal content is copied into #modalDynamic
========================= */

#modalDynamic .tool-hero,
.modal .tool-hero{
  padding:34px 28px 36px !important;
  background:
    radial-gradient(circle at 88% 16%, rgba(20,163,112,.24), transparent 34%),
    radial-gradient(circle at 6% 94%, rgba(249,115,22,.13), transparent 34%),
    linear-gradient(135deg, rgba(236,253,245,.98), rgba(255,255,255,.98)) !important;
  border-bottom:1px solid rgba(249,115,22,.30) !important;
}

#modalDynamic .tool-hero .ms-badge,
.modal .tool-hero .ms-badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-bottom:14px !important;
  padding:8px 16px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#f97316,#ea580c) !important;
  color:#fff !important;
  border:1px solid rgba(249,115,22,.35) !important;
  box-shadow:0 10px 22px rgba(249,115,22,.24) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}

#modalDynamic .tool-hero-title,
.modal .tool-hero-title{
  max-width:900px !important;
  margin:0 0 14px !important;
  color:#07111f !important;
  font-size:clamp(30px, 4.4vw, 54px) !important;
  line-height:1.05 !important;
  letter-spacing:-.055em !important;
  font-weight:950 !important;
}

#modalDynamic .tool-hero-title em,
.modal .tool-hero-title em{
  color:var(--brand) !important;
  font-style:normal !important;
}

#modalDynamic .tool-hero-sub,
.modal .tool-hero-sub{
  max-width:900px !important;
  margin:0 !important;
  color:#334155 !important;
  font-size:16px !important;
  line-height:1.62 !important;
  font-weight:700 !important;
}

#modalDynamic .tool-hero-sub strong,
.modal .tool-hero-sub strong{
  color:var(--brand) !important;
  font-weight:950 !important;
}


/* =========================
   MAIN MODAL AREA
========================= */

#modalDynamic .ms-grid,
.modal #modalDynamic .ms-grid{
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,250,245,.70)) !important;
}

#modalDynamic .ms-visual,
.modal #modalDynamic .ms-visual{
  border-radius:14px !important;
}

#modalDynamic .pill-row,
.modal #modalDynamic .pill-row{
  gap:8px !important;
  margin-bottom:8px !important;
}

#modalDynamic .pill-chip,
.modal #modalDynamic .pill-chip{
  border:1px solid rgba(20,163,112,.22) !important;
  background:rgba(236,253,245,.96) !important;
  color:#0f5132 !important;
  font-size:11px !important;
  font-weight:850 !important;
}


/* =========================
   PRO MOVE CALLOUT
========================= */

#modalDynamic .tool-power-callout,
.modal .tool-power-callout{
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
  margin:6px 0 16px !important;
  padding:16px 18px !important;
  border-radius:16px !important;
  background:
    radial-gradient(circle at 96% 0%, rgba(249,115,22,.17), transparent 34%),
    linear-gradient(135deg, rgba(255,247,237,.98), rgba(255,255,255,.98)) !important;
  border:1px solid rgba(249,115,22,.36) !important;
  box-shadow:0 12px 24px rgba(249,115,22,.08) !important;
}

#modalDynamic .tool-power-callout strong,
.modal .tool-power-callout strong{
  color:#ea580c !important;
  font-size:14px !important;
  font-weight:950 !important;
  white-space:nowrap !important;
}

#modalDynamic .tool-power-callout span,
.modal .tool-power-callout span{
  color:#1e293b !important;
  font-size:14px !important;
  line-height:1.45 !important;
  font-weight:850 !important;
}


/* =========================
   PREMIUM BULLET DESIGN
========================= */

#modalDynamic .tool-sales-checklist,
.modal #modalDynamic .tool-sales-checklist{
  display:grid !important;
  gap:12px !important;
}

#modalDynamic .tool-sales-checklist li,
.modal #modalDynamic .tool-sales-checklist li{
  position:relative !important;
  align-items:flex-start !important;
  gap:12px !important;
  padding:14px 15px 14px 18px !important;
  border-radius:15px !important;
  background:#ffffff !important;
  border:1px solid rgba(249,115,22,.22) !important;
  box-shadow:
    0 10px 20px rgba(15,23,42,.05),
    inset 0 1px 0 rgba(255,255,255,.90) !important;
}

#modalDynamic .tool-sales-checklist li::before,
.modal #modalDynamic .tool-sales-checklist li::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:12px !important;
  bottom:12px !important;
  width:4px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#f97316,#16a34a) !important;
}

#modalDynamic .tool-sales-checklist .check,
.modal #modalDynamic .tool-sales-checklist .check{
  width:26px !important;
  height:26px !important;
  min-width:26px !important;
  margin-top:1px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#18a87a,#0d7f5d) !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:950 !important;
  box-shadow:0 8px 16px rgba(20,163,112,.22) !important;
}

#modalDynamic .tool-sales-checklist li span:last-child,
.modal #modalDynamic .tool-sales-checklist li span:last-child{
  color:#334155 !important;
  font-size:13.5px !important;
  line-height:1.48 !important;
  font-weight:700 !important;
}

#modalDynamic .tool-sales-checklist li strong,
.modal #modalDynamic .tool-sales-checklist li strong{
  color:#07111f !important;
  font-weight:950 !important;
}


/* =========================
   CTA UPGRADE
========================= */

#modalDynamic .ms-copy .ms-cta,
.modal #modalDynamic .ms-copy .ms-cta{
  margin-top:6px !important;
}

#modalDynamic .ms-copy .ms-cta .btn,
.modal #modalDynamic .ms-copy .ms-cta .btn,
#modalDynamic .ms-sticky .btn,
.modal #modalDynamic .ms-sticky .btn{
  width:100% !important;
  min-height:54px !important;
  border-radius:12px !important;
  background:linear-gradient(135deg,var(--brand-2),var(--brand)) !important;
  color:#fff !important;
  font-size:16px !important;
  line-height:1.15 !important;
  font-weight:950 !important;
  letter-spacing:.01em !important;
  box-shadow:0 14px 30px rgba(20,163,112,.32) !important;
}

#modalDynamic .ms-copy .ms-cta .btn:hover,
.modal #modalDynamic .ms-copy .ms-cta .btn:hover,
#modalDynamic .ms-sticky .btn:hover,
.modal #modalDynamic .ms-sticky .btn:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 18px 36px rgba(20,163,112,.42) !important;
}

#modalDynamic .ms-note,
.modal #modalDynamic .ms-note{
  margin-top:4px !important;
  color:#64748b !important;
  font-size:12px !important;
  line-height:1.4 !important;
  font-weight:750 !important;
}


/* =========================
   ORANGE OUTLINE CONTENT BOXES
========================= */

#modalDynamic .ms-desc,
.modal #modalDynamic .ms-desc{
  border:1px solid rgba(249,115,22,.28) !important;
  border-radius:16px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,250,245,.78)) !important;
  box-shadow:0 10px 24px rgba(15,23,42,.04) !important;
}

#modalDynamic .ms-desc h4,
.modal #modalDynamic .ms-desc h4{
  position:relative !important;
  margin:0 0 11px !important;
  padding-bottom:9px !important;
  color:#07111f !important;
  font-size:18px !important;
  line-height:1.22 !important;
  font-weight:950 !important;
  letter-spacing:-.025em !important;
}

#modalDynamic .ms-desc h4::after,
.modal #modalDynamic .ms-desc h4::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  bottom:0 !important;
  width:72px !important;
  height:4px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,#f97316,#16a34a) !important;
}

#modalDynamic .ms-desc p,
.modal #modalDynamic .ms-desc p{
  color:#334155 !important;
  font-size:14px !important;
  line-height:1.65 !important;
  font-weight:650 !important;
}

#modalDynamic .ms-desc p strong,
#modalDynamic .ms-desc li strong,
.modal #modalDynamic .ms-desc p strong,
.modal #modalDynamic .ms-desc li strong{
  color:var(--brand) !important;
  font-weight:950 !important;
}


/* =========================
   MINI CHECKLISTS INSIDE SECTIONS
========================= */

#modalDynamic .tool-mini-checklist,
.modal #modalDynamic .tool-mini-checklist{
  display:grid !important;
  gap:9px !important;
}

#modalDynamic .tool-mini-checklist li,
.modal #modalDynamic .tool-mini-checklist li{
  padding:10px 12px !important;
  border-radius:12px !important;
  background:#fff !important;
  border:1px solid rgba(20,163,112,.16) !important;
  box-shadow:0 6px 14px rgba(15,23,42,.035) !important;
}

#modalDynamic .tool-mini-checklist .check,
.modal #modalDynamic .tool-mini-checklist .check{
  width:23px !important;
  height:23px !important;
  min-width:23px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#18a87a,#0d7f5d) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:950 !important;
}


/* =========================
   TESTIMONIAL POLISH
========================= */

#modalDynamic .ms-testis h4,
.modal #modalDynamic .ms-testis h4{
  color:#07111f !important;
  font-size:18px !important;
  font-weight:950 !important;
  letter-spacing:-.02em !important;
}

#modalDynamic .t-card,
.modal #modalDynamic .t-card{
  border:1px solid rgba(249,115,22,.22) !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(15,23,42,.045) !important;
}

#modalDynamic .t-quote,
.modal #modalDynamic .t-quote{
  color:#334155 !important;
  font-weight:700 !important;
}

#modalDynamic .t-avatar,
.modal #modalDynamic .t-avatar{
  box-shadow:0 8px 16px rgba(20,163,112,.18) !important;
}


/* =========================
   MOBILE TOOL MODAL
========================= */

@media (max-width:760px){
  #modalDynamic .tool-hero,
  .modal .tool-hero{
    padding:26px 18px 28px !important;
  }

  #modalDynamic .tool-hero-title,
  .modal .tool-hero-title{
    font-size:34px !important;
    line-height:1.06 !important;
    letter-spacing:-.045em !important;
  }

  #modalDynamic .tool-hero-sub,
  .modal .tool-hero-sub{
    font-size:15px !important;
    line-height:1.55 !important;
  }

  #modalDynamic .tool-power-callout,
  .modal .tool-power-callout{
    flex-direction:column !important;
    gap:6px !important;
    padding:14px !important;
  }

  #modalDynamic .tool-power-callout strong,
  .modal .tool-power-callout strong{
    white-space:normal !important;
  }

  #modalDynamic .tool-sales-checklist li,
  .modal #modalDynamic .tool-sales-checklist li{
    padding:12px 12px 12px 15px !important;
  }

  #modalDynamic .tool-sales-checklist li span:last-child,
  .modal #modalDynamic .tool-sales-checklist li span:last-child{
    font-size:13px !important;
  }
}

/* =========================
   PRO MOVE CALLOUT - DESKTOP POLISH
========================= */

#modalDynamic .tool-power-callout,
.modal .tool-power-callout{
  display:grid !important;
  grid-template-columns:auto 1fr !important;
  align-items:start !important;
  column-gap:10px !important;
  row-gap:0 !important;
  margin:8px 0 18px !important;
  padding:17px 20px !important;
  border-radius:16px !important;
  background:
    radial-gradient(circle at 96% 0%, rgba(249,115,22,.16), transparent 34%),
    linear-gradient(135deg, rgba(255,247,237,.98), rgba(255,255,255,.98)) !important;
  border:1px solid rgba(249,115,22,.38) !important;
  box-shadow:0 12px 24px rgba(249,115,22,.08) !important;
  text-align:left !important;
}

#modalDynamic .tool-power-callout strong,
.modal .tool-power-callout strong{
  display:inline-flex !important;
  align-items:center !important;
  color:#ea580c !important;
  font-size:14px !important;
  line-height:1.35 !important;
  font-weight:950 !important;
  white-space:nowrap !important;
}

#modalDynamic .tool-power-callout span,
.modal .tool-power-callout span{
  display:block !important;
  max-width:100% !important;
  color:#0f172a !important;
  font-size:15px !important;
  line-height:1.48 !important;
  font-weight:850 !important;
  text-align:left !important;
}


/* =========================
   MOBILE PRO MOVE CALLOUT
========================= */

@media (max-width:760px){
  #modalDynamic .tool-power-callout,
  .modal .tool-power-callout{
    grid-template-columns:1fr !important;
    gap:6px !important;
    padding:14px !important;
  }

  #modalDynamic .tool-power-callout strong,
  .modal .tool-power-callout strong{
    white-space:normal !important;
  }

  #modalDynamic .tool-power-callout span,
  .modal .tool-power-callout span{
    font-size:14px !important;
    line-height:1.45 !important;
  }
}

/* =========================
   PRO MOVE CALLOUT - INLINE BULLET STYLE
========================= */

#modalDynamic .tool-power-callout,
.modal .tool-power-callout{
  display:block !important;
  margin:8px 0 18px !important;
  padding:16px 18px !important;
  border-radius:16px !important;
  background:
    radial-gradient(circle at 96% 0%, rgba(249,115,22,.14), transparent 34%),
    linear-gradient(135deg, rgba(255,247,237,.98), rgba(255,255,255,.98)) !important;
  border:1px solid rgba(249,115,22,.38) !important;
  box-shadow:0 12px 24px rgba(249,115,22,.08) !important;
  text-align:left !important;
  color:#0f172a !important;
  font-size:15px !important;
  line-height:1.55 !important;
  font-weight:850 !important;
}

#modalDynamic .tool-power-callout strong,
.modal .tool-power-callout strong{
  display:inline !important;
  color:#ea580c !important;
  font-size:15px !important;
  line-height:inherit !important;
  font-weight:950 !important;
  white-space:nowrap !important;
  margin-right:6px !important;
}

#modalDynamic .tool-power-callout span,
.modal .tool-power-callout span{
  display:inline !important;
  max-width:none !important;
  color:#0f172a !important;
  font-size:15px !important;
  line-height:inherit !important;
  font-weight:850 !important;
  text-align:left !important;
}


/* Mobile: allow the label to wrap naturally if needed */
@media (max-width:760px){
  #modalDynamic .tool-power-callout,
  .modal .tool-power-callout{
    padding:14px !important;
    font-size:14px !important;
    line-height:1.5 !important;
  }

  #modalDynamic .tool-power-callout strong,
  .modal .tool-power-callout strong,
  #modalDynamic .tool-power-callout span,
  .modal .tool-power-callout span{
    font-size:14px !important;
  }
}

/* =========================
   MODAL GRID LAYOUT
========================= */
.ms-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.02fr) minmax(0, .98fr);
  gap:18px;
  align-items:start;
}

.ms-grid > *{
  min-width:0;
}

.ms-visual{
  order:1;
  height:700px;
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(249,115,22,.22);
  background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
}

.ms-visual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center top;
}

.ms-copy{
  order:2;
  display:flex;
  flex-direction:column;
  gap:14px;
  min-width:0;
}

.pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.ms-copy .checklist{
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
}

.ms-copy .checklist li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:14px 14px;
  border:1px solid rgba(249,115,22,.22);
  border-radius:14px;
  background:#fff;
}

.ms-copy .checklist .check{
  flex:0 0 auto;
  margin-top:2px;
}

.ms-cta{
  margin-top:2px;
}

.ms-cta .btn{
  width:100%;
  justify-content:center;
}

.ms-note{
  margin:0;
  text-align:center;
}

/* =========================
   MOBILE FIX
========================= */
@media (max-width: 900px){

  .ms-grid{
    grid-template-columns:1fr;
    gap:16px;
  }

  .ms-visual{
    order:1;
    height:520px;
  }

  .ms-copy{
    order:2;
  }

  .pill-row{
    justify-content:flex-start;
  }

  .ms-copy .checklist{
    gap:10px;
  }

  .ms-copy .checklist li{
    padding:12px 12px;
  }

  .ms-cta .btn{
    width:100%;
  }
}

@media (max-width: 640px){

  .ms-grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .ms-visual{
    order:1;
    height:420px;
    border-radius:16px;
  }

  .ms-copy{
    order:2;
    gap:12px;
  }

  .pill-row{
    gap:8px;
  }

  .ms-copy .checklist li{
    padding:12px;
    border-radius:12px;
  }

  .ms-note{
    font-size:12px;
    line-height:1.45;
  }
}

/* =========================
   KICKSTART COMMISSIONS TOOLKIT
   Clean current version
   Keeps The Vault untouched
========================= */

#special-offers.toolkit-section{
  overflow:hidden;
}

#special-offers.toolkit-section .bd{
  padding:20px;
}

/* Intro panel - aligned with Recommended Growth Add-ons */
#special-offers .toolkit-intro-panel{
  margin:0 0 18px;
  padding:18px 20px;
  border:1px solid rgba(20,163,112,.20);
  border-radius:18px;
  background:
    radial-gradient(circle at 92% 25%, rgba(20,163,112,.10), transparent 28%),
    linear-gradient(135deg, rgba(238,250,245,.96), rgba(255,255,255,.96));
  box-shadow:
    0 8px 22px rgba(20,163,112,.06),
    inset 0 1px 0 rgba(255,255,255,.85);
}

#special-offers .toolkit-intro-pill{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  margin-bottom:18px;
  padding:8px 15px;
  border-radius:999px;
  background:#eefaf5;
  color:var(--brand);
  border:1px solid rgba(20,163,112,.18);
  font-size:12px;
  font-weight:800;
  line-height:1;
  letter-spacing:.04em;
  text-transform:uppercase;
}

#special-offers .toolkit-intro-panel h3{
  margin:0 0 6px;
  color:var(--text);
  font-size:18px;
  font-weight:700;
  line-height:1.25;
  letter-spacing:-.02em;
}

#special-offers .toolkit-intro-panel p{
  max-width:920px;
  margin:0;
  color:var(--muted);
  font-size:13px;
  font-weight:400;
  line-height:1.55;
}

#special-offers .toolkit-intro-panel p strong{
  color:var(--brand);
  font-weight:700;
}

#special-offers .toolkit-member-note{
  margin-top:14px !important;
  font-size:13px;
  line-height:1.45;
}

/* Toolkit grid */
#special-offers .toolkit-grid{
  align-items:stretch;
}

/* Toolkit card shell */
#special-offers .toolkit-card{
  border:1px solid var(--accent);
  background:var(--panel);
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--shadow-1);
  display:flex;
  flex-direction:column;
  cursor:pointer;
  position:relative;
}

#special-offers .toolkit-card-inner{
  height:100%;
  display:flex;
  flex-direction:column;
}

#special-offers .toolkit-thumb{
  aspect-ratio:16 / 10;
  border:0;
  border-radius:0;
  background:#f8fafc;
  overflow:hidden;
}

#special-offers .toolkit-thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transform:none;
  filter:none;
  image-rendering:auto;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

#special-offers .toolkit-card-body{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:16px;
}

#special-offers .toolkit-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

/* Toolkit labels - same rhythm as Growth Add-ons */
#special-offers .toolkit-category{
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:fit-content;
  margin-bottom:0;
  padding:5px 10px;
  border-radius:999px;
  background:#fff4e5;
  border:1px solid #f5d39a;
  color:#b45309;
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset;
  font-size:11px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.03em;
}

#special-offers .toolkit-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 10px;
  border-radius:999px;
  background:#fff;
  color:var(--brand);
  border:1px solid rgba(20,163,112,.20);
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  white-space:nowrap;
}

#special-offers .toolkit-title{
  margin:0;
  color:var(--text);
  font-size:16px;
  font-weight:700;
  line-height:1.35;
  letter-spacing:0;
}

#special-offers .toolkit-desc{
  min-height:60px;
  margin:0;
  color:var(--muted);
  font-size:13px;
  font-weight:400;
  line-height:1.5;
}

/* System role row - calmer than upsell AI pill */
#special-offers .toolkit-role-pill{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:100%;
  margin-top:2px;
  padding:10px 12px;
  border:1px solid rgba(249,115,22,.38);
  border-radius:12px;
  background:linear-gradient(135deg, rgba(255,247,237,.98), rgba(255,255,255,.90));
  color:#c2410c;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.80);
  font-size:12px;
  font-weight:400;
  line-height:1.25;
  text-align:center;
}

#special-offers .toolkit-role-pill span{
  flex-shrink:0;
  font-size:15px;
  line-height:1;
}

#special-offers .toolkit-role-pill strong,
#special-offers .toolkit-role-pill em{
  font-style:normal;
  font-weight:700;
}

/* =========================
   TOOLKIT VALUE PANEL RHYTHM
========================= */
.toolkit-value-panel{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:14px;
  margin-top:2px;
  padding:13px 14px;
  border:1px solid rgba(20,163,112,.22);
  border-radius:14px;
  background:linear-gradient(
    135deg,
    rgba(238,250,245,.94),
    rgba(255,255,255,.96)
  );
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}

.toolkit-best-for{
  display:grid;
  gap:4px;
  min-width:0;
}

.toolkit-best-for small,
.toolkit-feature-pill small{
  display:block;
  margin:0;
  color:var(--brand);
  font-size:12px;
  font-weight:700;
  line-height:1.15;
}

.toolkit-best-for strong{
  display:block;
  color:var(--text);
  font-size:15px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:-.01em;
  white-space:nowrap;
}

.toolkit-feature-pill{
  display:inline-grid;
  align-items:center;
  justify-items:center;
  gap:3px;
  min-width:126px;
  padding:8px 12px;
  border-radius:999px;
  background:#fff;
  color:var(--brand);
  border:1px solid rgba(20,163,112,.20);
  text-align:center;
  white-space:normal;
}

.toolkit-feature-pill strong{
  display:block;
  color:var(--brand);
  font-size:12px;
  font-weight:700;
  line-height:1.15;
}

@media (max-width:760px){
  #special-offers .toolkit-value-panel{
    grid-template-columns:1fr;
    gap:10px;
  }

  #special-offers .toolkit-best-for strong{
    white-space:normal;
  }

  #special-offers .toolkit-feature-pill{
    width:100%;
    max-width:none;
    justify-content:center;
    justify-items:center;
    border-radius:12px;
  }
}

/* =========================
   TOOLKIT ACTIONS
========================= */
#special-offers .toolkit-actions{
  display:flex;
  justify-content:center;
  width:100%;
  margin-top:auto;
  padding:14px 16px;
  border-top:1px solid var(--accent);
}

#special-offers .toolkit-actions .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:0;
  max-width:none;
  padding:12px 16px;
  font-weight:700;
  text-align:center;
}

#special-offers .toolkit-note-highlight{
  color:var(--brand);
  font-weight:700;
}

#special-offers .toolkit-member-note{
  max-width:none;
  margin-top:14px !important;
  font-size:13px;
  line-height:1.45;
}

#special-offers .toolkit-note-highlight{
  color:var(--brand);
  font-weight:700;
}

/* =========================
   U101 - SOLO ADS ADVANCED TARGETING MODAL
   Clean full replacement
========================= */

/* =========================
   SALES PAGE BODY RESET
========================= */

#modalDynamic .u101-modal-wrap .u101-sales-page,
.modal-source .u101-modal-wrap .u101-sales-page,
.u101-modal-wrap .u101-sales-page{
  margin:24px 0 0 !important;
  padding:0 !important;
  background:#fff !important;
}

/* Default: all sales-page sections are white */
#modalDynamic .u101-modal-wrap .u101-sales-page > section,
.modal-source .u101-modal-wrap .u101-sales-page > section,
.u101-modal-wrap .u101-sales-page > section{
  margin:0 !important;
  padding:48px 44px !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:#fff !important;
  border-bottom:1px solid rgba(15,23,42,.08) !important;
  text-align:center !important;
}

/* Shared headlines */
#modalDynamic .u101-modal-wrap .u101-sales-page h4,
.modal-source .u101-modal-wrap .u101-sales-page h4,
.u101-modal-wrap .u101-sales-page h4{
  max-width:900px !important;
  margin:0 auto 18px !important;
  color:var(--ink) !important;
  font-size:34px !important;
  font-weight:900 !important;
  line-height:1.08 !important;
  letter-spacing:-.05em !important;
  text-align:center !important;
}

/* Shared body copy - left by default */
#modalDynamic .u101-modal-wrap .u101-sales-page p,
.modal-source .u101-modal-wrap .u101-sales-page p,
.u101-modal-wrap .u101-sales-page p{
  max-width:900px !important;
  margin:0 0 16px !important;
  color:var(--ink) !important;
  font-size:17px !important;
  font-weight:550 !important;
  line-height:1.68 !important;
  text-align:left !important;
}

#modalDynamic .u101-modal-wrap .u101-sales-page p:last-child,
.modal-source .u101-modal-wrap .u101-sales-page p:last-child,
.u101-modal-wrap .u101-sales-page p:last-child{
  margin-bottom:0 !important;
}

/* Green headline emphasis */
#modalDynamic .u101-modal-wrap .u101-sales-page h4 em,
.modal-source .u101-modal-wrap .u101-sales-page h4 em,
.u101-modal-wrap .u101-sales-page h4 em{
  color:var(--brand) !important;
  font-style:normal !important;
}

/* Shared headline pills */
#modalDynamic .u101-modal-wrap .u101-sales-kicker,
.modal-source .u101-modal-wrap .u101-sales-kicker,
.u101-modal-wrap .u101-sales-kicker,
#modalDynamic .u101-modal-wrap .u101-sales-label,
.modal-source .u101-modal-wrap .u101-sales-label,
.u101-modal-wrap .u101-sales-label,
#modalDynamic .u101-modal-wrap .u101-route-strip-kicker,
.modal-source .u101-modal-wrap .u101-route-strip-kicker,
.u101-modal-wrap .u101-route-strip-kicker,
#modalDynamic .u101-modal-wrap .u101-serious-kicker,
.modal-source .u101-modal-wrap .u101-serious-kicker,
.u101-modal-wrap .u101-serious-kicker,
#modalDynamic .u101-modal-wrap .u101-cta-kicker,
.modal-source .u101-modal-wrap .u101-cta-kicker,
.u101-modal-wrap .u101-cta-kicker{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto 14px !important;
  padding:8px 13px !important;
  border-radius:999px !important;
  background:rgba(249,115,22,.11) !important;
  color:#b45309 !important;
  border:1px solid rgba(249,115,22,.24) !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}

/* Story copy width */
#modalDynamic .u101-modal-wrap .u101-story-copy,
.modal-source .u101-modal-wrap .u101-story-copy,
.u101-modal-wrap .u101-story-copy{
  max-width:930px !important;
}

/* Story copy remains left-aligned */
#modalDynamic .u101-modal-wrap .u101-story-copy p,
.modal-source .u101-modal-wrap .u101-story-copy p,
.u101-modal-wrap .u101-story-copy p{
  text-align:left !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Punch lines inside story content */
#modalDynamic .u101-modal-wrap .u101-story-punch,
.modal-source .u101-modal-wrap .u101-story-punch,
.u101-modal-wrap .u101-story-punch{
  max-width:880px !important;
  margin:24px 0 !important;
  padding:0 0 0 18px !important;
  border:0 !important;
  border-left:5px solid #f97316 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--ink) !important;
  font-size:20px !important;
  font-weight:900 !important;
  line-height:1.42 !important;
  text-align:left !important;
}

/* =========================
   COLOURED BANNER 1
   SMART MOVE SECTION
========================= */

#modalDynamic .u101-modal-wrap .u101-sales-page > section.u101-next-level-banner,
.modal-source .u101-modal-wrap .u101-sales-page > section.u101-next-level-banner,
.u101-modal-wrap .u101-sales-page > section.u101-next-level-banner,
#modalDynamic .u101-modal-wrap .u101-sales-page > section.u101-smart-move-banner,
.modal-source .u101-modal-wrap .u101-sales-page > section.u101-smart-move-banner,
.u101-modal-wrap .u101-sales-page > section.u101-smart-move-banner{
  margin:0 !important;
  padding:58px 44px !important;
  background:
    radial-gradient(circle at top left, rgba(249,115,22,.20), transparent 34%),
    radial-gradient(circle at bottom right, rgba(20,163,112,.20), transparent 34%),
    linear-gradient(135deg, #fff7ed 0%, #f0fdf4 100%) !important;
  border-top:1px solid rgba(249,115,22,.24) !important;
  border-bottom:1px solid rgba(20,163,112,.24) !important;
  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-sales-page > section.u101-next-level-banner > span,
.modal-source .u101-modal-wrap .u101-sales-page > section.u101-next-level-banner > span,
.u101-modal-wrap .u101-sales-page > section.u101-next-level-banner > span,
#modalDynamic .u101-modal-wrap .u101-sales-page > section.u101-smart-move-banner > span,
.modal-source .u101-modal-wrap .u101-sales-page > section.u101-smart-move-banner > span,
.u101-modal-wrap .u101-sales-page > section.u101-smart-move-banner > span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto 16px !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#b45309 !important;
  border:1px solid rgba(249,115,22,.30) !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}

#modalDynamic .u101-modal-wrap .u101-sales-page > section.u101-next-level-banner h4,
.modal-source .u101-modal-wrap .u101-sales-page > section.u101-next-level-banner h4,
.u101-modal-wrap .u101-sales-page > section.u101-next-level-banner h4,
#modalDynamic .u101-modal-wrap .u101-sales-page > section.u101-smart-move-banner h4,
.modal-source .u101-modal-wrap .u101-sales-page > section.u101-smart-move-banner h4,
.u101-modal-wrap .u101-sales-page > section.u101-smart-move-banner h4{
  max-width:940px !important;
  margin:0 auto 18px !important;
  color:var(--ink) !important;
  font-size:42px !important;
  font-weight:900 !important;
  line-height:1.05 !important;
  letter-spacing:-.05em !important;
  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-sales-page > section.u101-next-level-banner h4 em,
.modal-source .u101-modal-wrap .u101-sales-page > section.u101-next-level-banner h4 em,
.u101-modal-wrap .u101-sales-page > section.u101-next-level-banner h4 em,
#modalDynamic .u101-modal-wrap .u101-sales-page > section.u101-smart-move-banner h4 em,
.modal-source .u101-modal-wrap .u101-sales-page > section.u101-smart-move-banner h4 em,
.u101-modal-wrap .u101-sales-page > section.u101-smart-move-banner h4 em{
  display:block !important;
  color:var(--brand) !important;
  font-style:normal !important;
}

#modalDynamic .u101-modal-wrap .u101-sales-page > section.u101-next-level-banner p,
.modal-source .u101-modal-wrap .u101-sales-page > section.u101-next-level-banner p,
.u101-modal-wrap .u101-sales-page > section.u101-next-level-banner p,
#modalDynamic .u101-modal-wrap .u101-sales-page > section.u101-smart-move-banner p,
.modal-source .u101-modal-wrap .u101-sales-page > section.u101-smart-move-banner p,
.u101-modal-wrap .u101-sales-page > section.u101-smart-move-banner p{
  max-width:820px !important;
  margin:0 auto !important;
  color:var(--ink) !important;
  font-size:17px !important;
  font-weight:600 !important;
  line-height:1.65 !important;
  text-align:center !important;
}

/* =========================
   COMPARISON SECTION - WHITE
========================= */

#modalDynamic .u101-modal-wrap .u101-compare-section,
.modal-source .u101-modal-wrap .u101-compare-section,
.u101-modal-wrap .u101-compare-section,
#modalDynamic .u101-modal-wrap .u101-split-compare,
.modal-source .u101-modal-wrap .u101-split-compare,
.u101-modal-wrap .u101-split-compare{
  background:#fff !important;
}

#modalDynamic .u101-modal-wrap .u101-compare-head,
.modal-source .u101-modal-wrap .u101-compare-head,
.u101-modal-wrap .u101-compare-head{
  max-width:920px !important;
  margin:0 auto 28px !important;
  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-compare-row,
.modal-source .u101-modal-wrap .u101-compare-row,
.u101-modal-wrap .u101-compare-row{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:14px !important;
}

#modalDynamic .u101-modal-wrap .u101-compare-side,
.modal-source .u101-modal-wrap .u101-compare-side,
.u101-modal-wrap .u101-compare-side{
  padding:28px 24px !important;
  border-radius:22px !important;
  border:1px solid rgba(15,23,42,.10) !important;
  box-shadow:none !important;
  text-align:left !important;
}

#modalDynamic .u101-modal-wrap .u101-compare-side-bad,
.modal-source .u101-modal-wrap .u101-compare-side-bad,
.u101-modal-wrap .u101-compare-side-bad{
  background:linear-gradient(135deg, rgba(254,242,242,.96), rgba(255,255,255,.98)) !important;
}

#modalDynamic .u101-modal-wrap .u101-compare-side-good,
.modal-source .u101-modal-wrap .u101-compare-side-good,
.u101-modal-wrap .u101-compare-side-good{
  background:linear-gradient(135deg, rgba(238,250,245,.97), rgba(255,255,255,.98)) !important;
}

#modalDynamic .u101-modal-wrap .u101-side-tag,
.modal-source .u101-modal-wrap .u101-side-tag,
.u101-modal-wrap .u101-side-tag{
  display:block !important;
  margin:0 0 16px !important;
  color:var(--ink) !important;
  font-size:21px !important;
  font-weight:900 !important;
  line-height:1.15 !important;
}

#modalDynamic .u101-modal-wrap .u101-compare-side ul,
.modal-source .u101-modal-wrap .u101-compare-side ul,
.u101-modal-wrap .u101-compare-side ul{
  display:grid !important;
  gap:12px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

#modalDynamic .u101-modal-wrap .u101-compare-side li,
.modal-source .u101-modal-wrap .u101-compare-side li,
.u101-modal-wrap .u101-compare-side li{
  position:relative !important;
  padding-left:26px !important;
  color:var(--ink) !important;
  font-size:16px !important;
  font-weight:750 !important;
  line-height:1.45 !important;
}

#modalDynamic .u101-modal-wrap .u101-compare-side-bad li::before,
.modal-source .u101-modal-wrap .u101-compare-side-bad li::before,
.u101-modal-wrap .u101-compare-side-bad li::before{
  content:"x" !important;
  position:absolute !important;
  left:0 !important;
  color:#ef4444 !important;
  font-weight:900 !important;
}

#modalDynamic .u101-modal-wrap .u101-compare-side-good li::before,
.modal-source .u101-modal-wrap .u101-compare-side-good li::before,
.u101-modal-wrap .u101-compare-side-good li::before{
  content:"+" !important;
  position:absolute !important;
  left:0 !important;
  color:var(--brand) !important;
  font-weight:900 !important;
}

/* =========================
   U101 - COLOURED CTA BANNER
   Ready To Level Up section
========================= */

#modalDynamic .u101-modal-wrap .u101-sales-page > section.u101-full-cta,
.modal-source .u101-modal-wrap .u101-sales-page > section.u101-full-cta,
.u101-modal-wrap .u101-sales-page > section.u101-full-cta{
  margin:0 !important;
  padding:58px 44px !important;
  background:
    radial-gradient(circle at top left, rgba(249,115,22,.22), transparent 34%),
    radial-gradient(circle at bottom right, rgba(20,163,112,.24), transparent 36%),
    linear-gradient(135deg, #fff7ed 0%, #ffffff 42%, #ecfdf5 100%) !important;
  border-top:1px solid rgba(249,115,22,.24) !important;
  border-bottom:1px solid rgba(20,163,112,.24) !important;
  text-align:center !important;
}

/* Pill */
#modalDynamic .u101-modal-wrap .u101-full-cta .u101-cta-kicker,
.modal-source .u101-modal-wrap .u101-full-cta .u101-cta-kicker,
.u101-modal-wrap .u101-full-cta .u101-cta-kicker{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto 16px !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#b45309 !important;
  border:1px solid rgba(249,115,22,.30) !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}

/* Headline */
#modalDynamic .u101-modal-wrap .u101-full-cta h4,
.modal-source .u101-modal-wrap .u101-full-cta h4,
.u101-modal-wrap .u101-full-cta h4{
  max-width:880px !important;
  margin:0 auto 18px !important;
  color:var(--ink) !important;
  font-size:42px !important;
  font-weight:900 !important;
  line-height:1.05 !important;
  letter-spacing:-.05em !important;
  text-align:center !important;
}

/* Subheadline */
#modalDynamic .u101-modal-wrap .u101-full-cta p,
.modal-source .u101-modal-wrap .u101-full-cta p,
.u101-modal-wrap .u101-full-cta p{
  max-width:760px !important;
  margin:0 auto 24px !important;
  color:var(--ink) !important;
  font-size:17px !important;
  font-weight:600 !important;
  line-height:1.6 !important;
  text-align:center !important;
}

/* CTA button */
#modalDynamic .u101-modal-wrap .u101-full-cta .btn,
.modal-source .u101-modal-wrap .u101-full-cta .btn,
.u101-modal-wrap .u101-full-cta .btn{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:min(100%, 430px) !important;
  margin:0 auto 14px !important;
  font-weight:900 !important;
  box-shadow:0 16px 32px rgba(20,163,112,.22) !important;
}

/* Guarantee line */
#modalDynamic .u101-modal-wrap .u101-full-cta small,
.modal-source .u101-modal-wrap .u101-full-cta small,
.u101-modal-wrap .u101-full-cta small{
  display:block !important;
  max-width:620px !important;
  margin:0 auto !important;
  color:var(--muted) !important;
  font-size:12.5px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  text-align:center !important;
}

/* Mobile */
@media (max-width:720px){
  #modalDynamic .u101-modal-wrap .u101-sales-page > section.u101-full-cta,
  .modal-source .u101-modal-wrap .u101-sales-page > section.u101-full-cta,
  .u101-modal-wrap .u101-sales-page > section.u101-full-cta{
    padding:38px 18px !important;
  }

  #modalDynamic .u101-modal-wrap .u101-full-cta h4,
  .modal-source .u101-modal-wrap .u101-full-cta h4,
  .u101-modal-wrap .u101-full-cta h4{
    font-size:27px !important;
    line-height:1.1 !important;
  }

  #modalDynamic .u101-modal-wrap .u101-full-cta p,
  .modal-source .u101-modal-wrap .u101-full-cta p,
  .u101-modal-wrap .u101-full-cta p{
    font-size:15.5px !important;
    line-height:1.58 !important;
  }
}

/* =========================
   SMARTER TRAFFIC SYSTEM SECTION
========================= */

#modalDynamic .u101-modal-wrap .u101-traffic-system,
.modal-source .u101-modal-wrap .u101-traffic-system,
.u101-modal-wrap .u101-traffic-system{
  padding:54px 44px !important;
  background:#fff !important;
  border-bottom:1px solid rgba(15,23,42,.08) !important;
  text-align:left !important;
}

/* Header */
#modalDynamic .u101-modal-wrap .u101-traffic-system-head,
.modal-source .u101-modal-wrap .u101-traffic-system-head,
.u101-modal-wrap .u101-traffic-system-head{
  max-width:920px !important;
  margin:0 auto 34px !important;
  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-traffic-system-head .u101-sales-label,
.modal-source .u101-modal-wrap .u101-traffic-system-head .u101-sales-label,
.u101-modal-wrap .u101-traffic-system-head .u101-sales-label{
  margin-bottom:14px !important;
}

#modalDynamic .u101-modal-wrap .u101-traffic-system-head h4,
.modal-source .u101-modal-wrap .u101-traffic-system-head h4,
.u101-modal-wrap .u101-traffic-system-head h4{
  max-width:820px !important;
  margin:0 auto 16px !important;
  color:var(--ink) !important;
  font-size:35px !important;
  font-weight:900 !important;
  line-height:1.08 !important;
  letter-spacing:-.05em !important;
  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-traffic-system-head p,
.modal-source .u101-modal-wrap .u101-traffic-system-head p,
.u101-modal-wrap .u101-traffic-system-head p{
  max-width:780px !important;
  margin:0 auto !important;
  color:var(--ink) !important;
  font-size:16.5px !important;
  font-weight:550 !important;
  line-height:1.58 !important;
  text-align:center !important;
}

/* Story bridge */
#modalDynamic .u101-modal-wrap .u101-system-story,
.modal-source .u101-modal-wrap .u101-system-story,
.u101-modal-wrap .u101-system-story{
  max-width:860px !important;
  margin:0 auto 30px !important;
  padding:2px 0 2px 18px !important;
  border-left:4px solid #f97316 !important;
}

#modalDynamic .u101-modal-wrap .u101-system-story p,
.modal-source .u101-modal-wrap .u101-system-story p,
.u101-modal-wrap .u101-system-story p{
  max-width:none !important;
  margin:0 0 11px !important;
  color:var(--ink) !important;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:1.55 !important;
  text-align:left !important;
}

#modalDynamic .u101-modal-wrap .u101-system-story p:last-child,
.modal-source .u101-modal-wrap .u101-system-story p:last-child,
.u101-modal-wrap .u101-system-story p:last-child{
  margin-bottom:0 !important;
}

/* Decision flow */
#modalDynamic .u101-modal-wrap .u101-decision-flow,
.modal-source .u101-modal-wrap .u101-decision-flow,
.u101-modal-wrap .u101-decision-flow{
  max-width:920px !important;
  margin:0 auto !important;
  display:grid !important;
  gap:14px !important;
}

/* Step rows */
#modalDynamic .u101-modal-wrap .u101-decision-step,
.modal-source .u101-modal-wrap .u101-decision-step,
.u101-modal-wrap .u101-decision-step{
  display:grid !important;
  grid-template-columns:54px minmax(0,1fr) !important;
  gap:18px !important;
  align-items:center !important;
  padding:20px 24px !important;
  border-radius:20px !important;
  border:1px solid rgba(20,163,112,.18) !important;
  background:
    linear-gradient(135deg, rgba(238,250,245,.68), rgba(255,255,255,.98)) !important;
  box-shadow:
    0 10px 22px rgba(15,23,42,.035),
    inset 0 1px 0 rgba(255,255,255,.82) !important;
}

/* Step number */
#modalDynamic .u101-modal-wrap .u101-step-number,
.modal-source .u101-modal-wrap .u101-step-number,
.u101-modal-wrap .u101-step-number{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:46px !important;
  height:46px !important;
  border-radius:999px !important;
  background:var(--brand) !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:900 !important;
  line-height:1 !important;
  box-shadow:0 10px 22px rgba(20,163,112,.22) !important;
}

/* Step label */
#modalDynamic .u101-modal-wrap .u101-step-tool,
.modal-source .u101-modal-wrap .u101-step-tool,
.u101-modal-wrap .u101-step-tool{
  display:block !important;
  margin:0 0 8px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#ea580c !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  letter-spacing:.055em !important;
}

#modalDynamic .u101-modal-wrap .u101-step-tool::before,
.modal-source .u101-modal-wrap .u101-step-tool::before,
.u101-modal-wrap .u101-step-tool::before{
  content:"" !important;
  display:inline-block !important;
  width:7px !important;
  height:7px !important;
  margin-right:7px !important;
  border-radius:999px !important;
  background:#f97316 !important;
  vertical-align:1px !important;
}

/* Step copy */
#modalDynamic .u101-modal-wrap .u101-step-copy,
.modal-source .u101-modal-wrap .u101-step-copy,
.u101-modal-wrap .u101-step-copy{
  text-align:left !important;
}

#modalDynamic .u101-modal-wrap .u101-step-copy h5,
.modal-source .u101-modal-wrap .u101-step-copy h5,
.u101-modal-wrap .u101-step-copy h5{
  margin:0 0 6px !important;
  color:var(--ink) !important;
  font-size:21px !important;
  font-weight:900 !important;
  line-height:1.12 !important;
  letter-spacing:-.035em !important;
}

#modalDynamic .u101-modal-wrap .u101-step-copy p,
.modal-source .u101-modal-wrap .u101-step-copy p,
.u101-modal-wrap .u101-step-copy p{
  max-width:760px !important;
  margin:0 !important;
  color:var(--muted) !important;
  font-size:14.8px !important;
  font-weight:600 !important;
  line-height:1.46 !important;
  text-align:left !important;
}

/* Closing punch */
#modalDynamic .u101-modal-wrap .u101-system-close,
.modal-source .u101-modal-wrap .u101-system-close,
.u101-modal-wrap .u101-system-close{
  max-width:900px !important;
  margin:26px auto 0 !important;
  padding:17px 20px !important;
  border-radius:18px !important;
  border:1px solid rgba(249,115,22,.24) !important;
  background:linear-gradient(135deg, rgba(255,247,237,.92), rgba(255,255,255,.98)) !important;
  color:var(--ink) !important;
  font-size:16.5px !important;
  font-weight:750 !important;
  line-height:1.48 !important;
  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-system-close strong,
.modal-source .u101-modal-wrap .u101-system-close strong,
.u101-modal-wrap .u101-system-close strong{
  font-weight:900 !important;
}

/* =========================
   COLOURED BANNER 3
   SERIOUS CLOSE + CTA
========================= */

#modalDynamic .u101-modal-wrap .u101-serious-close,
.modal-source .u101-modal-wrap .u101-serious-close,
.u101-modal-wrap .u101-serious-close{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  padding:64px 44px !important;
  background:
    radial-gradient(circle at top left, rgba(20,163,112,.22), transparent 34%),
    radial-gradient(circle at bottom right, rgba(249,115,22,.16), transparent 36%),
    linear-gradient(135deg, #ecfdf5 0%, #ffffff 46%, #fff7ed 100%) !important;
  border-top:1px solid rgba(20,163,112,.24) !important;
  border-bottom:1px solid rgba(249,115,22,.22) !important;
  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-serious-close::before,
.modal-source .u101-modal-wrap .u101-serious-close::before,
.u101-modal-wrap .u101-serious-close::before{
  content:"" !important;
  position:absolute !important;
  z-index:-1 !important;
  top:28px !important;
  left:50% !important;
  width:min(88%, 920px) !important;
  height:calc(100% - 56px) !important;
  transform:translateX(-50%) !important;
  border-radius:34px !important;
  border:1px solid rgba(255,255,255,.72) !important;
  background:rgba(255,255,255,.34) !important;
  box-shadow:
    0 24px 60px rgba(15,23,42,.06),
    inset 0 1px 0 rgba(255,255,255,.82) !important;
}

#modalDynamic .u101-modal-wrap .u101-serious-close::after,
.modal-source .u101-modal-wrap .u101-serious-close::after,
.u101-modal-wrap .u101-serious-close::after{
  content:none !important;
  position:absolute !important;
  z-index:-1 !important;
  right:48px !important;
  bottom:34px !important;
  font-size:96px !important;
  line-height:1 !important;
  opacity:.08 !important;
  transform:rotate(-10deg) !important;
}

#modalDynamic .u101-modal-wrap .u101-serious-close .u101-serious-kicker,
.modal-source .u101-modal-wrap .u101-serious-close .u101-serious-kicker,
.u101-modal-wrap .u101-serious-close .u101-serious-kicker{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto 16px !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#b45309 !important;
  border:1px solid rgba(249,115,22,.30) !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}

#modalDynamic .u101-modal-wrap .u101-serious-close h4,
.modal-source .u101-modal-wrap .u101-serious-close h4,
.u101-modal-wrap .u101-serious-close h4{
  max-width:900px !important;
  margin:0 auto 20px !important;
  color:var(--ink) !important;
  font-size:42px !important;
  font-weight:900 !important;
  line-height:1.05 !important;
  letter-spacing:-.05em !important;
  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-serious-close h4 em,
.modal-source .u101-modal-wrap .u101-serious-close h4 em,
.u101-modal-wrap .u101-serious-close h4 em{
  display:block !important;
  color:var(--brand) !important;
  font-style:normal !important;
}

#modalDynamic .u101-modal-wrap .u101-serious-close p,
.modal-source .u101-modal-wrap .u101-serious-close p,
.u101-modal-wrap .u101-serious-close p{
  max-width:820px !important;
  margin:0 auto 16px !important;
  color:var(--ink) !important;
  font-size:17px !important;
  font-weight:600 !important;
  line-height:1.62 !important;
  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-serious-final,
.modal-source .u101-modal-wrap .u101-serious-final,
.u101-modal-wrap .u101-serious-final{
  max-width:760px !important;
  margin:26px auto 22px !important;
  padding:18px 20px !important;
  border-radius:18px !important;
  border:1px solid rgba(20,163,112,.24) !important;
  background:rgba(255,255,255,.78) !important;
  color:var(--ink) !important;
  font-size:18px !important;
  font-weight:900 !important;
  line-height:1.45 !important;
  text-align:center !important;
  box-shadow:0 14px 30px rgba(15,23,42,.05) !important;
}

/* Serious close CTA */
#modalDynamic .u101-modal-wrap .u101-serious-cta,
.modal-source .u101-modal-wrap .u101-serious-cta,
.u101-modal-wrap .u101-serious-cta{
  width:min(100%, 500px) !important;
  margin:0 auto !important;
  padding:16px !important;
  border-radius:24px !important;
  border:1px solid rgba(20,163,112,.22) !important;
  background:rgba(255,255,255,.76) !important;
  box-shadow:
    0 18px 38px rgba(15,23,42,.08),
    inset 0 1px 0 rgba(255,255,255,.88) !important;
}

#modalDynamic .u101-modal-wrap .u101-serious-cta .btn,
.modal-source .u101-modal-wrap .u101-serious-cta .btn,
.u101-modal-wrap .u101-serious-cta .btn{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  margin:0 auto 13px !important;
  padding:16px 22px !important;
  font-size:16px !important;
  font-weight:900 !important;
  line-height:1.1 !important;
  text-align:center !important;
  box-shadow:0 16px 32px rgba(20,163,112,.24) !important;
}

#modalDynamic .u101-modal-wrap .u101-serious-cta small,
.modal-source .u101-modal-wrap .u101-serious-cta small,
.u101-modal-wrap .u101-serious-cta small{
  display:block !important;
  max-width:420px !important;
  margin:0 auto !important;
  color:var(--muted) !important;
  font-size:12.5px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  text-align:center !important;
}

/* Mobile */
@media (max-width:720px){
  #modalDynamic .u101-modal-wrap .u101-serious-close,
  .modal-source .u101-modal-wrap .u101-serious-close,
  .u101-modal-wrap .u101-serious-close{
    padding:40px 18px !important;
  }

  #modalDynamic .u101-modal-wrap .u101-serious-close h4,
  .modal-source .u101-modal-wrap .u101-serious-close h4,
  .u101-modal-wrap .u101-serious-close h4{
    font-size:27px !important;
    line-height:1.1 !important;
  }

  #modalDynamic .u101-modal-wrap .u101-serious-close p,
  .modal-source .u101-modal-wrap .u101-serious-close p,
  .u101-modal-wrap .u101-serious-close p{
    font-size:15.5px !important;
    line-height:1.58 !important;
  }

  #modalDynamic .u101-modal-wrap .u101-serious-final,
  .modal-source .u101-modal-wrap .u101-serious-final,
  .u101-modal-wrap .u101-serious-final{
    font-size:15.5px !important;
  }

  #modalDynamic .u101-modal-wrap .u101-serious-cta,
  .modal-source .u101-modal-wrap .u101-serious-cta,
  .u101-modal-wrap .u101-serious-cta{
    padding:14px !important;
    border-radius:20px !important;
  }
}

/* =========================
   TOP HERO / BUY PANEL HARD FIX
========================= */

#modalDynamic .u101-modal-wrap > .ms-grid,
.modal-source .u101-modal-wrap > .ms-grid,
.u101-modal-wrap > .ms-grid{
  align-items:stretch !important;
}

#modalDynamic .u101-modal-wrap > .ms-grid .ms-visual,
.modal-source .u101-modal-wrap > .ms-grid .ms-visual,
.u101-modal-wrap > .ms-grid .ms-visual{
  align-self:stretch !important;
  display:flex !important;
  min-height:100% !important;
  height:auto !important;
}

#modalDynamic .u101-modal-wrap > .ms-grid .ms-visual img,
.modal-source .u101-modal-wrap > .ms-grid .ms-visual img,
.u101-modal-wrap > .ms-grid .ms-visual img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}

#modalDynamic .u101-modal-wrap > .ms-grid .ms-copy,
.modal-source .u101-modal-wrap > .ms-grid .ms-copy,
.u101-modal-wrap > .ms-grid .ms-copy{
  display:flex !important;
  flex-direction:column !important;
}

/* Buy panel */
#modalDynamic .u101-modal-wrap .modal-buy-panel,
.modal-source .u101-modal-wrap .modal-buy-panel,
.u101-modal-wrap .modal-buy-panel{
  margin:16px 0 0 !important;
  padding:14px !important;
  border-radius:18px !important;
  border:1px solid rgba(20,163,112,.24) !important;
  background:linear-gradient(135deg, rgba(238,250,245,.96), rgba(255,255,255,.98)) !important;
  box-shadow:
    0 14px 30px rgba(20,163,112,.10),
    inset 0 1px 0 rgba(255,255,255,.88) !important;
}

/* AI row */
#modalDynamic .u101-modal-wrap .modal-buy-panel .ai-speed-boost-callout,
.modal-source .u101-modal-wrap .modal-buy-panel .ai-speed-boost-callout,
.u101-modal-wrap .modal-buy-panel .ai-speed-boost-callout{
  display:grid !important;
  grid-template-columns:auto 1fr !important;
  align-items:flex-start !important;
  gap:9px !important;
  margin:0 0 10px !important;
  padding:10px 12px !important;
  border-radius:14px !important;
  border:1px solid rgba(249,115,22,.22) !important;
  background:rgba(255,247,237,.86) !important;
  box-shadow:none !important;
  text-align:left !important;
}

#modalDynamic .u101-modal-wrap .modal-buy-panel .ai-speed-boost-icon,
.modal-source .u101-modal-wrap .modal-buy-panel .ai-speed-boost-icon,
.u101-modal-wrap .modal-buy-panel .ai-speed-boost-icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:31px !important;
  height:31px !important;
  min-width:31px !important;
  border-radius:10px !important;
  background:rgba(249,115,22,.12) !important;
  border:1px solid rgba(249,115,22,.22) !important;
  color:#ea580c !important;
  font-size:17px !important;
  line-height:1 !important;
  flex-shrink:0 !important;
}

#modalDynamic .u101-modal-wrap .modal-buy-panel .ai-speed-boost-copy strong,
.modal-source .u101-modal-wrap .modal-buy-panel .ai-speed-boost-copy strong,
.u101-modal-wrap .modal-buy-panel .ai-speed-boost-copy strong{
  display:block !important;
  margin:0 0 3px !important;
  color:var(--ink) !important;
  font-size:13.5px !important;
  font-weight:800 !important;
  line-height:1.15 !important;
}

#modalDynamic .u101-modal-wrap .modal-buy-panel .ai-speed-boost-copy p,
.modal-source .u101-modal-wrap .modal-buy-panel .ai-speed-boost-copy p,
.u101-modal-wrap .modal-buy-panel .ai-speed-boost-copy p{
  margin:0 !important;
  color:var(--muted) !important;
  font-size:12px !important;
  font-weight:500 !important;
  line-height:1.3 !important;
  text-align:left !important;
}

/* Price row */
#modalDynamic .u101-modal-wrap .modal-buy-panel .ms-price-upgrade,
.modal-source .u101-modal-wrap .modal-buy-panel .ms-price-upgrade,
.u101-modal-wrap .modal-buy-panel .ms-price-upgrade{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) !important;
  align-items:center !important;
  gap:10px !important;
  margin:0 0 10px !important;
  padding:10px 12px !important;
  border-radius:14px !important;
  border:1px solid rgba(20,163,112,.18) !important;
  background:rgba(255,255,255,.78) !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

#modalDynamic .u101-modal-wrap .modal-buy-panel .upgrade-price-label,
.modal-source .u101-modal-wrap .modal-buy-panel .upgrade-price-label,
.u101-modal-wrap .modal-buy-panel .upgrade-price-label{
  justify-self:start !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  max-width:100% !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  background:#fff4e5 !important;
  color:#b45309 !important;
  border:1px solid #f5d39a !important;
  font-size:10.5px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.025em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

#modalDynamic .u101-modal-wrap .modal-buy-panel .upgrade-price-row,
.modal-source .u101-modal-wrap .modal-buy-panel .upgrade-price-row,
.u101-modal-wrap .modal-buy-panel .upgrade-price-row{
  justify-self:center !important;
  display:flex !important;
  align-items:baseline !important;
  justify-content:center !important;
  gap:7px !important;
  margin:0 !important;
  padding:0 !important;
  white-space:nowrap !important;
}

#modalDynamic .u101-modal-wrap .modal-buy-panel .upgrade-price-only,
.modal-source .u101-modal-wrap .modal-buy-panel .upgrade-price-only,
.u101-modal-wrap .modal-buy-panel .upgrade-price-only{
  color:var(--muted) !important;
  font-size:13.5px !important;
  font-weight:700 !important;
  line-height:1 !important;
}

#modalDynamic .u101-modal-wrap .modal-buy-panel .upgrade-price-main,
.modal-source .u101-modal-wrap .modal-buy-panel .upgrade-price-main,
.u101-modal-wrap .modal-buy-panel .upgrade-price-main{
  color:var(--brand) !important;
  font-size:38px !important;
  font-weight:800 !important;
  line-height:.95 !important;
  letter-spacing:-.045em !important;
}

#modalDynamic .u101-modal-wrap .modal-buy-panel .upgrade-price-old,
.modal-source .u101-modal-wrap .modal-buy-panel .upgrade-price-old,
.u101-modal-wrap .modal-buy-panel .upgrade-price-old{
  color:#8b95a1 !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1 !important;
  text-decoration:line-through !important;
  text-decoration-thickness:2px !important;
}

#modalDynamic .u101-modal-wrap .modal-buy-panel .upgrade-save-pill,
.modal-source .u101-modal-wrap .modal-buy-panel .upgrade-save-pill,
.u101-modal-wrap .modal-buy-panel .upgrade-save-pill{
  justify-self:end !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  max-width:100% !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  background:rgba(20,163,112,.10) !important;
  color:var(--brand) !important;
  border:1px solid rgba(20,163,112,.20) !important;
  font-size:10.5px !important;
  font-weight:800 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

/* CTA */
#modalDynamic .u101-modal-wrap .modal-buy-panel .ms-cta,
.modal-source .u101-modal-wrap .modal-buy-panel .ms-cta,
.u101-modal-wrap .modal-buy-panel .ms-cta{
  margin:0 !important;
  padding:0 !important;
}

#modalDynamic .u101-modal-wrap .modal-buy-panel .ms-cta .btn,
.modal-source .u101-modal-wrap .modal-buy-panel .ms-cta .btn,
.u101-modal-wrap .modal-buy-panel .ms-cta .btn{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  margin:0 !important;
  box-shadow:0 12px 24px rgba(20,163,112,.18) !important;
}

/* Promise */
#modalDynamic .u101-modal-wrap .modal-buy-panel .modal-promise,
.modal-source .u101-modal-wrap .modal-buy-panel .modal-promise,
.u101-modal-wrap .modal-buy-panel .modal-promise{
  margin:10px 0 0 !important;
  padding:10px 12px 0 !important;
  border:0 !important;
  border-top:1px solid rgba(20,163,112,.18) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .modal-buy-panel .modal-promise h4,
.modal-source .u101-modal-wrap .modal-buy-panel .modal-promise h4,
.u101-modal-wrap .modal-buy-panel .modal-promise h4{
  display:block !important;
  margin:0 0 4px !important;
  color:var(--ink) !important;
  font-size:13.5px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .modal-buy-panel .modal-promise p,
.modal-source .u101-modal-wrap .modal-buy-panel .modal-promise p,
.u101-modal-wrap .modal-buy-panel .modal-promise p{
  margin:0 !important;
  color:var(--muted) !important;
  font-size:11.8px !important;
  font-weight:500 !important;
  line-height:1.35 !important;
  text-align:center !important;
}

/* =========================
   REVIEWS
========================= */

#modalDynamic .u101-modal-wrap .ms-testis,
.modal-source .u101-modal-wrap .ms-testis,
.u101-modal-wrap .ms-testis{
  margin:24px 18px 0 !important;
}

/* =========================
   MOBILE
========================= */

@media (max-width:720px){
  #modalDynamic .u101-modal-wrap .u101-sales-page > section,
  .modal-source .u101-modal-wrap .u101-sales-page > section,
  .u101-modal-wrap .u101-sales-page > section{
    padding:32px 18px !important;
  }

  #modalDynamic .u101-modal-wrap .u101-sales-page h4,
  .modal-source .u101-modal-wrap .u101-sales-page h4,
  .u101-modal-wrap .u101-sales-page h4,
  #modalDynamic .u101-modal-wrap .u101-next-level-banner h4,
  .modal-source .u101-modal-wrap .u101-next-level-banner h4,
  .u101-modal-wrap .u101-next-level-banner h4,
  #modalDynamic .u101-modal-wrap .u101-cta-band h4,
  .modal-source .u101-modal-wrap .u101-cta-band h4,
  .u101-modal-wrap .u101-cta-band h4,
  #modalDynamic .u101-modal-wrap .u101-full-cta h4,
  .modal-source .u101-modal-wrap .u101-full-cta h4,
  .u101-modal-wrap .u101-full-cta h4,
  #modalDynamic .u101-modal-wrap .u101-serious-close h4,
  .modal-source .u101-modal-wrap .u101-serious-close h4,
  .u101-modal-wrap .u101-serious-close h4{
    font-size:27px !important;
    line-height:1.1 !important;
  }

  #modalDynamic .u101-modal-wrap .u101-sales-page p,
  .modal-source .u101-modal-wrap .u101-sales-page p,
  .u101-modal-wrap .u101-sales-page p{
    font-size:15.5px !important;
    line-height:1.58 !important;
  }

  #modalDynamic .u101-modal-wrap .u101-story-punch,
  .modal-source .u101-modal-wrap .u101-story-punch,
  .u101-modal-wrap .u101-story-punch{
    font-size:16px !important;
    padding-left:14px !important;
  }

  #modalDynamic .u101-modal-wrap .u101-compare-row,
  .modal-source .u101-modal-wrap .u101-compare-row,
  .u101-modal-wrap .u101-compare-row{
    grid-template-columns:1fr !important;
  }

  #modalDynamic .u101-modal-wrap .u101-traffic-system,
  .modal-source .u101-modal-wrap .u101-traffic-system,
  .u101-modal-wrap .u101-traffic-system{
    padding:34px 18px !important;
  }

  #modalDynamic .u101-modal-wrap .u101-traffic-system-head,
  .modal-source .u101-modal-wrap .u101-traffic-system-head,
  .u101-modal-wrap .u101-traffic-system-head{
    margin-bottom:26px !important;
  }

  #modalDynamic .u101-modal-wrap .u101-traffic-system-head h4,
  .modal-source .u101-modal-wrap .u101-traffic-system-head h4,
  .u101-modal-wrap .u101-traffic-system-head h4{
    font-size:27px !important;
  }

  #modalDynamic .u101-modal-wrap .u101-traffic-system-head p,
  .modal-source .u101-modal-wrap .u101-traffic-system-head p,
  .u101-modal-wrap .u101-traffic-system-head p{
    font-size:15.5px !important;
    line-height:1.56 !important;
  }

  #modalDynamic .u101-modal-wrap .u101-system-story,
  .modal-source .u101-modal-wrap .u101-system-story,
  .u101-modal-wrap .u101-system-story{
    margin-bottom:24px !important;
    padding-left:14px !important;
  }

  #modalDynamic .u101-modal-wrap .u101-system-story p,
  .modal-source .u101-modal-wrap .u101-system-story p,
  .u101-modal-wrap .u101-system-story p{
    font-size:15.2px !important;
    line-height:1.52 !important;
  }

  #modalDynamic .u101-modal-wrap .u101-decision-step,
  .modal-source .u101-modal-wrap .u101-decision-step,
  .u101-modal-wrap .u101-decision-step{
    grid-template-columns:1fr !important;
    gap:13px !important;
    padding:20px 18px !important;
    text-align:center !important;
  }

  #modalDynamic .u101-modal-wrap .u101-step-number,
  .modal-source .u101-modal-wrap .u101-step-number,
  .u101-modal-wrap .u101-step-number{
    margin:0 auto !important;
  }

  #modalDynamic .u101-modal-wrap .u101-step-copy,
  .modal-source .u101-modal-wrap .u101-step-copy,
  .u101-modal-wrap .u101-step-copy,
  #modalDynamic .u101-modal-wrap .u101-step-copy p,
  .modal-source .u101-modal-wrap .u101-step-copy p,
  .u101-modal-wrap .u101-step-copy p{
    text-align:center !important;
  }

  #modalDynamic .u101-modal-wrap .u101-step-copy h5,
  .modal-source .u101-modal-wrap .u101-step-copy h5,
  .u101-modal-wrap .u101-step-copy h5{
    font-size:20px !important;
  }

  #modalDynamic .u101-modal-wrap .u101-step-copy p,
  .modal-source .u101-modal-wrap .u101-step-copy p,
  .u101-modal-wrap .u101-step-copy p{
    font-size:14.5px !important;
  }

  #modalDynamic .u101-modal-wrap .u101-system-close,
  .modal-source .u101-modal-wrap .u101-system-close,
  .u101-modal-wrap .u101-system-close{
    font-size:15.3px !important;
    margin-top:24px !important;
  }

  #modalDynamic .u101-modal-wrap > .ms-grid .ms-visual,
  .modal-source .u101-modal-wrap > .ms-grid .ms-visual,
  .u101-modal-wrap > .ms-grid .ms-visual{
    min-height:0 !important;
  }

  #modalDynamic .u101-modal-wrap > .ms-grid .ms-visual img,
  .modal-source .u101-modal-wrap > .ms-grid .ms-visual img,
  .u101-modal-wrap > .ms-grid .ms-visual img{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:5 / 8 !important;
    object-fit:cover !important;
    object-position:center !important;
  }

  #modalDynamic .u101-modal-wrap .modal-buy-panel,
  .modal-source .u101-modal-wrap .modal-buy-panel,
  .u101-modal-wrap .modal-buy-panel{
    margin-top:14px !important;
    padding:12px !important;
  }

  #modalDynamic .u101-modal-wrap .modal-buy-panel .ms-price-upgrade,
  .modal-source .u101-modal-wrap .modal-buy-panel .ms-price-upgrade,
  .u101-modal-wrap .modal-buy-panel .ms-price-upgrade{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    gap:9px !important;
    padding:10px !important;
  }

  #modalDynamic .u101-modal-wrap .modal-buy-panel .upgrade-price-label,
  .modal-source .u101-modal-wrap .modal-buy-panel .upgrade-price-label,
  .u101-modal-wrap .modal-buy-panel .upgrade-price-label,
  #modalDynamic .u101-modal-wrap .modal-buy-panel .upgrade-price-row,
  .modal-source .u101-modal-wrap .modal-buy-panel .upgrade-price-row,
  .u101-modal-wrap .modal-buy-panel .upgrade-price-row,
  #modalDynamic .u101-modal-wrap .modal-buy-panel .upgrade-save-pill,
  .modal-source .u101-modal-wrap .modal-buy-panel .upgrade-save-pill,
  .u101-modal-wrap .modal-buy-panel .upgrade-save-pill{
    justify-self:center !important;
  }

  #modalDynamic .u101-modal-wrap .modal-buy-panel .upgrade-price-main,
  .modal-source .u101-modal-wrap .modal-buy-panel .upgrade-price-main,
  .u101-modal-wrap .modal-buy-panel .upgrade-price-main{
    font-size:34px !important;
  }

  #modalDynamic .u101-modal-wrap .modal-buy-panel .modal-promise p,
  .modal-source .u101-modal-wrap .modal-buy-panel .modal-promise p,
  .u101-modal-wrap .modal-buy-panel .modal-promise p{
    font-size:11.5px !important;
  }

  #modalDynamic .u101-modal-wrap .ms-testis,
  .modal-source .u101-modal-wrap .ms-testis,
  .u101-modal-wrap .ms-testis{
    margin-left:12px !important;
    margin-right:12px !important;
  }
}

/* =========================
   U101 - MATCH ALL MAIN SECTION HEADLINES TO SMART MOVE SIZE
========================= */

#modalDynamic .u101-modal-wrap .u101-sales-page h4,
.modal-source .u101-modal-wrap .u101-sales-page h4,
.u101-modal-wrap .u101-sales-page h4,
#modalDynamic .u101-modal-wrap .u101-traffic-system-head h4,
.modal-source .u101-modal-wrap .u101-traffic-system-head h4,
.u101-modal-wrap .u101-traffic-system-head h4,
#modalDynamic .u101-modal-wrap .u101-serious-close h4,
.modal-source .u101-modal-wrap .u101-serious-close h4,
.u101-modal-wrap .u101-serious-close h4{
  font-size:42px !important;
  line-height:1.05 !important;
  letter-spacing:-.05em !important;
}

/* Keep all main headlines centred */
#modalDynamic .u101-modal-wrap .u101-sales-page h4,
.modal-source .u101-modal-wrap .u101-sales-page h4,
.u101-modal-wrap .u101-sales-page h4{
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

/* Mobile */
@media (max-width:720px){
  #modalDynamic .u101-modal-wrap .u101-sales-page h4,
  .modal-source .u101-modal-wrap .u101-sales-page h4,
  .u101-modal-wrap .u101-sales-page h4,
  #modalDynamic .u101-modal-wrap .u101-traffic-system-head h4,
  .modal-source .u101-modal-wrap .u101-traffic-system-head h4,
  .u101-modal-wrap .u101-traffic-system-head h4,
  #modalDynamic .u101-modal-wrap .u101-serious-close h4,
  .modal-source .u101-modal-wrap .u101-serious-close h4,
  .u101-modal-wrap .u101-serious-close h4{
    font-size:27px !important;
    line-height:1.1 !important;
  }
}

/* =========================
   U101 - SMART MOVE VISUAL STRIP
========================= */

#modalDynamic .u101-modal-wrap .u101-smart-visual,
.modal-source .u101-modal-wrap .u101-smart-visual,
.u101-modal-wrap .u101-smart-visual{
  display:grid !important;
  grid-template-columns:1fr auto 1fr auto 1fr !important;
  align-items:center !important;
  gap:14px !important;
  max-width:900px !important;
  margin:34px auto 0 !important;
}

#modalDynamic .u101-modal-wrap .u101-smart-card,
.modal-source .u101-modal-wrap .u101-smart-card,
.u101-modal-wrap .u101-smart-card{
  min-height:128px !important;
  padding:22px 18px !important;
  border-radius:22px !important;
  border:1px solid rgba(20,163,112,.18) !important;
  background:rgba(255,255,255,.72) !important;
  box-shadow:
    0 14px 30px rgba(15,23,42,.06),
    inset 0 1px 0 rgba(255,255,255,.82) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-smart-card-featured,
.modal-source .u101-modal-wrap .u101-smart-card-featured,
.u101-modal-wrap .u101-smart-card-featured{
  border-color:rgba(249,115,22,.28) !important;
  background:linear-gradient(135deg, rgba(255,247,237,.92), rgba(255,255,255,.86)) !important;
  transform:translateY(-4px) !important;
}

#modalDynamic .u101-modal-wrap .u101-smart-icon,
.modal-source .u101-modal-wrap .u101-smart-icon,
.u101-modal-wrap .u101-smart-icon{
  width:46px !important;
  height:46px !important;
  margin:0 0 12px !important;
  border-radius:16px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(20,163,112,.10) !important;
  border:1px solid rgba(20,163,112,.18) !important;
  font-size:23px !important;
  line-height:1 !important;
}

#modalDynamic .u101-modal-wrap .u101-smart-card-featured .u101-smart-icon,
.modal-source .u101-modal-wrap .u101-smart-card-featured .u101-smart-icon,
.u101-modal-wrap .u101-smart-card-featured .u101-smart-icon{
  background:rgba(249,115,22,.12) !important;
  border-color:rgba(249,115,22,.24) !important;
}

#modalDynamic .u101-modal-wrap .u101-smart-card strong,
.modal-source .u101-modal-wrap .u101-smart-card strong,
.u101-modal-wrap .u101-smart-card strong{
  display:block !important;
  margin:0 0 7px !important;
  color:var(--ink) !important;
  font-size:18px !important;
  font-weight:900 !important;
  line-height:1.12 !important;
  letter-spacing:-.03em !important;
}

#modalDynamic .u101-modal-wrap .u101-smart-card small,
.modal-source .u101-modal-wrap .u101-smart-card small,
.u101-modal-wrap .u101-smart-card small{
  display:block !important;
  max-width:170px !important;
  margin:0 auto !important;
  color:var(--muted) !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.35 !important;
}

#modalDynamic .u101-modal-wrap .u101-smart-arrow,
.modal-source .u101-modal-wrap .u101-smart-arrow,
.u101-modal-wrap .u101-smart-arrow{
  width:34px !important;
  height:34px !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fff !important;
  border:1px solid rgba(249,115,22,.24) !important;
  color:#f97316 !important;
  font-size:20px !important;
  font-weight:900 !important;
  box-shadow:0 10px 22px rgba(15,23,42,.06) !important;
}

@media (max-width:720px){
  #modalDynamic .u101-modal-wrap .u101-smart-visual,
  .modal-source .u101-modal-wrap .u101-smart-visual,
  .u101-modal-wrap .u101-smart-visual{
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-top:28px !important;
  }

  #modalDynamic .u101-modal-wrap .u101-smart-arrow,
  .modal-source .u101-modal-wrap .u101-smart-arrow,
  .u101-modal-wrap .u101-smart-arrow{
    margin:0 auto !important;
    transform:rotate(90deg) !important;
  }

  #modalDynamic .u101-modal-wrap .u101-smart-card,
  .modal-source .u101-modal-wrap .u101-smart-card,
  .u101-modal-wrap .u101-smart-card{
    min-height:0 !important;
    padding:20px 16px !important;
  }

  #modalDynamic .u101-modal-wrap .u101-smart-card-featured,
  .modal-source .u101-modal-wrap .u101-smart-card-featured,
  .u101-modal-wrap .u101-smart-card-featured{
    transform:none !important;
  }
}

/* =====================================================
   FORCE FIX - U101 SERIOUS CLOSE COLOURED CTA BANNER
   Place at the VERY BOTTOM of all CSS
===================================================== */

#modalDynamic .u101-modal-wrap .u101-sales-page > section.u101-serious-close,
.modal-source .u101-modal-wrap .u101-sales-page > section.u101-serious-close,
.u101-modal-wrap .u101-sales-page > section.u101-serious-close,
#upsell-u101 .u101-sales-page > section.u101-serious-close{
  position:relative !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:64px 44px !important;
  border-radius:0 !important;
  border-top:1px solid rgba(20,163,112,.26) !important;
  border-bottom:1px solid rgba(249,115,22,.24) !important;
  background:
    radial-gradient(circle at top left, rgba(20,163,112,.26), transparent 34%),
    radial-gradient(circle at bottom right, rgba(249,115,22,.20), transparent 38%),
    linear-gradient(135deg, #ecfdf5 0%, #ffffff 46%, #fff7ed 100%) !important;
  box-shadow:none !important;
  text-align:center !important;
}

/* Remove the huge inner white card and the broken ?? icon */
#modalDynamic .u101-modal-wrap .u101-sales-page > section.u101-serious-close::before,
.modal-source .u101-modal-wrap .u101-sales-page > section.u101-serious-close::before,
.u101-modal-wrap .u101-sales-page > section.u101-serious-close::before,
#upsell-u101 .u101-sales-page > section.u101-serious-close::before,
#modalDynamic .u101-modal-wrap .u101-sales-page > section.u101-serious-close::after,
.modal-source .u101-modal-wrap .u101-sales-page > section.u101-serious-close::after,
.u101-modal-wrap .u101-sales-page > section.u101-serious-close::after,
#upsell-u101 .u101-sales-page > section.u101-serious-close::after{
  display:none !important;
  content:none !important;
}

/* Pill */
#modalDynamic .u101-modal-wrap .u101-serious-close .u101-serious-kicker,
.modal-source .u101-modal-wrap .u101-serious-close .u101-serious-kicker,
.u101-modal-wrap .u101-serious-close .u101-serious-kicker,
#upsell-u101 .u101-serious-close .u101-serious-kicker{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto 16px !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#b45309 !important;
  border:1px solid rgba(249,115,22,.30) !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}

/* Headline */
#modalDynamic .u101-modal-wrap .u101-serious-close h4,
.modal-source .u101-modal-wrap .u101-serious-close h4,
.u101-modal-wrap .u101-serious-close h4,
#upsell-u101 .u101-serious-close h4{
  max-width:920px !important;
  margin:0 auto 20px !important;
  color:var(--ink) !important;
  font-size:42px !important;
  font-weight:900 !important;
  line-height:1.05 !important;
  letter-spacing:-.05em !important;
  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-serious-close h4 em,
.modal-source .u101-modal-wrap .u101-serious-close h4 em,
.u101-modal-wrap .u101-serious-close h4 em,
#upsell-u101 .u101-serious-close h4 em{
  display:block !important;
  color:var(--brand) !important;
  font-style:normal !important;
}

/* Body copy */
#modalDynamic .u101-modal-wrap .u101-serious-close p,
.modal-source .u101-modal-wrap .u101-serious-close p,
.u101-modal-wrap .u101-serious-close p,
#upsell-u101 .u101-serious-close p{
  max-width:820px !important;
  margin:0 auto 16px !important;
  color:var(--ink) !important;
  font-size:17px !important;
  font-weight:600 !important;
  line-height:1.62 !important;
  text-align:center !important;
}

/* Final statement card */
#modalDynamic .u101-modal-wrap .u101-serious-final,
.modal-source .u101-modal-wrap .u101-serious-final,
.u101-modal-wrap .u101-serious-final,
#upsell-u101 .u101-serious-final{
  max-width:760px !important;
  margin:28px auto 24px !important;
  padding:18px 20px !important;
  border-radius:18px !important;
  border:1px solid rgba(20,163,112,.24) !important;
  background:rgba(255,255,255,.78) !important;
  color:var(--ink) !important;
  font-size:18px !important;
  font-weight:900 !important;
  line-height:1.45 !important;
  text-align:center !important;
  box-shadow:0 14px 30px rgba(15,23,42,.05) !important;
}

/* CTA box */
#modalDynamic .u101-modal-wrap .u101-serious-cta,
.modal-source .u101-modal-wrap .u101-serious-cta,
.u101-modal-wrap .u101-serious-cta,
#upsell-u101 .u101-serious-cta{
  width:min(100%, 500px) !important;
  margin:0 auto !important;
  padding:16px !important;
  border-radius:24px !important;
  border:1px solid rgba(20,163,112,.22) !important;
  background:rgba(255,255,255,.78) !important;
  box-shadow:
    0 18px 38px rgba(15,23,42,.08),
    inset 0 1px 0 rgba(255,255,255,.88) !important;
}

/* CTA button */
#modalDynamic .u101-modal-wrap .u101-serious-cta .btn,
.modal-source .u101-modal-wrap .u101-serious-cta .btn,
.u101-modal-wrap .u101-serious-cta .btn,
#upsell-u101 .u101-serious-cta .btn{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  margin:0 auto 13px !important;
  padding:16px 22px !important;
  border-radius:14px !important;
  font-size:16px !important;
  font-weight:900 !important;
  line-height:1.1 !important;
  text-align:center !important;
  box-shadow:0 16px 32px rgba(20,163,112,.24) !important;
}

/* Guarantee line */
#modalDynamic .u101-modal-wrap .u101-serious-cta small,
.modal-source .u101-modal-wrap .u101-serious-cta small,
.u101-modal-wrap .u101-serious-cta small,
#upsell-u101 .u101-serious-cta small{
  display:block !important;
  max-width:420px !important;
  margin:0 auto !important;
  color:var(--muted) !important;
  font-size:12.5px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  text-align:center !important;
}

/* Mobile */
@media (max-width:720px){
  #modalDynamic .u101-modal-wrap .u101-sales-page > section.u101-serious-close,
  .modal-source .u101-modal-wrap .u101-sales-page > section.u101-serious-close,
  .u101-modal-wrap .u101-sales-page > section.u101-serious-close,
  #upsell-u101 .u101-sales-page > section.u101-serious-close{
    padding:40px 18px !important;
  }

  #modalDynamic .u101-modal-wrap .u101-serious-close h4,
  .modal-source .u101-modal-wrap .u101-serious-close h4,
  .u101-modal-wrap .u101-serious-close h4,
  #upsell-u101 .u101-serious-close h4{
    font-size:27px !important;
    line-height:1.1 !important;
  }

  #modalDynamic .u101-modal-wrap .u101-serious-close p,
  .modal-source .u101-modal-wrap .u101-serious-close p,
  .u101-modal-wrap .u101-serious-close p,
  #upsell-u101 .u101-serious-close p{
    font-size:15.5px !important;
    line-height:1.58 !important;
  }

  #modalDynamic .u101-modal-wrap .u101-serious-final,
  .modal-source .u101-modal-wrap .u101-serious-final,
  .u101-modal-wrap .u101-serious-final,
  #upsell-u101 .u101-serious-final{
    font-size:15.5px !important;
  }

  #modalDynamic .u101-modal-wrap .u101-serious-cta,
  .modal-source .u101-modal-wrap .u101-serious-cta,
  .u101-modal-wrap .u101-serious-cta,
  #upsell-u101 .u101-serious-cta{
    padding:14px !important;
    border-radius:20px !important;
  }
}

/* =====================================================
   FORCE FIX - U101 FINAL REMINDER CHECKLIST
   Place at the VERY BOTTOM of all CSS
===================================================== */

#modalDynamic .u101-modal-wrap .u101-final-reminder,
.modal-source .u101-modal-wrap .u101-final-reminder,
.u101-modal-wrap .u101-final-reminder,
#upsell-u101 .u101-final-reminder{
  max-width:760px !important;
  margin:0 auto 26px !important;
  padding:20px 22px !important;
  border-radius:22px !important;
  border:1px solid rgba(249,115,22,.22) !important;
  background:linear-gradient(135deg, rgba(255,247,237,.86), rgba(255,255,255,.78)) !important;
  box-shadow:
    0 16px 34px rgba(15,23,42,.055),
    inset 0 1px 0 rgba(255,255,255,.86) !important;
  text-align:left !important;
}

#modalDynamic .u101-modal-wrap .u101-final-reminder > strong,
.modal-source .u101-modal-wrap .u101-final-reminder > strong,
.u101-modal-wrap .u101-final-reminder > strong,
#upsell-u101 .u101-final-reminder > strong{
  display:block !important;
  margin:0 0 14px !important;
  color:var(--ink) !important;
  font-size:18px !important;
  font-weight:900 !important;
  line-height:1.25 !important;
  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-final-reminder ul,
.modal-source .u101-modal-wrap .u101-final-reminder ul,
.u101-modal-wrap .u101-final-reminder ul,
#upsell-u101 .u101-final-reminder ul{
  display:grid !important;
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

#modalDynamic .u101-modal-wrap .u101-final-reminder li,
.modal-source .u101-modal-wrap .u101-final-reminder li,
.u101-modal-wrap .u101-final-reminder li,
#upsell-u101 .u101-final-reminder li{
  position:relative !important;
  margin:0 !important;
  padding:0 0 0 30px !important;
  color:var(--ink) !important;
  font-size:15.5px !important;
  font-weight:750 !important;
  line-height:1.45 !important;
  text-align:left !important;
}

#modalDynamic .u101-modal-wrap .u101-final-reminder li::before,
.modal-source .u101-modal-wrap .u101-final-reminder li::before,
.u101-modal-wrap .u101-final-reminder li::before,
#upsell-u101 .u101-final-reminder li::before{
  content:"+" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:20px !important;
  height:20px !important;
  border-radius:999px !important;
  background:var(--brand) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
}

/* Keep CTA clean underneath reminder */
#modalDynamic .u101-modal-wrap .u101-serious-cta,
.modal-source .u101-modal-wrap .u101-serious-cta,
.u101-modal-wrap .u101-serious-cta,
#upsell-u101 .u101-serious-cta{
  margin-top:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

@media (max-width:720px){
  #modalDynamic .u101-modal-wrap .u101-final-reminder,
  .modal-source .u101-modal-wrap .u101-final-reminder,
  .u101-modal-wrap .u101-final-reminder,
  #upsell-u101 .u101-final-reminder{
    padding:18px 16px !important;
    margin-bottom:24px !important;
  }

  #modalDynamic .u101-modal-wrap .u101-final-reminder > strong,
  .modal-source .u101-modal-wrap .u101-final-reminder > strong,
  .u101-modal-wrap .u101-final-reminder > strong,
  #upsell-u101 .u101-final-reminder > strong{
    font-size:16px !important;
  }

  #modalDynamic .u101-modal-wrap .u101-final-reminder li,
  .modal-source .u101-modal-wrap .u101-final-reminder li,
  .u101-modal-wrap .u101-final-reminder li,
  #upsell-u101 .u101-final-reminder li{
    font-size:14.5px !important;
  }
}

/* =====================================================
   FORCE FIX - U101 FINAL UPGRADE BANNER + PREMIUM REMINDER
   Place at the VERY BOTTOM of all CSS
===================================================== */

/* Full coloured final banner */
#modalDynamic .u101-modal-wrap .u101-sales-page > section.u101-final-upgrade-banner,
.modal-source .u101-modal-wrap .u101-sales-page > section.u101-final-upgrade-banner,
.u101-modal-wrap .u101-sales-page > section.u101-final-upgrade-banner,
#upsell-u101 .u101-sales-page > section.u101-final-upgrade-banner{
  position:relative !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:64px 44px !important;
  border-radius:0 !important;
  border-top:1px solid rgba(20,163,112,.26) !important;
  border-bottom:1px solid rgba(249,115,22,.24) !important;
  background:
    radial-gradient(circle at top left, rgba(20,163,112,.25), transparent 34%),
    radial-gradient(circle at bottom right, rgba(249,115,22,.20), transparent 38%),
    linear-gradient(135deg, #ecfdf5 0%, #ffffff 45%, #fff7ed 100%) !important;
  box-shadow:none !important;
  text-align:center !important;
}

/* Kill old pseudo elements / broken icons */
#modalDynamic .u101-modal-wrap .u101-final-upgrade-banner::before,
.modal-source .u101-modal-wrap .u101-final-upgrade-banner::before,
.u101-modal-wrap .u101-final-upgrade-banner::before,
#upsell-u101 .u101-final-upgrade-banner::before,
#modalDynamic .u101-modal-wrap .u101-final-upgrade-banner::after,
.modal-source .u101-modal-wrap .u101-final-upgrade-banner::after,
.u101-modal-wrap .u101-final-upgrade-banner::after,
#upsell-u101 .u101-final-upgrade-banner::after{
  display:none !important;
  content:none !important;
}

/* Pill */
#modalDynamic .u101-modal-wrap .u101-final-upgrade-banner .u101-serious-kicker,
.modal-source .u101-modal-wrap .u101-final-upgrade-banner .u101-serious-kicker,
.u101-modal-wrap .u101-final-upgrade-banner .u101-serious-kicker,
#upsell-u101 .u101-final-upgrade-banner .u101-serious-kicker{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto 16px !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#b45309 !important;
  border:1px solid rgba(249,115,22,.30) !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}

/* Headline */
#modalDynamic .u101-modal-wrap .u101-final-upgrade-banner h4,
.modal-source .u101-modal-wrap .u101-final-upgrade-banner h4,
.u101-modal-wrap .u101-final-upgrade-banner h4,
#upsell-u101 .u101-final-upgrade-banner h4{
  max-width:920px !important;
  margin:0 auto 20px !important;
  color:var(--ink) !important;
  font-size:42px !important;
  font-weight:900 !important;
  line-height:1.05 !important;
  letter-spacing:-.05em !important;
  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-final-upgrade-banner h4 em,
.modal-source .u101-modal-wrap .u101-final-upgrade-banner h4 em,
.u101-modal-wrap .u101-final-upgrade-banner h4 em,
#upsell-u101 .u101-final-upgrade-banner h4 em{
  display:block !important;
  color:var(--brand) !important;
  font-style:normal !important;
}

/* Body copy */
#modalDynamic .u101-modal-wrap .u101-final-upgrade-banner > p,
.modal-source .u101-modal-wrap .u101-final-upgrade-banner > p,
.u101-modal-wrap .u101-final-upgrade-banner > p,
#upsell-u101 .u101-final-upgrade-banner > p{
  max-width:820px !important;
  margin:0 auto 16px !important;
  color:var(--ink) !important;
  font-size:17px !important;
  font-weight:600 !important;
  line-height:1.62 !important;
  text-align:center !important;
}

/* Statement card */
#modalDynamic .u101-modal-wrap .u101-final-upgrade-banner .u101-serious-final,
.modal-source .u101-modal-wrap .u101-final-upgrade-banner .u101-serious-final,
.u101-modal-wrap .u101-final-upgrade-banner .u101-serious-final,
#upsell-u101 .u101-final-upgrade-banner .u101-serious-final{
  max-width:760px !important;
  margin:28px auto 28px !important;
  padding:18px 20px !important;
  border-radius:18px !important;
  border:1px solid rgba(20,163,112,.24) !important;
  background:rgba(255,255,255,.80) !important;
  color:var(--ink) !important;
  font-size:18px !important;
  font-weight:900 !important;
  line-height:1.45 !important;
  text-align:center !important;
  box-shadow:0 14px 30px rgba(15,23,42,.05) !important;
}

/* Premium reminder block */
#modalDynamic .u101-modal-wrap .u101-final-reminder,
.modal-source .u101-modal-wrap .u101-final-reminder,
.u101-modal-wrap .u101-final-reminder,
#upsell-u101 .u101-final-reminder{
  max-width:880px !important;
  margin:0 auto 28px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-final-reminder-kicker,
.modal-source .u101-modal-wrap .u101-final-reminder-kicker,
.u101-modal-wrap .u101-final-reminder-kicker,
#upsell-u101 .u101-final-reminder-kicker{
  display:block !important;
  margin:0 auto 16px !important;
  color:var(--ink) !important;
  font-size:20px !important;
  font-weight:900 !important;
  line-height:1.25 !important;
  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-final-reminder-grid,
.modal-source .u101-modal-wrap .u101-final-reminder-grid,
.u101-modal-wrap .u101-final-reminder-grid,
#upsell-u101 .u101-final-reminder-grid{
  display:grid !important;
  grid-template-columns:repeat(3, 1fr) !important;
  gap:14px !important;
  margin:0 !important;
}

#modalDynamic .u101-modal-wrap .u101-final-reminder-grid div,
.modal-source .u101-modal-wrap .u101-final-reminder-grid div,
.u101-modal-wrap .u101-final-reminder-grid div,
#upsell-u101 .u101-final-reminder-grid div{
  padding:22px 18px !important;
  border-radius:22px !important;
  border:1px solid rgba(249,115,22,.20) !important;
  background:rgba(255,255,255,.74) !important;
  box-shadow:
    0 16px 34px rgba(15,23,42,.055),
    inset 0 1px 0 rgba(255,255,255,.86) !important;
  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-final-reminder-grid div > span,
.modal-source .u101-modal-wrap .u101-final-reminder-grid div > span,
.u101-modal-wrap .u101-final-reminder-grid div > span,
#upsell-u101 .u101-final-reminder-grid div > span{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:46px !important;
  height:46px !important;
  margin:0 auto 12px !important;
  border-radius:16px !important;
  background:rgba(249,115,22,.12) !important;
  border:1px solid rgba(249,115,22,.22) !important;
  font-size:22px !important;
  line-height:1 !important;
}

#modalDynamic .u101-modal-wrap .u101-final-reminder-grid strong,
.modal-source .u101-modal-wrap .u101-final-reminder-grid strong,
.u101-modal-wrap .u101-final-reminder-grid strong,
#upsell-u101 .u101-final-reminder-grid strong{
  display:block !important;
  margin:0 0 7px !important;
  color:var(--ink) !important;
  font-size:18px !important;
  font-weight:900 !important;
  line-height:1.12 !important;
  letter-spacing:-.03em !important;
}

#modalDynamic .u101-modal-wrap .u101-final-reminder-grid p,
.modal-source .u101-modal-wrap .u101-final-reminder-grid p,
.u101-modal-wrap .u101-final-reminder-grid p,
#upsell-u101 .u101-final-reminder-grid p{
  max-width:210px !important;
  margin:0 auto !important;
  color:var(--muted) !important;
  font-size:13.5px !important;
  font-weight:700 !important;
  line-height:1.38 !important;
  text-align:center !important;
}

/* Clean CTA - no surrounding box */
#modalDynamic .u101-modal-wrap .u101-final-upgrade-banner .u101-serious-cta,
.modal-source .u101-modal-wrap .u101-final-upgrade-banner .u101-serious-cta,
.u101-modal-wrap .u101-final-upgrade-banner .u101-serious-cta,
#upsell-u101 .u101-final-upgrade-banner .u101-serious-cta{
  width:auto !important;
  max-width:none !important;
  margin:0 auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  text-align:center !important;
}

/* Button */
#modalDynamic .u101-modal-wrap .u101-final-upgrade-banner .u101-serious-cta .btn,
.modal-source .u101-modal-wrap .u101-final-upgrade-banner .u101-serious-cta .btn,
.u101-modal-wrap .u101-final-upgrade-banner .u101-serious-cta .btn,
#upsell-u101 .u101-final-upgrade-banner .u101-serious-cta .btn{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:min(100%, 480px) !important;
  margin:0 auto 13px !important;
  padding:17px 24px !important;
  border-radius:14px !important;
  font-size:16px !important;
  font-weight:900 !important;
  line-height:1.1 !important;
  text-align:center !important;
  box-shadow:0 16px 32px rgba(20,163,112,.24) !important;
}

/* Guarantee */
#modalDynamic .u101-modal-wrap .u101-final-upgrade-banner .u101-serious-cta small,
.modal-source .u101-modal-wrap .u101-final-upgrade-banner .u101-serious-cta small,
.u101-modal-wrap .u101-final-upgrade-banner .u101-serious-cta small,
#upsell-u101 .u101-final-upgrade-banner .u101-serious-cta small{
  display:block !important;
  max-width:520px !important;
  margin:0 auto !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:var(--muted) !important;
  font-size:12.5px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  text-align:center !important;
}

/* Mobile */
@media (max-width:720px){
  #modalDynamic .u101-modal-wrap .u101-sales-page > section.u101-final-upgrade-banner,
  .modal-source .u101-modal-wrap .u101-sales-page > section.u101-final-upgrade-banner,
  .u101-modal-wrap .u101-sales-page > section.u101-final-upgrade-banner,
  #upsell-u101 .u101-sales-page > section.u101-final-upgrade-banner{
    padding:40px 18px !important;
  }

  #modalDynamic .u101-modal-wrap .u101-final-upgrade-banner h4,
  .modal-source .u101-modal-wrap .u101-final-upgrade-banner h4,
  .u101-modal-wrap .u101-final-upgrade-banner h4,
  #upsell-u101 .u101-final-upgrade-banner h4{
    font-size:27px !important;
    line-height:1.1 !important;
  }

  #modalDynamic .u101-modal-wrap .u101-final-upgrade-banner > p,
  .modal-source .u101-modal-wrap .u101-final-upgrade-banner > p,
  .u101-modal-wrap .u101-final-upgrade-banner > p,
  #upsell-u101 .u101-final-upgrade-banner > p{
    font-size:15.5px !important;
    line-height:1.58 !important;
  }

  #modalDynamic .u101-modal-wrap .u101-final-reminder-grid,
  .modal-source .u101-modal-wrap .u101-final-reminder-grid,
  .u101-modal-wrap .u101-final-reminder-grid,
  #upsell-u101 .u101-final-reminder-grid{
    grid-template-columns:1fr !important;
    max-width:420px !important;
    margin:0 auto !important;
  }

  #modalDynamic .u101-modal-wrap .u101-final-reminder-kicker,
  .modal-source .u101-modal-wrap .u101-final-reminder-kicker,
  .u101-modal-wrap .u101-final-reminder-kicker,
  #upsell-u101 .u101-final-reminder-kicker{
    font-size:17px !important;
  }

  #modalDynamic .u101-modal-wrap .u101-final-upgrade-banner .u101-serious-cta .btn,
  .modal-source .u101-modal-wrap .u101-final-upgrade-banner .u101-serious-cta .btn,
  .u101-modal-wrap .u101-final-upgrade-banner .u101-serious-cta .btn,
  #upsell-u101 .u101-final-upgrade-banner .u101-serious-cta .btn{
    width:100% !important;
    max-width:430px !important;
    font-size:15px !important;
    padding:15px 18px !important;
  }
}

/* =====================================================
   U101 - REMOVE OLD COMPARE QUESTION MARK ICONS
   Place at the VERY BOTTOM of all CSS
===================================================== */

#modalDynamic .u101-modal-wrap .u101-compare-side li::before,
.modal-source .u101-modal-wrap .u101-compare-side li::before,
.u101-modal-wrap .u101-compare-side li::before,
#upsell-u101 .u101-compare-side li::before,
#modalDynamic .u101-modal-wrap .u101-compare-side-bad li::before,
.modal-source .u101-modal-wrap .u101-compare-side-bad li::before,
.u101-modal-wrap .u101-compare-side-bad li::before,
#upsell-u101 .u101-compare-side-bad li::before,
#modalDynamic .u101-modal-wrap .u101-compare-side-good li::before,
.modal-source .u101-modal-wrap .u101-compare-side-good li::before,
.u101-modal-wrap .u101-compare-side-good li::before,
#upsell-u101 .u101-compare-side-good li::before{
  content:none !important;
  display:none !important;
}

/* Keep HTML emoji + text aligned */
#modalDynamic .u101-modal-wrap .u101-compare-side li,
.modal-source .u101-modal-wrap .u101-compare-side li,
.u101-modal-wrap .u101-compare-side li,
#upsell-u101 .u101-compare-side li{
  display:grid !important;
  grid-template-columns:24px minmax(0, 1fr) !important;
  gap:10px !important;
  align-items:start !important;
  padding-left:0 !important;
  width:100% !important;
  max-width:none !important;
  text-align:left !important;
}

#modalDynamic .u101-modal-wrap .u101-bullet-emoji,
.modal-source .u101-modal-wrap .u101-bullet-emoji,
.u101-modal-wrap .u101-bullet-emoji,
#upsell-u101 .u101-bullet-emoji{
  display:block !important;
  width:24px !important;
  min-width:24px !important;
  font-size:16px !important;
  line-height:1.35 !important;
  text-align:center !important;
}

/* =====================================================
   U101 - CLEAN COMPARE BULLET DOTS
   Less distracting than emoji bullets
===================================================== */

#modalDynamic .u101-modal-wrap .u101-bullet-emoji,
.modal-source .u101-modal-wrap .u101-bullet-emoji,
.u101-modal-wrap .u101-bullet-emoji,
#upsell-u101 .u101-bullet-emoji{
  display:none !important;
}

#modalDynamic .u101-modal-wrap .u101-bullet-dot,
.modal-source .u101-modal-wrap .u101-bullet-dot,
.u101-modal-wrap .u101-bullet-dot,
#upsell-u101 .u101-bullet-dot{
  display:block !important;
  width:10px !important;
  height:10px !important;
  margin-top:7px !important;
  border-radius:999px !important;
  flex-shrink:0 !important;
}

#modalDynamic .u101-modal-wrap .u101-compare-side-bad .u101-bullet-dot,
.modal-source .u101-modal-wrap .u101-compare-side-bad .u101-bullet-dot,
.u101-modal-wrap .u101-compare-side-bad .u101-bullet-dot,
#upsell-u101 .u101-compare-side-bad .u101-bullet-dot{
  background:#ef4444 !important;
  box-shadow:0 0 0 4px rgba(239,68,68,.10) !important;
}

#modalDynamic .u101-modal-wrap .u101-compare-side-good .u101-bullet-dot,
.modal-source .u101-modal-wrap .u101-compare-side-good .u101-bullet-dot,
.u101-modal-wrap .u101-compare-side-good .u101-bullet-dot,
#upsell-u101 .u101-compare-side-good .u101-bullet-dot{
  background:var(--brand) !important;
  box-shadow:0 0 0 4px rgba(20,163,112,.10) !important;
}

#modalDynamic .u101-modal-wrap .u101-compare-side li,
.modal-source .u101-modal-wrap .u101-compare-side li,
.u101-modal-wrap .u101-compare-side li,
#upsell-u101 .u101-compare-side li{
  display:grid !important;
  grid-template-columns:18px minmax(0, 1fr) !important;
  gap:10px !important;
  align-items:start !important;
  padding-left:0 !important;
}

/* =====================================================
   U101 - CENTER COMPARE BOX HEADINGS
===================================================== */

#modalDynamic .u101-modal-wrap .u101-compare-side .u101-side-tag,
.modal-source .u101-modal-wrap .u101-compare-side .u101-side-tag,
.u101-modal-wrap .u101-compare-side .u101-side-tag,
#upsell-u101 .u101-compare-side .u101-side-tag{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  margin:0 auto 22px !important;
  text-align:center !important;
}

/* =====================================================
   U101 - COMPARE CARD TITLE DIVIDER
===================================================== */

#modalDynamic .u101-modal-wrap .u101-compare-side .u101-side-tag,
.modal-source .u101-modal-wrap .u101-compare-side .u101-side-tag,
.u101-modal-wrap .u101-compare-side .u101-side-tag,
#upsell-u101 .u101-compare-side .u101-side-tag{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  margin:0 auto 24px !important;
  padding-bottom:18px !important;
  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-compare-side .u101-side-tag::after,
.modal-source .u101-modal-wrap .u101-compare-side .u101-side-tag::after,
.u101-modal-wrap .u101-compare-side .u101-side-tag::after,
#upsell-u101 .u101-compare-side .u101-side-tag::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:3px !important;
  border-radius:999px !important; 
}

/* Red divider */
#modalDynamic .u101-modal-wrap .u101-compare-side-bad .u101-side-tag::after,
.modal-source .u101-modal-wrap .u101-compare-side-bad .u101-side-tag::after,
.u101-modal-wrap .u101-compare-side-bad .u101-side-tag::after,
#upsell-u101 .u101-compare-side-bad .u101-side-tag::after{
  background:linear-gradient(90deg, transparent, rgba(239,68,68,.28), transparent) !important;
}

/* Green divider */
#modalDynamic .u101-modal-wrap .u101-compare-side-good .u101-side-tag::after,
.modal-source .u101-modal-wrap .u101-compare-side-good .u101-side-tag::after,
.u101-modal-wrap .u101-compare-side-good .u101-side-tag::after,
#upsell-u101 .u101-compare-side-good .u101-side-tag::after{
  background:linear-gradient(90deg, transparent, rgba(20,163,112,.30), transparent) !important;
}

/* =====================================================
   CANONICAL GREEN MARKER UNDERLINE
   One shared, Dreamweaver-safe implementation
===================================================== */
.dfy-pen-underline{
  display:inline !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 .025em .035em !important;
  position:relative !important;
  color:var(--brand) !important;
  font-style:normal !important;
  line-height:inherit !important;
  white-space:inherit !important;
  vertical-align:baseline !important;
  overflow:visible !important;
  background:none !important;
  text-decoration-line:underline !important;
  text-decoration-color:rgba(20,163,112,.28) !important;
  text-decoration-thickness:.16em !important;
  text-underline-offset:.14em !important;
  text-decoration-skip-ink:none !important;
}

.dfy-pen-underline::before,
.dfy-pen-underline::after{
  content:none !important;
  display:none !important;
}

.u101-modal-wrap h3,
.u101-modal-wrap h4,
#dfy-upgrade h3,
#dfy-upgrade h4{
  overflow:visible !important;
}

/* Keep the Smart Move line centred without max-content */
.u101-modal-wrap .u101-next-level-banner h4 .u101-headline-line{
  display:block !important;
  width:100% !important;
  margin:0 auto !important;
  text-align:center !important;
  white-space:normal !important;
}

.u101-modal-wrap .u101-next-level-banner h4 .u101-headline-line .dfy-pen-underline{
  display:inline !important;
  width:auto !important;
  max-width:none !important;
  white-space:nowrap !important;
}

@media (min-width:721px){
  .u101-modal-wrap .u101-next-level-banner h4 .u101-headline-line{
    white-space:nowrap !important;
  }
}

/* Keep the underlined Smart Move phrase inline */
#modalDynamic .u101-modal-wrap .u101-sales-page > section.u101-next-level-banner h4 .u101-headline-line .dfy-pen-underline,
.modal-source .u101-modal-wrap .u101-sales-page > section.u101-next-level-banner h4 .u101-headline-line .dfy-pen-underline,
.u101-modal-wrap .u101-sales-page > section.u101-next-level-banner h4 .u101-headline-line .dfy-pen-underline{
  display:inline !important;
}

/* Match the Smart Move headline to the other mobile section headlines */
@media (max-width:720px){
  #modalDynamic .u101-modal-wrap .u101-sales-page > section.u101-next-level-banner h4,
  .modal-source .u101-modal-wrap .u101-sales-page > section.u101-next-level-banner h4,
  .u101-modal-wrap .u101-sales-page > section.u101-next-level-banner h4,
  #modalDynamic .u101-modal-wrap .u101-sales-page > section.u101-smart-move-banner h4,
  .modal-source .u101-modal-wrap .u101-sales-page > section.u101-smart-move-banner h4,
  .u101-modal-wrap .u101-sales-page > section.u101-smart-move-banner h4{
    font-size:27px !important;
    line-height:1.1 !important;
    letter-spacing:-.05em !important;
  }
}

/* =====================================================
   CTA SUPPORT TEXT
   AI Coach and guarantee use identical typography
===================================================== */
.u101-ai-coach-reminder,
.u101-ai-coach-basic,
.u101-cta-meta,
.u101-cta-guarantee,
.sticky-ai-coach-reminder,
.ms-sticky .u101-ai-coach-reminder,
.ms-sticky .u101-ai-coach-basic,
.ms-sticky .u101-cta-meta,
.ms-sticky .u101-cta-guarantee,
.ms-sticky .sticky-ai-coach-reminder{
  display:block !important;
  width:100% !important;
  margin:7px auto 0 !important;
  color:#6b7280 !important;
  font-family:inherit !important;
  font-size:11.5px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  text-align:center !important;
}

.u101-cta-guarantee,
.u101-cta-meta + .u101-cta-meta{
  margin-top:4px !important;
}

/* =====================================================
   STICKY CTA VISIBILITY
   JavaScript adds .is-hidden when the final CTA is visible
===================================================== */
.ms-sticky{
  transition:
    opacity .2s ease,
    transform .2s ease,
    visibility .2s ease;
}

.ms-sticky.is-hidden{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(100%) !important;
}

/* =====================================================
   MOBILE CTA LAYOUT
===================================================== */
@media (max-width:979.98px){

  /* Hide the mid-page CTA because the sticky CTA is visible */
  .u101-full-cta .u101-cta-box{
    display:none !important;
  }

  /* Keep the final CTA and stack everything vertically */
  .u101-serious-close .u101-serious-cta{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    justify-items:center !important;
    align-items:center !important;
    gap:0 !important;
    width:100% !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .u101-serious-close .u101-serious-cta > .btn{
    display:flex !important;
    width:100% !important;
    max-width:none !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .u101-serious-close .u101-serious-cta .u101-ai-coach-reminder,
  .u101-serious-close .u101-serious-cta .u101-ai-coach-basic,
  .u101-serious-close .u101-serious-cta .u101-cta-meta,
  .u101-serious-close .u101-serious-cta .u101-cta-guarantee{
    display:block !important;
    width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }

  /* Hide the sticky CTA when the final CTA enters the viewport */
  .ms-sticky.is-hidden{
    max-height:0 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    border-top-width:0 !important;
    overflow:hidden !important;
  }
}

/* =====================================================
   U102 COPY & PASTE EMAIL SWIPES
   Add this at the bottom of styles.css
===================================================== */

.u102-sales-page{
  --u102-orange:#f97316;
  --u102-green:#14a370;
  --u102-ink:#111827;
  --u102-muted:#667085;
}

.u102-sales-page h4{
  text-align:center;
}

.u102-section-intro{
  width:min(780px,100%);
  margin:18px auto 0;
  color:var(--u102-muted);
  font-size:16px;
  font-weight:650;
  line-height:1.7;
  text-align:center;
}

.u102-question-stack{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:24px 0;
}

.u102-question-stack > div{
  padding:15px 16px;
  border:1px solid #ffd0b2;
  border-radius:16px;
  background:#fffaf6;
  color:#344054;
  font-weight:750;
  line-height:1.45;
}

.u102-vault-section,
.u102-launch-section,
.u102-angle-section,
.u102-deliverables-section,
.u102-workspace-section{
  padding:64px 48px;
}

/* =====================================================
   SWIPE VAULT
   Clean coloured headers with matched card rhythm
===================================================== */

.u102-vault-section{
  background:
    radial-gradient(circle at 10% 15%,rgba(249,115,22,.12),transparent 34%),
    radial-gradient(circle at 90% 85%,rgba(20,163,112,.13),transparent 36%),
    #fffdf9;
  border-block:1px solid rgba(249,115,22,.2);
}

.u102-vault-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
  gap:16px;
  margin-top:32px;
}

.u102-vault-card{
  position:relative;
  display:grid;
  grid-template-rows:54px 58px minmax(0,1fr);
  align-content:start;
  min-height:272px;
  padding:20px 20px 0;
  overflow:hidden;
  border:1px solid #f3c6a5;
  border-radius:22px;
  background:#fff;
  box-shadow:
    inset 0 4px 0 #f97316,
    0 14px 30px rgba(17,24,39,.07);
  text-align:center;
}

.u102-vault-card::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0 0 auto;
  height:140px;
  background:
    radial-gradient(circle at 50% 0%,rgba(249,115,22,.12),transparent 64%),
    linear-gradient(180deg,#fff8f2 0%,#fff1e7 100%);
  border-bottom:1px solid #f3d1b9;
  pointer-events:none;
}

.u102-vault-card.featured{
  border-color:#73d2af;
  box-shadow:
    inset 0 4px 0 #14a370,
    0 14px 30px rgba(17,24,39,.07);
}

.u102-vault-card.featured::before{
  background:
    radial-gradient(circle at 50% 0%,rgba(20,163,112,.13),transparent 64%),
    linear-gradient(180deg,#effcf7 0%,#e3f8ef 100%);
  border-bottom-color:#a8dfcb;
}

.u102-vault-card > span{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  align-self:start;
  justify-self:center;
  width:54px;
  height:54px;
  margin:0;
  border:1px solid #ffb47c;
  border-radius:17px;
  background:#fff;
  box-shadow:
    0 8px 18px rgba(249,115,22,.1),
    0 2px 5px rgba(17,24,39,.05);
  font-size:26px;
}

.u102-vault-card.featured > span{
  border-color:#7ed4b4;
  box-shadow:
    0 8px 18px rgba(20,163,112,.11),
    0 2px 5px rgba(17,24,39,.05);
}

.u102-vault-card strong{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  margin:0;
  padding:9px 3px 10px;
  color:var(--u102-ink);
  font-size:18px;
  font-weight:900;
  line-height:1.28;
  text-align:center;
}

.u102-vault-card p{
  position:relative;
  z-index:1;
  align-self:stretch;
  justify-self:center;
  width:calc(100% + 40px);
  margin:0;
  padding:20px 22px 22px;
  background:#fff;
  color:#475467;
  font-size:13.5px;
  font-weight:600;
  line-height:1.58;
  text-align:left;
}

.u102-vault-card p::before{
  content:"";
  display:block;
  width:34px;
  height:3px;
  margin:0 0 13px;
  border-radius:999px;
  background:#f97316;
}

.u102-vault-card.featured p::before{
  background:#14a370;
}

.u102-vault-close,
.u102-launch-note{
  width:min(840px,100%);
  margin:26px auto 0;
  padding:17px 20px;
  border-radius:14px;
  color:#475467;
  font-weight:650;
  line-height:1.6;
}

.u102-vault-close{
  border-left:4px solid var(--u102-orange);
  background:#fff;
}

.u102-launch-note{
  border:1px solid #bce8d8;
  background:#f2fcf8;
  text-align:center;
}

@media (hover:hover){
  .u102-vault-card{
    transition:
      transform .2s ease,
      box-shadow .2s ease;
  }

  .u102-vault-card:hover{
    transform:translateY(-3px);
    box-shadow:
      inset 0 4px 0 #f97316,
      0 20px 40px rgba(17,24,39,.1);
  }

  .u102-vault-card.featured:hover{
    box-shadow:
      inset 0 4px 0 #14a370,
      0 20px 40px rgba(17,24,39,.1);
  }
}

/* =====================================================
   U102 PICK, PASTE, LAUNCH
   Improved process cards
===================================================== */

.u102-launch-section{
  background:#fff;
}

.u102-launch-steps{
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr) 44px minmax(0,1fr);
  align-items:stretch;
  gap:14px;
  margin-top:34px;
}

.u102-launch-step{
  position:relative;
  display:grid;
  grid-template-rows:54px 58px minmax(0,1fr);
  align-content:start;
  min-height:262px;
  padding:22px 22px 0;
  overflow:hidden;
  border:1px solid #f3c6a5;
  border-radius:24px;
  background:#fff;
  box-shadow:
    inset 0 4px 0 #f97316,
    0 14px 30px rgba(17,24,39,.07);
  text-align:center;
}

.u102-launch-step::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:138px;
  background:
    radial-gradient(circle at 50% 0%,rgba(249,115,22,.12),transparent 64%),
    linear-gradient(180deg,#fff8f2 0%,#fff1e7 100%);
  border-bottom:1px solid #f3d1b9;
  pointer-events:none;
}

.u102-launch-step.featured{
  border-color:#73d2af;
  box-shadow:
    inset 0 4px 0 #14a370,
    0 18px 34px rgba(20,163,112,.10);
}

.u102-launch-step.featured::before{
  background:
    radial-gradient(circle at 50% 0%,rgba(20,163,112,.13),transparent 64%),
    linear-gradient(180deg,#effcf7 0%,#e3f8ef 100%);
  border-bottom-color:#a8dfcb;
}

.u102-launch-step .num{
  position:absolute;
  top:14px;
  left:16px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:24px;
  padding:0 8px;
  border:1px solid #ffd0af;
  border-radius:999px;
  background:#fff;
  color:#d85d0b;
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  line-height:1;
}

.u102-launch-step.featured .num{
  border-color:#b7e5d4;
  color:#0a8a60;
}

.u102-launch-step .icon{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  align-self:start;
  justify-self:center;
  width:58px;
  height:58px;
  margin:10px 0 0;
  border:1px solid #ffd0af;
  border-radius:18px;
  background:#fff;
  box-shadow:
    0 8px 18px rgba(17,24,39,.06),
    0 2px 5px rgba(17,24,39,.04);
  font-size:28px;
}

.u102-launch-step.featured .icon{
  border-color:#b7e5d4;
}

.u102-launch-step strong{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  margin:0;
  padding:8px 4px 10px;
  color:#111827;
  font-size:18px;
  font-weight:900;
  line-height:1.28;
  text-align:center;
}

.u102-launch-step p{
  position:relative;
  z-index:1;
  justify-self:center;
  width:calc(100% + 44px);
  margin:0 -22px;
  padding:20px 22px 22px;
  border-top:1px solid #f3d1b9;
  background:#fff;
  color:#475467;
  font-size:13.5px;
  font-weight:600;
  line-height:1.58;
  text-align:left;
}

.u102-launch-step.featured p{
  border-top-color:#a8dfcb;
}

.u102-launch-step p::before{
  content:"";
  display:block;
  width:34px;
  height:3px;
  margin:0 0 13px;
  border-radius:999px;
  background:#f97316;
}

.u102-launch-step.featured p::before{
  background:#14a370;
}

.u102-launch-arrow{
  display:grid;
  place-items:center;
  align-self:center;
  width:38px;
  height:38px;
  border:1px solid #ffc89f;
  border-radius:50%;
  background:#fff;
  color:#f97316;
  font-size:21px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(249,115,22,.08);
}

@media (hover:hover){
  .u102-launch-step{
    transition:
      transform .2s ease,
      box-shadow .2s ease;
  }

  .u102-launch-step:hover{
    transform:translateY(-3px);
    box-shadow:
      inset 0 4px 0 #f97316,
      0 20px 40px rgba(17,24,39,.09);
  }

  .u102-launch-step.featured:hover{
    box-shadow:
      inset 0 4px 0 #14a370,
      0 22px 42px rgba(20,163,112,.12);
  }
}

@media (max-width:979.98px){
  .u102-launch-steps{
    grid-template-columns:1fr;
  }

  .u102-launch-arrow{
    margin:0 auto;
    transform:rotate(90deg);
  }

  .u102-launch-step.featured{
    transform:none;
  }
}

@media (max-width:720px){
  .u102-launch-step{
    grid-template-rows:54px auto auto;
    min-height:0;
  }

  .u102-launch-step::before{
    height:134px;
  }

  .u102-launch-step strong{
    min-height:54px;
  }

  .u102-launch-step p{
    width:calc(100% + 44px);
    padding:19px 20px 21px;
    text-align:center;
  }

  .u102-launch-step p::before{
    margin-left:auto;
    margin-right:auto;
  }
}

/* =====================================================
   U102 MORE CHOICE, LESS WRITING
   Split swipe-stack feature layout
===================================================== */

.u102-angle-section{
  padding:64px 48px;
  background:
    radial-gradient(circle at 8% 12%,rgba(249,115,22,.10),transparent 34%),
    radial-gradient(circle at 92% 88%,rgba(20,163,112,.11),transparent 36%),
    linear-gradient(135deg,#fffaf5,#f4fcf8);
  border-block:1px solid rgba(249,115,22,.18);
}

.u102-angle-section .u102-section-intro{
  width:min(820px,100%);
  margin:18px auto 0;
  text-align:center;
}

.u102-angle-feature{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  align-items:center;
  gap:48px;
  width:min(960px,100%);
  margin:42px auto 0;
  padding:34px;
  border:1px solid #efd8c7;
  border-radius:28px;
  background:rgba(255,255,255,.94);
  box-shadow:0 20px 46px rgba(17,24,39,.075);
}

/* =====================================================
   LEFT: SWIPE STACK VISUAL
===================================================== */

.u102-angle-visual{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:390px;
}

.u102-swipe-stack{
  position:relative;
  width:min(340px,100%);
  height:350px;
  transform:translateY(-12px);
}

.u102-swipe-sheet{
  position:absolute;
  width:250px;
  min-height:292px;
  padding:22px;
  overflow:hidden;
  border:1px solid #f1c7a9;
  border-radius:20px;
  background:#fff;
  box-shadow:0 18px 38px rgba(17,24,39,.11);
}

.u102-swipe-sheet-back{
  top:18px;
  left:4px;
  transform:rotate(-7deg);
  background:#fff7f0;
}

.u102-swipe-sheet-middle{
  top:8px;
  right:4px;
  transform:rotate(7deg);
  background:#effbf6;
  border-color:#a9dfcb;
}

.u102-swipe-sheet-front{
  z-index:3;
  top:44px;
  left:50%;
  transform:translateX(-50%);
  border-color:#f2b98e;
  background:#fff;
}

.u102-swipe-sheet-icon{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  margin:0 auto 13px;
  border:1px solid #ffc69c;
  border-radius:15px;
  background:#fff5ed;
  font-size:23px;
}

.u102-swipe-sheet-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:27px;
  padding:5px 10px;
  border-radius:999px;
  background:#fff0e5;
  color:#c65309;
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.u102-swipe-sheet-middle .u102-swipe-sheet-tag{
  background:#e9f9f2;
  color:#087652;
}

.u102-swipe-sheet-front .u102-swipe-sheet-tag{
  display:flex;
  width:max-content;
  max-width:100%;
  margin:0 auto;
}

.u102-swipe-subject{
  margin-top:17px;
  color:#111827;
  font-size:16px;
  font-weight:900;
  line-height:1.4;
}

.u102-swipe-sheet-front .u102-swipe-subject{
  text-align:center;
}

.u102-swipe-sheet-back .u102-swipe-sheet-tag,
.u102-swipe-sheet-middle .u102-swipe-sheet-tag,
.u102-swipe-sheet-back .u102-swipe-subject,
.u102-swipe-sheet-middle .u102-swipe-subject{
  visibility:hidden;
}

.u102-swipe-lines{
  display:grid;
  gap:9px;
  margin-top:20px;
}

.u102-swipe-lines span{
  display:block;
  height:7px;
  border-radius:999px;
  background:#edf0f3;
}

.u102-swipe-lines span:nth-child(1){
  width:100%;
}

.u102-swipe-lines span:nth-child(2){
  width:82%;
}

.u102-swipe-lines span:nth-child(3){
  width:64%;
}

.u102-swipe-link{
  margin-top:22px;
  padding:11px 13px;
  border:1px solid #bce5d6;
  border-radius:12px;
  background:#effbf6;
  color:#087652;
  font-size:12px;
  font-weight:850;
  text-align:center;
}

/* =====================================================
   RIGHT: BENEFIT ROWS
===================================================== */

.u102-angle-copy{
  display:grid;
  gap:14px;
}

.u102-angle-row{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  align-items:start;
  gap:16px;
  padding:19px;
  border:1px solid #eee4dc;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 24px rgba(17,24,39,.045);
}

.u102-angle-row:nth-child(2){
  border-color:#bfe5d7;
  background:#f5fcf9;
}

.u102-angle-row-icon{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border:1px solid #ffc79d;
  border-radius:16px;
  background:#fff5ed;
  font-size:24px;
}

.u102-angle-row:nth-child(2) .u102-angle-row-icon{
  border-color:#a9dfcb;
  background:#fff;
}

.u102-angle-row strong{
  position:relative;
  display:block;
  padding-bottom:12px;
  color:#111827;
  font-size:18px;
  font-weight:900;
  line-height:1.35;
  text-align:center;
}

.u102-angle-row strong::after{
  content:"";
  display:block;
  width:34px;
  height:3px;
  margin:10px auto 0;
  border-radius:999px;
  background:rgba(249,115,22,.42);
}

.u102-angle-row:nth-child(2) strong::after{
  background:rgba(20,163,112,.42);
}

.u102-angle-row p{
  margin:7px 0 0;
  color:#5f6877;
  font-size:13.5px;
  font-weight:600;
  line-height:1.55;
}

/* =====================================================
   CLOSING CALLOUT
===================================================== */

.u102-angle-close{
  display:block;
  width:min(860px,100%);
  margin:28px auto 0;
  padding:17px 21px;
  border:1px solid #aee0ce;
  border-radius:15px;
  background:#effbf6;
  color:#475467;
  font-size:14.5px;
  font-weight:650;
  line-height:1.55;
  text-align:center;
}

.u102-angle-close strong{
  display:inline;
  margin-right:.3em;
  color:#087652;
  font-weight:900;
}

/* =====================================================
   RESPONSIVE
===================================================== */

@media (hover:hover){
  .u102-angle-row{
    transition:
      transform .2s ease,
      box-shadow .2s ease;
  }

  .u102-angle-row:hover{
    transform:translateX(3px);
    box-shadow:0 15px 30px rgba(17,24,39,.07);
  }
}

@media (max-width:979.98px){
  .u102-angle-section{
    padding:48px 28px;
  }

  .u102-angle-feature{
    grid-template-columns:1fr;
    gap:28px;
    padding:28px;
  }

  .u102-angle-visual{
    min-height:360px;
  }
}

@media (max-width:720px){
  .u102-angle-section{
    padding:38px 16px !important;
  }

  .u102-angle-section .u102-section-intro{
    width:100% !important;
    max-width:none !important;
    margin:16px auto 0 !important;
    text-align:center !important;
  }

  /* Remove the large desktop feature container on mobile */
  .u102-angle-feature{
    display:block !important;
    width:100% !important;
    margin:28px auto 0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  /* Reserve enough space for the absolutely positioned swipe sheets */
  .u102-angle-section .u102-angle-visual{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:center !important;
    width:100% !important;
    min-height:338px !important;
    margin:0 auto 22px !important;
    overflow:visible !important;
  }

  .u102-angle-section .u102-swipe-stack{
    position:relative !important;
    width:250px !important;
    height:326px !important;
    margin:0 auto !important;
    transform:none !important;
  }

  .u102-swipe-sheet{
    width:188px !important;
    min-height:236px !important;
    padding:15px !important;
    border-radius:17px !important;
  }

  .u102-swipe-sheet-back{
    top:17px !important;
    left:2px !important;
    transform:rotate(-6deg) !important;
  }

  .u102-swipe-sheet-middle{
    top:7px !important;
    right:2px !important;
    transform:rotate(6deg) !important;
  }

  .u102-swipe-sheet-front{
    top:28px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
  }

  .u102-swipe-sheet-icon{
    width:42px !important;
    height:42px !important;
    margin-bottom:10px !important;
    border-radius:13px !important;
    font-size:20px !important;
  }

  .u102-swipe-sheet-tag{
    min-height:24px !important;
    padding:4px 8px !important;
    font-size:9.5px !important;
  }

  .u102-swipe-subject{
    margin-top:13px !important;
    font-size:14px !important;
    line-height:1.35 !important;
  }

  .u102-swipe-lines{
    gap:7px !important;
    margin-top:15px !important;
  }

  .u102-swipe-lines span{
    height:6px !important;
  }

  .u102-swipe-link{
    margin-top:17px !important;
    padding:9px 8px !important;
    font-size:11px !important;
  }

  /* Keep benefit rows beneath the sticky CTA */
.u102-angle-section .u102-angle-copy{
  position:relative !important;
  z-index:auto !important;
  width:100% !important;
  margin-top:0 !important;
  gap:12px !important;
}

  .u102-angle-row{
    grid-template-columns:46px minmax(0,1fr) !important;
    align-items:start !important;
    gap:12px !important;
    padding:15px !important;
    border-radius:16px !important;
  }

  .u102-angle-row-icon{
    width:44px !important;
    height:44px !important;
    border-radius:14px !important;
    font-size:21px !important;
  }

  .u102-angle-row strong{
    padding:0 0 8px !important;
    font-size:16.5px !important;
    line-height:1.3 !important;
    text-align:left !important;
  }

  .u102-angle-row strong::after{
    width:30px !important;
    margin:7px 0 0 !important;
  }

  .u102-angle-row p{
    margin:0 !important;
    font-size:13.5px !important;
    line-height:1.5 !important;
    text-align:left !important;
  }

  .u102-angle-close{
    display:block !important;
    width:100% !important;
    margin:22px auto 0 !important;
    padding:15px 16px !important;
    font-size:13.5px !important;
    text-align:center !important;
  }

  .u102-angle-close strong{
    display:block !important;
    margin:0 0 3px !important;
  }
}


/* =====================================================
   U102 WHAT YOU ACTUALLY RECEIVE
===================================================== */

.u102-deliverables-section{
  padding:64px 48px;
  background:#fff;
}

.u102-deliverables-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
  gap:16px;
  margin-top:32px;
}

.u102-deliverables-grid article{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  align-items:start;
  gap:16px;
  min-height:142px;
  padding:22px;
  border:1px solid #eadfd7;
  border-radius:20px;
  background:
    linear-gradient(135deg,#fffaf6 0%,#fff 68%);
  box-shadow:
    0 13px 30px rgba(17,24,39,.05);
}

.u102-deliverables-grid article:nth-child(even){
  border-color:#bfe5d7;
  background:
    linear-gradient(135deg,#f3fcf8 0%,#fff 68%);
}

.u102-deliverables-grid article > span{
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  border:1px solid #ffc69b;
  border-radius:17px;
  background:#fff;
  box-shadow:
    0 8px 18px rgba(249,115,22,.09),
    0 2px 5px rgba(17,24,39,.04);
  font-size:26px;
  line-height:1;
}

.u102-deliverables-grid article:nth-child(even) > span{
  border-color:#a8dfcb;
  box-shadow:
    0 8px 18px rgba(20,163,112,.09),
    0 2px 5px rgba(17,24,39,.04);
}

.u102-deliverables-grid article > div{
  display:grid;
  grid-template-rows:minmax(28px,auto) minmax(0,1fr);
  align-content:start;
}

.u102-deliverables-grid strong{
  display:flex;
  align-items:center;
  min-height:28px;
  color:var(--u102-ink);
  font-size:17px;
  font-weight:900;
  line-height:1.35;
}

.u102-deliverables-grid p{
  margin:8px 0 0;
  color:#5f6877;
  font-size:13.5px;
  font-weight:600;
  line-height:1.55;
}

@media (hover:hover){
  .u102-deliverables-grid article{
    transition:
      transform .2s ease,
      box-shadow .2s ease;
  }

  .u102-deliverables-grid article:hover{
    transform:translateY(-2px);
    box-shadow:
      0 18px 38px rgba(17,24,39,.075);
  }
}


/* =====================================================
   U102 ANGLES + DELIVERABLES RESPONSIVE
===================================================== */

@media (max-width:979.98px){
  .u102-angle-section,
  .u102-deliverables-section{
    padding:48px 28px;
  }
}

@media (max-width:720px){
  .u102-angle-section,
  .u102-deliverables-section{
    padding:38px 18px;
  }

  .u102-deliverables-grid{
    grid-template-columns:1fr;
  }

  .u102-deliverables-grid article{
    grid-template-columns:52px minmax(0,1fr);
    min-height:0;
    padding:19px;
  }

  .u102-deliverables-grid article > span{
    width:50px;
    height:50px;
    font-size:23px;
  }

}

/* =====================================================
   WORKSPACE COMPARISON
===================================================== */

.u102-workspace-section{
  background:#fafafa;
  border-top:1px solid #eceff3;
}

.u102-workspace-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin-top:34px;
}

.u102-workspace{
  padding:24px;
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 34px rgba(17,24,39,.06);
}

.u102-workspace.empty{
  border:1px solid #f0c9c1;
}

.u102-workspace.ready{
  border:1px solid #9dddc5;
}

.u102-workspace .tag{
  display:inline-flex;
  padding:7px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
}

.u102-workspace.empty .tag{
  background:#fff0ed;
  color:#b5473d;
}

.u102-workspace.ready .tag{
  background:#eaf9f3;
  color:#087652;
}

.u102-document-preview{
  position:relative;
  height:150px;
  margin:20px 0;
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:
    linear-gradient(#f1f3f5 0 0) 18px 24px/55% 7px no-repeat,
    linear-gradient(#f1f3f5 0 0) 18px 44px/72% 7px no-repeat,
    linear-gradient(#f1f3f5 0 0) 18px 64px/40% 7px no-repeat,
    #fff;
}

.u102-document-preview span{
  position:absolute;
  left:18px;
  top:88px;
  width:2px;
  height:22px;
  background:#f97316;
}

.u102-folder-preview{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  height:150px;
  margin:20px 0;
  border:1px solid #bfe8d9;
  border-radius:14px;
  background:linear-gradient(145deg,#effcf7,#fff);
}

.u102-folder-preview span{
  color:#0a8a60;
  font-size:42px;
  font-weight:950;
}

.u102-folder-preview strong{
  margin-top:8px;
  color:#344054;
  font-size:17px;
}

.u102-workspace ul{
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}

.u102-workspace li{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  gap:6px;
  color:#475467;
  font-size:14px;
  font-weight:700;
}

.u102-workspace .mark{
  font-weight:900;
}

.u102-workspace.empty .mark{
  color:#d65d51;
}

.u102-workspace.ready .mark{
  color:#0a9b6c;
}

.u102-final-banner{
  background:
    radial-gradient(circle at 10% 10%,rgba(249,115,22,.14),transparent 34%),
    radial-gradient(circle at 90% 90%,rgba(20,163,112,.16),transparent 38%),
    linear-gradient(135deg,#fff8f1,#f1fcf7);
}

/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width:979.98px){
  .u102-vault-section,
  .u102-launch-section,
  .u102-angle-section,
  .u102-deliverables-section,
  .u102-workspace-section{
    padding:48px 28px;
  }

  .u102-vault-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .u102-launch-steps{
    grid-template-columns:1fr;
  }

  .u102-launch-step.featured{
    transform:none;
  }

  .u102-launch-arrow{
    margin:0 auto;
    transform:rotate(90deg);
  }

}

@media (max-width:720px){
  .u102-vault-section,
  .u102-launch-section,
  .u102-deliverables-section,
  .u102-workspace-section{
    padding:38px 18px;
  }

  .u102-question-stack,
  .u102-vault-grid,
  .u102-deliverables-grid,
  .u102-workspace-grid{
    grid-template-columns:1fr;
  }

  .u102-vault-card{
    grid-template-rows:54px auto auto;
    min-height:0;
  }

  .u102-vault-card::before{
    height:136px;
  }

  .u102-vault-card strong{
    min-height:54px;
  }

  .u102-vault-card p{
    width:calc(100% + 40px);
    padding:19px 20px 21px;
    text-align:center;
  }

  .u102-vault-card p::before{
    margin-left:auto;
    margin-right:auto;
  }

  .u102-section-intro{
    font-size:14.5px;
    text-align:left;
  }

  .u102-angle-section .u102-section-intro,
  .u102-launch-section .u102-section-intro{
    text-align:center;
  }
}

/* =====================================================
   U102 PAGE-WIDTH FIX
   Override inherited U101 paragraph restrictions
===================================================== */

/* Let normal U102 section copy use the available width */
#modalDynamic .u102-modal-wrap .u102-sales-page > section:not(.u101-serious-close) > p,
.modal-source .u102-modal-wrap .u102-sales-page > section:not(.u101-serious-close) > p,
.u102-modal-wrap .u102-sales-page > section:not(.u101-serious-close) > p{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Keep section introductions controlled and properly centred */
#modalDynamic .u102-modal-wrap .u102-sales-page p.u102-section-intro,
.modal-source .u102-modal-wrap .u102-sales-page p.u102-section-intro,
.u102-modal-wrap .u102-sales-page p.u102-section-intro{
  width:min(860px,100%) !important;
  max-width:860px !important;
  margin:18px auto 0 !important;
  text-align:center !important;
}

/* Keep the final closing copy intentionally narrower and centred */
#modalDynamic .u102-modal-wrap .u102-final-banner > p,
.modal-source .u102-modal-wrap .u102-final-banner > p,
.u102-modal-wrap .u102-final-banner > p{
  width:min(820px,100%) !important;
  max-width:820px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

@media (max-width:720px){
  #modalDynamic .u102-modal-wrap .u102-sales-page p.u102-section-intro,
  .modal-source .u102-modal-wrap .u102-sales-page p.u102-section-intro,
  .u102-modal-wrap .u102-sales-page p.u102-section-intro{
    width:100% !important;
    max-width:none !important;
  }
}

/* Keep the mobile sticky CTA above all modal sales-page content */
@media (max-width:979.98px){
  .ms-sticky{
    position:sticky !important;
    bottom:0 !important;
    z-index:1000 !important;
    isolation:isolate !important;
  }

  .u102-angle-section,
  .u102-angle-feature,
  .u102-angle-copy,
  .u102-angle-row{
    z-index:auto !important;
  }
}

/* =====================================================
   U102 I'VE DONE THE HEAVY LIFTING
   Opening story, benefits and final conversion section
===================================================== */

.u102-heavy-lifting-section{
  padding:64px 48px;
  background:
    radial-gradient(
      circle at 8% 12%,
      rgba(249,115,22,.10),
      transparent 34%
    ),
    radial-gradient(
      circle at 92% 88%,
      rgba(20,163,112,.10),
      transparent 36%
    ),
    linear-gradient(
      135deg,
      #fffaf5,
      #f4fcf8
    );
  border-block:1px solid rgba(249,115,22,.18);
}

.u102-heavy-lifting-section > .u101-sales-label{
  margin-left:auto;
  margin-right:auto;
}

.u102-heavy-lifting-section > h4{
  width:min(940px,100%);
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}


/* =====================================================
   SHARED STORY BOX
   Opening story is the reference design
===================================================== */

.u102-heavy-lifting-story{
  position:relative;
  display:block;
  width:min(930px,100%);
  margin:34px auto 0;
  padding:30px 32px;
  border:1px solid #efd5c1;
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 38px rgba(17,24,39,.065);
  text-align:left;
}

.u102-heavy-lifting-story::before{
  content:"";
  position:absolute;
  top:28px;
  bottom:28px;
  left:0;
  width:4px;
  border-radius:0 999px 999px 0;
  background:#f97316;
}

/* Match the original opening-story body copy */
#modalDynamic .u102-modal-wrap .u102-heavy-lifting-story > p,
.modal-source .u102-modal-wrap .u102-heavy-lifting-story > p,
.u102-modal-wrap .u102-heavy-lifting-story > p{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 0 20px !important;
  padding:0 !important;
  color:#171717 !important;
  font-family:inherit !important;
  font-size:17px !important;
  font-weight:500 !important;
  line-height:1.72 !important;
  text-align:left !important;
}

#modalDynamic .u102-modal-wrap .u102-heavy-lifting-story > p:last-of-type,
.modal-source .u102-modal-wrap .u102-heavy-lifting-story > p:last-of-type,
.u102-modal-wrap .u102-heavy-lifting-story > p:last-of-type{
  margin-bottom:0 !important;
}

/* Keep the story turn consistent with the opening section */
#modalDynamic .u102-modal-wrap .u102-heavy-lifting-story > p.u102-story-turn,
.modal-source .u102-modal-wrap .u102-heavy-lifting-story > p.u102-story-turn,
.u102-modal-wrap .u102-heavy-lifting-story > p.u102-story-turn{
  margin:2px 0 20px !important;
  color:#171717 !important;
  font-size:17px !important;
  font-weight:500 !important;
  line-height:1.72 !important;
  letter-spacing:normal !important;
}

/* Green conclusion inside both story boxes */
.u102-heavy-lifting-punch{
  display:block;
  margin-top:26px;
  padding:18px 20px;
  border:1px solid #aee0ce;
  border-left:4px solid #14a370;
  border-radius:15px;
  background:#effbf6;
  color:#475467;
  font-size:14.5px;
  font-weight:650;
  line-height:1.6;
  text-align:center;
}

.u102-heavy-lifting-punch strong{
  display:block;
  margin:0 0 5px;
  color:#087652;
  font-size:15px;
  font-weight:950;
  line-height:1.45;
}

.u102-heavy-lifting-punch span{
  display:block;
}



/* =====================================================
   MOBILE
===================================================== */

@media (max-width:720px){

  .u102-heavy-lifting-story{
    margin-top:28px;
    padding:22px 20px;
    border-radius:20px;
  }

  .u102-heavy-lifting-story::before{
    top:21px;
    bottom:21px;
  }

  #modalDynamic .u102-modal-wrap .u102-heavy-lifting-story > p,
  .modal-source .u102-modal-wrap .u102-heavy-lifting-story > p,
  .u102-modal-wrap .u102-heavy-lifting-story > p,
  #modalDynamic .u102-modal-wrap .u102-heavy-lifting-story > p.u102-story-turn,
  .modal-source .u102-modal-wrap .u102-heavy-lifting-story > p.u102-story-turn,
  .u102-modal-wrap .u102-heavy-lifting-story > p.u102-story-turn{
    margin-bottom:17px !important;
    font-size:14.5px !important;
    font-weight:500 !important;
    line-height:1.68 !important;
  }

  .u102-heavy-lifting-punch{
    padding:16px;
    font-size:13.5px;
  }

  .u102-heavy-lifting-punch strong{
    font-size:14px;
  }

}

/* =====================================================
   BENEFIT AREA
===================================================== */

.u102-story-useful{
  width:min(930px,100%);
  margin:28px auto 0;
  padding:28px;
  border:1px solid #b6e1d1;
  border-radius:24px;
  background:
    linear-gradient(
      145deg,
      #effbf6 0%,
      #ffffff 76%
    );
  box-shadow:0 16px 38px rgba(17,24,39,.06);
}

.u102-story-useful-label{
  display:table;
  margin:0 auto 22px;
  padding:8px 14px;
  border:1px solid #9edcc5;
  border-radius:999px;
  background:#fff;
  color:#087652;
  font-size:12px;
  font-weight:900;
  letter-spacing:.035em;
  line-height:1.2;
  text-align:center;
  text-transform:uppercase;
}

.u102-story-benefit-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
  gap:16px;
}

.u102-story-benefit{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  align-items:start;
  gap:13px;
  min-height:142px;
  padding:20px;
  border:1px solid #eadfd7;
  border-radius:18px;
  background:#fff;
  box-shadow:0 11px 26px rgba(17,24,39,.045);
}

.u102-story-benefit:nth-child(2),
.u102-story-benefit:nth-child(3){
  border-color:#afe0ce;
  background:#f8fdfa;
}

.u102-story-benefit-check{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#14a370;
  color:#fff;
  font-size:16px;
  font-weight:900;
  line-height:1;
  box-shadow:0 8px 17px rgba(20,163,112,.18);
}

.u102-story-benefit > div{
  display:grid;
  grid-template-rows:minmax(42px,auto) minmax(0,1fr);
  align-content:start;
}

.u102-story-benefit strong{
  display:flex;
  align-items:center;
  color:#111827;
  font-size:16px;
  font-weight:900;
  line-height:1.35;
}

.u102-story-benefit p{
  width:100% !important;
  max-width:none !important;
  margin:7px 0 0 !important;
  color:#5f6877;
  font-size:13.5px;
  font-weight:600;
  line-height:1.55;
  text-align:left !important;
}


/* =====================================================
   SHORTCUT CALLOUT
===================================================== */

.u102-story-shortcut{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  clear:both !important;
  width:min(930px,100%) !important;
  margin:34px auto 0 !important;
  padding:20px 24px !important;
  border:1px solid #ffc397 !important;
  border-radius:17px !important;
  background:
    linear-gradient(
      135deg,
      #fff1e6 0%,
      #fff9f4 100%
    ) !important;
  box-shadow:0 12px 28px rgba(249,115,22,.08) !important;
  text-align:center !important;
}

.u102-story-shortcut-heading{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  width:auto !important;
  margin:0 auto !important;
  padding:0 !important;
}

.u102-story-shortcut-fire{
  display:inline-block !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:none !important;
  box-shadow:none !important;
  font-size:20px !important;
  line-height:1 !important;
}

.u102-story-shortcut-heading strong{
  display:inline-block !important;
  margin:0 !important;
  padding:0 !important;
  color:#d55709 !important;
  font-size:16px !important;
  font-weight:950 !important;
  line-height:1.3 !important;
}

#modalDynamic .u102-modal-wrap .u102-story-shortcut > p,
.modal-source .u102-modal-wrap .u102-story-shortcut > p,
.u102-modal-wrap .u102-story-shortcut > p{
  display:block !important;
  width:min(760px,100%) !important;
  max-width:760px !important;
  margin:0 auto !important;
  padding:0 !important;
  color:#475467 !important;
  font-size:14px !important;
  font-weight:650 !important;
  line-height:1.6 !important;
  text-align:center !important;
}


/* =====================================================
   FINAL HEADLINE AND BACKGROUND
===================================================== */

.u102-final-banner{
  padding:64px 48px !important;
  background:
    radial-gradient(
      circle at 8% 8%,
      rgba(20,163,112,.16),
      transparent 35%
    ),
    radial-gradient(
      circle at 92% 92%,
      rgba(249,115,22,.13),
      transparent 38%
    ),
    linear-gradient(
      135deg,
      #f3fcf8 0%,
      #fffaf5 100%
    ) !important;
}




/* =====================================================
   FINAL DELIVERABLES
===================================================== */

.u102-final-banner .u101-final-reminder{
  width:min(930px,100%) !important;
  margin:36px auto 0 !important;
}

.u102-final-banner .u101-final-reminder-kicker{
  display:block !important;
  margin-bottom:18px !important;
  color:#111827 !important;
  font-size:20px !important;
  font-weight:950 !important;
  line-height:1.35 !important;
  text-align:center !important;
}

.u102-final-banner .u101-final-reminder-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:stretch !important;
  gap:16px !important;
}

.u102-final-banner .u101-final-reminder-grid > div{
  display:grid !important;
  grid-template-rows:52px minmax(48px,auto) 1fr !important;
  align-content:start !important;
  height:100% !important;
  padding:22px 18px !important;
  border:1px solid #f0d0ba !important;
  border-radius:20px !important;
  background:#fff !important;
  box-shadow:0 13px 30px rgba(17,24,39,.055) !important;
  text-align:center !important;
}

.u102-final-banner .u101-final-reminder-grid > div > span{
  display:grid !important;
  place-items:center !important;
  width:48px !important;
  height:48px !important;
  margin:0 auto !important;
  border:1px solid #ffc69c !important;
  border-radius:15px !important;
  background:#fff5ed !important;
  font-size:23px !important;
}

.u102-final-banner .u101-final-reminder-grid strong{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:10px 0 0 !important;
  color:#111827 !important;
  font-size:17px !important;
  font-weight:900 !important;
  line-height:1.35 !important;
}

.u102-final-banner .u101-final-reminder-grid p{
  width:100% !important;
  max-width:none !important;
  margin:8px 0 0 !important;
  color:#667085 !important;
  font-size:13.5px !important;
  font-weight:650 !important;
  line-height:1.5 !important;
  text-align:center !important;
}


/* =====================================================
   FINAL CTA
===================================================== */

.u102-final-banner .u101-serious-cta{
  margin-top:30px !important;
}


/* =====================================================
   HOVER
===================================================== */

@media (hover:hover){
  .u102-story-benefit{
    transition:
      transform .2s ease,
      box-shadow .2s ease;
  }

  .u102-story-benefit:hover{
    transform:translateY(-2px);
    box-shadow:0 17px 34px rgba(17,24,39,.07);
  }
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width:979.98px){
  .u102-heavy-lifting-section{
    padding:48px 28px;
  }

  .u102-final-banner{
    padding:52px 28px !important;
  }
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width:720px){
  .u102-heavy-lifting-section{
    padding:38px 18px;
  }

  .u102-heavy-lifting-story{
    margin-top:28px;
    padding:22px 20px;
    border-radius:20px;
  }

  .u102-heavy-lifting-story::before{
    top:21px;
    bottom:21px;
  }

  .u102-heavy-lifting-story > p{
    font-size:14px;
    line-height:1.68;
  }

  .u102-heavy-lifting-story .u102-story-turn{
    font-size:20px;
  }

  .u102-heavy-lifting-punch{
    padding:16px;
    font-size:13.5px;
  }

  .u102-story-useful{
    padding:20px;
    border-radius:20px;
  }

  .u102-story-useful-label{
    margin-bottom:16px;
    font-size:10.5px;
  }

  .u102-story-benefit-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  .u102-story-benefit{
    grid-template-columns:34px minmax(0,1fr);
    min-height:0;
    padding:17px;
  }

  .u102-story-benefit > div{
    grid-template-rows:auto auto;
  }

  .u102-story-benefit strong{
    font-size:15px;
  }

  .u102-story-benefit p{
    font-size:13px;
  }

  .u102-story-shortcut{
    gap:7px !important;
    margin-top:26px !important;
    padding:17px 16px !important;
    border-radius:15px !important;
  }

  .u102-story-shortcut-fire{
    font-size:18px !important;
  }

  .u102-story-shortcut-heading strong{
    font-size:15px !important;
  }

  #modalDynamic .u102-modal-wrap .u102-story-shortcut > p,
  .modal-source .u102-modal-wrap .u102-story-shortcut > p,
  .u102-modal-wrap .u102-story-shortcut > p{
    font-size:13px !important;
    line-height:1.55 !important;
  }

  .u102-final-banner{
    padding:42px 18px !important;
  }

}

/* =====================================================
   U102 FINAL HEADLINE
   Targeted override of inherited U101 final-banner rules
===================================================== */

#modalDynamic .u102-modal-wrap .u102-final-banner h4.u102-final-headline,
.modal-source .u102-modal-wrap .u102-final-banner h4.u102-final-headline,
.u102-modal-wrap .u102-final-banner h4.u102-final-headline{
  display:block !important;
  width:100% !important;
  max-width:920px !important;
  margin:0 auto 20px !important;
  overflow:visible !important;
  text-align:center !important;
}

#modalDynamic .u102-modal-wrap .u102-final-banner h4.u102-final-headline > span,
.modal-source .u102-modal-wrap .u102-final-banner h4.u102-final-headline > span,
.u102-modal-wrap .u102-final-banner h4.u102-final-headline > span{
  display:block !important;
  width:100% !important;
}

#modalDynamic .u102-modal-wrap .u102-final-banner h4.u102-final-headline > .u102-final-headline-line,
.modal-source .u102-modal-wrap .u102-final-banner h4.u102-final-headline > .u102-final-headline-line,
.u102-modal-wrap .u102-final-banner h4.u102-final-headline > .u102-final-headline-line{
  margin-top:4px !important;
  white-space:normal !important;
}

#modalDynamic .u102-modal-wrap .u102-final-banner h4.u102-final-headline > .u102-final-headline-line > em.dfy-pen-underline,
.modal-source .u102-modal-wrap .u102-final-banner h4.u102-final-headline > .u102-final-headline-line > em.dfy-pen-underline,
.u102-modal-wrap .u102-final-banner h4.u102-final-headline > .u102-final-headline-line > em.dfy-pen-underline{
  display:inline !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 .025em .035em !important;
  white-space:nowrap !important;
  vertical-align:baseline !important;
}

@media (min-width:900px){
  #modalDynamic .u102-modal-wrap .u102-final-banner h4.u102-final-headline > .u102-final-headline-line,
  .modal-source .u102-modal-wrap .u102-final-banner h4.u102-final-headline > .u102-final-headline-line,
  .u102-modal-wrap .u102-final-banner h4.u102-final-headline > .u102-final-headline-line{
    white-space:nowrap !important;
  }
}

/* =====================================================
   U102 SWIPE MOCKUP
   Wider product-pack presentation
===================================================== */

.u102-swipe-mockup{
  position:relative;
  width:min(100%, 460px);
  margin:22px auto 20px;
  padding:42px 0 30px;
  isolation:isolate;
}

.u102-swipe-mockup__base-glow{
  position:absolute;
  left:50%;
  bottom:14px;
  z-index:0;
  width:72%;
  height:38px;
  border-radius:50%;
  background:rgba(15,138,102,.13);
  filter:blur(18px);
  transform:translateX(-50%);
  pointer-events:none;
}

.u102-swipe-mockup__card{
  box-sizing:border-box;
  border-radius:22px;
}

.u102-swipe-mockup__card--back{
  position:absolute;
  top:68px;
  z-index:1;
  width:195px;
  height:168px;
  padding:18px;
  overflow:hidden;
  border:1.5px solid rgba(243,147,74,.38);
  background:linear-gradient(180deg,#ffffff 0%,#fff8f2 100%);
  box-shadow:0 16px 30px rgba(16,24,40,.07);
}

.u102-swipe-mockup__card--left{
  left:22px;
  transform:rotate(-7deg);
}

.u102-swipe-mockup__card--right{
  right:22px;
  border-color:rgba(61,184,133,.38);
  background:linear-gradient(180deg,#ffffff 0%,#f3fcf8 100%);
  transform:rotate(7deg);
}

.u102-swipe-mockup__card--main{
  position:relative;
  z-index:3;
  width:218px;
  margin:0 auto;
  padding:38px 16px 15px;
  border:1.5px solid rgba(243,147,74,.46);
  background:#ffffff;
  box-shadow:0 22px 42px rgba(16,24,40,.13);
  text-align:center;
}

.u102-swipe-mockup__number-tab{
  position:absolute;
  top:14px;
  left:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:5px 10px;
  border-radius:999px;
  background:#fff4ea;
  color:#d96f10;
  font-size:10px;
  font-weight:850;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.02em;
}

.u102-swipe-mockup__card--right .u102-swipe-mockup__number-tab{
  background:#eef9f4;
  color:#0b7f5b;
}

.u102-swipe-mockup__number-tab--main{
  top:12px;
  left:50%;
  background:#eef9f4;
  color:#0b7f5b;
  transform:translateX(-50%);
}

.u102-swipe-mockup__back-lines{
  display:grid;
  gap:8px;
  margin-top:44px;
}

.u102-swipe-mockup__back-lines span{
  display:block;
  height:5px;
  border-radius:999px;
  background:rgba(148,163,184,.20);
}

.u102-swipe-mockup__back-lines span:nth-child(1){
  width:80%;
}

.u102-swipe-mockup__back-lines span:nth-child(2){
  width:65%;
}

.u102-swipe-mockup__back-lines span:nth-child(3){
  width:48%;
}

.u102-swipe-mockup__badge{
  width:38px;
  height:38px;
  margin:0 auto 9px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(243,147,74,.40);
  border-radius:12px;
  background:linear-gradient(180deg,#fff8f2 0%,#ffffff 100%);
}

.u102-swipe-mockup__badge svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:#0f8a66;
  stroke-width:1.85;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.u102-swipe-mockup__tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:25px;
  margin:0 auto 12px;
  padding:5px 10px;
  border-radius:999px;
  background:#fff4ea;
  color:#d96f10;
  font-size:10px;
  font-weight:850;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.02em;
}

.u102-swipe-mockup__title{
  margin:0 0 13px;
  color:#172033;
  font-size:12px;
  font-weight:850;
  line-height:1.38;
}

.u102-swipe-mockup__lines{
  margin:0 0 13px;
}

.u102-swipe-mockup__lines span{
  display:block;
  height:5px;
  margin:0 auto 7px;
  border-radius:999px;
  background:#e8edf3;
}

.u102-swipe-mockup__lines span:nth-child(1){
  width:80%;
}

.u102-swipe-mockup__lines span:nth-child(2){
  width:68%;
}

.u102-swipe-mockup__lines span:nth-child(3){
  width:50%;
  margin-bottom:0;
}

.u102-swipe-mockup__hoplink{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:30px;
  padding:7px 10px;
  border:1.5px solid rgba(61,184,133,.44);
  border-radius:10px;
  background:#eef9f4;
  color:#0b7f5b;
  font-size:10px;
  font-weight:850;
  line-height:1.2;
}

.u102-swipe-mockup__hoplink svg{
  width:13px;
  height:13px;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.u102-swipe-mockup__count{
  position:absolute;
  top:4px;
  left:18px;
  z-index:4;
  display:flex;
  align-items:center;
  gap:9px;
  min-height:48px;
  padding:7px 13px 7px 9px;
  border:1px solid rgba(61,184,133,.38);
  border-radius:15px;
  background:#ffffff;
  color:#0b7f5b;
  box-shadow:0 12px 24px rgba(16,24,40,.08);
}

.u102-swipe-mockup__count strong{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:11px;
  background:linear-gradient(135deg,var(--brand-2),var(--brand));
  color:#ffffff;
  font-size:18px;
  font-weight:950;
  line-height:1;
}

.u102-swipe-mockup__count span{
  display:block;
  font-size:11px;
  font-weight:900;
  line-height:1.15;
  text-align:left;
}

.u102-swipe-mockup__count small{
  display:block;
  margin-bottom:2px;
  color:#64748b;
  font-size:8px;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.u102-swipe-mockup__seller-pill{
  position:absolute;
  top:15px;
  right:18px;
  z-index:4;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 13px;
  border:1px solid rgba(243,147,74,.40);
  border-radius:999px;
  background:#ffffff;
  color:#d96f10;
  box-shadow:0 12px 24px rgba(16,24,40,.07);
  font-size:10px;
  font-weight:850;
  line-height:1;
  white-space:nowrap;
}

@media (max-width:720px){
  .u102-swipe-mockup{
    width:min(100%, 390px);
    margin:20px auto 18px;
    padding:40px 0 28px;
  }

  .u102-swipe-mockup__card--back{
    top:66px;
    width:170px;
    height:154px;
  }

  .u102-swipe-mockup__card--left{
    left:10px;
  }

  .u102-swipe-mockup__card--right{
    right:10px;
  }

  .u102-swipe-mockup__card--main{
    width:205px;
    padding:37px 14px 14px;
  }

  .u102-swipe-mockup__count{
    left:4px;
    transform:scale(.90);
    transform-origin:left top;
  }

  .u102-swipe-mockup__seller-pill{
    right:4px;
    transform:scale(.90);
    transform-origin:right top;
  }
}

@media (max-width:420px){
  .u102-swipe-mockup{
    width:min(100%, 320px);
  }

  .u102-swipe-mockup__card--back{
    width:145px;
  }

  .u102-swipe-mockup__card--left{
    left:4px;
  }

  .u102-swipe-mockup__card--right{
    right:4px;
  }

  .u102-swipe-mockup__count{
    left:0;
    transform:scale(.78);
  }

  .u102-swipe-mockup__seller-pill{
    right:0;
    transform:scale(.78);
  }
}

/* =====================================================
   U102 SWIPE MOCKUP - FINAL POSITIONING POLISH
===================================================== */

/* Reveal the right-hand swipe number */
.u102-swipe-mockup__card--right .u102-swipe-mockup__number-tab{
  left:auto;
  right:16px;
}

/* Bring the two top product badges into the card composition */
.u102-swipe-mockup__count{
  top:14px;
}

.u102-swipe-mockup__seller-pill{
  top:26px;
}

/* Pull the CTA closer to the product visual */
.u102-swipe-mockup{
  margin-bottom:8px;
  padding-bottom:16px;
}

@media (max-width:720px){
  .u102-swipe-mockup{
    margin-bottom:8px;
    padding-bottom:14px;
  }

  .u102-swipe-mockup__count{
    top:14px;
  }

  .u102-swipe-mockup__seller-pill{
    top:25px;
  }

  .u102-swipe-mockup__card--right .u102-swipe-mockup__number-tab{
    right:12px;
  }
}

/* =====================================================
   U102 PURCHASE PANEL AND FINAL PRICE POLISH
===================================================== */

#modalDynamic .u102-modal-wrap .u102-modal-buy-coach,
.modal-source .u102-modal-wrap .u102-modal-buy-coach,
.u102-modal-wrap .u102-modal-buy-coach{
  display:block !important;
  width:100% !important;
  margin:9px auto 2px !important;
  color:#6b7280 !important;
  font-size:11.5px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  text-align:center !important;
}

#modalDynamic .u102-modal-wrap .u102-final-price-panel,
.modal-source .u102-modal-wrap .u102-final-price-panel,
.u102-modal-wrap .u102-final-price-panel{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:14px !important;
  width:min(100%, 480px) !important;
  margin:13px auto !important;
  padding:12px 14px !important;
  border:1px solid rgba(20,163,112,.22) !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.82) !important;
  box-shadow:
    0 10px 24px rgba(15,23,42,.055),
    inset 0 1px 0 rgba(255,255,255,.88) !important;
}

#modalDynamic .u102-modal-wrap .u102-final-price-badge,
.modal-source .u102-modal-wrap .u102-final-price-badge,
.u102-modal-wrap .u102-final-price-badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:28px !important;
  padding:6px 11px !important;
  border:1px solid rgba(249,115,22,.35) !important;
  border-radius:999px !important;
  background:#fff7ed !important;
  color:#c2410c !important;
  font-size:10px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

#modalDynamic .u102-modal-wrap .u102-final-price-main,
.modal-source .u102-modal-wrap .u102-final-price-main,
.u102-modal-wrap .u102-final-price-main{
  display:flex !important;
  align-items:baseline !important;
  justify-content:center !important;
  gap:8px !important;
  min-width:0 !important;
}

#modalDynamic .u102-modal-wrap .u102-final-price-main span,
.modal-source .u102-modal-wrap .u102-final-price-main span,
.u102-modal-wrap .u102-final-price-main span{
  color:#6b7280 !important;
  font-size:13px !important;
  font-weight:800 !important;
}

#modalDynamic .u102-modal-wrap .u102-final-price-main strong,
.modal-source .u102-modal-wrap .u102-final-price-main strong,
.u102-modal-wrap .u102-final-price-main strong{
  color:var(--brand) !important;
  font-size:34px !important;
  font-weight:950 !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
}

#modalDynamic .u102-modal-wrap .u102-final-price-main s,
.modal-source .u102-modal-wrap .u102-final-price-main s,
.u102-modal-wrap .u102-final-price-main s{
  color:#6b7280 !important;
  font-size:14px !important;
  font-weight:800 !important;
  opacity:.75 !important;
}

#modalDynamic .u102-modal-wrap .u102-final-price-save,
.modal-source .u102-modal-wrap .u102-final-price-save,
.u102-modal-wrap .u102-final-price-save{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:28px !important;
  padding:6px 11px !important;
  border:1px solid rgba(20,163,112,.24) !important;
  border-radius:999px !important;
  background:#eefaf5 !important;
  color:var(--brand) !important;
  font-size:10px !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

#modalDynamic .u102-modal-wrap .u102-final-cta-box > .btn,
.modal-source .u102-modal-wrap .u102-final-cta-box > .btn,
.u102-modal-wrap .u102-final-cta-box > .btn{
  margin-bottom:11px !important;
}

@media (max-width:560px){
  #modalDynamic .u102-modal-wrap .u102-final-price-panel,
  .modal-source .u102-modal-wrap .u102-final-price-panel,
  .u102-modal-wrap .u102-final-price-panel{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    gap:8px !important;
    padding:13px !important;
  }

  #modalDynamic .u102-modal-wrap .u102-final-price-main strong,
  .modal-source .u102-modal-wrap .u102-final-price-main strong,
  .u102-modal-wrap .u102-final-price-main strong{
    font-size:31px !important;
  }
}

/* =====================================================
   U101 APPROVED SALES PAGE UPGRADE
   Opening story, Solo Ad toolkit visual and closing story
===================================================== */


/* =====================================================
   TOP PURCHASE PANEL
===================================================== */

.u101-modal-wrap .u101-modal-buy-coach{
  display:block !important;
  width:100% !important;
  margin:10px auto 4px !important;
  color:var(--muted) !important;
  font-size:11.5px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  text-align:center !important;
}


/* =====================================================
   U101 OPENING STORY BOX
===================================================== */

#modalDynamic .u101-modal-wrap .u101-opening-story-copy,
.modal-source .u101-modal-wrap .u101-opening-story-copy,
.u101-modal-wrap .u101-opening-story-copy{
  width:100% !important;
  max-width:900px !important;
  margin:24px auto 0 !important;
  padding:24px 26px !important;

  border:1px solid rgba(249,115,22,.30) !important;
  border-left:4px solid #f97316 !important;
  border-radius:20px !important;

  background:rgba(255,255,255,.92) !important;

  box-shadow:
    0 16px 34px rgba(15,23,42,.055),
    inset 0 1px 0 rgba(255,255,255,.90) !important;

  text-align:left !important;
}

#modalDynamic .u101-modal-wrap .u101-opening-story-copy > p,
.modal-source .u101-modal-wrap .u101-opening-story-copy > p,
.u101-modal-wrap .u101-opening-story-copy > p{
  width:100% !important;
  max-width:none !important;
  margin:0 0 16px !important;

  color:var(--text) !important;
  text-align:left !important;
}

#modalDynamic .u101-modal-wrap .u101-opening-story-copy > p:last-child,
.modal-source .u101-modal-wrap .u101-opening-story-copy > p:last-child,
.u101-modal-wrap .u101-opening-story-copy > p:last-child{
  margin-bottom:0 !important;
}

/* =====================================================
   U101 OPENING STORY QUESTION CARDS
===================================================== */

#modalDynamic .u101-modal-wrap .u101-opening-story-copy .u101-question-stack,
.modal-source .u101-modal-wrap .u101-opening-story-copy .u101-question-stack,
.u101-modal-wrap .u101-opening-story-copy .u101-question-stack{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:12px !important;

  width:100% !important;
  max-width:820px !important;
  margin:24px auto !important;
  padding:0 !important;

  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-opening-story-copy .u101-question-stack > div,
.modal-source .u101-modal-wrap .u101-opening-story-copy .u101-question-stack > div,
.u101-modal-wrap .u101-opening-story-copy .u101-question-stack > div{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  min-height:52px !important;
  margin:0 !important;
  padding:13px 16px !important;

  border:1px solid rgba(249,115,22,.38) !important;
  border-radius:14px !important;

  background:rgba(255,255,255,.96) !important;

  box-shadow:
    0 9px 22px rgba(15,23,42,.045),
    inset 0 1px 0 rgba(255,255,255,.92) !important;

  color:var(--text) !important;
  font-size:14px !important;
  font-weight:850 !important;
  line-height:1.35 !important;
  text-align:center !important;
}

@media (max-width:720px){

  #modalDynamic .u101-modal-wrap .u101-opening-story-copy .u101-question-stack,
  .modal-source .u101-modal-wrap .u101-opening-story-copy .u101-question-stack,
  .u101-modal-wrap .u101-opening-story-copy .u101-question-stack{
    grid-template-columns:1fr !important;
    gap:9px !important;
    margin:21px auto !important;
  }

  #modalDynamic .u101-modal-wrap .u101-opening-story-copy .u101-question-stack > div,
  .modal-source .u101-modal-wrap .u101-opening-story-copy .u101-question-stack > div,
  .u101-modal-wrap .u101-opening-story-copy .u101-question-stack > div{
    min-height:48px !important;
    padding:12px 13px !important;
    font-size:13px !important;
  }
}


/* =====================================================
   U101 GREEN OPENING CALLOUT
===================================================== */

#modalDynamic .u101-modal-wrap .u101-opening-punch,
.modal-source .u101-modal-wrap .u101-opening-punch,
.u101-modal-wrap .u101-opening-punch{
  width:100% !important;
  max-width:840px !important;
  margin:26px auto !important;
  padding:18px 20px !important;

  display:grid !important;
  gap:7px !important;

  border:1px solid rgba(20,163,112,.28) !important;
  border-left:4px solid var(--brand-2) !important;
  border-radius:16px !important;

  background:linear-gradient(
    135deg,
    rgba(238,250,245,.98),
    rgba(255,255,255,.96)
  ) !important;

  box-shadow:0 12px 28px rgba(15,23,42,.045) !important;

  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-opening-punch strong,
.modal-source .u101-modal-wrap .u101-opening-punch strong,
.u101-modal-wrap .u101-opening-punch strong{
  display:block !important;
  width:100% !important;

  color:var(--brand) !important;
  font-size:17px !important;
  font-weight:950 !important;
  line-height:1.3 !important;

  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-opening-punch span,
.modal-source .u101-modal-wrap .u101-opening-punch span,
.u101-modal-wrap .u101-opening-punch span{
  display:block !important;
  width:100% !important;
  max-width:720px !important;
  margin:0 auto !important;

  color:#475569 !important;
  font-size:14.5px !important;
  font-weight:700 !important;
  line-height:1.55 !important;

  text-align:center !important;
}


/* =====================================================
   U101 OPENING STORY MOBILE
===================================================== */

@media (max-width:720px){

  #modalDynamic .u101-modal-wrap .u101-opening-story-copy,
  .modal-source .u101-modal-wrap .u101-opening-story-copy,
  .u101-modal-wrap .u101-opening-story-copy{
    margin-top:20px !important;
    padding:19px 16px !important;
    border-radius:17px !important;
  }

  #modalDynamic .u101-modal-wrap .u101-opening-punch,
  .modal-source .u101-modal-wrap .u101-opening-punch,
  .u101-modal-wrap .u101-opening-punch{
    margin:22px auto !important;
    padding:16px !important;
  }

  #modalDynamic .u101-modal-wrap .u101-opening-punch strong,
  .modal-source .u101-modal-wrap .u101-opening-punch strong,
  .u101-modal-wrap .u101-opening-punch strong{
    font-size:15px !important;
  }

  #modalDynamic .u101-modal-wrap .u101-opening-punch span,
  .modal-source .u101-modal-wrap .u101-opening-punch span,
  .u101-modal-wrap .u101-opening-punch span{
    font-size:13.5px !important;
    line-height:1.5 !important;
  }
}

/* =====================================================
   MID CTA
===================================================== */

.u101-modal-wrap .u101-mid-cta > p{
  max-width:820px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}


/* =====================================================
   U101 SOLO AD SELLER STACK MOCKUP
===================================================== */

.u101-modal-wrap .u101-buyer-toolkit-mockup{
  position:relative !important;
  width:min(100%, 620px) !important;
  min-height:355px !important;
  margin:28px auto 18px !important;
  padding:48px 0 34px !important;
  isolation:isolate !important;
  pointer-events:none !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__base-glow{
  position:absolute !important;
  left:50% !important;
  bottom:10px !important;
  z-index:0 !important;
  width:72% !important;
  height:46px !important;
  border-radius:50% !important;
  background:rgba(13,127,93,.15) !important;
  filter:blur(22px) !important;
  transform:translateX(-50%) !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__top-pill{
  position:absolute !important;
  top:2px !important;
  left:50% !important;
  z-index:5 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:32px !important;
  padding:7px 13px !important;
  border:1px solid rgba(249,115,22,.36) !important;
  border-radius:999px !important;
  background:#fff7ed !important;
  color:#c2410c !important;
  box-shadow:0 10px 22px rgba(15,23,42,.06) !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  transform:translateX(-50%) !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__card{
  position:absolute !important;
  box-sizing:border-box !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 18px 36px rgba(15,23,42,.08) !important;
  overflow:hidden !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__card--back{
  top:84px !important;
  width:210px !important;
  min-height:228px !important;
  padding:16px 15px 54px !important;
  border:1.5px solid rgba(249,115,22,.28) !important;
  background:linear-gradient(180deg,#ffffff 0%,#fff9f4 100%) !important;
  z-index:1 !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__card--left{
  left:26px !important;
  transform:rotate(-7deg) !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__card--right{
  right:26px !important;
  transform:rotate(7deg) !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__card--main{
  position:relative !important;
  top:44px !important;
  z-index:3 !important;
  width:300px !important;
  min-height:282px !important;
  margin:0 auto !important;
  padding:18px 18px 16px !important;
  border:1.5px solid rgba(20,163,112,.36) !important;
  background:#ffffff !important;
  box-shadow:
    0 24px 48px rgba(15,23,42,.13),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__main-badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:28px !important;
  margin:0 auto 12px !important;
  padding:6px 12px !important;
  border:1px solid rgba(20,163,112,.28) !important;
  border-radius:999px !important;
  background:#eefaf5 !important;
  color:var(--brand) !important;
  font-size:10px !important;
  font-weight:900 !important;
  line-height:1 !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__seller-head{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:0 0 14px !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__avatar{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:34px !important;
  height:34px !important;
  border-radius:12px !important;
  background:#fff4e8 !important;
  color:#c2410c !important;
  border:1px solid rgba(249,115,22,.24) !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  flex:0 0 auto !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__avatar--good{
  background:#eefaf5 !important;
  color:var(--brand) !important;
  border-color:rgba(20,163,112,.24) !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__seller-meta{
  min-width:0 !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__seller-meta strong{
  display:block !important;
  margin:0 0 3px !important;
  color:var(--text) !important;
  font-size:13px !important;
  font-weight:950 !important;
  line-height:1.2 !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__seller-meta small{
  display:block !important;
  color:#64748b !important;
  font-size:10px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__stat-row{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin:0 0 9px !important;
  padding:8px 10px !important;
  border:1px solid rgba(249,115,22,.14) !important;
  border-radius:10px !important;
  background:rgba(255,255,255,.88) !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__stat-row span{
  color:#64748b !important;
  font-size:9px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-transform:uppercase !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__stat-row strong{
  color:var(--text) !important;
  font-size:10px !important;
  font-weight:900 !important;
  line-height:1.1 !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__review-lines{
  margin-top:11px !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__review-lines i{
  display:block !important;
  height:5px !important;
  margin:0 0 7px !important;
  border-radius:999px !important;
  background:#e6ebf1 !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__review-lines i:nth-of-type(1){
  width:88% !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__review-lines i:nth-of-type(2){
  width:72% !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__review-lines i:nth-of-type(3){
  width:54% !important;
  margin-bottom:0 !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__score-grid{
  display:grid !important;
  grid-template-columns:repeat(3, 1fr) !important;
  gap:8px !important;
  margin:0 0 13px !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__score-grid > div{
  padding:9px 7px !important;
  border:1px solid rgba(20,163,112,.16) !important;
  border-radius:11px !important;
  background:#f5fbf8 !important;
  text-align:center !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__score-grid span{
  display:block !important;
  margin:0 0 5px !important;
  color:#64748b !important;
  font-size:8px !important;
  font-weight:850 !important;
  line-height:1 !important;
  text-transform:uppercase !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__score-grid strong{
  display:block !important;
  color:var(--brand) !important;
  font-size:10px !important;
  font-weight:950 !important;
  line-height:1.15 !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__review-box{
  margin:0 0 13px !important;
  padding:10px 11px !important;
  border:1px solid rgba(148,163,184,.20) !important;
  border-radius:11px !important;
  background:#fbfcfd !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__review-box > span{
  display:block !important;
  margin:0 0 8px !important;
  color:#64748b !important;
  font-size:9px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-transform:uppercase !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__review-box i{
  display:block !important;
  height:5px !important;
  margin:0 0 6px !important;
  border-radius:999px !important;
  background:#e5eaf0 !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__review-box i:nth-of-type(1){
  width:88% !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__review-box i:nth-of-type(2){
  width:74% !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__review-box i:nth-of-type(3){
  width:58% !important;
  margin-bottom:0 !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__verdict{
  position:absolute !important;
  left:14px !important;
  right:14px !important;
  bottom:14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  min-height:34px !important;
  padding:8px 11px !important;
  border-radius:999px !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__verdict-icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:18px !important;
  height:18px !important;
  border-radius:999px !important;
  font-size:12px !important;
  font-weight:950 !important;
  line-height:1 !important;
  flex:0 0 auto !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__verdict--bad{
  border:1px solid rgba(220,38,38,.24) !important;
  background:#fff !important;
  color:#b91c1c !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__verdict--bad .u101-buyer-toolkit-mockup__verdict-icon{
  background:#fef2f2 !important;
  color:#dc2626 !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__verdict--good{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  margin:0 0 12px !important;
  border:1px solid rgba(20,163,112,.24) !important;
  background:#fff !important;
  color:var(--brand) !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__verdict--good .u101-buyer-toolkit-mockup__verdict-icon{
  background:#eefaf5 !important;
  color:var(--brand) !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__process-strip{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  padding:10px 11px !important;
  border:1px solid rgba(249,115,22,.18) !important;
  border-radius:11px !important;
  background:#fff8f2 !important;
}

.u101-modal-wrap .u101-buyer-toolkit-mockup__process-strip span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:26px !important;
  padding:5px 8px !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#c2410c !important;
  font-size:8px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-align:center !important;
  flex:1 1 0 !important;
}

@media (max-width:720px){

  .u101-modal-wrap .u101-buyer-toolkit-mockup{
    width:min(100%, 390px) !important;
    min-height:320px !important;
    margin:24px auto 14px !important;
    padding:44px 0 26px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__top-pill{
    transform:translateX(-50%) scale(.90) !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__card--back{
    top:88px !important;
    width:150px !important;
    min-height:196px !important;
    padding:13px 11px 48px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__card--left{
    left:0 !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__card--right{
    right:0 !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__card--main{
    width:235px !important;
    min-height:260px !important;
    top:50px !important;
    padding:15px 14px 14px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__seller-meta strong{
    font-size:11px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__seller-meta small{
    font-size:8.5px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__score-grid{
    gap:5px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__score-grid > div{
    padding:7px 4px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__score-grid strong{
    font-size:8.5px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__verdict{
    min-height:30px !important;
    padding:7px 9px !important;
    font-size:9px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__verdict-icon{
    width:16px !important;
    height:16px !important;
    font-size:10px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__process-strip{
    gap:5px !important;
    padding:8px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__process-strip span{
    font-size:7px !important;
    padding:5px 6px !important;
  }
}

@media (max-width:420px){

  .u101-modal-wrap .u101-buyer-toolkit-mockup{
    width:min(100%, 320px) !important;
    min-height:300px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__card--back{
    width:126px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__card--main{
    width:215px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__seller-head{
    gap:8px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__avatar{
    width:30px !important;
    height:30px !important;
    font-size:10px !important;
  }
}

/* =====================================================
   CLOSING HEADLINE
===================================================== */

#modalDynamic .u101-modal-wrap .u101-final-banner h4.u101-final-headline,
.modal-source .u101-modal-wrap .u101-final-banner h4.u101-final-headline,
.u101-modal-wrap .u101-final-banner h4.u101-final-headline{
  display:block !important;
  width:100% !important;
  max-width:920px !important;
  margin:0 auto 22px !important;
  overflow:visible !important;
  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-final-banner h4.u101-final-headline > span,
.modal-source .u101-modal-wrap .u101-final-banner h4.u101-final-headline > span,
.u101-modal-wrap .u101-final-banner h4.u101-final-headline > span{
  display:block !important;
  width:100% !important;
}

#modalDynamic .u101-modal-wrap .u101-final-banner h4.u101-final-headline
> .u101-final-headline-line,
.modal-source .u101-modal-wrap .u101-final-banner h4.u101-final-headline
> .u101-final-headline-line,
.u101-modal-wrap .u101-final-banner h4.u101-final-headline
> .u101-final-headline-line{
  margin-top:4px !important;
  white-space:normal !important;
}

#modalDynamic .u101-modal-wrap .u101-final-banner h4.u101-final-headline
> .u101-final-headline-line > em.dfy-pen-underline,
.modal-source .u101-modal-wrap .u101-final-banner h4.u101-final-headline
> .u101-final-headline-line > em.dfy-pen-underline,
.u101-modal-wrap .u101-final-banner h4.u101-final-headline
> .u101-final-headline-line > em.dfy-pen-underline{
  display:inline !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 .025em .035em !important;
  white-space:nowrap !important;
  vertical-align:baseline !important;
}

@media (min-width:900px){
  #modalDynamic .u101-modal-wrap .u101-final-banner h4.u101-final-headline
  > .u101-final-headline-line,
  .modal-source .u101-modal-wrap .u101-final-banner h4.u101-final-headline
  > .u101-final-headline-line,
  .u101-modal-wrap .u101-final-banner h4.u101-final-headline
  > .u101-final-headline-line{
    white-space:nowrap !important;
  }
}


/* =====================================================
   CLOSING STORY
===================================================== */

.u101-modal-wrap .u101-closing-story{
  width:100% !important;
  max-width:860px !important;
  margin:28px auto 30px !important;
  padding:24px 26px !important;
  border:1px solid rgba(249,115,22,.32) !important;
  border-left:4px solid #f97316 !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.82) !important;
  box-shadow:0 16px 34px rgba(15,23,42,.06) !important;
  text-align:left !important;
}

.u101-modal-wrap .u101-closing-story > p{
  max-width:none !important;
  margin:0 0 16px !important;
  color:var(--text) !important;
  font-size:16px !important;
  font-weight:550 !important;
  line-height:1.66 !important;
  text-align:left !important;
}

.u101-modal-wrap .u101-closing-story > p:last-of-type{
  margin-bottom:0 !important;
}

.u101-modal-wrap .u101-closing-punch{
  width:100% !important;
  margin:24px 0 0 !important;
  padding:17px 19px !important;
  display:grid !important;
  gap:7px !important;
  border:1px solid rgba(20,163,112,.28) !important;
  border-left:4px solid var(--brand-2) !important;
  border-radius:15px !important;
  background:linear-gradient(
    135deg,
    rgba(238,250,245,.98),
    rgba(255,255,255,.96)
  ) !important;
}

.u101-modal-wrap .u101-closing-punch strong{
  display:block !important;
  color:var(--brand) !important;
  font-size:16px !important;
  font-weight:950 !important;
  line-height:1.3 !important;
}

.u101-modal-wrap .u101-closing-punch span{
  display:block !important;
  color:#475569 !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.5 !important;
}

/* =====================================================
   U101 CLOSING STORY ALIGNMENT
===================================================== */

/* Keep the main closing story left-aligned */
#modalDynamic .u101-modal-wrap .u101-final-banner .u101-closing-story,
.modal-source .u101-modal-wrap .u101-final-banner .u101-closing-story,
.u101-modal-wrap .u101-final-banner .u101-closing-story{
  text-align:left !important;
}

#modalDynamic .u101-modal-wrap .u101-final-banner .u101-closing-story > p,
.modal-source .u101-modal-wrap .u101-final-banner .u101-closing-story > p,
.u101-modal-wrap .u101-final-banner .u101-closing-story > p{
  width:100% !important;
  max-width:none !important;
  margin:0 0 16px !important;
  text-align:left !important;
}

/* Override the shared centred story-turn styling */
#modalDynamic .u101-modal-wrap .u101-final-banner .u101-closing-story > .u101-story-turn,
.modal-source .u101-modal-wrap .u101-final-banner .u101-closing-story > .u101-story-turn,
.u101-modal-wrap .u101-final-banner .u101-closing-story > .u101-story-turn{
  margin:20px 0 !important;
  text-align:left !important;
}

/* Centre both lines inside the green callout */
#modalDynamic .u101-modal-wrap .u101-final-banner .u101-closing-punch,
.modal-source .u101-modal-wrap .u101-final-banner .u101-closing-punch,
.u101-modal-wrap .u101-final-banner .u101-closing-punch{
  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-final-banner .u101-closing-punch strong,
#modalDynamic .u101-modal-wrap .u101-final-banner .u101-closing-punch span,
.modal-source .u101-modal-wrap .u101-final-banner .u101-closing-punch strong,
.modal-source .u101-modal-wrap .u101-final-banner .u101-closing-punch span,
.u101-modal-wrap .u101-final-banner .u101-closing-punch strong,
.u101-modal-wrap .u101-final-banner .u101-closing-punch span{
  display:block !important;
  width:100% !important;
  max-width:720px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}


/* =====================================================
   FINAL PROCESS STRIP
===================================================== */

.u101-modal-wrap .u101-final-process-strip{
  width:100% !important;
  max-width:900px !important;
  margin:0 auto 30px !important;
  display:grid !important;
  grid-template-columns:1fr auto 1fr auto 1fr auto 1fr !important;
  align-items:center !important;
  gap:10px !important;
}

.u101-modal-wrap .u101-final-process-strip > div{
  min-height:94px !important;
  padding:15px 12px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(20,163,112,.20) !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.78) !important;
  box-shadow:0 10px 22px rgba(15,23,42,.045) !important;
  text-align:center !important;
}

.u101-modal-wrap .u101-final-process-strip > div > span{
  width:30px !important;
  height:30px !important;
  margin:0 auto 8px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:linear-gradient(
    135deg,
    var(--brand-2),
    var(--brand)
  ) !important;
  color:#fff !important;
  font-size:10px !important;
  font-weight:950 !important;
  line-height:1 !important;
}

.u101-modal-wrap .u101-final-process-strip > div > strong{
  color:var(--text) !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1.25 !important;
}

.u101-modal-wrap .u101-final-process-strip > b{
  width:28px !important;
  height:28px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(249,115,22,.28) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#f97316 !important;
  box-shadow:0 8px 18px rgba(15,23,42,.05) !important;
  font-size:16px !important;
  font-weight:950 !important;
  line-height:1 !important;
}


/* =====================================================
   FINAL PRICE AND CTA
===================================================== */

#modalDynamic .u101-modal-wrap .u101-final-cta-box,
.modal-source .u101-modal-wrap .u101-final-cta-box,
.u101-modal-wrap .u101-final-cta-box{
  display:grid !important;
  gap:10px !important;
  width:min(100%, 620px) !important;
  margin:26px auto 0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-final-price-panel,
.modal-source .u101-modal-wrap .u101-final-price-panel,
.u101-modal-wrap .u101-final-price-panel{
  display:grid !important;
  grid-template-columns:auto minmax(0, 1fr) auto !important;
  align-items:center !important;
  gap:14px !important;
  width:min(100%, 480px) !important;
  margin:0 auto !important;
  padding:12px 14px !important;
  border:1px solid rgba(20,163,112,.24) !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.90) !important;
  box-shadow:
    0 10px 24px rgba(15,23,42,.055),
    inset 0 1px 0 rgba(255,255,255,.90) !important;
}

.u101-modal-wrap .u101-final-price-badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:28px !important;
  padding:6px 11px !important;
  border:1px solid rgba(249,115,22,.38) !important;
  border-radius:999px !important;
  background:#fff7ed !important;
  color:#c2410c !important;
  font-size:10px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.u101-modal-wrap .u101-final-price-main{
  display:flex !important;
  align-items:baseline !important;
  justify-content:center !important;
  gap:8px !important;
  min-width:0 !important;
}

.u101-modal-wrap .u101-final-price-main span{
  color:var(--muted) !important;
  font-size:13px !important;
  font-weight:800 !important;
}

.u101-modal-wrap .u101-final-price-main strong{
  color:var(--brand) !important;
  font-size:34px !important;
  font-weight:950 !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
}

.u101-modal-wrap .u101-final-price-main s{
  color:var(--muted) !important;
  font-size:14px !important;
  font-weight:800 !important;
  opacity:.72 !important;
}

.u101-modal-wrap .u101-final-price-save{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:28px !important;
  padding:6px 11px !important;
  border:1px solid rgba(20,163,112,.26) !important;
  border-radius:999px !important;
  background:#eefaf5 !important;
  color:var(--brand) !important;
  font-size:10px !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

#modalDynamic .u101-modal-wrap .u101-final-cta-box > .btn,
.modal-source .u101-modal-wrap .u101-final-cta-box > .btn,
.u101-modal-wrap .u101-final-cta-box > .btn{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:min(100%, 480px) !important;
  max-width:480px !important;
  margin:0 auto 2px !important;
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width:720px){

  .u101-modal-wrap .u101-question-stack{
    grid-template-columns:1fr !important;
    max-width:460px !important;
    gap:9px !important;
    margin:22px auto !important;
  }

  .u101-modal-wrap .u101-question-stack > div{
    min-height:48px !important;
    padding:12px 14px !important;
    font-size:13px !important;
  }

  .u101-modal-wrap .u101-story-turn{
    margin:20px auto !important;
    font-size:18px !important;
    text-align:left !important;
  }

  .u101-modal-wrap .u101-opening-punch{
    padding:16px !important;
  }


  /* Toolkit mockup */

  .u101-modal-wrap .u101-buyer-toolkit-mockup{
    width:min(100%, 390px) !important;
    min-height:310px !important;
    margin:24px auto 14px !important;
    padding:52px 0 26px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__badge--seller{
    left:5px !important;
    transform:scale(.88) !important;
    transform-origin:left top !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__badge--epc{
    right:5px !important;
    transform:scale(.88) !important;
    transform-origin:right top !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__panel{
    top:84px !important;
    width:160px !important;
    min-height:168px !important;
    padding:16px 13px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__panel--left{
    left:2px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__panel--right{
    right:2px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__panel > strong{
    font-size:11px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__checklist span{
    min-height:26px !important;
    padding:6px 7px !important;
    font-size:8px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__decision-pills{
    gap:5px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__decision-pills span{
    min-height:23px !important;
    padding:5px 7px !important;
    font-size:7.5px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__dashboard{
    width:240px !important;
    min-height:230px !important;
    padding:13px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__dashboard-head{
    margin:-13px -13px 12px !important;
    padding:11px 12px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__dashboard-head span{
    font-size:9px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__seller-row{
    padding:8px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__seller-row strong{
    font-size:9px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__metrics{
    gap:5px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__metrics > div{
    padding:8px 4px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__metrics strong{
    font-size:9px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__next-move{
    flex-direction:column !important;
    gap:5px !important;
    text-align:center !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__next-move strong{
    text-align:center !important;
  }


  /* Closing story */

  .u101-modal-wrap .u101-closing-story{
    margin:24px auto 26px !important;
    padding:19px 16px !important;
    border-radius:17px !important;
  }

  .u101-modal-wrap .u101-closing-story > p{
    font-size:15px !important;
    line-height:1.58 !important;
  }

  .u101-modal-wrap .u101-closing-punch{
    padding:15px !important;
  }


  /* Final process */

  .u101-modal-wrap .u101-final-process-strip{
    grid-template-columns:1fr !important;
    max-width:420px !important;
    gap:9px !important;
    margin-bottom:26px !important;
  }

  .u101-modal-wrap .u101-final-process-strip > b{
    display:none !important;
  }

  .u101-modal-wrap .u101-final-process-strip > div{
    min-height:72px !important;
    padding:12px !important;
  }


  /* Final price */

  #modalDynamic .u101-modal-wrap .u101-final-price-panel,
  .modal-source .u101-modal-wrap .u101-final-price-panel,
  .u101-modal-wrap .u101-final-price-panel{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    gap:8px !important;
    padding:13px !important;
  }

  .u101-modal-wrap .u101-final-price-main strong{
    font-size:31px !important;
  }

  #modalDynamic .u101-modal-wrap .u101-final-cta-box > .btn,
  .modal-source .u101-modal-wrap .u101-final-cta-box > .btn,
  .u101-modal-wrap .u101-final-cta-box > .btn{
    width:100% !important;
    max-width:430px !important;
  }
}


@media (max-width:420px){

  .u101-modal-wrap .u101-buyer-toolkit-mockup{
    width:min(100%, 320px) !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__panel{
    width:136px !important;
    padding:14px 10px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__dashboard{
    width:215px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__badge{
    transform:scale(.75) !important;
  }
}

/* =====================================================
   U101 SELLER STACK - VERDICT AND POSITION POLISH
===================================================== */

/* Sit the rejected seller cards evenly behind the main seller */
.u101-modal-wrap .u101-buyer-toolkit-mockup__card--back{
  top:96px !important;
}

/* Move the chosen seller upward and keep it centred */
.u101-modal-wrap .u101-buyer-toolkit-mockup__card--main{
  top:18px !important;
  left:auto !important;
  right:auto !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Make rejected-seller verdicts much clearer */
.u101-modal-wrap
.u101-buyer-toolkit-mockup__card--back
.u101-buyer-toolkit-mockup__verdict--bad{
  left:12px !important;
  right:12px !important;
  bottom:13px !important;
  min-height:40px !important;
  padding:9px 12px !important;

  border:2px solid rgba(220,38,38,.62) !important;
  background:#fff1f2 !important;
  color:#b91c1c !important;

  box-shadow:
    0 10px 22px rgba(185,28,28,.12),
    inset 0 1px 0 rgba(255,255,255,.85) !important;

  font-size:12px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.02em !important;
}

.u101-modal-wrap
.u101-buyer-toolkit-mockup__card--back
.u101-buyer-toolkit-mockup__verdict--bad
.u101-buyer-toolkit-mockup__verdict-icon{
  width:21px !important;
  height:21px !important;
  background:#dc2626 !important;
  color:#fff !important;
  font-size:13px !important;
}

/* Make the selected seller verdict the main focal point */
.u101-modal-wrap
.u101-buyer-toolkit-mockup__card--main
.u101-buyer-toolkit-mockup__verdict--good{
  width:100% !important;
  min-height:43px !important;
  margin:0 0 13px !important;
  padding:9px 14px !important;

  border:2px solid rgba(5,150,105,.58) !important;
  background:#ecfdf5 !important;
  color:#047857 !important;

  box-shadow:
    0 10px 24px rgba(5,150,105,.13),
    inset 0 1px 0 rgba(255,255,255,.88) !important;

  font-size:13px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.02em !important;
}

.u101-modal-wrap
.u101-buyer-toolkit-mockup__card--main
.u101-buyer-toolkit-mockup__verdict--good
.u101-buyer-toolkit-mockup__verdict-icon{
  width:22px !important;
  height:22px !important;
  background:#059669 !important;
  color:#fff !important;
  font-size:14px !important;
}

/* Strengthen the small badge above the selected account */
.u101-modal-wrap .u101-buyer-toolkit-mockup__main-badge{
  min-height:30px !important;
  padding:7px 13px !important;
  border:1.5px solid rgba(5,150,105,.36) !important;
  background:#dff8ee !important;
  color:#047857 !important;
  font-size:10.5px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.025em !important;
}

@media (max-width:720px){

  .u101-modal-wrap .u101-buyer-toolkit-mockup__card--back{
    top:94px !important;
  }

  .u101-modal-wrap .u101-buyer-toolkit-mockup__card--main{
    top:24px !important;
  }

  .u101-modal-wrap
  .u101-buyer-toolkit-mockup__card--back
  .u101-buyer-toolkit-mockup__verdict--bad{
    min-height:34px !important;
    padding:7px 8px !important;
    font-size:9px !important;
  }

  .u101-modal-wrap
  .u101-buyer-toolkit-mockup__card--main
  .u101-buyer-toolkit-mockup__verdict--good{
    min-height:37px !important;
    padding:8px 10px !important;
    font-size:10px !important;
  }
}

/* Centre the selected seller details on the front card */
.u101-modal-wrap
.u101-buyer-toolkit-mockup__card--main
.u101-buyer-toolkit-mockup__seller-head{
  justify-content:center !important;
  width:100% !important;
  text-align:center !important;
}

.u101-modal-wrap
.u101-buyer-toolkit-mockup__card--main
.u101-buyer-toolkit-mockup__seller-meta{
  text-align:center !important;
}

.u101-modal-wrap
.u101-buyer-toolkit-mockup__card--main
.u101-buyer-toolkit-mockup__seller-meta strong,
.u101-modal-wrap
.u101-buyer-toolkit-mockup__card--main
.u101-buyer-toolkit-mockup__seller-meta small{
  width:100% !important;
  text-align:center !important;
}

/* =====================================================
   U101 SMART MOVE BOX ALIGNMENT
===================================================== */

#modalDynamic .u101-modal-wrap .u101-smart-visual,
.modal-source .u101-modal-wrap .u101-smart-visual,
.u101-modal-wrap .u101-smart-visual{
  grid-template-columns:
    minmax(0,1fr)
    34px
    minmax(0,1fr)
    34px
    minmax(0,1fr) !important;

  grid-auto-rows:1fr !important;
  align-items:stretch !important;
}

#modalDynamic .u101-modal-wrap .u101-smart-card,
.modal-source .u101-modal-wrap .u101-smart-card,
.u101-modal-wrap .u101-smart-card{
  width:100% !important;
  height:100% !important;
  min-height:168px !important;
  padding:22px 18px !important;
  box-sizing:border-box !important;
}

/* Keep the orange featured styling without lifting the card */
#modalDynamic .u101-modal-wrap .u101-smart-card-featured,
.modal-source .u101-modal-wrap .u101-smart-card-featured,
.u101-modal-wrap .u101-smart-card-featured{
  transform:none !important;
}

/* Keep all descriptions aligned consistently */
#modalDynamic .u101-modal-wrap .u101-smart-card small,
.modal-source .u101-modal-wrap .u101-smart-card small,
.u101-modal-wrap .u101-smart-card small{
  width:100% !important;
  max-width:185px !important;
  min-height:54px !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  text-align:center !important;
}

/* Keep arrows vertically centred between equal-height cards */
#modalDynamic .u101-modal-wrap .u101-smart-arrow,
.modal-source .u101-modal-wrap .u101-smart-arrow,
.u101-modal-wrap .u101-smart-arrow{
  align-self:center !important;
}

@media (max-width:720px){
  #modalDynamic .u101-modal-wrap .u101-smart-visual,
  .modal-source .u101-modal-wrap .u101-smart-visual,
  .u101-modal-wrap .u101-smart-visual{
    grid-template-columns:1fr !important;
    grid-auto-rows:auto !important;
  }

  #modalDynamic .u101-modal-wrap .u101-smart-card,
  .modal-source .u101-modal-wrap .u101-smart-card,
  .u101-modal-wrap .u101-smart-card{
    min-height:168px !important;
  }
}

/* =====================================================
   U101 WHOLE MODAL WIDTH AND OVERFLOW FIX
   Prevent long top content widening the entire sales page
===================================================== */

#modalDynamic .u101-modal-wrap,
.modal-source .u101-modal-wrap,
.u101-modal-wrap{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}


/* Keep the hero purchase grid inside the modal width */

#modalDynamic .u101-modal-wrap > .ms-grid,
.modal-source .u101-modal-wrap > .ms-grid,
.u101-modal-wrap > .ms-grid{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;

  grid-template-columns:
    minmax(0,1.2fr)
    minmax(0,1fr) !important;

  box-sizing:border-box !important;
}


/* Allow both grid columns to shrink correctly */

#modalDynamic .u101-modal-wrap > .ms-grid > *,
.modal-source .u101-modal-wrap > .ms-grid > *,
.u101-modal-wrap > .ms-grid > *{
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

#modalDynamic .u101-modal-wrap .ms-copy,
.modal-source .u101-modal-wrap .ms-copy,
.u101-modal-wrap .ms-copy{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}


/* Stack the longer U101 traffic callout heading above its copy */

#modalDynamic .u101-modal-wrap .tool-power-callout,
.modal-source .u101-modal-wrap .tool-power-callout,
.u101-modal-wrap .tool-power-callout{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:6px !important;

  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;

  box-sizing:border-box !important;
}

#modalDynamic .u101-modal-wrap .tool-power-callout strong,
.modal-source .u101-modal-wrap .tool-power-callout strong,
.u101-modal-wrap .tool-power-callout strong{
  display:block !important;

  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;

  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

#modalDynamic .u101-modal-wrap .tool-power-callout > span,
.modal-source .u101-modal-wrap .tool-power-callout > span,
.u101-modal-wrap .tool-power-callout > span{
  display:block !important;

  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;

  overflow-wrap:anywhere !important;
}


/* Keep the longer benefit pills contained */

#modalDynamic .u101-modal-wrap .ms-copy > .pill-row,
.modal-source .u101-modal-wrap .ms-copy > .pill-row,
.u101-modal-wrap .ms-copy > .pill-row{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;

  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}

#modalDynamic .u101-modal-wrap .ms-copy > .pill-row .pill-chip,
.modal-source .u101-modal-wrap .ms-copy > .pill-row .pill-chip,
.u101-modal-wrap .ms-copy > .pill-row .pill-chip{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;

  box-sizing:border-box !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  text-align:center !important;
}


/* Prevent any sales-page section inheriting an oversized width */

#modalDynamic .u101-modal-wrap .u101-sales-page,
.modal-source .u101-modal-wrap .u101-sales-page,
.u101-modal-wrap .u101-sales-page{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

#modalDynamic .u101-modal-wrap .u101-sales-page > section,
.modal-source .u101-modal-wrap .u101-sales-page > section,
.u101-modal-wrap .u101-sales-page > section{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}


/* Responsive layout */

@media (max-width:899.98px){

  #modalDynamic .u101-modal-wrap > .ms-grid,
  .modal-source .u101-modal-wrap > .ms-grid,
  .u101-modal-wrap > .ms-grid{
    grid-template-columns:1fr !important;
  }
}

@media (max-width:480px){

  #modalDynamic .u101-modal-wrap .ms-copy > .pill-row,
  .modal-source .u101-modal-wrap .ms-copy > .pill-row,
  .u101-modal-wrap .ms-copy > .pill-row{
    grid-template-columns:1fr !important;
  }
}

/* =====================================================
   U101 SMART MOVE HEADLINE POLISH
===================================================== */

#modalDynamic .u101-modal-wrap .u101-next-level-banner .u101-smart-move-headline,
.modal-source .u101-modal-wrap .u101-next-level-banner .u101-smart-move-headline,
.u101-modal-wrap .u101-next-level-banner .u101-smart-move-headline{
  display:block !important;
  width:100% !important;
  max-width:920px !important;
  margin:0 auto 18px !important;
  overflow:visible !important;
  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-smart-move-headline > span,
.modal-source .u101-modal-wrap .u101-smart-move-headline > span,
.u101-modal-wrap .u101-smart-move-headline > span{
  display:block !important;
  width:100% !important;
  white-space:normal !important;
  text-align:center !important;
}

#modalDynamic .u101-modal-wrap .u101-smart-move-highlight,
.modal-source .u101-modal-wrap .u101-smart-move-highlight,
.u101-modal-wrap .u101-smart-move-highlight{
  margin-top:2px !important;
}

#modalDynamic .u101-modal-wrap .u101-smart-move-highlight em,
.modal-source .u101-modal-wrap .u101-smart-move-highlight em,
.u101-modal-wrap .u101-smart-move-highlight em{
  display:inline !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  white-space:nowrap !important;
}

#modalDynamic .u101-modal-wrap .u101-next-level-banner > p,
.modal-source .u101-modal-wrap .u101-next-level-banner > p,
.u101-modal-wrap .u101-next-level-banner > p{
  width:100% !important;
  max-width:820px !important;
  margin:0 auto 30px !important;
  text-align:center !important;
}

@media (max-width:720px){
  #modalDynamic .u101-modal-wrap .u101-smart-move-highlight em,
  .modal-source .u101-modal-wrap .u101-smart-move-highlight em,
  .u101-modal-wrap .u101-smart-move-highlight em{
    white-space:normal !important;
  }
}

/* =====================================================
   U103 DIY SETUP BOOTCAMP - FINAL CLEAN FULL REPLACEMENT
   Replace the entire existing U103 CSS with this file.
   Old duplicate U103 generations and obsolete CTA rules removed.
===================================================== */

/* =====================================================
   U103 DIY SETUP BOOTCAMP
   REMOVE EVERY PREVIOUS U103 CSS BLOCK
===================================================== */

.u103-modal-wrap{
  --u103-orange:#f97316;
  --u103-orange-dark:#c2410c;
  --u103-green:#14a370;
  --u103-green-dark:#087652;
  --u103-ink:#111827;
  --u103-muted:#667085;
  --u103-border:#eadfd7;

  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  font-family:inherit !important;
}

.u103-modal-wrap *,
.u103-modal-wrap *::before,
.u103-modal-wrap *::after{
  box-sizing:border-box !important;
}


/* =====================================================
   TOP AREA
===================================================== */

.u103-modal-wrap .u103-top-grid{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  grid-template-columns:minmax(0,1.08fr) minmax(0,1fr) !important;
}

.u103-modal-wrap .u103-top-grid > *{
  min-width:0 !important;
  max-width:100% !important;
}

.u103-modal-wrap .u103-hero-image-wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-width:0 !important;
  padding:24px !important;
}

.u103-modal-wrap .u103-hero-image{
  display:block !important;
  width:100% !important;
  max-width:560px !important;
  height:auto !important;
  margin:0 auto !important;
  object-fit:contain !important;
}

.u103-modal-wrap .u103-hero-copy{
  width:100% !important;
  min-width:0 !important;
}

.u103-modal-wrap .u103-hero-pills{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
  width:100% !important;
}

.u103-modal-wrap .u103-hero-pills .pill-chip{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-width:0 !important;
  white-space:normal !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-hero-callout{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:6px !important;
  width:100% !important;
}

.u103-modal-wrap .u103-hero-callout strong,
.u103-modal-wrap .u103-hero-callout > span{
  display:block !important;
  width:100% !important;
  white-space:normal !important;
}

.u103-modal-wrap .u103-modal-buy-panel{
  width:100% !important;
  max-width:480px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.u103-modal-wrap .u103-modal-buy-panel .btn{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:54px !important;
  padding:14px 18px !important;
  border-radius:12px !important;
  font-size:15px !important;
  font-weight:950 !important;
  line-height:1.2 !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-modal-buy-coach{
  display:block !important;
  width:100% !important;
  margin:9px auto 2px !important;
  color:#6b7280 !important;
  font-size:11.5px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  text-align:center !important;
}


/* =====================================================
   SALES PAGE BASE
===================================================== */

.u103-modal-wrap .u103-sales-page{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
}

.u103-modal-wrap .u103-sales-page > section{
  width:100% !important;
  max-width:100% !important;
  padding:64px 48px !important;
}

.u103-modal-wrap .u103-sales-page h4,
.u103-modal-wrap .u103-testimonials > h4{
  width:min(960px,100%) !important;
  margin:16px auto 20px !important;
  color:var(--u103-ink) !important;
  font-family:inherit !important;
  font-size:clamp(30px,3.65vw,44px) !important;
  font-weight:950 !important;
  line-height:1.08 !important;
  letter-spacing:-.025em !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-sales-page h4 em,
.u103-modal-wrap .u103-testimonials h4 em{
  display:inline !important;
  width:auto !important;
  white-space:normal !important;
}

.u103-modal-wrap .u103-section-kicker{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  max-width:100% !important;
  min-height:30px !important;
  margin:0 auto !important;
  padding:7px 13px !important;
  border:1px solid rgba(249,115,22,.34) !important;
  border-radius:999px !important;
  background:#fff7ed !important;
  color:var(--u103-orange-dark) !important;
  font-size:10px !important;
  font-weight:950 !important;
  line-height:1.15 !important;
  letter-spacing:.025em !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-section-intro{
  display:block !important;
  width:min(840px,100%) !important;
  max-width:840px !important;
  margin:18px auto 0 !important;
  color:var(--u103-muted) !important;
  font-size:16px !important;
  font-weight:650 !important;
  line-height:1.7 !important;
  text-align:center !important;
}


/* =====================================================
   SHARED STORY
===================================================== */

.u103-modal-wrap .u103-story-box{
  position:relative !important;
  display:block !important;
  width:min(930px,100%) !important;
  margin:34px auto 0 !important;
  padding:30px 32px !important;
  border:1px solid #efd5c1 !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:0 16px 38px rgba(17,24,39,.065) !important;
  text-align:left !important;
}

.u103-modal-wrap .u103-story-box::before{
  position:absolute !important;
  top:28px !important;
  bottom:28px !important;
  left:0 !important;
  width:4px !important;
  border-radius:0 999px 999px 0 !important;
  background:var(--u103-orange) !important;
  content:"" !important;
}

#modalDynamic .u103-modal-wrap .u103-story-box > p,
.modal-source .u103-modal-wrap .u103-story-box > p,
.u103-modal-wrap .u103-story-box > p{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 0 20px !important;
  padding:0 !important;
  color:#171717 !important;
  font-family:inherit !important;
  font-size:17px !important;
  font-weight:500 !important;
  line-height:1.72 !important;
  letter-spacing:normal !important;
  text-align:left !important;
}

#modalDynamic .u103-modal-wrap p.u101-story-turn,
.modal-source .u103-modal-wrap p.u101-story-turn,
.u103-modal-wrap p.u101-story-turn{
  margin:2px 0 20px !important;
  color:#171717 !important;
  font-size:17px !important;
  font-weight:500 !important;
  line-height:1.72 !important;
  letter-spacing:normal !important;
  text-align:left !important;
}

.u103-modal-wrap .u103-story-emphasis{
  margin:25px 0 !important;
  color:#344054 !important;
  font-size:20px !important;
  font-weight:800 !important;
  line-height:1.5 !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-story-emphasis strong{
  color:var(--u103-orange-dark) !important;
  font-weight:950 !important;
}

.u103-modal-wrap .u103-story-punch{
  display:block !important;
  margin-top:26px !important;
  padding:18px 20px !important;
  border:1px solid #aee0ce !important;
  border-left:4px solid var(--u103-green) !important;
  border-radius:15px !important;
  background:#effbf6 !important;
  color:#475467 !important;
  font-size:14.5px !important;
  font-weight:650 !important;
  line-height:1.6 !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-story-punch strong{
  display:block !important;
  margin:0 0 5px !important;
  color:var(--u103-green-dark) !important;
  font-size:15px !important;
  font-weight:950 !important;
  line-height:1.45 !important;
}

.u103-modal-wrap .u103-question-stack > div{
  color:#344054 !important;
  font-size:14px !important;
  font-weight:750 !important;
  line-height:1.45 !important;
}


/* =====================================================
   OPENING STORY
===================================================== */

.u103-modal-wrap .u103-opening-section{
  background:
    radial-gradient(circle at 8% 12%,rgba(249,115,22,.08),transparent 34%),
    #fffaf6 !important;
  border-top:1px solid rgba(249,115,22,.18) !important;
}


/* =====================================================
   AUTOMATION BANNER
===================================================== */

.u103-modal-wrap .u103-automation-banner{
  background:
    radial-gradient(circle at 7% 10%,rgba(249,115,22,.16),transparent 34%),
    radial-gradient(circle at 93% 90%,rgba(20,163,112,.19),transparent 38%),
    linear-gradient(135deg,#fff7ef 0%,#eefbf6 100%) !important;
  border-block:1px solid rgba(249,115,22,.20) !important;
}

.u103-modal-wrap .u103-automation-story{
  width:min(860px,100%) !important;
  margin:32px auto 0 !important;
}

.u103-modal-wrap .u103-automation-story p{
  margin:0 0 18px !important;
  color:#171717 !important;
  font-size:17px !important;
  font-weight:500 !important;
  line-height:1.72 !important;
  text-align:left !important;
}

.u103-modal-wrap .u103-automation-turn{
  color:var(--u103-orange-dark) !important;
  font-size:20px !important;
  font-weight:900 !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-automation-stage{
  display:grid !important;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr) !important;
  align-items:center !important;
  gap:46px !important;
  width:min(980px,100%) !important;
  margin:42px auto 0 !important;
  padding:34px !important;
  border:1px solid #efd8c7 !important;
  border-radius:28px !important;
  background:rgba(255,255,255,.94) !important;
  box-shadow:0 22px 48px rgba(17,24,39,.085) !important;
}

.u103-modal-wrap .u103-automation-person{
  padding:28px !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-person-scene{
  position:relative !important;
  width:230px !important;
  height:190px !important;
  margin:0 auto 22px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid #ffc89f !important;
  border-radius:50% 50% 28px 28px !important;
  background:
    linear-gradient(180deg,#fff7df 0%,#dff7ff 54%,#ffe0aa 55%,#ffd08a 100%) !important;
  box-shadow:0 18px 38px rgba(17,24,39,.08) !important;
  overflow:hidden !important;
}

.u103-modal-wrap .u103-scene-sun{
  position:absolute !important;
  top:18px !important;
  right:25px !important;
  font-size:31px !important;
}

.u103-modal-wrap .u103-scene-person{
  margin-top:45px !important;
  font-size:76px !important;
}

.u103-modal-wrap .u103-automation-person > small{
  display:block !important;
  margin-bottom:8px !important;
  color:var(--u103-orange) !important;
  font-size:9px !important;
  font-weight:950 !important;
  letter-spacing:.06em !important;
}

.u103-modal-wrap .u103-automation-person > strong{
  display:block !important;
  color:var(--u103-ink) !important;
  font-size:22px !important;
  font-weight:950 !important;
  line-height:1.25 !important;
}

.u103-modal-wrap .u103-automation-person > p{
  margin:12px 0 0 !important;
  color:#667085 !important;
  font-size:13.5px !important;
  font-weight:600 !important;
  line-height:1.6 !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-automation-timeline{
  position:relative !important;
  display:grid !important;
  gap:12px !important;
}

.u103-modal-wrap .u103-timeline-line{
  position:absolute !important;
  top:25px !important;
  bottom:25px !important;
  left:38px !important;
  width:3px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,var(--u103-orange),var(--u103-green)) !important;
}

.u103-modal-wrap .u103-automation-timeline article{
  position:relative !important;
  z-index:2 !important;
  display:grid !important;
  grid-template-columns:76px minmax(0,1fr) !important;
  align-items:center !important;
  gap:16px !important;
}

.u103-modal-wrap .u103-automation-timeline article > span{
  display:grid !important;
  place-items:center !important;
  width:76px !important;
  height:42px !important;
  border:4px solid #fff !important;
  border-radius:999px !important;
  background:#fff1e6 !important;
  color:var(--u103-orange-dark) !important;
  box-shadow:0 8px 18px rgba(17,24,39,.07) !important;
  font-size:9px !important;
  font-weight:950 !important;
}

.u103-modal-wrap .u103-automation-timeline article > div{
  padding:14px 16px !important;
  border:1px solid #e8ddd5 !important;
  border-radius:15px !important;
  background:#fff !important;
}

.u103-modal-wrap .u103-automation-timeline article:nth-child(even) > div{
  border-color:#bfe5d7 !important;
  background:#f7fcfa !important;
}

.u103-modal-wrap .u103-automation-timeline small{
  display:block !important;
  margin-bottom:4px !important;
  color:var(--u103-orange) !important;
  font-size:8px !important;
  font-weight:950 !important;
}

.u103-modal-wrap .u103-automation-timeline strong{
  display:block !important;
  color:var(--u103-ink) !important;
  font-size:15px !important;
  font-weight:900 !important;
}

.u103-modal-wrap .u103-automation-timeline p{
  margin:5px 0 0 !important;
  color:#667085 !important;
  font-size:12px !important;
  font-weight:600 !important;
  line-height:1.5 !important;
  text-align:left !important;
}

.u103-modal-wrap .u103-automation-close,
.u103-modal-wrap .u103-traffic-close,
.u103-modal-wrap .u103-rotation-close{
  width:min(830px,100%) !important;
  margin:28px auto 0 !important;
  padding:17px 21px !important;
  border:1px solid #aee0ce !important;
  border-radius:15px !important;
  background:#effbf6 !important;
  color:#475467 !important;
  font-size:14.5px !important;
  font-weight:650 !important;
  line-height:1.6 !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-automation-close strong,
.u103-modal-wrap .u103-traffic-close strong,
.u103-modal-wrap .u103-rotation-close strong{
  display:block !important;
  margin-bottom:4px !important;
  color:var(--u103-green-dark) !important;
  font-size:15px !important;
  font-weight:950 !important;
}


/* =====================================================
   GROWTH + ALL TRAFFIC
===================================================== */

.u103-modal-wrap .u103-growth-section{
  background:#fff !important;
}

.u103-modal-wrap .u103-growth-story{
  width:min(860px,100%) !important;
  margin:32px auto 0 !important;
}

.u103-modal-wrap .u103-growth-story p{
  margin:0 0 18px !important;
  color:#171717 !important;
  font-size:17px !important;
  font-weight:500 !important;
  line-height:1.72 !important;
  text-align:left !important;
}

.u103-modal-wrap .u103-growth-story blockquote,
.u103-modal-wrap .u103-rotation-story blockquote{
  margin:30px 0 !important;
  padding:21px 24px !important;
  border-left:5px solid var(--u103-green) !important;
  border-radius:0 16px 16px 0 !important;
  background:#effbf6 !important;
  color:var(--u103-green-dark) !important;
  font-size:20px !important;
  font-weight:950 !important;
  line-height:1.48 !important;
  text-align:left !important;
}

.u103-modal-wrap .u103-reach-panel{
  width:min(980px,100%) !important;
  margin:40px auto 0 !important;
  overflow:hidden !important;
  border:1px solid #efd8c7 !important;
  border-radius:26px !important;
  background:#fff !important;
  box-shadow:0 18px 42px rgba(17,24,39,.07) !important;
}

.u103-modal-wrap .u103-reach-heading{
  padding:25px 28px !important;
  background:
    radial-gradient(circle at left top,rgba(249,115,22,.14),transparent 45%),
    linear-gradient(135deg,#fff7ef,#f3fcf8) !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-reach-heading > span{
  color:var(--u103-orange) !important;
  font-size:9px !important;
  font-weight:950 !important;
  letter-spacing:.06em !important;
}

.u103-modal-wrap .u103-reach-heading > strong{
  display:block !important;
  margin-top:7px !important;
  color:var(--u103-ink) !important;
  font-size:22px !important;
  font-weight:950 !important;
}

.u103-modal-wrap .u103-reach-heading > p{
  margin:8px auto 0 !important;
  color:#667085 !important;
  font-size:12.5px !important;
  font-weight:600 !important;
  line-height:1.55 !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-reach-row{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

.u103-modal-wrap .u103-reach-row > div{
  padding:28px 22px !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-reach-row > div + div{
  border-left:1px solid #e7eaee !important;
}

.u103-modal-wrap .u103-reach-size{
  display:block !important;
  color:var(--u103-green-dark) !important;
  font-size:36px !important;
  font-weight:950 !important;
  line-height:1 !important;
}

.u103-modal-wrap .u103-reach-row small{
  display:block !important;
  margin:7px 0 13px !important;
  color:var(--u103-orange) !important;
  font-size:8px !important;
  font-weight:950 !important;
}

.u103-modal-wrap .u103-reach-row strong{
  display:block !important;
  color:var(--u103-ink) !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1.4 !important;
}

.u103-modal-wrap .u103-reach-row p{
  margin:8px 0 0 !important;
  color:#667085 !important;
  font-size:12px !important;
  font-weight:600 !important;
  line-height:1.5 !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-reach-note{
  display:block !important;
  padding:13px 18px !important;
  border-top:1px solid #e8ecef !important;
  background:#fafbfc !important;
  color:#667085 !important;
  font-size:10px !important;
  font-weight:650 !important;
  line-height:1.5 !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-traffic-story{
  width:min(860px,100%) !important;
  margin:60px auto 0 !important;
  padding-top:46px !important;
  border-top:1px solid #e7eaee !important;
}

.u103-modal-wrap .u103-inline-label{
  display:table !important;
  margin:0 auto 16px !important;
  padding:7px 13px !important;
  border:1px solid #ffc397 !important;
  border-radius:999px !important;
  background:#fff7ed !important;
  color:var(--u103-orange-dark) !important;
  font-size:9px !important;
  font-weight:950 !important;
}

.u103-modal-wrap .u103-traffic-story h5{
  width:min(760px,100%) !important;
  margin:0 auto 22px !important;
  color:var(--u103-ink) !important;
  font-size:29px !important;
  font-weight:950 !important;
  line-height:1.15 !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-traffic-story p{
  margin:0 0 18px !important;
  color:#171717 !important;
  font-size:17px !important;
  font-weight:500 !important;
  line-height:1.72 !important;
  text-align:left !important;
}

.u103-modal-wrap .u103-traffic-hub{
  position:relative !important;
  width:760px !important;
  max-width:100% !important;
  height:520px !important;
  margin:36px auto 0 !important;
}

.u103-modal-wrap .u103-traffic-centre{
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  z-index:4 !important;
  width:260px !important;
  min-height:210px !important;
  padding:27px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  border:2px solid #9edcc5 !important;
  border-radius:28px !important;
  background:linear-gradient(145deg,#fff,#edf9f4) !important;
  box-shadow:0 23px 48px rgba(17,24,39,.12) !important;
  text-align:center !important;
  transform:translate(-50%,-50%) !important;
}

.u103-modal-wrap .u103-traffic-centre > span{
  color:var(--u103-orange) !important;
  font-size:9px !important;
  font-weight:950 !important;
}

.u103-modal-wrap .u103-traffic-centre > strong{
  margin-top:9px !important;
  color:var(--u103-green-dark) !important;
  font-size:25px !important;
  font-weight:950 !important;
}

.u103-modal-wrap .u103-traffic-centre > p{
  margin:10px 0 16px !important;
  color:#667085 !important;
  font-size:12px !important;
  font-weight:600 !important;
  line-height:1.5 !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-traffic-centre > div{
  padding:10px !important;
  border:1px solid #aee0ce !important;
  border-radius:11px !important;
  background:#fff !important;
  color:#344054 !important;
  font-size:10px !important;
  font-weight:900 !important;
}

.u103-modal-wrap .u103-traffic-centre b{
  margin:0 5px !important;
  color:var(--u103-orange) !important;
}

.u103-modal-wrap .u103-traffic-source{
  position:absolute !important;
  z-index:3 !important;
  width:170px !important;
  min-height:100px !important;
  padding:16px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid #efd5c1 !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 15px 32px rgba(17,24,39,.075) !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-traffic-source > span{
  margin-bottom:7px !important;
  font-size:25px !important;
}

.u103-modal-wrap .u103-traffic-source > strong{
  color:var(--u103-ink) !important;
  font-size:13px !important;
  font-weight:900 !important;
}

.u103-modal-wrap .u103-traffic-source-one{
  top:20px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
}

.u103-modal-wrap .u103-traffic-source-two{
  top:105px !important;
  right:20px !important;
}

.u103-modal-wrap .u103-traffic-source-three{
  right:70px !important;
  bottom:35px !important;
}

.u103-modal-wrap .u103-traffic-source-four{
  bottom:35px !important;
  left:70px !important;
}

.u103-modal-wrap .u103-traffic-source-five{
  top:105px !important;
  left:20px !important;
}




/* =====================================================
   ROTATION
===================================================== */

.u103-modal-wrap .u103-rotation-section{
  background:#fff !important;
}

.u103-modal-wrap .u103-rotation-story{
  width:min(860px,100%) !important;
  margin:34px auto 0 !important;
}

.u103-modal-wrap .u103-rotation-story p{
  margin:0 0 18px !important;
  color:#171717 !important;
  font-size:17px !important;
  font-weight:500 !important;
  line-height:1.72 !important;
  text-align:left !important;
}

.u103-modal-wrap .u103-rotation-turn{
  color:var(--u103-orange-dark) !important;
  font-size:20px !important;
  font-weight:900 !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-rotation-track{
  position:relative !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
  width:min(980px,100%) !important;
  margin:42px auto 0 !important;
  padding-top:115px !important;
}

.u103-modal-wrap .u103-rotation-list{
  position:absolute !important;
  top:0 !important;
  left:50% !important;
  z-index:3 !important;
  width:330px !important;
  padding:19px !important;
  border:1px solid #9edcc5 !important;
  border-radius:18px !important;
  background:#effbf6 !important;
  text-align:center !important;
  transform:translateX(-50%) !important;
}

.u103-modal-wrap .u103-rotation-list span{
  color:var(--u103-orange) !important;
  font-size:8px !important;
  font-weight:950 !important;
}

.u103-modal-wrap .u103-rotation-list strong{
  display:block !important;
  margin-top:5px !important;
  color:var(--u103-green-dark) !important;
  font-size:18px !important;
  font-weight:950 !important;
}

.u103-modal-wrap .u103-rotation-list small{
  display:block !important;
  margin-top:5px !important;
  color:#667085 !important;
  font-size:10px !important;
}

.u103-modal-wrap .u103-rotation-line{
  position:absolute !important;
  top:91px !important;
  right:12% !important;
  left:12% !important;
  height:3px !important;
  background:linear-gradient(90deg,var(--u103-orange),var(--u103-green)) !important;
}

.u103-modal-wrap .u103-rotation-track article{
  position:relative !important;
  z-index:2 !important;
  padding:22px 16px !important;
  border:1px solid #efd5c1 !important;
  border-radius:19px !important;
  background:#fff !important;
  box-shadow:0 14px 30px rgba(17,24,39,.06) !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-rotation-track article > span{
  display:grid !important;
  place-items:center !important;
  width:34px !important;
  height:34px !important;
  margin:0 auto 10px !important;
  border-radius:50% !important;
  background:#fff1e6 !important;
  color:var(--u103-orange-dark) !important;
  font-size:9px !important;
  font-weight:950 !important;
}

.u103-modal-wrap .u103-rotation-track article small{
  color:var(--u103-orange) !important;
  font-size:8px !important;
  font-weight:950 !important;
}

.u103-modal-wrap .u103-rotation-track article strong{
  display:block !important;
  margin-top:6px !important;
  color:var(--u103-ink) !important;
  font-size:16px !important;
  font-weight:950 !important;
}

.u103-modal-wrap .u103-rotation-track article p{
  margin:7px 0 0 !important;
  color:#667085 !important;
  font-size:12px !important;
  font-weight:600 !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-rotation-winner{
  border-color:#9edcc5 !important;
  background:#effbf6 !important;
}


/* =====================================================
   DELIVERABLES
===================================================== */

.u103-modal-wrap .u103-deliverables-section{
  background:
    radial-gradient(circle at 8% 10%,rgba(249,115,22,.10),transparent 34%),
    radial-gradient(circle at 92% 90%,rgba(20,163,112,.11),transparent 36%),
    linear-gradient(135deg,#fffaf5,#f4fcf8) !important;
  border-block:1px solid rgba(249,115,22,.18) !important;
}

.u103-modal-wrap .u103-deliverables-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px !important;
  width:min(960px,100%) !important;
  margin:34px auto 0 !important;
}

.u103-modal-wrap .u103-deliverables-grid article{
  display:grid !important;
  grid-template-columns:58px minmax(0,1fr) !important;
  align-items:start !important;
  gap:16px !important;
  min-height:142px !important;
  padding:22px !important;
  border:1px solid #eadfd7 !important;
  border-radius:20px !important;
  background:#fff !important;
  box-shadow:0 13px 30px rgba(17,24,39,.05) !important;
}

.u103-modal-wrap .u103-deliverables-grid article:nth-child(even){
  border-color:#bfe5d7 !important;
  background:#f8fdfa !important;
}

.u103-modal-wrap .u103-deliverables-grid article > span{
  display:grid !important;
  place-items:center !important;
  width:56px !important;
  height:56px !important;
  border:1px solid #ffc69b !important;
  border-radius:17px !important;
  background:#fff !important;
  font-size:26px !important;
}

.u103-modal-wrap .u103-deliverables-grid strong{
  display:flex !important;
  align-items:center !important;
  min-height:28px !important;
  color:var(--u103-ink) !important;
  font-size:17px !important;
  font-weight:900 !important;
  line-height:1.35 !important;
}

.u103-modal-wrap .u103-deliverables-grid p{
  margin:8px 0 0 !important;
  color:#5f6877 !important;
  font-size:13.5px !important;
  font-weight:600 !important;
  line-height:1.55 !important;
  text-align:left !important;
}


/* =====================================================
   BEGINNER
===================================================== */

.u103-modal-wrap .u103-beginner-banner{
  background:#fff !important;
}

.u103-modal-wrap .u103-beginner-box{
  position:relative !important;
  width:min(900px,100%) !important;
  margin:34px auto 0 !important;
  padding:30px 32px !important;
  border:1px solid #efd5c1 !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:0 16px 38px rgba(17,24,39,.065) !important;
}

.u103-modal-wrap .u103-beginner-box::before{
  position:absolute !important;
  top:28px !important;
  bottom:28px !important;
  left:0 !important;
  width:4px !important;
  border-radius:0 999px 999px 0 !important;
  background:var(--u103-orange) !important;
  content:"" !important;
}

.u103-modal-wrap .u103-beginner-pills{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  gap:10px !important;
  margin-bottom:28px !important;
}

.u103-modal-wrap .u103-beginner-pills span{
  padding:9px 15px !important;
  border:1px solid #b7e5d4 !important;
  border-radius:999px !important;
  background:#effbf6 !important;
  color:var(--u103-green-dark) !important;
  font-size:13px !important;
  font-weight:900 !important;
}

.u103-modal-wrap .u103-beginner-box > p{
  margin:0 0 20px !important;
  color:#171717 !important;
  font-size:17px !important;
  font-weight:500 !important;
  line-height:1.72 !important;
  text-align:left !important;
}

.u103-modal-wrap .u103-beginner-punch{
  margin-top:26px !important;
  padding:18px 20px !important;
  border:1px solid #aee0ce !important;
  border-left:4px solid var(--u103-green) !important;
  border-radius:15px !important;
  background:#effbf6 !important;
  color:#475467 !important;
  font-size:14.5px !important;
  font-weight:650 !important;
  line-height:1.6 !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-beginner-punch strong{
  display:block !important;
  margin-bottom:5px !important;
  color:var(--u103-green-dark) !important;
  font-size:15px !important;
  font-weight:950 !important;
}


/* =====================================================
   TESTIMONIALS
===================================================== */

.u103-modal-wrap .u103-testimonials{
  padding:64px 48px !important;
  background:#f8fbfa !important;
}

.u103-modal-wrap .u103-testimonial-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:stretch !important;
  gap:16px !important;
  width:min(1040px,100%) !important;
  margin:28px auto 0 !important;
}

.u103-modal-wrap .u103-testimonial-grid .t-card{
  height:100% !important;
}

.u103-modal-wrap .u103-testimonial-grid .t-quote{
  color:#475467 !important;
  font-size:13.5px !important;
  font-weight:600 !important;
  line-height:1.58 !important;
  text-align:left !important;
}


/* =====================================================
   FINAL
===================================================== */

.u103-modal-wrap .u103-final-section{
  padding:64px 48px !important;
  background:
    radial-gradient(circle at 8% 8%,rgba(20,163,112,.17),transparent 35%),
    radial-gradient(circle at 92% 92%,rgba(249,115,22,.15),transparent 38%),
    linear-gradient(135deg,#f3fcf8,#fff8f1) !important;
}

.u103-modal-wrap .u103-final-section .u101-final-headline{
  display:block !important;
  width:100% !important;
  max-width:930px !important;
  margin:16px auto 30px !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-final-section .u101-final-headline > span{
  display:block !important;
  width:100% !important;
  white-space:normal !important;
}

.u103-modal-wrap .u103-final-section .u101-final-headline em{
  display:inline !important;
  white-space:normal !important;
}

.u103-modal-wrap .u103-final-reminder{
  width:min(930px,100%) !important;
  margin:36px auto 0 !important;
}

.u103-modal-wrap .u103-final-reminder .u101-final-reminder-kicker{
  display:block !important;
  margin-bottom:18px !important;
  color:var(--u103-ink) !important;
  font-size:20px !important;
  font-weight:950 !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-final-reminder .u101-final-reminder-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:16px !important;
}

.u103-modal-wrap .u103-final-reminder .u101-final-reminder-grid > div{
  display:grid !important;
  grid-template-rows:52px minmax(48px,auto) 1fr !important;
  padding:22px 18px !important;
  border:1px solid #f0d0ba !important;
  border-radius:20px !important;
  background:#fff !important;
  box-shadow:0 13px 30px rgba(17,24,39,.055) !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-final-reminder .u101-final-reminder-grid > div:nth-child(2){
  border-color:#a8dfcb !important;
  background:#f8fdfa !important;
}

.u103-modal-wrap .u103-final-reminder .u101-final-reminder-grid > div > span{
  display:grid !important;
  place-items:center !important;
  width:48px !important;
  height:48px !important;
  margin:0 auto !important;
  border:1px solid #ffc69c !important;
  border-radius:15px !important;
  background:#fff5ed !important;
  font-size:23px !important;
}

.u103-modal-wrap .u103-final-reminder .u101-final-reminder-grid strong{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:10px 0 0 !important;
  color:var(--u103-ink) !important;
  font-size:17px !important;
  font-weight:900 !important;
  line-height:1.35 !important;
}

.u103-modal-wrap .u103-final-reminder .u101-final-reminder-grid p{
  margin:8px 0 0 !important;
  color:#667085 !important;
  font-size:13.5px !important;
  font-weight:650 !important;
  line-height:1.5 !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-final-cta{
  width:min(100%,480px) !important;
  margin:30px auto 0 !important;
}

.u103-modal-wrap .u103-final-cta > .btn{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:54px !important;
  margin-bottom:10px !important;
  padding:14px 18px !important;
  border-radius:12px !important;
  font-size:15px !important;
  font-weight:950 !important;
  text-align:center !important;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width:979.98px){

  .u103-modal-wrap .u103-top-grid{
    grid-template-columns:1fr !important;
  }

  .u103-modal-wrap .u103-automation-stage{
    grid-template-columns:1fr !important;
    width:min(650px,100%) !important;
  }

  .u103-modal-wrap .u103-reach-row{
    grid-template-columns:1fr !important;
  }

  .u103-modal-wrap .u103-reach-row > div + div{
    border-top:1px solid #e7eaee !important;
    border-left:0 !important;
  }

  .u103-modal-wrap .u103-traffic-hub{
    height:auto !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:13px !important;
  }

  .u103-modal-wrap .u103-traffic-centre,
  .u103-modal-wrap .u103-traffic-source{
    position:static !important;
    width:100% !important;
    min-height:120px !important;
    transform:none !important;
  }

  .u103-modal-wrap .u103-traffic-centre{
    grid-column:1 / -1 !important;
    order:-1 !important;
  }

  .u103-modal-wrap .u103-testimonial-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width:720px){

  .u103-modal-wrap .u103-sales-page > section,
  .u103-modal-wrap .u103-testimonials,
  .u103-modal-wrap .u103-final-section{
    padding:38px 18px !important;
  }

  .u103-modal-wrap .u103-sales-page h4,
  .u103-modal-wrap .u103-testimonials > h4{
    font-size:clamp(27px,8.2vw,37px) !important;
  }

  .u103-modal-wrap .u103-section-intro{
    width:100% !important;
    max-width:none !important;
    font-size:14.5px !important;
    line-height:1.65 !important;
  }

  .u103-modal-wrap .u103-story-box,
  .u103-modal-wrap .u103-beginner-box{
    padding:22px 20px !important;
    border-radius:20px !important;
  }

  #modalDynamic .u103-modal-wrap .u103-story-box > p,
  .modal-source .u103-modal-wrap .u103-story-box > p,
  .u103-modal-wrap .u103-story-box > p,
  .u103-modal-wrap .u103-automation-story p,
  .u103-modal-wrap .u103-growth-story p,
  .u103-modal-wrap .u103-traffic-story p,
  .u103-modal-wrap .u103-rotation-story p,
  .u103-modal-wrap .u103-beginner-box > p{
    font-size:14.5px !important;
    line-height:1.68 !important;
  }

  .u103-modal-wrap .u103-hero-pills{
    grid-template-columns:1fr !important;
  }

  .u103-modal-wrap .u103-automation-stage{
    padding:20px !important;
  }

  .u103-modal-wrap .u103-person-scene{
    width:200px !important;
    height:165px !important;
  }

  .u103-modal-wrap .u103-automation-timeline article{
    grid-template-columns:62px minmax(0,1fr) !important;
    gap:10px !important;
  }

  .u103-modal-wrap .u103-automation-timeline article > span{
    width:62px !important;
    font-size:8px !important;
  }

  .u103-modal-wrap .u103-timeline-line{
    left:30px !important;
  }

  .u103-modal-wrap .u103-traffic-hub{
    grid-template-columns:1fr !important;
  }

  .u103-modal-wrap .u103-traffic-centre{
    grid-column:auto !important;
  }

  .u103-modal-wrap .u103-banner-price{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    gap:8px !important;
  }

  .u103-modal-wrap .u103-rotation-track{
    grid-template-columns:1fr !important;
    padding-top:120px !important;
  }

  .u103-modal-wrap .u103-rotation-line{
    display:none !important;
  }

  .u103-modal-wrap .u103-rotation-list{
    width:100% !important;
    max-width:330px !important;
  }

  .u103-modal-wrap .u103-deliverables-grid{
    grid-template-columns:1fr !important;
  }

  .u103-modal-wrap .u103-deliverables-grid article{
    grid-template-columns:52px minmax(0,1fr) !important;
    min-height:0 !important;
    padding:19px !important;
  }

  .u103-modal-wrap .u103-deliverables-grid article > span{
    width:50px !important;
    height:50px !important;
    font-size:23px !important;
  }

  .u103-modal-wrap .u103-beginner-pills{
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  .u103-modal-wrap .u103-testimonial-grid{
    grid-template-columns:1fr !important;
  }

  .u103-modal-wrap .u103-final-reminder .u101-final-reminder-grid{
    grid-template-columns:1fr !important;
  }
}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width:480px){

  .u103-modal-wrap .u103-section-kicker{
    width:100% !important;
  }

  .u103-modal-wrap .u103-question-stack{
    grid-template-columns:1fr !important;
  }

  .u103-modal-wrap .u103-automation-person{
    padding:10px !important;
  }

  .u103-modal-wrap .u103-reach-heading{
    padding:22px 18px !important;
  }

  .u103-modal-wrap .u103-traffic-story h5{
    font-size:25px !important;
  }
}



/* =====================================================
   1. TRAFFIC SOURCES SECTION
===================================================== */

.u103-traffic-sources-section{
  padding:64px 48px;
  background:#fff;
  border-top:1px solid rgba(249,115,22,.16);
}

.u103-traffic-sources-section h4{
  width:min(920px,100%);
  margin:0 auto;
  text-align:center;
}

.u103-source-hub{
  position:relative;
  width:min(980px,100%);
  min-height:520px;
  margin:38px auto 0;
}

.u103-source-connector{
  position:absolute;
  background:linear-gradient(90deg,#f97316,#14a370);
  opacity:.95;
}

.u103-source-connector-top{
  top:84px;
  left:50%;
  width:2px;
  height:64px;
  transform:translateX(-50%);
}

.u103-source-connector-left{
  top:198px;
  left:240px;
  width:170px;
  height:2px;
}

.u103-source-connector-right{
  top:198px;
  right:240px;
  width:170px;
  height:2px;
}

.u103-source-connector-bottom-left{
  top:332px;
  left:292px;
  width:120px;
  height:2px;
  transform:rotate(28deg);
  transform-origin:left center;
}

.u103-source-connector-bottom-right{
  top:332px;
  right:292px;
  width:120px;
  height:2px;
  transform:rotate(-28deg);
  transform-origin:right center;
}

.u103-source-pill{
  position:absolute;
  display:grid;
  place-items:center;
  align-content:center;
  width:170px;
  min-height:92px;
  padding:16px;
  border:1px solid #f3c6a5;
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 28px rgba(17,24,39,.055);
  text-align:center;
}

.u103-source-pill span{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  margin:0 auto 10px;
  border:1px solid #ffd0af;
  border-radius:14px;
  background:#fff7f1;
  font-size:22px;
}

.u103-source-pill strong{
  color:#111827;
  font-size:16px;
  font-weight:900;
  line-height:1.3;
}

.u103-source-pill-top{
  top:0;
  left:50%;
  transform:translateX(-50%);
}

.u103-source-pill-left{
  top:120px;
  left:40px;
}

.u103-source-pill-right{
  top:120px;
  right:40px;
}

.u103-source-pill-bottom-left{
  top:360px;
  left:86px;
}

.u103-source-pill-bottom-right{
  top:360px;
  right:86px;
}

.u103-source-core{
  position:absolute;
  top:126px;
  left:50%;
  transform:translateX(-50%);
  width:320px;
  min-height:252px;
  padding:28px 26px 24px;
  border:1px solid #9ddfc4;
  border-radius:28px;
  background:linear-gradient(145deg,#effcf7 0%,#ffffff 78%);
  box-shadow:0 20px 38px rgba(20,163,112,.09);
  text-align:center;
}

.u103-source-core small{
  display:block;
  margin-bottom:10px;
  color:#f97316;
  font-size:11px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.u103-source-core h5{
  margin:0 0 14px;
  color:#0b7f5b;
  font-size:28px;
  font-weight:950;
  line-height:1.2;
}

.u103-source-core p{
  margin:0;
  color:#344054;
  font-size:16px;
  font-weight:650;
  line-height:1.7;
}

.u103-source-core-mini{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:18px;
  padding:10px 14px;
  border:1px solid #b7e5d4;
  border-radius:999px;
  background:#fff;
}

.u103-source-core-mini span{
  color:#344054;
  font-size:12px;
  font-weight:850;
  line-height:1;
}

.u103-source-core-mini em{
  width:10px;
  height:2px;
  border-radius:999px;
  background:#f97316;
}

.u103-source-close{
  width:min(760px,100%);
  margin:34px auto 0;
  padding:18px 22px;
  border:1px solid #b7e5d4;
  border-radius:16px;
  background:#effbf6;
  color:#475467;
  font-size:14.5px;
  font-weight:700;
  line-height:1.6;
  text-align:center;
}

.u103-source-close strong{
  display:block;
  margin-bottom:4px;
  color:#087652;
  font-size:15px;
  font-weight:950;
}



/* =====================================================
   3. REPEAT / GROWTH SECTION
===================================================== */

.u103-repeat-section{
  padding:64px 48px;
  background:#fff;
  border-top:1px solid rgba(20,163,112,.12);
}

.u103-repeat-section h4{
  width:min(920px,100%);
  margin:0 auto;
  text-align:center;
}

.u103-repeat-stage{
  position:relative;
  width:min(980px,100%);
  margin:38px auto 0;
  padding-top:84px;
}

.u103-repeat-topline{
  position:absolute;
  top:78px;
  left:12%;
  width:76%;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#f97316,#14a370);
}

.u103-repeat-asset{
  position:relative;
  z-index:2;
  width:min(420px,100%);
  margin:0 auto 0;
  padding:22px 24px 18px;
  border:1px solid #9edcc5;
  border-radius:24px;
  background:linear-gradient(145deg,#effcf7 0%,#ffffff 80%);
  box-shadow:0 18px 34px rgba(20,163,112,.085);
  text-align:center;
}

.u103-repeat-asset small{
  display:block;
  margin-bottom:8px;
  color:#f97316;
  font-size:10px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.u103-repeat-asset h5{
  margin:0 0 8px;
  color:#087652;
  font-size:22px;
  font-weight:950;
  line-height:1.25;
}

.u103-repeat-asset p{
  margin:0;
  color:#667085;
  font-size:13px;
  font-weight:700;
  line-height:1.55;
}

.u103-repeat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}

.u103-repeat-step{
  position:relative;
  padding:18px 16px 16px;
  border:1px solid #f0ceb7;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 26px rgba(17,24,39,.045);
  text-align:center;
}

.u103-repeat-step span{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  margin:0 auto 10px;
  border-radius:50%;
  background:#fff1e6;
  color:#d65d0b;
  font-size:11px;
  font-weight:900;
  line-height:1;
}

.u103-repeat-step small{
  display:block;
  margin-bottom:6px;
  color:#f97316;
  font-size:9.5px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.u103-repeat-step strong{
  display:block;
  color:#111827;
  font-size:15px;
  font-weight:900;
  line-height:1.35;
}

.u103-repeat-step p{
  margin:7px 0 0;
  color:#344054;
  font-size:13px;
  font-weight:650;
  line-height:1.5;
}

.u103-repeat-close{
  width:min(760px,100%);
  margin:28px auto 0;
  padding:18px 22px;
  border:1px solid #b7e5d4;
  border-radius:16px;
  background:#effbf6;
  color:#475467;
  font-size:14.5px;
  font-weight:700;
  line-height:1.6;
  text-align:center;
}

.u103-repeat-close strong{
  display:block;
  margin-bottom:4px;
  color:#087652;
  font-size:15px;
  font-weight:950;
}



/* =====================================================
   1. REACH PANEL - CENTRE ALL TEXT
===================================================== */

#modalDynamic .u103-modal-wrap .u103-reach-panel,
.modal-source .u103-modal-wrap .u103-reach-panel,
.u103-modal-wrap .u103-reach-panel{
  text-align:center !important;
}

#modalDynamic .u103-modal-wrap .u103-reach-heading,
.modal-source .u103-modal-wrap .u103-reach-heading,
.u103-modal-wrap .u103-reach-heading{
  text-align:center !important;
}

#modalDynamic .u103-modal-wrap .u103-reach-heading > span,
#modalDynamic .u103-modal-wrap .u103-reach-heading > strong,
.modal-source .u103-modal-wrap .u103-reach-heading > span,
.modal-source .u103-modal-wrap .u103-reach-heading > strong,
.u103-modal-wrap .u103-reach-heading > span,
.u103-modal-wrap .u103-reach-heading > strong{
  display:block !important;
  width:100% !important;
  text-align:center !important;
}

#modalDynamic .u103-modal-wrap .u103-reach-heading > p,
.modal-source .u103-modal-wrap .u103-reach-heading > p,
.u103-modal-wrap .u103-reach-heading > p{
  width:min(760px,100%) !important;
  max-width:760px !important;
  margin:8px auto 0 !important;
  text-align:center !important;
}

#modalDynamic .u103-modal-wrap .u103-reach-row > div,
.modal-source .u103-modal-wrap .u103-reach-row > div,
.u103-modal-wrap .u103-reach-row > div{
  text-align:center !important;
}

#modalDynamic .u103-modal-wrap .u103-reach-row span,
#modalDynamic .u103-modal-wrap .u103-reach-row small,
#modalDynamic .u103-modal-wrap .u103-reach-row strong,
.modal-source .u103-modal-wrap .u103-reach-row span,
.modal-source .u103-modal-wrap .u103-reach-row small,
.modal-source .u103-modal-wrap .u103-reach-row strong,
.u103-modal-wrap .u103-reach-row span,
.u103-modal-wrap .u103-reach-row small,
.u103-modal-wrap .u103-reach-row strong{
  display:block !important;
  width:100% !important;
  text-align:center !important;
}

#modalDynamic .u103-modal-wrap .u103-reach-row p,
.modal-source .u103-modal-wrap .u103-reach-row p,
.u103-modal-wrap .u103-reach-row p{
  width:100% !important;
  max-width:none !important;
  margin:8px auto 0 !important;
  text-align:center !important;
}

#modalDynamic .u103-modal-wrap .u103-reach-note,
.modal-source .u103-modal-wrap .u103-reach-note,
.u103-modal-wrap .u103-reach-note{
  display:block !important;
  width:100% !important;
  text-align:center !important;
}


/* =====================================================
   2. TRAFFIC HUB - FIX BOTTOM CONNECTORS
===================================================== */

.u103-modal-wrap .u103-source-connector{
  z-index:1 !important;
}

.u103-modal-wrap .u103-source-pill,
.u103-modal-wrap .u103-source-core{
  z-index:2 !important;
}

/* Centre box to Search Traffic */

#modalDynamic .u103-modal-wrap .u103-source-connector-bottom-left,
.modal-source .u103-modal-wrap .u103-source-connector-bottom-left,
.u103-modal-wrap .u103-source-connector-bottom-left{
  top:73% !important;
  left:33.6% !important;
  right:auto !important;
  width:112px !important;
  height:2px !important;
  background:linear-gradient(
    90deg,
    #14a370,
    #f97316
  ) !important;
  transform:rotate(145deg) !important;
  transform-origin:left center !important;
}

/* Centre box to Video Traffic */

#modalDynamic .u103-modal-wrap .u103-source-connector-bottom-right,
.modal-source .u103-modal-wrap .u103-source-connector-bottom-right,
.u103-modal-wrap .u103-source-connector-bottom-right{
  top:73% !important;
  left:66.4% !important;
  right:auto !important;
  width:112px !important;
  height:2px !important;
  background:linear-gradient(
    90deg,
    #14a370,
    #f97316
  ) !important;
  transform:rotate(35deg) !important;
  transform-origin:left center !important;
}




/* =====================================================
   4. REPEAT SECTION - BETTER EXPLANATION
===================================================== */

#modalDynamic .u103-modal-wrap .u103-repeat-stage,
.modal-source .u103-modal-wrap .u103-repeat-stage,
.u103-modal-wrap .u103-repeat-stage{
  width:min(980px,100%) !important;
  margin:38px auto 0 !important;
  padding-top:84px !important;
}

.u103-modal-wrap .u103-repeat-asset{
  width:min(460px,100%) !important;
  padding:22px 26px 20px !important;
}

.u103-modal-wrap .u103-repeat-asset p{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  color:#475467 !important;
  font-size:13.5px !important;
  font-weight:650 !important;
  line-height:1.55 !important;
  text-align:center !important;
}


/* Example explanation */

.u103-modal-wrap .u103-repeat-example{
  width:min(850px,100%) !important;
  margin:28px auto 0 !important;
  padding:0 0 0 20px !important;
  border-left:4px solid #f97316 !important;
  text-align:left !important;
}

.u103-modal-wrap .u103-repeat-example strong{
  display:block !important;
  margin-bottom:7px !important;
  color:#111827 !important;
  font-size:16px !important;
  font-weight:950 !important;
  line-height:1.4 !important;
}

.u103-modal-wrap .u103-repeat-example span{
  display:block !important;
  color:#475467 !important;
  font-size:14.5px !important;
  font-weight:650 !important;
  line-height:1.65 !important;
}


/* Cards */

#modalDynamic .u103-modal-wrap .u103-repeat-grid,
.modal-source .u103-modal-wrap .u103-repeat-grid,
.u103-modal-wrap .u103-repeat-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  align-items:stretch !important;
  gap:14px !important;
  margin-top:30px !important;
}

.u103-modal-wrap .u103-repeat-step{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  min-height:230px !important;
  padding:20px 17px !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-repeat-step small{
  min-height:26px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.u103-modal-wrap .u103-repeat-step strong{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:45px !important;
  margin-top:3px !important;
  font-size:16px !important;
  line-height:1.3 !important;
}

#modalDynamic .u103-modal-wrap .u103-repeat-step p,
.modal-source .u103-modal-wrap .u103-repeat-step p,
.u103-modal-wrap .u103-repeat-step p{
  width:100% !important;
  max-width:none !important;
  margin:8px 0 0 !important;
  color:#475467 !important;
  font-size:13px !important;
  font-weight:600 !important;
  line-height:1.55 !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-repeat-step-winner{
  border-color:#9edcc5 !important;
  background:
    linear-gradient(
      145deg,
      #effbf6 0%,
      #ffffff 82%
    ) !important;
}

.u103-modal-wrap .u103-repeat-step-winner > span{
  background:#dcfce7 !important;
  color:#087652 !important;
}

.u103-modal-wrap .u103-repeat-step-winner small{
  color:#087652 !important;
}


/* Stronger final repeat callout */

#modalDynamic .u103-modal-wrap .u103-repeat-close,
.modal-source .u103-modal-wrap .u103-repeat-close,
.u103-modal-wrap .u103-repeat-close{
  width:min(820px,100%) !important;
  margin:30px auto 0 !important;
  padding:19px 22px !important;
}

.u103-modal-wrap .u103-repeat-close strong{
  margin-bottom:6px !important;
  font-size:16px !important;
}





/* =====================================================
   U103 CENTRE CTA
   Uses the approved U101/U102 .u101-full-cta shell.
   Do not add a separate background here.
===================================================== */

#modalDynamic .u103-modal-wrap .u103-mid-cta.u101-full-cta,
.modal-source .u103-modal-wrap .u103-mid-cta.u101-full-cta,
.u103-modal-wrap .u103-mid-cta.u101-full-cta,
#modalDynamic .u103-mid-cta.u101-full-cta,
.modal-source .u103-mid-cta.u101-full-cta{
  position:relative !important;
  overflow:hidden !important;
  text-align:center !important;
}

#modalDynamic .u103-modal-wrap .u103-mid-cta > h4,
.modal-source .u103-modal-wrap .u103-mid-cta > h4,
.u103-modal-wrap .u103-mid-cta > h4{
  width:min(930px,100%) !important;
  margin:16px auto 0 !important;
  text-align:center !important;
}

#modalDynamic .u103-modal-wrap .u103-mid-cta > p,
.modal-source .u103-modal-wrap .u103-mid-cta > p,
.u103-modal-wrap .u103-mid-cta > p{
  display:block !important;
  width:min(820px,100%) !important;
  max-width:820px !important;
  margin:17px auto 0 !important;
  color:#667085 !important;
  font-family:inherit !important;
  font-size:16px !important;
  font-weight:650 !important;
  line-height:1.7 !important;
  text-align:center !important;
}


/* =====================================================
   U103 FOLLOW-UP MACHINE MOCKUP
===================================================== */

.u103-modal-wrap .u103-followup-mockup{
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr) !important;
  align-items:center !important;
  gap:18px !important;
  width:min(100%,640px) !important;
  margin:28px auto 8px !important;
  padding:38px 0 18px !important;
  isolation:isolate !important;
}

.u103-modal-wrap .u103-followup-mockup__glow{
  position:absolute !important;
  left:50% !important;
  bottom:2px !important;
  z-index:0 !important;
  width:78% !important;
  height:54px !important;
  border-radius:50% !important;
  background:rgba(15,138,102,.15) !important;
  filter:blur(22px) !important;
  transform:translateX(-50%) !important;
  pointer-events:none !important;
}


/* =====================================================
   LEFT - LEAD CAPTURE PAGE
===================================================== */

.u103-modal-wrap .u103-followup-mockup__capture{
  position:relative !important;
  z-index:2 !important;
  min-width:0 !important;
  min-height:264px !important;
  overflow:hidden !important;
  border:1.5px solid rgba(243,147,74,.46) !important;
  border-radius:21px !important;
  background:#fff !important;
  box-shadow:
    0 20px 38px rgba(16,24,40,.10),
    0 4px 12px rgba(249,115,22,.05) !important;
}

.u103-modal-wrap .u103-followup-mockup__browser{
  display:flex !important;
  align-items:center !important;
  gap:5px !important;
  height:34px !important;
  padding:0 12px !important;
  border-bottom:1px solid #e8edf2 !important;
  background:#f3f5f7 !important;
}

.u103-modal-wrap .u103-followup-mockup__browser span{
  display:block !important;
  width:6px !important;
  height:6px !important;
  border-radius:50% !important;
  background:#cbd5df !important;
}

.u103-modal-wrap .u103-followup-mockup__capture-body{
  padding:27px 20px 20px !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-followup-mockup__label{
  display:block !important;
  margin-bottom:9px !important;
  color:#d96f10 !important;
  font-size:8px !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}

.u103-modal-wrap .u103-followup-mockup__capture-body > strong{
  display:block !important;
  color:#172033 !important;
  font-size:16px !important;
  font-weight:950 !important;
  line-height:1.3 !important;
}

#modalDynamic .u103-modal-wrap .u103-followup-mockup__capture-body > p,
.modal-source .u103-modal-wrap .u103-followup-mockup__capture-body > p,
.u103-modal-wrap .u103-followup-mockup__capture-body > p{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:8px auto 15px !important;
  color:#667085 !important;
  font-size:10px !important;
  font-weight:600 !important;
  line-height:1.45 !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-followup-mockup__field{
  display:flex !important;
  align-items:center !important;
  min-height:36px !important;
  margin-bottom:9px !important;
  padding:0 11px !important;
  border:1px solid #dce2e8 !important;
  border-radius:9px !important;
  background:#fafbfc !important;
  color:#98a2b3 !important;
  font-size:9px !important;
  font-weight:650 !important;
  text-align:left !important;
}

.u103-modal-wrap .u103-followup-mockup__button{
  display:grid !important;
  place-items:center !important;
  min-height:38px !important;
  border-radius:9px !important;
  background:linear-gradient(135deg,#fb923c,#f97316) !important;
  color:#fff !important;
  box-shadow:0 9px 18px rgba(249,115,22,.15) !important;
  font-size:9px !important;
  font-weight:950 !important;
}


/* =====================================================
   CONNECTION
===================================================== */

.u103-modal-wrap .u103-followup-mockup__connection{
  position:relative !important;
  z-index:3 !important;
  display:grid !important;
  justify-items:center !important;
  gap:6px !important;
}

.u103-modal-wrap .u103-followup-mockup__connection > span{
  display:grid !important;
  place-items:center !important;
  width:40px !important;
  height:40px !important;
  border:1px solid #9edcc5 !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#087652 !important;
  box-shadow:0 9px 19px rgba(20,163,112,.09) !important;
  font-size:18px !important;
  font-weight:950 !important;
}

.u103-modal-wrap .u103-followup-mockup__connection > small{
  color:#087652 !important;
  font-size:7px !important;
  font-weight:950 !important;
  line-height:1.15 !important;
  text-align:center !important;
  text-transform:uppercase !important;
}


/* =====================================================
   RIGHT - AWEBER AUTOMATION
===================================================== */

.u103-modal-wrap .u103-followup-mockup__automation{
  position:relative !important;
  z-index:2 !important;
  min-width:0 !important;
  min-height:264px !important;
  padding:25px 15px 15px !important;
  border:1.5px solid rgba(61,184,133,.44) !important;
  border-radius:21px !important;
  background:#fff !important;
  box-shadow:
    0 20px 38px rgba(16,24,40,.10),
    0 4px 12px rgba(20,163,112,.05) !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-followup-mockup__status{
  position:absolute !important;
  top:-11px !important;
  left:50% !important;
  z-index:4 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:23px !important;
  padding:4px 9px !important;
  border:1px solid #b6e2d1 !important;
  border-radius:999px !important;
  background:#eaf9f3 !important;
  color:#087652 !important;
  font-size:7px !important;
  font-weight:950 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  text-transform:uppercase !important;
  transform:translateX(-50%) !important;
}

.u103-modal-wrap .u103-followup-mockup__automation > small{
  display:block !important;
  margin-bottom:5px !important;
  color:#667085 !important;
  font-size:7.5px !important;
  font-weight:850 !important;
  text-transform:uppercase !important;
}

.u103-modal-wrap .u103-followup-mockup__automation > strong{
  display:block !important;
  margin-bottom:12px !important;
  color:#087652 !important;
  font-size:15px !important;
  font-weight:950 !important;
}

.u103-modal-wrap .u103-followup-mockup__email{
  display:grid !important;
  grid-template-columns:45px minmax(0,1fr) !important;
  align-items:center !important;
  gap:7px !important;
  min-height:36px !important;
  padding:7px 8px !important;
  border:1px solid #dce2e8 !important;
  border-radius:9px !important;
  background:#fafbfc !important;
}

.u103-modal-wrap .u103-followup-mockup__email + .u103-followup-mockup__email{
  margin-top:7px !important;
}

.u103-modal-wrap .u103-followup-mockup__email > span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:20px !important;
  padding:3px 5px !important;
  border-radius:999px !important;
  background:#fff1e6 !important;
  color:#d65d0b !important;
  font-size:6.5px !important;
  font-weight:950 !important;
  white-space:nowrap !important;
}

.u103-modal-wrap .u103-followup-mockup__email > b{
  color:#172033 !important;
  font-size:8.5px !important;
  font-weight:850 !important;
  line-height:1.25 !important;
  text-align:left !important;
}


/* =====================================================
   FLOATING PRODUCT BADGES
===================================================== */

.u103-modal-wrap .u103-followup-mockup__badge{
  position:absolute !important;
  z-index:6 !important;
  display:grid !important;
  grid-template-columns:30px minmax(0,1fr) !important;
  align-items:center !important;
  gap:7px !important;
  min-width:120px !important;
  padding:7px 9px !important;
  border-radius:13px !important;
  background:#fff !important;
  box-shadow:0 11px 23px rgba(16,24,40,.08) !important;
  text-align:left !important;
}

.u103-modal-wrap .u103-followup-mockup__badge--lead{
  top:16px !important;
  left:-14px !important;
  border:1px solid rgba(243,147,74,.38) !important;
}

.u103-modal-wrap .u103-followup-mockup__badge--scheduled{
  top:58px !important;
  right:-10px !important;
  border:1px solid rgba(61,184,133,.38) !important;
}

.u103-modal-wrap .u103-followup-mockup__badge > span{
  display:grid !important;
  place-items:center !important;
  width:30px !important;
  height:30px !important;
  border-radius:10px !important;
  background:#eef9f4 !important;
  color:#0b7f5b !important;
  font-size:14px !important;
  font-weight:950 !important;
}

.u103-modal-wrap .u103-followup-mockup__badge small{
  display:block !important;
  margin-bottom:1px !important;
  color:#98a2b3 !important;
  font-size:6px !important;
  font-weight:850 !important;
  line-height:1.1 !important;
  text-transform:uppercase !important;
}

.u103-modal-wrap .u103-followup-mockup__badge strong{
  display:block !important;
  color:#344054 !important;
  font-size:8px !important;
  font-weight:950 !important;
  line-height:1.2 !important;
}


/* =====================================================
   MESSAGE + CTA
===================================================== */

.u103-modal-wrap .u103-followup-mockup__message{
  display:block !important;
  width:max-content !important;
  max-width:100% !important;
  margin:2px auto 17px !important;
  padding:8px 14px !important;
  border:1px solid #9edcc5 !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.83) !important;
  color:#475467 !important;
  font-size:10px !important;
  font-weight:650 !important;
  line-height:1.4 !important;
  text-align:center !important;
}

.u103-modal-wrap .u103-followup-mockup__message strong{
  color:#087652 !important;
  font-weight:950 !important;
}

.u103-modal-wrap .u103-mid-cta .u101-cta-box{
  width:min(100%,480px) !important;
  margin:0 auto !important;
}

.u103-modal-wrap .u103-mid-cta .u101-cta-box > .btn{
  width:100% !important;
  margin-bottom:10px !important;
}


/* =====================================================
   U103 TARGETED RESPONSIVE
===================================================== */

@media (max-width:979.98px){

  .u103-traffic-sources-section,
  .u103-repeat-section{
    padding:48px 28px !important;
  }

  .u103-source-hub{
    min-height:auto !important;
    display:grid !important;
    gap:16px !important;
  }

  .u103-source-connector{
    display:none !important;
  }

  .u103-source-pill,
  .u103-source-core{
    position:relative !important;
    inset:auto !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    width:100% !important;
    max-width:none !important;
    transform:none !important;
  }

  .u103-source-core{
    order:1 !important;
  }

  .u103-source-pill-top{
    order:2 !important;
  }

  .u103-source-pill-left{
    order:3 !important;
  }

  .u103-source-pill-right{
    order:4 !important;
  }

  .u103-source-pill-bottom-left{
    order:5 !important;
  }

  .u103-source-pill-bottom-right{
    order:6 !important;
  }

  #modalDynamic .u103-modal-wrap .u103-repeat-stage,
  .modal-source .u103-modal-wrap .u103-repeat-stage,
  .u103-modal-wrap .u103-repeat-stage{
    padding-top:0 !important;
  }

  .u103-repeat-topline{
    display:none !important;
  }

  #modalDynamic .u103-modal-wrap .u103-repeat-grid,
  .modal-source .u103-modal-wrap .u103-repeat-grid,
  .u103-modal-wrap .u103-repeat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:720px){

  .u103-traffic-sources-section,
  .u103-repeat-section{
    padding:38px 18px !important;
  }

  #modalDynamic .u103-modal-wrap .u103-mid-cta > p,
  .modal-source .u103-modal-wrap .u103-mid-cta > p,
  .u103-modal-wrap .u103-mid-cta > p{
    width:100% !important;
    max-width:none !important;
    font-size:14.5px !important;
    line-height:1.65 !important;
  }

  .u103-modal-wrap .u103-followup-mockup{
    grid-template-columns:1fr !important;
    width:min(100%,390px) !important;
    gap:14px !important;
    margin:24px auto 8px !important;
    padding:22px 0 10px !important;
  }

  .u103-modal-wrap .u103-followup-mockup__connection > span{
    transform:rotate(90deg) !important;
  }

  .u103-modal-wrap .u103-followup-mockup__badge{
    display:none !important;
  }

  .u103-modal-wrap .u103-followup-mockup__capture,
  .u103-modal-wrap .u103-followup-mockup__automation{
    min-height:0 !important;
  }

  .u103-modal-wrap .u103-followup-mockup__message{
    width:100% !important;
    padding:10px 13px !important;
    border-radius:13px !important;
  }

  .u103-source-core{
    padding:22px 18px !important;
    border-radius:22px !important;
  }

  .u103-source-core h5{
    font-size:24px !important;
  }

  .u103-source-core p{
    font-size:14.5px !important;
  }

  .u103-source-pill{
    min-height:0 !important;
    padding:16px !important;
    border-radius:18px !important;
  }

  .u103-modal-wrap .u103-repeat-example{
    margin-top:22px !important;
    padding-left:16px !important;
  }

  .u103-modal-wrap .u103-repeat-example strong{
    font-size:15px !important;
  }

  .u103-modal-wrap .u103-repeat-example span{
    font-size:13.5px !important;
  }

  #modalDynamic .u103-modal-wrap .u103-repeat-grid,
  .modal-source .u103-modal-wrap .u103-repeat-grid,
  .u103-modal-wrap .u103-repeat-grid{
    grid-template-columns:1fr !important;
  }

  .u103-modal-wrap .u103-repeat-step{
    min-height:0 !important;
  }
}

/* =====================================================
   U103 POLISH ROUND
   1. Mid CTA badges / message
   2. Growing subscriber list
   3. Final headline
   4. Final price / CTA
===================================================== */


/* =====================================================
   1. MID CTA - FOLLOW-UP BADGES
===================================================== */

/* Keep the mockup itself as the positioning parent */
#modalDynamic .u103-modal-wrap .u103-followup-mockup,
.modal-source .u103-modal-wrap .u103-followup-mockup,
.u103-modal-wrap .u103-followup-mockup{
  position:relative !important;
}


/* Shared floating badge styling */
#modalDynamic .u103-modal-wrap .u103-followup-mockup__badge,
.modal-source .u103-modal-wrap .u103-followup-mockup__badge,
.u103-modal-wrap .u103-followup-mockup__badge{
  position:absolute !important;
  z-index:20 !important;

  display:flex !important;
  align-items:center !important;
  gap:9px !important;

  width:auto !important;
  min-width:132px !important;
  min-height:48px !important;

  padding:9px 13px !important;

  border:1px solid rgba(20,163,112,.28) !important;
  border-radius:13px !important;

  background:rgba(255,255,255,.97) !important;

  box-shadow:
    0 12px 26px rgba(15,23,42,.10),
    0 3px 8px rgba(15,23,42,.04) !important;

  text-align:left !important;
}


/* Badge icon */
#modalDynamic .u103-modal-wrap .u103-followup-mockup__badge > span,
.modal-source .u103-modal-wrap .u103-followup-mockup__badge > span,
.u103-modal-wrap .u103-followup-mockup__badge > span{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:31px !important;
  height:31px !important;
  flex:0 0 31px !important;

  margin:0 !important;

  border-radius:9px !important;

  background:#eefaf5 !important;
  color:#07835d !important;

  font-size:15px !important;
  font-weight:950 !important;
  line-height:1 !important;
}


/* Badge label */
#modalDynamic .u103-modal-wrap .u103-followup-mockup__badge small,
.modal-source .u103-modal-wrap .u103-followup-mockup__badge small,
.u103-modal-wrap .u103-followup-mockup__badge small{
  display:block !important;

  margin:0 0 2px !important;

  color:#667085 !important;

  font-size:9px !important;
  font-weight:850 !important;
  line-height:1.1 !important;
  letter-spacing:.025em !important;

  text-align:left !important;
}


/* Badge main text */
#modalDynamic .u103-modal-wrap .u103-followup-mockup__badge strong,
.modal-source .u103-modal-wrap .u103-followup-mockup__badge strong,
.u103-modal-wrap .u103-followup-mockup__badge strong{
  display:block !important;

  margin:0 !important;

  color:#111827 !important;

  font-size:11px !important;
  font-weight:950 !important;
  line-height:1.1 !important;

  text-align:left !important;
}


/* New lead badge */
#modalDynamic .u103-modal-wrap .u103-followup-mockup__badge--lead,
.modal-source .u103-modal-wrap .u103-followup-mockup__badge--lead,
.u103-modal-wrap .u103-followup-mockup__badge--lead{
  top:-22px !important;
  left:-15px !important;
}


/* Follow-up badge */
#modalDynamic .u103-modal-wrap .u103-followup-mockup__badge--scheduled,
.modal-source .u103-modal-wrap .u103-followup-mockup__badge--scheduled,
.u103-modal-wrap .u103-followup-mockup__badge--scheduled{
  top:-22px !important;
  right:-14px !important;

  min-width:150px !important;
}


/* Bigger conclusion pill */
#modalDynamic .u103-modal-wrap .u103-followup-mockup__message,
.modal-source .u103-modal-wrap .u103-followup-mockup__message,
.u103-modal-wrap .u103-followup-mockup__message{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;

  width:min(760px,92%) !important;
  min-height:48px !important;

  margin:26px auto 18px !important;
  padding:12px 22px !important;

  border:1px solid rgba(20,163,112,.34) !important;
  border-radius:999px !important;


  background:rgba(255,255,255,.90) !important;

  box-shadow:0 10px 24px rgba(15,23,42,.055) !important;

  color:#475467 !important;

  font-family:inherit !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.45 !important;

  text-align:center !important;
}


/* Strong first sentence */
#modalDynamic .u103-modal-wrap .u103-followup-mockup__message strong,
.modal-source .u103-modal-wrap .u103-followup-mockup__message strong,
.u103-modal-wrap .u103-followup-mockup__message strong{
  margin-right:5px !important;

  color:#087652 !important;

  font-size:13px !important;
  font-weight:950 !important;
}


/* =====================================================
   2. GROWING SUBSCRIBER LIST / ROTATION STAGE
===================================================== */

#modalDynamic .u103-modal-wrap .u103-repeat-stage,
.modal-source .u103-modal-wrap .u103-repeat-stage,
.u103-modal-wrap .u103-repeat-stage{
  position:relative !important;

  width:min(1020px,100%) !important;

  margin:42px auto 0 !important;
  padding:42px 34px 34px !important;

  border:1px solid rgba(20,163,112,.16) !important;
  border-radius:28px !important;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(20,163,112,.10),
      transparent 34%
    ),
    linear-gradient(
      180deg,
      #fbfffd 0%,
      #ffffff 55%,
      #fffaf6 100%
    ) !important;

  box-shadow:0 22px 48px rgba(15,23,42,.065) !important;
}


/* Remove old loose line */
#modalDynamic .u103-modal-wrap .u103-repeat-topline,
.modal-source .u103-modal-wrap .u103-repeat-topline,
.u103-modal-wrap .u103-repeat-topline{
  display:none !important;
}


/* Subscriber asset becomes the hero of this section */
#modalDynamic .u103-modal-wrap .u103-repeat-asset,
.modal-source .u103-modal-wrap .u103-repeat-asset,
.u103-modal-wrap .u103-repeat-asset{
  position:relative !important;

  width:min(610px,100%) !important;

  margin:0 auto !important;
  padding:25px 30px 27px !important;

  border:1px solid rgba(20,163,112,.32) !important;
  border-radius:22px !important;

  background:
    linear-gradient(
      135deg,
      #ecfbf5,
      #ffffff
    ) !important;

  box-shadow:
    0 16px 32px rgba(20,163,112,.08),
    0 4px 12px rgba(15,23,42,.04) !important;

  text-align:center !important;
}


/* Asset label */
#modalDynamic .u103-modal-wrap .u103-repeat-asset small,
.modal-source .u103-modal-wrap .u103-repeat-asset small,
.u103-modal-wrap .u103-repeat-asset small{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  min-height:25px !important;

  margin:0 auto 9px !important;
  padding:5px 11px !important;

  border-radius:999px !important;

  background:#fff7ed !important;
  color:#ea580c !important;

  font-size:9px !important;
  font-weight:950 !important;
  line-height:1 !important;
  letter-spacing:.055em !important;
  text-transform:uppercase !important;
}


/* Asset title */
#modalDynamic .u103-modal-wrap .u103-repeat-asset h5,
.modal-source .u103-modal-wrap .u103-repeat-asset h5,
.u103-modal-wrap .u103-repeat-asset h5{
  margin:0 0 9px !important;

  color:#087652 !important;

  font-family:inherit !important;
  font-size:25px !important;
  font-weight:950 !important;
  line-height:1.15 !important;

  text-align:center !important;
}


/* Asset explanation */
#modalDynamic .u103-modal-wrap .u103-repeat-asset p,
.modal-source .u103-modal-wrap .u103-repeat-asset p,
.u103-modal-wrap .u103-repeat-asset p{
  width:min(500px,100%) !important;

  margin:0 auto !important;

  color:#475467 !important;

  font-size:14px !important;
  font-weight:650 !important;
  line-height:1.6 !important;

  text-align:center !important;
}


/* Example explanation becomes a premium callout */
#modalDynamic .u103-modal-wrap .u103-repeat-example,
.modal-source .u103-modal-wrap .u103-repeat-example,
.u103-modal-wrap .u103-repeat-example{
  position:relative !important;

  width:min(880px,100%) !important;

  margin:28px auto 0 !important;
  padding:21px 24px 21px 26px !important;

  border:1px solid rgba(249,115,22,.20) !important;
  border-left:5px solid #f97316 !important;
  border-radius:16px !important;

  background:#fff !important;

  box-shadow:0 11px 24px rgba(15,23,42,.045) !important;

  text-align:left !important;
}


#modalDynamic .u103-modal-wrap .u103-repeat-example strong,
.modal-source .u103-modal-wrap .u103-repeat-example strong,
.u103-modal-wrap .u103-repeat-example strong{
  display:block !important;

  margin:0 0 7px !important;

  color:#111827 !important;

  font-size:16px !important;
  font-weight:950 !important;
  line-height:1.3 !important;
}


#modalDynamic .u103-modal-wrap .u103-repeat-example span,
.modal-source .u103-modal-wrap .u103-repeat-example span,
.u103-modal-wrap .u103-repeat-example span{
  display:block !important;

  color:#475467 !important;

  font-size:14.5px !important;
  font-weight:650 !important;
  line-height:1.65 !important;
}


/* Four-step journey */
#modalDynamic .u103-modal-wrap .u103-repeat-grid,
.modal-source .u103-modal-wrap .u103-repeat-grid,
.u103-modal-wrap .u103-repeat-grid{
  position:relative !important;

  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  align-items:stretch !important;

  gap:14px !important;

  width:100% !important;

  margin:30px auto 0 !important;
}


/* Individual cards */
#modalDynamic .u103-modal-wrap .u103-repeat-step,
.modal-source .u103-modal-wrap .u103-repeat-step,
.u103-modal-wrap .u103-repeat-step{
  position:relative !important;

  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;

  min-height:250px !important;

  padding:22px 18px !important;

  border:1px solid rgba(249,115,22,.27) !important;
  border-radius:20px !important;

  background:#fff !important;

  box-shadow:0 12px 26px rgba(15,23,42,.045) !important;

  text-align:center !important;
}


/* Number */
#modalDynamic .u103-modal-wrap .u103-repeat-step > span,
.modal-source .u103-modal-wrap .u103-repeat-step > span,
.u103-modal-wrap .u103-repeat-step > span{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:35px !important;
  height:35px !important;

  margin:0 auto 16px !important;

  border-radius:50% !important;

  background:#fff1e8 !important;
  color:#ea580c !important;

  font-size:10px !important;
  font-weight:950 !important;
}


/* Small step label */
#modalDynamic .u103-modal-wrap .u103-repeat-step small,
.modal-source .u103-modal-wrap .u103-repeat-step small,
.u103-modal-wrap .u103-repeat-step small{
  display:block !important;

  min-height:31px !important;
  margin:0 0 11px !important;

  color:#ea580c !important;

  font-size:9px !important;
  font-weight:950 !important;
  line-height:1.3 !important;
  letter-spacing:.045em !important;

  text-transform:uppercase !important;
}


/* Card title */
#modalDynamic .u103-modal-wrap .u103-repeat-step strong,
.modal-source .u103-modal-wrap .u103-repeat-step strong,
.u103-modal-wrap .u103-repeat-step strong{
  display:block !important;

  min-height:48px !important;

  margin:0 0 12px !important;

  color:#111827 !important;

  font-size:16px !important;
  font-weight:950 !important;
  line-height:1.3 !important;

  text-align:center !important;
}


/* Card description */
#modalDynamic .u103-modal-wrap .u103-repeat-step p,
.modal-source .u103-modal-wrap .u103-repeat-step p,
.u103-modal-wrap .u103-repeat-step p{
  margin:auto 0 0 !important;

  color:#5f6877 !important;

  font-size:13px !important;
  font-weight:650 !important;
  line-height:1.55 !important;

  text-align:center !important;
}


/* Winning final step */
#modalDynamic .u103-modal-wrap .u103-repeat-step-winner,
.modal-source .u103-modal-wrap .u103-repeat-step-winner,
.u103-modal-wrap .u103-repeat-step-winner{
  border-color:rgba(20,163,112,.35) !important;

  background:
    linear-gradient(
      180deg,
      #effbf6,
      #ffffff
    ) !important;

  box-shadow:0 14px 30px rgba(20,163,112,.075) !important;
}


#modalDynamic .u103-modal-wrap .u103-repeat-step-winner > span,
.modal-source .u103-modal-wrap .u103-repeat-step-winner > span,
.u103-modal-wrap .u103-repeat-step-winner > span{
  background:#dcfce7 !important;
  color:#087652 !important;
}


#modalDynamic .u103-modal-wrap .u103-repeat-step-winner small,
.modal-source .u103-modal-wrap .u103-repeat-step-winner small,
.u103-modal-wrap .u103-repeat-step-winner small{
  color:#087652 !important;
}


/* =====================================================
   3. FINAL SECTION HEADLINE
===================================================== */

/* Kicker - match the premium U101/U102 final banners */
#modalDynamic .u103-modal-wrap .u103-final-section > .u101-serious-kicker,
.modal-source .u103-modal-wrap .u103-final-section > .u101-serious-kicker,
.u103-modal-wrap .u103-final-section > .u101-serious-kicker{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:max-content !important;
  max-width:100% !important;

  margin:0 auto 19px !important;
  padding:7px 14px !important;

  border:1px solid rgba(249,115,22,.34) !important;
  border-radius:999px !important;

  background:#fff7ed !important;
  color:#c2410c !important;

  font-family:inherit !important;
  font-size:10px !important;
  font-weight:950 !important;
  line-height:1.15 !important;
  letter-spacing:.025em !important;

  text-align:center !important;
}


/* Main final headline */
#modalDynamic .u103-modal-wrap .u103-final-section > h4.u101-final-headline,
.modal-source .u103-modal-wrap .u103-final-section > h4.u101-final-headline,
.u103-modal-wrap .u103-final-section > h4.u101-final-headline{
  display:block !important;

  width:min(940px,100%) !important;
  max-width:940px !important;

  margin:0 auto 30px !important;

  color:#0b0f0e !important;

  font-family:inherit !important;
  font-size:clamp(34px,4.2vw,48px) !important;
  font-weight:950 !important;
  line-height:1.03 !important;
  letter-spacing:-.035em !important;

  text-align:center !important;
}


/* Force intended two-line structure */
#modalDynamic .u103-modal-wrap .u103-final-section > h4.u101-final-headline > span,
.modal-source .u103-modal-wrap .u103-final-section > h4.u101-final-headline > span,
.u103-modal-wrap .u103-final-section > h4.u101-final-headline > span{
  display:block !important;
  width:100% !important;
}


/* Second line */
#modalDynamic .u103-modal-wrap .u103-final-section .u101-final-headline-line,
.modal-source .u103-modal-wrap .u103-final-section .u101-final-headline-line,
.u103-modal-wrap .u103-final-section .u101-final-headline-line{
  margin-top:3px !important;
}


/* Keep highlighted ending inline */
#modalDynamic .u103-modal-wrap .u103-final-section .u101-final-headline-line .dfy-pen-underline,
.modal-source .u103-modal-wrap .u103-final-section .u101-final-headline-line .dfy-pen-underline,
.u103-modal-wrap .u103-final-section .u101-final-headline-line .dfy-pen-underline{
  display:inline !important;
  width:auto !important;

  margin:0 !important;
  padding:0 .02em .04em !important;

  white-space:nowrap !important;

  color:#07835d !important;
}


/* =====================================================
   U103 FINAL PRICE + CTA
   Match approved U102 final CTA
===================================================== */

#modalDynamic .u103-modal-wrap .u103-final-section .u103-final-cta,
.modal-source .u103-modal-wrap .u103-final-section .u103-final-cta,
.u103-modal-wrap .u103-final-section .u103-final-cta{
  display:block !important;

  width:min(520px,100%) !important;
  max-width:520px !important;

  margin:30px auto 0 !important;
  padding:0 !important;

  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;

  text-align:center !important;
}


/* =====================================================
   PRICE BAR
===================================================== */

#modalDynamic .u103-modal-wrap .u103-final-price,
.modal-source .u103-modal-wrap .u103-final-price,
.u103-modal-wrap .u103-final-price{
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  align-items:center !important;

  width:100% !important;
  max-width:520px !important;

  min-height:61px !important;

  margin:0 auto 14px !important;
  padding:10px 14px !important;

  border:1px solid rgba(20,163,112,.25) !important;
  border-radius:16px !important;

  background:rgba(255,255,255,.93) !important;

  box-shadow:
    0 12px 28px rgba(15,23,42,.055),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
}


/* =====================================================
   LIMITED-TIME PILL
===================================================== */

#modalDynamic .u103-modal-wrap .u103-banner-price-badge,
.modal-source .u103-modal-wrap .u103-banner-price-badge,
.u103-modal-wrap .u103-banner-price-badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:max-content !important;

  margin:0 !important;
  padding:7px 11px !important;

  border:1px solid rgba(249,115,22,.35) !important;
  border-radius:999px !important;

  background:#fff7ed !important;
  color:#c2410c !important;

  font-family:inherit !important;
  font-size:9px !important;
  font-weight:950 !important;
  line-height:1 !important;
  letter-spacing:.02em !important;

  text-transform:uppercase !important;
}


/* =====================================================
   CENTRE PRICE
===================================================== */

#modalDynamic .u103-modal-wrap .u103-banner-price-main,
.modal-source .u103-modal-wrap .u103-banner-price-main,
.u103-modal-wrap .u103-banner-price-main{
  display:flex !important;
  align-items:baseline !important;
  justify-content:center !important;

  gap:7px !important;

  width:auto !important;

  margin:0 !important;
}


/* "Only" */
#modalDynamic .u103-modal-wrap .u103-banner-price-main span,
.modal-source .u103-modal-wrap .u103-banner-price-main span,
.u103-modal-wrap .u103-banner-price-main span{
  color:#667085 !important;

  font-family:inherit !important;
  font-size:12px !important;
  font-weight:850 !important;
  line-height:1 !important;
}


/* $47 */
#modalDynamic .u103-modal-wrap .u103-banner-price-main strong,
.modal-source .u103-modal-wrap .u103-banner-price-main strong,
.u103-modal-wrap .u103-banner-price-main strong{
  color:#07835d !important;

  font-family:inherit !important;
  font-size:34px !important;
  font-weight:950 !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
}


/* Old $97 */
#modalDynamic .u103-modal-wrap .u103-banner-price-main s,
.modal-source .u103-modal-wrap .u103-banner-price-main s,
.u103-modal-wrap .u103-banner-price-main s{
  color:#98a2b3 !important;

  font-family:inherit !important;
  font-size:13px !important;
  font-weight:850 !important;
  line-height:1 !important;

  text-decoration:line-through !important;
}


/* =====================================================
   SAVE PILL
===================================================== */

#modalDynamic .u103-modal-wrap .u103-banner-price-save,
.modal-source .u103-modal-wrap .u103-banner-price-save,
.u103-modal-wrap .u103-banner-price-save{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:max-content !important;

  margin:0 !important;
  padding:7px 11px !important;

  border:1px solid rgba(20,163,112,.28) !important;
  border-radius:999px !important;

  background:#eefaf5 !important;
  color:#087652 !important;

  font-family:inherit !important;
  font-size:9px !important;
  font-weight:950 !important;
  line-height:1 !important;
}


/* =====================================================
   GREEN CTA BUTTON
===================================================== */

#modalDynamic .u103-modal-wrap .u103-final-cta > .btn,
.modal-source .u103-modal-wrap .u103-final-cta > .btn,
.u103-modal-wrap .u103-final-cta > .btn{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:100% !important;
  max-width:520px !important;
  min-height:54px !important;

  margin:0 auto 13px !important;
  padding:15px 20px !important;

  border:0 !important;
  border-radius:13px !important;

  background:#11976f !important;
  color:#fff !important;

  font-family:inherit !important;
  font-size:16px !important;
  font-weight:950 !important;
  line-height:1.15 !important;

  text-align:center !important;
  text-decoration:none !important;

  box-shadow:
    0 16px 30px rgba(17,151,111,.22),
    0 4px 10px rgba(15,23,42,.05) !important;
}


/* =====================================================
   AI + GUARANTEE
===================================================== */

#modalDynamic .u103-modal-wrap .u103-final-cta > .u101-cta-meta,
.modal-source .u103-modal-wrap .u103-final-cta > .u101-cta-meta,
.u103-modal-wrap .u103-final-cta > .u101-cta-meta{
  display:block !important;

  width:100% !important;

  margin:0 auto 2px !important;

  color:#667085 !important;

  font-family:inherit !important;
  font-size:12px !important;
  font-weight:750 !important;
  line-height:1.35 !important;

  text-align:center !important;
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width:600px){

  #modalDynamic .u103-modal-wrap .u103-final-price,
  .modal-source .u103-modal-wrap .u103-final-price,
  .u103-modal-wrap .u103-final-price{
    grid-template-columns:auto 1fr auto !important;

    min-height:56px !important;

    padding:9px 10px !important;
  }


  #modalDynamic .u103-modal-wrap .u103-banner-price-badge,
  .modal-source .u103-modal-wrap .u103-banner-price-badge,
  .u103-modal-wrap .u103-banner-price-badge,
  #modalDynamic .u103-modal-wrap .u103-banner-price-save,
  .modal-source .u103-modal-wrap .u103-banner-price-save,
  .u103-modal-wrap .u103-banner-price-save{
    padding:6px 8px !important;
    font-size:8px !important;
  }


  #modalDynamic .u103-modal-wrap .u103-banner-price-main,
  .modal-source .u103-modal-wrap .u103-banner-price-main,
  .u103-modal-wrap .u103-banner-price-main{
    gap:5px !important;
  }


  #modalDynamic .u103-modal-wrap .u103-banner-price-main span,
  .modal-source .u103-modal-wrap .u103-banner-price-main span,
  .u103-modal-wrap .u103-banner-price-main span{
    font-size:10px !important;
  }


  #modalDynamic .u103-modal-wrap .u103-banner-price-main strong,
  .modal-source .u103-modal-wrap .u103-banner-price-main strong,
  .u103-modal-wrap .u103-banner-price-main strong{
    font-size:30px !important;
  }


  #modalDynamic .u103-modal-wrap .u103-banner-price-main s,
  .modal-source .u103-modal-wrap .u103-banner-price-main s,
  .u103-modal-wrap .u103-banner-price-main s{
    font-size:11px !important;
  }

}

/* =====================================================
   U103 - ALL SECTION HEADLINE PILLS
===================================================== */

/* Standard U103 section pills */
#modalDynamic .u103-modal-wrap .u103-section-kicker,
.modal-source .u103-modal-wrap .u103-section-kicker,
.u103-modal-wrap .u103-section-kicker,

/* Opening story pill */
#modalDynamic .u103-modal-wrap .u101-sales-kicker,
.modal-source .u103-modal-wrap .u101-sales-kicker,
.u103-modal-wrap .u101-sales-kicker,

/* Any inherited sales label pills */
#modalDynamic .u103-modal-wrap .u101-sales-label,
.modal-source .u103-modal-wrap .u101-sales-label,
.u103-modal-wrap .u101-sales-label,

/* Centre CTA pill */
#modalDynamic .u103-modal-wrap .u101-cta-kicker,
.modal-source .u103-modal-wrap .u101-cta-kicker,
.u103-modal-wrap .u101-cta-kicker,

/* Final section pill */
#modalDynamic .u103-modal-wrap .u101-serious-kicker,
.modal-source .u103-modal-wrap .u101-serious-kicker,
.u103-modal-wrap .u101-serious-kicker{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;

  width:max-content !important;
  max-width:100% !important;
  min-height:36px !important;

  margin:0 auto 16px !important;
  padding:9px 16px !important;

  border:1px solid rgba(249,115,22,.38) !important;
  border-radius:999px !important;

  background:#fff7ed !important;
  color:#c2410c !important;

  font-family:inherit !important;
  font-size:11.5px !important;
  font-weight:950 !important;
  line-height:1 !important;
  letter-spacing:.04em !important;

  text-align:center !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;

  box-shadow:0 5px 12px rgba(249,115,22,.07) !important;
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width:600px){

  #modalDynamic .u103-modal-wrap .u103-section-kicker,
  .modal-source .u103-modal-wrap .u103-section-kicker,
  .u103-modal-wrap .u103-section-kicker,

  #modalDynamic .u103-modal-wrap .u101-sales-kicker,
  .modal-source .u103-modal-wrap .u101-sales-kicker,
  .u103-modal-wrap .u101-sales-kicker,

  #modalDynamic .u103-modal-wrap .u101-sales-label,
  .modal-source .u103-modal-wrap .u101-sales-label,
  .u103-modal-wrap .u101-sales-label,

  #modalDynamic .u103-modal-wrap .u101-cta-kicker,
  .modal-source .u103-modal-wrap .u101-cta-kicker,
  .u103-modal-wrap .u101-cta-kicker,

  #modalDynamic .u103-modal-wrap .u101-serious-kicker,
  .modal-source .u103-modal-wrap .u101-serious-kicker,
  .u103-modal-wrap .u101-serious-kicker{
    min-height:33px !important;
    padding:8px 13px !important;

    font-size:10.5px !important;
    letter-spacing:.035em !important;

    white-space:normal !important;
  }

}

/* =====================================================
   U103 GROWING SUBSCRIBER LIST - IMPROVED STEP CARDS
===================================================== */

.u103-growth-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:26px;
}

.u103-growth-step{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:20px 18px 18px;
  border:1px solid #f2c7aa;
  border-radius:24px;
  background:#fff;
  box-shadow:0 14px 30px rgba(17,24,39,.05);
  text-align:center;
}

.u103-growth-step--featured{
  border-color:#9fdec6;
  background:linear-gradient(180deg,#f6fcf9 0%,#ffffff 100%);
  box-shadow:0 16px 34px rgba(20,163,112,.08);
}

.u103-growth-step-top{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-bottom:12px;
}

.u103-growth-step-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:#fff1e7;
  color:#f97316;
  font-size:12px;
  font-weight:900;
  line-height:1;
}

.u103-growth-step--featured .u103-growth-step-num{
  background:#ddf7ea;
  color:#087652;
}

.u103-growth-step-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border:1px solid #ffd1b1;
  border-radius:14px;
  background:#fff8f2;
  font-size:20px;
  line-height:1;
}

.u103-growth-step--featured .u103-growth-step-icon{
  border-color:#b7e6d3;
  background:#effbf6;
}

.u103-growth-step-label{
  display:block;
  margin:0 0 10px;
  color:#f97316;
  font-size:11px;
  font-weight:900;
  letter-spacing:.05em;
  line-height:1.2;
  text-transform:uppercase;
}

.u103-growth-step--featured .u103-growth-step-label{
  color:#087652;
}

.u103-growth-step h5{
  margin:0 0 14px;
  color:#111827;
  font-size:17px;
  font-weight:900;
  line-height:1.28;
  text-align:center;
}

.u103-growth-step p{
  margin:0;
  color:#5b6475;
  font-size:14px;
  font-weight:600;
  line-height:1.68;
  text-align:center;
}

.u103-growth-step-example{
  margin-top:auto;
  padding-top:14px;
  color:#667085;
  font-size:12.5px;
  font-weight:800;
  line-height:1.45;
  text-align:center;
}

.u103-growth-step-example::before{
  content:"";
  display:block;
  width:36px;
  height:3px;
  margin:0 auto 12px;
  border-radius:999px;
  background:#f97316;
  opacity:.5;
}

.u103-growth-step--featured .u103-growth-step-example::before{
  background:#14a370;
  opacity:.55;
}

.u103-growth-steps-close{
  width:min(980px,100%);
  margin:22px auto 0;
  padding:18px 22px;
  border:1px solid #b8e3d2;
  border-radius:16px;
  background:#effbf6;
  color:#475467;
  font-size:14px;
  font-weight:650;
  line-height:1.65;
  text-align:center;
}

.u103-growth-steps-close strong{
  display:block;
  margin:0 0 4px;
  color:#087652;
  font-size:18px;
  font-weight:900;
  line-height:1.35;
}

/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width:979.98px){
  .u103-growth-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:720px){
  .u103-growth-steps{
    grid-template-columns:1fr;
    gap:14px;
  }

  .u103-growth-step{
    padding:18px 16px 16px;
    border-radius:20px;
  }

  .u103-growth-step h5{
    font-size:16px;
  }

  .u103-growth-step p{
    font-size:13.5px;
    line-height:1.62;
  }

  .u103-growth-step-example{
    font-size:12px;
  }

  .u103-growth-steps-close{
    padding:16px;
    font-size:13.5px;
  }

  .u103-growth-steps-close strong{
    font-size:16px;
  }
}

/* =====================================================
   U103 TESTING STRATEGY CARDS
   U102-STYLE CARD DESIGN
===================================================== */

#modalDynamic .u103-modal-wrap .u103-repeat-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  align-items:stretch !important;

  gap:16px !important;

  width:100% !important;

  margin:30px auto 0 !important;
}


/* =====================================================
   CARD
===================================================== */

#modalDynamic .u103-modal-wrap .u103-repeat-step{
  display:flex !important;
  flex-direction:column !important;

  min-height:330px !important;

  padding:0 !important;

  overflow:hidden !important;

  border:1px solid rgba(249,115,22,.36) !important;
  border-radius:22px !important;

  background:#fff !important;

  box-shadow:
    0 14px 30px rgba(15,23,42,.045) !important;

  text-align:center !important;
}


/* =====================================================
   TOP COLOURED PANEL
===================================================== */

#modalDynamic .u103-modal-wrap .u103-repeat-step-top{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;

  width:100% !important;
  box-sizing:border-box !important;

  min-height:132px !important;

  margin:0 !important;
  padding:20px 18px 18px !important;

  background:
    linear-gradient(
      180deg,
      #fff2e9 0%,
      #fff8f3 100%
    ) !important;

  border-bottom:1px solid rgba(249,115,22,.12) !important;
}


/* TEST pill */
#modalDynamic .u103-modal-wrap .u103-repeat-pill{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  min-width:64px !important;
  min-height:34px !important;

  margin:0 auto 13px !important;
  padding:7px 13px !important;

  border:1px solid rgba(249,115,22,.42) !important;
  border-radius:999px !important;

  background:#fff !important;
  color:#f26522 !important;

  font-family:inherit !important;
  font-size:10px !important;
  font-weight:950 !important;
  line-height:1 !important;
  letter-spacing:.05em !important;

  text-transform:uppercase !important;
  white-space:nowrap !important;

  box-shadow:0 6px 14px rgba(249,115,22,.08) !important;
}


/* Card headline */
#modalDynamic .u103-modal-wrap .u103-repeat-step-top > strong{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:100% !important;
  min-height:46px !important;

  margin:0 !important;

  color:#111827 !important;

  font-family:inherit !important;
  font-size:18px !important;
  font-weight:950 !important;
  line-height:1.25 !important;

  text-align:center !important;
}


/* =====================================================
   BODY
===================================================== */

#modalDynamic .u103-modal-wrap .u103-repeat-step-body{
  display:flex !important;
  flex:1 !important;
  flex-direction:column !important;

  width:100% !important;
  box-sizing:border-box !important;

  padding:19px 20px 22px !important;

  background:#fff !important;

  text-align:left !important;
}


/* Small accent divider */
#modalDynamic .u103-modal-wrap .u103-repeat-step-line{
  display:block !important;

  width:34px !important;
  height:3px !important;

  margin:0 0 17px !important;

  border-radius:999px !important;

  background:#f97316 !important;
}


/* Body text */
#modalDynamic .u103-modal-wrap .u103-repeat-step-body p{
  margin:0 !important;

  color:#475467 !important;

  font-family:inherit !important;
  font-size:14px !important;
  font-weight:600 !important;
  line-height:1.72 !important;

  text-align:left !important;
}


/* =====================================================
   TEST 4 - WINNER CARD
===================================================== */

#modalDynamic .u103-modal-wrap .u103-repeat-step-winner{
  border-color:rgba(20,163,112,.42) !important;

  box-shadow:
    0 15px 32px rgba(20,163,112,.07) !important;
}


#modalDynamic .u103-modal-wrap .u103-repeat-step-winner .u103-repeat-step-top{
  background:
    linear-gradient(
      180deg,
      #def7ed 0%,
      #eefbf6 100%
    ) !important;

  border-bottom-color:rgba(20,163,112,.14) !important;
}


#modalDynamic .u103-modal-wrap .u103-repeat-step-winner .u103-repeat-pill{
  border-color:rgba(20,163,112,.36) !important;

  background:#fff !important;
  color:#07835d !important;

  box-shadow:0 6px 14px rgba(20,163,112,.08) !important;
}


#modalDynamic .u103-modal-wrap .u103-repeat-step-winner .u103-repeat-step-line{
  background:#14a370 !important;
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width:979.98px){

  #modalDynamic .u103-modal-wrap .u103-repeat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

}


@media (max-width:720px){

  #modalDynamic .u103-modal-wrap .u103-repeat-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }


  #modalDynamic .u103-modal-wrap .u103-repeat-step{
    min-height:0 !important;
  }


  #modalDynamic .u103-modal-wrap .u103-repeat-step-top{
    min-height:116px !important;
    padding:18px 16px !important;
  }


  #modalDynamic .u103-modal-wrap .u103-repeat-step-top > strong{
    min-height:0 !important;
    font-size:17px !important;
  }


  #modalDynamic .u103-modal-wrap .u103-repeat-step-body{
    padding:17px 18px 19px !important;
  }


  #modalDynamic .u103-modal-wrap .u103-repeat-step-body p{
    font-size:13.5px !important;
    line-height:1.65 !important;
  }

}

/* =====================================================
   U101 / U102 / U103 TESTIMONIAL TEXT SIZE
===================================================== */

#modalDynamic .u101-modal-wrap .u101-testimonials .t-quote,
#modalDynamic .u102-modal-wrap .u102-testimonials .t-quote,
#modalDynamic .u103-modal-wrap .u103-testimonials .t-quote{
  font-size:15.5px !important;
  line-height:1.65 !important;
  font-weight:600 !important;
}

@media (max-width:720px){

  #modalDynamic .u101-modal-wrap .u101-testimonials .t-quote,
  #modalDynamic .u102-modal-wrap .u102-testimonials .t-quote,
  #modalDynamic .u103-modal-wrap .u103-testimonials .t-quote{
    font-size:14.5px !important;
    line-height:1.62 !important;
  }

}

/* =====================================================
   U101 TESTIMONIALS - BOTTOM SPACING
===================================================== */

#modalDynamic .u101-modal-wrap .u101-testimonials{
  margin-bottom:32px !important;
}

@media (max-width:720px){

  #modalDynamic .u101-modal-wrap .u101-testimonials{
    margin-bottom:22px !important;
  }

}

/* =====================================================
   U102 TESTIMONIALS - BOTTOM SPACING
===================================================== */

#modalDynamic .u102-modal-wrap .u102-testimonials{
  margin-bottom:32px !important;
}

@media (max-width:720px){

  #modalDynamic .u102-modal-wrap .u102-testimonials{
    margin-bottom:22px !important;
  }

}

/* =====================================================
   THE VAULT INTRO PANEL
   MATCHES TOOLKIT INTRO EXACTLY
===================================================== */

#power-guides .vault-intro-panel{
  margin:0 0 18px;
  padding:18px 20px;
  border:1px solid rgba(20,163,112,.20);
  border-radius:18px;
  background:
    radial-gradient(circle at 92% 25%, rgba(20,163,112,.10), transparent 28%),
    linear-gradient(135deg, rgba(238,250,245,.96), rgba(255,255,255,.96));
  box-shadow:
    0 8px 22px rgba(20,163,112,.06),
    inset 0 1px 0 rgba(255,255,255,.85);
}

#power-guides .vault-intro-panel .toolkit-intro-pill{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  margin-bottom:18px;
  padding:8px 15px;
  border-radius:999px;
  background:#eefaf5;
  color:var(--brand);
  border:1px solid rgba(20,163,112,.18);
  font-size:12px;
  font-weight:800;
  line-height:1;
  letter-spacing:.04em;
  text-transform:uppercase;
}

#power-guides .vault-intro-panel h3{
  margin:0 0 6px;
  color:var(--text);
  font-size:18px;
  font-weight:700;
  line-height:1.25;
  letter-spacing:-.02em;
}

#power-guides .vault-intro-panel p{
  max-width:920px;
  margin:0;
  color:var(--muted);
  font-size:13px;
  font-weight:400;
  line-height:1.55;
}

#power-guides .vault-intro-panel p strong{
  color:var(--brand);
  font-weight:700;
}

#power-guides .vault-intro-panel .toolkit-member-note{
  max-width:none;
  margin-top:14px !important;
  font-size:13px;
  line-height:1.45;
}

/* =====================================================
   VAULT CHAPTER BLOCKS
   SUBTLER THAN MAIN VAULT INTRO PANEL
===================================================== */

#power-guides .vault-chapter-block{
  margin:30px 0 0;
  padding:22px;
  border:1px solid rgba(20,163,112,.14);
  border-radius:22px;
  background:
    radial-gradient(circle at 92% 4%, rgba(20,163,112,.04), transparent 25%),
    linear-gradient(
      180deg,
      rgba(253,255,254,.99) 0%,
      rgba(255,255,255,1) 100%
    );
  box-shadow:
    0 10px 28px rgba(15,23,42,.035),
    inset 0 1px 0 rgba(255,255,255,.95);
}


/* =====================================================
   VAULT CHAPTER INTRO
===================================================== */

#power-guides .vault-chapter-intro{
  margin:0 0 22px;
  padding:8px 16px 22px;
  border-bottom:1px solid rgba(20,163,112,.13);
  text-align:center;
}


/* =====================================================
   VAULT CHAPTER KICKER
===================================================== */

#power-guides .vault-chapter-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:fit-content;
  margin:0 auto 16px;
  padding:7px 14px;
  border:1px solid rgba(20,163,112,.20);
  border-radius:999px;
  background:#eefaf5;
  color:var(--brand);
  font-size:10.5px;
  font-weight:900;
  line-height:1;
  letter-spacing:.045em;
  text-transform:uppercase;
}


/* =====================================================
   VAULT CHAPTER HEADLINES
===================================================== */

#power-guides .vault-chapter-title{
  max-width:900px;
  margin:0 auto 12px;
  color:#111827;
  font-size:clamp(25px,2.9vw,33px);
  font-weight:950;
  line-height:1.06;
  letter-spacing:-.045em;
  text-align:center;
}

#power-guides .vault-chapter-highlight{
  position:relative;
  display:inline;
  color:var(--brand);
  font-style:normal;
  font-weight:950;
  z-index:1;
}

#power-guides .vault-chapter-highlight::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-2px;
  height:6px;
  border-radius:999px;
  background:rgba(20,163,112,.18);
  z-index:-1;
}


/* =====================================================
   VAULT CHAPTER SUBHEADLINE
===================================================== */

#power-guides .vault-chapter-sub{
  max-width:800px;
  margin:0 auto;
  color:var(--muted);
  font-size:13.5px;
  font-weight:500;
  line-height:1.58;
  text-align:center;
}


/* =====================================================
   VAULT CHAPTER GUIDE GRID
===================================================== */

#power-guides .vault-chapter-block .guides-grid{
  margin:0;
}


/* =====================================================
   VAULT CHAPTERS - MOBILE
===================================================== */

@media (max-width:720px){

  #power-guides .vault-chapter-block{
    margin-top:22px;
    padding:16px;
    border-radius:18px;
  }

  #power-guides .vault-chapter-intro{
    margin:0 0 16px;
    padding:4px 2px 17px;
  }

  #power-guides .vault-chapter-kicker{
    margin-bottom:13px;
    padding:6px 11px;
    font-size:10px;
  }

  #power-guides .vault-chapter-title{
    max-width:100%;
    margin-bottom:9px;
    font-size:24px;
    line-height:1.08;
    letter-spacing:-.04em;
  }

  #power-guides .vault-chapter-highlight::after{
    bottom:-2px;
    height:5px;
  }

  #power-guides .vault-chapter-sub{
    max-width:100%;
    font-size:13px;
    line-height:1.55;
  }

}

/* =====================================================
   VAULT CARD IMAGE - LANDSCAPE COVER
===================================================== */

.guides-grid .offer-card,
.guides-grid .guide-card{
  overflow:hidden;
}

.guides-grid .product-thumb,
.guides-grid .guide-thumb,
.guides-grid .media-rect{
  width:100%;
  aspect-ratio:3 / 2;
  margin:0;
  padding:0 !important;
  overflow:hidden;
  border-radius:14px 14px 0 0;
  background:#e5e7eb;
}

.guides-grid .product-thumb img,
.guides-grid .guide-thumb img,
.guides-grid .media-rect img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border-radius:0;
}

/* Keep image flush with the card edges */
.guides-grid .offer-card > .toolkit-card-inner,
.guides-grid .guide-card > .guide-card-inner{
  padding:0 !important;
  overflow:hidden;
}

/* Content below image */
.guides-grid .toolkit-card-body,
.guides-grid .guide-card-body{
  padding:14px 14px 0;
}

/* CTA area */
.guides-grid .toolkit-actions,
.guides-grid .guide-actions{
  padding:14px;
}

