/* ── FONTS ── */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/playfair-display-700.woff2') format('woff2');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('../fonts/playfair-display-900.woff2') format('woff2');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/playfair-display-700italic.woff2') format('woff2');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-italic-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-italic-600.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/dm-sans-300.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/dm-sans-400.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/dm-sans-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Tiro Devanagari Hindi';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/tiro-devanagari-hindi-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Tiro Devanagari Hindi';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/tiro-devanagari-hindi-italic.woff2') format('woff2');
}

/* ── TOKENS ── */
:root{
  --m950:#150010;--m900:#220018;--m800:#3d0030;--m700:#5c0048;
  --m600:#7a0060;--m500:#960078;--m400:#b20090;
  --y400:#f9a8d4;--y300:#fbcfe8;--y200:#fce7f3;
  --txt:rgba(253,232,245,1);--muted:rgba(253,232,245,.5);
  --fd:'Playfair Display',serif;
  --fa:'Cormorant Garamond',serif;
  --fb:'DM Sans',sans-serif;
  --fh:'Tiro Devanagari Hindi',serif;
}
[data-theme="crimson"]{
  --m950:#140008;--m900:#200010;--m800:#3d0018;--m700:#5e0025;
  --m600:#8b0032;--m500:#a8003d;--m400:#c5004a;
  --y400:#ffc700;--y300:#ffe066;--y200:#fff0aa;
  --txt:rgba(253,242,210,1);--muted:rgba(253,242,210,.5);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--m950);color:var(--txt);font-family:var(--fb);font-weight:300;overflow-x:hidden}
body::after{content:'';position:fixed;inset:0;z-index:9000;pointer-events:none;opacity:.28;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='256' height='256' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E")}
.cursor{position:fixed;width:10px;height:10px;background:var(--y400);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);mix-blend-mode:difference}
.cursor-ring{position:fixed;width:34px;height:34px;border:1px solid rgba(255,199,0,.45);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .2s,height .2s}
@media(pointer:coarse){.cursor,.cursor-ring{display:none}}
canvas#pts{position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.3}
.container{max-width:1140px;margin:0 auto;padding:0 1.25rem}
.gold{color:var(--y400)}
.reveal,.fc,.persona,.tl-item,.faq-item{opacity:0;transform:translateY(28px)}
.reveal.in,.fc.in,.persona.in,.tl-item.in,.faq-item.in{opacity:1;transform:translateY(0);transition:opacity .6s ease,transform .6s ease}
.persona.in{transition:opacity .65s ease,transform .65s ease}

