:root{--blue:#0b63f6;--blue2:#4d9cff;--ink:#0a1020;--muted:#667587;--soft:#f4f7fb;--night:#050b14;--night2:#0b1930;--line:#dfe5ee}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Roboto,Arial,sans-serif;color:var(--ink);background:#fff}.wrap{width:min(92vw,1440px);margin:auto}.site-header{position:fixed;z-index:100;left:0;right:0;top:0;background:rgba(4,10,20,.58);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}.header-row{height:72px;display:flex;align-items:center;justify-content:space-between}.brand{font:700 28px 'Roboto Condensed';letter-spacing:-1.2px;color:#fff;text-decoration:none}.brand span{color:#4d9cff}.brand-image{display:flex;align-items:center;height:42px}.brand-image img{display:block;height:42px;width:auto;max-width:220px;object-fit:contain}.site-header nav{display:flex;gap:28px}.site-header nav a,.header-cta{color:#d4deea;text-decoration:none;font-size:12px}.header-cta{padding:10px 16px;border:1px solid rgba(255,255,255,.24);border-radius:999px}.hero{min-height:100vh;position:relative;overflow:hidden;background:#020814;color:#fff;display:flex;align-items:stretch}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,7,15,.94) 0%,rgba(2,7,15,.88) 16%,rgba(2,7,15,.72) 29%,rgba(2,7,15,.44) 41%,rgba(2,7,15,.16) 53%,rgba(2,7,15,0) 66%),linear-gradient(0deg,rgba(2,7,15,.20) 0%,rgba(2,7,15,0) 32%),url('hero-city-network.png') center center/cover no-repeat;transform:none}.hero-content{position:relative;z-index:2;display:flex;align-items:flex-end;min-height:100vh;padding-top:118px;padding-bottom:72px}.hero-copy{max-width:610px;padding:0}.kicker{font:500 10px 'Roboto Condensed';letter-spacing:.22em;text-transform:uppercase;color:#a9bfd8}.kicker.dark{color:#718092}.hero h1,.section-title-block h2{font-family:'Roboto Condensed';letter-spacing:-.045em}.hero h1{font-size:clamp(58px,6.7vw,104px);line-height:.9;margin:16px 0 22px;font-weight:700}.hero h1 span,.section-title-block h2 span{color:var(--blue2)}.hero p{font:400 19px/1.6 'Roboto Condensed';max-width:600px;color:#d3deea}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{padding:13px 19px;border-radius:999px;text-decoration:none;font-size:13px}.btn-primary{background:var(--blue);color:#fff}.btn-ghost{border:1px solid rgba(255,255,255,.3);color:#fff}.hero-note{align-self:end;padding-left:20px;border-left:1px solid rgba(83,160,255,.7);max-width:320px;margin-bottom:6px}.hero-note b{display:block;font:600 21px 'Roboto Condensed';margin-bottom:6px}.hero-note span{font:400 12px/1.6 'Roboto Condensed';color:#bed0e4}.section{padding:120px 0}.white{background:#fff}.soft{background:var(--soft)}.dark{background:linear-gradient(180deg,var(--night),var(--night2));color:#fff}.section-title-block{max-width:860px}.section-title-block h2{font-size:clamp(50px,5.8vw,82px);line-height:.96;margin:16px 0 20px;font-weight:700}.section-title-block p{font:400 17px/1.65 'Roboto Condensed';color:var(--muted);max-width:640px}.light-copy p{color:#a8bad0}.problem-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:58px}.problem-item{min-height:255px;padding:24px;border-top:2px solid var(--blue);background:linear-gradient(180deg,#fff,#f7f9fc);box-shadow:0 14px 36px rgba(20,40,80,.05)}.problem-item strong{font:500 11px 'Roboto Condensed';color:var(--blue)}.problem-item h3{font:600 22px/1.12 'Roboto Condensed';margin:46px 0 12px}.problem-item p{font:400 12px/1.55 'Roboto Condensed';color:#687789}.split{display:grid;grid-template-columns:.78fr 1.22fr;gap:80px;align-items:center}.ecosystem{height:570px;position:relative}.ecosystem svg{position:absolute;inset:0;width:100%;height:100%;z-index:0}.links line{stroke:#7aaeff;stroke-width:2}.ecosystem-core{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#2f7fff,#0a5eea);color:#fff;font:600 20px 'Roboto Condensed';box-shadow:0 0 0 28px rgba(46,127,255,.06)}.node{position:absolute;z-index:2;width:170px;padding:15px;border-radius:15px;background:#fff;border:1px solid #e1e8f2;box-shadow:0 10px 30px rgba(20,40,80,.06);font:500 12px 'Roboto Condensed'}.n1{left:2%;top:9%}.n2{left:0;top:36%}.n3{left:2%;bottom:27%}.n4{left:5%;bottom:3%}.n5{right:2%;top:9%}.n6{right:0;top:36%}.n7{right:2%;bottom:27%}.n8{right:5%;bottom:3%}.opp-split{grid-template-columns:1fr .9fr}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:34px}.feature-list div{padding:18px;border:1px solid #e0e6ef;border-radius:14px;background:#fbfcfe}.feature-list b{display:block;font:600 18px 'Roboto Condensed';margin-bottom:6px}.feature-list span{font:400 12px 'Roboto Condensed';color:#6e7c8e}.door-scene{height:560px;position:relative}.door-city-mini{position:absolute;right:0;top:0;width:74%;height:100%;border-radius:28px;background:linear-gradient(180deg,rgba(4,10,20,.08),rgba(4,10,20,.34)),url('hero-city.png') 78% center/cover no-repeat;box-shadow:0 25px 60px rgba(20,40,70,.18)}.door-panel{position:absolute;left:8%;top:6%;width:40%;height:88%;background:linear-gradient(180deg,#fff,#f1f2f4);transform:perspective(1000px) rotateY(-29deg);transform-origin:right center;box-shadow:-18px 20px 38px rgba(0,0,0,.08);border:1px solid #e2e6ec}.door-glow{position:absolute;right:8%;top:10%;width:52%;height:80%;background:radial-gradient(circle,#4d9cff55,transparent 70%);filter:blur(12px)}.platform-map{display:grid;grid-template-columns:1fr 190px 1fr;gap:28px;align-items:center;margin-top:64px}.platform-side{display:grid;gap:12px}.platform-side div{padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.05);font:500 14px 'Roboto Condensed';color:#d9e4f0}.platform-core{width:190px;height:190px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#3485ff,#0a5eea);font:600 30px 'Roboto Condensed';box-shadow:0 0 0 24px rgba(52,133,255,.06),0 0 0 52px rgba(52,133,255,.03)}.platform-caption{margin-top:42px;font:600 27px 'Roboto Condensed'}.platform-caption span{color:#67afff}.scale-track{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:66px;position:relative}.scale-track:before{content:'';position:absolute;left:7%;right:7%;top:25px;height:2px;background:linear-gradient(90deg,#0b63f6,#6db3ff,#0b63f6)}.scale-track div{position:relative;padding-top:60px}.scale-track i{position:absolute;top:0;width:50px;height:50px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #dbe4f0,0 8px 24px rgba(20,40,70,.08);display:grid;place-items:center;font:600 11px 'Roboto Condensed';color:var(--blue);font-style:normal}.scale-track b{display:block;font:600 18px 'Roboto Condensed';margin-bottom:7px}.scale-track span{font:400 11px/1.45 'Roboto Condensed';color:#6f7d8e}.invest-split{grid-template-columns:.9fr 1.1fr}.private-box{margin-top:30px;padding:20px;border-radius:16px;background:#f0f5ff;border:1px solid #e1e9f5;color:#536378;font:400 13px/1.55 'Roboto Condensed'}.asset-orbit{height:520px;position:relative}.asset-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:170px;height:170px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#2e7fff,#0a5de9);color:#fff;font:600 27px 'Roboto Condensed';box-shadow:0 24px 55px rgba(11,99,246,.24)}.asset{position:absolute;padding:16px 18px;border-radius:14px;border:1px solid #e0e7f1;background:#fff;box-shadow:0 12px 32px rgba(20,40,80,.06);font:500 13px 'Roboto Condensed'}.a1{left:4%;top:17%}.a2{right:5%;top:14%}.a3{right:0;top:43%}.a4{right:8%;bottom:11%}.a5{left:3%;bottom:10%}.a6{left:0;top:45%}.contact{padding:120px 0;background:linear-gradient(120deg,#07111f,#0d203a 56%,#0b63f6);color:#fff}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.contact-form{display:grid;gap:6px}.contact-form input,.contact-form textarea{width:100%;padding:16px 0;border:0;border-bottom:1px solid rgba(255,255,255,.32);background:transparent;color:#fff;outline:none;font:400 14px Roboto}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#a8bad0}.contact-form button{justify-self:start;margin-top:18px;padding:14px 20px;border:0;border-radius:999px;background:#fff;color:var(--blue);font-weight:600}footer{padding:26px 0;background:#050b14;color:#77899e;font-size:10px}.footer-row{display:flex;justify-content:space-between;gap:20px}.footer-row .brand{font-size:17px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}@media(max-width:1000px){.site-header nav{display:none}.hero-content,.split,.contact-grid{grid-template-columns:1fr}.hero-note{margin-top:30px}.problem-grid{grid-template-columns:repeat(2,1fr)}.ecosystem{height:650px}.platform-map{grid-template-columns:1fr}.platform-core{margin:20px auto}.scale-track{grid-template-columns:repeat(3,1fr)}.scale-track:before{display:none}.asset-orbit{height:580px}}@media(max-width:640px){.brand-image{height:36px}.brand-image img{height:36px;max-width:190px}.header-row{height:64px}.hero{min-height:900px}.hero-bg{background:linear-gradient(0deg,rgba(2,7,15,.86) 0%,rgba(2,7,15,.22) 62%,rgba(2,7,15,.12) 100%),url('hero-city-network.png') 64% center/cover no-repeat,#020814}.hero h1{font-size:56px}.hero-content{padding-bottom:46px}.section{padding:84px 0}.section-title-block h2{font-size:46px}.problem-grid{grid-template-columns:1fr}.feature-list{grid-template-columns:1fr}.scale-track{grid-template-columns:1fr 1fr}.ecosystem{height:760px}.node{width:145px}.footer-row{display:block}.footer-row div+div{margin-top:8px}}

.hero-subtitle{font:600 clamp(20px,2vw,28px)/1.25 'Roboto Condensed',sans-serif;color:#fff;max-width:470px;margin:0 0 20px!important}
.hero-description{font:400 16px/1.55 'Roboto Condensed',sans-serif;color:rgba(255,255,255,.68);max-width:480px;margin:0 0 30px!important}
.hero .kicker{color:rgba(255,255,255,.58)}
.hero-actions{margin-top:30px}
.hero-note{display:none!important}

@media(max-width:640px){
  .hero{min-height:820px}
  .hero-bg{background:
    linear-gradient(0deg,rgba(2,7,15,.88) 0%,rgba(2,7,15,.48) 46%,rgba(2,7,15,.08) 78%),
    linear-gradient(90deg,rgba(2,7,15,.72) 0%,rgba(2,7,15,.18) 58%,rgba(2,7,15,0) 100%),
    url('hero-city-network.png') 62% center/cover no-repeat}
  .hero-content{min-height:820px;padding-top:94px;padding-bottom:48px;align-items:flex-end}
  .hero-copy{max-width:100%}
  .hero-copy h1{font-size:58px;line-height:.9;margin-bottom:22px}
  .hero-subtitle{font-size:21px;max-width:340px}
  .hero-description{font-size:14px;max-width:340px}
}

/* Basic public-content protection: discourages copying and dragging.
   OS-level screenshots cannot be reliably blocked by a website. */
body{ -webkit-user-select:none; user-select:none; }
img{ -webkit-user-drag:none; user-drag:none; pointer-events:none; }
input,textarea{ -webkit-user-select:text; user-select:text; }

/* Combined problem + fragmentation narrative */
.problem-story{padding-bottom:96px}
.fragmentation{margin-top:84px;padding:58px 54px 44px;border-top:1px solid #dfe5ee;background:linear-gradient(180deg,#f7f9fc 0%,#fff 100%);display:grid;grid-template-columns:.72fr 1.28fr;gap:64px;align-items:center}
.fragmentation-copy h3{font:700 clamp(38px,4.2vw,62px)/.98 'Roboto Condensed';letter-spacing:-.04em;margin:14px 0 20px}
.fragmentation-copy h3 span{color:var(--blue)}
.fragmentation-copy p{font:400 15px/1.65 'Roboto Condensed';color:var(--muted);max-width:460px}
.fragmentation .ecosystem{height:500px}
.fragmentation .ecosystem-core{font-size:18px;text-align:center;line-height:1.05}
.fragmentation .ecosystem-core span{font-size:13px;font-weight:500;opacity:.82}
@media(max-width:1000px){.fragmentation{grid-template-columns:1fr;padding:44px 30px}.fragmentation .ecosystem{height:620px}}
@media(max-width:640px){.fragmentation{margin-top:58px;padding:34px 18px}.fragmentation-copy h3{font-size:40px}.fragmentation .ecosystem{height:740px}}


/* One unified web section: problem + fragmentation */
.problem-unified{padding:118px 0 126px;overflow:hidden}
.problem-unified-grid{display:grid;grid-template-columns:minmax(390px,.82fr) minmax(620px,1.18fr);gap:72px;align-items:center}
.problem-unified-copy h2{font:700 clamp(54px,5.4vw,84px)/.92 'Roboto Condensed';letter-spacing:-.045em;margin:16px 0 24px;max-width:690px}
.problem-unified-copy h2 span{display:block;color:var(--blue2)}
.problem-intro{font:400 16px/1.6 'Roboto Condensed';color:var(--muted);max-width:570px;margin:0}
.problem-reasons{display:flex;flex-wrap:wrap;gap:9px 10px;margin-top:34px;max-width:620px}
.problem-reasons span{padding:8px 11px;border:1px solid #dce4ee;border-radius:999px;font:500 11px 'Roboto Condensed';color:#536276;background:#fff}
.problem-conclusion{margin-top:46px;padding-top:24px;border-top:1px solid #dfe5ee;max-width:620px}
.problem-conclusion b{display:block;font:500 18px/1.35 'Roboto Condensed';color:#172235}
.problem-conclusion strong{display:block;margin-top:5px;font:700 27px/1.15 'Roboto Condensed';color:var(--blue)}
.fragment-map{height:620px;position:relative;border-left:1px solid #e4e9f0;padding-left:34px}
.map-caption{position:absolute;top:5px;font:500 10px 'Roboto Condensed';letter-spacing:.18em;text-transform:uppercase;color:#8492a3}
.map-caption-left{left:48px}.map-caption-right{right:18px}
.map-side{position:absolute;top:62px;bottom:36px;width:230px;display:flex;flex-direction:column;justify-content:space-between;z-index:3}
.map-side-left{left:34px}.map-side-right{right:0}
.map-side>div{min-height:62px;display:flex;align-items:center;gap:12px;font:500 13px 'Roboto Condensed';color:#182234}
.map-side i{flex:0 0 30px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f1f6ff;color:var(--blue);font:600 9px 'Roboto Condensed';font-style:normal}
.map-side-right>div{justify-content:flex-end;text-align:right}
.map-side-right i{order:2}
.map-core-wrap{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);width:210px;height:210px;display:grid;place-items:center}
.map-rings{position:absolute;inset:0;border-radius:50%;border:1px solid #dfe9fa;box-shadow:0 0 0 28px #f7faff,0 0 0 29px #eaf1fb}
.map-core{position:relative;z-index:2;width:142px;height:142px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(180deg,#347fff,#0b63f6);color:#fff;font:600 17px/1.05 'Roboto Condensed';box-shadow:0 18px 45px rgba(11,99,246,.20)}
.map-core span{font-size:11px;font-weight:400;opacity:.82;margin-top:6px}
.map-lines{position:absolute;z-index:1;left:0;top:0;width:100%;height:100%;pointer-events:none}
.map-lines path{fill:none;stroke:#5c9cff;stroke-width:1.35;opacity:.78;vector-effect:non-scaling-stroke}
@media(max-width:1120px){.problem-unified-grid{grid-template-columns:1fr;gap:64px}.fragment-map{border-left:0;border-top:1px solid #e4e9f0;padding-left:0;padding-top:30px}.map-side-left{left:0}}
@media(max-width:700px){.problem-unified{padding:84px 0}.problem-unified-copy h2{font-size:48px}.problem-conclusion strong{font-size:23px}.fragment-map{height:auto;display:grid;grid-template-columns:1fr;gap:16px;padding-top:48px}.map-caption,.map-lines{display:none}.map-side,.map-core-wrap{position:relative;left:auto!important;right:auto!important;top:auto;bottom:auto;width:100%;height:auto;transform:none}.map-core-wrap{margin:22px auto;width:170px;height:170px}.map-core{width:124px;height:124px}.map-side{display:grid;gap:8px}.map-side>div{min-height:50px;border-bottom:1px solid #edf0f4}.map-side-right>div{justify-content:flex-start;text-align:left}.map-side-right i{order:0}}

/* Left side of problem section — approved revision */
.problem-visuals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:30px;max-width:650px}
.problem-visuals figure{margin:0;min-width:0}
.problem-visuals img{display:block;width:100%;aspect-ratio:1.18/1;object-fit:cover;filter:grayscale(1);border-radius:2px}
.problem-visuals figcaption{margin-top:9px;font:600 13px/1.2 'Roboto Condensed';color:#111827}
@media(max-width:700px){.problem-visuals{grid-template-columns:repeat(2,1fr);gap:18px 10px}.problem-visuals figcaption{font-size:12px}}

/* Problem visual strip — editorial treatment */
.problem-visuals{gap:14px;margin-top:34px;max-width:680px;align-items:start}
.problem-visuals figure{position:relative}
.problem-visuals figure:nth-child(even){transform:translateY(14px)}
.problem-visuals img{aspect-ratio:1.42/1;border-radius:18px 4px 18px 4px;filter:grayscale(1) contrast(1.04);box-shadow:0 14px 34px rgba(15,31,55,.10);transition:transform .3s ease,box-shadow .3s ease}
.problem-visuals figure:hover img{transform:translateY(-3px);box-shadow:0 18px 42px rgba(15,31,55,.15)}
.problem-visuals figcaption{margin-top:11px;padding-left:2px;font-size:13px;letter-spacing:-.01em}
@media(max-width:700px){.problem-visuals figure:nth-child(even){transform:none}.problem-visuals img{border-radius:14px 4px 14px 4px}}


/* ===== RIGHT SIDE: fragmented ecosystem visual ===== */
.problem-unified .fragment-map{
  height:620px;
  position:relative;
  border-left:0;
  padding:0;
  overflow:visible;
}
.problem-unified .fragment-map .map-caption{display:none!important}

.problem-unified .map-side{
  position:absolute;
  top:20px;
  bottom:20px;
  width:186px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  z-index:3;
}
.problem-unified .map-side-left{left:8px}
.problem-unified .map-side-right{right:8px}

.problem-unified .map-side figure{
  margin:0;
  width:100%;
}
.problem-unified .map-side figure img{
  display:block;
  width:100%;
  height:78px;
  object-fit:cover;
  border-radius:16px;
  box-shadow:0 10px 28px rgba(19,50,88,.10);
  border:1px solid rgba(18,104,255,.10);
  transition:transform .28s ease, box-shadow .28s ease;
}
.problem-unified .map-side figure:hover img{
  transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(19,50,88,.14);
}
.problem-unified .map-side figcaption{
  margin-top:7px;
  font:500 12px/1.15 'Roboto Condensed',sans-serif;
  color:#172033;
  white-space:nowrap;
}
.problem-unified .map-side-right figcaption{text-align:right}

.problem-unified .map-core-wrap{
  position:absolute;
  z-index:4;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:270px;
  height:270px;
  display:grid;
  place-items:center;
}
.problem-unified .map-rings{
  position:absolute;
  inset:0;
  border-radius:50%;
  border:1px solid rgba(18,104,255,.16);
  box-shadow:
    0 0 0 24px rgba(18,104,255,.035),
    0 0 0 25px rgba(18,104,255,.09),
    0 0 0 48px rgba(18,104,255,.022),
    0 0 0 49px rgba(18,104,255,.07);
}
.problem-unified .map-core-person{
  position:relative;
  z-index:2;
  width:184px;
  height:184px;
  border-radius:50%;
  overflow:hidden;
  background:radial-gradient(circle at 50% 38%,#eaf2ff 0%,#d5e5ff 55%,#c4dbff 100%);
  box-shadow:0 20px 50px rgba(11,99,246,.15);
}
.problem-unified .map-core-person img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.problem-unified .map-core-label{
  position:absolute;
  top:calc(50% + 112px);
  left:50%;
  transform:translateX(-50%);
  text-align:center;
  color:#111a2a;
  font:600 16px/1.05 'Roboto Condensed',sans-serif;
  white-space:nowrap;
}
.problem-unified .map-core-label span{
  display:block;
  color:var(--blue);
  margin-top:4px;
}

.problem-unified .map-lines{
  display:block!important;
  position:absolute;
  z-index:1;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
}
.problem-unified .map-lines path{
  fill:none;
  stroke:#6da7ff;
  stroke-width:1.25;
  opacity:.78;
  vector-effect:non-scaling-stroke;
}

@media(max-width:1100px){
  .problem-unified .fragment-map{
    height:auto;
    display:grid;
    grid-template-columns:1fr 200px 1fr;
    gap:22px;
    align-items:center;
    padding-top:18px;
  }
  .problem-unified .map-side,
  .problem-unified .map-core-wrap{
    position:relative;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:100%;
    height:auto;
  }
  .problem-unified .map-side{
    display:grid;
    gap:12px;
  }
  .problem-unified .map-side figure img{height:76px}
  .problem-unified .map-core-wrap{
    width:200px;
    height:200px;
    margin:auto;
  }
  .problem-unified .map-core-person{width:142px;height:142px}
  .problem-unified .map-core-label{top:calc(50% + 90px)}
  .problem-unified .map-lines{display:none!important}
}
@media(max-width:720px){
  .problem-unified .fragment-map{grid-template-columns:1fr}
  .problem-unified .map-core-wrap{order:-1;margin-bottom:28px}
  .problem-unified .map-side{
    grid-template-columns:1fr 1fr;
    gap:16px 12px;
  }
  .problem-unified .map-side-right figcaption{text-align:left}
}


/* ===== RIGHT MAP CLEANUP ===== */

/* Right access images: same visual size/outline as left object images */
.problem-unified .map-side-right{
  width:186px;
}
.problem-unified .map-side-right figure img{
  width:100%;
  height:78px;
  object-fit:cover;
  border-radius:16px;
  border:1px solid rgba(18,104,255,.10);
  box-shadow:0 10px 28px rgba(19,50,88,.10);
}

/* Remove all decorative circles/rings around the ecosystem participant */
.problem-unified .map-rings{
  display:none !important;
}

/* Keep only the participant image itself; no extra outline/ring */
.problem-unified .map-core-person{
  border:none !important;
  outline:none !important;
  box-shadow:0 18px 42px rgba(11,99,246,.13);
}

/* No pseudo-elements / accidental circular contours */
.problem-unified .map-core-wrap::before,
.problem-unified .map-core-wrap::after,
.problem-unified .map-core-person::before,
.problem-unified .map-core-person::after{
  content:none !important;
  display:none !important;
}


/* ===== PARTICIPANT RINGS: restore approved large circles ===== */
.problem-unified .map-rings{
  display:block !important;
  position:absolute;
  inset:0;
  border-radius:50%;
  border:1px solid rgba(18,104,255,.16);
  box-shadow:
    0 0 0 24px rgba(18,104,255,.035),
    0 0 0 25px rgba(18,104,255,.09),
    0 0 0 48px rgba(18,104,255,.022),
    0 0 0 49px rgba(18,104,255,.07);
}

/* Hide only the two tiny line-end nodes beside participant's head.
   Lines themselves remain untouched. */
.problem-unified .map-core-wrap::before,
.problem-unified .map-core-wrap::after{
  content:"";
  display:block !important;
  position:absolute;
  z-index:6;
  top:50%;
  width:14px;
  height:22px;
  transform:translateY(-50%);
  background:#fff;
  pointer-events:none;
}
.problem-unified .map-core-wrap::before{left:-7px}
.problem-unified .map-core-wrap::after{right:-7px}


/* ===== PARTICIPANT IMAGE CLEANUP ===== */
.problem-unified .map-core-wrap::before,
.problem-unified .map-core-wrap::after{
  content:none !important;
  display:none !important;
}

/* Keep the approved large concentric background rings */
.problem-unified .map-rings{
  display:block !important;
}

/* Participant image remains clean and circular */
.problem-unified .map-core-person{
  overflow:hidden;
  border:none !important;
  outline:none !important;
}
.problem-unified .map-core-person img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}


/* ===== PARTICIPANT HOVER EFFECT ===== */
/* Subtle premium response: only the external rings react on hover */
.problem-unified .map-core-wrap{
  cursor:default;
}

.problem-unified .map-rings{
  transition:
    transform .55s cubic-bezier(.22,.61,.36,1),
    opacity .45s ease,
    box-shadow .55s cubic-bezier(.22,.61,.36,1),
    border-color .45s ease;
  transform:scale(1);
  transform-origin:center;
}

.problem-unified .map-core-wrap:hover .map-rings{
  transform:scale(1.055);
  opacity:1;
  border-color:rgba(18,104,255,.30);
  box-shadow:
    0 0 0 24px rgba(18,104,255,.055),
    0 0 0 25px rgba(18,104,255,.16),
    0 0 0 49px rgba(18,104,255,.038),
    0 0 0 50px rgba(18,104,255,.12),
    0 0 42px rgba(18,104,255,.12);
}

/* very soft breathing pulse while hovered */
.problem-unified .map-core-wrap:hover .map-rings{
  animation:aivoka-rings-pulse 2.2s ease-in-out infinite;
}

@keyframes aivoka-rings-pulse{
  0%,100%{
    transform:scale(1.035);
    opacity:.90;
  }
  50%{
    transform:scale(1.075);
    opacity:1;
  }
}

@media (prefers-reduced-motion: reduce){
  .problem-unified .map-core-wrap:hover .map-rings{
    animation:none;
    transform:scale(1.045);
  }
}


/* ===== HERO -> PROBLEM: soft seamless transition ===== */
.hero{
  position:relative;
  isolation:isolate;
}

/* Very subtle fade from the dark city into the white next section */
.hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:170px;
  z-index:6;
  pointer-events:none;
  background:
    linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.02) 24%,
      rgba(255,255,255,.08) 42%,
      rgba(255,255,255,.20) 58%,
      rgba(255,255,255,.46) 74%,
      rgba(255,255,255,.78) 90%,
      #fff 100%
    );
}

/* Remove any hard visual seam on the next white section */
.problem-unified{
  position:relative;
  margin-top:-1px;
  border-top:0 !important;
  box-shadow:none !important;
}

/* A small amount of extra breathing room so the transition feels natural */
.problem-unified > .wrap{
  padding-top:8px;
}

@media(max-width:720px){
  .hero::after{
    height:120px;
  }
}


/* ===== HERO -> PROBLEM: clean cut, tighter spacing ===== */
.hero::after{
  content:none !important;
  display:none !important;
}

.problem-unified{
  margin-top:0 !important;
  border-top:0 !important;
  box-shadow:none !important;
}

/* Reduce vertical distance between Hero and the content of block 2 */
.problem-unified.section{
  padding-top:52px !important;
}

.problem-unified > .wrap{
  padding-top:0 !important;
}

@media(max-width:720px){
  .problem-unified.section{
    padding-top:40px !important;
  }
}


/* ===== GLOBAL SECTION RHYTHM ===== */
/* Tighter vertical rhythm across all content blocks */
.section{
  padding:84px 0 !important;
}
.contact{
  padding:84px 0 !important;
}
.problem-unified.section{
  padding-top:58px !important;
  padding-bottom:72px !important;
}
@media(max-width:720px){
  .section{
    padding:60px 0 !important;
  }
  .contact{
    padding:60px 0 !important;
  }
  .problem-unified.section{
    padding-top:44px !important;
    padding-bottom:56px !important;
  }
}

/* ===== TECHNOLOGIES / WINDOW OF OPPORTUNITY ===== */
.tech-opportunity{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 72% 12%,rgba(19,108,255,.08),transparent 28%),
    linear-gradient(180deg,#11171e 0%,#121920 100%);
}
.tech-opportunity::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.015),transparent 30%,transparent 70%,rgba(255,255,255,.015));
}
.tech-opportunity .wrap{
  position:relative;
  z-index:1;
}
.tech-heading{
  display:flex;
  justify-content:flex-end;
  margin-bottom:34px;
}
.tech-heading h2{
  width:min(100%,760px);
  margin:0;
  text-align:right;
  font:700 clamp(54px,5.2vw,84px)/.9 'Roboto Condensed',sans-serif;
  letter-spacing:-.045em;
}
.tech-heading h2 span,
.tech-heading h2 strong{
  display:block;
}
.tech-heading h2 span{color:#f4f6f8}
.tech-heading h2 strong{color:#1b74ff;font-weight:700}

.tech-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.tech-card{
  min-height:500px;
  padding:12px 18px 24px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.008));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  transition:
    transform .34s cubic-bezier(.22,.61,.36,1),
    border-color .34s ease,
    box-shadow .34s ease,
    background .34s ease;
}
.tech-card:hover{
  transform:translateY(-7px);
  border-color:rgba(27,116,255,.52);
  box-shadow:0 18px 42px rgba(0,0,0,.24),0 0 0 1px rgba(27,116,255,.08);
  background:linear-gradient(180deg,rgba(27,116,255,.045),rgba(255,255,255,.01));
}
.tech-visual{
  height:245px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:15px;
}
.tech-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.98) contrast(1.03);
  transform:scale(1.01);
  transition:transform .38s ease,filter .38s ease;
}
.tech-card:hover .tech-visual img{
  transform:scale(1.045);
  filter:saturate(1.08) contrast(1.05);
}
.tech-card-title{
  display:flex;
  align-items:center;
  gap:16px;
  min-height:84px;
  padding:14px 0 16px;
  border-bottom:1px solid rgba(27,116,255,.75);
}
.tech-card-title i{
  flex:0 0 54px;
  width:54px;
  height:54px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#2380ff,#0862ee);
  color:#fff;
  font:600 18px 'Roboto Condensed',sans-serif;
  font-style:normal;
  box-shadow:0 10px 28px rgba(11,99,246,.24);
}
.tech-card-title h3{
  margin:0;
  color:#f7f8fa;
  font:600 23px/1.02 'Roboto Condensed',sans-serif;
  letter-spacing:-.025em;
}
.tech-card > p{
  margin:22px 0 0;
  max-width:280px;
  color:#b6bdc7;
  font:400 16px/1.48 'Roboto Condensed',sans-serif;
}

.tech-window{
  display:grid;
  grid-template-columns:140px 1fr;
  gap:34px;
  align-items:center;
  margin-top:24px;
  padding:28px 34px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:22px;
  background:rgba(255,255,255,.015);
  transition:border-color .3s ease,background .3s ease,transform .3s ease;
}
.tech-window:hover{
  transform:translateY(-2px);
  border-color:rgba(27,116,255,.42);
  background:rgba(27,116,255,.025);
}
.tech-window-icon{
  width:96px;
  height:96px;
  margin:auto;
  border:1px solid rgba(27,116,255,.95);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#1b74ff;
  font-size:34px;
  box-shadow:inset 0 0 0 1px rgba(27,116,255,.08);
}
.tech-window h3{
  margin:0 0 14px;
  color:#f6f7f9;
  font:600 28px/1.15 'Roboto Condensed',sans-serif;
  letter-spacing:-.025em;
}
.tech-window p{
  margin:0 0 7px;
  color:#b8c0ca;
  font:400 20px/1.35 'Roboto Condensed',sans-serif;
}
.tech-window strong{
  color:#1b74ff;
  font:500 22px/1.3 'Roboto Condensed',sans-serif;
}

@media(max-width:1100px){
  .tech-grid{grid-template-columns:repeat(2,1fr)}
  .tech-heading h2{max-width:680px}
}
@media(max-width:700px){
  .tech-heading{
    justify-content:flex-start;
    margin-bottom:26px;
  }
  .tech-heading h2{
    text-align:left;
    font-size:50px;
  }
  .tech-grid{grid-template-columns:1fr}
  .tech-card{min-height:auto}
  .tech-window{
    grid-template-columns:1fr;
    gap:18px;
    padding:26px 22px;
  }
  .tech-window-icon{margin:0}
  .tech-window h3{font-size:24px}
  .tech-window p{font-size:17px}
  .tech-window strong{font-size:19px}
}


/* ===== TECHNOLOGIES: generated visuals + unified section background ===== */
.tech-opportunity{
  background:
    radial-gradient(ellipse at 50% 96%,rgba(18,103,255,.13) 0%,rgba(18,103,255,.055) 24%,transparent 55%),
    radial-gradient(circle at 82% 10%,rgba(18,103,255,.07),transparent 30%),
    linear-gradient(180deg,#111820 0%,#121a23 48%,#111922 100%) !important;
}

/* One continuous atmosphere behind the cards and the lower conclusion */
.tech-opportunity::after{
  content:"";
  position:absolute;
  left:6%;
  right:6%;
  bottom:28px;
  height:310px;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at center bottom,rgba(18,103,255,.095),transparent 66%);
  filter:blur(24px);
  opacity:.9;
}

.tech-grid,
.tech-window{
  position:relative;
  z-index:2;
}

/* Cards stay separate, but sit naturally in the same dark field */
.tech-card{
  background:
    linear-gradient(180deg,rgba(255,255,255,.026),rgba(255,255,255,.010)) !important;
}

/* Better use of the newly generated art */
.tech-visual{
  height:255px !important;
  background:transparent;
}
.tech-visual img{
  object-fit:cover !important;
  object-position:center !important;
  border-radius:14px;
}

/* Bring the bottom message visually into the same section instead of a detached block */
.tech-window{
  margin-top:14px !important;
  background:
    linear-gradient(
      180deg,
      rgba(20,29,39,.74) 0%,
      rgba(17,26,36,.88) 48%,
      rgba(15,24,34,.96) 100%
    ) !important;
  border-color:rgba(89,136,192,.28) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 -34px 70px rgba(18,103,255,.025);
}

/* Soft visual bridge from cards into the lower message */
.tech-window::before{
  content:"";
  position:absolute;
  left:7%;
  right:7%;
  top:-46px;
  height:48px;
  pointer-events:none;
  background:linear-gradient(
    to bottom,
    rgba(17,25,34,0),
    rgba(17,25,34,.44)
  );
  filter:blur(5px);
}

@media(max-width:700px){
  .tech-window{
    margin-top:12px !important;
  }
  .tech-window::before{
    top:-32px;
    height:34px;
  }
}


/* ===== FIX: TECHNOLOGY VISUALS + TRUE UNIFIED BACKGROUND ===== */

/* Opportunity + following platform are now one continuous visual field. */
.dark-flow{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 52% 46%, rgba(19,102,255,.075) 0%, rgba(19,102,255,.025) 28%, transparent 58%),
    linear-gradient(180deg, #111923 0%, #111923 100%);
}
.dark-flow::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 82% 8%, rgba(28,117,255,.055), transparent 24%);
  z-index:0;
}
.dark-flow > section{
  position:relative;
  z-index:1;
  background:transparent !important;
}
.dark-flow .tech-opportunity,
.dark-flow #platform{
  background:none !important;
}
.dark-flow .tech-opportunity::before,
.dark-flow .tech-opportunity::after{
  display:none !important;
}

/* No visible seam or artificial transition between these two sections. */
.dark-flow #platform{
  border-top:0 !important;
  margin-top:0 !important;
  box-shadow:none !important;
  padding-top:58px !important;
}
.dark-flow .tech-opportunity{
  padding-bottom:62px !important;
}

/* Replace low-quality pseudo-photos with clean presentation-native pictograms. */
.tech-visual{
  height:238px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:visible !important;
  border-radius:18px !important;
  background:
    radial-gradient(circle at 50% 54%, rgba(22,111,255,.14), rgba(22,111,255,.035) 36%, transparent 68%) !important;
}
.tech-visual img{
  width:170px !important;
  height:170px !important;
  object-fit:contain !important;
  object-position:center !important;
  border-radius:0 !important;
  transform:none !important;
  filter:drop-shadow(0 18px 30px rgba(0,0,0,.22)) !important;
  transition:transform .35s cubic-bezier(.22,.61,.36,1), filter .35s ease !important;
}
.tech-card:hover .tech-visual img{
  transform:translateY(-5px) scale(1.045) !important;
  filter:
    drop-shadow(0 22px 34px rgba(0,0,0,.26))
    drop-shadow(0 0 18px rgba(21,111,255,.18)) !important;
}

/* Keep cards elegant and let the shared background do the work. */
.tech-card{
  background:rgba(255,255,255,.012) !important;
  border-color:rgba(143,167,194,.22) !important;
}
.tech-card:hover{
  background:rgba(25,103,219,.025) !important;
  border-color:rgba(34,116,255,.46) !important;
}

/* Bottom conclusion belongs to the same field, not as a second background block. */
.tech-window{
  background:rgba(8,16,24,.18) !important;
  border-color:rgba(137,164,194,.24) !important;
  box-shadow:none !important;
}
.tech-window::before{
  display:none !important;
}

/* Slightly tighter rhythm between the two sections while keeping breathing space. */
@media(max-width:720px){
  .dark-flow .tech-opportunity{
    padding-bottom:48px !important;
  }
  .dark-flow #platform{
    padding-top:46px !important;
  }
  .tech-visual img{
    width:150px !important;
    height:150px !important;
  }
}


/* ===== FINAL TECHNOLOGY BLOCK ADJUSTMENTS ===== */

/* Heading must always be one line on desktop. */
.tech-heading{
  justify-content:center !important;
}
.tech-heading h2{
  width:100% !important;
  max-width:none !important;
  white-space:nowrap !important;
  text-align:center !important;
  font-size:clamp(42px,4.35vw,70px) !important;
  line-height:.98 !important;
}
.tech-heading h2 span,
.tech-heading h2 strong{
  display:inline !important;
}
.tech-heading h2 span::after{
  content:" ";
}

/* Restore the exact visual language requested: large 3D artwork filling card tops. */
.tech-visual{
  height:255px !important;
  overflow:hidden !important;
  background:transparent !important;
}
.tech-visual img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:14px !important;
  transform:scale(1.01) !important;
  filter:none !important;
}
.tech-card:hover .tech-visual img{
  transform:scale(1.045) !important;
  filter:none !important;
}

/* Truly identical background through opportunity + platform. */
.dark-flow{
  background:#111923 !important;
}
.dark-flow::before{
  display:none !important;
}
.dark-flow > section,
.dark-flow .tech-opportunity,
.dark-flow #platform{
  background:#111923 !important;
}

/* Remove any visual separator between the two constituent sections. */
.dark-flow .tech-opportunity{
  padding-bottom:52px !important;
}
.dark-flow #platform{
  padding-top:52px !important;
  border-top:0 !important;
}
.dark-flow .tech-window{
  margin-bottom:0 !important;
}

