  :root{
    --bg:#100f0d; --bg-s:#181816; --bg-r:#222; --card:#1a1917;
    --text:#f0f0ee; --muted:#9b9a95; --faint:#6c6b66;
    --accent:#d4a055; --accent-2:#e0b97a; --accent-dim:rgba(212,160,85,.12);
    --green:#5ba35b; --green-dim:rgba(91,163,91,.12);
    --red:#e07070; --red-dim:rgba(224,112,112,.10);
    --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.16);
    --r-sm:8px; --r-md:14px; --r-lg:22px;
    --max:1180px;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    background:var(--bg); color:var(--text);
    font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
    line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none}
  img{display:block;max-width:100%}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
  .serif{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:400}
  .accent{color:var(--accent)}
  .eyebrow{
    font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
    color:var(--accent);display:inline-flex;align-items:center;gap:9px;
  }
  .eyebrow::before{content:"";width:26px;height:1.5px;background:var(--accent)}
  h1,h2,h3{line-height:1.1;letter-spacing:-.02em;font-weight:800}
  h2{font-size:clamp(28px,4vw,46px)}
  .section{padding:96px 0;position:relative}
  .lead{color:var(--muted);font-size:clamp(16px,1.6vw,18px);max-width:620px}

  /* scarcity pill */
  .scar{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:600;
    color:#e7e6e2;background:var(--bg-r);border:1px solid var(--line-2);
    padding:8px 15px;border-radius:100px}
  .scar .pdot{width:8px;height:8px;border-radius:50%;background:var(--green);
    box-shadow:0 0 0 0 rgba(91,163,91,.6);animation:pulse 2s infinite}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(91,163,91,.5)}70%{box-shadow:0 0 0 8px rgba(91,163,91,0)}100%{box-shadow:0 0 0 0 rgba(91,163,91,0)}}

  /* buttons */
  .btn{
    display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:15px;
    padding:15px 26px;border-radius:var(--r-sm);cursor:pointer;border:1px solid transparent;
    transition:transform .18s cubic-bezier(.16,1,.3,1),background .18s,box-shadow .18s;
    white-space:nowrap;
  }
  .btn-primary{background:var(--accent);color:#1a1206;box-shadow:0 6px 26px rgba(212,160,85,.28)}
  .btn-primary:hover{transform:translateY(-2px);background:var(--accent-2);box-shadow:0 10px 34px rgba(212,160,85,.4)}
  .btn-ghost{background:transparent;color:var(--text);border-color:var(--line-2)}
  .btn-ghost:hover{transform:translateY(-2px);border-color:var(--accent);color:var(--accent)}
  .btn-lg{padding:18px 34px;font-size:16px}

  /* nav */
  nav{
    position:sticky;top:0;z-index:50;background:rgba(16,15,13,.78);
    backdrop-filter:blur(14px);border-bottom:1px solid var(--line);
  }
  .nav-in{display:flex;align-items:center;justify-content:space-between;height:68px}
  .brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:.14em;
    text-transform:uppercase;font-size:15px}
  .shield{width:26px;height:30px;flex:none}
  .nav-links{display:flex;align-items:center;gap:30px}
  .nav-links a.lnk{font-size:14px;color:var(--muted);transition:color .18s}
  .nav-links a.lnk:hover{color:var(--text)}
  @media(max-width:820px){.nav-links a.lnk{display:none}}

  /* hero */
  .hero{position:relative;padding:64px 0 72px;overflow:hidden}
  .hero::before{
    content:"";position:absolute;top:-200px;right:-140px;width:680px;height:680px;
    background:radial-gradient(circle,rgba(212,160,85,.17),transparent 62%);pointer-events:none;z-index:0;
  }
  /* dot texture, masked to one side only */
  .hero-texture{position:absolute;inset:0;z-index:0;pointer-events:none;
    background-image:radial-gradient(circle,rgba(255,255,255,.05) 1px,transparent 1px);
    background-size:26px 26px;
    -webkit-mask-image:radial-gradient(ellipse 60% 70% at 88% 18%,#000 10%,transparent 72%);
    mask-image:radial-gradient(ellipse 60% 70% at 88% 18%,#000 10%,transparent 72%);}
  .hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.12fr .88fr;gap:56px;align-items:center}
  @media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:40px}}

  /* editorial kicker row */
  .kicker{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
  .kmono{font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:500;
    letter-spacing:.22em;text-transform:uppercase;color:var(--faint);
    display:inline-flex;align-items:center;gap:10px}
  .kmono::before{content:"";width:30px;height:1px;background:var(--line-2)}

  .hero h1{font-size:clamp(38px,6vw,68px);margin:24px 0 0;letter-spacing:-.035em;line-height:1.02}
  .hero h1 .serif{display:block;font-weight:500;letter-spacing:-.02em;font-size:1.04em;margin-top:.06em}
  .hero .lead{margin:24px 0 0;font-size:clamp(16px,1.7vw,19px)}

  /* line-icon bullets (replaces generic check chips) */
  .hero-bullets{list-style:none;margin:30px 0 0;display:grid;gap:16px}
  .hero-bullets li{display:flex;gap:15px;align-items:center;font-size:15.5px;color:#e3e2de}
  .licon{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
    color:var(--accent);background:linear-gradient(150deg,rgba(212,160,85,.14),rgba(212,160,85,.03));
    border:1px solid rgba(212,160,85,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
  .licon svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.6;fill:none;
    stroke-linecap:round;stroke-linejoin:round}

  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin:34px 0 0}
  .cred{margin:20px 0 0;font-size:13.5px;color:var(--muted);max-width:520px;
    padding-left:15px;border-left:2px solid rgba(212,160,85,.4)}
  .cred b{color:#dcdbd7;font-weight:600}

  /* scroll cue */
  .scroll-cue{position:relative;z-index:1;margin:52px auto 0;width:max-content;
    font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.28em;
    text-transform:uppercase;color:var(--faint);display:flex;flex-direction:column;
    align-items:center;gap:8px}
  .scroll-cue .bar{width:1px;height:34px;background:linear-gradient(var(--accent),transparent);
    animation:cue 2.2s ease-in-out infinite}
  @keyframes cue{0%,100%{opacity:.3;transform:scaleY(.7)}50%{opacity:1;transform:scaleY(1)}}
  @media(max-width:900px){.scroll-cue{display:none}}

  /* hero proof card + rotating gold border beam */
  .proof-wrap{position:relative}
  .proof-card{position:relative;border-radius:var(--r-lg);padding:1.5px;overflow:hidden;
    box-shadow:0 34px 80px rgba(0,0,0,.5)}
  .proof-card::before{content:"";position:absolute;inset:-40%;z-index:0;
    background:conic-gradient(from 0deg,transparent 62%,rgba(212,160,85,.55) 80%,rgba(224,185,122,.85) 86%,transparent 94%);
    animation:spin 7s linear infinite}
  @keyframes spin{to{transform:rotate(360deg)}}
  @media(prefers-reduced-motion:reduce){.proof-card::before{animation:none;
    background:linear-gradient(160deg,rgba(212,160,85,.5),transparent 60%)}}
  .proof-inner{position:relative;z-index:1;background:var(--card);border-radius:calc(var(--r-lg) - 2px);overflow:hidden}
  .proof-card img{width:100%;aspect-ratio:1/1;object-fit:cover}
  .proof-tag{position:absolute;top:14px;left:14px;background:rgba(16,15,13,.78);
    backdrop-filter:blur(6px);border:1px solid var(--line-2);border-radius:100px;
    padding:7px 14px;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:500;
    letter-spacing:.08em;text-transform:uppercase}
  .proof-foot{padding:16px 18px;border-top:1px solid var(--line);display:flex;
    align-items:center;justify-content:space-between;gap:12px}
  .proof-foot .name{font-weight:700;font-size:14px}
  .proof-foot .res{font-size:13px;color:var(--accent);font-weight:600}
  .stars{display:inline-flex;gap:4px;color:var(--accent);line-height:0}
  .stars svg{width:16px;height:16px;fill:currentColor}
  /* floating stat chip overlapping the card */
  .proof-chip{position:absolute;left:-18px;bottom:64px;z-index:2;background:rgba(20,19,16,.92);
    backdrop-filter:blur(8px);border:1px solid var(--line-2);border-radius:14px;
    padding:13px 17px;box-shadow:0 16px 40px rgba(0,0,0,.5);transform:rotate(-3deg)}
  .proof-chip b{display:block;font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1}
  .proof-chip b .accent{color:var(--accent)}
  .proof-chip span{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.14em;
    text-transform:uppercase;color:var(--muted)}
  @media(max-width:900px){.proof-chip{left:8px}}
  @media(max-width:420px){.proof-chip{display:none}}

  /* scripture strip */
  .scripture{border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    background:var(--bg-s);padding:30px 0}
  .scripture p{max-width:820px;margin:0 auto;text-align:center;color:#cdccc7;
    font-size:clamp(16px,2vw,21px);line-height:1.5}
  .scripture cite{display:block;margin-top:10px;font-style:normal;font-size:13px;
    letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600}

  /* trust bar */
  .trust{padding:34px 0;border-bottom:1px solid var(--line)}
  .trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 44px;align-items:center}
  .trust-item{display:flex;flex-direction:column;align-items:center;text-align:center}
  .trust-item b{font-size:clamp(22px,3vw,30px);font-weight:800;letter-spacing:-.02em;color:var(--text)}
  .trust-item span{font-size:12.5px;color:var(--muted);letter-spacing:.02em}
  .trust-item b .accent{color:var(--accent)}

  /* problem */
  .pain-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:40px}
  @media(max-width:760px){.pain-grid{grid-template-columns:1fr}}
  .pain{display:flex;gap:13px;align-items:flex-start;background:var(--bg-s);
    border:1px solid var(--line);border-radius:var(--r-md);padding:18px 20px}
  .pain .x{flex:none;width:24px;height:24px;border-radius:7px;background:var(--red-dim);
    color:var(--red);display:grid;place-items:center;margin-top:1px}
  .pain .x svg{width:13px;height:13px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round}
  .pain p{font-size:15px;color:#d8d7d3;line-height:1.45}
  .pain-after{margin-top:30px;text-align:center;font-size:clamp(18px,2.4vw,24px);color:var(--text)}
  .pain-after .serif{color:var(--accent);font-weight:500}

  /* section heading helper (replaces scattered inline styles) */
  .section-head>h2{margin-top:18px;max-width:680px}
  .section-head>.lead{margin-top:16px}
  .section-head.center{text-align:center}
  .section-head.center>h2{margin-inline:auto}
  .section-head.center .eyebrow{justify-content:center}

  /* dream-outcome: the editorial moment — leans on the gold serif thread */
  .dream{background:var(--bg);position:relative;overflow:hidden;
    border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .dream::before{content:"";position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(ellipse 64% 86% at 12% 14%,rgba(212,160,85,.11),transparent 58%)}
  .dream-in{position:relative;max-width:900px}
  .dream-in .eyebrow{color:var(--accent)}
  .dream-h{font-size:clamp(30px,4.2vw,50px);margin-top:22px;line-height:1.1;
    letter-spacing:-.025em;font-weight:800;max-width:18ch}
  .dream-h .serif{font-weight:500;letter-spacing:-.01em}
  .dream-body{margin-top:26px;max-width:600px;font-size:clamp(16px,1.7vw,19px);
    color:var(--muted);line-height:1.62}

  /* time-framing line */
  .time-line{margin-top:34px;text-align:center;font-size:clamp(18px,2.3vw,24px);
    color:var(--text);font-weight:500}
  .time-line .accent{color:var(--accent)}

  /* close-section helpers */
  .gtag{display:inline-flex;align-items:center;gap:9px}
  .gck{flex:none;width:17px;height:17px;stroke:var(--green);stroke-width:2.4;fill:none;
    stroke-linecap:round;stroke-linejoin:round}

  /* how it works */
  .alt{background:var(--bg-s);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  /* includes: disciplined divided grid, no per-item boxes */
  .incl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:42px;
    background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
  @media(max-width:860px){.incl-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:480px){.incl-grid{grid-template-columns:1fr}}
  .incl{background:var(--bg);padding:30px 26px;transition:background .25s}
  .incl:hover{background:var(--bg-s)}
  .incl .licon{margin-bottom:16px}
  .incl h3{font-size:16px;font-weight:700;margin-bottom:6px;letter-spacing:-.01em}
  .incl p{font-size:13.5px;color:var(--muted);line-height:1.5}

  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:54px;
    border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
  @media(max-width:860px){.steps{grid-template-columns:1fr}}
  .step{padding:28px 24px;border-right:1px solid var(--line);position:relative;background:var(--bg)}
  .step:last-child{border-right:none}
  @media(max-width:860px){.step{border-right:none;border-bottom:1px solid var(--line)}.step:last-child{border-bottom:none}}
  .step .num{font-family:'Fraunces',serif;font-style:italic;font-size:30px;color:var(--accent);line-height:1}
  .step h3{font-size:16px;font-weight:700;margin:12px 0 6px}
  .step p{font-size:13.5px;color:var(--muted)}

  /* tracks */
  .tracks{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
  @media(max-width:920px){.tracks{grid-template-columns:1fr;max-width:480px;margin-inline:auto}}
  .track{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
    padding:30px 26px;display:flex;flex-direction:column;transition:border-color .2s,transform .2s,box-shadow .2s}
  .track:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 22px 50px rgba(0,0,0,.4)}
  .track .tnum{font-family:'Fraunces',serif;font-style:italic;font-size:15px;color:var(--faint)}
  .track h3{font-size:20px;font-weight:700;margin:6px 0 4px;letter-spacing:-.01em}
  .track .badge{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.05em;
    text-transform:uppercase;padding:5px 11px;border-radius:100px;background:var(--green-dim);
    color:var(--green);margin-bottom:16px;align-self:flex-start}
  .track p.tdesc{font-size:14px;color:var(--muted);line-height:1.55}
  .track ul{list-style:none;margin:18px 0 0;display:grid;gap:9px}
  .track ul li{display:flex;gap:9px;font-size:13.5px;color:#d4d3cf}
  .track ul li::before{content:"✓";color:var(--accent);font-weight:700;flex:none}
  .track .tprice{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);
    display:flex;align-items:baseline;gap:7px}
  .track .tprice b{font-size:26px;font-weight:800}
  .track .tprice span{font-size:13px;color:var(--muted)}

  /* testimonials */
  .tq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
  @media(max-width:920px){.tq-grid{grid-template-columns:1fr;max-width:560px;margin-inline:auto}}
  .tq{background:var(--bg-s);border:1px solid var(--line);border-radius:var(--r-lg);
    padding:28px 26px;display:flex;flex-direction:column}
  .tq .out{font-size:19px;font-weight:800;letter-spacing:-.01em;color:var(--accent);margin-bottom:12px;line-height:1.15}
  .tq blockquote{font-size:14.5px;line-height:1.6;color:#ddddd8;flex:1}
  .tq .who{display:flex;align-items:center;gap:13px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
  .tq .who img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:1px solid var(--line-2)}
  .tq .av{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
    font-weight:700;font-size:16px;background:var(--accent-dim);color:var(--accent);flex:none}
  .tq .who b{display:block;font-size:14px}
  .tq .who span{font-size:12.5px;color:var(--muted)}

  /* gallery */
  .gal{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px}
  @media(max-width:760px){.gal{grid-template-columns:repeat(2,1fr)}}
  .gal figure{position:relative;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line)}
  .gal img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .4s ease}
  .gal figure:hover img{transform:scale(1.05)}
  .gal figcaption{position:absolute;bottom:0;left:0;right:0;padding:22px 14px 12px;
    font-size:12.5px;font-weight:600;color:#fff;
    background:linear-gradient(transparent,rgba(0,0,0,.8))}

  /* pricing */
  .price-wrap{display:grid;grid-template-columns:1fr .9fr;gap:28px;margin-top:38px;align-items:stretch}
  @media(max-width:860px){.price-wrap{grid-template-columns:1fr}}
  .stack{background:var(--bg-s);border:1px solid var(--line);border-radius:var(--r-lg);padding:32px 30px}
  .stack h3{font-size:16px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);
    font-weight:600;margin-bottom:20px}
  .stack ul{list-style:none;display:grid;gap:14px}
  .stack li{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;
    padding-bottom:14px;border-bottom:1px solid var(--line)}
  .stack li .t{font-size:14.5px;color:#dcdbd7}
  .stack li .t b{display:block;font-weight:600;color:var(--text);font-size:14.5px}
  .stack li .t .bonus{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.08em;
    text-transform:uppercase;color:var(--accent);background:var(--accent-dim);
    border-radius:4px;padding:2px 6px;margin-left:7px;vertical-align:middle}
  .stack li .v{font-size:13px;color:var(--faint);white-space:nowrap;text-decoration:line-through}
  .stack li.total{border-bottom:none;padding-top:6px;padding-bottom:0;align-items:baseline}
  .stack li.total .t b{font-size:16px;text-transform:uppercase;letter-spacing:.03em}
  .stack li.total .v{font-size:20px;font-weight:800;color:var(--accent);text-decoration:none}
  .anchor-line{margin-top:18px;font-size:14px;color:var(--muted);line-height:1.55}
  .anchor-line s{color:var(--faint)}

  .price-card{background:linear-gradient(165deg,#1f1c16,#161513);
    border:1px solid var(--accent);border-radius:var(--r-lg);padding:34px 32px;
    display:flex;flex-direction:column;position:relative;overflow:hidden}
  .price-card::before{content:"";position:absolute;top:-90px;right:-90px;width:240px;height:240px;
    background:radial-gradient(circle,rgba(212,160,85,.2),transparent 65%)}
  .price-card .pk{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:600}
  .price-card .big{display:flex;align-items:baseline;gap:8px;margin:16px 0 2px}
  .price-card .big b{font-size:54px;font-weight:800;letter-spacing:-.03em}
  .price-card .big span{font-size:16px;color:var(--muted)}
  .price-card .sub{font-size:14px;color:var(--muted);margin-bottom:20px}
  .price-card .pscar{margin-bottom:20px}
  .price-card .pcta{display:grid;gap:11px;margin-top:auto}
  .price-card .pnote{font-size:12.5px;color:var(--faint);text-align:center;margin-top:14px}

  /* guarantee */
  .guarantee{margin-top:34px;display:flex;gap:24px;align-items:center;
    background:linear-gradient(118deg,var(--green-dim),transparent 72%);
    border:1px solid rgba(91,163,91,.36);border-radius:var(--r-lg);padding:34px 36px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 20px 54px rgba(0,0,0,.3)}
  @media(max-width:560px){.guarantee{flex-direction:column;align-items:flex-start;gap:16px;padding:26px 24px}}
  .guarantee .gic{flex:none;width:56px;height:56px}
  .grisk{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.18em;
    text-transform:uppercase;color:var(--green);font-weight:600;margin-bottom:9px}
  .guarantee h3{font-size:clamp(20px,2.4vw,25px);margin-bottom:8px;letter-spacing:-.01em}
  .guarantee p{font-size:15px;color:#dcdbd7;line-height:1.55;max-width:780px}

  /* qualify */
  .qual{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px}
  @media(max-width:760px){.qual{grid-template-columns:1fr}}
  .qcol{border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 26px;background:var(--bg-s)}
  .qcol h3{font-size:18px;margin-bottom:16px}
  .qcol ul{list-style:none;display:grid;gap:11px}
  .qcol li{display:flex;gap:10px;font-size:14.5px;color:#d6d5d1}
  .qcol.yes li::before{content:"→";color:var(--green);font-weight:700}
  .qcol.no li::before{content:"✕";color:var(--red);font-weight:700}

  /* coaches */
  .coach-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:42px}
  @media(max-width:760px){.coach-grid{grid-template-columns:1fr}}
  .coach{display:flex;gap:20px;background:var(--card);border:1px solid var(--line);
    border-radius:var(--r-lg);padding:24px}
  .coach .ph{width:96px;height:120px;flex:none;border-radius:var(--r-md);object-fit:cover;
    object-position:top;border:1px solid var(--line-2)}
  .coach .ph.init{display:grid;place-items:center;background:var(--accent-dim);color:var(--accent);
    font-size:30px;font-weight:800;font-family:'Fraunces',serif;font-style:italic}
  .coach h3{font-size:18px;margin-bottom:2px}
  .coach .role{font-size:12.5px;color:var(--accent);font-weight:600;margin-bottom:10px}
  .coach p{font-size:13px;color:var(--muted);line-height:1.5}

  /* faq */
  .faq{max-width:780px;margin:40px auto 0}
  details{border-bottom:1px solid var(--line);padding:6px 0}
  summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:600;font-size:16px;
    display:flex;justify-content:space-between;gap:16px;align-items:center}
  summary::-webkit-details-marker{display:none}
  summary .pm{color:var(--accent);font-size:22px;font-weight:400;transition:transform .2s}
  details[open] summary .pm{transform:rotate(45deg)}
  details p{padding:0 0 20px;color:var(--muted);font-size:14.5px;line-height:1.6}

  /* final cta + form */
  .close{background:var(--bg-s);border-top:1px solid var(--line)}
  .close-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
  @media(max-width:860px){.close-grid{grid-template-columns:1fr;gap:34px}}
  .close h2{font-size:clamp(28px,4.2vw,44px);margin-top:18px}
  .close .lead{margin-top:18px}
  .close .stars{font-size:15px;margin-top:24px}
  .close .endorse{font-size:14px;color:var(--muted);margin-top:6px}
  .close .gtag{font-size:13.5px;color:var(--green);font-weight:600;margin-top:14px}
  form{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px}
  .book-now{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}
  .book-now .btn{width:100%;justify-content:center}
  .book-now p{font-size:12.5px;color:var(--faint);text-align:center;margin-top:10px}
  form .orline{text-align:center;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
    color:var(--faint);margin-bottom:18px}
  form .fld{margin-bottom:14px}
  form label{display:block;font-size:12.5px;font-weight:600;letter-spacing:.04em;
    text-transform:uppercase;color:var(--muted);margin-bottom:7px}
  form input,form select,form textarea{width:100%;background:var(--bg-r);border:1px solid var(--line);
    border-radius:var(--r-sm);padding:13px 14px;color:var(--text);font-family:inherit;font-size:15px;
    transition:border-color .18s}
  form input:focus,form select:focus,form textarea:focus{outline:none;border-color:var(--accent)}
  form textarea{resize:vertical;min-height:80px}
  form .btn-primary{width:100%;justify-content:center;margin-top:6px}
  form .formnote{font-size:12.5px;color:var(--faint);text-align:center;margin-top:12px}
  .formmsg{display:none;font-size:14px;padding:12px 14px;border-radius:var(--r-sm);margin-top:12px}
  .formmsg.ok{display:block;background:var(--green-dim);color:var(--green);border:1px solid rgba(91,163,91,.3)}

  /* footer */
  footer{border-top:1px solid var(--line);padding:46px 0 38px}
  .foot-grid{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
  .foot-links{display:flex;gap:22px;font-size:14px}
  .foot-links a{color:var(--muted);transition:color .18s}
  .foot-links a:hover{color:var(--accent)}
  .foot-copy{font-size:13px;color:var(--faint);margin-top:24px;text-align:center}
  .foot-copy .serif{color:var(--muted)}

  /* sticky mobile CTA */
  .sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom));
    background:rgba(16,15,13,.94);backdrop-filter:blur(12px);border-top:1px solid var(--line-2)}
  .sticky-cta .btn{width:100%;justify-content:center}
  @media(max-width:820px){.sticky-cta{display:block}body{padding-bottom:78px}}

  /* reveal */
  [data-reveal]{opacity:0;transform:translateY(22px);filter:blur(6px);
    transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1),filter .7s}
  [data-reveal].in{opacity:1;transform:none;filter:none}
  @media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;filter:none;transition:none}}

  /* ---- shared helpers for ad pages ---- */
  /* faint emblem watermark behind hero (uses generated brand mark; safe if file missing) */
  .brand-watermark{position:absolute;z-index:0;top:-40px;right:-60px;width:380px;height:380px;
    background:url("ffh-emblem.png") center/contain no-repeat;opacity:.06;pointer-events:none;
    filter:grayscale(.2)}
  @media(max-width:900px){.brand-watermark{display:none}}
  .emblem-mark{width:30px;height:30px;border-radius:7px;object-fit:contain;flex:none;
    background:#0c0b09;border:1px solid var(--line)}
  /* solution cards (mechanism section) */
  .sol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:42px;
    background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
  @media(max-width:820px){.sol-grid{grid-template-columns:1fr;max-width:520px;margin-inline:auto}}
  .sol{background:var(--bg-s);padding:30px 28px;transition:background .25s}
  .sol:hover{background:var(--card)}
  .sol .licon{margin-bottom:16px}
  .sol h3{font-size:17px;font-weight:700;margin-bottom:7px;letter-spacing:-.01em}
  .sol p{font-size:14px;color:var(--muted);line-height:1.55}
  /* small note ribbon (for placeholder proof) */
  .note-swap{font-size:12px;color:var(--faint);text-align:center;margin-top:18px;font-style:italic}
  /* track cross-links in footer */
  .track-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
  .track-links a{font-size:13px;color:var(--muted);border:1px solid var(--line);
    border-radius:100px;padding:7px 14px;transition:border-color .18s,color .18s}
  .track-links a:hover{border-color:var(--accent);color:var(--accent)}

/* ================================================================
   FAT LOSS — Swiss Typographic Rebuild
   All classes fl- prefixed; glp-1 hero-film CSS untouched.
   ================================================================ */

  /* Section backgrounds & rhythm */
  .fl-hero        { background:var(--bg); padding:88px 0 80px }
  .fl-section     { background:var(--bg); padding:100px 0; position:relative }
  .fl-dream       { background:var(--bg-s); padding:100px 0;
                    border-top:1px solid var(--line); border-bottom:1px solid var(--line) }
  .fl-alt         { background:var(--bg-s); padding:100px 0; position:relative;
                    border-top:1px solid var(--line); border-bottom:1px solid var(--line) }
  .fl-time-section{ background:var(--bg); padding:100px 0;
                    border-top:1px solid var(--line); border-bottom:1px solid var(--line) }
  .fl-risk        { background:var(--bg-s); padding:100px 0;
                    border-top:1px solid var(--line); border-bottom:1px solid var(--line) }

  /* Suppress hero decorations (existed only for video overlay) */
  .fl-hero.hero::before { display:none }

  /* Hero two-column grid */
  .fl-hero-layout { display:grid; grid-template-columns:1.1fr .7fr; gap:72px; align-items:center }
  @media(max-width:900px){
    .fl-hero-layout { grid-template-columns:1fr; gap:44px }
  }

  /* Eyebrow / mono kicker */
  .fl-kicker {
    display:block;
    font-family:'IBM Plex Mono','Courier New',monospace;
    font-size:10.5px; font-weight:500; letter-spacing:.24em; text-transform:uppercase;
    color:var(--faint); margin-bottom:20px;
  }
  .fl-scar-line {
    font-family:'IBM Plex Mono','Courier New',monospace;
    font-size:10.5px; font-weight:500; letter-spacing:.20em; text-transform:uppercase;
    color:var(--accent); margin-bottom:16px;
  }

  /* H1 */
  .fl-h1 {
    font-family:-apple-system,'Helvetica Neue',Arial,sans-serif;
    font-size:clamp(46px,7vw,90px);
    font-weight:800; letter-spacing:-.04em; line-height:.92;
    color:var(--text); margin:0 0 28px;
  }

  /* Gold accent */
  .fl-gold      { color:var(--accent); font-style:normal }
  .fl-gold-text { color:var(--accent); font-weight:800 }

  /* Hero subhead */
  .fl-sub {
    font-size:clamp(15px,1.5vw,17px); color:var(--muted);
    line-height:1.65; max-width:520px; margin-bottom:34px;
  }

  /* CTA block */
  .fl-ctas { margin-bottom:24px }
  .fl-cta-note {
    font-family:'IBM Plex Mono','Courier New',monospace;
    font-size:10px; letter-spacing:.18em; text-transform:uppercase;
    color:var(--faint); margin-top:12px;
    padding-bottom:3px; border-bottom:1px solid var(--line-2);
    display:inline-block;
  }

  /* Credibility mono line */
  .fl-cred-line {
    font-family:'IBM Plex Mono','Courier New',monospace;
    font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--faint);
  }

  /* Hero image */
  .fl-img-frame { border:1px solid var(--line-2); overflow:hidden }
  .fl-img-frame img {
    width:100%; aspect-ratio:3/4; object-fit:cover;
    object-position:top center; display:block;
  }
  .fl-img-cap {
    display:block;
    font-family:'IBM Plex Mono','Courier New',monospace;
    font-size:9.5px; letter-spacing:.16em; text-transform:uppercase;
    color:var(--faint); padding:10px 0 0;
  }

  /* Section H2 */
  .fl-h2 {
    font-family:-apple-system,'Helvetica Neue',Arial,sans-serif;
    font-size:clamp(28px,4vw,52px);
    font-weight:800; letter-spacing:-.03em; line-height:1.0;
    color:var(--text); max-width:760px; margin:8px 0 40px;
  }
  .fl-h2-xl {
    font-family:-apple-system,'Helvetica Neue',Arial,sans-serif;
    font-size:clamp(34px,5.5vw,70px);
    font-weight:800; letter-spacing:-.04em; line-height:.94;
    color:var(--text); max-width:18ch; margin:8px 0 28px;
  }

  /* Body text */
  .fl-body {
    font-size:clamp(16px,1.6vw,18px); color:var(--muted); line-height:1.68; max-width:640px;
  }

  /* Pain hairline list (no boxes, mono dash) */
  .fl-list { list-style:none; border-top:1px solid var(--line); margin:0 }
  .fl-list li {
    display:flex; gap:16px; padding:22px 0;
    border-bottom:1px solid var(--line);
    font-size:clamp(15px,1.4vw,16.5px); color:#c8c7c2; line-height:1.5;
  }
  .fl-list li::before {
    content:"—"; flex:none;
    font-family:'IBM Plex Mono','Courier New',monospace; color:var(--faint);
  }

  /* Pain close line */
  .fl-close-line {
    font-size:clamp(17px,1.9vw,21px); font-weight:600; letter-spacing:-.01em;
    color:var(--text); margin-top:32px; line-height:1.4;
  }

  /* Big time number */
  .fl-time-in { display:flex; flex-direction:column; gap:24px }
  .fl-big-num {
    font-family:-apple-system,'Helvetica Neue',Arial,sans-serif;
    font-size:clamp(80px,15vw,168px);
    font-weight:800; letter-spacing:-.05em; line-height:.82;
    color:var(--accent); display:block;
  }
  .fl-time-body {
    font-size:clamp(15px,1.5vw,17px); color:var(--muted); line-height:1.65; max-width:540px;
  }

  /* Mechanism hairline list */
  .fl-mech-list { list-style:none; border-top:1px solid var(--line); margin:28px 0 0 }
  .fl-mech-list li {
    display:flex; gap:24px; align-items:flex-start;
    padding:30px 0; border-bottom:1px solid var(--line);
    font-size:clamp(15px,1.5vw,17px); color:#cccbc6; line-height:1.55;
  }
  .fl-mech-icon {
    flex:none; width:28px; height:28px;
    display:grid; place-items:center; color:var(--accent); margin-top:1px;
  }
  .fl-mech-icon svg {
    width:20px; height:20px; stroke:currentColor; stroke-width:1.6; fill:none;
    stroke-linecap:round; stroke-linejoin:round;
  }

  /* Proof — two-column hairline grid */
  .fl-proof-grid {
    display:grid; grid-template-columns:1fr 1fr;
    gap:1px; background:var(--line); border:1px solid var(--line); margin-top:36px;
  }
  @media(max-width:760px){ .fl-proof-grid { grid-template-columns:1fr } }
  .fl-proof-item { background:var(--bg); padding:52px 44px }
  @media(max-width:760px){ .fl-proof-item { padding:36px 24px } }
  .fl-proof-num {
    font-family:-apple-system,'Helvetica Neue',Arial,sans-serif;
    font-size:clamp(24px,3.5vw,44px);
    font-weight:800; letter-spacing:-.03em; line-height:.92;
    color:var(--accent); margin-bottom:22px;
  }
  .fl-proof-q {
    font-size:clamp(14px,1.3vw,16px); color:var(--muted);
    line-height:1.65; margin-bottom:28px; font-style:italic;
  }
  .fl-proof-who {
    display:flex; align-items:center; gap:12px;
    padding-top:22px; border-top:1px solid var(--line);
  }
  .fl-proof-who img { width:38px; height:38px; border-radius:50%; object-fit:cover; border:1px solid var(--line-2) }
  .fl-proof-who span {
    font-family:'IBM Plex Mono','Courier New',monospace;
    font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--faint);
  }

  /* Risk */
  .fl-risk-in { max-width:680px }
  .fl-big-gold {
    font-family:-apple-system,'Helvetica Neue',Arial,sans-serif;
    font-size:clamp(40px,7vw,84px);
    font-weight:800; letter-spacing:-.04em; line-height:.88;
    color:var(--accent); margin-bottom:28px;
  }

  /* Price line */
  .fl-price-line {
    font-size:clamp(18px,2.2vw,26px); font-weight:500;
    color:var(--muted); line-height:1.55; margin-top:14px; max-width:680px;
  }
  .fl-price-line s { color:var(--faint); text-decoration:line-through }
  .fl-price-val {
    color:var(--accent); font-size:1.25em; font-weight:800; letter-spacing:-.02em;
  }

  /* Close section */
  .fl-close-scar {
    font-family:'IBM Plex Mono','Courier New',monospace;
    font-size:10.5px; letter-spacing:.16em; text-transform:uppercase;
    color:var(--faint); margin-bottom:12px;
  }
  .fl-close-h {
    font-family:-apple-system,'Helvetica Neue',Arial,sans-serif;
    font-size:clamp(32px,4.5vw,60px);
    font-weight:800; letter-spacing:-.035em; line-height:.96;
    margin:0 0 18px; color:var(--text);
  }

