:root{
  --black:#04060d; --night:#070b18; --slate:#0d1322; --panel:#11182b;
  --line:rgba(255,255,255,.08);
  --aurora:#3ef0a8; --cyan:#4fd6ff; --violet:#9d7bff; --warm:#ffd9a0;
  --text:#f2f5ff; --muted:#a6b0d2; --dim:#6a7396;
  --display:'Anton',Impact,sans-serif; --serif:'Fraunces',Georgia,serif; --sans:'Inter',system-ui,sans-serif;
  --ease:cubic-bezier(.22,.8,.26,.99);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--text);line-height:1.65;font-weight:400;overflow-x:hidden;
  background:
    radial-gradient(55% 38% at 82% -6%, rgba(62,240,168,.06), transparent 60%),
    radial-gradient(48% 34% at 8% 28%, rgba(79,214,255,.05), transparent 60%),
    radial-gradient(50% 36% at 70% 70%, rgba(157,123,255,.04), transparent 60%),
    var(--black)}
/* site-wide ambient stars behind every section */
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:radial-gradient(1px 1px at 40px 60px,rgba(255,255,255,.55) 60%,transparent),radial-gradient(1px 1px at 180px 220px,rgba(207,231,255,.45) 60%,transparent),radial-gradient(1.5px 1.5px at 260px 120px,rgba(255,255,255,.5) 60%,transparent),radial-gradient(1px 1px at 100px 290px,rgba(255,255,255,.4) 60%,transparent);
  background-size:340px 340px;opacity:.33;animation:tw 9s ease-in-out infinite alternate}
::selection{background:rgba(62,240,168,.35)}
:focus-visible{outline:2px solid var(--aurora);outline-offset:3px;border-radius:4px}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}

