/* AmplifAI Me Creator Studio: shared styles for EN + ES.
   Design family: the Westlake Tint / Nueva Energy build language ("Clear Sky" system, smoked-glass dark variant):
   Cabinet Grotesk + Satoshi, bar -> frosted island nav, pill buttons with colored glow, r20 glass cards,
   centered .sec-head rhythm, floating glass mobile bar, .reveal motion. Palette: AmplifAI violet + gold on night glass. */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --night:#07060d;--night2:#0e0b1c;--night3:#151029;
  --text:#f4f1ff;--text2:rgba(244,241,255,.70);--text3:rgba(244,241,255,.46);
  --line:rgba(255,255,255,.09);--line2:rgba(176,127,232,.28);
  --violet:#7b3fd4;--violet2:#b07fe8;--lav:#d4aaff;--deep:#4a1fa8;
  /* ---- GOLD: bright polished metal for buttons, text accents, price, icons. Tune here. ---- */
  --gold-1:#F7E3A1;            /* champagne highlight */
  --gold-2:#E9C46A;            /* polished gold */
  --gold-3:#D4A93F;            /* darkest band (button text contrast checked against this: 7.5:1) */
  --gold-ink:#2A1D05;          /* text on gold */
  --gold-line:rgba(247,227,161,.6);
  --gold-hi:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -1px 0 rgba(120,84,20,.35);
  --gold-glow:0 10px 40px -12px rgba(233,196,106,.55);
  --gold-btn:linear-gradient(180deg,#FFF6D8 0%,#F7E3A1 18%,#E9C46A 42%,#D4A93F 58%,#F2D484 78%,#FFF1C4 100%);
  --gold-text:linear-gradient(100deg,#FFF3C9 0%,#F5D98A 25%,#E2B650 45%,#FFF6D8 55%,#E9C46A 70%,#F7E3A1 100%);
  /* polished gold BAR (primary CTAs): beveled rim + glossy face with a reflection horizon at ~52% */
  --gold-face:linear-gradient(180deg,#FFF4C8 0%,#FBEAAE 22%,#F6DE8E 50%,#E8C877 51.5%,#C79A3C 53%,#B98D35 66%,#A9802F 82%,#D3AC4C 100%);
  --gold-rim:radial-gradient(55% 140% at 50% 100%,rgba(255,246,216,.95),rgba(255,246,216,0) 46%),
             radial-gradient(38% 120% at 10% 0%,rgba(255,248,224,1),rgba(255,248,224,0) 60%),
             linear-gradient(180deg,#F2D27E 0%,#8A5C16 30%,#4E3209 55%,#A87526 80%,#F0CF78 100%);
  --gold-recess:inset 0 0 0 1px rgba(60,35,5,.8);
  --gold-depth:0 6px 14px rgba(0,0,0,.45),0 0 28px -6px rgba(233,196,106,.45);
  --gold-engrave:0 1px 0 rgba(255,240,200,.6);
  /* brushed gold COIN (round chips): radial face + fine brush lines + double rim */
  --gold-brush:repeating-linear-gradient(112deg,rgba(255,255,255,.10) 0 1px,rgba(120,80,20,.06) 1px 2px,rgba(255,255,255,0) 2px 4px);
  --gold-coin-face:radial-gradient(circle at 34% 28%,#FFF4C8 0%,#F3D98C 26%,#E2BC62 52%,#C99A3E 78%,#DDB75A 100%);
  --gold-coin-rim:linear-gradient(145deg,#FFF3C4 0%,#B8862E 30%,#7A5216 55%,#E9C46A 78%,#FFF1C4 100%);
  --gold-coin-ring:inset 0 0 0 1px rgba(60,35,5,.7),inset 0 0 0 3px rgba(255,240,200,.28),inset 0 0 0 4px rgba(60,35,5,.35);
  --gold:var(--gold-2);--gold2:var(--gold-1);--gold3:#FFF3C9;--ink:var(--gold-ink);
  --g-gold:var(--gold-text);
  --g-ai:var(--gold-text);
  --glass:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.02));
  --shadow:0 18px 50px rgba(0,0,0,.35);
  --r:20px;--r-sm:14px;--r-pill:100px;
  --ease:cubic-bezier(.22,1,.36,1);
  --display:'Cabinet Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;
  --sans:'Satoshi',system-ui,-apple-system,'Segoe UI',sans-serif;
  --gut:20px;
}
@media(min-width:768px){:root{--gut:28px}}
html{scroll-behavior:smooth;background:var(--night);-webkit-text-size-adjust:100%}
body{font-family:var(--sans);color:var(--text);background:var(--night);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip;min-height:100vh}
img,video,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4{font-family:var(--display);font-weight:800;letter-spacing:-.02em;line-height:1.05;color:var(--text)}
:focus-visible{outline:2px solid var(--gold2);outline-offset:3px;border-radius:8px}
.skip{position:absolute;left:-9999px;top:8px;z-index:400;background:var(--gold2);color:var(--ink);padding:8px 14px;border-radius:10px;font-weight:700}
.skip:focus{left:8px}
.wrap{max-width:1160px;margin:0 auto;padding:0 var(--gut);position:relative}
.tac{text-align:center}

/* ambient world: aurora glows + dot grid behind everything */
.ambient{position:fixed;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(900px 520px at 80% -5%,rgba(123,63,212,.26),transparent 65%),
  radial-gradient(700px 480px at -5% 45%,rgba(74,31,168,.20),transparent 65%),
  radial-gradient(600px 420px at 70% 105%,rgba(233,196,106,.10),transparent 65%),var(--night)}
.ambient::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.055) 1px,transparent 1px);background-size:28px 28px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000,transparent 75%)}

