
.solutions-page{background:#f4f1eb;color:#08172d}
.solutions-page .site-header{background:rgba(4,11,22,.78);border-bottom:1px solid rgba(255,255,255,.07)}
.solutions-page .desktop-nav a{color:rgba(255,255,255,.66)}.solutions-page .desktop-nav a.active,.solutions-page .desktop-nav a:hover{color:#fff}
.solutions-page .langs a{color:rgba(255,255,255,.43)}.solutions-page .langs a.active{color:#fff}.solutions-page .menu-toggle span{background:#fff}

.so-hero{position:relative;overflow:hidden;min-height:960px;padding:165px 0 45px;color:#fff;background:radial-gradient(circle at 76% 22%,rgba(34,157,255,.18),transparent 24%),radial-gradient(circle at 30% 80%,rgba(125,74,255,.16),transparent 28%),linear-gradient(145deg,#050c18,#09182e 55%,#0a213c)}
.so-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,#000,transparent 90%)}
.so-glow{position:absolute;border-radius:50%;filter:blur(85px);opacity:.37}.g1{width:370px;height:370px;background:#168cff;right:2%;top:8%}.g2{width:290px;height:290px;background:#8357ff;left:26%;bottom:-60px}
.so-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.03fr .97fr;gap:75px;align-items:center}.so-hero-copy h1{margin:20px 0 24px;font-size:clamp(4rem,6.3vw,7.2rem);line-height:.84;letter-spacing:-.068em;font-weight:950}.so-hero-copy h1 em{display:block;margin-top:.11em;font-style:normal;font-size:.52em;line-height:1.03;color:#6bc8ff;letter-spacing:-.045em}.so-hero-copy>p{max-width:670px;color:rgba(236,244,252,.68);font-size:1.08rem;line-height:1.72}.so-hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:31px}

.so-system{position:relative;height:620px}.so-system-core{position:absolute;left:50%;top:50%;translate:-50% -50%;width:210px;height:210px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at 50% 34%,rgba(91,194,255,.20),transparent 45%),#07182d;border:1px solid rgba(94,198,255,.18);box-shadow:0 0 80px rgba(57,169,233,.10)}.so-system-core small{font-size:8px;letter-spacing:.16em;color:#70ccff;font-weight:900}.so-system-core strong{margin-top:6px;font-size:31px;line-height:.9;letter-spacing:-.05em}.so-system-core span{font-size:8px;letter-spacing:.15em;color:rgba(255,255,255,.34);margin-top:9px}
.so-system-ring{position:absolute;left:50%;top:50%;translate:-50% -50%;border-radius:50%;border:1px solid rgba(102,205,255,.11)}.r1{width:300px;height:300px}.r2{width:430px;height:430px}.r3{width:560px;height:560px}
.so-node{position:absolute;min-width:130px;padding:14px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.09);background:rgba(7,21,39,.78);box-shadow:0 16px 38px rgba(0,0,0,.16)}.so-node small{display:block;font-size:7px;color:#69c9ff;font-weight:900}.so-node b{font-size:11px;letter-spacing:.08em}.n-web{left:3%;top:21%}.n-cloud{right:2%;top:17%}.n-domain{left:0;top:50%}.n-mail{right:0;top:49%}.n-sec{left:10%;bottom:13%}.n-support{right:9%;bottom:12%}
.so-strip{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:65px;padding-top:24px;border-top:1px solid rgba(255,255,255,.09);font-size:10px;letter-spacing:.14em;font-weight:900;color:rgba(255,255,255,.48)}.so-strip i{font-style:normal;color:#63c8ff}

.so-intro{padding:125px 0;background:#f4f1eb}.so-intro-grid{display:grid;grid-template-columns:1fr .85fr;gap:95px}.so-intro h2{margin:14px 0 0;font-size:clamp(3.6rem,5.5vw,6rem);line-height:.9;letter-spacing:-.063em}.so-intro h2 em{font-style:normal;color:#168cff}.so-intro-copy{padding-top:32px}.so-intro-copy strong{display:block;margin-bottom:20px;font-size:clamp(1.4rem,2vw,1.9rem);line-height:1.18;letter-spacing:-.035em}.so-intro-copy p{color:#697382;line-height:1.76}

.so-capabilities{padding:125px 0;color:#fff;background:linear-gradient(145deg,#06101e,#0b2038)}.so-capabilities-head{display:grid;grid-template-columns:.42fr 1fr .8fr;gap:55px;align-items:end}.so-capabilities-head h2{margin:0;font-size:clamp(3.8rem,5.6vw,6.2rem);line-height:.87;letter-spacing:-.063em}.so-capabilities-head h2 em{font-style:normal;color:#64c8ff}.so-capabilities-head p{margin:0;color:rgba(255,255,255,.58);line-height:1.7}
.so-capability-ui{display:grid;grid-template-columns:.75fr 1.25fr;gap:20px;margin-top:70px}.so-capability-menu{display:grid;gap:8px}.so-capability-menu button{min-height:72px;display:grid;grid-template-columns:45px 1fr 35px;align-items:center;gap:12px;padding:0 17px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.025);color:#fff;text-align:left;cursor:pointer;transition:.25s ease}.so-capability-menu button:hover,.so-capability-menu button.active{background:rgba(86,186,255,.08);border-color:rgba(92,193,255,.18);transform:translateX(4px)}.so-capability-menu span{font-size:8px;color:#6dcaff;font-weight:900}.so-capability-menu b{font-size:.93rem}.so-capability-menu i{font-style:normal;color:#65c9ff}
.so-capability-stage{min-height:500px}.so-capability-visual{--accent:#168cff;position:relative;height:100%;min-height:500px;padding:48px;border-radius:28px;overflow:hidden;background:radial-gradient(circle at 82% 20%,color-mix(in srgb,var(--accent) 42%,transparent),transparent 25%),linear-gradient(145deg,#0b1e34,#0a1628);border:1px solid rgba(255,255,255,.09);box-shadow:0 28px 70px rgba(0,0,0,.18)}.so-capability-visual:before{content:"";position:absolute;right:-80px;bottom:-100px;width:360px;height:360px;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);box-shadow:0 0 0 55px color-mix(in srgb,var(--accent) 4%,transparent),0 0 0 110px color-mix(in srgb,var(--accent) 2%,transparent)}.so-cap-symbol{width:86px;height:86px;border-radius:25px;background:linear-gradient(145deg,var(--accent),#6f5eff);box-shadow:0 20px 50px color-mix(in srgb,var(--accent) 22%,transparent)}.so-cap-kicker{display:block;margin-top:44px;font-size:9px;letter-spacing:.16em;color:#84d1ff;font-weight:900}.so-cap-title{display:block;margin:13px 0 18px;font-size:clamp(3rem,5vw,5.8rem);line-height:.86;letter-spacing:-.06em}.so-cap-desc{max-width:560px;color:rgba(255,255,255,.60);line-height:1.7}.so-cap-link{display:inline-flex;align-items:center;gap:12px;margin-top:25px;color:#fff;font-size:10px;letter-spacing:.10em;font-weight:900;text-transform:uppercase}.so-cap-link b{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--accent)}

.so-map{padding:125px 0;color:#fff;background:radial-gradient(circle at 80% 20%,rgba(85,106,255,.10),transparent 25%),linear-gradient(145deg,#050d18,#09182b)}.so-map-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:90px;align-items:center}.so-map-copy h2{margin:15px 0 22px;font-size:clamp(3.8rem,5.5vw,6.1rem);line-height:.89;letter-spacing:-.062em}.so-map-copy h2 em{font-style:normal;color:#65c8ff}.so-map-copy p{color:rgba(255,255,255,.58);line-height:1.72}
.so-map-diagram{display:grid;gap:7px}.so-map-layer{display:grid;grid-template-columns:120px 1fr 1fr;align-items:center;gap:18px;min-height:92px;padding:0 22px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035)}.so-map-layer small{font-size:8px;letter-spacing:.13em;color:#6dcaff;font-weight:900}.so-map-layer strong{font-size:1.15rem;letter-spacing:-.02em}.so-map-layer span{font-size:.83rem;color:rgba(255,255,255,.48)}.so-map-connector{width:1px;height:17px;background:linear-gradient(to bottom,#61c7ff,transparent);margin:auto}

.so-method{padding:125px 0;background:#f3f4f4}.so-method-head{display:grid;grid-template-columns:1fr .75fr;gap:80px;align-items:end}.so-method-head h2{margin:14px 0 0;font-size:clamp(3.8rem,5.5vw,6.1rem);line-height:.89;letter-spacing:-.062em}.so-method-head h2 em{font-style:normal;color:#168cff}.so-method-head p{color:#6c7684;line-height:1.72}.so-method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:68px}.so-method-grid article{min-height:310px;padding:25px;border-radius:24px;background:#fff;border:1px solid #dfe3e7;box-shadow:0 18px 48px rgba(8,22,38,.05)}.so-method-grid article>span{font-size:9px;color:#9da5ae;font-weight:900}.so-method-grid small{display:block;margin-top:55px;font-size:8px;letter-spacing:.14em;color:#168cff;font-weight:900}.so-method-grid h3{margin:11px 0 15px;font-size:2rem;letter-spacing:-.045em}.so-method-grid p{color:#6c7684;line-height:1.62;font-size:.9rem}

.so-two-worlds{padding:125px 0;color:#fff;background:linear-gradient(145deg,#07101d,#0b1f36)}.so-two-worlds-head{max-width:900px}.so-two-worlds-head h2{margin:15px 0 0;font-size:clamp(3.8rem,5.6vw,6.3rem);line-height:.88;letter-spacing:-.063em}.so-two-worlds-head h2 em{font-style:normal;color:#65c9ff}.so-worlds-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:65px}.so-world{position:relative;min-height:540px;padding:32px;border-radius:30px;overflow:hidden;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.10);box-shadow:0 25px 70px rgba(0,0,0,.18)}.so-world small{font-size:9px;letter-spacing:.15em;font-weight:900;color:rgba(255,255,255,.52)}.so-world h3{margin:15px 0 12px;font-size:clamp(4rem,6vw,6.5rem);line-height:.82;letter-spacing:-.065em}.so-world p{max-width:420px;color:rgba(255,255,255,.58);line-height:1.65}.so-world>b{position:absolute;left:32px;bottom:30px;font-size:10px;letter-spacing:.1em}.world-web{background:radial-gradient(circle at 78% 22%,rgba(255,141,83,.27),transparent 25%),linear-gradient(145deg,#24100e,#392150 58%,#123a68)}.world-cloud{background:radial-gradient(circle at 75% 25%,rgba(66,196,255,.20),transparent 27%),linear-gradient(145deg,#061321,#0a2945)}.so-world-art{position:absolute;right:7%;bottom:9%;width:42%;height:46%}.web-art span{position:absolute;border-radius:20px;box-shadow:0 18px 40px rgba(0,0,0,.2)}.web-art span:nth-child(1){width:70%;height:75%;right:0;top:0;background:linear-gradient(145deg,#ff6a55,#a84fff);rotate:6deg}.web-art span:nth-child(2){width:62%;height:65%;left:0;bottom:0;background:#f1f6fb;rotate:-5deg}.web-art span:nth-child(3){width:45%;height:45%;left:25%;top:25%;background:#168cff;rotate:2deg}.cloud-art i{position:absolute;left:50%;top:50%;translate:-50% -50%;border-radius:50%;border:1px solid rgba(95,205,255,.22)}.cloud-art i:nth-child(1){width:100px;height:100px}.cloud-art i:nth-child(2){width:170px;height:170px}.cloud-art i:nth-child(3){width:240px;height:240px}

.so-web7{padding:125px 0;background:#f4f1eb}.so-web7-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:center}.so-web7-mark{display:flex;align-items:center;justify-content:center;min-height:420px}.so-web7-mark span{font-size:68px;font-weight:950;letter-spacing:-.07em}.so-web7-mark strong{font-size:250px;line-height:.7;letter-spacing:-.11em;color:#168cff;text-shadow:0 0 70px rgba(22,140,255,.16)}.so-web7-copy h2{margin:15px 0 20px;font-size:clamp(3.7rem,5.4vw,6rem);line-height:.89;letter-spacing:-.062em}.so-web7-copy h2 em{font-style:normal;color:#168cff}.so-web7-copy p{max-width:650px;color:#687382;line-height:1.72}.so-web7-copy .button{display:inline-flex;margin-top:20px}

.so-final{position:relative;overflow:hidden;padding:145px 0;text-align:center;color:#fff;background:radial-gradient(circle at 50% 0,rgba(44,153,255,.20),transparent 33%),linear-gradient(145deg,#050d1a,#091a31)}.so-final:before{content:"SYSTEM";position:absolute;left:50%;top:50%;translate:-50% -50%;font-size:clamp(12rem,25vw,30rem);line-height:.7;font-weight:950;letter-spacing:-.1em;color:rgba(255,255,255,.025);white-space:nowrap}.so-final-inner{position:relative;z-index:2;max-width:960px}.so-final small{font-size:9px;letter-spacing:.17em;color:#71caff;font-weight:900}.so-final h2{margin:20px 0 18px;font-size:clamp(4rem,6vw,6.8rem);line-height:.88;letter-spacing:-.064em}.so-final h2 em{font-style:normal;color:#64c9ff}.so-final p{color:rgba(255,255,255,.58);font-size:1.1rem;margin:0 0 30px}.so-final .button{display:inline-flex}

@media(max-width:1120px){
 .so-hero-grid,.so-intro-grid,.so-map-grid,.so-web7-grid{grid-template-columns:1fr}.so-system{max-width:720px;width:100%;margin:auto}.so-capabilities-head{grid-template-columns:1fr}.so-capability-ui{grid-template-columns:1fr}.so-method-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
 .so-hero{min-height:auto;padding:125px 0 35px}.so-hero-copy h1{font-size:clamp(3.3rem,15vw,4.9rem)}.so-hero-copy h1 em{font-size:.48em}.so-system{height:460px}.so-system-core{width:155px;height:155px}.r1{width:220px;height:220px}.r2{width:320px;height:320px}.r3{width:420px;height:420px}.so-node{min-width:95px;padding:10px 11px}.so-node b{font-size:8px}.n-web{left:0}.n-cloud{right:0}.n-domain{left:-5px}.n-mail{right:-5px}.so-strip{overflow:hidden;justify-content:flex-start;white-space:nowrap}.so-strip span:nth-of-type(n+4),.so-strip i:nth-of-type(n+4){display:none}
 .so-intro,.so-capabilities,.so-method,.so-web7{padding:82px 0}.so-intro-copy{padding-top:0}.so-capability-menu button{min-height:63px}.so-capability-stage,.so-capability-visual{min-height:420px}.so-capability-visual{padding:30px}.so-map{padding:88px 0}.so-map-layer{grid-template-columns:1fr;gap:6px;padding:18px;min-height:auto}.so-map-layer span{font-size:.78rem}
 .so-method-head{grid-template-columns:1fr;gap:25px}.so-method-grid{grid-template-columns:1fr}.so-method-grid article{min-height:270px}.so-two-worlds{padding:90px 0}.so-worlds-grid{grid-template-columns:1fr}.so-world{min-height:430px}.so-web7-mark{min-height:300px}.so-web7-mark strong{font-size:190px}.so-web7-mark span{font-size:50px}.so-final{padding:105px 0}
}


/* =========================================================
   V5.41 — CAPABILITIES STABILITY + VISUAL RHYTHM
   ========================================================= */

/* Keep capability buttons geometrically stable in every state */
.so-capability-menu button{
  min-height:76px;
  height:76px;
  transform:none !important;
  overflow:hidden;
}

.so-capability-menu button:hover,
.so-capability-menu button.active{
  transform:none !important;
}

.so-capability-menu button b{
  min-width:0;
  line-height:1.15;
}

.so-capability-menu button[data-cap="security"] b{
  font-size:.88rem;
}

/* Give active state presence without moving the control */
.so-capability-menu button.active{
  border-color:rgba(92,193,255,.28);
  background:
    linear-gradient(90deg,rgba(76,177,242,.11),rgba(255,255,255,.025));
  box-shadow:
    inset 3px 0 0 #63c9ff,
    0 10px 26px rgba(0,0,0,.07);
}

/* ---------------------------------------------------------
   DIGITAL MAP — LIGHT TECHNICAL WORLD
   Breaks the consecutive dark / blue sections
   --------------------------------------------------------- */
.so-map{
  position:relative;
  color:#08192d;
  background:
    radial-gradient(circle at 82% 18%,rgba(76,164,225,.13),transparent 25%),
    radial-gradient(circle at 14% 82%,rgba(106,82,217,.06),transparent 28%),
    linear-gradient(145deg,#f5f7f7,#eaf0f2);
}

.so-map:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(12,44,70,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(12,44,70,.025) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 92%);
}

.so-map-grid{
  position:relative;
  z-index:1;
}

.so-map .section-no.light{
  color:#7b8794;
}

.so-map-copy h2{
  color:#08192d;
}

.so-map-copy h2 em{
  color:#1688c4;
}

.so-map-copy p{
  color:#687482;
}

.so-map-layer{
  border-color:rgba(12,45,71,.10);
  background:rgba(255,255,255,.72);
  box-shadow:0 14px 36px rgba(11,35,56,.045);
  backdrop-filter:blur(10px);
}

.so-map-layer small{
  color:#1688c4;
}

.so-map-layer strong{
  color:#0a1b30;
}

.so-map-layer span{
  color:#6b7684;
}

.so-map-connector{
  background:linear-gradient(to bottom,#1688c4,rgba(22,136,196,.06));
}

/* intentional transition from dark capabilities into light map */
.so-capabilities{
  position:relative;
}

.so-capabilities:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:28px;
  background:linear-gradient(145deg,#f5f7f7,#eaf0f2);
  clip-path:polygon(0 100%,100% 20%,100% 100%);
  pointer-events:none;
}

/* ---------------------------------------------------------
   FINAL CTA — warm / light instead of another blue block
   --------------------------------------------------------- */
.so-final{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:152px 0 150px;
  text-align:center;
  color:#07182d;
  background:
    radial-gradient(circle at 18% 25%,rgba(255,125,76,.14),transparent 23%),
    radial-gradient(circle at 83% 72%,rgba(22,140,255,.11),transparent 25%),
    linear-gradient(145deg,#f8f3e9,#eee8dd);
}

.so-final:before{
  content:"SYSTEM";
  position:absolute;
  z-index:-1;
  left:50%;
  top:50%;
  translate:-50% -50%;
  font-size:clamp(12rem,25vw,30rem);
  line-height:.7;
  font-weight:950;
  letter-spacing:-.1em;
  color:rgba(9,31,55,.034);
  white-space:nowrap;
}

.so-final:after{
  content:"";
  position:absolute;
  z-index:-1;
  width:360px;
  height:360px;
  right:-100px;
  top:-140px;
  border-radius:50%;
  border:1px solid rgba(22,140,255,.12);
  box-shadow:
    0 0 0 55px rgba(22,140,255,.022),
    0 0 0 110px rgba(22,140,255,.012);
}

.so-final small{
  color:#168cff;
}

.so-final h2{
  color:#08192d;
}

.so-final h2 em{
  color:#168cff;
}

.so-final p{
  color:#66717e;
}

.so-final .button{
  display:inline-flex;
  background:#071a30;
  color:#fff;
  box-shadow:0 18px 40px rgba(7,27,48,.13);
}

/* subtle visual objects so the light final still feels designed */
.so-final-inner:before,
.so-final-inner:after{
  content:"";
  position:absolute;
  width:82px;
  height:82px;
  border-radius:24px;
  pointer-events:none;
  box-shadow:0 22px 48px rgba(26,42,65,.11);
}

.so-final-inner:before{
  left:-50px;
  top:22px;
  background:
    radial-gradient(circle at 70% 25%,rgba(255,216,137,.92) 0 13%,transparent 34%),
    linear-gradient(145deg,#ff7554,#9f53ff 62%,#3074ec);
  transform:rotate(-11deg);
}

.so-final-inner:after{
  right:-42px;
  bottom:4px;
  background:
    radial-gradient(circle at 72% 26%,rgba(93,199,255,.57) 0 15%,transparent 37%),
    linear-gradient(145deg,#07182f,#123e63);
  transform:rotate(10deg);
}

@media(max-width:760px){
  .so-capability-menu button{
    height:auto;
    min-height:66px;
  }
  .so-capability-menu button[data-cap="security"] b{
    font-size:.82rem;
  }
  .so-final{
    padding:108px 0 118px;
  }
  .so-final-inner:before,
  .so-final-inner:after{
    width:62px;
    height:62px;
    border-radius:18px;
  }
  .so-final-inner:before{left:3%;top:-56px}
  .so-final-inner:after{right:3%;bottom:-70px}
}


/* =========================================================
   V5.42 — CAPABILITIES GRID WIDTH LOCK
   Prevent long titles (e.g. Segurança & Disponibilidade)
   from resizing the left navigation column.
   ========================================================= */

.so-capability-ui{
  grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
}

.so-capability-menu,
.so-capability-stage,
.so-capability-visual{
  min-width:0;
  width:100%;
}

.so-capability-menu button{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}

.so-capability-menu button b{
  min-width:0;
  overflow-wrap:normal;
}

.so-cap-title{
  max-width:100%;
  overflow-wrap:normal;
  word-break:normal;
}

/* Keep the long Security title inside the same fixed stage */
.so-capability-visual[data-capability="security"] .so-cap-title{
  font-size:clamp(2.8rem,4.6vw,5.2rem);
}

/* General safety for all dynamically injected capability content */
.so-capability-stage *{
  min-width:0;
}

@media(max-width:1120px){
  .so-capability-ui{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   V5.43 — CAPABILITIES ABSOLUTE LAYOUT STABILITY
   Fixed stage height + fixed button positions.
   ========================================================= */

@media(min-width:1121px){

  .so-capability-ui{
    grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
    align-items:start;
    height:620px;
  }

  .so-capability-menu{
    align-self:start;
    align-content:space-between;
    grid-template-rows:repeat(6,76px);
    gap:0;
    height:620px;
    min-height:620px;
  }

  .so-capability-menu button{
    height:76px;
    min-height:76px;
    max-height:76px;
    align-self:start;
  }

  .so-capability-stage{
    height:620px;
    min-height:620px;
    max-height:620px;
    align-self:start;
    overflow:hidden;
  }

  .so-capability-visual{
    height:620px;
    min-height:620px;
    max-height:620px;
    overflow:hidden;
  }

  /* Keep every dynamic headline inside the same fixed canvas */
  .so-cap-title{
    font-size:clamp(3rem,4.75vw,5.45rem);
    line-height:.86;
  }

  .so-capability-visual[data-capability="security"] .so-cap-title{
    font-size:clamp(2.85rem,4.35vw,5rem);
  }
}

/* Tablet/mobile returns to natural document flow. */
@media(max-width:1120px){
  .so-capability-ui,
  .so-capability-menu,
  .so-capability-stage,
  .so-capability-visual{
    height:auto;
    max-height:none;
  }

  .so-capability-menu{
    min-height:0;
    align-content:start;
    grid-template-rows:none;
    gap:8px;
  }

  .so-capability-stage,
  .so-capability-visual{
    min-height:500px;
  }
}

@media(max-width:760px){
  .so-capability-stage,
  .so-capability-visual{
    min-height:420px;
  }
}


/* =========================================================
   V5.44 — CAPABILITIES COMPACT BUTTON STACK
   Keep buttons fixed, but visually closer together.
   ========================================================= */

@media(min-width:1121px){
  .so-capability-menu{
    grid-template-rows:repeat(6,76px);
    gap:14px;
    align-content:center;
  }
}


/* =========================================================
   V5.45 — CAPABILITIES FULL HEIGHT ALIGNMENT
   Match the six-button stack exactly to the right panel.
   ========================================================= */

@media(min-width:1121px){
  .so-capability-ui{
    height:620px;
    align-items:stretch;
  }

  .so-capability-menu{
    height:620px;
    min-height:620px;
    grid-template-rows:repeat(6,1fr);
    gap:14px;
    align-content:stretch;
  }

  .so-capability-menu button{
    height:100%;
    min-height:0;
    max-height:none;
    align-self:stretch;
  }

  .so-capability-stage,
  .so-capability-visual{
    height:620px;
    min-height:620px;
    max-height:620px;
  }
}
