/* ============================================================
   Meteora Flow — site.css
   Inspired by Fey.com (editorial, hairline borders, calm)
   + Augen Pro (tabular numerics, bold chart vibe, accents)
   Brand: Meteora Flow · accent: green #3CCF91
   ============================================================ */

:root{
  /* palette */
  --bg:#050506;
  --bg2:#0a0a0c;
  --bg3:#101013;
  --bg4:#16161a;
  --ink:#F4F4F5;
  --ink-bright:#FFFFFF;
  --g1:#9B9FA6;
  --g2:#6B6E75;
  --g3:#3F4248;
  --g4:#26282D;
  --line:rgba(255,255,255,0.06);
  --line2:rgba(255,255,255,0.1);

  /* accents */
  --acc:#3CCF91;
  --acc-bright:#7CE8B5;
  --acc-deep:#1F9E6C;
  --acc-dim:rgba(60,207,145,0.1);
  --acc-glow:rgba(60,207,145,0.35);
  --cyan:#18CCFC;
  --warm:#FFA16C;
  --coral:#E8B4B8;
  --lime:#C8E64D;
  --mist:#B6D6FF;

  /* type */
  --display:'Outfit','Inter',system-ui,-apple-system,sans-serif;
  --sans:'Inter',system-ui,-apple-system,sans-serif;
  --mono:'SF Mono',ui-monospace,Menlo,Consolas,monospace;

  /* motion */
  --ease:cubic-bezier(0.4,0,0.2,1);
  --bounce:cubic-bezier(0.34,1.56,0.64,1);

  /* layout */
  --maxw:1200px;
  --gutter:32px;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);color:var(--ink);
  font-family:var(--sans);font-weight:400;line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-feature-settings:"cv11","ss01","ss03";
}
img{display:block;max-width:100%;}
a{text-decoration:none;color:inherit;}
ul,ol{list-style:none;}
button{font-family:inherit;border:0;background:none;color:inherit;cursor:pointer;}

/* grain */
.grain{
  position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:0.03;mix-blend-mode:overlay;
  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='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:200px 200px;
}

/* scroll progress */
.scroll-progress{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--acc),var(--cyan));z-index:9999;transform-origin:left;transform:scaleX(0);}

/* cursor glow (desktop only) */
.cursor-glow{
  position:fixed;width:600px;height:600px;pointer-events:none;z-index:1;
  background:radial-gradient(circle,rgba(60,207,145,0.08) 0%,transparent 65%);
  transform:translate(-50%,-50%);display:none;will-change:left,top;
}
@media(min-width:1024px){.cursor-glow{display:block;}}

/* background shader canvas */
#bgShader{
  position:fixed;inset:0;z-index:0;pointer-events:none;opacity:0.11;mix-blend-mode:screen;
  mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000,transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000,transparent 80%);
}

/* NAV */
nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:18px 0;transition:all 0.35s var(--ease);
}
nav.scrolled{
  background:rgba(5,5,6,0.82);backdrop-filter:blur(24px) saturate(140%);
  -webkit-backdrop-filter:blur(24px) saturate(140%);
  border-bottom:1px solid var(--line);padding:12px 0;
}
.nav-inner{
  max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.nav-logo{
  font-family:var(--display);font-weight:600;font-size:1rem;letter-spacing:-0.02em;
  display:flex;align-items:center;gap:10px;color:var(--ink-bright);
}
.nav-logo em{font-style:normal;color:var(--acc);font-weight:500;}
.nav-logo-mark{
  width:20px;height:20px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,var(--acc-bright),var(--acc-deep) 70%);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 16px rgba(60,207,145,0.4),inset 0 0 8px rgba(255,255,255,0.2);
  animation:markPulse 3.2s ease-in-out infinite;
}
.mark-dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,0.9);}
@keyframes markPulse{
  0%,100%{box-shadow:0 0 16px rgba(60,207,145,0.4),inset 0 0 8px rgba(255,255,255,0.2);}
  50%{box-shadow:0 0 24px rgba(60,207,145,0.6),inset 0 0 10px rgba(255,255,255,0.3);}
}
.nav-links{display:flex;align-items:center;gap:28px;}
.nav-links a{font-size:0.865rem;color:var(--g1);transition:color 0.2s;}
.nav-links a:hover{color:var(--ink-bright);}
.nav-cta{
  background:var(--ink-bright);color:#000;padding:9px 18px;border-radius:999px;
  font-size:0.85rem;font-weight:500;letter-spacing:-0.01em;
  transition:all 0.3s var(--ease);
}
.nav-cta:hover{background:var(--acc);color:#000;transform:translateY(-1px);}
@media(max-width:900px){.nav-links a:not(.nav-cta){display:none;}}

/* ============================================================
   HERO
============================================================ */
.hero{
  position:relative;min-height:100dvh;
  padding:120px var(--gutter) 80px;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  overflow:hidden;text-align:center;
}
.hero-bg-layer{
  position:absolute;inset:0;z-index:0;pointer-events:none;
}
.hero-grid-overlay{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,0.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,0.018) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000,transparent 75%);
}
.hero-inner{
  position:relative;z-index:2;max-width:1100px;width:100%;
  display:flex;flex-direction:column;align-items:center;gap:0;
}

.hero-badge{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(255,255,255,0.03);
  border:1px solid var(--line);
  padding:7px 16px;border-radius:999px;
  font-size:0.72rem;color:var(--g1);
  text-transform:uppercase;letter-spacing:0.14em;font-weight:500;
  margin-top:20px;margin-bottom:36px;
  backdrop-filter:blur(8px);
}
.pulse-dot{
  width:6px;height:6px;border-radius:50%;background:var(--acc);
  animation:pulseDot 2s ease-in-out infinite;flex-shrink:0;
  box-shadow:0 0 8px var(--acc-glow);
}
@keyframes pulseDot{
  0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 0 rgba(60,207,145,0.5);}
  50%{opacity:0.75;transform:scale(1.25);box-shadow:0 0 0 6px rgba(60,207,145,0);}
}

