:root{
  --bg:#030303;
  --ink:#E8E8E8;
  --slate:#141414;
  --line:rgba(255,255,255,.04);
  --muted:#666;
  --accent:#ff5a36;
  --accent-2:#ffb454;
  --accent-glow:rgba(255,90,54,.10);
  --glass:rgba(255,255,255,.01);
  --glass-border:rgba(255,255,255,.035);
  --grotesk:"Familjen Grotesk",-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  --mono:"Martian Mono",ui-monospace,"SFMono-Regular",monospace;
  --serif:"Fraunces",Georgia,"Songti SC",serif;
  --pad:6vw;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:auto;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--grotesk);
  font-weight:400;
  line-height:1.5;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  cursor:none;
  /* WeChat: prevent pull-to-refresh & overscroll */
  overscroll-behavior:none;
  -webkit-overflow-scrolling:touch;
}
/* Grain texture overlay */
.grain{position:fixed;inset:0;z-index:9997;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
/* Section glow divider */
section+section:not(.hero):not(.climax):not(.cta):not(.testimonials):not(.facts):not(.marquee){border-top:1px solid transparent;}
.section-eyebrow{color:var(--accent);margin-bottom:40px;}

/* Ambient glow orbs between sections */
.glow-divider{position:relative;height:0;pointer-events:none;}
.glow-divider::before{content:"";position:absolute;left:50%;top:-80px;transform:translateX(-50%);width:min(600px,70vw);height:120px;background:radial-gradient(ellipse at center,var(--accent-glow),transparent 70%);}
img,video{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
.mono{font-family:var(--mono);text-transform:uppercase;letter-spacing:0.22em;font-size:10px;font-weight:400;}
.serif{font-family:var(--serif);}
.accent{color:var(--accent);}
em{font-style:normal;}

/* ===== Loader ===== */
.loader{position:fixed;inset:0;z-index:9999;background:var(--bg);display:flex;align-items:center;justify-content:center;transition:opacity .8s ease, visibility .8s;}
.loader.done{opacity:0;visibility:hidden;}
.loader-inner{display:flex;flex-direction:column;align-items:center;gap:18px;}
.loader-mark{font-family:var(--grotesk);font-weight:600;letter-spacing:0.32em;font-size:14px;color:var(--ink);}
.loader-bar{width:160px;height:2px;background:var(--line);overflow:hidden;}
.loader-bar i{display:block;height:100%;width:0;background:var(--accent);transition:width .4s ease;}

/* ===== Custom cursor ===== */
.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;z-index:9998;pointer-events:none;border-radius:50%;mix-blend-mode:difference;}
.cursor-dot{width:7px;height:7px;background:#fff;transform:translate(-50%,-50%);}
.cursor-ring{width:38px;height:38px;border:1px solid rgba(255,255,255,.6);transform:translate(-50%,-50%);transition:width .25s,height .25s,border-color .25s;}
.cursor-ring.hover{width:64px;height:64px;border-color:var(--accent);}
@media(max-width:900px){.cursor-dot,.cursor-ring{display:none;}body{cursor:auto;}}

/* ===== Nav ===== */
.nav{position:fixed;top:0;left:0;width:100%;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:22px var(--pad);}
.nav-logo{font-family:var(--grotesk);font-weight:600;font-size:18px;letter-spacing:0.04em;color:#fff;display:inline-flex;align-items:center;gap:2px;}
.nav-logo span{color:#fff;opacity:.8;}
.nav-menu{background:none;border:none;color:#fff;display:flex;align-items:center;gap:12px;cursor:none;}
.nav-menu .mono{color:#fff;}
.nav-menu-lines{display:inline-flex;flex-direction:column;gap:4px;width:26px;}
.nav-menu-lines i{height:1.5px;background:#fff;width:100%;display:block;}

/* ===== Menu overlay ===== */
.menu{position:fixed;inset:0;z-index:300;background:var(--bg);transform:translateY(-100%);transition:transform .7s cubic-bezier(.76,0,.24,1);display:flex;flex-direction:column;justify-content:center;padding:0 var(--pad);}
.menu.open{transform:translateY(0);}
.menu-close{position:absolute;top:26px;right:var(--pad);background:none;border:none;color:var(--ink);cursor:none;}
.menu-list{list-style:none;}
.menu-list li{overflow:hidden;}
.menu-link{display:flex;align-items:baseline;gap:18px;font-family:var(--grotesk);font-weight:500;font-size:clamp(40px,9vw,110px);line-height:1.05;text-transform:uppercase;letter-spacing:-0.02em;color:var(--ink);transition:color .35s,padding-left .45s;padding:6px 0;}
.menu-link span{font-family:var(--mono);font-size:13px;letter-spacing:0.18em;color:var(--muted);text-transform:uppercase;}
.menu-link:hover{color:var(--accent);padding-left:24px;}
.menu-foot{position:absolute;bottom:32px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;color:var(--muted);}

/* ===== Hero ===== */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:0 var(--pad);overflow:hidden;}
.hero-bg{position:absolute;inset:-6%;background-size:cover;background-position:center;filter:grayscale(1) contrast(1.05) brightness(.55);transform:scale(1.05);will-change:transform;}
.hero-tint{position:absolute;inset:0;background:var(--accent);mix-blend-mode:color;opacity:.22;}
.hero-dark{position:absolute;inset:0;background:radial-gradient(120% 90% at 20% 40%,rgba(12,12,12,.35),rgba(12,12,12,.9) 75%),linear-gradient(180deg,rgba(12,12,12,.65),rgba(12,12,12,.2) 40%,rgba(12,12,12,.85));}
.hero-content{position:relative;z-index:2;max-width:1100px;}
.eyebrow{color:var(--accent);margin-bottom:26px;}
.hero-title{font-family:var(--grotesk);font-weight:600;font-size:clamp(52px,10vw,150px);line-height:.92;letter-spacing:-0.04em;text-transform:none;}
.hero-title .line{display:block;overflow:hidden;}
.hero-title .split{display:inline-block;}
.hero-title em{font-weight:600;}
.hero-sub{margin-top:30px;max-width:540px;font-size:clamp(15px,1.5vw,19px);color:var(--ink);opacity:.82;line-height:1.6;}
.hero-rotate{margin-top:28px;color:var(--muted);font-size:15px;letter-spacing:.12em;}
.rotate-label{color:var(--accent);margin-right:8px;opacity:.9;}
.rotate-word{display:inline-block;color:#fff;font-weight:600;font-size:1.4em;}
.hero-actions{margin-top:38px;display:flex;gap:16px;flex-wrap:wrap;}
.hero-scroll{position:absolute;bottom:30px;left:var(--pad);z-index:2;color:var(--muted);font-size:11px;}
.btn-primary{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:#0C0C0C;font-family:var(--grotesk);font-weight:600;font-size:15px;padding:15px 26px;border-radius:100px;transition:transform .3s,background .3s;}
.btn-primary .arrow{transition:transform .3s;}
.btn-primary:hover{background:var(--accent-2);}
.btn-primary:hover .arrow{transform:translate(3px,-3px);}
.btn-primary.big{font-size:18px;padding:18px 34px;}
.btn-ghost{display:inline-flex;align-items:center;padding:15px 24px;border:1px solid var(--line);border-radius:100px;font-size:14px;color:var(--ink);transition:border-color .3s,color .3s;}
.btn-ghost:hover{border-color:var(--ink);}

/* ===== Marquee ===== */
.marquee{background:var(--accent);color:#0C0C0C;padding:16px 0;overflow:hidden;white-space:nowrap;}
.marquee-track{display:inline-flex;align-items:center;gap:28px;animation:marquee 22s linear infinite;font-family:var(--grotesk);font-weight:600;font-size:clamp(20px,3vw,34px);text-transform:uppercase;letter-spacing:-0.01em;}
.marquee .dot{opacity:.6;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ===== About / Manifesto ===== */
.about{padding:26vh var(--pad) 18vh;max-width:1300px;position:relative;}
.about-body{position:relative;z-index:1;}
.about-watermark{position:absolute;right:-4vw;bottom:-6vh;font-family:var(--grotesk);font-weight:700;font-size:clamp(100px,22vw,340px);line-height:.85;letter-spacing:-.04em;color:var(--line);-webkit-user-select:none;user-select:none;z-index:0;}
.manifesto{font-family:var(--grotesk);font-weight:500;font-size:clamp(32px,5.5vw,80px);line-height:1.12;letter-spacing:-0.03em;}
.manifesto .w{display:inline-block;opacity:.12;transition:opacity .5s ease;}
.manifesto .w.in{opacity:1;}
.manifesto em{font-style:italic;}
.about-sub{margin-top:42px;max-width:560px;color:var(--muted);font-size:clamp(15px,1.5vw,18px);line-height:1.7;}

/* ===== Facts ===== */
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;}
.facts::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,var(--bg),transparent 20%,transparent 80%,var(--bg));}
.fact{background:var(--bg);padding:52px var(--pad);display:flex;flex-direction:column;gap:10px;position:relative;transition:background .4s;}
.fact:hover{background:#111;}
.fact .num{font-family:var(--grotesk);font-weight:600;font-size:clamp(56px,8vw,110px);line-height:.88;letter-spacing:-0.04em;background:linear-gradient(135deg,var(--ink),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.fact .mono{color:var(--muted);}

/* ===== Features ===== */
.features{padding:22vh 0 0;}
.features-head{padding:0 var(--pad);margin-bottom:60px;}
.features-title{font-family:var(--grotesk);font-weight:600;font-size:clamp(40px,6.5vw,90px);line-height:.98;letter-spacing:-0.04em;}
.features-pin{position:relative;}
.features-track{display:flex;gap:28px;padding:0 var(--pad);}
.fcard{flex:0 0 36vw;min-width:320px;height:74vh;max-height:640px;border:1px solid var(--glass-border);border-radius:8px;overflow:hidden;position:relative;display:flex;flex-direction:column;justify-content:flex-end;background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .55s cubic-bezier(.25,1,.25,1),border-color .5s,box-shadow .5s;}
.fcard:hover{transform:translateY(-10px);border-color:rgba(255,90,54,.35);box-shadow:0 20px 60px -20px var(--accent-glow),inset 0 0 0 1px rgba(255,255,255,.04);}
.fcard-img{position:absolute;inset:0;background-image:var(--img);background-size:cover;background-position:center;filter:grayscale(1) brightness(.55) contrast(1.05);transform:scale(1.02);transition:transform 1s cubic-bezier(.25,1,.25,1),filter .7s;}
.fcard:hover .fcard-img{transform:scale(1.1);filter:grayscale(.15) brightness(.68) contrast(1.05);}
.fcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,12,12,.05) 30%,rgba(12,12,12,.78) 70%,rgba(12,12,12,.92));}
.fcard-body{position:relative;z-index:2;padding:36px 34px;}
.fcard-idx{position:absolute;top:26px;right:30px;color:var(--accent);font-size:12px;}
.fcard-title{font-family:var(--grotesk);font-weight:600;font-size:clamp(24px,2.6vw,40px);letter-spacing:-0.02em;margin-bottom:12px;color:#fff;}
.fcard-desc{color:var(--ink);opacity:.82;font-size:14px;line-height:1.65;max-width:340px;}

/* ===== Climax video ===== */
.climax{position:relative;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.climax-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.45) contrast(1.05);}
.climax-tint{position:absolute;inset:0;background:var(--accent);mix-blend-mode:color;opacity:.25;}
.climax-dark{position:absolute;inset:0;background:radial-gradient(80% 80% at 50% 50%,rgba(12,12,12,.25),rgba(12,12,12,.9));}
/* Scan line effect */
.climax::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);}
.climax-content{position:relative;z-index:2;text-align:center;padding:0 var(--pad);}
.climax-title{font-family:var(--grotesk);font-weight:600;font-size:clamp(48px,10vw,140px);line-height:.9;letter-spacing:-0.04em;}
.climax-sub{margin-top:24px;color:var(--ink);opacity:.8;}
/* Glow orb behind climax title */
.climax-content::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(500px,60vw);height:min(300px,40vw);background:radial-gradient(ellipse at center,var(--accent-glow),transparent 70%);pointer-events:none;z-index:-1;}

/* ===== Why ===== */
.why{padding:24vh var(--pad);max-width:1100px;}
.why-list{list-style:none;margin-top:30px;border-top:1px solid var(--line);counter-reset:why;}
.why-item{display:grid;grid-template-columns:80px 1fr;align-items:center;gap:20px 32px;padding:32px 0;border-bottom:1px solid var(--line);transition:padding-left .4s,color .4s;cursor:none;position:relative;}
.why-item::before{content:"";position:absolute;left:-20px;top:0;width:1px;height:0;background:var(--accent);transition:height .5s cubic-bezier(.25,1,.25,1);}
.why-item:hover,
.why-item:active{padding-left:24px;color:var(--accent);}
.why-item:hover::before,
.why-item:active::before{height:100%;}
.why-no{font-family:var(--grotesk);font-weight:600;font-size:clamp(28px,3.5vw,52px);line-height:1;color:rgba(255,255,255,.25);transition:color .4s;}
.why-item:hover .why-no,
.why-item:active .why-no{color:var(--accent);}
.why-txt{font-family:var(--grotesk);font-weight:500;font-size:clamp(20px,3vw,40px);letter-spacing:-0.02em;}
@media(max-width:900px){
  .why-item{grid-template-columns:50px 1fr;gap:12px 20px;}
  .why-item:hover{padding-left:8px;}
}

/* ===== Testimonials ===== */
.testimonials{padding:20vh var(--pad);overflow:hidden;position:relative;}
.testi-heading{font-family:var(--grotesk);font-weight:600;font-size:clamp(36px,6vw,80px);line-height:1.02;letter-spacing:-0.03em;margin-bottom:16px;}
.testi-track{display:flex;gap:28px;margin-top:50px;transition:transform .7s cubic-bezier(.76,0,.24,1);perspective:1200px;}
.testi-card{flex:0 0 42vw;min-width:310px;max-width:540px;border:1px solid var(--glass-border);border-radius:8px;padding:40px 36px;transform-style:preserve-3d;will-change:transform,opacity;display:flex;flex-direction:column;justify-content:space-between;gap:36px;background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color .5s,background .5s,box-shadow .5s,transform .5s;position:relative;overflow:hidden;}
.testi-card::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-glow),transparent);opacity:0;transition:opacity .5s;}
.testi-card:hover{border-color:rgba(255,90,54,.3);background:rgba(255,255,255,.04);box-shadow:0 16px 48px -16px rgba(255,90,54,.12);transform:translateY(-6px);}
.testi-card:hover::before{opacity:1;}
.testi-quote{font-family:var(--serif);font-style:italic;font-size:clamp(17px,1.6vw,22px);line-height:1.55;color:var(--ink);opacity:.9;position:relative;padding-top:10px;}
.testi-quote::before{content:"\201C";display:block;font-family:var(--grotesk);font-weight:700;font-size:clamp(48px,5vw,72px);line-height:.6;color:var(--accent);opacity:.4;margin-bottom:8px;font-style:normal;}
.testi-author{display:flex;align-items:center;gap:14px;}
.testi-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#0C0C0C;display:flex;align-items:center;justify-content:center;font-family:var(--grotesk);font-weight:700;font-size:15px;}
.testi-meta{display:flex;flex-direction:column;gap:2px;}
.testi-meta b{font-size:15px;font-weight:600;}
.testi-meta .mono{font-size:10px;color:var(--muted);}
.testi-dots{display:flex;justify-content:center;gap:10px;margin-top:36px;}
.testi-dot{width:8px;height:8px;border-radius:50%;background:var(--line);border:none;cursor:none;transition:background .4s,transform .4s,box-shadow .4s;}
.testi-dot.active{background:var(--accent);transform:scale(1.5);box-shadow:0 0 10px var(--accent-glow);}
@media(max-width:900px){
  .testi-track{flex-direction:column;gap:16px;}
  .testi-card{flex:none;width:100%;max-width:none;}
  .testi-dots{display:none;}
}

/* ===== CTA ===== */
.cta{position:relative;padding:22vh var(--pad);overflow:hidden;text-align:center;}
.cta-bg{position:absolute;inset:-6%;background-size:cover;background-position:center;filter:grayscale(1) brightness(.4) contrast(1.05);}
.cta{position:relative;padding:22vh var(--pad);overflow:hidden;text-align:center;}
.cta-bg{position:absolute;inset:-6%;background-size:cover;background-position:center;filter:grayscale(1) brightness(.35) contrast(1.05);transition:transform 1.2s cubic-bezier(.25,1,.25,1);}
.cta:hover .cta-bg{transform:scale(1.06);}
.cta-dark{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,rgba(12,12,12,.45),rgba(12,12,12,.88));}
.cta-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:44px;}
.cta-title{font-family:var(--grotesk);font-weight:600;font-size:clamp(34px,6vw,86px);line-height:1.02;letter-spacing:-0.03em;}
/* Button glow pulse */
.cta .btn-primary{position:relative;}
.cta .btn-primary::after{content:"";position:absolute;inset:-4px;border-radius:100px;background:var(--accent-glow);z-index:-1;opacity:0;transition:opacity .5s;}
.cta .btn-primary:hover::after{opacity:1;}

