/* Reuta / Bubble Method palette on the kit. Only tokens change; extras below are built in the same language. */
:root{
  --bg:#06131a; --bg-rgb:6,19,26; --bg-2:#0a1b24; --glow-rgb:24,120,140;
  --sf-1:#0a1a22; --sf-2:#0b1d26; --sf-3:#0d212b; --sf-4:#13303b; --sf-5:#102833; --sf-6:#0a1c25; --sf-7:#08161d; --sf-8:#123039;
  --ivory:#f5efe4; --ivory-rgb:245,239,228;
  --a1:#e2bb62; --a1-rgb:226,187,98; --a1-soft:#f3dfa9; --a1-deep:#b08a2e; --a1-line:rgba(var(--a1-rgb),.32);
  --a1-grad:linear-gradient(118deg,#f8e9bd 0%,#e2bb62 46%,#b8892b 100%); --a1-ink:#1d1405;
  --name-grad:linear-gradient(112deg,#f8e9bd,#e2bb62 42%,#57cfe2 96%);
  --a2:#3fc3d8; --a2-rgb:63,195,216; --a2-soft:#a9e6f0; --a2-line:rgba(var(--a2-rgb),.28);
  --a2-grad:linear-gradient(118deg,#c9f1f7 0%,#3fc3d8 50%,#0c93ad 100%); --a2-ink:#04222a;
}
/* program name lockup in the hero */
.pname{display:grid;gap:2px;justify-items:inherit;margin-bottom:10px}
.pname span{font-weight:300;font-size:clamp(17px,2vw,22px);color:var(--t-mid)}
.pname .product__name{margin-top:0;font-family:"Frank Ruhl Libre",Georgia,serif;font-style:normal;font-size:clamp(42px,8.4vw,84px);line-height:1.05;letter-spacing:0}
.hero h1{max-width:680px}
.hero__with{font-weight:900;font-size:clamp(29px,7.7vw,52px);line-height:1.13;margin-top:4px;background:var(--a2-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.hero__sub{font-weight:700}
.chip{display:inline-block;margin-top:14px;padding:8px 18px;border-radius:999px;background:rgba(var(--ivory-rgb),.94);box-shadow:0 18px 40px -22px rgba(0,0,0,.9)}
.chip img{height:34px;width:auto}
/* round portrait inside the rings */
.portrait--round img{left:50%;top:44%;bottom:auto;height:auto;width:78%;aspect-ratio:1;object-fit:cover;object-position:50% 16%;border-radius:50%;transform:translate(-50%,-50%);border:1px solid var(--a1-line);box-shadow:0 40px 90px -40px rgba(0,0,0,.95)}
.portrait--round{aspect-ratio:1/1.06}
/* light images (screenshots on a cream ground) sit in an ivory frame */
.lightframe{max-width:760px;margin:clamp(34px,5vw,56px) auto 0;border-radius:22px;overflow:hidden;border:1px solid var(--a1-line);background:#fbf8f3;box-shadow:0 50px 110px -44px rgba(0,0,0,.95),0 0 80px -34px rgba(var(--a1-rgb),.35)}
.lightframe img{width:100%}
.lightframe--s{max-width:460px;margin-top:0}
/* uniform testimonial cards */
.tgrid{display:grid;gap:20px;margin-top:clamp(30px,5vw,54px);align-items:stretch}
.tc{display:flex;flex-direction:column;min-width:0;padding:24px 22px;border-radius:22px;text-align:right;border:1px solid rgba(var(--ivory-rgb),.08);
  background:linear-gradient(165deg,rgba(255,255,255,.045),rgba(255,255,255,.012));transition:transform .5s var(--ease-out),border-color .5s}
.tc:hover{transform:translateY(-6px);border-color:var(--a2-line)}
.tc__head{display:flex;align-items:center;gap:14px;min-height:72px}
.tc__head h4{font-size:clamp(18px,2vw,21px)}
.tc__head .tag{margin-top:8px}
.tc__role{font-weight:300;font-size:15px;color:var(--t-mid);margin-top:4px}
.tc__ava{flex:none;width:64px;height:64px;border-radius:50%;overflow:hidden;border:2px solid var(--a1);display:grid;place-items:center}
.tc__ava img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.tc__ava--l{background:var(--a1-grad);color:var(--a1-ink);font-weight:900;font-size:24px}
.tc__body{margin-top:14px;min-height:7.2em}
.tc__body p{font-weight:300;font-size:clamp(16px,1.7vw,17.5px);color:var(--t-mid);line-height:1.62}
.tc__body .tc__q{margin-top:8px;font-weight:500;color:var(--t-hi)}
.tc__res{margin-top:12px;font-weight:900;font-size:clamp(17px,1.9vw,20px);line-height:1.35;text-align:center;text-wrap:balance}
.tc__res--l{font-size:clamp(22px,3.4vw,34px);margin-top:clamp(28px,4vw,44px)}
.tc__cap{margin-top:8px;font-weight:700;font-size:15px;text-align:center;color:var(--t-hi)}
.tc__media{margin-top:auto;height:280px;border-radius:14px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fbf8f3;border:1px solid var(--a1-line)}
.tc__body + .tc__media,.tc__cap + .tc__media{margin-top:16px}
.tc{gap:0}.tc__media{flex:none}.tc__body{flex:1}
.tc__media img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.tc__media:has(video){background:#04090c}
.vid{display:block;background:#04090c;border-radius:12px}
.vid--p{height:100%;width:auto;max-width:100%;aspect-ratio:9/16}
.vid--w{width:100%;aspect-ratio:16/9}
.vidframe{max-width:620px;margin:16px auto 0;border-radius:20px;overflow:hidden;border:1px solid var(--a2-line);box-shadow:0 50px 110px -44px rgba(0,0,0,.95),0 0 80px -34px rgba(var(--a2-rgb),.45)}
/* before / after */
.vs{display:grid;gap:18px;margin-top:clamp(26px,4vw,40px);text-align:right}
.vs__c{padding:26px 24px;border-radius:20px;border:1px solid rgba(var(--ivory-rgb),.08);background:linear-gradient(165deg,rgba(255,255,255,.04),rgba(255,255,255,.01))}
.vs__c p{font-weight:300;font-size:clamp(16.5px,1.8vw,18.5px);color:var(--t-mid);line-height:1.66}
.vs__c p b{color:var(--t-hi);font-weight:700}
.vs__c .vs__t{font-weight:900;font-size:clamp(20px,2.4vw,26px);color:var(--no);margin-bottom:8px}
.vs__c--a{border-color:var(--a2-line);background:radial-gradient(90% 70% at 80% 0%,rgba(var(--a2-rgb),.14),transparent 60%),linear-gradient(165deg,rgba(255,255,255,.04),rgba(255,255,255,.01))}
.vs__c--a .vs__t{color:var(--ok)}
.who{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:clamp(26px,4vw,40px)}
.who__ava{width:84px;height:84px;border-radius:50%;overflow:hidden;border:2px solid var(--a1);flex:none}
.who__ava img{width:100%;height:100%;object-fit:cover}
.who__name{font-weight:900;font-size:clamp(18px,2.2vw,24px);text-align:right}
.notes--tall img{max-height:620px;width:auto;max-width:100%;margin-inline:auto;object-fit:contain}
.story__quote--m{font-size:clamp(28px,5.6vw,58px);line-height:1.16;text-align:center}
.checks--in{margin-top:16px;max-width:none}
.notfor .checks--in .check{padding-block:12px}
.about__grid--model{margin-top:clamp(30px,5vw,54px)}
.about__copy .lead + .lead{margin-top:16px}
.about__copy h2 + .lead{margin-top:16px}
.stage--book{max-width:300px}
.stop__shot--p img{max-height:340px;width:auto;border-radius:12px}
.stop__shot img{border-radius:12px}
.formh{font-size:clamp(22px,3vw,30px);line-height:1.25;text-align:center;position:relative;z-index:1}
.pricecard .quote{font-weight:900;font-size:clamp(20px,2.6vw,28px);line-height:1.3;text-align:center;text-wrap:balance}
.pf__ava--img::after{display:none}
.pf__ava--img{border:2px solid var(--a1)}
.pf__ava--img img{width:100%;height:100%;object-fit:cover}
.pf__real{font-weight:900;font-size:17px;color:var(--t-hi)}
.pf__who .pf__meta{line-height:1.3}
.flinks{margin-top:10px;display:flex;justify-content:center;flex-wrap:wrap;gap:6px 18px}
.flinks a{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;text-decoration:underline;font-size:15px}
.mech__grid--3{}
@media (min-width:760px){
  .tgrid--2{grid-template-columns:1fr 1fr;max-width:980px;margin-inline:auto}
  .tgrid--3{grid-template-columns:repeat(3,1fr)}
  .vs{grid-template-columns:1fr 1fr}
  .about__grid--model{grid-template-columns:.8fr 1.2fr}
}
@media (min-width:1000px){ .mech__grid--3{grid-template-columns:repeat(3,1fr)} }
@media (max-width:759px){ .tc__media{height:240px} .tc__body{min-height:0} }
.pname .product__name{white-space:nowrap;font-size:clamp(36px,9.6vw,70px)}
@media (min-width:860px){ .stop:nth-of-type(5){grid-area:5/1} }
/* hero number + promise emphasis */
.knum{font-weight:900;font-size:1.5em;line-height:1;background:var(--a1-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;font-variant-numeric:tabular-nums}
.hero__sub .gt-a1{font-weight:900;font-size:1.25em}
/* proof belt: real messages, typed as written */
.proofbelt{overflow:hidden;direction:ltr;margin-top:clamp(30px,5vw,56px);padding-block:14px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.proofbelt__track{display:flex;align-items:center;gap:18px;width:max-content;will-change:transform}
.pb{direction:rtl;text-align:right;flex:0 0 auto;width:min(74vw,270px);padding:14px 16px 10px;border-radius:16px 16px 16px 4px;background:#fbf8f3;color:#14110e;
  box-shadow:0 26px 54px -26px rgba(0,0,0,.95),0 0 0 1px rgba(var(--a1-rgb),.35);font-size:16.5px;line-height:1.5}
.pb:nth-child(even){transform:rotate(-1.4deg) translateY(6px)} .pb:nth-child(odd){transform:rotate(1.1deg)}
.pb--wide{width:min(82vw,350px)}
.pb b{font-weight:700;background:linear-gradient(transparent 62%,rgba(226,187,98,.75) 62%)}
.pb time{display:block;text-align:left;font-size:14px;color:#8a7767;margin-top:2px;direction:ltr}
.pb--bank{text-align:center;width:min(70vw,250px);padding:18px 16px}
.pb--bank b{display:block;font-size:30px;font-weight:900;background:none;color:#0e2a3a}
/* live model of the method */
.model{position:relative;width:min(100%,460px);aspect-ratio:1/1.22;margin-inline:auto;direction:rtl}
.model__svg{position:absolute;left:0;right:0;top:11%;width:100%;height:auto;aspect-ratio:1}
.md-orbit{fill:none;stroke:rgba(var(--ivory-rgb),.14);stroke-width:1.4}
.md-flow{fill:none;stroke:url(#mdGrad);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:6 18;animation:mdflow 3.2s linear infinite;filter:drop-shadow(0 0 5px rgba(var(--a1-rgb),.55))}
@keyframes mdflow{to{stroke-dashoffset:-48}}
.md-core{fill:url(#mdCore);filter:drop-shadow(0 0 22px rgba(var(--a2-rgb),.7))}
.md-halo{fill:rgba(var(--a2-rgb),.1);animation:mdhalo 4s ease-in-out infinite;transform-origin:200px 200px}
@keyframes mdhalo{50%{transform:scale(1.14);opacity:.4}}
.md-n circle{fill:var(--sf-4);stroke:var(--a1);stroke-width:2.4}
.md-n2 circle,.md-n4 circle{stroke:var(--a2)}
.md-n{animation:mdnode 8s ease-in-out infinite}
.md-n2{animation-delay:2s}.md-n3{animation-delay:4s}.md-n4{animation-delay:6s}
@keyframes mdnode{0%,18%,100%{filter:none}6%{filter:drop-shadow(0 0 14px rgba(var(--a1-rgb),.95))}}
.md-c{position:absolute;left:50%;top:calc(11% + 41%);transform:translate(-50%,-50%);text-align:center;font-weight:900;font-size:clamp(20px,5vw,26px);color:#04222a;line-height:1.1}
.md-c small{display:block;font-weight:500;font-size:14px;opacity:.8}
.md-d{position:absolute;transform:translate(-50%,-50%);font-weight:900;font-size:clamp(20px,5vw,26px);color:var(--a1-soft)}
.md-d1{left:70.85%;top:calc(11% + 23.9%)} .md-d2{left:70.85%;top:calc(11% + 58.1%)} .md-d3{left:29.15%;top:calc(11% + 58.1%)} .md-d4{left:29.15%;top:calc(11% + 23.9%)}
.md-d2,.md-d4{color:var(--a2-soft)}
.md-l{position:absolute;width:46%;text-align:center}
.md-l b{display:block;font-weight:900;font-size:clamp(16px,3.9vw,19px);color:var(--t-hi);white-space:nowrap}
.md-l span{display:block;margin-top:3px;font-weight:300;font-size:14px;line-height:1.4;color:var(--t-mid);text-wrap:balance}
.md-l1{right:2%;top:0} .md-l4{left:2%;top:0} .md-l2{right:2%;bottom:0} .md-l3{left:2%;bottom:0}
@media (prefers-reduced-motion:reduce){.md-flow,.md-halo,.md-n{animation:none}}
.pb:nth-child(even){transform:translateY(8px)} .pb:nth-child(odd){transform:none}
.pb p{text-wrap:wrap}
.knum{font-size:1em;line-height:inherit}
/* the book: the real 3D cover, large, no white sheet around it */
.stop__shot--book{padding:14px 6px 6px}
.stop__shot--book img{width:118%;max-width:none;margin-inline:-9%;border-radius:0;filter:drop-shadow(0 26px 34px rgba(0,0,0,.7))}
.stage--book{max-width:440px}
@media (min-width:860px){ .stop:nth-of-type(5){grid-template-columns:52% 1fr} }
.stop__shot--book{padding:18px}
.stop__shot--book img{width:auto;max-width:100%;max-height:300px;margin-inline:auto}
.stage--book{max-width:330px}
@media (max-width:859px){ .stop__shot--book img{max-height:320px} }
/* wide device mockups (zoom) get more room in their stop */
.stop__shot--w{padding:16px}
.stop__shot--w img{border-radius:0;width:100%}
@media (min-width:860px){ .stop:has(.stop__shot--w){grid-template-columns:58% 1fr} }
/* desktop: every stop shows its image large on top, text under it (the images were too small beside the text) */
@media (min-width:860px){
  .stop,.stop:nth-of-type(5),.stop:has(.stop__shot--w){display:flex;flex-direction:column;grid-template-columns:none}
  .stop__shot{height:auto;flex:1;padding:22px 22px 6px}
  .stop__shot img{max-height:300px;width:auto;max-width:100%}
  .stop__shot--w img{max-height:none;width:100%}
  .stop__txt{padding:16px 26px 26px;text-align:center}
  .road__track{grid-auto-rows:auto}
}
/* six bonuses: three in a row on desktop, equal cards */
@media (min-width:1000px){ .bonus__grid--3{grid-template-columns:repeat(3,1fr)} }
.bonus__grid--3 .bcard{display:flex;flex-direction:column}
.bonus__grid--3 .bcard__txt{flex:1;display:flex;flex-direction:column;align-items:flex-start}
.bonus__grid--3 .bcard h4{font-size:clamp(19px,2vw,22px);line-height:1.28}
.bonus__grid--3 .bcard__txt p:not(.tag){margin-top:8px;font-weight:300;color:var(--t-mid);font-size:clamp(15.5px,1.6vw,17px);line-height:1.55}
.bonus__grid--3 .val{margin-top:auto;transform:translateY(8px);color:var(--a1-soft);border-color:var(--a1-line);background:rgba(var(--a1-rgb),.1);font-size:15px}
.bcard__shot--w img{border-radius:12px}
.bonus .hair .gt-a1{font-size:1.5em}