.hero-title{
  font-family:var(--display);
  font-size:clamp(2.6rem,7.2vw,6rem);
  font-weight:700;line-height:1.02;letter-spacing:-0.045em;
  color:var(--ink-bright);
  display:flex;flex-direction:column;align-items:center;gap:4px;
  margin-bottom:28px;
}
.hero-line1{display:block;}
.hero-rotator{
  display:block;position:relative;height:1.05em;overflow:hidden;
  padding:0 0.2em;
}
.hero-rotator-slot{display:block;position:relative;height:100%;width:auto;}
.rot-word{
  display:inline-block;position:absolute;left:50%;top:0;
  transform:translate(-50%,130%);opacity:0;transition:all 0.7s var(--ease);
  background:linear-gradient(135deg,var(--acc-bright) 0%,var(--acc) 50%,var(--acc-deep) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  font-weight:800;letter-spacing:-0.05em;white-space:nowrap;
  font-style:italic;
}
.rot-word.on{transform:translate(-50%,0);opacity:1;}
.rot-word.out{transform:translate(-50%,-130%);opacity:0;}
.hero-line3{display:block;color:var(--g1);font-weight:500;font-size:0.88em;font-family:var(--sans);letter-spacing:-0.02em;line-height:1.15;}

.hero-sub{
  font-size:clamp(1rem,1.3vw,1.15rem);color:var(--g1);line-height:1.65;
  max-width:640px;margin-bottom:36px;
}

.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-bottom:36px;}

.btn-primary{
  position:relative;display:inline-flex;align-items:center;gap:10px;
  background:var(--ink-bright);color:#000;
  padding:14px 28px;border-radius:999px;
  font-weight:500;font-size:0.95rem;letter-spacing:-0.01em;
  transition:all 0.3s var(--ease);cursor:pointer;overflow:hidden;
  box-shadow:0 8px 24px rgba(0,0,0,0.3),inset 0 1px 0 rgba(255,255,255,0.6);
  will-change:transform;
}
.btn-primary::before{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(135deg,var(--acc-bright) 0%,var(--acc) 100%);
  opacity:0;transition:opacity 0.3s ease;
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(60,207,145,0.28);}
.btn-primary:hover::before{opacity:1;}
.btn-primary > *{position:relative;z-index:1;}
.btn-primary:hover svg{transform:translateX(4px);}
.btn-primary svg{transition:transform 0.3s var(--ease);}
.btn-primary:active{transform:scale(0.98);}

.btn-ghost{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;color:var(--g1);
  padding:14px 24px;border-radius:999px;
  font-weight:500;font-size:0.9rem;
  border:1px solid var(--line);
  transition:all 0.3s var(--ease);
}
.btn-ghost:hover{color:var(--ink-bright);border-color:var(--line2);background:rgba(255,255,255,0.03);}

.hero-meta{
  display:flex;align-items:center;gap:28px;flex-wrap:wrap;justify-content:center;
  padding-top:24px;border-top:1px solid var(--line);width:min(720px,100%);
  margin-bottom:68px;
}
.hero-meta-item{
  display:flex;align-items:center;gap:8px;font-size:0.82rem;color:var(--g1);
  font-family:var(--mono);letter-spacing:-0.01em;
}
.hero-meta-item strong{color:var(--ink-bright);font-weight:500;}
.hero-meta-item .m-dot{width:5px;height:5px;border-radius:50%;background:var(--g3);}
.hero-meta-item .m-dot.acc{background:var(--acc);box-shadow:0 0 8px var(--acc-glow);}

/* HERO 3D device */
.hero-device{
  position:relative;width:min(900px,100%);
  aspect-ratio:16/9;
  perspective:1800px;
  margin-top:40px;
}
.device-stage{
  position:relative;width:100%;height:100%;
  transform-style:preserve-3d;
  transform:rotateX(var(--rx,-22deg)) rotateY(var(--ry,22deg));
  transition:transform 1.8s var(--ease);
}
.hero-device.assembled .device-stage{--rx:0deg;--ry:0deg;}

