@font-face{ font-family: 'Vazirmatn'; font-style: normal; font-display: swap; font-weight: 300; src:url(../fonts/vazirmatn-arabic-300-normal.woff2) format("woff2"); unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1; }
@font-face{ font-family: 'Vazirmatn'; font-style: normal; font-display: swap; font-weight: 300; src:url(../fonts/vazirmatn-latin-300-normal.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family: 'Vazirmatn'; font-style: normal; font-display: swap; font-weight: 400; src:url(../fonts/vazirmatn-arabic-400-normal.woff2) format("woff2"); unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1; }
@font-face{ font-family: 'Vazirmatn'; font-style: normal; font-display: swap; font-weight: 400; src:url(../fonts/vazirmatn-latin-400-normal.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family: 'Vazirmatn'; font-style: normal; font-display: swap; font-weight: 500; src:url(../fonts/vazirmatn-arabic-500-normal.woff2) format("woff2"); unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1; }
@font-face{ font-family: 'Vazirmatn'; font-style: normal; font-display: swap; font-weight: 500; src:url(../fonts/vazirmatn-latin-500-normal.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family: 'Vazirmatn'; font-style: normal; font-display: swap; font-weight: 600; src:url(../fonts/vazirmatn-arabic-600-normal.woff2) format("woff2"); unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1; }
@font-face{ font-family: 'Vazirmatn'; font-style: normal; font-display: swap; font-weight: 600; src:url(../fonts/vazirmatn-latin-600-normal.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family: 'Vazirmatn'; font-style: normal; font-display: swap; font-weight: 700; src:url(../fonts/vazirmatn-arabic-700-normal.woff2) format("woff2"); unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1; }
@font-face{ font-family: 'Vazirmatn'; font-style: normal; font-display: swap; font-weight: 700; src:url(../fonts/vazirmatn-latin-700-normal.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family: 'Vazirmatn'; font-style: normal; font-display: swap; font-weight: 800; src:url(../fonts/vazirmatn-arabic-800-normal.woff2) format("woff2"); unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1; }
@font-face{ font-family: 'Vazirmatn'; font-style: normal; font-display: swap; font-weight: 800; src:url(../fonts/vazirmatn-latin-800-normal.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family: 'Vazirmatn'; font-style: normal; font-display: swap; font-weight: 900; src:url(../fonts/vazirmatn-arabic-900-normal.woff2) format("woff2"); unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1; }
@font-face{ font-family: 'Vazirmatn'; font-style: normal; font-display: swap; font-weight: 900; src:url(../fonts/vazirmatn-latin-900-normal.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family: 'Space Grotesk'; font-style: normal; font-display: swap; font-weight: 500; src:url(../fonts/space-grotesk-latin-500-normal.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family: 'Space Grotesk'; font-style: normal; font-display: swap; font-weight: 600; src:url(../fonts/space-grotesk-latin-600-normal.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family: 'Space Grotesk'; font-style: normal; font-display: swap; font-weight: 700; src:url(../fonts/space-grotesk-latin-700-normal.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
/* ============ TOKENS ============ */
:root{
  --bg:#f4f7fc; --bg2:#edf2fa; --surface:#ffffff; --ink:#0c1a2b; --muted:#5c6b80; --line:#e2e8f2;
  --blue:#0b5fff; --blue-d:#0847c8; --cyan:#00b8d4; --violet:#6d4aff; --magenta:#c026d3;
  --green:#10b981; --amber:#f59e0b; --red:#ef4444;
  --logo:#00a3e0;
  --grad-vina:linear-gradient(135deg,#0ea5e9 0%,#10b981 100%);
  --grad-flora:linear-gradient(135deg,#6d4aff 0%,#c026d3 100%);
  --grad-brand:linear-gradient(135deg,#0b5fff 0%,#6d4aff 100%);
  --r:18px; --sh1:0 10px 30px rgba(12,26,43,.08); --sh2:0 24px 60px rgba(12,26,43,.14);
  --ff:'Vazirmatn',system-ui,sans-serif; --fe:'Space Grotesk',sans-serif;
  --hh:78px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--ff);background:var(--bg);color:var(--ink);line-height:1.9;overflow-x:hidden;font-size:16px}
::selection{background:rgba(14,165,233,.18)}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,select,textarea{font-family:inherit;font-size:.92rem}
.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.container{width:min(1450px,92%);margin-inline:auto}
section{padding:96px 0;scroll-margin-top:calc(var(--hh) + 12px);position:relative}
.en{font-family:var(--fe);letter-spacing:.06em}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}
::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:#c3cfdf;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#a9b8cc}

/* ============ REVEAL / MOTION ============ */
html.js .rv{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
html.js .rv.in{opacity:1;transform:none}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.15}}
@keyframes scanY{0%{top:4%}50%{top:92%}100%{top:4%}}
@keyframes sweepX{0%{transform:translateX(-120%)}100%{transform:translateX(220%)}}
@keyframes kb{from{transform:scale(1) translate(0,0)}to{transform:scale(1.13) translate(2%,-2%)}}
@keyframes dash{to{stroke-dashoffset:-26}}
@keyframes hud{0%{opacity:0;transform:scale(.9)}10%{opacity:1;transform:scale(1)}82%{opacity:1}94%,100%{opacity:0;transform:scale(.95)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes flame{0%,100%{transform:scale(1) translateY(0)}50%{transform:scale(1.08,.94) translateY(-3px)}}
@keyframes rise{0%{transform:translateY(6px);opacity:0}30%{opacity:.7}100%{transform:translateY(-26px);opacity:0}}
@keyframes popIn{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
@keyframes popC{from{opacity:0;transform:translate(-50%,-50%) scale(.7)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes viScan{0%,100%{top:18%}50%{top:74%}}
@keyframes viSweep{0%{transform:translateX(-140%)}100%{transform:translateX(240%)}}
@keyframes fireGlow{0%,100%{opacity:.35;transform:scale(.9)}50%{opacity:.9;transform:scale(1.05)}}
@keyframes dashMove{to{background-position:-12px 0}}
@keyframes packet{0%{left:100%;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:0;opacity:0}}
@keyframes packetV{0%{top:100%;opacity:0}15%{opacity:1}85%{opacity:1}100%{top:0;opacity:0}}
@keyframes ringPulse{0%{transform:scale(.85);opacity:.9}100%{transform:scale(1.3);opacity:0}}
@keyframes orbX{0%{left:9%;animation-timing-function:ease-in-out}40%{left:91%;animation-timing-function:linear}50%{left:91%;animation-timing-function:ease-in-out}90%{left:9%;animation-timing-function:linear}100%{left:9%}}
@keyframes orbY{0%{top:15%;animation-timing-function:linear}40%{top:15%;animation-timing-function:ease-in-out}50%{top:85%;animation-timing-function:linear}90%{top:85%;animation-timing-function:ease-in-out}100%{top:15%}}
@keyframes stripeMove{to{transform:translateX(-160px)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html.js .rv{opacity:1;transform:none}html.js .ind-tile,html.js .exp-card{opacity:1}}

/* ============ HEADER ============ */
#prog{position:fixed;top:0;right:0;height:3px;width:0;background:var(--grad-vina);z-index:120;border-radius:0 3px 3px 0}
header{position:fixed;top:0;right:0;left:0;z-index:100;transition:.35s;background:rgba(255,255,255,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent}
header.scrolled{background:rgba(255,255,255,.94);border-color:var(--line);box-shadow:0 6px 24px rgba(12,26,43,.06);--hh:66px}
.h-in{height:var(--hh);display:flex;align-items:center;gap:22px;transition:height .35s}
.logo{display:flex;align-items:center;flex:none}
.logo-file{display:none;height:38px;width:auto;transition:.3s}
.logo-file.ok{display:block}
.logo-fallback{display:block;height:32px;width:auto}
.logo-file.ok~.logo-fallback{display:none}
header.scrolled .logo-file{height:32px}
header.scrolled .logo-fallback{height:27px}
nav.main{height:100%}
nav.main>ul{display:flex;align-items:center;gap:2px;height:100%}
nav.main>ul>li{height:100%;display:flex;align-items:center}
.nav-link{display:flex;align-items:center;gap:6px;padding:10px 15px;border-radius:11px;font-weight:600;font-size:.93rem;color:#33445c;transition:.25s;position:relative}
.nav-link:hover{color:var(--blue);background:rgba(11,95,255,.07)}
.nav-link.active{color:var(--blue)}
.nav-link.active::after{content:"";position:absolute;bottom:2px;right:15px;left:15px;height:3px;border-radius:3px;background:var(--grad-vina)}
.nav-link .ic{width:15px;height:15px;transition:.3s}
.has-mega.open .nav-link .ic{transform:rotate(180deg)}
.has-mega.open .nav-link{color:var(--blue);background:rgba(11,95,255,.07)}
.h-actions{display:flex;align-items:center;gap:10px;margin-inline-start:auto}
.burger{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:#fff;align-items:center;justify-content:center}
.has-mega{position:relative}
.mega{position:absolute;top:100%;right:0;width:max-content;max-width:min(980px,94vw);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh2);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .26s cubic-bezier(.2,.7,.2,1),transform .26s cubic-bezier(.2,.7,.2,1),visibility .26s;pointer-events:none;z-index:95}
.mega::before{content:"";position:absolute;bottom:100%;right:0;left:0;height:12px}
.has-mega.open .mega,.has-mega:focus-within .mega{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.mega-in{display:grid;gap:30px;padding:26px 30px}
.mega.w-prod .mega-in{grid-template-columns:300px 300px 230px}
.mega.w-sol .mega-in{grid-template-columns:330px 300px 230px}
.mega-head{display:flex;align-items:center;gap:9px;font-weight:800;font-size:.86rem;margin-bottom:14px;padding-bottom:11px;border-bottom:1px dashed var(--line)}
.mega-head .tag{font-family:var(--fe);font-size:.75rem;font-weight:700;color:#fff;padding:3px 9px;border-radius:7px}
.tag.vina{background:var(--grad-vina)}.tag.flora{background:var(--grad-flora)}
.mega-item{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:13px;transition:.25s;position:relative}
.mega-item:hover{background:var(--bg);transform:translateX(-5px)}
.mega-item .mi-ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:rgba(14,165,233,.09);color:var(--blue);flex:none;transition:.25s}
.mega-item:hover .mi-ic{background:var(--grad-vina);color:#fff;box-shadow:0 8px 18px rgba(16,185,129,.3)}
.mega-item.fl .mi-ic{background:rgba(109,74,255,.1);color:var(--violet)}
.mega-item.fl:hover .mi-ic{background:var(--grad-flora);box-shadow:0 8px 18px rgba(109,74,255,.3)}
.mega-item b{font-size:.88rem;font-weight:700;display:block}
.mega-item span{font-size:.75rem;color:var(--muted);display:block;line-height:1.7}
.mega-side{border-inline-start:1px dashed var(--line);padding-inline-start:24px;display:flex;flex-direction:column;gap:12px}
.mega-side .ms-img{border-radius:14px;overflow:hidden;position:relative;height:130px}
.mega-side .ms-img img{width:100%;height:100%;object-fit:cover;transition:.6s}
.mega-side:hover .ms-img img{transform:scale(1.07)}
.mega-side p{font-size:.78rem;color:var(--muted)}
.link-more{display:inline-flex;align-items:center;gap:7px;color:var(--blue);font-weight:700;font-size:.84rem}
.link-more .ic{width:16px;height:16px;transition:.25s}
.link-more:hover .ic{transform:translateX(-4px)}
.dr-head .logo-file{height:28px}.dr-head .logo-fallback{height:24px}
.ft-brand .logo-file{height:34px}.ft-brand .logo-fallback{height:28px}

/* ============ BUTTONS ============ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 26px;border-radius:13px;font-weight:700;font-size:.92rem;transition:.3s;position:relative;overflow:hidden;white-space:nowrap}
.btn .ic{width:18px;height:18px}
.btn-primary{background:var(--grad-vina);color:#fff;box-shadow:0 10px 24px rgba(16,185,129,.28)}
.btn-primary::after{content:"";position:absolute;top:0;bottom:0;width:40%;right:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(20deg);transition:.6s;pointer-events:none}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(16,185,129,.38)}
.btn-primary:hover::after{right:120%}
.btn-outline{background:#fff;border:1.6px solid var(--line);color:var(--ink)}
.btn-outline:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-3px);box-shadow:var(--sh1)}
.btn-white{background:#fff;color:var(--blue-d)}
.btn-white:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,0,0,.25)}
.btn-ghost-w{background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.35);color:#fff;backdrop-filter:blur(6px)}
.btn-ghost-w:hover{background:#fff;color:var(--blue-d);transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,0,0,.25)}
.btn-sm{padding:9px 18px;font-size:.83rem;border-radius:11px}

/* ============ SECTION HEAD ============ */
.sec-head{max-width:720px;margin-bottom:52px}
.sec-head.center{margin-inline:auto;text-align:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 15px;border-radius:999px;background:rgba(11,95,255,.08);color:var(--blue-d);font-size:.76rem;font-weight:700;margin-bottom:16px}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--blue);animation:pulse 2s infinite}
.eyebrow.vi{background:rgba(109,74,255,.09);color:var(--violet)}.eyebrow.vi::before{background:var(--violet)}
h1,h2,h3,h4{line-height:1.5;font-weight:800}
h2.sec-title{font-size:clamp(1.55rem,3.4vw,2.3rem);margin-bottom:14px}
.sec-lead{color:var(--muted);font-size:1rem}

/* ============ HERO ============ */
#home{padding:calc(var(--hh) + 64px) 0 84px;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:
  radial-gradient(700px 420px at 88% 8%,rgba(14,165,233,.10),transparent 60%),
  radial-gradient(600px 400px at 8% 90%,rgba(16,185,129,.09),transparent 60%);pointer-events:none}
.bg-grid{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:46px 46px;mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 30%,transparent 75%);opacity:.7;pointer-events:none}
#net,#net2{position:absolute;pointer-events:none;z-index:0}
#net{top:-30px;right:-50px;width:56%;height:74%}
#net2{bottom:-24px;left:-50px;width:50%;height:68%}
.hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center;position:relative;z-index:2}
.hero-badge{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 18px 7px 8px;box-shadow:var(--sh1);font-size:.78rem;font-weight:600;margin-bottom:22px}
.hero-badge .dot{width:26px;height:26px;border-radius:50%;background:var(--grad-vina);display:grid;place-items:center;color:#fff}
.hero-badge .dot .ic{width:14px;height:14px}
h1{font-size:clamp(1.9rem,4.6vw,3.15rem);font-weight:900;line-height:1.45;margin-bottom:20px}
h1 .hl{position:relative;display:inline-block}
h1 .hl span{position:relative;z-index:1;background:var(--grad-vina);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-lead{color:var(--muted);font-size:1.02rem;max-width:520px;margin-bottom:30px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px}
.hero-chips{display:flex;gap:10px;flex-wrap:wrap}
.hchip{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:600;color:#3c4c63;background:#fff;border:1px solid var(--line);padding:7px 14px;border-radius:999px;transition:.25s}
.hchip:hover{border-color:var(--cyan);color:var(--blue-d);transform:translateY(-2px)}
.hchip .ic{width:15px;height:15px;color:var(--green)}
.hero-vis{position:relative}
.frame{position:relative;border-radius:26px;overflow:hidden;box-shadow:var(--sh2);border:1px solid var(--line);aspect-ratio:16/10.4;background:#0c1a2b}
.frame>img{width:100%;height:100%;object-fit:cover;animation:kb 20s ease-in-out infinite alternate;filter:saturate(1.05)}
.frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,20,40,.18),transparent 35%,rgba(8,20,40,.35));pointer-events:none}
.scanline{position:absolute;right:0;left:0;height:74px;background:linear-gradient(180deg,transparent,rgba(0,229,255,.28),rgba(0,229,255,.55),rgba(0,229,255,.28),transparent);animation:scanY 5.5s ease-in-out infinite;pointer-events:none;mix-blend-mode:screen}
.cor{position:absolute;width:26px;height:26px;border:3px solid rgba(0,229,255,.9);pointer-events:none;z-index:3}
.cor.tl{top:14px;right:14px;border-left:none;border-bottom:none;border-radius:8px 0 0 0}
.cor.tr{top:14px;left:14px;border-right:none;border-bottom:none;border-radius:0 8px 0 0}
.cor.bl{bottom:14px;right:14px;border-left:none;border-top:none;border-radius:0 0 0 8px}
.cor.br{bottom:14px;left:14px;border-right:none;border-top:none;border-radius:0 0 8px 0}
.hud{position:absolute;border:1.6px solid rgba(0,229,255,.95);border-radius:8px;animation:hud 7s infinite;z-index:3;box-shadow:0 0 0 1px rgba(0,229,255,.15),0 0 22px rgba(0,229,255,.25) inset}
.hud .lb{position:absolute;top:-24px;right:-1px;background:rgba(0,229,255,.95);color:#04283a;font-size:.75rem;font-weight:800;padding:2px 9px;border-radius:6px 6px 6px 0;white-space:nowrap}
.hud.b2{border-color:rgba(255,255,255,.9);animation-delay:2.4s}
.hud.b2 .lb{background:#fff;color:#0c1a2b}
.live-chip{position:absolute;top:16px;right:16px;z-index:4;display:flex;align-items:center;gap:7px;background:rgba(6,18,36,.62);backdrop-filter:blur(6px);color:#fff;font-size:.75rem;font-weight:700;padding:5px 12px;border-radius:999px}
.live-chip i{width:8px;height:8px;border-radius:50%;background:var(--red);animation:blink 1.2s infinite}
.float-card{position:absolute;z-index:5;background:#fff;border-radius:15px;box-shadow:var(--sh2);padding:11px 15px;display:flex;align-items:center;gap:11px;font-size:.78rem;font-weight:700;animation:float 6s ease-in-out infinite;border:1px solid var(--line)}
.float-card small{display:block;font-size:.75rem;color:var(--muted);font-weight:500}
.float-card .fc-ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none}
.fc1{top:16px;left:44px;animation-delay:.4s}
.fc1 .fc-ic{background:rgba(16,185,129,.12);color:var(--green)}
.fc2{top:auto;bottom:16%;right:-30px;animation-delay:1.6s}
.fc2 .fc-ic{background:rgba(14,165,233,.1);color:var(--blue)}
.fc3{bottom:-24px;left:12%;animation-delay:2.6s}
.fc3 .fc-ic{background:rgba(245,158,11,.14);color:var(--amber)}
.plate-mini{direction:ltr;font-weight:800;font-size:.8rem;background:#fff;border:2px solid #12305e;border-radius:7px;padding:2px 8px;display:flex;gap:7px;align-items:center;color:#12224a}
.plate-mini b{background:#12305e;color:#fff;border-radius:4px;padding:0 6px;font-size:.75rem}
.stats{margin-top:64px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--sh1);display:grid;grid-template-columns:repeat(4,1fr);position:relative;overflow:hidden;z-index:2}
.stat{padding:32px 20px 28px;text-align:center;position:relative;transition:.35s cubic-bezier(.2,.7,.2,1)}
.stat+.stat{border-inline-start:1px solid var(--line)}
.stat::before{content:"";position:absolute;inset:0;background:radial-gradient(240px 130px at 50% 0%,rgba(14,165,233,.10),transparent 72%);opacity:0;transition:.35s;pointer-events:none}
.stat::after{content:"";position:absolute;top:0;right:22%;left:22%;height:3px;border-radius:0 0 6px 6px;background:var(--grad-vina);transform:scaleX(0);transition:.4s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.stat:hover{transform:translateY(-5px)}
.stat:hover::before{opacity:1}
.stat:hover::after{transform:scaleX(1)}
.stat .st-ic{width:46px;height:46px;margin:0 auto 12px;border-radius:14px;background:var(--bg2);color:var(--blue-d);display:grid;place-items:center;transition:.35s;position:relative}
.stat:hover .st-ic{background:var(--grad-vina);color:#fff;box-shadow:0 10px 22px rgba(16,185,129,.35);transform:translateY(-3px) rotate(-8deg)}
.stat b{font-size:2.5rem;font-weight:900;line-height:1.25;display:block;background:var(--grad-vina);-webkit-background-clip:text;background-clip:text;color:transparent;position:relative}
.stat>span{font-size:.84rem;color:var(--muted);font-weight:600;display:block;margin-top:4px;position:relative}

/* ============ DOMAINS ============ */
#domains{background:#fff}
.dom-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch}
.dom-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;transition:.45s cubic-bezier(.2,.7,.2,1);position:relative;box-shadow:0 6px 24px rgba(12,26,43,.05)}
.dom-card:hover{transform:translateY(-8px);box-shadow:var(--sh2);border-color:transparent}
.dom-media{position:relative;height:240px;flex:none}
.dom-zoom{position:absolute;inset:0;overflow:hidden}
.dom-zoom img{width:100%;height:100%;object-fit:cover;transition:.8s cubic-bezier(.2,.7,.2,1)}
.dom-card:hover .dom-zoom img{transform:scale(1.07)}
.dom-zoom::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(8,20,40,.46));pointer-events:none}
.dom-tag{position:absolute;top:16px;inset-inline-start:16px;z-index:2;font-family:var(--fe);font-size:.75rem;font-weight:700;letter-spacing:.22em;color:#fff;background:rgba(6,18,36,.55);backdrop-filter:blur(6px);padding:6px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.25)}
.dom-ic{position:absolute;bottom:-26px;inset-inline-start:26px;z-index:3;width:56px;height:56px;border-radius:17px;display:grid;place-items:center;color:#fff;box-shadow:0 14px 30px rgba(16,185,129,.35);transition:.4s cubic-bezier(.2,.7,.2,1)}
.dom-ic .ic{width:26px;height:26px}
.dom-card:hover .dom-ic{transform:translateY(-4px) rotate(-8deg);box-shadow:0 18px 36px rgba(16,185,129,.45)}
.dom-body{display:flex;flex-direction:column;flex:1;padding:44px 28px 26px}
.dom-body h3{font-size:1.3rem;margin-bottom:10px}
.dom-body>p{color:var(--muted);font-size:.92rem;margin-bottom:18px}
.dom-extra{margin-bottom:22px}
.dom-note{font-size:.78rem;color:var(--muted);margin-top:12px}
.dom-foot{margin-top:auto;padding-top:18px;border-top:1px dashed var(--line);display:flex}
.dom-cta{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:10px;padding:10px 14px 10px 12px;border-radius:14px;font-weight:800;font-size:.85rem;color:#fff;background:var(--grad-vina);box-shadow:0 10px 24px rgba(16,185,129,.30);transition:.35s cubic-bezier(.2,.7,.2,1)}
.dom-cta.flora{background:var(--grad-flora);box-shadow:0 10px 24px rgba(109,74,255,.30)}
.dom-cta::after{content:"";position:absolute;top:0;bottom:0;width:36%;right:-50%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(20deg);transition:.55s;pointer-events:none}
.dom-cta:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(16,185,129,.42)}
.dom-cta.flora:hover{box-shadow:0 16px 32px rgba(109,74,255,.42)}
.dom-cta:hover::after{right:130%}
.dom-cta .cta-ic{width:32px;height:32px;border-radius:10px;background:rgba(255,255,255,.2);display:grid;place-items:center;flex:none}
.dom-cta .cta-ic .ic{width:17px;height:17px}
.dom-cta .cta-ar{width:26px;height:26px;border-radius:50%;background:#fff;color:var(--blue-d);display:grid;place-items:center;flex:none;transition:.35s}
.dom-cta.flora .cta-ar{color:var(--violet)}
.dom-cta .cta-ar .ic{width:14px;height:14px}
.dom-cta:hover .cta-ar{transform:translateX(-4px)}
.v-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
html.js .v-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 6px 12px;background:var(--bg);border:1px solid var(--line);border-radius:14px;transition:.35s cubic-bezier(.2,.7,.2,1);overflow:hidden;text-align:center;opacity:0}
.v-tile:hover{transform:translateY(-4px);border-color:transparent;box-shadow:0 12px 26px rgba(14,165,233,.18);background:#fff}
.v-tile .vi{position:relative;width:40px;height:40px;border-radius:12px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:var(--blue-d);transition:.35s;overflow:hidden;flex:none}
.v-tile:hover .vi{background:var(--grad-vina);color:#fff;border-color:transparent;box-shadow:0 8px 18px rgba(16,185,129,.35)}
.v-tile .vi .ic{width:20px;height:20px}
.v-tile b{font-size:.75rem;font-weight:700;color:#33445c;line-height:1.6}
.v-tile::after{content:"";position:absolute;inset-inline:16%;bottom:0;height:2px;border-radius:2px;background:var(--grad-vina);transform:scaleX(0);transition:.35s;pointer-events:none}
.v-tile:hover::after{transform:scaleX(1)}
.vt-face .vi::after{content:"";position:absolute;left:16%;right:16%;height:2px;background:rgba(0,184,212,.85);top:20%;animation:viScan 2.6s ease-in-out infinite}
.vt-lpr .vi::after{content:"";position:absolute;top:0;bottom:0;width:34%;background:linear-gradient(90deg,transparent,rgba(0,184,212,.4),transparent);animation:viSweep 2.8s linear infinite}
.vt-rep .vi::after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:rgba(14,165,233,.6);top:5px;right:5px;animation:pulse 1.8s infinite}
.vt-vms .vi::after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:var(--red);top:5px;left:5px;animation:blink 1.4s infinite}
.vt-geo .vi::after{content:"";position:absolute;inset:4px;border:1.4px dashed rgba(14,165,233,.5);border-radius:9px;animation:spin 9s linear infinite}
.vt-fire .vi::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 72%,rgba(245,158,11,.4),transparent 62%);animation:fireGlow 1.6s ease-in-out infinite}
.flow-diagram{display:flex;align-items:center;flex-wrap:wrap;gap:8px;background:var(--bg);border:1px dashed var(--line);border-radius:16px;padding:14px}
.fd-sources{display:flex;flex-wrap:wrap;gap:6px}
html.js .fd-node{position:relative;font-size:.75rem;font-weight:800;background:#fff;border:1px solid var(--line);border-radius:9px;padding:6px 10px;color:#40506a;transition:.3s;opacity:0}
.fd-node::before{content:"";position:absolute;top:-3px;right:-3px;width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 3px rgba(0,184,212,.15);animation:pulse 2.2s infinite}
.fd-node:hover{transform:translateY(-3px);border-color:var(--violet);color:var(--violet);box-shadow:0 8px 16px rgba(109,74,255,.15)}
html.js .fd-link{position:relative;width:30px;height:2px;flex:none;opacity:0;
 background:repeating-linear-gradient(90deg,rgba(109,74,255,.65) 0 6px,transparent 6px 12px);
 animation:dashMove .9s linear infinite}
.fd-link::after{content:"";position:absolute;top:50%;left:0;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:var(--violet);box-shadow:0 0 8px rgba(109,74,255,.8);animation:packet 1.6s linear infinite}
html.js .fd-core{position:relative;font-size:.75rem;font-weight:800;color:#fff;background:var(--grad-flora);border-radius:10px;padding:7px 12px;box-shadow:0 6px 14px rgba(109,74,255,.3);opacity:0}
.fd-core::after{content:"";position:absolute;inset:-4px;border-radius:14px;border:1.5px solid rgba(109,74,255,.35);animation:ringPulse 2s ease-out infinite;pointer-events:none}
.fd-core.out{background:var(--grad-vina);box-shadow:0 6px 14px rgba(16,185,129,.3)}
.fd-core.out::after{border-color:rgba(16,185,129,.35)}
html.js .dom-card.in .v-tile,html.js .dom-card.in .fd-node,html.js .dom-card.in .fd-core{opacity:1;animation:popIn .5s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:var(--fd,0s)}
html.js .dom-card.in .fd-link{opacity:1;animation:popIn .5s cubic-bezier(.2,.7,.2,1) backwards,dashMove .9s linear infinite;animation-delay:var(--fd,0s),0s}
.sec-sep{display:flex;align-items:center;gap:16px;margin-top:84px}
.sec-sep span{flex:1;height:1px}
.sec-sep span:first-child{background:linear-gradient(90deg,var(--line),transparent)}
.sec-sep span:last-child{background:linear-gradient(90deg,transparent,var(--line))}
.sec-sep i{width:46px;height:46px;border-radius:15px;background:#fff;border:1px solid var(--line);box-shadow:var(--sh1);display:grid;place-items:center;color:var(--blue);font-style:normal;flex:none}
.sec-sep i .ic{width:20px;height:20px}
.pipe{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--bg);border:1px dashed var(--line);border-radius:14px;padding:13px 15px}
.pipe .nd{font-size:.75rem;font-weight:700;background:#fff;border:1px solid var(--line);border-radius:8px;padding:4px 10px}
.pipe .ar{color:var(--violet);display:flex}
.pipe .ar .ic{width:15px;height:15px}
.pipe .core{background:var(--grad-flora);color:#fff;border:none;box-shadow:0 6px 14px rgba(109,74,255,.3)}

/* ============ PLATFORMS ============ */
#platforms{background:
  radial-gradient(640px 320px at 92% 6%,rgba(14,165,233,.07),transparent 60%),
  radial-gradient(640px 320px at 8% 94%,rgba(109,74,255,.07),transparent 60%),var(--bg)}
.plat-wrap{display:grid;grid-template-columns:1fr 92px 1fr;align-items:stretch}
.plat{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:0 6px 24px rgba(12,26,43,.05);transition:.45s cubic-bezier(.2,.7,.2,1);position:relative}
.plat:hover{transform:translateY(-8px);box-shadow:var(--sh2);border-color:transparent}
.plat-top{display:flex;align-items:center;gap:16px;padding:26px 26px 20px;border-bottom:1px dashed var(--line);position:relative}
.plat-top::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(14,165,233,.05),transparent 55%);pointer-events:none}
.plat.flora .plat-top::before{background:linear-gradient(135deg,rgba(109,74,255,.05),transparent 55%)}
.plat-mono{position:relative;width:62px;height:62px;flex:none;border-radius:18px;display:grid;place-items:center;font-family:var(--fe);font-weight:700;font-size:1.9rem;color:#fff;background:var(--grad-vina);box-shadow:0 12px 26px rgba(16,185,129,.35)}
.plat.flora .plat-mono{background:var(--grad-flora);box-shadow:0 12px 26px rgba(109,74,255,.35)}
.plat-mono::after{content:"";position:absolute;inset:-5px;border-radius:22px;border:1.5px solid rgba(16,185,129,.3);animation:ringPulse 2.4s ease-out infinite;pointer-events:none}
.plat.flora .plat-mono::after{border-color:rgba(109,74,255,.3)}
.plat-tt{flex:1;position:relative}
.plat-en{font-family:var(--fe);font-size:.75rem;letter-spacing:.26em;color:var(--blue);font-weight:700}
.plat.flora .plat-en{color:var(--violet)}
.plat-tt h3{font-size:1.45rem;margin:2px 0 4px}
.plat-tt p{font-size:.82rem;color:var(--muted)}
.plat-count{position:relative;flex:none;text-align:center;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:8px 14px;line-height:1.5}
.plat-count b{display:block;font-size:1.25rem;font-weight:900;color:var(--blue-d)}
.plat.flora .plat-count b{color:var(--violet)}
.plat-count span{font-size:.75rem;color:var(--muted);font-weight:700}
.plat-vis{padding:8px 26px 0;position:relative}
.plat-vis .vwall{margin-top:10px}
.plat-cap{display:flex;align-items:center;gap:8px;font-size:.75rem;font-weight:700;color:var(--muted);margin:12px 26px 0}
.plat-cap::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cyan);animation:pulse 2s infinite;flex:none}
.plat.flora .plat-cap::before{background:var(--magenta)}
.plat-foot{margin-top:auto;padding:18px 26px 24px;border-top:1px dashed var(--line);display:flex}
.vwall{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
html.js .vw-tile{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:7px;padding:16px 6px 12px;border-radius:14px;background:linear-gradient(150deg,#132c4d,#0b1a30);border:1px solid rgba(255,255,255,.09);transition:.35s cubic-bezier(.2,.7,.2,1);opacity:0}
.vw-tile::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.03) 3px 4px);pointer-events:none}
.vw-tile:hover{transform:translateY(-4px);border-color:rgba(0,229,255,.55);box-shadow:0 14px 28px rgba(8,20,40,.35)}
.vw-cam{position:absolute;top:7px;right:9px;font-family:var(--fe);font-size:.75rem;letter-spacing:.14em;color:#9fc3ff}
.vw-rec{position:absolute;top:8px;left:9px;width:7px;height:7px;border-radius:50%;background:var(--red);animation:blink 1.4s infinite;animation-delay:var(--rd,0s)}
.vw-ic{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);display:grid;place-items:center;color:#7dd3fc;transition:.35s}
.vw-tile:hover .vw-ic{background:var(--grad-vina);color:#fff;border-color:transparent;box-shadow:0 8px 18px rgba(16,185,129,.4)}
.vw-ic .ic{width:20px;height:20px}
.vw-tile b{font-size:.75rem;font-weight:700;color:#dbeafe;line-height:1.6;text-align:center}
.vw-scan{position:absolute;right:8%;left:8%;height:2px;background:rgba(0,229,255,.85);box-shadow:0 0 12px rgba(0,229,255,.7);top:20%;opacity:0;pointer-events:none}
.vw-tile:hover .vw-scan{opacity:1;animation:viScan 1.6s ease-in-out infinite}
.orbit-wrap{position:relative;height:236px;margin:20px 4px 22px}
html.js .orbit-track{position:absolute;left:9%;right:9%;top:15%;bottom:15%;border:1.5px dashed rgba(109,74,255,.35);border-radius:26px;opacity:0;transition:opacity .7s ease .15s;pointer-events:none}
.orbit-track::before,.orbit-track::after{content:"";position:absolute;width:24px;height:24px;border:2px solid rgba(109,74,255,.3);border-radius:8px}
.orbit-track::before{top:-12px;right:-12px;border-left:none;border-bottom:none}
.orbit-track::after{bottom:-12px;left:-12px;border-right:none;border-top:none}
html.js .orbit-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;background:var(--grad-flora);color:#fff;font-weight:800;font-size:.86rem;padding:12px 22px;border-radius:16px;box-shadow:0 12px 28px rgba(109,74,255,.4);text-align:center;opacity:0;transition:opacity .6s ease .3s}
.orbit-core::after{content:"";position:absolute;inset:-6px;border-radius:20px;border:1.5px solid rgba(109,74,255,.35);animation:ringPulse 2.2s ease-out infinite;pointer-events:none}
.orbit-core small{display:block;font-size:.75rem;font-weight:600;opacity:.85}
html.js .onode{position:absolute;width:0;height:0;z-index:3;opacity:0;transition:opacity .6s ease;transition-delay:var(--fd,0s);
 animation:orbX 18s infinite,orbY 18s infinite;animation-delay:var(--od,0s),var(--od,0s)}
html.js .onode-in{position:absolute;left:0;top:0;transform:translate(-50%,-50%);width:70px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 6px;font-size:.75rem;font-weight:800;color:#40506a;transition:.3s;box-shadow:0 4px 12px rgba(12,26,43,.10);white-space:nowrap;opacity:0}
.onode-in:hover{border-color:var(--violet);color:var(--violet);transform:translate(-50%,-50%) scale(1.12);box-shadow:0 8px 18px rgba(109,74,255,.25)}
html.js .orbit-pkt{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--magenta);box-shadow:0 0 12px rgba(192,38,211,.9);z-index:2;transform:translate(-50%,-50%);opacity:0;transition:opacity .6s ease .8s;
 animation:orbX 18s infinite,orbY 18s infinite;animation-delay:-3.6s,-3.6s;pointer-events:none}
html.js .plat.in .orbit-track,html.js .plat.in .orbit-core,html.js .plat.in .orbit-pkt,html.js .plat.in .onode{opacity:1}
html.js .plat.in .onode-in{opacity:1;animation:popC .5s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:var(--fd,0s)}
html.js .plat.in .vw-tile,html.js .plat.in .out-pill{opacity:1;animation:popIn .5s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:var(--fd,0s)}
.out-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 26px 24px}
html.js .out-pill{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1.5px solid var(--line);border-radius:14px;background:#fff;font-weight:800;font-size:.75rem;line-height:1.6;color:#33445c;transition:.3s;position:relative;overflow:hidden;opacity:0}
.out-pill .op-ic{width:30px;height:30px;border-radius:9px;background:rgba(109,74,255,.1);color:var(--violet);display:grid;place-items:center;flex:none;transition:.3s}
.out-pill .op-ic .ic{width:16px;height:16px}
.out-pill .op-ar{margin-inline-start:auto;width:24px;height:24px;border-radius:50%;background:var(--bg2);color:var(--violet);display:grid;place-items:center;flex:none;transition:.3s}
.out-pill .op-ar .ic{width:13px;height:13px}
.out-pill:hover{border-color:transparent;background:var(--grad-flora);color:#fff;transform:translateY(-3px);box-shadow:0 12px 26px rgba(109,74,255,.35)}
.out-pill:hover .op-ic{background:rgba(255,255,255,.2);color:#fff}
.out-pill:hover .op-ar{background:#fff;color:var(--violet);transform:translateX(-3px)}
.plat-bridge{display:flex;flex-direction:column;align-items:center;gap:12px;padding:10px 0}
.pb-line{flex:1;width:2px;border-radius:2px;background:linear-gradient(180deg,transparent,rgba(14,165,233,.35),rgba(16,185,129,.35),transparent)}
.pb-badge{width:58px;height:58px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:var(--sh1);display:grid;place-items:center;color:var(--blue);position:relative;flex:none}
.pb-badge::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1.5px solid rgba(14,165,233,.25);animation:ringPulse 2.6s ease-out infinite;pointer-events:none}
.pb-badge .ic{width:22px;height:22px}
.pb-txt{font-size:.75rem;font-weight:800;color:var(--muted);text-align:center;line-height:1.8;flex:none}

/* ============ PRODUCTS ============ */
#products{background:#fff}
.pd-wrap{display:grid;grid-template-columns:330px 1fr;gap:26px;align-items:start}
.p-aside{position:sticky;top:calc(var(--hh) + 18px);display:flex;flex-direction:column;gap:12px;background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:14px;max-height:calc(100vh - var(--hh) - 40px);overflow:auto;scrollbar-width:thin}
.p-aside::-webkit-scrollbar{width:6px}
.p-aside::-webkit-scrollbar-thumb{background:#c3cfdf;border-radius:6px}
.seg{display:flex;background:#fff;border:1px solid var(--line);border-radius:14px;padding:5px;gap:4px}
.seg button{flex:1;flex-direction:column;align-items:center;gap:3px;padding:10px 8px;border-radius:10px;font-weight:800;color:var(--muted);transition:.3s;display:flex}
.seg-t{font-family:var(--fe);font-size:1.02rem;font-weight:700;letter-spacing:.1em;line-height:1.25}
.seg-s{font-size:.75rem;font-weight:700;line-height:1.4;opacity:.9}
.seg button.on{background:var(--grad-vina);color:#fff;box-shadow:0 8px 18px rgba(16,185,129,.3)}
.seg button.on .seg-s{color:rgba(255,255,255,.85)}
.seg button.on.f{background:var(--grad-flora);box-shadow:0 8px 18px rgba(109,74,255,.3)}
.p-list{display:flex;flex-direction:column;gap:8px}
.p-aside-foot{display:flex;gap:7px;align-items:center;font-size:.75rem;color:var(--muted);padding:4px 6px 2px;border-top:1px dashed var(--line)}
.p-aside-foot .ic{width:14px;height:14px;color:var(--cyan);flex:none}
.p-item{text-align:right;background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px 14px;display:flex;gap:11px;align-items:center;transition:.3s;position:relative;overflow:hidden}
.p-item::before{content:"";position:absolute;right:0;top:0;bottom:0;width:4px;background:var(--grad-vina);transform:scaleY(0);transition:.3s;transform-origin:bottom;pointer-events:none}
.p-item.fl::before{background:var(--grad-flora)}
.p-item:hover{border-color:rgba(14,165,233,.4);transform:translateX(-4px);box-shadow:var(--sh1)}
.p-item.on{border-color:transparent;box-shadow:var(--sh1);background:linear-gradient(#fff,#fff) padding-box,var(--grad-vina) border-box;border:1.6px solid transparent}
.p-item.on::before{transform:scaleY(1)}
.p-item .pi-ic{width:40px;height:40px;border-radius:12px;background:var(--bg2);color:var(--blue-d);display:grid;place-items:center;flex:none;transition:.35s}
.p-item.on .pi-ic,.p-item:hover .pi-ic{background:var(--grad-vina);color:#fff;transform:rotate(-8deg)}
.p-item.fl .pi-ic{color:var(--violet)}
.p-item.fl.on .pi-ic,.p-item.fl:hover .pi-ic{background:var(--grad-flora);color:#fff}
.p-item b{font-size:.84rem;font-weight:700;display:block;line-height:1.6}
.p-item small{color:var(--muted);font-size:.75rem;display:block;line-height:1.6}
.p-detail{background:var(--bg);border:1px solid var(--line);border-radius:24px;padding:34px;min-height:520px}
.p-detail.anim{animation:pdIn .5s cubic-bezier(.2,.7,.2,1)}
@keyframes pdIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.pd-anim{animation:popIn .55s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:var(--fd,0s)}
.pd-plat{display:flex;align-items:center;gap:10px;font-size:.75rem;font-weight:800;color:var(--blue-d);background:linear-gradient(to left,rgba(14,165,233,.09),transparent 65%);border-inline-start:3px solid var(--blue);border-radius:10px;padding:8px 14px;margin-bottom:20px}
.pd-plat .en{margin-inline-start:auto;font-size:.75rem;letter-spacing:.2em;color:var(--muted)}
.pd-plat.fl{color:var(--violet);background:linear-gradient(to left,rgba(109,74,255,.09),transparent 65%);border-inline-start-color:var(--violet)}
.pd-top{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:center;margin-bottom:26px}
.pd-badge{font-family:var(--fe);font-size:.75rem;font-weight:700;letter-spacing:.24em;color:#fff;padding:4px 12px;border-radius:8px;display:inline-block;margin-bottom:10px}
.pd-badge.vina{background:var(--grad-vina)}.pd-badge.flora{background:var(--grad-flora)}
.pd-intro h3{font-size:1.35rem;margin-bottom:12px}
.pd-intro p{color:var(--muted);font-size:.9rem;margin-bottom:10px}
.m-label{display:flex;align-items:center;gap:7px;font-size:.75rem;font-weight:800;color:var(--violet);margin:8px 0 10px}
.m-label::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--magenta);animation:pulse 2s infinite}
.pd-block{margin-bottom:26px}
.pd-block h4{font-size:1rem;margin-bottom:14px;display:flex;align-items:center;gap:9px}
.pd-block h4::before{content:"";width:5px;height:19px;border-radius:4px;background:var(--grad-vina)}
.fl-mode .pd-block h4::before{background:var(--grad-flora)}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 20px}
.check-grid li{position:relative;padding:8px 30px 8px 12px;background:#fff;border:1px solid var(--line);border-radius:11px;font-size:.83rem;font-weight:600;transition:.25s}
.check-grid li::before{content:"✓";position:absolute;right:9px;top:7px;width:17px;height:17px;border-radius:6px;background:rgba(16,185,129,.14);color:var(--green);font-size:.75rem;font-weight:900;display:grid;place-items:center}
.check-grid li:hover{border-color:rgba(16,185,129,.5);transform:translateY(-2px);box-shadow:var(--sh1)}
.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.benefit-grid li{background:linear-gradient(135deg,rgba(14,165,233,.06),rgba(16,185,129,.06));border:1px solid rgba(14,165,233,.16);border-radius:12px;padding:11px 14px;font-size:.8rem;font-weight:700;color:var(--blue-d);transition:.25s}
.benefit-grid li:hover{transform:translateY(-3px);box-shadow:var(--sh1)}
.x-list{display:grid;grid-template-columns:1fr 1fr;gap:9px 20px}
.x-list li{position:relative;padding:8px 30px 8px 12px;background:#fff;border:1px solid var(--line);border-radius:11px;font-size:.82rem;color:#5a4a2a;font-weight:600}
.x-list li::before{content:"!";position:absolute;right:9px;top:7px;width:17px;height:17px;border-radius:6px;background:rgba(245,158,11,.16);color:var(--amber);font-size:.75rem;font-weight:900;display:grid;place-items:center}
.faq{display:flex;flex-direction:column;gap:10px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;transition:.3s}
.faq-item.open{border-color:rgba(14,165,233,.4);box-shadow:var(--sh1)}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 18px;font-weight:700;font-size:.88rem;text-align:right;transition:.25s}
.faq-q:hover{background:var(--bg2)}
.faq-q .ic{width:17px;height:17px;color:var(--blue);transition:.35s;flex:none}
.faq-item.open .faq-q .ic{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.2,.7,.2,1)}
.faq-a p{padding:0 18px 16px;color:var(--muted);font-size:.85rem}
.pd-cta{display:flex;gap:12px;flex-wrap:wrap;padding-top:8px;border-top:1px dashed var(--line);margin-top:6px}
/* demos */
.demo{background:#0e2036;border-radius:18px;position:relative;overflow:hidden;min-height:250px;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.demo::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:26px 26px;pointer-events:none}
.demo svg{width:100%;height:100%;position:relative}
.demo .swp{position:absolute;top:0;bottom:0;width:34%;background:linear-gradient(90deg,transparent,rgba(0,229,255,.22),transparent);animation:sweepX 3.4s linear infinite;pointer-events:none}
.d-face .scan{animation:scanY 3.6s ease-in-out infinite}
.d-plate{background:linear-gradient(160deg,#0e2036,#12305e)}
.plate-big{direction:ltr;display:flex;align-items:stretch;background:#fff;border:3px solid #12305e;border-radius:12px;overflow:hidden;box-shadow:0 16px 40px rgba(0,0,0,.4);position:relative}
.plate-big .pn{font-size:1.7rem;font-weight:900;color:#12224a;padding:10px 20px;letter-spacing:.04em;display:flex;align-items:center;gap:6px}
.plate-big .pc{background:#12305e;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 12px;font-size:.75rem;font-weight:800;gap:2px}
.plate-big .pc b{font-size:.95rem}
.d-plate .ok{position:absolute;bottom:26px;display:flex;gap:8px;align-items:center;color:#7ef0c0;font-size:.78rem;font-weight:700;background:rgba(16,185,129,.14);border:1px solid rgba(16,185,129,.4);padding:6px 14px;border-radius:999px}
.flow{stroke-dasharray:6 7;animation:dash 1s linear infinite}
.d-stream{min-height:400px}
.d-stream svg{max-height:430px}
.d-cdp2{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;padding:24px 18px;align-items:center;min-height:250px}
.cdp-col{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.cdp-cap{font-size:.75rem;font-weight:800;color:#8ea3c8;text-align:center;margin-bottom:2px}
.cdp-col span:not(.cdp-cap){font-size:.75rem;font-weight:800;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#e6defc;border-radius:9px;padding:6px 10px;text-align:center;transition:.3s}
.cdp-col span:not(.cdp-cap):hover{border-color:rgba(199,167,255,.6);transform:translateY(-2px);background:rgba(255,255,255,.12)}
.cdp-col.outs span:not(.cdp-cap){background:rgba(14,165,233,.12);border-color:rgba(14,165,233,.3);color:#cfe6ff}
.cdp-col.outs span:not(.cdp-cap):hover{border-color:rgba(125,211,252,.7);background:rgba(14,165,233,.2)}
.cdp-mid{display:flex;align-items:center;flex:none}
.cdp-wire{position:relative;width:34px;height:2px;flex:none;background:repeating-linear-gradient(90deg,rgba(199,167,255,.5) 0 6px,transparent 6px 12px);animation:dashMove .9s linear infinite}
.cdp-wire i{position:absolute;top:50%;margin-top:-2.5px;width:5px;height:5px;border-radius:50%;background:var(--magenta);box-shadow:0 0 8px rgba(192,38,211,.9);animation:packet 1.6s linear infinite}
.cdp-core2{position:relative;background:var(--grad-flora);color:#fff;font-weight:900;font-size:1.05rem;padding:16px 18px;border-radius:16px;text-align:center;box-shadow:0 12px 28px rgba(109,74,255,.45);flex:none}
.cdp-core2 small{display:block;font-size:.75rem;font-weight:600;opacity:.85}
.cdp-core2::after{content:"";position:absolute;inset:-6px;border-radius:20px;border:1.5px solid rgba(109,74,255,.35);animation:ringPulse 2.2s ease-out infinite;pointer-events:none}
.d-vms{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:16px;place-items:stretch}
.vtile{background:linear-gradient(140deg,#132c4d,#0b1a30);border-radius:10px;position:relative;overflow:hidden;min-height:86px;border:1px solid rgba(255,255,255,.09)}
.vtile span{position:absolute;bottom:7px;right:9px;font-family:var(--fe);font-size:.75rem;color:#9fc3ff;letter-spacing:.14em}
.vtile i{position:absolute;top:8px;left:9px;width:8px;height:8px;border-radius:50%;background:var(--red);animation:blink 1.4s infinite}
.vtile::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.025) 3px 4px);pointer-events:none}
.vtile.al{outline:2px solid var(--amber);outline-offset:-2px}
.vms-tl{grid-column:1/-1;height:8px;border-radius:6px;background:rgba(255,255,255,.1);position:relative;overflow:hidden}
.vms-tl::after{content:"";position:absolute;top:0;bottom:0;width:16%;background:var(--grad-vina);border-radius:6px;animation:sweepX 4s linear infinite}
.d-fire{background:linear-gradient(170deg,#1a1226,#2b1220)}
.flame-wrap{position:relative;width:120px;height:130px}
.flame{position:absolute;inset:0;background:radial-gradient(circle at 50% 78%,#ffd166 0 14%,#ff8f3d 34%,#ef4444 62%,transparent 74%);filter:blur(1px);animation:flame 1.1s ease-in-out infinite;border-radius:50% 50% 46% 46%}
.smoke{position:absolute;width:16px;height:16px;border-radius:50%;background:rgba(200,200,210,.35);filter:blur(4px);animation:rise 2.6s infinite}
.smoke.s2{animation-delay:1.2s;inset-inline-start:34px}
.smoke.s3{animation-delay:.6s;inset-inline-start:66px}
.alert-badge{position:absolute;top:18px;inset-inline-start:18px;display:flex;gap:8px;align-items:center;background:rgba(239,68,68,.16);border:1px solid rgba(239,68,68,.55);color:#ffb4b4;font-family:var(--fe);font-size:.75rem;font-weight:700;letter-spacing:.12em;padding:6px 13px;border-radius:999px}
.alert-badge i{width:8px;height:8px;border-radius:50%;background:var(--red);animation:blink 1s infinite}
.d-prof{background:linear-gradient(160deg,#171233,#241040)}
.donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(#0ea5e9 0 34%,#10b981 34% 58%,#6d4aff 58% 81%,#f59e0b 81% 100%);-webkit-mask:radial-gradient(circle,transparent 52%,#000 53%);mask:radial-gradient(circle,transparent 52%,#000 53%);animation:spin 22s linear infinite}
.d-prof .ctr{position:absolute;font-weight:900;color:#fff;font-size:.86rem;text-align:center;line-height:1.6}
.d-prof .lg{position:absolute;bottom:16px;display:flex;gap:7px;flex-wrap:wrap;justify-content:center;padding-inline:14px}
.d-prof .lg span{font-size:.75rem;color:#d9d2ff;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);padding:3px 10px;border-radius:999px}

/* ============ SOLUTIONS ============ */
#solutions{background:linear-gradient(180deg,var(--bg),#fff)}
.sol-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:22px}
.sol{grid-column:span 3;background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;display:flex;flex-direction:column;gap:14px;transition:.4s cubic-bezier(.2,.7,.2,1);position:relative;overflow:hidden}
.sol.wide{grid-column:span 6;background:linear-gradient(160deg,#ffffff 0%,#f2faf7 100%)}
.sol.wide::before{content:"";position:absolute;top:0;right:0;left:0;height:3px;background:var(--grad-vina);pointer-events:none}
.sol::after{content:"";position:absolute;inset:0;background:radial-gradient(400px 200px at 90% 0%,rgba(14,165,233,.07),transparent 65%);opacity:0;transition:.4s;pointer-events:none}
.sol:hover{transform:translateY(-8px);box-shadow:var(--sh2);border-color:transparent}
.sol:hover::after{opacity:1}
.sol-head{display:flex;align-items:center;gap:14px}
.sol-ic{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;color:#fff;box-shadow:0 12px 26px rgba(16,185,129,.28);transition:.4s;flex:none}
.sol.wide .sol-ic{width:60px;height:60px;border-radius:17px}
.sol:hover .sol-ic{transform:rotate(-8deg) scale(1.08)}
.sol-ic .ic{width:26px;height:26px}
.sol-head h3{font-size:1.05rem;line-height:1.6;flex:1}
.sol.wide .sol-head h3{font-size:1.2rem}
.sol-head h3 small{display:block;font-family:var(--fe);font-size:.75rem;color:var(--muted);letter-spacing:.14em;font-weight:600;margin-top:2px}
.cap-count{flex:none;font-size:.75rem;font-weight:800;color:var(--blue-d);background:rgba(14,165,233,.08);border:1px solid rgba(14,165,233,.15);border-radius:999px;padding:4px 10px;white-space:nowrap}
.sol>p{color:var(--muted);font-size:.85rem}
.sol.wide>p{max-width:820px}
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 12px;margin:0}
.sol.wide .cap-grid{grid-template-columns:repeat(4,1fr)}
.cap-grid li{position:relative;padding:8px 30px 8px 10px;background:var(--bg);border:1px solid var(--line);border-radius:11px;font-size:.75rem;font-weight:600;color:#33445c;line-height:1.7;transition:.25s}
.sol.wide .cap-grid li{background:#fff}
.cap-grid li::before{content:"✓";position:absolute;right:9px;top:9px;width:16px;height:16px;border-radius:5px;background:rgba(16,185,129,.14);color:var(--green);font-size:.75rem;font-weight:900;display:grid;place-items:center}
.cap-grid li:hover{transform:translateY(-2px);border-color:rgba(16,185,129,.45);box-shadow:var(--sh1);background:#fff}
.sol.in .cap-grid li{animation:popIn .45s cubic-bezier(.2,.7,.2,1) backwards}
.sol.in .cap-grid li:nth-child(1){animation-delay:.04s}.sol.in .cap-grid li:nth-child(2){animation-delay:.08s}
.sol.in .cap-grid li:nth-child(3){animation-delay:.12s}.sol.in .cap-grid li:nth-child(4){animation-delay:.16s}
.sol.in .cap-grid li:nth-child(5){animation-delay:.2s}.sol.in .cap-grid li:nth-child(6){animation-delay:.24s}
.sol.in .cap-grid li:nth-child(7){animation-delay:.28s}.sol.in .cap-grid li:nth-child(8){animation-delay:.32s}
.sol.in .cap-grid li:nth-child(9){animation-delay:.36s}.sol.in .cap-grid li:nth-child(10){animation-delay:.4s}
.sol.in .cap-grid li:nth-child(11){animation-delay:.44s}.sol.in .cap-grid li:nth-child(12){animation-delay:.48s}
.sol.in .cap-grid li:nth-child(13){animation-delay:.52s}
.sol-links{display:flex;gap:10px;flex-wrap:wrap}
.sol-cta{margin-top:auto;display:flex;align-items:center;gap:10px;width:100%;padding:11px 14px;border-radius:14px;border:1.5px solid var(--line);background:#fff;font-weight:800;font-size:.8rem;color:#33445c;transition:.35s;position:relative;overflow:hidden}
.sol-cta .sc-ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--bg2);color:var(--blue-d);flex:none;transition:.35s}
.sol-cta .sc-ic .ic{width:16px;height:16px}
.sol-cta .sc-ar{margin-inline-start:auto;width:26px;height:26px;border-radius:50%;background:var(--bg2);color:var(--blue-d);display:grid;place-items:center;flex:none;transition:.35s}
.sol-cta .sc-ar .ic{width:13px;height:13px}
.sol-cta:hover{color:#fff;border-color:transparent;background:var(--grad-vina);box-shadow:0 12px 26px rgba(16,185,129,.35);transform:translateY(-3px)}
.sol-cta:hover .sc-ic,.sol-cta:hover .sc-ar{background:rgba(255,255,255,.2);color:#fff}
.sol-cta:hover .sc-ar{transform:translateX(-4px)}
.sol[data-g="g4"] .sol-cta:hover{background:var(--grad-flora);box-shadow:0 12px 26px rgba(109,74,255,.35)}
.sol[data-g="g4"] .sc-ic,.sol[data-g="g4"] .sc-ar{background:rgba(109,74,255,.1);color:var(--violet)}
.sol[data-g="g4"] .cap-count{color:var(--violet);background:rgba(109,74,255,.08);border-color:rgba(109,74,255,.15)}
.g1,.g2{background:var(--grad-vina)}.g3{background:linear-gradient(135deg,#f59e0b,#ef4444)}.g4{background:linear-gradient(135deg,#6d4aff,#c026d3)}.g5{background:linear-gradient(135deg,#0f2b5b,#0b5fff)}
.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.chip{font-size:.75rem;font-weight:600;padding:6px 13px;border-radius:999px;background:var(--bg2);color:#40506a;border:1px solid var(--line);transition:.25s}

/* ============ INDUSTRIES ============ */
#industries{background:var(--bg)}
.ind-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
html.js .ind-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px 10px 18px;background:#fff;border:1px solid var(--line);border-radius:16px;transition:.35s cubic-bezier(.2,.7,.2,1);overflow:hidden;opacity:0}
.ind-tile .it-ic{width:44px;height:44px;border-radius:13px;background:var(--bg2);color:var(--blue-d);display:grid;place-items:center;transition:.35s;flex:none}
.ind-tile .it-ic .ic{width:22px;height:22px}
.ind-tile b{font-size:.78rem;font-weight:700;color:#33445c;text-align:center;line-height:1.6}
.ind-tile .it-dot{position:absolute;top:10px;left:10px;width:7px;height:7px;border-radius:50%;background:var(--cyan);animation:blink 1.8s infinite;animation-delay:var(--rd,0s)}
.ind-tile::after{content:"";position:absolute;inset-inline:18%;bottom:0;height:2px;border-radius:2px;background:var(--grad-vina);transform:scaleX(0);transition:.35s;pointer-events:none}
.ind-tile:hover{transform:translateY(-5px);box-shadow:var(--sh1);border-color:transparent}
.ind-tile:hover .it-ic{background:var(--grad-vina);color:#fff;transform:rotate(-8deg)}
.ind-tile:hover::after{transform:scaleX(1)}
html.js .rv.in .ind-tile{opacity:1;animation:popIn .5s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:var(--fd,0s)}

/* ============ ABOUT ============ */
#about{background:#fff}
.about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:60px;align-items:center}
.collage{position:relative;padding-bottom:44px}
.collage::before{content:"";position:absolute;top:-34px;inset-inline-end:-34px;width:150px;height:150px;border:2px dashed rgba(14,165,233,.25);border-radius:50%;animation:spin 34s linear infinite;pointer-events:none}
.collage .img-main{border-radius:26px;overflow:hidden;box-shadow:var(--sh2);position:relative;z-index:1}
.collage .img-main img{height:400px;object-fit:cover;width:100%;transition:.7s}
.collage:hover .img-main img{transform:scale(1.05)}
.collage .img-sub{position:absolute;bottom:0;inset-inline-start:-16px;width:46%;border-radius:20px;overflow:hidden;border:6px solid #fff;box-shadow:var(--sh2);z-index:2}
.collage .img-sub img{height:170px;object-fit:cover;width:100%}
.collage .exp{position:absolute;top:-20px;inset-inline-end:-14px;z-index:3;background:#fff;border-radius:16px;box-shadow:var(--sh2);padding:14px 20px;text-align:center;border:1px solid var(--line)}
.collage .exp b{font-size:1.5rem;font-weight:900;color:var(--blue-d);display:block;line-height:1.4}
.collage .exp span{font-size:.75rem;color:var(--muted);font-weight:700}
.about-id-chips{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}
.id-chip{display:flex;gap:8px;align-items:center;font-size:.75rem;font-weight:800;color:var(--blue-d);background:rgba(14,165,233,.07);border:1px solid rgba(14,165,233,.16);border-radius:999px;padding:7px 14px;transition:.25s}
.id-chip:hover{transform:translateY(-2px);box-shadow:var(--sh1);background:#fff}
.id-chip .ic{width:15px;height:15px}
.id-chip.vi{color:var(--violet);background:rgba(109,74,255,.07);border-color:rgba(109,74,255,.16)}
.about-copy p{color:var(--muted);font-size:.95rem;margin-bottom:16px}
.vm{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}
.vm-card{position:relative;background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:20px;transition:.3s;overflow:hidden}
.vm-card::before{content:"";position:absolute;top:0;right:0;left:0;height:3px;background:var(--grad-vina);transform:scaleX(0);transition:.4s;transform-origin:right;pointer-events:none}
.vm-card.vi::before{background:var(--grad-flora)}
.vm-card:hover{transform:translateY(-5px);box-shadow:var(--sh1);border-color:rgba(14,165,233,.35);background:#fff}
.vm-card:hover::before{transform:scaleX(1)}
.vm-card .ic{width:24px;height:24px;color:var(--blue);margin-bottom:10px}
.vm-card.vi .ic{color:var(--violet)}
.vm-card h4{font-size:.95rem;margin-bottom:8px}
.vm-card p{font-size:.8rem;margin:0;color:var(--muted)}
.val-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.val-grid li{position:relative;padding:9px 32px 9px 12px;background:var(--bg);border:1px solid var(--line);border-radius:12px;font-size:.8rem;font-weight:600;color:#33445c;line-height:1.7;transition:.25s}
.val-grid li::before{content:"✓";position:absolute;right:10px;top:10px;width:17px;height:17px;border-radius:6px;background:rgba(16,185,129,.14);color:var(--green);font-size:.75rem;font-weight:900;display:grid;place-items:center}
.val-grid li:hover{transform:translateY(-2px);border-color:rgba(16,185,129,.45);background:#fff;box-shadow:var(--sh1)}
html.js .rv.in .val-grid li{animation:popIn .45s cubic-bezier(.2,.7,.2,1) backwards}
.rv.in .val-grid li:nth-child(1){animation-delay:.05s}.rv.in .val-grid li:nth-child(2){animation-delay:.1s}
.rv.in .val-grid li:nth-child(3){animation-delay:.15s}.rv.in .val-grid li:nth-child(4){animation-delay:.2s}
.rv.in .val-grid li:nth-child(5){animation-delay:.25s}.rv.in .val-grid li:nth-child(6){animation-delay:.3s}
.quote-band{margin-top:70px;background:linear-gradient(135deg,rgba(14,165,233,.06),rgba(16,185,129,.06));border:1px solid rgba(14,165,233,.14);border-radius:26px;padding:44px 48px;display:flex;gap:30px;align-items:center;position:relative;overflow:hidden}
.quote-band::before{content:"”";position:absolute;top:-30px;inset-inline-start:26px;font-size:9rem;color:rgba(14,165,233,.12);font-weight:900;line-height:1;pointer-events:none}
.quote-band p{font-size:1.12rem;font-weight:700;line-height:2;position:relative}
.quote-band .qb-ic{width:64px;height:64px;flex:none;border-radius:18px;background:var(--grad-brand);color:#fff;display:grid;place-items:center;box-shadow:0 14px 30px rgba(11,95,255,.3)}
.quote-band .qb-ic .ic{width:30px;height:30px}

/* ============ EXPERIENCE BAND ============ */
.exp-band{background:linear-gradient(120deg,#0a2a5e,#0891b2 55%,#10b981);color:#fff;padding:88px 0;position:relative;overflow:hidden}
.exp-band::before{content:"";position:absolute;inset:-60%;background:repeating-linear-gradient(115deg,rgba(255,255,255,.06) 0 2px,transparent 2px 26px);animation:stripeMove 18s linear infinite;pointer-events:none}
.exp-in{display:grid;grid-template-columns:1.05fr 1fr;gap:44px;align-items:center;position:relative}
.exp-in .eyebrow{background:rgba(255,255,255,.14);color:#fff}
.exp-in .eyebrow::before{background:#7ef0c0}
.exp-in h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:12px}
.exp-in .txt>p{opacity:.92;font-size:.95rem;max-width:560px}
.exp-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.exp-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
html.js .exp-card{position:relative;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:18px;padding:18px 16px;display:flex;flex-direction:column;gap:10px;transition:.35s cubic-bezier(.2,.7,.2,1);opacity:0}
.exp-card .ec-ic{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.16);display:grid;place-items:center;color:#fff;transition:.35s;flex:none}
.exp-card .ec-ic .ic{width:21px;height:21px}
.exp-card b{font-size:.9rem;font-weight:800;color:#fff;transition:.25s}
.exp-card span{font-size:.75rem;color:rgba(255,255,255,.78);line-height:1.7;transition:.25s}
.exp-card:hover{background:#fff;transform:translateY(-5px);box-shadow:0 18px 36px rgba(4,20,40,.35)}
.exp-card:hover .ec-ic{background:var(--grad-vina);transform:rotate(-8deg)}
.exp-card:hover b{color:var(--blue-d)}
.exp-card:hover span{color:var(--muted)}
html.js .exp-in.rv.in .exp-card{opacity:1;animation:popIn .5s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:var(--fd,0s)}

/* ============ CONTACT ============ */
#contact{background:linear-gradient(180deg,#fff,var(--bg))}
.ct-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:34px;align-items:start}
.ct-info{background:linear-gradient(150deg,#0a2a5e,#0891b2);border-radius:26px;color:#fff;padding:38px;position:relative;overflow:hidden;height:100%}
.ct-info::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1px);background-size:20px 20px;opacity:.4;pointer-events:none}
.ct-info h3{font-size:1.35rem;margin-bottom:12px;position:relative}
.ct-info>p{opacity:.9;font-size:.9rem;margin-bottom:28px;position:relative}
.steps{display:flex;flex-direction:column;gap:18px;position:relative}
.step{display:flex;gap:15px;align-items:flex-start}
.step i{width:38px;height:38px;flex:none;border-radius:12px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;font-style:normal;font-weight:900;font-size:.9rem}
.step b{display:block;font-size:.92rem}
.step span{font-size:.78rem;opacity:.85}
.ct-info .img-strip{margin-top:30px;border-radius:16px;overflow:hidden;position:relative;height:130px}
.ct-info .img-strip img{width:100%;height:100%;object-fit:cover}
form.card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:38px;box-shadow:var(--sh1)}
.f-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.f-field{display:flex;flex-direction:column;gap:7px}
.f-field.full{grid-column:1/-1}
.f-field label{font-size:.8rem;font-weight:700;color:#33445c}
.f-field label em{color:var(--red);font-style:normal}
.f-field input,.f-field select,.f-field textarea{border:1.6px solid var(--line);border-radius:12px;padding:12px 15px;background:var(--bg);transition:.25s;color:var(--ink)}
.f-field textarea{min-height:110px;resize:vertical}
.f-field input:focus,.f-field select:focus,.f-field textarea:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(14,165,233,.12)}

/* ============ FOOTER ============ */
footer{background:#0b1626;color:#b9c6d8;position:relative;z-index:5}
footer::before{content:"";position:absolute;inset:0;background:
  radial-gradient(700px 320px at 88% 0%,rgba(14,165,233,.16),transparent 60%),
  radial-gradient(620px 320px at 8% 100%,rgba(16,185,129,.12),transparent 60%);pointer-events:none}
footer::after{content:"";position:absolute;top:0;right:0;left:0;height:3px;background:linear-gradient(90deg,var(--blue),#0ea5e9,#10b981)}
.ft-main{padding:64px 0 44px;position:relative;z-index:1}
.ft-grid{display:grid;grid-template-columns:1.35fr 1.25fr 1fr 1.05fr;gap:34px;align-items:stretch}
.ft-col{display:flex;flex-direction:column}
.ft-brand{display:flex;flex-direction:column}
.ft-brand p{font-size:.85rem;margin:16px 0 18px;max-width:320px}
.ft-badges{display:flex;flex-direction:column;gap:8px}
.ftb-row{display:flex;gap:10px;align-items:center;padding:9px 12px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);font-size:.75rem;font-weight:600;color:#c6d2e2;transition:.28s}
.ftb-row:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);transform:translateY(-2px)}
.ftb-row .ic{width:16px;height:16px;color:var(--cyan);flex:none}
.socials{display:flex;gap:9px;margin-top:auto;padding-top:16px}
.socials a{width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);display:grid;place-items:center;transition:.3s}
.socials a:hover{background:var(--grad-vina);color:#fff;transform:translateY(-4px);border-color:transparent}
.ft-col h4{color:#fff;font-size:.95rem;margin-bottom:18px;display:flex;align-items:center;gap:9px}
.ft-col h4::before{content:"";width:9px;height:9px;border-radius:3px;background:var(--grad-vina);flex:none}
.ft-col.col-f h4::before{background:var(--grad-flora)}
/* لینک‌های شیشه‌ای با فلش چپ */
.ft-links{display:flex;flex-direction:column;gap:8px}
.ft-links li a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);font-size:.8rem;font-weight:600;color:#c6d2e2;transition:.28s}
.ft-links li a::after{content:"‹";margin-inline-start:auto;font-size:.95rem;line-height:1;color:var(--cyan);transition:.25s;font-weight:900;flex:none}
.ft-links li a:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.24);color:#fff}
.ft-links li a:hover::after{transform:translateX(-3px)}
/* کارت‌های پلتفرم هم‌ارتفاع */
.ft-plat{flex:1;display:flex;flex-direction:column;gap:10px}
.ft-plat-card{flex:1;display:flex;flex-direction:column;gap:8px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:14px;transition:.3s}
.ft-plat-card:hover{background:rgba(255,255,255,.1);transform:translateY(-3px);border-color:rgba(255,255,255,.28)}
.fpc-head{display:flex;align-items:center;gap:10px}
.fpc-head b{color:#fff;font-size:.9rem}
.fpc-count{margin-inline-start:auto;font-size:.75rem;font-weight:700;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);padding:2px 8px;border-radius:999px;color:#9fb0c8;white-space:nowrap}
.ft-plat-card p{font-size:.75rem;color:#8ea3c0}
.fpc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.fpc-chips span{font-size:.75rem;font-weight:700;padding:3px 8px;border-radius:7px;background:rgba(14,163,224,.12);border:1px solid rgba(14,163,224,.25);color:#7dd3fc}
.ft-plat-card.fl .fpc-chips span{background:rgba(109,74,255,.14);border-color:rgba(109,74,255,.3);color:#c4b5fd}
.fp-mono{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-family:var(--fe);font-weight:700;font-size:1.05rem;color:#fff;flex:none}
.fp-v{background:var(--grad-vina)}.fp-f{background:var(--grad-flora)}
.ft-bottom{border-top:1px solid rgba(255,255,255,.08);padding:18px 0;position:relative;z-index:1}
.ftb-in{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.78rem}
.ftb-mid{font-family:var(--fe);letter-spacing:.22em;font-size:.75rem;color:#7d8ea6}
.ftb-top{display:flex;align-items:center;gap:8px;color:#b9c6d8;font-size:.78rem;font-weight:700;transition:.25s}
.ftb-top .ic{width:16px;height:16px;transition:.3s}
.ftb-top:hover{color:#fff}
.ftb-top:hover .ic{transform:translateY(-3px)}

/* ============ SIDE TIMELINE NAV ============ */
.side-nav{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:90;display:flex;flex-direction:column;gap:6px}
.side-nav::before{content:"";position:absolute;right:21px;top:12px;bottom:12px;width:2px;border-radius:2px;background:linear-gradient(180deg,rgba(14,165,233,0),rgba(14,165,233,.28),rgba(16,185,129,.28),rgba(14,165,233,0))}
.side-nav a{position:relative;display:flex;align-items:center;gap:10px;padding:4px 0}
.side-nav i{position:relative;z-index:1;width:12px;height:12px;border-radius:50%;background:#cdd8e6;border:2px solid #fff;box-shadow:0 1px 4px rgba(12,26,43,.18);transition:.3s;flex:none}
.side-nav span{font-size:.75rem;font-weight:700;color:var(--blue-d);background:#fff;border:1px solid var(--line);box-shadow:var(--sh1);padding:4px 10px;border-radius:999px;opacity:0;transform:translateX(8px);transition:.3s;pointer-events:none;white-space:nowrap}
.side-nav a:hover span,.side-nav a.on span{opacity:1;transform:none}
.side-nav a:hover i{background:#0ea5e9;transform:scale(1.25)}
.side-nav a.on i{background:var(--grad-vina);transform:scale(1.35);box-shadow:0 0 0 4px rgba(14,165,233,.18)}

/* ============ MODAL / MISC ============ */
.overlay{position:fixed;inset:0;background:rgba(10,20,38,.5);backdrop-filter:blur(6px);z-index:200;opacity:0;visibility:hidden;transition:.35s}
.overlay.on{opacity:1;visibility:visible}
.modal{position:fixed;z-index:210;top:50%;left:50%;transform:translate(-50%,-46%) scale(.96);width:min(680px,92%);max-height:88vh;overflow:auto;background:#fff;border-radius:26px;padding:36px;opacity:0;visibility:hidden;transition:.4s cubic-bezier(.2,.7,.2,1);box-shadow:var(--sh2)}
.modal.on{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}
.modal h3{font-size:1.2rem;margin-bottom:6px}
.modal>p{color:var(--muted);font-size:.85rem;margin-bottom:22px}
.m-close{position:absolute;top:18px;inset-inline-end:18px;width:38px;height:38px;border-radius:11px;background:var(--bg2);display:grid;place-items:center;transition:.3s}
.m-close:hover{background:var(--red);color:#fff;transform:rotate(90deg)}
#toast{position:fixed;bottom:26px;right:50%;transform:translate(50%,80px);z-index:300;background:#0c1a2b;color:#fff;border-radius:14px;padding:14px 24px;display:flex;gap:11px;align-items:center;font-size:.86rem;font-weight:700;box-shadow:var(--sh2);transition:.45s cubic-bezier(.2,.7,.2,1);opacity:0}
#toast.on{transform:translate(50%,0);opacity:1}
#toast .ic{color:#7ef0c0}
#top{position:fixed;bottom:26px;inset-inline-end:26px;z-index:150;width:48px;height:48px;border-radius:14px;background:var(--grad-vina);color:#fff;display:grid;place-items:center;box-shadow:0 12px 28px rgba(16,185,129,.4);opacity:0;visibility:hidden;transform:translateY(16px);transition:.35s}
#top.on{opacity:1;visibility:visible;transform:none}
#top:hover{transform:translateY(-4px)}
#drawer{position:fixed;top:0;bottom:0;right:0;width:min(340px,86%);background:#fff;z-index:220;transform:translateX(105%);transition:.45s cubic-bezier(.2,.7,.2,1);box-shadow:var(--sh2);display:flex;flex-direction:column}
#drawer.on{transform:none}
.dr-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.dr-body{padding:16px 18px;overflow:auto;flex:1}
.dr-link{display:flex;align-items:center;justify-content:space-between;padding:13px 12px;border-radius:12px;font-weight:700;font-size:.92rem;color:#33445c;width:100%}
.dr-link:hover{background:var(--bg);color:var(--blue)}
.dr-sub{overflow:hidden;max-height:0;transition:.45s}
.dr-sub a,.dr-sub button{display:flex;gap:10px;align-items:center;width:100%;text-align:right;padding:10px 14px;font-size:.83rem;font-weight:600;color:var(--muted);border-radius:10px}
.dr-sub a:hover,.dr-sub button:hover{background:var(--bg);color:var(--blue-d)}
.dr-sub .ic{width:16px;height:16px;color:var(--cyan)}
.dr-foot{padding:18px;border-top:1px solid var(--line)}
.dr-foot .btn{width:100%}
.dr-link .ic.chev{transition:.3s}
.dr-link.open .ic.chev{transform:rotate(180deg)}

/* ============ RESPONSIVE ============ */
@media(max-width:1200px){.side-nav{display:none}}
@media(max-width:1080px){
  .mega.w-prod .mega-in,.mega.w-sol .mega-in{grid-template-columns:300px 300px}
  .mega-side{display:none}
  .pd-wrap{grid-template-columns:290px 1fr}
  .fc2{right:-12px}
  .plat-wrap{grid-template-columns:1fr 64px 1fr}
  .sol.wide .cap-grid{grid-template-columns:repeat(3,1fr)}
  .ind-grid{grid-template-columns:repeat(4,1fr)}
  .ft-grid{grid-template-columns:1fr 1fr;gap:34px}
}
@media(max-width:992px){
  nav.main,.h-actions .btn{display:none}
  .burger{display:flex}
  .hero-grid{grid-template-columns:1fr;gap:64px}
  .hero-lead{max-width:100%}
  .dom-grid,.plat-grid,.about-grid,.ct-grid{grid-template-columns:1fr}
  .pd-wrap{grid-template-columns:1fr}
  .p-aside{position:static;max-height:none;overflow:visible}
  .p-list{flex-direction:row;overflow-x:auto;padding-bottom:8px}
  .p-item{min-width:230px}
  .p-aside-foot{display:none}
  .stats{grid-template-columns:1fr 1fr}
  .stat+.stat{border-inline-start:none}
  .stat:nth-child(even){border-inline-start:1px solid var(--line)}
  .stat:nth-child(n+3){border-top:1px solid var(--line)}
  .plat-wrap{grid-template-columns:1fr}
  .plat-bridge{flex-direction:row;padding:4px 0}
  .pb-line{width:auto;height:2px;flex:1;background:linear-gradient(90deg,transparent,rgba(14,165,233,.35),rgba(16,185,129,.35),transparent)}
  .ind-grid{grid-template-columns:repeat(3,1fr)}
  .exp-in{grid-template-columns:1fr;gap:32px}
}
/* ============ MOBILE SAFETY / LAYOUT ============ */
@media(max-width:768px){
  html,body{max-width:100%;overflow-x:hidden;}
  body{min-width:0;width:100%;font-size:15px;}
  .container{width:calc(100% - 28px);max-width:none;}
  section{padding:64px 0;scroll-margin-top:72px;}
  .hero-grid>*,.dom-grid>*,.plat-wrap>*,.pd-wrap>*,.pd-top>*,.sol-grid>*,.about-grid>*,.ct-grid>*,.plat-top>*,.sol-head>*,.exp-in>*{min-width:0;}
  .hero-grid{gap:42px;}
  #home{padding:96px 0 56px;}
  h1{font-size:clamp(1.8rem,8vw,2.45rem);line-height:1.5;}
  .hero-lead{font-size:.96rem;}
  .hero-ctas{gap:10px;}
  .hero-chips{gap:8px;}
  .hero-chips .hchip{max-width:100%;}
  .frame{border-radius:20px;aspect-ratio:4/3;}
  .float-card{display:none;}
  .stats{margin-top:42px;border-radius:20px;}
  .stat{padding:22px 10px 20px;}
  .stat b{font-size:1.9rem;}
  .dom-grid{gap:20px;}
  .dom-media{height:190px;}
  .dom-body{padding:40px 18px 20px;}
  .v-grid,.vwall{grid-template-columns:repeat(2,minmax(0,1fr));}
  .flow-diagram,.pipe{min-width:0;}
  .plat-wrap{gap:14px;}
  .plat-bridge{min-height:32px;}
  .plat-top{flex-wrap:wrap;padding:20px 18px 16px;}
  .plat-tt{min-width:0;flex:1 1 150px;}
  .plat-count{margin-inline-start:auto;}
  .plat-vis{padding-inline:18px;}
  .plat-cap{margin-inline:18px;}
  .plat-foot{padding:16px 18px 20px;}
  .out-row{margin-inline:18px;}
  .orbit-wrap{height:190px;margin-block:12px 16px;}
  .p-aside{padding:10px;border-radius:16px;}
  .p-list{gap:7px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;}
  .p-item{min-width:220px;scroll-snap-align:start;}
  .p-detail{padding:22px 16px;border-radius:20px;}
  .pd-top{gap:20px;}
  .pd-intro{min-width:0;}
  .check-grid,.x-list,.val-grid,.vm{grid-template-columns:1fr;}
  .benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .sol-grid{grid-template-columns:1fr;}
  .sol,.sol.wide{grid-column:auto;padding:20px;}
  .sol.wide .cap-grid,.cap-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .sol-head{align-items:flex-start;}
  .sol-head h3{font-size:.98rem;}
  .sol.wide .sol-head h3{font-size:1.05rem;}
  .cap-grid li{min-width:0;}
  .ind-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .about-grid,.ct-grid{gap:28px;}
  .vm{margin:18px 0;}
  .quote-band{flex-direction:column;padding:30px 20px;text-align:center;}
  .exp-in{grid-template-columns:1fr;gap:24px;}
  .exp-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
  .ft-grid{grid-template-columns:1fr;gap:28px;}
  form.card,.modal{padding:22px;}
  .modal{width:calc(100% - 24px);max-height:88vh;border-radius:20px;}
  #toast{left:14px;right:14px;bottom:14px;transform:translateY(80px);width:auto;justify-content:center;text-align:center;padding:12px 16px;}
  #toast.on{transform:none;}
  #top{width:44px;height:44px;bottom:14px;inset-inline-end:14px;border-radius:12px;}
  #drawer{width:min(360px,90vw);height:100dvh;max-height:100dvh;}
  .dr-body{-webkit-overflow-scrolling:touch;}
  .d-cdp2{grid-template-columns:1fr;gap:8px;}
  .cdp-mid{flex-direction:column;gap:6px;}
  .cdp-wire{width:2px;height:24px;background:repeating-linear-gradient(180deg,rgba(199,167,255,.5) 0 6px,transparent 6px 12px)}
  .cdp-wire i{left:50%;top:auto;margin:0 0 0 -2.5px;animation:packetV 1.6s linear infinite}
  .cdp-col{flex-direction:row;flex-wrap:wrap;justify-content:center;}
  .cdp-cap{width:100%;}
  .d-stream{min-height:330px;}
  .demo{min-width:0;}
}
@media(max-width:480px){
  .container{width:calc(100% - 24px);}
  section{padding:56px 0;}
  #home{padding:88px 0 48px;}
  .hero-ctas{flex-direction:column;}
  .hero-ctas .btn{width:100%;}
  .hchip{padding-inline:10px;font-size:.75rem;}
  .stats{grid-template-columns:1fr 1fr;}
  .dom-media{height:175px;}
  .benefit-grid,.sol.wide .cap-grid,.cap-grid{grid-template-columns:1fr;}
  .exp-cards{grid-template-columns:1fr;}
  .ind-grid{grid-template-columns:1fr 1fr;}
  .plat-top{gap:12px;}
  .plat-mono{width:54px;height:54px;border-radius:15px;font-size:1.6rem;}
  .plat-count{padding:7px 10px;}
  .out-row{grid-template-columns:1fr;}
  .p-item{min-width:calc(100vw - 70px);}
}
@media(prefers-reduced-motion:reduce){#toast{transform:none!important}.float-card{display:none!important}}

/* ============ PREMIUM UPGRADE LAYER ============ */
.hero-proofline{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px;align-items:center}
.hero-proofline span{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:.75rem;font-weight:700;color:#41516a}
.hero-proofline i{width:6px;height:6px;border-radius:50%;background:var(--cyan);display:block;box-shadow:0 0 0 3px rgba(0,184,212,.10)}
.hero-proofline .en{font-size:.75rem;letter-spacing:.12em;color:var(--blue-d)}

.product-overview{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-bottom:22px}
.product-overview-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 20px;box-shadow:0 6px 22px rgba(12,26,43,.05);position:relative;overflow:hidden}
.product-overview-card::before{content:"";position:absolute;top:0;right:0;left:0;height:3px;background:var(--grad-vina)}
.product-overview-card.fl::before{background:var(--grad-flora)}
.product-overview-card h3{font-size:.98rem;margin-bottom:6px}
.product-overview-card p{font-size:.78rem;color:var(--muted);line-height:1.85}
.product-overview-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}
.product-overview-meta span{font-size:.75rem;font-weight:800;color:#40506a;background:var(--bg);border:1px solid var(--line);padding:5px 9px;border-radius:999px}
.product-overview-card.fl .product-overview-meta span{color:var(--violet);background:rgba(109,74,255,.05);border-color:rgba(109,74,255,.12)}
.product-search{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px 11px;margin-bottom:10px}
.product-search .ic{width:17px;height:17px;color:var(--muted);flex:none}
.product-search input{width:100%;border:none;outline:none;background:transparent;color:var(--ink);font-size:.78rem}
.product-search input::placeholder{color:#97a4b7}
.product-search-meta{font-size:.75rem;color:var(--muted);white-space:nowrap}
.p-item.is-hidden{display:none}
.p-empty{padding:18px;text-align:center;color:var(--muted);font-size:.75rem;background:#fff;border:1px dashed var(--line);border-radius:14px}

/* ============ ARCHITECTURE ============ */
#architecture{background:linear-gradient(180deg,#fff,var(--bg))}
.arch-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:26px;align-items:stretch}
.arch-copy{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--sh1)}
.arch-copy h3{font-size:1.18rem;margin-bottom:10px}
.arch-copy>p{color:var(--muted);font-size:.86rem;margin-bottom:18px}
.arch-points{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.arch-points li{position:relative;padding:9px 30px 9px 10px;border:1px solid var(--line);background:var(--bg);border-radius:11px;font-size:.75rem;font-weight:700;color:#33445c}
.arch-points li::before{content:"✓";position:absolute;right:9px;top:9px;width:16px;height:16px;border-radius:5px;background:rgba(16,185,129,.14);color:var(--green);font-size:.75rem;font-weight:900;display:grid;place-items:center}
.arch-board{background:#0a1830;border-radius:24px;padding:22px;position:relative;overflow:hidden;box-shadow:var(--sh2);min-height:390px}
.arch-board::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.arch-label{position:relative;display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;color:#9fc3ff;font-size:.75rem;font-weight:800;letter-spacing:.12em}
.arch-label b{color:#fff;font-size:.75rem;letter-spacing:.06em}
.arch-flow{position:relative;display:grid;grid-template-columns:1fr 1.08fr 1fr;gap:18px;align-items:center;min-height:305px}
.arch-col{display:flex;flex-direction:column;gap:10px}
.arch-node{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);border-radius:13px;padding:10px 12px;color:#dbeafe;font-size:.75rem;font-weight:800;text-align:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);position:relative}
.arch-node small{display:block;font-size:.75rem;color:#8ea3c8;font-weight:600;margin-top:3px}
.arch-node.ai{background:linear-gradient(135deg,rgba(14,165,233,.22),rgba(16,185,129,.16));border-color:rgba(125,211,252,.24)}
.arch-node.fl{background:linear-gradient(135deg,rgba(109,74,255,.24),rgba(192,38,211,.16));border-color:rgba(199,167,255,.24)}
.arch-core{position:relative;display:flex;flex-direction:column;gap:12px;align-items:stretch}
.arch-engine{background:linear-gradient(135deg,#0b5fff,#6d4aff);border-radius:18px;padding:16px;text-align:center;color:#fff;font-weight:900;box-shadow:0 16px 34px rgba(76,74,255,.34);position:relative}
.arch-engine small{display:block;font-size:.75rem;opacity:.84;font-weight:600;margin-top:4px}
.arch-engine::after{content:"";position:absolute;inset:-7px;border:1px solid rgba(125,211,252,.24);border-radius:23px;animation:ringPulse 2.7s ease-out infinite;pointer-events:none}
.arch-branches{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.arch-branch{padding:11px 10px;border-radius:13px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);text-align:center;color:#e7eefc;font-size:.75rem;font-weight:800}
.arch-branch.v{border-color:rgba(16,185,129,.26)}
.arch-branch.f{border-color:rgba(192,38,211,.28)}
.arch-connector{position:absolute;top:50%;height:2px;background:linear-gradient(90deg,rgba(56,189,248,.12),rgba(56,189,248,.8),rgba(56,189,248,.12));animation:dashMove .9s linear infinite;background-size:12px 2px}
.arch-connector.left{left:29%;right:67%}.arch-connector.right{left:67%;right:29%}
.arch-caption{position:relative;margin-top:14px;color:#8ea3c8;font-size:.75rem;text-align:center}

/* ============ USE CASES ============ */
#usecases{background:#fff}
.usecase-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.usecase{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 6px 20px rgba(12,26,43,.045);transition:.35s cubic-bezier(.2,.7,.2,1);position:relative;overflow:hidden}
.usecase::before{content:"";position:absolute;top:0;right:0;left:0;height:3px;background:var(--grad-vina);transform:scaleX(.3);transform-origin:right;transition:.35s}
.usecase:nth-child(4)::before{background:var(--grad-flora)}
.usecase:hover{transform:translateY(-7px);box-shadow:var(--sh2);border-color:transparent}
.usecase:hover::before{transform:scaleX(1)}
.uc-ic{width:46px;height:46px;border-radius:14px;background:var(--bg2);color:var(--blue-d);display:grid;place-items:center;margin-bottom:14px;transition:.35s}
.usecase:nth-child(4) .uc-ic{color:var(--violet);background:rgba(109,74,255,.08)}
.usecase:hover .uc-ic{background:var(--grad-vina);color:#fff;transform:rotate(-7deg)}
.usecase:nth-child(4):hover .uc-ic{background:var(--grad-flora)}
.usecase h3{font-size:.92rem;margin-bottom:6px}
.usecase .uc-en{font-family:var(--fe);font-size:.75rem;letter-spacing:.12em;color:var(--muted);font-weight:700;display:block;margin-bottom:10px}
.usecase p{color:var(--muted);font-size:.75rem;line-height:1.9;margin-bottom:13px}
.uc-tags{display:flex;flex-wrap:wrap;gap:6px}
.uc-tags span{font-size:.75rem;font-weight:800;color:#40506a;background:var(--bg);border:1px solid var(--line);padding:4px 7px;border-radius:999px}

/* ============ CONTACT ENHANCEMENT ============ */
.contact-intro-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 22px}
.cis{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(12,26,43,.04)}
.cis i{width:30px;height:30px;border-radius:10px;background:rgba(14,165,233,.09);color:var(--blue-d);display:grid;place-items:center;flex:none}
.cis i .ic{width:15px;height:15px}.cis b{font-size:.75rem}.cis span{display:block;color:var(--muted);font-size:.75rem;line-height:1.6}
.form-note{display:flex;align-items:flex-start;gap:8px;margin-top:10px;color:var(--muted);font-size:.75rem;line-height:1.8}
.form-note .ic{width:14px;height:14px;color:var(--cyan);flex:none;margin-top:2px}

/* ============ NAV UPGRADE ============ */
.nav-dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 3px rgba(0,184,212,.08)}
@media(max-width:1100px){.arch-wrap{grid-template-columns:1fr}.usecase-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:992px){.product-overview{grid-template-columns:1fr}.arch-board{min-height:360px}.contact-intro-strip{grid-template-columns:1fr 1fr}}
@media(max-width:768px){
  .hero-proofline{gap:7px}.hero-proofline span{font-size:.75rem;padding:5px 9px}
  .product-overview-card{padding:16px}.product-overview-card h3{font-size:.92rem}
  .arch-wrap{gap:16px}.arch-copy{padding:22px}.arch-points{grid-template-columns:1fr}
  .arch-board{padding:15px;min-height:0}.arch-flow{grid-template-columns:1fr;gap:11px;min-height:0}.arch-col{display:grid;grid-template-columns:1fr 1fr;gap:8px}.arch-core{order:2}.arch-board .arch-col:last-child{order:3}.arch-connector{display:none}.arch-caption{font-size:.75rem}
  .usecase-grid{grid-template-columns:1fr 1fr;gap:10px}.usecase{padding:16px}.uc-ic{width:40px;height:40px;margin-bottom:10px}
  .contact-intro-strip{grid-template-columns:1fr}
}
@media(max-width:480px){
  .hero-proofline{display:grid;grid-template-columns:1fr 1fr}.hero-proofline span{justify-content:center}
  .product-search{padding:8px 9px}.product-search-meta{font-size:.75rem}
  .usecase-grid{grid-template-columns:1fr}.arch-col{grid-template-columns:1fr 1fr}.arch-branches{grid-template-columns:1fr}
}

.skip-link{position:fixed;top:8px;inset-inline-start:8px;z-index:1000;padding:10px 16px;border-radius:10px;background:var(--ink);color:#fff;font-weight:700;transform:translateY(-200%)}.skip-link:focus{transform:none}
:root{--grad-vina-ink:linear-gradient(135deg,#0369a1 0%,#047857 100%)}
.btn-primary,.seg button.on,.sol-cta:hover{background:var(--grad-vina-ink)}
.ms-img.img-missing,.dom-zoom.img-missing,.img-main.img-missing,.img-sub.img-missing,.img-strip.img-missing{background:linear-gradient(135deg,#e6effb 0%,#e3f4ef 100%)}
