/* Focusshh website. Coffee (dark, default) and Latte (light, follows the visitor's system setting).
   Poppins is self-hosted (SIL Open Font Licence). No third-party requests. */

@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/poppins-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/poppins-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/poppins-latin-600-normal.woff2") format("woff2")}

:root{
  color-scheme:dark light;
  --bg:#1A100B; --card:#2A1B14; --raise-a:#3A261B; --raise-b:#2A1B14;
  --accent:#D9A066; --acc-a:#EDBB86; --acc-b:#D9A066;
  --over:#E8B27A; --text:#F3E5D0; --text2:#C8A27C; --on-acc:#2A1B14;
  --line:rgba(217,160,102,.14); --line-strong:rgba(217,160,102,.30);
  --nav-bg:rgba(26,16,11,.72); --shadow:0 18px 40px rgba(0,0,0,.40);
  --glow:rgba(237,170,100,.20); --glow2:rgba(200,110,60,.14);
  --grain-opacity:.07; --ph-bg:#FFD66B; --ph-fg:#2A1B14; --glass:rgba(42,27,20,.58); --aur1:rgba(237,150,80,.34); --aur2:rgba(190,90,60,.28); --aur3:rgba(150,110,200,.16); --sh1:#E8B27A; --sh2:#FFF1D9; --bg2:#150C08;
  --radius:22px; --radius-lg:30px; --wrap:1120px;
}
@media (prefers-color-scheme:light){
  :root{
    --bg:#FBF5EC; --card:#F1E3CF; --raise-a:#FFF8EE; --raise-b:#F6EBDB;
    --accent:#8A5A3C; --acc-a:#946040; --acc-b:#8A5A3C;
    --over:#80533A; --text:#2B1B13; --text2:#7A5C47; --on-acc:#FBF5EC;
    --line:rgba(138,90,60,.16); --line-strong:rgba(138,90,60,.32);
    --nav-bg:rgba(251,245,236,.78); --shadow:0 16px 36px rgba(90,60,40,.16);
    --glow:rgba(217,160,102,.30); --glow2:rgba(237,187,134,.30);
    --grain-opacity:.05; --glass:rgba(255,248,238,.72); --aur1:rgba(237,187,134,.60); --aur2:rgba(217,140,100,.34); --aur3:rgba(190,170,220,.36); --sh1:#7A4B2F; --sh2:#B07445; --bg2:#F6EBDB;
  }
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{
  margin:0;background:var(--bg);color:var(--text);
  font:400 1.0625rem/1.7 "Poppins",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
body::before{ /* soft paper grain */
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:var(--grain-opacity);
  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='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .4 0 0 0 0 .3 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}
img,svg{max-width:100%;height:auto}
a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--acc-a);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:12px;top:-60px;background:var(--card);color:var(--text);padding:10px 16px;border-radius:12px;z-index:100;transition:top .2s}
.skip:focus{top:12px}
.wrap{width:min(100% - 40px,var(--wrap));margin-inline:auto;position:relative;z-index:1}
main{position:relative;z-index:1}

h1,h2,h3{font-weight:600;line-height:1.18;letter-spacing:-.015em;margin:0 0 .5em;color:var(--text)}
h1{font-size:clamp(2.5rem,8.2vw,5.3rem);line-height:1.04;letter-spacing:-.03em}
h2{font-size:clamp(1.7rem,4.6vw,2.6rem)}
h3{font-size:1.2rem;letter-spacing:-.005em}
p{margin:0 0 1em}
.lead{font-size:clamp(1.08rem,2.6vw,1.3rem);color:var(--text2);max-width:34em}
.overline{display:inline-block;margin:0 0 .9rem;font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--over)}
.muted{color:var(--text2)}

/* ---------- header ---------- */
.nav{position:sticky;top:0;z-index:50;background:var(--nav-bg);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{display:block;height:30px;width:auto}
.nav-links{display:none;gap:6px;align-items:center}
.nav-links a{color:var(--text2);text-decoration:none;padding:8px 14px;border-radius:999px;font-size:.95rem;font-weight:500;transition:color .2s,background .2s}
.nav-links a:hover{color:var(--text);background:var(--line)}
.menu{display:block;position:relative}
.menu>summary{list-style:none;cursor:pointer;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;border:1px solid var(--line-strong);background:var(--card)}
.menu>summary::-webkit-details-marker{display:none}
.menu>summary span,.menu>summary span::before,.menu>summary span::after{display:block;width:18px;height:2px;border-radius:2px;background:var(--text);content:"";position:relative;transition:transform .25s}
.menu>summary span::before{position:absolute;top:-6px}
.menu>summary span::after{position:absolute;top:6px}
.menu[open]>summary span{background:transparent}
.menu[open]>summary span::before{transform:translateY(6px) rotate(45deg)}
.menu[open]>summary span::after{transform:translateY(-6px) rotate(-45deg)}
.menu-panel{position:absolute;right:0;top:56px;min-width:230px;padding:10px;border-radius:20px;background:var(--card);border:1px solid var(--line-strong);box-shadow:var(--shadow);display:grid;gap:2px}
.menu-panel a{color:var(--text);text-decoration:none;padding:12px 14px;border-radius:12px;font-weight:500}
.menu-panel a:hover{background:var(--line)}
@media(min-width:860px){.nav-links{display:flex}.menu{display:none}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;font:600 1rem/1 "Poppins",system-ui,sans-serif;text-decoration:none;border:0;cursor:pointer;
  background:linear-gradient(135deg,var(--acc-a),var(--acc-b));color:var(--on-acc);box-shadow:0 10px 26px rgba(217,160,102,.25);transition:transform .25s ease,box-shadow .25s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(217,160,102,.34);text-decoration:none}
.btn svg{width:20px;height:20px;flex:none}
.btn-soon{background:transparent;color:var(--text);border:1px dashed var(--line-strong);box-shadow:none;cursor:default}
.btn-soon:hover{transform:none;box-shadow:none}
.btn-soon .dot{width:8px;height:8px;border-radius:50%;background:var(--acc-a);box-shadow:0 0 10px var(--acc-a);animation:pulse 3.2s ease-in-out infinite}
.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--line-strong);box-shadow:none}
.btn-ghost:hover{background:var(--line);box-shadow:none}