/* ── Fat Loss — social proof bands above + below lead form ──────────
   fl-trust-band    = above the form
   fl-reassurance-band = below the form
   All fl- prefixed. Swiss typographic system: display nums gold,
   mono labels, hairline rules, no boxed cards.
   ─────────────────────────────────────────────────────────────────── */

  /* Close section header (replaces close-grid left col) */
  .fl-close-header { max-width:720px }

  /* Form wrapper — constrained + centered */
  .fl-form-wrap { max-width:620px; margin:56px auto 0 }

  /* Shared band containers */
  .fl-trust-band {
    margin-top:56px; padding:64px 0;
    border-top:1px solid rgba(255,255,255,.12);
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .fl-reassurance-band {
    padding:64px 0 80px;
    border-top:1px solid rgba(255,255,255,.12);
  }

  /* Mono eyebrow */
  .fl-band-eyebrow {
    display:block;
    font-family:'IBM Plex Mono','Courier New',monospace;
    font-size:10px; letter-spacing:.24em; text-transform:uppercase;
    color:var(--faint); margin-bottom:44px;
  }

  /* ── Above-form: large Taite image + stats side-by-side ─────── */
  .fl-trust-layout {
    display:grid; grid-template-columns:420px 1fr;
    gap:64px; align-items:start;
  }
  @media(max-width:960px) {
    .fl-trust-layout { grid-template-columns:1fr }
  }

  /* Large anchor image — hairline frame, natural dimensions (keeps JANUARY/JULY labels) */
  .fl-trust-img-frame {
    border:1px solid rgba(255,255,255,.18);
    overflow:hidden; margin:0; line-height:0;
  }
  .fl-trust-img-frame img { width:100%; height:auto; display:block }

  /* Stats stacked with hairline dividers */
  .fl-stat-stack { border-top:1px solid rgba(255,255,255,.12); margin-bottom:44px }
  .fl-stat-item { padding:28px 0; border-bottom:1px solid rgba(255,255,255,.12) }
  .fl-stat-num {
    display:block;
    font-family:-apple-system,'Helvetica Neue',Arial,sans-serif;
    font-size:clamp(44px,5.5vw,72px);
    font-weight:800; letter-spacing:-.04em; line-height:.88;
    color:var(--accent); margin-bottom:10px;
  }
  .fl-stat-label {
    display:block;
    font-family:'IBM Plex Mono','Courier New',monospace;
    font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--faint);
  }

  /* Pull-quote — base (no photo) */
  .fl-pull-quote {
    display:flex; gap:22px; align-items:flex-start;
    padding-top:36px; border-top:1px solid rgba(255,255,255,.12);
  }
  .fl-quote-text {
    font-size:clamp(14px,1.4vw,17px); color:var(--text);
    line-height:1.6; font-style:italic; margin:0 0 12px;
    padding-left:18px; border-left:2px solid var(--accent);
  }
  .fl-quote-attr {
    font-family:'IBM Plex Mono','Courier New',monospace;
    font-size:9.5px; letter-spacing:.2em; text-transform:uppercase;
    color:var(--faint); padding-left:18px;
  }
  .fl-quote-content { flex:1 }

  /* Pull-quote variant with small photo (Elsie, below form) */
  .fl-pull-quote--with-photo { padding:40px 0; margin-bottom:0 }
  .fl-quote-photo {
    width:54px; height:54px; flex:none;
    object-fit:cover; object-position:top center;
    border:1px solid rgba(255,255,255,.18); display:block;
    /* no border-radius — hairline frame, not rounded blob */
  }

  /* Reassurance headline */
  .fl-reassurance-line {
    font-size:clamp(18px,2.2vw,26px); font-weight:700;
    letter-spacing:-.02em; line-height:1.3;
    color:var(--text); max-width:720px; margin-bottom:48px;
  }

  /* 4-photo progress row */
  .fl-photo-row {
    display:grid; grid-template-columns:repeat(4,1fr);
    gap:10px; margin:52px 0 16px;
  }
  @media(max-width:700px) { .fl-photo-row { grid-template-columns:repeat(2,1fr) } }
  .fl-photo-fig { margin:0; border:1px solid rgba(255,255,255,.12); overflow:hidden }
  .fl-photo-fig img {
    width:100%; aspect-ratio:3/4;
    object-fit:cover; object-position:top center; display:block;
  }

  /* Photo row caption */
  .fl-photo-caption {
    font-family:'IBM Plex Mono','Courier New',monospace;
    font-size:9.5px; letter-spacing:.2em; text-transform:uppercase;
    color:var(--faint); margin:0;
  }

  /* Proof-who text attribution (replaces img+span after dedup) */
  .fl-proof-who-text {
    font-family:'IBM Plex Mono','Courier New',monospace;
    font-size:9.5px; letter-spacing:.14em; text-transform:uppercase;
    color:var(--faint);
    padding-top:22px; border-top:1px solid var(--line);
    margin:0;
  }

  /* Tony + Tabitha duo progress photos in mid-page proof section */
  .fl-progress-duo {
    display:grid; grid-template-columns:1fr 1fr;
    gap:10px; margin:52px 0 16px;
  }
  @media(max-width:600px) { .fl-progress-duo { grid-template-columns:1fr } }
  .fl-prog-fig {
    margin:0; border:1px solid rgba(255,255,255,.12); overflow:hidden;
  }
  .fl-prog-fig img {
    width:100%; aspect-ratio:3/4;
    object-fit:cover; object-position:top center; display:block;
  }

  /* Progress caption below Tony/Tabitha duo */
  .fl-progress-caption {
    font-family:'IBM Plex Mono','Courier New',monospace;
    font-size:9.5px; letter-spacing:.2em; text-transform:uppercase;
    color:var(--faint); margin:0;
  }

  /* Jace credibility element below the form */
  .fl-jace-cred {
    display:flex; flex-direction:column; align-items:flex-start;
    max-width:260px; margin-top:52px;
    border:1px solid rgba(255,255,255,.18);
    overflow:hidden;
  }
  .fl-jace-cred img {
    width:100%; height:auto; display:block;
    aspect-ratio:1/1; object-fit:cover; object-position:top center;
  }
  .fl-jace-cap {
    display:block;
    font-family:'IBM Plex Mono','Courier New',monospace;
    font-size:9px; letter-spacing:.18em; text-transform:uppercase;
    color:var(--faint); padding:14px 16px; line-height:1.6;
    border-top:1px solid rgba(255,255,255,.12);
  }