.device-lid,.device-bezel,.device-screen,.device-base{
  position:absolute;inset:0;
  border-radius:14px;opacity:0;
  transition:transform 1.5s var(--ease),opacity 1s var(--ease);
  backface-visibility:hidden;
}
.device-lid{
  transform:translateZ(-8px);
  background:linear-gradient(180deg,#1f2128 0%,#0e1014 100%);
  border:1px solid var(--line2);
  box-shadow:0 60px 120px rgba(0,0,0,0.7),inset 0 1px 0 rgba(255,255,255,0.06);
}
.device-base{
  left:-40px;right:-40px;top:auto;bottom:-28px;height:28px;
  border-radius:0 0 12px 12px;
  background:linear-gradient(180deg,#2a2d36 0%,#14161c 100%);
  border:1px solid var(--line);
  transform:translateZ(-800px) rotateX(78deg);
  transform-origin:top center;
  box-shadow:0 30px 60px rgba(0,0,0,0.6);
}
.device-bezel{
  background:#0a0a0d;border:1px solid var(--line2);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,0.04),0 20px 60px rgba(0,0,0,0.5);
  transform:translateZ(600px);
}
.device-screen{
  inset:14px;transform:translateZ(300px);
  overflow:hidden;background:#000;border-radius:8px;
}
.hero-device.assembled .device-lid{transform:translateZ(0);opacity:1;}
.hero-device.assembled .device-base{transform:translateZ(0) rotateX(78deg);opacity:1;}
.hero-device.assembled .device-bezel{transform:translateZ(0);opacity:1;}
.hero-device.assembled .device-screen{transform:translateZ(0);opacity:1;}

/* mock UI */
.mock-titlebar{
  display:flex;align-items:center;gap:8px;padding:10px 14px;
  background:#111118;border-bottom:1px solid rgba(255,255,255,0.06);height:8%;
}
.mock-titlebar span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,0.18);}
.mock-body{display:flex;height:92%;}
.mock-side{
  width:22%;padding:16px;background:#0e0e14;
  border-right:1px solid rgba(255,255,255,0.05);
  display:flex;flex-direction:column;gap:9px;
}
.mock-acc{height:12px;border-radius:4px;background:var(--acc);opacity:0.85;width:70%;}
.mock-row{height:8px;border-radius:3px;background:rgba(255,255,255,0.08);}
.mock-row.w85{width:85%;}.mock-row.w60{width:60%;}.mock-row.w75{width:75%;}.mock-row.w40{width:40%;}
.mock-main{flex:1;padding:20px;display:flex;flex-direction:column;gap:12px;}
.mock-h{height:14px;width:40%;background:rgba(255,255,255,0.85);border-radius:4px;}
.mock-sub{height:8px;width:65%;background:rgba(255,255,255,0.18);border-radius:3px;}
.mock-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.mock-card{
  height:60px;border-radius:8px;
  background:linear-gradient(180deg,rgba(255,255,255,0.06),rgba(255,255,255,0.02));
  border:1px solid rgba(255,255,255,0.06);
}
.mock-card.acc{
  background:linear-gradient(180deg,rgba(60,207,145,0.2),rgba(60,207,145,0.05));
  border-color:rgba(60,207,145,0.35);
}
.mock-chart{
  flex:1;border-radius:8px;
  background:linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0.01));
  border:1px solid rgba(255,255,255,0.06);position:relative;overflow:hidden;
}
.chart-line{
  position:absolute;left:0;right:0;top:50%;height:2px;
  background:linear-gradient(90deg,transparent,var(--acc) 40%,var(--acc-bright) 60%,transparent);
  transform-origin:left;
  animation:chartMove 4s ease-in-out infinite;
}
.chart-line.b{top:60%;opacity:0.4;animation-delay:-2s;}
@keyframes chartMove{
  0%,100%{transform:scaleX(0.2) translateY(0);}
  50%{transform:scaleX(1) translateY(-8px);}
}
.screen-shimmer{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,0.12) 50%,transparent 60%);
  transform:translateX(-100%);
}
.hero-device.assembled .screen-shimmer{animation:screenShimmer 2.4s ease 0.9s forwards;}
@keyframes screenShimmer{to{transform:translateX(120%);}}

.device-shadow{
  position:absolute;left:6%;right:6%;bottom:-40px;height:60px;
  background:radial-gradient(ellipse 100% 100% at 50% 0%,rgba(0,0,0,0.55),transparent 70%);
  filter:blur(20px);z-index:-1;pointer-events:none;
}

@media(max-width:720px){
  .hero{padding:100px 20px 60px;}
  .hero-meta{gap:16px;font-size:0.78rem;}
  .hero-device{aspect-ratio:3/2;margin-top:20px;}
}

/* ============================================================
   TICKER
============================================================ */
.slider-wrap{
  overflow:hidden;position:relative;padding:22px 0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,rgba(0,0,0,0.4),var(--bg));
}
.slider-wrap::before,.slider-wrap::after{
  content:'';position:absolute;top:0;bottom:0;width:160px;z-index:2;pointer-events:none;
}
.slider-wrap::before{left:0;background:linear-gradient(90deg,var(--bg),transparent);}
.slider-wrap::after{right:0;background:linear-gradient(270deg,var(--bg),transparent);}
.slider-track{display:flex;animation:marquee 34s linear infinite;width:max-content;}
.slider-group{display:flex;gap:60px;align-items:center;padding:0 30px;}
.slider-item{
  display:flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:0.82rem;color:var(--g3);
  letter-spacing:0.02em;text-transform:uppercase;white-space:nowrap;font-weight:500;
}
.tick-accent{color:var(--acc);font-weight:600;}
.tick-dot{display:inline-block;width:4px;height:4px;background:var(--g3);border-radius:50%;margin-right:8px;}
@keyframes marquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* ============================================================
   SECTION COMMONS
============================================================ */
.section{padding:140px var(--gutter);position:relative;z-index:1;}
.container{max-width:var(--maxw);margin:0 auto;position:relative;z-index:1;}
.stag{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--mono);font-size:0.72rem;color:var(--acc);
  text-transform:uppercase;letter-spacing:0.18em;font-weight:500;
  margin-bottom:20px;position:relative;
}
.stag::before{
  content:'';width:24px;height:1px;background:currentColor;opacity:0.5;
}
.sec-title{
  font-family:var(--display);font-size:clamp(2.2rem,5vw,3.6rem);
  font-weight:700;line-height:1.04;letter-spacing:-0.04em;
  margin-bottom:18px;color:var(--ink-bright);
}
.sec-sub{font-size:clamp(0.98rem,1.2vw,1.1rem);color:var(--g1);max-width:620px;line-height:1.65;}
.sec-head{margin-bottom:72px;}
.sec-head.center{text-align:center;display:flex;flex-direction:column;align-items:center;}
.sec-head.center .stag::before{display:none;}
.sec-head.center .stag{padding:0;}

/* reveal */
.reveal{opacity:0;transform:translateY(30px);transition:opacity 0.8s var(--ease),transform 0.8s var(--ease);}
.reveal.on{opacity:1;transform:translateY(0);}
.d1{transition-delay:0.08s;}.d2{transition-delay:0.16s;}.d3{transition-delay:0.24s;}.d4{transition-delay:0.32s;}.d5{transition-delay:0.40s;}.d6{transition-delay:0.48s;}

