*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* ── DESIGN TOKENS ───────────────────────────────────────── */
:root{
  --bg:#0A0B0D;
  --bg-1:#0F1115;
  --bg-2:#15181D;
  --border:rgba(255,255,255,.08);
  --border-2:rgba(255,255,255,.13);
  --divider:rgba(255,255,255,.05);

  --red:#E8192C;
  --red-d:#B5121F;
  --red-dim:#B5454F;
  --red-soft:#FF6B7A;
  --red-glow:rgba(232,25,44,.16);

  --text-1:#F3F4F6;
  --text-2:#AAB2BD;
  --text-3:#7A828D;
  --text-4:#454C56;

  --status:#34D399;
  --status-glow:rgba(52,211,153,.14);

  --amber:#F5A623;
  --amber-glow:rgba(245,166,35,.18);

  --r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;

  /* ── MOTION LANGUAGE (single source of truth — nothing below uses magic numbers) ──
     --ease    : element entrances. sharp start, soft settle. ~90% of reveals.
     --ease-spring : hover/tap feedback. light bounce, not a fade.
     --ease-heavy  : large state changes (frame swap, language switch). has mass.
     durations : micro 150–250ms · blocks 600–900ms · large transitions 1–1.4s */
  --ease:cubic-bezier(.16,1,.3,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
  --ease-heavy:cubic-bezier(.65,0,.35,1);
  --t-micro:200ms;
  --t-block:750ms;
  --t-large:1200ms;

  --f-disp:'Space Grotesk',-apple-system,sans-serif;
  --f-body:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --f-mono:'JetBrains Mono',ui-monospace,monospace;
}

html{scroll-behavior:smooth}
body{font-family:var(--f-body);background:var(--bg);color:var(--text-1);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{text-decoration:none;color:inherit}
h1,h2,h3{font-family:var(--f-disp)}
:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:4px}
::selection{background:var(--red);color:#fff}
::-moz-selection{background:var(--red);color:#fff}
@media(pointer:fine){
  *{scrollbar-width:thin;scrollbar-color:var(--border-2) transparent}
  ::-webkit-scrollbar{width:10px;height:10px}
  ::-webkit-scrollbar-track{background:var(--bg)}
  ::-webkit-scrollbar-thumb{background:var(--bg-2);border:2px solid var(--bg);border-radius:6px}
  ::-webkit-scrollbar-thumb:hover{background:var(--border-2)}
}

/* ── GRAIN / NOISE OVERLAY ───────────────────────────────── */
.grain{position:fixed;inset:0;z-index:200;pointer-events:none;opacity:.035;mix-blend-mode:overlay}
.grain svg{width:100%;height:100%}

/* ── CUSTOM CURSOR: soft ambient glow ────────────────────── */
.cur-glow,.cur-dot{position:fixed;top:0;left:0;pointer-events:none;z-index:999;border-radius:50%;display:none;will-change:transform,width,height}
html.has-cursor .cur-glow,html.has-cursor .cur-dot{display:block}
@media(pointer:coarse){html.has-cursor .cur-glow,html.has-cursor .cur-dot{display:none !important}}
@media(pointer:fine){html.has-cursor{cursor:none}html.has-cursor a,html.has-cursor button{cursor:none}}
.cur-glow{width:26px;height:26px;background:radial-gradient(circle,rgba(232,25,44,.5) 0%,rgba(232,25,44,.1) 55%,transparent 75%);filter:blur(3px);transition:width .35s var(--ease),height .35s var(--ease),border-radius .35s var(--ease)}
.cur-glow.hover{width:58px;height:58px}
.cur-glow.amber{background:radial-gradient(circle,rgba(245,166,35,.5) 0%,rgba(245,166,35,.1) 55%,transparent 75%)}
.cur-glow.link{width:46px;height:22px;border-radius:11px;background:radial-gradient(ellipse,rgba(232,25,44,.4) 0%,rgba(232,25,44,.08) 60%,transparent 78%)}
.cur-dot{width:4px;height:4px;background:var(--text-1)}

/* ── DOT GRID / BLUEPRINT BG ─────────────────────────────── */
.hero-dotgrid{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:26px 26px;mask-image:radial-gradient(ellipse 70% 60% at 50% 35%,#000 0%,transparent 78%);pointer-events:none;animation:dotdrift 14s linear infinite}

/* HMI-panel status readout — reads subconsciously as "live instrument" */
.hmi{position:absolute;bottom:26px;right:34px;z-index:3;display:flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:11px;letter-spacing:1px;color:var(--text-3);opacity:0;animation:hmiIn .8s var(--ease) 2.4s forwards}
.hmi-led{width:7px;height:7px;border-radius:50%;background:var(--status);box-shadow:0 0 9px var(--status-glow);animation:pulse 1.8s infinite}
@keyframes hmiIn{to{opacity:.85}}
@media(max-width:768px){.hmi{bottom:14px;right:16px;font-size:10px}}
@keyframes dotdrift{from{background-position:0 0}to{background-position:52px 52px}}

/* ── NAV ─────────────────────────────────────────────────── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:14px 48px;background:rgba(10,11,13,.86);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--f-disp);font-size:17px;font-weight:700;letter-spacing:-.3px;cursor:pointer}
.logo-i{width:32px;height:32px;background:var(--red);border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.logo-img{border-radius:8px;flex-shrink:0;display:block}
.logo-i svg{width:18px;height:18px}
.nav-r{display:flex;align-items:center;gap:22px}
.nav-links{display:flex;gap:30px;position:relative}
.nav-links a{color:var(--text-2);font-size:14px;position:relative;display:inline-flex;align-items:baseline;gap:6px;transition:color var(--t-micro) var(--ease),letter-spacing var(--t-micro) var(--ease),transform var(--t-micro) var(--ease)}
.nav-links a::before{content:attr(data-idx);font-family:var(--f-mono);font-size:10px;color:var(--text-4);transition:color var(--t-micro) var(--ease)}
.nav-links a:hover{color:var(--text-1);letter-spacing:.02em;transform:translateY(-2px)}
.nav-links a:hover::before{color:var(--red-soft)}
.nav-ind{position:absolute;bottom:-7px;height:2px;background:var(--red);border-radius:2px;width:0;left:0;opacity:0;pointer-events:none;box-shadow:0 0 8px var(--red-glow)}
.lang-sw{display:flex;gap:2px;background:var(--bg-1);border:1px solid var(--border);border-radius:8px;padding:3px}
.lang-sw button{background:none;border:none;cursor:pointer;font-family:var(--f-mono);font-size:11px;font-weight:600;padding:4px 10px;border-radius:5px;color:var(--text-2);transition:all .15s}
.lang-sw button.on{background:var(--red);color:#fff}
.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:9px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all .2s var(--ease)}
.btn-r{background:var(--red);color:#fff}.btn-r:hover{background:var(--red-d);transform:translateY(-1px)}
.btn-o{background:transparent;color:var(--text-1);border:1px solid var(--border-2)}.btn-o:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.04)}

/* ── HERO ────────────────────────────────────────────────── */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:140px 48px 80px;overflow:hidden}
.hero-gl{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.85}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr .82fr;gap:40px;align-items:center;max-width:1280px;margin:0 auto;width:100%}
.badge{display:inline-flex;align-items:center;gap:7px;background:rgba(232,25,44,.1);border:1px solid rgba(232,25,44,.28);color:var(--red-soft);padding:6px 16px;border-radius:20px;font-family:var(--f-mono);font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;margin-bottom:30px}
.dot{width:6px;height:6px;background:var(--red);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
h1{font-size:clamp(36px,4.6vw,62px);font-weight:700;letter-spacing:-2px;line-height:1.06;margin-bottom:22px;max-width:560px;perspective:600px}
h1 .wd{transform-origin:center bottom}
h1 em{color:var(--red);font-style:normal}
.hero-sub{font-size:clamp(16px,1.6vw,18px);color:var(--text-2);max-width:460px;margin-bottom:38px;line-height:1.75}
.hbtns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:56px}
.btn-lg{padding:15px 30px;border-radius:12px;font-size:15px;font-weight:700}
.stats{display:flex;gap:38px;flex-wrap:wrap}
.sn{font-family:var(--f-mono);font-size:30px;font-weight:600;letter-spacing:-1px;color:var(--text-1)}.sn b{color:var(--red);font-weight:600}
.sl{font-size:12.5px;color:var(--text-3);margin-top:4px;max-width:110px;line-height:1.4}

/* hero phone composition */
.hero-phones{position:relative;height:560px;display:flex;align-items:center;justify-content:center}
.phone{position:absolute;width:206px;border-radius:38px;background:#0d0d0d;border:1.5px solid rgba(255,255,255,.14);box-shadow:0 0 0 1px rgba(255,255,255,.04),0 40px 70px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.08);overflow:hidden;will-change:transform}
.phone::before{content:'';position:absolute;top:9px;left:50%;transform:translateX(-50%);width:62px;height:20px;background:#000;border-radius:18px;z-index:10}
.phone::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,0) 26%);pointer-events:none;z-index:11}
.phone-screen{position:relative;width:100%;aspect-ratio:390/801}
.phone-screen img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;filter:contrast(1.06) saturate(1.1) brightness(1.03)}
.phone-back-a{width:172px;opacity:.55;filter:blur(.4px);z-index:1;transform:translate(-150px,40px) rotate(-9deg) scale(.86)}
.phone-back-b{width:182px;opacity:.7;z-index:2;transform:translate(150px,-30px) rotate(7deg) scale(.94)}
.phone-hero{z-index:3;transform:rotate(-2deg);box-shadow:0 0 0 1px rgba(255,255,255,.05),inset 0 0 0 1px rgba(232,25,44,.4),0 50px 90px rgba(0,0,0,.78),0 22px 60px rgba(232,25,44,.18),inset 0 1px 0 rgba(255,255,255,.1)}
.phone-glow{position:absolute;left:50%;bottom:-40px;transform:translateX(-50%);width:300px;height:160px;background:radial-gradient(ellipse,rgba(232,25,44,.32) 0%,transparent 70%);filter:blur(6px);z-index:0;pointer-events:none}
.cf{position:absolute !important;inset:0;opacity:0;transform:scale(1.02);transition:opacity .6s ease,transform .6s ease}
.cf.active{opacity:1;transform:scale(1)}
.screen-demo{background:#0a0a0a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:0 18px}
.sd-code{font-family:var(--f-mono);font-size:19px;font-weight:600;color:var(--red-soft);letter-spacing:1px;min-height:26px}
.sd-code::after{content:'';display:inline-block;width:2px;height:16px;background:var(--red-soft);margin-left:3px;vertical-align:middle;animation:sdblink 1s steps(1) infinite}
.sd-result{display:flex;align-items:center;gap:7px;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s;font-family:var(--f-mono);font-size:12.5px;color:var(--status)}
.sd-result.show{opacity:1;transform:translateY(0)}
.sd-check{width:17px;height:17px;border-radius:50%;background:rgba(52,211,153,.15);display:flex;align-items:center;justify-content:center;font-size:10px;flex-shrink:0}
.sd-time{color:var(--text-3);margin-left:2px}
@keyframes sdblink{50%{opacity:0}}

/* ── SECTIONS ────────────────────────────────────────────── */
section{padding:110px 24px;max-width:1140px;margin:0 auto}
.tag{font-family:var(--f-mono);font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--red-soft);margin-bottom:14px}
.stitle{font-size:clamp(28px,3.6vw,42px);font-weight:700;letter-spacing:-1.2px;line-height:1.12;margin-bottom:14px}
.ssub{font-size:16.5px;color:var(--text-2);max-width:500px;line-height:1.75}

/* ── SUPPORTED SYSTEMS ───────────────────────────────────── */
.sys-wrap{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-1);padding:72px 24px}
.sys-in{max-width:1140px;margin:0 auto}
.sys-hd{max-width:560px;margin-bottom:44px}
.sys-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.sys-card{border:1px solid var(--border);border-radius:var(--r-md);padding:22px 24px;background:var(--bg);transition:border-color var(--t-micro) var(--ease),transform var(--t-micro) var(--ease);position:relative;overflow:hidden}
.sys-card:hover{border-color:var(--border-2)}
.sys-card::after{content:'';position:absolute;inset:0;opacity:0;transition:opacity 280ms var(--ease);pointer-events:none;background-image:repeating-linear-gradient(var(--pat-angle,45deg),transparent 0 8px,rgba(232,25,44,.05) 8px 9px)}
.sys-card:hover::after{opacity:1}
.sys-card.c-fanuc{--pat-angle:45deg}
.sys-card.c-siemens{--pat-angle:0deg}
.sys-card.c-heid{--pat-angle:90deg}
.sys-name{font-family:var(--f-mono);font-size:14px;font-weight:600;letter-spacing:1px;color:var(--text-1);margin-bottom:8px;position:relative}
.sys-d{font-size:13.5px;color:var(--text-3);line-height:1.6}

