/* ===== Turīya·Sūtra — shared site shell ===== */
:root{
  --bg:#08070f;--bg2:#0d0b16;--raised:#151222;--raised2:#1c1830;--line:#2c2440;--line-soft:#241d34;
  --ink:#ece7f6;--ink-dim:#b7adcf;--ink-faint:#7d7299;--gold:#e8c45a;--gold-deep:#b08a2c;
  --ether:#a99bf2;--air:#5fb9a8;--fire:#dd7045;--water:#7c97d6;--earth:#d8af52;--core:#c9b4f5;--reson:#6fcfc0;
  --shadow:0 18px 40px -22px rgba(0,0,0,.85);
  --font-d:'Cormorant Garamond',serif;--font-b:'Spectral',serif;--font-l:'Marcellus',serif;
}
/* ---------- content pages (body.bs-content) ---------- */
body.bs-content{margin:0;background:radial-gradient(1200px 820px at 80% -10%, rgba(232,196,90,.06), transparent 60%),radial-gradient(900px 640px at 4% 108%, rgba(169,155,242,.06), transparent 55%),var(--bg);color:var(--ink);font-family:var(--font-b);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased}
body.bs-content::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.bs-wrap{position:relative;z-index:1;max-width:1080px;margin:0 auto;padding:0 clamp(18px,4vw,32px)}
/* top nav */
.bs-nav{position:sticky;top:0;z-index:50;background:linear-gradient(180deg,rgba(8,7,15,.96),rgba(8,7,15,.7));backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bs-nav .row{max-width:1080px;margin:0 auto;display:flex;align-items:center;gap:16px;padding:12px clamp(18px,4vw,32px)}
.bs-brand{display:flex;align-items:center;gap:11px;text-decoration:none;margin-right:auto}
.bs-brand .seal{width:38px;height:38px;border-radius:50%;border:1px solid var(--gold-deep);display:grid;place-items:center;background:radial-gradient(circle at 50% 35%, rgba(232,196,90,.2), rgba(232,196,90,.02))}
.bs-brand .seal svg{width:24px;height:24px}
.bs-brand b{font-family:var(--font-d);font-weight:600;font-size:23px;color:var(--ink);letter-spacing:.4px;line-height:1}
.bs-brand .tag{font-family:var(--font-l);font-size:9.5px;letter-spacing:2.6px;text-transform:uppercase;color:var(--gold);display:block;margin-top:3px}
.bs-links{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.bs-links a{font-family:var(--font-l);font-size:13px;letter-spacing:.4px;color:var(--ink-dim);text-decoration:none;padding:7px 11px;border-radius:8px;transition:.15s}
.bs-links a:hover{color:var(--ink);background:var(--raised)}
.bs-links a.cta{color:#1a1408;background:linear-gradient(180deg,var(--gold),var(--gold-deep))}
.bs-links a.cta:hover{filter:brightness(1.07)}
.bs-burger{display:none;background:var(--raised);border:1px solid var(--line);border-radius:9px;color:var(--ink);font-size:18px;padding:6px 11px;cursor:pointer}
@media(max-width:820px){.bs-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--bg2);border-bottom:1px solid var(--line);padding:8px}.bs-links.open{display:flex}.bs-links a{padding:11px}.bs-burger{display:block}}
/* footer */
.bs-foot{position:relative;z-index:1;border-top:1px solid var(--line);margin-top:72px;background:linear-gradient(180deg,transparent,rgba(13,11,22,.5))}
.bs-foot .row{max-width:1080px;margin:0 auto;padding:34px clamp(18px,4vw,32px);display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:26px}
.bs-foot h6{font-family:var(--font-l);font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-faint);margin:0 0 12px}
.bs-foot a{display:block;color:var(--ink-dim);text-decoration:none;font-size:14px;padding:3px 0}
.bs-foot a:hover{color:var(--gold)}
.bs-foot .blurb{color:var(--ink-faint);font-size:13.5px;line-height:1.6;max-width:34ch}
.bs-foot .legal{max-width:1080px;margin:0 auto;padding:14px clamp(18px,4vw,32px) 30px;border-top:1px solid var(--line-soft);color:var(--ink-faint);font-size:12px;line-height:1.6}
@media(max-width:720px){.bs-foot .row{grid-template-columns:1fr;gap:22px}}
/* ---------- immersive pages: floating menu ---------- */
#bsfab{position:fixed;left:16px;bottom:16px;z-index:9998;display:flex;align-items:center;gap:8px;background:rgba(13,11,22,.9);backdrop-filter:blur(12px);border:1px solid var(--gold-deep);border-radius:30px;padding:8px 14px 8px 11px;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.6);font-family:var(--font-l);font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold)}
#bsfab:hover{background:rgba(28,24,48,.95)}
#bsfab .dot{width:18px;height:18px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center}
#bsfab .dot svg{width:12px;height:12px}
/* slide-over + unlock share scrim */
.bs-scrim{position:fixed;inset:0;z-index:10000;background:rgba(5,4,11,.86);backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;padding:5vh 16px}
.bs-scrim.show{display:flex}
.bs-sheet{background:linear-gradient(180deg,var(--raised2),var(--bg2));border:1px solid var(--line);border-radius:18px;max-width:560px;width:100%;padding:26px clamp(20px,4vw,34px);position:relative;box-shadow:var(--shadow);max-height:88vh;overflow:auto}
.bs-sheet .x{position:absolute;top:12px;right:15px;background:none;border:none;color:var(--ink-faint);font-size:27px;line-height:1;cursor:pointer}
.bs-sheet .ey{font-family:var(--font-l);font-size:10.5px;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}
.bs-sheet h3{font-family:var(--font-d);font-weight:500;font-size:30px;margin:6px 0 14px;line-height:1.04}
.bs-menu{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bs-menu a{display:flex;flex-direction:column;gap:2px;text-decoration:none;background:var(--raised);border:1px solid var(--line);border-radius:11px;padding:12px 13px;transition:.15s}
.bs-menu a:hover{border-color:var(--gold-deep)}
.bs-menu a b{font-family:var(--font-d);font-weight:500;font-size:18px;color:var(--ink)}
.bs-menu a span{font-size:12px;color:var(--ink-faint);font-family:var(--font-b)}
.bs-menu a.full{grid-column:1/-1}
.bs-pill{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-l);font-size:11px;letter-spacing:1px;text-transform:uppercase;border-radius:30px;padding:5px 11px;margin-top:16px}
.bs-pill.free{color:var(--ink-faint);border:1px solid var(--line)}
.bs-pill.prem{color:#1a1408;background:linear-gradient(180deg,var(--gold),var(--gold-deep))}
.bs-sheet p{color:var(--ink-dim);font-size:14.5px}
.bs-unlock-cta{display:inline-block;margin-top:8px;text-decoration:none;text-align:center;padding:13px 18px;background:linear-gradient(90deg,var(--gold-deep),var(--gold));color:#1a1408;font-family:var(--font-l);letter-spacing:2px;text-transform:uppercase;font-size:12px;border-radius:9px;border:none;cursor:pointer}

/* ===== motion & polish ===== */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}
.rv{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
::selection{background:rgba(232,196,90,.28);color:var(--ink)}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}::view-transition-old(root),::view-transition-new(root){animation:none}}