@media(max-width:900px){
  .tech-heading h2{
    white-space:normal !important;
    text-align:left !important;
  }
  .tech-heading h2 span,
  .tech-heading h2 strong{
    display:block !important;
  }
}


/* ===== USER FIX: ONLY INNER TECHNOLOGY VISUALS ARE SMALLER ===== */
/* Card and image-box dimensions stay exactly as they were. */
.tech-visual{
  height:255px !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:14px !important;
  background:
    radial-gradient(circle at 50% 52%, rgba(19,102,255,.08), transparent 58%),
    #081521 !important;
}

/* Reduce ONLY the artwork inside the fixed-size image box. */
.tech-visual img{
  width:84% !important;
  height:84% !important;
  margin:0 !important;
  position:absolute !important;
  left:8% !important;
  top:8% !important;
  object-fit:contain !important;
  object-position:center !important;
  border-radius:12px !important;
  transform:none !important;
  filter:none !important;
  box-shadow:none !important;
  transition:
    transform .36s cubic-bezier(.22,.61,.36,1),
    filter .36s ease !important;
}

/* Preserve fixed box; only the inner object reacts on hover. */
.tech-visual{
  position:relative !important;
}

.tech-card:hover .tech-visual img{
  transform:translateY(-3px) scale(1.035) !important;
  filter:drop-shadow(0 10px 18px rgba(18,108,255,.14)) !important;
}

