/* Shared brand tokens — every section reads these. Don't redefine brand colors per section. */
:root{
  --purple:#7c3aed; --purple-light:#a78bfa; --purple-dark:#5b21b6;
  --peach:#ffb347; --peach-light:#ffd4a3; --peach-bg:#fff7f0;
  --cream:#fdf8f5; --ink:#0d0a12; --dark:#1c1220; --text:#3d2d4a; --muted:#8b7a9a;
  --bone:#f6f2fb; --white:#ffffff;
  --grad:linear-gradient(115deg,#7c3aed 0%,#a78bfa 22%,#e9d5ff 44%,#ffd4a3 56%,#c4b5fd 74%,#7c3aed 100%);
  --font-display:'Bricolage Grotesque',system-ui,sans-serif;
  --font-serif:'Fraunces',Georgia,serif;
  --font-body:'Outfit',system-ui,sans-serif;
  --calendly:'https://calendly.com/greg-enlightened/love-your-glutes-weekly-session';
}

/* ===== hero ===== */
:root{
    --ink:#0d0a12; --bone:#f6f2fb; --cream:#fdf8f5; --text:#3d2d4a; --muted:#8b7a9a;
    --purple:#7c3aed; --purple-light:#a78bfa; --peach:#ffb347; --peach-light:#ffd4a3;
    --hero-img:url('images/section-bg/solution-01.jpg');
    --grad:linear-gradient(115deg,#7c3aed 0%,#a78bfa 22%,#e9d5ff 44%,#ffd4a3 56%,#c4b5fd 74%,#7c3aed 100%);
    --btn:linear-gradient(120deg,#7c3aed,#a78bfa);
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{background:var(--ink);color:var(--bone);font-family:'Outfit',system-ui,sans-serif;-webkit-font-smoothing:antialiased}

  /* the brand violet that flows (BEST + "love") */
  .fill{background:var(--grad);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;
    color:transparent;-webkit-text-fill-color:transparent;animation:hero-drift 7s ease-in-out infinite}
  @keyframes hero-drift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

  /* skip link (a11y) — visually hidden until focused */
  .skip-link{position:fixed;top:-60px;left:12px;z-index:200;background:var(--btn);color:#1a1024;
    font-family:'Outfit',system-ui,sans-serif;font-weight:600;font-size:14px;padding:10px 18px;border-radius:0 0 12px 12px;
    text-decoration:none;transition:top .2s ease}
  .skip-link:focus{top:0;outline:3px solid #fff;outline-offset:2px}

  /* ===== STICKY HEADER (#10) ===== */
  .site-header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;
    padding:22px clamp(20px,6vw,84px);transition:padding .3s ease,background .3s ease;opacity:0;animation:hero-fadeDown .9s 1.4s ease forwards}
  .site-header.scrolled{background:rgba(13,10,18,.82);backdrop-filter:blur(12px);padding:12px clamp(20px,6vw,84px);box-shadow:0 1px 0 rgba(255,255,255,.07)}
  .brand{font-family:'Bricolage Grotesque';font-weight:700;font-size:18px;color:var(--bone)}
  .brand b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
  .nav-links{display:flex;align-items:center;gap:26px;font-size:14px;color:#d5cce4}
  .nav-links a{color:inherit;text-decoration:none;transition:color .2s}.nav-links a:hover{color:#fff}
  .book{padding:9px 20px;border-radius:30px;background:var(--btn);color:#1a1024;font-weight:600;font-size:14px}
  .book:hover{filter:brightness(1.06)}
  @media(max-width:760px){.nav-links a:not(.book){display:none}}

  /* ===== HERO ===== */
  .lyg-hero{position:relative;min-height:100vh;width:100%;overflow:hidden;display:flex;align-items:center;padding:120px 0 90px}
  .lyg-hero .bg{position:absolute;inset:0;background:var(--hero-img) no-repeat center right/cover;
    transform:scale(1.05);animation:hero-kenburns 24s ease-out forwards}
  /* portrait phones: re-center the crop on the glutes (the subject sits ~68% across the photo,
     so the default "center right" crop pushed it off-screen). Landscape keeps center right. */
  @media (max-width:760px) and (orientation:portrait){
    .lyg-hero .bg{background-position:68% center}
  }
  @keyframes hero-kenburns{from{transform:scale(1.14)}to{transform:scale(1.01)}}
  .lyg-hero .grain{position:absolute;inset:0;opacity:.05;mix-blend-mode:overlay;pointer-events:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
  .lyg-hero .scrim{position:absolute;inset:0;background:
    linear-gradient(90deg,rgba(13,10,18,.82),rgba(13,10,18,.35) 46%,rgba(13,10,18,.5)),
    radial-gradient(80% 60% at 55% 40%,transparent,rgba(13,10,18,.4))}

  /* EMS pulse motif (#3) — emits from the pads in the photo */
  /* .ems shares the photo's exact zoom so the dots stay glued to the pads through the Ken-Burns */
  .ems{position:absolute;inset:0;z-index:3;pointer-events:none;transform:scale(1.05);animation:hero-kenburns 24s ease-out forwards}
  .pulse{position:absolute;width:10px;height:10px;margin:-5px;left:50%;top:50%}
  .pulse::before,.pulse::after{content:'';position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(167,139,250,.55);
    animation:hero-pulse 2.8s var(--d,0s) ease-out infinite}
  .pulse::after{animation-delay:calc(var(--d,0s) + 1.4s)}
  .pulse i{position:absolute;inset:3px;border-radius:50%;background:rgba(199,181,253,.85);box-shadow:0 0 10px rgba(167,139,250,.9)}
  @keyframes hero-pulse{0%{transform:scale(.5);opacity:.85}100%{transform:scale(4);opacity:0}}

  /* floating 15-min stat badge (#2) */
  .stat-badge{position:absolute;right:clamp(28px,5vw,72px);top:50%;transform:translateY(-50%);z-index:4;
    background:rgba(20,16,28,.55);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.16);
    border-radius:18px;padding:20px 22px;text-align:center;min-width:192px;opacity:0;animation:hero-fadeUp 1s 2.6s ease forwards}
  .stat-num{display:block;font-family:'Bricolage Grotesque';font-weight:800;font-size:54px;line-height:1;color:#fff}
  .stat-num small{font-size:18px;font-weight:600;color:var(--peach-light);margin-left:3px}
  .stat-lbl{display:block;margin-top:6px;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:#cbbfe0;line-height:1.4}
  @media(max-width:1080px){.stat-badge,.ems{display:none}}

  .lyg-hero .wrap{position:relative;z-index:5;padding:0 clamp(24px,6vw,84px);width:100%}
  .lyg-hero .inner{max-width:820px;margin-left:4vw}
  @media(max-width:760px){.lyg-hero .inner{margin-left:0}}

  /* eyebrow + urgency (#4) */
  .eyebrow-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px;opacity:0;animation:hero-fadeUp .8s 1.4s ease forwards}
  .kicker{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#cbbfe0}
  .kicker::before{content:'';width:24px;height:1px;background:var(--purple-light)}
  .urgency{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
    color:#ffe6c2;background:rgba(255,179,71,.14);border:1px solid rgba(255,179,71,.35);padding:5px 12px;border-radius:30px}
  .urgency i{width:7px;height:7px;border-radius:50%;background:var(--peach);box-shadow:0 0 0 0 rgba(255,179,71,.6);animation:hero-blink 1.8s ease-out infinite}
  @keyframes hero-blink{0%{box-shadow:0 0 0 0 rgba(255,179,71,.6)}70%{box-shadow:0 0 0 8px rgba(255,179,71,0)}100%{box-shadow:0 0 0 0 rgba(255,179,71,0)}}

  /* headline (two lines, Bricolage + Anton "BEST") */
  .lyg-hero h1{font-family:'Bricolage Grotesque';font-weight:800;letter-spacing:-.01em;line-height:1.05;
    font-size:clamp(32px,5.4vw,70px);text-transform:uppercase}
  .ln{display:block;overflow:hidden}
  .ln>span{display:block;transform:translateY(110%);opacity:0}
  .l1>span{animation:hero-lineUp .9s .35s cubic-bezier(.16,1,.3,1) forwards}
  .l2>span{animation:hero-lineUp .9s 1.0s cubic-bezier(.16,1,.3,1) forwards;white-space:nowrap}
  .thin{color:#efeaf8}
  .best{display:inline-block;position:relative;font-family:'Anton',sans-serif;font-weight:400;font-size:1.12em;line-height:.92;
    vertical-align:baseline;margin-right:.06em}
  .best.glowing{animation:hero-glow 3.6s 2.4s ease-in-out infinite}
  @keyframes hero-glow{0%,100%{filter:drop-shadow(0 0 16px rgba(167,139,250,.3))}50%{filter:drop-shadow(0 0 40px rgba(167,139,250,.7))}}
  .reel{display:inline-block;height:.92em;overflow:hidden;vertical-align:baseline}
  .reel ul{list-style:none}.reel li{height:.92em;line-height:.92em}

  .lyg-hero .sub{margin-top:24px;max-width:500px;font-size:clamp(16px,1.4vw,19px);line-height:1.6;color:#ddd4ec;font-weight:300;
    opacity:0;animation:hero-fadeUp .9s 1.85s ease forwards}
  .lyg-hero .sub b{color:#fff;font-weight:600}

  /* social proof (#8) + Fraunces accent on the quote (#5) */
  .proof{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:22px;max-width:560px;
    opacity:0;animation:hero-fadeUp .9s 2.05s ease forwards}
  .stars{color:var(--peach);letter-spacing:2px;font-size:15px}
  .quote{font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:17px;color:#f0e9fa;line-height:1.4}
  .who{font-size:12.5px;color:#a99fbd;letter-spacing:.02em}

  /* CTAs + $50 trial link (#9) */
  .cta{display:flex;align-items:center;gap:14px;margin-top:28px;flex-wrap:wrap;opacity:0;animation:hero-fadeUp .9s 2.25s ease forwards}
  .btn{display:inline-flex;align-items:center;font-family:'Outfit';font-weight:600;font-size:15px;padding:16px 30px;
    border-radius:40px;text-decoration:none;cursor:pointer;border:none;background:var(--btn);color:#1a1024;
    transition:transform .2s,box-shadow .3s,filter .2s;box-shadow:0 12px 40px -12px rgba(167,139,250,.55)}
  .btn:hover{transform:translateY(-2px);box-shadow:0 18px 50px -10px rgba(167,139,250,.55)}
  .btn--ghost{background:transparent;color:var(--bone);box-shadow:none;border:1px solid rgba(246,242,251,.3);backdrop-filter:blur(6px)}
  .btn--ghost:hover{border-color:var(--purple-light);color:#fff}
  .trial-link{display:inline-block;margin-top:16px;font-size:14.5px;line-height:1.5;color:#cbbfe0;text-decoration:none;
    opacity:0;animation:hero-fadeUp .9s 2.4s ease forwards}
  .trial-link b{color:#fff;font-weight:600}
  .trial-link span{display:inline-block;transition:transform .2s}.trial-link:hover{color:#fff}.trial-link:hover span{transform:translateX(4px)}

  /* trust strip (#1) */
  .trust{list-style:none;display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;opacity:0;animation:hero-fadeUp .9s 2.55s ease forwards}
  .trust li{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:#cfc6e0}
  .trust .chk{width:18px;height:18px;border-radius:50%;background:rgba(167,139,250,.18);display:inline-flex;align-items:center;justify-content:center;
    color:var(--purple-light);font-size:11px;font-weight:700}

  /* seam into next section (#6) + scroll cue */
  .seam{position:absolute;left:0;right:0;bottom:0;height:170px;z-index:4;pointer-events:none;
    background:linear-gradient(to bottom,transparent,var(--dark))}
  .scroll{position:absolute;bottom:26px;left:0;right:0;z-index:6;display:flex;flex-direction:column;align-items:center;gap:8px;
    font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#7a6a88;text-decoration:none;opacity:0;animation:hero-fadeUp 1s 2.8s ease forwards}
  .scroll:hover{color:var(--purple)}
  .scroll i{width:1px;height:30px;background:linear-gradient(var(--purple-light),transparent);animation:hero-drop 1.8s ease-in-out infinite}
  @keyframes hero-drop{0%{transform:scaleY(.3);transform-origin:top;opacity:.3}50%{transform:scaleY(1);opacity:1}100%{transform:scaleY(.3);transform-origin:bottom;opacity:.3}}


  /* greeting (#9) */
  .kicker #greet{color:#fff;font-weight:600}
  .kicker #greet:not(:empty)::after{content:'·';margin:0 9px;color:#a78bfa;font-weight:400}
  /* next opening (#2) */
  .next-slot{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:13.5px;color:#c4b9d8;opacity:0;animation:hero-fadeUp .9s 2.35s ease forwards}
  .next-slot i{width:7px;height:7px;border-radius:50%;background:#5ee0a0;box-shadow:0 0 8px rgba(94,224,160,.85);flex:none}
  .next-slot b{color:#fff;font-weight:600}
  /* stat comparison (#6) */
  .stat-cmp{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;gap:7px;text-align:left}
  .cmp{display:flex;align-items:center;gap:8px}
  .cmp-lbl{width:28px;font-size:10.5px;letter-spacing:.04em;color:#cbbfe0;text-transform:uppercase}
  .cmp-track{flex:1;height:6px;border-radius:4px;background:rgba(255,255,255,.13);overflow:hidden}
  .cmp-fill{display:block;height:100%;border-radius:4px}
  .cmp-fill.ours{width:22%;background:linear-gradient(90deg,#7c3aed,#a78bfa)}
  .cmp-fill.gym{width:100%;background:rgba(255,255,255,.3)}
  .cmp-val{width:40px;text-align:right;font-size:10.5px;font-weight:600;color:#e9e2f5}
  .cmp-cap{font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:#a99fbd;margin-top:3px}
  /* cursor-reactive pad glow (#1) */
  .pulse i{transition:transform .18s ease,box-shadow .18s ease;
    transform:scale(calc(1 + var(--boost,0) * .9));
    box-shadow:0 0 calc(10px + var(--boost,0) * 26px) rgba(167,139,250,calc(.6 + var(--boost,0) * .4))}
  /* ambient light drift (#4, option A) */
  .lyg-hero .rays{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;opacity:.55;
    background:radial-gradient(55% 45% at 28% 18%,rgba(255,222,175,.20),transparent 62%);
    animation:hero-rays 16s ease-in-out infinite alternate}
  @keyframes hero-rays{from{transform:translate(-2%,-1%) scale(1)}to{transform:translate(3%,2%) scale(1.08)}}
  @keyframes hero-lineUp{to{transform:none;opacity:1}}
  @keyframes hero-fadeUp{from{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}
  @keyframes hero-fadeDown{from{transform:translateY(-14px);opacity:0}to{transform:none;opacity:1}}
  @media(prefers-reduced-motion:reduce){*{animation:none!important}.ln>span{transform:none;opacity:1}.reel{height:auto}.reel li:not(.fill){display:none}}

/* ===== problem ===== */
/* ════════════════════════════════════════════════════════════
     PROBLEM SECTION — all CSS scoped under .lyg-problem
     Brand tokens come from tokens.css (no local :root brand colors).
     ════════════════════════════════════════════════════════════ */
  .lyg-problem *,
  .lyg-problem *::before,
  .lyg-problem *::after{ box-sizing:border-box; margin:0; padding:0; }

  .lyg-problem{ font-family:var(--font-body); color:var(--text); line-height:1.7; }

  /* each sub-block behaves like its own full-bleed band */
  .lyg-problem .prob-band{ padding:6rem 2rem; }
  .lyg-problem .prob-container{ max-width:960px; margin:0 auto; }

  .lyg-problem .prob-label{ font-size:.75rem; font-weight:700; letter-spacing:.15em;
    text-transform:uppercase; color:var(--purple); margin-bottom:1rem; }
  .lyg-problem .prob-title{ font-family:var(--font-serif); font-optical-sizing:auto; font-weight:400;
    font-size:clamp(2.1rem,4.2vw,3.2rem); color:var(--dark); line-height:1.12;
    letter-spacing:-.015em; margin-bottom:1.25rem; }
  .lyg-problem .prob-title em{ font-style:italic; font-weight:600;
    background:linear-gradient(115deg,var(--purple) 0%,var(--peach) 100%);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
  .lyg-problem .prob-lede{ font-size:1.08rem; color:var(--muted); max-width:54ch; margin-bottom:3rem; }
  .lyg-problem .prob-lede b{ color:var(--text); font-weight:600; }

  /* ════ PROBLEM (dark moment, brand-matched) ════ */
  .lyg-problem .prob-dark{ background:var(--dark); color:#f3ecf5; position:relative; overflow:hidden; }
  .lyg-problem .prob-dark::before{ content:""; position:absolute; inset:0 0 auto 0; height:55%;
    background:url('glute_bg2/opt/A_towel_over_face.jpg') center/cover; opacity:.08; }
  /* portrait phones: the tall band cover-crops this landscape texture into a distorted
     slice, so drop it. Desktop and landscape keep it. */
  @media (max-width:760px) and (orientation:portrait){
    .lyg-problem .prob-dark::before{ display:none; }
  }
  .lyg-problem .prob-dark .prob-container{ position:relative; z-index:2; }
  .lyg-problem .prob-dark .prob-title{ color:#fff; }
  .lyg-problem .prob-dark .prob-lede{ color:#cdbed6; }
  .lyg-problem .prob-dark .prob-lede b{ color:#fff; }
  .lyg-problem .prob-pcards{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.6rem; }
  .lyg-problem .prob-pcard{ background:#271a2e; border:1px solid #3a2a42; border-radius:18px; overflow:hidden;
    box-shadow:0 22px 48px rgba(0,0,0,.45); display:flex; flex-direction:column; }
  .lyg-problem .prob-pcard .prob-img{ aspect-ratio:16/9; background-size:cover; background-position:center; }
  .lyg-problem .prob-pcard .prob-body{ padding:1.5rem 1.7rem 1.9rem; border-top:4px solid var(--peach); }
  .lyg-problem .prob-pcard .prob-tag{ font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
    color:var(--peach); margin-bottom:.6rem; display:block; }
  .lyg-problem .prob-pcard h4{ font-family:var(--font-serif); font-weight:500; font-size:1.3rem; color:#fff;
    margin-bottom:.6rem; line-height:1.2; }
  .lyg-problem .prob-pcard p{ font-size:.95rem; color:#b6a6c0; line-height:1.6; }

  /* ════ SOLUTION bridge (light, the relief) ════ */
  .lyg-problem .prob-solution{ background:linear-gradient(180deg,var(--white),var(--cream)); }
  .lyg-problem .prob-scards{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; margin-bottom:2.6rem; }
  .lyg-problem .prob-scard{ background:var(--white); border:1px solid #efe6f2; border-radius:20px; overflow:hidden;
    box-shadow:0 10px 30px rgba(124,58,237,.06); display:flex; flex-direction:column; }
  .lyg-problem .prob-scard .prob-img{ aspect-ratio:16/9; background-size:cover; background-position:center; position:relative; }
  .lyg-problem .prob-scard .prob-num{ position:absolute; top:.8rem; left:.8rem; width:2.2rem; height:2.2rem; border-radius:50%;
    display:flex; align-items:center; justify-content:center; font-weight:700; color:#fff; z-index:2;
    background:linear-gradient(135deg,var(--purple),var(--peach)); box-shadow:0 4px 12px rgba(0,0,0,.3); }
  .lyg-problem .prob-scard .prob-body{ padding:1.5rem 1.7rem 1.8rem; }
  .lyg-problem .prob-scard h4{ font-family:var(--font-serif); font-weight:500; font-size:1.28rem; color:var(--dark);
    margin-bottom:.5rem; line-height:1.2; }
  .lyg-problem .prob-scard p{ font-size:.96rem; color:var(--muted); }
  .lyg-problem .prob-scard p b{ color:var(--text); font-weight:600; }

  /* gentle image zoom on hover (cards) */
  .lyg-problem .prob-pcard .prob-img,
  .lyg-problem .prob-scard .prob-img{ transition:transform .45s ease; }
  .lyg-problem .prob-pcard:hover .prob-img,
  .lyg-problem .prob-scard:hover .prob-img{ transform:scale(1.045); }

  /* portrait subject in a 16:9 card — sharp centered, blurred fill behind */
  .lyg-problem .prob-img.prob-portrait{ position:relative; overflow:hidden; background:var(--dark); }
  .lyg-problem .prob-img.prob-portrait .prob-bgblur{ position:absolute; inset:0; background-size:cover; background-position:center;
    filter:blur(22px) brightness(.6); transform:scale(1.25); }
  .lyg-problem .prob-img.prob-portrait > img{ position:relative; z-index:1; height:100%; display:block; margin:0 auto; }
  .lyg-problem .prob-scard:hover .prob-img.prob-portrait > img{ transform:none; }

  /* ════ COMPARISON ════ */
  .lyg-problem .prob-compare{ background:var(--white); border-top:1px solid #f1e9f5; }
  .lyg-problem .prob-compare-head{ text-align:center; margin-bottom:2.6rem; }
  .lyg-problem .prob-ctable{ max-width:780px; margin:0 auto; border-radius:20px; overflow:hidden;
    border:1px solid #efe6f2; box-shadow:0 14px 40px rgba(124,58,237,.07); }
  .lyg-problem .prob-crow{ display:grid; grid-template-columns:1fr 1fr; }
  .lyg-problem .prob-crow > div{ padding:1.1rem 1.4rem; font-size:.97rem; display:flex; align-items:center; gap:.6rem; }
  .lyg-problem .prob-crow .prob-old{ background:#faf6f8; color:var(--muted); border-bottom:1px solid #f1e9f5; }
  .lyg-problem .prob-crow .prob-new{ background:var(--white); color:var(--text); font-weight:600; border-bottom:1px solid #f1e9f5;
    border-left:1px solid #f1e9f5; }
  .lyg-problem .prob-crow .prob-old::before{ content:"✕"; color:#c9a9bb; font-weight:700; }
  .lyg-problem .prob-crow .prob-new::before{ content:"✓"; color:var(--purple); font-weight:700; }
  .lyg-problem .prob-chead{ font-family:var(--font-body); font-size:.74rem!important; font-weight:700!important;
    letter-spacing:.1em; text-transform:uppercase; }
  .lyg-problem .prob-chead.prob-old{ background:#f3edf0; color:var(--muted); }
  .lyg-problem .prob-chead.prob-new{ background:linear-gradient(135deg,rgba(124,58,237,.10),rgba(255,179,71,.14));
    color:var(--purple-dark); }
  .lyg-problem .prob-chead::before{ content:""!important; }

  /* ════ THE NEUBIE ════ */
  .lyg-problem .prob-neubie{ background:linear-gradient(160deg,var(--peach-bg),var(--cream)); }
  .lyg-problem .prob-neubie .prob-container{ max-width:720px; text-align:center; }
  .lyg-problem .prob-neubie .prob-title{ margin-bottom:1.4rem; }
  .lyg-problem .prob-neubie p{ font-size:1.05rem; color:var(--text); margin:0 auto 1.2rem; max-width:60ch; }
  .lyg-problem .prob-neubie-photo{ display:block; width:100%; max-width:520px; aspect-ratio:4/3; object-fit:contain;
    background:var(--white); border:1px solid #efe6f2; border-radius:20px; margin:0 auto 2.2rem; padding:1.6rem;
    box-shadow:0 14px 40px rgba(124,58,237,.08); }
  .lyg-problem .prob-pills{ display:flex; flex-wrap:wrap; justify-content:center; gap:.7rem; margin-top:1.8rem; }
  .lyg-problem .prob-pill{ font-size:.82rem; font-weight:600; color:var(--purple-dark);
    background:rgba(124,58,237,.07); border:1px solid rgba(124,58,237,.18);
    padding:.5rem 1.1rem; border-radius:50px; }

  /* ════ FAQ ════ */
  .lyg-problem .prob-faq{ background:var(--white); border-top:1px solid #f1e9f5; }
  .lyg-problem .prob-faq .prob-container{ max-width:760px; }
  .lyg-problem .prob-faq-head{ text-align:center; margin-bottom:2.4rem; }
  .lyg-problem .prob-faq details{ border:1px solid #efe6f2; border-radius:14px; margin-bottom:.9rem; background:var(--cream);
    overflow:hidden; }
  .lyg-problem .prob-faq summary{ cursor:pointer; list-style:none; padding:1.15rem 1.4rem; font-weight:600; color:var(--dark);
    font-size:1.02rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; }
  .lyg-problem .prob-faq summary::-webkit-details-marker{ display:none; }
  .lyg-problem .prob-faq summary::after{ content:"+"; color:var(--purple); font-size:1.4rem; font-weight:400; line-height:1;
    transition:transform .2s; }
  .lyg-problem .prob-faq details[open] summary::after{ transform:rotate(45deg); }
  .lyg-problem .prob-faq details p{ padding:0 1.4rem 1.3rem; color:var(--muted); font-size:.97rem; }
  .lyg-problem .prob-faq details p .prob-flag{ color:var(--purple); font-style:italic; }

  /* ════ Responsive ════ */
  @media (max-width:960px){
    .lyg-problem .prob-band{ padding:5rem 1.6rem; }
  }
  @media (max-width:720px){
    .lyg-problem .prob-band{ padding:4rem 1.25rem; }
    .lyg-problem .prob-pcards,
    .lyg-problem .prob-scards{ grid-template-columns:1fr; }
  }

  /* ════ Reduced motion: kill hover-zoom + transitions ════ */
  @media (prefers-reduced-motion: reduce){
    .lyg-problem .prob-pcard .prob-img,
    .lyg-problem .prob-scard .prob-img,
    .lyg-problem .prob-faq summary::after{ transition:none; }
    .lyg-problem .prob-pcard:hover .prob-img,
    .lyg-problem .prob-scard:hover .prob-img{ transform:none; }
  }

/* ===== about ===== */
.lyg-about{
    background:linear-gradient(180deg,var(--white) 0%,var(--cream) 100%);
    color:var(--text);
    font-family:var(--font-body);
    line-height:1.7;
    padding:6rem 2rem;
    position:relative;
    overflow:hidden;
  }
  .lyg-about *,.lyg-about *::before,.lyg-about *::after{ box-sizing:border-box; }
  .lyg-about .about-glow{
    position:absolute; inset:auto -10% -30% auto; width:520px; height:520px;
    background:var(--grad); filter:blur(120px); opacity:.14; pointer-events:none; z-index:0;
  }
  .lyg-about .about-wrap{ max-width:1080px; margin:0 auto; position:relative; z-index:1; }

  /* ── intro ── */
  .lyg-about .about-label{
    font-size:.75rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase;
    color:var(--purple); margin-bottom:1rem;
  }
  .lyg-about .about-title{
    font-family:var(--font-serif); font-optical-sizing:auto; font-weight:400;
    font-size:clamp(2.1rem,4.4vw,3.2rem); color:var(--dark);
    line-height:1.12; letter-spacing:-.015em; margin-bottom:1.25rem; max-width:18ch;
  }
  .lyg-about .about-title em{
    font-style:italic; font-weight:600;
    background:linear-gradient(115deg,var(--purple) 0%,var(--peach) 100%);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  }
  .lyg-about .about-lede{
    font-size:1.1rem; color:var(--text); max-width:60ch; margin-bottom:.9rem;
  }
  .lyg-about .about-lede b{ color:var(--dark); font-weight:600; }
  .lyg-about .about-lede.about-soft{ color:var(--muted); margin-bottom:0; }
  .lyg-about .about-sign{ font-family:var(--font-serif); font-style:italic; font-weight:500;
    font-size:1.08rem; color:var(--purple-dark); margin-top:1.3rem; }

  /* ── story / mission ── */
  .lyg-about .about-top{
    max-width:760px; margin-bottom:3.5rem;
  }

  /* ── mission capstone + CTA ── */
  .lyg-about .about-promise{
    background:var(--dark); color:#f3ecf5; border-radius:26px;
    padding:3rem clamp(1.8rem,4vw,3.4rem);
    display:grid; grid-template-columns:1.4fr auto; gap:2.4rem; align-items:center;
    box-shadow:0 26px 60px rgba(28,18,32,.32); position:relative; overflow:hidden;
  }
  .lyg-about .about-promise::before{
    content:""; position:absolute; inset:0; background:var(--grad); opacity:.10; pointer-events:none;
  }
  .lyg-about .about-promise > *{ position:relative; z-index:1; }
  .lyg-about .about-promise h3{
    font-family:var(--font-serif); font-weight:500; font-size:clamp(1.5rem,2.6vw,1.95rem);
    color:#fff; line-height:1.18; margin-bottom:.8rem;
  }
  .lyg-about .about-promise h3 em{ font-style:italic; color:var(--peach-light); }
  .lyg-about .about-promise p{ font-size:1.02rem; color:#cdbed6; max-width:52ch; }
  .lyg-about .about-promise p b{ color:#fff; font-weight:600; }

  .lyg-about .about-cta-col{ text-align:center; }
  .lyg-about .about-cta{
    display:inline-block; font-family:var(--font-body); font-size:1.04rem; font-weight:700;
    letter-spacing:.02em; padding:1.1rem 2.7rem; border-radius:50px; text-decoration:none;
    background:var(--peach); color:var(--dark); white-space:nowrap;
    box-shadow:0 10px 30px rgba(255,179,71,.40);
    transition:transform .18s ease, background .25s ease, box-shadow .25s ease;
  }
  .lyg-about .about-cta:hover{
    background:var(--peach-light); transform:translateY(-2px);
    box-shadow:0 16px 40px rgba(255,179,71,.5);
  }
  .lyg-about .about-cta:focus-visible{ outline:3px solid var(--purple-light); outline-offset:3px; }
  .lyg-about .about-location{
    margin-top:1rem; font-size:.85rem; font-weight:600; letter-spacing:.04em;
    color:#cdbed6; display:flex; align-items:center; justify-content:center; gap:.45rem;
  }
  .lyg-about .about-pin{ color:var(--peach); font-size:1rem; }

  /* ── entrance animation ── */
  @keyframes about-fadeUp{
    from{ opacity:0; transform:translateY(18px); }
    to{ opacity:1; transform:translateY(0); }
  }
  .lyg-about .about-anim{ opacity:0; animation:about-fadeUp .7s ease forwards; }
  .lyg-about .about-d1{ animation-delay:.05s; }
  .lyg-about .about-d2{ animation-delay:.15s; }
  .lyg-about .about-d3{ animation-delay:.25s; }
  .lyg-about .about-d4{ animation-delay:.35s; }

  /* ── tablet ── */
  @media (max-width:900px){
    .lyg-about{ padding:4.5rem 1.5rem; }
    .lyg-about .about-promise{ grid-template-columns:1fr; gap:1.8rem; text-align:center; }
    .lyg-about .about-promise p{ margin:0 auto; }
  }

  /* ── mobile ── */
  @media (max-width:560px){
    .lyg-about{ padding:3.5rem 1.2rem; }
    .lyg-about .about-promise{ padding:2.2rem 1.4rem; }
    .lyg-about .about-cta{ display:block; width:100%; padding:1rem 1.5rem; }
  }

  /* ── reduced motion ── */
  @media (prefers-reduced-motion:reduce){
    .lyg-about .about-anim{ opacity:1; animation:none; }
    .lyg-about .about-cta{ transition:none; }
    .lyg-about .about-cta:hover{ transform:none; }
  }

/* ===== meet-greg ===== */
/* ===== MEET GREG — credential-led, lean ===== */
  .lyg-meet-greg{position:relative;overflow:hidden;background:var(--ink);min-height:100vh;
    display:flex;align-items:center;color:#fdfbf8;font-family:var(--font-body),system-ui,sans-serif}
  .lyg-meet-greg *,.lyg-meet-greg *::before,.lyg-meet-greg *::after{box-sizing:border-box}

  .lyg-meet-greg .mg-bg{position:absolute;top:0;right:0;bottom:0;width:58%;
    background:url('images/greg-about.webp') center 12%/cover no-repeat;
    animation:mg-kenburns 24s ease-in-out infinite alternate;transform-origin:65% 35%}
  .lyg-meet-greg .mg-bg::after{content:"";position:absolute;inset:0;
    background:linear-gradient(135deg,rgba(124,58,237,.32),rgba(255,179,71,.14));mix-blend-mode:soft-light}
  @keyframes mg-kenburns{from{transform:scale(1.04)}to{transform:scale(1.12) translate(-1%,-1.5%)}}

  .lyg-meet-greg .mg-scrim{position:absolute;inset:0;pointer-events:none;background:
    linear-gradient(90deg,#150a22 0%,#150a22 34%,rgba(21,10,34,.72) 46%,rgba(21,10,34,.25) 58%,rgba(21,10,34,0) 74%),
    linear-gradient(180deg,rgba(15,7,28,.4) 0%,rgba(15,7,28,0) 30%,rgba(15,7,28,.5) 100%)}

  .lyg-meet-greg .mg-inner{position:relative;z-index:2;max-width:1100px;margin:0 auto;padding:6rem 2rem;width:100%}
  .lyg-meet-greg .mg-col{max-width:580px}

  .lyg-meet-greg .mg-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
    color:var(--peach-light);margin:0 0 1rem}
  .lyg-meet-greg .mg-head{font-family:var(--font-serif),Georgia,serif;font-weight:400;
    font-size:clamp(2.2rem,3.6vw,3.3rem);line-height:1.08;letter-spacing:-.015em;color:#fff;
    margin:0 0 1.1rem;text-shadow:0 4px 30px rgba(0,0,0,.5)}
  .lyg-meet-greg .mg-head em{font-style:italic;background:linear-gradient(90deg,#ffd4a3,#ffb347,#ffe6c4);
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
  .lyg-meet-greg .mg-sub{font-weight:300;font-size:1.12rem;line-height:1.65;color:rgba(253,251,248,.92);
    margin:0 0 2rem;max-width:46ch;text-shadow:0 2px 18px rgba(0,0,0,.5)}
  .lyg-meet-greg .mg-sub strong{font-weight:600;color:#fff}

  .lyg-meet-greg .mg-card{display:flex;align-items:center;gap:1.25rem;max-width:560px;
    background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-left:3px solid var(--peach);
    border-radius:16px;padding:1.25rem 1.4rem;backdrop-filter:blur(8px);margin:0 0 2rem}
  .lyg-meet-greg .mg-num{font-family:var(--font-serif),Georgia,serif;font-size:3.4rem;line-height:.9;
    flex-shrink:0;min-width:1.8em;text-align:center;display:inline-block;
    background:linear-gradient(180deg,#ffe6c4,#ffb347);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
  .lyg-meet-greg .mg-info{display:flex;flex-direction:column;flex:1 1 auto}
  .lyg-meet-greg .mg-t{font-family:var(--font-display),system-ui,sans-serif;font-weight:700;text-transform:uppercase;
    letter-spacing:.03em;font-size:.92rem;color:#fff}
  .lyg-meet-greg .mg-d{font-size:.82rem;color:rgba(253,251,248,.78);margin-top:.25rem;line-height:1.4}
  .lyg-meet-greg .mg-verify{font-size:.76rem;font-weight:600;letter-spacing:.04em;color:#ffd4a3;
    text-decoration:none;margin-top:.45rem}
  .lyg-meet-greg .mg-verify:hover{text-decoration:underline}

  .lyg-meet-greg .mg-video{position:relative;flex:0 0 92px;height:92px;border-radius:12px;overflow:hidden;
    border:1px solid rgba(255,255,255,.2);cursor:pointer;padding:0;background:#000}
  .lyg-meet-greg .mg-video img{width:100%;height:100%;object-fit:cover;opacity:.8;transition:opacity .2s,transform .3s}
  .lyg-meet-greg .mg-video:hover img{opacity:1;transform:scale(1.05)}
  .lyg-meet-greg .mg-play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:1.4rem;
    text-shadow:0 2px 8px rgba(0,0,0,.6);pointer-events:none}
  .lyg-meet-greg .mg-cap{position:absolute;bottom:.25rem;left:0;right:0;text-align:center;z-index:2;
    font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;pointer-events:none}
  .lyg-meet-greg .mg-video.mg-playing img,
  .lyg-meet-greg .mg-video.mg-playing .mg-play,
  .lyg-meet-greg .mg-video.mg-playing .mg-cap{display:none}
  .lyg-meet-greg .mg-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

  .lyg-meet-greg .mg-cta-row{margin-top:1.6rem}
  .lyg-meet-greg .mg-cta{display:inline-block;font-family:var(--font-body),sans-serif;font-weight:700;letter-spacing:.06em;
    padding:1.05rem 2.6rem;border-radius:50px;text-decoration:none;color:#fff;
    background:linear-gradient(135deg,rgba(124,58,237,.55),rgba(167,139,250,.32));
    border:1px solid rgba(255,255,255,.42);
    box-shadow:0 8px 32px rgba(91,33,182,.45),inset 0 1px 0 rgba(255,255,255,.55);
    backdrop-filter:blur(16px) saturate(160%);transition:transform .18s ease,box-shadow .25s ease,background .25s ease}
  .lyg-meet-greg .mg-cta:hover{transform:translateY(-2px);
    background:linear-gradient(135deg,rgba(124,58,237,.72),rgba(167,139,250,.5));
    box-shadow:0 14px 44px rgba(91,33,182,.6),inset 0 1px 0 rgba(255,255,255,.7)}
  .lyg-meet-greg .mg-cta:focus-visible{outline:3px solid var(--purple-light);outline-offset:3px}
  .lyg-meet-greg .mg-risk{font-size:.8rem;color:rgba(253,251,248,.7);margin:.8rem 0 0}

  @media (max-width:820px){
    .lyg-meet-greg .mg-bg{width:100%;left:0}
    .lyg-meet-greg .mg-scrim{background:linear-gradient(180deg,rgba(15,7,28,.4) 0%,rgba(15,7,28,.2) 28%,rgba(15,7,28,.85) 72%,rgba(15,7,28,.94) 100%)}
    .lyg-meet-greg .mg-inner{padding:5rem 1.4rem}
  }
  @media (max-width:560px){
    .lyg-meet-greg .mg-card{flex-wrap:wrap}
    .lyg-meet-greg .mg-num{font-size:2.8rem}
  }
  @media (prefers-reduced-motion:reduce){
    .lyg-meet-greg .mg-bg{animation:none}
  }

/* ===== testimonials ===== */
/* ============ lyg-testimonials — all scoped, tst- prefixed, tokens only ============ */
  .lyg-testimonials *,.lyg-testimonials *::before,.lyg-testimonials *::after{ box-sizing:border-box; margin:0; padding:0; }
  .lyg-testimonials{ font-family:var(--font-body); color:var(--text); line-height:1.7;
    background:linear-gradient(180deg,var(--cream) 0%,var(--white) 55%,var(--peach-bg) 100%);
    padding:6rem 2rem; position:relative; overflow:hidden; }
  .lyg-testimonials .tst-wrap{ max-width:1080px; margin:0 auto; position:relative; z-index:1; }

  .tst-glow{ position:absolute; inset:-20% auto auto -10%; width:480px; height:480px;
    background:var(--grad); filter:blur(130px); opacity:.10; pointer-events:none; z-index:0; }

  /* ── heading ── */
  .lyg-testimonials .tst-head{ text-align:center; max-width:58ch; margin:0 auto 3rem; }
  .lyg-testimonials .tst-label{ font-size:.75rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase;
    color:var(--purple); margin-bottom:1rem; }
  .lyg-testimonials .tst-title{ font-family:var(--font-serif); font-optical-sizing:auto; font-weight:400;
    font-size:clamp(2.1rem,4.2vw,3.2rem); color:var(--dark); line-height:1.12; letter-spacing:-.015em; margin-bottom:1.1rem; }
  .lyg-testimonials .tst-title em{ font-style:italic; font-weight:600;
    background:linear-gradient(115deg,var(--purple) 0%,var(--peach) 100%);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
  .lyg-testimonials .tst-lede{ font-size:1.05rem; color:var(--muted); }
  .lyg-testimonials .tst-lede b{ color:var(--text); font-weight:600; }

  /* ── cards ── */
  .lyg-testimonials .tst-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
  .lyg-testimonials .tst-card{ background:var(--white); border:1px solid #efe6f2; border-radius:20px;
    padding:2rem 1.8rem; box-shadow:0 12px 34px rgba(124,58,237,.07); display:flex; flex-direction:column;
    transition:transform .25s ease, box-shadow .25s ease; }
  .lyg-testimonials .tst-card:hover{ transform:translateY(-4px); box-shadow:0 20px 46px rgba(124,58,237,.13); }
  .lyg-testimonials .tst-stars{ color:var(--peach); letter-spacing:2px; font-size:1rem; margin-bottom:1rem; }
  .lyg-testimonials .tst-quote{ font-family:var(--font-serif); font-weight:400; font-size:1.12rem; line-height:1.55;
    color:var(--dark); margin-bottom:1.6rem; }
  .lyg-testimonials .tst-quote b{ font-weight:600;
    background:linear-gradient(115deg,var(--purple) 0%,var(--peach) 100%);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
  .lyg-testimonials .tst-person{ display:flex; align-items:center; gap:.85rem; margin-top:auto; }
  .lyg-testimonials .tst-avatar{ width:2.7rem; height:2.7rem; border-radius:50%; flex-shrink:0;
    display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700;
    font-size:1rem; color:#fff; background:linear-gradient(135deg,var(--purple),var(--peach)); }
  .lyg-testimonials .tst-name{ display:block; font-weight:600; color:var(--text); font-size:.95rem; line-height:1.2; }
  .lyg-testimonials .tst-meta{ display:block; font-size:.8rem; color:var(--muted); margin-top:.15rem; }
  .lyg-testimonials .tst-tag{ display:inline-flex; align-items:center; gap:.35rem; margin-bottom:1.2rem; align-self:flex-start;
    font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--purple-dark);
    background:rgba(124,58,237,.07); border:1px solid rgba(124,58,237,.16); padding:.3rem .8rem; border-radius:50px; }

  /* ── trust strip ── */
  .lyg-testimonials .tst-strip{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
    gap:1rem 2.4rem; margin-top:3rem; padding-top:2.4rem; border-top:1px solid #efe6f2; text-align:center; }
  .lyg-testimonials .tst-strip-item{ display:flex; flex-direction:column; align-items:center; gap:.2rem; }
  .lyg-testimonials .tst-strip-num{ font-family:var(--font-serif); font-weight:600; font-size:1.7rem; color:var(--purple-dark); line-height:1; }
  .lyg-testimonials .tst-strip-lbl{ font-size:.78rem; letter-spacing:.04em; color:var(--muted); }
  .lyg-testimonials .tst-disclaimer{ text-align:center; font-size:.74rem; color:var(--muted); margin-top:1.6rem; }

  /* ── responsive ── */
  @media (max-width:900px){
    .lyg-testimonials .tst-grid{ grid-template-columns:1fr; max-width:480px; margin:0 auto; }
  }
  @media (max-width:720px){
    .lyg-testimonials{ padding:4rem 1.25rem; }
  }
  @media (prefers-reduced-motion:reduce){
    .lyg-testimonials .tst-card{ transition:none; }
    .lyg-testimonials .tst-card:hover{ transform:none; }
  }

/* ===== pricing ===== */
/* ============ lyg-pricing — all scoped, price- prefixed, tokens only ============ */
  .lyg-pricing *,.lyg-pricing *::before,.lyg-pricing *::after{ box-sizing:border-box; margin:0; padding:0; }
  .lyg-pricing{ font-family:var(--font-body); color:var(--text); line-height:1.7; background:var(--cream); }
  .lyg-pricing .price-band{ padding:6rem 2rem; }
  .lyg-pricing .price-container{ max-width:960px; margin:0 auto; }

  /* shared headings */
  .lyg-pricing .price-label{ font-size:.75rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--purple); margin-bottom:1rem; }
  .lyg-pricing .price-title{ font-family:var(--font-serif); font-optical-sizing:auto; font-weight:400; font-size:clamp(2.1rem,4.2vw,3.2rem); color:var(--dark); line-height:1.12; letter-spacing:-.015em; margin-bottom:1.25rem; }
  .lyg-pricing .price-title em{ font-style:italic; font-weight:600; background:linear-gradient(115deg,var(--purple) 0%,var(--peach) 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
  .lyg-pricing .price-lede{ font-size:1.08rem; color:var(--muted); max-width:54ch; margin-bottom:3rem; }
  .lyg-pricing .price-lede b{ color:var(--text); font-weight:600; }

  /* primary CTA button */
  .lyg-pricing .price-btn-primary{ display:inline-block; font-family:var(--font-body); font-size:1.02rem; font-weight:700; letter-spacing:.02em; padding:1.05rem 2.6rem; border-radius:50px; text-decoration:none; background:var(--peach); color:var(--dark); transition:transform .18s ease, background .25s ease, box-shadow .25s ease; box-shadow:0 8px 26px rgba(255,179,71,.35); }
  .lyg-pricing .price-btn-primary:hover{ background:var(--peach-light); transform:translateY(-2px); box-shadow:0 14px 36px rgba(255,179,71,.45); }

  /* ════ band: TRIAL (guarantee amplified) ════ */
  .lyg-pricing .price-trial{ background:linear-gradient(160deg,var(--peach-bg) 0%,var(--cream) 100%); text-align:center; }
  .lyg-pricing .price-trial .price-container{ max-width:680px; }
  .lyg-pricing .price-trial .price-lede{ margin:0 auto 2.4rem; text-align:center; }
  .lyg-pricing .price-guarantee-seal{ display:inline-flex; align-items:center; gap:.6rem; margin:0 auto 2rem; font-weight:700; color:var(--purple-dark); background:var(--white); border:2px solid var(--purple-light); padding:.7rem 1.4rem; border-radius:50px; box-shadow:0 8px 24px rgba(124,58,237,.12); }
  .lyg-pricing .price-guarantee-seal .price-ico{ font-size:1.2rem; }
  .lyg-pricing .price-trial-box{ background:var(--white); border-radius:24px; padding:3rem 2.5rem; text-align:center; box-shadow:0 18px 50px rgba(124,58,237,.12); border:1px solid var(--peach-light); max-width:560px; margin:0 auto; }
  .lyg-pricing .price-ribbon{ display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--purple-dark); background:linear-gradient(135deg,rgba(124,58,237,.12),rgba(255,179,71,.16)); border:1px solid rgba(124,58,237,.22); padding:.4rem 1.1rem; border-radius:50px; margin-bottom:1.4rem; }
  .lyg-pricing .price-trial-box h3{ font-family:var(--font-serif); font-weight:500; font-size:1.6rem; color:var(--dark); }
  .lyg-pricing .price-trial-price{ font-size:3.4rem; font-weight:700; color:var(--purple-dark); line-height:1; margin:.4rem 0 .2rem; }
  .lyg-pricing .price-trial-box p{ font-size:.97rem; color:var(--muted); margin:.6rem auto 1.8rem; max-width:42ch; }
  .lyg-pricing .price-trial-box .price-btn-primary{ width:100%; max-width:340px; }
  .lyg-pricing .price-trial-box .price-guarantee{ font-size:.85rem; color:var(--muted); margin-top:1.1rem; font-style:italic; }
  .lyg-pricing .price-trial-trust{ display:flex; flex-wrap:wrap; justify-content:center; gap:1.6rem; margin-top:2.2rem; }
  .lyg-pricing .price-trial-trust span{ font-size:.85rem; color:var(--text); display:flex; align-items:center; gap:.45rem; }
  .lyg-pricing .price-trial-trust span::before{ content:"✓"; color:var(--purple); font-weight:700; }

  /* ════ band: PRICING (scarcity) ════ */
  .lyg-pricing .price-pricing{ background:var(--white); border-top:1px solid #f1e9f5; }
  .lyg-pricing .price-pricing .price-container{ max-width:900px; }
  .lyg-pricing .price-pricing-head{ text-align:center; max-width:60ch; margin:0 auto 2rem; }
  .lyg-pricing .price-pricing-head .price-label{ color:var(--muted); }
  .lyg-pricing .price-pricing-head .price-title{ font-size:clamp(1.8rem,3.4vw,2.6rem); margin-bottom:.9rem; }
  .lyg-pricing .price-transparency-note{ font-size:1rem; color:var(--muted); }
  .lyg-pricing .price-transparency-note strong{ color:var(--text); font-weight:600; }

  .lyg-pricing .price-scarcity{ max-width:560px; margin:0 auto 2rem; text-align:center; }
  .lyg-pricing .price-badge{ display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--purple); background:rgba(124,58,237,.08); border:1px solid rgba(124,58,237,.18); padding:.35rem 1rem; border-radius:50px; margin-bottom:1rem; }
  .lyg-pricing .price-spots-bar{ height:10px; background:#f1e9f5; border-radius:50px; overflow:hidden; margin:.6rem 0 .5rem; }
  .lyg-pricing .price-spots-fill{ height:100%; width:50%; border-radius:50px; background:linear-gradient(90deg,var(--purple),var(--peach)); }
  .lyg-pricing .price-spots-text{ font-size:.9rem; color:var(--text); font-weight:600; }
  .lyg-pricing .price-spots-text b{ color:var(--purple-dark); }
  .lyg-pricing .price-jump{ color:var(--purple-dark); font-weight:600; }

  .lyg-pricing .price-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.5rem; margin-bottom:1.4rem; }
  .lyg-pricing .price-plan{ position:relative; background:var(--cream); border:1px solid #efe6f2; border-radius:20px; padding:2rem 1.9rem; display:flex; flex-direction:column; }
  .lyg-pricing .price-plan--featured{ border-color:var(--purple-light); box-shadow:0 14px 40px rgba(124,58,237,.12); }
  .lyg-pricing .price-plan-flag{ position:absolute; top:-.7rem; right:1.2rem; font-size:.66rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#fff; background:linear-gradient(135deg,var(--purple),var(--peach)); padding:.35rem .9rem; border-radius:50px; box-shadow:0 6px 16px rgba(124,58,237,.3); }
  .lyg-pricing .price-plan-label{ font-size:.74rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:.4rem; }
  .lyg-pricing .price-plan h3{ font-family:var(--font-serif); font-weight:500; font-size:1.25rem; color:var(--dark); margin-bottom:.6rem; }
  .lyg-pricing .price-plan-price{ font-size:2.3rem; font-weight:700; color:var(--purple-dark); line-height:1; }
  .lyg-pricing .price-plan-sub{ font-size:.85rem; color:var(--muted); margin:.35rem 0 1.2rem; }
  .lyg-pricing .price-save{ color:var(--purple); font-weight:600; }
  .lyg-pricing .price-plan ul{ list-style:none; margin-bottom:1.4rem; }
  .lyg-pricing .price-plan ul li{ font-size:.9rem; color:var(--text); padding:.35rem 0; display:flex; gap:.5rem; align-items:flex-start; }
  .lyg-pricing .price-plan ul li::before{ content:"✓"; color:var(--purple); font-weight:700; flex-shrink:0; }
  .lyg-pricing .price-inquire{ margin-top:auto; font-size:.86rem; font-weight:600; color:var(--purple-dark); text-align:center; padding:.8rem 1rem; border-radius:12px; background:rgba(124,58,237,.06); border:1px solid rgba(124,58,237,.16); }

  .lyg-pricing .price-standard-note{ text-align:center; font-size:.9rem; color:var(--muted); max-width:54ch; margin:0 auto 2.6rem; }
  .lyg-pricing .price-standard-note strong{ color:var(--text); }

  .lyg-pricing .price-guarantee-callout{ background:linear-gradient(135deg,#f7f0ff,var(--peach-bg)); border:1px solid var(--purple-light); border-radius:20px; padding:2.2rem 2.4rem; max-width:640px; margin:0 auto; text-align:center; }
  .lyg-pricing .price-guarantee-callout h3{ font-family:var(--font-serif); font-weight:500; font-size:1.3rem; color:var(--purple-dark); margin-bottom:.8rem; }
  .lyg-pricing .price-guarantee-callout p{ font-size:.97rem; color:var(--text); line-height:1.7; }

  /* ════ responsive ════ */
  @media (max-width:960px){
    .lyg-pricing .price-band{ padding:5rem 1.75rem; }
  }
  @media (max-width:720px){
    .lyg-pricing .price-band{ padding:4rem 1.25rem; }
    .lyg-pricing .price-grid{ grid-template-columns:1fr; }
    .lyg-pricing .price-trial-box{ padding:2.2rem 1.5rem; }
    .lyg-pricing .price-guarantee-callout{ padding:2rem 1.5rem; }
    .lyg-pricing .price-trial-trust{ gap:1rem 1.6rem; }
  }

  /* ════ reduced motion ════ */
  @media (prefers-reduced-motion: reduce){
    .lyg-pricing *,.lyg-pricing *::before,.lyg-pricing *::after{ transition:none !important; animation:none !important; }
    .lyg-pricing .price-btn-primary:hover{ transform:none; }
  }

/* ===== footer ===== */
/* ============ lyg-footer — all scoped, ft- prefixed, tokens only ============ */
  .lyg-footer *,.lyg-footer *::before,.lyg-footer *::after{ box-sizing:border-box; margin:0; padding:0; }
  .lyg-footer{ font-family:var(--font-body); background:var(--ink); color:#cfc6e0; line-height:1.7;
    position:relative; overflow:hidden; }
  .lyg-footer::before{ content:""; position:absolute; inset:0 0 auto 0; height:3px; background:var(--grad); opacity:.9; }

  /* ── final CTA banner ── */
  .lyg-footer .ft-cta{ text-align:center; padding:5rem 2rem 3.5rem; position:relative; }
  .lyg-footer .ft-cta-eyebrow{ font-size:.75rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
    color:var(--peach-light); margin-bottom:1rem; }
  .lyg-footer .ft-cta-title{ font-family:var(--font-serif); font-weight:400; font-size:clamp(1.9rem,3.6vw,2.8rem);
    line-height:1.14; color:#fff; max-width:18ch; margin:0 auto 1.6rem; }
  .lyg-footer .ft-cta-title em{ font-style:italic;
    background:linear-gradient(90deg,#ffd4a3,#ffb347,#e9d5ff);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
  .lyg-footer .ft-cta-btn{ display:inline-block; font-family:var(--font-body); font-weight:700; letter-spacing:.02em;
    font-size:1.04rem; padding:1.1rem 2.8rem; border-radius:50px; text-decoration:none; color:var(--dark);
    background:var(--peach); box-shadow:0 12px 36px rgba(255,179,71,.4);
    transition:transform .18s ease, background .25s ease, box-shadow .25s ease; }
  .lyg-footer .ft-cta-btn:hover{ background:var(--peach-light); transform:translateY(-2px); box-shadow:0 18px 46px rgba(255,179,71,.5); }
  .lyg-footer .ft-cta-btn:focus-visible{ outline:3px solid var(--purple-light); outline-offset:3px; }
  .lyg-footer .ft-cta-sub{ font-size:.85rem; color:#a99fbd; margin-top:1rem; }

  /* ── columns ── */
  .lyg-footer .ft-main{ max-width:1080px; margin:0 auto; padding:3rem 2rem;
    border-top:1px solid rgba(255,255,255,.09);
    display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:2.4rem; }
  .lyg-footer .ft-brand{ font-family:var(--font-display); font-weight:700; font-size:1.3rem; color:#fff; margin-bottom:.7rem; }
  .lyg-footer .ft-brand b{ background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .lyg-footer .ft-tagline{ font-size:.92rem; color:#a99fbd; max-width:30ch; }
  .lyg-footer .ft-col h4{ font-family:var(--font-display); font-size:.78rem; font-weight:700; letter-spacing:.12em;
    text-transform:uppercase; color:#e9e2f5; margin-bottom:1rem; }
  .lyg-footer .ft-col ul{ list-style:none; }
  .lyg-footer .ft-col li{ margin-bottom:.6rem; font-size:.92rem; }
  .lyg-footer .ft-col a{ color:#cfc6e0; text-decoration:none; transition:color .2s; }
  .lyg-footer .ft-col a:hover{ color:#fff; }
  .lyg-footer .ft-col p{ font-size:.92rem; color:#cfc6e0; margin-bottom:.5rem; }
  .lyg-footer .ft-col p span{ color:#8b7a9a; }
  .lyg-footer .ft-directions{ display:inline-block; margin-top:.4rem; font-size:.85rem; font-weight:600; color:var(--peach-light); text-decoration:none; }
  .lyg-footer .ft-directions:hover{ text-decoration:underline; }

  /* ── bottom bar ── */
  .lyg-footer .ft-bottom{ max-width:1080px; margin:0 auto; padding:1.6rem 2rem 2.4rem;
    border-top:1px solid rgba(255,255,255,.09);
    display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1rem;
    font-size:.82rem; color:#8b7a9a; }
  .lyg-footer .ft-bottom a{ color:#8b7a9a; text-decoration:none; }
  .lyg-footer .ft-bottom a:hover{ color:#cfc6e0; }
  .lyg-footer .ft-bottom-links{ display:flex; gap:1.4rem; flex-wrap:wrap; }
  .lyg-footer .ft-disclaimer{ max-width:1080px; margin:0 auto; padding:0 2rem 2.4rem; font-size:.74rem; color:#6b5d7a; line-height:1.5; }

  /* ── responsive ── */
  @media (max-width:820px){
    .lyg-footer .ft-main{ grid-template-columns:1fr 1fr; gap:2rem; }
    .lyg-footer .ft-brand-col{ grid-column:1 / -1; }
  }
  @media (max-width:520px){
    .lyg-footer .ft-main{ grid-template-columns:1fr; }
    .lyg-footer .ft-cta-btn{ display:block; }
    .lyg-footer .ft-bottom{ flex-direction:column; align-items:flex-start; }
  }
  @media (prefers-reduced-motion:reduce){
    .lyg-footer .ft-cta-btn{ transition:none; }
    .lyg-footer .ft-cta-btn:hover{ transform:none; }
  }
