/* ================================================================
   Softline IT — framer.css
   The same dark "control room" system as softline.company: night background,
   electric-blue glow, glass surfaces, pill labels, Inter + JetBrains Mono.
   Loaded after the ported WordPress styles; re-maps their tokens and chrome.
   framer-dark-map.css (generated by tools/build_dark_map.py) handles the
   hard-coded light colours of the legacy stylesheets.
   ================================================================ */

@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-latin.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:'JetBrains Mono';font-style:normal;font-weight:100 800;font-display:swap;src:url(/assets/fonts/jetbrains-mono-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 800;font-display:swap;src:url(/assets/fonts/jetbrains-mono-latin.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}

:root{
  --fx-bg:#02070C;
  --fx-bg-2:#040D14;
  --fx-surface:#081820;
  --fx-surface-2:#0C2029;
  --fx-glass:linear-gradient(180deg,rgba(14,44,58,.55),rgba(5,16,24,.74));
  --fx-line:rgba(120,196,222,.14);
  --fx-line-2:rgba(110,200,232,.28);
  --fx-text:#E8F3F7;
  --fx-text-2:rgba(218,236,243,.74);
  --fx-text-3:rgba(218,236,243,.57);
  --fx-blue:#1CB5E0;
  --fx-blue-2:#5ED0F2;
  --fx-blue-3:#0B7FA8;
  --fx-sky:#9EE3F7;
  --fx-ok:#3DDC97;
  --fx-warn:#FFB547;
  --fx-grad:linear-gradient(95deg,#CDF4FF 0%,#5ED0F2 38%,#1CB5E0 72%,#2E8BFF 100%);
  --fx-r:16px;
  --fx-r-lg:22px;
  --fx-ease:cubic-bezier(.22,1,.36,1);
  --fx-font:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --fx-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Consolas,monospace;
  --fx-wrap:1280px;
  --fx-gutter:clamp(16px,3.5vw,32px);
  --fx-section:clamp(88px,10vw,140px);
  --fx-header-h:76px;

  /* ported WordPress theme tokens, re-mapped to the dark system */
  --navy:#040D14;
  --navy-deep:#02070C;
  --sky:#5ED0F2;
  --sky-dark:#9EE3F7;
  --sky-light:rgba(28,181,224,.12);
  --page:#02070C;
  --surface:#081820;
  --surface-soft:#0C2029;
  --border:rgba(120,196,222,.16);
  --text:#EAF0FA;
  --muted:rgba(222,232,248,.70);
  --font-h:var(--fx-font);
  --font-b:var(--fx-font);
  --shadow-soft:0 24px 60px -24px rgba(0,0,0,.75);
  --port-focus:#5ED0F2;
  color-scheme:dark;
}

/* --- Base --- */
html{background:var(--fx-bg)}
body{font-family:var(--fx-font);background:var(--fx-bg);color:var(--fx-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:'cv11','ss01'}
body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(1200px 700px at 50% -10%,rgba(28,181,224,.10),transparent 60%)}
::selection{background:rgba(28,181,224,.35);color:#fff}
:focus-visible{outline:2px solid var(--fx-blue-2);outline-offset:3px}
::-webkit-scrollbar-thumb{background:rgba(94,208,242,.45)}
h1,h2,h3,h4{color:#fff;font-family:var(--fx-font);letter-spacing:-.03em}
a{color:var(--fx-blue-2)}
a:hover{color:#fff}
#main{background:transparent}
/* Legacy reveal: content never stays hidden if JavaScript is unavailable. */
html:not(.fx-js) .reveal{opacity:1!important;transform:none!important}

/* --- Header: transparent over the hero, glass bar once scrolled --- */
.site-header{background:transparent!important;border-bottom:1px solid transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;transition:background .4s var(--fx-ease),border-color .4s,box-shadow .4s}
.site-header.is-condensed{background:rgba(2,9,14,.78)!important;border-bottom-color:var(--fx-line)!important;-webkit-backdrop-filter:blur(20px) saturate(1.5)!important;backdrop-filter:blur(20px) saturate(1.5)!important;box-shadow:0 12px 40px -18px rgba(0,0,0,.8)!important}
.header-inner{max-width:calc(var(--fx-wrap) + var(--fx-gutter)*2)!important;height:var(--fx-header-h)!important;padding:0 var(--fx-gutter)!important;gap:20px!important;transition:height .4s var(--fx-ease)}
.site-header.is-condensed .header-inner{height:64px!important}
.site-logo img{height:44px;width:auto}
.nav-menu{gap:2px!important}
.nav-menu a{position:relative;padding:8px 14px!important;border-radius:999px!important;color:rgba(222,232,248,.74)!important;font-family:var(--fx-font)!important;font-size:14px!important;font-weight:500!important;background:transparent!important;transition:color .25s,background .25s}
.nav-menu a::after{display:none!important}
.nav-menu a:hover{color:#fff!important;background:rgba(255,255,255,.06)!important}
.nav-menu li.is-active > a{color:#fff!important;background:rgba(255,255,255,.08)!important}
.nav-menu li.is-active > a::before{content:'';position:absolute;left:50%;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--fx-blue-2);box-shadow:0 0 8px var(--fx-blue-2);transform:translateX(-50%)}
.header-phone{color:rgba(222,232,248,.8)!important;font-family:var(--fx-mono);font-size:12.5px!important;font-weight:500!important}
.header-phone:hover{color:#fff!important}
.lang-switch{display:inline-grid;place-items:center;min-width:40px;height:34px;padding:0 10px;border:1px solid var(--fx-line)!important;border-radius:999px!important;background:rgba(255,255,255,.04)!important;color:rgba(222,232,248,.8)!important;font-family:var(--fx-mono);font-size:11.5px!important;font-weight:600!important}
.lang-switch:hover{color:#fff!important;background:rgba(255,255,255,.09)!important}
.btn-contact-header{border:0!important;border-radius:999px!important;background:linear-gradient(180deg,#8FE6FA,#3CC8F0)!important;color:#02131B!important;padding:10px 20px!important;font-family:var(--fx-font)!important;font-size:14px!important;font-weight:600!important;box-shadow:0 8px 30px -10px rgba(158,227,247,.6)!important;transition:transform .3s var(--fx-ease),background .3s!important}
.btn-contact-header:hover{background:linear-gradient(180deg,#B5EFFC,#5ED8F7)!important;transform:translateY(-1px)}
.burger-line{background:#fff!important}
.mobile-nav{background:rgba(2,9,14,.97)!important;border-left:1px solid var(--fx-line)!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.mobile-nav a{color:var(--fx-text)!important;font-family:var(--fx-font)!important}
.mobile-nav li.is-active > a{color:var(--fx-blue-2)!important}
#sl-btt{border:1px solid var(--fx-line-2)!important;background:rgba(8,24,32,.85)!important;color:#fff!important;border-radius:14px!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 14px 40px -12px rgba(28,181,224,.6)!important}

/* --- Buttons, primitives, glass card (shared with softline.company) --- */
.fx-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 24px;border-radius:999px;border:1px solid transparent;font-family:var(--fx-font);font-size:15px;font-weight:600;letter-spacing:-.01em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:transform .5s var(--fx-ease),box-shadow .35s,background .3s,border-color .3s,color .3s}
.fx-btn .fx-ico{width:18px;height:18px;transition:transform .45s var(--fx-ease)}
.fx-btn:hover .fx-ico:last-child{transform:translateX(3px)}
.fx-btn--primary{color:#02131B;background:linear-gradient(180deg,#5ED8F7,#1CB5E0);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 0 0 1px rgba(94,208,242,.35),0 14px 40px -12px rgba(28,181,224,.85)}
.fx-btn--primary:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 0 0 1px rgba(158,227,247,.55),0 20px 54px -12px rgba(28,181,224,1)}
.fx-btn--ghost{color:var(--fx-text);background:rgba(255,255,255,.04);border-color:var(--fx-line-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.fx-btn--ghost:hover{background:rgba(255,255,255,.09);border-color:rgba(158,227,247,.5)}
.fx-link{display:inline-flex;align-items:center;gap:8px;color:var(--fx-blue-2);font-size:14.5px;font-weight:600}
.fx-link .fx-ico{width:16px;height:16px;transition:transform .45s var(--fx-ease)}
a:hover .fx-link .fx-ico,.fx-link:hover .fx-ico{transform:translateX(4px)}

/* --- Layout primitives --- */
.fx-home{position:relative;overflow:clip;font-family:var(--fx-font)}
.fx-wrap{width:100%;max-width:calc(var(--fx-wrap) + var(--fx-gutter)*2);margin:0 auto;padding:0 var(--fx-gutter)}
.fx-section{position:relative;padding:calc(var(--fx-section)/2) 0}
.fx-section--tight{padding-top:calc(var(--fx-section)/3)}
.fx-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;border:1px solid var(--fx-line-2);background:linear-gradient(180deg,rgba(28,181,224,.16),rgba(28,181,224,.04));color:#CFF2FC;font-family:var(--fx-font);font-size:12.5px;font-weight:500;letter-spacing:.01em;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.fx-pill::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--fx-blue-2);box-shadow:0 0 10px var(--fx-blue-2)}
.fx-hero__badge::before{display:none}
.fx-head{display:flex;flex-direction:column;align-items:center;max-width:780px;margin:0 auto clamp(40px,5vw,64px);text-align:center}
.fx-head .fx-pill{margin-bottom:20px}
.fx-head--row{flex-direction:row;justify-content:space-between;align-items:flex-end;max-width:none;text-align:left}
.fx-head--row .fx-pill{margin-bottom:18px}
.fx-h2{margin:0;color:#fff;font-family:var(--fx-font);font-size:clamp(1.9rem,3.6vw,3.1rem);font-weight:600;line-height:1.08;letter-spacing:-.04em;text-wrap:balance}
.fx-lead{margin:18px 0 0;color:var(--fx-text-2);font-size:clamp(1rem,1.25vw,1.12rem);line-height:1.65;text-wrap:pretty}
.fx-grad{background:var(--fx-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.fx-center{display:flex;justify-content:center;margin-top:40px}
.fx-kicker{margin:0 0 14px;color:var(--fx-text-3);font-family:var(--fx-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.fx-kicker:not(:first-of-type){margin-top:28px}
.fx-grid{display:grid;gap:16px}
.fx-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fx-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fx-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}

/* --- Glass card + spotlight --- */
.fx-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:26px;border-radius:var(--fx-r);border:1px solid var(--fx-line);background:var(--fx-glass);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);color:var(--fx-text);text-decoration:none;overflow:hidden;isolation:isolate;transition:transform .6s var(--fx-ease),border-color .4s,box-shadow .5s}
.fx-card:hover{transform:translateY(-4px);border-color:var(--fx-line-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 30px 70px -30px rgba(28,181,224,.55)}
.fx-card h3{margin:0 0 8px;color:#fff;font-family:var(--fx-font);font-size:clamp(1.05rem,1.35vw,1.2rem);font-weight:600;line-height:1.3;letter-spacing:-.02em}
.fx-card p{margin:0;color:var(--fx-text-2);font-size:14.5px;line-height:1.6}
.spot{--mx:50%;--my:50%}
.spot::after{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(420px circle at var(--mx) var(--my),rgba(28,181,224,.16),transparent 45%);transition:opacity .5s}
.spot:hover::after{opacity:1}
.fx-icon-box{display:inline-grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:12px;border:1px solid var(--fx-line-2);background:linear-gradient(180deg,rgba(28,181,224,.22),rgba(28,181,224,.06));color:var(--fx-sky);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 8px 24px -10px rgba(28,181,224,.7)}
.fx-icon-box .fx-ico{width:20px;height:20px}
.fx-icon-box--lg{width:52px;height:52px;border-radius:15px}
.fx-icon-box--lg .fx-ico{width:24px;height:24px}
.fx-num{color:var(--fx-text-3);font-family:var(--fx-mono);font-size:12px}
.fx-tag{display:inline-flex;align-self:flex-start;padding:5px 11px;border-radius:999px;border:1px solid var(--fx-line-2);background:rgba(28,181,224,.1);color:#CFF2FC;font-size:12px;font-weight:500}

/* --- Division signature: mono caps labels with a square "status LED" --- */
.fx-pill{font-family:var(--fx-mono)!important;font-size:11px!important;font-weight:500!important;letter-spacing:.1em!important;text-transform:uppercase;padding:7px 13px!important}
.fx-pill::before{width:6px!important;height:6px!important;border-radius:1.5px!important;background:var(--fx-sky)!important;box-shadow:0 0 0 2px rgba(28,181,224,.18),0 0 10px var(--fx-blue)!important;animation:fx-led 2.6s ease-in-out infinite}
@keyframes fx-led{50%{opacity:.45}}
.fx-hero__badge{text-transform:none;letter-spacing:.02em!important}

/* --- Section rhythm on the home page --- */
.fx-section--glow::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(900px 420px at 50% 0%,rgba(28,181,224,.10),transparent 70%)}
.fx-section+.fx-section{border-top:1px solid rgba(120,196,222,.07)}
.fx-center--pair{gap:12px;flex-wrap:wrap}

/* --- HERO: copy left, live infrastructure illustration right --- */
.fx-hero{position:relative;margin-top:calc(-1*var(--fx-header-h));padding:calc(var(--fx-header-h) + clamp(28px,6vh,88px)) 0 clamp(48px,8vh,96px);overflow:hidden;isolation:isolate}
.fx-hero::before{content:'';position:absolute;inset:0;z-index:-3;background-image:radial-gradient(rgba(120,196,222,.22) 1px,transparent 1.4px);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse 70% 80% at 60% 30%,#000 10%,transparent 75%);mask-image:radial-gradient(ellipse 70% 80% at 60% 30%,#000 10%,transparent 75%)}
.fx-hero::after{content:'';position:absolute;left:0;right:0;bottom:0;z-index:-1;height:1px;background:linear-gradient(90deg,transparent,rgba(94,208,242,.45),transparent)}
.fx-hero__glow{position:absolute;right:-6%;top:-10%;z-index:-2;width:min(900px,90vw);aspect-ratio:1.3;border-radius:50%;background:radial-gradient(closest-side,rgba(28,181,224,.42),rgba(28,181,224,.08) 55%,transparent);filter:blur(10px);animation:fx-breathe 9s ease-in-out infinite alternate}
@keyframes fx-breathe{to{transform:scale(1.08);opacity:.8}}
.fx-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:clamp(24px,4vw,64px)}
.fx-hero__badge{margin-bottom:clamp(18px,3vh,26px)}
.fx-hero__badge svg{flex:0 0 auto}
.fx-hero__title{margin:0;color:#fff;font-family:var(--fx-font);font-size:clamp(2.4rem,min(4.7vw,8.4vh),4.4rem);font-weight:600;line-height:1.02;letter-spacing:-.05em;text-wrap:balance}
.fx-hero__title .fx-grad .w__i,.fx-hero__title .fx-grad{background:var(--fx-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.fx-hero__title .fx-grad:has(.w__i){background:none}
.fx-hero__sub{max-width:520px;margin:clamp(16px,2.6vh,24px) 0 0;color:var(--fx-text-2);font-size:clamp(1.02rem,1.3vw,1.18rem);line-height:1.6;text-wrap:pretty}
.fx-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(24px,4vh,36px)}
.fx-hero__facts{display:grid;gap:10px;margin:clamp(24px,4vh,36px) 0 0;padding:clamp(18px,3vh,24px) 0 0;border-top:1px solid var(--fx-line);list-style:none}
.fx-hero__facts li{display:flex;align-items:center;gap:10px;color:var(--fx-text-2);font-size:14px}
.fx-hero__facts .fx-ico{flex:0 0 auto;width:18px;height:18px;padding:3px;border-radius:50%;background:rgba(61,220,151,.14);color:var(--fx-ok)}
.fx-hero__visual{position:relative}
.fx-hero__visual::before{content:'';position:absolute;inset:8% 6%;z-index:-1;border-radius:40px;background:radial-gradient(closest-side,rgba(28,181,224,.28),transparent);filter:blur(30px)}
.hx{display:block;width:100%;height:auto;overflow:visible}

/* --- Pains --- */
.fx-pain__ico{display:inline-grid;place-items:center;width:42px;height:42px;margin-bottom:18px;border-radius:12px;border:1px solid rgba(255,181,71,.32);background:linear-gradient(180deg,rgba(255,181,71,.16),rgba(255,181,71,.04));color:#FFC978}
.fx-pain__ico .fx-ico{width:20px;height:20px}

/* --- Focus areas --- */
.fx-focus .fx-icon-box{margin-bottom:22px}
.fx-focus p{flex:1}
.fx-focus__tags{display:block;margin-top:20px;padding-top:16px;border-top:1px solid var(--fx-line);color:var(--fx-sky);font-family:var(--fx-mono);font-size:11.5px;letter-spacing:.02em}
.fx-utp{display:flex;align-items:center;gap:14px;margin:18px 0 0;padding:18px 22px;border:1px solid var(--fx-line-2);border-radius:var(--fx-r);background:radial-gradient(600px 160px at 0% 50%,rgba(28,181,224,.2),transparent 70%),var(--fx-glass);color:var(--fx-text);font-size:15px}
.fx-utp .fx-ico{flex:0 0 auto;width:22px;height:22px;color:var(--fx-sky)}

/* --- About + stats --- */
.fx-about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,88px);align-items:center}
.fx-about__text .fx-pill{margin-bottom:20px}
.fx-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:32px 0 28px;border:1px solid var(--fx-line);border-radius:var(--fx-r);background:var(--fx-line);overflow:hidden}
.fx-stat{display:flex;flex-direction:column;gap:4px;padding:18px 14px;background:linear-gradient(180deg,#0A1C26,#050F16)}
.fx-stat b{color:#fff;font-size:clamp(1.4rem,2.2vw,1.9rem);font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.fx-stat span{color:var(--fx-text-3);font-size:12.5px;line-height:1.35}
.fx-about__cards{display:grid;grid-template-columns:1fr;gap:14px}
.fx-why{flex-direction:row;align-items:flex-start;gap:18px}

/* --- Services --- */
.fx-srv{padding:24px 24px 22px}
.fx-srv .fx-num{margin-bottom:22px;color:var(--fx-sky)}
.fx-srv h3{padding-right:28px}
.fx-srv__go{position:absolute;right:20px;top:20px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--fx-line);color:var(--fx-text-3);transition:transform .45s var(--fx-ease),color .3s,border-color .3s,background .3s}
.fx-srv__go .fx-ico{width:16px;height:16px}
.fx-srv:hover .fx-srv__go{color:#fff;border-color:var(--fx-line-2);background:rgba(28,181,224,.2);transform:rotate(-45deg)}

/* --- Cases --- */
.fx-case .fx-tag{margin-bottom:22px}
.fx-case h3{flex:1;font-size:clamp(1.1rem,1.5vw,1.3rem)}
.fx-case__result{display:flex;align-items:center;gap:10px;margin-top:22px!important;padding-top:16px;border-top:1px solid var(--fx-line);color:var(--fx-text)!important;font-weight:500}
.fx-case__result .fx-ico{flex:0 0 auto;width:20px;height:20px;padding:3px;border-radius:50%;background:rgba(61,220,151,.14);color:var(--fx-ok)}

/* --- Steps --- */
.fx-steps{--steps:0;position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none}
.fx-steps::before,.fx-steps::after{content:'';position:absolute;top:27px;left:12.5%;right:12.5%;height:2px;border-radius:2px}
.fx-steps::before{background:rgba(120,196,222,.14)}
.fx-steps::after{background:linear-gradient(90deg,var(--fx-blue-3),var(--fx-blue-2),var(--fx-sky));transform:scaleX(var(--steps));transform-origin:left;box-shadow:0 0 18px rgba(28,181,224,.7)}
.fx-step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center}
.fx-step__dot{display:grid;place-items:center;width:56px;height:56px;margin-bottom:22px;border-radius:50%;border:1px solid var(--fx-line-2);background:var(--fx-surface);color:var(--fx-text-2);font-family:var(--fx-mono);font-size:13px;font-weight:600;box-shadow:0 0 0 6px var(--fx-bg);transition:background .6s,color .6s,box-shadow .6s}
.fx-step.is-on .fx-step__dot{background:radial-gradient(circle at 50% 30%,#7FE0F8,#1CB5E0);color:#02131B;box-shadow:0 0 0 6px var(--fx-bg),0 0 50px -2px rgba(28,181,224,.9)}
.fx-step h3{margin:0 0 8px;color:#fff;font-size:1.2rem;font-weight:600;letter-spacing:-.02em}
.fx-step p{max-width:28ch;margin:0;color:var(--fx-text-2);font-size:14.5px;line-height:1.6}

/* --- News --- */
.fx-head--row .fx-h2{text-align:left}
.fx-news__meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.fx-news__meta .fx-tag{max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fx-news time{flex:0 0 auto;color:var(--fx-text-3);font-family:var(--fx-mono);font-size:12px}
.fx-news h3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fx-news p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:20px!important}
.fx-news .fx-link{margin-top:auto}

/* --- CTA --- */
.fx-section--cta{padding-bottom:var(--fx-section)}
.fx-section--cta::before{display:none!important}
.fx-home .sl-cta-section{overflow:visible}
.fx-cta{position:relative;display:flex;flex-direction:column;align-items:center;padding:clamp(56px,8vw,104px) clamp(22px,5vw,64px);border-radius:var(--fx-r-lg);border:1px solid var(--fx-line-2);background:radial-gradient(800px 400px at 50% 0%,rgba(28,181,224,.32),transparent 65%),var(--fx-glass);box-shadow:0 50px 120px -50px rgba(28,181,224,.8);text-align:center;overflow:hidden;isolation:isolate}
.fx-cta__grid{position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(120,196,222,.22) 1px,transparent 1.4px);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse 60% 80% at 50% 0%,#000,transparent 75%);mask-image:radial-gradient(ellipse 60% 80% at 50% 0%,#000,transparent 75%)}
.fx-cta .fx-pill{margin-bottom:20px}
.fx-cta .fx-h2{max-width:20ch}
.fx-cta .fx-lead{max-width:560px}
.fx-cta__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:34px}

/* --- Motion utilities (active only when framer.js runs; .fx-js is set in <head>) --- */
.fx-js [data-reveal]{opacity:0;transform:translate3d(0,24px,0);transition:opacity .9s var(--fx-ease),transform 1s var(--fx-ease);transition-delay:var(--d,0ms)}
.fx-js [data-reveal].is-in{opacity:1;transform:none}
.fx-js [data-split]:not(.is-split){opacity:0}
.is-split .w{display:inline-block;white-space:nowrap}
.is-split .w__i{display:inline-block;opacity:0;filter:blur(8px);transform:translate3d(0,.35em,0);transition:opacity .9s var(--fx-ease),filter .9s var(--fx-ease),transform 1s var(--fx-ease);transition-delay:calc(var(--i,0)*40ms)}
.is-split.is-in .w__i{opacity:1;filter:none;transform:none}
@media (prefers-reduced-motion:reduce){
  .fx-js [data-reveal],.fx-js [data-split],.is-split .w__i{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
  .fx-hero__glow{animation:none!important}
  .fx-steps{--steps:1}
}

/* --- Footer --- */
.site-footer{position:relative;margin:0 clamp(8px,1.2vw,16px) clamp(8px,1.2vw,16px);border:1px solid var(--fx-line)!important;border-radius:var(--fx-r-lg);background:radial-gradient(1000px 360px at 50% 0%,rgba(28,181,224,.12),transparent 70%),linear-gradient(180deg,#050F16,#02070C)!important;overflow:hidden}
.site-footer::before{content:'';position:absolute;left:10%;right:10%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(158,227,247,.55),transparent)}
.footer-top{border-color:var(--fx-line)!important}
.footer-tagline{color:var(--fx-sky)!important;font-family:var(--fx-mono);font-size:11.5px!important;letter-spacing:.04em}
.footer-desc,.footer-addr{color:var(--fx-text-3)!important}
.footer-col-title{color:var(--fx-text-3)!important;font-family:var(--fx-mono)!important;font-size:11px!important;letter-spacing:.14em!important}
.footer-links a{color:var(--fx-text-2)!important}
.footer-links a:hover,.footer-legal a:hover{color:#fff!important}
.footer-phone{color:#fff!important;font-weight:600!important;letter-spacing:-.02em}
.footer-email{color:var(--fx-blue-2)!important}
.footer-bottom{border-color:var(--fx-line)!important}
.footer-copy,.footer-legal a{color:var(--fx-text-3)!important}

/* --- Contact popup --- */
.overlay{background:rgba(1,5,8,.72)!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.popup{border:1px solid var(--fx-line-2)!important;border-radius:var(--fx-r-lg)!important;background:radial-gradient(600px 260px at 50% 0%,rgba(28,181,224,.22),transparent 70%),linear-gradient(180deg,#0C2029,#06111A)!important;box-shadow:0 60px 140px -40px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.03)!important;color:var(--fx-text)}
.popup-head{background:transparent!important;border-color:var(--fx-line)!important}
.popup-tag{color:var(--fx-sky)!important;font-family:var(--fx-mono)}
.popup-title{color:#fff!important}
.popup-sub,.form-label{color:var(--fx-text-2)!important}
.popup-close{color:var(--fx-text-2)!important;background:rgba(255,255,255,.05)!important;border-radius:999px!important}
.form-input{border:1px solid var(--fx-line-2)!important;border-radius:14px!important;background:rgba(2,7,12,.6)!important;color:var(--fx-text)!important}
.form-input::placeholder{color:var(--fx-text-3)!important}
.form-input:focus{border-color:var(--fx-blue-2)!important;box-shadow:0 0 0 4px rgba(28,181,224,.2)!important;outline:none}
.form-check{color:var(--fx-text-2)!important}

/* --- Legacy buttons share the new grammar --- */
:is(.btn-primary,.form-submit,.hero-btn-primary){border:0!important;border-radius:999px!important;background:linear-gradient(180deg,#5ED8F7,#1CB5E0)!important;color:#02131B!important;font-family:var(--fx-font)!important;font-weight:600!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 0 0 1px rgba(94,208,242,.35),0 14px 40px -12px rgba(28,181,224,.85)!important;transition:transform .5s var(--fx-ease),box-shadow .35s!important}
:is(.btn-primary,.form-submit,.hero-btn-primary):hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 0 0 1px rgba(158,227,247,.55),0 20px 54px -12px rgba(28,181,224,1)!important}
:is(.btn-secondary,.hero-btn-secondary){border:1px solid var(--fx-line-2)!important;border-radius:999px!important;background:rgba(255,255,255,.04)!important;color:var(--fx-text)!important;font-family:var(--fx-font)!important;font-weight:600!important}
:is(.btn-secondary,.hero-btn-secondary):hover{background:rgba(255,255,255,.09)!important;border-color:rgba(158,227,247,.5)!important;color:#fff!important}

/* --- Responsive --- */
@media (max-width:1100px){
  .fx-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fx-hero__grid{grid-template-columns:1fr}
  .fx-hero__visual{max-width:680px;margin:0 auto;width:100%}
  .fx-about{grid-template-columns:1fr}
}
@media (max-width:900px){
  .fx-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fx-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}
  .fx-steps::before,.fx-steps::after{display:none}
  .fx-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fx-head--row{flex-direction:column;align-items:flex-start;gap:20px}
}
@media (max-width:600px){
  .fx-grid--2,.fx-grid--3,.fx-grid--4,.fx-steps{grid-template-columns:1fr}
  .fx-hero__title{font-size:calc(8.6vw + 2px)}
  .fx-hero__actions{display:grid}
  .fx-hero__actions .fx-btn,.fx-cta__actions .fx-btn{width:100%}
  .fx-cta__actions{display:grid;width:100%}
  .fx-why{flex-direction:column}
  .site-footer{margin:0 6px 6px}
}

/* News topics keep their own accent, as dark-mode chips. */
.insights-card{--chip-bg:rgba(28,181,224,.14);--chip-fg:#CFF2FC}
.insights-card--corporate-networks{--chip-bg:rgba(20,149,202,.18);--chip-fg:#9EE3F7}
.insights-card--server-platforms{--chip-bg:rgba(91,110,232,.2);--chip-fg:#C2CAFF}
.insights-card--cloud-workplace{--chip-bg:rgba(20,184,162,.18);--chip-fg:#93F0DF}
.insights-card--cybersecurity{--chip-bg:rgba(224,82,82,.18);--chip-fg:#FFB8B8}
.insights-card--unified-communications{--chip-bg:rgba(139,92,246,.2);--chip-fg:#D6C4FF}
.insights-card--it-services{--chip-bg:rgba(232,161,60,.18);--chip-fg:#FFD69C}
.insights-card--company-news{--chip-bg:rgba(124,147,163,.2);--chip-fg:#D0DCE3}
/* Page heads of the remaining templates (glossary, 404, people, profiles, articles). */
#main :is(.bp-page-hero,.editorial-article__hero,.person-profile > header,.people-index){position:relative;background:radial-gradient(900px 440px at 18% -12%,rgba(28,181,224,.20),transparent 65%),radial-gradient(rgba(120,196,222,.10) 1px,transparent 1.4px) 0 0/22px 22px,var(--fx-bg)!important}
#main :is(.bp-page-hero,.editorial-article__hero,.person-profile > header){border-bottom:1px solid var(--fx-line)}
#main .bp-page-hero{padding:clamp(48px,7vw,88px) 0 clamp(28px,4vw,44px)!important}
#main .bp-page-hero__title,#main .people-index h1{color:#fff!important;font-weight:600!important;letter-spacing:-.04em}
/* Bright sky fills keep dark text (white on light cyan is unreadable). */
#main :is(.step-num,.pagination a:hover,.pagination .current){color:#02131B!important}

/* ================================================================
   PAGE BLOCKS — clean templates (layouts/partials/blocks/*) fed by data/pages/<lang>/<slug>.json
   ================================================================ */
.footer-addr{margin-top:8px}
.fx-page{position:relative;font-family:var(--fx-font)}
.fx-block{padding:clamp(56px,7vw,96px) 0}
.fx-block+.fx-block{border-top:1px solid rgba(120,196,222,.07)}
.fx-block--tight{padding-top:clamp(28px,4vw,48px)}
.fx-block--cta{padding-bottom:clamp(72px,9vw,120px)}
.fx-head--left{align-items:flex-start;max-width:820px;margin:0 0 clamp(32px,4vw,48px);text-align:left}
.fx-head--left .fx-pill{margin-bottom:18px}
.fx-head--left .fx-h2{text-align:left}

/* Page head */
.fx-phero{position:relative;padding:clamp(40px,6vw,80px) 0 clamp(40px,5vw,64px);border-bottom:1px solid var(--fx-line);background:radial-gradient(900px 440px at 18% -12%,rgba(28,181,224,.20),transparent 65%),radial-gradient(rgba(120,196,222,.10) 1px,transparent 1.4px) 0 0/22px 22px,var(--fx-bg);overflow:hidden;isolation:isolate}
.fx-phero::after{content:'';position:absolute;right:-8%;top:-30%;z-index:-1;width:min(560px,60vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(28,181,224,.18),transparent);filter:blur(8px)}
.fx-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:22px;color:var(--fx-text-3);font-family:var(--fx-mono);font-size:12px}
.fx-crumbs a{color:var(--fx-text-2)}
.fx-crumbs a:hover{color:#fff}
.fx-crumbs [aria-current]{color:var(--fx-text-2)}
.fx-phero .fx-pill{margin-bottom:18px}
.fx-phero__title{max-width:18ch;margin:0;color:#fff;font-size:clamp(2.2rem,min(4.6vw,8vh),3.8rem);font-weight:600;line-height:1.04;letter-spacing:-.045em;text-wrap:balance}
.fx-phero__lead{max-width:720px;margin:18px 0 0;color:var(--fx-text-2);font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.65;text-wrap:pretty}
.fx-chips{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 0;padding:0;list-style:none}
.fx-chips li{padding:6px 12px;border:1px solid var(--fx-line-2);border-radius:999px;background:rgba(28,181,224,.08);color:#CFF2FC;font-family:var(--fx-mono);font-size:12px}
.fx-stats--hero{max-width:760px;margin-top:32px}

/* Cards */
.fx-bcard{gap:0}
.fx-bcard__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px}
.fx-bcard h3{margin-bottom:10px}
.fx-bcard p+p{margin-top:10px}
.fx-tag--hot{border-color:rgba(61,220,151,.4);background:rgba(61,220,151,.12);color:#9DF1CB}
.fx-checks{display:grid;gap:8px;margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--fx-line);list-style:none}
.fx-checks li{position:relative;padding-left:26px;color:var(--fx-text-2);font-size:14px;line-height:1.5}
.fx-checks li::before{content:'';position:absolute;left:0;top:2px;width:16px;height:16px;border-radius:50%;background:rgba(28,181,224,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239EE3F7' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4L18 8'/%3E%3C/svg%3E") center/10px no-repeat}
.fx-checks--lg{gap:12px;margin-top:24px;padding-top:0;border-top:0}
.fx-checks--lg li{padding-left:30px;color:var(--fx-text);font-size:15.5px}
.fx-checks--lg li::before{width:20px;height:20px;top:1px;background-size:12px}
.fx-bcard__note{margin-top:16px!important;padding-top:14px;border-top:1px dashed var(--fx-line);color:var(--fx-text-3)!important;font-size:13px!important}
.fx-bcard--cta{align-items:flex-start;text-align:left;cursor:pointer;font:inherit;border-color:var(--fx-line-2);background:radial-gradient(360px 200px at 0% 0%,rgba(28,181,224,.26),transparent 70%),var(--fx-glass)}
.fx-bcard--cta .fx-icon-box{margin-bottom:20px}
.fx-bcard--cta .fx-link{margin-top:auto;padding-top:16px}
.fx-note{display:grid;gap:6px;margin-top:18px;padding:18px 22px;border:1px solid var(--fx-line-2);border-left:3px solid var(--fx-blue);border-radius:var(--fx-r);background:radial-gradient(500px 180px at 0% 0%,rgba(28,181,224,.14),transparent 70%),var(--fx-glass)}
.fx-note strong{color:#fff}
.fx-note p{margin:0;color:var(--fx-text-2);font-size:14.5px;line-height:1.6}

/* Steps with 3-6 items */
.fx-steps--n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fx-steps--n3::before,.fx-steps--n3::after{left:16.66%;right:16.66%}
.fx-steps--n5{grid-template-columns:repeat(5,minmax(0,1fr))}
.fx-steps--n5::before,.fx-steps--n5::after{left:10%;right:10%}
.fx-steps--n6{grid-template-columns:repeat(6,minmax(0,1fr))}
.fx-steps--n6::before,.fx-steps--n6::after{left:8.33%;right:8.33%}

/* Use cases: checklist + side CTA */
.fx-usecase{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,5vw,72px);align-items:center}
.fx-usecase__side{padding:clamp(24px,3vw,36px);border-color:var(--fx-line-2);background:radial-gradient(420px 220px at 100% 0%,rgba(28,181,224,.24),transparent 70%),var(--fx-glass)}
.fx-usecase__side h3{font-size:clamp(1.25rem,1.8vw,1.5rem)}
.fx-usecase__side .fx-btn{width:100%;margin-top:22px}
.fx-usecase__note{margin-top:14px!important;color:var(--fx-text-3)!important;font-size:13px!important;text-align:center}

/* Timeline */
.fx-timeline{position:relative;display:grid;gap:14px;margin:0;padding:0 0 0 0;list-style:none}
.fx-timeline::before{content:'';position:absolute;left:96px;top:10px;bottom:10px;width:2px;background:linear-gradient(180deg,var(--fx-blue),rgba(28,181,224,.08))}
.fx-timeline__item{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr);gap:28px;align-items:start}
.fx-timeline__year{position:relative;padding-top:20px;color:var(--fx-sky);font-family:var(--fx-mono);font-size:13px;font-weight:600}
.fx-timeline__year::after{content:'';position:absolute;right:-5px;top:24px;width:10px;height:10px;border-radius:2px;background:var(--fx-sky);box-shadow:0 0 0 4px var(--fx-bg),0 0 14px var(--fx-blue);transform:translateX(50%)}
.fx-timeline__card{padding:20px 24px}

/* Product sheet */
.fx-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.fx-product__main{display:grid;gap:16px}
.fx-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.fx-specs__group{padding:14px 16px;border:1px solid var(--fx-line);border-radius:14px;background:rgba(255,255,255,.035)}
.fx-specs__title{display:block;margin-bottom:8px;color:var(--fx-sky);font-family:var(--fx-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.fx-specs ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.fx-specs li{color:var(--fx-text-2);font-size:13.5px}
.fx-specs__dbms{margin-top:12px;padding:14px 16px;border:1px solid var(--fx-line);border-radius:14px}
.fx-specs__dbms p{margin:0;color:var(--fx-text);font-size:14px}
.fx-features{display:grid;gap:16px;margin:16px 0 0;padding:0;list-style:none}
.fx-features li{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}
.fx-features strong{display:block;margin-bottom:4px;color:#fff;font-weight:600}
.fx-features p{margin:0;color:var(--fx-text-2);font-size:14px;line-height:1.55}

/* CTA band */
.fx-band{position:relative;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:clamp(28px,4vw,48px);border:1px solid var(--fx-line-2);border-radius:var(--fx-r-lg);background:radial-gradient(700px 260px at 0% 0%,rgba(28,181,224,.28),transparent 70%),radial-gradient(rgba(120,196,222,.16) 1px,transparent 1.4px) 0 0/22px 22px,var(--fx-glass);box-shadow:0 40px 100px -50px rgba(28,181,224,.8);overflow:hidden;isolation:isolate}
.fx-band__title{margin:0;color:#fff;font-size:clamp(1.5rem,2.4vw,2.1rem);font-weight:600;letter-spacing:-.035em}
.fx-band__copy p{margin:10px 0 0;color:var(--fx-text-2)}
.fx-band .fx-btn{flex:0 0 auto}

/* Contact page */
.fx-ccard{gap:6px;font:inherit;text-align:left;text-decoration:none}
.fx-ccard .fx-icon-box{margin-bottom:16px}
.fx-ccard__label{color:var(--fx-text-3);font-family:var(--fx-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.fx-ccard__value{color:#fff;font-size:1.08rem;font-weight:600;line-height:1.4}
.fx-ccard__note{color:var(--fx-text-3);font-size:13px}
.fx-ccard--action{cursor:pointer;border-color:var(--fx-line-2)}
.fx-formpanel__fields{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.fx-formpanel__fields li{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--fx-line);border-radius:12px;background:rgba(255,255,255,.04);color:var(--fx-text)}
.fx-faq{display:grid;gap:10px;max-width:860px}
.fx-faq__item{border:1px solid var(--fx-line);border-radius:var(--fx-r);background:var(--fx-glass);transition:border-color .3s}
.fx-faq__item[open]{border-color:var(--fx-line-2)}
.fx-faq__item summary{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;color:#fff;font-weight:600;cursor:pointer;list-style:none}
.fx-faq__item summary::-webkit-details-marker{display:none}
.fx-faq__plus{position:relative;flex:0 0 auto;width:28px;height:28px;border:1px solid var(--fx-line-2);border-radius:50%}
.fx-faq__plus::before,.fx-faq__plus::after{content:'';position:absolute;left:50%;top:50%;width:11px;height:1.6px;border-radius:2px;background:var(--fx-sky);transform:translate(-50%,-50%);transition:transform .3s var(--fx-ease)}
.fx-faq__plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.fx-faq__item[open] .fx-faq__plus::after{transform:translate(-50%,-50%) rotate(0)}
.fx-faq__item p{margin:0;padding:0 22px 20px;color:var(--fx-text-2);line-height:1.65}

/* Legal text */
.fx-prose{max-width:860px;padding:clamp(24px,4vw,48px)}
.fx-prose h2{margin:32px 0 12px;color:#fff;font-size:1.25rem;font-weight:600;letter-spacing:-.02em}
.fx-prose h2:first-child{margin-top:0}
.fx-prose p,.fx-prose li{color:var(--fx-text-2);line-height:1.75}
.fx-prose ul{display:grid;gap:6px;margin:0 0 16px;padding-left:20px}
.fx-prose li::marker{color:var(--fx-sky)}
.fx-prose a{color:var(--fx-blue-2)}

@media (max-width:1100px){
  .fx-product,.fx-usecase{grid-template-columns:1fr}
}
@media (max-width:900px){
  .fx-steps--n3,.fx-steps--n5,.fx-steps--n6{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fx-band{flex-direction:column;align-items:flex-start}
  .fx-specs{grid-template-columns:1fr}
}
@media (max-width:600px){
  .fx-steps--n3,.fx-steps--n5,.fx-steps--n6{grid-template-columns:1fr}
  .fx-timeline::before{left:0}
  .fx-timeline__item{grid-template-columns:1fr;gap:8px;padding-left:22px}
  .fx-timeline__year{padding-top:0}
  .fx-timeline__year::after{left:-22px;right:auto;top:4px;transform:translateX(-50%)}
  .fx-band .fx-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){.fx-pill::before{animation:none!important}}