/* ── TICKER ──────────────────────────────────────────────── */
.ticker-wrap{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-1);padding:22px 0;overflow:hidden}
.ticker-hd{display:flex;align-items:center;gap:8px;max-width:1140px;margin:0 auto 14px;padding:0 24px}
.ticker-dot{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 10px var(--amber-glow);animation:pulse 1.6s infinite;flex-shrink:0}
.ticker-track{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.ticker-row{display:flex;gap:14px;width:max-content;animation:tickermove 24s linear infinite}
.tchip{font-family:var(--f-mono);font-size:12.5px;color:var(--text-2);white-space:nowrap;padding:8px 16px;border:1px solid var(--border);border-radius:20px;background:var(--bg)}
.tchip em{color:var(--status);font-style:normal;font-weight:600;margin-left:7px}
@keyframes tickermove{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── TRY IT: live calculator ─────────────────────────────── */
.try-wrap{padding:96px 24px;max-width:1140px;margin:0 auto}
.try-hd{max-width:560px;margin-bottom:40px}
.try-card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:34px;max-width:560px}
.try-row{margin-bottom:24px}
.try-row label{display:block;font-family:var(--f-mono);font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px}
.try-toggle{display:flex;gap:8px}
.try-tbtn{flex:1;padding:11px;border-radius:10px;border:1px solid var(--border-2);background:var(--bg-2);color:var(--text-2);font-family:var(--f-mono);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}
.try-tbtn.on{background:var(--red);border-color:var(--red);color:#fff}
.try-slider-wrap{display:flex;align-items:center;gap:14px}
.try-slider-wrap input[type=range]{flex:1;-webkit-appearance:none;appearance:none;height:4px;background:var(--border-2);border-radius:3px;outline:none}
.try-slider-wrap input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--red);cursor:pointer;box-shadow:0 0 0 4px rgba(232,25,44,.18)}
.try-slider-wrap input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--red);border:none;cursor:pointer}
.try-dia-val{font-family:var(--f-mono);font-size:13px;color:var(--text-1);min-width:54px;text-align:right}
.try-result{border-top:1px solid var(--divider);padding-top:24px;margin-top:6px}
.try-result-l{font-family:var(--f-mono);font-size:11px;color:var(--text-3);text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px}
.try-result-n{font-family:var(--f-mono);font-size:42px;font-weight:600;letter-spacing:-1px;color:var(--text-1);transition:color .25s}
.try-result-n.flash{color:var(--amber)}
.try-result-n::after{content:' RPM';font-size:15px;color:var(--text-3);font-weight:400}
.try-bar{height:6px;background:var(--bg-2);border-radius:4px;overflow:hidden;margin:14px 0}
.try-bar-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--red),var(--amber));border-radius:4px;transition:width .25s var(--ease)}
.try-formula{font-family:var(--f-mono);font-size:11.5px;color:var(--text-4)}
.try-note{font-size:12.5px;color:var(--text-4);margin-top:16px;line-height:1.6}
@media(max-width:768px){
  .ticker-row{animation-duration:18s}
  .try-wrap{padding:60px 18px}
  .try-card{padding:26px 22px;max-width:100%}
}

