/* Sacred Circles - sistema visual v2
   Tipografias: logo = Cormorant Garamond (solo .brand) | titulos = Fraunces | texto = Outfit
   Paleta: medianoche violeta + colores de los mandalas (dorado, coral, turquesa, violeta, magenta) */
:root{
  --bg:#0c0a1c; --bg2:#120f26; --surface:#181436; --line:rgba(255,255,255,.12);
  --ink:#f7f3ff; --ink-dim:#c4bddb; --ink-mute:#8f88ad;
  --gold:#f4c860; --gold-deep:#d99a2b; --coral:#ff6b6b; --teal:#2ec4b6; --violet:#9b5cff; --magenta:#e83e8c; --leaf:#5fe08c;
  --ok:#7fe0a3; --err:#ff8c7a;
  --display:'Fraunces',Georgia,serif; --sans:'Outfit',system-ui,sans-serif; --logo:'Cormorant Garamond',Georgia,serif;
  --r:22px; --maxw:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold)}
::selection{background:var(--gold);color:#1a1230}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:8px}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.01em}

/* LOGO: unica tipografia que se conserva */
.brand{font-family:var(--logo);font-weight:600;font-size:21px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink);text-decoration:none}

/* NAV */
.nav{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:30;width:min(calc(100% - 24px),1100px);display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px 10px 22px;border-radius:60px;background:rgba(18,15,38,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);transition:background .3s}
.nav.solid{background:rgba(12,10,28,.88)}
.nav-links{display:flex;align-items:center;gap:clamp(12px,2vw,26px)}
.nav-links a{font-size:14px;font-weight:500;color:var(--ink-dim);text-decoration:none;transition:color .2s}
.nav-links a:hover{color:var(--gold)}
.lang{background:rgba(255,255,255,.08);border:1px solid var(--line);color:var(--ink);font:600 12px var(--sans);letter-spacing:.1em;padding:8px 14px;border-radius:30px;cursor:pointer}
.lang:hover{background:var(--gold);color:#1a1230}
@media(max-width:760px){.nav-links a.hide-m{display:none}.brand{font-size:16px;letter-spacing:.2em}}

/* BOTONES */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:60px;padding:15px 32px;border:2px solid var(--gold);
  font:600 15px var(--sans);letter-spacing:.02em;cursor:pointer;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;line-height:1.2}
.btn.primary{background:linear-gradient(135deg,var(--gold),#ffb347);color:#1a1230;border-color:transparent;box-shadow:0 10px 30px rgba(244,200,96,.25)}
.btn.primary:hover{transform:translateY(-2px);box-shadow:0 14px 38px rgba(244,200,96,.4)}
.btn.ghost{background:transparent;color:var(--ink);border-color:rgba(255,255,255,.35)}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn.small{padding:11px 22px;font-size:14px}

/* HERO */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:110px clamp(18px,4vw,48px) 60px;overflow:hidden;
  background:radial-gradient(ellipse 70% 60% at 85% 30%,rgba(155,92,255,.35),transparent 60%),radial-gradient(ellipse 60% 55% at 10% 90%,rgba(46,196,182,.25),transparent 60%),radial-gradient(ellipse 50% 40% at 60% 100%,rgba(255,107,107,.18),transparent 65%),var(--bg)}
.hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.5) 1px,transparent 1.5px);background-size:90px 90px;opacity:.07;pointer-events:none}
.hero-in{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(20px,4vw,60px);align-items:center}
.chip{display:inline-flex;gap:8px;align-items:center;padding:7px 16px;border-radius:40px;border:1px solid rgba(244,200,96,.45);background:rgba(244,200,96,.08);color:var(--gold);font-size:13px;font-weight:500;letter-spacing:.04em;margin-bottom:22px}
.hero h1{font-size:clamp(42px,6.6vw,84px);line-height:1.02;margin:0 0 22px;font-weight:600}
.hero h1 em{font-style:italic;font-weight:500;background:linear-gradient(100deg,var(--gold),var(--coral) 60%,var(--magenta));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{max-width:540px;color:var(--ink-dim);font-size:clamp(17px,1.8vw,20px);margin:0 0 30px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.trust{display:flex;gap:10px 22px;flex-wrap:wrap;margin-top:34px;color:var(--ink-mute);font-size:14px}
.trust span::before{content:"✦";color:var(--gold);margin-right:8px}
.art{position:relative;aspect-ratio:1;width:100%;max-width:560px;margin:0 auto}
.art::before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle,rgba(244,200,96,.28),rgba(155,92,255,.18) 50%,transparent 70%);filter:blur(30px)}
.art .m{position:absolute;filter:drop-shadow(0 18px 40px rgba(0,0,0,.45));will-change:transform}
.art .m1{width:74%;left:13%;top:13%;animation:spin 90s linear infinite}
.art .m2{width:44%;left:-2%;top:0;animation:spin 60s linear infinite reverse}
.art .m3{width:42%;right:-2%;bottom:0;animation:spin 70s linear infinite}
.art .orbit{position:absolute;inset:0;border:1px dashed rgba(244,200,96,.3);border-radius:50%;animation:spin 140s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.hero{padding-top:96px;align-items:flex-start}.hero-in{grid-template-columns:1fr;text-align:center}.art{order:-1;max-width:380px}.hero p.lead,.cta-row,.trust{margin-left:auto;margin-right:auto;justify-content:center}}