/* ===== Footer ===== */
.footer{padding:18vh var(--pad) 40px;border-top:1px solid var(--line);position:relative;}
.footer::before{content:"";position:absolute;top:0;left:var(--pad);right:var(--pad);height:1px;background:linear-gradient(90deg,transparent,var(--accent-glow),transparent);}
.footer-mark{font-family:var(--serif);font-weight:400;font-size:clamp(70px,18vw,260px);line-height:.9;letter-spacing:-0.03em;transition:color .5s;}
.footer-mark .accent{transition:color .5s;}
.footer:hover .footer-mark .accent{color:var(--accent-2);}
.footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:70px 0 60px;}
.footer-h{color:var(--muted);margin-bottom:18px;}
.footer-col{display:flex;flex-direction:column;gap:10px;}
.footer-link{font-size:16px;color:var(--ink);transition:color .3s;}
.footer-link:hover{color:var(--accent);}
.footer-bottom{display:flex;justify-content:space-between;color:var(--muted);border-top:1px solid var(--line);padding-top:26px;font-size:11px;}

/* ===== Reveal ===== */
.reveal{opacity:0;transform:translateY(28px);}
.reveal.in{opacity:1;transform:none;transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1);}

/* ===== Responsive ===== */
@media(max-width:900px){
  .facts{grid-template-columns:repeat(2,1fr);}
  .features-track{flex-direction:column;gap:18px;padding:0 6vw;}
  .fcard{flex:none;width:100%;height:auto;min-height:380px;}
  .footer-cols{grid-template-columns:1fr;gap:36px;}
  .footer-bottom{flex-direction:column;gap:8px;}
  .menu-link{font-size:13vw;}
}
@media(max-width:560px){
  .facts{grid-template-columns:1fr;}
  .hero-sub{font-size:15px;}
}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
  .reveal{opacity:1;transform:none;}
  .manifesto .w{opacity:1;}
}
