/* Crystal Healing Network v2 · amethyst night + selenite pearl · gold + rose pinstripes */
:root{
  --night:#140a26; --plum:#241340; --plum2:#33205a;
  --violet:#8b5cf6; --violet2:#6d3fe0; --lav:#c9b8ff; --lav2:#ece5ff;
  --rose:#f4b6c8; --rose2:#e889a8; --gold:#e8c26a; --gold2:#b8903a;
  --aqua:#6fd3c4; --pearl:#fbf8ff; --pearl2:#f4eefe;
  --ink:#241b38; --muted:#6a5e84; --line:rgba(139,92,246,.22);
  --shadow:0 18px 40px -18px rgba(36,19,64,.45), 0 4px 10px -4px rgba(36,19,64,.18);
  --r:20px;
  --disp:"Cormorant Garamond", Georgia, serif; --caps:"Cinzel", Georgia, serif; --body:"Figtree", system-ui, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth; overflow-x:hidden}
body{margin:0; font-family:var(--body); color:var(--ink); background:var(--pearl); line-height:1.65; font-size:17px; -webkit-font-smoothing:antialiased; overflow-x:hidden}
img{max-width:100%; height:auto; display:block}
a{color:var(--violet2)}
.skip{position:absolute; left:-999px; top:8px; background:#fff; padding:8px 14px; border-radius:8px; z-index:99}
.skip:focus{left:12px}
:focus-visible{outline:3px solid var(--gold); outline-offset:3px; border-radius:6px}
.wrap{max-width:1180px; margin:0 auto; padding:0 24px}
.wrap.narrow{max-width:820px}
.two{display:grid; grid-template-columns:1fr 1.15fr; gap:56px; align-items:center}
.two.flip{grid-template-columns:1.05fr 1fr}

/* ---------- header ---------- */
.top{position:fixed; inset:0 0 auto 0; z-index:50; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 32px; transition:background .35s, box-shadow .35s, padding .35s}
.top.scrolled{background:rgba(20,10,38,.82); backdrop-filter:blur(14px) saturate(1.3); box-shadow:0 10px 30px -12px rgba(0,0,0,.5); padding:10px 32px}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:#fff}
.brand-gem{width:26px; height:32px; background:conic-gradient(from 200deg at 50% 38%, #f0e9ff, #b79cff, #7c4ddb, #d9c9ff, #f0e9ff); clip-path:polygon(50% 0,100% 34%,50% 100%,0 34%); filter:drop-shadow(0 0 8px rgba(196,181,253,.8)); animation:gembob 5s ease-in-out infinite}
@keyframes gembob{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-3px) rotate(4deg)}}
.brand-word{font-family:var(--caps); letter-spacing:.08em; font-size:1.02rem; white-space:nowrap}
.brand-word b{font-weight:600}
.brand-word i{font-family:var(--disp); font-style:italic; letter-spacing:0; font-size:1.3em; background:linear-gradient(90deg,var(--rose),var(--lav)); -webkit-background-clip:text; background-clip:text; color:transparent}
.nav{display:flex; align-items:center; gap:26px}
.nav a{color:rgba(255,255,255,.86); text-decoration:none; font-weight:500; font-size:.95rem; position:relative}
.nav a:not(.pill)::after{content:""; position:absolute; left:0; right:100%; bottom:-6px; height:1.5px; background:var(--gold); transition:right .3s}
.nav a:not(.pill):hover::after{right:0}
.nav .pill{padding:9px 20px; border-radius:999px; background:linear-gradient(135deg,var(--violet),var(--rose2)); color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.4), 0 6px 18px -6px rgba(139,92,246,.8)}
.burger{display:none; background:none; border:0; width:40px; height:40px; cursor:pointer; flex-direction:column; justify-content:center; gap:7px}
.burger span{display:block; height:2px; background:#fff; border-radius:2px}

/* ---------- shared type ---------- */
.eyebrow{display:flex; align-items:center; gap:12px; font-family:var(--caps); font-size:.78rem; letter-spacing:.24em; text-transform:uppercase; color:var(--violet2); margin:0 0 14px}
.eyebrow span{flex:0 0 34px; height:1px; background:currentColor; opacity:.6}
.eyebrow.gold{color:var(--gold)}
.sec-head{text-align:center; max-width:760px; margin:0 auto 44px}
.sec-head .eyebrow{justify-content:center}
.sec-title{font-family:var(--disp); font-weight:600; font-size:clamp(2.1rem,4.2vw,3.4rem); line-height:1.08; margin:0 0 14px; text-wrap:balance; color:var(--ink)}
.sec-title em{font-style:italic; background:linear-gradient(100deg,var(--violet2),var(--rose2) 70%); -webkit-background-clip:text; background-clip:text; color:transparent; padding-right:.06em}
.sec-title.light{color:#fff}
.sec-title.light em{background:linear-gradient(100deg,var(--lav),var(--rose) 60%,var(--gold)); -webkit-background-clip:text; background-clip:text}
.sec-sub{color:var(--muted); font-size:1.06rem; margin:0}
.light-p{color:rgba(255,255,255,.78)}
.fine{font-size:.86rem; color:var(--muted)}

/* ---------- buttons ---------- */
.btn{font-family:inherit; display:inline-flex; align-items:center; gap:10px; padding:15px 28px; border-radius:999px; font-weight:600; text-decoration:none; font-size:1rem; border:0; cursor:pointer; transition:transform .25s, box-shadow .25s}
.btn:hover{transform:translateY(-2px)}
.btn-glow{color:#fff; background:linear-gradient(135deg,var(--violet2),var(--violet) 45%,var(--rose2)); box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 0 0 1px rgba(255,255,255,.15), 0 12px 30px -10px rgba(139,92,246,.9)}
.btn-glow:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 0 0 1px rgba(255,255,255,.25), 0 18px 40px -10px rgba(232,137,168,.9)}
.btn-ghost{color:#fff; background:rgba(255,255,255,.08); box-shadow:inset 0 0 0 1px rgba(255,255,255,.4); backdrop-filter:blur(6px)}

/* ---------- hero ---------- */
.hero{position:relative; min-height:100vh; min-height:100svh; display:flex; align-items:center; background:radial-gradient(1200px 700px at 78% 45%, #3b1f6e 0%, transparent 60%), radial-gradient(800px 600px at 10% 90%, #4a1e4f 0%, transparent 55%), var(--night); color:#fff; overflow:hidden; padding:120px 0 120px}
.sparkles{position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:1}
.hero-art{position:absolute; right:-4%; top:50%; transform:translateY(-50%); width:62%; max-width:980px; z-index:0}
.hero-photo{border-radius:28px; overflow:hidden; box-shadow:0 40px 90px -30px rgba(0,0,0,.8), 0 0 0 1px rgba(232,194,106,.35), 0 0 0 9px rgba(20,10,38,.6), 0 0 0 10px rgba(232,194,106,.25); transform-style:preserve-3d; transition:transform .2s ease-out}
.hero-photo img{width:100%; aspect-ratio:16/10; object-fit:cover; animation:drift 24s ease-in-out infinite alternate}
.hero-photo::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg, var(--night) 0%, rgba(20,10,38,.55) 30%, transparent 60%); pointer-events:none}
@keyframes drift{from{transform:scale(1.04) translate(0,0)}to{transform:scale(1.12) translate(-2%,-1%)}}
.hero-frame{position:relative; z-index:2; max-width:600px; margin-left:max(24px, calc((100vw - 1180px)/2 + 24px)); padding:44px 44px 40px; border-radius:26px; background:linear-gradient(160deg, rgba(36,19,64,.72), rgba(20,10,38,.55)); backdrop-filter:blur(10px); box-shadow:inset 0 0 0 1px rgba(232,194,106,.45), inset 0 0 0 7px rgba(20,10,38,.0), inset 0 0 0 8px rgba(201,184,255,.22), 0 30px 70px -30px rgba(0,0,0,.8)}
.hero h1{font-family:var(--disp); font-weight:600; font-size:clamp(2.9rem,6.4vw,5.4rem); line-height:.98; margin:0 0 20px; text-wrap:balance}
.hero h1 em{display:block; font-style:italic; background:linear-gradient(100deg,#e9dcff 0%,var(--lav) 25%,var(--rose) 60%,var(--gold) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; background-size:200% 100%; animation:sheen 7s ease-in-out infinite; padding-bottom:.08em}
@keyframes sheen{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.lede{font-size:1.14rem; color:rgba(255,255,255,.85); margin:0 0 28px; max-width:34em}
.cta-row{display:flex; flex-wrap:wrap; gap:14px; margin-bottom:26px}
.chips{list-style:none; display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0}
.chips a{display:inline-block; padding:7px 14px; border-radius:999px; font-size:.86rem; color:#fff; text-decoration:none; background:rgba(255,255,255,.07); box-shadow:inset 0 0 0 1px rgba(255,255,255,.22); transition:background .2s}
.chips a:hover{background:rgba(255,255,255,.16)}
.hero-wave{position:absolute; left:0; bottom:-1px; width:100%; height:80px; z-index:3; fill:var(--plum)}

/* ---------- crystal of the day ---------- */
.cotd-band{background:linear-gradient(180deg,var(--plum),var(--night)); padding:18px 0 70px; color:#fff}
.cotd{display:grid; grid-template-columns:auto 1fr auto; gap:40px; align-items:center; padding:34px 40px; border-radius:var(--r); background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.02)); box-shadow:inset 0 0 0 1px rgba(232,194,106,.4), inset 0 0 0 6px rgba(0,0,0,0), inset 0 0 0 7px rgba(201,184,255,.18), 0 30px 60px -30px rgba(0,0,0,.7)}
.cotd h2{font-family:var(--disp); font-size:2.6rem; line-height:1.05; margin:0 0 8px; font-weight:600}
.cotd p{margin:0 0 6px; color:rgba(255,255,255,.82)}
.cotd-tip b{color:var(--gold)}
.cotd-date{font-family:var(--caps); letter-spacing:.18em; font-size:.8rem; color:var(--lav); text-align:right; white-space:nowrap}

/* 3D gem (pure CSS) */
.gem3d{--g1:#efe6ff; --g2:#a78bfa; --g3:#6d28d9; position:relative; width:110px; height:140px; animation:float 6s ease-in-out infinite; filter:drop-shadow(0 18px 24px rgba(0,0,0,.45)) drop-shadow(0 0 22px color-mix(in srgb, var(--g2) 70%, transparent))}
.gem3d .facet{position:absolute; inset:0; clip-path:polygon(50% 0,100% 30%,50% 100%,0 30%)}
.gem3d .f1{background:linear-gradient(160deg,var(--g1),var(--g2) 45%,var(--g3))}
.gem3d .f2{clip-path:polygon(50% 0,100% 30%,50% 42%,0 30%); background:linear-gradient(180deg,rgba(255,255,255,.95),color-mix(in srgb,var(--g1) 60%,transparent))}
.gem3d .f3{clip-path:polygon(50% 42%,100% 30%,50% 100%); background:linear-gradient(200deg,rgba(0,0,0,.05),rgba(0,0,0,.38))}
.gem3d .shine{position:absolute; inset:0; clip-path:polygon(50% 0,100% 30%,50% 100%,0 30%); background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.75) 45%,transparent 58%); background-size:250% 100%; animation:glint 4.5s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-10px) rotate(3deg)}}
@keyframes glint{0%{background-position:130% 0}55%,100%{background-position:-60% 0}}

/* ---------- intro ---------- */
.intro{padding:110px 0 70px; background:radial-gradient(900px 500px at 90% 10%, var(--lav2), transparent 60%), var(--pearl)}
.glass{padding:38px 40px; border-radius:var(--r); background:rgba(255,255,255,.75); backdrop-filter:blur(8px); box-shadow:var(--shadow), inset 0 0 0 1px rgba(232,194,106,.45), inset 0 0 0 6px rgba(255,255,255,.6), inset 0 0 0 7px var(--line)}
.glass p{margin:0 0 14px}
.dropcap::first-letter{font-family:var(--disp); float:left; font-size:3.6rem; line-height:.8; padding:6px 10px 0 0; color:var(--violet2); font-weight:600}
.sig{font-family:var(--disp); font-style:italic; font-size:1.35rem; color:var(--rose2); text-align:right; margin:8px 0 0 !important}

/* divider */
.divider{display:flex; align-items:center; justify-content:center; gap:14px; padding:10px 24px; color:var(--gold2)}
.divider svg{width:min(30vw,260px); height:20px; fill:none; stroke:var(--gold); stroke-width:1.2; opacity:.7}
.divider span{font-size:1.1rem}

/* ---------- crystal cards (flip) ---------- */
.guide{padding:60px 0 110px}
.cards{display:grid; grid-template-columns:repeat(4,1fr); gap:26px}
.ccard{perspective:1200px; height:360px; cursor:pointer; background:none; border:0; padding:0; font:inherit; text-align:left; color:inherit}
.ccard-in{position:relative; width:100%; height:100%; transform-style:preserve-3d; transition:transform .75s cubic-bezier(.2,.8,.2,1)}
.ccard.flipped .ccard-in, .ccard:focus-visible .ccard-in{transform:rotateY(180deg)}
@media (hover:hover){ .ccard:hover .ccard-in{transform:rotateY(180deg)} }
.cface{position:absolute; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden; border-radius:var(--r); overflow:hidden; background:#fff; box-shadow:var(--shadow), inset 0 0 0 1px rgba(232,194,106,.55), inset 0 0 0 6px #fff, inset 0 0 0 7px var(--line)}
.cfront{display:flex; flex-direction:column; align-items:center; justify-content:flex-end; padding:22px 18px 22px; background:radial-gradient(140px 140px at 50% 38%, color-mix(in srgb,var(--c2) 35%, white), #fff 70%)}
.cfront .gem3d{position:absolute; top:34px; left:50%; margin-left:-48px; width:96px; height:122px}
.cfront .slot{position:absolute; top:12px; right:12px; font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); background:rgba(255,255,255,.8); padding:3px 8px; border-radius:999px; box-shadow:inset 0 0 0 1px var(--line)}
.cfront h3{font-family:var(--disp); font-size:1.8rem; margin:0; font-weight:600; line-height:1.05; text-align:center}
.cfront .alt{text-align:center; font-family:var(--caps); letter-spacing:.2em; font-size:.66rem; text-transform:uppercase; color:var(--muted)}
.cfront .hint{margin-top:10px; font-size:.78rem; color:var(--violet2)}
.cback{transform:rotateY(180deg); padding:26px 22px; display:flex; flex-direction:column; background:linear-gradient(160deg,var(--plum2),var(--night)); color:#fff}
.cback h3{font-family:var(--disp); font-size:1.6rem; margin:0 0 4px}
.cback .kw{display:flex; flex-wrap:wrap; gap:6px; margin:6px 0 12px}
.cback .kw span{font-size:.72rem; padding:3px 9px; border-radius:999px; background:rgba(255,255,255,.1); box-shadow:inset 0 0 0 1px rgba(232,194,106,.5); color:var(--gold)}
.cback p{font-size:.92rem; color:rgba(255,255,255,.85); margin:0 0 auto}
.cback .shoplink{margin-top:14px; font-size:.85rem; color:var(--lav); opacity:.85}

/* ---------- quiz ---------- */
.quiz-sec{padding:40px 0 110px}
.glass-dark{border-radius:28px; color:#fff; background:radial-gradient(700px 400px at 85% 0%, #4b2a86, transparent 60%), radial-gradient(600px 400px at 0% 100%, #5a2350, transparent 60%), var(--night); box-shadow:0 40px 80px -40px rgba(36,19,64,.9), inset 0 0 0 1px rgba(232,194,106,.45), inset 0 0 0 7px rgba(0,0,0,0), inset 0 0 0 8px rgba(201,184,255,.2)}
.quiz{padding:56px 56px 40px; text-align:center}
.quiz-head .eyebrow{justify-content:center}
.quiz-body{min-height:260px; display:flex; flex-direction:column; align-items:center; justify-content:center}
.q-text{font-family:var(--disp); font-size:clamp(1.5rem,3vw,2.1rem); margin:6px 0 26px; font-style:italic}
.q-opts{display:grid; grid-template-columns:repeat(2,minmax(0,280px)); gap:14px; justify-content:center}
.q-opt{padding:16px 20px; border-radius:16px; border:0; cursor:pointer; font:600 1rem var(--body); color:#fff; background:rgba(255,255,255,.07); box-shadow:inset 0 0 0 1px rgba(255,255,255,.25); transition:background .2s, transform .2s, box-shadow .2s}
.q-opt:hover{background:rgba(255,255,255,.15); transform:translateY(-2px); box-shadow:inset 0 0 0 1px var(--gold)}
.q-result{display:grid; grid-template-columns:auto 1fr; gap:34px; align-items:center; text-align:left; max-width:680px}
.q-result h3{font-family:var(--disp); font-size:2.6rem; margin:0 0 6px}
.q-result p{color:rgba(255,255,255,.85); margin:0 0 10px}
.q-again{background:none; border:0; color:var(--lav); cursor:pointer; font:600 .95rem var(--body); text-decoration:underline; padding:0}
.quiz-dots{display:flex; gap:8px; justify-content:center; margin-top:26px}
.quiz-dots i{width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.25)}
.quiz-dots i.on{background:var(--gold); box-shadow:0 0 10px var(--gold)}

/* ---------- birthstones ---------- */
.birth{padding:40px 0 110px; background:radial-gradient(900px 500px at 10% 30%, var(--lav2), transparent 60%)}
.months{display:grid; grid-template-columns:repeat(12,1fr); gap:8px; margin-bottom:26px}
.mbtn{padding:12px 0; border-radius:12px; border:0; cursor:pointer; font:600 .9rem var(--body); color:var(--ink); background:#fff; box-shadow:0 6px 14px -8px rgba(36,19,64,.4), inset 0 0 0 1px var(--line); transition:transform .2s}
.mbtn:hover{transform:translateY(-2px)}
.mbtn[aria-selected="true"]{color:#fff; background:linear-gradient(135deg,var(--violet2),var(--rose2)); box-shadow:0 10px 20px -8px rgba(139,92,246,.8)}
.birth-card{display:grid; grid-template-columns:auto 1fr; gap:34px; align-items:center; padding:34px 40px; border-radius:var(--r); background:#fff; box-shadow:var(--shadow), inset 0 0 0 1px rgba(232,194,106,.55), inset 0 0 0 6px #fff, inset 0 0 0 7px var(--line)}
.birth-card h3{font-family:var(--disp); font-size:2.2rem; margin:0 0 4px}
.birth-card .alt{font-family:var(--caps); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin:0 0 10px}
.birth-card p{margin:0}

/* ---------- sound ---------- */
.sound{padding:110px 0; background:linear-gradient(180deg,var(--pearl),var(--pearl2))}
.sound-art{position:relative}
.frame{border-radius:24px; overflow:hidden; box-shadow:var(--shadow), 0 0 0 1px rgba(232,194,106,.55), 0 0 0 8px #fff, 0 0 0 9px var(--line); transition:transform .2s ease-out}
.frame img{width:100%; aspect-ratio:4/3; object-fit:cover}
.bowl-btn{white-space:nowrap; position:absolute; left:50%; bottom:-26px; transform:translateX(-50%); border:0; cursor:pointer; padding:14px 26px; border-radius:999px; font:600 .98rem var(--body); color:#fff; background:linear-gradient(135deg,#8a6a2c,var(--gold) 50%,#9a7430); box-shadow:inset 0 1px 0 rgba(255,255,255,.5), 0 14px 30px -10px rgba(120,90,30,.8); isolation:isolate}
.bowl-btn .ring{position:absolute; inset:0; border-radius:999px; box-shadow:0 0 0 2px var(--gold); opacity:0; z-index:-1}
.bowl-btn.ringing .ring{animation:ripple 2.4s ease-out}
.bowl-btn.ringing .r2{animation-delay:.4s}.bowl-btn.ringing .r3{animation-delay:.8s}
@keyframes ripple{from{opacity:.9; transform:scale(1)}to{opacity:0; transform:scale(1.9,2.6)}}
.ticks{list-style:none; padding:0; margin:18px 0 18px}
.ticks li{position:relative; padding-left:28px; margin:0 0 10px}
.ticks li::before{content:"✦"; position:absolute; left:0; top:0; color:var(--gold2)}

/* ---------- rituals ---------- */
.rituals{padding:110px 0}
.rgrid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px}
.rcard{border-radius:var(--r); overflow:hidden; background:#fff; box-shadow:var(--shadow), inset 0 0 0 1px rgba(232,194,106,.5); display:flex; flex-direction:column; transition:transform .3s, box-shadow .3s}
.rcard:hover{transform:translateY(-6px); box-shadow:0 30px 50px -22px rgba(36,19,64,.55), inset 0 0 0 1px rgba(232,194,106,.8)}
.rimg{aspect-ratio:4/3; overflow:hidden; position:relative; margin:8px 8px 0; border-radius:14px}
.rimg img{width:100%; height:100%; object-fit:cover; transition:transform .8s}
.rcard:hover .rimg img{transform:scale(1.06)}
.rimg.aroma{background:radial-gradient(circle at 30% 70%, #fde2ea, transparent 50%), radial-gradient(circle at 70% 30%, #e6dcff, transparent 55%), linear-gradient(160deg,#fbf3ff,#efe4ff)}
.rimg.aroma span{position:absolute; bottom:18%; width:60px; height:60px; border-radius:50%; background:radial-gradient(circle, rgba(139,92,246,.35), transparent 70%); animation:rise 6s ease-in infinite}
.rimg.aroma span:nth-child(1){left:22%}.rimg.aroma span:nth-child(2){left:46%; animation-delay:2s}.rimg.aroma span:nth-child(3){left:66%; animation-delay:4s}
@keyframes rise{0%{transform:translateY(0) scale(.6); opacity:0}20%{opacity:1}100%{transform:translateY(-140px) scale(1.8); opacity:0}}
.rtext{padding:20px 22px 24px; display:flex; flex-direction:column; flex:1}
.rtext h3{font-family:var(--disp); font-size:1.55rem; margin:0 0 8px; font-weight:600}
.rtext p{font-size:.95rem; color:var(--muted); margin:0 0 14px}
.rlink{margin-top:auto; font-weight:600; text-decoration:none; font-size:.92rem}

/* ---------- uses ---------- */
.uses{padding:100px 0; background:radial-gradient(800px 400px at 50% 0%, #3a1f6a, transparent 70%), var(--night); color:#fff}
.uses .sec-head .eyebrow{justify-content:center}
.ugrid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px}
.ucard{padding:30px 26px; border-radius:var(--r); background:rgba(255,255,255,.05); box-shadow:inset 0 0 0 1px rgba(232,194,106,.35); text-align:center; transition:background .3s, transform .3s}
.ucard:hover{background:rgba(255,255,255,.09); transform:translateY(-4px)}
.uicon{width:64px; height:64px; margin:0 auto 14px; display:grid; place-items:center; font-size:1.7rem; border-radius:50%; background:radial-gradient(circle at 35% 30%, rgba(255,255,255,.25), rgba(139,92,246,.25)); box-shadow:0 0 0 1px rgba(232,194,106,.55), 0 0 0 6px rgba(255,255,255,.04), 0 0 0 7px rgba(201,184,255,.22)}
.ucard h3{font-family:var(--disp); font-size:1.5rem; margin:0 0 6px}
.ucard p{font-size:.93rem; color:rgba(255,255,255,.75); margin:0}

/* ---------- shop ---------- */
.shop{padding:110px 0 90px; background:radial-gradient(900px 500px at 80% 20%, var(--lav2), transparent 60%)}
.disclose{max-width:760px; margin:-18px auto 36px; font-size:.9rem; color:var(--muted); text-align:center; padding:12px 18px; border-radius:12px; background:rgba(255,255,255,.7); box-shadow:inset 0 0 0 1px var(--line)}
.shelves{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.shelf{position:relative; padding:26px; border-radius:var(--r); background:#fff; box-shadow:var(--shadow), inset 0 0 0 1px rgba(232,194,106,.55), inset 0 0 0 6px #fff, inset 0 0 0 7px var(--line)}
.shelf-head{display:flex; align-items:center; gap:14px; margin-bottom:16px}
.shelf-head .sico{width:48px; height:48px; border-radius:14px; display:grid; place-items:center; font-size:1.4rem; background:linear-gradient(135deg,var(--lav2),#fde7ef)}
.shelf h3{font-family:var(--disp); font-size:1.45rem; margin:0; font-weight:600; line-height:1.15}
.shelf .soon{position:absolute; top:-11px; right:18px; background:#fff; white-space:nowrap; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; padding:4px 9px; border-radius:999px; color:var(--gold2); box-shadow:inset 0 0 0 1px var(--gold)}
.slots{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:14px}
.slot-ph{aspect-ratio:1; border-radius:12px; display:grid; place-items:center; text-align:center; font-size:.62rem; color:var(--muted); letter-spacing:.08em; text-transform:uppercase; background:repeating-linear-gradient(135deg,#faf7ff 0 8px,#f3edff 8px 16px); box-shadow:inset 0 0 0 1px var(--line)}
.shelf p{font-size:.92rem; color:var(--muted); margin:0}

/* ---------- faq ---------- */
.faq{padding:40px 0 110px}
details{margin:0 0 14px; border-radius:16px; background:#fff; box-shadow:0 10px 24px -16px rgba(36,19,64,.45), inset 0 0 0 1px rgba(232,194,106,.5)}
summary{cursor:pointer; list-style:none; padding:20px 56px 20px 24px; font-family:var(--disp); font-size:1.35rem; font-weight:600; position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+"; position:absolute; right:22px; top:50%; transform:translateY(-50%); font-family:var(--body); font-size:1.4rem; color:var(--violet2); transition:transform .3s}
details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
details p{margin:0; padding:0 24px 22px; color:var(--muted)}

/* ---------- community ---------- */
.community{padding:0 0 110px}
.join{display:grid; grid-template-columns:1.2fr 1fr; gap:40px; align-items:center; padding:56px}
.join .eyebrow{justify-content:flex-start}
.signup{display:flex; flex-wrap:wrap; gap:10px}
.signup input{flex:1 1 220px; padding:15px 18px; border-radius:999px; border:0; font:inherit; background:rgba(255,255,255,.1); color:#fff; box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.signup input::placeholder{color:rgba(255,255,255,.5)}
.signup button{padding:15px 24px; border-radius:999px; border:0; font:600 1rem var(--body); color:var(--night); background:linear-gradient(135deg,#f5e3ad,var(--gold)); opacity:.75; cursor:not-allowed}
.signup .fine{flex-basis:100%; margin:4px 0 0}

/* ---------- footer ---------- */
.foot{background:var(--night); color:rgba(255,255,255,.72); padding:70px 0 30px; font-size:.95rem}
.fgrid{display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:36px; padding-bottom:36px; border-bottom:1px solid rgba(232,194,106,.25)}
.foot h4{font-family:var(--caps); letter-spacing:.2em; font-size:.76rem; color:var(--gold); margin:0 0 14px; font-weight:600}
.foot .fgrid a:not(.brand){display:block; color:rgba(255,255,255,.72); text-decoration:none; margin:0 0 8px}
.foot .fgrid a:not(.brand):hover{color:#fff}
.foot .brand{margin-bottom:12px}
.legal{padding-top:24px; font-size:.84rem; color:rgba(255,255,255,.55)}
.legal b{color:rgba(255,255,255,.75)}
.legal p{margin:0 0 10px; max-width:900px}


/* ============ SUBPAGES (build.py) ============ */
.top.solid{background:rgba(20,10,38,.92); backdrop-filter:blur(14px) saturate(1.3); box-shadow:0 10px 30px -12px rgba(0,0,0,.5)}
.phero{position:relative; overflow:hidden; color:#fff; padding:150px 0 110px; background:var(--night)}
.phero-bg{position:absolute; inset:0}
.phero-bg img{width:100%; height:100%; object-fit:cover; opacity:.42; animation:drift 30s ease-in-out infinite alternate}
.phero-bg::after{content:""; position:absolute; inset:0; background:radial-gradient(900px 500px at 20% 60%, rgba(20,10,38,.35), transparent 70%), linear-gradient(180deg, rgba(20,10,38,.55), rgba(20,10,38,.88))}
.phero-in{position:relative; z-index:2; max-width:900px}
.phero h1{font-family:var(--disp); font-weight:600; font-size:clamp(2.4rem,5.4vw,4.2rem); line-height:1.04; margin:0 0 16px; text-wrap:balance}
.phero h1 em{font-style:italic; background:linear-gradient(100deg,#e9dcff,var(--lav) 30%,var(--rose) 70%,var(--gold)); -webkit-background-clip:text; background-clip:text; color:transparent}
.phero-sub{font-size:1.15rem; color:rgba(255,255,255,.84); max-width:40em; margin:0}
.phero .hero-wave{fill:var(--pearl)}
.crumbs{font-size:.84rem; color:rgba(255,255,255,.7); margin-bottom:18px}
.crumbs a{color:rgba(255,255,255,.85); text-decoration:none} .crumbs a:hover{color:#fff; text-decoration:underline}
.crumbs span{margin:0 4px}
/* article cards */
.agrid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px}
.acard{display:flex; flex-direction:column; text-decoration:none; color:var(--ink); background:#fff; border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow), inset 0 0 0 1px rgba(232,194,106,.5); transition:transform .3s, box-shadow .3s}
.acard:hover{transform:translateY(-6px); box-shadow:0 30px 50px -22px rgba(36,19,64,.55), inset 0 0 0 1px rgba(232,194,106,.85)}
.acard-img{aspect-ratio:16/10; overflow:hidden; margin:8px 8px 0; border-radius:14px}
.acard-img img{width:100%; height:100%; object-fit:cover; transition:transform .8s}
.acard:hover .acard-img img{transform:scale(1.06)}
.acard-body{padding:18px 22px 22px; display:flex; flex-direction:column; flex:1}
.acat{font-family:var(--caps); font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold2)}
.acard h3{font-family:var(--disp); font-size:1.5rem; line-height:1.15; margin:8px 0 8px; font-weight:600}
.acard p{font-size:.93rem; color:var(--muted); margin:0 0 14px}
.amore{margin-top:auto; font-weight:600; font-size:.9rem; color:var(--violet2)}
.journal-sec{padding:40px 0 100px}
.center-cta{text-align:center; margin-top:34px}
.jlist{padding:30px 0 110px}
.fchips{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:0 0 34px}
.fchip{border:0; cursor:pointer; padding:9px 18px; border-radius:999px; font:600 .9rem var(--body); color:var(--ink); background:#fff; box-shadow:0 6px 14px -8px rgba(36,19,64,.4), inset 0 0 0 1px var(--line)}
.fchip.on{color:#fff; background:linear-gradient(135deg,var(--violet2),var(--rose2))}
/* article page */
.art{padding:30px 0 60px}
.art-grid{display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:56px; align-items:start}
.art-meta{display:flex; flex-wrap:wrap; gap:8px; font-size:.86rem; color:var(--muted); margin:0 0 22px}
.art-fig{margin:0 0 30px; border-radius:22px; overflow:hidden; box-shadow:var(--shadow), 0 0 0 1px rgba(232,194,106,.55), 0 0 0 8px #fff, 0 0 0 9px var(--line)}
.art-fig img{width:100%; aspect-ratio:16/9; object-fit:cover}
.art-fig figcaption{font-size:.72rem; color:var(--muted); padding:8px 14px; background:#fff}
.prose{font-size:1.08rem; line-height:1.78; max-width:68ch}
.prose h2{font-family:var(--disp); font-size:2rem; line-height:1.15; margin:44px 0 12px; font-weight:600; color:var(--ink)}
.prose h2::before{content:"✦ "; color:var(--gold); font-size:.8em}
.prose h3{font-family:var(--disp); font-size:1.45rem; margin:28px 0 8px; font-weight:600; color:var(--violet2)}
.prose p{margin:0 0 18px}
.prose ul,.prose ol{margin:0 0 20px; padding-left:1.3em}
.prose li{margin:0 0 8px}
.prose li::marker{color:var(--violet)}
.prose blockquote{margin:26px 0; padding:18px 24px; border-radius:16px; background:linear-gradient(135deg,var(--lav2),#fdf0f4); box-shadow:inset 0 0 0 1px rgba(232,194,106,.6); font-family:var(--disp); font-size:1.3rem; font-style:italic; color:var(--plum2)}
.prose blockquote p{margin:0}
.prose a{color:var(--violet2); text-underline-offset:3px}
.note{margin:34px 0; padding:18px 22px; border-radius:16px; background:#fff; box-shadow:inset 0 0 0 1px var(--line); font-size:.94rem; color:var(--muted)}
.art-faq{margin-top:40px}
.art-faq h2{font-family:var(--disp); font-size:2rem; margin:0 0 16px}
.art-side{position:sticky; top:96px; display:flex; flex-direction:column; gap:22px}
.side-card{padding:26px; border-radius:var(--r); color:#fff; background:radial-gradient(400px 260px at 90% 0%, #4b2a86, transparent 60%), var(--night); box-shadow:0 30px 60px -30px rgba(36,19,64,.8), inset 0 0 0 1px rgba(232,194,106,.45)}
.side-card h3{font-family:var(--disp); font-size:1.6rem; margin:0 0 8px}
.side-card p{color:rgba(255,255,255,.8); font-size:.94rem; margin:0 0 16px}
.side-card .btn{padding:12px 20px; font-size:.92rem}
.side-card.light{background:#fff; color:var(--ink); box-shadow:var(--shadow), inset 0 0 0 1px rgba(232,194,106,.5)}
.side-list{list-style:none; margin:0; padding:0}
.side-list li{border-top:1px solid var(--line)}
.side-list a{display:block; padding:10px 0; text-decoration:none; color:var(--ink); font-size:.93rem}
.side-list a:hover{color:var(--violet2)}
.more{padding:40px 0 110px; background:linear-gradient(180deg,var(--pearl),var(--pearl2))}
/* static pages + form */
.pbody{padding:30px 0 110px}
.card-prose{max-width:none; padding:44px 48px; border-radius:var(--r); background:#fff; box-shadow:var(--shadow), inset 0 0 0 1px rgba(232,194,106,.55), inset 0 0 0 6px #fff, inset 0 0 0 7px var(--line)}
.card-prose > :first-child{margin-top:0}
.btn-soft{color:var(--violet2); background:#fff; box-shadow:inset 0 0 0 1px var(--line), 0 8px 18px -10px rgba(36,19,64,.4)}
.cform{display:grid; gap:18px}
.frow label{display:block; font-weight:600; font-size:.92rem; margin:0 0 6px}
.frow input,.frow select,.frow textarea{width:100%; padding:14px 16px; border-radius:14px; border:0; font:inherit; font-size:1rem; color:var(--ink); background:var(--pearl); box-shadow:inset 0 0 0 1px var(--line)}
.frow input:focus,.frow select:focus,.frow textarea:focus{outline:none; box-shadow:inset 0 0 0 2px var(--violet)}
.cform .btn{justify-self:start}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.fstatus{margin:0; font-weight:600}
.fstatus.ok{color:#15803d} .fstatus.err{color:#b91c1c}
.legal a{color:rgba(255,255,255,.8)}
@media (max-width:1000px){ .art-grid{grid-template-columns:1fr} .art-side{position:static} .agrid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){ .agrid{grid-template-columns:1fr} .phero{padding:120px 0 90px} .card-prose{padding:28px 22px} .prose{font-size:1.02rem} .prose h2{font-size:1.65rem} }

/* ---------- reveal ---------- */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .9s ease, transform .9s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1; transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .cards{grid-template-columns:repeat(3,1fr)}
  .rgrid, .ugrid{grid-template-columns:repeat(2,1fr)}
  .shelves{grid-template-columns:repeat(2,1fr)}
  .months{grid-template-columns:repeat(6,1fr)}
}
@media (max-width:900px){
  .nav{display:none}
  .burger{display:flex}
  .nav.open{display:flex; position:fixed; inset:64px 12px auto 12px; flex-direction:column; align-items:stretch; gap:4px; padding:14px; border-radius:18px; background:rgba(20,10,38,.96); box-shadow:0 30px 60px -20px rgba(0,0,0,.7), inset 0 0 0 1px rgba(232,194,106,.4)}
  .nav.open a{padding:12px 14px}
  .two, .two.flip, .join{grid-template-columns:1fr; gap:36px}
  .hero{padding:110px 0 110px; align-items:flex-end}
  .hero-art{position:absolute; inset:0; width:100%; max-width:none; transform:none; top:0; right:0}
  .hero-photo{border-radius:0; box-shadow:none; height:100%}
  .hero-photo img{height:100%; aspect-ratio:auto}
  .hero-photo::after{background:linear-gradient(180deg, rgba(20,10,38,.35) 0%, rgba(20,10,38,.75) 45%, var(--night) 85%)}
  .hero-frame{margin:0 16px; padding:30px 24px}
  .cotd{grid-template-columns:auto 1fr; padding:26px 24px; gap:22px}
  .cotd-date{grid-column:1 / -1; text-align:left}
  .quiz{padding:40px 22px 30px}
  .join{padding:36px 24px}
  .fgrid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .eyebrow{letter-spacing:.14em; font-size:.7rem; gap:8px}
  .eyebrow span{flex-basis:18px}
  .cotd{grid-template-columns:1fr; justify-items:center; text-align:center}
  .cotd .eyebrow{justify-content:center}
  .cotd h2{font-size:2.2rem}
  .cotd-date{text-align:center}
  .cfront h3{font-size:1.3rem}
  .cfront .alt{font-size:.58rem; letter-spacing:.12em}
  body{font-size:16px}
  .wrap{padding:0 16px}
  .top, .top.scrolled{padding:10px 16px}
  .brand-word{font-size:.84rem}
  .cards{grid-template-columns:repeat(2,1fr); gap:14px}
  .ccard{height:310px}
  .cfront .gem3d{transform:scale(.85)}
  .cfront h3{font-size:1.45rem}
  .rgrid, .ugrid, .shelves{grid-template-columns:1fr}
  .q-opts{grid-template-columns:1fr; width:100%}
  .q-result, .birth-card{grid-template-columns:1fr; text-align:center; justify-items:center}
  .birth-card{padding:28px 20px}
  .months{grid-template-columns:repeat(4,1fr)}
  .glass{padding:28px 22px}
  .fgrid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important; transition:none !important}
  .reveal{opacity:1; transform:none}
  html{scroll-behavior:auto}
}

/* ============ LISTEN · EARTH HUM (Wave 2026-10-26) ============ */
.listen{position:relative;padding:40px 0 72px;background:radial-gradient(900px 480px at 15% 10%,rgba(139,92,246,.28),transparent 65%),radial-gradient(700px 420px at 90% 80%,rgba(232,137,168,.16),transparent 60%),linear-gradient(180deg,var(--night),var(--plum));color:#fff;overflow:hidden;scroll-margin-top:84px}
.soon-note{display:flex;align-items:center;gap:12px;max-width:760px;margin:0 auto 22px;padding:10px 18px;border-radius:999px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(232,194,106,.4)}
.soon-note p{margin:0;color:var(--lav2);font-size:.95rem}.soon-note b{color:var(--gold)}
.soon-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 rgba(232,194,106,.6);animation:soonPulse 2.4s ease-out infinite}
@keyframes soonPulse{0%{box-shadow:0 0 0 0 rgba(232,194,106,.6)}80%,100%{box-shadow:0 0 0 12px rgba(232,194,106,0)}}
.lp{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr);gap:48px;align-items:center}
.lp-art{position:relative;aspect-ratio:1;max-width:380px;width:100%;margin:0 auto}
.lp-disc{position:absolute;inset:14%;border-radius:50%;overflow:hidden;background:#140a26;box-shadow:0 30px 60px -20px rgba(0,0,0,.8),0 0 0 6px rgba(255,255,255,.06),0 0 0 7px rgba(201,184,255,.35);z-index:2}
.lp-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 2.2s ease}
.lp-orb i{position:absolute;inset:6%;border-radius:50%;border:1px solid rgba(201,184,255,.28);transform:scale(.92);opacity:.6}
.lp-orb i:nth-child(2){inset:0;border-color:rgba(244,182,200,.2)}.lp-orb i:nth-child(3){inset:-6%;border-color:rgba(232,194,106,.16)}
.lp.playing .lp-orb i{animation:breathe 6s ease-in-out infinite}.lp.playing .lp-orb i:nth-child(2){animation-delay:.6s}.lp.playing .lp-orb i:nth-child(3){animation-delay:1.2s}
.lp.playing .lp-disc{animation:spin 240s linear infinite}
@keyframes breathe{0%,100%{transform:scale(.9);opacity:.35}50%{transform:scale(1.03);opacity:.9}}
@keyframes spin{to{transform:rotate(360deg)}}
.lp[data-phase=p2] .lp-orb i{border-color:rgba(111,211,196,.35)}.lp[data-phase=p3] .lp-orb i{border-color:rgba(232,194,106,.4)}
.lp-phase{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);display:flex;gap:10px;align-items:baseline;margin:0;padding:8px 16px;border-radius:999px;background:rgba(20,10,38,.85);box-shadow:inset 0 0 0 1px rgba(201,184,255,.35);white-space:nowrap;backdrop-filter:blur(6px)}
.lp-phase span{font-family:var(--caps);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--lav)}.lp-phase b{font-size:1.05rem;color:#fff;font-variant-numeric:tabular-nums}
.lp-main .eyebrow{justify-content:flex-start}
.lp-lede{color:var(--lav2);font-size:1.05rem;max-width:58ch;margin:0 0 18px}.lp-lede b{color:#fff}
.lp-tracks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 18px}
.lp-track{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;border:0;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(201,184,255,.25);color:#fff;font:inherit;text-align:left;cursor:pointer;transition:background .2s,box-shadow .2s}
.lp-track:hover{background:rgba(255,255,255,.1)}
.lp-track.on{background:linear-gradient(135deg,rgba(109,63,224,.55),rgba(232,137,168,.3));box-shadow:inset 0 0 0 1px rgba(236,229,255,.6)}
.lp-tn{flex:none;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.12);font-family:var(--caps);font-weight:700}
.lp-track b{display:block;font-weight:700}.lp-track small{color:var(--lav);font-size:.82rem}
.lp-scrub{position:relative;margin:0 0 14px}
.lp-bar{position:relative;display:flex;height:10px;border-radius:999px;background:rgba(255,255,255,.08)}
.lp-bar .s1{border-radius:999px 0 0 999px}.lp-bar .s3{border-radius:0 999px 999px 0}
.lp-bar .seg{position:relative;flex:0 0 var(--w);height:100%}
.lp-bar .s1{background:rgba(139,92,246,.35)}.lp-bar .s2{background:rgba(111,211,196,.3)}.lp-bar .s3{background:rgba(232,194,106,.32)}
.lp-bar .seg+.seg{box-shadow:inset 2px 0 0 var(--night)}
.lp-bar em{position:absolute;top:16px;left:6px;font-style:normal;font-size:.72rem;letter-spacing:.06em;color:var(--lav);white-space:nowrap}
.lp-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,var(--violet),var(--rose2),var(--gold));border-radius:999px;pointer-events:none}
.lp-scrub{padding-bottom:4px}
.lp-scrub input[type=range]{position:absolute;left:0;right:0;top:-8px;width:100%;height:26px;margin:0;opacity:0;cursor:pointer}
.lp-scrub input[type=range]:focus-visible{opacity:.001}
.lp-scrub:focus-within .lp-bar{box-shadow:0 0 0 2px var(--lav)}
.lp-times{display:flex;justify-content:space-between;margin-top:26px;font-size:.85rem;color:var(--lav);font-variant-numeric:tabular-nums}
.lp-ctrls{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin:4px 0 0}
.lp-btn,.lp-play{display:grid;place-items:center;border:0;cursor:pointer;color:#fff}
.lp-btn{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.lp-btn svg{width:26px;height:26px;fill:#fff}.lp-btn text{font:700 6.5px var(--body);fill:#fff}
.lp-play{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--violet2),var(--violet) 45%,var(--rose2));box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 14px 34px -10px rgba(139,92,246,.95)}
.lp-play svg{width:32px;height:32px;fill:#fff}.lp-play .i-pause{display:none}.lp.playing .lp-play .i-play{display:none}.lp.playing .lp-play .i-pause{display:block}
.lp-btn:focus-visible,.lp-play:focus-visible,.lp-chip:focus-visible,.lp-track:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.lp-sp{flex:1}
.lp-chip{height:40px;padding:0 14px;border-radius:999px;border:0;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);color:#fff;font:600 .88rem var(--body);cursor:pointer}
.lp-chip.on{background:rgba(232,194,106,.2);box-shadow:inset 0 0 0 1px var(--gold);color:var(--gold)}
.lp-vol{display:flex;align-items:center;gap:8px}.lp-vol svg{width:22px;height:22px;fill:var(--lav)}
.lp-vol input{width:110px;accent-color:var(--violet)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.lp-more{max-width:980px;margin:40px auto 0;padding-top:26px;border-top:1px solid rgba(201,184,255,.18)}
.lp-how{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 26px}
.lp-how li{position:relative;padding-left:22px;color:var(--lav2)}.lp-how li b{color:#fff}
.lp-how li::before{content:"";position:absolute;left:4px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold)}
.lp-note{color:rgba(236,229,255,.6)!important}
@media (max-width:900px){.lp{grid-template-columns:1fr;gap:22px}.lp-art{max-width:300px}.lp-how{grid-template-columns:1fr}}
@media (max-width:520px){
  .listen{padding:28px 0 56px}.listen .wrap{padding:0 16px}
  .soon-note{border-radius:14px;margin-bottom:14px;padding:8px 14px}.soon-note p{font-size:.84rem;line-height:1.35}
  .lp{gap:12px}
  .lp-art{max-width:148px;margin:0 auto 6px}.lp-disc{inset:12%}
  .lp-phase{bottom:-12px;padding:5px 12px;gap:7px}.lp-phase span{font-size:.62rem}.lp-phase b{font-size:.9rem}
  .lp-main .eyebrow{display:none}
  .lp-main .sec-title{font-size:2rem;margin:10px 0 6px;text-align:center}
  .lp-lede{font-size:.92rem;line-height:1.5;margin:0 0 12px;text-align:center}
  .lp-tracks{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.lp-track{padding:8px 10px;gap:8px}.lp-tn{width:30px;height:30px;font-size:.85rem}.lp-track b{font-size:.9rem}.lp-track small{font-size:.72rem}
  .lp-times{margin-top:22px;font-size:.78rem}
  .lp-ctrls{justify-content:center;gap:8px 10px}.lp-sp{display:none}
  .lp-play{width:62px;height:62px}.lp-btn{width:44px;height:44px}
  .lp-chip{height:36px;padding:0 12px;font-size:.82rem}
  .lp-vol{flex-basis:100%;justify-content:center}.lp-vol input{width:58%}
  .lp-bar em{font-size:.6rem;left:3px;top:14px}
}
@media (max-width:900px) and (min-width:521px){.lp-main{text-align:left}}
@media (max-height:700px) and (min-width:901px){
  .listen{padding:26px 0 56px}.soon-note{margin-bottom:12px;padding:7px 16px}.lp-art{max-width:300px}
  .lp-main .sec-title{font-size:2.6rem;margin-bottom:6px}.lp-main .eyebrow{margin-bottom:6px}.lp-lede{font-size:.98rem;margin-bottom:12px}
  .lp-tracks{margin-bottom:12px}.lp-track{padding:9px 12px}.lp-play{width:62px;height:62px}.lp-btn{width:44px;height:44px}
}
@media (prefers-reduced-motion:reduce){.lp.playing .lp-orb i,.lp.playing .lp-disc,.soon-dot,.lp-slide{animation:none!important}}

/* ---- §68 WR-FRAME-006 fit tiers (Wave 2026-10-26): slim, never cut ---- */
@media (min-width:901px) and (max-height:960px){
  .sec-head{margin-bottom:28px}.sec-title{font-size:clamp(2rem,3.6vw,3rem)}
  .shelves{gap:18px}.shelf{padding:20px 22px}.shelf-head{margin-bottom:10px}
}
@media (min-width:901px) and (max-height:700px){
  .sec-head{margin-bottom:18px}.sec-title{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:8px}.sec-sub{font-size:.98rem}
  .two{gap:40px}.sound-art .frame{max-height:400px;overflow:hidden}.sound-art img{max-height:400px;object-fit:cover}
  .faq details{margin:6px 0}
}
@media (min-width:521px) and (max-width:900px){
  .sec-head{margin-bottom:28px}.shelves{gap:16px}.shelf{padding:20px}
}
@media (max-width:520px) and (max-height:740px){
  .soon-note{margin-bottom:10px;padding:6px 12px}.soon-note p{font-size:.8rem}
  .lp-art{max-width:96px}.lp-phase{bottom:-14px}
  .lp-main .sec-title{font-size:1.75rem;margin:12px 0 4px}
  .lp-lede{font-size:.86rem;line-height:1.45;margin-bottom:10px}
  .lp-tracks{margin-bottom:8px}.lp-track{padding:6px 8px}
  .lp-play{width:56px;height:56px}.lp-btn{width:40px;height:40px}.lp-chip{height:34px}
}

/* ---- Real-look crystal photos (Higgsfield, Wave 2026-10-26) ---- */
.cfront{justify-content:flex-end;padding:0 0 18px;background:#fff}
.cfront .cphoto{position:absolute;inset:7px 7px auto 7px;width:calc(100% - 14px);height:70%;object-fit:cover;border-radius:calc(var(--r) - 6px) calc(var(--r) - 6px) 10px 10px;transition:transform .6s ease}
.ccard:hover .cphoto{transform:scale(1.03)}
.cfront h3,.cfront .alt,.cfront .hint{position:relative;padding:0 12px}
.cotd-photo{width:130px;height:130px;flex:none;border-radius:50%;overflow:hidden;box-shadow:0 18px 30px -12px rgba(0,0,0,.6),0 0 0 3px rgba(232,194,106,.55),0 0 0 8px rgba(255,255,255,.06)}
.cotd-photo img{width:100%;height:100%;object-fit:cover}
.geode-band{position:relative;margin:0 0 34px;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.geode-band img{display:block;width:100%;height:clamp(220px,34vw,420px);object-fit:cover}
.geode-band figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 22px 16px;background:linear-gradient(transparent,rgba(20,10,38,.88));color:#f4eefe;font-size:.98rem}
.geode-band figcaption b{color:var(--gold);font-family:var(--disp);font-size:1.25rem;margin-right:4px}
@media (max-width:520px){.cotd-photo{width:96px;height:96px}.geode-band figcaption{font-size:.86rem;padding:34px 14px 12px}}

/* ---- Earth Hum v2: slideshow · live visualizer · frequency notes (Wave 2026-10-26) ---- */
.lp-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 2.4s ease;will-change:transform,opacity}
.lp-slide.on{opacity:1}
.lp-slide.kb1{animation:kb1 14s ease-in-out forwards}.lp-slide.kb2{animation:kb2 14s ease-in-out forwards}.lp-slide.kb3{animation:kb3 14s ease-in-out forwards}.lp-slide.kb4{animation:kb4 14s ease-in-out forwards}
@keyframes kb1{from{transform:scale(1.05) translate(0,0)}to{transform:scale(1.28) translate(-4%,-3%)}}
@keyframes kb2{from{transform:scale(1.3) translate(3%,2%)}to{transform:scale(1.04) translate(0,0)}}
@keyframes kb3{from{transform:scale(1.1) translate(-5%,0)}to{transform:scale(1.24) translate(5%,-2%)}}
@keyframes kb4{from{transform:scale(1.22) translate(0,5%)}to{transform:scale(1.06) translate(0,-3%)}}
.lp-disc.slides .lp-cover{opacity:0}
.lp-viz{position:absolute;inset:-4%;width:108%;height:108%;z-index:1;pointer-events:none}
.lp-phases{display:flex;margin-top:6px}
.lp-ph{flex:0 0 var(--w);min-width:0;height:32px;padding:0 6px;border:0;background:none;color:var(--lav);font:600 .74rem var(--body);letter-spacing:.04em;text-align:left;cursor:pointer;border-radius:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-ph span{color:var(--gold);margin-left:2px}
.lp-ph:hover,.lp-ph[aria-expanded=true]{color:#fff;background:rgba(255,255,255,.07)}
.lp-ph:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
.lp-info{position:relative;margin:8px 0 2px;padding:14px 40px 12px 16px;border-radius:14px;background:rgba(20,10,38,.92);box-shadow:inset 0 0 0 1px rgba(232,194,106,.45),0 18px 40px -18px rgba(0,0,0,.8);animation:infoIn .25s ease}
@keyframes infoIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.lp-info p{margin:0}.lp-info-k{font-family:var(--caps);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)!important;margin-bottom:6px!important}
.lp-info-t{color:#f4eefe!important;font-size:.95rem;line-height:1.55}
.lp-info-n{margin-top:8px!important;font-size:.76rem;color:rgba(236,229,255,.55)!important}
.lp-info-x{position:absolute;top:6px;right:8px;width:30px;height:30px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:1.1rem;line-height:1;cursor:pointer}
.lp-times{margin-top:4px}
@media (max-width:520px){.lp-ph{font-size:.62rem;height:28px;padding:0 3px}.lp-info{padding:12px 36px 10px 12px}.lp-info-t{font-size:.86rem}.lp-times{margin-top:2px}}

/* ===== HERO v3 · full-bleed geode, fits the first screen on every device (Wave 2026-10-26) ===== */
.hero{min-height:100vh; min-height:100svh; padding:clamp(88px,13vh,128px) 0 clamp(72px,11vh,118px); align-items:center}
.hero .hero-art{position:absolute; inset:0; width:auto; max-width:none; transform:none; top:0; right:0}
.hero .hero-photo{position:absolute; inset:0; border-radius:0; box-shadow:none; height:auto}
.hero .hero-photo img{width:100%; height:100%; aspect-ratio:auto; object-fit:cover; object-position:72% 50%}
.hero .hero-photo::after{background:
  linear-gradient(90deg, var(--night) 0%, rgba(20,10,38,.9) 26%, rgba(20,10,38,.45) 50%, rgba(20,10,38,0) 72%),
  linear-gradient(180deg, rgba(20,10,38,.7) 0%, rgba(20,10,38,0) 20%, rgba(20,10,38,0) 72%, var(--night) 100%)}
.hero .hero-frame{background:none; backdrop-filter:none; -webkit-backdrop-filter:none; box-shadow:none; padding:0; max-width:620px; margin-left:max(24px, calc((100vw - 1180px)/2 + 24px))}
.hero h1{font-size:min(clamp(2.7rem,6.2vw,5.6rem), 11.5vh); text-shadow:0 2px 30px rgba(20,10,38,.6)}
.hero .lede{font-size:clamp(1rem,1.1vw + .55rem,1.18rem); margin-bottom:clamp(16px,3vh,28px); text-shadow:0 1px 18px rgba(20,10,38,.8)}
.hero .cta-row{margin-bottom:clamp(14px,2.6vh,26px); gap:12px}
.hero .chips{gap:8px}
.hero .chips a{display:inline-flex; align-items:center; gap:8px; padding:5px 14px 5px 5px; background:rgba(20,10,38,.45); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); box-shadow:inset 0 0 0 1px rgba(232,194,106,.4), 0 6px 16px -8px rgba(0,0,0,.7)}
.hero .chips img{width:28px; height:28px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 1px rgba(255,255,255,.35)}
@media (max-width:900px){
  .hero{align-items:flex-end; padding:96px 0 84px}
  .hero .hero-photo img{object-position:62% 30%}
  .hero .hero-photo::after{background:linear-gradient(180deg, rgba(20,10,38,.55) 0%, rgba(20,10,38,.1) 22%, rgba(20,10,38,.55) 48%, rgba(20,10,38,.94) 70%, var(--night) 100%)}
  .hero .hero-frame{margin:0 16px; padding:0}
  .hero h1{font-size:min(clamp(2.5rem,10.5vw,3.6rem), 8.2vh)}
}
@media (max-width:520px){ .hero .cta-row .btn{padding:12px 18px; font-size:.95rem} .hero .chips li:nth-child(n+4){display:none} }
@media (max-height:700px) and (min-width:901px){ .hero .lede{max-width:30em} .hero .chips{display:none} }
@media (max-height:700px) and (max-width:900px){ .hero .chips{display:none} .hero .lede{font-size:.95rem} }

/* ===== HOW PEOPLE USE CRYSTALS · 3D photo tiles ===== */
.uses .ugrid{gap:26px; perspective:1400px}
.utile{transform-style:preserve-3d}
.utile-in{position:relative; height:100%; border-radius:22px; overflow:hidden; background:linear-gradient(170deg,#2b1652,#160b2b);
  box-shadow:0 1px 0 rgba(255,255,255,.12) inset, 0 0 0 1px rgba(232,194,106,.42), 0 24px 40px -18px rgba(0,0,0,.85), 0 60px 80px -40px rgba(91,33,182,.55);
  transform:rotateX(0) translateZ(0); transition:transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s}
.utile:hover .utile-in, .utile:focus-within .utile-in{transform:rotateX(6deg) translateY(-8px) translateZ(20px); box-shadow:0 1px 0 rgba(255,255,255,.16) inset, 0 0 0 1px rgba(232,194,106,.7), 0 40px 60px -22px rgba(0,0,0,.9), 0 80px 110px -40px rgba(167,139,250,.6)}
.utile-ph{margin:0; aspect-ratio:4/3; overflow:hidden; position:relative}
.utile-ph img{width:100%; height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.utile:hover .utile-ph img{transform:scale(1.06)}
.utile-ph::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,#1d0f38 100%)}
.utile-tx{padding:18px 22px 24px; text-align:left}
.utile-tx h3{font-family:var(--disp); font-size:1.55rem; font-weight:600; margin:0 0 6px; color:#fff}
.utile-tx p{font-size:.94rem; line-height:1.55; color:rgba(255,255,255,.78); margin:0}
@media (prefers-reduced-motion:reduce){ .utile-in, .utile-ph img{transition:none} .utile:hover .utile-in{transform:none} }

/* ===== Photos in birthstone, quiz result, shop shelves ===== */
.birth-photo, .q-photo{margin:0; width:clamp(150px,22vw,230px); aspect-ratio:1; border-radius:20px; overflow:hidden; box-shadow:0 0 0 1px rgba(232,194,106,.55), 0 0 0 6px #fff, 0 0 0 7px rgba(232,194,106,.35), 0 26px 40px -18px rgba(40,10,70,.55)}
.q-photo{box-shadow:0 0 0 1px rgba(232,194,106,.55), 0 0 0 6px rgba(20,10,38,.7), 0 0 0 7px rgba(232,194,106,.35), 0 26px 40px -18px rgba(0,0,0,.8)}
.birth-photo img, .q-photo img{width:100%; height:100%; object-fit:cover; animation:birthIn .6s cubic-bezier(.2,.8,.2,1)}
@keyframes birthIn{from{opacity:0; transform:scale(1.06)} to{opacity:1; transform:none}}
.slots .slot{margin:0; aspect-ratio:1; border-radius:12px; overflow:hidden; box-shadow:0 0 0 1px var(--line), 0 10px 18px -12px rgba(40,10,70,.45)}
.slots .slot img{width:100%; height:100%; object-fit:cover; transition:transform .8s}
.shelf:hover .slot img{transform:scale(1.05)}
.art-fig.inline{margin:34px 0 30px}
.art-fig.inline img{border-radius:18px}
.hero .hero-photo picture{display:block; width:100%; height:100%}
.hero .hero-photo img{object-position:85% 50%; animation:none}
.hero .hero-photo::after{background:linear-gradient(90deg, var(--night) 0%, rgba(20,10,38,.82) 24%, rgba(20,10,38,.25) 48%, rgba(20,10,38,0) 62%), linear-gradient(180deg, rgba(20,10,38,.6) 0%, rgba(20,10,38,0) 18%, rgba(20,10,38,0) 74%, var(--night) 100%)}
@media (min-width:901px){ .hero .hero-frame{max-width:720px} .hero .cta-row{flex-wrap:nowrap} }
@media (max-width:900px){ .hero .hero-photo img{object-position:50% 12%} }
@media (max-width:900px){
  .hero .hero-photo::after{background:linear-gradient(180deg, rgba(20,10,38,.55) 0%, rgba(20,10,38,0) 14%, rgba(20,10,38,.35) 26%, rgba(20,10,38,.88) 40%, rgba(20,10,38,.96) 60%, var(--night) 100%)}
  .hero .eyebrow{color:#e9dcff}
}

/* ============ THE FREQUENCY MAESTRO · playable crystal bowls (Wave 2026-10-27) ============ */
.bowlroom{position:relative; padding:88px 0 56px; background:#0b0618; color:#fff; overflow:hidden; overflow:clip; isolation:isolate}
.br-bg{position:absolute; inset:0; z-index:-1}
.br-bg img{width:100%; height:100%; object-fit:cover; object-position:50% 70%; opacity:.9}
.br-bg::after{content:""; position:absolute; inset:0; background:radial-gradient(120% 70% at 50% 62%, rgba(11,6,24,.15), rgba(11,6,24,.8) 70%), linear-gradient(180deg, #0b0618 0, rgba(11,6,24,.35) 22%, rgba(11,6,24,.25) 60%, #0b0618 100%)}
.br-frame{max-width:1080px; margin:0 auto}
.br-head{text-align:center}
.br-head .eyebrow{justify-content:center}
.br-lede{margin:6px auto 0; max-width:52ch; color:#e7dcff; font-size:1.02rem}
/* set selector */
.fm-sets{display:flex; gap:6px; margin:22px auto 0; padding:4px; max-width:max-content; overflow-x:auto; scrollbar-width:none; border-radius:999px; background:rgba(255,255,255,.04); box-shadow:inset 0 0 0 1px rgba(232,194,106,.22); scroll-snap-type:x proximity}
.fm-sets::-webkit-scrollbar{display:none}
.fm-tab{flex:none; scroll-snap-align:center; height:38px; padding:0 15px; border:0; border-radius:999px; background:transparent; color:#cbbcf0; font:600 .82rem var(--body); letter-spacing:.04em; cursor:pointer; white-space:nowrap; transition:background .2s,color .2s}
.fm-tab:hover{color:#fff}
.fm-tab.on{background:linear-gradient(135deg,rgba(232,194,106,.28),rgba(232,194,106,.12)); color:var(--gold); box-shadow:inset 0 0 0 1px rgba(232,194,106,.7)}
.fm-tab:focus-visible{outline:2px solid var(--gold); outline-offset:2px}
.fm-meta{display:flex; flex-direction:column; align-items:center; gap:6px; margin:14px auto 0; max-width:64ch; text-align:center}
.fm-badge{font-family:var(--caps); font-size:.66rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); padding:3px 10px; border-radius:999px; box-shadow:inset 0 0 0 1px rgba(232,194,106,.4)}
.fm-intro{margin:0; color:#d8ccf5; font-size:.95rem; line-height:1.55}
/* bowls */
.br-stage{display:flex; flex-wrap:wrap; justify-content:center; align-items:flex-end; gap:6px 10px; margin:18px auto 4px; max-width:1040px; user-select:none; -webkit-user-select:none; --bw:180px}
.bw{--lvl:0; width:var(--bw); display:flex; flex-direction:column; align-items:center; position:relative}
.bw-hit{position:relative; display:block; width:calc(100% * var(--s,1)); max-width:100%; aspect-ratio:1; touch-action:none; -webkit-tap-highlight-color:transparent; outline:none}
.bw-hit img{position:relative; z-index:2; width:100%; height:100%; display:block; pointer-events:none; filter:brightness(calc(.92 + var(--lvl) * .22)) drop-shadow(0 14px 18px rgba(0,0,0,.55)); transform:scale(calc(1 + var(--lvl) * .012)); transition:transform .4s ease-out}
.bw-halo{position:absolute; inset:-18%; z-index:1; border-radius:50%; pointer-events:none; background:radial-gradient(closest-side, color-mix(in srgb, var(--glow) 70%, transparent), color-mix(in srgb, var(--glow) 24%, transparent) 52%, transparent 74%); opacity:calc(var(--lvl) * 1); mix-blend-mode:screen}
.bw-hit::after{content:""; position:absolute; z-index:0; left:12%; right:12%; bottom:-1%; height:10%; border-radius:50%; pointer-events:none; background:radial-gradient(closest-side, color-mix(in srgb, var(--glow) 65%, transparent), transparent); opacity:calc(.15 + var(--lvl) * .8); filter:blur(4px)}
/* the gold playable rim */
.bw-rim{position:absolute; z-index:3; border-radius:50%; pointer-events:none; border:1.6px solid rgba(232,194,106,calc(.62 + var(--lvl) * .38)); box-shadow:0 0 calc(6px + var(--lvl) * 16px) rgba(232,194,106,calc(.38 + var(--lvl) * .5)), inset 0 0 calc(2px + var(--lvl) * 8px) rgba(255,224,150,calc(.15 + var(--lvl) * .4)); transition:border-color .25s, box-shadow .25s}
.bw.rim-near .bw-rim{border-color:rgba(232,194,106,.62); box-shadow:0 0 10px rgba(232,194,106,.4)}
.bw.rim-hot .bw-rim, .bw-hit:focus-visible .bw-rim{border-color:#ffe39a; border-width:2px; box-shadow:0 0 16px rgba(255,214,120,.85), 0 0 34px rgba(232,194,106,.45), inset 0 0 10px rgba(255,224,150,.5)}
.bw-arc{position:absolute; z-index:4; border-radius:50%; pointer-events:none; opacity:0; transition:opacity .4s;
  background:conic-gradient(from calc(var(--ang,0deg) - 50deg), transparent 0deg, rgba(255,214,120,.9) 22deg, #fff 46deg, rgba(255,214,120,.9) 70deg, transparent 100deg);
  -webkit-mask:radial-gradient(closest-side, transparent 72%, #000 82%, #000 96%, transparent 100%); mask:radial-gradient(closest-side, transparent 72%, #000 82%, #000 96%, transparent 100%);
  filter:drop-shadow(0 0 6px rgba(255,214,120,.9))}
.bw.singing .bw-arc{opacity:calc(.4 + var(--lvl) * .6)}
.bw-ring{position:absolute; z-index:2; border-radius:50%; border:1.5px solid var(--glow); box-shadow:0 0 16px var(--glow); opacity:0; pointer-events:none; animation:bwring 2.4s cubic-bezier(.15,.7,.3,1) forwards}
@keyframes bwring{0%{transform:scale(.9); opacity:.9}100%{transform:scale(1.9,2.6); opacity:0}}
.bw-tag{display:flex; flex-direction:column; align-items:center; text-align:center; line-height:1.15; margin-top:2px; pointer-events:none; position:relative; z-index:5; max-width:100%}
.bw-tag b{font:600 1.35rem var(--disp); color:#fff; text-shadow:0 2px 12px rgba(0,0,0,.8); transition:color .3s; white-space:nowrap}
.bw-tag b i{font-style:normal; font-family:var(--body); font-size:.62em; font-weight:600; color:#cbbcf0}
.bw-tag em{font-style:normal; font-size:.7rem; color:#d8ccf5; letter-spacing:.02em; margin-top:1px}
.bw-tag small{font-size:.66rem; color:#a99bc9; letter-spacing:.04em; font-variant-numeric:tabular-nums}
.bw.held .bw-tag b, .bw.singing .bw-tag b{color:var(--gold)}
/* entrainment beat */
.fm-delta{margin:6px auto 0; max-width:620px; text-align:center}
.fm-eq{margin:0; font:500 1rem var(--body); color:#e7dcff; font-variant-numeric:tabular-nums}
.fm-eq span{color:#a99bc9; margin:0 6px}
.fm-eq b{font:600 1.4rem var(--disp); color:var(--gold); margin-left:4px}
.fm-wave{display:block; width:100%; height:46px}
.fm-why{margin:0; font-size:.74rem; color:#a99bc9}
.fm-extra{margin:10px auto 0; display:flex; flex-direction:column; align-items:center; gap:8px}
.fm-chips{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px}
.fm-chips > span{font-family:var(--caps); font-size:.64rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-right:4px}
.fm-chips .br-chip{height:34px; font-size:.82rem}
.fm-chips small{color:#a99bc9; font-weight:500; margin-left:4px}
/* readout + controls */
.br-now{min-height:2.4em; margin:12px 0 0; text-align:center; display:flex; flex-wrap:wrap; justify-content:center; align-items:baseline; gap:4px 10px; color:#e7dcff}
.br-now span{font-family:var(--caps); font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold)}
.br-now b{font:600 1.45rem var(--disp); color:#fff}
.br-now i{font-style:normal; font-size:.88rem; color:#cbbcf0}
.br-ctrls{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px 12px; margin:10px auto 0; width:max-content; max-width:100%; position:relative; z-index:20; padding:8px 12px; border-radius:999px; background:rgba(16,8,32,.78); box-shadow:inset 0 0 0 1px rgba(232,194,106,.28), 0 14px 30px -12px rgba(0,0,0,.8); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px)}
.br-chip{height:40px; padding:0 16px; border-radius:999px; border:0; background:rgba(255,255,255,.08); box-shadow:inset 0 0 0 1px rgba(255,255,255,.22); color:#fff; font:600 .9rem var(--body); cursor:pointer; transition:background .2s, box-shadow .2s}
.br-chip:hover{background:rgba(255,255,255,.14)}
.br-chip[aria-pressed="true"]{background:rgba(232,194,106,.2); box-shadow:inset 0 0 0 1px var(--gold); color:var(--gold)}
.br-chip.br-hush{box-shadow:inset 0 0 0 1px rgba(232,194,106,.55); color:var(--gold)}
.br-chip:focus-visible{outline:2px solid var(--gold); outline-offset:2px}
.br-chip[hidden]{display:none}
.br-vol{display:flex; align-items:center; gap:8px}.br-vol svg{width:22px; height:22px; fill:var(--lav)}
.br-vol input{width:110px; accent-color:var(--violet)}
.fm-note{max-width:64ch; margin:12px auto 0; text-align:center; font-size:.8rem; color:#b9abd9}
/* product drawer */
.fm-shop{max-width:880px; margin:26px auto 0; border-radius:20px; background:linear-gradient(180deg,rgba(36,19,64,.72),rgba(20,10,38,.82)); box-shadow:inset 0 0 0 1px rgba(232,194,106,.28), 0 24px 60px -30px rgba(0,0,0,.9); backdrop-filter:blur(6px)}
.fm-shop summary{list-style:none; cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:3px; padding:16px 44px 16px 20px; position:relative; text-align:center}
.fm-shop summary::-webkit-details-marker{display:none}
.fm-shop summary::after{content:""; position:absolute; right:20px; top:50%; width:9px; height:9px; border-right:2px solid var(--gold); border-bottom:2px solid var(--gold); transform:translateY(-70%) rotate(45deg); transition:transform .25s}
.fm-shop[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.fm-shop summary:focus-visible{outline:2px solid var(--gold); outline-offset:-2px; border-radius:20px}
.fm-shop-k{font-family:var(--caps); font-size:.68rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold)}
.fm-shop-h{font:600 1.05rem var(--disp); color:#fff}
.fm-shop-list{list-style:none; margin:0; padding:0 16px 6px; display:grid; gap:8px}
.fm-card{display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:6px 16px; padding:12px 14px; border-radius:14px; background:rgba(255,255,255,.04); box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.fm-card-t b{display:block; font-weight:600; color:#fff; font-size:.92rem}
.fm-card-t small{color:#b9abd9; font-size:.76rem}
.fm-price{font:600 1rem var(--disp); color:var(--gold); white-space:nowrap; text-align:right}
.fm-price small{display:block; font:500 .7rem var(--body); color:#a99bc9}
.fm-go{white-space:nowrap; font-size:.8rem; font-weight:700; color:#fff; text-decoration:none; padding:8px 12px; border-radius:999px; box-shadow:inset 0 0 0 1px rgba(232,194,106,.5)}
.fm-go:hover{background:rgba(232,194,106,.14)}
.fm-shop-fine{margin:4px 16px 16px; font-size:.72rem; line-height:1.55; color:#a99bc9}
.br-note{max-width:72ch; margin:22px auto 0; text-align:center; color:#a99bc9 !important}
.bowl-btn.as-link{text-decoration:none; display:inline-flex; align-items:center; gap:8px}
@media (max-width:900px){ .bowlroom{padding:64px 0 44px} }
.br-ctrls.float{position:fixed; left:50%; bottom:calc(12px + env(safe-area-inset-bottom)); transform:translateX(-50%); margin:0; max-width:calc(100% - 24px); animation:fmFloatIn .25s ease-out}
@keyframes fmFloatIn{from{opacity:0; transform:translate(-50%,10px)}to{opacity:1; transform:translate(-50%,0)}}
.br-ctrls-spacer{display:none}.br-ctrls-spacer.on{display:block}
@media (max-width:620px){
  .fm-sets{max-width:100%; border-radius:16px; margin-left:-4px; margin-right:-4px}
  .fm-tab{height:40px; padding:0 13px}
  .fm-intro{font-size:.88rem}
  .bw-tag b{font-size:1.12rem}.bw-tag em{font-size:.62rem}.bw-tag small{font-size:.6rem}
  .br-chip{height:38px; padding:0 13px; font-size:.84rem}
    .br-ctrls{border-radius:18px; gap:8px; padding:8px}
  .br-vol{flex-basis:100%; justify-content:center}.br-vol input{width:58%}
  .fm-card{grid-template-columns:1fr auto; }
  .fm-card .fm-go{grid-column:1 / -1; justify-self:start}
  .br-now b{font-size:1.2rem}.br-now i{font-size:.8rem}
}
@media (prefers-reduced-motion:reduce){ .bw-hit img,.bw-arc,.fm-tab{transition:none} }
