/* Alive Rituals: MODERN DUSK ROSE theme (default).
   Applied when <html> has class "m" (set in index.html unless ?mood=… is given).
   Fonts: Instrument Serif (display, used sparingly) + Inter (everything else).
   Palette: plum night #3B2531 · dusk mauve #8E5C72 · rose #C98A95 · peach #F2B9A0
            nude accent #E2BBA6 · nude deep #9A5F4E · plum ink #3A2530 · blush #FAF1EC · paper #FFF8F5 */

.m body{
  --serif:"Instrument Serif", "Times New Roman", serif;
  --sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --night:#3B2531; --night-rgb:59,37,49; --night-2:#4A2F3D; --night-deep:#2C1B25; --panel:#46303B;
  --cream:#FBF1EC; --cream-rgb:251,241,236; --stone:#D7BFBA;
  --gold:#E2BBA6; --gold-rgb:226,187,166; --gold-hi:#ECCBB9; --gold-deep:#9A5F4E;
  --charcoal:#3A2530; --char-rgb:58,37,48; --sand:#F1DFD6;
  --page:#FAF1EC; --page-rgb:250,241,236; --paper:#FFF8F5; --quote:#7B5560;
  --glow-rgb:242,176,150; --mauve:#8E5C72; --rose:#C98A95; --peach:#F2B9A0;
  --ink-soft:rgba(var(--cream-rgb),.82); --ink-faint:rgba(var(--cream-rgb),.62);
  --line:rgba(var(--cream-rgb),.14);
  --r-lg:28px; --r-md:20px; --r-sm:14px;
  font-family:var(--sans); font-weight:400; font-size:16px; letter-spacing:-.006em; line-height:1.6;
  background:var(--night) linear-gradient(180deg,#3B2531 0%,#4A2E3D 45%,#5A3747 100%) fixed;
}
.m body[data-view=focus]{background:var(--page)}
.m .glow{animation:none;opacity:1;
  background:radial-gradient(70vmax 50vmax at 15% -10%, rgba(242,176,150,.16), transparent 60%),
             radial-gradient(70vmax 60vmax at 100% 110%, rgba(142,92,114,.35), transparent 60%)}
.m .grain{opacity:.045}

/* ---------- type ---------- */
.m .eyebrow{font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.01em;text-transform:none;color:var(--gold);margin-bottom:14px}
.m .eyebrow.dark{color:var(--gold-deep)}
.m .h1,.m .h2,.m .display,.m .greeting,.m .q-title,.m .result h2{font-family:var(--serif);font-weight:400;font-style:normal;letter-spacing:-.015em}
.m .h1{font-size:clamp(40px,6vw,68px);line-height:1.04}
.m .h2{font-size:clamp(32px,4.4vw,50px);line-height:1.06}
.m .h1 em,.m .h2 em,.m .greeting em,.m .q-title em,.m .result h2 em{font-style:normal;color:var(--gold)}
.m .day .h2 em,.m .final-cta .h2 em{color:var(--gold-deep)}
.m .display{font-size:clamp(84px,12vw,148px);letter-spacing:-.02em;line-height:.9;margin-left:-.02em}
.m .lede{font-size:clamp(16px,1.5vw,18px);color:var(--ink-soft);line-height:1.6}
.m em{font-style:normal}

/* ---------- topbar & nav ---------- */
.m .topbar{background:linear-gradient(to bottom, rgba(var(--night-rgb),.85), rgba(var(--night-rgb),0))}
.m .brand img{height:30px}
.m .nav{gap:6px;font-size:14px;letter-spacing:0;text-transform:none;font-weight:450}
.m .nav a{padding:8px 14px;border-radius:999px;transition:background .3s,color .3s}
.m .nav a.active{background:rgba(var(--cream-rgb),.10)}
.m .nav a.active::after{display:none}
.m body[data-view=focus] .nav a.active{background:rgba(var(--char-rgb),.07)}
.m .icon-btn{border-color:rgba(var(--cream-rgb),.16);background:rgba(var(--cream-rgb),.04)}

/* ---------- buttons ---------- */
.m .btn{font-family:var(--sans);font-size:15px;font-weight:500;letter-spacing:-.005em;text-transform:none;padding:15px 26px}
.m .btn-gold{background:var(--gold);color:var(--charcoal)}
.m .btn-gold:hover{background:var(--gold-hi);box-shadow:none;transform:translateY(-1px)}
.m .btn-dark{background:var(--charcoal);color:var(--cream)}
.m .btn-dark:hover{background:#2a1a22}
.m .text-btn{font-size:14px;letter-spacing:0;text-transform:none;color:var(--ink-soft);text-decoration:underline;text-decoration-color:rgba(var(--cream-rgb),.3);text-underline-offset:4px}

/* ---------- THE ROOM ---------- */
.m .candle-stage{display:none}
.m .room{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr;grid-template-areas:"copy" "dusk" "doors" "table";
  align-items:center;justify-items:stretch;text-align:left;gap:0;padding:3vh var(--pad) 96px;min-height:calc(100vh - 84px)}
.m .room-copy{grid-area:copy;max-width:620px}
.m .room-copy .eyebrow{color:var(--gold);font-size:13px;letter-spacing:.01em}
.m .greeting{font-size:clamp(46px,7.2vw,86px);line-height:1;margin:0 0 20px;filter:none}
.m .room .lede{margin:0;max-width:30em}
.m .dusk{grid-area:dusk;display:block;position:relative;width:100%;aspect-ratio:5/4;border-radius:32px;overflow:hidden;margin-top:30px;
  isolation:isolate;box-shadow:0 30px 60px -30px rgba(20,8,14,.55);opacity:0;animation:rise 2.4s .9s var(--ease) forwards}
.m .sky{position:absolute;inset:0;background:linear-gradient(180deg,#5E3A55 0%,#86566F 22%,#B97C8D 42%,#DE9E9A 58%,#F2BDA5 68%,#F8D6C0 76%,#F9DCC6 100%);
  background-size:100% 125%;animation:skyShift 26s ease-in-out infinite alternate}
@keyframes skyShift{0%{background-position:50% 0%}100%{background-position:50% 100%}}
.m .sun{position:absolute;left:50%;top:47%;width:44%;aspect-ratio:1;margin-left:-21%;border-radius:50%;z-index:1;
  background:radial-gradient(circle at 50% 46%, #FFF3EA 0%, #FFE4D2 34%, rgba(250,205,182,.95) 52%, rgba(248,196,172,.45) 62%, rgba(248,196,172,0) 72%);
  animation:sunDrift 20s ease-in-out infinite alternate}
@keyframes sunDrift{0%{transform:translateY(-6%)}100%{transform:translateY(12%)}}
.m .horizon{position:absolute;left:0;right:0;bottom:0;height:28%;z-index:2;
  background:linear-gradient(180deg, rgba(196,128,140,.88) 0%, rgba(140,86,108,.95) 40%, rgba(92,56,76,1) 100%);
  border-top:1px solid rgba(255,226,210,.35)}
.m .shimmer{position:absolute;left:50%;top:0;width:46%;height:60%;margin-left:-23%;
  background:radial-gradient(ellipse at 50% 0%, rgba(255,222,204,.55), rgba(255,222,204,0) 65%);filter:blur(2px);animation:shimmer 7s ease-in-out infinite}
@keyframes shimmer{0%,100%{opacity:.75;transform:scaleX(1)}50%{opacity:1;transform:scaleX(1.08)}}
.m .dusk-grain{position:absolute;inset:0;z-index:3;opacity:.16;mix-blend-mode:overlay;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.m .doors{grid-area:doors;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px;max-width:none}
.m .door{position:relative;flex-direction:column;align-items:flex-start;text-align:left;gap:6px;padding:22px 56px 22px 22px;border-radius:var(--r-md);
  border:1px solid rgba(var(--cream-rgb),.12);background:rgba(var(--cream-rgb),.07);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.m .door:hover{background:rgba(var(--cream-rgb),.12);border-color:rgba(var(--cream-rgb),.22);transform:translateY(-2px)}
.m .door::after{content:"→";position:absolute;right:20px;top:50%;width:32px;height:32px;margin-top:-16px;border-radius:50%;display:grid;place-items:center;
  background:rgba(var(--cream-rgb),.1);font-size:15px;color:var(--cream);transition:all .4s}
.m .door:hover::after{background:var(--gold);color:var(--charcoal)}
.m .door-k{display:none}
.m .door-t{font-family:var(--sans);font-size:17px;font-weight:500;letter-spacing:-.01em}
.m .door-s{font-size:14px;color:var(--ink-faint);padding:0;flex-basis:auto}
.m .on-the-table{grid-area:table;justify-self:start;margin-top:22px;padding:10px 16px 10px 10px;border-radius:999px;background:rgba(var(--cream-rgb),.06);
  border:1px solid rgba(var(--cream-rgb),.1);font-size:14px;color:var(--ink-soft);letter-spacing:0}
.m .ott-line{width:26px;height:26px;border-radius:50%;background:linear-gradient(160deg,var(--peach),var(--rose))}
.m .on-the-table em{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:0;color:var(--cream)}
@media (min-width:900px){
  .m .room{grid-template-columns:1.05fr 1fr;grid-template-areas:"copy dusk" "doors doors" "table table";column-gap:56px}
  .m .dusk{margin-top:0;aspect-ratio:1/0.92}
}

/* ---------- QUIZ ---------- */
.m .q-kicker{font-size:13px;letter-spacing:.01em;text-transform:none;color:var(--gold);font-weight:500}
.m .q-title{font-size:clamp(34px,5vw,52px);line-height:1.08}
.m .q-progress i{width:22px;height:4px;border-radius:4px}
.m .q-progress i.now{box-shadow:none;background:var(--cream)}
.m .q-opt{font-size:16px;padding:18px 22px;border-radius:18px;background:rgba(var(--cream-rgb),.07);border-color:rgba(var(--cream-rgb),.12);font-weight:400}
.m .q-opt:hover,.m .q-opt:focus-visible{background:rgba(var(--cream-rgb),.13);border-color:rgba(var(--cream-rgb),.28);padding-left:22px;transform:translateY(-1px)}
.m .q-opt.picked{background:var(--gold);color:var(--charcoal);border-color:var(--gold)}
.m .q-intro p{color:var(--ink-soft)}
.m .result-mark{animation:none;width:36px;height:36px}
.m .result h2{font-size:clamp(38px,5.6vw,58px);line-height:1.04}
.m .result .reading{font-family:var(--sans);font-style:normal;font-size:17px;line-height:1.65;color:var(--ink-soft)}
.m .result-card{border-radius:var(--r-lg);border:1px solid rgba(var(--cream-rgb),.14);background:rgba(var(--cream-rgb),.08);padding:28px}
.m .result-card h3{font-family:var(--serif);font-size:38px;letter-spacing:-.01em;line-height:1}
.m .result-card .soon{font-size:13px;font-weight:500;letter-spacing:.01em;text-transform:none}
.m .tonight{border-left:none;border-radius:var(--r-md);background:rgba(var(--cream-rgb),.05);padding:20px 22px}
.m .tonight strong{font-size:13px;letter-spacing:.01em;text-transform:none;font-weight:600;color:var(--gold)}
.m .gentle-flag{border-radius:var(--r-md);background:rgba(var(--cream-rgb),.08)}
.m .inline-form input{background:rgba(var(--cream-rgb),.08);border-color:rgba(var(--cream-rgb),.16)}

/* ---------- COMPANION ---------- */
.m .presence{background:rgba(var(--cream-rgb),.08);border-color:rgba(var(--cream-rgb),.14)}
.m .presence-flame{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 40% 35%, #FFEDE2, var(--peach) 50%, var(--rose));
  box-shadow:none;animation:orbBreath 5s ease-in-out infinite}
@keyframes orbBreath{0%,100%{transform:scale(.92)}50%{transform:scale(1.06)}}
.m .chat-name{font-family:var(--serif);font-size:28px}
.m .chat-sub{font-size:12.5px;letter-spacing:0}
.m .msg.bot{font-family:var(--sans);font-size:16px;line-height:1.55;background:rgba(var(--cream-rgb),.09);padding:12px 16px;border-radius:20px 20px 20px 6px;color:var(--cream);max-width:86%}
.m .msg.user{background:var(--gold);color:var(--charcoal);border:none;border-radius:20px 20px 6px 20px;font-size:15.5px}
.m .msg.bot.crisis{background:rgba(var(--cream-rgb),.12);border:1px solid rgba(var(--gold-rgb),.55);border-radius:var(--r-md)}
.m .msg.bot.crisis a{border-radius:16px}
.m .typing i{background:var(--cream);opacity:.4}
.m .chip{background:rgba(var(--cream-rgb),.08);border:1px solid rgba(var(--cream-rgb),.18);font-size:14px}
.m .chip:hover{background:rgba(var(--cream-rgb),.16);border-color:rgba(var(--cream-rgb),.3)}
.m .chat-input{border-radius:26px;background:rgba(var(--cream-rgb),.08);border-color:rgba(var(--cream-rgb),.16)}
.m .chat-head{border-bottom-color:rgba(var(--cream-rgb),.12)}
.m .chat-head .text-btn{font-size:13px}

/* ---------- FOCUS (light) ---------- */
.m .day{--ink-soft:rgba(var(--char-rgb),.76)}
.m .ph-sub{color:rgba(var(--char-rgb),.78)}
.m .ph-quote{font-family:var(--serif);font-size:26px;color:var(--quote);line-height:1.25}
.m .price-note{color:rgba(var(--char-rgb),.6)}
.m .still-life{border-radius:32px;background:radial-gradient(circle at 70% 20%, #FFF6F1, var(--sand) 70%, #EBCFC4 100%);box-shadow:none}
.m .still-life::after{background:radial-gradient(ellipse at 80% 12%, rgba(255,220,200,.45), transparent 50%)}
.m .sl-card span,.m .sl-pouch span{font-family:var(--serif);font-style:normal}
.m .sl-book span{font-family:var(--serif);letter-spacing:.04em;padding-left:0;font-size:clamp(20px,2.6vw,30px)}
.m .sl-book small,.m .sl-lid span{font-family:var(--sans);letter-spacing:.04em;text-transform:none;font-size:8px}
.m .section{border-top-color:rgba(var(--char-rgb),.08)}
.m .inside{border-radius:24px;background:var(--paper);box-shadow:0 1px 2px rgba(var(--char-rgb),.04),0 18px 40px -28px rgba(var(--char-rgb),.25)}
.m .inside-n{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:0;color:var(--gold-deep)}
.m .inside h3{font-family:var(--serif);font-weight:400;font-size:30px;letter-spacing:-.01em;line-height:1.05}
.m .week{border-radius:24px;border-color:rgba(var(--char-rgb),.1);background:rgba(255,255,255,.35)}
.m .week::before{background:radial-gradient(circle, rgba(242,176,150,.35), transparent 70%)}
.m .week-k{font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--gold-deep)}
.m .week h3{font-family:var(--serif);font-size:36px;letter-spacing:-.01em}
.m .week-list{font-family:var(--sans)!important;font-style:normal;font-size:14px!important;color:var(--quote)!important}
.m .steps li::before{font-family:var(--sans);font-size:15px;font-weight:600;border-color:rgba(var(--char-rgb),.2);background:var(--paper);color:var(--gold-deep)}
.m .steps li:not(:last-child)::after{background:rgba(var(--char-rgb),.12)}
.m .steps li span{font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--gold-deep)}
.m .rcard .face{border-radius:20px}
.m .rcard .front{background:var(--paper);border:1px solid rgba(var(--char-rgb),.08)}
.m .rcard .front::before{display:none}
.m .rcard .front p{font-family:var(--serif);font-size:clamp(19px,1.9vw,24px);line-height:1.15;letter-spacing:-.01em}
.m .rcard .tag{font-family:var(--sans);font-size:11.5px;letter-spacing:0;text-transform:none;font-weight:500;color:var(--gold-deep)}
.m .rcard .back .tag{color:var(--gold)}
.m .rcard.moment .front{background:var(--sand)}
.m .pouch-art{border-radius:32px;background:linear-gradient(160deg,#5A3850,#3B2531)}
.m .pouch-bag span{font-family:var(--serif);font-style:normal;color:#5a4048}
.m .pouch-list li{border-bottom-color:rgba(var(--char-rgb),.1)}
.m .honest h3{font-family:var(--serif);font-size:32px}
.m body[data-view=focus] .footer{background:var(--charcoal)}
.m .final-cta .h2{font-size:clamp(34px,4.6vw,54px)}

/* ---------- FOUNDING ---------- */
.m .f-card{border-radius:var(--r-lg);border:1px solid rgba(var(--cream-rgb),.16);background:rgba(var(--cream-rgb),.08);box-shadow:0 30px 60px -40px rgba(20,8,14,.6)}
.m .f-price .now{font-family:var(--serif);font-size:64px;letter-spacing:-.02em}
.m .f-price .tag{font-size:12.5px;font-weight:600;letter-spacing:0;text-transform:none}
.m .f-field legend,.m .f-field>label{font-size:13px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink-soft)}
.m .seg span{border-radius:var(--r-sm);background:rgba(var(--cream-rgb),.04)}
.m .seg input:checked+span{background:rgba(var(--cream-rgb),.14);border-color:var(--gold)}
.m .f-total span{font-size:13px;letter-spacing:0;text-transform:none;color:var(--ink-soft)}
.m .f-total strong{font-family:var(--serif);font-size:32px}
.m .f-list li::before{clip-path:none;border-radius:50%;width:7px;height:7px;top:22px;background:var(--gold)}
.m .f-field textarea{background:rgba(var(--cream-rgb),.06)}

/* ---------- ABOUT ---------- */
.m .prose p{font-size:17px;line-height:1.7}
.m .beliefs div{border-radius:var(--r-md);background:rgba(var(--cream-rgb),.06);border-color:rgba(var(--cream-rgb),.1)}
.m .beliefs h3{font-family:var(--serif);font-size:26px;line-height:1.1}
.m .beliefs p{color:var(--ink-soft)}
.m .signoff{font-family:var(--serif);font-size:28px;color:var(--gold)}

/* ---------- footer, support, sheet, breathing ---------- */
.m .footer{font-size:14px;border-top-color:rgba(var(--cream-rgb),.1)}
.m .support-link{background:rgba(var(--night-rgb),.85);border-color:rgba(var(--cream-rgb),.2);font-size:13px;letter-spacing:0;font-weight:500}
.m .support-link::before{background:var(--peach)}
.m .sheet-panel,.m .modal-panel{background:var(--panel);border-color:rgba(var(--cream-rgb),.12);border-radius:28px 28px 0 0}
.m .modal-panel{border-radius:28px}
.m .helpline{border-radius:var(--r-md)}
.m .hl-name{font-size:13px;letter-spacing:0;text-transform:none;font-weight:600}
.m .hl-num{font-family:var(--serif);font-size:46px;font-weight:400}
.m .breathe{background:linear-gradient(180deg,#3B2531,#5A3850 60%,#8E5C72)}
.m .orb{background:radial-gradient(circle at 50% 42%, #FFF1E6, #F9C6AE 45%, rgba(201,138,149,.5) 68%, transparent 72%);filter:blur(4px)}
.m .orb-ring{border-color:rgba(var(--cream-rgb),.2)}
.m .breathe-word{font-family:var(--serif);font-style:normal;font-size:46px}

/* ---------- responsive ---------- */
@media (max-width:860px){
  .m .nav{background:rgba(var(--night-rgb),.97);gap:10px}
  .m .nav a{font-family:var(--serif);font-size:34px;padding:4px 18px}
  .m .nav a.active{background:none;color:var(--gold)!important}
}
@media (max-width:640px){
  .m .greeting{font-size:50px}
  .m .doors{grid-template-columns:1fr;gap:10px;margin-top:22px}
  .m .door{flex-direction:column;align-items:flex-start;padding:18px 60px 18px 20px}
  .m .door-s{padding-left:0}
  .m .dusk{aspect-ratio:4/3;border-radius:28px;margin-top:26px}
  .m .msg.bot{font-size:15.5px}
}
.m .sl-pouch{background:linear-gradient(160deg,#F5E4DB,#E5C6B8)}
.m .pouch-bag{background:linear-gradient(160deg,#F7E7DF,#E3C3B4)}
.m .sl-jar{background:linear-gradient(90deg,#E9D9D2,#FBF3EE 40%,#EEDFD8 75%,#D2BDB4)}