/* ── HERO ── */
#hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:7rem 1.25rem 5rem;position:relative;overflow:hidden}
#hero::before{content:'';position:absolute;top:-8%;right:-12%;width:min(80vw,680px);aspect-ratio:1;background:radial-gradient(ellipse,var(--m600) 0%,transparent 68%);border-radius:50%;opacity:.5;pointer-events:none}
#hero::after{content:'';position:absolute;bottom:-5%;left:-8%;width:min(55vw,420px);aspect-ratio:1;background:radial-gradient(ellipse,rgba(255,199,0,.12) 0%,transparent 70%);border-radius:50%;pointer-events:none}
.mandala-bg{position:absolute;right:-14vw;top:50%;transform:translateY(-50%);width:min(88vw,660px);opacity:.065;animation:spin 80s linear infinite;pointer-events:none}
.mandala-bg2{position:absolute;left:-18vw;bottom:-12%;width:min(65vw,480px);opacity:.04;animation:spin 120s linear infinite reverse;pointer-events:none}
.hero-heading-row{display:flex;align-items:center;gap:clamp(1.5rem,4vw,3.5rem);margin-bottom:.5rem;position:relative}
.hero-logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:clamp(8rem,28vw,22rem);width:auto;filter:blur(2.5px);opacity:.22;z-index:0;pointer-events:none}
.hero-text-col{display:flex;flex-direction:column;align-items:flex-start;position:relative;z-index:1}
.hero-pill{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--y400);color:var(--y400);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;padding:.38rem 1rem;border-radius:100px;margin-bottom:1.75rem;opacity:0;animation:up .6s ease forwards .2s;width:fit-content}
.hero-pill::before{content:'✦';font-size:.55rem}
.hero-hn{font-family:var(--fd);font-size:clamp(3rem,10.5vw,7.8rem);font-weight:900;line-height:.92;letter-spacing:-.03em;opacity:0;animation:up .7s ease forwards .4s;position:relative;z-index:1}
.hero-hn em{font-style:italic;color:var(--y400);display:block;text-shadow:0 0 100px rgba(255,199,0,.22)}
.hero-hi{font-family:var(--fh);font-size:clamp(.9rem,2.4vw,1.2rem);color:rgba(255,199,0,.38);letter-spacing:.04em;margin-top:1.4rem;opacity:0;animation:up .6s ease forwards .55s}
.hero-sub{margin-top:1.65rem;font-family:var(--fa);font-style:italic;font-size:clamp(1rem,2.4vw,1.28rem);color:var(--muted);max-width:44ch;line-height:1.72;opacity:0;animation:up .7s ease forwards .65s;position:relative;z-index:1}
.hero-div{width:100%;height:24px;margin:1.65rem 0;opacity:0;animation:up .5s ease forwards .8s}
.carousel-wrap{position:relative;opacity:0;animation:up .7s ease forwards 1s;width:100%;overflow:hidden;mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%)}
.carousel-track{display:flex;gap:1rem;width:max-content;animation:slide 38s linear infinite}
.carousel-track:hover{animation-play-state:paused}
.cc{flex-shrink:0;width:232px;background:rgba(139,0,50,.18);border:1px solid rgba(255,199,0,.18);border-radius:16px;padding:1.2rem 1.35rem;position:relative;overflow:hidden;backdrop-filter:blur(12px);transition:border-color .25s,transform .25s,box-shadow .25s}
.cc:hover{border-color:rgba(255,199,0,.5);transform:translateY(-5px);box-shadow:0 16px 48px rgba(0,0,0,.45)}
.cc::before{content:'';position:absolute;top:0;left:0;right:0;height:1.5px;background:linear-gradient(90deg,transparent,var(--y400),transparent);opacity:0;transition:opacity .25s}
.cc:hover::before{opacity:1}
.cc-icon{font-size:1.55rem;margin-bottom:.7rem}
.cc-title{font-family:var(--fd);font-size:.93rem;font-weight:700;margin-bottom:.38rem}
.cc-desc{font-size:.77rem;line-height:1.62;color:var(--muted)}
.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.4rem;color:var(--muted);font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;opacity:0;animation:fadein 1s ease forwards 1.6s}
.scroll-line{width:1px;height:44px;background:linear-gradient(to bottom,var(--y400),transparent);animation:pulse 2s ease-in-out infinite}

/* ── VISUAL ── */
#visual{position:relative;height:40svh;overflow:hidden}
@media(min-width:768px){#visual{height:30svh}}
.vis-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--m900),var(--m700) 45%,var(--m800));overflow:hidden}
.vis-rng{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(115%,960px);animation:spin 65s linear infinite;opacity:.14}
.vis-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2;text-align:center}
.vis-txt p{font-family:var(--fa);font-style:italic;font-size:clamp(.9rem,2.5vw,1.3rem);color:var(--y200);letter-spacing:.06em}
.vis-txt strong{display:block;font-family:var(--fd);font-size:clamp(2rem,5.5vw,3.75rem);font-weight:900;color:var(--y400);text-shadow:0 0 60px rgba(255,199,0,.3);line-height:1.05}
.vis-txt .hi2{font-family:var(--fh);font-size:clamp(.82rem,1.8vw,1.1rem);color:rgba(255,199,0,.32);margin-top:.35rem}
#visual::after{content:'';position:absolute;bottom:0;left:0;right:0;height:64px;background:var(--m950);clip-path:polygon(0 100%,100% 100%,100% 0)}