@media(max-width:700px){
  .tech-visual{
    height:255px !important;
  }
  .tech-visual img{
    width:82% !important;
    height:82% !important;
    left:9% !important;
    top:9% !important;
  }
}


/* ===== SINGLE-BOX TECHNOLOGY CARDS ===== */
/* Only the outer card is a box. The artwork itself has no panel/frame/background. */
.tech-visual{
  height:255px !important;
  padding:0 !important;
  position:relative !important;
  overflow:visible !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.tech-visual img{
  width:78% !important;
  height:78% !important;
  position:absolute !important;
  left:11% !important;
  top:9% !important;
  margin:0 !important;
  object-fit:contain !important;
  object-position:center !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
  filter:drop-shadow(0 16px 22px rgba(0,0,0,.22)) !important;
}
.tech-card:hover .tech-visual img{
  transform:translateY(-4px) scale(1.035) !important;
  filter:
    drop-shadow(0 18px 24px rgba(0,0,0,.24))
    drop-shadow(0 0 14px rgba(18,108,255,.12)) !important;
}


/* ===== FINAL CLEANUP: no inner rectangle, one continuous card background ===== */
.tech-visual{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.tech-visual img{
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  clip-path:none !important;
}

/* Outer card is the only visible surface/background. */
.tech-card{
  overflow:hidden !important;
}


/* ===== TRANSPORT VISUAL REBUILT: full object, no cropped edges ===== */
.tech-card:nth-child(4) .tech-visual{
  overflow:visible !important;
  background:transparent !important;
}
.tech-card:nth-child(4) .tech-visual img{
  width:82% !important;
  height:82% !important;
  left:9% !important;
  top:7% !important;
  object-fit:contain !important;
  object-position:center !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transform:none !important;
  filter:
    drop-shadow(0 16px 22px rgba(0,0,0,.22))
    drop-shadow(0 0 12px rgba(18,108,255,.10)) !important;
}
.tech-card:nth-child(4):hover .tech-visual img{
  transform:translateY(-4px) scale(1.035) !important;
  filter:
    drop-shadow(0 18px 24px rgba(0,0,0,.24))
    drop-shadow(0 0 18px rgba(18,108,255,.15)) !important;
}


/* ===== TRANSPORT: true transparent cutout, no inner rectangle ===== */
.tech-card:nth-child(4) .tech-visual{
  background:transparent !important;
  overflow:visible !important;
}
.tech-card:nth-child(4) .tech-visual img{
  width:84% !important;
  height:84% !important;
  left:8% !important;
  top:7% !important;
  object-fit:contain !important;
  object-position:center !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:
    drop-shadow(0 15px 22px rgba(0,0,0,.22))
    drop-shadow(0 0 10px rgba(20,108,255,.08)) !important;
}


/* ===== PLATFORM V2 ===== */
.platform-v2{background:#111923 !important}
.platform-title{margin-bottom:42px !important}
.platform-title h2{margin:0 !important}
.platform-title .kicker,.platform-title p{display:none !important}

.platform-ecosystem{
  position:relative;
  min-height:650px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 230px minmax(0,1fr);
  gap:48px;
  align-items:center;
}
.platform-column{position:relative;z-index:3;display:flex;flex-direction:column;gap:16px}
.platform-right{gap:12px}

.ecosystem-card{
  min-height:118px;
  display:grid;
  grid-template-columns:46% 54%;
  align-items:center;
  overflow:hidden;
  border:1px solid rgba(145,168,194,.22);
  border-radius:18px;
  background:rgba(255,255,255,.015);
  transition:transform .28s ease,border-color .28s ease,background .28s ease;
}
.ecosystem-card:hover{transform:translateY(-3px);border-color:rgba(29,115,255,.48);background:rgba(29,115,255,.025)}
.ecosystem-card img{width:100%;height:100%;min-height:116px;object-fit:cover;object-position:center}
.ecosystem-card>div{padding:16px 18px}
.ecosystem-card strong{display:block;color:#f7f9fb;font:600 21px/1.1 'Roboto Condensed',sans-serif}
.ecosystem-card span{display:block;margin-top:6px;color:#7fa8dd;font:400 13px/1.25 'Roboto Condensed',sans-serif}

.platform-center{position:relative;z-index:4;width:230px;height:230px;margin:auto;display:grid;place-items:center}
.platform-rings{
  position:absolute;inset:0;border:1px solid rgba(28,115,255,.26);border-radius:50%;
  box-shadow:0 0 0 24px rgba(28,115,255,.055),0 0 0 25px rgba(28,115,255,.13),0 0 0 50px rgba(28,115,255,.025),0 0 0 51px rgba(28,115,255,.08)
}
.platform-hub{
  width:175px;height:175px;display:grid;place-items:center;border-radius:50%;
  background:linear-gradient(180deg,#2b82ff,#1764ee);color:#fff;
  font:700 34px/1 'Roboto Condensed',sans-serif;box-shadow:0 0 46px rgba(20,108,255,.22)
}
.platform-center:hover .platform-rings{animation:platformPulse 2.2s ease-in-out infinite}
@keyframes platformPulse{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.06);opacity:1}}

.platform-connectors{position:absolute;inset:0;z-index:2;width:100%;height:100%;overflow:visible;pointer-events:none}
.platform-connectors path{fill:none;stroke:#2580ff;stroke-width:2;opacity:.78}
.platform-dots circle{fill:#2580ff;filter:drop-shadow(0 0 5px rgba(37,128,255,.75))}

.platform-caption-v2{margin-top:34px !important;padding:0 !important;border:0 !important;background:none !important;display:flex !important;flex-direction:column;gap:8px}
.platform-caption-v2 strong{color:#f7f8fa;font:600 30px/1.08 'Roboto Condensed',sans-serif}
.platform-caption-v2 span{color:#2d82ff !important;font:600 34px/1.08 'Roboto Condensed',sans-serif}

@media(max-width:1050px){
  .platform-ecosystem{grid-template-columns:1fr;gap:28px}
  .platform-center{order:-1}
  .platform-connectors{display:none}
  .platform-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .platform-column{grid-template-columns:1fr}
  .ecosystem-card{grid-template-columns:42% 58%}
  .platform-caption-v2 strong{font-size:24px}
  .platform-caption-v2 span{font-size:27px}
}


/* ===== PLATFORM RIGHT COLUMN — FINAL POSITIONING ===== */

/* Pull the whole ecosystem upward so the right column begins at headline level. */
.platform-v2 .platform-ecosystem{
  margin-top:-116px !important;
  min-height:710px !important;
  align-items:start !important;
}

/* Keep left objects visually under the headline, as before. */
.platform-v2 .platform-left{
  margin-top:164px !important;
}

/* Keep AiVoka hub between the two columns. */
.platform-v2 .platform-center{
  margin-top:248px !important;
}

/* Right services start at the same visual level as the headline. */
.platform-v2 .platform-right{
  margin-top:0 !important;
  align-self:start !important;
  gap:12px !important;
}

/* Right cards: connector enters from the left, title stays left, image stays right. */
.platform-v2 .platform-right .ecosystem-card{
  grid-template-columns:45% 55% !important;
  min-height:110px !important;
  overflow:hidden !important;
}
.platform-v2 .platform-right .ecosystem-card > div{
  order:1 !important;
  padding:16px 14px 16px 22px !important;
  text-align:left !important;
  position:relative !important;
  z-index:2 !important;
}
.platform-v2 .platform-right .ecosystem-card img{
  order:2 !important;
  width:100% !important;
  height:110px !important;
  min-height:110px !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:0 !important;
}

/* Leave the left edge visually clean for the blue line and node. */
.platform-v2 .platform-right .ecosystem-card::before{
  content:"";
  position:absolute;
  left:-1px;
  top:50%;
  width:14px;
  height:14px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#2580ff;
  box-shadow:0 0 10px rgba(37,128,255,.85);
  z-index:5;
}
.platform-v2 .platform-right .ecosystem-card{
  position:relative !important;
}

/* Marketplace: warehouse/logistics visual only, no Ozon/WB/Yandex text line. */
.platform-v2 .platform-right .ecosystem-card:last-child span{
  display:none !important;
}

/* Connector layer must remain visible between hub and cards. */
.platform-v2 .platform-connectors{
  z-index:2 !important;
}
.platform-v2 .platform-column,
.platform-v2 .platform-center{
  z-index:3 !important;
}

/* Keep the final thesis close to the diagram after the vertical re-layout. */
.platform-v2 .platform-caption-v2{
  margin-top:6px !important;
}

@media(max-width:1050px){
  .platform-v2 .platform-ecosystem{
    margin-top:0 !important;
    min-height:auto !important;
  }
  .platform-v2 .platform-left,
  .platform-v2 .platform-center,
  .platform-v2 .platform-right{
    margin-top:0 !important;
  }
  .platform-v2 .platform-right .ecosystem-card::before{
    display:none !important;
  }
}


/* ===== PLATFORM CLEANUP: narrower columns, clean right side, aligned bottom ===== */

/* Make the whole diagram a little more compact horizontally. */
.platform-v2 .platform-ecosystem{
  width:min(100%,1180px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  grid-template-columns:380px 220px 380px !important;
  column-gap:42px !important;
  min-height:660px !important;
}

/* Narrower left and right object/service blocks. */
.platform-v2 .platform-left,
.platform-v2 .platform-right{
  width:380px !important;
}

/* Left column starts under heading and ends at the same baseline as right column. */
.platform-v2 .platform-left{
  margin-top:156px !important;
  height:472px !important;
  justify-content:space-between !important;
}

/* Right column: clean stack, equal spacing, no strange edge pseudo-elements. */
.platform-v2 .platform-right{
  margin-top:0 !important;
  height:628px !important;
  justify-content:space-between !important;
  gap:0 !important;
}
.platform-v2 .platform-right .ecosystem-card::before,
.platform-v2 .platform-right .ecosystem-card::after{
  content:none !important;
  display:none !important;
}

/* Remove any leftover internal text fragments from previous generated crops. */
.platform-v2 .platform-right .ecosystem-card{
  grid-template-columns:44% 56% !important;
  min-height:108px !important;
  height:108px !important;
  overflow:hidden !important;
}
.platform-v2 .platform-right .ecosystem-card > div{
  order:1 !important;
  padding:14px 8px 14px 16px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  min-width:0 !important;
  overflow:hidden !important;
}
.platform-v2 .platform-right .ecosystem-card strong{
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  font-size:18px !important;
}
.platform-v2 .platform-right .ecosystem-card img{
  order:2 !important;
  width:100% !important;
  height:108px !important;
  min-height:108px !important;
  object-fit:cover !important;
  object-position:center !important;
  border:0 !important;
  border-radius:0 !important;
}

/* Bring right labels visually closer to their images. */
.platform-v2 .platform-right .ecosystem-card > div{
  padding-right:4px !important;
}

/* Left cards slightly more compact too. */
.platform-v2 .platform-left .ecosystem-card{
  grid-template-columns:46% 54% !important;
  min-height:106px !important;
  height:106px !important;
}
.platform-v2 .platform-left .ecosystem-card img{
  height:106px !important;
  min-height:106px !important;
}
.platform-v2 .platform-left .ecosystem-card > div{
  padding:14px 14px !important;
}
.platform-v2 .platform-left .ecosystem-card strong{
  font-size:18px !important;
}

/* Hub remains visually centered between the two columns. */
.platform-v2 .platform-center{
  margin-top:214px !important;
  width:220px !important;
  height:220px !important;
}
.platform-v2 .platform-hub{
  width:168px !important;
  height:168px !important;
}

/* Center the final thesis across the whole block. */
.platform-v2 .platform-caption-v2{
  width:min(100%,1180px) !important;
  margin:22px auto 0 !important;
  align-items:center !important;
  text-align:center !important;
}
.platform-v2 .platform-caption-v2 strong,
.platform-v2 .platform-caption-v2 span{
  text-align:center !important;
}

/* Keep connector points/lines as SVG only — no duplicated card-edge circles. */
.platform-v2 .platform-dots circle{
  display:block !important;
}

/* Desktop alignment: Parking and Marketplace finish on the same visual baseline. */
@media(min-width:1051px){
  .platform-v2 .platform-left{
    margin-bottom:0 !important;
  }
  .platform-v2 .platform-right{
    margin-bottom:0 !important;
  }
}

/* Responsive reset */
@media(max-width:1050px){
  .platform-v2 .platform-ecosystem{
    width:100% !important;
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }
  .platform-v2 .platform-left,
  .platform-v2 .platform-right{
    width:100% !important;
    height:auto !important;
    margin-top:0 !important;
  }
  .platform-v2 .platform-center{
    margin-top:0 !important;
  }
}


/* ===== PLATFORM FINAL GEOMETRY: left edge / center / right edge ===== */
.platform-v2 .platform-ecosystem{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  min-height:680px !important;
  display:grid !important;
  grid-template-columns:380px minmax(260px,1fr) 380px !important;
  column-gap:28px !important;
  align-items:start !important;
}

/* Push columns to the extreme sides of the section. */
.platform-v2 .platform-left{
  width:380px !important;
  justify-self:start !important;
  margin-top:158px !important;
  height:486px !important;
  justify-content:space-between !important;
}
.platform-v2 .platform-right{
  width:380px !important;
  justify-self:end !important;
  margin-top:0 !important;
  height:644px !important;
  justify-content:space-between !important;
}

/* AiVoka exactly in the middle between both columns. */
.platform-v2 .platform-center{
  width:220px !important;
  height:220px !important;
  justify-self:center !important;
  align-self:start !important;
  margin:230px 0 0 !important;
  z-index:5 !important;
}

/* Card sizes stay narrow and clean. */
.platform-v2 .ecosystem-card{
  width:100% !important;
}
.platform-v2 .platform-left .ecosystem-card{
  height:108px !important;
  min-height:108px !important;
}
.platform-v2 .platform-right .ecosystem-card{
  height:108px !important;
  min-height:108px !important;
}

/* Connector layer spans the entire diagram and sits under cards/hub. */
.platform-v2 .platform-connectors{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:680px !important;
  z-index:2 !important;
  overflow:visible !important;
  pointer-events:none !important;
}
.platform-v2 .platform-connectors path{
  stroke:#2580ff !important;
  stroke-width:2 !important;
  fill:none !important;
  opacity:.82 !important;
  stroke-linecap:round !important;
}
.platform-v2 .platform-dots circle{
  fill:#2580ff !important;
  opacity:1 !important;
  filter:drop-shadow(0 0 6px rgba(37,128,255,.9)) !important;
}

/* Make the node/line roles clear: dots glow, lines gently animate on hub hover. */
.platform-v2 .platform-center:hover ~ .platform-connectors path,
.platform-v2 .platform-ecosystem:hover .platform-connectors path{
  animation:platformLineGlow 1.8s ease-in-out infinite alternate;
}
@keyframes platformLineGlow{
  from{opacity:.62;stroke-width:1.8}
  to{opacity:1;stroke-width:2.35}
}

/* Keep the final statement centered across the full section width. */
.platform-v2 .platform-caption-v2{
  width:100% !important;
  max-width:none !important;
  margin:22px 0 0 !important;
  text-align:center !important;
  align-items:center !important;
}

/* Desktop only: keep the three-zone composition. */
@media(min-width:1051px){
  .platform-v2 .wrap{
    max-width:1380px !important;
  }
}

/* Responsive fallback */
@media(max-width:1050px){
  .platform-v2 .platform-ecosystem{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }
  .platform-v2 .platform-left,
  .platform-v2 .platform-right{
    width:100% !important;
    height:auto !important;
    margin-top:0 !important;
    justify-self:stretch !important;
  }
  .platform-v2 .platform-center{
    margin:0 auto 18px !important;
    order:-1 !important;
  }
  .platform-v2 .platform-connectors{
    display:none !important;
  }
}


/* ===== PLATFORM PRECISE FINAL ===== */
@media(min-width:1051px){
  .platform-v2 .platform-title{
    margin-bottom:22px !important;
  }
  .platform-v2 .platform-ecosystem{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    min-height:560px !important;
    height:560px !important;
    display:grid !important;
    grid-template-columns:380px minmax(260px,1fr) 380px !important;
    column-gap:28px !important;
    align-items:start !important;
    position:relative !important;
  }

  /* Вся схема максимально вверх, но остается ниже заголовка. */
  .platform-v2 .platform-left{
    width:380px !important;
    height:500px !important;
    margin-top:18px !important;
    justify-self:start !important;
    justify-content:space-between !important;
  }
  .platform-v2 .platform-right{
    width:380px !important;
    height:500px !important;
    margin-top:18px !important;
    justify-self:end !important;
    justify-content:space-between !important;
    gap:0 !important;
  }
  .platform-v2 .platform-center{
    width:220px !important;
    height:220px !important;
    margin:158px 0 0 !important;
    justify-self:center !important;
    align-self:start !important;
    z-index:5 !important;
  }

  /* Четыре левых и пять правых карточек равномерно занимают одну высоту.
     Нижние карточки остаются на одной базовой линии. */
  .platform-v2 .platform-left .ecosystem-card{
    width:380px !important;
    height:108px !important;
    min-height:108px !important;
  }
  .platform-v2 .platform-right .ecosystem-card{
    width:380px !important;
    height:92px !important;
    min-height:92px !important;
  }
  .platform-v2 .platform-right .ecosystem-card img{
    height:92px !important;
    min-height:92px !important;
  }

  /* SVG больше не имеет приблизительной геометрии — размеры задает JS. */
  .platform-v2 .platform-connectors{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    z-index:4 !important;
    pointer-events:none !important;
    overflow:visible !important;
    transform:none !important;
  }
}

/* ----- AiVoka = digital network core, not concentric participant rings ----- */
.platform-v2 .platform-rings{
  inset:-14px !important;
  border:0 !important;
  border-radius:50% !important;
  box-shadow:none !important;
  background:
    conic-gradient(from 0deg,
      transparent 0 10%,
      rgba(39,132,255,.95) 10% 12%,
      transparent 12% 27%,
      rgba(84,165,255,.55) 27% 29%,
      transparent 29% 51%,
      rgba(39,132,255,.85) 51% 53%,
      transparent 53% 78%,
      rgba(84,165,255,.48) 78% 80%,
      transparent 80% 100%) !important;
  -webkit-mask:radial-gradient(circle,transparent 62%,#000 63% 67%,transparent 68%) !important;
  mask:radial-gradient(circle,transparent 62%,#000 63% 67%,transparent 68%) !important;
  animation:aivokaCoreOrbit 9s linear infinite !important;
  opacity:.9 !important;
}
.platform-v2 .platform-center::before{
  content:"" !important;
  position:absolute !important;
  inset:18px !important;
  border-radius:50% !important;
  z-index:0 !important;
  background:radial-gradient(circle,
    rgba(39,132,255,.32) 0%,
    rgba(39,132,255,.13) 44%,
    rgba(39,132,255,.03) 62%,
    transparent 72%) !important;
  filter:blur(7px) !important;
  animation:aivokaCoreBreath 2.8s ease-in-out infinite !important;
}
.platform-v2 .platform-center::after{
  content:"" !important;
  position:absolute !important;
  inset:-27px !important;
  border-radius:50% !important;
  z-index:1 !important;
  background:
    radial-gradient(circle at 50% 0%,#4ca2ff 0 3px,transparent 4px),
    radial-gradient(circle at 100% 50%,#2382ff 0 3px,transparent 4px),
    radial-gradient(circle at 50% 100%,#4ca2ff 0 3px,transparent 4px),
    radial-gradient(circle at 0% 50%,#2382ff 0 3px,transparent 4px) !important;
  animation:aivokaNodeOrbit 12s linear infinite !important;
  filter:drop-shadow(0 0 7px rgba(45,135,255,.95)) !important;
}
.platform-v2 .platform-hub{
  position:relative !important;
  z-index:3 !important;
  box-shadow:
    0 0 24px rgba(32,119,255,.28),
    inset 0 0 22px rgba(255,255,255,.08) !important;
  transition:transform .35s ease,box-shadow .35s ease !important;
}
.platform-v2 .platform-center:hover .platform-hub{
  transform:scale(1.045) !important;
  box-shadow:
    0 0 34px rgba(32,119,255,.52),
    0 0 72px rgba(32,119,255,.20),
    inset 0 0 24px rgba(255,255,255,.12) !important;
}
.platform-v2 .platform-center:hover .platform-rings{
  animation-duration:3.8s !important;
}

@keyframes aivokaCoreOrbit{to{transform:rotate(360deg)}}
@keyframes aivokaNodeOrbit{to{transform:rotate(-360deg)}}
@keyframes aivokaCoreBreath{
  0%,100%{transform:scale(.94);opacity:.55}
  50%{transform:scale(1.08);opacity:1}
}

/* Real connector styling. Every endpoint is calculated at exact card center. */
.platform-v2 .connector-lines path{
  fill:none !important;
  stroke:#2785ff !important;
  stroke-width:1.8 !important;
  opacity:.72 !important;
  stroke-linecap:round !important;
  vector-effect:non-scaling-stroke !important;
}
.platform-v2 .platform-dots circle{
  fill:#3b96ff !important;
  filter:url(#aivokaGlow) !important;
}
.platform-v2 .network-pulses circle{
  fill:#b7dcff !important;
  filter:url(#aivokaGlow) !important;
}
.platform-v2 .network-pulses{
  opacity:.95 !important;
}

/* Do not animate the whole line thickness anymore; moving light pulses do the work. */
.platform-v2 .platform-ecosystem:hover .platform-connectors path{
  animation:none !important;
}

/* Thesis remains under the compacted scheme. */
.platform-v2 .platform-caption-v2{
  margin-top:10px !important;
}

/* Clean regenerated emergency/courier visuals */
.platform-v2 .platform-right .ecosystem-card:nth-child(1) img,
.platform-v2 .platform-right .ecosystem-card:nth-child(3) img{
  object-position:center center !important;
}


/* ===== SCALE V2 — native web section ===== */
.scale-v2{
  background:#f7f9fc !important;
  color:#111927;
  padding-top:72px !important;
  padding-bottom:70px !important;
  overflow:hidden;
}
.scale-v2 .wrap{max-width:1380px !important}

.scale-head{
  display:grid;
  grid-template-columns:minmax(320px,.8fr) minmax(520px,1.2fr);
  align-items:center;
  gap:70px;
  margin-bottom:58px;
}
.scale-lead{
  max-width:520px;
  font:400 22px/1.38 'Roboto Condensed',sans-serif;
  color:#202733;
}
.scale-lead::before{
  content:"";
  display:block;
  width:66px;
  height:2px;
  margin-bottom:20px;
  background:#237cff;
}
.scale-head h2{
  margin:0;
  text-align:right;
  color:#11151c;
  font:700 clamp(52px,5vw,78px)/.92 'Roboto Condensed',sans-serif;
  letter-spacing:-.035em;
}
.scale-head h2 span{
  display:block;
  color:#2178f5;
}

.scale-journey{
  position:relative;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:18px;
  padding-top:4px;
}
.scale-line{
  position:absolute;
  left:7.8%;
  right:7.8%;
  top:116px;
  height:2px;
  background:rgba(31,119,246,.28);
  z-index:0;
  overflow:visible;
}
.scale-flow{
  position:absolute;
  top:50%;
  left:0;
  width:92px;
  height:3px;
  transform:translateY(-50%);
  border-radius:99px;
  background:linear-gradient(90deg,transparent,#65b2ff,#1477ff,transparent);
  filter:drop-shadow(0 0 6px rgba(29,123,255,.8));
  animation:scaleFlow 5.2s linear infinite;
}
@keyframes scaleFlow{
  from{left:-5%}
  to{left:100%}
}

.scale-node{
  position:relative;
  z-index:2;
  text-align:center;
  min-width:0;
}
.scale-visual{
  width:190px;
  height:190px;
  margin:0 auto 23px;
  border-radius:50%;
  overflow:hidden;
  border:1.5px solid #247cff;
  background:#0c1726;
  box-shadow:0 12px 32px rgba(26,65,120,.12);
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.scale-visual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .35s ease;
}
.scale-dot{
  position:absolute;
  width:13px;
  height:13px;
  left:50%;
  top:109px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#1477ff;
  border:3px solid #f7f9fc;
  box-shadow:0 0 0 1px rgba(20,119,255,.25),0 0 12px rgba(20,119,255,.35);
  z-index:4;
  transition:transform .3s ease,box-shadow .3s ease;
}
.scale-num{
  color:#1477ff;
  font:700 18px/1 'Roboto Condensed',sans-serif;
  margin-bottom:9px;
}
.scale-node h3{
  margin:0 0 8px;
  color:#121923;
  font:700 21px/1.08 'Roboto Condensed',sans-serif;
}
.scale-node p{
  max-width:205px;
  margin:0 auto;
  color:#5a6370;
  font:400 15px/1.35 'Roboto Condensed',sans-serif;
}
.scale-node:hover .scale-visual{
  transform:translateY(-6px);
  border-color:#0d6fff;
  box-shadow:0 18px 42px rgba(20,100,220,.19),0 0 0 6px rgba(28,120,255,.055);
}
.scale-node:hover .scale-visual img{
  transform:scale(1.075);
  filter:brightness(1.06);
}
.scale-node:hover .scale-dot{
  transform:translate(-50%,-50%) scale(1.35);
  box-shadow:0 0 0 5px rgba(20,119,255,.10),0 0 20px rgba(20,119,255,.65);
}

.scale-drivers{
  margin-top:54px;
  padding:26px 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid #dbe3ed;
  border-bottom:1px solid #dbe3ed;
}
.scale-driver{
  min-height:84px;
  display:grid;
  grid-template-columns:58px 1fr;
  gap:17px;
  align-items:center;
  padding:0 34px;
}
.scale-driver+ .scale-driver{border-left:1px solid #dbe3ed}
.driver-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(25,116,245,.28);
  color:#1974f5;
  background:rgba(25,116,245,.035);
  font:500 27px/1 Arial,sans-serif;
}
.scale-driver strong{
  display:block;
  margin-bottom:5px;
  color:#151c26;
  font:700 20px/1.1 'Roboto Condensed',sans-serif;
}
.scale-driver p{
  margin:0;
  color:#5b6470;
  font:400 15px/1.35 'Roboto Condensed',sans-serif;
}
.scale-statement{
  margin-top:31px;
  text-align:center;
  color:#161c25;
  font:600 clamp(25px,2.2vw,34px)/1.15 'Roboto Condensed',sans-serif;
}
.scale-statement span{color:#1875f3}

@media(max-width:1100px){
  .scale-head{grid-template-columns:1fr;gap:24px}
  .scale-head h2{text-align:left}
  .scale-journey{grid-template-columns:repeat(3,1fr);row-gap:42px}
  .scale-line{display:none}
  .scale-dot{display:none}
  .scale-drivers{grid-template-columns:1fr}
  .scale-driver{padding:20px 10px}
  .scale-driver+.scale-driver{border-left:0;border-top:1px solid #dbe3ed}
}
@media(max-width:700px){
  .scale-v2{padding-top:50px !important}
  .scale-head h2{font-size:48px}
  .scale-lead{font-size:18px}
  .scale-journey{grid-template-columns:1fr 1fr}
  .scale-visual{width:145px;height:145px}
}

/* ===== SCALE CLEANUP ===== */
.scale-line{z-index:0!important}
.scale-node{z-index:2!important}
.scale-dot{display:none!important}
.scale-visual{position:relative!important;z-index:3!important;background:#0c1726!important}

/* Native modern icons instead of text glyphs */
.driver-icon{position:relative!important;overflow:visible!important}
.driver-icon i{position:absolute;display:block}

/* Network */
.driver-network i{width:7px;height:7px;border-radius:50%;background:#1974f5;box-shadow:0 0 8px rgba(25,116,245,.35)}
.driver-network i:nth-child(1){left:13px;top:26px}
.driver-network i:nth-child(2){left:25px;top:14px}
.driver-network i:nth-child(3){left:34px;top:31px}
.driver-network:before,.driver-network:after{content:"";position:absolute;height:1.5px;background:#1974f5;transform-origin:left center}
.driver-network:before{width:18px;left:17px;top:27px;transform:rotate(-43deg)}
.driver-network:after{width:17px;left:28px;top:18px;transform:rotate(54deg)}

/* Trust shield */
.driver-trust:before{content:"";position:absolute;left:15px;top:11px;width:22px;height:27px;border:2px solid #1974f5;clip-path:polygon(50% 0,100% 18%,92% 72%,50% 100%,8% 72%,0 18%)}
.driver-trust i{left:24px;top:22px;width:6px;height:6px;border-radius:50%;background:#1974f5;box-shadow:0 0 8px rgba(25,116,245,.4)}

/* Organic growth */
.driver-growth i{bottom:13px;width:6px;border-radius:2px 2px 0 0;background:#1974f5}
.driver-growth i:nth-child(1){left:13px;height:9px}
.driver-growth i:nth-child(2){left:23px;height:16px}
.driver-growth i:nth-child(3){left:33px;height:24px}
.driver-growth:before{content:"";position:absolute;left:14px;top:15px;width:25px;height:15px;border-top:2px solid #1974f5;transform:skewY(-28deg)}
.driver-growth:after{content:"";position:absolute;right:10px;top:10px;width:7px;height:7px;border-top:2px solid #1974f5;border-right:2px solid #1974f5}

/* ===== SCALE VISUALS FINAL CLEANUP ===== */

/* Image files now contain image content only. The web layer owns circle/border/line. */
.scale-visual{
  background:#08182a!important;
  border:1.5px solid #247cff!important;
}
.scale-visual img{
  object-fit:cover!important;
  object-position:center!important;
}

/* The timeline is a clean single line behind nodes; no dots over photographs. */
.scale-dot{display:none!important}
.scale-line{
  top:99px!important;
  z-index:0!important;
}
.scale-node{z-index:2!important}
.scale-visual{z-index:3!important}

/* Remove all old pseudo/CSS icon construction. */
.driver-network:before,.driver-network:after,
.driver-trust:before,.driver-trust:after,
.driver-growth:before,.driver-growth:after,
.driver-icon > i{display:none!important}

/* Proper vector icons. */
.driver-icon{
  width:56px!important;
  height:56px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(25,116,245,.24)!important;
  border-radius:50%!important;
  background:rgba(25,116,245,.035)!important;
}
.driver-icon svg{
  width:30px;
  height:30px;
  fill:none;
  stroke:#1974f5;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .3s ease,filter .3s ease;
}
.scale-driver:hover .driver-icon svg{
  transform:scale(1.08);
  filter:drop-shadow(0 0 5px rgba(25,116,245,.35));
}

/* ===== SCALE — ACTUAL FIX ===== */
.scale-dot{display:none!important}
.scale-visual{
  overflow:hidden!important;
  border:1.5px solid #247cff!important;
  background:#08182a!important;
}
.scale-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.scale-line{
  z-index:0!important;
  top:99px!important;
}
.scale-node{z-index:2!important}
.scale-visual{position:relative!important;z-index:3!important}

/* Exactly three clean vector icons */
.scale-driver .driver-icon{
  width:58px!important;height:58px!important;
  display:grid!important;place-items:center!important;
  border:1px solid rgba(25,116,245,.28)!important;
  border-radius:50%!important;
  background:rgba(25,116,245,.035)!important;
}
.scale-driver .driver-icon svg{
  display:block!important;
  width:31px!important;height:31px!important;
  fill:none!important;stroke:#1974f5!important;
  stroke-width:2.15!important;stroke-linecap:round!important;stroke-linejoin:round!important;
}
.scale-driver .driver-icon:before,
.scale-driver .driver-icon:after,
.scale-driver .driver-icon i{display:none!important;content:none!important}


/* ===== SCALE — NEW GENERATED VISUALS ===== */
.scale-visual img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  image-rendering:auto !important;
}

/* ===== SCALE FRESH GENERATED VISUALS — website owns all framing ===== */
.scale-visual{
  overflow:hidden !important;
  background:#071a2e !important;
}
.scale-visual img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  border:0 !important;
  border-radius:50% !important;
  transform:scale(1.015);
}
.scale-node:hover .scale-visual img{
  transform:scale(1.065);
}

/* INVESTMENT NATIVE */
.investment-native{padding:70px 0 82px}.invest-head{max-width:650px}.investment-native .section-title-block .kicker{display:none!important}.invest-map{height:600px;position:relative;max-width:1200px;margin:-55px auto 0}.invest-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1}.invest-lines path{fill:none;stroke:#1671f8;stroke-width:1.4;opacity:.45;transition:.25s}.invest-lines path.on{opacity:1;stroke-width:2.2;filter:drop-shadow(0 0 5px #1671f8);stroke-dasharray:8 10;animation:invline .65s linear infinite}@keyframes invline{to{stroke-dashoffset:-18}}
.invest-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:190px;height:190px;border-radius:50%;z-index:4;background:linear-gradient(145deg,#2180ff,#0757dc);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:0 0 0 14px rgba(22,113,248,.06),0 0 38px rgba(22,113,248,.2)}.invest-core b{font:700 38px/1 'Roboto Condensed'}.invest-core span{text-align:center;margin-top:10px;font:14px/1.35 Roboto}
.invest-asset{position:absolute;width:300px;min-height:98px;padding:16px 18px;display:grid;grid-template-columns:58px 1fr;gap:15px;align-items:center;border:1px solid rgba(20,50,85,.12);border-radius:18px;background:rgba(255,255,255,.82);z-index:3;transition:.25s}.invest-asset:hover{border-color:rgba(22,113,248,.4);box-shadow:0 14px 38px rgba(22,113,248,.1)}.ia-icon{width:54px;height:54px;border:1px solid rgba(22,113,248,.2);border-radius:50%;display:grid;place-items:center;color:#1671f8;font:700 19px Roboto}.invest-asset strong{font:700 18px 'Roboto Condensed'}.invest-asset p{margin:6px 0 0;color:#6d7786;font:13px/1.35 Roboto;opacity:0;transform:translateY(3px);transition:.25s}.invest-asset:hover p{opacity:1;transform:none}.ia-ai{left:80px;top:50px}.ia-platform{left:35px;top:250px}.ia-revenue{left:80px;bottom:50px}.ia-ecosystem{right:80px;top:50px}.ia-company{right:35px;top:250px}.ia-ip{right:80px;bottom:50px}
@media(max-width:900px){.invest-map{height:auto;margin:30px 0 0;padding-top:200px;display:grid;gap:12px}.invest-lines{display:none}.invest-core{top:90px;width:160px;height:160px}.invest-asset{position:relative!important;inset:auto!important;width:auto}.invest-asset p{opacity:1;transform:none}}


/* ===== INVESTMENT USER FIX: scheme right, premium vectors only ===== */
.investment-layout-fix .wrap{
  display:grid !important;
  grid-template-columns:minmax(420px,.9fr) minmax(620px,1.1fr) !important;
  column-gap:64px !important;
  align-items:start !important;
}

/* Keep all existing copy exactly where it is, in the left column. */
.investment-layout-fix .investment-left-copy,
.investment-layout-fix .invest-head,
.investment-layout-fix .investment-head,
.investment-layout-fix .section-title-block{
  grid-column:1 !important;
}

/* Main investment scheme sits in the right column. */
.investment-layout-fix .investment-main-scheme,
.investment-layout-fix .invest-map,
.investment-layout-fix .investment-map,
.investment-layout-fix .invest-scheme,
.investment-layout-fix .investment-scheme{
  grid-column:2 !important;
  grid-row:1 / span 4 !important;
  justify-self:stretch !important;
  width:100% !important;
  margin-left:auto !important;
  margin-right:0 !important;
}

/* Premium vector icon system — no background or section changes. */
.investment-layout-fix .inv-icon,
.investment-layout-fix .ia-icon,
.investment-layout-fix .invest-icon,
.investment-layout-fix .asset-icon{
  display:grid !important;
  place-items:center !important;
  border-radius:18px !important;
  border:1px solid rgba(22,113,248,.18) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,249,255,.96)) !important;
  box-shadow:
    0 10px 26px rgba(24,70,130,.07),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
}

.investment-layout-fix .inv-icon svg,
.investment-layout-fix .ia-icon svg,
.investment-layout-fix .invest-icon svg,
.investment-layout-fix .asset-icon svg{
  width:36px !important;
  height:36px !important;
  fill:none !important;
  stroke:#1671f8 !important;
  stroke-width:1.9 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  filter:none !important;
  transition:transform .24s ease, filter .24s ease !important;
}

.investment-layout-fix .inv-asset:hover .inv-icon svg,
.investment-layout-fix .invest-asset:hover .invest-icon svg,
.investment-layout-fix .ia-icon:hover svg{
  transform:scale(1.06) !important;
  filter:drop-shadow(0 0 5px rgba(22,113,248,.28)) !important;
}

@media(max-width:1050px){
  .investment-layout-fix .wrap{
    grid-template-columns:1fr !important;
    row-gap:34px !important;
  }
  .investment-layout-fix .investment-left-copy,
  .investment-layout-fix .invest-head,
  .investment-layout-fix .investment-head,
  .investment-layout-fix .section-title-block,
  .investment-layout-fix .investment-main-scheme,
  .investment-layout-fix .invest-map,
  .investment-layout-fix .investment-map,
  .investment-layout-fix .invest-scheme,
  .investment-layout-fix .investment-scheme{
    grid-column:1 !important;
    grid-row:auto !important;
  }
}


/* ===== INVESTMENT CONSTELLATION — right side only; background untouched ===== */
.investment-layout-fix .invest-constellation{height:620px!important;position:relative!important;margin:0!important;overflow:visible!important}
.investment-layout-fix .const-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible}
.investment-layout-fix .const-lines path{fill:none;stroke:#1671f8;stroke-width:1.35;opacity:.32;transition:opacity .25s,stroke-width .25s,filter .25s}
.investment-layout-fix .const-lines path.on{opacity:1;stroke-width:2;filter:drop-shadow(0 0 5px rgba(22,113,248,.55));stroke-dasharray:8 11;animation:constFlow .65s linear infinite}
@keyframes constFlow{to{stroke-dashoffset:-19}}
.investment-layout-fix .const-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:172px;height:172px;border-radius:50%;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#0b1320;color:#fff;border:1px solid rgba(42,132,255,.85);box-shadow:0 0 0 7px rgba(22,113,248,.035),0 0 34px rgba(22,113,248,.17)}
.investment-layout-fix .const-core:before{content:"";position:absolute;inset:10px;border-radius:50%;border:1px solid rgba(77,155,255,.20)}
.investment-layout-fix .const-core .core-orbit{position:absolute;inset:-13px;border-radius:50%;border:1px solid rgba(22,113,248,.14);border-left-color:#1671f8;border-right-color:#1671f8;animation:coreOrbit 8s linear infinite}
@keyframes coreOrbit{to{transform:rotate(360deg)}}
.investment-layout-fix .const-core b{position:relative;font:700 35px/1 'Roboto Condensed',sans-serif;letter-spacing:-.02em}
.investment-layout-fix .const-core small{position:relative;margin-top:10px;max-width:110px;font:400 12px/1.35 Roboto,sans-serif;color:#aebed3}
.investment-layout-fix .const-node{position:absolute;z-index:3;width:205px;display:flex;align-items:center;gap:13px;outline:none;cursor:default}
.investment-layout-fix .const-icon{flex:0 0 62px;width:62px;height:62px;display:grid;place-items:center;border-radius:19px;background:linear-gradient(145deg,#fff,#f4f8ff);border:1px solid rgba(22,113,248,.22);box-shadow:0 12px 30px rgba(22,74,145,.08),inset 0 1px 0 #fff;transition:.25s}
.investment-layout-fix .const-icon svg{width:35px;height:35px;fill:none;stroke:#1671f8;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.investment-layout-fix .const-copy{position:relative;min-width:0}
.investment-layout-fix .const-copy strong{display:block;color:#111722;font:700 17px/1.12 'Roboto Condensed',sans-serif}
.investment-layout-fix .const-copy p{position:absolute;left:0;top:100%;width:185px;margin:7px 0 0;padding:9px 11px;border-radius:10px;background:rgba(255,255,255,.96);box-shadow:0 12px 28px rgba(25,66,120,.10);color:#6d7786;font:400 11.5px/1.35 Roboto,sans-serif;opacity:0;transform:translateY(4px);pointer-events:none;transition:.22s;z-index:7}
.investment-layout-fix .const-node:hover .const-icon,.investment-layout-fix .const-node:focus-visible .const-icon{transform:translateY(-2px) scale(1.05);border-color:rgba(22,113,248,.48);box-shadow:0 15px 34px rgba(22,113,248,.13),0 0 0 6px rgba(22,113,248,.04)}
.investment-layout-fix .const-node:hover .const-copy p,.investment-layout-fix .const-node:focus-visible .const-copy p{opacity:1;transform:none}
.investment-layout-fix .cn-ai{left:35px;top:72px}.investment-layout-fix .cn-ecosystem{right:22px;top:72px}.investment-layout-fix .cn-platform{left:0;top:278px}.investment-layout-fix .cn-company{right:-2px;top:278px}.investment-layout-fix .cn-revenue{left:35px;bottom:58px}.investment-layout-fix .cn-ip{right:22px;bottom:58px}
@media(max-width:1050px){.investment-layout-fix .invest-constellation{height:620px!important}.investment-layout-fix .const-copy p{opacity:1;position:static;width:auto;background:none;box-shadow:none;padding:0}}
@media(max-width:760px){.investment-layout-fix .invest-constellation{height:auto!important;display:grid!important;grid-template-columns:1fr;gap:18px;padding-top:200px}.investment-layout-fix .const-lines{display:none}.investment-layout-fix .const-core{top:92px;width:155px;height:155px}.investment-layout-fix .const-node{position:relative!important;inset:auto!important;width:auto!important}.investment-layout-fix .const-copy p{opacity:1;transform:none}}


/* ===== INVESTMENT CONSTELLATION — POLISH & RESPONSIVE GEOMETRY ===== */

/* Left copy: extreme left, vertically centered. Right diagram: centered in its half. */
@media(min-width:1051px){
  .investment-layout-fix .wrap{
    max-width:1460px !important;
    display:grid !important;
    grid-template-columns:minmax(470px,.88fr) minmax(650px,1.12fr) !important;
    column-gap:74px !important;
    align-items:center !important;
  }

  .investment-layout-fix .investment-left-copy{
    grid-column:1 !important;
    justify-self:start !important;
    align-self:center !important;
    width:100% !important;
    max-width:620px !important;
    margin:0 !important;
  }

  .investment-layout-fix .investment-main-scheme{
    grid-column:2 !important;
    justify-self:center !important;
    align-self:center !important;
    width:min(100%,720px) !important;
    margin:0 auto !important;
  }

  .investment-layout-fix .invest-constellation{
    width:100% !important;
    height:620px !important;
  }
}

/* Nodes use percentage positioning so the composition scales with the right block. */
.investment-layout-fix .cn-ai{
  left:4.5% !important;
  top:10.5% !important;
}
.investment-layout-fix .cn-ecosystem{
  right:2.5% !important;
  top:10.5% !important;
}
.investment-layout-fix .cn-platform{
  left:0 !important;
  top:44% !important;
}
.investment-layout-fix .cn-company{
  right:0 !important;
  top:44% !important;
}
.investment-layout-fix .cn-revenue{
  left:4.5% !important;
  bottom:8.5% !important;
}
.investment-layout-fix .cn-ip{
  right:2.5% !important;
  bottom:8.5% !important;
}

/* Dynamic SVG lines are measured from the real DOM, not hardcoded coordinates. */
.investment-layout-fix .const-lines{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  z-index:1 !important;
  overflow:visible !important;
  pointer-events:none !important;
}
.investment-layout-fix .const-paths path{
  fill:none !important;
  stroke:#1671f8 !important;
  stroke-width:1.35 !important;
  opacity:.34 !important;
  stroke-linecap:round !important;
  vector-effect:non-scaling-stroke !important;
  transition:opacity .25s ease,stroke-width .25s ease,filter .25s ease !important;
}
.investment-layout-fix .const-paths path.on{
  opacity:1 !important;
  stroke-width:2.05 !important;
  filter:drop-shadow(0 0 5px rgba(22,113,248,.48)) !important;
}
.investment-layout-fix .const-dots circle{
  fill:#2b83ff !important;
  filter:drop-shadow(0 0 5px rgba(22,113,248,.60)) !important;
}
.investment-layout-fix .const-pulses circle{
  fill:#bcdcff !important;
  filter:drop-shadow(0 0 5px rgba(22,113,248,.80)) !important;
}

/* Slightly refine the premium icon language without changing background/layout. */
.investment-layout-fix .const-icon{
  border-radius:18px !important;
}
.investment-layout-fix .const-icon svg{
  width:36px !important;
  height:36px !important;
  stroke-width:1.8 !important;
}

/* AI brain gets a slightly stronger technical treatment. */
.investment-layout-fix .cn-ai .const-icon{
  box-shadow:
    0 12px 30px rgba(22,74,145,.08),
    inset 0 1px 0 #fff,
    0 0 0 5px rgba(22,113,248,.025) !important;
}

@media(max-width:1050px){
  .investment-layout-fix .investment-left-copy,
  .investment-layout-fix .investment-main-scheme{
    justify-self:stretch !important;
    align-self:auto !important;
  }
}


/* ===== INVESTMENT CONSTELLATION — ALIGNMENT ONLY ===== */

/* Left and right columns share the same vertical center. */
@media(min-width:1051px){
  .investment-layout-fix .wrap{
    align-items:center !important;
  }

  .investment-layout-fix .investment-left-copy,
  .investment-layout-fix .investment-main-scheme{
    align-self:center !important;
  }
}

/* Left-side constellation nodes: title first, icon second.
   Right-side nodes remain unchanged. */
.investment-layout-fix .cn-ai,
.investment-layout-fix .cn-platform,
.investment-layout-fix .cn-revenue{
  flex-direction:row-reverse !important;
  justify-content:flex-start !important;
}

.investment-layout-fix .cn-ai .const-copy,
.investment-layout-fix .cn-platform .const-copy,
.investment-layout-fix .cn-revenue .const-copy{
  text-align:right !important;
  align-items:flex-end !important;
}


/* ===== INVESTMENT — EXACT VERTICAL ALIGNMENT FIX ===== */
@media(min-width:1051px){
  .investment-layout-fix > .wrap,
  .investment-layout-fix .wrap{
    align-items:start !important;
  }

  .investment-layout-fix .investment-main-scheme{
    align-self:start !important;
    margin-top:0 !important;
  }

  .investment-layout-fix .investment-left-copy{
    align-self:center !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }

  /* The grid row follows the right diagram height; the left copy is centered inside it. */
  .investment-layout-fix .investment-main-scheme{
    min-height:620px !important;
  }
}


/* ===== INVESTMENT — FINAL EXACT ROW ALIGNMENT =====
   Both columns occupy ONE 620px grid row.
   Right diagram starts at row top.
   Left copy is centered vertically inside the same row.
*/
@media(min-width:1051px){
  .investment-layout-fix .wrap{
    display:grid !important;
    grid-template-columns:minmax(470px,.88fr) minmax(650px,1.12fr) !important;
    grid-template-rows:620px !important;
    column-gap:74px !important;
    align-items:stretch !important;
  }

  .investment-layout-fix .investment-left-copy{
    grid-column:1 !important;
    grid-row:1 !important;
    align-self:center !important;
    justify-self:start !important;
    margin:0 !important;
  }

  .investment-layout-fix .investment-main-scheme{
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:start !important;
    justify-self:center !important;
    height:620px !important;
    min-height:620px !important;
    margin:0 auto !important;
  }
}


/* ===== PUBLIC ROADMAP ===== */
.roadmap-public{
  background:#fff;
  padding:86px 0 96px;
  overflow:hidden;
}
.roadmap-public .wrap{
  max-width:1460px;
}
.roadmap-head{
  max-width:780px;
  margin-bottom:66px;
}
.roadmap-head h2{
  margin:0;
  color:#07101f;
  font-family:"Roboto Condensed",Arial,sans-serif;
  font-size:clamp(54px,5.1vw,82px);
  line-height:.93;
  letter-spacing:-.045em;
  font-weight:800;
}
.roadmap-head h2 span{
  color:#2b83ff;
}
.roadmap-head p{
  margin:20px 0 0;
  max-width:680px;
  color:#69788c;
  font-size:18px;
  line-height:1.55;
}

.roadmap-track{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  min-height:290px;
}
.roadmap-line{
  position:absolute;
  left:9.5%;
  right:9.5%;
  top:48px;
  height:1px;
  background:linear-gradient(90deg,#1671f8 0%,#70aaff 100%);
  z-index:0;
}
.roadmap-stage{
  position:relative;
  z-index:1;
  text-align:center;
  padding:0 18px;
}
.roadmap-point{
  width:96px;
  height:96px;
  margin:0 auto 34px;
  border:1.5px solid #1671f8;
  border-radius:50%;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#1268ed;
  font-family:"Roboto Condensed",Arial,sans-serif;
  font-size:31px;
  font-weight:800;
  box-shadow:0 10px 28px rgba(22,113,248,.05);
  transition:transform .28s ease,background .28s ease,color .28s ease,box-shadow .28s ease;
}
.roadmap-stage:first-of-type .roadmap-point{
  background:#1268ed;
  color:#fff;
  box-shadow:0 10px 30px rgba(22,113,248,.26);
}
.roadmap-content{
  max-width:230px;
  margin:0 auto;
}
.roadmap-content strong{
  display:block;
  min-height:52px;
  color:#07101f;
  font-family:"Roboto Condensed",Arial,sans-serif;
  font-size:22px;
  line-height:1.08;
  font-weight:800;
}
.roadmap-content p{
  margin:9px auto 0;
  color:#68778b;
  font-size:15px;
  line-height:1.48;
}
.roadmap-stage:hover .roadmap-point{
  transform:translateY(-4px);
  background:#1268ed;
  color:#fff;
  box-shadow:0 13px 34px rgba(22,113,248,.22);
}
.roadmap-thesis{
  margin:42px auto 0;
  text-align:center;
  color:#1268ed;
  font-family:"Roboto Condensed",Arial,sans-serif;
  font-size:clamp(25px,2.2vw,34px);
  line-height:1.25;
  font-weight:700;
}

@media(max-width:1050px){
  .roadmap-track{
    grid-template-columns:1fr;
    gap:28px;
    min-height:0;
    padding-left:26px;
  }
  .roadmap-line{
    left:73px;
    right:auto;
    top:48px;
    bottom:48px;
    width:1px;
    height:auto;
  }
  .roadmap-stage{
    display:grid;
    grid-template-columns:96px 1fr;
    gap:28px;
    align-items:center;
    text-align:left;
    padding:0;
  }
  .roadmap-point{
    margin:0;
  }
  .roadmap-content{
    max-width:520px;
    margin:0;
  }
  .roadmap-content strong{
    min-height:0;
  }
  .roadmap-thesis{
    margin-top:54px;
  }
}
@media(max-width:640px){
  .roadmap-public{
    padding:66px 0 74px;
  }
  .roadmap-head{
    margin-bottom:46px;
  }
  .roadmap-head h2{
    font-size:48px;
  }
  .roadmap-head p{
    font-size:16px;
  }
  .roadmap-track{
    padding-left:4px;
  }
  .roadmap-line{
    left:41px;
  }
  .roadmap-stage{
    grid-template-columns:74px 1fr;
    gap:18px;
  }
  .roadmap-point{
    width:74px;
    height:74px;
    font-size:25px;
  }
  .roadmap-content strong{
    font-size:20px;
  }
  .roadmap-thesis{
    text-align:left;
    font-size:25px;
  }
}


/* ===== REQUESTED POLISH ONLY ===== */

/* Investment: same tighter vertical rhythm as the preceding sections. */
.investment-layout-fix{
  padding-top:64px !important;
  padding-bottom:64px !important;
}

/* Roadmap heading + intro: extreme right. */
.roadmap-head{
  margin-left:auto !important;
  margin-right:0 !important;
  text-align:right !important;
  max-width:760px !important;
}
.roadmap-head p{
  margin-left:auto !important;
  margin-right:0 !important;
}

/* Replace 01/02/... with premium vector stage symbols. */
.roadmap-point svg{
  width:42px;
  height:42px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}

/* Keep the effect restrained: active pulse travels through the roadmap,
   while each node gets a subtle halo on hover. */
.roadmap-line{
  overflow:visible;
}
.roadmap-track::after{
  content:"";
  position:absolute;
  z-index:0;
  top:44px;
  left:9.5%;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#fff;
  border:2px solid #1671f8;
  box-shadow:0 0 12px rgba(22,113,248,.65);
  animation:roadmapPulse 7s cubic-bezier(.45,0,.55,1) infinite;
}
@keyframes roadmapPulse{
  0%{left:9.5%;opacity:0}
  5%{opacity:1}
  95%{opacity:1}
  100%{left:89.5%;opacity:0}
}
.roadmap-stage:hover .roadmap-point{
  box-shadow:0 13px 34px rgba(22,113,248,.18),0 0 0 8px rgba(22,113,248,.045) !important;
}

/* Mobile keeps heading readable and disables the horizontal traveling pulse. */
@media(max-width:1050px){
  .roadmap-head{
    text-align:right !important;
  }
  .roadmap-track::after{
    display:none !important;
  }
}


/* ===== ROADMAP — MATCH SCALE SECTION BACKGROUND ===== */
.roadmap-public{
  background:linear-gradient(90deg,#0b63f6,#6db3ff,#0b63f6) !important;
}
.roadmap-public .roadmap-head h2,
.roadmap-public .roadmap-content strong{
  color:#f7f9fc !important;
}
.roadmap-public .roadmap-head p,
.roadmap-public .roadmap-content p{
  color:rgba(224,232,243,.68) !important;
}
.roadmap-public .roadmap-point{
  background:rgba(255,255,255,.025) !important;
  border-color:rgba(76,145,255,.78) !important;
  color:#65a2ff !important;
  box-shadow:0 12px 32px rgba(0,0,0,.12) !important;
}
.roadmap-public .roadmap-stage:first-of-type .roadmap-point{
  background:#1268ed !important;
  color:#fff !important;
  box-shadow:0 12px 34px rgba(22,113,248,.24) !important;
}
.roadmap-public .roadmap-line{
  background:linear-gradient(90deg,rgba(22,113,248,.82),rgba(91,157,255,.58)) !important;
}
.roadmap-public .roadmap-stage:hover .roadmap-point{
  background:#1268ed !important;
  color:#fff !important;
}
.roadmap-public .roadmap-thesis{
  color:#4d94ff !important;
}


/* ===== ROADMAP BACKGROUND CORRECTION ONLY ===== */
.roadmap-public{
  background:#f7f9fc !important;
}
.roadmap-public .roadmap-head h2,
.roadmap-public .roadmap-content strong{
  color:#07101f !important;
}
.roadmap-public .roadmap-head p,
.roadmap-public .roadmap-content p{
  color:#68778b !important;
}
.roadmap-public .roadmap-point{
  background:#f7f9fc !important;
  border-color:#1671f8 !important;
  color:#1671f8 !important;
}
.roadmap-public .roadmap-stage:first-of-type .roadmap-point{
  background:#1268ed !important;
  color:#fff !important;
}
.roadmap-public .roadmap-stage:hover .roadmap-point{
  background:#1268ed !important;
  color:#fff !important;
}
.roadmap-public .roadmap-thesis{
  color:#1268ed !important;
}


/* ===== FINAL INVESTOR CTA ===== */
.final-cta{
  position:relative;
  overflow:hidden;
  background:#07111f;
  color:#fff;
  padding:104px 0 110px;
}
.final-cta-glow{
  position:absolute;
  width:900px;
  height:900px;
  right:-300px;
  top:-430px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(22,113,248,.18) 0%,rgba(22,113,248,.055) 36%,rgba(22,113,248,0) 70%);
  pointer-events:none;
}
.final-cta::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(69,143,255,.35),transparent);
}
.final-cta .wrap{
  max-width:1460px;
}
.final-cta-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(420px,.72fr);
  gap:120px;
  align-items:center;
}
.final-cta-kicker{
  margin:0 0 18px;
  color:#5d9eff;
  font-family:"Roboto Condensed",Arial,sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.final-cta-copy h2{
  margin:0;
  color:#fff;
  font-family:"Roboto Condensed",Arial,sans-serif;
  font-size:clamp(72px,7.1vw,112px);
  line-height:.86;
  letter-spacing:-.052em;
  font-weight:800;
}
.final-cta-copy h2 span{
  color:#378cff;
}
.final-cta-lead{
  max-width:720px;
  margin:31px 0 0;
  color:rgba(225,233,244,.68);
  font-size:19px;
  line-height:1.6;
}
.final-cta-action{
  position:relative;
  padding-left:44px;
}
.final-cta-action::before{
  content:"";
  position:absolute;
  left:0;
  top:3px;
  bottom:3px;
  width:1px;
  background:linear-gradient(180deg,rgba(65,143,255,.12),rgba(65,143,255,.72),rgba(65,143,255,.12));
}
.final-cta-action > p{
  max-width:510px;
  margin:0 0 30px;
  color:rgba(238,243,250,.86);
  font-size:19px;
  line-height:1.55;
}
.final-cta-button{
  width:min(100%,410px);
  min-height:66px;
  padding:0 26px 0 29px;
  border:1px solid rgba(83,151,255,.68);
  border-radius:14px;
  background:#1268ed;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  text-decoration:none;
  font-family:"Roboto Condensed",Arial,sans-serif;
  font-size:18px;
  font-weight:700;
  box-shadow:0 15px 45px rgba(18,104,237,.16);
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease;
}
.final-cta-button svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .25s ease;
}
.final-cta-button:hover{
  transform:translateY(-2px);
  background:#1973f5;
  box-shadow:0 18px 52px rgba(18,104,237,.27);
}
.final-cta-button:hover svg{
  transform:translateX(4px);
}
.final-cta-note{
  display:block;
  max-width:410px;
  margin-top:17px;
  color:rgba(204,216,231,.48);
  font-size:13px;
  line-height:1.45;
}

@media(max-width:950px){
  .final-cta{
    padding:82px 0 88px;
  }
  .final-cta-inner{
    grid-template-columns:1fr;
    gap:58px;
  }
  .final-cta-action{
    padding-left:0;
    padding-top:34px;
  }
  .final-cta-action::before{
    left:0;
    right:0;
    top:0;
    bottom:auto;
    width:auto;
    height:1px;
  }
}
@media(max-width:640px){
  .final-cta-copy h2{
    font-size:64px;
  }
  .final-cta-lead,
  .final-cta-action > p{
    font-size:17px;
  }
  .final-cta-button{
    width:100%;
  }
}


/* ===== TEAM BETWEEN ROADMAP AND FINAL CTA ===== */
.team-core{
  position:relative;
  overflow:hidden;
  background:#07111f;
  color:#fff;
  padding:88px 0 94px;
}
.team-core .wrap{
  max-width:1460px;
}
.team-head{
  max-width:760px;
  margin-left:auto;
  text-align:right;
}
.team-eyebrow{
  color:#5d9eff;
  font-size:14px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.team-head h2{
  margin:15px 0 0;
  font:800 clamp(52px,5vw,80px)/.94 "Roboto Condensed",sans-serif;
  letter-spacing:-.04em;
}
.team-head h2 span{
  color:#398cff;
}
.team-head>p:last-child{
  max-width:700px;
  margin:22px 0 0 auto;
  color:rgba(225,233,244,.68);
  font-size:18px;
  line-height:1.55;
}
.team-composition{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1.15fr 1fr;
  gap:50px;
  align-items:center;
  margin-top:58px;
}
.team-axis{
  position:absolute;
  left:12%;
  right:12%;
  top:100px;
  height:1px;
  background:rgba(93,158,255,.35);
}
.team-person{
  position:relative;
  z-index:1;
  text-align:center;
}
.team-marker{
  width:92px;
  height:92px;
  margin:0 auto 25px;
  border-radius:24px;
  border:1px solid rgba(93,158,255,.45);
  display:grid;
  place-items:center;
}
.team-marker svg{
  width:42px;height:42px;
  fill:none;
  stroke:#5d9eff;
  stroke-width:1.7;
}
.team-person-copy span{
  color:#5d9eff;
  font-size:13px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.team-person-copy h3{
  margin:8px 0;
  font:700 28px/1 "Roboto Condensed",sans-serif;
}
.team-person-copy p{
  color:rgba(225,233,244,.62);
  max-width:280px;
  margin:auto;
}
.founder-core{
  width:180px;height:180px;
  margin:0 auto 22px;
  border-radius:50%;
  display:grid;
  place-items:center;
  align-content:center;
  background:#0b1828;
  border:1px solid rgba(93,158,255,.7);
  box-shadow:0 0 0 14px rgba(22,113,248,.05);
}
.founder-core strong{
  font:800 36px "Roboto Condensed",sans-serif;
}
.founder-core span{
  color:#5d9eff;
}
.team-thesis{
  margin-top:42px;
  text-align:center;
  font:700 34px "Roboto Condensed",sans-serif;
}
.team-thesis span{color:#398cff}

@media(max-width:900px){
  .team-composition{grid-template-columns:1fr}
  .team-axis{display:none}
  .team-head{text-align:left;margin:0}
}


/* Team cards redesign */
.team-core{
  background:#07111f;
  padding:90px 0;
  margin:0;
}
.final-cta{
  background:#07111f;
}
.team-head{
  text-align:center;
  max-width:760px;
  margin:0 auto 55px;
}
.team-head h2{
  font:800 clamp(48px,5vw,72px)/1 "Roboto Condensed",sans-serif;
}
.team-head h2 span{
  color:#398cff;
}
.team-head p{
  margin:22px auto 0;
  color:rgba(225,233,244,.7);
  font-size:18px;
}
.team-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.team-card{
  background:#0b1625;
  border:1px solid rgba(93,158,255,.18);
  border-radius:22px;
  overflow:hidden;
  transition:.35s ease;
}
.team-card:hover{
  transform:translateY(-8px);
  border-color:rgba(93,158,255,.6);
  box-shadow:0 20px 50px rgba(0,0,0,.25);
}
.team-photo{
  height:360px;
  background:
    linear-gradient(135deg,rgba(35,120,255,.15),rgba(0,0,0,.2)),
    #111d2b;
}
.team-info{
  padding:24px 28px 30px;
}
.team-info h3{
  margin:0 0 8px;
  font:700 30px "Roboto Condensed",sans-serif;
}
.team-info span{
  color:#5d9eff;
  font-size:16px;
}
@media(max-width:900px){
 .team-cards{grid-template-columns:1fr}
}


/* ===== TEAM + FINAL CTA — ONE CONTINUOUS VISUAL FIELD ===== */
.team-cta-shell{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(900px 620px at 78% 14%, rgba(28,102,211,.11), transparent 66%),
    radial-gradient(860px 700px at 22% 82%, rgba(20,72,150,.07), transparent 70%),
    linear-gradient(180deg,#07111f 0%,#07111f 48%,#06101d 100%);
}
.team-cta-shell::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 0%,transparent 44%,rgba(0,0,0,.025) 64%,rgba(0,0,0,.07) 100%);
}

/* Child sections become transparent so there is no visible seam. */
.team-cta-shell .team-core,
.team-cta-shell .final-cta{
  position:relative;
  z-index:1;
  background:transparent !important;
}

/* Remove CTA's old separate right-side glow / block feel. */
.team-cta-shell .final-cta-glow{
  display:none !important;
}
.team-cta-shell .final-cta::after{
  display:none !important;
}

/* Team: a little more visual presence while photos are placeholders. */
.team-cta-shell .team-card{
  background:rgba(10,23,39,.78) !important;
  border-color:rgba(93,158,255,.20) !important;
  box-shadow:0 18px 50px rgba(0,0,0,.12);
}
.team-cta-shell .team-photo{
  position:relative;
  background:
    radial-gradient(circle at 50% 38%,rgba(51,122,226,.18),transparent 36%),
    linear-gradient(160deg,rgba(34,73,124,.30),rgba(11,25,43,.55)),
    #12243d !important;
}
.team-cta-shell .team-photo::before{
  content:"";
  position:absolute;
  width:118px;
  height:118px;
  left:50%;
  top:46%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:1px solid rgba(104,164,255,.12);
  box-shadow:0 0 0 28px rgba(57,128,231,.025),0 0 0 56px rgba(57,128,231,.018);
}
.team-cta-shell .team-card:hover{
  transform:translateY(-7px);
  border-color:rgba(93,158,255,.58) !important;
  box-shadow:0 24px 62px rgba(0,0,0,.22),0 0 0 1px rgba(93,158,255,.06);
}

/* Final CTA: move upward and give it more visual weight. */
.team-cta-shell .final-cta{
  padding-top:62px !important;
  padding-bottom:104px !important;
}
.team-cta-shell .final-cta-inner{
  align-items:center !important;
  gap:92px !important;
}
.team-cta-shell .final-cta-action{
  align-self:center !important;
  transform:translateY(-18px);
}
.team-cta-shell .final-cta-action > p{
  font-size:20px !important;
  line-height:1.52 !important;
}
.team-cta-shell .final-cta-button{
  width:min(100%,440px) !important;
  min-height:70px !important;
  box-shadow:0 18px 54px rgba(18,104,237,.22) !important;
}

/* So the transition from cards into CTA feels deliberate, not like a new section. */
.team-cta-shell .team-core{
  padding-bottom:72px !important;
}
.team-cta-shell .team-core + .final-cta{
  margin-top:-1px;
}

@media(max-width:950px){
  .team-cta-shell .final-cta-action{
    transform:none;
  }
}


/* ===== FOOTER ===== */
.site-footer{
  position:relative;
  background:#06101d;
  color:#fff;
  padding:0 0 34px;
}
.site-footer::before{
  content:"";
  display:block;
  height:1px;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(93,158,255,.18) 14%,
    rgba(93,158,255,.34) 50%,
    rgba(93,158,255,.18) 86%,
    transparent 100%
  );
}
.site-footer-inner{
  max-width:1460px;
  padding-top:30px;
}
.site-footer-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:48px;
  padding-bottom:28px;
}
.site-footer-brand{
  display:flex;
  align-items:center;
  gap:26px;
}
.site-footer-brand .brand{
  font-family:"Roboto Condensed",Arial,sans-serif;
  font-size:27px;
  font-weight:800;
  letter-spacing:-.03em;
  line-height:1;
  white-space:nowrap;
}
.site-footer-brand .brand span{
  color:#398cff;
}
.site-footer-brand p{
  margin:0;
  padding-left:26px;
  border-left:1px solid rgba(226,235,246,.18);
  color:rgba(226,235,246,.58);
  font-size:14px;
  line-height:1.4;
}
.site-footer-meta{
  display:flex;
  align-items:center;
  gap:11px;
  color:rgba(226,235,246,.46);
  font-size:13px;
  white-space:nowrap;
}
.site-footer-dot{
  color:#398cff;
}
.site-footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  padding-top:22px;
  border-top:1px solid rgba(226,235,246,.08);
  color:rgba(226,235,246,.34);
  font-size:12px;
}
.site-footer a{
  color:inherit;
}
@media(max-width:760px){
  .site-footer-top{
    align-items:flex-start;
    flex-direction:column;
    gap:22px;
  }
  .site-footer-brand{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }
  .site-footer-brand p{
    padding-left:0;
    border-left:0;
  }
  .site-footer-meta{
    white-space:normal;
  }
  .site-footer-bottom{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
}


/* ===== FOOTER FINAL ===== */
html, body{
  max-width:100%;
  overflow-x:hidden;
}
*{
  box-sizing:border-box;
}
img, svg, video, canvas{
  max-width:100%;
}

/* Prevent decorative/full-bleed elements from widening the viewport */
.team-cta-shell,
.team-core,
.final-cta,
.site-footer,
.site-footer .wrap{
  max-width:100%;
  overflow-x:clip;
}

.site-footer{
  position:relative;
  background:#06101d !important;
  color:#fff;
  padding:0 0 34px !important;
}
.site-footer::before{
  content:"";
  display:block;
  height:1px;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(93,158,255,.16) 14%,
    rgba(93,158,255,.30) 50%,
    rgba(93,158,255,.16) 86%,
    transparent 100%
  );
}
.site-footer-inner{
  max-width:1460px !important;
  padding-top:30px;
}
.site-footer-main{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:56px;
}
.site-footer-brandblock{
  min-width:0;
}
.site-footer-brandline{
  display:flex;
  align-items:center;
  gap:24px;
  min-width:0;
}
.site-footer-brandline .brand{
  flex:0 0 auto;
  font-family:"Roboto Condensed",Arial,sans-serif;
  font-size:27px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.03em;
}
.site-footer-brandline .brand span{
  color:#398cff;
}
.site-footer-sep{
  width:1px;
  height:26px;
  background:rgba(226,235,246,.17);
  flex:0 0 auto;
}
.site-footer-tagline{
  color:rgba(226,235,246,.58);
  font-size:14px;
  line-height:1.4;
}
.site-footer-copy{
  margin-top:18px;
  color:rgba(226,235,246,.38);
  font-size:12px;
}
.site-footer-right{
  max-width:760px;
  text-align:right;
}
.site-footer-meta{
  color:rgba(226,235,246,.46);
  font-size:13px;
  white-space:nowrap;
}
.site-footer-meta span{
  color:#398cff;
  padding:0 6px;
}
.site-footer-legal{
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px 18px;
  margin-top:18px;
}
.site-footer-legal a{
  color:rgba(226,235,246,.34);
  font-size:12px;
  line-height:1.4;
  text-decoration:none;
  transition:color .2s ease;
}
.site-footer-legal a:hover{
  color:rgba(226,235,246,.68);
}

/* Kill obsolete old footer rows if they survive by specificity */
.site-footer-top,
.site-footer-bottom{
  display:none !important;
}

@media(max-width:900px){
  .site-footer-main{
    flex-direction:column;
    gap:26px;
  }
  .site-footer-right{
    text-align:left;
  }
  .site-footer-legal{
    justify-content:flex-start;
  }
}
@media(max-width:640px){
  .site-footer-brandline{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }
  .site-footer-sep{
    display:none;
  }
  .site-footer-meta{
    white-space:normal;
  }
}



/* ===== FINAL SYSTEM: TYPOGRAPHY / NAV / FOOTER / MOBILE ===== */
:root{
  --ui-font:"Segoe UI",Arial,sans-serif;
  --heading-font:"Segoe UI",Arial,sans-serif;
  --action-blue:#1268ed;
  --action-blue-hover:#1973f5;
}
html,body,button,input,textarea,select{font-family:var(--ui-font)!important}
body{font-size:16px}

/* Consistent heading hierarchy */
.hero h1,.problem-unified-copy h2,.tech-heading h2,.section-title-block h2,.scale-head h2,.roadmap-head h2,.team-head h2,.final-cta-copy h2{
  font-family:var(--heading-font)!important;
  font-weight:800!important;
  letter-spacing:-.045em!important;
}
.problem-unified-copy h2,.tech-heading h2,.section-title-block h2,.scale-head h2,.roadmap-head h2,.team-head h2{
  font-size:clamp(52px,5.3vw,78px)!important;
  line-height:.98!important;
}
.problem-intro,.section-title-block p,.tech-window p,.scale-lead,.roadmap-head p,.team-head p,.final-cta-text p{
  font-family:var(--ui-font)!important;
}

/* Header */
header{overflow:visible!important}
header .wrap{display:flex;align-items:center;gap:28px;position:relative}
.main-nav{display:flex;align-items:center;justify-content:center;gap:22px;margin-left:auto}
.main-nav a{position:relative;color:rgba(224,233,244,.72);text-decoration:none;font-family:var(--ui-font)!important;font-size:13px;font-weight:600;line-height:1;white-space:nowrap;transition:color .2s ease}
.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:1px;background:#398cff;transition:right .22s ease}
.main-nav a:hover,.main-nav a.active{color:#fff}.main-nav a:hover::after,.main-nav a.active::after{right:0}
.nav-cta,.hero-actions .btn{min-height:46px!important;padding:0 18px!important;border-radius:11px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:11px!important;font-family:var(--ui-font)!important;font-size:13px!important;font-weight:700!important;line-height:1!important;text-decoration:none!important}
.nav-cta,.hero-actions .btn-primary{background:var(--action-blue)!important;color:#fff!important;border:1px solid rgba(88,157,255,.75)!important;box-shadow:0 10px 28px rgba(18,104,237,.16)!important}
.nav-cta:hover,.hero-actions .btn-primary:hover{background:var(--action-blue-hover)!important;transform:translateY(-1px)!important}
.hero-actions .btn-ghost{background:rgba(7,17,31,.34)!important;color:#fff!important;border:1px solid rgba(164,197,244,.38)!important}
.mobile-menu-toggle{display:none}

/* Footer */
.site-footer,.site-footer .wrap{max-width:100%;overflow-x:clip}
.site-footer{position:relative;background:#06101d!important;color:#fff;padding:0 0 34px!important}
.site-footer::before{content:"";display:block;height:1px;background:linear-gradient(90deg,transparent,rgba(93,158,255,.28),transparent)}
.site-footer-inner{max-width:1460px!important;padding-top:30px}
.site-footer-main{display:grid;grid-template-columns:minmax(300px,1fr) minmax(420px,1.3fr) auto;gap:34px;align-items:start;width:100%}
.site-footer-brandline{display:flex;align-items:center;gap:20px}.footer-logo{display:inline-flex;align-items:center;height:42px}.footer-logo img{display:block;height:42px;width:auto;max-width:220px;object-fit:contain}.site-footer-sep{width:1px;height:26px;background:rgba(226,235,246,.16);flex:0 0 auto}.site-footer-tagline{color:rgba(226,235,246,.58);font-size:13px;line-height:1.4}.site-footer-copy{margin-top:16px;color:rgba(226,235,246,.38);font-size:12px}.site-footer-legal{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 16px;margin-top:11px;text-align:center}.site-footer-legal a{color:rgba(226,235,246,.38);font-size:11px;line-height:1.4;text-decoration:none}.site-footer-legal a:hover{color:rgba(226,235,246,.76)}.site-footer-meta{justify-self:end;text-align:right;white-space:nowrap;color:rgba(226,235,246,.52);font-size:12px;margin-top:11px}

/* Contact legal microcopy */
.contact-consent-note{margin-top:10px;max-width:420px;color:rgba(218,228,241,.48);font-size:10.5px;line-height:1.45}.contact-consent-note a{color:rgba(127,177,255,.82);text-decoration:none;border-bottom:1px solid rgba(127,177,255,.25)}.contact-consent-note a:hover{color:#a9ceff;border-color:#a9ceff}

/* Mail chooser */
@media(max-width:1180px){.main-nav{gap:15px}.main-nav a{font-size:12px}.site-footer-main{grid-template-columns:1fr 1fr auto}}

@media(max-width:980px){
  .mobile-menu-toggle{display:flex;width:42px;height:42px;margin-left:auto;padding:0;border:1px solid rgba(91,157,255,.42);border-radius:10px;background:#0b192b;align-items:center;justify-content:center;flex-direction:column;gap:5px;z-index:1004}
  .mobile-menu-toggle span{width:18px;height:1.5px;background:#fff;transition:.22s}.mobile-menu-toggle.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.mobile-menu-toggle.open span:nth-child(2){opacity:0}.mobile-menu-toggle.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
  header .main-nav{display:none!important;position:absolute;top:calc(100% + 10px);left:10px;right:10px;margin:0!important;padding:12px 16px!important;background:rgba(6,16,29,.98);border:1px solid rgba(91,157,255,.22);border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.35);flex-direction:column;align-items:stretch;gap:0!important;z-index:1003}
  header .main-nav.open{display:flex!important}header .main-nav a{padding:13px 4px!important;border-bottom:1px solid rgba(255,255,255,.06);font-size:14px!important}header .main-nav a:last-child{border-bottom:0}header .main-nav a::after{display:none!important}.nav-cta{margin-left:7px!important;min-height:40px!important;padding:0 12px!important;font-size:12px!important}

  /* Problem visual is intentionally removed on mobile. */
  #problem .fragment-map{display:none!important}#problem .problem-unified-grid{grid-template-columns:1fr!important}#problem .problem-unified-copy{width:100%!important;max-width:none!important}

  /* Opportunity: swipe only, no fake arrows. */
  #opportunity .tech-grid{display:flex!important;grid-template-columns:none!important;gap:12px!important;overflow-x:auto!important;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:4px 4px 14px!important}#opportunity .tech-grid::-webkit-scrollbar{display:none}#opportunity .tech-card{flex:0 0 82%!important;scroll-snap-align:center}#opportunity .wrap::before,#opportunity .wrap::after{display:none!important;content:none!important}

  /* Investment: no desktop constellation geometry. Equal-height rows + animated separators. */
  .investment-layout-fix .invest-constellation{height:auto!important;display:grid!important;grid-template-columns:1fr!important;gap:0!important;padding-top:190px!important;overflow:visible!important}
  .investment-layout-fix .const-lines{display:none!important}.investment-layout-fix .const-core{top:82px!important;width:155px!important;height:155px!important}
  .investment-layout-fix .const-node{position:relative!important;inset:auto!important;width:100%!important;min-height:118px!important;display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;align-items:center!important;gap:16px!important;padding:18px 4px!important;margin:0!important}
  .investment-layout-fix .const-node::before,.investment-layout-fix .const-node::after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(22,113,248,.18) 12%,#4b96ff 50%,rgba(22,113,248,.18) 88%,transparent 100%);box-shadow:0 0 10px rgba(22,113,248,.16);opacity:.58}.investment-layout-fix .const-node::before{top:0}.investment-layout-fix .const-node::after{bottom:0}.investment-layout-fix .const-node:nth-child(even)::before,.investment-layout-fix .const-node:nth-child(even)::after{animation:investSep 3.2s ease-in-out infinite alternate}@keyframes investSep{from{opacity:.28}to{opacity:.9}}
  .investment-layout-fix .const-icon{width:58px!important;height:58px!important;border-radius:17px!important}.investment-layout-fix .const-copy{min-width:0!important}.investment-layout-fix .const-copy strong{display:block!important;font-size:17px!important;line-height:1.15!important;margin:0 0 6px!important}.investment-layout-fix .const-copy p{position:static!important;width:auto!important;margin:0!important;padding:0!important;background:none!important;box-shadow:none!important;opacity:1!important;transform:none!important;font-size:12.5px!important;line-height:1.42!important}

  .site-footer-main{grid-template-columns:1fr!important;gap:22px!important}.site-footer-legal{justify-content:flex-start;text-align:left;margin-top:0}.site-footer-meta{justify-self:start;text-align:left;margin-top:0}.site-footer-brandline{align-items:flex-start;flex-wrap:wrap}.contact-consent-note{max-width:100%}
}

@media(max-width:640px){
  .problem-unified-copy h2,.tech-heading h2,.section-title-block h2,.scale-head h2,.roadmap-head h2,.team-head h2{font-size:44px!important;line-height:1!important}
  .footer-logo{height:36px}.footer-logo img{height:36px}.site-footer-brandline{flex-direction:column;gap:11px}.site-footer-sep{display:none}}


/* ===== FINAL TYPOGRAPHY RESTORE + FOOTER LEGAL GROUP ===== */
:root{
  --ui-font:Roboto,Arial,sans-serif;
  --heading-font:"Roboto Condensed","Arial Narrow",Arial,sans-serif;
}
html,body,button,input,textarea,select{font-family:var(--ui-font)!important}
.hero h1,.problem-unified-copy h2,.tech-heading h2,.section-title-block h2,.scale-head h2,.roadmap-head h2,.team-head h2,.final-cta-copy h2,.hero h1{font-size:clamp(58px,6.7vw,104px)!important;line-height:.9!important;font-weight:700!important;letter-spacing:-.045em!important}
.problem-unified-copy h2,.tech-heading h2,.section-title-block h2,.scale-head h2,.roadmap-head h2,.team-head h2{
  font-size:clamp(50px,5.8vw,82px)!important;
  line-height:.96!important;
  font-weight:700!important;
  letter-spacing:-.045em!important;
}
.final-cta-copy h2{font-weight:700!important;letter-spacing:-.045em!important}
.main-nav a{font-family:var(--ui-font)!important;font-size:12px!important;font-weight:500!important;letter-spacing:0!important}
.nav-cta,.hero-actions .btn,.final-cta-button{font-family:var(--ui-font)!important;font-weight:600!important}

/* Footer: presentation title at far right; legal documents directly beneath it. */
.site-footer-main{grid-template-columns:minmax(320px,1fr) minmax(360px,auto)!important;align-items:start!important}
.site-footer-rightgroup{justify-self:end;text-align:right;max-width:620px}
.site-footer-rightgroup .site-footer-meta{justify-self:auto!important;text-align:right!important;margin-top:8px!important;color:rgba(226,235,246,.60)!important;font-size:12px!important}
.site-footer-rightgroup .site-footer-legal{display:flex!important;justify-content:flex-end!important;align-items:flex-start!important;flex-wrap:wrap!important;gap:7px 14px!important;margin-top:10px!important;text-align:right!important}
.site-footer-rightgroup .site-footer-legal a{font-size:10.5px!important}

@media(max-width:980px){
  .site-footer-main{grid-template-columns:1fr!important}
  .site-footer-rightgroup{justify-self:start!important;text-align:left!important;max-width:100%}
  .site-footer-rightgroup .site-footer-meta{text-align:left!important;margin-top:0!important}
  .site-footer-rightgroup .site-footer-legal{justify-content:flex-start!important;text-align:left!important}
}
@media(max-width:640px){
  .problem-unified-copy h2,.tech-heading h2,.section-title-block h2,.scale-head h2,.roadmap-head h2,.team-head h2{font-size:46px!important;line-height:.98!important}
}


/* Direct contact fallback */
.contact-email-fallback{
  margin-top:10px;
  color:rgba(218,228,241,.52);
  font-size:11px;
  line-height:1.4;
}
.copy-email{
  appearance:none;
  border:0;
  padding:0;
  margin-left:4px;
  background:none;
  color:#79adff;
  font:inherit;
  cursor:pointer;
  border-bottom:1px dashed rgba(121,173,255,.45);
}
.copy-email:hover{color:#a6c9ff;border-bottom-color:#a6c9ff}
.copy-email.copied{color:#7ee2a8}


/* ===== CONTACT / HEADER / FOOTER FINAL ===== */

/* Header CTA: perfectly centered content, and only scrolls to #contact. */
.site-header .nav-cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  line-height:1!important;
  text-align:center!important;
}
.site-header .nav-cta span{
  display:block!important;
  line-height:1!important;
  transform:none!important;
}
.site-header .nav-cta svg{
  flex:0 0 auto!important;
  display:block!important;
}

/* Universal contact: no dependency on Outlook/Gmail/Yandex/Mail clients. */
.contact-email-card{
  width:100%;
  margin-top:24px;
  padding:18px 18px 18px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:1px solid rgba(74,145,255,.28);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(17,36,59,.88),rgba(10,24,42,.88));
  box-shadow:0 14px 40px rgba(0,0,0,.14);
}
.contact-email-main{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.contact-email-label{
  color:rgba(202,217,236,.56);
  font-size:11px;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.contact-email-address{
  color:#fff;
  font-size:clamp(20px,2vw,27px);
  line-height:1.1;
  font-weight:700;
  letter-spacing:-.02em;
  word-break:break-word;
}
.contact-copy-button{
  min-height:48px;
  flex:0 0 auto;
  padding:0 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:1px solid rgba(82,153,255,.42);
  border-radius:11px;
  background:rgba(20,104,237,.16);
  color:#79adff;
  font:inherit;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease;
}
.contact-copy-button svg{
  width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;
}
.contact-copy-button:hover{
  transform:translateY(-1px);
  background:rgba(20,104,237,.25);
  border-color:rgba(82,153,255,.7);
  color:#b3d1ff;
}
.contact-copy-button.copied{
  color:#8ee5b1;
  border-color:rgba(142,229,177,.42);
}

/* Footer: correct menu logo, slightly smaller. */
.site-footer .footer-logo{height:32px!important}
.site-footer .footer-logo img{
  height:32px!important;
  width:auto!important;
  max-width:165px!important;
}

/* Investment presentation is the far-right anchor; legal items directly below it. */
.site-footer-main{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:36px!important;
}
.site-footer-rightgroup{
  margin-left:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  text-align:right!important;
  min-width:0!important;
}
.site-footer-meta{
  align-self:flex-end!important;
  justify-self:auto!important;
  margin:0 0 10px!important;
  white-space:nowrap!important;
  text-align:right!important;
}
.site-footer-legal{
  width:auto!important;
  max-width:100%!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:flex-end!important;
  gap:14px!important;
  margin:0!important;
  white-space:nowrap!important;
  overflow-x:auto!important;
  scrollbar-width:none!important;
  text-align:right!important;
}
.site-footer-legal::-webkit-scrollbar{display:none!important}
.site-footer-legal a{
  flex:0 0 auto!important;
  font-size:10px!important;
  line-height:1.25!important;
}

/* Remove old "direct email" fallback if old CSS remains. */
.contact-email-fallback{display:none!important}

@media(max-width:760px){
  .site-header .nav-cta{
    min-height:42px!important;
    padding:0 13px!important;
  }
  .contact-email-card{
    padding:16px;
    flex-direction:column;
    align-items:stretch;
    gap:14px;
  }
  .contact-copy-button{
    width:100%;
  }
  .site-footer-main{
    flex-direction:column!important;
    gap:20px!important;
  }
  .site-footer-rightgroup{
    width:100%!important;
    margin-left:0!important;
    align-items:flex-end!important;
  }
  .site-footer-meta{
    width:100%!important;
    text-align:right!important;
  }
  .site-footer-legal{
    width:100%!important;
    justify-content:flex-start!important;
    text-align:left!important;
    padding-bottom:2px!important;
  }
}


/* ===== PREMIUM CONTACT / HEADER / FOOTER — FINAL ===== */

/* Compact header CTA. Fixes oversized SVG/button inherited from prior styles. */
.site-header .nav-cta{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:42px!important;
  min-height:42px!important;
  padding:0 14px 0 16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  border-radius:10px!important;
  white-space:nowrap!important;
  flex:0 0 auto!important;
  line-height:1!important;
}
.site-header .nav-cta span{
  display:block!important;
  line-height:1!important;
  font-size:12.5px!important;
}
.site-header .nav-cta svg{
  width:14px!important;
  height:14px!important;
  min-width:14px!important;
  max-width:14px!important;
  flex:0 0 14px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
}

/* One word per line, controlled rhythm. */
.final-cta-copy h2{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:0!important;
}
.final-cta-copy h2 .cta-word{
  display:block!important;
  color:#fff!important;
  line-height:.86!important;
}
.final-cta-copy h2 .cta-word-blue{
  color:#378cff!important;
}

/* Premium contact panel */
.contact-kicker{
  margin:0 0 12px;
  color:#5c9fff;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.final-cta-action > p{
  margin-bottom:25px!important;
}
.contact-email-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(80,151,255,.30)!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(31,112,239,.13),transparent 42%),
    linear-gradient(180deg,rgba(16,34,56,.92),rgba(8,21,37,.92))!important;
  box-shadow:0 18px 55px rgba(0,0,0,.20)!important;
}
.contact-email-card::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:2px;
  background:linear-gradient(180deg,transparent,#398cff,transparent);
  opacity:.8;
}
.contact-email-label{
  color:rgba(193,210,232,.55)!important;
  font-size:10px!important;
  letter-spacing:.08em!important;
}
.contact-email-address{
  font-size:clamp(22px,2vw,29px)!important;
  letter-spacing:-.025em!important;
}
.contact-copy-button{
  min-width:128px!important;
  min-height:46px!important;
  padding:0 14px!important;
  background:rgba(23,100,216,.13)!important;
  border:1px solid rgba(86,154,255,.36)!important;
  color:#8bb8ff!important;
}
.contact-copy-button svg{
  width:15px!important;
  height:15px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
}
.contact-meta-row{
  margin-top:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  color:rgba(199,213,231,.38);
  font-size:10.5px;
}
.contact-meta-row span:last-child{
  color:rgba(107,166,255,.70);
}
.contact-consent-note{
  margin-top:15px!important;
  color:rgba(199,213,231,.42)!important;
}

/* Footer: presentation far right, all legal links in a single visual row. */
.site-footer-main{
  display:grid!important;
  grid-template-columns:minmax(360px,1fr) minmax(680px,auto)!important;
  align-items:start!important;
  gap:34px!important;
}
.site-footer-rightgroup{
  justify-self:end!important;
  width:auto!important;
  min-width:680px!important;
  max-width:none!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  text-align:right!important;
}
.site-footer-meta{
  width:auto!important;
  margin:0 0 10px!important;
  align-self:flex-end!important;
  text-align:right!important;
  white-space:nowrap!important;
}
.site-footer-legal{
  width:auto!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:0!important;
  margin:0!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
.site-footer-legal a{
  flex:0 0 auto!important;
  font-size:9.5px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
.site-footer-legal a + a::before{
  content:"·";
  margin:0 9px;
  color:rgba(226,235,246,.20);
}

/* footer logo a little smaller */
.site-footer .footer-logo,
.site-footer .footer-logo img{
  height:29px!important;
}
.site-footer .footer-logo img{
  width:auto!important;
  max-width:150px!important;
}

@media(max-width:1180px){
  .site-footer-main{
    grid-template-columns:1fr!important;
  }
  .site-footer-rightgroup{
    justify-self:start!important;
    min-width:0!important;
    width:100%!important;
    align-items:flex-start!important;
    text-align:left!important;
  }
  .site-footer-meta{
    align-self:flex-start!important;
    text-align:left!important;
  }
  .site-footer-legal{
    justify-content:flex-start!important;
    max-width:100%!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
    padding-bottom:2px!important;
  }
  .site-footer-legal::-webkit-scrollbar{display:none!important}
}

@media(max-width:760px){
  .site-header .nav-cta{
    height:40px!important;
    min-height:40px!important;
    padding:0 11px!important;
  }
  .site-header .nav-cta span{
    font-size:11.5px!important;
  }
  .final-cta-copy h2 .cta-word{
    line-height:.92!important;
  }
  .contact-email-card{
    padding:16px!important;
  }
  .contact-meta-row{
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
  }
}


/* Additional direct channels */
.contact-channels{
  margin-top:12px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.contact-channel{
  min-width:0;
  min-height:66px;
  padding:11px 13px;
  display:grid;
  grid-template-columns:36px minmax(0,1fr) 18px;
  align-items:center;
  gap:10px;
  border:1px solid rgba(82,153,255,.18);
  border-radius:13px;
  background:rgba(255,255,255,.025);
  color:#fff;
  text-decoration:none;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.contact-channel:hover{
  transform:translateY(-1px);
  border-color:rgba(82,153,255,.48);
  background:rgba(31,112,239,.08);
}
.contact-channel-mark{
  width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(82,153,255,.28);
  border-radius:10px;
  color:#65a4ff;
  background:rgba(31,112,239,.08);
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
}
.contact-channel-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.contact-channel-copy small{
  color:rgba(195,211,232,.46);
  font-size:9.5px;
  line-height:1.1;
}
.contact-channel-copy strong{
  overflow:hidden;
  text-overflow:ellipsis;
  color:#eaf2ff;
  font-size:12.5px;
  line-height:1.2;
  font-weight:650;
  white-space:nowrap;
}
.contact-channel-arrow{
  color:#579dff;
  font-size:15px;
  text-align:right;
}
@media(max-width:760px){
  .contact-channels{grid-template-columns:1fr}
  .contact-channel{min-height:62px}
}


/* ===== FINAL CONTACT REFINEMENT / TEAM TEMPORARILY HIDDEN ===== */
#team.is-temporarily-hidden{
  display:none !important;
}

/* Strict icon-only messenger row above email block */
.contact-icon-row{
  margin:0 0 14px;
  display:flex;
  align-items:center;
  gap:10px;
}
.contact-icon-link{
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(84,151,255,.30);
  border-radius:11px;
  background:rgba(25,79,155,.08);
  color:#5b9fff;
  text-decoration:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.015);
  transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease;
}
.contact-icon-link:hover{
  transform:translateY(-1px);
  border-color:rgba(84,151,255,.62);
  background:rgba(31,105,224,.12);
  color:#9bc5ff;
  box-shadow:0 8px 22px rgba(18,88,196,.10);
}
.contact-icon-link svg{
  width:19px;
  height:19px;
  display:block;
  fill:currentColor;
}
.contact-icon-link .wa-cut{
  fill:#0a1728;
}

/* Remove legacy lower messenger cards and old meta text visually even if old CSS remains */
.contact-channels,
.contact-meta-row,
.contact-kicker,
.contact-consent-note{
  display:none !important;
}

/* Keep final note calm and premium */
.final-cta-note{
  display:block;
  margin-top:18px !important;
  max-width:520px;
  color:rgba(190,205,224,.38) !important;
  font-size:10px !important;
  line-height:1.5 !important;
}

/* Mobile: keep icons compact and aligned, email block readable */
@media(max-width:760px){
  .contact-icon-row{
    margin:0 0 12px !important;
    gap:9px !important;
  }
  .contact-icon-link{
    width:42px !important;
    height:42px !important;
    border-radius:10px !important;
  }
  .contact-icon-link svg{
    width:18px !important;
    height:18px !important;
  }
  .contact-email-card{
    margin-top:0 !important;
  }
  .final-cta-note{
    margin-top:16px !important;
    font-size:9.5px !important;
  }
}
