/* =====================================================================
   Shared landing-page styles (freebie LP + dedicated course LP).
   Mobile-first; the desktop layer lives at the bottom (@media min-width:900px).
   ===================================================================== */
.mppx.lp{ --nav:#0B1457; --nav2:#16236E; --ink:#0C1538; --tx:#4C5670; --page:#F5F8FD; --line:#E4E9F2; --gold:#F0C31F; --gold-ink:#8E7312; --blue:#2563EB; background:var(--page); color:var(--tx); font-family:var(--font-body,system-ui,sans-serif); overflow-x:clip; }
    .lp .wrap{ width:100%; max-width:560px; margin:0 auto; padding-inline:18px; box-sizing:border-box; }
    .lp .wrap-wide{ max-width:1000px; }

    /* nav: reuse the real site header, but let it span full width and drop the cart */
    .lp .nav-bar{ max-width:1200px !important; }
    .lp .nav-cart{ display:none !important; }

    /* ---- fold panels: guaranteed to fit with the phone browser chrome up ---- */
    .lp-screen{ min-height:calc(100vh - 78px); min-height:calc(100svh - 78px); display:flex; flex-direction:column; justify-content:flex-start; padding:12px 0 18px; }
    @media (max-width:560px){ .lp-screen{ min-height:calc(100vh - 64px); min-height:calc(100svh - 64px); } }
    #lp-thanks .lp-screen{ min-height:0; justify-content:flex-start; padding:26px 0 22px; }

    .lp-chips{ display:flex; gap:7px; justify-content:center; flex-wrap:wrap; margin-bottom:12px; }
    .lp-chip{ display:inline-flex; align-items:center; gap:6px; font:800 11px/1 var(--font-body); letter-spacing:.03em; padding:6px 10px; border-radius:999px; background:#fff; color:var(--gold-ink); border:1px solid var(--line); }
    .lp-chip.free{ background:var(--nav); color:var(--gold); border-color:var(--nav); letter-spacing:.09em; }

    .lp-h1{ font-family:var(--font-display,serif); font-weight:800; color:var(--ink); font-size:clamp(27px,7.2vw,40px); line-height:1.04; letter-spacing:-.02em; text-align:center; margin:0 0 10px; }
    .lp-sub{ text-align:center; font-size:clamp(14px,3.7vw,16px); line-height:1.5; color:var(--tx); margin:0 auto 16px; max-width:44ch; }
    .lp-h1 .free{ color:var(--gold-ink); }
    /* gallery: big square image (no frame) + 4 small thumbs, tap to swap */
    .lp-gal{ max-width:288px; width:100%; margin:0 auto 14px; }
    .lp-gmain img{ display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; margin:0 auto; border-radius:16px; box-shadow:0 16px 38px rgba(12,21,56,.16); }
    .lp-gthumbs{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:10px; }
    .lp-gthumb{ padding:0; border:2px solid transparent; border-radius:10px; background:#fff; cursor:pointer; overflow:hidden; aspect-ratio:1/1; transition:border-color .15s ease; }
    .lp-gthumb img{ display:block; width:100%; height:100%; object-fit:cover; border-radius:8px; }
    .lp-gthumb.on{ border-color:var(--gold); }
    .lp-gthumb:hover{ border-color:var(--line); }

    /* ---- form ---- */
    .lp-card{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:16px; box-shadow:0 14px 34px rgba(12,21,56,.09); max-width:420px; margin:0 auto; width:100%; box-sizing:border-box; }
    .lp-form{ display:flex; flex-direction:column; gap:9px; }
    .lp-namerow{ display:flex; gap:9px; }
    .lp-form input{ width:100%; box-sizing:border-box; padding:13px 14px; border-radius:10px; border:1px solid rgba(11,20,87,.16); background:#fff; color:#0B1457; font:15px/1.2 var(--font-body,system-ui,sans-serif); outline:none; transition:border-color .15s ease, box-shadow .15s ease; }
    .lp-namerow input{ flex:1 1 0; min-width:0; }
    .lp-form input::placeholder{ color:#667085; }
    .lp-form input:focus{ border-color:var(--gold); box-shadow:0 0 0 3px rgba(240,195,31,.30); }
    .lp-cta{ appearance:none; border:0; cursor:pointer; width:100%; padding:15px 18px; border-radius:12px; background:var(--gold); color:#0B1457; font:800 16px/1 var(--font-body,system-ui,sans-serif); box-shadow:0 10px 24px rgba(240,195,31,.34); transition:filter .15s ease, transform .07s ease; }
    .lp-cta:hover{ filter:brightness(1.05); }
    .lp-cta:active{ transform:translateY(1px); }
    .lp-cta:disabled{ opacity:.65; cursor:default; }
    .lp-msg{ margin:1px 0 0; font:13px/1.4 var(--font-body); min-height:1em; text-align:center; }
    .lp-msg.err{ color:#D63B57; }
    .lp-msg.ok{ color:#149063; }
    .lp-trust{ display:flex; align-items:center; justify-content:center; gap:7px; margin:12px auto 0; font:12px/1.3 var(--font-body); color:var(--tx); }
    .lp-trust svg{ flex:0 0 auto; color:var(--gold-ink); }
    .lp-altlink{ display:block; text-align:center; margin:14px auto 0; font:600 13px/1.3 var(--font-body); color:var(--blue); text-decoration:none; }
    .lp-altlink:hover{ text-decoration:underline; }

    /* ---- section shell ---- */
    .lp-sec{ padding:34px 0; }
    .lp-sec.tint{ background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
    .lp-kicker{ text-align:center; font:800 12px/1 var(--font-body); letter-spacing:.09em; text-transform:uppercase; color:var(--gold-ink); margin-bottom:8px; }
    .lp-h2{ font-family:var(--font-display,serif); font-weight:800; color:var(--ink); font-size:clamp(21px,5.6vw,29px); line-height:1.1; letter-spacing:-.01em; text-align:center; margin:0 auto 20px; max-width:20ch; }

    /* ---- included highlights (free lesson) ---- */
    .lp-hl{ display:grid; grid-template-columns:1fr; gap:10px; }
    .lp-hl-item{ display:flex; gap:12px; align-items:flex-start; background:#fff; border:1px solid var(--line); border-radius:14px; padding:13px 14px; }
    .lp-hl-item img{ width:30px; height:30px; flex:0 0 auto; }
    .lp-hl-item b{ display:block; font-family:var(--font-display); font-weight:800; color:var(--ink); font-size:15px; margin-bottom:2px; }
    .lp-hl-item span{ font-size:13px; line-height:1.45; color:var(--tx); }
    .lp-gallery{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-top:16px; }
    .lp-gallery img{ width:100%; height:auto; border-radius:12px; border:1px solid var(--line); box-shadow:0 8px 20px rgba(12,21,56,.08); }
    .lp-scrollcta{ display:block; width:100%; max-width:340px; margin:22px auto 0; text-align:center; text-decoration:none; }

    /* ===== THANK YOU + SELL ===== */
    .lp-check{ width:56px; height:56px; border-radius:50%; background:rgba(20,144,99,.12); display:flex; align-items:center; justify-content:center; margin:0 auto 14px; color:#149063; }
    .lp-thanks-h{ font-family:var(--font-display,serif); font-weight:800; color:var(--ink); font-size:clamp(24px,6.4vw,34px); line-height:1.06; letter-spacing:-.02em; text-align:center; margin:0 0 10px; outline:none; }
    .lp-thanks-h:focus, .lp-thanks-h:focus-visible{ outline:none !important; box-shadow:none !important; }
    .lp-thanks-p{ text-align:center; font-size:15px; line-height:1.55; color:var(--tx); margin:0 auto 18px; max-width:42ch; }
    .lp-dl{ display:flex; align-items:center; justify-content:center; gap:9px; width:100%; max-width:380px; margin:0 auto; box-sizing:border-box; padding:15px 18px; border-radius:12px; background:var(--gold); color:#0B1457; font:800 15px/1 var(--font-body); text-decoration:none; box-shadow:0 10px 24px rgba(240,195,31,.34); transition:filter .15s ease, transform .07s ease; }
    .lp-dl:hover{ filter:brightness(1.05); }
    .lp-dl:active{ transform:translateY(1px); }

    .lp-divider{ display:flex; align-items:center; gap:12px; max-width:380px; margin:22px auto; }
    .lp-divider span{ flex:1; height:1px; background:var(--line); }
    .lp-divider b{ font:800 11px/1 var(--font-body); letter-spacing:.08em; text-transform:uppercase; color:#6B7488; }

    .lp-upsell{ text-align:center; }
    .lp-price{ display:inline-flex; align-items:baseline; gap:9px; margin:6px 0 14px; }
    .lp-price .now{ font-family:var(--font-display); font-weight:800; color:var(--ink); font-size:34px; line-height:1; }
    .lp-price .was{ color:#94A0BC; text-decoration:line-through; font:600 16px/1 var(--font-body); }
    .lp-price .save{ background:rgba(20,144,99,.12); color:#149063; font:800 12px/1 var(--font-body); padding:5px 9px; border-radius:999px; }
    .lp-mini{ display:grid; grid-template-columns:1fr; gap:8px; max-width:360px; margin:0 auto; text-align:left; }
    .lp-mini li{ display:flex; align-items:flex-start; gap:9px; font-size:14px; line-height:1.4; color:var(--tx); list-style:none; }
    .lp-mini svg{ flex:0 0 auto; margin-top:2px; color:var(--blue); }

    /* ---- course cards ---- */
    .lp-cards{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
    .lp-card2{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:22px 18px; text-align:center; }
    .lp-card2 img{ width:38px; height:38px; margin:0 auto 10px; display:block; }
    .lp-card2 b{ display:block; font-family:var(--font-display); font-weight:800; color:var(--ink); font-size:15px; margin-bottom:3px; }
    .lp-card2 p{ margin:0; font-size:13px; line-height:1.45; color:var(--tx); }

    /* ---- units scope ---- */
    .lp-units{ display:flex; flex-direction:column; gap:10px; max-width:620px; margin:0 auto; }
    .lp-unit{ display:flex; align-items:center; gap:14px; background:#fff; border:1px solid var(--line); border-radius:14px; padding:14px 16px; }
    .lp-unit .n{ font-family:var(--font-display); font-weight:800; font-size:16px; color:#fff; width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
    .lp-unit .ut{ display:block; font-family:var(--font-display); font-weight:800; color:var(--ink); font-size:15px; line-height:1.15; }
    .lp-unit .um{ display:block; font-size:12px; color:var(--tx); margin-top:3px; }

    /* ---- why cards ---- */
    .lp-why{ display:grid; grid-template-columns:1fr 1fr; gap:12px; max-width:760px; margin:0 auto; }
    .lp-why .c{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px; text-align:center; }
    .lp-why img{ width:36px; height:36px; margin:0 auto 8px; display:block; }
    .lp-why b{ display:block; font-family:var(--font-display); font-weight:800; color:var(--ink); font-size:15px; margin-bottom:4px; }
    .lp-why p{ margin:0; font-size:13px; line-height:1.45; color:var(--tx); }

    /* ---- buy block + faq ---- */
    .lp-buyblock{ text-align:center; background:var(--nav); border-radius:20px; padding:30px 20px; }
    .lp-buyblock h3{ font-family:var(--font-display); font-weight:800; color:#fff; font-size:clamp(20px,5.2vw,26px); margin:0 0 6px; }
    .lp-buyblock p{ color:#C7D2EE; font-size:14px; line-height:1.5; margin:0 auto 18px; max-width:40ch; }
    .lp-buy{ display:inline-flex; align-items:center; justify-content:center; gap:8px; background:var(--gold); color:#0B1457; font:800 16px/1 var(--font-body); padding:16px 26px; border-radius:13px; text-decoration:none; box-shadow:0 12px 28px rgba(240,195,31,.32); transition:filter .15s ease, transform .07s ease; }
    .lp-buy:hover{ filter:brightness(1.05); }
    .lp-buy:active{ transform:translateY(1px); }
    .lp-buy-trust{ color:#9FB0D6; font-size:12px; margin-top:12px; }

    .lp-faq{ max-width:640px; margin:0 auto; }
    .lp-faq-item{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 18px; margin-bottom:10px; text-align:center; }
    .lp-faq-item h4{ font-family:var(--font-display); font-weight:800; color:var(--ink); font-size:15px; margin:0 0 6px; }
    .lp-faq-item p{ margin:0; font-size:13px; line-height:1.5; color:var(--tx); }
    .lp-legal{ max-width:640px; margin:22px auto 0; font-size:11px; line-height:1.5; color:#6B7488; text-align:center; }

    /* ---- sticky buy bar (only after opt-in) ---- */
    .lp-buybar{ display:none; position:fixed; left:0; right:0; bottom:0; z-index:80; background:var(--nav); border-top:1px solid rgba(255,255,255,.14); box-shadow:0 -8px 30px rgba(11,20,87,.30); padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px)); }
    html.lp-bought .lp-buybar{ display:block; }
    .lp-buybar-inner{ max-width:520px; margin:0 auto; display:flex; align-items:center; gap:12px; }
    .lp-buybar-price{ flex:0 0 auto; line-height:1; }
    .lp-buybar-price .now{ color:#fff; font-family:var(--font-display); font-weight:800; font-size:18px; }
    .lp-buybar-price .was{ color:#9AA6C8; text-decoration:line-through; font:600 12px/1 var(--font-body); margin-left:5px; }
    .lp-buybar .lp-buy{ flex:1 1 auto; padding:12px 14px; font-size:14px; line-height:1.15; box-shadow:none; }
    /* reserve space so the fixed buy bar never covers the last section */
    html.lp-bought #lp-thanks{ padding-bottom:calc(84px + env(safe-area-inset-bottom,0px)); }

    /* "before you leave": bigger, red, pulsing so it is hard to miss */
    .lp-divider-alert b{ color:#DC2626; display:inline-block; font-size:15px; letter-spacing:.1em; animation:lppulse 1.1s ease-in-out infinite; }
    @keyframes lppulse{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.1); } }
    /* upsell heading: bigger + full width (no narrow side margins) */
    .lp-upsell-h{ font-family:var(--font-display,serif); font-weight:800; color:var(--ink); font-size:clamp(27px,7.6vw,40px); line-height:1.04; letter-spacing:-.02em; text-align:center; margin:2px auto 16px; max-width:none; }
    /* upsell checkmarks: 2 columns, aligned, single line each */
    .lp-mini-2col{ grid-template-columns:1fr 1fr; gap:10px; max-width:420px; }
    .lp-mini-2col li{ align-items:center; gap:7px; font-size:13px; }
    .lp-mini-2col span{ white-space:nowrap; }
    /* sneak peek: 3 pdf pages in one row */
    .lp-peek{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; max-width:760px; margin:0 auto; }
    .lp-peek img{ width:100%; height:auto; border-radius:10px; border:1px solid var(--line); box-shadow:0 8px 20px rgba(12,21,56,.08); }
    .lp-peek-note{ text-align:center; font-size:12px; line-height:1.5; color:var(--tx); margin:14px auto 0; max-width:46ch; }

    /* small phones: tighten so the fold always fits */
    @media (max-width:380px){
      .lp-preview{ max-height:clamp(96px,18vh,150px); }
      .lp-card{ padding:14px; }
    }
    /* wider screens: keep it a centered, focused column */
    @media (min-width:620px){
      .lp-cards{ grid-template-columns:repeat(2,1fr); }
    }
    @media (max-width:460px){
      .lp-cards{ grid-template-columns:1fr; }
      .lp-why{ grid-template-columns:1fr; }
      .lp-gallery{ grid-template-columns:1fr 1fr; }
    }

/* ---- secondary "buy now" pill (opt-in screen + course LP cross-links) ---- */
.lp-buynow{ display:block; box-sizing:border-box; text-align:center; margin:14px auto 0; max-width:420px; width:100%; padding:12px 16px; border-radius:11px; border:1.5px solid var(--line); background:#fff; color:var(--nav); font:700 13.5px/1.25 var(--font-body); text-decoration:none; transition:border-color .15s ease, background .15s ease, transform .07s ease; }
@media (hover: hover) and (min-width: 900px) { .lp-buynow:hover{ border-color:var(--nav); background:#FBFCFF; } }
.lp-buynow:active{ transform:translateY(1px); }

/* ---- course LP: sticky buy bar is always on; reserve room for it ---- */
.lp-course .lp-buybar{ display:block; }
.lp-course{ padding-bottom:calc(70px + env(safe-area-inset-bottom,0px)); }

/* ===================================================================
   DESKTOP LAYER — applies at >=900px only. All mobile styles above are
   left untouched, so phones render exactly as before.
   =================================================================== */
@media (min-width:900px){
  .lp .wrap{ max-width:1080px; padding-inline:32px; }
  .lp .wrap-wide{ max-width:1120px; }

  .lp-sec{ padding:64px 0; }
  .lp-kicker{ font-size:13px; margin-bottom:10px; }
  .lp-h2{ font-size:clamp(28px,3vw,34px); max-width:26ch; }

  /* ---- two-column hero: gallery left, headline + form right ---- */
  .lp-screen{ min-height:calc(100vh - 78px); justify-content:center; padding:48px 0; }
  #lp-thanks .lp-screen{ min-height:0; padding:40px 0 26px; }
  .lp-hero{
    display:grid;
    grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
    grid-template-areas:"media h1" "media form";
    column-gap:56px; row-gap:16px; align-content:center; align-items:center;
  }
  .lp-hero > .lp-h1{ grid-area:h1; text-align:left; align-self:end; font-size:clamp(38px,3.5vw,50px); margin:0 0 4px; }
  .lp-hero > .lp-sub{ grid-area:h1; align-self:end; text-align:left; margin:0; }
  .lp-hero > .lp-gal{ grid-area:media; align-self:center; max-width:470px; margin:0; }
  .lp-hero > .lp-gthumbs, .lp-hero .lp-gthumbs{ max-width:470px; }
  .lp-hero > .lp-heroform{ grid-area:form; align-self:start; max-width:470px; }
  .lp-hero .lp-card{ margin:0; max-width:none; }
  .lp-hero .lp-trust{ justify-content:flex-start; }
  .lp-hero .lp-buynow, .lp-hero .lp-altlink{ max-width:none; text-align:center; }
  .lp-hero .lp-price{ margin-top:2px; }

  /* free-lesson includes → 2 columns */
  .lp-hl{ grid-template-columns:1fr 1fr; gap:14px; max-width:920px; margin:0 auto; }
  .lp-hl-item{ padding:16px 18px; }
  .lp-hl-item b{ font-size:16px; }
  .lp-hl-item span{ font-size:14px; }

  /* why cards → flow row, centered, larger */
  .lp-why{ display:flex; flex-wrap:wrap; justify-content:center; max-width:1040px; gap:18px; }
  .lp-why .c{ flex:0 1 300px; padding:24px 22px; }
  .lp-why img{ width:44px; height:44px; }
  .lp-why b{ font-size:16px; }
  .lp-why p{ font-size:14px; line-height:1.5; }

  /* value cards → 4 across */
  .lp-cards{ grid-template-columns:repeat(4,1fr); gap:18px; max-width:1060px; margin:0 auto; }
  .lp-card2{ padding:26px 20px; }

  /* faq → 2 balanced columns, left aligned */
  .lp-faq{ max-width:960px; column-count:2; column-gap:20px; }
  .lp-faq-item{ break-inside:avoid; text-align:left; }
  .lp-faq-item h4{ font-size:16px; }
  .lp-faq-item p{ font-size:14px; line-height:1.55; }

  /* scope & sequence → 2 columns */
  .lp-units{ display:grid; grid-template-columns:1fr 1fr; gap:12px; max-width:940px; }
  .lp-unit{ padding:15px 18px; }

  /* sneak peek bigger */
  .lp-peek{ max-width:940px; gap:18px; }

  /* upsell + buy block sizing */
  .lp-upsell-h{ font-size:clamp(34px,3.2vw,44px); }
  .lp-mini-2col{ max-width:520px; }
  .lp-dl{ max-width:420px; }
  .lp-buyblock{ max-width:860px; margin:0 auto; padding:46px 44px; }
  .lp-buyblock h3{ font-size:clamp(24px,2.6vw,30px); }
  .lp-buyblock p{ font-size:15px; max-width:52ch; }
  .lp-scrollcta{ max-width:360px; }

  /* sticky buy bar: wider, roomier on desktop */
  .lp-buybar{ padding:12px 20px; }
  .lp-buybar-inner{ max-width:1040px; gap:20px; }
  .lp-buybar .lp-buy{ flex:0 0 auto; padding:13px 30px; font-size:15px; }
  .lp-buybar-price .now{ font-size:20px; }
  html.lp-bought #lp-thanks{ padding-bottom:104px; }
}

/* ---- course LP: hero descriptor, buy card, free-lesson band ---- */
.lp-hero-desc{ text-align:center; font-size:15px; line-height:1.55; color:var(--tx); margin:0 0 14px; }
.lp-buycard{ text-align:center; }
.lp-buycard .lp-price{ margin:0 0 12px; justify-content:center; }
.lp-buycard .lp-mini{ margin:0 auto 14px; }
.lp-buycard .lp-buy{ width:100%; box-sizing:border-box; }
.lp-buycard .lp-trust{ margin-top:12px; }
.lp-freeband{ background:var(--nav); border-radius:20px; padding:30px 24px; text-align:center; }
.lp-freeband h3{ font-family:var(--font-display); font-weight:800; color:#fff; font-size:clamp(20px,5vw,26px); margin:0 0 6px; }
.lp-freeband p{ color:#C7D2EE; font-size:14px; line-height:1.5; margin:0 auto 16px; max-width:46ch; }
.lp-freecta{ display:inline-flex; align-items:center; gap:8px; background:#fff; color:var(--nav); font:800 15px/1 var(--font-body); padding:14px 24px; border-radius:12px; text-decoration:none; transition:filter .15s ease, transform .07s ease; }
@media (hover: hover) and (min-width: 900px) { .lp-freecta:hover{ filter:brightness(.96); } }
.lp-freecta:active{ transform:translateY(1px); }
@media (min-width:900px){
  .lp-hero-desc{ text-align:left; }
  .lp-freeband{ padding:40px; max-width:900px; margin:0 auto; }
}

/* course LP buy-card checklist: 1-col on phones (labels are long), 2-col on desktop */
.lp-buychecks{ max-width:none; }
.lp-buychecks li{ align-items:center; }
@media (min-width:560px){ .lp-buychecks{ grid-template-columns:1fr 1fr; gap:8px 18px; } }

/* ===================================================================
   DESKTOP ENRICHMENT — mimic the freebie/course pages on desktop only.
   Utilities toggle content so MOBILE renders exactly as before.
   =================================================================== */
.lp-donly{ display:none !important; }
@media (min-width:900px){
  .lp-donly{ display:block !important; }
  .lp-donly.lp-hi{ display:grid !important; }
  .lp-monly{ display:none !important; }
}

/* highlight bullets under the form (from freebie page .fd-hi) */
.lp-hi{ display:grid; grid-template-columns:1fr 1fr; gap:14px 22px; margin-top:20px; }
.lp-hi-row{ display:flex; gap:11px; align-items:flex-start; text-align:left; }
.lp-hi-row img{ width:30px; height:30px; flex:0 0 auto; }
.lp-hi-row b{ display:block; font:800 14px/1.2 var(--font-body); color:var(--ink); margin-bottom:1px; }
.lp-hi-row span{ font:13px/1.35 var(--font-body); color:var(--tx); }

/* full-width "buy the whole course" band */
.lp-band{ position:relative; overflow:hidden; background:linear-gradient(120deg,#12205C,#3B0873); border-radius:22px; padding:30px 38px; display:flex; align-items:center; justify-content:space-between; gap:26px; flex-wrap:wrap; box-shadow:0 22px 50px rgba(11,20,87,.32); }
.lp-band .dots{ position:absolute; inset:0; background-image:radial-gradient(circle at 1px 1px, rgba(56,189,248,.16) 1.5px, transparent 0); background-size:30px 30px; pointer-events:none; }
.lp-band-txt{ position:relative; min-width:0; }
.lp-band-txt .k{ display:block; font:800 12px/1 var(--font-body); letter-spacing:.08em; text-transform:uppercase; color:var(--gold); margin-bottom:7px; }
.lp-band-txt h3{ font-family:var(--font-display); font-weight:800; color:#fff; font-size:clamp(22px,2.3vw,29px); line-height:1.08; margin:0 0 6px; }
.lp-band-txt p{ margin:0; color:#C7D2EE; font:15px/1.5 var(--font-body); max-width:48ch; }
.lp-band-right{ position:relative; flex:0 0 auto; display:flex; flex-direction:column; align-items:center; gap:10px; }
.lp-band-price{ color:#fff; font-family:var(--font-display); font-weight:800; font-size:24px; white-space:nowrap; }
.lp-band-price .was{ color:#9AA6C8; text-decoration:line-through; font:600 15px/1 var(--font-body); margin-left:7px; }
.lp-band-price .save{ background:var(--gold); color:var(--nav); font:800 11px/1 var(--font-body); padding:5px 8px; border-radius:999px; margin-left:8px; }

/* "What does this lesson cover" prose */
.lp-covers{ max-width:820px; margin:0 auto; }
.lp-covers p{ font:17px/1.75 var(--font-body); color:var(--tx); margin:0 0 14px; }
.lp-covers p:last-child{ margin-bottom:0; }

/* featured case study / scenario (from .scn-card) */
.lp-featured{ position:relative; overflow:hidden; border-radius:18px; padding:36px 38px; background:linear-gradient(135deg,#101C4E,#3B0873); max-width:900px; margin:0 auto; text-align:center; }
.lp-featured .dots{ position:absolute; inset:0; background-image:radial-gradient(circle at 1px 1px, rgba(56,189,248,.16) 1.5px, transparent 0); background-size:30px 30px; }
.lp-featured .k{ position:relative; font:800 12px/1 var(--font-body); letter-spacing:.08em; text-transform:uppercase; color:#38BDF8; }
.lp-featured h3{ position:relative; font-family:var(--font-display); font-weight:800; font-size:clamp(22px,2.4vw,28px); color:#fff; margin:10px 0 12px; }
.lp-featured p{ position:relative; font:16px/1.7 var(--font-body); color:#C7D2EE; margin:0 auto; max-width:64ch; }

/* "Everything that's included" groups (from .inc-grid) */
.lp-inc{ display:grid; grid-template-columns:1fr 1fr; gap:18px; max-width:960px; margin:0 auto; }
.lp-inc-group{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px 24px; box-shadow:0 6px 18px rgba(12,21,56,.05); }
.lp-inc-group.wide{ grid-column:1 / -1; }
.lp-inc-group h3{ display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:800; font-size:16px; color:var(--ink); margin:0 0 12px; }
.lp-inc-group h3 img{ width:30px; height:30px; }
.lp-inc-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
.lp-inc-list li{ display:flex; gap:10px; font:14px/1.45 var(--font-body); color:var(--tx); }
.lp-inc-list li::before{ content:""; flex:0 0 7px; width:7px; height:7px; margin-top:6px; border-radius:50%; background:var(--blue); }

/* zig-zag "see the actual pages" (from .zz-row) — desktop only */
.lp-zz{ display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:center; margin-bottom:46px; max-width:1000px; margin-left:auto; margin-right:auto; }
.lp-zz:last-child{ margin-bottom:0; }
.lp-zz.rev .lp-zz-shot{ order:-1; }
.lp-zz-text .k{ font:800 12px/1 var(--font-body); letter-spacing:.08em; text-transform:uppercase; color:var(--blue); }
.lp-zz-text h3{ font-family:var(--font-display); font-weight:800; font-size:23px; color:var(--ink); margin:8px 0 12px; }
.lp-zz-text p{ font:16px/1.7 var(--font-body); color:var(--tx); margin:0 0 14px; }
.lp-zz-text ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.lp-zz-text li{ display:flex; gap:9px; font:15px/1.4 var(--font-body); color:var(--tx); }
.lp-zz-text li::before{ content:"✓"; color:var(--blue); font-weight:800; }
.lp-zz-shot{ display:flex; justify-content:center; gap:14px; }
.lp-zz-shot img{ width:100%; max-width:340px; height:auto; border-radius:14px; border:1px solid var(--line); box-shadow:0 18px 40px rgba(12,21,56,.16); }

/* desktop-only 2-col upsell hero (neutral wrappers keep mobile identical) */
@media (min-width:900px){
  .lp-upsell.lp-hero .lp-upsell-h{ font-size:clamp(34px,3.4vw,46px); margin:0; text-align:left; }
  .lp-hero > .lp-herohead{ grid-area:h1; align-self:end; text-align:left; }
  .lp-hero > .lp-herohead .lp-kicker{ text-align:left; margin-bottom:8px; }
  .lp-hero > .lp-upsell-buy{ grid-area:form; align-self:start; max-width:470px; background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px 24px; box-shadow:0 14px 34px rgba(12,21,56,.09); text-align:center; }
  .lp-upsell-buy .lp-price{ justify-content:center; margin:0 0 12px; }
  .lp-upsell-buy .lp-mini{ margin:0 auto 14px; }
  .lp-upsell-buy .lp-buy{ width:100%; box-sizing:border-box; }
  /* center the sticky buy bar contents on desktop */
  .lp-buybar-inner{ justify-content:center; }
}

/* ===================================================================
   Faithful course/freebie-page sections + hover animations (desktop).
   Hovers are gated to hover:hover so touch devices never stick.
   =================================================================== */

/* clickable unit cards (from course page .ucard) */
.lp-ucard-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(190px,1fr)); gap:16px; max-width:1060px; margin:0 auto 34px; }
.ucard{ display:block; background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:0 6px 16px rgba(12,21,56,.05); }
.ucard-link{ text-decoration:none; color:inherit; cursor:pointer; }

/* course-wide bonus card */
.lp-bonus{ background:linear-gradient(120deg,#101C4E,#3B0873); border-radius:18px; padding:28px 30px; max-width:1060px; margin:0 auto; }
.lp-bonus-head{ display:flex; gap:16px; align-items:center; margin-bottom:18px; }
.lp-bonus-title{ font-family:var(--font-display); font-weight:800; font-size:18px; color:#fff; }
.lp-bonus-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(190px,1fr)); gap:10px; }
.lp-bonus-chip{ display:flex; gap:9px; align-items:flex-start; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); border-radius:10px; padding:11px 14px; font:600 14px/1.35 var(--font-body); color:#EAF0FB; }
.lp-bonus-chip::before{ content:""; flex:0 0 7px; width:7px; height:7px; margin-top:5px; border-radius:50%; background:var(--gold); }
.lp-bonus-note{ font:14px/1.5 var(--font-body); color:#C7D2EE; margin:16px 0 0; }

/* year-long project arcs (from course page .proj-card) */
.lp-proj-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:1000px; margin:0 auto; }
.lp-proj-card{ background:var(--page); border:1px solid var(--line); border-radius:16px; padding:26px 28px; }
.lp-proj-card .h{ display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.lp-proj-card .h img{ width:48px; height:48px; flex:none; }
.lp-proj-card .h b{ font-family:var(--font-display); font-weight:800; font-size:19px; color:var(--ink); }
.lp-proj-card p{ font:15px/1.65 var(--font-body); color:var(--tx); margin:0; }

/* gallery main image: clip + zoom on hover */
.lp-gmain{ overflow:hidden; border-radius:16px; box-shadow:0 16px 38px rgba(12,21,56,.16); }
.lp-gmain img{ box-shadow:none; }

@media (min-width:900px){
  /* bump "what's inside" lesson cards to the course-page size */
  .lp-card2{ padding:24px 20px; }
  .lp-card2 img{ width:46px; height:46px; margin-bottom:14px; }
  .lp-card2 b{ font-size:17px; margin-bottom:5px; }
  .lp-card2 p{ font-size:14px; line-height:1.5; }
}

/* ---- hover animations (desktop pointers only) ---- */
@media (hover: hover) and (min-width: 900px){
  .lp-gmain img{ transition:transform var(--dur-slow,.5s) var(--ease-out,ease); }
  .lp-gmain:hover img{ transform:scale(1.05); }
  .lp-gthumb{ transition:transform var(--dur-fast,.15s) var(--ease-out,ease), border-color .15s ease, box-shadow var(--dur-fast,.15s) var(--ease-out,ease); }
  .lp-gthumb:hover{ transform:translateY(-2px); box-shadow:0 8px 18px rgba(12,21,56,.16); }
  .lp-card2, .lp-inc-group, .lp-why .c, .lp-faq-item, .ucard-link, .lp-featured{ transition:transform var(--dur-base,.25s) var(--ease-out,ease), box-shadow var(--dur-base,.25s) var(--ease-out,ease); }
  .lp-card2:hover, .lp-inc-group:hover, .lp-why .c:hover, .ucard-link:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg,0 20px 44px rgba(12,21,56,.18)); }
  .lp-faq-item:hover{ transform:translateY(-3px); box-shadow:var(--shadow-lg,0 20px 44px rgba(12,21,56,.18)); }
  .lp-featured:hover{ transform:translateY(-3px); box-shadow:var(--shadow-brand,0 24px 54px rgba(59,8,115,.34)); }
  .lp-zz-shot img{ transition:transform var(--dur-slow,.5s) var(--ease-out,ease); }
  .lp-zz-shot img:hover{ transform:scale(1.03); }
  .lp-hi-row img, .lp-inc-group h3 img{ transition:transform var(--dur-fast,.15s) var(--ease-out,ease); }
}

/* course LP hero: make the "free Lesson 1.1" cross-link clearly visible */
.lp-buynow--free{ display:flex; align-items:center; justify-content:center; gap:9px; background:rgba(240,195,31,.16); border-color:var(--gold); color:var(--gold-ink); font-weight:800; }
.lp-buynow--free svg{ flex:0 0 auto; }
@media (hover: hover) and (min-width: 900px){ .lp-buynow--free:hover{ background:rgba(240,195,31,.26); border-color:var(--gold); } }

/* Header nav links: match the rest of the site (white), not the default link blue */
.lp .nl{ color:rgba(255,255,255,.82); font:600 14px/1 var(--font-body); }