/* ── Founders' Note — below lead form ──────────────────────────
   Swiss: charcoal bg, single gold accent on cite, hairline rule,
   mono eyebrow, quiet serif scripture (NOT a billboard).
   ─────────────────────────────────────────────────────────────── */

  .fl-founders-note {
    border-top:1px solid rgba(255,255,255,.09);
    margin-top:64px; padding-top:64px;
  }

  .fl-founders-eyebrow {
    font-family:'IBM Plex Mono','Courier New',monospace;
    font-size:10px; letter-spacing:.24em; text-transform:uppercase;
    color:var(--faint); margin:0 0 36px;
  }

  /* Scripture — quiet, not a pull-quote billboard */
  .fl-founders-scripture {
    max-width:600px; margin:0 0 52px; padding:0; border:none;
  }
  .fl-founders-scripture p {
    font-family:'Fraunces',Georgia,serif;
    font-style:italic; font-weight:400;
    font-size:clamp(14px,1.4vw,17px); color:#c0bfbb;
    line-height:1.68; margin:0 0 14px;
  }
  .fl-founders-cite {
    display:block;
    font-family:'IBM Plex Mono','Courier New',monospace;
    font-size:9.5px; letter-spacing:.22em; text-transform:uppercase;
    color:var(--accent); font-style:normal;
  }

  /* Layout: small photo left, note copy right */
  .fl-founders-note-layout {
    display:flex; gap:28px; align-items:flex-start;
  }
  @media(max-width:640px){
    .fl-founders-note-layout { flex-direction:column; gap:20px }
  }

  /* Hairline-framed landscape couple photo */
  .fl-founders-photo {
    flex:none; width:300px; aspect-ratio:5/4;
    border:1px solid rgba(255,255,255,.18);
    overflow:hidden; margin:0;
  }
  @media(max-width:640px){
    .fl-founders-photo { width:100%; aspect-ratio:5/4; }
  }
  .fl-founders-photo img {
    width:100%; height:100%;
    object-fit:cover; object-position:center; display:block;
  }

  .fl-founders-copy { flex:1; padding-top:2px }

  .fl-founders-text {
    font-size:clamp(14px,1.35vw,16px);
    color:var(--muted); line-height:1.72;
    font-style:italic; margin:0 0 18px; max-width:680px;
  }

  .fl-founders-sig {
    font-family:'Fraunces',Georgia,serif;
    font-style:italic; font-weight:400;
    font-size:clamp(16px,1.6vw,19px);
    color:var(--text); margin:0 0 8px; display:block;
  }

  .fl-founders-credit {
    font-family:'IBM Plex Mono','Courier New',monospace;
    font-size:9px; letter-spacing:.16em; text-transform:uppercase;
    color:var(--faint); display:block;
  }

/* ── Authority band above form — editorial redesign ──────────────────────────
   Swiss: editorial lead statement is the HERO (one bold move).
   Credential strip below is a quiet footnote — mono, ~13px, hairline-divided.
   No big-number boxes, no cards, no grids. Charcoal + single gold accent.
   ─────────────────────────────────────────────────────────────────────────── */

  .fl-authority-band {
    margin-top:56px; padding:64px 0;
    border-top:1px solid rgba(255,255,255,.12);
    border-bottom:1px solid rgba(255,255,255,.12);
  }

  /* Editorial lead — the dominant move in this band */
  .fl-auth-lead {
    font-family:-apple-system,'Helvetica Neue',Arial,sans-serif;
    font-size:clamp(22px,2.8vw,38px);
    font-weight:700; letter-spacing:-.03em; line-height:1.18;
    color:var(--text); max-width:720px; margin:0 0 52px;
  }

  /* Quiet credential strip — horizontal hairline-divided on desktop */
  .fl-cred-strip {
    display:flex; flex-direction:row; align-items:stretch;
    border-top:1px solid rgba(255,255,255,.12);
  }
  @media(max-width:760px) {
    .fl-cred-strip { flex-direction:column }
  }

  /* Each credential — footnote-weight, not a headline */
  .fl-cred-item {
    flex:1;
    font-family:'IBM Plex Mono','Courier New',monospace;
    font-size:13px; line-height:1.55; letter-spacing:.025em;
    color:rgba(200,199,194,.64);
    padding:22px 22px 22px 0;
  }
  .fl-cred-item:not(:first-child) {
    border-left:1px solid rgba(255,255,255,.12);
    padding-left:22px;
  }
  @media(max-width:760px) {
    .fl-cred-item,
    .fl-cred-item:not(:first-child) {
      padding:18px 0; border-left:none;
      border-bottom:1px solid rgba(255,255,255,.12);
    }
    .fl-cred-item:last-child { border-bottom:none }
  }