/* ---------- type ---------- */
.h2{font-size:clamp(32px,5vw,58px)}
.grad{background:var(--g-ai);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.gold{background:var(--g-gold);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.lead{font-size:clamp(16px,2vw,20px);color:var(--text2);line-height:1.6;margin:16px auto 0;max-width:640px}
.sec{position:relative;padding:clamp(28px,4vw,46px) 0}
.sec-head{max-width:760px;margin:0 auto 36px;text-align:center}
.fine{font-size:14px;color:var(--text3);margin-top:16px}
.fine b{color:var(--text2);font-weight:700}
.fine a,.link{color:var(--gold2);text-decoration:underline;text-underline-offset:3px}

/* giant outlined word behind sections (echo of kinetic words behind the speaker) */
.behind{position:absolute;left:0;right:0;top:0;z-index:-1;pointer-events:none;overflow:hidden;white-space:nowrap;text-align:center}
.behind span{display:inline-block;font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(90px,24vw,320px);line-height:.85;letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1px rgba(212,170,255,.12);will-change:transform}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;padding:0 28px;border-radius:var(--r-pill);font-family:var(--sans);font-weight:700;font-size:15.5px;white-space:nowrap;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s,border-color .25s,filter .25s}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(1px)}
.btn-gold{position:relative;overflow:hidden;isolation:isolate;color:var(--gold-ink);font-weight:700;letter-spacing:.02em;text-shadow:var(--gold-engrave);
  border:3px solid transparent;background:var(--gold-face) padding-box,var(--gold-rim) border-box;background-size:100% 112%,100% 100%;background-position:0 0,0 0;
  box-shadow:var(--gold-recess),var(--gold-depth);transition:transform .25s var(--ease),filter .25s,background-position .5s var(--ease),box-shadow .25s}
.btn-gold::before{content:"";position:absolute;left:15%;width:70%;top:6%;height:30%;border-radius:50%;z-index:-1;pointer-events:none;
  background:radial-gradient(closest-side,rgba(255,255,255,.85),rgba(255,255,255,0));filter:blur(2px);opacity:.75}
