/* ================================================================
   Softline — framer.css
   Dark "control room" layer inspired by Framer AI templates: deep navy,
   electric-blue glow, glass surfaces, centred section heads, live UI cards.
   Loaded after softline.css, static-port.css, page styles and design-system.css,
   so it re-themes the shared tokens and components without rewriting them.
   ================================================================ */

@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}

/* --- Tokens: the dark palette also re-maps the legacy design-system tokens --- */
:root{
  --fx-bg:#03060E;
  --fx-bg-2:#060B19;
  --fx-surface:#0A1326;
  --fx-surface-2:#0E1A33;
  --fx-glass:linear-gradient(180deg,rgba(22,38,78,.55),rgba(9,16,34,.72));
  --fx-line:rgba(128,166,240,.14);
  --fx-line-2:rgba(128,172,255,.28);
  --fx-text:#EAF0FA;
  --fx-text-2:rgba(222,232,248,.74);
  --fx-text-3:rgba(222,232,248,.57);
  --fx-blue:#2F7BFF;
  --fx-blue-2:#6FA9FF;
  --fx-blue-3:#1A55D6;
  --fx-sky:#8FC7FF;
  --fx-brand:#147DBB;
  --fx-ok:#3DDC97;
  --fx-warn:#FFB547;
  --fx-grad:linear-gradient(95deg,#B9DCFF 0%,#6FA9FF 38%,#2F7BFF 72%,#4F6BFF 100%);
  --fx-glow:0 0 0 1px rgba(111,169,255,.28),0 18px 60px -18px rgba(47,123,255,.65);
  --fx-r:20px;
  --fx-r-lg:28px;
  --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:1320px;
  --fx-gutter:clamp(16px,3.5vw,32px);
  --fx-section:clamp(88px,10vw,140px);
  --fx-header-h:76px;
  --fx-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  --fx-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");

  /* legacy design-system tokens, re-mapped to the dark system */
  --c-primary:#0E1A33;
  --c-dark:#060B19;
  --c-darker:#03060E;
  --c-accent:#4D8FFF;
  --c-accent-hover:#7AAEFF;
  --c-accent-glow:rgba(47,123,255,.22);
  --c-accent-subtle:rgba(47,123,255,.12);
  --c-accent-border:rgba(111,169,255,.32);
  --c-bg:#03060E;
  --c-surface:#0A1326;
  --c-text:#EAF0FA;
  --c-text-secondary:rgba(222,232,248,.72);
  --c-text-muted:rgba(222,232,248,.60);
  --c-border:rgba(128,166,240,.16);
  --c-divider:rgba(128,166,240,.10);
  --c-success:#3DDC97;
  --c-warn:#FF8A8F;
  --c-warn-bg:rgba(255,138,143,.10);
  --shadow-md:0 10px 30px -12px rgba(0,0,0,.6);
  --shadow-lg:0 24px 60px -20px rgba(0,0,0,.75);
  --font:var(--fx-font);
  --mono:var(--fx-mono);
  --sl-ink:#EAF0FA;
  --sl-bg:#03060E;
  --sl-line:rgba(128,166,240,.16);
  --premium-border:rgba(128,166,240,.16);
  --premium-shadow:0 24px 60px -20px rgba(0,0,0,.75);
  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(47,123,255,.10),transparent 60%)}