/* ============ LEAD FORM (Swiss) ============ */
.lead-form .hp{ position:absolute!important; left:-9999px!important; width:1px; height:1px; opacity:0; }
.lead-form{ display:flex; flex-direction:column; gap:17px; }
.lead-form .field{ display:flex; flex-direction:column; gap:7px; }
.lead-form label{
  font-family:ui-monospace,Menlo,monospace; font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; color:#d4a055; font-weight:600;
}
.lead-form label .opt{ color:#7a828b; font-weight:500; letter-spacing:.08em; }
.lead-form input,
.lead-form textarea{
  width:100%; padding:14px 16px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.14);
  border-radius:4px;
  color:#f2ede4; font-size:16px; font-family:inherit; line-height:1.4;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.lead-form input::placeholder,
.lead-form textarea::placeholder{ color:#6f767e; }
.lead-form input:focus,
.lead-form textarea:focus{
  outline:none; border-color:#d4a055;
  box-shadow:0 0 0 3px rgba(212,160,85,.16);
  background:rgba(255,255,255,.06);
}
.lead-form textarea{ resize:vertical; min-height:88px; }
.lead-form .err{ color:#e0776a; font-size:13px; margin-top:1px; }
.lead-form input.input-error,
.lead-form textarea.input-error{ border-color:#e0776a; box-shadow:0 0 0 3px rgba(224,119,106,.14); }
.lead-form .cf-turnstile{ margin:2px 0; }
.lead-form .lf-submit{
  width:100%; justify-content:center; margin-top:4px;
  transition:transform .12s ease, background .15s ease, box-shadow .15s ease;
}
.lead-form .lf-submit:hover{ transform:translateY(-1px); }
.lead-form .lf-submit:active{ transform:translateY(1px) scale(.995); }
.lead-form .lf-submit[disabled]{ opacity:.7; cursor:wait; transform:none; }
.lead-form .lf-note{
  font-family:ui-monospace,Menlo,monospace; font-size:11px; letter-spacing:.02em;
  color:#7a828b; text-align:center; margin:2px 0 0; line-height:1.5;
}

/* ── Hero subhead RD emphasis ── */
.fl-sub-rd { color:var(--text); font-weight:700; font-style:normal }

/* ── Low-friction reassurance line (close section) ── */
.fl-low-friction {
  font-family:'IBM Plex Mono','Courier New',monospace;
  font-size:11.5px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--faint); margin-top:16px; line-height:1.6;
  padding-left:14px; border-left:2px solid rgba(212,160,85,.35);
}

/* ================================================================
   MEET JACE — Swiss typographic profile section
   fl-meet-jace: charcoal bg, gold accent, hairline rules, no cards
   ================================================================ */

  .fl-meet-jace {
    background:var(--bg); padding:100px 0;
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
    position:relative;
  }

  /* Two-column: portrait left, copy right */
  .fl-jace-layout {
    display:grid; grid-template-columns:340px 1fr;
    gap:72px; align-items:start; margin-top:36px;
  }
  @media(max-width:960px) {
    .fl-jace-layout { grid-template-columns:1fr; gap:44px }
  }

  /* Portrait — hairline-framed, portrait ratio */
  .fl-jace-portrait {
    margin:0; flex:none;
    border:1px solid rgba(255,255,255,.18); overflow:hidden;
  }
  .fl-jace-portrait img {
    width:100%; aspect-ratio:3/4;
    object-fit:cover; object-position:top center; display:block;
  }
  @media(max-width:960px) {
    .fl-jace-portrait { max-width:300px }
  }

  /* Section headline tweak — no bottom margin, let bio breathe */
  .fl-jace-h2 { margin-bottom:28px }

  /* Bio paragraph */
  .fl-jace-bio {
    font-size:clamp(15px,1.45vw,17px); color:var(--muted);
    line-height:1.72; max-width:580px; margin:0 0 48px;
  }

  /* Stat strip — horizontal hairline-divided on desktop, stacked on mobile */
  .fl-jace-stats {
    display:grid; grid-template-columns:repeat(5,1fr);
    gap:1px; background:rgba(255,255,255,.09);
    border:1px solid rgba(255,255,255,.09);
    margin-bottom:32px;
  }
  @media(max-width:1040px) {
    .fl-jace-stats { grid-template-columns:repeat(3,1fr) }
  }
  @media(max-width:600px) {
    .fl-jace-stats { grid-template-columns:1fr }
  }

  .fl-jace-stat {
    background:var(--bg); padding:22px 18px;
    display:flex; flex-direction:column; gap:8px;
  }

  .fl-jace-stat-val {
    display:block;
    font-family:-apple-system,'Helvetica Neue',Arial,sans-serif;
    font-size:clamp(18px,2vw,26px);
    font-weight:800; letter-spacing:-.03em; line-height:1;
    color:var(--accent);
  }

  .fl-jace-stat-lbl {
    display:block;
    font-family:'IBM Plex Mono','Courier New',monospace;
    font-size:9px; letter-spacing:.16em; text-transform:uppercase;
    color:var(--faint); line-height:1.5;
  }

  /* Credit line — mono footnote */
  .fl-jace-credit {
    font-family:'IBM Plex Mono','Courier New',monospace;
    font-size:9.5px; letter-spacing:.16em; text-transform:uppercase;
    color:var(--faint); line-height:1.6;
    padding-top:20px; border-top:1px solid rgba(255,255,255,.09);
  }

/* ── Faith beat — full-width B&W image panel ── */
  .fl-faith-beat {
    width:100%;
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
    overflow:hidden; line-height:0;
    max-height:520px;
  }
  .fl-faith-beat img {
    width:100%; height:100%; max-height:520px;
    object-fit:cover; object-position:center 20%;
    display:block; filter:grayscale(1) brightness(.82);
  }
  @media(max-width:600px) {
    .fl-faith-beat { max-height:360px }
    .fl-faith-beat img { max-height:360px }
  }

/* ================================================================
   FFH DESIGN SYSTEM — Warm Luxury Re-theme
   ALL rules scoped under .ffh-ds; never bleeds to glp-1 or home.
   ================================================================ */

/* ── Body background when FFH DS is present ── */
body:has(.ffh-ds) {
  background: #F3ECDA;
}

/* ── Root: override CSS custom properties so fl- classes inherit ── */
.ffh-ds {
  /* palette */
  --bg:        #F3ECDA;
  --bg-s:      #EEE4CF;
  --bg-r:      #F8F4EA;
  --card:      #FBF6EA;
  --text:      #23201A;
  --muted:     #5C5346;
  --faint:     #8A7E68;
  --accent:    #B89B6A;
  --accent-2:  #A9884E;
  --accent-dim:rgba(184,155,106,.10);
  --green:     #4A6741;
  --green-dim: rgba(74,103,65,.10);
  --red:       #8B3A3A;
  --red-dim:   rgba(139,58,58,.09);
  --line:      #E6D8BC;
  --line-2:    #E0D2B4;

  background: #F3ECDA;
  color: #23201A;
  font-family: 'Montserrat', 'Inter', sans-serif;
}

/* ── Crest SVG sizes ── */
.ffh-ds .ffh-crest {
  width: 28px;
  height: 33px;
  flex: none;
  color: #A9884E;
}
.ffh-ds .ffh-crest-lg {
  width: 36px;
  height: 42px;
  color: #A9884E;
}

/* ── Nav ── */
.ffh-ds nav {
  background: rgba(243,236,218,.95);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid #E6D8BC;
}
.ffh-ds .brand {
  font-family: 'Great Vibes', cursive;
  font-weight: 400;
  font-size: 0; /* hide fallback text; show spans */
  letter-spacing: 0;
  text-transform: none;
  color: #23201A;
  gap: 8px;
}
.ffh-ds .ffh-wordmark {
  font-family: 'Great Vibes', cursive;
  font-weight: 400;
  font-size: 26px;
  letter-spacing: 0;
  text-transform: none;
  color: #23201A;
  line-height: 1;
}
.ffh-ds .ffh-wordmark-lg {
  font-size: 30px;
}
.ffh-ds .nav-links a.lnk {
  font-family: 'Cinzel', serif;
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #5C5346;
}
.ffh-ds .nav-links a.lnk:hover { color: #23201A; }
.ffh-ds .nav-links .btn-primary {
  font-family: 'Cinzel', serif !important;
  font-size: 10px !important;
  letter-spacing: .12em !important;
  background: #23201A !important;
  color: #F8F4EA !important;
  border: none !important;
  border-radius: 2px !important;
  box-shadow: none !important;
}
.ffh-ds .nav-links .btn-primary:hover {
  background: #2C281F !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px rgba(35,32,26,.18) !important;
}

/* ── Buttons (global within ffh-ds) ── */
.ffh-ds .btn-primary {
  font-family: 'Cinzel', serif;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  background: #23201A;
  color: #F8F4EA;
  border: none;
  border-radius: 2px;
  box-shadow: 0 4px 18px rgba(35,32,26,.14);
}
.ffh-ds .btn-primary:hover {
  background: #2C281F;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(35,32,26,.22);
}

/* ── Sticky CTA ── */
.ffh-ds .sticky-cta {
  background: rgba(243,236,218,.97);
  border-top: 1px solid #E6D8BC;
  backdrop-filter: blur(12px);
}

/* ── Cross-mark section divider ── */
.ffh-ds .ffh-rule {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #B89B6A;
  margin: 0 0 48px;
  max-width: 280px;
}
.ffh-ds .ffh-rule::before,
.ffh-ds .ffh-rule::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #DAC9A6;
}
.ffh-ds .ffh-rule svg {
  width: 13px;
  height: 13px;
  fill: currentColor;
  flex: none;
}

/* ────────────────────────────────────────────────────────────
   HERO
   ──────────────────────────────────────────────────────────── */
.ffh-ds .fl-hero { background: #F3ECDA; }

.ffh-ds .fl-kicker {
  font-family: 'Cinzel', serif;
  font-size: 9.5px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #A9884E;
  margin-bottom: 16px;
}

.ffh-ds .fl-scar-line {
  font-family: 'Cinzel', serif;
  font-size: 9.5px;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #B89B6A;
  margin-bottom: 14px;
}

.ffh-ds .fl-h1 {
  font-family: 'Cinzel', serif;
  font-size: clamp(30px, 5vw, 66px);
  font-weight: 700;
  letter-spacing: .03em;
  line-height: 1.1;
  color: #23201A;
  text-transform: uppercase;
  margin: 0 0 0;
}

.ffh-ds .fl-gold      { color: #B89B6A; font-style: normal; }
.ffh-ds .fl-gold-text { color: #B89B6A; font-weight: 700; }

/* Cormorant editorial sub-line (new hero element) */
.ffh-ds .fl-hero-editorial {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(19px, 2.2vw, 27px);
  font-weight: 500;
  font-style: italic;
  color: #3A342A;
  line-height: 1.42;
  margin: 18px 0 0;
  max-width: 500px;
}

.ffh-ds .fl-sub {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(14px, 1.35vw, 15.5px);
  color: #5C5346;
  line-height: 1.75;
  max-width: 520px;
  margin-bottom: 32px;
}
.ffh-ds .fl-sub-rd { color: #23201A; font-weight: 600; }

.ffh-ds .fl-cta-note {
  font-family: 'Cinzel', serif;
  font-size: 9px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #8A7E68;
  border-bottom: 1px solid #E6D8BC;
}

.ffh-ds .fl-cred-line {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  letter-spacing: .05em;
  text-transform: none;
  color: #8A7E68;
}

/* Hero image frame: hairline gold on light bg */
.ffh-ds .fl-img-frame { border: 1px solid #E6D8BC; }
.ffh-ds .fl-img-cap {
  font-family: 'Cinzel', serif;
  font-size: 9px;
  letter-spacing: .14em;
  color: #8A7E68;
  padding: 10px 0 0;
}

/* ────────────────────────────────────────────────────────────
   SECTION BACKGROUNDS — alternating cream / parchment
   ──────────────────────────────────────────────────────────── */
.ffh-ds .fl-section   { background: #F3ECDA; }
.ffh-ds .fl-dream     { background: #EEE4CF; border-color: #E6D8BC; }
.ffh-ds .fl-alt       { background: #EEE4CF; border-color: #E6D8BC; }
.ffh-ds .fl-meet-jace { background: #F3ECDA; border-color: #E6D8BC; }
.ffh-ds .fl-risk      { background: #EEE4CF; border-color: #E6D8BC; }
.ffh-ds .close        { background: #F3ECDA; border-color: #E6D8BC; }

/* ── ONE dark reversed moment: 16 WEEKS ── */
.ffh-ds .fl-time-section {
  background: #221E18;
  border-top:    1px solid #3A342A;
  border-bottom: 1px solid #3A342A;
}
.ffh-ds .fl-big-num { color: #B89B6A; }
.ffh-ds .fl-time-body { color: #A89B8A; }

/* ────────────────────────────────────────────────────────────
   TYPOGRAPHY
   ──────────────────────────────────────────────────────────── */
.ffh-ds .fl-h2 {
  font-family: 'Cinzel', serif;
  font-size: clamp(22px, 3.2vw, 42px);
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.14;
  color: #23201A;
  text-transform: uppercase;
}

/* Dream outcome: editorial Cormorant statement */
.ffh-ds .fl-h2-xl {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(28px, 4.8vw, 60px);
  font-weight: 600;
  font-style: italic;
  letter-spacing: .01em;
  line-height: 1.1;
  color: #23201A;
  text-transform: none;
}

.ffh-ds .fl-body  { color: #5C5346; }
.ffh-ds .lead     { color: #5C5346; }

/* Serif class (Cormorant instead of Fraunces on this page) */
.ffh-ds .serif {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
}

/* ────────────────────────────────────────────────────────────
   PAIN SECTION
   ──────────────────────────────────────────────────────────── */
.ffh-ds .fl-list              { border-color: #E6D8BC; }
.ffh-ds .fl-list li           { border-color: #E6D8BC; color: #3A342A; }
.ffh-ds .fl-list li::before   { color: #B89B6A; }
.ffh-ds .fl-close-line        { color: #23201A; }

/* ────────────────────────────────────────────────────────────
   HOW IT WORKS
   ──────────────────────────────────────────────────────────── */
.ffh-ds .fl-mech-list      { border-color: #E6D8BC; }
.ffh-ds .fl-mech-list li   { border-color: #E6D8BC; color: #3A342A; }
.ffh-ds .fl-mech-icon      { color: #B89B6A; }

/* ────────────────────────────────────────────────────────────
   MEET JACE
   ──────────────────────────────────────────────────────────── */
.ffh-ds .fl-jace-portrait             { border: 1px solid #E6D8BC; }
.ffh-ds .fl-jace-bio                  { color: #5C5346; }
.ffh-ds .fl-jace-stats                { background: #E6D8BC; border-color: #E6D8BC; }
.ffh-ds .fl-jace-stat                 { background: #F3ECDA; }
.ffh-ds .fl-jace-stat-val {
  font-family: 'Cinzel', serif;
  font-weight: 700;
  letter-spacing: .04em;
  color: #B89B6A;
}
.ffh-ds .fl-jace-stat-lbl { color: #8A7E68; }
.ffh-ds .fl-jace-credit   { color: #8A7E68; border-color: #E6D8BC; }
.ffh-ds .fl-jace-h2       { color: #23201A; }

/* ────────────────────────────────────────────────────────────
   FAITH BEAT
   ──────────────────────────────────────────────────────────── */
.ffh-ds .fl-faith-beat { border-color: #E6D8BC; }
/* grayscale filter preserved — dramatic on light bg */

/* ────────────────────────────────────────────────────────────
   PROOF
   ──────────────────────────────────────────────────────────── */
.ffh-ds .fl-proof-grid       { background: #E6D8BC; border-color: #E6D8BC; }
.ffh-ds .fl-proof-item       { background: #FBF6EA; }

.ffh-ds .fl-proof-num {
  font-family: 'Cinzel', serif;
  font-size: clamp(14px, 2vw, 22px);
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.22;
  color: #B89B6A;
  text-transform: uppercase;
}

.ffh-ds .fl-proof-q {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(15px, 1.5vw, 18px);
  font-style: italic;
  color: #3A342A;
  line-height: 1.6;
}

.ffh-ds .fl-proof-who-text   { border-color: #E6D8BC; color: #8A7E68; }
.ffh-ds .fl-prog-fig         { border: 1px solid #E6D8BC; }
.ffh-ds .fl-progress-caption { color: #8A7E68; }

/* ────────────────────────────────────────────────────────────
   RISK
   ──────────────────────────────────────────────────────────── */
.ffh-ds .fl-big-gold {
  font-family: 'Cinzel', serif;
  font-size: clamp(28px, 4.5vw, 58px);
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.1;
  color: #23201A;
  text-transform: uppercase;
}

/* ────────────────────────────────────────────────────────────
   PRICING
   ──────────────────────────────────────────────────────────── */
.ffh-ds .fl-price-line   { color: #5C5346; }
.ffh-ds .fl-price-line s { color: #A99B80; }
.ffh-ds .fl-price-val    { color: #23201A; }

/* ────────────────────────────────────────────────────────────
   SCRIPTURE (mid-page and close section)
   ──────────────────────────────────────────────────────────── */
.ffh-ds .scripture {
  background: #EEE4CF;
  border-color: #E6D8BC;
}
.ffh-ds .scripture p {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(17px, 2.2vw, 24px);
  font-style: italic;
  color: #3A342A;
  line-height: 1.5;
}
.ffh-ds .scripture cite { color: #B89B6A; }

/* ────────────────────────────────────────────────────────────
   CLOSE / APPLY SECTION
   ──────────────────────────────────────────────────────────── */
.ffh-ds .fl-close-scar { color: #8A7E68; }
.ffh-ds .fl-close-h {
  font-family: 'Cinzel', serif;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #23201A;
}
.ffh-ds .fl-low-friction {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  letter-spacing: .05em;
  text-transform: none;
  color: #8A7E68;
  border-left-color: rgba(184,155,106,.4);
}

/* Authority band */
.ffh-ds .fl-authority-band  { border-color: #E6D8BC; }
.ffh-ds .fl-band-eyebrow {
  font-family: 'Cinzel', serif;
  font-size: 9.5px;
  letter-spacing: .22em;
  color: #B89B6A;
}
.ffh-ds .fl-auth-lead {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(18px, 2.4vw, 32px);
  font-weight: 500;
  font-style: italic;
  letter-spacing: .01em;
  color: #23201A;
}

/* Reassurance band */
.ffh-ds .fl-reassurance-band { border-color: #E6D8BC; }
.ffh-ds .fl-reassurance-line {
  font-family: 'Cinzel', serif;
  font-size: clamp(13px, 1.6vw, 18px);
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #23201A;
}

/* Founders' note */
.ffh-ds .fl-founders-note      { border-color: #E6D8BC; }
.ffh-ds .fl-founders-eyebrow {
  font-family: 'Cinzel', serif;
  font-size: 9.5px;
  letter-spacing: .22em;
  color: #B89B6A;
}
.ffh-ds .fl-founders-scripture p {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  color: #3A342A;
}
.ffh-ds .fl-founders-cite    { color: #B89B6A; }
.ffh-ds .fl-founders-photo   { border: 1px solid #E6D8BC; }
.ffh-ds .fl-founders-text {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  color: #3A342A;
}
.ffh-ds .fl-founders-sig {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  color: #23201A;
}
.ffh-ds .fl-founders-credit  { color: #8A7E68; }

/* ────────────────────────────────────────────────────────────
   LEAD FORM — light ivory
   ──────────────────────────────────────────────────────────── */
.ffh-ds .lead-form label {
  font-family: 'Cinzel', serif;
  font-size: 9.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #8A7E68;
}
.ffh-ds .lead-form label .opt { color: #A99B80; }

.ffh-ds .lead-form input,
.ffh-ds .lead-form textarea {
  background: #F8F4EA;
  border: 1px solid #E6D8BC;
  color: #23201A;
  border-radius: 2px;
}
.ffh-ds .lead-form input::placeholder,
.ffh-ds .lead-form textarea::placeholder { color: #A99B80; }
.ffh-ds .lead-form input:focus,
.ffh-ds .lead-form textarea:focus {
  outline: none;
  border-color: #B89B6A;
  box-shadow: 0 0 0 3px rgba(184,155,106,.16);
  background: #FBF6EA;
}
.ffh-ds .lead-form .lf-note { color: #8A7E68; }
.ffh-ds .lead-form .err { color: #8B3A3A; }
.ffh-ds .lead-form input.input-error,
.ffh-ds .lead-form textarea.input-error {
  border-color: #8B3A3A;
  box-shadow: 0 0 0 3px rgba(139,58,58,.12);
}

/* Livewire form wrapper card */
.ffh-ds form {
  background: #FBF6EA;
  border: 1px solid #E6D8BC;
  border-radius: 2px;
}
.ffh-ds form label {
  color: #8A7E68;
}
.ffh-ds form input,
.ffh-ds form select,
.ffh-ds form textarea {
  background: #F8F4EA;
  border-color: #E6D8BC;
  color: #23201A;
  border-radius: 2px;
}
.ffh-ds form input:focus,
.ffh-ds form select:focus,
.ffh-ds form textarea:focus {
  border-color: #B89B6A;
}

/* ────────────────────────────────────────────────────────────
   FOOTER
   ──────────────────────────────────────────────────────────── */
.ffh-ds footer {
  background: #F3ECDA;
  border-top: 1px solid #E6D8BC;
}
.ffh-ds .foot-links a       { color: #8A7E68; }
.ffh-ds .foot-links a:hover { color: #23201A; }
.ffh-ds .foot-copy          { color: #8A7E68; }
.ffh-ds .foot-copy .serif   { color: #5C5346; }
.ffh-ds .track-links a {
  color: #8A7E68;
  border-color: #E6D8BC;
}
.ffh-ds .track-links a:hover {
  border-color: #B89B6A;
  color: #23201A;
}

/* ────────────────────────────────────────────────────────────
   HEAR FROM JACE — vertical clip carousel
   All selectors scoped under .ffh-ds; no bleed to glp-1/home.
   ──────────────────────────────────────────────────────────── */

.ffh-ds .fl-hear-jace {
  background: #F3ECDA;
  padding: 100px 0 0;
  border-top: 1px solid #E6D8BC;
  position: relative;
  overflow: hidden;
}

.ffh-ds .fl-hear-jace-header {
  padding-bottom: 52px;
}

/* Cormorant editorial headline — warm italic, not Cinzel caps */
.ffh-ds .fl-hear-h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(24px, 3.5vw, 44px);
  font-weight: 600;
  font-style: italic;
  letter-spacing: .01em;
  line-height: 1.2;
  color: #23201A;
  text-transform: none;
  margin: 4px 0 12px;
}

/* Montserrat body sub-line */
.ffh-ds .fl-hear-sub {
  font-family: 'Montserrat', sans-serif;
  font-size: 14.5px;
  color: #5C5346;
  line-height: 1.65;
  margin: 0;
}

/* ── Carousel outer — positions arrows + contains track ── */
.ffh-ds .fl-clips-outer {
  position: relative;
  padding-bottom: 80px;
}

/* Arrow nav buttons — desktop only */
.ffh-ds .fl-clips-arrow {
  position: absolute;
  top: calc(50% - 40px);
  transform: translateY(-50%);
  z-index: 10;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid #E6D8BC;
  background: #FBF6EA;
  color: #23201A;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .18s, color .18s, border-color .18s, box-shadow .18s;
  box-shadow: 0 2px 12px rgba(35,32,26,.10);
  padding: 0;
}
.ffh-ds .fl-clips-arrow:hover {
  background: #23201A;
  color: #F8F4EA;
  border-color: #23201A;
  box-shadow: 0 4px 18px rgba(35,32,26,.20);
}
.ffh-ds .fl-clips-prev { left: 16px; }
.ffh-ds .fl-clips-next { right: 16px; }

@media (max-width: 768px) {
  .ffh-ds .fl-clips-prev,
  .ffh-ds .fl-clips-next { display: none; }
}

/* ── Scrollable track ── */
.ffh-ds .fl-clips-track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  /* Align first card to container's left edge; show right-edge peek */
  padding: 0 max(24px, calc((100vw - 1180px) / 2 + 24px)) 6px;
}
.ffh-ds .fl-clips-track::-webkit-scrollbar { display: none; }

/* ── Individual card — 9:16 vertical ── */
.ffh-ds .fl-clip-card {
  flex: 0 0 clamp(220px, 22vw, 300px);
  aspect-ratio: 9 / 16;
  position: relative;
  border: 1px solid #E6D8BC;
  border-radius: 4px;
  overflow: hidden;
  scroll-snap-align: start;
  cursor: pointer;
  background: #1A1614;
  box-shadow: 0 4px 24px rgba(35,32,26,.12);
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .ffh-ds .fl-clip-card {
    flex: 0 0 78vw;
  }
}

/* Video fills card absolutely */
.ffh-ds .fl-clip-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Overlay — semi-transparent veil; toggled via .hidden */
.ffh-ds .fl-clip-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(35,32,26,.18);
  transition: opacity .22s ease;
}
.ffh-ds .fl-clip-overlay.hidden {
  opacity: 0;
  pointer-events: none;
}

/* Gold circular play button */
.ffh-ds .fl-clip-play {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: rgba(184,155,106,.92);
  border: 1.5px solid rgba(255,255,255,.32);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
  box-shadow: 0 4px 22px rgba(0,0,0,.30);
  pointer-events: none; /* card handles the click */
}
.ffh-ds .fl-clip-card:hover .fl-clip-play {
  transform: scale(1.09);
  background: #B89B6A;
  box-shadow: 0 8px 30px rgba(0,0,0,.38);
}
.ffh-ds .fl-clip-play svg {
  width: 20px;
  height: 20px;
  fill: #F8F4EA;
  margin-left: 3px; /* optical centre of play triangle */
}

/* Caption bar with gradient scrim at bottom */
.ffh-ds .fl-clip-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 52px 14px 14px;
  background: linear-gradient(to bottom, transparent, rgba(20,16,12,.86));
  font-family: 'Cinzel', serif;
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #F3ECDA;
  line-height: 1.45;
  transition: opacity .22s ease;
  pointer-events: none;
}
.ffh-ds .fl-clip-caption.hidden {
  opacity: 0;
}

/* ════════════════════════════════════════════════════════════
   LEAN SELL HERO — minimal text, big warm image (2026 rebuild)
   ════════════════════════════════════════════════════════════ */

/* Balanced split — equal columns so image gets real estate */
.ffh-ds .fl-hero-layout {
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: stretch;
}
@media (max-width: 900px) {
  .ffh-ds .fl-hero-layout {
    grid-template-columns: 1fr;
    gap: 40px;
    align-items: start;
  }
}

/* Image column stretches full hero height */
.ffh-ds .fl-hero-img {
  align-self: stretch;
  display: flex;
  flex-direction: column;
}

/* Hero image frame — no figcaption, fills column height */
.ffh-ds .fl-hero-img-frame {
  flex: 1;
  margin: 0;
  border: 1px solid #DAC9A6;
  overflow: hidden;
  min-height: 460px;
}
.ffh-ds .fl-hero-img-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  /* override the 3/4 aspect-ratio set on .fl-img-frame img */
  aspect-ratio: unset;
}
@media (max-width: 900px) {
  .ffh-ds .fl-hero-img-frame {
    min-height: 300px;
    max-height: 420px;
  }
  .ffh-ds .fl-hero-img-frame img {
    aspect-ratio: 4 / 3;
    height: auto;
  }
}

/* Offer line — one quiet Cormorant italic sentence */
.ffh-ds .fl-hero-offer {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(17px, 1.8vw, 22px);
  font-style: italic;
  font-weight: 500;
  color: #3A342A;
  line-height: 1.5;
  margin: 22px 0 34px;
  max-width: 440px;
}

/* ════════════════════════════════════════════════════════════
   PIVOT BAND — sole reversed dark moment on the page
   Replaces THE PROBLEM + PICTURE WEEK SIXTEEN filler sections
   ════════════════════════════════════════════════════════════ */

.ffh-ds .fl-pivot {
  background: #221E18;
  padding: 120px 0;
  border-top: 1px solid #2E2820;
  border-bottom: 1px solid #2E2820;
}

.ffh-ds .fl-pivot-in {
  text-align: center;
}

.ffh-ds .fl-pivot-kicker {
  display: block;
  font-family: 'Cinzel', serif;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .30em;
  text-transform: uppercase;
  color: #A89B8A;
  margin-bottom: 44px;
}

.ffh-ds .fl-pivot-h {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(44px, 7.5vw, 92px);
  font-weight: 600;
  font-style: italic;
  letter-spacing: .01em;
  line-height: 1.06;
  color: #EDE6D8;
  text-transform: none;
  margin: 0 auto 44px;
  max-width: 18ch;
}

.ffh-ds .fl-pivot-gold {
  color: #C6A867;
  font-style: italic;
}

.ffh-ds .fl-pivot-sub {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(13px, 1.3vw, 16px);
  font-weight: 400;
  color: #B7A98D;
  line-height: 1.7;
  margin: 0 auto;
  max-width: 460px;
}

/* ── 16 WEEKS band: switch to CREAM (pivot is now the sole dark band) ── */
.ffh-ds .fl-time-section {
  background: #EEE4CF;
  border-top: 1px solid #E6D8BC;
  border-bottom: 1px solid #E6D8BC;
}
/* Big number and body text revert to warm-on-cream */
.ffh-ds .fl-big-num  { color: #B89B6A; }
.ffh-ds .fl-time-body { color: #5C5346; }

/* ════════════════════════════════════════════════════════════
   TAITE FEATURED TRANSFORMATION — prominent lead of proof section
   ════════════════════════════════════════════════════════════ */

.ffh-ds .fl-taite-feature {
  display: flex;
  gap: 52px;
  align-items: center;
  margin: 40px 0 0;
  padding: 40px;
  background: #FBF6EA;
  border: 1px solid #E6D8BC;
}
@media (max-width: 760px) {
  .ffh-ds .fl-taite-feature {
    flex-direction: column;
    gap: 28px;
    padding: 28px;
  }
}

.ffh-ds .fl-taite-fig {
  flex: none;
  width: 320px;
  margin: 0;
  border: 1px solid #DAC9A6;
  overflow: hidden;
}
.ffh-ds .fl-taite-fig img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: top center;
  display: block;
}
@media (max-width: 760px) {
  .ffh-ds .fl-taite-fig { width: 100%; max-width: 320px; margin: 0 auto; }
}

.ffh-ds .fl-taite-copy { flex: 1; }

.ffh-ds .fl-taite-num {
  font-family: 'Cinzel', serif;
  font-size: clamp(36px, 5.5vw, 72px);
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.0;
  color: #B89B6A;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.ffh-ds .fl-taite-label {
  font-family: 'Cinzel', serif;
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #8A7E68;
  margin: 0 0 20px;
  line-height: 1.6;
  padding-bottom: 20px;
  border-bottom: 1px solid #E6D8BC;
}

.ffh-ds .fl-taite-desc {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(15px, 1.5vw, 18px);
  font-style: italic;
  color: #3A342A;
  line-height: 1.65;
  margin: 0;
  max-width: 480px;
}


/* ---- Hero offer meta-row (scannable pillars, accented price) ---- */
.ffh-ds .fl-hero-meta{
  list-style:none; margin:24px 0 30px; padding:0;
  display:flex; flex-wrap:wrap; align-items:center;
  border-top:1px solid #E0D2B4; border-bottom:1px solid #E0D2B4;
}
.ffh-ds .fl-hero-meta li{
  font-family:'Montserrat',sans-serif; font-size:14px; color:#5C5346;
  padding:15px 20px; position:relative; line-height:1;
}
.ffh-ds .fl-hero-meta li:first-child{ padding-left:0; }
.ffh-ds .fl-hero-meta li + li::before{
  content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
  height:20px; width:1px; background:#DAC9A6;
}
.ffh-ds .fl-hero-meta li b{ font-weight:600; color:#23201A; }
.ffh-ds .fl-hero-meta .fl-hero-price{ display:inline-flex; align-items:baseline; gap:2px; }
.ffh-ds .fl-hero-meta .fl-hero-price b{
  font-family:'Cinzel',serif; font-size:26px; line-height:.9; color:#96794A;
}
.ffh-ds .fl-hero-meta .fl-hero-price span{ font-size:13px; color:#96794A; font-weight:500; }
@media(max-width:560px){
  .ffh-ds .fl-hero-meta li{ padding:12px 16px; font-size:13px; }
  .ffh-ds .fl-hero-meta .fl-hero-price b{ font-size:22px; }
}

/* ================================================================
   IRONX DARK GYM THEME — Fat Loss page (.ffh-ds)
   Overrides the warm cream/gold system → near-black + forge orange-red.
   ================================================================ */
.ffh-ds{ background:#0E0E0E !important; color:#EDEDEA !important; font-family:'Inter',system-ui,sans-serif !important; }
.ffh-ds nav,.ffh-ds header,.ffh-ds section,.ffh-ds footer,
.ffh-ds .fl-hero,.ffh-ds .fl-section,.ffh-ds .fl-close,.ffh-ds #apply,
.ffh-ds .fl-meet-jace,.ffh-ds .fl-hear-jace,.ffh-ds .fl-time-section,.ffh-ds .fl-dream{
  background:#0E0E0E !important; color:#EDEDEA !important;
}
.ffh-ds .fl-alt,.ffh-ds .fl-authority-band,.ffh-ds .fl-jace-stat,
.ffh-ds .fl-clip-card,.ffh-ds .fl-reassurance-band,.ffh-ds .fl-founders-note{ background:#141618 !important; }
.ffh-ds .fl-pivot{ background:#050505 !important; }

/* body text */
.ffh-ds p,.ffh-ds li,.ffh-ds cite,.ffh-ds blockquote{ color:#C4C4C0; }
.ffh-ds .fl-jace-bio,.ffh-ds .fl-time-body,.ffh-ds .fl-hear-sub,.ffh-ds .fl-founders-text,.ffh-ds .lead,.ffh-ds .fl-pivot-sub{ color:#ADADA8 !important; }

/* headlines → Anton, uppercase, white */
.ffh-ds h1,.ffh-ds h2,.ffh-ds h3,.ffh-ds .fl-h1,.ffh-ds .fl-h2,.ffh-ds .fl-jace-h2,
.ffh-ds .fl-pivot-h,.ffh-ds .fl-big-num,.ffh-ds .fl-hear-h2{
  font-family:'Anton','Oswald',sans-serif !important; text-transform:uppercase !important;
  letter-spacing:.005em !important; color:#FFFFFF !important; font-weight:400 !important; line-height:1.03 !important;
}
.ffh-ds .fl-big-num{ color:#FF4A1C !important; }

/* eyebrows / kickers / labels → Oswald caps; accent orange */
.ffh-ds .fl-kicker,.ffh-ds .eyebrow,.ffh-ds .fl-band-eyebrow,.ffh-ds .fl-founders-eyebrow,
.ffh-ds .fl-scar-line,.ffh-ds .fl-cta-note,.ffh-ds .fl-jace-stat-lbl,.ffh-ds .fl-clip-caption,
.ffh-ds .fl-img-cap,.ffh-ds label,.ffh-ds .lf-note,.ffh-ds .fl-founders-credit,.ffh-ds .fl-founders-cite,
.ffh-ds .fl-hero-meta li,.ffh-ds .lnk,.ffh-ds .fl-pivot-kicker{
  font-family:'Oswald',sans-serif !important; text-transform:uppercase !important; letter-spacing:.11em !important;
}
.ffh-ds .fl-kicker,.ffh-ds .eyebrow,.ffh-ds .fl-band-eyebrow,.ffh-ds .fl-founders-eyebrow,
.ffh-ds label,.ffh-ds .fl-founders-cite,.ffh-ds .fl-scar-line{ color:#FF4A1C !important; }

/* gold accents → forge orange */
.ffh-ds .fl-gold,.ffh-ds .fl-pivot-gold,.ffh-ds .fl-gold-text,.ffh-ds .accent,
.ffh-ds .fl-hero-price b,.ffh-ds .fl-hero-price span,.ffh-ds .fl-jace-stat-val{ color:#FF4A1C !important; }
.ffh-ds .fl-hero-price b,.ffh-ds .fl-jace-stat-val{ font-family:'Anton',sans-serif !important; }

/* wordmark → Oswald caps (kill cursive); crest + nav white */
.ffh-ds .ffh-wordmark{ font-family:'Oswald',sans-serif !important; font-weight:700 !important; text-transform:uppercase !important; letter-spacing:.05em !important; color:#fff !important; font-size:17px !important; }
.ffh-ds .brand,.ffh-ds .ffh-crest{ color:#fff !important; }
.ffh-ds .lnk{ color:#C4C4C0 !important; } .ffh-ds .lnk:hover{ color:#FF4A1C !important; }

/* buttons */
.ffh-ds .btn-primary{ background:#FF4A1C !important; color:#fff !important; border:none !important; font-family:'Oswald',sans-serif !important; text-transform:uppercase !important; letter-spacing:.05em !important; font-weight:600 !important; border-radius:2px !important; box-shadow:none !important; }
.ffh-ds .btn-primary:hover{ background:#D93A10 !important; }
.ffh-ds .btn-ghost{ background:transparent !important; border:1.5px solid rgba(255,255,255,.35) !important; color:#fff !important; font-family:'Oswald',sans-serif !important; text-transform:uppercase !important; border-radius:2px !important; }

/* offer pillar row */
.ffh-ds .fl-hero-meta{ border-color:rgba(255,255,255,.16) !important; }
.ffh-ds .fl-hero-meta li{ color:#C4C4C0 !important; }
.ffh-ds .fl-hero-meta li b{ color:#fff !important; }
.ffh-ds .fl-hero-meta li + li::before{ background:rgba(255,255,255,.18) !important; }

/* rules / cross marks → orange */
.ffh-ds .ffh-rule svg,.ffh-ds .ffh-rule{ color:#FF4A1C !important; fill:#FF4A1C !important; }

/* photo frames neutral */
.ffh-ds .fl-img-frame,.ffh-ds .fl-jace-portrait,.ffh-ds .fl-founders-photo,.ffh-ds figure{ border:1px solid rgba(255,255,255,.15) !important; background:transparent !important; }

/* scripture serif → Inter italic */
.ffh-ds .serif,.ffh-ds .fl-founders-scripture p{ font-family:'Inter',sans-serif !important; font-style:italic !important; color:#DADAD6 !important; }

/* form dark */
.ffh-ds .lead-form input,.ffh-ds .lead-form textarea{ background:#141618 !important; border:1px solid rgba(255,255,255,.16) !important; color:#F4F4F2 !important; border-radius:2px !important; }
.ffh-ds .lead-form input::placeholder,.ffh-ds .lead-form textarea::placeholder{ color:#787874 !important; }
.ffh-ds .lead-form input:focus,.ffh-ds .lead-form textarea:focus{ border-color:#FF4A1C !important; box-shadow:0 0 0 3px rgba(255,74,28,.22) !important; }
.ffh-ds .lead-form label{ color:#FF4A1C !important; }

/* clips carousel — dark cards, orange play, CENTERED to content column */
.ffh-ds .fl-clips-outer{ max-width:1180px !important; margin:0 auto !important; padding:0 24px !important; position:relative; }
.ffh-ds .fl-clip-card{ background:#141618 !important; border:1px solid rgba(255,255,255,.12) !important; }
.ffh-ds .fl-clip-caption{ background:linear-gradient(transparent,rgba(0,0,0,.9)) !important; color:#fff !important; }
.ffh-ds .fl-clip-play{ background:#FF4A1C !important; color:#fff !important; border:none !important; }
.ffh-ds .fl-clips-arrow{ background:#141618 !important; color:#fff !important; border:1px solid rgba(255,255,255,.22) !important; }
.ffh-ds .fl-clips-arrow:hover{ background:#FF4A1C !important; }

/* footer / sticky */
.ffh-ds footer{ border-top:1px solid rgba(255,255,255,.1) !important; }
.ffh-ds .foot-copy,.ffh-ds .foot-links a,.ffh-ds .track-links a{ color:#98988F !important; }
.ffh-ds .sticky-cta{ background:#0E0E0E !important; border-top:1px solid rgba(255,255,255,.1) !important; }

/* --- IronX leak fixes: risk, proof, price, scripture, close --- */
.ffh-ds .fl-risk{ background:#050505 !important; }
.ffh-ds .fl-big-gold{ font-family:'Anton',sans-serif !important; text-transform:uppercase !important; letter-spacing:.01em !important; color:#FF4A1C !important; }
.ffh-ds .fl-proof-item,.ffh-ds .fl-taite-feature{ background:#141618 !important; border:1px solid rgba(255,255,255,.12) !important; }
.ffh-ds .fl-taite-num,.ffh-ds .fl-proof-num{ font-family:'Anton',sans-serif !important; color:#FF4A1C !important; text-transform:uppercase !important; }
.ffh-ds .fl-taite-label,.ffh-ds .fl-proof-who-text,.ffh-ds .fl-progress-caption{ font-family:'Oswald',sans-serif !important; text-transform:uppercase !important; letter-spacing:.1em !important; color:#FF4A1C !important; }
.ffh-ds .fl-taite-desc,.ffh-ds .fl-proof-q{ color:#C4C4C0 !important; }
.ffh-ds .fl-price-line{ color:#C4C4C0 !important; }
.ffh-ds .fl-price-val{ font-family:'Anton',sans-serif !important; color:#FF4A1C !important; }
.ffh-ds .fl-price-line s{ color:#7A7A76 !important; }
.ffh-ds .scripture{ background:#050505 !important; }
.ffh-ds .scripture .serif,.ffh-ds .scripture cite{ color:#D8D8D4 !important; }
.ffh-ds .fl-close-scar,.ffh-ds .fl-reassurance-line{ color:#FF4A1C !important; font-family:'Oswald',sans-serif !important; text-transform:uppercase !important; letter-spacing:.06em !important; }
.ffh-ds .fl-taite-fig,.ffh-ds .fl-prog-fig,.ffh-ds .fl-founders-photo{ border:1px solid rgba(255,255,255,.14) !important; }
.ffh-ds .fl-auth-lead,.ffh-ds .fl-low-friction,.ffh-ds .fl-founders-text{ color:#BEBEB9 !important; }
.ffh-ds .fl-founders-credit{ color:#8C8C88 !important; }
.ffh-ds .fl-close-h{ color:#fff !important; }

/* --- IronX: form panel + faint text fixes --- */
.ffh-ds .fl-form-wrap,.ffh-ds .lead-form-wrap{ background:#141618 !important; border:1px solid rgba(255,255,255,.1) !important; }
.ffh-ds .fl-mech-list li,.ffh-ds .fl-mech-list span{ color:#DEDEDA !important; }
.ffh-ds .fl-mech-icon{ color:#FF4A1C !important; border-color:rgba(255,74,28,.4) !important; background:rgba(255,74,28,.08) !important; }
.ffh-ds .fl-mech-icon svg{ stroke:#FF4A1C !important; }

/* --- IronX: form panel leak + thin abstract faith band --- */
.ffh-ds .lead-form{ background:transparent !important; box-shadow:none !important; }
.ffh-ds .fl-faith-beat{
  min-height:0 !important; height:auto !important; padding:56px 0 !important; text-align:center;
  background:#0A0A0A !important;
  background-image:
    radial-gradient(120% 120% at 100% 50%, rgba(255,74,28,.16), transparent 55%),
    radial-gradient(90% 120% at 0% 50%, rgba(255,74,28,.07), transparent 60%),
    repeating-linear-gradient(115deg, rgba(255,255,255,.022) 0 2px, transparent 2px 24px) !important;
  border-top:1px solid rgba(255,255,255,.08) !important; border-bottom:1px solid rgba(255,255,255,.08) !important;
}
.ffh-ds .fl-faith-beat img{ display:none !important; }
.ffh-ds .fl-faith-quote{ font-family:'Inter',sans-serif !important; font-style:italic !important; font-size:clamp(18px,2.3vw,26px) !important; color:#EDEDEA !important; max-width:760px; margin:0 auto !important; line-height:1.5 !important; border:none !important; }
.ffh-ds .fl-faith-cite{ display:block; margin-top:16px; font-family:'Oswald',sans-serif !important; text-transform:uppercase !important; letter-spacing:.2em !important; color:#FF4A1C !important; font-size:13px !important; font-style:normal !important; }

/* --- IronX: last light-bg leaks (grid gap containers) --- */
.ffh-ds .fl-jace-stats,.ffh-ds .fl-proof-grid{ background:transparent !important; gap:1px; }
.ffh-ds .fl-jace-stats{ border:1px solid rgba(255,255,255,.12) !important; }

/* --- IronX: clips carousel centered + flex-locked on mobile --- */
.ffh-ds .fl-clips-track{ scroll-snap-type:x mandatory; }
.ffh-ds .fl-clip-card{ scroll-snap-align:center; }
@media(max-width:768px){
  .ffh-ds .fl-clips-outer{ padding:0 !important; }
  .ffh-ds .fl-clips-track{ padding:0 8vw !important; gap:14px !important; scroll-snap-type:x mandatory !important; }
  .ffh-ds .fl-clip-card{ flex:0 0 84vw !important; width:84vw !important; scroll-snap-align:center !important; scroll-snap-stop:always !important; }
  .ffh-ds .fl-clips-arrow{ display:none !important; }
}

/* --- Grand-slam community block --- */
.ffh-ds .fl-community{ margin-top:60px; padding-top:50px; border-top:1px solid rgba(255,255,255,.1); text-align:center; }
.ffh-ds .fl-community .ffh-rule{ justify-content:center; }
.ffh-ds .fl-community-h{ font-family:'Anton',sans-serif !important; text-transform:uppercase; color:#fff !important; font-size:clamp(26px,4vw,44px) !important; margin:14px 0 34px !important; line-height:1.05 !important; }
.ffh-ds .fl-community-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.1); }
@media(max-width:760px){ .ffh-ds .fl-community-grid{ grid-template-columns:repeat(2,1fr); } }
.ffh-ds .fl-comm-item{ background:#141618; padding:30px 18px; display:flex; flex-direction:column; align-items:center; gap:10px; }
.ffh-ds .fl-comm-num{ font-family:'Anton',sans-serif; font-size:42px; color:#FF4A1C; line-height:.9; }
.ffh-ds .fl-comm-num em{ font-size:16px; font-style:normal; color:#9C9C98; }
.ffh-ds .fl-comm-lbl{ font-family:'Inter',sans-serif; font-size:13px; color:#B4B4AF; line-height:1.4; }

/* --- Dream-outcome assertions --- */
.ffh-ds .fl-outcome-list{ list-style:none; margin:28px 0 0; padding:0; border-top:1px solid rgba(255,255,255,.12); }
.ffh-ds .fl-outcome-list li{ display:flex; align-items:center; gap:24px; padding:26px 4px; border-bottom:1px solid rgba(255,255,255,.12); }
.ffh-ds .fl-outcome-num{ font-family:'Oswald',sans-serif; font-size:15px; color:#FF4A1C; letter-spacing:.1em; flex:none; width:34px; }
.ffh-ds .fl-outcome-claim{ font-family:'Anton',sans-serif; text-transform:uppercase; color:#EDEDEA; font-size:clamp(20px,3.2vw,38px); line-height:1.05; letter-spacing:.005em; }
.ffh-ds .fl-outcome-claim .fl-gold{ color:#FF4A1C !important; }

/* --- Proof wins list (mirrors dream-outcome, quote as support) --- */
.ffh-ds .fl-proof-wins{ margin-top:40px !important; }
.ffh-ds .fl-proof-wins li{ align-items:flex-start !important; }
.ffh-ds .fl-proof-wins .fl-outcome-num{ margin-top:9px; }
.ffh-ds .fl-proof-wins .fl-outcome-claim{ font-size:clamp(18px,2.6vw,30px) !important; }
.ffh-ds .fl-win-body{ flex:1; }
.ffh-ds .fl-win-quote{ font-family:'Inter',sans-serif !important; font-style:normal; font-size:14px !important; color:#9C9C98 !important; margin:10px 0 0 !important; line-height:1.55; max-width:760px; }
.ffh-ds .fl-win-who{ font-family:'Oswald',sans-serif !important; text-transform:uppercase; letter-spacing:.08em; color:#FF4A1C !important; font-size:12px; white-space:nowrap; }

/* --- The 3 things / accountability hack --- */
.ffh-ds .fl-three-h{ font-family:'Anton',sans-serif !important; text-transform:uppercase; color:#fff !important; font-size:clamp(24px,3.6vw,42px) !important; margin:14px 0 40px !important; line-height:1.05 !important; max-width:900px; }
.ffh-ds .fl-three-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.1); }
@media(max-width:760px){ .ffh-ds .fl-three-grid{ grid-template-columns:1fr; } }
.ffh-ds .fl-three-item{ background:#141618; padding:36px 28px; display:flex; flex-direction:column; gap:12px; }
.ffh-ds .fl-three-num{ font-family:'Oswald',sans-serif; font-size:14px; letter-spacing:.15em; color:#8C8C88; }
.ffh-ds .fl-three-word{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(24px,2.6vw,34px); color:#fff; line-height:1; }
.ffh-ds .fl-three-sub{ font-family:'Inter',sans-serif; font-size:14px; color:#ADADA8; line-height:1.5; }
.ffh-ds .fl-three-hero{ background:#1C120C; box-shadow:inset 0 0 0 2px #FF4A1C; }
.ffh-ds .fl-three-hero .fl-three-word{ color:#FF4A1C; }
.ffh-ds .fl-three-hero .fl-three-num{ color:#FF4A1C; }
.ffh-ds .fl-three-hack{ margin-top:44px; max-width:820px; }
.ffh-ds .fl-three-hack-lead{ font-family:'Inter',sans-serif !important; font-size:clamp(16px,1.7vw,19px) !important; color:#D2D2CE !important; line-height:1.6 !important; margin:0 0 18px !important; }
.ffh-ds .fl-three-verse{ margin:26px 0 0 !important; padding:20px 0 0 !important; border-top:1px solid rgba(255,255,255,.12); font-family:'Inter',sans-serif !important; font-style:italic; font-size:clamp(17px,2vw,24px) !important; color:#EDEDEA !important; border-left:none !important; }
.ffh-ds .fl-three-verse cite{ display:block; margin-top:12px; font-family:'Oswald',sans-serif !important; text-transform:uppercase; letter-spacing:.2em; color:#FF4A1C !important; font-size:12px; font-style:normal; }

/* --- Hero pillar micro-line (controlled) --- */
.ffh-ds .fl-hero-pillars{ font-family:'Oswald',sans-serif !important; text-transform:uppercase; letter-spacing:.06em; font-size:14px !important; color:#EDEDEA !important; margin:18px 0 0 !important; }
.ffh-ds .fl-hero-pillars .fl-gold{ color:#FF4A1C !important; }
.ffh-ds .fl-hero-pillars-tail{ display:block; margin-top:5px; font-family:'Inter',sans-serif !important; text-transform:none; letter-spacing:0; font-size:13px; color:#9C9C98 !important; }

/* --- 4 C's framing --- */
.ffh-ds .fl-hero-4c{ color:#FF4A1C !important; font-weight:600; }
.ffh-ds .fl-three-hack-lead b{ color:#fff !important; font-weight:700; }

/* --- 4 C's hero line: a touch more presence --- */
.ffh-ds .fl-hero-pillars{ font-size:15px !important; letter-spacing:.09em !important; color:#F4F4F2 !important; display:inline-flex; align-items:center; gap:10px; }
.ffh-ds .fl-hero-pillars::before{ content:""; width:22px; height:2px; background:#FF4A1C; flex:none; }
.ffh-ds .fl-hero-4c{ color:#FF4A1C !important; font-weight:700 !important; }

/* --- taste: section rhythm fixes (transitions) --- */
.ffh-ds .fl-three{ padding:100px 0 !important; }
.ffh-ds .fl-outcome{ padding:96px 0 !important; }

/* --- taste: separate form card from the reassurance band below it --- */
.ffh-ds .fl-reassurance-band{ margin-top:56px !important; }

/* --- Carousel: align cards to content column on desktop (kill the big track padding) --- */
@media(min-width:769px){ .ffh-ds .fl-clips-track{ padding-left:0 !important; padding-right:0 !important; } }

/* --- Sticky CTA: appears once hero scrolls out, all screen sizes --- */
.ffh-ds .sticky-cta{
  display:flex !important; position:fixed; left:0; right:0; bottom:0; z-index:60;
  justify-content:center; padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  background:rgba(12,12,12,.94); backdrop-filter:blur(10px);
  border-top:1px solid rgba(255,255,255,.13);
  transform:translateY(115%); transition:transform .32s cubic-bezier(.16,1,.3,1);
  pointer-events:none;
}
.ffh-ds .sticky-cta.past-hero{ transform:translateY(0); pointer-events:auto; }
.ffh-ds .sticky-cta .btn{ width:100%; max-width:440px; justify-content:center; }
@media(min-width:769px){ .ffh-ds .sticky-cta .btn{ max-width:360px; } }

/* --- taste: authority band (eyebrow gap + kill leftover serif) --- */
.ffh-ds .fl-authority-band{ padding:48px 0 !important; margin-top:40px !important; }
.ffh-ds .fl-band-eyebrow{ margin-bottom:16px !important; }
.ffh-ds .fl-auth-lead{ font-family:'Inter',sans-serif !important; font-style:normal !important; font-size:clamp(18px,2vw,23px) !important; line-height:1.45 !important; color:#EDEDEA !important; margin-bottom:0 !important; max-width:780px; }

/* --- Hero nerve subline --- */
.ffh-ds .fl-hero-nerve{ font-family:'Inter',sans-serif !important; font-size:clamp(15px,1.5vw,17px) !important; color:#B4B4AF !important; line-height:1.5 !important; max-width:520px; margin:16px 0 0 !important; }

/* --- Bold $100/mo price section --- */
.ffh-ds .fl-price-wrap{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
@media(max-width:760px){ .ffh-ds .fl-price-wrap{ grid-template-columns:1fr; gap:36px; } }
.ffh-ds .fl-price-big{ display:flex; align-items:baseline; gap:8px; margin:14px 0 18px; line-height:.85; }
.ffh-ds .fl-price-amt{ font-family:'Anton',sans-serif; font-size:clamp(78px,12vw,160px); color:#FF4A1C; letter-spacing:-.02em; line-height:.82; }
.ffh-ds .fl-price-per{ font-family:'Oswald',sans-serif; font-size:clamp(22px,2.6vw,34px); color:#EDEDEA; text-transform:uppercase; letter-spacing:.05em; }
.ffh-ds .fl-price-anchor{ font-family:'Inter',sans-serif !important; font-size:clamp(15px,1.6vw,18px) !important; color:#B4B4AF !important; line-height:1.55 !important; max-width:440px; margin:0 !important; }
.ffh-ds .fl-price-anchor s{ color:#7A7A76 !important; }
.ffh-ds .fl-price-vs{ border-left:2px solid #FF4A1C; padding-left:30px; }
.ffh-ds .fl-price-vs-lbl{ font-family:'Oswald',sans-serif !important; text-transform:uppercase !important; letter-spacing:.12em !important; color:#FF4A1C !important; font-size:14px !important; margin:0 0 18px !important; }
.ffh-ds .fl-price-vs ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.ffh-ds .fl-price-vs li{ font-family:'Inter',sans-serif; font-size:clamp(16px,1.8vw,19px); color:#EDEDEA; padding-left:26px; position:relative; }
.ffh-ds .fl-price-vs li::before{ content:"—"; position:absolute; left:0; color:#FF4A1C; font-weight:700; }

/* ============ HOME (brand/about) — IronX ============ */
.ffh-ds .hm-coach-rev{ margin-top:48px; padding-top:48px; border-top:1px solid rgba(255,255,255,.1); }
.ffh-ds .hm-programs{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.1); }
@media(max-width:640px){ .ffh-ds .hm-programs{ grid-template-columns:1fr; } }
.ffh-ds .hm-prog{ background:#141618; padding:42px 36px; display:flex; flex-direction:column; gap:10px; transition:background .2s; }
.ffh-ds .hm-prog:hover{ background:#1C120C; }
.ffh-ds .hm-prog-name{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(22px,2.4vw,32px); color:#fff; line-height:1.04; }
.ffh-ds .hm-prog-price{ font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.06em; color:#FF4A1C; font-size:16px; }
.ffh-ds .hm-prog-go{ font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.1em; color:#B4B4AF; font-size:13px; margin-top:10px; }
.ffh-ds .hm-prog:hover .hm-prog-go{ color:#FF4A1C; }

/* ============ GLP-1 (clinical / science) — IronX ============ */
.ffh-ds .gl-stat-card{ background:#141618; border:1px solid rgba(255,255,255,.12); border-left:3px solid #FF4A1C; padding:40px 36px; display:flex; flex-direction:column; gap:16px; height:100%; justify-content:center; }
.ffh-ds .gl-stat-num{ font-family:'Anton',sans-serif; font-size:clamp(64px,9vw,120px); color:#FF4A1C; line-height:.82; }
.ffh-ds .gl-stat-cap{ font-family:'Inter',sans-serif; font-size:clamp(16px,1.7vw,20px); color:#D2D2CE; line-height:1.45; }
.ffh-ds .gl-stat-cap b{ color:#fff; }
.ffh-ds .gl-stat-src{ font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.08em; font-size:11px; color:#8C8C88; }
.ffh-ds .gl-sci-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.1); margin-top:42px; }
@media(max-width:760px){ .ffh-ds .gl-sci-grid{ grid-template-columns:1fr; } }
.ffh-ds .gl-sci{ background:#141618; padding:34px 28px; display:flex; flex-direction:column; gap:12px; }
.ffh-ds .gl-sci-num{ font-family:'Anton',sans-serif; font-size:56px; color:#FF4A1C; line-height:.82; }
.ffh-ds .gl-sci-lbl{ font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.14em; color:#EDEDEA; font-size:14px; }
.ffh-ds .gl-sci-sub{ font-family:'Inter',sans-serif; font-size:14px; color:#ADADA8; line-height:1.5; }
.ffh-ds .gl-src{ font-family:'Inter',sans-serif !important; font-size:12.5px !important; color:#7A7A76 !important; margin-top:22px !important; font-style:italic; max-width:760px; }
.ffh-ds .gl-lead{ font-family:'Inter',sans-serif !important; font-size:clamp(16px,1.7vw,19px) !important; color:#C4C4C0 !important; line-height:1.6 !important; max-width:760px; margin:0 0 8px !important; }
.ffh-ds .gl-protocol{ margin-top:34px !important; }
.ffh-ds .gl-guarantee{ font-family:'Inter',sans-serif !important; font-size:13px !important; color:#9C9C98 !important; margin-top:22px !important; padding-top:18px; border-top:1px solid rgba(255,255,255,.12); line-height:1.5; }
.ffh-ds .fl-form-wrap-outer{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
@media(max-width:860px){ .ffh-ds .fl-form-wrap-outer{ grid-template-columns:1fr; gap:36px; } }
.ffh-ds .fl-close-head .fl-h2{ margin:14px 0 16px; }

/* ============ GLP-1 HERO — Swiss International Typographic Style ============ */
.ffh-ds .gl-swiss{ background:#ECEAE2 !important; color:#141414; border-bottom:2px solid #141414; overflow:hidden; }
.ffh-ds .gl-swiss span, .ffh-ds .gl-swiss p, .ffh-ds .gl-swiss a, .ffh-ds .gl-swiss b, .ffh-ds .gl-swiss h1{ font-family:'Inter',sans-serif !important; }
.ffh-ds .gl-sw-inner{ max-width:1280px; margin:0 auto; padding:0 40px; }
.ffh-ds .gl-sw-top{ display:grid; grid-template-columns:1fr 1fr 1fr; border-bottom:1px solid #141414; padding:15px 0; font-size:12px; text-transform:uppercase; letter-spacing:.16em; font-weight:600; color:#141414; }
.ffh-ds .gl-sw-top .gl-sw-c{ text-align:center; }
.ffh-ds .gl-sw-top .gl-sw-r{ text-align:right; }
.ffh-ds .gl-sw-main{ display:grid; grid-template-columns:1.6fr 1fr; }
@media(max-width:820px){ .ffh-ds .gl-sw-main{ grid-template-columns:1fr; } }
.ffh-ds .gl-sw-head{ padding:64px 48px 60px 0; border-right:1px solid #141414; }
@media(max-width:820px){ .ffh-ds .gl-sw-head{ border-right:none; border-bottom:1px solid #141414; padding:44px 0; } }
.ffh-ds .gl-sw-h1{ font-weight:800 !important; font-size:clamp(46px,6.6vw,94px) !important; line-height:.92 !important; letter-spacing:-.035em !important; color:#141414 !important; text-transform:none !important; margin:0 0 30px !important; max-width:13ch; }
.ffh-ds .gl-sw-sub{ font-size:clamp(15px,1.5vw,18px) !important; line-height:1.5 !important; color:#33322E !important; max-width:44ch; margin:0 !important; font-weight:400; }
.ffh-ds .gl-sw-data{ padding:64px 0 60px 48px; display:flex; flex-direction:column; }
@media(max-width:820px){ .ffh-ds .gl-sw-data{ padding:44px 0; } }
.ffh-ds .gl-sw-fig{ font-weight:800; font-size:clamp(72px,8.5vw,132px); line-height:.85; letter-spacing:-.045em; color:#FF4A1C; }
.ffh-ds .gl-sw-figcap{ font-size:16px; line-height:1.4; color:#141414; margin-top:20px; max-width:26ch; font-weight:500; }
.ffh-ds .gl-sw-src{ font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:#8A857A; margin-top:16px; }
.ffh-ds .gl-sw-cells{ display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #141414; }
@media(max-width:820px){ .ffh-ds .gl-sw-cells{ grid-template-columns:repeat(2,1fr); } }
.ffh-ds .gl-sw-cell{ padding:24px 24px 26px 0; border-right:1px solid #141414; display:flex; flex-direction:column; gap:5px; min-height:104px; }
.ffh-ds .gl-sw-cell b{ font-size:30px; font-weight:800; letter-spacing:-.02em; color:#141414; line-height:1; }
.ffh-ds .gl-sw-cell span{ font-size:11.5px; text-transform:uppercase; letter-spacing:.13em; color:#5A5852; }
@media(max-width:820px){ .ffh-ds .gl-sw-cell:nth-child(2){ border-right:none; } }
.ffh-ds .gl-sw-cell:last-child{ border-right:none; padding-right:0; }
.ffh-ds .gl-sw-cta-cell{ justify-content:center; align-items:flex-start; padding-left:24px; }
.ffh-ds .gl-sw-cta{ display:inline-block; background:#FF4A1C; color:#fff !important; font-weight:700; font-size:13.5px; text-transform:uppercase; letter-spacing:.06em; padding:14px 22px; text-decoration:none; transition:background .2s; }
.ffh-ds .gl-sw-cta:hover{ background:#D93A10; }
.ffh-ds .gl-sw-spots{ margin-top:11px; font-size:11px !important; text-transform:uppercase; letter-spacing:.1em; color:#5A5852; }

/* ============ GLP-1 — LIGHT SWISS (whole page, scoped) ============ */
.gl-swiss-page{ background:#ECEAE2 !important; }
.gl-swiss-page nav{ background:#ECEAE2 !important; border-bottom:1px solid #141414 !important; }
.gl-swiss-page nav .brand,.gl-swiss-page nav .ffh-wordmark,.gl-swiss-page nav .lnk{ color:#141414 !important; }
.gl-swiss-page nav .lnk{ font-family:'Inter',sans-serif !important; font-size:13px; text-transform:uppercase; letter-spacing:.1em; }
.gl-swiss-page .gl-sw-cta{ display:inline-block; background:#FF4A1C; color:#fff !important; font-family:'Inter',sans-serif !important; font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.06em; padding:11px 18px; text-decoration:none; border-radius:0; }
.gl-swiss-page .gl-sw-cta:hover{ background:#D93A10; }

/* sections */
.gl-swiss-page .gl-sw-sec{ background:#ECEAE2 !important; border-top:1px solid #141414; padding:0 !important; }
.gl-swiss-page .gl-sw-sec > .gl-sw-inner{ padding-top:66px; padding-bottom:76px; }
.gl-swiss-page .gl-sw-eyebrow{ font-family:'Inter',sans-serif; font-size:12px; text-transform:uppercase; letter-spacing:.16em; font-weight:600; color:#141414; margin:0 0 28px; display:flex; align-items:center; gap:12px; }
.gl-swiss-page .gl-sw-no{ color:#FF4A1C; }
.gl-swiss-page .gl-sw-h2{ font-family:'Inter',sans-serif !important; font-weight:800 !important; font-size:clamp(30px,4.2vw,58px) !important; line-height:.98 !important; letter-spacing:-.03em !important; color:#141414 !important; text-transform:none !important; margin:0 0 30px !important; max-width:20ch; }
.gl-swiss-page .gl-sw-accent{ color:#FF4A1C !important; }
.gl-swiss-page .gl-sw-lead{ font-family:'Inter',sans-serif !important; font-weight:400 !important; font-size:clamp(16px,1.55vw,19px) !important; line-height:1.55 !important; color:#33322E !important; max-width:62ch; margin:0 0 8px !important; }

/* science grid */
.gl-swiss-page .gl-sw-3grid{ display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #141414; margin-top:8px; }
@media(max-width:760px){ .gl-swiss-page .gl-sw-3grid{ grid-template-columns:1fr; } }
.gl-swiss-page .gl-sw-dc{ padding:30px 30px 34px 0; border-right:1px solid #141414; }
.gl-swiss-page .gl-sw-dc:last-child{ border-right:none; padding-right:0; }
@media(max-width:760px){ .gl-swiss-page .gl-sw-dc{ border-right:none; border-bottom:1px solid #141414; } .gl-swiss-page .gl-sw-dc:last-child{ border-bottom:none; } }
.gl-swiss-page .gl-sw-dc-n{ display:block; font-family:'Inter',sans-serif; font-weight:800; font-size:58px; line-height:.82; letter-spacing:-.04em; color:#FF4A1C; }
.gl-swiss-page .gl-sw-dc-l{ display:block; font-size:12px; text-transform:uppercase; letter-spacing:.14em; font-weight:600; color:#141414; margin:16px 0 10px; }
.gl-swiss-page .gl-sw-dc p{ font-family:'Inter',sans-serif; font-size:14.5px; line-height:1.5; color:#4A483F; margin:0; max-width:34ch; }
.gl-swiss-page .gl-sw-fine{ font-family:'Inter',sans-serif; font-size:12px; color:#8A857A; margin-top:22px; max-width:78ch; line-height:1.5; }

/* protocol list */
.gl-swiss-page .gl-sw-list{ list-style:none; margin:34px 0 0; padding:0; border-top:1px solid #141414; }
.gl-swiss-page .gl-sw-list li{ display:flex; gap:32px; padding:28px 0; border-bottom:1px solid #141414; align-items:baseline; }
.gl-swiss-page .gl-sw-idx{ font-family:'Inter',sans-serif; font-weight:700; font-size:14px; color:#FF4A1C; letter-spacing:.05em; flex:none; width:36px; }
.gl-swiss-page .gl-sw-li-body h3{ font-family:'Inter',sans-serif; font-weight:800; font-size:clamp(19px,2.1vw,26px); letter-spacing:-.02em; color:#141414; margin:0 0 8px; line-height:1.12; }
.gl-swiss-page .gl-sw-li-body p{ font-family:'Inter',sans-serif; font-size:15px; line-height:1.55; color:#4A483F; margin:0; max-width:72ch; }

/* coach */
.gl-swiss-page .gl-sw-coach{ display:grid; grid-template-columns:.82fr 1.18fr; gap:48px; border-top:1px solid #141414; padding-top:46px; }
@media(max-width:820px){ .gl-swiss-page .gl-sw-coach{ grid-template-columns:1fr; gap:28px; } }
.gl-swiss-page .gl-sw-portrait{ margin:0; }
.gl-swiss-page .gl-sw-portrait img{ width:100%; display:block; object-fit:cover; filter:grayscale(1) contrast(1.06); border:1px solid #141414; }
.gl-swiss-page .gl-sw-credgrid{ display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid #141414; margin-top:30px; }
.gl-swiss-page .gl-sw-cred{ padding:20px 20px 22px 0; border-bottom:1px solid #141414; }
.gl-swiss-page .gl-sw-cred:nth-child(odd){ border-right:1px solid #141414; }
.gl-swiss-page .gl-sw-cred:nth-child(even){ padding-left:24px; }
.gl-swiss-page .gl-sw-cred b{ display:block; font-family:'Inter',sans-serif; font-weight:800; font-size:22px; letter-spacing:-.02em; color:#141414; }
.gl-swiss-page .gl-sw-cred span{ display:block; font-family:'Inter',sans-serif; font-size:11.5px; text-transform:uppercase; letter-spacing:.12em; color:#5A5852; margin-top:5px; }
.gl-swiss-page .gl-sw-credit{ font-family:'Inter',sans-serif; font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:#8A857A; margin-top:24px; }

/* faith — reversed dark field */
.gl-swiss-page .gl-sw-faith{ background:#141414; }
.gl-swiss-page .gl-sw-faith .gl-sw-inner{ padding:66px 40px; }
.gl-swiss-page .gl-sw-faith blockquote{ font-family:'Inter',sans-serif; font-weight:500; font-size:clamp(20px,2.3vw,30px); line-height:1.4; letter-spacing:-.01em; color:#ECEAE2; margin:0; max-width:32ch; }
.gl-swiss-page .gl-sw-faith cite{ display:block; margin-top:20px; font-style:normal; font-family:'Inter',sans-serif; font-size:12px; text-transform:uppercase; letter-spacing:.16em; color:#FF4A1C; }

/* pricing */
.gl-swiss-page .gl-sw-price{ display:grid; grid-template-columns:1.2fr 1fr; gap:48px; border-top:1px solid #141414; padding-top:46px; align-items:start; }
@media(max-width:760px){ .gl-swiss-page .gl-sw-price{ grid-template-columns:1fr; gap:30px; } }
.gl-swiss-page .gl-sw-price-amt{ display:block; font-family:'Inter',sans-serif; font-weight:800; font-size:clamp(76px,13vw,168px); line-height:.8; letter-spacing:-.05em; color:#FF4A1C; }
.gl-swiss-page .gl-sw-price-anchor{ font-family:'Inter',sans-serif; font-size:16px; line-height:1.55; color:#33322E; max-width:42ch; margin:22px 0 0; }
.gl-swiss-page .gl-sw-price-anchor s{ color:#8A857A; }
.gl-swiss-page .gl-sw-price-vs{ border-left:1px solid #141414; padding-left:32px; }
.gl-swiss-page .gl-sw-vs-lbl{ font-family:'Inter',sans-serif; font-size:12px; text-transform:uppercase; letter-spacing:.14em; font-weight:600; color:#141414; margin:0 0 14px; }
.gl-swiss-page .gl-sw-price-vs ul{ list-style:none; margin:0; padding:0; }
.gl-swiss-page .gl-sw-price-vs li{ font-family:'Inter',sans-serif; font-size:16px; color:#141414; padding:13px 0; border-bottom:1px solid #D6D3C8; }
.gl-swiss-page .gl-sw-price-vs li:first-child{ border-top:1px solid #D6D3C8; }
.gl-swiss-page .gl-sw-guarantee{ font-family:'Inter',sans-serif; font-size:12.5px; color:#5A5852; margin-top:20px; line-height:1.5; }

/* close + form */
.gl-swiss-page .gl-sw-close-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
@media(max-width:860px){ .gl-swiss-page .gl-sw-close-grid{ grid-template-columns:1fr; gap:32px; } }
.gl-swiss-page .gl-sw-form .lead-form-wrap,.gl-swiss-page .gl-sw-form .lead-form{ background:transparent !important; border:none !important; box-shadow:none !important; padding:0 !important; }
.gl-swiss-page .gl-sw-form label{ font-family:'Inter',sans-serif !important; font-size:11px !important; text-transform:uppercase !important; letter-spacing:.12em !important; color:#141414 !important; font-weight:600 !important; }
.gl-swiss-page .gl-sw-form input,.gl-swiss-page .gl-sw-form textarea{ background:#F6F5F1 !important; border:1px solid #141414 !important; border-radius:0 !important; color:#141414 !important; font-family:'Inter',sans-serif !important; }
.gl-swiss-page .gl-sw-form input::placeholder,.gl-swiss-page .gl-sw-form textarea::placeholder{ color:#9A968C !important; }
.gl-swiss-page .gl-sw-form .btn-primary,.gl-swiss-page .gl-sw-form .lf-submit{ background:#FF4A1C !important; color:#fff !important; border-radius:0 !important; text-transform:uppercase !important; letter-spacing:.06em !important; }
.gl-swiss-page .gl-sw-form .lf-note{ color:#5A5852 !important; }
.gl-swiss-page .gl-sw-form .opt{ color:#8A857A !important; }

/* footer — reversed dark bookend */
.gl-swiss-page .gl-sw-foot{ background:#141414; }
.gl-swiss-page .gl-sw-foot .gl-sw-inner{ padding:48px 40px; }
.gl-swiss-page .gl-sw-foot-row{ display:flex; justify-content:space-between; align-items:center; padding-bottom:20px; border-bottom:1px solid rgba(255,255,255,.2); flex-wrap:wrap; gap:16px; }
.gl-swiss-page .gl-sw-foot .brand,.gl-swiss-page .gl-sw-foot .ffh-wordmark{ color:#ECEAE2 !important; }
.gl-swiss-page .gl-sw-foot-links{ display:flex; gap:24px; flex-wrap:wrap; }
.gl-swiss-page .gl-sw-foot-links a{ color:#B4B0A6 !important; font-family:'Inter',sans-serif; font-size:12px; text-decoration:none; text-transform:uppercase; letter-spacing:.1em; }
.gl-swiss-page .gl-sw-foot-copy{ font-family:'Inter',sans-serif; font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:#7A756A; margin-top:20px; }

/* fix: close section has id=apply which the dark rule targets by ID — force light */
.gl-swiss-page #apply{ background:#ECEAE2 !important; }

/* GLP-1 objective figure band (Higgsfield) */
.gl-swiss-page .gl-sw-figgrid{ display:grid; grid-template-columns:.62fr 1fr; gap:56px; align-items:center; }
@media(max-width:820px){ .gl-swiss-page .gl-sw-figgrid{ grid-template-columns:1fr; gap:30px; } }
.gl-swiss-page .gl-sw-figfr{ margin:0; }
.gl-swiss-page .gl-sw-figfr img{ width:100%; display:block; border:1px solid #141414; filter:grayscale(1) contrast(1.08); }
.gl-swiss-page .gl-sw-figtxt{ font-family:'Inter',sans-serif; font-weight:800; font-size:clamp(26px,3.4vw,44px); line-height:1.03; letter-spacing:-.03em; color:#141414; margin:0 0 18px; max-width:16ch; }
.gl-swiss-page .gl-sw-figsub{ font-family:'Inter',sans-serif; font-size:clamp(15px,1.5vw,18px); line-height:1.55; color:#33322E; margin:0; max-width:46ch; }

/* crop the Higgsfield figure to a clean square, focus on the back */
.gl-swiss-page .gl-sw-figfr img{ aspect-ratio:1/1; object-fit:cover; object-position:50% 64%; }

/* clean 4:5 figure — show full, bias to shoulders */
.gl-swiss-page .gl-sw-figfr img{ aspect-ratio:4/5 !important; object-fit:cover !important; object-position:50% 22% !important; }

/* fix: protocol h3 was white/condensed (from .ffh-ds h3) — force Swiss */
.gl-swiss-page .gl-sw-li-body h3{ color:#141414 !important; font-family:'Inter',sans-serif !important; text-transform:none !important; font-weight:800 !important; }

/* mobile: stack hero data cells full-width, keep CTA on one line */
.ffh-ds .gl-sw-cta{ white-space:nowrap; }
@media(max-width:560px){
  .ffh-ds .gl-sw-cells{ grid-template-columns:1fr !important; }
  .ffh-ds .gl-sw-cell{ border-right:none !important; border-bottom:1px solid #141414; padding:16px 0 !important; min-height:0 !important; }
  .ffh-ds .gl-sw-cell:last-child{ border-bottom:none; }
  .ffh-ds .gl-sw-cta-cell{ padding-left:0 !important; padding-top:20px !important; }
  .ffh-ds .gl-sw-cta-solid{ display:block; text-align:center; }
  .ffh-ds .gl-sw-top{ grid-template-columns:1fr; gap:3px; }
  .ffh-ds .gl-sw-top .gl-sw-c,.ffh-ds .gl-sw-top .gl-sw-r{ text-align:left; }
}

/* light-swiss nav crest must be near-black (currentColor was white from dark theme) */
.gl-swiss-page nav .ffh-crest,.gl-swiss-page nav .brand{ color:#141414 !important; }

/* center hero data cells + even spacing */
.ffh-ds .gl-sw-cell{ align-items:center !important; justify-content:center !important; text-align:center !important; padding:26px 16px !important; }
.ffh-ds .gl-sw-cell:last-child{ padding-right:16px !important; }
.ffh-ds .gl-sw-cta-cell{ align-items:center !important; padding-left:16px !important; }
.ffh-ds .gl-sw-spots{ text-align:center; }
@media(max-width:560px){ .ffh-ds .gl-sw-cell{ padding:16px 0 !important; } }

/* give $100/mo greater significance in the hero data row */
.ffh-ds .gl-sw-price-cell b{ color:#FF4A1C !important; font-size:clamp(36px,3.6vw,50px) !important; line-height:.9 !important; letter-spacing:-.03em; }
.ffh-ds .gl-sw-price-cell span{ color:#141414 !important; font-weight:600; }

/* hero split-bar stat (Option 1): fat vs muscle */
.gl-swiss-page .gl-sw-sb-lbl{ font-family:'Inter',sans-serif; font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:#5A5852; margin:0 0 16px; }
.gl-swiss-page .gl-sw-splitbar{ position:relative; height:62px; background:#D8D5CB; border:1px solid #141414; overflow:hidden; }
.gl-swiss-page .gl-sw-sb-fat,.gl-swiss-page .gl-sw-sb-mus{ position:absolute; top:0; bottom:0; display:flex; align-items:center; font-family:'Inter',sans-serif; font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; }
.gl-swiss-page .gl-sw-sb-fat{ left:0; right:0; color:#8A857A; padding-left:16px; }
.gl-swiss-page .gl-sw-sb-mus{ right:0; width:0; background:#FF4A1C; color:#fff; justify-content:center; transition:width 1.1s cubic-bezier(.16,1,.3,1); }
.gl-swiss-page .gl-sw-sb-row{ display:flex; justify-content:space-between; align-items:baseline; margin-top:14px; }
.gl-swiss-page .gl-sw-sb-cap{ font-family:'Inter',sans-serif; font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:600; color:#5A5852; }
.gl-swiss-page .gl-sw-sb-num{ font-family:'Inter',sans-serif; font-size:clamp(42px,5vw,64px); font-weight:800; letter-spacing:-.03em; color:#FF4A1C; line-height:.9; }
.gl-swiss-page .gl-sw-data .gl-sw-figcap{ margin-top:20px; }
@media(prefers-reduced-motion:reduce){ .gl-swiss-page .gl-sw-sb-mus{ transition:none !important; } }

/* reward figure: center the subject (arms-up woman) */
.gl-swiss-page .gl-sw-figfr img{ object-position:50% 30% !important; }

/* center the science data tiles */
.gl-swiss-page .gl-sw-dc{ text-align:center !important; padding:34px 24px 38px !important; }
.gl-swiss-page .gl-sw-dc:last-child{ padding-right:24px !important; }
.gl-swiss-page .gl-sw-dc p{ margin-left:auto !important; margin-right:auto !important; }

/* center credential grid items */
.gl-swiss-page .gl-sw-cred{ text-align:center !important; padding:22px 18px 24px !important; }
.gl-swiss-page .gl-sw-cred:nth-child(even){ padding-left:18px !important; }
/* remove the divider above the Reward figure section */
.gl-swiss-page .gl-sw-figsec{ border-top:none !important; }

/* remove top divider on flagged sections */
.gl-swiss-page .gl-sw-norule{ border-top:none !important; }

/* fat-loss form section: lighter-gray bg + black dividers (kill leftover tan hairlines) */
.fl-page #apply{ background:#1C1E21 !important; border-top-color:#000 !important; }
.fl-page #apply .fl-authority-band{ background:transparent !important; border-color:#000 !important; }
.fl-page #apply .fl-reassurance-band{ background:transparent !important; border-color:#000 !important; }
.fl-page #apply .fl-reassurance-line{ border-color:#000 !important; }
.fl-page #apply .fl-form-wrap{ background:#141618 !important; border-color:#000 !important; }
.fl-page #apply .fl-founders-note{ border-color:#000 !important; }

/* fat-loss form: make it pop like a CTA panel */
.fl-page #apply .fl-form-wrap{
  background:#16191C !important;
  border:1px solid rgba(255,74,28,.45) !important;
  border-top:4px solid #FF4A1C !important;
  box-shadow:0 26px 64px -26px rgba(0,0,0,.85), 0 0 0 1px rgba(255,74,28,.12) !important;
}
.fl-page #apply .lead-form input,
.fl-page #apply .lead-form textarea{
  background:#0F1113 !important;
  border:1px solid rgba(255,255,255,.18) !important;
}
.fl-page #apply .lead-form input:focus,
.fl-page #apply .lead-form textarea:focus{
  border-color:#FF4A1C !important; outline:none !important;
}

/* fat-loss form readability */
.fl-page #apply .lead-form input,
.fl-page #apply .lead-form textarea{ color:#F4F4F2 !important; font-size:16px !important; }
.fl-page #apply .lead-form input::placeholder,
.fl-page #apply .lead-form textarea::placeholder{ color:rgba(255,255,255,.5) !important; }
.fl-page #apply .lead-form label{ color:#FF6A3C !important; font-size:12px !important; letter-spacing:.12em !important; }
.fl-page #apply .lead-form .opt{ color:rgba(255,255,255,.45) !important; }
.fl-page #apply .lf-note{ color:rgba(255,255,255,.55) !important; }

/* fat-loss: +2px orange input labels; black nav bottom border */
.fl-page #apply .lead-form label{ font-size:14px !important; }
.fl-page nav{ border-bottom-color:#000 !important; }

/* fat-loss Meet Your Coach: outline the orange stat values (orange border, dark inside) */
.fl-page .fl-jace-stat-val{
  color:transparent !important;
  -webkit-text-stroke:1.4px #FF4A1C;
  text-stroke:1.4px #FF4A1C;
  paint-order:stroke fill;
}

/* thinner stat outline so more black interior shows */
.fl-page .fl-jace-stat-val{ -webkit-text-stroke:0.9px #FF4A1C !important; text-stroke:0.9px #FF4A1C !important; }

/* fat-loss Meet Your Coach — Variation 1: credential lockup + experience byline */
.fl-page .fl-jace-layout{ align-items:center !important; }
.fl-page .fl-jace-name{ font-family:'Anton',sans-serif !important; text-transform:uppercase; color:#EDEDEA !important; font-size:clamp(34px,4.4vw,60px) !important; line-height:.9 !important; letter-spacing:.01em !important; margin:0 !important; }
.fl-page .fl-jace-name .fl-gold{ color:#FF4A1C !important; }
.fl-page .fl-jace-cred-sub{ font-family:'Oswald',sans-serif !important; text-transform:uppercase; letter-spacing:.13em; font-size:clamp(13px,1.5vw,16px) !important; color:#C4C4C0 !important; margin:14px 0 0 !important; }
.fl-page .fl-jace-cred-sub b{ color:#fff; font-weight:600; }
.fl-page .fl-jace-rule{ height:1px; background:rgba(255,255,255,.14); margin:24px 0; }
.fl-page .fl-exp-row{ display:flex; flex-wrap:wrap; gap:26px 30px; }
.fl-page .fl-exp-row > div{ font-family:'Inter',sans-serif; font-size:13px; color:#9C9C98; }
.fl-page .fl-exp-row b{ font-family:'Oswald',sans-serif; color:#EDEDEA; font-weight:600; font-size:15px; display:block; letter-spacing:.03em; margin-bottom:2px; }

/* fat-loss: +2px on the small orange eyebrow labels */
.fl-page .fl-kicker,
.fl-page .fl-band-eyebrow,
.fl-page .fl-founders-eyebrow,
.fl-page .fl-scar-line{ font-size:11.5px !important; }

/* fat-loss hero: 4 C's as a feature (chips) + group emphasis */
.fl-page .fl-4cs{ margin:24px 0 6px; }
.fl-page .fl-4cs-label{ display:block; font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.18em; font-size:12px; color:#FF4A1C; font-weight:600; margin-bottom:12px; }
.fl-page .fl-4cs-row{ display:flex; flex-wrap:wrap; gap:10px; }
.fl-page .fl-4cs-word{ font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.06em; font-size:15px; font-weight:600; color:#EDEDEA; border:1px solid rgba(255,255,255,.22); padding:9px 18px; }
.fl-page .fl-4cs-active{ background:#FF4A1C !important; color:#fff !important; border-color:#FF4A1C !important; }
.fl-page .fl-hero-group b{ color:#FF4A1C !important; }

/* ===== GLP · Dallas Stars receipts (Option C) ===== */
.gl-swiss-page .gl-sw-receipts{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:6px; }
.gl-swiss-page .gl-sw-rcp{ margin:0; }
.gl-swiss-page .gl-sw-rcp img{ width:100%; display:block; object-fit:cover; aspect-ratio:4/3; filter:grayscale(1) contrast(1.06); border:1px solid #141414; }
.gl-swiss-page .gl-sw-rcp figcaption{ font-family:'Inter',sans-serif; font-size:11.5px; text-transform:uppercase; letter-spacing:.11em; color:#5A5852; margin-top:10px; line-height:1.4; }
.gl-swiss-page .gl-sw-rcp figcaption i{ color:#FF4A1C; font-style:normal; font-weight:700; margin-right:6px; }
.gl-swiss-page .gl-sw-rcp-metrics{ display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #141414; margin-top:40px; }
.gl-swiss-page .gl-sw-rcp-m{ padding:26px 20px 28px; border-right:1px solid #141414; text-align:center; }
.gl-swiss-page .gl-sw-rcp-m:last-child{ border-right:none; }
.gl-swiss-page .gl-sw-rcp-m b{ display:block; font-family:'Inter',sans-serif; font-size:34px; font-weight:800; letter-spacing:-.02em; line-height:1; color:#141414; }
.gl-swiss-page .gl-sw-rcp-m span{ display:block; font-size:11.5px; text-transform:uppercase; letter-spacing:.13em; color:#5A5852; margin-top:8px; }
@media(max-width:720px){
  .gl-swiss-page .gl-sw-receipts{ grid-template-columns:1fr; }
  .gl-swiss-page .gl-sw-rcp-metrics{ grid-template-columns:1fr; }
  .gl-swiss-page .gl-sw-rcp-m{ border-right:none; border-bottom:1px solid #141414; }
  .gl-swiss-page .gl-sw-rcp-m:last-child{ border-bottom:none; }
}

/* GLP · reward image credit (Katelyn) */
.gl-swiss-page .gl-sw-fig-credit{ font-family:'Inter',sans-serif; font-size:11.5px; text-transform:uppercase; letter-spacing:.11em; color:#5A5852; margin-top:10px; }

/* ===== GLP · second coach (Katelyn), reversed row + 3-up creds ===== */
.gl-swiss-page .gl-sw-coach-rev{ grid-template-columns:1.18fr .82fr; margin-top:48px; }
@media(max-width:820px){ .gl-swiss-page .gl-sw-coach-rev{ grid-template-columns:1fr; } }
.gl-swiss-page .gl-sw-subeye{ font-family:'Inter',sans-serif; font-size:11.5px; text-transform:uppercase; letter-spacing:.14em; font-weight:700; color:#FF4A1C; margin:0 0 14px; }
.gl-swiss-page .gl-sw-cred3{ display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #141414; margin-top:30px; }
.gl-swiss-page .gl-sw-cred3 .c{ padding:20px 20px 22px 0; border-right:1px solid #141414; }
.gl-swiss-page .gl-sw-cred3 .c:last-child{ border-right:none; padding-right:0; }
.gl-swiss-page .gl-sw-cred3 .c b{ display:block; font-family:'Inter',sans-serif; font-weight:800; font-size:22px; letter-spacing:-.02em; color:#141414; }
.gl-swiss-page .gl-sw-cred3 .c span{ display:block; font-family:'Inter',sans-serif; font-size:11.5px; text-transform:uppercase; letter-spacing:.12em; color:#5A5852; margin-top:5px; }
@media(max-width:560px){ .gl-swiss-page .gl-sw-cred3{ grid-template-columns:1fr; } .gl-swiss-page .gl-sw-cred3 .c{ border-right:none; border-bottom:1px solid #141414; } .gl-swiss-page .gl-sw-cred3 .c:last-child{ border-bottom:none; } }

/* ===== Fat-loss · Katelyn (reversed coach row) ===== */
.fl-page .fl-jace-layout-rev{ grid-template-columns:1fr 340px !important; margin-top:64px !important; }
@media(max-width:960px){ .fl-page .fl-jace-layout-rev{ grid-template-columns:1fr !important; } }

/* ===== Fat-loss · Dallas Stars — cinematic split (Option 2-B) ===== */
.fl-page .fl-stars-cine{ display:grid; grid-template-columns:1.5fr 1fr; gap:14px; min-height:520px; }
@media(max-width:820px){ .fl-page .fl-stars-cine{ grid-template-columns:1fr; } }
.fl-page .fl-stars-hero{ position:relative; overflow:hidden; display:flex; align-items:flex-end; border:1px solid rgba(255,255,255,.15); min-height:360px; }
.fl-page .fl-stars-hero img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 26%; }
.fl-page .fl-stars-scrim{ position:absolute; inset:0; background:linear-gradient(180deg,rgba(6,6,6,.12) 0%,rgba(6,6,6,.32) 42%,rgba(6,6,6,.93) 100%); }
.fl-page .fl-stars-copy{ position:relative; padding:0 34px 34px; }
.fl-page .fl-stars-copy .fl-kicker{ margin-bottom:14px; }
.fl-page .fl-stars-h{ font-size:clamp(34px,4.6vw,64px) !important; line-height:.9 !important; margin:0 0 14px !important; max-width:14ch; }
.fl-page .fl-stars-h .fl-gold{ display:block; }
.fl-page .fl-stars-lead{ font-family:'Inter',sans-serif !important; font-size:15px !important; color:#D8D8D4 !important; max-width:34ch; margin:0 !important; line-height:1.5 !important; }
.fl-page .fl-stars-side{ display:grid; grid-template-rows:1fr 1fr auto; gap:14px; }
.fl-page .fl-stars-side figure{ margin:0; position:relative; overflow:hidden; min-height:150px; }
.fl-page .fl-stars-side figure img{ width:100%; height:100%; object-fit:cover; }
.fl-page .fl-stars-side figcaption{ position:absolute; left:12px; bottom:10px; font-family:'Oswald',sans-serif; font-size:10.5px; text-transform:uppercase; letter-spacing:.13em; color:#fff; text-shadow:0 1px 8px #000; }
.fl-page .fl-stars-note{ font-family:'Anton','Oswald',sans-serif; text-transform:uppercase; font-size:clamp(15px,1.5vw,19px); color:#fff; line-height:1.1; letter-spacing:.02em; border:1px solid rgba(255,255,255,.15); padding:18px 20px; }
.fl-page .fl-stars-note b{ color:#FF4A1C; font-weight:400; }
@media(max-width:820px){ .fl-page .fl-stars-side{ grid-template-rows:none; } .fl-page .fl-stars-side figure{ min-height:220px; } }

/* ===== Home · "not sure" consult link + general consult section ===== */
.ffh-ds .hm-notsure{ margin:26px 0 0; font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.08em; font-size:14px; color:#ADADA8; }
.ffh-ds .hm-notsure a{ color:#FF4A1C; text-decoration:none; }
.ffh-ds .hm-notsure a:hover{ text-decoration:underline; }
.ffh-ds .hm-consult{ max-width:760px; }
.ffh-ds .hm-consult .fl-hero-nerve{ margin:0 0 30px; }

/* ===== Home · individual training tile + path picker ===== */
.ffh-ds .hm-programs:has(.hm-prog-solo){ grid-template-columns:repeat(3,1fr); }
@media(max-width:900px){ .ffh-ds .hm-programs:has(.hm-prog-solo){ grid-template-columns:1fr; } }
.lead-form .lf-paths{ border:0; padding:0; margin:0; min-width:0; }
.ffh-ds .lead-form .lf-paths legend{ font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.1em; font-size:12px; color:#FF4A1C; margin-bottom:10px; padding:0; }
.lead-form .lf-path-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media(max-width:520px){ .lead-form .lf-path-grid{ grid-template-columns:1fr; } }
.ffh-ds .lead-form label.lf-path{ position:relative; display:flex; flex-direction:column; gap:4px; padding:14px 16px; cursor:pointer; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.03); border-radius:2px; text-transform:none; letter-spacing:0; transition:border-color .15s, background .15s; }
.ffh-ds .lead-form label.lf-path:hover{ border-color:rgba(255,74,28,.55); }
.ffh-ds .lead-form label.lf-path.is-on{ border-color:#FF4A1C; background:rgba(255,74,28,.09); box-shadow:inset 0 0 0 1px #FF4A1C; }
.ffh-ds .lead-form label.lf-path input{ position:absolute; opacity:0; width:1px; height:1px; pointer-events:none; }
.ffh-ds .lead-form label.lf-path:has(input:focus-visible){ outline:2px solid #FF4A1C; outline-offset:2px; }
.ffh-ds .lead-form .lf-path-name{ font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.04em; font-size:15px; color:#fff; line-height:1.15; }
.ffh-ds .lead-form .lf-path-price{ font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.06em; font-size:13px; color:#FF4A1C; }
.ffh-ds .lead-form label.lf-path:not(.is-on) .lf-path-price{ color:#ADADA8; }