.btn-gold::after{content:"";position:absolute;top:-30%;bottom:-30%;left:0;width:38%;z-index:-1;pointer-events:none;mix-blend-mode:soft-light;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.95) 50%,transparent);transform:translateX(-160%) skewX(-30deg);animation:sweep 4.6s var(--ease) infinite}
@keyframes sweep{0%{transform:translateX(-160%) skewX(-30deg)}32%,100%{transform:translateX(420%) skewX(-30deg)}}
.btn-gold:hover{background-position:0 100%,0 0;filter:brightness(1.04);transform:translateY(-1px)}
.btn-gold:hover::after{animation-duration:1.5s}
.btn-gold:active{transform:translateY(1px);filter:brightness(.96)}
.nav-cta.btn-gold,.mbar .btn-gold{border-width:2px}
/* round brushed-gold coin for icon holders */
.gold-coin,.ico,.arrow-chip,.pm-play{color:var(--gold-ink)!important;border:2px solid transparent!important;border-radius:50%!important;
  background:var(--gold-brush) padding-box,var(--gold-coin-face) padding-box,var(--gold-coin-rim) border-box!important;
  box-shadow:var(--gold-coin-ring),0 6px 14px rgba(0,0,0,.4),0 0 24px -6px rgba(233,196,106,.45)!important}
.ico svg,.arrow-chip svg{filter:drop-shadow(0 1px 0 rgba(255,240,200,.55))}
.btn-glass{color:var(--gold-1);font-weight:700;letter-spacing:.02em;border:1px solid #F2D484;
  background-image:var(--gold-text),linear-gradient(rgba(255,255,255,.04),rgba(255,255,255,.04));background-size:200% auto,auto;
  -webkit-background-clip:text,padding-box;background-clip:text,padding-box;-webkit-text-fill-color:transparent;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 24px -10px rgba(233,196,106,.45)}
.btn-glass:hover{background-image:var(--gold-text),linear-gradient(rgba(247,227,161,.08),rgba(247,227,161,.08));border-color:#FFF1C4}
.btn-lg{height:60px;padding:0 34px;font-size:16px}
.btn svg{width:18px;height:18px;flex:none}
.ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
@media(max-width:479px){.ctas .btn{width:100%;white-space:normal;text-align:center;line-height:1.25;padding:0 20px}}


/* ============ NAV: full-width bar -> frosted floating island. --p (0..1) drives the morph:
   CSS transitions it via .scrolled; motion.js scrubs it with ScrollTrigger. ============ */
@property --p{syntax:'<number>';inherits:true;initial-value:0}
.nav-shell{--p:0;position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:center;padding:calc(12px*var(--p)) calc(14px*var(--p)) 0;transition:--p .45s var(--ease)}
.nav-shell.scrolled{--p:1}
html.gsap .nav-shell{transition:none}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;
  max-width:calc(100vw*(1 - var(--p)) + 1100px*var(--p));
  padding:calc(18px - 10px*var(--p)) calc(28px - 20px*var(--p)) calc(18px - 10px*var(--p)) calc(28px - 10px*var(--p));
  border-radius:calc(100px*var(--p));
  background:rgba(14,11,28,calc(.62*var(--p)));border:1px solid rgba(176,127,232,calc(.24*var(--p)));
  backdrop-filter:blur(calc(22px*var(--p))) saturate(calc(100% + 70%*var(--p)));-webkit-backdrop-filter:blur(calc(22px*var(--p))) saturate(calc(100% + 70%*var(--p)));
  box-shadow:0 14px 40px rgba(0,0,0,calc(.38*var(--p))),0 0 34px rgba(123,63,212,calc(.2*var(--p))),inset 0 1px 0 rgba(255,255,255,calc(.07*var(--p)))}
