/* === NEXREPS — Apple-style design system === */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
:root{
  /* Light (default) */
  --bg:#ffffff;
  --bg-alt:#f5f5f7;
  --bg-dark:#0a0a0a;
  --bg-dark-alt:#111114;
  --text:#1d1d1f;
  --text-2:#6e6e73;
  --text-3:#86868b;
  --text-on-dark:#f5f5f7;
  --text-on-dark-2:#a1a1a6;
  --text-on-dark-3:#6e6e73;
  --border:rgba(0,0,0,0.08);
  --border-strong:rgba(0,0,0,0.14);
  --border-dark:rgba(255,255,255,0.08);
  --accent:#3c245f; /* Brand purple, default */
  --accent-2:#7c5cc4;
  --r-sm:10px; --r:16px; --r-lg:24px; --r-xl:32px;
  --container:1200px;
  --container-narrow:980px;
  /* fonts */
  --font-display:"Söhne","SF Pro Display",-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;
  --font-body:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  /* anim */
  --anim-mult:1;
  --ease-out:cubic-bezier(0.22,1,0.36,1);
  --ease-in-out:cubic-bezier(0.65,0,0.35,1);
}

/* Dark theme */
html[data-theme="dark"]{
  --bg:#0a0a0a;
  --bg-alt:#111114;
  --bg-dark:#ffffff;
  --bg-dark-alt:#f5f5f7;
  --text:#f5f5f7;
  --text-2:#a1a1a6;
  --text-3:#6e6e73;
  --text-on-dark:#1d1d1f;
  --text-on-dark-2:#6e6e73;
  --text-on-dark-3:#86868b;
  --border:rgba(255,255,255,0.08);
  --border-strong:rgba(255,255,255,0.14);
  --border-dark:rgba(0,0,0,0.08);
  --accent:#7c5cc4;
  --accent-2:#3c245f;
}

/* Variation: Editorial (serif display) */
html[data-variation="editorial"]{
  --font-display:"Instrument Serif","Cormorant Garamond",Georgia,serif;
  --accent:#c2410c; /* warm terracotta */
  --accent-2:#ea580c;
  --bg-alt:#f7f5f1; /* warm off-white */
}
html[data-variation="editorial"][data-theme="dark"]{
  --bg-alt:#141312;
  --accent:#fb923c;
  --accent-2:#fdba74;
}

/* Variation: Spotlight (dark-first, neon accent) */
html[data-variation="spotlight"]{
  --bg:#0a0a0a;
  --bg-alt:#111114;
  --bg-dark:#ffffff;
  --bg-dark-alt:#f5f5f7;
  --text:#f5f5f7;
  --text-2:#a1a1a6;
  --text-3:#6e6e73;
  --text-on-dark:#1d1d1f;
  --text-on-dark-2:#6e6e73;
  --text-on-dark-3:#86868b;
  --border:rgba(255,255,255,0.08);
  --border-strong:rgba(255,255,255,0.14);
  --border-dark:rgba(0,0,0,0.08);
  --accent:#a78bfa;
  --accent-2:#8b5cf6;
}
html[data-variation="spotlight"][data-theme="light"]{
  --bg:#ffffff;
  --bg-alt:#f5f5f7;
  --bg-dark:#0a0a0a;
  --bg-dark-alt:#111114;
  --text:#1d1d1f;
  --text-2:#6e6e73;
  --text-3:#86868b;
  --text-on-dark:#f5f5f7;
  --text-on-dark-2:#a1a1a6;
  --text-on-dark-3:#6e6e73;
  --border:rgba(0,0,0,0.08);
  --border-strong:rgba(0,0,0,0.14);
  --border-dark:rgba(255,255,255,0.08);
}

/* Title font tweak */
html[data-titlefont="serif"]{ --font-display:"Instrument Serif",Georgia,serif; }
html[data-titlefont="grotesk"]{ --font-display:"Space Grotesk","SF Pro Display",-apple-system,sans-serif; }
html[data-titlefont="mono"]{ --font-display:"JetBrains Mono",ui-monospace,monospace; }

body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.5;
  letter-spacing:-0.01em;
  overflow-x:hidden;
  transition:background .5s var(--ease-out),color .5s var(--ease-out);
}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
img{max-width:100%;display:block}

.container{max-width:var(--container);margin:0 auto;padding:0 24px}
.container-narrow{max-width:var(--container-narrow);margin:0 auto;padding:0 24px}

/* === HEADER NAV === */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:color-mix(in oklab,var(--bg) 72%,transparent);
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid transparent;
  transition:background .35s var(--ease-out),border-color .35s var(--ease-out),transform .4s var(--ease-out);
}
.nav.scrolled{border-bottom-color:var(--border)}
.nav.hidden{transform:translateY(-100%)}
.nav-inner{
  display:flex;align-items:center;
  height:52px;max-width:var(--container);margin:0 auto;padding:0 24px;
  gap:32px;
}
.nav-logo{
  display:flex;align-items:center;gap:0;
  font-family:var(--font-display);
  font-weight:700;font-size:20px;letter-spacing:-0.02em;
  color:var(--text);
}
.nav-logo img{height:18px;width:auto;filter:var(--logo-filter,none)}
html[data-theme="dark"]{ --logo-filter:invert(1); }
html[data-variation="spotlight"]:not([data-theme="light"]){ --logo-filter:invert(1); }

.nav-links{
  display:flex;align-items:center;gap:4px;list-style:none;
  margin:0 auto;
}
.nav-links a{
  font-size:13px;font-weight:400;color:var(--text-2);
  padding:8px 14px;border-radius:8px;
  transition:color .2s,background .2s;
}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--text);}
.nav-actions{display:flex;align-items:center;gap:8px}
.nav-lang{
  font-size:12px;font-weight:500;color:var(--text-2);
  padding:6px 10px;border-radius:8px;
  border:1px solid var(--border);
  letter-spacing:0.05em;
  transition:all .2s;
}
.nav-lang:hover{color:var(--text);border-color:var(--border-strong)}
.nav-login{
  font-size:13px;font-weight:500;color:var(--text);
  padding:8px 16px;
}
.nav-cta{
  font-size:13px;font-weight:500;color:#fff;
  background:var(--accent);
  padding:8px 16px;border-radius:980px;
  transition:background .2s,transform .15s;
}
.nav-cta:hover{background:var(--accent-2);transform:translateY(-1px)}

/* nav burger */
.nav-burger{display:none;width:40px;height:40px;align-items:center;justify-content:center;border-radius:8px}
.nav-burger span{display:block;width:18px;height:1.5px;background:var(--text);position:relative}
.nav-burger span::before,.nav-burger span::after{
  content:'';position:absolute;left:0;width:100%;height:1.5px;background:var(--text);
  transition:transform .3s var(--ease-out);
}
.nav-burger span::before{top:-6px}.nav-burger span::after{top:6px}