::selection{background:rgba(47,123,255,.35);color:#fff}
:focus-visible{outline:2px solid var(--fx-blue-2);outline-offset:3px}
#main{background:transparent}

/* --- Header: transparent over the hero, glass bar once condensed --- */
.header{position:sticky;top:0;z-index:100;background:transparent!important;border-bottom:1px solid transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none;backdrop-filter:none;transition:background .4s var(--fx-ease),border-color .4s,box-shadow .4s}
.header.is-condensed{background:rgba(4,8,18,.78)!important;border-bottom-color:var(--fx-line)!important;-webkit-backdrop-filter:blur(20px) saturate(1.5);backdrop-filter:blur(20px) saturate(1.5);box-shadow:0 12px 40px -18px rgba(0,0,0,.8)!important}
.header .container,.header-inner{max-width:var(--fx-wrap)}
.header-inner{height:var(--fx-header-h)!important}
.header.is-condensed .header-inner{height:64px!important}
.logo-svg{height:30px}
.nav{gap:2px}
.nav > a.nav-item,.nav-trigger{color:rgba(222,232,248,.72)!important;background:transparent!important;border-radius:999px!important;font-weight:500!important;padding:8px 14px!important;letter-spacing:-.005em}
.nav > a.nav-item:hover,.nav-trigger:hover,.nav-trigger:focus-visible{color:#fff!important;background:rgba(255,255,255,.06)!important}
.nav > a.nav-item::before,.nav-trigger::before{background:var(--fx-blue-2)!important;bottom:3px!important;left:50%!important;right:auto!important;width:4px;height:4px!important;border-radius:50%;transform:translateX(-50%) scale(0)!important;transition:transform .3s var(--fx-ease)!important}
.nav>a.nav-item.is-current,.nav-item.has-sub.is-active .nav-trigger{color:#fff!important;background:rgba(255,255,255,.06)!important}
.nav>a.nav-item.is-current::before,.nav-item.has-sub.is-active .nav-trigger::before{transform:translateX(-50%) scale(1)!important;background:var(--fx-blue-2)!important;box-shadow:0 0 8px var(--fx-blue-2)}
.nav-trigger::after{border-color:rgba(222,232,248,.6)!important}
.nav-item.has-sub.is-active .nav-trigger::after{border-color:#fff!important}
.dropdown{background:rgba(8,14,30,.96)!important;border:1px solid var(--fx-line-2)!important;border-radius:18px!important;box-shadow:0 30px 70px -20px rgba(0,0,0,.85),0 0 0 1px rgba(47,123,255,.08)!important;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.dropdown::before{display:none!important}
.dropdown a{color:rgba(222,232,248,.75)!important;border-radius:10px!important}
.dropdown a:hover,.dropdown a.is-current{background:rgba(47,123,255,.14)!important;color:#fff!important}
.lang-switch{background:rgba(255,255,255,.04)!important;border:1px solid var(--fx-line)!important;border-radius:999px!important}
.lang-option{color:rgba(222,232,248,.55)!important;border-radius:999px!important;font-family:var(--fx-mono);font-size:11px!important;letter-spacing:.06em}
.lang-option:not(.is-active):hover{color:#fff!important;background:rgba(255,255,255,.06)!important}
.lang-option.is-active{background:rgba(255,255,255,.12)!important;color:#fff!important;box-shadow:none!important}
.btn-header{background:#fff!important;color:#050A16!important;border-radius:999px!important;padding:10px 20px!important;font-weight:600!important;box-shadow:0 10px 30px -10px rgba(111,169,255,.55)!important}
.btn-header:hover{background:#DCEBFF!important;transform:translateY(-1px)}
.mobile-toggle span{background:#fff!important}
.skip-link{background:var(--fx-blue)!important;color:#fff!important}

/* --- Buttons (new layer) --- */
.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:#fff;background:linear-gradient(180deg,#3F82F8,#1F58E0);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 0 0 1px rgba(111,169,255,.35),0 14px 40px -12px rgba(47,123,255,.85)}
.fx-btn--primary:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 0 0 1px rgba(143,199,255,.55),0 20px 54px -12px rgba(47,123,255,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(143,199,255,.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(47,123,255,.16),rgba(47,123,255,.04));color:#CFE3FF;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--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(47,123,255,.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(47,123,255,.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(47,123,255,.22),rgba(47,123,255,.06));color:var(--fx-sky);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 8px 24px -10px rgba(47,123,255,.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(47,123,255,.1);color:#CFE3FF;font-size:12px;font-weight:500}

/* --- HERO --- */
.fx-hero{position:relative;display:flex;flex-direction:column;min-height:min(980px,100svh);margin-top:calc(-1*var(--fx-header-h));padding-top:calc(var(--fx-header-h) + clamp(24px,5vh,96px));overflow:hidden;isolation:isolate}
.fx-hero::before{content:'';position:absolute;inset:0;z-index:-3;background-image:linear-gradient(rgba(128,166,240,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(128,166,240,.07) 1px,transparent 1px);background-size:72px 72px;background-position:center top;-webkit-mask:radial-gradient(ellipse 70% 60% at 50% 30%,#000 10%,transparent 75%);mask:radial-gradient(ellipse 70% 60% at 50% 30%,#000 10%,transparent 75%)}
.fx-hero::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background-image:var(--fx-noise);opacity:.05;mix-blend-mode:overlay}
.fx-hero__helix{position:absolute;inset:0;z-index:-1;width:100%;height:100%;-webkit-mask:radial-gradient(ellipse 34% 30% at 50% 50%,transparent 35%,#000 80%);mask:radial-gradient(ellipse 34% 30% at 50% 50%,transparent 35%,#000 80%)}
.fx-hero__glow{position:absolute;left:50%;top:-20%;z-index:-2;width:min(1100px,120vw);aspect-ratio:1.6;border-radius:50%;background:radial-gradient(closest-side,rgba(47,123,255,.32),rgba(26,85,214,.12) 55%,transparent);transform:translateX(-50%);filter:blur(10px);animation:fx-breathe 9s ease-in-out infinite alternate}
@keyframes fx-breathe{to{transform:translateX(-50%) scale(1.08);opacity:.8}}
/* The horizon is anchored to the proof block, so it always clears the statement at any width. */
.fx-proof__statement::before{content:"";position:absolute;left:50%;top:-38px;z-index:-1;width:max(170vw,2600px);height:1100px;border-radius:50%;transform:translateX(-50%);background:radial-gradient(closest-side,#03060E 97%,transparent);box-shadow:0 -2px 0 rgba(143,199,255,.55),0 -30px 80px -10px rgba(47,123,255,.55),0 -120px 200px -40px rgba(47,123,255,.35);pointer-events:none}
.fx-hero__inner{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}
.fx-hero__badge{margin-bottom:clamp(18px,3vh,28px)}
.fx-hero__badge svg{flex:0 0 auto}
.fx-hero__title{max-width:none;margin:0;color:#fff;font-family:var(--fx-font);font-size:clamp(2.4rem,min(6.2vw,9.6vh),5.6rem);font-weight:600;line-height:1;letter-spacing:-.055em;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:780px;margin:clamp(16px,2.6vh,26px) 0 0;color:var(--fx-text-2);font-size:clamp(1.02rem,1.35vw,1.2rem);line-height:1.6}
.fx-hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:clamp(24px,4vh,38px)}
.fx-proof{position:relative;display:flex;flex-direction:column;align-items:center;gap:clamp(14px,2.4vh,22px);margin-top:auto;padding-top:clamp(60px,7vh,112px);padding-bottom:clamp(18px,3vh,28px);text-align:center}
.fx-proof__statement{position:relative;margin:0;color:var(--fx-text-3);font-size:13px;letter-spacing:.02em}
.fx-proof__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(860px,100%);border:1px solid var(--fx-line);border-radius:22px;background:rgba(6,11,25,.55);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:hidden}
.fx-proof__stat{display:flex;flex-direction:column;gap:4px;padding:clamp(12px,2vh,18px) 12px}
.fx-proof__stat+.fx-proof__stat{border-left:1px solid var(--fx-line)}
.fx-proof__stat strong{color:#fff;font-size:clamp(1.5rem,2.4vw,2.1rem);font-weight:600;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.fx-proof__stat span{color:var(--fx-text-3);font-size:12.5px}
.fx-marquee{position:relative;z-index:1;border-top:1px solid var(--fx-line);background:rgba(3,6,14,.5);overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.fx-marquee__track{display:flex;width:max-content}
.fx-marquee.is-ready .fx-marquee__track{animation:fx-marquee var(--marquee-dur,40s) linear infinite}
.fx-marquee:hover .fx-marquee__track{animation-play-state:paused}
@keyframes fx-marquee{to{transform:translate3d(-50%,0,0)}}
.fx-marquee__item{display:inline-flex;align-items:center;gap:26px;padding:20px 0 20px 26px;color:var(--fx-text-3);font-size:15px;font-weight:500;text-decoration:none;white-space:nowrap;transition:color .3s}
.fx-marquee__item:hover{color:#fff}
.fx-marquee__item::after{content:'';width:5px;height:5px;border-radius:50%;background:var(--fx-blue-2);box-shadow:0 0 10px var(--fx-blue-2)}

/* --- Control bento with live UI cards --- */
.fx-bento{display:grid;gap:16px}
.fx-bento--4{grid-template-columns:repeat(2,minmax(0,1fr))}
.fx-bento .fx-card{padding:0}
.fx-ui{position:relative;margin:14px 14px 0;padding:20px;border-radius:16px;border:1px solid var(--fx-line);background:linear-gradient(180deg,rgba(3,6,14,.65),rgba(10,19,38,.5));min-height:210px;overflow:hidden}
.fx-ui::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(128,166,240,.12) 1px,transparent 1.2px);background-size:14px 14px;-webkit-mask:linear-gradient(180deg,#000,transparent 80%);mask:linear-gradient(180deg,#000,transparent 80%);pointer-events:none}
.fx-ui>*{position:relative}
.fx-ui__title{margin-bottom:14px;color:var(--fx-text-3);font-family:var(--fx-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.fx-card__body{display:flex;flex-direction:column;gap:6px;padding:22px 26px 26px}
.fx-card__body .fx-icon-box{margin-bottom:10px}
.fx-ui-stages{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.fx-ui-stages li{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:12px;padding:11px 14px;border-radius:12px;border:1px solid var(--fx-line);background:rgba(255,255,255,.025);font-size:13.5px}
.fx-ui-stages i{width:14px;height:14px;border-radius:50%;border:1.5px solid rgba(222,232,248,.3)}
.fx-ui-stages b{color:var(--fx-text);font-weight:500}
.fx-ui-stages em{color:var(--fx-text-3);font-family:var(--fx-mono);font-size:11px;font-style:normal}
.fx-ui-stages .is-done i{border-color:var(--fx-ok);background:var(--fx-ok);box-shadow:0 0 10px rgba(61,220,151,.6)}
.fx-ui-stages .is-done em{color:var(--fx-ok)}
.fx-ui-stages .is-active{border-color:var(--fx-line-2);background:rgba(47,123,255,.1)}
.fx-ui-stages .is-active i{border-color:var(--fx-blue-2);box-shadow:0 0 0 4px rgba(47,123,255,.2);animation:fx-pulse 1.8s ease-in-out infinite}
.fx-ui-stages .is-active em{color:var(--fx-blue-2)}
@keyframes fx-pulse{50%{box-shadow:0 0 0 8px rgba(47,123,255,0)}}
.fx-ui-progress{grid-column:1/-1;display:block;height:4px;border-radius:4px;background:rgba(255,255,255,.07);overflow:hidden}
.fx-ui-progress span{display:block;width:64%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--fx-blue-3),var(--fx-blue-2));animation:fx-progress 3.6s var(--fx-ease) infinite}
@keyframes fx-progress{0%{width:18%}70%,100%{width:64%}}
.fx-gantt{position:relative;display:grid;gap:12px}
.fx-gantt__row{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:12px;font-size:12.5px;color:var(--fx-text-2)}
.fx-gantt__track{position:relative;height:22px;border-radius:7px;background:rgba(255,255,255,.04)}
.fx-gantt__track i{position:absolute;top:3px;bottom:3px;left:var(--a);width:var(--b);border-radius:6px;background:linear-gradient(90deg,var(--fx-blue-3),var(--fx-blue-2));box-shadow:0 0 18px -4px rgba(47,123,255,.9);transform-origin:left;animation:fx-grow 1.4s var(--fx-ease) both}
.fx-gantt__row:nth-child(2) .fx-gantt__track i{animation-delay:.15s}
.fx-gantt__row:nth-child(3) .fx-gantt__track i{animation-delay:.3s}
.fx-gantt__row:nth-child(4) .fx-gantt__track i{animation-delay:.45s;opacity:.45}
@keyframes fx-grow{from{transform:scaleX(0)}}
.fx-gantt__today{position:absolute;top:-6px;bottom:-4px;left:calc(122px + (100% - 122px)*.62);width:1px;background:linear-gradient(180deg,var(--fx-warn),transparent)}
.fx-gantt__today span{position:absolute;top:-16px;left:50%;padding:2px 7px;border-radius:999px;background:var(--fx-warn);color:#141006;font-family:var(--fx-mono);font-size:9.5px;font-weight:700;transform:translateX(-50%);white-space:nowrap}
.fx-ui-checks{display:flex;align-items:center;gap:22px}
.fx-ui-checks__shield{display:grid;place-items:center;flex:0 0 auto;width:86px;height:86px;border-radius:24px;background:radial-gradient(circle at 50% 30%,rgba(47,123,255,.45),rgba(47,123,255,.08) 70%);border:1px solid var(--fx-line-2);color:#fff;box-shadow:0 0 60px -10px rgba(47,123,255,.8)}
.fx-ui-checks__shield .fx-ico{width:40px;height:40px}
.fx-ui-checks__ico{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;border:1px solid var(--fx-line-2);background:linear-gradient(180deg,rgba(47,123,255,.22),rgba(47,123,255,.06));color:var(--fx-sky)}
.fx-ui-checks__ico .fx-ico{width:16px;height:16px}
.fx-ui-checks ul{display:grid;gap:10px;margin:0;padding:0;list-style:none;flex:1}
.fx-ui-checks li{display:grid;grid-template-columns:30px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:9px 12px 9px 9px;border-radius:11px;border:1px solid var(--fx-line);background:rgba(255,255,255,.025);color:var(--fx-text);font-size:13.5px}
.fx-ui-checks li i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:rgba(61,220,151,.16);color:var(--fx-ok)}
.fx-ui-checks li .fx-ico{width:13px;height:13px}
.fx-ui-result{display:flex;align-items:center;gap:24px;min-height:170px}
.fx-ring{position:relative;flex:0 0 auto;width:118px;height:118px}
.fx-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.fx-ring circle{fill:none;stroke:rgba(255,255,255,.07);stroke-width:6}
.fx-ring .fx-ring__bar{stroke:url(#none);stroke:var(--fx-blue-2);stroke-linecap:round;stroke-dasharray:170;stroke-dashoffset:170;animation:fx-ring 2.4s var(--fx-ease) .3s forwards}
@keyframes fx-ring{to{stroke-dashoffset:0}}
.fx-ring span{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:22px;font-weight:600;letter-spacing:-.03em}
.fx-ui-result b{display:block;color:#fff;font-size:18px;font-weight:600;letter-spacing:-.02em}
.fx-ui-result small{display:block;margin-top:6px;color:var(--fx-ok);font-family:var(--fx-mono);font-size:11.5px;letter-spacing:.04em}

/* --- Split + system panel --- */
.fx-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(36px,5vw,80px);align-items:center}
.fx-split__text .fx-pill{margin-bottom:20px}
.fx-split__text .fx-btn{margin-top:30px}
.fx-panel{position:relative;padding:8px;border-radius:var(--fx-r-lg);border:1px solid var(--fx-line-2);background:var(--fx-glass);box-shadow:0 40px 100px -40px rgba(47,123,255,.6);overflow:hidden;isolation:isolate}
.fx-panel__head{display:flex;align-items:center;gap:12px;padding:12px 14px 14px;color:#fff;font-size:14px}
.fx-panel__head b{font-weight:600}
.fx-dots{display:flex;gap:6px}
.fx-dots i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.14)}
.fx-status{margin-left:auto;padding:4px 10px;border-radius:999px;background:rgba(255,181,71,.14);color:var(--fx-warn);font-family:var(--fx-mono);font-size:11px;font-weight:600}
.fx-status--ok{background:rgba(61,220,151,.14);color:var(--fx-ok)}
.fx-alerts{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.fx-alerts li{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px;border-radius:16px;border:1px solid var(--fx-line);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.fx-alerts__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(255,181,71,.1);border:1px solid rgba(255,181,71,.22);color:var(--fx-warn)}
.fx-alerts__icon .fx-ico{width:19px;height:19px}
.fx-alerts b{display:block;color:#fff;font-size:15px;font-weight:600;letter-spacing:-.01em}
.fx-alerts p{margin:3px 0 0;color:var(--fx-text-2);font-size:13.5px;line-height:1.5}
.fx-alerts__pulse{width:8px;height:8px;border-radius:50%;background:var(--fx-warn);box-shadow:0 0 0 0 rgba(255,181,71,.6);animation:fx-alert 2.2s ease-out infinite;animation-delay:calc(var(--i)*.4s)}
@keyframes fx-alert{0%{box-shadow:0 0 0 0 rgba(255,181,71,.55)}80%,100%{box-shadow:0 0 0 10px rgba(255,181,71,0)}}

/* --- Steps timeline --- */
.fx-steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.fx-steps__line{position:absolute;top:27px;left:12.5%;right:12.5%;height:2px;background:rgba(128,166,240,.14);overflow:hidden}
.fx-steps__line span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--fx-blue-3),var(--fx-blue-2),var(--fx-sky));transform:scaleX(var(--steps,0));transform-origin:left;box-shadow:0 0 12px var(--fx-blue-2);transition:transform .2s linear}
.fx-step{display:flex;flex-direction:column;align-items:center;text-align:center}
.fx-step__node{position:relative;z-index:1;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;border:1px solid var(--fx-line-2);background:radial-gradient(circle at 50% 30%,#163170,#081227);color:#fff;font-family:var(--fx-mono);font-size:14px;font-weight:600;box-shadow:0 0 0 6px var(--fx-bg),0 0 40px -6px rgba(47,123,255,.8);transition:box-shadow .5s,background .5s}
.fx-step.is-on .fx-step__node{background:radial-gradient(circle at 50% 30%,#4C8EFF,#1A55D6);box-shadow:0 0 0 6px var(--fx-bg),0 0 50px -2px rgba(47,123,255,1)}
.fx-step__label{margin:22px 0 6px;color:var(--fx-blue-2);font-family:var(--fx-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.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}
.fx-principle{display:flex;align-items:flex-start;gap:16px;max-width:860px;margin:clamp(40px,5vw,64px) auto 0;padding:22px 26px;border-radius:20px;border:1px solid var(--fx-line-2);background:linear-gradient(90deg,rgba(47,123,255,.14),rgba(47,123,255,.03));color:var(--fx-text-2);font-size:15.5px;line-height:1.6}
.fx-principle strong{color:#fff}
.fx-principle__icon{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:50%;background:rgba(47,123,255,.2);color:var(--fx-sky)}
.fx-principle__icon .fx-ico{width:18px;height:18px}

/* --- Features & results --- */
.fx-card--feature .fx-card__top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:44px}
.fx-results{position:relative;padding:clamp(32px,5vw,64px);border-radius:var(--fx-r-lg);border:1px solid var(--fx-line-2);background:radial-gradient(700px 300px at 50% 0%,rgba(47,123,255,.22),transparent 70%),var(--fx-glass);overflow:hidden;isolation:isolate}
.fx-results__head{display:flex;flex-direction:column;align-items:center;margin-bottom:44px;text-align:center}
.fx-results__head .fx-pill{margin-bottom:18px}
.fx-results__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.fx-results__item{display:flex;flex-direction:column;align-items:center;padding:6px 22px;text-align:center}
.fx-results__item+.fx-results__item{border-left:1px solid var(--fx-line)}
.fx-results__item h3{margin:20px 0 8px;color:#fff;font-size:1.1rem;font-weight:600;letter-spacing:-.02em}
.fx-results__item p{margin:0;color:var(--fx-text-2);font-size:14px;line-height:1.6}
.fx-glow-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:radial-gradient(circle at 50% 30%,rgba(111,169,255,.55),rgba(47,123,255,.12) 70%);color:#fff;box-shadow:0 0 0 1px rgba(143,199,255,.35),0 0 40px -6px rgba(47,123,255,.9)}
.fx-glow-icon .fx-ico{width:24px;height:24px}

/* --- Products --- */
.fx-card--product{min-height:300px;padding:30px}
.fx-card--product .fx-icon-box{margin-bottom:auto}
.fx-card--product h3{margin-top:48px;font-size:clamp(1.2rem,1.7vw,1.45rem);letter-spacing:-.03em}
.fx-card--product .fx-link{margin-top:22px}
.fx-card__glow{position:absolute;right:-30%;top:-40%;z-index:-1;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(47,123,255,.28),transparent);filter:blur(10px);transition:transform .8s var(--fx-ease),opacity .5s;opacity:.6}
.fx-card--product:hover .fx-card__glow{transform:translate(-20%,20%) scale(1.2);opacity:1}
.fx-card--mini{flex-direction:row;align-items:flex-start;gap:16px;padding:22px}
.fx-card--mini h3{margin-bottom:4px;font-size:1.02rem}
.fx-card--mini p{font-size:13.5px}

/* --- UnityBase panel --- */
.fx-panel--tech{padding:10px}
.fx-tech-chart{display:flex;align-items:flex-end;gap:6px;height:150px;margin:0 6px 10px;padding:16px;border-radius:16px;border:1px solid var(--fx-line);background:linear-gradient(180deg,rgba(47,123,255,.08),rgba(3,6,14,.5))}
.fx-tech-chart i{flex:1;height:var(--h);border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,var(--fx-sky),var(--fx-blue-3));opacity:.85;box-shadow:0 0 14px -4px rgba(47,123,255,.9);transform-origin:bottom;animation:fx-bar 2.8s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-.17s)}
@keyframes fx-bar{from{transform:scaleY(.72)}to{transform:scaleY(1)}}
.fx-tech-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.fx-tech-list li{display:flex;align-items:flex-start;gap:14px;padding:16px;border-radius:16px;border:1px solid var(--fx-line);background:rgba(3,6,14,.5)}
.fx-tech-list b{display:block;color:#fff;font-size:15px;font-weight:600}
.fx-tech-list p{margin:3px 0 0;color:var(--fx-text-2);font-size:13.5px;line-height:1.5}

/* --- Glowing orbs (trust numbers) --- */
.fx-orbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.fx-orb-item{display:flex;flex-direction:column;align-items:center;text-align:center}
.fx-orb{position:relative;display:grid;place-items:center;width:clamp(150px,15vw,200px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 28%,#5A9BFF 0%,#1E5BE6 38%,#0B2A86 70%,#061642 100%);box-shadow:inset 0 2px 0 rgba(255,255,255,.35),inset 0 -20px 40px rgba(3,6,14,.55),0 0 0 1px rgba(143,199,255,.25),0 30px 80px -20px rgba(47,123,255,.85);animation:fx-float 7s ease-in-out infinite;animation-delay:calc(var(--i)*-1.6s)}
.fx-orb::before{content:'';position:absolute;inset:-14px;border-radius:50%;border:1px solid rgba(143,199,255,.16)}
.fx-orb strong{color:#fff;font-size:clamp(2rem,3.4vw,2.8rem);font-weight:600;letter-spacing:-.05em;text-shadow:0 2px 20px rgba(0,0,0,.4);font-variant-numeric:tabular-nums}
@keyframes fx-float{50%{transform:translateY(-10px)}}
.fx-orb-item h3{margin:32px 0 8px;color:#fff;font-size:1.15rem;font-weight:600;letter-spacing:-.02em}
.fx-orb-item p{max-width:26ch;margin:0;color:var(--fx-text-2);font-size:14px;line-height:1.55}

/* --- Cases --- */
.fx-case{padding:0}
.fx-case__screen{position:relative;display:flex;align-items:center;justify-content:space-between;height:120px;padding:0 24px;margin:12px 12px 0;border-radius:14px;border:1px solid var(--fx-line);background:radial-gradient(260px 120px at 85% 0%,rgba(47,123,255,.4),transparent 70%),linear-gradient(180deg,#0B1834,#060C1C);overflow:hidden}
.fx-case__screen::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(128,166,240,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(128,166,240,.08) 1px,transparent 1px);background-size:22px 22px;-webkit-mask:linear-gradient(90deg,transparent,#000);mask:linear-gradient(90deg,transparent,#000)}
.fx-case__icon{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:rgba(47,123,255,.18);border:1px solid var(--fx-line-2);color:var(--fx-sky)}
.fx-case__icon .fx-ico{width:22px;height:22px}
.fx-case__metric{position:relative;color:#fff;font-size:clamp(1.15rem,1.7vw,1.5rem);font-weight:600;letter-spacing:-.03em;text-shadow:0 0 30px rgba(111,169,255,.6)}
.fx-case .fx-tag{margin:22px 24px 0}
.fx-case h3{margin:14px 24px 12px}
.fx-case__result{display:flex;gap:10px;margin:auto 24px 24px!important;padding-top:14px;border-top:1px solid var(--fx-line)}
.fx-case__result i{display:grid;place-items:center;flex:0 0 auto;width:20px;height:20px;margin-top:2px;border-radius:50%;background:rgba(61,220,151,.14);color:var(--fx-ok)}
.fx-case__result .fx-ico{width:12px;height:12px}

/* --- News --- */
.fx-news{padding:0}
.fx-news__img{display:block;aspect-ratio:1200/630;margin:10px 10px 0;border-radius:14px;overflow:hidden;background:var(--fx-surface-2)}
.fx-news__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--fx-ease)}
.fx-news:hover .fx-news__img img{transform:scale(1.05)}
.fx-news__body{display:flex;flex-direction:column;flex:1;padding:18px 22px 22px}
.fx-news time{color:var(--fx-text-3);font-family:var(--fx-mono);font-size:12px}
.fx-news h3{margin:10px 0 14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fx-news .fx-link{margin-top:auto}

/* --- CTA --- */
.fx-section--cta{padding-bottom:var(--fx-section)}
.fx-cta{position:relative;display:flex;flex-direction:column;align-items:center;padding:clamp(56px,8vw,110px) clamp(22px,5vw,64px) clamp(64px,9vw,130px);border-radius:var(--fx-r-lg);border:1px solid var(--fx-line-2);background:radial-gradient(800px 400px at 50% 0%,rgba(47,123,255,.3),transparent 65%),var(--fx-glass);text-align:center;overflow:hidden;isolation:isolate}
.fx-cta .fx-pill{margin-bottom:20px}
.fx-cta .fx-h2{max-width:20ch}
.fx-cta .fx-lead{max-width:560px}
.fx-cta .fx-btn{margin-top:34px}
.fx-cta__horizon{position:absolute;left:50%;bottom:-150%;z-index:-1;width:180%;height:180%;border-radius:50%;transform:translateX(-50%);background:radial-gradient(closest-side,#03060E 94%,transparent);box-shadow:0 -1px 0 rgba(143,199,255,.5),0 -30px 80px -20px rgba(47,123,255,.7)}

/* --- 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,.fx-orb,.fx-tech-chart i,.fx-alerts__pulse,.fx-ui-stages .is-active i,.fx-ui-progress span{animation:none!important}
  .fx-ring .fx-ring__bar{animation:none;stroke-dashoffset:0}
}

/* --- Footer: one dark surface with a giant fading wordmark --- */
.footer{position:relative;margin:0 clamp(8px,1vw,12px) clamp(8px,1vw,12px);padding:clamp(56px,7vw,90px) 0 28px!important;border:1px solid var(--fx-line);border-radius:var(--fx-r-lg);background:radial-gradient(900px 420px at 50% 120%,rgba(47,123,255,.32),transparent 65%),linear-gradient(180deg,#060B19,#03060E)!important;color:var(--fx-text-2)!important;overflow:hidden;isolation:isolate}
.footer .container{max-width:var(--fx-wrap)}
.footer-grid{gap:clamp(28px,4vw,56px)!important}
.footer-col h4{color:var(--fx-text-3)!important;font-family:var(--fx-mono);font-size:11.5px!important;font-weight:500!important;letter-spacing:.1em!important}
.footer-col a,.footer-ci a,.footer-bottom a{color:var(--fx-text-2)!important;transition:color .25s,transform .4s var(--fx-ease)}
.footer-col a:hover,.footer-ci a:hover,.footer-bottom a:hover{color:#fff!important}
.footer-col a:hover{transform:translateX(3px)}
.footer-address,.footer-ci{color:var(--fx-text-2)!important}
.footer-address strong{color:#fff!important}
.footer-bottom{position:relative;z-index:1;border-top-color:var(--fx-line)!important;color:var(--fx-text-3)!important}
.fx-footer-mark{position:relative;height:clamp(70px,13vw,190px);margin:clamp(32px,5vw,64px) 0 0;overflow:hidden;pointer-events:none}
.fx-footer-mark .logo-svg{display:block;width:100%;height:auto;max-width:none}

/* --- Mobile menu & back to top --- */
.mobile-nav{background:rgba(3,6,14,.72)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.mobile-nav-inner{background:linear-gradient(180deg,#0A1326,#03060E)!important;border-left:1px solid var(--fx-line)!important;color:var(--fx-text)!important}
.mobile-nav-inner ul li a,.mobile-nav-inner > a{color:var(--fx-text)!important;border-color:var(--fx-line)!important}
.mobile-nav-inner ul li a:hover,.mobile-nav-inner > a:hover{color:#fff!important;background:rgba(47,123,255,.12)!important}
.mobile-nav-inner ul ul li a{color:var(--fx-text-2)!important}
.mn-close{background:rgba(255,255,255,.06)!important;color:#fff!important;border-color:var(--fx-line)!important}
.btt{background:rgba(10,19,38,.85)!important;border:1px solid var(--fx-line-2)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px -10px rgba(47,123,255,.6)}
.btt:hover{background:var(--fx-blue)!important}

/* --- Responsive (home layer) --- */
@media (max-width:1100px){
  .fx-grid--4,.fx-orbs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fx-results__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 0}
  .fx-results__item:nth-child(3){border-left:0}
  .fx-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 20px}
  .fx-steps__line{display:none}
}
@media (max-width:900px){
  .fx-split,.fx-bento--4,.fx-grid--3{grid-template-columns:1fr}
  .fx-head--row{flex-direction:column;align-items:flex-start;gap:20px}
  .fx-proof__stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fx-proof__stat:nth-child(3){border-left:0}
  .fx-proof__stat:nth-child(n+3){border-top:1px solid var(--fx-line)}
}
@media (max-width:600px){
  .fx-grid--4,.fx-orbs,.fx-results__grid,.fx-steps{grid-template-columns:1fr}
  .fx-results__item+.fx-results__item{border-left:0;border-top:1px solid var(--fx-line);padding-top:26px}
  .fx-hero__actions{display:grid;width:100%}
  .fx-hero__actions .fx-btn{width:100%}
  .fx-gantt__row{grid-template-columns:86px 1fr}
  .fx-gantt__today{left:calc(98px + (100% - 98px)*.62)}
  .fx-ui-checks{flex-direction:column;align-items:stretch}
  .fx-ui-checks__shield{width:64px;height:64px}
  .fx-card--product{min-height:0}
}

/* ================================================================
   INNER PAGES — shared components re-expressed in the dark system
   ================================================================ */
#main{font-family:var(--fx-font)}
#main :is(h1,h2,h3,h4){letter-spacing:-.025em}

/* Regular-page hero: deep navy, top glow, grid, a glowing "planet" rim on the right. */
#main :is(.page-hero,.sl-page-hero,.person-profile__hero,.ub-hero,.article-hero){background:radial-gradient(900px 460px at 28% -12%,rgba(47,123,255,.30),transparent 65%),radial-gradient(600px 400px at 100% 110%,rgba(26,85,214,.22),transparent 60%),#03060E!important;border-bottom:1px solid var(--fx-line)!important;isolation:isolate}
#main :is(.page-hero,.sl-page-hero,.person-profile__hero,.ub-hero){min-height:clamp(300px,46vh,440px);padding:clamp(48px,8vh,88px) 0 clamp(56px,9vh,96px)}
/* Phones: size the title so its longest line ("та системна інтеграція", ~10.9em) fits — two lines, not three. */
@media (max-width:767px){.fx-hero__title{font-size:calc(8.9vw - 3px)}}
@media (min-width:1025px){#main .page-hero :is(.page-hero-content,.phc){width:min(64%,780px)}}
/* Legacy content kept 64px of bottom padding for the old wave; the dark hero has no wave. */
#main .page-hero :is(.page-hero-content,.phc){padding-bottom:0!important}
/* Legacy mobile rule hid <br> in hero titles and glued words together ("задачідо"). */
@media (max-width:640px){#main .page-hero h1 br{display:inline}}
#main :is(.page-hero,.sl-page-hero,.person-profile__hero,.ub-hero,.article-hero)::before{background-image:linear-gradient(rgba(128,166,240,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(128,166,240,.07) 1px,transparent 1px)!important;background-size:64px 64px!important;-webkit-mask-image:radial-gradient(ellipse 60% 90% at 30% 0%,#000 10%,transparent 75%)!important;mask-image:radial-gradient(ellipse 60% 90% at 30% 0%,#000 10%,transparent 75%)!important}
#main :is(.page-hero,.sl-page-hero,.person-profile__hero)::after{content:""!important;display:block!important;position:absolute;right:max(-180px,-12vw);top:50%;z-index:-1;width:clamp(360px,42vw,620px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(47,123,255,.20),rgba(3,6,14,0) 62%);box-shadow:inset 0 0 0 1px rgba(143,199,255,.22),inset 30px 0 80px -30px rgba(111,169,255,.45),0 0 120px -30px rgba(47,123,255,.55);transform:translateY(-50%);pointer-events:none}
#main :is(.page-hero,.sl-page-hero,.person-profile__hero,.ub-hero,.article-hero) h1{color:#fff!important;font-family:var(--fx-font);font-size:clamp(2.2rem,min(4.4vw,7.6vh),3.9rem)!important;font-weight:600!important;line-height:1.04!important;letter-spacing:-.045em!important;text-wrap:balance}
#main .article-hero h1{font-size:clamp(1.9rem,3.4vw,3rem)!important;line-height:1.1!important}
#main :is(.page-hero .page-hero-sub,.page-hero p,.sl-page-hero p,.article-hero__lead,.person-profile__hero p){color:var(--fx-text-2)!important;font-size:clamp(1rem,1.3vw,1.15rem)}
#main :is(.page-hero .breadcrumb,.article-hero .sl-breadcrumb,.sl-page-hero .sl-breadcrumb,.person-profile .sl-breadcrumb){color:var(--fx-text-3)!important;font-family:var(--fx-mono);font-size:12px;letter-spacing:.02em}
#main :is(.page-hero .breadcrumb,.article-hero .sl-breadcrumb,.sl-page-hero .sl-breadcrumb,.person-profile .sl-breadcrumb) a{color:var(--fx-text-2)!important}
#main :is(.page-hero .breadcrumb,.article-hero .sl-breadcrumb,.sl-page-hero .sl-breadcrumb) a:hover{color:#fff!important}
#main :is(.breadcrumb,.sl-breadcrumb) :is(span,a){opacity:1!important}
#main :is(.breadcrumb,.sl-breadcrumb) span{color:var(--fx-text-3)!important}
#main :is(.breadcrumb,.sl-breadcrumb) span:last-child{color:var(--fx-text-2)!important}
#main .page-hero-wave,#main .phw{display:none!important}

/* Section rhythm: legacy sections sit on the night background. */
#main :is(.svc-main,.dir-content,.directions,.ct-section,.legal,.news-section){background:transparent!important}
/* Section labels: the same glowing pill as the home page, not a separate mono caption. */
#main .sl{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:6px 13px;border:1px solid var(--fx-line-2);border-radius:999px;background:linear-gradient(180deg,rgba(47,123,255,.16),rgba(47,123,255,.04));color:#CFE3FF!important;font-family:var(--fx-font);font-size:12.5px;font-weight:500;line-height:1.2;letter-spacing:.01em;text-transform:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
#main .sl::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--fx-blue-2);box-shadow:0 0 10px var(--fx-blue-2)}
#main :is(.st,.section-title){color:#fff!important;font-weight:600!important;line-height:1.1;letter-spacing:-.04em;text-wrap:balance}

/* Cards: one glass grammar everywhere. */
#main :is(.dir-card,.svc-main,.svc-sidebar,.feat-card,.why-point,.ctrl-card,.case-card,.news-card,.related-card,.article-toc,.article-pagination a,.article-author-card,.article-authors__fallback,.glossary-card,.career-card,.res-card,.prod-card,.trust-card,.whynot-card,.core-card,.sit-item,.appr-step,.tech-adv,.ct-card,.contact-card,.sl-card){background:var(--fx-glass)!important;border:1px solid var(--fx-line)!important;border-radius:var(--fx-r)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;color:var(--fx-text)}
#main :is(.dir-card,.feat-card,.why-point,.ctrl-card,.case-card,.news-card,.related-card,.article-pagination a,.article-author-card,.glossary-card,.career-card,.res-card,.prod-card,.trust-card,.whynot-card,.core-card,.sl-card):hover{border-color:var(--fx-line-2)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 30px 70px -30px rgba(47,123,255,.55)!important;transform:translateY(-4px)}
#main :is(.dir-card,.feat-card,.why-point,.ctrl-card,.case-card,.news-card,.related-card,.article-author-card,.glossary-card,.career-card) :is(h2,h3,h4){color:#fff!important}
#main :is(.dir-card,.feat-card,.why-point,.ctrl-card,.case-card,.news-card,.related-card,.glossary-card,.career-card) p{color:var(--fx-text-2)!important}

/* Buttons. */
#main :is(.btn-p,.svc-cta-btn,.ub-btn-primary,.ub-cta-btn,.sl-button,.cta-btn,.form-submit,.form-btn,.dir-cta-btn){min-height:48px;border-radius:999px!important;border:0!important;background:linear-gradient(180deg,#3F82F8,#1F58E0)!important;color:#fff!important;font-weight:600!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 0 0 1px rgba(111,169,255,.35),0 14px 40px -12px rgba(47,123,255,.85)!important;transition:transform .5s var(--fx-ease),box-shadow .35s!important}
#main :is(.btn-p,.svc-cta-btn,.ub-btn-primary,.ub-cta-btn,.sl-button,.cta-btn,.form-submit,.form-btn,.dir-cta-btn):hover{background:linear-gradient(180deg,#5B98FF,#2C6CF5)!important;transform:translateY(-2px)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 0 0 1px rgba(143,199,255,.55),0 20px 54px -12px rgba(47,123,255,1)!important}
#main :is(.btn-g,.ub-btn-ghost,.sl-button--ghost,.cases-btn){min-height:48px;border-radius:999px!important;border:1px solid var(--fx-line-2)!important;background:rgba(255,255,255,.04)!important;color:var(--fx-text)!important}
#main :is(.btn-g,.ub-btn-ghost,.sl-button--ghost,.cases-btn):hover{background:rgba(255,255,255,.09)!important;border-color:rgba(143,199,255,.5)!important}

/* Tags, filters, sub-navigation, pagination. */
#main :is(.nf-btn,.article-taxonomy a,.tag,.post-tag,.ub-tag,.tech-badge,.case-tag){border:1px solid var(--fx-line-2)!important;background:rgba(47,123,255,.1)!important;color:#CFE3FF!important;border-radius:999px!important}
#main :is(.nf-btn,.article-taxonomy a,.post-tag,.tech-badge):hover{background:rgba(47,123,255,.2)!important;color:#fff!important}
#main :is(.news-archive .nf-btn,.cases-filters .filter-btn).active,#main .nf-btn.active{background:linear-gradient(180deg,#4C8EFF,#2463F0)!important;border-color:transparent!important;color:#fff!important;box-shadow:0 8px 24px -10px rgba(47,123,255,.9)}
#main :is(.sub-nav,.news-filters,.cases-filters){background:rgba(4,8,18,.82)!important;border-color:var(--fx-line)!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
#main .sub-nav a{color:var(--fx-text-2)!important;border-radius:999px}
#main .sub-nav a:hover{color:#fff!important;background:rgba(255,255,255,.06)!important}
#main .sub-nav a.active{color:#fff!important;background:rgba(47,123,255,.16)!important;box-shadow:inset 0 0 0 1px var(--fx-line-2)}
#main .news-pag{background:rgba(10,19,38,.6)!important;border-color:var(--fx-line)!important}
#main .news-pag .page-numbers,.page-numbers{background:rgba(255,255,255,.03)!important;border-color:var(--fx-line)!important;color:var(--fx-text-2)!important;border-radius:999px!important}
#main .news-pag .page-numbers:hover:not(:disabled),.page-numbers:hover{background:rgba(47,123,255,.14)!important;color:#fff!important}
#main .news-pag .page-numbers.current,.page-numbers.current{background:linear-gradient(180deg,#4C8EFF,#2463F0)!important;border-color:transparent!important;color:#fff!important}

/* News cards keep the one brand visual — now a glowing night panel. */
#main :is(.nc-visual,.nc-visual--enterprise-ai,.nc-visual--secure-development,.nc-visual--data-registries,.nc-visual--process-automation,.nc-visual--enterprise-architecture,.nc-visual--company-news){background:radial-gradient(280px 140px at 85% 0%,rgba(47,123,255,.55),transparent 70%),linear-gradient(160deg,#0B1834,#060C1C)!important}
#main .news-card{background:var(--fx-glass)!important}
#main .news-archive .news-card{border-left:1px solid var(--fx-line)!important}

/* Conversion blocks. */
#main :is(.svc-cta-strip,.sl-cta,.article-cta > div,.ub-cta,.cta-inner){background:radial-gradient(800px 320px at 50% 0%,rgba(47,123,255,.28),transparent 70%),var(--fx-glass)!important;border:1px solid var(--fx-line-2)!important;border-radius:var(--fx-r-lg)!important;box-shadow:0 40px 100px -40px rgba(47,123,255,.55)!important}
#main .cta{background:transparent!important}
#main .cta-inner p{color:var(--fx-text-2)!important}
/* White text on the bright accent fails contrast; small solid badges use the deeper button blue. */
#main :is(.std-badge-pill,.ub-ui-btn--primary){background:linear-gradient(180deg,#3F82F8,#1F58E0)!important;color:#fff!important}

/* Forms. */
#main :is(input[type="text"],input[type="email"],input[type="tel"],input[type="search"],select,textarea,.form-input,.form-textarea,.form-select){background:rgba(3,6,14,.6)!important;border:1px solid var(--fx-line-2)!important;border-radius:14px!important;color:var(--fx-text)!important}
#main :is(input,select,textarea)::placeholder{color:var(--fx-text-3)!important}
#main :is(input,select,textarea):focus{border-color:var(--fx-blue-2)!important;box-shadow:0 0 0 4px rgba(47,123,255,.2)!important;outline:none}
#main label{color:var(--fx-text-2)}

/* Long-form reading: light text on night, generous measure. */
#main .news-article .article-reading .article-body,#main .article-body{color:rgba(226,234,248,.84)!important}
#main .article-body :is(h2,h3,h4){color:#fff!important}
#main .article-body a{color:var(--fx-blue-2)!important}
#main .article-body :is(strong,b){color:#fff}
#main .article-body blockquote{background:rgba(47,123,255,.1)!important;border-left-color:var(--fx-blue-2)!important;color:var(--fx-text)!important}
#main .article-body table th{background:rgba(47,123,255,.12)!important;color:#fff!important}
#main .article-body :is(table td,table th){border-color:var(--fx-line)!important}
#main .article-body code{background:rgba(255,255,255,.06)!important;color:#CFE3FF!important}
#main .expert-comment{background:var(--fx-glass)!important;border-color:var(--fx-line-2)!important;border-left-color:var(--fx-blue-2)!important;color:var(--fx-text)!important}

/* Inline legacy colours that pointed at the old dark tokens. */
#main [style*="color:var(--c-dark)"],#main [style*="color: var(--c-dark)"]{color:#fff!important}

/* Typography: one family. The legacy article layer pinned Segoe UI / Georgia. */
#main .news-article .article-hero h1,#main .news-article .article-reading .article-body,#main .news-article .article-reading .article-body :is(h2,h3,h4,p,li,blockquote){font-family:var(--fx-font)!important}
#main .sfng-expert-comment *{font-family:var(--fx-font)!important}
#main .news-article .article-reading .article-body{font-size:17px;line-height:1.75}

/* Intecracy Group mark on the about page: vector, no white plate. */
#main .intecracy-logo{display:inline-block;transition:opacity .3s,transform .5s var(--fx-ease);filter:drop-shadow(0 0 18px rgba(45,175,131,.25))}
#main .intecracy-logo:hover{opacity:.9;transform:translateY(-2px)}

/* ================================================================
   UNITYBASE — product landing in the same night system as the home page
   ================================================================ */
#main .theme-main :is(.ub-section,.ub-section.alt,.ub-fit){position:relative;background:transparent!important;padding:clamp(80px,9vw,128px) 0;scroll-margin-top:calc(var(--fx-header-h) + 64px)}
#main .theme-main .ub-section.alt::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(900px 420px at 50% 0%,rgba(47,123,255,.10),transparent 70%);pointer-events:none}
#main .theme-main :is(.ub-section,.ub-fit)+:is(.ub-section,.ub-fit,.ub-cta){border-top:1px solid var(--fx-line)}

/* Hero: same badge and stat-card language as the home hero. */
#main .theme-main .ub-hero-wrap{align-items:center;gap:clamp(32px,5vw,72px);grid-template-columns:minmax(0,1fr) minmax(300px,400px)}
#main .theme-main .ub-eyebrow{gap:8px;margin-bottom:clamp(18px,3vh,26px);padding:7px 14px;border:1px solid var(--fx-line-2)!important;background:linear-gradient(180deg,rgba(47,123,255,.16),rgba(47,123,255,.04))!important;color:#CFE3FF!important;font-size:12.5px;font-weight:500;letter-spacing:.01em;text-transform:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
#main .theme-main .ub-eyebrow-dot{background:var(--fx-blue-2);box-shadow:0 0 10px var(--fx-blue-2)}
#main .theme-main .ub-hero h1 .accent{background:var(--fx-grad);-webkit-background-clip:text;background-clip:text;color:transparent!important}
#main .theme-main .ub-hero-sub{color:var(--fx-text-2)!important}
#main .theme-main .ub-hero-sub strong{color:#fff!important}
#main .theme-main .ub-hero-actions{gap:12px}
#main .theme-main .ub-hero-trust{color:var(--fx-text-3)!important;border-color:var(--fx-line)!important}
#main .theme-main .ub-hero-trust svg{stroke:var(--fx-ok)!important}
#main .theme-main .ub-hero-stat{position:relative;padding:clamp(24px,3vw,32px);border:1px solid var(--fx-line-2)!important;border-radius:var(--fx-r-lg)!important;background:radial-gradient(420px 220px at 80% 0%,rgba(47,123,255,.26),transparent 70%),var(--fx-glass)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 40px 90px -40px rgba(47,123,255,.7)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
#main .theme-main .ub-hero-stat-label{color:var(--fx-sky)!important;font-family:var(--fx-mono);letter-spacing:.12em}
#main .theme-main .ub-hero-stat-num{color:#fff!important;font-family:var(--fx-font);font-weight:600;letter-spacing:-.05em}
#main .theme-main .ub-hero-stat-num__suffix{background:var(--fx-grad);-webkit-background-clip:text;background-clip:text;color:transparent!important}
#main .theme-main .ub-hero-stat-desc{color:var(--fx-text-2)!important}
#main .theme-main .ub-hero-stat-foot{border-color:var(--fx-line)!important}
#main .theme-main .ub-hero-stat-row{padding:10px 0;border-bottom:1px solid var(--fx-line)}
#main .theme-main .ub-hero-stat-row:last-child{border-bottom:0;padding-bottom:0}
#main .theme-main .ub-hero-stat-row .k{color:var(--fx-text-3)!important}
#main .theme-main .ub-hero-stat-row .v{color:#fff!important;font-family:var(--fx-mono);font-size:13px}

/* On-page navigation: sits under the sticky site header, highlights the current section. */
#main .theme-main .ub-anchor-nav{top:var(--fx-header-h);z-index:60;background:rgba(4,8,18,.82)!important;border-top:1px solid var(--fx-line);border-bottom:1px solid var(--fx-line)!important;-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4)}
#main .theme-main .ub-anchor-nav-inner{gap:6px;padding:10px 0}
#main .theme-main .ub-anchor-nav-inner a{padding:8px 16px;border-radius:999px;color:var(--fx-text-2)!important;font-size:13.5px;font-weight:500;transition:color .2s,background .2s,box-shadow .2s}
#main .theme-main .ub-anchor-nav-inner a:hover{background:rgba(255,255,255,.06)!important;color:#fff!important}
#main .theme-main .ub-anchor-nav-inner a.is-active{background:rgba(47,123,255,.16)!important;color:#fff!important;box-shadow:inset 0 0 0 1px var(--fx-line-2)}

/* Section heads: white headings, pill tags — exactly like the home page. */
#main .theme-main .ub-shead{max-width:780px;margin:0 auto clamp(40px,5vw,64px)}
#main .theme-main .ub-tag{gap:8px;margin-bottom:20px;padding:7px 14px;border:1px solid var(--fx-line-2)!important;background:linear-gradient(180deg,rgba(47,123,255,.16),rgba(47,123,255,.04))!important;color:#CFE3FF!important;font-family:var(--fx-font);font-size:12.5px;font-weight:500;letter-spacing:.01em;text-transform:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
#main .theme-main .ub-tag::before{width:6px;height:6px;border-radius:50%;background:var(--fx-blue-2);box-shadow:0 0 10px var(--fx-blue-2)}
#main .theme-main :is(.ub-section h2,.ub-fit-head h2,.ub-cta-left h2){color:#fff!important;font-family:var(--fx-font);font-size:clamp(1.9rem,3.4vw,3rem);font-weight:600;line-height:1.08;letter-spacing:-.04em;text-wrap:balance}
#main .theme-main :is(.ub-shead-sub,.ub-arch-text p,.ub-fit-head p){color:var(--fx-text-2)!important;text-wrap:pretty}
#main .theme-main :is(.ub-bcard h3,.ub-case h3,.ub-fit-content h3){color:#fff!important;font-weight:600;letter-spacing:-.02em}

/* What it is: the years become a real typographic anchor instead of a faint outline. */
#main .theme-main .ub-narr{grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:clamp(28px,5vw,72px);max-width:1080px}
#main .theme-main .ub-narr-num{position:sticky;top:calc(var(--fx-header-h) + 96px);display:flex;flex-direction:column;gap:4px;padding-right:clamp(20px,3vw,40px);border-right:1px solid var(--fx-line);color:transparent;-webkit-text-stroke:0;background:var(--fx-grad);-webkit-background-clip:text;background-clip:text;font-family:var(--fx-font);font-size:clamp(3rem,5.4vw,4.75rem);font-weight:600;line-height:.95;letter-spacing:-.05em;text-align:right}
#main .theme-main .ub-narr-num .dash{display:block;margin:0;-webkit-text-stroke:0;font-size:.5em;line-height:.8}
#main .theme-main .ub-narr-text p{color:var(--fx-text-2)!important;font-size:clamp(1rem,1.2vw,1.1rem)}
#main .theme-main .ub-narr-text p:first-child{color:var(--fx-text)!important;font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.6}
#main .theme-main .ub-narr-text strong{color:#fff!important;font-weight:600}

/* Code flow: glass editors with the brand mono. */
#main .theme-main .ub-code-panel{border:1px solid var(--fx-line-2)!important;border-radius:var(--fx-r)!important;background:linear-gradient(180deg,rgba(14,26,51,.92),rgba(5,10,22,.95))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 40px 80px -40px rgba(47,123,255,.6)!important;overflow:hidden}
#main .theme-main .ub-code-head{position:relative;padding:14px 18px 14px 58px;border-color:var(--fx-line)!important;background:rgba(255,255,255,.02)}
#main .theme-main .ub-code-head::before{content:"";position:absolute;left:18px;top:50%;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.16);box-shadow:13px 0 0 rgba(255,255,255,.16),26px 0 0 rgba(255,255,255,.16);transform:translateY(-50%)}
#main .theme-main :is(.ub-code-badge,.ub-code-title,.ub-code-body,.ub-ui-filter,.ub-ui-btn,.ub-ui-table,.ub-ui-badge,.ub-code-caption code,.ub-case-num,.ub-case-stat-num,.ub-arch-list dt,.ub-cta-card h4,.ub-cta-item-mark,.ub-fit-num,.ub-bcard.large p code){font-family:var(--fx-mono)!important}
#main .theme-main .ub-code-badge{border-radius:999px}
#main .theme-main .ub-code-wrap{grid-template-columns:minmax(0,1.18fr) 32px minmax(0,1fr) 32px minmax(0,.92fr)}
#main .theme-main .ub-code-body{font-size:12px;line-height:1.75}
#main .theme-main .ub-code-body .c{color:#8094B8!important}
#main .theme-main .ub-code-title{color:var(--fx-text-3)!important}
#main .theme-main .ub-code-arrow{color:var(--fx-blue-2)!important}
#main .theme-main .ub-ui-preview{gap:14px}
#main .theme-main .ub-code-caption{color:var(--fx-text-2)!important}
#main .theme-main .ub-code-caption code{border:1px solid var(--fx-line-2);background:rgba(47,123,255,.12)!important;color:#CFE3FF!important}

/* Benefits bento and use cases: one card grammar and one icon box everywhere. */
#main .theme-main .ub-bento{gap:16px}
#main .theme-main :is(.ub-bcard,.ub-bcard.large,.ub-case){padding:clamp(24px,2.4vw,32px);border:1px solid var(--fx-line)!important;border-radius:var(--fx-r)!important;background:var(--fx-glass)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;transition:transform .5s var(--fx-ease),border-color .3s,box-shadow .4s}
#main .theme-main .ub-bcard.large{background:radial-gradient(520px 300px at 0% 0%,rgba(47,123,255,.30),transparent 70%),var(--fx-glass)!important;border-color:var(--fx-line-2)!important}
#main .theme-main :is(.ub-bcard,.ub-case):hover{transform:translateY(-4px);border-color:var(--fx-line-2)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 30px 70px -30px rgba(47,123,255,.55)!important}
#main .theme-main :is(.ub-bcard-icon,.ub-bcard.small .ub-bcard-icon,.ub-bcard.large .ub-bcard-icon,.ub-case-icon){display:inline-grid;place-items:center;width:44px;height:44px;margin-bottom:22px;border-radius:12px;border:1px solid var(--fx-line-2)!important;background:linear-gradient(180deg,rgba(47,123,255,.22),rgba(47,123,255,.06))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 8px 24px -10px rgba(47,123,255,.7);opacity:1}
#main .theme-main .ub-bcard.large .ub-bcard-icon{width:52px;height:52px;border-radius:15px}
#main .theme-main .ub-bcard.large h3{margin-top:auto}
#main .theme-main :is(.ub-bcard-icon,.ub-case-icon) svg{width:20px!important;height:20px!important;stroke:var(--fx-sky)!important;stroke-width:1.7}
#main .theme-main .ub-bcard.large .ub-bcard-icon svg{width:24px!important;height:24px!important}
#main .theme-main .ub-bcard h3{font-size:clamp(1.05rem,1.35vw,1.2rem);line-height:1.3}
#main .theme-main .ub-bcard.large h3{font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.2;letter-spacing:-.03em}
#main .theme-main :is(.ub-bcard p,.ub-case p){color:var(--fx-text-2)!important}
#main .theme-main .ub-bcard.large p code{border-color:var(--fx-line-2)!important;background:rgba(47,123,255,.14)!important;color:#CFE3FF!important}
#main .theme-main .ub-cases{gap:16px}
#main .theme-main .ub-case-top{margin-bottom:0}
#main .theme-main .ub-case-num{order:2;color:var(--fx-text-3)!important;letter-spacing:.08em}
#main .theme-main .ub-case-num .accent{color:var(--fx-sky)!important}
#main .theme-main .ub-case-stat{border-color:var(--fx-line)!important}
#main .theme-main .ub-case-stat-num{color:var(--fx-sky)!important;font-weight:500}
#main .theme-main .ub-case-stat-label{color:var(--fx-text-3)!important}

/* Architecture: diagram on a glass panel, spec list in the mono label style. */
#main .theme-main .ub-arch-vis{aspect-ratio:auto;padding:clamp(20px,2.5vw,32px);border:1px solid var(--fx-line-2)!important;border-radius:var(--fx-r-lg)!important;background:radial-gradient(480px 300px at 50% 55%,rgba(47,123,255,.22),transparent 70%),var(--fx-glass)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 40px 90px -40px rgba(47,123,255,.6)!important}
#main .theme-main .ub-arch-vis text:not([font-family]){font-family:var(--fx-font)}
#main .theme-main .ub-arch-list{border-color:var(--fx-line)!important}
#main .theme-main .ub-arch-list li{border-color:var(--fx-line)!important}
#main .theme-main .ub-arch-list dt{color:var(--fx-sky)!important;font-size:11.5px;font-weight:500;letter-spacing:.1em}
#main .theme-main .ub-arch-list dd{color:var(--fx-text-2)!important}

/* Final CTA: the glowing panel lives inside the page column, not edge to edge. */
#main .theme-main .ub-cta{padding:clamp(24px,4vw,56px) 0 clamp(72px,8vw,112px);border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible}
#main .theme-main .ub-cta::before{display:none}
#main .theme-main .ub-cta-grid{position:relative;overflow:hidden;padding:clamp(28px,5vw,64px);border:1px solid var(--fx-line-2);border-radius:var(--fx-r-lg);background:radial-gradient(800px 340px at 20% 0%,rgba(47,123,255,.32),transparent 70%),radial-gradient(600px 300px at 100% 100%,rgba(26,85,214,.22),transparent 70%),var(--fx-glass);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 50px 110px -50px rgba(47,123,255,.75);isolation:isolate}
#main .theme-main .ub-cta-grid::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(128,166,240,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(128,166,240,.06) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 70% 90% at 20% 0%,#000,transparent 75%);mask-image:radial-gradient(ellipse 70% 90% at 20% 0%,#000,transparent 75%)}
#main .theme-main .ub-cta-left h2{font-size:clamp(1.8rem,2.8vw,2.6rem)}
#main .theme-main .ub-cta-left p{color:var(--fx-text-2)!important}
#main .theme-main .ub-cta-card{border:1px solid var(--fx-line-2)!important;border-radius:var(--fx-r)!important;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
#main .theme-main .ub-cta-card h4{color:var(--fx-sky)!important;font-weight:500;letter-spacing:.12em}
#main .theme-main .ub-cta-item-mark{border-radius:999px;border-color:var(--fx-line-2)!important;background:rgba(47,123,255,.14)!important;color:#CFE3FF!important;font-weight:500}
#main .theme-main .ub-cta-item-text{color:var(--fx-text-2)!important}
#main .theme-main .ub-cta-item-text strong{color:#fff!important}

/* Honest fit list. */
#main .theme-main .ub-fit-list li{border-color:var(--fx-line)!important}
#main .theme-main .ub-fit-num{color:var(--fx-sky)!important}
#main .theme-main .ub-fit-content p{color:var(--fx-text-2)!important}
#main .theme-main .ub-fit-foot{border:1px solid var(--fx-line-2)!important;border-left:3px solid var(--fx-blue-2)!important;border-radius:var(--fx-r)!important;background:radial-gradient(500px 200px at 0% 0%,rgba(47,123,255,.18),transparent 70%),var(--fx-glass)!important;color:var(--fx-text-2)!important}
#main .theme-main .ub-fit-foot strong{color:#fff!important}

@media (max-width:1024px){
  #main .theme-main .ub-hero-wrap{grid-template-columns:1fr}
  #main .theme-main .ub-hero-stat{max-width:none}
  #main .theme-main .ub-code-wrap{grid-template-columns:1fr;max-width:720px;margin-inline:auto}
  #main .theme-main .ub-cta-grid{grid-template-columns:1fr}
}
@media (max-width:768px){
  #main .theme-main .ub-narr{grid-template-columns:1fr;gap:20px}
  #main .theme-main .ub-narr-num{position:static;flex-direction:row;align-items:baseline;gap:10px;padding:0 0 18px;border-right:0;border-bottom:1px solid var(--fx-line);text-align:left;font-size:clamp(2.4rem,11vw,3rem)}
  #main .theme-main .ub-narr-num .dash{display:inline;font-size:.6em}
  #main .theme-main .ub-code-body{font-size:11.5px}
  #main .theme-main .ub-anchor-nav-inner{padding:8px 0}
}
@media (max-width:600px){
  #main .theme-main .ub-eyebrow{font-size:12px;line-height:1.4}
  #main .theme-main .ub-hero-actions{display:grid;width:100%}
  #main .theme-main .ub-hero-actions a{justify-content:center;width:100%}
  #main .theme-main .ub-cta-grid{padding:28px 20px;gap:28px}
  #main .theme-main .ub-cta-card{padding:24px 18px}
  #main .theme-main .ub-cta-btn{width:100%;justify-content:center;padding:14px 20px}
}
