/* MurJor AI™ marketing pages (home, plans, gift, terms, 404). Tokens and base components: /theme/theme.css.
   Shared chrome first (header, type, buttons, footer), then the homepage showpiece (scoped to body.home). */
:root{--ink:var(--mj-ink,#F5F3FF);--muted:var(--mj-muted,#CBC6F0);--dim:var(--mj-dim,#A29DD0);--navy:#0E1338;--deep:#070A22;--violet:#8B5CF6;--lav:#C4B5FD;--gold:#E6B85C;--gold-hi:#FFE7A8;--line:#333B85;--card:rgba(24,28,78,.72)}
*{box-sizing:border-box}
html{background:var(--deep);scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;color:var(--ink);font:16px/1.6 Inter,system-ui,sans-serif;background:radial-gradient(140% 60% at 50% 0%,#3A2C86 0%,#1C1F5C 36%,#0E1338 68%,#070A22 100%) no-repeat;min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
a{color:var(--lav);text-underline-offset:3px}
a:hover{color:#fff}
::selection{background:rgba(139,92,246,.5);color:#fff}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:#000;padding:12px 14px;border-radius:10px;z-index:90}.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--lav);outline-offset:3px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ── Header ── */
.bar{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:calc(10px + env(safe-area-inset-top)) var(--gutter,20px) 10px;background:linear-gradient(180deg,rgba(9,12,40,.9),rgba(9,12,40,.55));backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid rgba(126,140,255,.12)}
.logo{display:flex;align-items:center;gap:10px;min-height:44px;text-decoration:none;color:var(--ink);font-weight:700;font-size:13px;letter-spacing:.22em}
.logo:hover{color:#fff}
.bar-links{display:flex;align-items:center;gap:2px}
.bar-link{position:relative;display:none;align-items:center;min-height:44px;padding:0 12px;color:var(--muted);text-decoration:none;font-weight:600;font-size:14px;border-radius:999px;transition:color .2s}
.bar-link::after{content:"";position:absolute;left:12px;right:12px;bottom:9px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.bar-link:hover{color:#fff}.bar-link:hover::after,.bar-link[aria-current=page]::after{transform:scaleX(1)}
.bar-link[aria-current=page]{color:#fff}
@media (min-width:640px){.bar-link{display:inline-flex}}
.pill-btn{display:inline-flex;align-items:center;min-height:44px;margin-left:8px;padding:0 18px;border-radius:999px;border:1px solid rgba(230,184,92,.6);background:rgba(230,184,92,.06);color:var(--gold-hi);text-decoration:none;font-weight:600;font-size:14px;transition:background .25s,border-color .25s,transform .16s}
.pill-btn:hover{background:rgba(230,184,92,.16);border-color:var(--gold);color:#fff}
.pill-btn:active{transform:scale(.97)}

/* ── Type and layout ── */
main{max-width:1240px;margin:0 auto;padding:0 var(--gutter,20px)}
.eyebrow{margin:8px 0 0;font-size:12px;font-weight:700;letter-spacing:.24em;color:var(--gold)}
h1{margin:10px 0 0;font:400 clamp(36px,8.5vw,56px)/1.06 Fraunces,Georgia,serif;letter-spacing:-.015em;color:#fff;text-wrap:balance}
h1 span{display:block;color:var(--lav);font-size:.6em;line-height:1.15;margin-top:10px}
h2{margin:0;font:400 clamp(28px,3vw + 14px,44px)/1.1 Fraunces,Georgia,serif;letter-spacing:-.01em;color:#fff;text-align:center;text-wrap:balance}
h3{text-wrap:balance}
.lede{max-width:560px;margin:16px auto 0;color:var(--muted);font-size:clamp(17px,.5vw + 15px,19px);line-height:1.6;text-wrap:pretty}
.sub{margin:12px auto 0;max-width:600px;text-align:center;color:var(--muted);font-size:16px;text-wrap:pretty}
.fine{margin:14px 0 0;font-size:13px;color:var(--dim)}.center{text-align:center}
.section{margin:72px 0 0}
@media (min-width:760px){.section{margin-top:112px}}

/* ── Buttons (marketing pages keep their .primary / .ghost class names) ── */
.ctas{display:flex;flex-direction:column;gap:12px;width:100%;max-width:380px;margin:26px auto 0}
.primary,.ghost{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 28px;white-space:nowrap;border-radius:16px;font:600 16px Inter,sans-serif;text-decoration:none;cursor:pointer;transition:transform .16s cubic-bezier(.2,.8,.2,1),box-shadow .3s,background .3s,border-color .3s,color .3s;-webkit-tap-highlight-color:transparent}
.primary{border:0;color:#1B1240;background:linear-gradient(180deg,#FFE7A8,#E6B85C 58%,#C99A3E);box-shadow:0 10px 30px rgba(230,184,92,.28),inset 0 1px 0 rgba(255,255,255,.55)}
.primary:hover{color:#1B1240;transform:translateY(-1px);box-shadow:0 16px 40px rgba(230,184,92,.42),inset 0 1px 0 rgba(255,255,255,.6)}
.ghost{border:1px solid rgba(150,160,255,.42);color:var(--ink);background:rgba(15,20,64,.55)}
.ghost:hover{color:#fff;transform:translateY(-1px);border-color:var(--lav);background:rgba(42,31,107,.6)}
.primary:active,.ghost:active{transform:translateY(1px) scale(.985);transition-duration:.06s}
.primary[disabled],.primary[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}
@media (min-width:760px){.ctas{flex-direction:row;max-width:none;margin-left:0}}

/* ── Shared sections ── */
.cards{display:grid;gap:12px;margin-top:20px}
.card{padding:18px;border-radius:20px;border:1px solid var(--line);background:var(--card)}
.card h3{margin:8px 0 4px;font:600 18px Inter,sans-serif;color:#fff}.card p{margin:0;color:var(--muted);font-size:15px}
.tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;border-radius:999px;border:1px solid #4450A8;color:var(--lav)}
.tag.live{border-color:rgba(56,189,248,.6);color:#9BE3FF}
.seg{display:flex;gap:6px;width:max-content;max-width:100%;margin:18px auto 0;padding:4px;border-radius:999px;border:1px solid var(--line);background:#0F1440}
.seg button{min-height:44px;padding:0 18px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:600 14px Inter,sans-serif;cursor:pointer;transition:background .2s,color .2s}
.seg button[aria-selected=true]{background:#2A1F6B;color:#fff;box-shadow:inset 0 0 0 1px var(--violet)}
.trust .ticks{max-width:640px;margin:18px auto 0;padding:0;list-style:none}
.ticks li{position:relative;padding:12px 0 12px 32px;border-bottom:1px solid #232A6A;color:var(--muted)}
.ticks li::before{content:"✓";position:absolute;left:4px;top:11px;color:#9BE3FF;font-weight:700}
.install{display:flex;align-items:center;gap:14px;padding:16px;border-radius:20px;border:1px solid rgba(230,184,92,.5);background:var(--card)}
.install[hidden]{display:none}
.install img{border-radius:16px;flex:none}.install h2{font-size:20px;text-align:left}.install p{margin:4px 0 0;color:var(--muted);font-size:14px}
.install .primary{min-height:44px;padding:0 18px;margin-left:auto;flex:none}

/* Safe by design (icon row) */
.safe-row{display:grid;grid-template-columns:repeat(2,1fr);gap:22px 12px;max-width:960px;margin:28px auto 0;padding:0;list-style:none}
.safe-row li{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;color:var(--ink);font:500 15px/1.4 Inter,sans-serif}
.safe-row small{display:block;color:var(--dim);font-size:12px;margin-top:2px}
.safe-row svg{width:44px;height:44px;fill:none;stroke:#5AA2FF;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px rgba(62,139,255,.45))}
@media (min-width:760px){.safe-row{grid-template-columns:repeat(4,1fr)}.safe-row li+li{border-left:1px solid rgba(88,140,255,.2)}}

/* Plans page frame */
.plans-page{margin-top:16px}
.plans-title{text-align:center;font-size:clamp(40px,8vw,64px)}
/* Pricing loads its cards from /api/plans: reserve their space so the page below does not jump (CLS). */
[data-mj-pricing]:not([data-ready]){min-height:1350px}
[data-mj-pricing]:not([data-ready]) .pr-cards:not([hidden]){min-height:1195px}
@media (min-width:760px){[data-mj-pricing]:not([data-ready]){min-height:1290px}[data-mj-pricing]:not([data-ready]) .pr-cards:not([hidden]){min-height:1138px}}
@media (min-width:900px){[data-mj-pricing]:not([data-ready]){min-height:910px}[data-mj-pricing]:not([data-ready]) .pr-cards:not([hidden]){min-height:761px}}
.plan-next{max-width:680px;margin:32px auto 0;padding:28px 22px;border-radius:24px;border:1px solid rgba(230,184,92,.4);background:radial-gradient(120% 140% at 50% 0%,rgba(230,184,92,.1),transparent 60%),linear-gradient(180deg,rgba(30,34,96,.8),rgba(14,18,58,.85));text-align:center;box-shadow:0 18px 50px rgba(3,5,24,.45)}
.plan-next h2,.plan-next h3{margin:0;font:400 clamp(24px,2vw + 14px,30px)/1.2 Fraunces,Georgia,serif;color:#fff}
.plan-next p{margin:10px auto 0;max-width:500px;color:var(--muted);font-size:15px}
.plan-next .ctas{margin-top:20px}
@media (min-width:760px){.plan-next .ctas{justify-content:center;margin-left:auto}}

/* 404 */
.nf{display:grid;justify-items:center;text-align:center;padding:24px 0 8px}
.nf-art{position:relative;margin-bottom:8px}
.nf-art::before{content:"";position:absolute;inset:-12%;border-radius:50%;background:radial-gradient(closest-side,rgba(56,189,248,.28),rgba(139,92,246,.18) 60%,transparent);pointer-events:none}
.nf mj-buddy{position:relative;width:min(240px,60vw)}
.nf-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;max-width:760px;margin-top:40px}
.nf-links a{display:grid;gap:2px;min-height:44px;padding:16px;border-radius:18px;border:1px solid rgba(126,140,255,.22);background:rgba(22,26,74,.6);text-align:left;text-decoration:none;transition:border-color .25s,transform .25s}
.nf-links a:hover{border-color:rgba(150,160,255,.5);transform:translateY(-2px)}
.nf-links b{color:#fff;font-size:15px}.nf-links span{color:var(--dim);font-size:13px}
@media (min-width:760px){.nf-links{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.nf-links a:hover{transform:none}}
.nf h1{font-size:clamp(34px,7vw,52px)}
.nf .lede{margin-left:auto}
.nf .ctas{margin-left:auto}
@media (min-width:760px){.nf .ctas{justify-content:center}}

/* ── Footer ── */
.foot{max-width:1240px;margin:96px auto 0;padding:36px var(--gutter,20px) calc(28px + env(safe-area-inset-bottom));border-top:1px solid rgba(126,140,255,.16);color:var(--dim);font-size:13px;text-align:center}
.foot p{margin:4px 0}
.foot-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 4px;margin:0 auto 18px;max-width:820px}
.foot-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;color:var(--muted);text-decoration:none;font-weight:500;font-size:14px;border-radius:10px;transition:color .2s,background .2s}
.foot-nav a:hover{color:#fff;background:rgba(126,140,255,.08)}
.foot-top{display:grid;gap:18px;justify-items:center;margin-bottom:22px}
.foot-brand p{max-width:340px;margin:8px auto 0;color:var(--dim);font-size:14px;line-height:1.55}
.foot-brand .logo{justify-content:center}
.foot-legal{padding-top:20px;border-top:1px solid rgba(126,140,255,.1)}
@media (min-width:900px){
  .foot-top{grid-template-columns:minmax(260px,1fr) 1.6fr;justify-items:start;align-items:start;text-align:left}
  .foot-brand .logo{justify-content:flex-start}.foot-brand p{margin-left:0}
  .foot-top .foot-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-self:end;margin:0;max-width:560px;width:100%}
  .foot-legal{display:flex;justify-content:space-between;gap:24px;text-align:left}
}

/* Cinematic hero (shared base) */
.hero{position:relative;display:grid;justify-items:center;text-align:center;padding:8px 0 24px}
.hero-copy{position:relative;z-index:1}
.tour-link{display:inline-flex;align-items:center;gap:8px;margin-top:16px;min-height:44px;padding:0 6px;border:0;background:none;color:var(--lav);font:600 15px Inter,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:5px;text-decoration-color:rgba(196,181,253,.4);transition:color .2s,text-decoration-color .2s}
.tour-link:hover{color:#fff;text-decoration-color:var(--gold)}
.sub.left{text-align:left;margin-left:0}

/* ══════════════ Homepage showpiece ══════════════ */
.home .hero{grid-template-columns:minmax(0,1fr);min-height:calc(100svh - 64px);align-content:center;gap:4px;padding:0 0 32px;overflow:clip;overflow-clip-margin:40px}
.home .sky{position:absolute;inset:-40px 0 auto;height:600px;pointer-events:none}
.home .sky span{position:absolute;width:3px;height:3px;border-radius:50%;background:#FFE7A8;box-shadow:0 0 10px #E6B85C;opacity:0;animation:twinkle 3.6s ease-in-out infinite}
.home .sky span:nth-child(1){left:8%;top:18%}.home .sky span:nth-child(2){left:86%;top:12%;animation-delay:.6s}.home .sky span:nth-child(3){left:18%;top:62%;animation-delay:1.2s}
.home .sky span:nth-child(4){left:78%;top:58%;animation-delay:1.8s}.home .sky span:nth-child(5){left:50%;top:6%;animation-delay:.9s}.home .sky span:nth-child(6){left:4%;top:86%;animation-delay:2.1s}
.home .sky span:nth-child(7){left:94%;top:82%;animation-delay:.3s}.home .sky span:nth-child(8){left:64%;top:30%;animation-delay:1.5s;background:#C4B5FD;box-shadow:0 0 10px #8B5CF6}
@keyframes twinkle{0%,100%{opacity:0;transform:scale(.6)}50%{opacity:1;transform:scale(1)}}
.aurora{position:absolute;inset:-10% 5% auto;height:120%;pointer-events:none;background:radial-gradient(40% 36% at 30% 30%,rgba(139,92,246,.30),transparent 70%),radial-gradient(34% 30% at 72% 40%,rgba(56,189,248,.20),transparent 70%),radial-gradient(30% 26% at 55% 78%,rgba(230,184,92,.10),transparent 70%);filter:blur(10px);animation:aurora 18s ease-in-out infinite alternate}
@keyframes aurora{from{transform:translate3d(-3%,0,0) scale(1)}to{transform:translate3d(3%,-2%,0) scale(1.06)}}
.home .hero-art{position:relative;z-index:1;display:grid;place-items:center;margin-top:8px}
.home .hero-art mj-buddy{position:relative;z-index:2;display:block;height:min(44svh,400px);width:auto;--mjb-ar:1220/1289}
@keyframes buddyIn{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
.home .glow{position:absolute;left:50%;top:46%;width:min(420px,96vw);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(56,189,248,.34),rgba(139,92,246,.22) 55%,transparent);animation:glow 6s ease-in-out infinite;pointer-events:none}
.home .orbit{position:absolute;left:50%;top:58%;width:min(470px,100vw);aspect-ratio:1;transform:translate(-50%,-50%) rotateX(72deg);border-radius:50%;border:1px solid rgba(196,181,253,.3);box-shadow:0 0 40px rgba(139,92,246,.28),inset 0 0 30px rgba(56,189,248,.14);pointer-events:none;animation:orbitIn 1.6s cubic-bezier(.2,.8,.2,1) both .1s}
.home .floor{position:absolute;z-index:1;left:50%;bottom:-6px;width:min(340px,80vw);height:34px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(56,189,248,.45),rgba(139,92,246,.18) 60%,transparent);filter:blur(4px);pointer-events:none}
@keyframes orbitIn{from{opacity:0;transform:translate(-50%,-50%) rotateX(72deg) scale(.6)}to{opacity:1;transform:translate(-50%,-50%) rotateX(72deg) scale(1)}}
@keyframes glow{0%,100%{opacity:.75}50%{opacity:1}}
.home .hero-copy{width:100%;max-width:640px}
.home .hero-copy>*{animation:rise .8s cubic-bezier(.2,.8,.2,1) both}
.home .hero-copy>:nth-child(1){animation-delay:.15s}.home .hero-copy>:nth-child(2){animation-delay:.25s}.home .hero-copy>:nth-child(3){animation-delay:.35s}
.home .hero-copy>:nth-child(4){animation-delay:.45s}.home .hero-copy>:nth-child(5){animation-delay:.55s}.home .hero-copy>:nth-child(6){animation-delay:.62s}.home .hero-copy>:nth-child(7){animation-delay:.7s}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.home h1{font-size:clamp(42px,10vw,60px)}
.home h1 span{background:linear-gradient(90deg,#E9E2FF,#C4B5FD 40%,#FFE7A8);-webkit-background-clip:text;background-clip:text;color:transparent}
.home .hero .eyebrow{margin-top:14px}
/* Buddy X™ teaser: copper accent, adults only, links to the 18+ selection at /meet */
.tour-link.meet-link{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;margin:8px auto 0;padding:8px 16px 8px 12px;border-radius:999px;border:1px solid rgba(224,118,58,.5);background:linear-gradient(90deg,rgba(224,118,58,.14),rgba(15,20,64,.5));color:#FFD3B0;text-decoration:none;font-size:14px;line-height:1.35;text-align:left;transition:border-color .25s,background .25s,color .2s}
.tour-link.meet-link:hover{color:#fff;border-color:#FFB27A;background:linear-gradient(90deg,rgba(224,118,58,.26),rgba(15,20,64,.5))}
.x-dot{flex:none;width:8px;height:8px;border-radius:50%;background:#FF9A5A;box-shadow:0 0 10px #E0763A,0 0 0 3px rgba(224,118,58,.2)}
.meet-link .mj-arrow{flex:none;transition:transform .3s cubic-bezier(.2,.8,.2,1)}.meet-link:hover .mj-arrow{transform:translateX(3px)}
.home .hero .fine{margin-top:18px}
@media (min-width:960px){
  .home .hero{grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);text-align:left;align-items:center;gap:24px;min-height:min(calc(100svh - 64px),860px);padding:24px 0 48px}
  .home .hero-art{order:2;margin:0}
  .home .hero-art mj-buddy{height:min(74svh,700px)}
  .home .orbit{width:600px;top:62%}.home .glow{width:560px}
  .home .floor{width:420px}
  .home .lede,.home .ctas{margin-left:0}
  .tour-link.meet-link{margin-left:0}
  .home h1{font-size:clamp(56px,5.2vw,78px)}
}

/* Section heads */
.home .head{display:grid;justify-items:center;text-align:center;gap:14px;margin:0 auto;max-width:760px}
.home .head .sub{margin-top:0}

/* What Buddy does: bento of real UI snippets */
.bento{display:grid;gap:14px;margin-top:40px}
.tile{display:grid;align-content:start;gap:18px;padding:16px 16px 22px;border-radius:26px;border:1px solid rgba(126,140,255,.2);background:linear-gradient(180deg,rgba(30,34,96,.66),rgba(14,18,58,.82));box-shadow:0 1px 0 rgba(255,255,255,.05) inset,0 18px 50px rgba(3,5,24,.35);transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .35s}
.tile:hover{transform:translateY(-4px);border-color:rgba(150,160,255,.42);box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 26px 60px rgba(3,5,24,.5)}
.tile-copy{padding:0 6px}
.tile-copy h3{margin:12px 0 6px;font:600 20px/1.25 Inter,sans-serif;letter-spacing:-.01em;color:#fff}
.tile-copy p{margin:0;color:var(--muted);font-size:15px;line-height:1.55}
.tile-ui{position:relative;display:grid;align-content:center;gap:10px;min-height:184px;padding:18px;border-radius:18px;border:1px solid rgba(126,140,255,.16);background:radial-gradient(120% 100% at 0% 0%,rgba(58,44,134,.6),rgba(8,11,36,.9));overflow:hidden}
.tile-ui p{margin:0}
.chat .msg{max-width:86%;padding:10px 14px;border-radius:18px;font-size:14px;line-height:1.45}
.chat .user{justify-self:end;background:linear-gradient(180deg,#5B3FD6,#4330B0);border-bottom-right-radius:6px;color:#fff}
.chat .buddy{justify-self:start;background:rgba(24,28,78,.95);border:1px solid #333B85;border-bottom-left-radius:6px;color:var(--ink)}
.typing{display:flex;gap:4px;justify-self:start;padding:10px 12px;border-radius:14px;background:rgba(24,28,78,.9);border:1px solid #333B85}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--lav);animation:dot 1.2s ease-in-out infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.modes-ui{grid-template-columns:repeat(2,1fr);align-content:center}
.modes-ui span{display:grid;place-items:center;min-height:52px;border-radius:999px;border:1px solid #4450A8;background:rgba(15,20,64,.8);color:var(--muted);font:600 14px Inter,sans-serif}
.modes-ui .on{background:linear-gradient(180deg,#3B2FA8,#2A1F6B);border-color:#8B5CF6;color:#fff;box-shadow:0 0 22px rgba(139,92,246,.4)}
.act{align-content:center;border-color:rgba(56,189,248,.4);box-shadow:inset 0 0 0 1px rgba(56,189,248,.08)}
.act-k{font:700 11px/1.3 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#7DD3FC}
.act-t{font:500 22px/1.2 Fraunces,Georgia,serif;color:#fff}
.act-w{font:600 15px Inter,sans-serif;color:var(--gold-hi)}
.act-b{display:flex;gap:8px;margin-top:4px!important}
.act-b span{display:inline-grid;place-items:center;min-height:40px;padding:0 16px;border-radius:999px;font:600 13px Inter,sans-serif}
.act-b .b1{background:linear-gradient(180deg,#FFE7A8,#E6B85C 60%,#C99A3E);color:#1B1240}
.act-b .b2{border:1px solid #4450A8;color:var(--lav)}
.bridge p{position:relative;display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:14px;font-size:15px;line-height:1.4}
.bridge b{flex:none;display:grid;place-items:center;width:30px;height:22px;border-radius:6px;font:800 10px Inter,sans-serif;letter-spacing:.08em}
.bridge .orig{background:rgba(15,20,64,.8);border:1px solid #333B85;color:var(--muted)}
.bridge .orig b{background:rgba(196,181,253,.16);color:var(--lav)}
.bridge .tr{background:rgba(42,31,107,.75);border:1px solid rgba(139,92,246,.6);color:#fff}
.bridge .tr b{background:rgba(230,184,92,.2);color:var(--gold-hi)}
.post{grid-template-columns:1fr;justify-items:center;align-content:center}
.post-img{width:min(220px,80%);aspect-ratio:4/3;border-radius:14px;background:radial-gradient(60% 60% at 30% 30%,rgba(255,231,168,.55),transparent 60%),radial-gradient(70% 70% at 80% 80%,rgba(56,189,248,.45),transparent 60%),linear-gradient(135deg,#3B2FA8,#1C1F5C);box-shadow:0 10px 30px rgba(3,5,24,.5)}
.post-cap{font:500 18px Fraunces,Georgia,serif;color:#fff}
.post-tag{font:600 11px Inter,sans-serif;letter-spacing:.06em;color:var(--dim)}
.guard{align-content:center}
.g-row{display:flex;justify-content:space-between;align-items:baseline;font:600 14px Inter,sans-serif;color:var(--muted)}
.g-row b{color:var(--gold-hi);font-weight:600}
.g-bar{display:block;height:10px;border-radius:999px;background:rgba(126,140,255,.16);overflow:hidden}
.g-bar i{display:block;height:100%;width:100%;border-radius:inherit;background:linear-gradient(90deg,#38BDF8,#8B5CF6 70%,#E6B85C);transform-origin:left;transform:scaleX(.68)}
.g-note{font-size:13px;color:var(--dim)}
.also{display:grid;gap:12px;margin:14px 0 0;padding:0;list-style:none}
.also li{padding:18px 20px;border-radius:20px;border:1px dashed rgba(150,160,255,.3);color:var(--muted);font-size:15px;line-height:1.5}
.also b{display:block;margin-bottom:4px;color:#fff;font-weight:600}
@media (min-width:700px){
  .bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tile-chat,.tile-guard{grid-column:span 2}
  .tile-chat,.tile-guard{grid-template-columns:1.15fr 1fr;align-items:center;align-content:center;gap:24px}
  .also{grid-template-columns:1fr 1fr}
}
@media (min-width:1100px){
  .bento{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tile-bridge,.tile-social{grid-column:span 2;grid-template-columns:1.15fr 1fr;align-items:center;align-content:center;gap:24px}
  .tile-guard{grid-column:span 1;grid-template-columns:1fr;align-content:start;gap:18px}
  .tile-chat .tile-ui,.tile-bridge .tile-ui,.tile-social .tile-ui{min-height:220px}
}

/* Living Buddy */
.home .react{display:grid;gap:22px;align-items:center;padding:24px;border-radius:32px;border:1px solid rgba(126,140,255,.22);background:radial-gradient(120% 90% at 20% 0%,rgba(58,44,134,.75),rgba(14,19,56,.88));box-shadow:0 30px 80px rgba(3,5,24,.45)}
.react-art{justify-self:center;width:min(300px,78vw);border-radius:24px;overflow:hidden}
.react-art mj-buddy{width:100%}
.home .react h2{text-align:left;margin-top:12px}
.moods{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.moods button{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid #4450A8;background:rgba(15,20,64,.7);color:var(--muted);font:600 14px Inter,sans-serif;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .16s}
.moods button:hover{border-color:var(--lav);color:#fff}
.moods button:active{transform:scale(.96)}
.moods button[aria-pressed=true]{background:linear-gradient(180deg,#3B2FA8,#2A1F6B);border-color:#8B5CF6;color:#fff;box-shadow:0 0 18px rgba(139,92,246,.35)}
@media (min-width:760px){.home .react{grid-template-columns:minmax(260px,400px) 1fr;gap:48px;padding:40px 56px}.react-art{width:100%}}

/* Buddy X™ band (no Buddy X art here: he is shown only after the 18+ step on /meet) */
.x-band{position:relative;display:grid;gap:28px;align-items:center;padding:32px 24px;border-radius:32px;overflow:hidden;border:1px solid rgba(224,118,58,.38);background:radial-gradient(90% 120% at 100% 50%,rgba(224,118,58,.24),transparent 60%),linear-gradient(135deg,#1A1238 0%,#0E1338 70%)}
.x-band h2{text-align:left;margin-top:12px}
.x-band h2 span{color:#FFB27A}
.x-band p:not(.mj-eyebrow){margin:14px 0 22px;max-width:560px;color:var(--muted);font-size:16px}
.x-eyebrow{color:#FFB27A}
.x-badge{position:relative;justify-self:center;display:grid;place-items:center;width:128px;aspect-ratio:1;order:-1}
.x-badge .x-18{font-size:44px}
.x-18{position:relative;z-index:1;font:400 56px/1 Fraunces,Georgia,serif;color:#FFD3B0;text-shadow:0 0 24px rgba(224,118,58,.6)}
.x-ring{position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(255,178,122,.6);box-shadow:0 0 40px rgba(224,118,58,.35),inset 0 0 30px rgba(224,118,58,.2);animation:xspin 14s linear infinite;background:conic-gradient(from 0deg,transparent 0 70%,rgba(255,178,122,.35) 85%,transparent)}
@keyframes xspin{to{transform:rotate(1turn)}}
@media (min-width:760px){.x-band{grid-template-columns:1fr auto;padding:48px 56px}.x-badge{width:200px;order:0}.x-badge .x-18{font-size:56px}}

/* Family */
.fam-grid{display:grid;gap:14px;margin-top:36px}
.fam-card{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;padding:16px;border-radius:24px;border:1px solid rgba(126,140,255,.2);background:linear-gradient(180deg,rgba(30,34,96,.66),rgba(14,18,58,.82));transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s}
.fam-card:hover{transform:translateY(-4px);border-color:rgba(150,160,255,.42)}
.fam-card mj-buddy{width:120px;border-radius:16px}
.fam-card h3{margin:8px 0 0;font:600 20px Inter,sans-serif;color:#fff}
.fam-card .ages{margin:0;color:var(--gold-hi);font-weight:600;font-size:14px}
.fam-card p{margin:4px 0 0;color:var(--muted);font-size:14px}
.fam-card.flagship{border-color:rgba(230,184,92,.55);box-shadow:0 0 40px rgba(139,92,246,.18)}
.family .fine{max-width:640px;margin:20px auto 0}
@media (min-width:760px){
  .fam-grid{grid-template-columns:1.3fr 1fr 1fr;align-items:stretch}
  .fam-card{grid-template-columns:1fr;align-content:start;text-align:left;padding:18px}
  .fam-card mj-buddy{width:100%}
}

/* Plans teaser (prices come from /api/plans; skeleton while loading) */
.pt-grid{display:grid;gap:14px;max-width:880px;margin:36px auto 0}
.pt-card{position:relative;display:grid;gap:6px;padding:26px 24px;border-radius:26px;border:1px solid rgba(88,140,255,.4);background:linear-gradient(160deg,rgba(28,34,96,.92),rgba(10,14,50,.96));box-shadow:0 0 0 1px rgba(62,139,255,.08) inset,0 14px 44px rgba(3,6,30,.5);color:var(--ink);text-decoration:none;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .35s}
.pt-card:hover{color:var(--ink);transform:translateY(-4px);border-color:rgba(120,170,255,.7);box-shadow:0 0 0 1px rgba(62,139,255,.12) inset,0 22px 56px rgba(3,6,30,.6),0 0 30px rgba(62,139,255,.14)}
.pt-family{border-color:rgba(230,184,92,.55)}
.pt-family:hover{border-color:rgba(230,184,92,.85)}
.pt-k{font:700 11px/1.3 Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.pt-name{font:600 22px/1.2 Inter,sans-serif;color:#fff}
.pt-price{display:block;min-height:48px;margin-top:6px;font:400 38px/1.2 Fraunces,Georgia,serif;color:var(--gold-hi)}
.pt-price small{font:500 15px Inter,sans-serif;color:var(--dim)}
.pt-price .mj-skel-line{height:30px;margin:8px 0}
.pt-detail{display:block;min-height:46px;color:var(--muted);font-size:15px;line-height:1.5}
.pt-go{display:inline-flex;align-items:center;gap:8px;margin-top:10px;color:var(--lav);font-weight:600;font-size:15px}
.pt-card:hover .pt-go{color:#fff}
.pt-go .mj-arrow{transition:transform .3s cubic-bezier(.2,.8,.2,1)}.pt-card:hover .mj-arrow{transform:translateX(3px)}
@media (min-width:700px){.pt-grid{grid-template-columns:1fr 1fr}}

/* Gift + Founder's Club */
.duo{display:grid;gap:14px}
.duo-card{position:relative;display:grid;justify-items:start;gap:12px;padding:30px 26px;border-radius:30px;overflow:hidden;border:1px solid rgba(126,140,255,.22);background:linear-gradient(180deg,rgba(30,34,96,.7),rgba(14,18,58,.86))}
.duo-card h2{text-align:left;font-size:clamp(26px,2vw + 16px,36px)}
.duo-card p:not(.mj-eyebrow){margin:0 0 10px;color:var(--muted);font-size:16px;max-width:440px}
.duo-ic{width:52px;height:52px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 12px rgba(230,184,92,.4))}
.fc-card .duo-ic{stroke-width:9;width:58px}
.gift-card{background:radial-gradient(90% 90% at 100% 0%,rgba(139,92,246,.28),transparent 60%),linear-gradient(180deg,rgba(30,34,96,.7),rgba(14,18,58,.86))}
.fc-card{border-color:rgba(230,184,92,.45);background:radial-gradient(90% 90% at 100% 0%,rgba(230,184,92,.18),transparent 60%),linear-gradient(180deg,rgba(36,34,106,.8),rgba(18,22,64,.9))}
@media (min-width:760px){.duo{grid-template-columns:1fr 1fr}.duo-card{padding:40px}}

/* Finale */
.finale{display:grid;justify-items:center;text-align:center;padding:48px 20px;background:radial-gradient(closest-side,rgba(139,92,246,.26),transparent) 50% 0/min(720px,100%) 420px no-repeat}
.finale mj-buddy{width:132px;border-radius:50%;box-shadow:0 0 0 2px rgba(230,184,92,.6),0 0 40px rgba(56,189,248,.35)}
.finale h2{margin-top:22px}
.finale .ctas{margin-left:auto;margin-right:auto}
@media (min-width:760px){.finale .ctas{justify-content:center}}

@media (prefers-reduced-motion:reduce){
  .home .hero-copy>*,.home .orbit,.home .sky span,.home .hero-art mj-buddy,.aurora,.home .glow,.typing i,.x-ring{animation:none}
  .home .sky span{opacity:.6}
  .tile:hover,.fam-card:hover,.pt-card:hover,.primary:hover,.ghost:hover{transform:none}
}
