/* Launch pages: the mystery teaser, the rooms landing and the Spanish speakers' line. Soft glass, big type, slow motion. */
.lx-body main{padding-block:0}.lx-body{padding-bottom:0}
.lx-body .top{background:transparent;border-bottom:0;position:absolute;left:0;right:0}
.lx-body .foot{display:none}
.lx-stage{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden;isolation:isolate;margin-inline:calc(50% - 50vw);padding:80px 16px 60px}
.lx-orbs{position:absolute;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--pink) 55%,var(--bg)) 0%,var(--bg) 62%)}
.lx-orbs i{position:absolute;border-radius:50%;filter:blur(44px);opacity:.75;will-change:transform}
.lx-orbs .o1{width:46vmax;height:46vmax;left:-12vmax;top:-10vmax;background:radial-gradient(circle at 35% 35%,#fff 0,var(--pink) 45%,transparent 70%);animation:lxA 22s ease-in-out infinite alternate}
.lx-orbs .o2{width:38vmax;height:38vmax;right:-14vmax;top:14vmax;background:radial-gradient(circle at 40% 40%,var(--yellow) 0,color-mix(in srgb,var(--yellow) 40%,var(--pink)) 50%,transparent 72%);opacity:.55;animation:lxB 26s ease-in-out infinite alternate}
.lx-orbs .o3{width:30vmax;height:30vmax;left:20vmax;bottom:-16vmax;background:radial-gradient(circle,var(--rose) 0,transparent 68%);opacity:.28;animation:lxA 30s ease-in-out infinite alternate-reverse}
.lx-orbs.soft i{opacity:.5}
.lx-bird{position:absolute;right:max(4vw,14px);bottom:max(4vh,18px);opacity:.9;animation:lxFloat 6s ease-in-out infinite}
.lx-bird .mascot{width:clamp(70px,12vw,120px)!important}
@keyframes lxA{to{transform:translate3d(8vmax,6vmax,0) scale(1.15)}}
@keyframes lxB{to{transform:translate3d(-9vmax,-5vmax,0) scale(1.1)}}
@keyframes lxFloat{50%{transform:translateY(-14px) rotate(-3deg)}}
.lx-center{width:min(640px,100%);display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}
.lx-eyebrow{display:inline-flex;align-items:center;gap:8px;font:700 .78rem var(--body);letter-spacing:.14em;text-transform:uppercase;padding:7px 14px;border-radius:999px;background:color-mix(in srgb,var(--surface) 70%,transparent);backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}
.lx-eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--rose);box-shadow:0 0 0 0 var(--rose);animation:lxPulse 2s infinite}
@keyframes lxPulse{70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}}
.lx-title{font-size:clamp(2.6rem,9vw,5.6rem);letter-spacing:-.04em;animation:lxIn .9s cubic-bezier(.2,.8,.2,1) both}
@keyframes lxIn{from{opacity:0;transform:translateY(18px) scale(.98);filter:blur(6px)}}
.lx-clues{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.lx-clues li{font:600 .9rem var(--body);padding:7px 13px;border-radius:999px;background:color-mix(in srgb,var(--surface) 60%,transparent);backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);color:var(--ink2);animation:lxIn .7s both}
.lx-clues li:nth-child(2){animation-delay:.08s}.lx-clues li:nth-child(3){animation-delay:.16s}.lx-clues li:nth-child(4){animation-delay:.24s}
.lx-hint{display:flex;align-items:center;gap:10px;color:var(--ink2)}
.lx-dots{display:inline-flex;gap:5px}.lx-dots i{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--ink) 18%,transparent)}.lx-dots i.on{background:var(--rose)}
.lx-card{width:100%;padding:22px;border-radius:26px;background:color-mix(in srgb,var(--surface) 78%,transparent);backdrop-filter:blur(18px) saturate(1.3);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);box-shadow:0 30px 60px -30px color-mix(in srgb,var(--rose) 55%,transparent),0 2px 0 rgba(255,255,255,.6) inset;text-align:left}
.lx-ribbon{font:700 .92rem var(--body);text-decoration:none;color:var(--ink);padding:10px 18px;border-radius:999px;background:var(--yellow);color:var(--on);box-shadow:0 6px 0 -2px color-mix(in srgb,var(--ink) 80%,transparent);transition:transform .15s}
.lx-ribbon:hover{transform:translateY(-2px)}
/* the early box */
.lx-box .f{display:flex;flex-direction:column;gap:6px;font:600 .9rem var(--body)}
.lx-box input[type=text],.lx-box input[type=email],.lx-box input[type=tel]{font:500 1.05rem var(--body);padding:13px 14px;border-radius:14px;border:2px solid color-mix(in srgb,var(--ink) 18%,transparent);background:var(--surface);color:var(--ink);min-height:50px;width:100%}
.lx-box input:focus{border-color:var(--rose);outline:0;box-shadow:0 0 0 4px color-mix(in srgb,var(--pink) 60%,transparent)}
.lx-box .check{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;color:var(--ink2)}
.lx-box .err{color:var(--bad);font-size:.88rem;min-height:1em}
.lx-q{display:flex;flex-direction:column;gap:8px}.lx-q>span{font:600 .9rem var(--body)}
.lx-chips{display:flex;flex-wrap:wrap;gap:8px}
.lx-chip{font:600 .92rem var(--body);padding:9px 14px;border-radius:999px;border:2px solid color-mix(in srgb,var(--ink) 16%,transparent);background:var(--surface);color:var(--ink);cursor:pointer;min-height:42px;transition:all .15s}
.lx-chip[aria-pressed=true]{background:var(--pink);border-color:var(--edge);color:var(--on);transform:translateY(-1px)}
.lx-more{border-radius:14px;padding:2px 0}.lx-more summary{cursor:pointer;font:600 .9rem var(--body);color:var(--ink2);padding:6px 0}.lx-more[open]{display:flex;flex-direction:column;gap:12px}
.lx-place{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.lx-pop .lx-place{animation:lxPop .6s cubic-bezier(.2,1.4,.3,1) both}
@keyframes lxPop{from{opacity:0;transform:scale(.9)}}
.lx-kicker{font:700 .75rem var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.lx-num{font:800 clamp(4rem,16vw,6.5rem)/1 var(--display);letter-spacing:-.05em;background:linear-gradient(120deg,var(--rose),#ff7aa8 55%,var(--yellow));-webkit-background-clip:text;background-clip:text;color:transparent}
.lx-num small{font-size:.4em;vertical-align:.7em;margin-right:2px;opacity:.7}
.lx-link{display:flex;gap:8px;width:100%}.lx-link input{flex:1;min-width:0;font:500 .9rem var(--body);padding:10px 12px;border-radius:12px;border:2px solid color-mix(in srgb,var(--ink) 16%,transparent);background:var(--surface);color:var(--ink)}
.lx-done{padding:12vh 0;text-align:center;display:grid;gap:12px}
/* rooms landing */
.lx-rooms{display:flex;flex-direction:column;gap:28px;padding-block:8px 24px}
.lx-head{display:flex;flex-direction:column;gap:14px;align-items:flex-start;max-width:720px}
.lx-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.lx-tile{position:relative;display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:22px;text-decoration:none;background:linear-gradient(160deg,var(--surface),var(--soft));border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);box-shadow:0 18px 30px -22px color-mix(in srgb,var(--rose) 70%,transparent);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s;animation:lxIn .7s var(--d,0ms) both}
.lx-tile:hover{transform:translateY(-6px) rotate(-.4deg);box-shadow:0 26px 40px -22px var(--rose)}
.lx-tile b{font:800 1.15rem var(--display)}.lx-tile small{color:var(--ink2);font-size:.88rem}
.lx-ic{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:var(--pink);margin-bottom:6px;transform:rotate(-6deg)}
.lx-arrow{position:absolute;right:16px;top:16px;opacity:0;transform:translateX(-6px);transition:.25s}.lx-tile:hover .lx-arrow{opacity:1;transform:none}
.lx-lock{display:flex;flex-direction:column;gap:12px;max-width:560px;border-radius:26px}
.lx-count b{font:800 1.6rem var(--display);color:var(--rose)}
/* join page */
.lx-join-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1.15fr 1fr;gap:28px;align-items:center;padding:36px 0 28px}
.lx-join-hero .lx-orbs{position:absolute;inset:-40px calc(50% - 50vw) 0;border-radius:0 0 40px 40px}
.lx-hero-copy{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.lx-hero-copy h1{font-size:clamp(2.2rem,6.5vw,4.2rem)}
.hl{background:linear-gradient(transparent 62%,var(--yellow) 62%);padding:0 .1em}
.lx-stats{display:flex;gap:10px;flex-wrap:wrap}.lx-stats div{display:flex;flex-direction:column;padding:10px 16px;border-radius:18px;background:color-mix(in srgb,var(--surface) 72%,transparent);backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}
.lx-stats b{font:800 1.9rem var(--display);line-height:1}.lx-stats small{color:var(--ink2);font-size:.8rem}
.lx-lang{align-self:flex-start;background:none;border:0;color:var(--ink2);text-decoration:underline;cursor:pointer;font:600 .85rem var(--body)}
.lx-hero-card{border-radius:26px;background:color-mix(in srgb,var(--surface) 82%,transparent);backdrop-filter:blur(16px);box-shadow:0 30px 60px -30px var(--rose)}
.lx-sec{display:flex;flex-direction:column;gap:18px;padding-block:34px}.lx-sec>header{display:flex;flex-direction:column;gap:10px;align-items:flex-start;max-width:720px}
.lx-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.lx-steps li{display:flex;gap:12px;padding:18px;border-radius:22px;background:var(--surface);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}
.lx-steps li>b{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--on);font:800 1rem var(--display)}
.lx-perks{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.lx-perk{display:flex;gap:12px;padding:18px;border-radius:22px;background:linear-gradient(160deg,var(--surface),var(--soft));border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);transition:transform .25s}.lx-perk:hover{transform:translateY(-4px)}
.lx-perk>span{flex:none}
.lx-calc{display:flex;flex-direction:column;gap:16px;max-width:640px;border-radius:26px}
.lx-calc input[type=range]{width:100%;accent-color:var(--rose);height:34px}
.lx-result{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lx-result div{padding:14px;border-radius:18px;background:var(--soft);display:flex;flex-direction:column}
.lx-result b{font:800 1.35rem var(--display)}.lx-result small{color:var(--ink2)}
@media (max-width:860px){.lx-join-hero{grid-template-columns:1fr}.lx-steps,.lx-perks{grid-template-columns:1fr}.lx-result{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.lx-orbs i,.lx-bird,.lx-eyebrow .dot,.lx-title,.lx-tile,.lx-clues li{animation:none}}
/* Study Groups */
.gr-hero{display:flex;flex-direction:column;gap:14px;align-items:flex-start;padding:8px 0 22px}.gr-hero.compact{gap:6px;padding-bottom:12px}.gr-hero.compact>.row{width:100%}
.gr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.gr-card{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:22px;text-decoration:none;background:linear-gradient(160deg,var(--surface),var(--soft));border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}
.gr-card:hover{transform:translateY(-5px);box-shadow:0 22px 34px -22px var(--rose)}
.gr-ring .bg{fill:none;stroke:var(--mute);stroke-width:9}.gr-ring .fg{fill:none;stroke:var(--rose);stroke-width:9;stroke-linecap:round;transition:stroke-dasharray .8s cubic-bezier(.2,.8,.2,1)}.gr-ring .fg.full{stroke:var(--good)}
.gr-ring text{font:800 20px var(--display);fill:var(--ink)}
.gr-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.gr-today{display:flex;flex-direction:column;gap:14px;border-radius:24px}.gr-today input{font:500 1rem var(--body);padding:11px 13px;border-radius:12px;border:2px solid color-mix(in srgb,var(--ink) 16%,transparent);background:var(--surface);color:var(--ink)}
.gr-min{display:flex;flex-wrap:wrap;gap:8px}
.gr-board{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.gr-m{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:8px 10px;border-radius:14px}.gr-m.you{background:var(--soft)}
.gr-av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--pink);color:var(--on);font:800 .95rem var(--display)}
.gr-dots{display:flex;gap:5px}.gr-dots i{width:14px;height:14px;border-radius:50%;background:var(--mute)}.gr-dots i.on{background:var(--rose);transform:scale(1.1)}.gr-dots i.today{box-shadow:0 0 0 2px var(--yellow)}
.gr-days{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto auto;gap:10px;padding:0 10px;margin-top:2px;font:700 .68rem var(--body);color:var(--ink2)}.gr-days{display:none}
.gr-post{padding:10px 12px;border-radius:14px;background:var(--soft)}.gr-post.you{background:color-mix(in srgb,var(--pink) 35%,var(--surface))}
@media (max-width:860px){.gr-layout{grid-template-columns:1fr}.gr-m{grid-template-columns:30px minmax(0,1fr) auto auto}.gr-m small{display:none}}