/* ============================================================
   PAIN SECTION (with vapour canvas slot)
============================================================ */
.pain-section{padding-top:120px;padding-bottom:80px;}
.vapour-wrap{
  display:inline-block;position:relative;
  vertical-align:baseline;
  width:clamp(180px,20vw,360px);height:1em;
  margin:0 0.12em;
  mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
}
.vapour-canvas{width:100%;height:100%;display:block;}

.pain-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  border:1px solid var(--line);border-radius:16px;overflow:hidden;
  background:linear-gradient(180deg,var(--bg3),var(--bg2));
}
@media(max-width:700px){.pain-grid{grid-template-columns:1fr;}}
.pain-card{
  position:relative;padding:52px 44px;overflow:hidden;
  border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  transition:background 0.45s var(--ease);
}
.pain-card:nth-child(2n){border-right:none;}
.pain-card:nth-child(n+3){border-bottom:none;}
@media(max-width:700px){
  .pain-card{border-right:none !important;border-bottom:1px solid var(--line) !important;}
  .pain-card:last-child{border-bottom:none !important;}
}
.pain-card::before{
  content:'';position:absolute;inset:-1px;pointer-events:none;z-index:0;
  background:radial-gradient(360px at var(--mx,50%) var(--my,50%),rgba(60,207,145,0.08),transparent 60%);
  opacity:0;transition:opacity 0.35s ease;
}
.pain-card:hover::before{opacity:1;}
.pain-card:hover{background:linear-gradient(180deg,#15151a,#0b0b0d);}
.pain-num{
  position:absolute;top:24px;right:32px;
  font-family:var(--mono);font-size:0.78rem;color:var(--g3);font-weight:500;
  letter-spacing:0.1em;
}
.pain-icon{
  width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  background:rgba(60,207,145,0.08);border:1px solid rgba(60,207,145,0.18);
  border-radius:10px;margin-bottom:22px;color:var(--acc);
  position:relative;z-index:1;transition:all 0.3s var(--ease);
}
.pain-card:hover .pain-icon{background:rgba(60,207,145,0.14);border-color:rgba(60,207,145,0.32);transform:rotate(-4deg);}
.pain-card h3{
  font-family:var(--display);font-size:1.35rem;font-weight:600;
  margin-bottom:12px;letter-spacing:-0.02em;
  position:relative;z-index:1;color:var(--ink-bright);
}
.pain-card p{font-size:0.95rem;color:var(--g1);line-height:1.65;position:relative;z-index:1;max-width:380px;}

/* ============================================================
   QUOTE (editorial)
============================================================ */
.quote-section{
  padding:80px var(--gutter) 120px;background:var(--bg);position:relative;overflow:hidden;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.quote-section::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 80% at 50% 50%,rgba(60,207,145,0.04) 0%,transparent 70%);
}
.editorial-quote{position:relative;z-index:1;max-width:900px;margin:0 auto;text-align:center;}
.q-mark{
  display:block;font-family:var(--display);font-size:8rem;line-height:0.6;
  color:var(--acc);opacity:0.15;font-weight:800;margin-bottom:8px;
}
.editorial-quote p{
  font-family:var(--display);font-size:clamp(1.7rem,3.6vw,3rem);
  font-weight:500;line-height:1.24;letter-spacing:-0.03em;
  color:var(--ink-bright);margin-bottom:28px;
  font-style:italic;
}
.editorial-quote cite{
  font-style:normal;font-size:0.88rem;color:var(--g2);
  font-family:var(--mono);letter-spacing:0.04em;text-transform:uppercase;
}
.q-lines{display:flex;align-items:center;gap:16px;justify-content:center;margin-top:24px;}
.q-line{width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--line2),transparent);}

/* ============================================================
   SOLUTION / STEPS
============================================================ */
.solution-section{background:var(--bg);padding-top:140px;}
.sol-grid{display:grid;grid-template-columns:1fr 0.85fr;gap:80px;align-items:start;}
@media(max-width:1000px){.sol-grid{grid-template-columns:1fr;gap:48px;}}
.sol-visual{position:sticky;top:120px;}

.steps{position:relative;display:flex;flex-direction:column;}
.steps::before{
  content:'';position:absolute;top:0;left:27px;width:1px;height:100%;
  background:linear-gradient(180deg,transparent,var(--line2),var(--line),transparent);
}
.step{
  display:grid;grid-template-columns:54px 1fr;gap:28px;
  padding:36px 0;border-bottom:1px solid var(--line);align-items:start;
}
.step:last-child{border-bottom:none;}
.step-num{
  width:54px;height:54px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg,#fff,#c8c8c8);color:#000;
  font-family:var(--display);font-weight:700;font-size:1.1rem;
  box-shadow:0 8px 24px rgba(0,0,0,0.3),inset 0 1px 0 rgba(255,255,255,0.6);
  position:relative;z-index:1;flex-shrink:0;
}
.step-content h3{
  font-family:var(--display);font-size:1.3rem;font-weight:600;
  margin-bottom:10px;letter-spacing:-0.02em;color:var(--ink-bright);
}
.step-content > p{color:var(--g1);font-size:0.95rem;line-height:1.65;margin-bottom:16px;}
.check-list{display:flex;flex-direction:column;gap:9px;}
.check-list li{display:flex;align-items:flex-start;gap:10px;font-size:0.9rem;color:var(--g1);line-height:1.5;}
.check-list li::before{
  content:'';width:16px;height:16px;flex-shrink:0;margin-top:2px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%233CCF91'%3E%3Cpath fill-rule='evenodd' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z' clip-rule='evenodd'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-size:14px;background-position:center;
}