/* ── FEATURES ── */
#features{padding:6rem 1.25rem 5rem;position:relative;overflow:hidden}
.psl{position:absolute;right:-7vw;top:6%;width:min(54vw,380px);opacity:0;animation:floatY 10s ease-in-out infinite;pointer-events:none;transition:opacity 1.2s}
.psl2{position:absolute;left:-5vw;bottom:6%;width:min(40vw,290px);opacity:0;animation:floatY 13s ease-in-out infinite reverse;pointer-events:none;transition:opacity 1.2s;transform:scaleX(-1) rotate(15deg)}
.psl.show{opacity:.048}.psl2.show{opacity:.038}
.sec-rule{width:min(600px,80vw);height:28px;margin:0 auto 3.5rem;display:block}
.ey{font-size:.69rem;letter-spacing:.22em;text-transform:uppercase;color:var(--y400);margin-bottom:.85rem}
.sh{font-family:var(--fd);font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.08;max-width:22ch}
.sh em{font-style:italic;color:var(--y400)}
.feat-grid{margin-top:3.5rem;display:grid;grid-template-columns:1fr;gap:1.2rem}
@media(min-width:600px){.feat-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.feat-grid{grid-template-columns:repeat(3,1fr)}}
.fc{background:linear-gradient(135deg,color-mix(in srgb,var(--m700) 30%,transparent) 0%,color-mix(in srgb,var(--m950) 58%,transparent) 100%);border:1px solid rgba(255,199,0,.1);border-radius:18px;padding:1.8rem 1.6rem;position:relative;overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s}
.fc.in{transition:opacity .55s ease,transform .55s ease,border-color .3s,box-shadow .3s}
.fc:hover{transform:translateY(-5px);border-color:rgba(255,199,0,.35);box-shadow:0 22px 65px rgba(0,0,0,.5)}
.fc::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--y400),transparent);opacity:0;transition:opacity .3s}
.fc:hover::before{opacity:1}
.fc::after{content:'';position:absolute;bottom:0;right:0;width:60px;height:60px;opacity:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3E%3Cpath d='M60,0 Q60,60 0,60' fill='none' stroke='rgba(255,199,0,.18)' stroke-width='1'/%3E%3Cpath d='M60,12 Q48,60 0,60' fill='none' stroke='rgba(255,199,0,.12)' stroke-width='1'/%3E%3Cpath d='M60,24 Q36,60 0,60' fill='none' stroke='rgba(255,199,0,.08)' stroke-width='1'/%3E%3C/svg%3E");transition:opacity .3s}
.fc:hover::after{opacity:1}
.fc.wide{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:2rem;align-items:center}
.fc.wide .fc-body{flex:1;min-width:200px}
.stat-num{font-family:var(--fd);font-size:clamp(3.5rem,8vw,5.5rem);font-weight:900;color:var(--y400);line-height:1}
.stat-lbl{font-size:.78rem;color:var(--muted);letter-spacing:.06em;margin-top:.2rem}
.fc-icon{width:44px;height:44px;border-radius:12px;background:rgba(255,199,0,.09);border:1px solid rgba(255,199,0,.18);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:1.05rem}
.cc-icon iconify-icon,.fc-icon iconify-icon{color:var(--y400);display:inline-flex}
.fc-title{font-family:var(--fd);font-size:1.08rem;font-weight:700;margin-bottom:.5rem}
.fc-desc{font-size:.848rem;line-height:1.73;color:var(--muted)}

/* ── STORIES ── */
#stories{padding:6rem 1.25rem;background:linear-gradient(to bottom,var(--m950) 0%,var(--m900) 50%,var(--m950) 100%);position:relative;overflow:hidden}
.st-lotus{position:absolute;top:3rem;right:3%;width:min(44vw,310px);opacity:.05;animation:spin 90s linear infinite reverse;pointer-events:none}
.personas{margin-top:3.5rem;display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:768px){.personas{grid-template-columns:repeat(2,1fr)}}
.persona{background:color-mix(in srgb,var(--m700) 20%,transparent);border:1px solid rgba(255,199,0,.12);border-radius:22px;padding:2.2rem;transform:translateX(-24px)}
.persona.right{transform:translateX(24px)}
.persona.in{transform:translateX(0)}
.pb{width:100%;height:16px;margin-bottom:1.4rem;opacity:.38}
.p-av{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--m700),var(--m500));border:2px solid var(--y400);display:flex;align-items:center;justify-content:center;font-size:1.35rem;margin-bottom:1rem;box-shadow:0 0 20px rgba(255,199,0,.18)}
.p-name{font-family:var(--fd);font-size:1.28rem;font-weight:700;margin-bottom:.2rem}
.p-meta{font-size:.73rem;color:var(--y400);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem}
.p-quote{font-family:var(--fa);font-style:italic;font-size:.96rem;line-height:1.78;color:var(--muted);border-left:2px solid var(--y400);padding-left:.95rem;margin-bottom:1.3rem}
.p-steps{list-style:none;display:flex;flex-direction:column;gap:.65rem}
.p-steps li{display:flex;gap:.72rem;align-items:flex-start;font-size:.848rem;line-height:1.65;color:var(--muted)}
.sn{flex-shrink:0;width:21px;height:21px;border-radius:50%;background:var(--y400);color:var(--m950);font-size:.67rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:2px}
.workflow{margin-top:5.5rem}
.wf-title{font-family:var(--fd);font-size:clamp(1.5rem,4vw,2.3rem);font-weight:700;text-align:center;margin-bottom:3.5rem}
.tl{position:relative;display:flex;flex-direction:column;gap:0}
.tl::before{content:'';position:absolute;left:20px;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,var(--y400),rgba(255,199,0,.08))}
@media(min-width:768px){.tl::before{left:50%;transform:translateX(-50%)}}
.tl-item{display:flex;gap:2rem;align-items:flex-start;padding:0 0 3rem 4rem;position:relative}
.tl-item.in{transition:opacity .5s ease,transform .5s ease}
@media(min-width:768px){
  .tl-item{padding:0 0 3.5rem;width:50%}
  .tl-item:nth-child(odd){padding-right:3.5rem;text-align:right;align-self:flex-start}
  .tl-item:nth-child(even){padding-left:3.5rem;align-self:flex-end}
  .tl-item:nth-child(odd) .tl-dot{right:-9px;left:auto}
  .tl-item:nth-child(even) .tl-dot{left:-9px}
}
.tl-dot{position:absolute;left:-9px;top:4px;width:17px;height:17px;border-radius:50%;background:var(--y400);border:2px solid var(--m950);box-shadow:0 0 14px rgba(255,199,0,.55);flex-shrink:0}
.tl-day{font-size:.67rem;letter-spacing:.15em;text-transform:uppercase;color:var(--y400);margin-bottom:.3rem}
.tl-heading{font-family:var(--fd);font-size:1.08rem;font-weight:700;margin-bottom:.38rem}
.tl-body{font-size:.848rem;color:var(--muted);line-height:1.7}

