/* Spellzee · Vijayadashami 2026 landing page */
:root{
  --navy:#0e1a3a;--blue:#1557d6;--blue-dark:#0f47b4;--violet:#7c3aed;--pink:#d0335f;--amber:#c2620a;--green:#12855a;
  --ivory:#fcf8f4;--cream:#f8eedf;--card:#fffdf9;--ink-2:#26325a;--muted:#5d6789;--muted-dark:#aeb7d3;
  --line:#efdfc4;--gold-line:#e8c88f;--gold-1:#fff3c4;--gold-2:#f6dc8e;--gold-3:#f0c968;--gold-4:#d9a441;--gold-5:#c99130;--gold-6:#a8701c;--bronze:#3b2203;
  --blue-soft:#e3ecfe;--green-soft:#ddf1e6;--pink-soft:#fce3ec;--amber-soft:#fbf0d2;
  --wa-soft:#e7f8ee;--wa-text:#128c4a;--wa-1:#22a866;
  --sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --script:Caveat,"Segoe Print",cursive;
  --gold-shine:linear-gradient(110deg,#a8701c 0%,#d9a441 30%,#f6dc8e 48%,#d9a441 62%,#a8701c 100%);
  --gold-frame:linear-gradient(140deg,#f6dc8e,#c99130 35%,#f6dc8e 60%,#a8701c);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--navy);font-family:var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--blue)}
button{font-family:inherit}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ---------- shared bits ---------- */
.wrap{position:relative;max-width:1200px;margin:0 auto;padding:88px 24px;display:flex;flex-direction:column;gap:44px}
.band{position:relative;overflow:hidden}
.band-ivory{background:var(--ivory)}
.band-cream{background-color:var(--cream);background-image:radial-gradient(640px 320px at 88% 0%,rgba(255,210,122,.28),rgba(255,210,122,0) 70%),radial-gradient(560px 300px at 6% 100%,rgba(232,144,42,.14),rgba(232,144,42,0) 70%)}
.head{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;max-width:760px;margin:0 auto}
.kick{display:inline-flex;align-items:center;gap:10px;font:800 12px/16px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.kick::before,.kick::after{content:"";width:6px;height:6px;background:#e8902a;transform:rotate(45deg)}
.h2{margin:0;font:800 clamp(28px,3vw,40px)/1.15 var(--sans);letter-spacing:-.015em;color:var(--navy)}
.lead{margin:0;font:400 18px/29px var(--sans);color:var(--muted)}
.lead b{color:var(--navy)}
.gold-ink{background:linear-gradient(110deg,#9a6516 0%,#c48a2c 40%,#a8701c 70%,#8a5a12 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.orn{display:block}
.shimmer{background:var(--gold-shine);background-size:220% 100%;color:var(--bronze);animation:shine 3.6s linear infinite}
@keyframes shine{0%{background-position:120% 0}100%{background-position:-120% 0}}
.gold-badge{display:inline-flex;align-items:center;padding:8px 18px;border-radius:9999px;font:800 13px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase}
.gold-text{background:linear-gradient(110deg,#e8b04a 0%,#ffe7a6 45%,#e8b04a 70%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 3.6s linear infinite}
.garland{position:absolute;left:0;top:0;width:100%;height:46px;z-index:5;pointer-events:none;display:block}
.spark{position:absolute;opacity:0;animation:twinkle 3.2s ease-in-out infinite;pointer-events:none}
.spark:nth-child(2n){animation-delay:.8s}.spark:nth-child(3n){animation-delay:1.6s;animation-duration:2.6s}.spark:nth-child(4n){animation-delay:2.3s}
@keyframes twinkle{0%,100%{opacity:0;transform:scale(.3) rotate(0)}50%{opacity:1;transform:scale(1) rotate(45deg)}}
.glints{position:absolute;inset:0;pointer-events:none}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:9999px;border:1px solid transparent;font:700 16px/1 var(--sans);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .2s ease,transform .2s ease}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{background:var(--blue-dark);color:#fff}
.btn-wa{background:var(--wa-soft);color:var(--wa-text);min-height:44px;padding:0 18px;font-size:15px}
.btn-wa:hover{background:#d5f3e2;color:var(--wa-text)}
.btn-wa img{width:16px;height:16px}
.btn-wa-solid{background:linear-gradient(90deg,var(--wa-1),var(--green));color:#fff;min-height:52px;padding:0 26px}
.btn-wa-solid:hover{filter:brightness(1.06);color:#fff}
.btn-wa-solid img{width:18px;height:18px}
.btn-ghost{background:transparent;border-color:var(--gold-line);color:var(--navy);min-height:44px;font-size:15px}
.btn-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}

/* chips */
.chip{display:inline-flex;align-items:center;height:26px;padding:0 12px;border-radius:9999px;font:700 13px/1 var(--sans);white-space:nowrap}
.chip-blue{background:var(--blue-soft);color:var(--blue)}.chip-green{background:var(--green-soft);color:var(--green)}
.chip-pink{background:var(--pink-soft);color:var(--pink)}.chip-amber{background:var(--amber-soft);color:var(--amber)}

/* trust */
.trust{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:12px;padding:12px 18px;background:rgba(255,253,249,.8);border:1.5px solid var(--gold-line);border-radius:22px;width:max-content;max-width:100%}
.seal{display:inline-flex;align-items:center;gap:10px}
.seal-disc{width:44px;height:44px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none;box-shadow:inset 0 0 0 1px #ece4d9}
.seal-disc img{width:88%;height:88%;object-fit:contain}
.seal-name{display:flex;align-items:center;gap:5px;font:800 17px/1.1 var(--sans);color:var(--navy)}
.seal-label{display:block;font:500 13px/1.2 var(--sans);color:var(--muted)}
.stars{display:inline-flex;gap:1px}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:#f6e9d6;display:flex;flex-direction:column;min-height:clamp(700px,100vh,1000px)}
.hero-bg{position:absolute;inset:-60px;width:calc(100% + 120px);height:calc(100% + 120px);object-fit:cover;object-position:right center;filter:blur(40px) saturate(1.05) brightness(1.18);opacity:.75;pointer-events:none}
.hero-veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(252,248,244,.97) 0%,rgba(252,248,244,.92) 34%,rgba(250,240,226,.72) 48%,rgba(250,240,226,.3) 58%,rgba(250,240,226,0) 70%),linear-gradient(180deg,rgba(252,248,244,0) 84%,#fcf8f4 100%)}
.hero-art{position:absolute;top:0;right:0;height:100%;aspect-ratio:1293/1216;max-width:58%;-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 12%,#000 30%),linear-gradient(180deg,#000 88%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 12%,#000 30%),linear-gradient(180deg,#000 88%,transparent 100%);mask-composite:intersect}
.hero-img{display:block;width:100%;height:100%;object-fit:cover;object-position:right top}
.hero-sparks{position:absolute;inset:0;pointer-events:none}
.hero-inner{position:relative;z-index:3;flex:1 1 auto;display:flex;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:96px 24px 56px}
.hero-copy{width:100%;max-width:480px;display:flex;flex-direction:column;gap:18px}
.hero h1{margin:0;font:800 clamp(36px,3.9vw,52px)/1.1 var(--sans);letter-spacing:-.02em;color:var(--navy)}
.hero-sub{margin:0;max-width:430px;font:400 18px/29px var(--sans);color:var(--muted)}
.hero-sub b{color:var(--navy)}
.highlight{position:relative;display:inline-block;white-space:nowrap}
.highlight img{position:absolute;left:-2%;width:104%;bottom:-.16em;height:.2em;pointer-events:none}
.letter-pill{display:inline-flex;align-items:center;gap:10px;padding:6px 18px;background:#fff;border:1px solid var(--line);border-radius:9999px}
.cycle{position:relative;display:inline-block;width:34px;height:34px}
.cycle span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:700 24px/1 "Noto Sans Tamil","Noto Sans Devanagari","Noto Sans Kannada","Noto Sans Telugu","Noto Sans Malayalam","Noto Sans Bengali","Noto Sans Gujarati","Noto Sans Gurmukhi","Noto Sans Oriya",var(--sans);color:var(--navy);opacity:0;animation:cyc 18s linear infinite}
@keyframes cyc{0%{opacity:0;transform:translateY(6px)}2%{opacity:1;transform:none}10%{opacity:1;transform:none}12%{opacity:0;transform:translateY(-6px)}100%{opacity:0}}
.cycle span:nth-child(2){animation-delay:2s}.cycle span:nth-child(3){animation-delay:4s}.cycle span:nth-child(4){animation-delay:6s}.cycle span:nth-child(5){animation-delay:8s}.cycle span:nth-child(6){animation-delay:10s}.cycle span:nth-child(7){animation-delay:12s}.cycle span:nth-child(8){animation-delay:14s}.cycle span:nth-child(9){animation-delay:16s}
.offer-tag{display:inline-flex;align-items:center;gap:12px;width:fit-content;max-width:100%;padding:6px 18px 6px 6px;background:var(--card);border:1px dashed var(--amber);border-radius:9999px;font:600 15px/1.3 var(--sans);color:var(--ink-2)}
.offer-tag .amt{flex:none;padding:8px 14px;border-radius:9999px;font:800 15px/1 var(--sans)}
.fx{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.mote{position:absolute;bottom:-12px;width:6px;height:6px;border-radius:50%;background:radial-gradient(circle,#fff8e1 0%,#ffd27a 45%,rgba(255,210,122,0) 72%);opacity:0;animation:rise 12s linear infinite}
@keyframes rise{0%{transform:translate(0,0);opacity:0}12%{opacity:.95}50%{transform:translate(14px,-45vh)}88%{opacity:.7}100%{transform:translate(-8px,-92vh);opacity:0}}
.petal{position:absolute;top:-24px;width:14px;height:10px;border-radius:70% 0 70% 0;background:linear-gradient(135deg,#ffc24a 0%,#e8902a 55%,#c2620a 100%);opacity:0;animation:fall 18s linear infinite}
.petal.y{background:linear-gradient(135deg,#ffe08a 0%,#ffc24a 60%,#e8902a 100%)}
@keyframes fall{0%{transform:translate(0,0) rotate(0);opacity:0}6%{opacity:.95}25%{transform:translate(36px,26vh) rotate(110deg)}50%{transform:translate(-24px,52vh) rotate(220deg)}75%{transform:translate(30px,78vh) rotate(320deg)}94%{opacity:.85}100%{transform:translate(-6px,104vh) rotate(420deg);opacity:0}}

/* ---------- why cards ---------- */
.why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.why-card{display:flex;flex-direction:column;border-radius:28px;overflow:hidden;border:2px solid transparent;background:linear-gradient(var(--card),var(--card)) padding-box,var(--gold-frame) border-box;transition:transform .3s ease,box-shadow .3s ease}
.why-card:hover{transform:translateY(-8px);box-shadow:0 18px 40px -24px rgba(168,112,28,.55)}
.why-top{position:relative;display:flex;align-items:center;gap:16px;padding:26px 26px 22px;background:linear-gradient(135deg,#fff3d6 0%,#fbe6b4 55%,#fff8ea 100%);border-bottom:1px solid #ecd39a}
.why-top::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,#f6dc8e,#c99130,#a8701c)}
.why-ic{flex:none;width:60px;height:60px;border-radius:18px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.why-t{font:800 21px/27px var(--sans);color:var(--bronze)}
.why-d{margin-top:4px;font:500 15px/22px var(--sans);color:#7a5a24}
.ticks{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;font:600 15px/22px var(--sans);color:var(--ink-2)}
.ticks li{display:flex;gap:10px;align-items:flex-start}
.ticks li::before{content:"";flex:none;width:18px;height:18px;margin-top:2px;border-radius:50%;background:var(--green-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312855a' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5 10 16.5 18 8'/%3E%3C/svg%3E") center/12px no-repeat}
.why-card .ticks{padding:22px 26px 26px;font-size:16px;gap:14px}
.why-card .ticks li::before{background:#fbe6b4 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a8701c' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5 10 16.5 18 8'/%3E%3C/svg%3E") center/12px no-repeat}

/* ---------- programmes ---------- */
.progs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.prog{display:flex;flex-direction:column;border-radius:26px;overflow:hidden;border:2px solid transparent;background:linear-gradient(var(--card),var(--card)) padding-box,var(--gold-frame) border-box;transition:transform .3s ease}
.prog:hover{transform:translateY(-8px)}
.prog-head{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:26px 22px 20px;background:linear-gradient(135deg,var(--soft) 0%,#fff8ea 100%)}
.prog-ic{width:56px;height:56px;border-radius:18px;background:#fff;color:var(--c);display:flex;align-items:center;justify-content:center}
.prog-body{display:flex;flex-direction:column;gap:14px;padding:22px 22px 26px}
.prog-t{font:800 20px/26px var(--sans);color:var(--navy)}
.ribbon{position:absolute;top:22px;right:-2px;padding:7px 12px 7px 14px;font:800 13px/1 var(--sans);border-radius:9999px 0 0 9999px}

/* ---------- foundation check ---------- */
.map{position:relative;display:flex;margin:0;padding:8px 0 0;list-style:none}
.map li{position:relative;flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:0 8px}
.map li:not(:last-child)::after{content:"";position:absolute;top:28px;left:calc(50% + 34px);right:calc(-50% + 34px);height:3px;border-radius:3px;background:linear-gradient(90deg,#e8c88f,#f0c968)}
.coin{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:800 22px/1 var(--sans);color:var(--bronze);background:radial-gradient(circle at 35% 30%,#fff3c4 0%,#f0c968 40%,#c99130 100%);border:3px solid var(--card);box-shadow:0 0 0 2px var(--gold-line);margin-bottom:8px}
.map-t{font:800 17px/23px var(--sans);color:var(--navy)}
.map-d{font:500 14px/20px var(--sans);color:var(--muted)}
.fc-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;padding:24px;border-radius:32px;border:2px solid transparent;background:linear-gradient(var(--cream),var(--cream)) padding-box,var(--gold-frame) border-box}
.fc-photo img{display:block;width:100%;height:auto;border-radius:22px;box-shadow:0 0 0 4px var(--card),0 0 0 6px var(--gold-line)}
.fc-copy{display:flex;flex-direction:column;gap:18px;padding-right:16px}
.fc-copy .kick{justify-content:flex-start}
.fc-t{font:800 26px/32px var(--sans);color:var(--navy)}
.devs{display:flex;flex-wrap:wrap;gap:12px}
.dev{display:inline-flex;align-items:center;gap:10px;padding:10px 18px 10px 12px;background:var(--card);border:1px solid var(--gold-line);border-radius:9999px;font:700 15px/1 var(--sans);color:var(--navy)}
.dev svg{color:var(--amber)}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.stat{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:28px 16px;border-radius:24px;border:2px solid transparent;background:linear-gradient(var(--card),var(--card)) padding-box,var(--gold-frame) border-box;transition:transform .3s ease}
.stat:hover{transform:translateY(-6px)}
.stat-ic{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.stat b{font:800 38px/1.1 var(--sans);color:var(--navy);letter-spacing:-.01em}
.stat span:last-child{font:600 15px/20px var(--sans);color:var(--muted)}

/* ---------- offer + countdown ---------- */
.offerbox{position:relative;overflow:hidden;max-width:1152px;margin:0 auto;border-radius:32px;background-color:var(--navy);background-image:radial-gradient(circle,rgba(255,210,122,.38) 1.2px,transparent 1.6px);background-size:44px 44px}
.offerbox-in{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;padding:84px 32px 56px}
.offerbox h2{margin:0;font:800 clamp(28px,3.4vw,44px)/1.15 var(--sans);letter-spacing:-.015em;color:#fff}
.offerbox p{margin:0;max-width:600px;font:400 18px/29px var(--sans);color:var(--muted-dark)}
.cd-wrap{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;padding:26px 30px 24px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid rgba(246,220,142,.45)}
.cd-wrap::before,.cd-wrap::after{content:"";position:absolute;top:-7px;width:12px;height:12px;background:var(--gold-3);transform:rotate(45deg)}
.cd-wrap::before{left:32px}.cd-wrap::after{right:32px}
.cd-label{display:inline-flex;align-items:center;gap:10px;font:800 13px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2)}
.cd-dot{width:8px;height:8px;border-radius:50%;background:#ff6b5a;animation:blink 1.2s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
.cd{display:flex;align-items:center;gap:14px}
.flip{display:flex;flex-direction:column;align-items:center;gap:10px}
.flip-card{width:104px;height:112px;border-radius:18px;display:flex;align-items:center;justify-content:center;perspective:400px;background:linear-gradient(180deg,#26326a 0%,#1a2550 55%,#111a3f 100%);border:1px solid rgba(246,220,142,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.flip-card b{display:inline-block;font:800 58px/1 var(--sans);letter-spacing:-.03em;font-variant-numeric:tabular-nums;background:linear-gradient(180deg,#fff3c4 0%,#f0c968 55%,#c99130 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.flip-card b.go{animation:flipin .55s cubic-bezier(.3,1.4,.5,1)}
@keyframes flipin{0%{transform:rotateX(90deg);opacity:.2}100%{transform:rotateX(0);opacity:1}}
.flip>span{font:800 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2)}
.flip.sec .flip-card{border-color:var(--gold-3);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 0 3px rgba(240,201,104,.18)}
.diya{flex:none;margin-top:-26px;transform-origin:50% 90%;animation:flick 1.4s ease-in-out infinite}
.diya:nth-of-type(2){animation-delay:.4s}.diya:nth-of-type(3){animation-delay:.8s}
@keyframes flick{0%,100%{transform:scale(1) rotate(-2deg)}30%{transform:scale(1.1,1.18) rotate(2deg)}60%{transform:scale(.94,1) rotate(-1deg)}}
.offer-ended{font:800 20px/28px var(--sans);color:#ffd27a}
.fine{font:500 13px/20px var(--sans);color:var(--muted-dark)}

/* ---------- faq ---------- */
.faq{display:flex;flex-direction:column;gap:12px;max-width:880px;width:100%;margin:0 auto}
.faq-item{background:var(--card);border:1.5px solid var(--line);border-radius:18px;overflow:hidden}
.faq-q{width:100%;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;border:0;background:var(--card);color:var(--navy);cursor:pointer;text-align:left;font:800 17px/24px var(--sans)}
.faq-q svg{flex:none;transition:transform .2s ease}
.faq-item.open{border-color:var(--navy)}
.faq-item.open .faq-q{background:var(--navy);color:var(--gold-2)}
.faq-item.open .faq-q svg{transform:rotate(180deg)}
.faq-a{display:none;padding:18px 24px 22px;font:500 16px/26px var(--sans);color:var(--ink-2);border-top:1px dashed var(--gold-line)}
.faq-item.open .faq-a{display:block}

/* ---------- finale ---------- */
.finale{position:relative;overflow:hidden;background:#f6e9d6}
.finale-bg{position:absolute;inset:-60px;width:calc(100% + 120px);height:calc(100% + 120px);object-fit:cover;filter:blur(40px) saturate(1.1);opacity:.8;pointer-events:none}
.finale-veil{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,rgba(252,248,244,.92) 0%,rgba(252,248,244,.78) 45%,rgba(252,248,244,.35) 100%)}
.finale-in{position:relative;z-index:3;max-width:920px;margin:0 auto;padding:110px 24px 104px;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}
.finale h2{margin:0;font:800 clamp(32px,4vw,52px)/1.1 var(--sans);letter-spacing:-.02em;color:var(--navy)}
.finale-lead{margin:0;max-width:560px;font:400 19px/30px var(--sans);color:var(--ink-2)}
.checks{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;font:700 15px/24px var(--sans);color:var(--ink-2)}
.checks span{display:inline-flex;align-items:center;gap:6px}

/* floating whatsapp */
.float-wa{position:fixed;right:20px;bottom:20px;z-index:30;box-shadow:0 10px 24px -10px rgba(18,133,90,.6)}

/* ---------- booking modal ---------- */
.modal{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;padding:20px}
.modal.open{display:flex}
.modal-back{position:absolute;inset:0;background:rgba(14,26,58,.62);backdrop-filter:blur(3px)}
.modal-card{position:relative;width:100%;max-width:560px;max-height:calc(100vh - 40px);overflow-y:auto;border-radius:30px;border:2px solid var(--gold-5);color:#fff;background-color:var(--navy);background-image:radial-gradient(520px 260px at 100% 0%,rgba(240,201,104,.22),rgba(240,201,104,0) 70%),radial-gradient(420px 240px at 0% 100%,rgba(208,51,95,.16),rgba(208,51,95,0) 70%),radial-gradient(circle,rgba(246,220,142,.32) 1.1px,transparent 1.5px);background-size:auto,auto,36px 36px;animation:pop .35s ease-out}
@keyframes pop{0%{transform:scale(.92);opacity:0}100%{transform:none;opacity:1}}
.modal-sparks{position:absolute;inset:0;pointer-events:none}
.modal-x{position:absolute;top:56px;right:16px;z-index:6;width:40px;height:40px;border-radius:50%;border:1px solid rgba(246,220,142,.6);background:rgba(255,255,255,.08);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.modal-in{position:relative;z-index:1;display:flex;flex-direction:column;gap:18px;padding:64px 30px 28px}
.modal-in h2{margin:0;font:800 28px/1.2 var(--sans);letter-spacing:-.01em;color:#fff;text-align:center}
.modal-intro{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.modal-intro p{margin:0;font:500 15px/23px var(--sans);color:#c5cce3}
.modal .offer-tag{background:rgba(255,255,255,.06);border-color:rgba(246,220,142,.7);color:#fff}
.bk-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:6px;font:700 14px/20px var(--sans);color:var(--gold-2)}
.field input,.field select{min-height:46px;padding:0 12px;border:1px solid rgba(246,220,142,.55);border-radius:10px;font:500 15px var(--sans);background:#fff;color:var(--navy);width:100%}
.field input[aria-invalid="true"],.field select[aria-invalid="true"],.phone[aria-invalid="true"]{border-color:#ff8a7a;box-shadow:0 0 0 2px rgba(255,138,122,.35)}
.phone{display:flex;align-items:stretch;border:1px solid rgba(246,220,142,.55);border-radius:10px;overflow:hidden;background:#fff}
.phone>span{display:flex;align-items:center;padding:0 10px;background:var(--cream);font:700 15px var(--sans);color:var(--ink-2);border-right:1px solid var(--gold-line)}
.phone input{border:0;border-radius:0;min-width:0}
.bk-set{margin:0;padding:0;border:0}
.bk-set legend{padding:0;margin-bottom:10px;font:700 14px/20px var(--sans);color:var(--gold-2)}
.bk-chips{display:flex;flex-wrap:wrap;gap:8px}
.bk-chip{min-height:40px;padding:0 16px;border-radius:9999px;border:1px solid rgba(246,220,142,.45);background:rgba(255,255,255,.06);color:#fff;font:700 14px/1 var(--sans);cursor:pointer}
.bk-chip:hover{border-color:var(--gold-3)}
.bk-chip[aria-pressed="true"]{background:var(--gold-3);border-color:var(--gold-3);color:var(--bronze)}
.consent{display:flex;gap:10px;align-items:flex-start;font:500 14px/20px var(--sans);color:#dfe4f2}
.consent input{width:20px;height:20px;margin:0;flex:none;accent-color:var(--gold-3)}
.bk-err{display:none;padding:10px 14px;border-radius:12px;background:var(--pink-soft);color:#a3203f;font:700 14px/20px var(--sans)}
.bk-err.show{display:block}
.bk-submit{min-height:56px;border:0;border-radius:9999px;font:800 17px/1 var(--sans);cursor:pointer}
.bk-submit:hover{filter:brightness(1.06)}
.bk-submit[disabled]{opacity:.7;cursor:wait}
.bk-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;font:600 13px/18px var(--sans);color:var(--muted-dark)}
.bk-done{display:none;align-items:center;text-align:center;padding-top:72px;padding-bottom:40px}
.modal.sent .bk-form{display:none}
.modal.sent .bk-done{display:flex}
.done-coin{width:76px;height:76px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,#fff3c4 0%,#f0c968 40%,#c99130 100%);box-shadow:0 0 0 3px var(--navy),0 0 0 5px var(--gold-line)}
.done-hi{font:600 32px/1 var(--script);color:var(--gold-2)}
.bk-done p{margin:0;max-width:400px;font:500 16px/25px var(--sans);color:#c5cce3}
.bk-done p b{color:#fff}
.modal .btn-ghost{color:#fff;border-color:rgba(246,220,142,.6)}
body.locked{overflow:hidden}


/* ---------- ages 3 to 5 revamp ---------- */
.age-chips{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;font:600 14px/1 var(--sans);color:var(--ink-2)}
.age-main{padding:9px 14px;border-radius:9999px;background:var(--navy);color:var(--gold-2);font:800 14px/1 var(--sans)}

/* journey milestones */
.miles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none;counter-reset:m}
.mile{display:flex;flex-direction:column;gap:16px;padding:28px 26px 30px;border-radius:28px;border:2px solid transparent;background:linear-gradient(var(--card),var(--card)) padding-box,var(--gold-frame) border-box;transition:transform .3s ease}
.mile:hover{transform:translateY(-6px)}
.mile-head{display:flex;align-items:center;gap:14px}
.mile-ic{flex:none;width:56px;height:56px;border-radius:18px;display:flex;align-items:center;justify-content:center}
.mile-when{display:block;font:800 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-6);margin-bottom:6px}
.mile-t{margin:0;font:800 22px/1.2 var(--sans);color:var(--navy)}
.mile-bar{height:8px;border-radius:9999px;background:#f3e3c4;overflow:hidden}
.mile-bar span{display:block;height:100%;border-radius:9999px;background:linear-gradient(90deg,#f0c968,#c99130)}

/* class length toggle */
.len-toggle{display:inline-flex;align-self:center;padding:5px;border-radius:9999px;background:var(--cream);border:1.5px solid var(--gold-line);gap:4px}
.len-btn{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 20px;border:0;border-radius:9999px;background:transparent;color:var(--ink-2);font:700 15px/1 var(--sans);cursor:pointer}
.len-btn small{font:800 10px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:4px 7px;border-radius:9999px;background:var(--amber-soft);color:var(--gold-6)}
.len-btn[aria-pressed="true"]{background:var(--navy);color:#fff}
.len-btn[aria-pressed="true"] small{background:var(--gold-3);color:var(--bronze)}

/* price cards */
.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.tier{position:relative;display:flex;flex-direction:column;gap:14px;padding:34px 28px 28px;border-radius:30px;border:2px solid transparent;background:linear-gradient(var(--card),var(--card)) padding-box,var(--gold-frame) border-box;transition:transform .3s ease}
.tier:hover{transform:translateY(-6px)}
.tier-tag{align-self:flex-start;padding:7px 14px;border-radius:9999px;background:var(--amber-soft);color:var(--gold-6);font:800 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase}
.tier-name{margin:0;font:800 26px/1.15 var(--sans);color:var(--navy)}
.tier-sub{margin:-6px 0 0;font:700 15px/1 var(--sans);color:var(--muted)}
.tier-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin-top:6px}
.tier-price s{font:600 18px/1 var(--sans);color:var(--muted)}
.tier-now{font:800 46px/1 var(--sans);letter-spacing:-.02em;color:var(--navy)}
.tier-save{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;font:600 14px/1 var(--sans);color:var(--muted)}
.tier-save .shimmer{padding:7px 12px;border-radius:9999px;font-weight:800}
.tier-out{padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,#fff3d6,#fbe6b4);font:800 16px/1.35 var(--sans);color:var(--bronze)}
.tier-out span{display:block;margin-bottom:4px;font:800 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-6)}
.tier .ticks{flex:1 1 auto}
.tier-btn{width:100%;margin-top:6px}
.btn-gold{color:var(--bronze)}
.btn-gold:hover{filter:brightness(1.06);color:var(--bronze)}
.tier-feat{background:linear-gradient(var(--navy),var(--navy)) padding-box,var(--gold-frame) border-box;transform:translateY(-10px);box-shadow:0 30px 60px -30px rgba(14,26,58,.6)}
.tier-feat:hover{transform:translateY(-14px)}
.tier-feat .tier-name,.tier-feat .tier-now{color:#fff}
.tier-feat .tier-sub,.tier-feat .tier-price s,.tier-feat .tier-save{color:var(--muted-dark)}
.tier-feat .ticks{color:#dfe4f2}
.tier-feat .ticks li::before{background-color:#fbe6b4}
.tier-feat .tier-out{background:rgba(255,255,255,.07);border:1px solid rgba(246,220,142,.4);color:var(--gold-2)}
.tier-feat .tier-out span{color:var(--gold-3)}
.tiers-note{margin:0;text-align:center;font:500 15px/24px var(--sans);color:var(--muted)}
.bk-full{grid-column:1/-1}
@media (max-width:1000px){.tiers{grid-template-columns:1fr;max-width:520px;width:100%;margin:0 auto}.tier-feat{transform:none}.tier-feat:hover{transform:translateY(-6px)}.miles{grid-template-columns:1fr}}
@media (max-width:560px){.len-btn{padding:0 14px;font-size:14px}.len-btn small{display:none}.tier{padding:28px 20px 22px}.tier-now{font-size:40px}}

/* ---------- responsive ---------- */
@media (min-width:901px){.hero .trust{flex-wrap:nowrap;width:max-content;max-width:none}}
@media (max-width:1100px){.progs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  .wrap{padding:64px 20px;gap:32px}
  .hero{min-height:0;background:var(--ivory)}
  .hero-bg,.hero-veil,.fx{display:none}
  .hero-art{position:relative;order:1;width:100%;height:auto;max-width:none;aspect-ratio:auto;-webkit-mask-image:none;mask-image:none;margin-top:46px}
  .hero-img{height:auto}
  .hero-inner{order:2;padding:28px 20px 48px}
  .why{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fc-band{grid-template-columns:1fr;padding:16px}
  .fc-copy{padding:0 4px 8px}
  .offerbox-in{padding:76px 18px 44px}
  .cd-wrap{padding:20px 14px}
  .cd{gap:6px}
  .flip-card{width:62px;height:70px;border-radius:12px}
  .flip-card b{font-size:34px}
  .diya{width:12px;height:20px;margin-top:-20px}
  .stat b{font-size:30px}
}
@media (max-width:760px){
  .map{flex-direction:column;gap:18px}
  .map li{flex-direction:row;flex-wrap:wrap;text-align:left;gap:4px 14px;padding:0}
  .coin{margin:0;width:44px;height:44px;font-size:18px}
  .map-t{align-self:center}
  .map-d{flex-basis:100%;padding-left:58px;margin-top:-10px}
  .map li:not(:last-child)::after{left:21px;right:auto;top:48px;width:3px;height:calc(100% - 30px)}
}
@media (max-width:560px){
  .progs{grid-template-columns:1fr}
  .bk-grid{grid-template-columns:1fr}
  .modal-in{padding:60px 18px 22px}
  .modal-intro{padding-top:34px}
  .modal-x{top:52px;right:10px;width:36px;height:36px}
  .float-wa span{display:none}
  .float-wa{padding:0 16px}
  .trust{width:auto}
  .cd{gap:4px}
  .flip-card{width:58px;height:66px}
  .flip-card b{font-size:30px}
  .flip>span{font-size:9px;letter-spacing:.1em}
  .cd-wrap{padding:20px 10px}
  .diya{width:10px;height:18px}
  .kick{letter-spacing:.1em}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
  .spark{opacity:.8}
  .cycle span:first-child{opacity:1}
  .mote,.petal{display:none}
  html{scroll-behavior:auto}
}

/* ---------- v3: conversion-led layout ---------- */
.hero-tags{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.btn-xl{min-height:58px;padding:0 34px;font-size:18px;box-shadow:0 14px 30px -14px rgba(21,87,214,.7)}
.btn-primary.btn-xl:hover{transform:translateY(-2px)}
.cta-block{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:4px}
.cta-notes{display:flex;flex-wrap:wrap;gap:6px 18px;font:700 14px/20px var(--sans);color:var(--ink-2)}
.cta-notes span{display:inline-flex;align-items:center;gap:6px}
.cta-notes svg{width:16px;height:16px}
.wa-link{display:inline-flex;align-items:center;gap:8px;width:fit-content;font:600 15px/22px var(--sans);color:var(--wa-text);text-decoration:none}
.wa-link:hover{text-decoration:underline}
.pains{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pain{position:relative;margin:0;padding:34px 28px 28px;border-radius:24px;background:var(--card);border:1.5px solid var(--gold-line);box-shadow:0 18px 40px -32px rgba(168,112,28,.6)}
.pain::after{content:"";position:absolute;left:36px;bottom:-11px;width:20px;height:20px;background:var(--card);border-right:1.5px solid var(--gold-line);border-bottom:1.5px solid var(--gold-line);transform:rotate(45deg)}
.pain-q{position:absolute;top:-4px;left:22px;font:800 72px/1 var(--sans);background:var(--gold-shine);-webkit-background-clip:text;background-clip:text;color:transparent}
.pain blockquote{margin:0;font:600 19px/29px var(--sans);color:var(--ink-2)}
.bridge{display:flex;align-items:center;gap:22px;max-width:900px;margin:12px auto 0;padding:26px 30px;border-radius:26px;background:var(--navy);background-image:radial-gradient(circle,rgba(255,210,122,.3) 1.2px,transparent 1.6px);background-size:36px 36px;box-shadow:0 24px 50px -30px rgba(14,26,58,.7)}
.bridge-ic{flex:none;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.bridge p{margin:0;font:500 17px/28px var(--sans);color:#dfe4f2}
.bridge b{color:var(--gold-2)}
.mid-cta{display:flex;flex-direction:column;align-items:center;gap:10px;font:600 14px/20px var(--sans);color:var(--muted)}
.fest{position:relative;overflow:hidden;border-radius:28px;background-color:var(--navy);background-image:radial-gradient(circle,rgba(255,210,122,.34) 1.2px,transparent 1.6px);background-size:40px 40px}
.fest-in{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px 32px;padding:62px 36px 28px}
.fest-copy{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.fest-copy p{margin:0;font:800 clamp(22px,2.4vw,30px)/1.2 var(--sans);color:#fff}
.fest .cd{gap:10px}
.fest .flip{gap:8px}
.fest .flip-card{width:76px;height:80px;border-radius:14px}
.fest .flip-card b{font-size:40px}
.fest .offer-ended{font-size:18px}
.tier-gst{margin:-6px 0 0;font:600 13px/18px var(--sans);color:var(--muted)}
.tier-feat .tier-gst{color:var(--muted-dark)}
.faq-more{margin:0;text-align:center;font:500 16px/24px var(--sans);color:var(--muted)}
.faq-more a{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--wa-text);text-decoration:none}
.bk-pick{padding:8px 14px;border-radius:9999px;background:rgba(255,255,255,.07);border:1px solid rgba(246,220,142,.4);color:var(--gold-2)!important;font-weight:700!important;font-size:14px!important}
.bk-set legend small{font-weight:500;color:var(--muted-dark)}
.bk-set[aria-invalid="true"] .bk-chip{border-color:#ff8a7a}
.bk-small{margin:-4px 0 0;text-align:center;font:500 13px/19px var(--sans);color:var(--muted-dark)}
.sticky-cta{display:none}
@media (max-width:1000px){.pains{grid-template-columns:1fr;max-width:560px;width:100%;margin:0 auto;gap:28px}}
@media (max-width:900px){
  .hero-art{aspect-ratio:16/11}
  .hero-img{height:100%;object-position:72% 18%}
  .hero-inner{padding-top:22px}
  .hero-copy{gap:14px}
}
@media (max-width:760px){
  .float-wa{display:none}
  .sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(252,248,244,.96);border-top:1px solid var(--gold-line);box-shadow:0 -10px 30px -18px rgba(14,26,58,.5);transform:translateY(110%);transition:transform .3s ease}
  .sticky-cta.show{transform:none}
  .sticky-cta .btn{flex:1 1 auto;min-height:52px;font-size:17px}
  .sticky-wa{flex:none;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--wa-1)}
  body{padding-bottom:76px}
  .bridge{flex-direction:column;align-items:flex-start;padding:24px 22px}
  .fest-in{flex-direction:column;align-items:center;text-align:center;padding:58px 14px 24px}
  .fest-copy{align-items:center}
  .fest .cd{gap:4px}
  .fest .flip-card{width:58px;height:64px;border-radius:12px}
  .fest .flip-card b{font-size:30px}
  .fest .diya{display:none}
  .btn-xl{width:100%}
  .cta-block{align-items:stretch}
}
body.locked .sticky-cta{display:none}
.pain-q{font-family:Georgia,"Times New Roman",serif;top:2px}
@media (max-width:560px){
  .hero-art{aspect-ratio:16/9}
  .hero-img{object-position:58% 32%}
  .hero h1{font-size:31px}
  .hero-sub{font-size:16px;line-height:25px}
  .hero-tags{gap:8px;flex-wrap:nowrap}
  .hero-tags .letter-pill{padding:6px 12px;min-height:0}
  .hero-tags .age-chips{gap:6px;font-size:12px}
  .hero-tags .age-main{padding:6px 10px;font-size:12px}
}
@media (max-width:900px){
  .hero-art{overflow:hidden}
  .hero-img{position:absolute;inset:0;width:100%;height:100%}
}

/* ---------- v4 ---------- */
.h2,.hero h1,.finale h2{text-wrap:balance}
.nw{white-space:nowrap}
.h2 .highlight img,.finale h2 .highlight img{bottom:-.2em;height:.22em}
.cta-notes span{white-space:nowrap}
/* glass section */
.band-navy{background:var(--navy);background-image:radial-gradient(circle,rgba(255,255,255,.07) 1px,transparent 1.4px);background-size:32px 32px}
.navy-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(520px 340px at 12% 18%,rgba(21,87,214,.55),transparent 70%),radial-gradient(480px 320px at 90% 85%,rgba(124,58,237,.32),transparent 70%),radial-gradient(360px 240px at 60% 0%,rgba(240,201,104,.16),transparent 70%)}
.band-navy .h2{color:#fff}
.band-navy .lead{color:var(--muted-dark)}
.band-navy .kick{color:#8fb3ff}
.glass-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.glass{position:relative;display:flex;flex-direction:column;gap:10px;padding:30px 28px 30px;border-radius:26px;background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 30px 60px -36px rgba(0,0,0,.7);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .3s ease,border-color .3s ease}
.glass:hover{transform:translateY(-6px);border-color:rgba(246,220,142,.55)}
.glass-ic{width:56px;height:56px;border-radius:18px;display:flex;align-items:center;justify-content:center;margin-bottom:6px;color:var(--gold-2);background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,.04));border:1px solid rgba(246,220,142,.45)}
.glass-t{margin:0;font:800 22px/28px var(--sans);color:#fff}
.glass-d{margin:0 0 8px;font:500 15px/22px var(--sans);color:var(--gold-2)}
.glass .ticks{color:#dfe4f2;font-weight:500;padding-top:16px;border-top:1px solid rgba(255,255,255,.12)}
.glass .ticks li::before{background:rgba(255,255,255,.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f6dc8e' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5 10 16.5 18 8'/%3E%3C/svg%3E") center/12px no-repeat}
/* worth ticket */
.worth{position:relative;align-self:center;display:flex;align-items:center;gap:18px 26px;flex-wrap:wrap;justify-content:center;padding:18px 34px;border-radius:20px;background:var(--navy);box-shadow:0 20px 40px -24px rgba(14,26,58,.7);margin-top:-12px}
.worth::before,.worth::after{content:"";position:absolute;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:var(--cream)}
.worth::before{left:-11px}.worth::after{right:-11px}
.worth-k{font:800 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2)}
.worth-v{display:inline-flex;align-items:baseline;gap:12px}
.worth-v s{font:700 26px/1 var(--sans);color:var(--muted-dark);text-decoration-color:#ff8a7a;text-decoration-thickness:3px}
.worth-v b{font:800 40px/1 var(--sans);background:linear-gradient(180deg,#fff3c4,#f0c968 55%,#c99130);-webkit-background-clip:text;background-clip:text;color:transparent}
.worth-n{font:600 14px/1.3 var(--sans);color:#dfe4f2}
/* proof */
.proof{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.proof-card{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:28px 16px 26px;border-radius:24px;background:var(--card);border:1.5px solid var(--gold-line);box-shadow:0 18px 40px -32px rgba(14,26,58,.5)}
.proof-ic{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:8px;background:#fff;box-shadow:inset 0 0 0 1px #ece4d9,0 8px 18px -12px rgba(14,26,58,.4)}
.proof-ic img{width:82%;height:82%;object-fit:contain}
.proof-fam{background:var(--blue-soft);color:var(--blue)}
.proof-card b{display:inline-flex;align-items:center;gap:8px;font:800 32px/1.1 var(--sans);color:var(--navy)}
.proof-card b .stars svg{width:16px;height:16px}
.proof-card>span:last-child{font:600 15px/20px var(--sans);color:var(--muted)}
/* tiers: learning map */
.tier-sub{margin-top:-4px;font-size:14px;line-height:1.4}
.lmap{display:flex;flex-direction:column;gap:10px;padding-top:16px;border-top:1px dashed var(--gold-line)}
.lm-h{margin:0;font:800 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-6)}
.lm-plus{margin:0;font:600 13px/18px var(--sans);color:var(--muted)}
.lmap ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;position:relative}
.lmap li{position:relative;display:flex;flex-direction:column;gap:3px;padding-left:20px}
.lmap li::before{content:"";position:absolute;left:2px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--gold-4);box-shadow:0 0 0 3px var(--amber-soft)}
.lmap li:not(:last-child)::after{content:"";position:absolute;left:6px;top:18px;bottom:-12px;width:2px;background:var(--gold-line)}
.lm-cls{font:800 12px/1.2 var(--sans);letter-spacing:.04em;color:var(--gold-6)}
.lm-t{font:600 14px/20px var(--sans);color:var(--ink-2)}
.tier .ticks{flex:0 0 auto;font-size:14px}
.tier .lmap{flex:1 1 auto}
.tier-feat .lmap{border-top-color:rgba(246,220,142,.35)}
.tier-feat .lm-h,.tier-feat .lm-cls{color:var(--gold-3)}
.tier-feat .lm-plus{color:var(--muted-dark)}
.tier-feat .lm-t{color:#dfe4f2}
.tier-feat .lmap li::before{background:var(--gold-3);box-shadow:0 0 0 3px rgba(246,220,142,.18)}
.tier-feat .lmap li:not(:last-child)::after{background:rgba(246,220,142,.3)}
/* First Sounds in green */
.tier-first .tier-tag{background:var(--green-soft);color:var(--green)}
.tier-first .tier-out{background:linear-gradient(135deg,#e6f6ee,#d2efe0);color:#0b4f36}
.tier-first .tier-out span,.tier-first .lm-h,.tier-first .lm-cls{color:var(--green)}
.tier-first .lmap{border-top-color:#bfe3cf}
.tier-first .lmap li::before{background:var(--green);box-shadow:0 0 0 3px var(--green-soft)}
.tier-first .lmap li:not(:last-child)::after{background:#bfe3cf}
.tiers-foot{display:flex;flex-direction:column;align-items:center;gap:12px}
.tiers-60{font-size:14px;max-width:640px}
.btn-outline{background:var(--card);color:var(--navy);border:1.5px solid var(--gold-4)}
.btn-outline:hover{background:var(--amber-soft)}
@media (max-width:1000px){.glass-row{grid-template-columns:1fr;max-width:560px;width:100%;margin:0 auto}.proof{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.proof-card b{font-size:24px}.proof-card{padding:22px 10px}.proof-ic{width:60px;height:60px}.worth{padding:16px 26px}.worth-v b{font-size:34px}.btn-outline{white-space:normal;text-align:center;line-height:1.3;padding:12px 20px}}
@media (min-width:901px){
  .hero-copy{max-width:580px}
  .hero h1{font-size:clamp(36px,3.4vw,48px)}
  .hero-sub{max-width:500px}
}
@media (min-width:1001px){.tier-out{min-height:78px}}
.band-navy .highlight img{filter:sepia(1) saturate(3.2) hue-rotate(2deg) brightness(1.35)}

/* ---------- v5 ---------- */
/* shimmering gold underline */
.highlight img{display:none}
.highlight::after{content:"";position:absolute;left:-2%;width:104%;bottom:-.17em;height:.22em;pointer-events:none;background:linear-gradient(90deg,#a8701c 0%,#d9a441 20%,#fff3c4 34%,#d9a441 48%,#a8701c 62%,#d9a441 80%,#a8701c 100%);background-size:220% 100%;-webkit-mask:url("assets/highlight-swoosh.png") center/100% 100% no-repeat;mask:url("assets/highlight-swoosh.png") center/100% 100% no-repeat;animation:ulshine 3.4s linear infinite}
@keyframes ulshine{from{background-position:0 0}to{background-position:-220% 0}}
.accent{background:linear-gradient(110deg,#0f47b4 0%,#1557d6 45%,#3d7cf0 70%,#1557d6 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
/* elegant 3D cards */
.card3d{background:linear-gradient(180deg,#fffefb 0%,#fff7ea 100%);border:1px solid rgba(217,164,65,.5);box-shadow:inset 0 1px 0 #fff,inset 0 -3px 0 rgba(217,164,65,.16),0 1px 2px rgba(14,26,58,.06),0 12px 24px -12px rgba(14,26,58,.2),0 34px 54px -34px rgba(168,112,28,.5);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}
.card3d:hover{transform:translateY(-8px);box-shadow:inset 0 1px 0 #fff,inset 0 -3px 0 rgba(217,164,65,.2),0 2px 4px rgba(14,26,58,.06),0 22px 34px -16px rgba(14,26,58,.26),0 46px 70px -36px rgba(168,112,28,.6)}
.pain.card3d{border-radius:24px}
.pain::after{background:#fff7ea;border-right-color:rgba(217,164,65,.5);border-bottom-color:rgba(217,164,65,.5)}
.mile.card3d{border-radius:26px}
/* how classes work: light 3D cards */
.lc-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.lc{display:flex;flex-direction:column;gap:8px;padding:30px 28px;border-radius:26px}
.lc-ic{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:10px;color:var(--gold-2);background:radial-gradient(circle at 30% 25%,#26326a,#0e1a3a 70%);box-shadow:0 0 0 4px #fff,0 0 0 5px rgba(217,164,65,.5),0 12px 22px -10px rgba(14,26,58,.6)}
.lc-t{margin:0;font:800 22px/28px var(--sans);color:var(--navy)}
.lc-d{margin:0 0 6px;font:600 15px/22px var(--sans);color:var(--gold-6)}
.lc .ticks{padding-top:16px;border-top:1px dashed var(--gold-line);font-weight:500}
/* all you need */
.need{display:flex;align-items:center;gap:24px;padding:26px 30px;border-radius:26px}
.need-ic{position:relative;flex:none;width:72px;height:72px;border-radius:50%;color:var(--gold-2);background:radial-gradient(circle at 30% 25%,#26326a,#0e1a3a 70%);box-shadow:0 0 0 4px #fff,0 0 0 5px rgba(217,164,65,.5)}
.need-ic svg{position:absolute;left:50%;top:50%;margin:-15px 0 0 -15px;opacity:0;animation:rot 6s ease-in-out infinite}
.need-ic svg:nth-child(2),.rot-word span:nth-child(2){animation-delay:2s}
.need-ic svg:nth-child(3),.rot-word span:nth-child(3){animation-delay:4s}
.need-copy{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:6px}
.need-k{margin:0;font:800 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-6)}
.need-t{margin:0;font:800 26px/1.25 var(--sans);color:var(--navy)}
.rot-word{display:inline-grid;vertical-align:bottom;overflow:hidden}
.rot-word span{grid-area:1/1;opacity:0;color:var(--blue);animation:rot 6s ease-in-out infinite}
.need-d{margin:0;font:500 16px/25px var(--sans);color:var(--muted)}
@keyframes rot{0%{opacity:0;transform:translateY(45%)}6%,30%{opacity:1;transform:none}36%,100%{opacity:0;transform:translateY(-45%)}}
/* proof */
.proof-card{position:relative;overflow:hidden;border-radius:24px}
.proof-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 30%,rgba(255,243,196,.85) 48%,rgba(255,255,255,.9) 50%,rgba(255,243,196,.85) 52%,transparent 70%);transform:translateX(-120%);animation:sweep 5s ease-in-out infinite}
.proof-card:nth-child(2)::before{animation-delay:.4s}.proof-card:nth-child(3)::before{animation-delay:.8s}.proof-card:nth-child(4)::before{animation-delay:1.2s}
@keyframes sweep{0%,55%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}
.proof-logo{width:76px;height:76px;border-radius:50%;object-fit:contain;margin-bottom:8px;filter:drop-shadow(0 8px 12px rgba(14,26,58,.22))}
.proof-ic{width:76px;height:76px}
/* packages */
.tier-dl{display:inline-flex;align-items:center;justify-content:center;gap:6px;align-self:center;font:700 14px/20px var(--sans);color:var(--blue);text-decoration:none}
.tier-dl:hover{text-decoration:underline}
.tier-feat .tier-dl{color:var(--gold-2)}
.tier-first .tier-dl{color:var(--green)}
/* booking pop-up: light and calm */
.modal-card{max-width:520px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;scrollbar-width:none;border:0;border-radius:28px;color:var(--navy);background:#fffdf9;background-image:none;box-shadow:0 0 0 1px rgba(217,164,65,.45),0 40px 90px -30px rgba(14,26,58,.65)}
.modal-card::-webkit-scrollbar{display:none}
.modal-back{background:rgba(14,26,58,.55);backdrop-filter:blur(6px)}
.mh{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px 24px;background:rgba(255,253,249,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.mh-logo{display:block;height:34px;width:auto}
.modal .modal-x{position:static;width:36px;height:36px;border:1px solid var(--line);background:#fff;color:var(--navy)}
.modal .modal-x:hover{background:var(--cream)}
.modal .modal-in{padding:22px 28px 24px;gap:16px}
.modal .modal-in h2{color:var(--navy);font-size:26px}
.modal .modal-intro{padding-top:0;gap:8px}
.modal .modal-intro p{color:var(--muted);font-weight:600}
.free-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:9999px;background:linear-gradient(135deg,#fff3d6,#fbe6b4);border:1px solid var(--gold-line);font:800 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-6)}
.free-pill s{color:var(--muted);text-decoration-color:#d0335f;text-decoration-thickness:2px}
.modal .bk-pick{background:var(--blue-soft);border:0;color:var(--blue)!important}
.modal .field{color:var(--ink-2);font-size:14px}
.modal .field input,.modal .phone{border:1px solid #e3d7c3;border-radius:12px;min-height:48px;background:#fff}
.modal .phone input{border:0;min-height:46px}
.modal .field input:focus,.modal .phone:focus-within{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(21,87,214,.15)}
.modal .phone input:focus{box-shadow:none}
.modal .phone>span{background:#f7f1e7;border-right-color:#e3d7c3}
.modal .bk-set legend{color:var(--ink-2);margin-bottom:8px}
.modal .bk-set legend small{font-weight:600;color:var(--muted);margin-left:4px}
.seg{display:grid;gap:4px;padding:4px;border-radius:14px;background:#f4ece0;border:1px solid #eadfcd}
.seg-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.seg-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.modal .seg .bk-chip{min-height:42px;padding:0 4px;border:0;border-radius:10px;background:transparent;color:var(--ink-2);font:700 14px/1 var(--sans);transition:background .2s ease,color .2s ease}
.modal .seg .bk-chip:hover{background:rgba(255,255,255,.7)}
.modal .seg .bk-chip[aria-pressed="true"]{background:var(--navy);color:#fff;box-shadow:0 6px 14px -8px rgba(14,26,58,.7)}
.modal .bk-set[aria-invalid="true"] .seg{border-color:#ff8a7a;box-shadow:0 0 0 2px rgba(255,138,122,.3)}
.modal .bk-submit{background:var(--blue);color:#fff;box-shadow:0 14px 28px -14px rgba(21,87,214,.8);margin-top:2px}
.modal .bk-submit:hover{background:var(--blue-dark);filter:none}
.modal .bk-small{color:var(--muted)}
.modal .bk-trust{gap:8px 18px;color:var(--muted);padding-top:14px;border-top:1px solid var(--line)}
.modal .bk-trust span{display:inline-flex;align-items:center;gap:6px}
.modal .bk-trust img{border-radius:50%}
.modal .bk-done{padding-top:30px;padding-bottom:30px}
.modal .done-coin{background:var(--green);box-shadow:0 0 0 6px var(--green-soft)}
.modal .done-hi{color:var(--gold-6)}
.modal .bk-done p{color:var(--muted)}
.modal .bk-done p b{color:var(--navy)}
.modal .btn-ghost{color:var(--navy);border:1px solid var(--line);background:#fff}
@media (max-width:1000px){.lc-row{grid-template-columns:1fr;max-width:560px;width:100%;margin:0 auto}.need{flex-wrap:wrap}.need .btn{width:100%}}
@media (max-width:560px){
  .modal{padding:10px}
  .modal .modal-in{padding:18px 18px 20px;gap:14px}
  .modal .modal-in h2{font-size:23px}
  .seg-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mh{padding:12px 14px 10px 18px}
  .mh-logo{height:30px}
  .need{padding:22px 20px;gap:16px}
  .need-t{font-size:22px}
}
@media (prefers-reduced-motion:reduce){
  .highlight::after,.proof-card::before{animation:none}
  .need-ic svg:first-child,.rot-word span:first-child{opacity:1;animation:none}
  .need-ic svg:not(:first-child),.rot-word span:not(:first-child){display:none}
}

/* ---------- v6 ---------- */
.hero-sub b{color:var(--navy);font-weight:700}
.hero-sub .hl-ink{color:var(--blue)}
/* outcomes: steps that connect */
.mile{position:relative}
.mile-step{position:absolute;top:-13px;left:26px;padding:6px 12px;border-radius:9999px;background:var(--navy);color:var(--gold-2);font:800 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;box-shadow:0 6px 14px -6px rgba(14,26,58,.6)}
@media (min-width:1001px){
  .mile:not(:last-child)::after{content:"";position:absolute;z-index:3;top:50%;right:-31px;width:38px;height:38px;margin-top:-19px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a8701c' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") center/18px no-repeat;box-shadow:0 0 0 1px rgba(217,164,65,.55),0 8px 16px -8px rgba(14,26,58,.4)}
}
@media (max-width:1000px){.miles{gap:34px}}


/* ---------- v7: parent reviews ---------- */
.rv-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.rv{position:relative;margin:0;display:flex;flex-direction:column;gap:14px;padding:30px 28px 26px;border-radius:24px}
.rv-stars{font-size:18px;letter-spacing:3px;color:#f5b400}
.rv blockquote{margin:0;font:600 17px/27px var(--sans);color:var(--ink-2)}
.rv figcaption{margin-top:auto;display:flex;flex-direction:column;gap:2px;padding-top:14px;border-top:1px dashed var(--gold-line)}
.rv figcaption b{font:800 15px/20px var(--sans);color:var(--navy)}
.rv figcaption span{font:500 14px/20px var(--sans);color:var(--muted)}
.rv-google{align-self:center}
.rv-row{display:block;columns:3 300px;column-gap:24px}
.rv{break-inside:avoid;margin:0 0 24px;padding-top:26px}
.rv-mark{height:34px;font:800 64px/1 Georgia,"Times New Roman",serif;background:var(--gold-shine);-webkit-background-clip:text;background-clip:text;color:transparent}
.rv-stars{margin-top:-4px}

/* ---------- v8: mobile version ---------- */
[hidden]{display:none!important}
.hero-mob-img{display:none}
.swipe-dots{display:none}
@media (max-width:760px){
  /* hero: no top photo, centred copy, photo framed mid-section */
  .hero{background:radial-gradient(420px 260px at 90% 0%,rgba(255,210,122,.35),transparent 70%),radial-gradient(380px 260px at 0% 40%,rgba(232,144,42,.14),transparent 70%),var(--ivory)}
  .hero-art{display:none}
  .hero-inner{padding:72px 20px 40px}
  .hero-copy{align-items:center;text-align:center;gap:14px;max-width:none}
  .hero-copy .kick{justify-content:center;letter-spacing:.08em;font-size:11px}
  .hero-tags{justify-content:center;flex-wrap:wrap}
  .hero h1{font-size:30px;line-height:1.15}
  .hero-sub{font-size:16px;line-height:25px;max-width:none}
  .cta-block{align-items:stretch;width:100%}
  .cta-notes{justify-content:center}
  .wa-link{display:none}
  .hero-mob-img{display:block;margin:6px 0 0;width:100%;border-radius:24px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 0 0 4px #fff,0 0 0 5px rgba(217,164,65,.6),0 24px 40px -24px rgba(14,26,58,.5)}
  .hero-mob-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:62% 40%}
  /* compact trust strip */
  .trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;padding:12px 8px;margin-top:4px}
  .trust .seal{flex-direction:column;text-align:center;gap:6px}
  .trust .seal-disc{width:40px;height:40px}
  .trust .seal-name{justify-content:center;font-size:14px;gap:3px;flex-wrap:wrap}
  .trust .seal-name svg{width:12px;height:12px}
  .trust .stars{display:flex}
  .trust .stars svg{width:9px;height:9px}
  .trust .seal-label{font-size:11px;line-height:1.3}
  /* swipeable card rows */
  .pains,.miles,.lc-row,.rv-row{display:flex!important;gap:14px;max-width:none!important;margin:0 -20px!important;padding:18px 20px 26px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;columns:auto}
  .pains::-webkit-scrollbar,.miles::-webkit-scrollbar,.lc-row::-webkit-scrollbar,.rv-row::-webkit-scrollbar{display:none}
  .pains>*,.miles>*,.lc-row>*,.rv-row>*{flex:0 0 84%;scroll-snap-align:center;margin:0}
  .pains{padding-bottom:34px}
  .card3d:hover{transform:none}
  .swipe-dots{display:flex;justify-content:center;gap:8px;margin-top:-14px}
  .swipe-dots span{width:8px;height:8px;border-radius:9999px;background:var(--gold-line);transition:width .25s ease,background .25s ease}
  .swipe-dots span.on{width:22px;background:var(--gold-5)}
  /* tighter sections */
  .wrap{padding:56px 20px;gap:26px}
  .h2{font-size:27px}
  .lead{font-size:16px;line-height:25px}
  .bridge p{font-size:16px;line-height:26px}
  .proof{gap:12px}
  .proof-card{padding:18px 8px}
  .proof-logo,.proof-ic{width:58px;height:58px}
  .proof-card b{font-size:22px}
  .proof-card>span:last-child{font-size:13px}
  .worth{gap:8px 16px;padding:16px 24px}
  .finale-in{padding:80px 20px 56px}
}
@media (max-width:760px){
  .pains,.miles,.lc-row,.rv-row{width:auto!important}
  .need{flex-direction:column;text-align:center}
  .need-copy{align-items:center}
}
@media (max-width:760px){.rv-row{align-items:flex-start}}
.proof-card::before{background:linear-gradient(110deg,transparent 35%,rgba(255,243,196,.45) 48%,rgba(255,255,255,.55) 50%,rgba(255,243,196,.45) 52%,transparent 65%)}

/* ---------- v9 ---------- */
/* device word: one word at a time, fades in place */
.rot-word{display:inline-block;overflow:visible;vertical-align:baseline;color:var(--blue);transition:opacity .3s ease,transform .3s ease}
.rot-word.out{opacity:0;transform:translateY(-6px)}
.need-ic svg{animation:none;opacity:0;transition:opacity .3s ease}
.need-ic svg.on{opacity:1}
/* booking pop-up with the hero photo */
.modal-card{max-width:900px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);overflow:hidden;padding:0}
.modal-main{min-width:0;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;scrollbar-width:none}
.modal-main::-webkit-scrollbar{display:none}
.modal-art{position:relative;min-height:100%;overflow:hidden;background:#f6e9d6}
.modal-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 35%}
.modal-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,26,58,0) 45%,rgba(14,26,58,.82) 100%)}
.modal-art-copy{position:absolute;left:0;right:0;bottom:0;z-index:1;display:flex;flex-direction:column;gap:6px;padding:26px 26px 28px;color:#fff}
.ma-k{font:800 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2)}
.ma-t{font:800 24px/1.2 var(--sans);text-wrap:balance}
.ma-n{font:600 14px/1.3 var(--sans);color:#dfe4f2}
.modal .modal-in{padding:20px 28px 22px}
@media (max-width:860px){
  .modal-card{grid-template-columns:1fr;max-width:520px;max-height:calc(100dvh - 20px);overflow-y:auto;scrollbar-width:none}
  .modal-card::-webkit-scrollbar{display:none}
  .modal-main{max-height:none;overflow:visible}
  .modal-art{min-height:0;height:150px}
  .modal-art-copy{padding:16px 18px}
  .ma-t{font-size:18px}
  .ma-n{display:none}
  .mh{position:static}
}

/* ---------- v10: compact, premium booking pop-up ---------- */
.mh{position:static;padding:14px 18px 12px 26px}
.mh-logo{height:30px}
.modal .modal-in{padding:16px 28px 22px;gap:14px}
.modal .modal-intro{gap:6px}
.modal .modal-in h2{font-size:24px}
.modal .bk-set legend{margin-bottom:8px}
/* inputs: premium fields */
.modal .field{gap:7px}
.modal .field input,.modal .phone{min-height:50px;border:1px solid #e6d6b8;border-radius:14px;background:linear-gradient(180deg,#fff,#fffaf2);box-shadow:inset 0 1px 2px rgba(14,26,58,.05),0 1px 0 #fff}
.modal .phone input{background:transparent;min-height:48px}
.modal .phone>span{background:linear-gradient(180deg,#fdf3e1,#f7e8cc);color:var(--bronze);border-right-color:#e6d6b8}
.modal .field input:focus,.modal .phone:focus-within{border-color:var(--gold-4);box-shadow:0 0 0 3px rgba(217,164,65,.22)}
/* choices: separate premium buttons */
.seg{gap:10px;padding:0;background:none;border:0}
.modal .seg .bk-chip{position:relative;min-height:46px;border:1px solid #e6d6b8;border-radius:14px;background:linear-gradient(180deg,#fff 0%,#fff7ea 100%);color:var(--ink-2);font:700 14px/1 var(--sans);box-shadow:inset 0 1px 0 #fff,0 1px 2px rgba(14,26,58,.06),0 6px 14px -10px rgba(168,112,28,.55);transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}
.modal .seg .bk-chip:hover{background:linear-gradient(180deg,#fff 0%,#fff1d8 100%);transform:translateY(-2px);box-shadow:inset 0 1px 0 #fff,0 2px 4px rgba(14,26,58,.08),0 10px 18px -10px rgba(168,112,28,.6)}
.modal .seg .bk-chip[aria-pressed="true"]{background:linear-gradient(180deg,#1b2a5c 0%,#0e1a3a 100%);color:var(--gold-2);border-color:var(--gold-4);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 0 1px rgba(217,164,65,.5),0 10px 18px -10px rgba(14,26,58,.8);transform:translateY(-1px)}
.modal .bk-set[aria-invalid="true"] .seg{box-shadow:none}
.modal .bk-set[aria-invalid="true"] .bk-chip{border-color:#ff8a7a}
.modal .bk-submit{min-height:54px}
.modal .bk-small{margin:-4px 0 0;font-size:12.5px}
/* trust moves onto the photo on wide screens */
.ma-trust{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.ma-trust span{display:inline-flex;align-items:center;gap:6px;padding:6px 10px 6px 6px;border-radius:9999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(6px);font:700 12px/1 var(--sans);color:#fff}
.ma-trust img{border-radius:50%;background:#fff}
.ma-g{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#fff;font-style:normal}
.modal-art::after{background:linear-gradient(180deg,rgba(14,26,58,0) 38%,rgba(14,26,58,.88) 100%)}
@media (min-width:861px){.modal .bk-trust{display:none}}
@media (max-width:860px){.ma-trust{display:none}.modal .seg .bk-chip{min-height:44px}}
.ma-trust img{position:static;inset:auto;width:22px;height:22px;object-fit:contain}
.modal .phone input{border:0;border-radius:0;box-shadow:none;background:transparent}
.modal .phone input:focus{box-shadow:none}
@media (max-width:560px){
  .modal-art{height:112px}
  .seg-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .modal .seg-4 .bk-chip{font-size:12.5px;padding:0 2px;border-radius:12px}
  .modal .seg .bk-chip{min-height:42px}
  .modal .modal-intro p{font-size:14px}
  .modal .modal-in{gap:12px}
}
@media (max-width:860px){.modal-art>img{object-position:50% 26%}}

/* ---------- v11: alignment fixes ---------- */
.proof-card b{flex-wrap:wrap;justify-content:center;row-gap:4px;max-width:100%}
.proof-card b .stars{display:inline-flex;gap:1px}
.proof-logo{padding:5px;background:#fff;object-fit:contain;box-shadow:inset 0 0 0 1px #ece4d9}
.proof-card{min-width:0}
.proof-card>span:last-child{max-width:100%}
.modal-art-copy{text-shadow:0 1px 8px rgba(14,26,58,.55)}
@media (max-width:860px){
  .modal-art{height:120px}
  .modal-art::after{background:linear-gradient(180deg,rgba(14,26,58,.05) 0%,rgba(14,26,58,.85) 100%)}
  .ma-k{display:none}
  .ma-t{font-size:18px}
  .modal .modal-in h2{font-size:clamp(20px,5.4vw,24px)}
  .modal .modal-in{padding:16px 22px 20px;gap:12px}
  .mh{padding:12px 16px 10px 22px}
  .seg-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .modal .seg-4 .bk-chip{font-size:12.5px;padding:0 2px;border-radius:12px}
  .modal .bk-grid{grid-template-columns:1fr}
}
@media (max-width:360px){.modal .seg-4{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- v12 ---------- */
.hero-sub{text-wrap:balance}
/* classroom videos */
.vids{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.vid{margin:0;padding:12px 12px 16px;border-radius:24px;display:flex;flex-direction:column;gap:12px}
.vid-frame{position:relative;aspect-ratio:9/12;border-radius:16px;overflow:hidden;background:radial-gradient(circle at 30% 20%,#26326a,#0e1a3a 70%)}
.vid-frame video,.vid-frame iframe,.vid-play img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.vid-play{position:absolute;inset:0;width:100%;padding:0;border:0;background:none;cursor:pointer}
.vid-play[disabled]{cursor:default}
.vid-ring{position:absolute;left:50%;top:50%;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding-left:4px;color:var(--bronze);background:radial-gradient(circle at 35% 30%,#fff3c4,#f0c968 45%,#c99130);box-shadow:0 0 0 8px rgba(246,220,142,.25),0 14px 28px -10px rgba(0,0,0,.6);transition:transform .25s ease}
.vid-play:not([disabled]):hover .vid-ring{transform:scale(1.08)}
.vid-ph::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,210,122,.3) 1px,transparent 1.4px);background-size:22px 22px}
.vid figcaption{text-align:center;font:700 15px/20px var(--sans);color:var(--navy)}
/* teachers */
.teachers{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:20px}
.tch{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;padding:26px 16px 22px;border-radius:24px;text-align:center}
.tch-av{width:112px;height:112px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;font:800 34px/1 var(--sans);color:var(--gold-2);background:radial-gradient(circle at 30% 25%,#26326a,#0e1a3a 70%);box-shadow:0 0 0 5px #fff,0 0 0 6px rgba(217,164,65,.6),0 16px 28px -14px rgba(14,26,58,.6)}
.tch-av img,.rv-av img{width:100%;height:100%;object-fit:cover}
.tch figcaption{display:flex;flex-direction:column;gap:3px}
.tch figcaption b{font:800 17px/22px var(--sans);color:var(--navy)}
.tch figcaption span{font:600 13px/18px var(--sans);color:var(--gold-6)}
/* review photos */
.rv figcaption{flex-direction:row;align-items:center;gap:12px}
.rv-av{flex:none;width:48px;height:48px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;font:800 17px/1 var(--sans);color:var(--gold-2);background:radial-gradient(circle at 30% 25%,#26326a,#0e1a3a 70%);box-shadow:0 0 0 3px #fff,0 0 0 4px rgba(217,164,65,.55)}
.rv-who{display:flex;flex-direction:column;gap:2px;min-width:0}
.rv-who b{font:800 15px/20px var(--sans);color:var(--navy)}
.rv-who span{font:500 14px/20px var(--sans);color:var(--muted)}
/* per-class price */
.tier-per{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 6px;padding:10px 14px;border-radius:14px;background:var(--amber-soft);font:600 14px/1.2 var(--sans);color:var(--ink-2)}
.tier-per b{font:800 22px/1 var(--sans);color:var(--navy)}
.tier-per em{margin-left:auto;font-style:normal;font:800 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;border-radius:9999px;background:var(--gold-3);color:var(--bronze)}
.tier-feat .tier-per{background:rgba(255,255,255,.08);border:1px solid rgba(246,220,142,.45);color:#dfe4f2}
.tier-feat .tier-per b{color:var(--gold-2)}
.tier-first .tier-per{background:var(--green-soft)}
.tiers-only{margin:0;max-width:640px;padding:12px 18px;border-radius:14px;text-align:center;background:var(--navy);color:#dfe4f2;font:500 14px/21px var(--sans)}
.tiers-only b{color:var(--gold-2)}
@media (min-width:1001px){.tier-feat{transform:translateY(-14px);box-shadow:0 0 0 2px var(--gold-4),0 36px 70px -30px rgba(14,26,58,.7)}.tier-feat:hover{transform:translateY(-18px)}}
@media (max-width:1000px){.vids{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){
  .vids,.teachers{display:flex!important;gap:14px;width:auto!important;margin:0 -20px!important;padding:12px 20px 26px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .vids::-webkit-scrollbar,.teachers::-webkit-scrollbar{display:none}
  .vids>*{flex:0 0 72%;scroll-snap-align:center}
  .teachers>*{flex:0 0 46%;scroll-snap-align:start}
}
.rv figcaption .rv-av{font:800 17px/1 var(--sans);color:var(--gold-2)}
@media (max-width:1000px){.tier-confident{order:-1}}
.tier-save2{margin:-4px 0 0;font:500 13px/19px var(--sans);color:var(--muted-dark)}
.tier-save2 b{color:var(--gold-2)}
.tch figcaption em{font:700 13px/18px var(--sans);font-style:normal;color:var(--blue)}
.tch-av img{object-position:50% 22%}
@media (min-width:761px){
  .teachers{display:flex;flex-wrap:wrap;justify-content:center;gap:24px}
  .tch{flex:0 0 calc(25% - 18px);max-width:260px}
  .tch-av{width:136px;height:136px}
}
.tch figcaption span{text-wrap:balance}
@media (max-width:760px){.pains,.miles,.lc-row,.rv-row,.vids,.teachers{scroll-padding-inline:20px}}

/* ---------- v13: Reel-shaped video covers, play button out of the way ---------- */
.vids{display:flex;flex-wrap:wrap;justify-content:center;gap:24px}
.vid{flex:0 1 300px;max-width:300px}
.vid-frame{aspect-ratio:9/16}
.vid-play img,.vid-frame video{object-fit:cover;object-position:center}
a.vid-play{display:block}
.vid-ring{left:14px;top:auto;bottom:14px;margin:0;width:48px;height:48px;padding-left:3px;box-shadow:0 0 0 5px rgba(246,220,142,.3),0 10px 20px -8px rgba(0,0,0,.6)}
.vid-ring svg{width:20px;height:20px}
.vid-ph .vid-ring{left:50%;top:50%;bottom:auto;margin:-24px 0 0 -24px}
@media (max-width:760px){.vids>*{flex:0 0 66%;max-width:none}}
@media (max-width:760px){.vids{flex-wrap:nowrap;justify-content:flex-start}}