.brand{display:flex;align-items:center;gap:10px;white-space:nowrap;min-width:0}
.brand img{width:34px;height:34px;flex:none}
.brand-wm{display:flex;flex-direction:column;line-height:1;font-family:var(--display);font-weight:800}
.brand-wm b{font-size:14px;letter-spacing:.14em;background:var(--g-gold);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.brand-wm span{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--text3);font-weight:700;margin-top:4px}
.nav-end{display:flex;align-items:center;gap:10px}
.nav-links{display:none;align-items:center;gap:24px;margin-right:8px}
.nav-links a{font-size:14.5px;font-weight:500;color:var(--text2);transition:color .2s}
.nav-links a:hover{color:var(--text)}
.lang{display:inline-flex;align-items:center;gap:2px;height:40px;padding:3px;border-radius:var(--r-pill);border:1px solid var(--line);background:rgba(255,255,255,.05)}
.lang a{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:var(--r-pill);font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--text3)}
.lang a[aria-current="true"]{background:rgba(255,255,255,.1);color:var(--text)}
.lang svg{width:18px;height:12px;border-radius:2px;flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.18)}
.nav-cta{height:42px;padding:0 18px;font-size:14px}
.nav-cta .sm{display:none}
.burger{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);position:relative;flex:none}
.burger span{position:absolute;left:12px;right:12px;height:2px;background:var(--text);border-radius:2px}
.burger span:nth-child(1){top:14px}.burger span:nth-child(2){top:20px}.burger span:nth-child(3){top:26px}
@media(min-width:1040px){.nav-links{display:flex}.burger{display:none}}
@media(max-width:600px){.brand-wm{display:none}.lang a{padding:0 8px}.lang a b{display:none}.nav-cta .lg{display:none}.nav-cta .sm{display:inline}
  .nav-shell{padding:calc(10px*var(--p)) calc(10px*var(--p)) 0}
  .nav{padding:calc(14px - 8px*var(--p)) calc(16px - 10px*var(--p)) calc(14px - 8px*var(--p)) calc(16px - 6px*var(--p))}}
@media(max-width:340px){.lang a{padding:0 6px}.nav-cta{padding:0 14px}.nav-end{gap:6px}}
.scrim{position:fixed;inset:0;z-index:150;background:rgba(3,2,8,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .35s}
.drawer{position:fixed;top:0;right:0;bottom:0;z-index:200;width:min(340px,86vw);padding:24px;display:flex;flex-direction:column;gap:4px;background:rgba(14,11,28,.97);border-left:1px solid var(--line2);transform:translateX(100%);transition:transform .45s var(--ease),visibility 0s .45s;visibility:hidden}
.drawer a:not(.btn){padding:14px 4px;font-weight:600;font-size:17px;border-bottom:1px solid var(--line)}
.drawer .btn{margin-top:14px}
.drawer-close{align-self:flex-end;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);font-size:22px;line-height:40px;text-align:center}
body.menu-open .scrim{opacity:1;pointer-events:auto}
body.menu-open .drawer{transform:none;visibility:visible;transition:transform .45s var(--ease)}

/* ============ HERO ============ */
.hero{position:relative;padding:112px 0 40px;overflow:hidden;text-align:center}
@media(min-width:768px){.hero{padding:140px 0 48px}}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(700px 420px at 50% 64%,rgba(123,63,212,.34),transparent 70%),
  radial-gradient(500px 300px at 50% 0%,rgba(212,170,255,.10),transparent 70%)}
.hero::after{content:"";position:absolute;top:-20%;bottom:-20%;width:34%;left:-40%;z-index:-1;pointer-events:none;
  background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.035) 45%,rgba(255,255,255,.07) 50%,rgba(255,255,255,.035) 55%,transparent 100%);transform:skewX(-14deg);animation:sheen 11s var(--ease) infinite}
@keyframes sheen{0%{left:-45%}55%,100%{left:130%}}
.hero h1{font-size:clamp(38px,8.4vw,98px);font-weight:900;line-height:.98;letter-spacing:-.03em;text-transform:uppercase;max-width:1000px;margin:0 auto}
html[lang="es"] .hero h1{font-size:clamp(34px,7.6vw,90px)}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}
.hero h1 .ln > span{display:inline-block}
.hero .sub{font-size:clamp(16.5px,2vw,20px);color:var(--text2);max-width:660px;margin:22px auto 30px}
.hero .sub strong{color:var(--text);font-weight:700}
.proofline{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-size:14px;color:var(--text2);text-align:left}
.proofline b{color:var(--text)}
.proofline .dot{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 4px rgba(74,222,128,.15);flex:none}