/* ── FEATURES GRID ───────────────────────────────────────── */
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:14px;margin-top:50px}
.fcard{background:var(--bg-1);border:1px solid var(--border);border-radius:16px;padding:26px;transition:border-color .2s,transform .2s}
.fcard:hover{border-color:rgba(232,25,44,.3);transform:translateY(-2px)}
.fci{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;background:var(--bg-2);border:1px solid var(--border);color:var(--text-2)}
.fci svg{width:20px;height:20px}
.fci.hot{background:rgba(232,25,44,.1);border-color:rgba(232,25,44,.25);color:var(--red-soft)}
.fcard h3{font-family:var(--f-disp);font-size:16px;font-weight:600;margin-bottom:8px;letter-spacing:-.2px}
.fcard p{font-size:13.5px;color:var(--text-2);line-height:1.65}
.fstatus{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-family:var(--f-mono);font-size:11px;color:var(--status);letter-spacing:.3px}
.fstatus .fdot{width:5px;height:5px;border-radius:50%;background:var(--status);box-shadow:0 0 8px var(--status-glow)}

/* ── HOW IT WORKS ────────────────────────────────────────── */
.alt{background:var(--bg-1);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:110px 24px}
.alt-in{max-width:1140px;margin:0 auto}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:40px;margin-top:56px}
.step{text-align:left}
.stepn{width:46px;height:46px;background:rgba(232,25,44,.08);border:1px solid rgba(232,25,44,.22);border-radius:13px;display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:17px;font-weight:600;color:var(--red);margin-bottom:16px}
.step h3{font-family:var(--f-disp);font-size:15px;font-weight:600;margin-bottom:8px}
.step p{font-size:13.5px;color:var(--text-2);line-height:1.65}