/* visual card */
.visual-card{
  position:relative;border-radius:16px;overflow:hidden;
  background:linear-gradient(180deg,var(--bg3),var(--bg2));
  border:1px solid var(--line);padding:28px;
  box-shadow:0 30px 80px rgba(0,0,0,0.4),inset 0 1px 0 rgba(255,255,255,0.04);
}
.vc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;}
.vc-label{font-family:var(--mono);font-size:0.72rem;color:var(--g1);text-transform:uppercase;letter-spacing:0.12em;}
.vc-live{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--mono);font-size:0.68rem;color:var(--acc);
  text-transform:uppercase;letter-spacing:0.1em;font-weight:600;
  padding:4px 10px;border-radius:999px;
  background:rgba(60,207,145,0.08);border:1px solid rgba(60,207,145,0.18);
}
.vc-bars{display:flex;flex-direction:column;gap:16px;margin-bottom:22px;}
.vc-bar-row{display:flex;justify-content:space-between;font-size:0.82rem;margin-bottom:6px;color:var(--g1);}
.vc-apr{color:var(--acc);font-weight:600;font-family:var(--mono);}
.vc-track{height:5px;background:rgba(255,255,255,0.06);border-radius:3px;overflow:hidden;}
.vc-fill{
  height:100%;width:0;border-radius:3px;
  background:linear-gradient(90deg,var(--acc),var(--acc-bright));
  transition:width 1.8s var(--ease);
}
.visual-card.on .vc-fill{width:var(--w);}
.vc-total{
  background:rgba(255,255,255,0.02);border:1px solid var(--line);
  border-radius:12px;padding:22px;text-align:center;margin-bottom:16px;
  position:relative;overflow:hidden;
}
.vc-total::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--acc),transparent);
}
.vc-total-lbl{font-family:var(--mono);font-size:0.7rem;color:var(--g2);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:6px;}
.vc-total-val{
  font-family:var(--display);font-size:2.4rem;font-weight:700;color:var(--acc);
  letter-spacing:-0.03em;line-height:1;font-variant-numeric:tabular-nums;
}
.vc-total-sub{font-size:0.78rem;color:var(--g2);margin-top:6px;}
.vc-list{display:flex;flex-direction:column;gap:8px;}
.vc-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 14px;background:rgba(255,255,255,0.02);
  border:1px solid var(--line);border-radius:8px;font-size:0.85rem;color:var(--g1);
}
.vc-check{color:var(--acc);font-weight:600;}

/* ============================================================
   WHY NOW
============================================================ */
.why-now-section{padding-top:120px;padding-bottom:120px;background:var(--bg2);}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
@media(max-width:1000px){.why-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.why-grid{grid-template-columns:1fr;}}
.why-card{
  position:relative;padding:32px 28px;border-radius:14px;
  background:linear-gradient(180deg,var(--bg3),var(--bg2));
  border:1px solid var(--line);overflow:hidden;
  transition:all 0.4s var(--ease);
}
.why-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--acc),transparent);
  opacity:0;transition:opacity 0.3s ease;
}
.why-card:hover::before{opacity:1;}
.why-card:hover{border-color:var(--line2);transform:translateY(-4px);}
.why-ix{
  display:inline-block;font-family:var(--mono);font-size:0.72rem;
  color:var(--acc);letter-spacing:0.15em;margin-bottom:18px;
}
.why-card h3{font-family:var(--display);font-size:1.15rem;font-weight:600;letter-spacing:-0.02em;margin-bottom:10px;color:var(--ink-bright);}
.why-card p{font-size:0.9rem;color:var(--g1);line-height:1.6;}

/* ============================================================
   HALAL
============================================================ */
.halal-section{padding-top:120px;padding-bottom:120px;background:var(--bg);position:relative;overflow:hidden;}
.halal-grid{
  display:grid;grid-template-columns:0.85fr 1fr;gap:80px;align-items:center;
}
@media(max-width:1000px){.halal-grid{grid-template-columns:1fr;gap:48px;}}
.halal-visual{
  position:relative;aspect-ratio:1;max-width:440px;
  display:flex;align-items:center;justify-content:center;
  border-radius:20px;overflow:hidden;
  background:radial-gradient(circle at 50% 40%,rgba(60,207,145,0.15) 0%,transparent 60%),linear-gradient(180deg,var(--bg3),var(--bg2));
  border:1px solid var(--line);
}
.halal-orb{
  position:absolute;width:70%;height:70%;border-radius:50%;
  background:conic-gradient(from 0deg,var(--acc-deep),var(--acc),var(--acc-bright),var(--acc),var(--acc-deep));
  filter:blur(40px);opacity:0.4;
  animation:halalRotate 20s linear infinite;
}
@keyframes halalRotate{to{transform:rotate(360deg);}}
.halal-mark{
  position:relative;z-index:1;
  font-family:var(--display);font-size:clamp(4rem,9vw,7rem);font-weight:300;
  color:var(--ink-bright);letter-spacing:-0.02em;
  text-shadow:0 0 40px rgba(60,207,145,0.3);
}
.halal-text h2{margin-bottom:20px;}
.halal-list{display:flex;flex-direction:column;gap:12px;margin-top:28px;}
.halal-list li{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:0.95rem;}
.h-check{
  color:var(--acc);font-weight:700;width:22px;height:22px;
  border-radius:50%;background:rgba(60,207,145,0.12);
  display:inline-flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;
}
.halal-note{margin-top:24px;font-size:0.88rem;color:var(--g2);font-style:italic;border-left:2px solid var(--acc);padding-left:16px;}