/* === BUTTONS === */
.btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:13px 22px;border-radius:980px;
  font-size:15px;font-weight:500;letter-spacing:-0.01em;
  transition:transform .2s var(--ease-out),background .2s,box-shadow .25s,color .2s;
  cursor:pointer;
}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-2);transform:translateY(-1px)}
.btn-secondary{background:transparent;color:var(--accent);border:1px solid transparent}
.btn-secondary:hover{color:var(--accent-2)}
.btn-secondary::after{content:'›';margin-left:2px;font-size:18px;line-height:1;transition:transform .25s var(--ease-out)}
.btn-secondary:hover::after{transform:translateX(3px)}
.btn-dark{background:var(--text);color:var(--bg)}
.btn-dark:hover{transform:translateY(-1px);opacity:.9}
.btn-ghost{background:rgba(0,0,0,0.06);color:var(--text)}
html[data-theme="dark"] .btn-ghost,html[data-variation="spotlight"]:not([data-theme="light"]) .btn-ghost{background:rgba(255,255,255,0.08)}
.btn-ghost:hover{background:rgba(0,0,0,0.1)}
html[data-theme="dark"] .btn-ghost:hover,html[data-variation="spotlight"]:not([data-theme="light"]) .btn-ghost:hover{background:rgba(255,255,255,0.14)}

/* === SECTION SCAFFOLDING === */
section{position:relative}
.sec{padding:120px 0}
.sec-sm{padding:80px 0}
.sec-lg{padding:160px 0}
.sec-dark{
  background:var(--bg-dark);
  color:var(--text-on-dark);
}
.sec-alt{background:var(--bg-alt)}
.eyebrow{
  font-size:13px;font-weight:500;color:var(--accent);
  letter-spacing:0;
  margin-bottom:14px;
}
.eyebrow.up{text-transform:uppercase;letter-spacing:0.12em;font-size:11px}

h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:-0.04em;line-height:1.05}
.h-display{
  font-size:clamp(48px,9vw,104px);
  font-weight:700;
  letter-spacing:-0.05em;
  line-height:0.95;
}
.h-1{font-size:clamp(40px,6.5vw,72px);font-weight:600;letter-spacing:-0.04em;line-height:1.05}
.h-2{font-size:clamp(32px,4.5vw,56px);font-weight:600;letter-spacing:-0.03em;line-height:1.08}
.h-3{font-size:clamp(24px,2.6vw,32px);font-weight:600;letter-spacing:-0.02em;line-height:1.15}
.h-4{font-size:21px;font-weight:600;letter-spacing:-0.01em;line-height:1.3}

.lead{
  font-size:clamp(18px,1.6vw,22px);
  color:var(--text-2);
  line-height:1.5;
  font-weight:400;
  max-width:640px;
}
.sec-dark .lead{color:var(--text-on-dark-2)}

/* Editorial variation tweaks */
html[data-variation="editorial"] .h-display{font-weight:400;letter-spacing:-0.02em}
html[data-variation="editorial"] .h-1,
html[data-variation="editorial"] .h-2{font-weight:400;letter-spacing:-0.015em}
html[data-variation="editorial"] .h-display em,
html[data-variation="editorial"] .h-1 em,
html[data-variation="editorial"] .h-2 em{font-style:italic;font-weight:400}

/* === HERO === */
.hero{
  padding:140px 0 0;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;color:var(--text-2);
  margin-bottom:24px;
  opacity:0;animation:rise .8s .1s var(--ease-out) forwards;
}
.hero-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:#30d158;box-shadow:0 0 0 4px rgba(48,209,88,0.15);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 4px rgba(48,209,88,0.15)}50%{box-shadow:0 0 0 8px rgba(48,209,88,0.05)}}

.hero h1{
  margin:0 auto;max-width:13ch;
  opacity:0;animation:rise .9s .25s var(--ease-out) forwards;
}
.hero h1 .accent{
  background:linear-gradient(110deg,var(--accent) 0%,var(--accent-2) 60%,var(--accent) 100%);
  background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:shimmer-text 6s ease-in-out infinite;
}
@keyframes shimmer-text{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

.hero p.lead{
  margin:24px auto 0;text-align:center;
  opacity:0;animation:rise .9s .4s var(--ease-out) forwards;
}
.hero-cta{
  display:flex;justify-content:center;gap:12px;margin-top:36px;flex-wrap:wrap;
  opacity:0;animation:rise .9s .55s var(--ease-out) forwards;
}

@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}