/* ── SCREENSHOTS ─────────────────────────────────────────── */
.ss-wrap{background:linear-gradient(180deg,var(--bg) 0%,var(--bg-1) 40%,var(--bg-1) 60%,var(--bg) 100%);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:100px 0 116px;overflow:hidden;position:relative}
.ss-wrap::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:900px;height:600px;background:radial-gradient(ellipse,rgba(232,25,44,.06) 0%,transparent 65%);pointer-events:none}
.ss-hdr{text-align:center;padding:0 24px 64px;max-width:620px;margin:0 auto}
.ss-hdr .tag{display:inline-block}
.ss-hdr h2{font-size:clamp(28px,3.6vw,42px);font-weight:700;letter-spacing:-1.2px;line-height:1.1;margin-bottom:12px}
.ss-hdr p{font-size:14.5px;color:var(--text-3);font-family:var(--f-mono)}
.ss-grid{display:flex;justify-content:center;align-items:flex-end;gap:18px;padding:0 40px 40px;max-width:1280px;margin:0 auto}
.ss-item{display:flex;flex-direction:column;align-items:center;gap:16px;flex:0 0 auto;text-align:center}
.ss-item:nth-child(1){transform:translateY(30px)}
.ss-item:nth-child(2){transform:translateY(0)}
.ss-item:nth-child(3){transform:translateY(-22px)}
.ss-item:nth-child(4){transform:translateY(-22px)}
.ss-item:nth-child(5){transform:translateY(0)}
.ss-item:nth-child(6){transform:translateY(30px)}
.ss-anim{display:flex;flex-direction:column;align-items:center;gap:16px;position:relative}
.callout{position:absolute;top:var(--cy,12%);left:var(--cx,68%);display:flex;align-items:center;gap:6px;opacity:0;animation:calloutIn .5s ease forwards;animation-delay:1.5s;pointer-events:none;z-index:20}
.callout-line{width:20px;height:1px;background:var(--red-soft);position:relative}
.callout-line::before{content:'';position:absolute;left:-3px;top:-2.5px;width:5px;height:5px;border-radius:50%;background:var(--red-soft)}
.callout-label{font-family:var(--f-mono);font-size:10px;color:var(--red-soft);white-space:nowrap;background:var(--bg);padding:3px 7px;border-radius:5px;border:1px solid var(--border)}
@keyframes calloutIn{to{opacity:1}}
@media(max-width:768px){.callout{display:none}}
.ss-ph{width:166px;border-radius:38px;background:#0d0d0d;border:1.5px solid rgba(255,255,255,.13);box-shadow:0 0 0 1px rgba(255,255,255,.04),0 30px 60px rgba(0,0,0,.72),0 14px 30px rgba(232,25,44,.07),inset 0 1px 0 rgba(255,255,255,.07);overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease);position:relative}
.ss-item:nth-child(3) .ss-ph,.ss-item:nth-child(4) .ss-ph{width:184px}
.ss-ph:hover{transform:translateY(-8px) scale(1.035);box-shadow:0 0 0 1px rgba(255,255,255,.1),0 46px 80px rgba(0,0,0,.82),0 26px 52px rgba(232,25,44,.2),inset 0 1px 0 rgba(255,255,255,.1)}
.ss-ph::before{content:'';position:absolute;top:9px;left:50%;transform:translateX(-50%);width:66px;height:20px;background:#000;border-radius:18px;z-index:10}
.ss-ph::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.09) 0%,rgba(255,255,255,0) 24%);pointer-events:none;z-index:11}
.ss-ph img{width:100%;display:block;filter:contrast(1.06) saturate(1.1) brightness(1.03)}
.ss-lbl{font-family:var(--f-disp);font-size:13px;font-weight:600;color:var(--text-1)}
.ss-sub{font-family:var(--f-mono);font-size:11px;color:var(--text-3);margin-top:3px;max-width:160px;line-height:1.4}