/* ============================================================
   AUTHORS
============================================================ */
.authors-section{padding-top:120px;padding-bottom:120px;background:var(--bg2);}
.authors-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
@media(max-width:820px){.authors-grid{grid-template-columns:1fr;}}
.author-card{
  display:grid;grid-template-columns:200px 1fr;gap:28px;
  padding:32px;border-radius:16px;
  background:linear-gradient(180deg,var(--bg3),var(--bg2));
  border:1px solid var(--line);position:relative;overflow:hidden;
  transition:all 0.4s var(--ease);
}
@media(max-width:600px){.author-card{grid-template-columns:1fr;}}
.author-card:hover{border-color:var(--line2);transform:translateY(-3px);}
.author-photo{position:relative;}
.author-photo-inner{
  aspect-ratio:1;border-radius:14px;position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--bg4),var(--bg3));
  border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
}
.author-initials{
  font-family:var(--display);font-size:3.4rem;font-weight:700;
  color:var(--ink-bright);opacity:0.25;letter-spacing:-0.02em;
  z-index:1;
}
.author-photo-glow{
  position:absolute;inset:0;
  background:radial-gradient(circle at 30% 20%,rgba(60,207,145,0.2) 0%,transparent 60%);
  pointer-events:none;
}
.author-handle{
  position:absolute;bottom:12px;left:50%;transform:translateX(-50%);
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(10,10,10,0.88);backdrop-filter:blur(10px);
  border:1px solid var(--line2);padding:6px 12px;border-radius:999px;
  font-size:0.72rem;color:var(--g1);font-weight:500;
}
.author-role{
  font-family:var(--mono);font-size:0.7rem;color:var(--acc);
  text-transform:uppercase;letter-spacing:0.15em;margin-bottom:6px;
}
.author-name{
  font-family:var(--display);font-size:1.7rem;font-weight:700;
  letter-spacing:-0.03em;color:var(--ink-bright);margin-bottom:12px;
}
.author-bio{font-size:0.92rem;color:var(--g1);line-height:1.65;margin-bottom:20px;}
.author-stats{display:flex;gap:24px;}
.author-stats > div{display:flex;flex-direction:column;gap:2px;}
.author-stats strong{font-family:var(--display);font-size:1.4rem;font-weight:700;color:var(--ink-bright);font-variant-numeric:tabular-nums;}
.author-stats span{font-size:0.78rem;color:var(--g2);}

/* ============================================================
   INSIDE / BENTO
============================================================ */
.inside-bento{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.bento-full{grid-column:1 / -1;}
@media(max-width:700px){.inside-bento{grid-template-columns:1fr;}.bento-full{grid-column:auto;}}
.scard{
  position:relative;padding:30px;border-radius:14px;overflow:hidden;
  background:linear-gradient(180deg,var(--bg3),var(--bg2));
  border:1px solid var(--line);transition:all 0.4s var(--ease);
}
.scard::before{
  content:'';position:absolute;inset:-1px;pointer-events:none;z-index:0;
  background:radial-gradient(320px at var(--mx,50%) var(--my,50%),rgba(60,207,145,0.08),transparent 60%);
  opacity:0;transition:opacity 0.35s ease;
}
.scard:hover{border-color:var(--line2);transform:translateY(-3px);box-shadow:0 20px 40px rgba(0,0,0,0.3);}
.scard:hover::before{opacity:1;}
.scard-icon{
  width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,0.03);border:1px solid var(--line2);
  border-radius:10px;margin-bottom:18px;color:var(--acc);
  position:relative;z-index:1;transition:all 0.3s ease;
}
.scard:hover .scard-icon{background:rgba(60,207,145,0.08);border-color:rgba(60,207,145,0.2);}
.scard h3{font-family:var(--display);font-size:1.1rem;font-weight:600;letter-spacing:-0.01em;margin-bottom:10px;color:var(--ink-bright);position:relative;z-index:1;}
.scard p{font-size:0.88rem;color:var(--g1);line-height:1.6;position:relative;z-index:1;}
.scard.bento-full{display:flex;align-items:center;gap:24px;padding:26px 30px;}
.scard.bento-full .scard-icon{margin-bottom:0;flex-shrink:0;}
.scard.bento-full .scard-text{z-index:1;}
@media(max-width:600px){.scard.bento-full{flex-direction:column;align-items:flex-start;gap:14px;}}

/* ============================================================
   RESULTS / PNL MARQUEE
============================================================ */
.results-section{padding-top:120px;padding-bottom:120px;background:var(--bg);}
.pnl-note{text-align:center;color:var(--g2);font-size:0.88rem;margin-bottom:32px;font-family:var(--mono);letter-spacing:0.02em;}
.pnl-marquee-outer{position:relative;overflow:hidden;padding:8px 0;}
.pnl-marquee-outer::before,.pnl-marquee-outer::after{
  content:'';position:absolute;top:0;bottom:0;width:140px;z-index:2;pointer-events:none;
}
.pnl-marquee-outer::before{left:0;background:linear-gradient(90deg,var(--bg),transparent);}
.pnl-marquee-outer::after{right:0;background:linear-gradient(270deg,var(--bg),transparent);}
.pnl-marquee-track{display:flex;gap:14px;width:max-content;animation:marquee 44s linear infinite;}
.pnl-marquee-track:hover{animation-play-state:paused;}
.pnl-slide{
  flex:0 0 auto;width:180px;aspect-ratio:9/16;border-radius:12px;overflow:hidden;
  border:1px solid var(--line);background:var(--bg3);
  transition:transform 0.3s var(--ease),border-color 0.3s,box-shadow 0.3s;cursor:pointer;
}
.pnl-slide:hover{transform:translateY(-6px) scale(1.02);border-color:var(--line2);box-shadow:0 20px 40px rgba(0,0,0,0.45);}
.pnl-slide img{width:100%;height:100%;object-fit:cover;opacity:0.92;transition:opacity 0.3s,transform 0.5s var(--ease);}
.pnl-slide:hover img{opacity:1;transform:scale(1.06);}