/* hero player */
.stage{position:relative;margin:44px auto 0;max-width:980px;perspective:1200px}
.stage .behind-hero{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);z-index:0;pointer-events:none;white-space:nowrap}
.stage .behind-hero span{display:block;font-family:var(--display);font-weight:900;font-size:clamp(110px,34vw,300px);line-height:.8;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px rgba(247,227,161,.2);animation:drift 9s ease-in-out infinite alternate}
@keyframes drift{from{transform:translateX(-4%)}to{transform:translateX(4%)}}
.player{position:relative;z-index:1;width:100%;max-width:1000px;aspect-ratio:16/9;margin:0 auto;border-radius:26px;overflow:hidden;background:#000;isolation:isolate;
  border:1px solid var(--gold-line);box-shadow:0 40px 100px rgba(0,0,0,.6),0 0 80px rgba(123,63,212,.34),0 0 0 8px rgba(255,255,255,.035),inset 0 1px 0 rgba(255,255,255,.08)}
@media(max-width:600px){.player{border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.55),0 0 50px rgba(123,63,212,.3)}}
.player video{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;background:transparent}
.player .pbg{position:absolute;inset:-8%;z-index:0;background-size:cover;background-position:center;filter:blur(28px) saturate(130%) brightness(.55);transform:scale(1.1);opacity:0;transition:opacity .4s}
.player.is-fallback .pbg{opacity:1}
.player.is-fallback video{object-fit:contain}
.player .tag{position:absolute;top:14px;left:14px;z-index:3}
.sound{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:3;display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 20px;border-radius:var(--r-pill);
  background:rgba(14,11,28,.62);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);color:#fff;font-weight:700;font-size:15px;white-space:nowrap;box-shadow:0 10px 30px rgba(0,0,0,.4);transition:background .25s,transform .25s var(--ease)}
.sound:hover{background:rgba(123,63,212,.55);transform:translateX(-50%) translateY(-2px)}
.sound svg{width:18px;height:18px}
.sound[hidden]{display:none}
.sound .ic-mute{display:none}
.sound.on .ic-play{display:none}.sound.on .ic-mute{display:block}
.orbit{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:22px auto 0;max-width:820px}
.orbit li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--r-pill);background:rgba(14,11,28,.55);border:1px solid rgba(176,127,232,.26);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:13px;font-weight:700;color:var(--text);box-shadow:0 0 22px rgba(123,63,212,.15)}
.orbit svg{width:16px;height:16px;color:var(--gold2)}
@keyframes float{from{transform:translateY(-6px)}to{transform:translateY(6px)}}
.player-cap{margin-top:16px;font-size:13.5px;color:var(--text3)}