/* ===== plain document / policy pages ===== */
.bs-doc{position:relative;z-index:1;max-width:750px;margin:0 auto;padding:clamp(30px,5vw,56px) clamp(18px,4vw,32px) 0}
.bs-doc .eye{font-family:var(--font-l);font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold)}
.bs-doc h1{font-family:var(--font-d);font-weight:500;font-size:clamp(32px,5.5vw,50px);line-height:1.04;margin:12px 0 6px}
.bs-doc .upd{color:var(--ink-faint);font-size:13px;margin:0 0 24px}
.bs-doc h2{font-family:var(--font-d);font-weight:500;font-size:clamp(21px,3vw,28px);margin:34px 0 6px;line-height:1.12}
.bs-doc p,.bs-doc li{color:var(--ink-dim);font-size:16px;line-height:1.62}
.bs-doc b{color:var(--ink)}
.bs-doc ul{padding-left:20px;margin:8px 0}
.bs-doc li{margin:5px 0}
.bs-doc a{color:var(--gold)}
.bs-doc .box{border:1px solid rgba(216,162,58,.4);background:rgba(216,162,58,.07);border-radius:12px;padding:14px 16px;color:#e6cf9a;font-size:14.5px;line-height:1.6;margin:16px 0}
.bs-doc dl{margin:10px 0}
.bs-doc dt{font-family:var(--font-l);font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--ink-faint);margin-top:14px}
.bs-doc dd{margin:3px 0 0;color:var(--ink);font-size:17px}