/* hero device mock */
.hero-device-wrap{
  margin-top:80px;
  padding:0 24px;
  perspective:1800px;
  opacity:0;animation:rise 1.1s .7s var(--ease-out) forwards;
}
.hero-device{
  max-width:1180px;margin:0 auto;
  border-radius:18px;
  background:linear-gradient(180deg,#1a1a1f,#0d0d10);
  border:1px solid rgba(255,255,255,0.06);
  box-shadow:0 60px 120px -40px rgba(0,0,0,0.45),0 30px 60px -30px rgba(0,0,0,0.3);
  overflow:hidden;
  transform:rotateX(0deg);
  will-change:transform;
}
html[data-theme="dark"] .hero-device,html[data-variation="spotlight"]:not([data-theme="light"]) .hero-device{
  box-shadow:0 60px 140px -40px rgba(167,139,250,0.18),0 30px 60px -30px rgba(0,0,0,0.5);
}
.device-bar{
  height:36px;display:flex;align-items:center;padding:0 14px;gap:7px;
  border-bottom:1px solid rgba(255,255,255,0.04);
  background:rgba(255,255,255,0.02);
}
.device-bar .dot{width:11px;height:11px;border-radius:50%}
.device-bar .dot:nth-child(1){background:#ff5f57}
.device-bar .dot:nth-child(2){background:#febc2e}
.device-bar .dot:nth-child(3){background:#28c840}
.device-url{flex:1;text-align:center;font-size:11px;color:rgba(255,255,255,0.4);font-family:var(--font-mono);margin-left:-30px}
.device-screen{
  aspect-ratio:16/9.5;
  background:
    radial-gradient(ellipse at top,rgba(0,113,227,0.08),transparent 60%),
    linear-gradient(180deg,#0e0e12,#08080b);
  position:relative;overflow:hidden;
  display:grid;grid-template-columns:200px 1fr;
}
.dv-side{
  border-right:1px solid rgba(255,255,255,0.04);
  padding:18px 14px;
  display:flex;flex-direction:column;gap:6px;
}
.dv-side-logo{font-size:13px;font-weight:600;color:#fff;margin-bottom:14px;font-family:var(--font-display)}
.dv-nav-item{
  display:flex;align-items:center;gap:10px;
  padding:8px 10px;border-radius:8px;
  font-size:12px;color:rgba(255,255,255,0.55);
}
.dv-nav-item.active{background:rgba(255,255,255,0.06);color:#fff}
.dv-nav-item .ico{width:14px;height:14px;border-radius:4px;background:rgba(255,255,255,0.1)}
.dv-nav-item.active .ico{background:var(--accent)}
.dv-main{padding:24px 28px;display:flex;flex-direction:column;gap:18px;overflow:hidden}
.dv-h{display:flex;justify-content:space-between;align-items:center}
.dv-title{font-size:18px;font-weight:600;color:#fff;font-family:var(--font-display)}
.dv-time{font-size:11px;color:rgba(255,255,255,0.5);font-family:var(--font-mono)}
.dv-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.dv-card{
  background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);
  border-radius:10px;padding:12px 14px;
}
.dv-card .lbl{font-size:10px;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:6px}
.dv-card .val{font-size:18px;font-weight:600;color:#fff;font-family:var(--font-display);letter-spacing:-0.02em}
.dv-card .delta{font-size:10px;color:#30d158;margin-top:2px}
.dv-card .delta.down{color:#ff453a}
.dv-chart{
  flex:1;border-radius:10px;
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(255,255,255,0.04);
  padding:18px;
  position:relative;overflow:hidden;
  min-height:180px;
}
.dv-chart svg{width:100%;height:100%;display:block}
.dv-chart-line{stroke:var(--accent);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:1000;stroke-dashoffset:1000;animation:draw 2.6s 1s var(--ease-out) forwards}
.dv-chart-area{fill:url(#g1);opacity:0;animation:fadein 1.6s 2.6s var(--ease-out) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fadein{to{opacity:1}}

/* parallax small float */
@media(min-width:769px){
  .hero-device-wrap{transition:transform .12s linear}
}

/* === iPhone 3D approach + app launch === */
.hero-device-wrap{position:relative;min-height:680px}
.iphone-stage{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:340px;height:680px;
  perspective:1600px;perspective-origin:50% 40%;
  pointer-events:none;
  z-index:5;
}
@media(max-width:980px){
  .iphone-stage{width:260px;height:540px}
  .hero-device-wrap{min-height:580px}
}
@media(max-width:640px){
  .iphone-stage{width:300px;height:620px}
  .hero-device{display:none}
  .hero-device-wrap{min-height:680px}
}

.iphone{
  position:absolute;inset:0;
  transform-style:preserve-3d;
  transform:translateZ(-1400px) rotateY(-22deg) rotateX(8deg);
  opacity:0;
  animation:iphone-approach 2.6s cubic-bezier(0.22,1,0.36,1) 0.3s forwards,
            iphone-float 7s ease-in-out 3.6s infinite;
}
.iphone.replay{
  animation:iphone-approach 2.6s cubic-bezier(0.22,1,0.36,1) 0s forwards,
            iphone-float 7s ease-in-out 3.3s infinite;
}
@keyframes iphone-approach{
  0%{transform:translateZ(-1400px) rotateY(-22deg) rotateX(8deg) translateX(40px);opacity:0;filter:blur(8px)}
  35%{opacity:1;filter:blur(0)}
  70%{transform:translateZ(40px) rotateY(8deg) rotateX(-3deg);opacity:1;filter:blur(0)}
  100%{transform:translateZ(0) rotateY(0deg) rotateX(0deg);opacity:1;filter:blur(0)}
}
@keyframes iphone-float{
  0%,100%{transform:translateZ(0) rotateY(0deg) rotateX(0deg) translateY(0)}
  50%{transform:translateZ(0) rotateY(-2deg) rotateX(1deg) translateY(-8px)}
}

.iphone-shadow{
  position:absolute;left:50%;bottom:-40px;
  width:70%;height:40px;
  background:radial-gradient(ellipse,rgba(0,0,0,0.35),transparent 70%);
  transform:translateX(-50%);
  filter:blur(20px);
  opacity:0;
  animation:shadow-in 2.6s cubic-bezier(0.22,1,0.36,1) 0.3s forwards;
}
@keyframes shadow-in{
  0%,30%{opacity:0;transform:translateX(-50%) scaleX(0.4)}
  100%{opacity:0.6;transform:translateX(-50%) scaleX(1)}
}

.iphone-frame{
  position:absolute;inset:0;
  background:linear-gradient(145deg,#1d1d1f 0%,#0a0a0a 50%,#1d1d1f 100%);
  border-radius:54px;
  padding:8px;
  box-shadow:
    0 0 0 2px #2a2a2c,
    0 0 0 3px #0a0a0a,
    inset 0 0 0 1px rgba(255,255,255,0.08),
    0 60px 120px -30px rgba(0,0,0,0.5),
    0 30px 60px -20px rgba(0,113,227,0.18);
}
html[data-variation="spotlight"]:not([data-theme="light"]) .iphone-frame{
  box-shadow:
    0 0 0 2px #2a2a2c,
    0 0 0 3px #0a0a0a,
    inset 0 0 0 1px rgba(255,255,255,0.08),
    0 60px 120px -30px rgba(0,0,0,0.6),
    0 30px 80px -20px rgba(167,139,250,0.35);
}

.iphone-buttons{position:absolute;inset:0;border-radius:54px;pointer-events:none}
.ip-btn{position:absolute;background:linear-gradient(90deg,#0a0a0a,#2a2a2c,#0a0a0a);border-radius:2px}
.ip-mute{left:-2px;top:104px;width:3px;height:28px}
.ip-volup{left:-2px;top:148px;width:3px;height:54px}
.ip-voldn{left:-2px;top:212px;width:3px;height:54px}
.ip-power{right:-2px;top:160px;width:3px;height:88px}

.iphone-screen{
  position:absolute;inset:8px;
  border-radius:46px;
  background:#000;
  overflow:hidden;
}
.iphone-notch{
  position:absolute;top:8px;left:50%;transform:translateX(-50%);
  width:96px;height:30px;border-radius:18px;
  background:#000;z-index:20;
  display:flex;align-items:center;justify-content:flex-end;padding-right:14px;
}
.iphone-notch .cam{
  width:9px;height:9px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,#1a1a2a,#000);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.06);
}

.ip-layer{position:absolute;inset:0;display:flex;flex-direction:column}

/* Home screen */
.ip-home{
  background:
    radial-gradient(ellipse at 30% 20%,rgba(124,92,196,0.5),transparent 60%),
    radial-gradient(ellipse at 80% 80%,rgba(167,139,250,0.4),transparent 60%),
    linear-gradient(160deg,#0a0014,#1a0f2a 50%,#0a0014);
  padding:48px 16px 16px;
  opacity:0;
  animation:ip-home-show 0.5s ease 2.6s forwards,
            ip-home-fade 0.5s cubic-bezier(0.22,1,0.36,1) 4.2s forwards;
}
@keyframes ip-home-show{from{opacity:0}to{opacity:1}}
@keyframes ip-home-fade{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.4);visibility:hidden}}

.ip-status{
  position:absolute;top:14px;left:0;right:0;
  display:flex;justify-content:space-between;align-items:center;
  padding:0 26px;
  font-size:11px;font-weight:600;color:#fff;
  z-index:15;
}
.ip-status .ip-time{margin-left:14px}
.ip-status .ip-icons{display:flex;gap:5px;align-items:center;margin-right:14px}
.ip-sig,.ip-wifi,.ip-bat{display:block;background:#fff;border-radius:1px}
.ip-sig{width:14px;height:8px;clip-path:polygon(0 60%,25% 60%,25% 40%,50% 40%,50% 20%,75% 20%,75% 0%,100% 0%,100% 100%,0 100%)}
.ip-wifi{width:11px;height:8px;clip-path:polygon(0 50%,50% 0,100% 50%,85% 65%,50% 30%,15% 65%)}
.ip-bat{width:18px;height:8px;border-radius:2px;position:relative}
.ip-bat::after{content:'';position:absolute;right:-2px;top:2px;width:1.5px;height:4px;background:#fff;border-radius:1px}

.ip-grid{
  flex:1;
  display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:min-content;
  gap:18px 8px;
  margin-top:12px;
}
.ip-app{display:flex;flex-direction:column;align-items:center;gap:5px;opacity:0;animation:ip-app-in 0.5s ease forwards}
.ip-app:nth-child(1){animation-delay:2.7s}
.ip-app:nth-child(2){animation-delay:2.74s}
.ip-app:nth-child(3){animation-delay:2.78s}
.ip-app:nth-child(4){animation-delay:2.82s}
.ip-app:nth-child(5){animation-delay:2.86s}
.ip-app:nth-child(6){animation-delay:2.9s}
.ip-app:nth-child(7){animation-delay:2.94s}
.ip-app:nth-child(8){animation-delay:2.98s}
@keyframes ip-app-in{from{opacity:0;transform:scale(0.7)}to{opacity:1;transform:scale(1)}}

.ip-app .ic{
  width:42px;height:42px;border-radius:11px;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 6px rgba(0,0,0,0.3);
  position:relative;overflow:hidden;
}
.ip-app em{font-size:9px;color:#fff;font-style:normal;letter-spacing:0.01em;font-weight:500}
.ic-1{background:linear-gradient(180deg,#34c0f0,#0a84ff)}
.ic-2{background:linear-gradient(180deg,#fff,#e5e5ea);color:#ff3b30;font-size:9px;font-weight:700;display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px}
.ic-2::before{content:'09';color:#1d1d1f;font-size:18px;font-weight:600;position:absolute;top:6px;left:0;right:0;text-align:center}
.ic-3{background:conic-gradient(from 0deg,#ff3b30,#ff9500,#ffcc00,#34c759,#5ac8fa,#5856d6,#ff2d55,#ff3b30)}
.ic-4{background:linear-gradient(180deg,#a0d8a0,#5fc25f);position:relative}
.ic-4::before{content:'';position:absolute;left:50%;top:30%;width:2px;height:14px;background:#fff;transform:translateX(-50%) rotate(20deg)}
.ic-5{background:linear-gradient(180deg,#5ac8fa,#0a84ff)}
.ic-6{background:linear-gradient(180deg,#ffcc00,#ff9500)}
.ic-7{background:linear-gradient(135deg,#ff2d55,#ff3b30,#ff9500)}
.ic-d1{background:linear-gradient(180deg,#34c759,#0a84ff)}
.ic-d2{background:linear-gradient(180deg,#1d1d1f,#3a3a3c);position:relative}
.ic-d2::before{content:'';position:absolute;inset:30%;border:2px solid #fff;border-radius:50%}
.ic-d3{background:linear-gradient(180deg,#ff9500,#ff3b30)}
.ic-d4{background:linear-gradient(180deg,#a78bfa,#5856d6)}
.ic-nx{background:linear-gradient(180deg,#7c5cc4,#3c245f);padding:6px}
.ic-nx img{width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1)}

.ip-app.target{animation:ip-app-in 0.5s ease 2.98s forwards,ip-app-tap 0.4s ease 4s forwards}
@keyframes ip-app-tap{
  0%{transform:scale(1)}
  50%{transform:scale(0.92)}
  100%{transform:scale(1.05)}
}
.ip-tap{
  position:absolute;
  /* target sits last in 8-grid: col 4 row 2 */
  right:36px;top:184px;
  width:30px;height:30px;border-radius:50%;
  border:2px solid rgba(255,255,255,0.7);
  opacity:0;
  pointer-events:none;
  animation:ip-tap 0.6s ease 3.9s forwards;
}
@keyframes ip-tap{
  0%{opacity:0;transform:scale(0.6)}
  40%{opacity:0.9;transform:scale(0.9)}
  100%{opacity:0;transform:scale(1.6)}
}

.ip-dock{
  display:grid;grid-template-columns:repeat(4,1fr);
  background:rgba(255,255,255,0.12);
  backdrop-filter:blur(20px);
  border-radius:22px;
  padding:8px;gap:8px;
  margin-top:8px;
}
.ip-dock .ip-app .ic{width:38px;height:38px;border-radius:10px}
.ip-dock .ip-app{animation-delay:3.05s !important}

/* Splash */
.ip-splash{
  background:linear-gradient(180deg,#7c5cc4,#3c245f);
  align-items:center;justify-content:center;
  opacity:0;visibility:hidden;
  animation:ip-splash-in 0.45s cubic-bezier(0.22,1,0.36,1) 4.05s forwards,
            ip-splash-out 0.4s ease 4.7s forwards;
}
.ip-splash-logo{width:80px;height:80px;background:#fff;border-radius:22px;display:flex;align-items:center;justify-content:center;padding:14px;box-shadow:0 20px 40px rgba(0,0,0,0.3);transform:scale(0)}
.ip-splash-logo img{width:100%;height:100%;object-fit:contain}
@keyframes ip-splash-in{
  0%{opacity:0;visibility:visible;transform:scale(0.05);border-radius:11px}
  100%{opacity:1;visibility:visible;transform:scale(1);border-radius:0}
}
.ip-splash{transform-origin:center}
.ip-splash-logo{animation:ip-logo-pop 0.5s cubic-bezier(0.34,1.56,0.64,1) 4.25s forwards}
@keyframes ip-logo-pop{from{transform:scale(0)}to{transform:scale(1)}}
@keyframes ip-splash-out{from{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}

/* App view */
.ip-app-view{
  background:linear-gradient(180deg,#000,#0a0a14);
  color:#fff;
  padding:48px 18px 12px;
  opacity:0;visibility:hidden;
  animation:ip-app-in-view 0.5s cubic-bezier(0.22,1,0.36,1) 4.7s forwards;
}
@keyframes ip-app-in-view{
  0%{opacity:0;visibility:visible;transform:scale(1.04)}
  100%{opacity:1;visibility:visible;transform:scale(1)}
}

.ipa-h{margin-bottom:14px;opacity:0;animation:ip-fade-up 0.4s ease 4.85s forwards}
.ipa-hi{font-size:22px;font-weight:600;letter-spacing:-0.02em;font-family:var(--font-display)}
.ipa-loc{font-size:12px;color:rgba(255,255,255,0.55);margin-top:2px}
@keyframes ip-fade-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

.ipa-card{
  background:linear-gradient(140deg,rgba(0,113,227,0.4),rgba(0,91,181,0.7));
  border:1px solid rgba(255,255,255,0.1);
  border-radius:18px;padding:14px 16px;
  margin-bottom:10px;
  opacity:0;animation:ip-fade-up 0.4s ease 4.95s forwards;
  position:relative;overflow:hidden;
}
.ipa-l{font-size:10px;color:rgba(255,255,255,0.7);text-transform:uppercase;letter-spacing:0.08em;font-weight:500}
.ipa-v{font-size:28px;font-weight:600;font-family:var(--font-display);letter-spacing:-0.02em;margin-top:4px}
.ipa-delta{font-size:11px;color:#30d158;margin-top:2px}
.ipa-chart{width:100%;height:50px;margin-top:6px}
.ipa-area{fill:url(#ipg);opacity:0;animation:ip-fade 0.6s ease 5.4s forwards}
.ipa-line{
  stroke:#fff;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:300;stroke-dashoffset:300;
  animation:ip-draw 1.2s cubic-bezier(0.22,1,0.36,1) 5.05s forwards;
}
@keyframes ip-draw{to{stroke-dashoffset:0}}
@keyframes ip-fade{to{opacity:0.4}}

.ipa-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.ipa-mini{
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:14px;padding:12px;
  opacity:0;animation:ip-fade-up 0.4s ease 5.05s forwards;
}
.ipa-mini:nth-child(2){animation-delay:5.1s}
.ipa-v2{font-size:18px;font-weight:600;font-family:var(--font-display);letter-spacing:-0.01em;margin-top:4px}

.ipa-list{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.ipa-li{
  display:flex;align-items:center;gap:8px;
  font-size:11px;color:rgba(255,255,255,0.85);
  background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.06);
  padding:8px 10px;border-radius:10px;
  opacity:0;animation:ip-fade-up 0.4s ease forwards;
}
.ipa-li:nth-child(1){animation-delay:5.2s}
.ipa-li:nth-child(2){animation-delay:5.28s}
.ipa-li:nth-child(3){animation-delay:5.36s}
.ipa-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.ipa-dot.ok{background:#30d158;box-shadow:0 0 8px rgba(48,209,88,0.6)}
.ipa-dot.warn{background:#ff9500;box-shadow:0 0 8px rgba(255,149,0,0.6)}

.ipa-tabs{
  margin-top:auto;
  display:grid;grid-template-columns:repeat(5,1fr);
  background:rgba(255,255,255,0.05);
  backdrop-filter:blur(20px);
  border-radius:22px;padding:8px;gap:4px;
  opacity:0;animation:ip-fade-up 0.5s ease 5.5s forwards;
}
.ipa-tab{display:flex;align-items:center;justify-content:center;height:38px;border-radius:14px;transition:background .25s}
.ipa-tab.on{background:rgba(255,255,255,0.12)}
.ti{display:block;width:18px;height:18px;border-radius:4px;background:rgba(255,255,255,0.4)}
.ipa-tab.on .ti{background:#fff}
.t1{clip-path:polygon(0 60%,30% 60%,30% 30%,55% 30%,55% 0,80% 0,80% 100%,0 100%)}
.t2{border-radius:50% !important}
.t3{clip-path:polygon(0 0,100% 0,100% 30%,0 30%,0 50%,80% 50%,80% 80%,0 80%,0 100%,100% 100%,100% 50%,20% 50%,20% 30%,100% 30%,100% 0)}
.t4{border-radius:2px}
.t5{clip-path:circle(50% at 50% 35%);background:rgba(255,255,255,0.4) !important}

.iphone-replay{
  position:absolute;
  bottom:-50px;left:50%;transform:translateX(-50%);
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;color:var(--text-2);
  background:var(--bg);
  border:1px solid var(--border);
  padding:7px 14px;border-radius:99px;
  pointer-events:auto;
  opacity:0;
  animation:fade-replay 0.4s ease 5.8s forwards;
  cursor:pointer;
  transition:color .2s,border-color .2s;
}
.iphone-replay:hover{color:var(--text);border-color:var(--border-strong)}
@keyframes fade-replay{to{opacity:1}}

/* dim/recede the desktop frame so iPhone is the star */
.hero-device-wrap .hero-device{
  display:none;
  opacity:0;
  transform:scale(0.92) translateZ(-200px);
  filter:blur(2px);
  animation:desk-recede 1.6s cubic-bezier(0.22,1,0.36,1) 0.4s forwards;
}
@keyframes desk-recede{
  0%{opacity:0;transform:scale(0.92) translateZ(-200px);filter:blur(8px)}
  100%{opacity:0.55;transform:scale(1) translateZ(0);filter:blur(0)}
}
.hero-device-wrap:hover .hero-device{opacity:0.85;transition:opacity .35s}

/* === MARQUEE LOGOS === */
.marquee-section{padding:60px 0 40px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.marquee-label{
  text-align:center;
  font-size:12px;text-transform:uppercase;letter-spacing:0.18em;
  color:var(--text-3);margin-bottom:32px;
}
.marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marquee-track{display:flex;gap:80px;animation:scroll 38s linear infinite;width:max-content}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee-track .lg{
  font-family:var(--font-display);
  font-size:24px;font-weight:600;color:var(--text-3);
  letter-spacing:-0.02em;white-space:nowrap;
  opacity:0.7;
  display:flex;align-items:center;gap:8px;
  transition:color .25s,opacity .25s;
}
.marquee-track .lg:hover{color:var(--text);opacity:1}
.marquee-track .lg .badge{font-size:10px;padding:3px 8px;border-radius:99px;background:var(--bg-alt);color:var(--text-3);font-family:var(--font-body);font-weight:500;letter-spacing:0}

/* === PAIN PIN SECTION === */
.pain{position:relative;background:var(--bg-dark);color:var(--text-on-dark)}
.pain-track{height:300vh}
.pain-pin{position:sticky;top:0;height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 24px;overflow:hidden}
.pain-inner{max-width:920px;width:100%;position:relative}
.pain-glow{position:absolute;inset:auto;width:600px;height:600px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in oklab,var(--accent) 40%,transparent),transparent);filter:blur(80px);left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0.45;z-index:0}
.pain-eyebrow{
  font-size:11px;text-transform:uppercase;letter-spacing:0.18em;
  color:var(--accent);margin-bottom:24px;
  position:relative;z-index:1;
}
.pain-h{
  font-family:var(--font-display);
  font-size:clamp(36px,5.4vw,72px);
  font-weight:600;letter-spacing:-0.04em;line-height:1.05;
  position:relative;z-index:1;
  transition:opacity .25s,transform .25s;
}
.pain-h .hl{color:var(--accent)}
.pain-d{
  font-size:clamp(16px,1.5vw,19px);color:var(--text-on-dark-2);
  margin:20px auto 0;max-width:520px;line-height:1.5;
  position:relative;z-index:1;
  transition:opacity .25s,transform .25s;
}
.pain-progress{
  display:flex;gap:6px;justify-content:center;margin-top:48px;
  position:relative;z-index:1;
}
.pain-progress span{width:32px;height:2px;background:rgba(255,255,255,0.15);border-radius:2px;transition:background .35s,width .35s}
.pain-progress span.on{background:var(--accent);width:48px}

/* === FEATURES GRID === */
.features-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--border);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  overflow:hidden;
  margin-top:64px;
}
.f-card{
  background:var(--bg);
  padding:40px 36px;
  display:flex;flex-direction:column;gap:14px;
  position:relative;
  transition:background .25s;
}
.f-card:hover{background:var(--bg-alt)}
.f-card .ico{
  width:44px;height:44px;border-radius:12px;
  background:var(--bg-alt);
  display:flex;align-items:center;justify-content:center;
  color:var(--accent);
  margin-bottom:12px;
}
.f-card .ico svg{width:22px;height:22px}
.f-card h3{font-size:20px;font-weight:600;letter-spacing:-0.02em;line-height:1.25}
.f-card p{font-size:15px;color:var(--text-2);line-height:1.55}
.f-card .more{margin-top:auto;font-size:14px;color:var(--accent);padding-top:16px;display:inline-flex;align-items:center;gap:4px}
.f-card .more::after{content:'›';transition:transform .25s var(--ease-out)}
.f-card:hover .more::after{transform:translateX(3px)}

/* === SHOWCASE alternating === */
.showcase-block{
  display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center;
  margin-bottom:140px;
}
.showcase-block:last-child{margin-bottom:0}
.showcase-block.rev .sc-text{order:2}
.sc-text .eyebrow{margin-bottom:18px}
.sc-text h3{font-size:clamp(28px,3.4vw,44px);font-weight:600;letter-spacing:-0.03em;line-height:1.1;margin-bottom:18px}
.sc-text p{font-size:17px;color:var(--text-2);line-height:1.55}
.sc-list{list-style:none;margin-top:28px;display:flex;flex-direction:column;gap:14px}
.sc-list li{display:flex;align-items:flex-start;gap:12px;font-size:15px;color:var(--text-2)}
.sc-list .check{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:color-mix(in oklab,var(--accent) 14%,transparent);display:flex;align-items:center;justify-content:center;margin-top:1px}
.sc-list .check svg{width:11px;height:11px;color:var(--accent)}
.sc-img{
  aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;
  background:linear-gradient(160deg,#0d0d12,#16161c);
  border:1px solid var(--border);
  position:relative;
  box-shadow:0 30px 80px -30px rgba(0,0,0,0.4);
}
.sc-img.light{background:var(--bg-alt)}

/* mock dashboards inside sc-img */
.mock-overview{padding:24px;color:#fff;height:100%;display:flex;flex-direction:column;gap:14px}
.mock-row{display:flex;gap:8px}
.mock-tile{
  flex:1;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.06);
  border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:4px;
}
.mock-tile .l{font-size:9px;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.1em}
.mock-tile .v{font-size:18px;font-weight:600;font-family:var(--font-display);letter-spacing:-0.02em}
.mock-tile .b{font-size:10px;color:#30d158}
.mock-tile.acc .v{color:var(--accent-2)}
.mock-graph{flex:1;background:rgba(255,255,255,0.02);border-radius:10px;border:1px solid rgba(255,255,255,0.05);padding:14px;position:relative}
.mock-graph svg{width:100%;height:100%}
.mock-graph .gline{stroke:var(--accent-2);stroke-width:1.5;fill:none}
.mock-graph .gfill{fill:url(#mockg);opacity:0.6}
.mock-graph .gpoint{fill:#fff;r:3}

/* AI forecast mock */
.mock-forecast{padding:28px;color:#fff;height:100%;display:flex;flex-direction:column;gap:16px}
.mock-fc-h{display:flex;justify-content:space-between;align-items:flex-start}
.mock-fc-title{font-size:11px;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:6px}
.mock-fc-val{font-size:32px;font-weight:600;font-family:var(--font-display);letter-spacing:-0.03em}
.mock-fc-conf{font-size:12px;color:#30d158;margin-top:4px}
.mock-fc-bar{height:24px;background:rgba(255,255,255,0.04);border-radius:6px;overflow:hidden;position:relative}
.mock-fc-bar div{position:absolute;top:0;bottom:0;background:var(--accent-2);border-radius:6px}
.mock-fc-day{display:flex;align-items:center;gap:10px;font-size:11px;color:rgba(255,255,255,0.7)}
.mock-fc-day .dlbl{width:32px;color:rgba(255,255,255,0.5)}
.mock-fc-day .damt{margin-left:auto;font-family:var(--font-mono);font-size:11px}

/* Inventory mock */
.mock-inv{padding:24px;color:#fff;height:100%;display:flex;flex-direction:column;gap:10px}
.mock-inv-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.05);border-radius:8px;font-size:12px}
.mock-inv-row .nm{flex:1;color:#fff}
.mock-inv-row .pr{color:rgba(255,255,255,0.6);font-family:var(--font-mono)}
.mock-inv-row .ch{font-size:11px;color:#30d158}
.mock-inv-row .ch.up{color:#ff9f0a}

/* === STATS === */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:64px}
.stat{text-align:left}
.stat .num{
  font-family:var(--font-display);
  font-size:clamp(56px,7vw,88px);
  font-weight:600;letter-spacing:-0.04em;line-height:1;
  color:var(--text);
}
.sec-dark .stat .num{color:var(--text-on-dark)}
.stat .lbl{font-size:14px;color:var(--text-2);margin-top:10px;line-height:1.4}
.sec-dark .stat .lbl{color:var(--text-on-dark-2)}

/* === TESTIMONIALS === */
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:64px}
.t-card{
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:32px 30px;
  display:flex;flex-direction:column;gap:24px;
  transition:transform .25s var(--ease-out),box-shadow .3s;
}
.t-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -20px rgba(0,0,0,0.1)}
.sec-alt .t-card{background:var(--bg)}
.t-quote{font-size:17px;line-height:1.5;color:var(--text);letter-spacing:-0.01em}
.t-author{display:flex;align-items:center;gap:12px;margin-top:auto}
.t-avatar{width:40px;height:40px;border-radius:50%;background:var(--bg-alt);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--accent);font-family:var(--font-display)}
.t-name{font-size:14px;font-weight:600}
.t-role{font-size:13px;color:var(--text-3);margin-top:2px}

/* === PRICING === */
.pricing-toggle{display:inline-flex;background:var(--bg-alt);border-radius:99px;padding:4px;margin:32px auto 0;gap:2px}
.pricing-toggle button{padding:8px 18px;border-radius:99px;font-size:14px;font-weight:500;color:var(--text-2);transition:all .25s}
.pricing-toggle button.on{background:var(--bg);color:var(--text);box-shadow:0 2px 6px rgba(0,0,0,0.06)}

.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:64px;align-items:stretch}
.pricing-card{
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:36px 32px;
  display:flex;flex-direction:column;gap:18px;
  position:relative;
  transition:transform .25s var(--ease-out),border-color .25s;
}
.pricing-card:hover{transform:translateY(-4px);border-color:var(--border-strong)}
.pricing-card.featured{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 4%,var(--bg))}
.pricing-badge{position:absolute;top:-12px;left:32px;background:var(--accent);color:#fff;font-size:11px;font-weight:600;padding:5px 12px;border-radius:99px;letter-spacing:0.05em;text-transform:uppercase}
.pricing-name{font-size:14px;color:var(--text-2);font-weight:500;letter-spacing:0.05em;text-transform:uppercase}
.pricing-price{display:flex;align-items:baseline;gap:6px;margin-top:4px}
.pricing-price .amt{font-family:var(--font-display);font-size:56px;font-weight:600;letter-spacing:-0.04em;line-height:1}
.pricing-price .per{font-size:14px;color:var(--text-2)}
.pricing-tagline{font-size:14px;color:var(--text-2);line-height:1.5;min-height:42px}
.pricing-features{list-style:none;display:flex;flex-direction:column;gap:12px;margin:8px 0}
.pricing-features li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--text)}
.pricing-features svg{flex-shrink:0;width:16px;height:16px;color:var(--accent);margin-top:2px}
.pricing-card .btn{width:100%;justify-content:center;margin-top:auto}

/* === FAQ === */
.faq-list{max-width:780px;margin:64px auto 0;display:flex;flex-direction:column;gap:0}
.faq-item{border-bottom:1px solid var(--border)}
.faq-q{
  width:100%;text-align:left;padding:28px 4px;
  display:flex;justify-content:space-between;align-items:center;gap:24px;
  font-size:18px;font-weight:500;letter-spacing:-0.01em;
}
.faq-icon{flex-shrink:0;width:18px;height:18px;position:relative;transition:transform .35s var(--ease-out)}
.faq-icon::before,.faq-icon::after{content:'';position:absolute;top:50%;left:50%;background:var(--text);transition:transform .35s var(--ease-out)}
.faq-icon::before{width:14px;height:1.5px;transform:translate(-50%,-50%)}
.faq-icon::after{width:1.5px;height:14px;transform:translate(-50%,-50%)}
.faq-item.open .faq-icon::after{transform:translate(-50%,-50%) scaleY(0)}
.faq-a{
  max-height:0;overflow:hidden;
  transition:max-height .4s var(--ease-out),padding .4s var(--ease-out);
  font-size:16px;color:var(--text-2);line-height:1.6;
}
.faq-item.open .faq-a{max-height:300px;padding:0 4px 28px}

/* === CTA === */
.cta-final{
  text-align:center;padding:160px 24px;
  background:var(--bg-dark);color:var(--text-on-dark);
  position:relative;overflow:hidden;
}
.cta-final::before{
  content:'';position:absolute;top:50%;left:50%;
  width:900px;height:600px;
  transform:translate(-50%,-50%);
  background:radial-gradient(closest-side,color-mix(in oklab,var(--accent) 30%,transparent),transparent);
  filter:blur(80px);opacity:0.5;pointer-events:none;
}
.cta-final h2{font-family:var(--font-display);font-size:clamp(40px,7vw,88px);font-weight:600;letter-spacing:-0.04em;line-height:1.02;position:relative;z-index:1;max-width:14ch;margin:0 auto}
.cta-final h2 .accent{color:var(--accent)}
.cta-final p{font-size:clamp(16px,1.5vw,20px);color:var(--text-on-dark-2);margin:24px auto 0;max-width:520px;position:relative;z-index:1}
.cta-final .hero-cta{position:relative;z-index:1;margin-top:40px}

/* === FOOTER === */
footer.site-footer{
  background:var(--bg);
  border-top:1px solid var(--border);
  padding:64px 0 32px;
}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.f-brand{display:flex;flex-direction:column;gap:18px;max-width:320px}
.f-brand img{height:18px;width:auto;filter:var(--logo-filter,none)}
.f-brand p{font-size:14px;color:var(--text-2);line-height:1.55}
.f-col h4{font-size:13px;font-weight:600;color:var(--text);margin-bottom:14px;letter-spacing:-0.01em}
.f-col a{display:block;font-size:13px;color:var(--text-2);padding:6px 0;transition:color .2s}
.f-col a:hover{color:var(--text)}
.footer-bot{
  border-top:1px solid var(--border);
  padding-top:24px;
  display:flex;justify-content:space-between;align-items:center;gap:24px;
  font-size:12px;color:var(--text-3);
  flex-wrap:wrap;
}
.footer-bot .legal{display:flex;gap:24px;flex-wrap:wrap}
.footer-bot a:hover{color:var(--text-2)}

/* === Reveal animation utility === */
.r{opacity:0;transform:translateY(24px);transition:opacity calc(0.7s * var(--anim-mult)) var(--ease-out),transform calc(0.7s * var(--anim-mult)) var(--ease-out)}
.r.in{opacity:1;transform:none}
.r-1{transition-delay:calc(0.05s * var(--anim-mult))}
.r-2{transition-delay:calc(0.12s * var(--anim-mult))}
.r-3{transition-delay:calc(0.2s * var(--anim-mult))}
.r-4{transition-delay:calc(0.28s * var(--anim-mult))}
.r-5{transition-delay:calc(0.36s * var(--anim-mult))}
.r-6{transition-delay:calc(0.44s * var(--anim-mult))}
html[data-anim="off"] .r{opacity:1;transform:none;transition:none}
html[data-anim="off"] *{animation-duration:0.001s !important;animation-delay:0s !important}

/* === MOBILE === */
@media(max-width:980px){
  .features-grid{grid-template-columns:repeat(2,1fr)}
  .showcase-block{grid-template-columns:1fr;gap:48px;margin-bottom:96px}
  .showcase-block.rev .sc-text{order:0}
  .stats-grid{grid-template-columns:1fr 1fr;gap:48px 32px}
  .test-grid{grid-template-columns:1fr;gap:16px}
  .pricing-grid{grid-template-columns:1fr;gap:16px;max-width:480px;margin-left:auto;margin-right:auto}
  .footer-grid{grid-template-columns:1fr 1fr 1fr;gap:32px}
  .f-brand{grid-column:1 / -1}
}
@media(max-width:640px){
  .nav-links{display:none}
  .nav-burger{display:flex}
  .nav-cta{display:none}
  .sec,.sec-lg{padding:80px 0}
  .features-grid{grid-template-columns:1fr;border-radius:var(--r);}
  .stats-grid{grid-template-columns:1fr 1fr;gap:32px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:24px}
  .hero{padding-top:120px}
  .hero-cta{flex-direction:column;align-items:stretch;padding:0 16px}
  .hero-cta .btn{justify-content:center}
}

/* === TWEAKS PANEL === */
.tweaks-panel{
  position:fixed;bottom:20px;right:20px;z-index:9999;
  width:300px;
  background:color-mix(in oklab,var(--bg) 92%,transparent);
  backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);
  border:1px solid var(--border-strong);
  border-radius:18px;
  box-shadow:0 24px 64px -20px rgba(0,0,0,0.3),0 8px 16px -8px rgba(0,0,0,0.15);
  padding:18px 18px 16px;
  display:none;
  font-family:var(--font-body);
  color:var(--text);
}
.tweaks-panel.open{display:block;animation:rise .35s var(--ease-out)}
.tweaks-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.tweaks-title{font-size:13px;font-weight:600;letter-spacing:-0.01em}
.tweaks-close{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--text-2)}
.tweaks-close:hover{background:var(--bg-alt);color:var(--text)}
.tweak-row{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.tweak-row:last-child{margin-bottom:0}
.tweak-label{font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-3);font-weight:500}
.tweak-seg{display:flex;background:var(--bg-alt);border-radius:8px;padding:2px;gap:1px}
.tweak-seg button{
  flex:1;padding:7px 8px;border-radius:6px;font-size:12px;font-weight:500;color:var(--text-2);
  transition:all .2s;
}
.tweak-seg button.on{background:var(--bg);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,0.06)}
.tweak-row .help{font-size:11px;color:var(--text-3);margin-top:2px}

/* === LANG transitions === */
[data-i18n]{transition:opacity .15s}
.lang-switching [data-i18n]{opacity:0.4}

/* === Dark section accent visibility — use lighter purple on dark backgrounds === */
.sec-dark, .pain, .cta-final {
  --accent: #7c5cc4;
  --accent-2: #3c245f;
}

/* === Mobile side menu — slides from right, opaque === */
.mobile-menu {
  position: fixed;
  inset: 0;
  background: var(--bg);
  z-index: 1000;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.22,1,0.36,1);
  visibility: hidden;
}
.mobile-menu.open { transform: translateX(0); visibility: visible; }

.mm-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 20px;
}
.mm-logo img { height: 22px; width: auto; filter: var(--logo-filter, none); }
.mm-close {
  width: 44px; height: 44px;
  background: transparent; border: 0;
  font-size: 32px; line-height: 1;
  color: var(--text); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  border-radius: 8px;
}
.mm-close:hover { background: var(--bg-alt); }

.mm-links {
  flex: 1;
  display: flex; flex-direction: column;
  justify-content: center; align-items: center;
  gap: 32px;
  padding: 40px 24px;
}
.mm-links a {
  font-size: 24px;
  font-weight: 500;
  color: var(--text);
  text-decoration: none;
  font-family: var(--font-display);
  letter-spacing: -0.01em;
}
.mm-links a:hover { color: var(--accent); }

.mm-footer {
  display: flex; flex-direction: column;
  gap: 12px;
  padding: 24px 32px 32px;
}
.mm-login {
  display: block;
  text-align: center;
  background: var(--accent);
  color: #fff;
  padding: 14px 24px;
  border-radius: 99px;
  text-decoration: none;
  font-weight: 500;
  font-size: 15px;
}
.mm-login:hover { background: var(--accent-2); }
.mm-lang {
  background: transparent; border: 0;
  color: var(--text-2);
  padding: 8px;
  text-align: center; cursor: pointer;
  font-size: 13px; font-weight: 500;
  letter-spacing: 0.08em; text-transform: uppercase;
}
.mm-lang:hover { color: var(--text); }

body.menu-open { overflow: hidden; }

/* Hide FR toggle in top nav on mobile (moved to side menu) */
@media (max-width: 640px) {
  .nav-lang { display: none; }
}

/* Hide Login + Book a demo from top nav on mobile (kept in side menu only) */
@media (max-width: 640px) {
  .nav-login,
  .nav-cta { display: none; }
  .nav-burger { margin-right: 4px; }
}

/* Mobile nav: push actions (burger) to the right, symmetric with logo */
@media (max-width: 640px) {
  .nav-actions { margin-left: auto; }
  .nav-burger { margin-right: 0; }
}

/* === Responsive title sizes (replaces inline font-size in index.html) === */
.h-display { font-size: 80px; }
.h-1, .pain-h, .r { font-size: 60px; }
.amt { font-size: 40px; }

@media (max-width: 980px) {
  .h-display { font-size: 64px; }
  .h-1, .pain-h, .r { font-size: 50px; }
  .amt { font-size: 36px; }
}

@media (max-width: 640px) {
  .h-display { font-size: 55px; }
  .h-1, .pain-h, .r { font-size: 45px; }
  .h-pricing { font-size: 30px; }
  .amt { font-size: 30px; }
}