/* grain */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.06;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ================= NAV ================= */
nav{position:fixed;top:0;left:0;right:0;z-index:60;padding:24px 0;transition:all .45s var(--ease);background:linear-gradient(180deg,rgba(4,6,13,.78) 0%,rgba(4,6,13,.35) 60%,transparent 100%)}
nav.scrolled{background:rgba(4,6,13,.82);backdrop-filter:blur(16px);padding:13px 0;border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:26px;max-width:1180px;margin:0 auto;padding:0 28px}
.brand{display:inline-flex;align-items:center;gap:11px;font-size:.92rem;letter-spacing:.5em;text-transform:uppercase;font-weight:500;color:var(--text);text-decoration:none;flex:none;text-shadow:0 1px 14px rgba(0,0,0,.85)}
.brand img{height:27px;width:auto;display:block;filter:drop-shadow(0 0 6px rgba(62,240,168,.25))}
.nav-links{display:flex;gap:26px;align-items:center;margin-left:auto}
.nav-links a:not(.pill){color:#e6ebfa;text-decoration:none;font-size:.8rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;transition:color .3s;padding-bottom:3px;border-bottom:1px solid transparent;text-shadow:0 1px 14px rgba(0,0,0,.85),0 0 2px rgba(0,0,0,.6)}
.nav-links a:not(.pill):hover{color:#ffffff;border-bottom-color:rgba(255,255,255,.4)}
.nav-links a.active{color:var(--aurora);border-bottom-color:var(--aurora)}
@media(max-width:880px){.nav-links{display:none}}
.pill{display:inline-block;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:10px 24px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text);text-decoration:none;transition:all .35s var(--ease);backdrop-filter:blur(6px);cursor:pointer;background:transparent;font-family:var(--sans)}
.pill:hover{background:var(--aurora);border-color:var(--aurora);color:#03130b}
.pill.solid{background:var(--aurora);border-color:var(--aurora);color:#03130b;font-weight:600}
.pill.solid:hover{box-shadow:0 12px 40px rgba(62,240,168,.35);transform:translateY(-2px)}

/* ============ SIDE DOTS (home only) ============ */
.dots{position:fixed;right:26px;top:50%;transform:translateY(-50%);z-index:55;display:flex;flex-direction:column;gap:16px}
.dots a{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.25);transition:all .3s}
.dots a.on{background:var(--aurora);box-shadow:0 0 12px var(--aurora);transform:scale(1.35)}
@media(max-width:900px){.dots{display:none}}

/* ================= HERO / SCENE ================= */
.hero{position:relative;height:100svh;min-height:640px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
.hero.page-hero{height:64svh;min-height:480px;justify-content:flex-end;padding-bottom:0}
.scene{position:absolute;inset:-6%;background:linear-gradient(180deg,#03040a 0%,#060a18 34%,#0b1430 58%,#16264e 76%,#23396b 88%,#2c4a80 100%);animation:kenburns 26s var(--ease) infinite alternate;will-change:transform}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.07) translateY(-1.2%)}}
.stars,.stars2{position:absolute;inset:0;background-repeat:repeat;background-size:300px 300px;opacity:.8}
.stars{background-image:radial-gradient(1px 1px at 30px 50px,#fff 60%,transparent),radial-gradient(1.4px 1.4px at 150px 200px,#dceaff 60%,transparent),radial-gradient(1px 1px at 230px 100px,#fff 60%,transparent),radial-gradient(1.2px 1.2px at 90px 260px,#fff 60%,transparent);animation:tw 7s ease-in-out infinite alternate}
.stars2{background-image:radial-gradient(1px 1px at 200px 40px,#fff 60%,transparent),radial-gradient(1.3px 1.3px at 60px 150px,#cfe7ff 60%,transparent),radial-gradient(1px 1px at 270px 250px,#fff 60%,transparent);animation:tw 9s ease-in-out infinite alternate-reverse}
@keyframes tw{from{opacity:.4}to{opacity:.95}}
.aur{position:absolute;width:150vw;height:52vh;left:-25vw;filter:blur(56px);mix-blend-mode:screen;border-radius:50%;will-change:transform}
.a1{top:-4%;background:linear-gradient(100deg,transparent 8%,var(--aurora) 38%,var(--cyan) 62%,transparent 92%);opacity:.55;animation:dr1 11s ease-in-out infinite alternate}
.a2{top:10%;background:linear-gradient(80deg,transparent 14%,var(--violet) 46%,var(--aurora) 72%,transparent 94%);opacity:.3;animation:dr2 15s ease-in-out infinite alternate}
.a3{top:-14%;background:linear-gradient(120deg,transparent 18%,var(--cyan) 52%,transparent 86%);opacity:.28;animation:dr1 20s ease-in-out infinite alternate-reverse}
/* hero auroras get living colour: drift + slow hue dance */
.scene .a1{animation:dr1 11s ease-in-out infinite alternate,aurhue 24s linear infinite alternate}
.scene .a2{animation:dr2 15s ease-in-out infinite alternate,aurhue 31s linear infinite alternate-reverse}
.scene .a3{animation:dr1 20s ease-in-out infinite alternate-reverse,aurhue 38s linear infinite alternate}
@keyframes dr1{from{transform:translateX(-7%) skewY(-4deg)}to{transform:translateX(7%) skewY(3deg) scaleY(1.3)}}
@keyframes dr2{from{transform:translateX(6%) skewY(3deg)}to{transform:translateX(-8%) skewY(-4deg) scaleY(.8)}}
@keyframes aurhue{from{filter:blur(56px) hue-rotate(0deg)}to{filter:blur(56px) hue-rotate(42deg)}}
/* aurora curtains — vertical dancing rays, like the real thing */
.scene::before,.finale::before{content:"";position:absolute;inset:-2% -2% 28% -2%;pointer-events:none;z-index:0;
  background:repeating-linear-gradient(92deg,transparent 0 16px,rgba(62,240,168,.15) 20px 30px,rgba(79,214,255,.09) 34px 44px,transparent 48px 72px);
  filter:blur(7px);mix-blend-mode:screen;opacity:.85;
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.95) 6%,rgba(0,0,0,.5) 46%,transparent 80%);
  mask-image:linear-gradient(180deg,rgba(0,0,0,.95) 6%,rgba(0,0,0,.5) 46%,transparent 80%);
  animation:curtain 12s linear infinite,curtainsway 8s ease-in-out infinite alternate}
@keyframes curtain{to{background-position:360px 0}} /* exact multiple of the ray pattern = seamless loop, no snap */
@keyframes curtainsway{from{transform:skewX(-2.6deg) scaleY(1)}to{transform:skewX(2.6deg) scaleY(1.08)}}
.moon{position:absolute;top:14%;right:16%;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle at 38% 35%,#ffffff,#cfe0ff 55%,#9fb9e8 100%);box-shadow:0 0 70px 24px rgba(207,224,255,.25);opacity:.9}
.ridge{position:absolute;left:-2%;right:-2%;bottom:0;height:42%}
.r1{background:#0a1126;clip-path:polygon(0 64%,7% 52%,15% 60%,24% 40%,33% 55%,44% 34%,55% 52%,66% 38%,77% 56%,88% 44%,100% 58%,100% 100%,0 100%)}
.r2{background:#060a18;height:34%;clip-path:polygon(0 70%,9% 58%,19% 68%,30% 48%,41% 64%,53% 44%,64% 62%,76% 50%,87% 66%,100% 52%,100% 100%,0 100%)}
.snow{position:absolute;left:0;right:0;bottom:0;height:12%;background:linear-gradient(180deg,transparent,rgba(120,160,220,.14));animation:snowpulse 9s ease-in-out infinite alternate}
@keyframes snowpulse{from{opacity:.55}to{opacity:1}}
.vignette{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 30%,transparent 55%,rgba(0,0,0,.55) 100%)}

.hero-top{position:relative;z-index:3;padding-top:118px}
.tagline{max-width:300px;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);line-height:2.1;border-left:1px solid rgba(255,255,255,.2);padding-left:18px;opacity:0;animation:fadein 1.6s var(--ease) .4s forwards}
.tagline b{color:var(--text);font-weight:500}
@keyframes fadein{to{opacity:1}}
.hero-mid{position:relative;z-index:3;text-align:center;padding:0 28px}
.hero-mid .line{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.2rem,2.6vw,1.9rem);color:var(--text);opacity:0;animation:fadein 1.6s var(--ease) .9s forwards}
.hero-mid .line em{background:linear-gradient(100deg,var(--aurora),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent;font-style:italic}
.hero-ctas{margin-top:30px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;opacity:0;animation:fadein 1.6s var(--ease) 1.3s forwards}
.hero-bottom{position:relative;z-index:3;padding-bottom:3.5vh}
.giant{display:flex;justify-content:space-between;align-items:baseline;padding:0 4vw;font-weight:200;font-size:clamp(3.2rem,12.5vw,11.5rem);line-height:1;text-transform:uppercase;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.85);user-select:none;will-change:transform}
.page-hero .giant{font-size:clamp(2.6rem,9vw,8rem);padding-bottom:2vh}
.giant span{display:inline-block;opacity:0;transform:translateY(40px);animation:rise 1.2s var(--ease) forwards}
.giant span:nth-child(1){animation-delay:.5s}.giant span:nth-child(2){animation-delay:.6s}.giant span:nth-child(3){animation-delay:.7s}.giant span:nth-child(4){animation-delay:.8s}.giant span:nth-child(5){animation-delay:.9s}.giant span:nth-child(6){animation-delay:1s}.giant span:nth-child(7){animation-delay:1.1s}.giant span:nth-child(8){animation-delay:1.2s}.giant span:nth-child(9){animation-delay:1.3s}.giant span:nth-child(10){animation-delay:1.4s}
.giant span:nth-child(odd){color:rgba(255,255,255,.92);-webkit-text-stroke:0}
@keyframes rise{to{opacity:1;transform:none}}
.page-hero .crumb{position:relative;z-index:3;text-align:center;font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);margin-bottom:3vh;opacity:0;animation:fadein 1.4s var(--ease) .3s forwards}
.scroll-hint{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:4;color:var(--dim);font-size:.66rem;letter-spacing:.34em;text-transform:uppercase;animation:bob 2.8s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,9px)}}

/* ============ MARQUEE ============ */
.marquee{border-block:1px solid var(--line);padding:18px 0;overflow:hidden;background:rgba(7,11,24,.72);position:relative;z-index:1}
.mtrack{display:flex;gap:64px;width:max-content;animation:mx 40s linear infinite;white-space:nowrap}
.marquee:hover .mtrack{animation-play-state:paused}
.mtrack span{color:var(--dim);font-size:.78rem;letter-spacing:.3em;text-transform:uppercase}
.mtrack b{color:var(--aurora);font-weight:500}
@keyframes mx{to{transform:translateX(-50%)}}

/* ============ SECTIONS ============ */
section{padding:130px 0;position:relative;background:transparent;z-index:1}
section.tight{padding:90px 0}
section.veil{background:rgba(7,11,24,.72)}
.index{font-size:.7rem;letter-spacing:.3em;color:var(--aurora);text-transform:uppercase;display:flex;align-items:center;gap:14px;margin-bottom:26px}
.index::after{content:"";flex:0 0 44px;height:1px;background:linear-gradient(90deg,var(--aurora),transparent)}
.display{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(2.2rem,5.6vw,4.4rem);line-height:1.04;letter-spacing:.01em}
.display .alt{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.7)}
.display .glow{background:linear-gradient(100deg,var(--aurora),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.body-copy{color:var(--muted);max-width:520px;font-size:1rem}
.untilnow{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.15rem,2.2vw,1.6rem);margin-top:16px;background:linear-gradient(100deg,var(--aurora),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}

.reveal{opacity:0;transform:translateY(38px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}

/* ---- STORY (arch + floating messages) ---- */
.story-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;margin-top:54px}
@media(max-width:920px){.story-grid{grid-template-columns:1fr}}
.arch{position:relative;aspect-ratio:.62;border-radius:46% 46% 18px 18px / 34% 34% 18px 18px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(180deg,#05070f 0%,#0a1430 40%,#1c3160 72%,#2d4a7e 100%)}
.arch .aur{filter:blur(34px);height:40%;width:160%;left:-30%}
.arch .figure{position:absolute;bottom:13%;left:50%;transform:translateX(-50%);width:13px;height:42px;background:#03040a;border-radius:7px 7px 4px 4px;z-index:3}
.arch .figure::before{content:"";position:absolute;top:-9px;left:50%;transform:translateX(-50%);width:9px;height:9px;border-radius:50%;background:#03040a}
.arch .path{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:46%;height:34%;background:linear-gradient(180deg,rgba(62,240,168,0),rgba(120,170,235,.2));clip-path:polygon(38% 0,62% 0,100% 100%,0 100%)}
.arch .ground{position:absolute;left:0;right:0;bottom:0;height:14%;background:linear-gradient(180deg,transparent,rgba(140,180,240,.18))}
.arch .glowline{position:absolute;top:8%;left:50%;transform:translateX(-50%);font-size:.62rem;letter-spacing:.42em;text-transform:uppercase;color:rgba(255,255,255,.55);z-index:3;white-space:nowrap}
.fmsg{position:absolute;left:50%;transform:translateX(-50%);width:80%;background:rgba(8,13,30,.82);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-size:.72rem;color:var(--muted);display:flex;gap:9px;align-items:center;opacity:0;animation:floatup 9.5s ease-in-out infinite;z-index:4;white-space:nowrap;overflow:hidden}
.fmsg .t{color:var(--dim);font-variant-numeric:tabular-nums;flex:none}
.fmsg .miss{margin-left:auto;width:7px;height:7px;border-radius:50%;background:#ff5d73;box-shadow:0 0 9px rgba(255,93,115,.8);flex:none}
.fm1{bottom:16%;animation-delay:.5s}
.fm2{bottom:16%;animation-delay:3.7s}
.fm3{bottom:16%;animation-delay:6.9s}
@keyframes floatup{0%{opacity:0;transform:translate(-50%,20px)}7%{opacity:1;transform:translate(-50%,0)}30%{opacity:1}52%{opacity:0;transform:translate(-50%,-170px)}100%{opacity:0;transform:translate(-50%,-170px)}}
.answered{position:absolute;top:15%;left:50%;transform:translateX(-50%);z-index:4;display:flex;gap:8px;align-items:center;background:rgba(6,22,17,.85);border:1px solid rgba(62,240,168,.55);border-radius:999px;padding:8px 16px;font-size:.7rem;letter-spacing:.04em;color:var(--aurora);box-shadow:0 0 32px rgba(62,240,168,.28);white-space:nowrap}
.answered::before{content:"✓";font-weight:700}

/* ---- nightline ---- */
.nightline{margin-top:74px;border:1px solid var(--line);border-radius:18px;padding:36px 40px;background:rgba(255,255,255,.018)}
@media(max-width:680px){.nightline{padding:26px 20px}}
.nl-top{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;align-items:baseline;margin-bottom:30px}
.nl-top h3{font-family:var(--display);text-transform:uppercase;font-weight:400;font-size:1.2rem;letter-spacing:.04em}
.nl-top span{font-size:.82rem;color:var(--muted)}
.nl-row{display:flex;align-items:center;gap:20px;margin-top:20px}
.nl-label{flex:0 0 170px;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
@media(max-width:680px){.nl-row{flex-direction:column;align-items:stretch;gap:10px}.nl-label{flex:none}}
.nl-bar{position:relative;flex:1;height:2px;background:rgba(255,255,255,.1);border-radius:2px}
.nl-bar i{position:absolute;top:50%;width:9px;height:9px;border-radius:50%;background:#ff5d73;transform:translate(-50%,-50%);box-shadow:0 0 10px rgba(255,93,115,.65);animation:pulse2 2.6s infinite}
.nl-bar i.g{background:var(--aurora);box-shadow:0 0 10px rgba(62,240,168,.75)}
@keyframes pulse2{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.55)}}
.nl-hours{display:flex;justify-content:space-between;margin-top:16px;margin-left:190px;font-size:.66rem;letter-spacing:.2em;color:var(--dim)}
@media(max-width:680px){.nl-hours{margin-left:0}}

/* ---- DEMO ---- */
.demo-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center;margin-top:54px}
@media(max-width:900px){.demo-grid{grid-template-columns:1fr}}
.qa{border-top:1px solid var(--line);padding:22px 4px}
.qa h3{font-size:.95rem;font-weight:600;letter-spacing:.02em;margin-bottom:6px}
.qa p{color:var(--muted);font-size:.9rem}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.chip{background:transparent;border:1px solid var(--line);border-radius:999px;padding:9px 18px;font-size:.8rem;cursor:pointer;color:var(--muted);transition:all .3s var(--ease);font-family:var(--sans)}
.chip:hover{border-color:var(--aurora);color:var(--text);transform:translateY(-2px)}
.chat{position:relative;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;height:480px;background:rgba(13,19,40,.6);backdrop-filter:blur(18px);border:1px solid var(--line);box-shadow:0 36px 90px rgba(0,0,0,.55)}
.chat::before{content:"";position:absolute;inset:-1px;border-radius:20px;padding:1px;background:linear-gradient(140deg,rgba(62,240,168,.5),transparent 32%,transparent 68%,rgba(157,123,255,.4));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.chat-head{padding:18px 22px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}
.avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--aurora),var(--cyan));display:flex;align-items:center;justify-content:center}
.chat-head strong{font-size:.92rem;font-weight:600}
.chat-head small{display:block;color:var(--dim);font-size:.72rem}
.chat-head .live{margin-left:auto;width:8px;height:8px;border-radius:50%;background:var(--aurora);box-shadow:0 0 12px var(--aurora)}
.chat-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.msg{max-width:85%;padding:12px 16px;border-radius:15px;font-size:.9rem;animation:msgin .45s var(--ease)}
.msg.bot{background:rgba(255,255,255,.05);border:1px solid var(--line);border-bottom-left-radius:5px;align-self:flex-start}
.msg.user{background:linear-gradient(120deg,var(--aurora),var(--cyan));color:#03130b;font-weight:500;border-bottom-right-radius:5px;align-self:flex-end}
@keyframes msgin{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.typing{display:inline-flex;gap:5px;padding:14px 18px}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:tp 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes tp{0%,100%{opacity:.25;transform:none}50%{opacity:1;transform:translateY(-3px)}}
.suggested{padding:12px 18px;display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line)}
.suggested button{background:transparent;border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:.76rem;cursor:pointer;color:var(--muted);transition:all .3s;font-family:var(--sans)}
.suggested button:hover{border-color:var(--aurora);color:var(--text)}
.chat-input{display:flex;border-top:1px solid var(--line)}
.chat-input input{flex:1;border:none;background:transparent;padding:16px 20px;font-size:.92rem;outline:none;color:var(--text);font-family:var(--sans)}
.chat-input input::placeholder{color:var(--dim)}
.chat-input button{background:linear-gradient(120deg,var(--aurora),var(--cyan));border:none;margin:9px;border-radius:11px;padding:0 22px;font-weight:600;cursor:pointer;color:#03130b;font-family:var(--sans)}

/* ---- ACTS ---- */
.acts{margin-top:60px;border-top:1px solid var(--line)}
.act{display:grid;grid-template-columns:120px 1fr 1.2fr;gap:30px;align-items:center;padding:44px 6px;border-bottom:1px solid var(--line);transition:background .4s}
.act:hover{background:rgba(255,255,255,.02)}
@media(max-width:820px){.act{grid-template-columns:64px 1fr}.act p{grid-column:2}}
.act .no{font-family:var(--display);font-size:2.6rem;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.45)}
.act h3{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:1.35rem;letter-spacing:.03em}
.act p{color:var(--muted);font-size:.94rem;max-width:440px}

/* ---- PRICING ---- */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);margin-top:60px}
@media(max-width:940px){.plans{grid-template-columns:1fr}}
.plan{padding:50px 38px;display:flex;flex-direction:column;border-right:1px solid var(--line);position:relative;transition:background .4s}
.plan:last-child{border-right:none}
@media(max-width:940px){.plan{border-right:none;border-bottom:1px solid var(--line)}.plan:last-child{border-bottom:none}}
.plan:hover{background:rgba(255,255,255,.025)}
.plan.featured{background:linear-gradient(170deg,rgba(62,240,168,.07),transparent 60%)}
.fbadge{position:absolute;top:22px;right:22px;font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:var(--aurora);border:1px solid rgba(62,240,168,.4);padding:5px 12px;border-radius:999px}
.plan h3{font-size:.74rem;color:var(--dim);letter-spacing:.3em;text-transform:uppercase;font-weight:500}
.plan .price{font-family:var(--display);font-size:3.2rem;margin:18px 0 2px;letter-spacing:.02em}
.plan .per{font-size:.8rem;color:var(--dim);margin-bottom:26px}
.plan ul{list-style:none;flex:1;margin-bottom:30px}
.plan li{padding:9px 0;font-size:.9rem;color:var(--muted);display:flex;gap:12px;border-bottom:1px dashed rgba(255,255,255,.06)}
.plan li::before{content:"—";color:var(--aurora)}
.plan .pill{text-align:center}

/* ---- NUMBERS ---- */
.numbers{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border:1px solid var(--line)}
@media(max-width:820px){.numbers{grid-template-columns:1fr}}
.num{padding:56px 36px;text-align:center;border-right:1px solid var(--line)}
.num:last-child{border-right:none}
@media(max-width:820px){.num{border-right:none;border-bottom:1px solid var(--line)}.num:last-child{border-bottom:none}}
.num b{display:block;font-family:var(--display);font-weight:400;font-size:4rem;line-height:1;background:linear-gradient(120deg,var(--aurora),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.num span{color:var(--muted);font-size:.88rem;display:block;margin-top:14px;max-width:250px;margin-inline:auto}

/* ---- FAQ ---- */
.faq-wrap{max-width:820px}
details{border-bottom:1px solid var(--line);padding:28px 6px}
summary{font-weight:400;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:1.05rem;letter-spacing:.01em;transition:color .3s}
summary:hover{color:var(--aurora)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--serif);font-size:1.6rem;color:var(--aurora);transition:transform .4s var(--ease);flex-shrink:0}
details[open] summary::after{transform:rotate(45deg)}
details p{margin-top:14px;color:var(--muted);font-size:.95rem;max-width:640px}

/* ---- TEASER BANDS ---- */
.teaser{border:1px solid var(--line);border-radius:22px;padding:64px 50px;display:flex;justify-content:space-between;align-items:center;gap:34px;flex-wrap:wrap;background:linear-gradient(120deg,rgba(62,240,168,.06),transparent 55%)}
.teaser h3{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.08}
.teaser p{color:var(--muted);font-size:.95rem;margin-top:10px;max-width:480px}

/* ---- CALCULATOR ---- */
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:60px;align-items:start}
@media(max-width:900px){.calc-grid{grid-template-columns:1fr}}
.calc-panel{border:1px solid var(--line);border-radius:20px;padding:42px 38px;background:rgba(255,255,255,.018)}
.calc-panel h3{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:1.2rem;margin-bottom:30px;letter-spacing:.03em}
.ctrl{margin-bottom:32px}
.ctrl label{display:flex;justify-content:space-between;align-items:baseline;font-size:.85rem;color:var(--muted);margin-bottom:12px}
.ctrl label output{font-family:var(--display);font-size:1.25rem;color:var(--text);letter-spacing:.03em}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--aurora),var(--cyan));outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--text);border:3px solid var(--aurora);box-shadow:0 0 14px rgba(62,240,168,.6);cursor:pointer}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--text);border:3px solid var(--aurora);box-shadow:0 0 14px rgba(62,240,168,.6);cursor:pointer}
.calc-note{font-size:.74rem;color:var(--dim);line-height:1.7;margin-top:8px}
.result-card{position:relative;border-radius:20px;overflow:hidden;border:1px solid rgba(62,240,168,.35);background:linear-gradient(170deg,rgba(62,240,168,.08),rgba(4,6,13,.6) 60%);padding:46px 40px}
.result-card .rrow{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0;border-bottom:1px dashed rgba(255,255,255,.1);gap:16px}
.result-card .rrow:last-of-type{border-bottom:none}
.result-card .rlabel{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.result-card .rval{font-family:var(--display);font-size:clamp(1.6rem,3.4vw,2.6rem);letter-spacing:.02em}
.result-card .lost{color:#ff5d73}
.result-card .gain{background:linear-gradient(100deg,var(--aurora),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.result-card .roi{color:var(--text)}
.result-card .cta-row{margin-top:30px;text-align:center}

/* ---- CONTACT FORM ---- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:60px;align-items:start}
@media(max-width:900px){.form-grid{grid-template-columns:1fr}}
.cform{border:1px solid var(--line);border-radius:20px;padding:44px 40px;background:rgba(255,255,255,.018)}
.cform .field{margin-bottom:24px}
.cform label{display:block;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-bottom:9px}
.cform input,.cform textarea{width:100%;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:11px;padding:14px 16px;color:var(--text);font-family:var(--sans);font-size:.94rem;outline:none;transition:border-color .3s}
.cform input:focus,.cform textarea:focus{border-color:var(--aurora)}
.cform textarea{min-height:120px;resize:vertical}
.contact-ways{display:flex;flex-direction:column;gap:16px}
.way{border:1px solid var(--line);border-radius:16px;padding:26px 28px;display:flex;gap:18px;align-items:center;text-decoration:none;color:var(--text);transition:all .35s var(--ease);background:rgba(255,255,255,.015)}
.way:hover{border-color:rgba(62,240,168,.5);transform:translateY(-3px)}
.way .ic{font-size:1.5rem}
.way b{display:block;font-size:.95rem;font-weight:600}
.way span{font-size:.82rem;color:var(--muted)}

/* ---- FINALE ---- */
.finale{position:relative;min-height:88vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:linear-gradient(180deg,var(--black) 0%,#081024 50%,#13234a 100%);padding:0}
.finale.short{min-height:62vh}
.finale .aur{filter:blur(70px)}
.finale .inner{position:relative;z-index:3;padding:60px 28px}
.finale .display{margin:18px 0 22px}
.finale p{color:var(--muted);max-width:440px;margin:0 auto 40px}
.finale .micro{margin-top:18px;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}

footer{border-top:1px solid var(--line);color:var(--dim);padding:38px 28px;font-size:.8rem;background:rgba(4,6,13,.85);position:relative;z-index:1}
.foot{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}
.foot a{color:var(--muted);text-decoration:none}
.foot a:hover{color:var(--text)}
.foot .fbrand{letter-spacing:.4em;text-transform:uppercase;font-size:.78rem;color:var(--text)}
.foot nav2{display:flex;gap:18px}

/* ===== CINEMATIC VISTAS (scene dividers) ===== */
.vista{position:relative;height:38vh;min-height:250px;overflow:hidden;border-block:1px solid var(--line);z-index:1;background:linear-gradient(180deg,rgba(5,8,18,.4) 0%,rgba(11,20,48,.5) 60%,rgba(22,38,78,.55) 100%)}
.vista .v-aur{position:absolute;width:150%;height:62%;left:-25%;top:-12%;filter:blur(44px);mix-blend-mode:screen;border-radius:50%;background:linear-gradient(100deg,transparent 10%,var(--aurora) 42%,var(--cyan) 66%,transparent 92%);opacity:.34;animation:dr1 21s ease-in-out infinite alternate}
.vista .v-r1{position:absolute;left:-2%;right:-2%;bottom:0;height:62%;background:#0a1126;clip-path:polygon(0 58%,8% 44%,17% 56%,27% 36%,38% 52%,50% 30%,61% 50%,72% 36%,84% 54%,93% 42%,100% 54%,100% 100%,0 100%);will-change:transform}
.vista .v-r2{position:absolute;left:-2%;right:-2%;bottom:0;height:40%;background:#060a18;clip-path:polygon(0 66%,10% 52%,21% 64%,33% 44%,46% 60%,59% 40%,71% 58%,83% 46%,93% 62%,100% 50%,100% 100%,0 100%);will-change:transform}
.vista .v-ground{position:absolute;left:0;right:0;bottom:0;height:16%;background:linear-gradient(180deg,transparent,rgba(130,170,230,.16))}
.vista .v-cap{position:absolute;top:24px;left:50%;transform:translateX(-50%);font-size:.62rem;letter-spacing:.42em;text-transform:uppercase;color:rgba(255,255,255,.4);z-index:5;white-space:nowrap}

/* site-wide flying stars (behind all content) */
.sky-shoots{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.sky-shoots i{position:absolute;width:110px;height:1.5px;border-radius:2px;background:linear-gradient(90deg,rgba(255,255,255,.95),rgba(160,220,255,.4),transparent);transform:rotate(-18deg);opacity:0;animation:skyshoot ease-in infinite;box-shadow:0 0 6px rgba(180,220,255,.35)}
@keyframes skyshoot{0%,90%{opacity:0;transform:rotate(-18deg) translateX(0)}92%{opacity:.9}98%{opacity:0;transform:rotate(-18deg) translateX(-46vw)}100%{opacity:0}}

/* shooting star */
.shoot{position:absolute;top:14%;left:68%;width:100px;height:1.5px;border-radius:2px;background:linear-gradient(90deg,#fff,transparent);transform:rotate(-16deg);opacity:0;animation:shoot 11s ease-in infinite;z-index:2}
.shoot.s2{top:24%;left:30%;animation-delay:5.5s;animation-duration:13s}
@keyframes shoot{0%,87%{opacity:0;transform:rotate(-16deg) translateX(0)}89%{opacity:.95}95%{opacity:0;transform:rotate(-16deg) translateX(-260px)}100%{opacity:0}}

/* dog sled crossing */
.sled{position:absolute;bottom:21%;left:-220px;z-index:4;animation:cross 30s linear infinite;animation-delay:2s;will-change:transform}
.birds{will-change:transform}
@keyframes cross{0%{transform:translateX(0)}100%{transform:translateX(calc(100vw + 440px))}}
.sled svg{display:block;height:40px;width:auto;opacity:.9}

/* cabin scene */
.cabin{position:absolute;bottom:15%;left:13%;z-index:4}
.cabin .hut{position:relative;width:96px;height:58px;background:#05070f;clip-path:polygon(0 38%,50% 0,100% 38%,100% 100%,0 100%);filter:drop-shadow(0 0 1px rgba(170,205,255,.4))}
.cabin .win{position:absolute;left:38px;bottom:14px;width:15px;height:15px;background:var(--warm);box-shadow:0 0 20px 7px rgba(255,217,160,.4);animation:flicker 3.4s ease-in-out infinite}
@keyframes flicker{0%,100%{opacity:1}45%{opacity:.75}60%{opacity:.95}78%{opacity:.7}}
.cabin .smoke i{position:absolute;left:68px;bottom:60px;width:7px;height:7px;border-radius:50%;background:rgba(205,215,235,.28);animation:smoke 5.5s ease-in infinite}
.cabin .smoke i:nth-child(2){animation-delay:1.8s}
.cabin .smoke i:nth-child(3){animation-delay:3.6s}
@keyframes smoke{0%{transform:translate(0,0) scale(.7);opacity:0}15%{opacity:.7}100%{transform:translate(16px,-64px) scale(2.1);opacity:0}}
/* reindeer near cabin */
.deer{position:absolute;bottom:15%;right:16%;z-index:4}
.deer svg{height:46px;width:auto;opacity:.88}

/* drifting birds */
.birds{position:absolute;top:22%;left:-120px;z-index:3;animation:cross 38s linear infinite;animation-delay:1s}
.birds svg{height:26px;width:auto;opacity:.55}

/* snowfall */
.snowfall{position:absolute;inset:0;pointer-events:none;z-index:5}
.snowfall i{position:absolute;top:-8px;border-radius:50%;background:rgba(232,240,255,.75);animation-name:fall;animation-timing-function:linear;animation-iteration-count:infinite}
@keyframes fall{to{transform:translateY(46vh) translateX(26px)}}

@media(max-width:680px){
  .vista{height:30vh;min-height:200px}
  .vista .v-aur{filter:blur(22px)}
  .sled svg{height:30px}
  .deer svg{height:34px}
}

/* ---- BURGER + MOBILE MENU ---- */
.burger{display:none;flex-direction:column;gap:5px;background:transparent;border:none;cursor:pointer;padding:10px;z-index:70}
.burger span{width:24px;height:2px;background:var(--text);transition:all .35s var(--ease);display:block}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:880px){.burger{display:flex}}
.mobile-menu{position:fixed;inset:0;background:rgba(4,6,13,.97);backdrop-filter:blur(18px);z-index:65;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s}
.mobile-menu.open{opacity:1;visibility:visible}
.mobile-menu a:not(.pill){font-family:var(--display);font-size:clamp(1.6rem,7vw,2.4rem);text-transform:uppercase;color:var(--text);text-decoration:none;letter-spacing:.04em;transition:color .3s}
.mobile-menu a:not(.pill):hover{color:var(--aurora)}

/* ---- FORM STATUS ---- */
.form-status{margin-top:14px;text-align:center;font-size:.85rem;color:var(--aurora);min-height:1.2em}

/* ---- MOBILE PERFORMANCE ---- */
@media(max-width:680px){
  .aur{filter:blur(26px)}
  .a3{display:none}
  .scene{animation:none}
  /* lighter motion on phones: drift only, no hue filter animation */
  .scene .a1{animation:dr1 12s ease-in-out infinite alternate}
  .scene .a2{animation:dr2 16s ease-in-out infinite alternate}
  .scene::before,.finale::before{filter:blur(5px);animation:curtain 16s linear infinite}
  .moon{box-shadow:0 0 36px 12px rgba(207,224,255,.2)}
  .chat{height:70svh;max-height:480px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s !important;transition-duration:.001s !important}
  .reveal,.giant span,.tagline,.hero-mid .line,.hero-ctas,.page-hero .crumb{opacity:1;transform:none}
}

/* ============================================================
   AuroraReply — branded floating chat widget
   ============================================================ */
#ar-widget{position:fixed;bottom:24px;right:24px;z-index:9999;font-family:var(--sans)}
#ar-toggle{width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,var(--aurora),var(--cyan));border:none;cursor:pointer;box-shadow:0 6px 32px rgba(62,240,168,.45);display:flex;align-items:center;justify-content:center;transition:transform .3s var(--ease),box-shadow .3s var(--ease);position:relative;z-index:2}
#ar-toggle:hover{transform:scale(1.08);box-shadow:0 10px 44px rgba(62,240,168,.65)}
#ar-toggle svg{width:22px;height:22px;transition:opacity .25s,transform .25s;position:absolute}
#ar-toggle .icon-x{opacity:0;transform:rotate(-45deg) scale(.7)}
#ar-toggle.open .icon-chat{opacity:0;transform:rotate(45deg) scale(.7)}
#ar-toggle.open .icon-x{opacity:1;transform:rotate(0) scale(1)}
#ar-panel{position:absolute;bottom:70px;right:0;width:340px;height:480px;border-radius:20px;display:flex;flex-direction:column;background:rgba(10,16,32,.96);backdrop-filter:blur(20px) saturate(1.4);border:1px solid rgba(62,240,168,.18);box-shadow:0 24px 72px rgba(0,0,0,.75);opacity:0;pointer-events:none;transform:scale(.9) translateY(18px);transform-origin:bottom right;transition:opacity .35s var(--ease),transform .35s var(--ease);overflow:hidden}
#ar-panel.open{opacity:1;pointer-events:auto;transform:none}
#ar-panel::before{content:"";position:absolute;inset:-1px;border-radius:20px;padding:1px;background:linear-gradient(145deg,rgba(62,240,168,.45) 0%,transparent 40%,transparent 60%,rgba(79,214,255,.3) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1}
#ar-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}
#ar-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--aurora),var(--cyan));display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}
#ar-head-info{flex:1;min-width:0}
#ar-head-info strong{display:block;font-size:.8rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#ar-head-info small{font-size:.67rem;color:var(--dim);display:flex;align-items:center;gap:5px;margin-top:2px}
#ar-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--aurora);box-shadow:0 0 8px var(--aurora);animation:pulse 2s infinite}
#ar-close{background:none;border:none;color:var(--dim);cursor:pointer;font-size:1rem;padding:4px;line-height:1;transition:color .2s;flex-shrink:0}
#ar-close:hover{color:var(--text)}
#ar-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.08) transparent}
.ar-msg{max-width:86%;font-size:.84rem;line-height:1.55;padding:9px 13px;border-radius:14px;word-break:break-word}
.ar-bot{background:rgba(255,255,255,.07);color:var(--muted);align-self:flex-start;border-radius:4px 14px 14px 14px}
.ar-user{background:linear-gradient(135deg,rgba(62,240,168,.22),rgba(79,214,255,.12));color:var(--text);align-self:flex-end;border-radius:14px 4px 14px 14px}
.ar-typing{display:flex;gap:4px;align-items:center;padding:12px 14px}
.ar-typing i{width:6px;height:6px;border-radius:50%;background:var(--dim);display:inline-block;animation:ar-bounce .9s infinite both;font-style:normal}
.ar-typing i:nth-child(2){animation-delay:.15s}
.ar-typing i:nth-child(3){animation-delay:.3s}
@keyframes ar-bounce{0%,80%,100%{transform:translateY(0)}40%{transform:translateY(-6px)}}
#ar-chips{padding:8px 12px;display:flex;gap:6px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.07);flex-shrink:0}
#ar-chips button{background:transparent;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:5px 12px;font-size:.71rem;cursor:pointer;color:var(--muted);transition:all .25s;font-family:var(--sans)}
#ar-chips button:hover{border-color:var(--aurora);color:var(--text);background:rgba(62,240,168,.08)}
#ar-input-row{display:flex;border-top:1px solid rgba(255,255,255,.07);flex-shrink:0}
#ar-input{flex:1;border:none;background:transparent;padding:12px 14px;font-size:.85rem;outline:none;color:var(--text);font-family:var(--sans)}
#ar-input::placeholder{color:var(--dim)}
#ar-send{background:linear-gradient(135deg,var(--aurora),var(--cyan));border:none;margin:7px;padding:0 14px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .2s}
#ar-send:hover{opacity:.85}
#ar-send svg{width:16px;height:16px}
#ar-brand{text-align:center;padding:7px 12px;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);border-top:1px solid rgba(255,255,255,.07);flex-shrink:0}
#ar-brand strong{color:var(--aurora);letter-spacing:.22em}
@media(max-width:400px){#ar-panel{width:calc(100vw - 32px);right:-4px}}