/* ---------- tags + phones ---------- */
.tag{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--r-pill);background:rgba(7,6,13,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text2)}
.tag i{width:6px;height:6px;border-radius:50%;background:currentColor}
.phone{position:relative;aspect-ratio:9/16;border-radius:20px;overflow:hidden;background:#000;border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow)}
.phone.hl{border-color:rgba(247,227,161,.5);box-shadow:0 26px 70px rgba(0,0,0,.5),0 0 50px rgba(123,63,212,.28)}
.phone.hl .tag{color:var(--gold2)}
.phone .tag{position:absolute;top:10px;left:10px;z-index:2}
.phone video{width:100%;height:100%;object-fit:cover}
.cap{margin-top:14px;font-size:14px;color:var(--text3);text-align:center}
.cap b{display:block;color:var(--text);font-weight:700;font-size:15px}

/* ---------- glass cards (family card, dark variant) ---------- */
.card{position:relative;background:var(--glass);border:1px solid var(--line);border-radius:var(--r);padding:28px 24px;
  transition:transform .4s var(--ease),border-color .4s,box-shadow .4s}
.card:hover{transform:translateY(-6px);border-color:var(--line2);box-shadow:0 24px 60px rgba(0,0,0,.4),0 0 40px rgba(123,63,212,.16)}
.card.c{text-align:center}
.ico{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;margin:0 auto 16px;color:var(--gold2);
  background:linear-gradient(160deg,rgba(123,63,212,.32),rgba(74,31,168,.12));border:1px solid rgba(176,127,232,.3);box-shadow:0 0 26px rgba(123,63,212,.22)}
.ico svg{width:24px;height:24px}
.card h3{font-size:20px;margin-bottom:8px}
.card p{color:var(--text2);font-size:15.5px}
.grid{display:grid;gap:16px}
@media(min-width:640px){.g2,.g3,.g4{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}}
.grid > *{min-width:0}

/* duo: content + a vertical video, used in several sections */
.duo{display:grid;gap:40px;align-items:center}
.duo > *{min-width:0}
.duo .media{width:100%;max-width:300px;margin:0 auto}
@media(min-width:980px){.duo{grid-template-columns:1fr 320px;gap:56px}.duo.flip{grid-template-columns:320px 1fr}.duo.flip .media{order:-1}.duo .media{max-width:320px}}

/* ---------- marquee band ---------- */
.band{overflow:hidden;padding:14px 0;background:linear-gradient(90deg,transparent,rgba(74,31,168,.14) 30%,rgba(74,31,168,.14) 70%,transparent)}
.band-track{display:flex;width:max-content;animation:marq 40s linear infinite}
.band-track span{font-family:var(--display);font-weight:900;text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(30px,6vw,60px);line-height:1;padding-right:.55em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(244,241,255,.32)}
.band-track span:nth-child(4n+1){color:var(--text);-webkit-text-stroke:0}
.band-track span:nth-child(4n+3){-webkit-text-stroke:0;background:var(--g-ai);-webkit-background-clip:text;background-clip:text;color:transparent}
@keyframes marq{to{transform:translateX(-50%)}}

/* ---------- price anchor ---------- */
.anchor{padding:clamp(28px,4vw,46px) 0;text-align:center;background:radial-gradient(60% 80% at 50% 50%,rgba(74,31,168,.20),transparent 75%)}
.anchor p{font-family:var(--display);font-weight:700;font-size:clamp(24px,4.4vw,46px);line-height:1.15;letter-spacing:-.02em;max-width:960px;margin:0 auto;color:var(--text2)}
.anchor p strong{color:var(--text);font-weight:900}
.anchor .after{display:block;margin-top:14px;font-weight:900;text-transform:uppercase;color:var(--text);font-size:clamp(26px,4.8vw,52px)}
.anchor .note{margin-top:18px;font-family:var(--sans);font-weight:400;font-size:14px;color:var(--text3);letter-spacing:0}

/* ---------- before / after ---------- */
.pairs{display:grid;gap:18px}
@media(min-width:980px){.pairs{grid-template-columns:repeat(3,1fr)}}
.pair{padding:16px 16px 22px;text-align:center}
.pair-row{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:420px;margin:0 auto}
.pair .phone{border-radius:16px}
.pair .tag{font-size:10px;padding:4px 8px;top:8px;left:8px}
.arrow-chip{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--gold-btn);color:var(--gold-ink);border:1px solid var(--gold-line);box-shadow:var(--gold-hi),var(--gold-glow),0 8px 24px rgba(0,0,0,.45)}
.arrow-chip svg{width:16px;height:16px}
.pair h3{font-size:18px;margin:18px 0 4px}
.pair p{font-size:14px;color:var(--text3)}
.note-line{display:flex;justify-content:center;align-items:flex-start;gap:10px;max-width:720px;margin:28px auto 0;font-size:14px;color:var(--text3);text-align:center}
.note-line svg{width:18px;height:18px;flex:none;color:var(--gold2);margin-top:2px}