/* ── PRICING ─────────────────────────────────────────────── */
.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:18px;margin-top:54px}
.pc{background:var(--bg-1);border:1px solid var(--border);border-radius:20px;padding:30px;position:relative;transition:border-color .2s,transform .2s}
.pc.hot{border-color:var(--red);background:linear-gradient(150deg,rgba(232,25,44,.07),var(--bg-1))}
.pbadge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--red);color:#fff;font-family:var(--f-mono);font-size:10.5px;font-weight:600;letter-spacing:.5px;padding:4px 14px;border-radius:20px;white-space:nowrap}
.pp{font-family:var(--f-mono);font-size:11px;color:var(--text-2);margin-bottom:10px;font-weight:600;text-transform:uppercase;letter-spacing:.6px}
.pr{font-family:var(--f-mono);font-size:38px;font-weight:600;letter-spacing:-1px}
.pr span{font-size:14px;color:var(--text-2);font-weight:400;font-family:var(--f-body)}
.pdesc{font-size:13.5px;color:var(--text-2);margin:12px 0 24px;line-height:1.65}
.pf{list-style:none;margin-bottom:26px}
.pf li{font-size:13.5px;padding:7px 0;border-bottom:1px solid var(--divider);display:flex;gap:8px;align-items:flex-start}
.pf li:last-child{border-bottom:none}
.pf li::before{content:'✓';color:var(--status);font-weight:700;flex-shrink:0;margin-top:1px}
.pbt{width:100%;padding:13px;border-radius:11px;font-size:14px;font-weight:700;cursor:pointer;text-align:center;text-decoration:none;display:block;transition:all .2s;border:none}
.pbt-r{background:var(--red);color:#fff}.pbt-r:hover{background:var(--red-d)}
.pbt-o{background:transparent;color:var(--text-1);border:1px solid var(--border-2)}.pbt-o:hover{border-color:rgba(255,255,255,.3)}

/* ── CTA / FORM ──────────────────────────────────────────── */
.cta{text-align:center;padding:120px 24px;background:var(--bg-1);border-top:1px solid var(--border)}
.cta h2{font-size:clamp(26px,3.6vw,44px);font-weight:700;letter-spacing:-1.2px;margin-bottom:14px}
.cta>p{font-size:16.5px;color:var(--text-2);margin-bottom:40px}
.fw{max-width:490px;margin:0 auto;background:var(--bg-2);border:1px solid var(--border);border-radius:20px;padding:32px;text-align:left}
.fw h3{font-family:var(--f-disp);font-size:18px;font-weight:600;margin-bottom:24px}
.fg{margin-bottom:15px}
.fg label{display:block;font-family:var(--f-mono);font-size:10.5px;font-weight:600;color:var(--text-2);margin-bottom:6px;letter-spacing:.5px;text-transform:uppercase}
.fg input,.fg textarea{width:100%;padding:11px 14px;background:var(--bg-1);border:1px solid var(--border);border-radius:10px;color:var(--text-1);font-size:14px;outline:none;transition:border-color .2s;font-family:inherit}
.fg input:focus,.fg textarea:focus{border-color:var(--red)}
.fg textarea{height:96px;resize:none}
.fsub{width:100%;padding:14px;background:var(--red);color:#fff;border:none;border-radius:11px;font-size:15px;font-weight:700;cursor:pointer;transition:background .2s;margin-top:6px}
.fsub:hover{background:var(--red-d)}.fsub:disabled{background:var(--text-4);cursor:not-allowed}
.fm{padding:12px;border-radius:10px;font-size:14px;margin-top:12px;display:none}
.fm.ok{background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.3);color:var(--status);display:flex;align-items:center;gap:10px}
.fm.er{background:rgba(232,25,44,.1);border:1px solid rgba(232,25,44,.3);color:var(--red-soft)}
.fm-check{width:20px;height:20px;flex-shrink:0}
.fm-check circle{fill:none;stroke:var(--status);stroke-width:2;stroke-dasharray:64;stroke-dashoffset:64;animation:drawC .5s var(--ease) forwards}
.fm-check path{fill:none;stroke:var(--status);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:20;stroke-dashoffset:20;animation:drawC .35s var(--ease) .4s forwards}
@keyframes drawC{to{stroke-dashoffset:0}}

/* ── FOOTER ──────────────────────────────────────────────── */
footer{padding:36px 48px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;max-width:1600px;margin:0 auto;flex-wrap:wrap;gap:14px}
footer p{font-size:13px;color:var(--text-4)}
.fl{font-family:var(--f-disp);font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px}
footer a{color:var(--text-4);font-size:13px;transition:color .2s}
footer a:hover{color:var(--text-2)}

/* ── FLOATING MOBILE CTA ─────────────────────────────────── */
.fab-cta{display:none;position:fixed;bottom:18px;left:50%;transform:translate(-50%,80px);z-index:90;background:var(--red);color:#fff;padding:14px 26px;border-radius:30px;font-size:14px;font-weight:700;box-shadow:0 14px 32px rgba(232,25,44,.4),0 4px 12px rgba(0,0,0,.4);transition:transform .35s var(--ease),opacity .35s var(--ease);opacity:0}
.fab-cta.show{transform:translate(-50%,0);opacity:1}

/* ── PRIVACY / TOS ───────────────────────────────────────── */
#pp{display:none;max-width:740px;margin:0 auto;padding:120px 24px 80px}
#pp h1{font-size:30px;font-weight:700;margin-bottom:8px;letter-spacing:-1px}
.pp-upd{font-family:var(--f-mono);font-size:13px;color:var(--text-4);margin-bottom:40px}
#pp h2{font-family:var(--f-disp);font-size:18px;font-weight:600;margin:30px 0 10px}
#pp p,#pp li{font-size:15px;color:var(--text-2);line-height:1.8;margin-bottom:8px}
#pp ul{padding-left:20px;margin-bottom:14px}
#pp a{color:var(--red-soft)}
.ppback{display:inline-flex;align-items:center;gap:6px;color:var(--text-2);font-size:14px;margin-bottom:32px;transition:color .2s;cursor:pointer}
.ppback:hover{color:var(--text-1)}

/* ── HAMBURGER MENU ─────────────────────────────────────── */
.hbg{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;background:var(--bg-1);border:1px solid var(--border);border-radius:8px}
.hbg span{display:block;width:20px;height:2px;background:var(--text-1);border-radius:2px;transition:all .25s}
.hbg.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hbg.open span:nth-child(2){opacity:0}
.hbg.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mob-menu{display:none;position:fixed;top:60px;left:0;right:0;background:rgba(10,11,13,.98);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:20px 24px;z-index:99;flex-direction:column;gap:0}
.mob-menu.open{display:flex}
.mob-menu a{color:var(--text-2);font-size:16px;padding:14px 0;border-bottom:1px solid var(--divider);display:block;transition:color .2s}.mob-menu .btn-r{color:#fff !important;padding:14px;border-bottom:none;border-radius:9px;text-align:center}
.mob-menu a:last-child{border-bottom:none}
.mob-menu a:hover{color:var(--text-1)}
.mob-menu .lang-sw{margin-top:16px;width:100%;justify-content:center}
.mob-menu .lang-sw button{flex:1;padding:10px}

/* (scroll-reveal hiding is now handled exclusively by GSAP gsap.fromTo,
   never by a CSS class — avoids the stuck-at-zero-opacity failure mode) */

/* ── section dividers (drawn on scroll) ──────────────────── */
.section-rule{height:1px;width:100%;max-width:1140px;margin:0 auto;background:linear-gradient(90deg,transparent,var(--border-2) 12%,var(--border-2) 88%,transparent);transform:scaleX(0);transform-origin:left center}

/* perf: hint the compositor for blur-in reveals only while choreography runs */
html.anim-on .fcard,html.anim-on .pc,html.anim-on .sys-card,html.anim-on .step,html.anim-on .ss-anim,html.anim-on .try-card{will-change:transform,opacity,filter}

/* ── REDUCED MOTION ──────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  .callout{animation:none !important;opacity:1 !important}
}

/* ── TABLET ─────────────────────────────────────────────── */
@media(max-width:1024px){
  nav{padding:14px 24px}
  section{padding:84px 20px}
  .alt{padding:84px 20px}
  .pgrid{grid-template-columns:1fr}
  .pc.hot{order:-1}
  .hero{padding:120px 24px 60px}
  .hero-inner{grid-template-columns:1fr;text-align:center}
  .hero-copy{display:flex;flex-direction:column;align-items:center}
  .hbtns{justify-content:center}
  .stats{justify-content:center}
  .hero-phones{height:420px;margin-top:20px}
}

/* ── MOBILE ─────────────────────────────────────────────── */
@media(max-width:768px){
  nav{padding:12px 18px}
  .nav-links{display:none}
  .hbg{display:flex}
  .nav-r > .btn{display:none}
  .fab-cta{display:block}

  .hero{padding:104px 20px 56px;min-height:auto}
  h1{font-size:clamp(32px,8vw,44px);letter-spacing:-1.4px}
  .hero-sub{font-size:15.5px}
  .hbtns{flex-direction:column;align-items:stretch;width:100%;max-width:320px;margin:0 auto 44px}
  .btn-lg{width:100%;justify-content:center;padding:15px 24px}
  .stats{gap:22px;justify-content:center}
  .sn{font-size:24px}
  .sl{font-size:11.5px}
  .hero-phones{height:300px}
  .phone-back-a,.phone-back-b{display:none}
  .phone-hero{width:172px}

  section{padding:64px 18px}
  .stitle{font-size:clamp(24px,6vw,32px)}
  .ssub{font-size:14.5px;margin:0 auto}

  .sys-wrap{padding:56px 18px}
  .sys-hd{margin:0 auto 32px;text-align:center}

  .fgrid{grid-template-columns:1fr;gap:12px;margin-top:36px}
  .fcard{padding:22px}

  .alt{padding:60px 18px}
  .steps{grid-template-columns:1fr;gap:30px;margin-top:40px}

  .pgrid{grid-template-columns:1fr;gap:16px;margin-top:36px}
  .pc{padding:24px}
  .pc.hot{order:-1}

  .cta{padding:72px 18px 96px}
  .fw{padding:24px 20px;border-radius:16px}

  footer{padding:28px 20px;flex-direction:column;align-items:flex-start;gap:10px}

  #pp{padding:90px 20px 60px}
  #pp h1{font-size:26px}
}
@media(max-width:768px){
  .ss-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 12px;padding:0 20px 24px;align-items:start}
  .ss-item{transform:none !important}
  .ss-ph{width:100% !important;border-radius:28px}
  .ss-ph::before{width:52px;height:17px;top:7px}
  .ss-lbl{font-size:11.5px}
  .ss-sub{display:none}
  .ss-wrap{padding:60px 0 68px}
  .ss-hdr{padding:0 20px 36px}
}
@media(max-width:440px){
  .ss-grid{grid-template-columns:repeat(2,1fr);gap:14px 10px}
  .stats{grid-template-columns:1fr 1fr;display:grid;gap:18px;width:100%;text-align:left}
}