/* ============================================================
   TESTIMONIALS CAROUSEL
============================================================ */
.testimonials-section{padding-top:100px;padding-bottom:140px;background:var(--bg2);}
.t-carousel{
  position:relative;width:100%;max-width:420px;margin:0 auto;
  height:420px;
}
.t-card{
  position:absolute;inset:0;border-radius:20px;padding:36px 32px;
  background:linear-gradient(180deg,var(--bg3),var(--bg2));
  border:1px solid var(--line);
  box-shadow:0 30px 80px rgba(0,0,0,0.5);
  cursor:grab;user-select:none;touch-action:pan-y;
  display:flex;flex-direction:column;gap:12px;
  transition:transform 0.5s var(--bounce),opacity 0.4s ease;
  will-change:transform;
}
.t-card:active{cursor:grabbing;}
.t-av{
  width:58px;height:58px;border-radius:50%;
  background:linear-gradient(135deg,var(--acc),var(--acc-deep));
  display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-weight:600;font-size:1.1rem;color:#000;
  letter-spacing:-0.02em;flex-shrink:0;
}
.t-name{font-family:var(--display);font-size:1.15rem;font-weight:600;letter-spacing:-0.02em;color:var(--ink-bright);}
.t-role{font-family:var(--mono);font-size:0.75rem;color:var(--g2);letter-spacing:0.04em;margin-bottom:8px;}
.t-text{font-size:0.95rem;color:var(--ink);line-height:1.65;}
.t-dots{
  position:absolute;bottom:-40px;left:0;right:0;display:flex;gap:8px;justify-content:center;
}
.t-dots span{
  width:8px;height:8px;border-radius:50%;background:var(--g4);
  transition:all 0.3s ease;cursor:pointer;
}
.t-dots span.on{background:var(--acc);width:24px;border-radius:4px;}

/* ============================================================
   MODULES COVERS
============================================================ */
.modules-section{padding-top:120px;padding-bottom:120px;}
.covers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media(max-width:1000px){.covers-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.covers-grid{grid-template-columns:1fr;}}
.cover-card{
  position:relative;border-radius:12px;overflow:hidden;
  border:1px solid var(--line);background:var(--bg3);
  transition:all 0.3s var(--ease);cursor:pointer;
}
.cover-card:hover{border-color:var(--line2);transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,0.4);}
.cover-img{aspect-ratio:16/9;overflow:hidden;}
.cover-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s var(--ease);}
.cover-card:hover .cover-img img{transform:scale(1.05);}
.cover-card figcaption{padding:16px;display:flex;flex-direction:column;gap:4px;}
.cover-mod{font-family:var(--mono);font-size:0.66rem;color:var(--acc);text-transform:uppercase;letter-spacing:0.14em;font-weight:600;}
.cover-name{font-family:var(--display);font-size:0.92rem;font-weight:600;color:var(--ink-bright);letter-spacing:-0.01em;}

/* ============================================================
   MACBOOK CTA
============================================================ */
.macbook-cta-section{
  position:relative;padding:120px var(--gutter) 140px;text-align:center;overflow:hidden;
  border-top:1px solid var(--line);
}
.macbook-cta-section::before{
  content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:900px;height:900px;pointer-events:none;
  background:radial-gradient(circle,rgba(60,207,145,0.05) 0%,transparent 65%);
}
.macbook-cta-inner{position:relative;z-index:2;max-width:720px;margin:0 auto 60px;}
.macbook-cta-sub{font-family:var(--mono);font-size:0.78rem;color:var(--acc);text-transform:uppercase;letter-spacing:0.15em;margin-bottom:20px;}
.macbook-cta-title{
  font-family:var(--display);font-size:clamp(2.2rem,5.5vw,4rem);
  font-weight:700;letter-spacing:-0.04em;line-height:1.04;
  margin-bottom:18px;color:var(--ink-bright);
}
.macbook-cta-desc{font-size:1rem;color:var(--g1);margin-bottom:32px;line-height:1.65;}
.macbook-container{
  position:relative;max-width:940px;margin:0 auto;
}
.macbook-base{position:relative;width:100%;}
.macbook-base img{width:100%;height:auto;display:block;}
.macbook-light{position:absolute;inset:0;opacity:0;transition:opacity 0.6s ease;pointer-events:none;}
.macbook-light img{width:100%;height:100%;object-fit:contain;}
.macbook-container:hover .macbook-light{opacity:1;}
.macbook-shadow{
  position:absolute;bottom:-30px;left:50%;transform:translateX(-50%);
  width:80%;height:60px;filter:blur(24px);pointer-events:none;
  background:radial-gradient(ellipse 100% 100% at 50% 0%,rgba(0,0,0,0.6) 0%,transparent 70%);
}