/* ---------- styles ---------- */
.style{display:grid;gap:22px;justify-items:center;text-align:center;padding:28px 22px 30px}
.style .phone{width:100%;max-width:260px}
.style h3{font-size:clamp(26px,3.4vw,34px);text-transform:uppercase;font-weight:900}
.style p{color:var(--text2);max-width:460px;margin:10px auto 0}
.ticks{list-style:none;display:grid;gap:8px;margin:18px auto 0;max-width:420px;text-align:left}
.ticks li{display:grid;grid-template-columns:20px 1fr;gap:10px;font-size:15px;color:var(--text2)}
.ticks svg{width:18px;height:18px;color:var(--gold2);margin-top:3px}

/* ---------- price card ---------- */
.price{position:relative;max-width:640px;margin:0 auto;padding:40px 22px;text-align:center;border-radius:28px;border:1px solid rgba(247,227,161,.32);overflow:hidden;
  background:linear-gradient(160deg,rgba(123,63,212,.30),rgba(14,11,28,.7) 55%,rgba(233,196,106,.10));box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 60px rgba(123,63,212,.22),inset 0 1px 0 rgba(255,255,255,.08)}
@media(min-width:768px){.price{padding:52px 48px}}
.price .amt{font-family:var(--display);font-weight:900;font-size:clamp(46px,14vw,112px);line-height:1;letter-spacing:-.04em}
.price .amt small{font-family:var(--sans);font-size:16px;font-weight:700;letter-spacing:.14em;color:var(--text2);-webkit-text-fill-color:var(--text2);vertical-align:middle;margin-left:8px}
.price .once{font-family:var(--display);font-weight:700;font-size:22px;color:var(--gold2);margin-top:4px}
.price .ticks{margin:26px auto 30px;max-width:460px}
.price .ticks svg{color:#4ade80}

/* ---------- day timeline (left aligned inside a centered column) ---------- */
.legend{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px;color:var(--text3);margin-top:18px}
.who{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 9px;border-radius:var(--r-pill);vertical-align:2px}
.who.y{background:rgba(247,227,161,.14);color:var(--gold2)}
.who.a{background:rgba(123,63,212,.24);color:var(--lav)}
.day{list-style:none;position:relative;padding:8px 0;max-width:620px;margin:0 auto}
.day::before{content:"";position:absolute;left:19px;top:20px;bottom:20px;width:1px;background:linear-gradient(180deg,var(--gold2),rgba(123,63,212,.6),transparent)}
.day li{position:relative;display:grid;grid-template-columns:40px 1fr;gap:14px;padding:12px 0}
.day .mk{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--night2);border:1px solid var(--line2);color:var(--lav);position:relative;z-index:1}
.day li.you .mk{color:var(--gold2);border-color:rgba(247,227,161,.45);box-shadow:0 0 18px rgba(247,227,161,.2)}
.day .mk svg{width:18px;height:18px}
.day .when{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text3)}
.day b{display:block;font-family:var(--display);font-size:19px;font-weight:800;margin:2px 0}
.day b .who{margin-left:6px}
.day .t{display:block;color:var(--text2);font-size:15.5px}

/* ---------- fit ---------- */
.fit h3{display:flex;align-items:center;justify-content:center;gap:10px;font-size:22px;margin-bottom:10px}
.fit h3 svg{width:24px;height:24px}
.fit .yes h3 svg{color:#4ade80}.fit .no h3 svg{color:#f87171}
.fit ul{list-style:none;text-align:left}
.fit li{padding:13px 0;border-top:1px solid var(--line);color:var(--text2);font-size:15.5px}

/* ---------- FAQ (left-aligned answers in a centered column) ---------- */
.faq{max-width:820px;margin:0 auto;display:grid;gap:10px}
.faq details{background:var(--glass);border:1px solid var(--line);border-radius:var(--r-sm);transition:border-color .3s}
.faq details[open]{border-color:var(--line2)}
.faq summary{list-style:none;cursor:pointer;padding:20px 56px 20px 22px;position:relative;font-family:var(--display);font-weight:800;font-size:18px;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:16px;top:50%;width:30px;height:30px;margin-top:-15px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.07);color:var(--gold2);font-size:20px;font-weight:500;transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 22px 20px;color:var(--text2)}