/* ---------- hero ---------- */
.hero{position:relative;padding:clamp(40px,8vw,96px) 0 clamp(48px,8vw,100px);overflow:hidden}
.hero::before,.hero::after{content:none}
.hero::before{width:620px;height:620px;left:-180px;top:-200px;background:radial-gradient(circle,var(--glow),transparent 66%)}
.hero::after{width:520px;height:520px;right:-180px;top:-40px;background:radial-gradient(circle,var(--glow2),transparent 66%)}
.hero-grid{display:grid;gap:44px;align-items:center}
@media(min-width:900px){.hero-grid{grid-template-columns:1.05fr .95fr;gap:56px}}
.hero h1 .soft{color:var(--over)}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:28px 0 22px}
.facts{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.facts li{padding:6px 14px;border-radius:999px;font-size:.85rem;color:var(--text2);border:1px solid var(--line);background:var(--card)}
.steam{position:absolute;left:0;right:0;bottom:0;height:100%;pointer-events:none}
.wisp{position:absolute;bottom:-40px;width:120px;height:240px;border-radius:50%;background:radial-gradient(ellipse,var(--glow),transparent 70%);filter:blur(22px);opacity:0;animation:rise 16s ease-in infinite}
.wisp:nth-child(1){left:12%}
.wisp:nth-child(2){left:44%;animation-delay:5s;width:160px}
.wisp:nth-child(3){left:78%;animation-delay:10s}

/* ---------- phone frames (screenshot placeholders) ---------- */
.phone{--w:200px;position:relative;width:var(--w);aspect-ratio:9/19.5;padding:7px;border-radius:2.1rem;
  background:linear-gradient(160deg,#4a3224,#1b110b);box-shadow:var(--shadow),0 0 0 1px var(--line-strong);flex:none}
@media(prefers-color-scheme:light){.phone{background:linear-gradient(160deg,#6a4a37,#3a2619)}}
.phone .screen{position:relative;height:100%;overflow:hidden;border-radius:calc(2.1rem - 7px);background:#20130d}
.phone .screen::before{content:"";position:absolute;left:50%;top:9px;width:30%;height:14px;border-radius:9px;background:rgba(0,0,0,.55);transform:translateX(-50%);z-index:3}
.phone img{width:100%;height:100%;object-fit:cover;display:block}
.ph-art{position:absolute;inset:0;background:
   radial-gradient(circle at 50% 30%,rgba(255,170,100,.30),transparent 52%),
   linear-gradient(170deg,#4b3123 0%,#24150e 60%,#170d08 100%)}
.ph-art::before{content:"";position:absolute;left:-30%;top:6%;width:160%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(237,187,134,.12)}
.ph-art::after{content:"";position:absolute;left:10%;right:10%;bottom:7%;height:46px;border-radius:23px;background:rgba(237,187,134,.10);border:1px solid rgba(237,187,134,.16)}
.tint-2 .ph-art{background:radial-gradient(circle at 60% 26%,rgba(255,196,120,.30),transparent 52%),linear-gradient(170deg,#4a3a22 0%,#261a0e 60%,#170f08 100%)}
.tint-3 .ph-art{background:radial-gradient(circle at 40% 30%,rgba(230,130,80,.30),transparent 52%),linear-gradient(170deg,#4a2c22 0%,#26130e 60%,#170a08 100%)}
.tint-4 .ph-art{background:radial-gradient(circle at 50% 24%,rgba(210,170,130,.26),transparent 52%),linear-gradient(170deg,#3c2c26 0%,#1f1511 60%,#140c09 100%)}
.tint-5 .ph-art{background:radial-gradient(circle at 56% 34%,rgba(255,150,90,.26),transparent 52%),linear-gradient(170deg,#43291d 0%,#22120b 60%,#150a06 100%)}
.ph-tag{position:absolute;left:12px;right:12px;top:50%;transform:translateY(-50%);z-index:2;text-align:center;font-size:.72rem;line-height:1.4;color:#F3E5D0;letter-spacing:.04em}
.ph-tag b{display:inline-block;margin-bottom:6px;padding:4px 10px;border-radius:999px;background:var(--ph-bg);color:var(--ph-fg);font-weight:600;letter-spacing:.06em}

.phones{position:relative;display:flex;justify-content:center;align-items:center;padding:10px 0 20px}
.phones .phone{--w:min(34%,190px);animation:float 9s ease-in-out infinite alternate}
.phones .phone:nth-child(1){transform:rotate(-6deg) translateY(18px);margin-right:-6%;animation-delay:-3s}
.phones .phone:nth-child(2){--w:min(42%,230px);z-index:2;animation-delay:-6s}
.phones .phone:nth-child(3){transform:rotate(6deg) translateY(18px);margin-left:-6%}

/* ---------- sections ---------- */
section{padding:clamp(56px,9vw,104px) 0;position:relative}
.sec-head{max-width:44rem;margin-bottom:clamp(30px,5vw,52px)}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head.center .lead{margin-inline:auto}
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}
.card{position:relative;padding:28px;border-radius:var(--radius);background:linear-gradient(160deg,var(--raise-a),var(--raise-b));border:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.14);transition:transform .35s ease,border-color .35s ease}
@media(hover:hover){.card:hover{transform:translateY(-4px);border-color:var(--line-strong)}}
.card p{color:var(--text2);margin:0;font-size:.98rem}
.icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;margin-bottom:18px;background:var(--line);border:1px solid var(--line-strong)}
.icon svg{width:26px;height:26px;stroke:var(--accent);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.band{background:linear-gradient(180deg,transparent,var(--card) 18%,var(--card) 82%,transparent)}

/* steps */
.steps{counter-reset:s;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.step{counter-increment:s;padding:26px 26px 26px 26px;border-radius:var(--radius);border:1px dashed var(--line-strong)}
.step::before{content:counter(s);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;margin-bottom:14px;background:linear-gradient(135deg,var(--acc-a),var(--acc-b));color:var(--on-acc);font-weight:600}
.step p{margin:0;color:var(--text2);font-size:.98rem}

/* places */
.place{display:flex;flex-direction:column;padding:0;overflow:hidden}
.place-top{position:relative;padding:28px 28px 20px;background:linear-gradient(170deg,#3b271c 0%,#1f130d 100%);color:#F3E5D0;overflow:hidden}
.place-top::before{content:"";position:absolute;left:-30px;top:-30px;width:230px;height:230px;border-radius:50%;border:1px solid rgba(237,187,134,.12)}
.place-top::after{content:"";position:absolute;right:-40px;top:-50px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,var(--pg,rgba(255,150,90,.38)),transparent 66%)}
.place-top svg{position:relative;z-index:1;width:84px;height:84px;display:block;margin-bottom:12px;stroke:#EDBB86;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.place-top h3{position:relative;z-index:1;margin:0;color:#F3E5D0}
.place-top p{position:relative;z-index:1;color:#C8A27C;margin:4px 0 0;font-size:.9rem}
.place-list{list-style:none;margin:0;padding:22px 28px 28px;display:grid;gap:16px}
.place-list li{padding-left:18px;position:relative;font-size:.95rem;color:var(--text2);line-height:1.55}
.place-list li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--accent);opacity:.8}
.place-list b{display:block;color:var(--text);font-weight:600;font-size:1rem}

/* sound */
.sound-split{display:grid;gap:36px;align-items:center}
@media(min-width:860px){.sound-split{grid-template-columns:1fr 1fr;gap:64px}}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0;padding:0;list-style:none}
.chips li{padding:9px 18px;border-radius:999px;background:var(--card);border:1px solid var(--line-strong);font-size:.92rem}
.mixer{padding:30px;border-radius:var(--radius-lg);background:linear-gradient(160deg,var(--raise-a),var(--raise-b));border:1px solid var(--line-strong);box-shadow:var(--shadow)}
.mix-row{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center;margin-bottom:22px;font-size:.92rem;color:var(--text2)}
.mix-row:last-of-type{margin-bottom:0}
.track{height:8px;border-radius:8px;background:var(--line);position:relative;overflow:hidden}
.track i{position:absolute;inset:0 auto 0 0;border-radius:8px;background:linear-gradient(90deg,var(--acc-b),var(--acc-a));width:var(--v,50%);transform-origin:left;animation:breathe 7s ease-in-out infinite alternate}
.track.v1 i{--v:68%}.track.v2 i{--v:42%;animation-delay:-2s}.track.v3 i{--v:56%;animation-delay:-4s}
.waves{display:flex;gap:5px;align-items:flex-end;height:54px;margin:28px 0 0}
.waves span{flex:1;border-radius:4px;background:linear-gradient(180deg,var(--acc-a),var(--acc-b));opacity:.75;height:30%;animation:wave 5s ease-in-out infinite alternate}
.waves span:nth-child(3n){animation-delay:-1s;height:60%}.waves span:nth-child(3n+1){animation-delay:-2.5s}.waves span:nth-child(4n){animation-delay:-3.5s;height:80%}
.switch{display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-size:.92rem;color:var(--text2)}
.switch i{width:46px;height:26px;border-radius:13px;background:var(--line-strong);position:relative}
.switch i::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:var(--text2)}

/* loft */
.loft{border-radius:var(--radius-lg);padding:clamp(28px,5vw,56px);overflow:hidden;position:relative;color:#F3E5D0;background:linear-gradient(165deg,#2f1f31 0%,#1c1220 52%,#150d17 100%);border:1px solid rgba(217,160,102,.22);box-shadow:var(--shadow)}
.loft::before{content:"";position:absolute;right:-90px;top:-90px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(255,196,120,.28),transparent 66%)}
.loft .overline{color:#E8B27A}
.loft h2{color:#F3E5D0}
.loft p{color:#D9BFA1}
.loft ul{margin:20px 0 26px;padding:0;list-style:none;display:grid;gap:12px;position:relative}
.loft li{padding-left:28px;position:relative;color:#E9D5BC}
.loft li::before{content:"";position:absolute;left:2px;top:.55em;width:10px;height:10px;border-radius:50%;background:#EDBB86;box-shadow:0 0 12px rgba(237,187,134,.7)}
.note{position:relative;padding:18px 20px;border-radius:16px;font-size:.93rem;line-height:1.6;background:rgba(0,0,0,.25);border:1px solid rgba(237,187,134,.25);color:#E9D5BC}
.stars i{position:absolute;width:3px;height:3px;border-radius:50%;background:#F3E5D0;opacity:.6;animation:twinkle 6s ease-in-out infinite alternate}
.stars i:nth-child(1){left:62%;top:14%}.stars i:nth-child(2){left:78%;top:34%;animation-delay:-2s}.stars i:nth-child(3){left:90%;top:18%;animation-delay:-4s}.stars i:nth-child(4){left:70%;top:66%;animation-delay:-1s}.stars i:nth-child(5){left:94%;top:74%;animation-delay:-3s}

/* friends */
.invite-demo{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:18px;background:var(--bg);border:1px solid var(--line-strong);font-size:.95rem;word-break:break-all;margin-top:22px;color:var(--text)}
.invite-demo svg{flex:none;width:22px;height:22px;stroke:var(--accent);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rooms-visual{display:grid;gap:12px}
.avatar-row{display:flex;gap:-8px}
.chip-feed{padding:14px 18px;border-radius:16px;background:var(--bg);border:1px solid var(--line);font-size:.92rem;color:var(--text2)}
.chip-feed b{color:var(--text);font-weight:500}

/* gallery */
.gallery{display:flex;gap:22px;overflow-x:auto;padding:8px 20px 30px;margin-inline:-20px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}
.gallery .phone{--w:230px;scroll-snap-align:center}
@media(min-width:1000px){.gallery{justify-content:center;overflow:visible;flex-wrap:nowrap}.gallery .phone{--w:min(19%,210px)}}

/* privacy promise */
.promise li{list-style:none;padding:18px 20px 18px 56px;position:relative;border-radius:16px;border:1px solid var(--line);background:var(--card)}
.promise{display:grid;gap:12px;padding:0;margin:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.promise li::before{content:"";position:absolute;left:20px;top:22px;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,var(--acc-a),var(--acc-b))}
.promise li::after{content:"";position:absolute;left:26px;top:26px;width:5px;height:9px;border:solid var(--on-acc);border-width:0 2px 2px 0;transform:rotate(45deg)}
.promise b{display:block;font-weight:600}
.promise span{color:var(--text2);font-size:.92rem}

/* faq */
.faq{max-width:46rem;margin-inline:auto;display:grid;gap:12px}
.faq details{border-radius:18px;background:var(--card);border:1px solid var(--line);padding:0 22px}
.faq summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:500;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;line-height:1;color:var(--accent);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--text2);padding-bottom:18px;margin:0;font-size:.98rem}

/* cta */
.cta{text-align:center;padding:clamp(40px,7vw,80px) 24px;border-radius:var(--radius-lg);position:relative;overflow:hidden;background:linear-gradient(160deg,var(--raise-a),var(--raise-b));border:1px solid var(--line-strong)}
.cta::before{content:"";position:absolute;left:50%;top:-140px;width:520px;height:360px;transform:translateX(-50%);background:radial-gradient(ellipse,var(--glow),transparent 68%)}
.cta>*{position:relative}
.cta .lead{margin-inline:auto}
.cta .hero-cta{justify-content:center}

/* legal pages */
.page-head{padding:clamp(40px,7vw,80px) 0 10px}
.legal{max-width:46rem;padding-bottom:clamp(50px,8vw,100px)}
.legal h1{font-size:clamp(1.9rem,5.4vw,2.8rem)}
.legal h2{font-size:1.4rem;margin-top:2em}
.legal ul,.legal ol{padding-left:1.3em;margin:0 0 1.2em}
.legal li{margin-bottom:.5em}
.legal li::marker{color:var(--over)}
.legal strong{font-weight:600}
mark.ph{background:var(--ph-bg);color:var(--ph-fg);padding:0 .35em;border-radius:6px;font-weight:500;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.draft-banner{margin:20px 0 0;padding:14px 18px;border-radius:14px;border:1px dashed var(--line-strong);font-size:.9rem;color:var(--text2)}

/* invite page */
.invite{min-height:calc(100vh - 68px - 220px);display:grid;place-items:center;padding:clamp(40px,8vw,90px) 0;text-align:center}
.invite-card{width:min(100%,560px);margin-inline:auto;padding:clamp(28px,6vw,52px);border-radius:var(--radius-lg);background:linear-gradient(160deg,var(--raise-a),var(--raise-b));border:1px solid var(--line-strong);box-shadow:var(--shadow);position:relative;overflow:hidden}
.invite-card::before{content:"";position:absolute;left:50%;top:-120px;width:420px;height:300px;transform:translateX(-50%);background:radial-gradient(ellipse,var(--glow),transparent 68%)}
.invite-card>*{position:relative}
.invite-card img.appicon{display:block;margin-inline:auto;width:92px;height:92px;border-radius:24px;box-shadow:0 14px 34px rgba(0,0,0,.35);margin-bottom:22px}
.invite-card h1{font-size:clamp(1.7rem,6vw,2.3rem)}
.code{display:inline-block;margin:6px 0 22px;padding:10px 22px;border-radius:14px;background:var(--bg);border:1px dashed var(--line-strong);font-weight:600;letter-spacing:.14em;font-size:1.2rem;color:var(--text);word-break:break-all}
.code[hidden]{display:none}
.invite-card .hero-cta{justify-content:center;margin:6px 0 20px}
.invite-card small{display:block;color:var(--text2);font-size:.9rem;line-height:1.6}

/* footer */
footer{position:relative;z-index:1;margin-top:clamp(30px,5vw,60px);padding:46px 0 34px;border-top:1px solid var(--line)}
.foot{display:grid;gap:30px}
@media(min-width:760px){.foot{grid-template-columns:1.3fr 1fr 1fr}}
.foot img{height:28px;width:auto;display:block;margin-bottom:14px}
.foot h2{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--over);margin:0 0 12px;font-weight:600}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot a{color:var(--text2);text-decoration:none}
.foot a:hover{color:var(--text);text-decoration:underline}
.foot p{color:var(--text2);font-size:.92rem;margin:0 0 8px;max-width:26em}
.legalline{margin-top:34px;padding-top:20px;border-top:1px solid var(--line);font-size:.84rem;color:var(--text2);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}

/* 404 */
.nf{text-align:center;padding:clamp(60px,12vw,140px) 0}
.nf .big{font-size:clamp(4.5rem,22vw,9rem);font-weight:600;line-height:1;background:linear-gradient(135deg,var(--acc-a),var(--acc-b));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:10px}

/* ---------- motion ---------- */
@keyframes float{from{translate:0 -6px}to{translate:0 8px}}
@keyframes rise{0%{transform:translateY(0) scale(.8);opacity:0}15%{opacity:.8}100%{transform:translateY(-120%) scale(1.35);opacity:0}}
@keyframes pulse{50%{opacity:.35}}
@keyframes breathe{from{transform:scaleX(.82)}to{transform:scaleX(1)}}
@keyframes wave{from{height:22%}to{height:92%}}
@keyframes twinkle{from{opacity:.15}to{opacity:.85}}
@keyframes reveal{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@supports (animation-timeline:view()){
  .reveal{animation:reveal linear both;animation-timeline:view();animation-range:entry 0% entry 38%}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .wisp{display:none}
  .reveal{opacity:1;transform:none}
}
@media print{.nav,.steam,body::before{display:none}body{background:#fff;color:#000}}
.nf .lead{margin-inline:auto}.nf .hero-cta{justify-content:center}
.small{margin:6px 0 0!important;font-size:.85rem}
.links-row{margin-top:26px}
.loft .lead{color:#D9BFA1}
.pg1 .place-top::after{background:radial-gradient(circle,rgba(255,150,90,.38),transparent 66%)}
.pg2 .place-top::after{background:radial-gradient(circle,rgba(230,140,80,.40),transparent 66%)}
.pg3 .place-top::after{background:radial-gradient(circle,rgba(190,150,230,.30),transparent 66%)}
.phones .phone:not(:nth-child(2)) .ph-tag{display:none}
.invite-card .overline{display:block}.foot picture{display:block}

/* =====================================================================
   v2: modern, animated layer
   ===================================================================== */
@property --p{syntax:'<percentage>';inherits:false;initial-value:62%}
@keyframes ringfill{from{--p:0%}to{--p:100%}}
@keyframes drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(60px,40px,0) scale(1.18)}}
@keyframes shimmer{to{background-position:-220% 0}}
@keyframes marq{to{transform:translateX(-50%)}}
@keyframes eq{from{height:20%}to{height:100%}}
@keyframes bob{from{translate:0 -5px}to{translate:0 7px}}
@keyframes popcheck{0%,8%{transform:scale(0);opacity:0}16%,78%{transform:scale(1);opacity:1}90%,100%{transform:scale(0);opacity:0}}
@keyframes bargrow{from{transform:scaleY(.55)}to{transform:scaleY(1)}}
@keyframes notif{0%{opacity:0;transform:translateY(-14px)}10%,80%{opacity:1;transform:none}100%{opacity:0;transform:translateY(8px)}}
@keyframes lampglow{0%,100%{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}
@keyframes fadeout{from{transform:scaleY(1)}to{transform:scaleY(.3)}}
@keyframes mouse{0%{transform:translateY(0);opacity:1}100%{transform:translateY(12px);opacity:0}}
@keyframes tabin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.aurora{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.aurora i{position:absolute;border-radius:50%;filter:blur(70px);animation:drift 22s ease-in-out infinite alternate}
.aurora .b1{width:620px;height:620px;left:-160px;top:-200px;background:radial-gradient(circle,var(--aur1),transparent 66%)}
.aurora .b2{width:560px;height:560px;right:-180px;top:6%;background:radial-gradient(circle,var(--aur2),transparent 66%);animation-duration:28s;animation-direction:alternate-reverse}
.aurora .b3{width:520px;height:520px;left:34%;bottom:-260px;background:radial-gradient(circle,var(--aur3),transparent 66%);animation-duration:34s}

.hero{padding:clamp(36px,7vw,84px) 0 clamp(56px,8vw,110px)}
.hero-grid{gap:clamp(36px,5vw,64px)}
.pill-over{display:inline-flex;align-items:center;gap:10px;margin-bottom:22px;padding:8px 16px;border-radius:999px;border:1px solid var(--line-strong);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--over)}
.pill-over i{width:8px;height:8px;border-radius:50%;background:var(--acc-a);box-shadow:0 0 12px var(--acc-a);animation:pulse 3.2s ease-in-out infinite}
.shimmer{background-image:linear-gradient(100deg,var(--sh1) 20%,var(--sh2) 50%,var(--sh1) 80%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 7s linear infinite}
.hero .lead{font-size:clamp(1.15rem,2.8vw,1.45rem)}

.stage{position:relative;padding:20px 0 30px}
.glass{position:absolute;z-index:4;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:20px;background:var(--glass);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);box-shadow:var(--shadow);font-size:.82rem;line-height:1.35;animation:bob 8s ease-in-out infinite alternate}
.glass small{display:block;color:var(--text2);font-size:.72rem}
.glass strong,.glass b{font-weight:600}
.g-timer{left:-2%;top:6%}
.g-feed{right:-1%;top:40%;animation-delay:-3s;max-width:230px}
.g-sound{left:3%;bottom:2%;animation-delay:-5s}
.spark{width:10px;height:10px;border-radius:50%;background:var(--acc-a);box-shadow:0 0 14px 3px var(--acc-a);flex:none;animation:pulse 4s ease-in-out infinite}
.ring{position:relative;flex:none;width:58px;height:58px;border-radius:50%;display:grid;place-content:center;text-align:center;background:conic-gradient(var(--acc-a) var(--p),var(--line-strong) 0);animation:ringfill 16s linear infinite}
.ring::before{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--bg)}
.ring b,.ring span{position:relative;line-height:1.05}.ring b{font-size:1rem}.ring span{font-size:.55rem;color:var(--text2)}
.eq{display:flex;gap:3px;align-items:flex-end;height:30px;width:30px;flex:none}
.eq i{flex:1;height:60%;border-radius:3px;background:linear-gradient(180deg,var(--acc-a),var(--acc-b));animation:eq 1.8s ease-in-out infinite alternate}
.eq i:nth-child(2){animation-delay:-.6s}.eq i:nth-child(3){animation-delay:-1.1s}.eq i:nth-child(4){animation-delay:-.3s}.eq i:nth-child(5){animation-delay:-1.5s}
@media(max-width:560px){.g-timer{left:0;top:0}.g-feed{display:none}.g-sound{left:auto;right:0;bottom:0}.glass{padding:9px 12px;font-size:.76rem}}
.scroll-hint{display:none;position:absolute;left:50%;bottom:22px;width:24px;height:38px;border-radius:14px;border:1.5px solid var(--line-strong);transform:translateX(-50%)}
.scroll-hint i{position:absolute;left:50%;top:7px;width:3px;height:7px;margin-left:-1.5px;border-radius:2px;background:var(--acc-a);animation:mouse 2.2s ease-in-out infinite}
@media(min-width:900px) and (min-height:760px){.scroll-hint{display:block}}

/* marquee */
.marquee{position:relative;z-index:1;overflow:hidden;padding:20px 0;border-block:1px solid var(--line);background:var(--bg2);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marq 60s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-set{display:flex;flex:none}
.marquee-set span{display:inline-flex;align-items:center;padding:0 26px;font-size:1.1rem;font-weight:500;color:var(--text2);white-space:nowrap}
.marquee-set span::after{content:"";width:6px;height:6px;margin-left:52px;border-radius:50%;background:var(--accent);opacity:.6}

/* numbers */
.numbers{padding:clamp(40px,6vw,70px) 0 0}
.nums{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(min-width:760px){.nums{grid-template-columns:repeat(4,1fr)}}
.nums li{padding:22px 24px;border-radius:24px;border:1px solid var(--line);background:linear-gradient(160deg,var(--raise-a),var(--raise-b))}
.nums b{display:block;font-size:clamp(2.4rem,6vw,3.6rem);font-weight:600;line-height:1;letter-spacing:-.03em;background-image:linear-gradient(135deg,var(--acc-a),var(--acc-b));-webkit-background-clip:text;background-clip:text;color:transparent}
.nums span{color:var(--text2);font-size:.95rem}

/* room explorer */
.tabs{position:relative}
.tab-radio{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.tabbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.tabbar label{cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:12px 24px;border-radius:20px;border:1px solid var(--line-strong);background:var(--card);font-weight:600;line-height:1.2;transition:background .3s,border-color .3s,transform .3s}
.tabbar label:hover{transform:translateY(-2px);border-color:var(--accent)}
.tabbar small{font-weight:400;font-size:.74rem;color:var(--text2)}
.panel{display:none}
.panel-intro{color:var(--text2);margin-bottom:22px}
#w1:checked~.tabbar label[for=w1],#w2:checked~.tabbar label[for=w2],#w3:checked~.tabbar label[for=w3]{background:linear-gradient(135deg,var(--acc-a),var(--acc-b));color:var(--on-acc);border-color:transparent}
#w1:checked~.tabbar label[for=w1] small,#w2:checked~.tabbar label[for=w2] small,#w3:checked~.tabbar label[for=w3] small{color:var(--on-acc);opacity:.85}
#w1:focus-visible~.tabbar label[for=w1],#w2:focus-visible~.tabbar label[for=w2],#w3:focus-visible~.tabbar label[for=w3]{outline:3px solid var(--acc-a);outline-offset:3px}
#w1:checked~.panels .p1,#w2:checked~.panels .p2,#w3:checked~.panels .p3{display:block;animation:tabin .5s ease both}
.rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.p3 .rooms{grid-template-columns:minmax(0,440px)}
@media(max-width:700px){.p1 .rooms,.p2 .rooms{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-20px;padding:6px 20px 22px;gap:14px;scrollbar-width:none}.p1 .room,.p2 .room{flex:0 0 78%;scroll-snap-align:center}}
.room{--c1:rgba(217,160,102,.45);--c2:rgba(120,70,40,.4);position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:330px;padding:20px;border-radius:26px;overflow:hidden;color:#F3E5D0;border:1px solid rgba(255,255,255,.09);
  background:radial-gradient(120% 80% at 85% 0%,var(--c1),transparent 62%),radial-gradient(90% 70% at 0% 100%,var(--c2),transparent 62%),linear-gradient(170deg,#2e1e16,#150c08);
  transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .4s,box-shadow .4s}
@media(hover:hover){.room:hover{transform:translateY(-8px);border-color:rgba(237,187,134,.5);box-shadow:0 26px 50px rgba(0,0,0,.4)}}
.room-num{position:absolute;right:18px;top:12px;font-size:3.2rem;font-weight:600;line-height:1;color:rgba(243,229,208,.10);letter-spacing:-.04em}
.room-glyph{display:grid;place-items:center;width:52px;height:52px;border-radius:17px;background:rgba(26,16,11,.45);border:1px solid rgba(237,187,134,.28);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.room-glyph svg,.soon-glyph svg{width:26px;height:26px;stroke:#EDBB86;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.room h4{margin:0 0 6px;font-size:1.18rem;font-weight:600;line-height:1.25;color:#F3E5D0}
.room p{margin:0 0 14px;font-size:.88rem;line-height:1.55;color:#D9BFA1}
.room-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font-size:.74rem;background:rgba(26,16,11,.5);border:1px solid rgba(237,187,134,.22);color:#EBD3B3}
.room-tag i{width:6px;height:6px;border-radius:50%;background:#EDBB86;box-shadow:0 0 8px #EDBB86}
.r-obs{--c1:rgba(130,100,210,.55);--c2:rgba(40,40,110,.55)}
.r-sun{--c1:rgba(255,150,80,.60);--c2:rgba(190,70,90,.40)}
.r-clk{--c1:rgba(215,170,70,.55);--c2:rgba(120,80,30,.45)}
.r-rain{--c1:rgba(80,150,180,.55);--c2:rgba(40,70,110,.50)}
.r-tram{--c1:rgba(100,110,230,.50);--c2:rgba(200,70,150,.38)}
.r-win{--c1:rgba(235,170,80,.60);--c2:rgba(150,90,40,.45)}
.r-cnt{--c1:rgba(200,120,70,.58);--c2:rgba(100,55,30,.50)}
.r-yrd{--c1:rgba(130,170,120,.55);--c2:rgba(50,90,70,.45)}
.r-bks{--c1:rgba(190,130,70,.55);--c2:rgba(60,100,70,.40)}
.r-bck{--c1:rgba(230,90,50,.60);--c2:rgba(120,40,30,.50)}
.r-lof{--c1:rgba(160,130,215,.55);--c2:rgba(70,50,110,.55)}
.spot::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(280px circle at var(--mx,50%) var(--my,0%),rgba(255,236,210,.13),transparent 62%)}
@media(hover:hover){.spot:hover::after{opacity:1}}

/* how */
.how{list-style:none;margin:0;padding:0;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}
.how li{position:relative;padding:30px 28px;border-radius:var(--radius-lg);border:1px solid var(--line);background:linear-gradient(160deg,var(--raise-a),var(--raise-b));overflow:hidden}
.big-n{position:absolute;right:20px;top:-6px;font-size:7rem;font-weight:600;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--line-strong)}
.how h3{position:relative;margin-top:44px}
.how p{position:relative;color:var(--text2);margin:0;font-size:.98rem}

/* bento */
.bento{display:grid;gap:16px;grid-template-columns:repeat(6,1fr)}
.tile{position:relative;grid-column:span 6;padding:28px;border-radius:28px;overflow:hidden;background:linear-gradient(160deg,var(--raise-a),var(--raise-b));border:1px solid var(--line);transition:border-color .35s,transform .45s cubic-bezier(.2,.8,.2,1)}
@media(hover:hover){.tile:hover{border-color:var(--line-strong);transform:translateY(-4px)}}
@media(min-width:640px){.tile{grid-column:span 3}.t-timer,.t-sound,.t-public{grid-column:span 6}}
@media(min-width:960px){.t-timer{grid-column:span 4}.t-tasks,.t-week,.t-remind,.t-looks,.t-friends{grid-column:span 2}.t-sound{grid-column:span 4}.t-public{grid-column:span 6}}
.tag{display:inline-block;margin-bottom:14px;padding:5px 12px;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--over);background:var(--line);border:1px solid var(--line)}
.tile h3{font-size:clamp(1.25rem,2.4vw,1.6rem);margin-bottom:.45em}
.tile p{color:var(--text2);margin:0 0 20px;font-size:.97rem}
.t-timer{display:grid;gap:20px;align-items:center}
@media(min-width:640px){.t-timer{grid-template-columns:1.1fr .9fr}}
.t-timer p{margin:0;max-width:30em}
.bigring{justify-self:center;position:relative;width:min(220px,60vw);aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--acc-a) var(--p),var(--line-strong) 0);animation:ringfill 20s linear infinite;box-shadow:0 0 60px var(--glow)}
.ring-in{position:absolute;inset:12px;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--bg)}
.ring-in b{font-size:clamp(2rem,6vw,2.7rem);font-weight:600;letter-spacing:-.03em}
.ring-in span{font-size:.8rem;color:var(--text2);letter-spacing:.14em;text-transform:uppercase}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.checks li{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--bg);border:1px solid var(--line);font-size:.92rem}
.checks small{margin-left:auto;color:var(--text2);font-size:.75rem}
.checks i{position:relative;flex:none;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line-strong)}
.checks i::after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,var(--acc-a),var(--acc-b));transform:scale(0);animation:popcheck 9s ease-in-out infinite}
.checks i::before{content:"";position:absolute;left:7px;top:3.5px;width:5px;height:9px;border:solid var(--on-acc);border-width:0 2px 2px 0;transform:rotate(45deg);z-index:1;opacity:0;animation:popcheck 9s ease-in-out infinite}
.checks .c2 i::after,.checks .c2 i::before{animation-delay:1.4s}.checks .c3 i::after,.checks .c3 i::before{animation-delay:2.8s}
.bars{display:flex;align-items:flex-end;gap:8px;height:96px}
.bars i{flex:1;border-radius:8px;background:linear-gradient(180deg,var(--acc-a),var(--acc-b));transform-origin:bottom;animation:bargrow 3.4s ease-in-out infinite alternate}
.bars .h1{height:42%}.bars .h2{height:70%;animation-delay:-.5s}.bars .h3{height:55%;animation-delay:-1s}.bars .h4{height:88%;animation-delay:-1.5s}.bars .h5{height:64%;animation-delay:-2s}.bars .h6{height:100%;animation-delay:-2.5s}.bars .h7{height:36%;animation-delay:-3s}
.notif{display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;background:var(--bg);border:1px solid var(--line-strong);box-shadow:var(--shadow);animation:notif 7s ease-in-out infinite}
.notif img{border-radius:11px;flex:none}.notif b{display:block;font-size:.9rem}.notif small{color:var(--text2);font-size:.8rem}
.mixer-lite .mix-row{margin-bottom:16px}
.t-sound p{max-width:36em}
.ticker{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.ticker-track{display:flex;gap:12px;width:max-content;animation:marq 40s linear infinite}
.ticker-track span{padding:10px 18px;border-radius:999px;background:var(--bg);border:1px solid var(--line);font-size:.88rem;color:var(--text2);white-space:nowrap}
.ticker-track b{color:var(--text);font-weight:600}
.swatches{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sw{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:14px;border-radius:16px;border:1px solid var(--line-strong);font-size:.85rem}
.sw b{flex:1 0 100%;font-weight:600;margin-bottom:4px}
.sw i{width:16px;height:16px;border-radius:50%}
.sw-dark{background:#1A100B;color:#F3E5D0}.sw-dark i:nth-of-type(1){background:#D9A066}.sw-dark i:nth-of-type(2){background:#3A261B}.sw-dark i:nth-of-type(3){background:#E8B27A}
.sw-light{background:#FBF5EC;color:#2B1B13}.sw-light i:nth-of-type(1){background:#8A5A3C}.sw-light i:nth-of-type(2){background:#F1E3CF}.sw-light i:nth-of-type(3){background:#80533A}
.t-friends .invite-demo{margin-top:6px;font-size:.84rem}

/* loft v2 */
.loft-sec{padding-block:clamp(40px,7vw,90px)}
.loft{padding:clamp(28px,6vw,72px)}
.loft-grid{position:relative;display:grid;gap:36px;align-items:center;margin-bottom:34px}
@media(min-width:860px){.loft-grid{grid-template-columns:1.15fr .85fr}}
.moon{position:absolute;right:clamp(20px,6vw,90px);top:clamp(20px,5vw,60px);width:90px;height:90px;border-radius:50%;box-shadow:inset -22px -8px 0 0 #F3E5D0;filter:drop-shadow(0 0 26px rgba(243,229,208,.55));opacity:.9;transform:rotate(-18deg)}
.stars i:nth-child(6){left:50%;top:10%;animation-delay:-5s}.stars i:nth-child(7){left:84%;top:52%;animation-delay:-2.5s}.stars i:nth-child(8){left:58%;top:88%;animation-delay:-4.5s}
.fade-vis{padding:26px;border-radius:22px;background:rgba(0,0,0,.28);border:1px solid rgba(237,187,134,.22)}
.fade-vis small{display:block;margin-bottom:16px;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#E8B27A}
.fade-bars{display:flex;align-items:flex-end;gap:7px;height:110px}
.fade-bars i{flex:1;border-radius:6px;background:linear-gradient(180deg,#EDBB86,#9a82c9);transform-origin:bottom;animation:fadeout 5s ease-in-out infinite alternate}
.fade-bars i:nth-child(1){height:100%}.fade-bars i:nth-child(2){height:92%}.fade-bars i:nth-child(3){height:84%}.fade-bars i:nth-child(4){height:76%}.fade-bars i:nth-child(5){height:68%}.fade-bars i:nth-child(6){height:60%}.fade-bars i:nth-child(7){height:52%}.fade-bars i:nth-child(8){height:44%}.fade-bars i:nth-child(9){height:36%}.fade-bars i:nth-child(10){height:28%}.fade-bars i:nth-child(11){height:20%}.fade-bars i:nth-child(12){height:12%}
.fade-note{margin-top:18px;padding:12px 16px;border-radius:14px;background:rgba(243,229,208,.08);color:#E9D5BC;font-size:.9rem;font-style:italic}

/* coming soon */
.soon-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.soon{position:relative;padding:28px 24px 24px;border-radius:26px;overflow:hidden;border:1.5px dashed var(--line-strong);background:radial-gradient(90% 70% at 85% 0%,var(--glow),transparent 60%),var(--card);transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .35s}
@media(hover:hover){.soon:hover{transform:translateY(-6px);border-color:var(--accent)}}
.lamp{position:absolute;right:-30px;top:-30px;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,rgba(255,196,120,.55),transparent 66%);animation:lampglow 5s ease-in-out infinite}
.soon:nth-child(2n) .lamp{animation-delay:-1.7s}.soon:nth-child(3n) .lamp{animation-delay:-3.1s}
.soon-glyph{display:grid;place-items:center;width:52px;height:52px;margin-bottom:18px;border-radius:17px;background:var(--line);border:1px solid var(--line-strong)}
.soon-glyph svg{stroke:var(--accent)}
.soon h3{font-size:1.15rem;margin-bottom:.35em}
.soon p{color:var(--text2);font-size:.93rem;margin:0 0 16px}
.badge{display:inline-block;padding:5px 12px;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.06em;color:var(--over);border:1px solid var(--line-strong);background:var(--bg)}

.cta{padding:clamp(48px,8vw,100px) 24px}
.cta .aurora{z-index:0}
.cta>*:not(.aurora){position:relative;z-index:1}
.cta h2{font-size:clamp(2rem,6vw,3.6rem)}
.faq details{transition:border-color .3s}.faq details[open]{border-color:var(--line-strong)}
@media(min-width:1060px){.soon-grid{grid-template-columns:repeat(5,1fr)}}