/* ============================================================
   FAQ
============================================================ */
.faq-section{padding-top:100px;padding-bottom:120px;background:var(--bg);}
.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:10px;}
.faq-item{
  border:1px solid var(--line);border-radius:14px;overflow:hidden;
  background:linear-gradient(180deg,var(--bg3),var(--bg2));
  transition:border-color 0.3s ease;
}
.faq-item[open]{border-color:var(--line2);}
.faq-item summary{
  padding:22px 26px;cursor:pointer;list-style:none;
  font-family:var(--display);font-weight:600;font-size:1.02rem;letter-spacing:-0.01em;
  color:var(--ink-bright);display:flex;justify-content:space-between;align-items:center;gap:16px;
  transition:background 0.2s;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary:hover{background:rgba(255,255,255,0.015);}
.faq-item summary svg{flex-shrink:0;transition:transform 0.35s var(--ease);color:var(--g1);}
.faq-item[open] summary svg{transform:rotate(180deg);color:var(--acc);}
.faq-body{
  padding:0 26px 22px;color:var(--g1);font-size:0.95rem;line-height:1.7;
  animation:faqFade 0.35s ease;
}
.faq-body a{color:var(--acc);border-bottom:1px solid rgba(60,207,145,0.3);}
@keyframes faqFade{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}

/* ============================================================
   CTA FINAL — lamp + beams
============================================================ */
.cta-section{
  position:relative;padding:180px var(--gutter) 160px;text-align:center;
  overflow:hidden;background:var(--bg);
  border-top:1px solid var(--line);
  min-height:700px;
}
.cta-beams{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  z-index:1;opacity:0.7;pointer-events:none;
}
.beams-svg{max-width:1000px;width:95%;height:auto;}
/* beam stroke animations via JS with --dash */
.beams-svg path[stroke*="url"]{stroke-dasharray:140 520;animation:beamFlow 3.2s linear infinite;}
.beams-svg path[stroke*="url(#bg1)"]{animation-delay:-0.6s;}
.beams-svg path[stroke*="url(#bg2)"]{animation-delay:-1.2s;}
.beams-svg path[stroke*="url(#bg3)"]{animation-delay:-1.8s;}
.beams-svg path[stroke*="url(#bg4)"]{animation-delay:-2.4s;}
@keyframes beamFlow{to{stroke-dashoffset:-660;}}

/* lamp conic */
.lamp-wrap{
  position:absolute;top:0;left:0;right:0;height:520px;
  display:flex;align-items:flex-start;justify-content:center;
  overflow:hidden;pointer-events:none;z-index:0;
}
.lamp-left,.lamp-right{
  position:absolute;top:-120px;width:40rem;height:18rem;opacity:0;
  transition:opacity 1.2s ease,width 1.2s ease;
}
.lamp-left{
  right:50%;
  background:conic-gradient(from 70deg at center top,var(--acc) 0%,transparent 40%);
  mask-image:linear-gradient(to left,white,transparent),linear-gradient(to top,white,transparent);
  mask-composite:intersect;
  -webkit-mask-image:linear-gradient(to left,white,transparent),linear-gradient(to top,white,transparent);
  -webkit-mask-composite:source-in;
}
.lamp-right{
  left:50%;
  background:conic-gradient(from 290deg at center top,transparent 60%,var(--acc) 100%);
  mask-image:linear-gradient(to right,white,transparent),linear-gradient(to top,white,transparent);
  mask-composite:intersect;
  -webkit-mask-image:linear-gradient(to right,white,transparent),linear-gradient(to top,white,transparent);
  -webkit-mask-composite:source-in;
}
.cta-section.lit .lamp-left,.cta-section.lit .lamp-right{opacity:0.5;}
.lamp-core{
  position:absolute;top:0;width:28rem;height:12rem;
  background:var(--acc);filter:blur(100px);opacity:0;
  border-radius:999px;transform:translateY(-40%);
  transition:opacity 1.2s ease;
}
.cta-section.lit .lamp-core{opacity:0.35;}
.lamp-line{
  position:absolute;top:0;width:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--acc-bright),transparent);
  transition:width 1.2s ease;
  box-shadow:0 0 20px var(--acc);
}
.cta-section.lit .lamp-line{width:30rem;}

.cta-inner{position:relative;z-index:3;max-width:680px;margin:0 auto;}
.cta-pill{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(60,207,145,0.06);border:1px solid rgba(60,207,145,0.2);
  padding:8px 18px;border-radius:999px;font-size:0.74rem;color:var(--acc);
  text-transform:uppercase;letter-spacing:0.15em;font-weight:500;margin-bottom:28px;
  backdrop-filter:blur(10px);
}
.cta-section h2{
  font-family:var(--display);font-size:clamp(2.6rem,6.5vw,4.6rem);
  font-weight:700;letter-spacing:-0.04em;line-height:1.03;margin-bottom:20px;
  background:linear-gradient(180deg,var(--ink-bright) 0%,var(--g1) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.cta-section > .cta-inner > p{font-size:1.05rem;color:var(--g1);margin-bottom:40px;}
.cta-note{margin-top:24px;font-size:0.82rem;color:var(--g2);font-family:var(--mono);letter-spacing:0.02em;}
.cta-note span{margin:0 8px;color:var(--g4);}

/* pulse glow button */
.cta-pulse-btn{
  position:relative;display:inline-flex;
  width:300px;height:100px;border-radius:999px;
  padding:1px;background:rgba(15,15,18,0.9);
  box-shadow:0 25px 50px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.04);
  overflow:hidden;cursor:pointer;
}
.cta-pulse-glow{
  position:absolute;inset:0;border-radius:999px;
  background:radial-gradient(75% 100% at 50% 0%,rgba(60,207,145,0.65) 0%,transparent 75%);
  opacity:0;transition:opacity 0.5s ease;
}
.cta-pulse-btn:hover .cta-pulse-glow{opacity:1;}
.cta-pulse-inner{
  position:relative;z-index:1;flex:1;
  background:linear-gradient(180deg,#0c0c10,#07070a);
  border-radius:999px;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,0.08);
}
.cta-pulse-text{
  font-family:var(--display);font-size:1.6rem;font-weight:500;
  background:linear-gradient(90deg,#d4d4d4 0%,#999 50%,#d4d4d4 100%);
  background-size:200% 100%;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:textShimmer 3s linear infinite;letter-spacing:-0.02em;
}
@keyframes textShimmer{0%{background-position:0% 50%;}100%{background-position:-200% 50%;}}

/* ============================================================
   FOOTER
============================================================ */
footer{padding:40px var(--gutter);border-top:1px solid var(--line);background:var(--bg);}
.footer-inner{
  max-width:var(--maxw);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;
}
.f-logo{font-family:var(--display);font-weight:700;font-size:1rem;color:var(--g1);letter-spacing:-0.02em;}
.f-logo em{font-style:normal;color:var(--acc);}
.f-copy{font-size:0.78rem;color:var(--g3);font-family:var(--mono);}
.f-links{display:flex;gap:24px;}
.f-links a{font-size:0.82rem;color:var(--g2);transition:color 0.2s;}
.f-links a:hover{color:var(--acc);}

/* ============================================================
   REDUCED MOTION
============================================================ */
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;}
  .slider-track,.pnl-marquee-track,.rot-word,.chart-line,
  .halal-orb,.cta-pulse-text,.beams-svg path{animation:none !important;}
  .device-stage{transform:none !important;}
  .device-lid,.device-bezel,.device-screen,.device-base{opacity:1 !important;transform:translateZ(0) !important;}
}