/* CINTA DE MANDALAS */
.ribbon{background:linear-gradient(90deg,#1b1240,#2a1658,#1b1240);border-block:1px solid var(--line);overflow:hidden;padding:18px 0}
.ribbon .track{display:flex;gap:46px;width:max-content;animation:slide 45s linear infinite;align-items:center}
.ribbon img{height:64px;width:64px;object-fit:contain}
.ribbon span{font-family:var(--display);font-style:italic;font-size:26px;color:var(--gold);white-space:nowrap}
@keyframes slide{to{transform:translateX(-50%)}}

/* SECCIONES */
.sec{position:relative;padding:clamp(64px,9vw,120px) clamp(18px,4vw,48px)}
.wrap{max-width:var(--maxw);margin:0 auto}
.kicker{display:block;text-align:center;font-size:13px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.sec h2{font-size:clamp(32px,5vw,56px);line-height:1.08;margin:0 0 16px;text-align:center}
.sec .sub{text-align:center;color:var(--ink-dim);max-width:640px;margin:0 auto clamp(34px,5vw,60px)}
.sec.alt{background:linear-gradient(180deg,var(--bg2),#17103a)}

/* LIBROS */
.books{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,32px)}
@media(max-width:900px){.books{grid-template-columns:1fr;max-width:440px;margin:0 auto}}
.book{position:relative;overflow:hidden;border-radius:var(--r);padding:24px 24px 28px;text-align:center;display:flex;flex-direction:column;border:1px solid color-mix(in srgb,var(--a) 45%,transparent);
  background:radial-gradient(ellipse 90% 50% at 50% 0%,color-mix(in srgb,var(--a) 38%,transparent),transparent 70%),linear-gradient(180deg,color-mix(in srgb,var(--a) 14%,var(--bg2)),var(--bg2));
  transition:transform .35s,box-shadow .35s}
.book:hover{transform:translateY(-6px);box-shadow:0 24px 60px color-mix(in srgb,var(--a) 35%,transparent)}
.book.picked{box-shadow:0 0 0 3px var(--b),0 24px 60px color-mix(in srgb,var(--b) 30%,transparent)}
.stage{position:relative;margin:4px 0 24px}
.stage .bgm{position:absolute;width:58%;right:-12%;top:-6%;opacity:.95;animation:spin 80s linear infinite;z-index:0}
.book>*:not(.stage){position:relative;z-index:2}
.cover{position:relative;z-index:1;width:78%;margin:0 auto;border-radius:10px;overflow:hidden;box-shadow:0 22px 50px rgba(0,0,0,.6);transform:rotate(-3deg);transition:transform .4s;aspect-ratio:900/1273;background:#0e0c09}
.book:hover .cover{transform:rotate(0) scale(1.03)}
.cover img{width:100%;height:100%;object-fit:cover}
.book h3{font-size:34px;margin:0;line-height:1.1}
.book .age{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--b);margin:4px 0 12px}
.book p{color:var(--ink-dim);font-size:16px;margin:0 0 16px;flex:1}
.dots{display:flex;justify-content:center;gap:6px;margin:0 0 14px;align-items:center;font-size:13px;color:var(--ink-mute)}
.dots i{width:9px;height:9px;border-radius:50%;background:var(--b);display:inline-block}
.dots i.o{background:transparent;border:1.5px solid color-mix(in srgb,var(--b) 60%,transparent)}
.price{font-family:var(--display);font-size:42px;font-weight:600;margin:0 0 14px;line-height:1}
.book .btn{border-color:var(--b);color:var(--b)}
.book .btn:hover{background:var(--b);color:#1a1230}
.book .btn.primary{background:var(--b);color:#1a1230;border-color:var(--b);box-shadow:none}
.pack{position:relative;overflow:hidden;margin:clamp(24px,3vw,40px) auto 0;max-width:900px;border-radius:var(--r);padding:28px clamp(20px,4vw,40px);display:flex;align-items:center;gap:24px;justify-content:space-between;
  background:linear-gradient(120deg,#ff6b6b,#e83e8c 35%,#9b5cff 70%,#2ec4b6);color:#fff}
.pack::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 50%,rgba(255,255,255,.22),transparent 55%)}
.pack>*{position:relative}
.pack h3{font-size:clamp(26px,3.4vw,36px);margin:0}
.pack p{margin:4px 0 0;color:rgba(255,255,255,.92);font-size:16px}
.pack .pp{display:flex;align-items:center;gap:6px 16px;flex-wrap:wrap;justify-content:flex-end}
.pack .pp s{opacity:.75;font-size:16px}
.pack .price{font-size:48px;margin:0}
.pack .btn.primary{background:#fff;color:#2a1055;box-shadow:0 10px 30px rgba(0,0,0,.25)}
@media(max-width:700px){.pack{flex-direction:column;text-align:center}.pack .pp{justify-content:center}.pack .pp .btn{width:100%}}

/* MUESTRAS */
.tabs{display:flex;justify-content:center;gap:10px;margin-bottom:30px;flex-wrap:wrap}
.tab{background:rgba(255,255,255,.07);border:1px solid var(--line);color:var(--ink-dim);border-radius:40px;padding:10px 24px;font:600 14px var(--sans);cursor:pointer;transition:all .2s}
.tab[aria-selected=true]{background:var(--gold);color:#1a1230;border-color:var(--gold)}
.samples{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,26px);max-width:960px;margin:0 auto}
.sample{position:relative;margin:0;border-radius:18px;background:#fbf7ec;padding:10px;box-shadow:0 18px 44px rgba(0,0,0,.45);cursor:pointer;aspect-ratio:1;overflow:hidden;outline-offset:4px}
.sample img{position:absolute;inset:10px;width:calc(100% - 20px);height:calc(100% - 20px);object-fit:contain;-webkit-user-drag:none;user-select:none;transition:opacity .5s}
.sample .ln{mix-blend-mode:multiply}
.sample .cl{opacity:0}
.sample:hover .cl,.sample.on .cl{opacity:1}
.sample:hover .ln,.sample.on .ln{opacity:0}
.sample span{position:absolute;left:14px;bottom:10px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#8a7a5a;z-index:2}
.note{text-align:center;color:var(--ink-mute);font-size:14px;margin-top:22px}

/* PASOS */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,34px)}
@media(max-width:900px){.grid4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.grid4{grid-template-columns:1fr}}
.step{text-align:center;padding:26px 18px;border-radius:var(--r);background:rgba(255,255,255,.04);border:1px solid var(--line)}
.step .n{width:56px;height:56px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;font-family:var(--display);font-size:26px;font-weight:600;color:#1a1230;background:var(--c,var(--gold))}
.step:nth-child(1){--c:var(--gold)}.step:nth-child(2){--c:var(--coral)}.step:nth-child(3){--c:var(--violet)}.step:nth-child(4){--c:var(--teal)}
.step h3{font-size:22px;margin:0 0 6px}
.step p{margin:0;color:var(--ink-dim);font-size:15.5px}
.feat{margin-top:clamp(28px,4vw,48px)}
.feat .step .n{background:transparent;border:2px solid var(--c);color:var(--c);font-size:24px}

/* ARBOLES */
.forest{background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(95,224,140,.22),transparent 65%),linear-gradient(180deg,#0b2a22,#0d3a2c 55%,#0a2a20);overflow:hidden}
.leaf{position:absolute;width:90px;height:90px;border-radius:0 100% 0 100%;background:linear-gradient(135deg,rgba(95,224,140,.35),rgba(95,224,140,.05));pointer-events:none}
.tree{max-width:820px;margin:0 auto;text-align:center;position:relative}
.tree .big{font-family:var(--display);font-size:clamp(72px,14vw,150px);font-weight:700;line-height:.95;margin:0;background:linear-gradient(180deg,#b8ffd0,var(--leaf) 60%,#27a65a);-webkit-background-clip:text;background-clip:text;color:transparent}
.tree p{color:#cfeedd}
.bar{position:relative;height:22px;border-radius:14px;background:rgba(0,0,0,.35);border:1px solid rgba(95,224,140,.35);margin:58px 0 70px}
.bar .fill{position:absolute;inset:0 auto 0 0;width:0;border-radius:14px;background:linear-gradient(90deg,#27a65a,var(--leaf),#d6ff9a);transition:width 1.8s cubic-bezier(.2,.7,.2,1);box-shadow:0 0 24px rgba(95,224,140,.6)}
.bar .tick{position:absolute;top:-8px;bottom:-8px;width:1px;background:rgba(95,224,140,.4)}
.bar .tick span{position:absolute;top:34px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:13px;font-weight:600;color:#9fd9b6}
.bar .tick.up span{top:auto;bottom:34px}
.bar .tick.end span{transform:translateX(-100%);left:100%}
.tree .fine{font-size:14px;color:#8fc4a5;margin-top:20px}

/* FAQ */
.faq{max-width:780px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line);padding:20px 4px}
.faq summary{cursor:pointer;font-family:var(--display);font-size:22px;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold);font-size:28px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:12px 0 2px;color:var(--ink-dim);font-size:16.5px}

/* FOOTER */
.foot{background:linear-gradient(180deg,var(--bg),#07050f);border-top:1px solid var(--line);padding:56px 20px 40px;text-align:center;color:var(--ink-mute);font-size:14px}
.foot .brand{display:block;margin-bottom:14px;font-size:24px}
.foot .ig{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin:12px 0 20px}
.foot .ig a{color:var(--ink);text-decoration:none;padding:10px 20px;border-radius:40px;background:linear-gradient(135deg,rgba(244,200,96,.16),rgba(232,62,140,.16));border:1px solid var(--line);font-weight:500}
.foot .ig a:hover{border-color:var(--gold)}
.foot .links a{color:var(--ink-dim);margin:0 12px;text-decoration:none}
.foot .links a:hover{color:var(--gold)}

/* CARRITO + MODAL */
.cartbar{position:fixed;left:50%;bottom:18px;transform:translate(-50%,160%);z-index:40;background:rgba(24,20,54,.96);border:1px solid var(--gold);border-radius:50px;
  padding:10px 12px 10px 26px;display:flex;gap:18px;align-items:center;box-shadow:0 14px 40px rgba(0,0,0,.6);transition:transform .35s cubic-bezier(.2,.8,.2,1);max-width:calc(100vw - 24px);backdrop-filter:blur(10px)}
.cartbar.show{transform:translate(-50%,0)}
.cartbar .t{font-size:15px;color:var(--ink-dim);white-space:nowrap}
.cartbar .t b{color:var(--ink);font-family:var(--display);font-size:24px;margin-left:4px}
.cart-x{background:none;border:0;color:var(--ink-mute);font-size:18px;line-height:1;cursor:pointer;padding:6px 4px}
.cart-x:hover{color:var(--coral)}
.sum .it{align-items:center}
.sum .rm{background:none;border:0;color:var(--ink-mute);cursor:pointer;font-size:15px;padding:4px 6px;margin-left:6px;line-height:1}
.sum .rm:hover{color:var(--coral)}
.sum .tip{margin:8px 0 0;font-size:13.5px;color:var(--gold);line-height:1.45}
.sum .tip button{background:none;border:1px solid var(--gold);color:var(--gold);border-radius:20px;padding:3px 12px;font:600 12.5px var(--sans);cursor:pointer;margin-left:6px}
.sum .tip button:hover{background:var(--gold);color:#1a1230}
.pack.picked{box-shadow:0 0 0 3px #fff,0 18px 50px rgba(232,62,140,.35)}
.modal{position:fixed;inset:0;z-index:60;background:rgba(8,6,20,.8);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:16px;overflow-y:auto}
.modal.open{display:flex}
.dlg{background:linear-gradient(180deg,#1b1640,#121030);border:1px solid var(--line);border-radius:26px;width:100%;max-width:520px;padding:clamp(24px,4vw,38px);position:relative;margin:auto;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.dlg h3{font-size:32px;margin:0 0 4px;text-align:center}
.dlg .x{position:absolute;right:14px;top:12px;background:none;border:0;color:var(--ink-mute);font-size:30px;cursor:pointer;line-height:1;padding:6px 10px}
.dlg .x:hover{color:var(--gold)}
.sum{margin:16px 0 18px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;font-size:15px;color:var(--ink-dim);background:rgba(255,255,255,.03)}
.sum div{display:flex;justify-content:space-between;gap:12px;padding:3px 0}
.sum .tot{border-top:1px solid var(--line);margin-top:8px;padding-top:10px;color:var(--ink);font-size:16px}
.sum .tot b{font-family:var(--display);font-size:28px}
label.f{display:block;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin:16px 0 8px}
input[type=email]{width:100%;background:rgba(0,0,0,.3);border:1px solid var(--line);border-radius:12px;padding:14px 16px;color:var(--ink);font:400 17px var(--sans)}
input[type=email]:focus{outline:none;border-color:var(--gold)}
.pay{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pay button{background:rgba(0,0,0,.3);border:1px solid var(--line);border-radius:14px;padding:14px 10px;color:var(--ink);cursor:pointer;font:600 15px var(--sans);text-align:center;line-height:1.35}
.pay button small{display:block;color:var(--ink-mute);font-weight:400;font-size:13px;margin-top:3px}
.pay button[aria-pressed=true]{border-color:var(--gold);background:rgba(244,200,96,.12)}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink-dim);margin:16px 0}
.chk input{margin-top:4px;accent-color:var(--gold)}
.err{color:var(--err);font-size:14px;margin:10px 0 0;min-height:1em;text-align:center}
.treeline{display:flex;gap:10px;align-items:center;justify-content:center;font-size:14px;color:var(--leaf);margin-top:14px;text-align:center}
.usdt{text-align:center}
.usdt .qr{margin:14px auto;background:#fff;padding:10px;border-radius:14px;width:180px;height:180px}
.usdt .qr svg{width:100%;height:100%;display:block}
.copy{display:flex;gap:8px;align-items:stretch;margin:6px 0 12px}
.copy code{flex:1;background:rgba(0,0,0,.3);border:1px solid var(--line);border-radius:12px;padding:11px 12px;font-size:12.5px;word-break:break-all;color:var(--ink);text-align:left}
.copy button{background:none;border:1px solid var(--gold);color:var(--gold);border-radius:12px;padding:0 14px;cursor:pointer;font:600 12px var(--sans);letter-spacing:.1em}
.amt{font-family:var(--display);font-size:40px;color:var(--gold);margin:2px 0}
.wait{display:inline-flex;gap:10px;align-items:center;color:var(--ink-dim);font-size:15px}
.spin{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.2);border-top-color:var(--gold);animation:sp .9s linear infinite;display:inline-block}
@keyframes sp{to{transform:rotate(360deg)}}

/* DESCARGAS / LEGAL */
.page{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse 60% 40% at 80% 0%,rgba(155,92,255,.28),transparent 60%),radial-gradient(ellipse 50% 40% at 10% 100%,rgba(46,196,182,.2),transparent 60%),var(--bg)}
.page main{flex:1;padding:120px 18px 60px}
.card{max-width:660px;margin:0 auto;background:rgba(24,20,54,.7);border:1px solid var(--line);border-radius:26px;padding:clamp(24px,4vw,42px);backdrop-filter:blur(10px)}
.card h1{font-size:clamp(32px,5vw,46px);margin:0 0 6px;text-align:center;line-height:1.1}
.card .sub{text-align:center;color:var(--ink-dim);margin:0 0 24px}
.dl{display:flex;align-items:center;gap:16px;border:1px solid var(--line);border-radius:16px;padding:12px 16px;margin-bottom:12px;background:rgba(255,255,255,.04)}
.dl img{width:52px;border-radius:6px;flex:none}
.dl .nm{flex:1}.dl .nm b{font-family:var(--display);font-size:22px;font-weight:600;display:block;line-height:1.15}
.dl .nm span{font-size:13px;color:var(--ink-mute)}
.sizes{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:6px 0 4px}
@media(max-width:520px){.sizes{grid-template-columns:repeat(3,1fr)}}
.sizes button{background:rgba(0,0,0,.3);border:1px solid var(--line);color:var(--ink);border-radius:12px;padding:10px 4px;cursor:pointer;font:600 15px var(--sans)}
.sizes button small{display:block;font-size:11px;font-weight:400;color:var(--ink-mute)}
.sizes button[aria-pressed=true]{border-color:var(--gold);background:rgba(244,200,96,.14)}
.hint{font-size:14px;color:var(--ink-mute);margin:8px 0 18px}
.msg{padding:12px 14px;border-radius:12px;font-size:15px;margin:14px 0;text-align:center}
.msg.ok{background:rgba(127,224,163,.1);color:var(--ok);border:1px solid rgba(127,224,163,.3)}
.msg.bad{background:rgba(255,140,122,.1);color:var(--err);border:1px solid rgba(255,140,122,.3)}
.legal{max-width:760px;margin:0 auto;padding:0 4px}
.legal h1{font-size:44px;margin:0 0 8px}
.legal h2{font-size:26px;margin:30px 0 6px;text-align:left}
.legal p,.legal li{color:var(--ink-dim);font-size:16.5px}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}html{scroll-behavior:auto}}