/* ---------- final ---------- */
.final{position:relative;overflow:hidden;text-align:center}
.final::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(800px 420px at 50% 0%,rgba(123,63,212,.30),transparent 70%)}
.final .h2{font-size:clamp(34px,6vw,72px)}
.next{margin:44px auto}
.next .card{padding:22px 20px}
.next .card h3{font-size:17px;margin-bottom:4px}
.next .card p{font-size:14.5px}
.next .ico{width:44px;height:44px;border-radius:14px;margin-bottom:12px}
.next .ico svg{width:20px;height:20px}
.final .alt{margin-top:24px;font-size:15px;color:var(--text2)}
.final .alt a{color:var(--gold2);text-decoration:underline;text-underline-offset:3px}

/* ---------- footer (family layout) ---------- */
footer{background:linear-gradient(180deg,transparent,#050409 140px);color:var(--text3);padding:72px 0 28px;font-size:14.5px}
.foot{display:grid;gap:34px;text-align:center}
.foot .brand{justify-content:center}
.foot ul{list-style:none;display:grid;gap:9px}
@media(min-width:920px){.foot{grid-template-columns:1.3fr 1fr 1.2fr;text-align:left}.foot .brand{justify-content:flex-start}}
.foot h4{font-family:var(--display);color:var(--text);font-size:15px;margin-bottom:14px;letter-spacing:.02em}
.foot a:hover{color:var(--text)}
.foot p{margin-top:12px}
.foot-bot{margin-top:36px;display:grid;gap:10px;font-size:13px;line-height:1.55;text-align:center}
.foot-bot .builtby{font-size:14px}
.foot-bot .builtby a{color:var(--gold2);font-weight:700}

/* ---------- floating mobile CTA bar (family .mbar) ---------- */
.mbar{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:90;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 18px;border-radius:22px;
  background:rgba(14,11,28,.80);border:1px solid rgba(176,127,232,.26);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);box-shadow:0 14px 40px rgba(0,0,0,.45),0 0 30px rgba(123,63,212,.2);
  transform:translateY(140%);transition:transform .45s var(--ease)}
.mbar.show{transform:none}
.mbar .p{flex:1;min-width:0;line-height:1.15}
.mbar .p b{display:block;font-family:var(--display);font-weight:900;font-size:19px;white-space:nowrap}
.mbar .p span{display:block;font-size:12px;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mbar .btn{height:48px;padding:0 20px;font-size:14.5px}
@media(min-width:980px){.mbar{display:none}}
@media(max-width:979px){body{padding-bottom:84px}}


/* ---------- motion helpers (states are set by motion.js, never hidden by CSS) ---------- */
.w{display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 .03em .1em;margin:0 -.03em -.1em}
.wi{display:inline-block;will-change:transform}
.grad,.gold,.wi.grad,.wi.gold{background-size:200% auto;animation:glint 5s linear infinite;filter:drop-shadow(0 0 14px rgba(245,217,138,.25))}
@keyframes glint{from{background-position:100% 50%}to{background-position:-100% 50%}}
.hero-glow{position:absolute;left:50%;top:38%;width:900px;height:620px;margin-left:-450px;z-index:-1;pointer-events:none;border-radius:50%;
  background:radial-gradient(closest-side,rgba(123,63,212,.30),rgba(74,31,168,.12) 55%,transparent);will-change:transform}
.ambient{inset:-15% 0}
.steps-line{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}
.steps-line path{fill:none;stroke:url(#stepsGrad);stroke-width:2;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(247,227,161,.7))}
#how .card .ico{position:relative;z-index:2;transition:filter .5s,transform .5s var(--ease)}
html.gsap #how .card:not(.lit) .ico{filter:grayscale(.75) brightness(.6)}
#how .card.lit .ico{filter:none;transform:scale(1.06)}
@media(max-width:979px){.steps.grid{grid-template-columns:1fr;max-width:520px;margin:0 auto}}
@media(prefers-reduced-motion:reduce){
  .grad,.gold,.wi.grad,.wi.gold{filter:none}
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