/* ── FAQ ── */
#faq{padding:6rem 1.25rem;position:relative;overflow:hidden}
.faq-psl{position:absolute;left:-4vw;top:8%;width:min(34vw,250px);opacity:0;animation:floatY 11s ease-in-out infinite;pointer-events:none;transition:opacity 1.3s}
.faq-psl.show{opacity:.042}
.faq-wrap{max-width:780px;margin:3.5rem auto 0}
.faq-item{border-bottom:1px solid rgba(255,199,0,.1);padding:1.5rem 0}
.faq-q{width:100%;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;text-align:left;color:var(--txt);font-family:var(--fd);font-size:clamp(.93rem,2vw,1.08rem);font-weight:700;padding:0}
.faq-ch{flex-shrink:0;width:27px;height:27px;border:1px solid rgba(255,199,0,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--y400);font-size:1rem;transition:transform .3s,background .2s}
.faq-item.open .faq-ch{transform:rotate(45deg);background:rgba(255,199,0,.1)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s;font-size:.875rem;line-height:1.8;color:var(--muted)}
.faq-item.open .faq-a{max-height:280px;padding-top:.85rem}

/* ── SOON ── */
#soon{padding:6rem 1.25rem 8rem;text-align:center;position:relative;overflow:hidden}
#soon::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--m500) 52%,transparent) 0%,transparent 65%);pointer-events:none}
.soon-mndl{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100vw,900px);opacity:.052;animation:spin 100s linear infinite;pointer-events:none}
.cs-ey{font-size:.69rem;letter-spacing:.22em;text-transform:uppercase;color:var(--y400);margin-bottom:1.15rem;opacity:0;animation:up .6s ease forwards}
.cs-h{font-family:var(--fd);font-size:clamp(2.2rem,6vw,4.4rem);font-weight:900;line-height:1.04;margin-bottom:1.1rem;opacity:0;animation:up .6s ease forwards .15s}
.cs-sub{font-family:var(--fa);font-style:italic;font-size:clamp(.96rem,2.3vw,1.18rem);color:var(--muted);line-height:1.75;max-width:44ch;margin:0 auto 3rem;opacity:0;animation:up .6s ease forwards .3s}
.plat-row{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:3.5rem;opacity:0;animation:up .6s ease forwards .45s}
.plat{display:flex;align-items:center;gap:.88rem;background:rgba(255,199,0,.06);border:1.5px solid rgba(255,199,0,.22);border-radius:14px;padding:1rem 1.75rem;cursor:default;transition:background .25s,border-color .25s,transform .25s;text-align:left;flex:1 1 220px}
.plat:hover{background:rgba(255,199,0,.12);border-color:var(--y400);transform:translateY(-3px)}
.plat-icon{font-size:2rem}
.plat small{display:block;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.plat strong{font-family:var(--fd);font-size:1.08rem;font-weight:700;color:var(--txt)}
.nf{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;align-items:center;max-width:640px;margin:0 auto;opacity:0;animation:up .6s ease forwards .6s}
.ni{flex:1;min-width:208px;background:rgba(255,255,255,.06);border:1px solid rgba(255,199,0,.2);border-radius:10px;padding:.85rem 1.05rem;color:var(--txt);font-family:var(--fb);font-size:.88rem;outline:none;transition:border-color .2s}
.ni::placeholder{color:var(--muted)}
.nc{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(253,242,210,.5)' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;padding-right:2.2rem;cursor:pointer}
.nc option{background:var(--m900);color:var(--txt)}
.ni:focus{border-color:var(--y400)}
.nb{background:var(--y400);color:var(--m950);border:none;border-radius:10px;padding:.85rem 1.7rem;font-family:var(--fb);font-weight:500;font-size:.88rem;cursor:pointer;transition:background .2s,transform .2s;white-space:nowrap}
.nb:hover{background:var(--y300);transform:translateY(-2px)}
#nsok{margin-top:1rem;color:var(--y400);font-family:var(--fa);font-style:italic;font-size:1rem;opacity:0;transition:opacity .4s}

/* ── FOOTER ── */
footer{border-top:1px solid rgba(255,199,0,.08);padding:2rem 1.25rem}
.fi{display:flex;flex-direction:column;gap:1rem;align-items:center;text-align:center}
@media(min-width:640px){.fi{flex-direction:row;justify-content:space-between;align-items:center;text-align:left}}
.footer-logo{height:32px;width:auto;opacity:.85}
.fb{display:flex;align-items:center;gap:.75rem;font-family:var(--fd);font-size:1.12rem;font-weight:700;color:var(--y400);flex-wrap:wrap;justify-content:center}
@media(min-width:640px){.fb{justify-content:flex-start}}
.fb span{color:var(--muted);font-size:.76rem;font-family:var(--fb);font-weight:300}
.fl{font-size:.72rem;color:var(--muted);text-align:center;line-height:1.65}
@media(min-width:640px){.fl{text-align:right}}

/* ── THEMES ──────────────────────────────────────────────── */
[data-theme="midnight"]{
  --m950:#000d1a;--m900:#001428;--m800:#002952;--m700:#003d7a;
  --m600:#005299;--m500:#0066c0;--m400:#0080e8;
  --y400:#67e8f9;--y300:#a5f3fc;--y200:#cffafe;
  --txt:rgba(224,242,254,1);--muted:rgba(224,242,254,.5);
}
[data-theme="jade"]{
  --m950:#001a0f;--m900:#002918;--m800:#004d2e;--m700:#006b3e;
  --m600:#008a4e;--m500:#00a85e;--m400:#00c470;
  --y400:#86efac;--y300:#bbf7d0;--y200:#dcfce7;
  --txt:rgba(220,252,231,1);--muted:rgba(220,252,231,.5);
}

/* ── THEME SWITCHER ──────────────────────────────────────── */
.theme-btn{display:none;position:fixed;top:1rem;right:1rem;z-index:9995;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,199,0,.35);background:rgba(20,0,8,.72);backdrop-filter:blur(8px);cursor:pointer;align-items:center;justify-content:center;font-size:1rem;color:var(--y400);transition:border-color .2s,transform .2s}
.theme-btn:hover{border-color:var(--y400);transform:scale(1.1)}
.theme-modal{display:none;position:fixed;inset:0;z-index:9996;align-items:center;justify-content:center;background:rgba(0,0,0,.55);backdrop-filter:blur(4px)}
.theme-modal.open{display:flex}
.theme-modal-inner{background:var(--m900);border:1px solid rgba(255,199,0,.18);border-radius:20px;padding:1.75rem;width:min(340px,90vw);position:relative}
.theme-modal-title{font-family:var(--fd);font-size:1rem;font-weight:700;color:var(--y400);letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.25rem}
.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.theme-swatch{display:flex;align-items:center;gap:.75rem;background:rgba(255,255,255,.04);border:1.5px solid rgba(255,199,0,.1);border-radius:12px;padding:.75rem 1rem;cursor:pointer;transition:border-color .2s,background .2s;text-align:left}
.theme-swatch:hover{border-color:rgba(255,199,0,.35);background:rgba(255,255,255,.08)}
.theme-swatch.active{border-color:var(--y400)}
.ts-preview{width:32px;height:32px;border-radius:50%;flex-shrink:0;border:2px solid rgba(255,255,255,.15);display:block}
.ts-name{font-size:.78rem;color:var(--txt);letter-spacing:.04em}
.theme-close{position:absolute;top:.85rem;right:.85rem;background:none;border:none;color:var(--muted);font-size:1rem;cursor:pointer;line-height:1;padding:.25rem}
.theme-close:hover{color:var(--txt)}

/* ── KEYFRAMES ── */
@keyframes up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadein{from{opacity:0}to{opacity:1}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}
@keyframes pulse{0%,100%{opacity:1;height:44px}50%{opacity:.28;height:22px}}
@keyframes slide{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
