/**
 * LOGOS Hero v21 — Core & Modal Polish
 * Reference-grade hybrid scene: cleaned transparent PNGs + one shared SVG material system.
 */

.logos-landing--hybrid {
  --hybrid-ink: #082f3a;
  --hybrid-ink-soft: #5c7771;
  --hybrid-green: #008f68;
  --hybrid-mint: #00c98f;
  min-height: 100svh;
  background: #fff;
}

.logos-landing-page--hybrid,
.logos-landing-page--hybrid body {
  margin: 0;
  background: #fff;
}

.logos-landing--hybrid .logos-stage,
.logos-hybrid-stage {
  min-height: 100svh;
  overflow: hidden;
  background:
    radial-gradient(ellipse 58% 42% at 50% 68%, rgba(0, 185, 132, .065), transparent 72%),
    radial-gradient(circle at 50% 12%, rgba(92, 220, 188, .022), transparent 39%),
    linear-gradient(180deg, #fff 0%, #fff 79%, #fbfffd 100%);
}

.logos-landing--hybrid .logos-background__grid,
.logos-landing--hybrid .logos-background__mesh,
.logos-landing--hybrid .logos-background__orbit,
.logos-landing--hybrid .logos-background__noise,
.logos-landing--hybrid .logos-background__vignette {
  opacity: .012 !important;
}

.logos-landing--hybrid .logos-background__glow {
  opacity: .05 !important;
  filter: blur(145px) !important;
}

.logos-landing--hybrid .logos-topbar { display: none !important; }

.logos-hybrid-shell {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-rows: min-content minmax(0, 1fr);
  width: min(100%, 1780px);
  height: 100svh;
  min-height: 650px;
  margin-inline: auto;
  padding: clamp(.42rem, .72vh, .68rem) clamp(.7rem, 1.5vw, 1.5rem) 0;
}

/* Copy ------------------------------------------------------------------- */
.logos-hybrid-copy {
  position: relative;
  z-index: 50;
  width: min(100%, 940px);
  margin-inline: auto;
  text-align: center;
  direction: rtl;
}

.logos-hybrid-copy__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .46rem;
  min-height: 1.68rem;
  padding: .19rem .68rem;
  border: 1px solid rgba(0, 143, 104, .11);
  border-radius: 999px;
  background: rgba(255,255,255,.89);
  color: #456862;
  box-shadow: 0 8px 28px rgba(4,73,58,.025);
  font-size: clamp(.62rem,.67vw,.74rem);
  font-weight: 820;
  backdrop-filter: blur(14px) saturate(120%);
}

.logos-hybrid-copy__eyebrow-dot {
  width: .38rem;
  height: .38rem;
  border-radius: 50%;
  background: var(--hybrid-mint);
  box-shadow: 0 0 0 4px rgba(0,201,143,.065), 0 0 12px rgba(0,201,143,.22);
}

.logos-hybrid-copy__headline {
  margin: clamp(.36rem,.56vh,.5rem) 0 0;
  color: var(--hybrid-ink);
  font-size: clamp(2.5rem,3.62vw,4.08rem);
  font-weight: 950;
  line-height: 1;
  letter-spacing: -.056em;
  text-wrap: balance;
}

.logos-hybrid-copy__headline span {
  color: var(--hybrid-green);
  text-shadow: 0 10px 30px rgba(0,160,113,.075);
}

.logos-hybrid-copy__lead {
  width: min(92%,720px);
  margin: clamp(.31rem,.5vh,.46rem) auto 0;
  color: var(--hybrid-ink-soft);
  font-size: clamp(.78rem,.84vw,.93rem);
  font-weight: 650;
  line-height: 1.62;
  text-wrap: balance;
}

.logos-hybrid-copy__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  margin-top: clamp(.42rem,.64vh,.58rem);
}

.logos-hybrid-copy__actions .logos-button {
  min-width: clamp(8.35rem,9vw,10rem);
  min-height: 2.64rem;
  border-radius: 999px;
  box-shadow: 0 11px 26px rgba(0,126,91,.065);
}

.logos-hybrid-copy__hint {
  margin: .18rem 0 0;
  color: rgba(39,88,80,.36);
  font-size: .61rem;
  font-weight: 690;
}

/* Scene ------------------------------------------------------------------ */
.logos-hybrid-scene {
  position: relative;
  z-index: 5;
  align-self: start;
  width: min(95vw,1450px,calc((100svh - 186px) * 1.95122));
  min-width: 760px;
  aspect-ratio: 1600 / 820;
  margin: clamp(-.24rem,-.3vh,-.04rem) auto 0;
  overflow: visible;
  isolation: isolate;
}

.logos-hybrid-visual,
.logos-hybrid-svg { width: 100%; height: 100%; }

.logos-hybrid-visual {
  position: absolute;
  inset: 0;
  pointer-events: none;
  transform-origin: 50% 51%;
  transition: transform .2s ease-out;
  will-change: transform;
}

.logos-hybrid-svg { display: block; overflow: visible; }
.logos-hybrid-svg--mobile { display: none; }
.logos-hybrid-svg image { pointer-events: none; user-select: none; }
.logos-orbital-layer { pointer-events: none; }
.logos-orbit-item { will-change: transform,opacity; }

/* Orbital geometry ------------------------------------------------------- */
.logos-v21-orbit {
  fill: none;
  stroke: #00a978;
  stroke-width: 1.05;
  vector-effect: non-scaling-stroke;
}

.logos-v21-orbit--main { stroke-opacity: .19; }
.logos-v21-orbit--inner { stroke-opacity: .078; stroke-dasharray: 5 14; }
.logos-v21-orbit--micro { stroke-opacity: .038; }
.logos-v21-orbit--atomic-a { stroke-opacity: .074; }
.logos-v21-orbit--atomic-b { stroke-opacity: .052; stroke-dasharray: 10 22; }
.logos-v21-orbit--core { stroke-opacity: .06; stroke-dasharray: 3 12; }

.logos-v21-ticks path,
.logos-v21-ticks circle {
  fill: #fff;
  stroke: #00a978;
  stroke-width: 1.05;
  vector-effect: non-scaling-stroke;
}

.logos-v21-orbits {
  transform-box: fill-box;
  transform-origin: center;
  animation: logosV21OrbitBreath 12s ease-in-out infinite;
}

.logos-v21-scanner {
  transform-box: fill-box;
  transform-origin: center;
  animation: logosV21Scanner 52s linear infinite;
}

.logos-v21-scanner ellipse {
  fill: none;
  stroke: #00c68e;
  stroke-width: 1.8;
  stroke-opacity: .39;
  stroke-linecap: round;
  stroke-dasharray: 112 3200;
  vector-effect: non-scaling-stroke;
}

.logos-v21-core-halo {
  transform-box: fill-box;
  transform-origin: center;
  animation: logosV21Halo 7.2s ease-in-out infinite;
}

.logos-v21-core {
  transform-box: fill-box;
  transform-origin: center;
  animation: logosV21CoreFloat 8.4s ease-in-out infinite;
}

.logos-v21-core-accent ellipse {
  fill: none;
  stroke: #00b985;
  stroke-width: 1.2;
  stroke-opacity: .14;
  vector-effect: non-scaling-stroke;
}

.logos-v21-core-accent path,
.logos-v21-core-accent circle {
  fill: #fff;
  stroke: #00b985;
  stroke-width: 1.15;
  stroke-opacity: .36;
  vector-effect: non-scaling-stroke;
}

/* Unified satellite module --------------------------------------------- */
.logos-v21-satellite {
  transform-box: fill-box;
  transform-origin: center;
  transition: opacity .28s ease;
  will-change: transform,opacity;
}

.logos-v21-module__ground {
  fill: #006b53;
  fill-opacity: .04;
}

.logos-v21-module__platform {
  transform-box: fill-box;
  transform-origin: center;
  transition: filter .32s ease, transform .38s cubic-bezier(.2,.82,.2,1);
}

.logos-v21-module__upper {
  transform-box: fill-box;
  transform-origin: center;
  transition: transform .38s cubic-bezier(.2,.82,.2,1), filter .32s ease;
}

.logos-v21-module__plinth-top {
  fill: url(#logosV21PlinthTop);
  stroke: #44cdaa;
  stroke-opacity: .32;
  stroke-width: 1.15;
}

.logos-v21-module__plinth-left {
  fill: url(#logosV21PlinthLeft);
  stroke: #53ceb0;
  stroke-opacity: .22;
  stroke-width: .8;
}

.logos-v21-module__plinth-right {
  fill: url(#logosV21PlinthRight);
  stroke: #26bf96;
  stroke-opacity: .20;
  stroke-width: .8;
}

.logos-v21-module__plinth-rim {
  fill: none;
  stroke: #fff;
  stroke-opacity: .86;
  stroke-width: 2;
  stroke-linecap: round;
}

.logos-v21-module__glass-face {
  fill: url(#logosV21GlassFace);
  stroke: #19c99a;
  stroke-opacity: .64;
  stroke-width: 1.45;
}

.logos-v21-module__glass-left {
  fill: url(#logosV21GlassLeft);
  stroke: #31d4aa;
  stroke-opacity: .38;
  stroke-width: .95;
}

.logos-v21-module__glass-right {
  fill: url(#logosV21GlassRight);
  stroke: #12c895;
  stroke-opacity: .36;
  stroke-width: .95;
}

.logos-v21-module__glass-top {
  fill: #fff;
  fill-opacity: .61;
  stroke: #31d2a7;
  stroke-opacity: .43;
  stroke-width: .95;
}

.logos-v21-module__glass-inner {
  fill: #fff;
  fill-opacity: .13;
  stroke: #80dfc5;
  stroke-opacity: .39;
  stroke-width: .75;
}

.logos-v21-module__glass-seam {
  fill: none;
  stroke: #00ae7d;
  stroke-opacity: .15;
  stroke-width: .8;
}

.logos-v21-module__glass-highlight {
  fill: none;
  stroke: #fff;
  stroke-opacity: .8;
  stroke-width: 1.8;
  stroke-linecap: round;
}

.logos-v21-module__icon-halo {
  fill: #00c890;
  fill-opacity: .045;
  transition: fill-opacity .3s ease;
}

.logos-v21-module__icon {
  color: #00ad79;
  transition: color .3s ease, filter .3s ease, transform .34s cubic-bezier(.2,.82,.2,1);
  transform-box: fill-box;
  transform-origin: center;
}

.logos-v21-module__status { fill: #00c990; opacity: .72; }

.logos-v21-satellite.is-highlighted .logos-v21-module__upper {
  transform: translateY(-3px);
  filter: drop-shadow(0 12px 16px rgba(0,154,109,.12));
}

.logos-v21-satellite.is-highlighted .logos-v21-module__platform {
  filter: saturate(1.06) brightness(1.025) drop-shadow(0 11px 15px rgba(0,132,95,.12));
}

.logos-v21-satellite.is-highlighted .logos-v21-module__icon {
  color: #00c88e;
  filter: url(#logosV21Glow);
  transform: scale(1.035);
}

.logos-v21-satellite.is-highlighted .logos-v21-module__icon-halo { fill-opacity: .11; }
.logos-v21-mobile-node { filter: drop-shadow(0 12px 13px rgba(11,72,59,.095)); }

/* Connectors ------------------------------------------------------------- */
.logos-hybrid-connector { transition: opacity .26s ease; }
.logos-hybrid-connector__line,
.logos-hybrid-connector__pulse { fill: none; vector-effect: non-scaling-stroke; }
.logos-hybrid-connector__line { stroke: url(#logosV21Connector); stroke-width: 1.25; stroke-linecap: round; }
.logos-hybrid-connector__pulse {
  stroke: #00c98f;
  stroke-width: 1.9;
  stroke-opacity: .44;
  stroke-linecap: round;
  stroke-dasharray: 18 420;
  animation: logosV21ConnectorPulse 6.8s linear infinite;
}
.logos-orbital-connector-dot { fill: #fff; stroke: #00bf88; stroke-width: 1.9; vector-effect: non-scaling-stroke; }
.logos-hybrid-connector.is-highlighted { opacity: 1 !important; }
.logos-hybrid-connector.is-highlighted .logos-hybrid-connector__line { stroke-width: 1.95; }
.logos-hybrid-connector.is-highlighted .logos-hybrid-connector__pulse { stroke-width: 2.8; stroke-opacity: .82; filter: url(#logosV21Glow); }

/* Hit areas and hover cards --------------------------------------------- */
.logos-hybrid-node,
.logos-hybrid-core-hitbox {
  position: absolute;
  z-index: 30;
  display: block;
  margin: 0;
  padding: 0;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.logos-hybrid-node::before,
.logos-hybrid-node::after,
.logos-hybrid-core-hitbox::before,
.logos-hybrid-core-hitbox::after { display: none !important; }

.logos-hybrid-node {
  left: 50%;
  top: 50%;
  width: 17.2%;
  height: 30.5%;
  transform: translate(-50%,-50%);
}

.logos-hybrid-node--human-capital { left: 82.5%; top: 52.4%; }
.logos-hybrid-node--growth-engine { left: 66.25%; top: 78%; }
.logos-hybrid-node--intelligence-center { left: 33.75%; top: 78%; }
.logos-hybrid-node--operations-command { left: 17.5%; top: 52.4%; }
.logos-hybrid-node--financial-hub { left: 33.75%; top: 26.8%; }
.logos-hybrid-node--strategic-brain { left: 66.25%; top: 26.8%; }

.logos-hybrid-core-hitbox {
  left: 35.5%;
  top: 27%;
  width: 29%;
  height: 50%;
}

.logos-hybrid-node__tooltip {
  position: absolute;
  left: 50%;
  top: 3%;
  min-width: 10.1rem;
  max-width: 11.8rem;
  padding: .62rem .72rem .65rem;
  border: 1px solid rgba(0,160,113,.14);
  border-radius: .9rem;
  background: rgba(255,255,255,.93);
  box-shadow: 0 18px 42px rgba(12,63,53,.085);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%,calc(-100% - .46rem)) scale(.965);
  transform-origin: center bottom;
  transition: opacity .22s ease, transform .28s cubic-bezier(.2,.82,.2,1), visibility .22s ease;
  backdrop-filter: blur(18px) saturate(135%);
  direction: rtl;
  text-align: right;
}

.logos-hybrid-node__tooltip::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -.34rem;
  width: .64rem;
  height: .64rem;
  border-right: 1px solid rgba(0,160,113,.11);
  border-bottom: 1px solid rgba(0,160,113,.11);
  background: rgba(255,255,255,.95);
  transform: translateX(-50%) rotate(45deg);
}

.logos-hybrid-node:hover .logos-hybrid-node__tooltip,
.logos-hybrid-node:focus-visible .logos-hybrid-node__tooltip,
.logos-hybrid-node.is-previewing .logos-hybrid-node__tooltip {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%,calc(-100% - .58rem)) scale(1);
}

.logos-hybrid-node__tooltip-topline { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.logos-hybrid-node__number { color: #008c68; font-family: Inter,Arial,sans-serif; font-size: .6rem; font-weight: 950; }
.logos-hybrid-node__signal { width: .36rem; height: .36rem; border-radius: 50%; background: #00cb91; box-shadow: 0 0 0 4px rgba(0,203,145,.075); }
.logos-hybrid-node__tooltip strong { display: block; margin-top: .28rem; color: #103f46; font-size: .81rem; font-weight: 950; line-height: 1.25; }
.logos-hybrid-node__title-en { display: block; margin-top: .13rem; color: #008f69; font-family: Inter,Arial,sans-serif; font-size: .54rem; font-weight: 950; letter-spacing: .07em; }
.logos-hybrid-node__subtitle { display: block; margin-top: .22rem; color: rgba(55,91,84,.61); font-size: .6rem; font-weight: 680; line-height: 1.43; }
.logos-hybrid-node__mobile-label { display: none; }

/* Modal ------------------------------------------------------------------ */
.logos-hybrid-modal-layer {
  position: fixed;
  inset: 0;
  z-index: 9990;
  display: grid;
  place-items: center;
  padding: clamp(.75rem,2.4vw,2rem);
  opacity: 0;
  visibility: hidden;
  transition: opacity .26s ease,visibility .26s ease;
}
.logos-hybrid-modal-layer[hidden] { display: none !important; }
.logos-hybrid-modal-layer.is-open { opacity: 1; visibility: visible; }
.logos-hybrid-modal-backdrop { position: absolute; inset: 0; border: 0; background: rgba(5,31,28,.38); backdrop-filter: blur(18px) saturate(108%); }
.logos-hybrid-modal {
  position: relative;
  width: min(1080px,94vw);
  max-height: min(88svh,790px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 1.65rem;
  background: rgba(250,255,253,.97);
  box-shadow: 0 42px 130px rgba(1,34,28,.25);
  opacity: 0;
  transform: translateY(15px) scale(.978);
  transition: opacity .26s ease,transform .34s cubic-bezier(.2,.8,.2,1);
}
.logos-hybrid-modal-layer.is-open .logos-hybrid-modal { opacity: 1; transform: translateY(0) scale(1); }
.logos-hybrid-modal__topbar { position: absolute; top: .75rem; right: .75rem; z-index: 20; }
.logos-hybrid-modal .logos-module-panel__close { display: grid; place-items: center; width: 2.65rem; height: 2.65rem; border: 1px solid rgba(0,141,103,.12); border-radius: 50%; background: rgba(255,255,255,.86); color: #315d56; box-shadow: 0 8px 22px rgba(0,67,52,.065); backdrop-filter: blur(12px); }
.logos-hybrid-modal .logos-module-panel__close svg { width: 1.05rem; }
.logos-hybrid-modal__contents { max-height: min(88svh,790px); overflow: auto; }
.logos-hybrid-modal__content:not([hidden]) { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); min-height: 595px; }
.logos-hybrid-modal__visual { position: relative; display: grid; place-items: center; min-height: 595px; overflow: hidden; background: radial-gradient(circle at 50% 46%,rgba(0,187,133,.14),transparent 35%),linear-gradient(145deg,#f6fffb 0%,#edf9f5 100%); }
.logos-hybrid-modal__visual::before,.logos-hybrid-modal__visual::after { content:""; position:absolute; left:50%; top:50%; border:1px solid rgba(0,160,116,.11); border-radius:50%; transform:translate(-50%,-50%); }
.logos-hybrid-modal__visual::before { width:80%; aspect-ratio:1; }
.logos-hybrid-modal__visual::after { width:57%; aspect-ratio:1; border-style:dashed; animation:logosV21ModalSpin 31s linear infinite; }
.logos-hybrid-modal__visual-orbit { position:absolute; width:66%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(0,188,134,.09),transparent 68%); filter:blur(5px); }
.logos-hybrid-modal__visual img { position:relative; z-index:3; width:min(76%,460px); max-height:490px; object-fit:contain; filter:drop-shadow(0 26px 34px rgba(0,67,51,.16)); animation:logosV21ModalFloat 6.8s ease-in-out infinite; }
.logos-hybrid-modal__copy { padding:clamp(2rem,3.6vw,3.6rem) clamp(1.55rem,3.3vw,3.2rem) 2rem; direction:rtl; }
.logos-hybrid-modal .logos-module-panel__identity { display:flex; align-items:center; gap:.62rem; }
.logos-hybrid-modal .logos-module-panel__number { display:grid; place-items:center; width:2.15rem; height:2.15rem; border-radius:.68rem; background:rgba(0,185,132,.075); color:#008e69; font-family:Inter,Arial,sans-serif; font-weight:950; }
.logos-hybrid-modal .logos-module-panel__type { color:#66817c; font-family:Inter,Arial,sans-serif; font-size:.66rem; font-weight:900; letter-spacing:.12em; }
.logos-hybrid-modal .logos-module-panel__title { margin:.82rem 0 0; color:#082f3b; font-size:clamp(1.9rem,2.8vw,3rem); font-weight:950; line-height:1.1; }
.logos-hybrid-modal .logos-module-panel__title-en { margin:.28rem 0 0; color:#00916c; font-family:Inter,Arial,sans-serif; font-size:.71rem; font-weight:950; letter-spacing:.1em; }
.logos-hybrid-modal .logos-module-panel__subtitle { margin:.45rem 0 0; color:#607c77; font-weight:780; }
.logos-hybrid-modal .logos-module-panel__description { margin:1.05rem 0 0; color:#3d605a; font-size:.89rem; font-weight:630; line-height:1.82; }
.logos-hybrid-modal .logos-module-panel__section { margin-top:1.05rem; }
.logos-hybrid-modal .logos-module-panel__section-title { margin:0 0 .6rem; color:#173f49; font-size:.82rem; font-weight:950; }
.logos-hybrid-modal .logos-module-panel__capabilities { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.52rem; margin:0; padding:0; list-style:none; }
.logos-hybrid-modal .logos-module-capability,.logos-hybrid-modal .logos-module-panel__capabilities>li { min-height:3.55rem; padding:.62rem .7rem; border:1px solid rgba(0,153,111,.1); border-radius:.82rem; background:rgba(255,255,255,.75); box-shadow:0 8px 23px rgba(5,72,57,.035); color:#3d605a; font-size:.72rem; font-weight:720; line-height:1.55; }
.logos-hybrid-modal .logos-module-panel__outcome { margin-top:.92rem; padding:.76rem .85rem; border-inline-start:3px solid var(--active-module-accent,#00b982); border-radius:.82rem; background:rgba(0,174,125,.052); }
.logos-hybrid-modal .logos-module-panel__outcome-label { color:#008a67; font-size:.66rem; font-weight:950; }
.logos-hybrid-modal .logos-module-panel__outcome p { margin:.25rem 0 0; color:#3b5f58; font-size:.75rem; font-weight:680; line-height:1.68; }
.logos-hybrid-modal .logos-module-panel__footer { display:flex; align-items:center; gap:.62rem; margin-top:1.05rem; }
.logos-hybrid-modal .logos-module-panel__next { min-height:2.8rem; display:inline-flex; align-items:center; gap:.48rem; padding:0 .9rem; border:1px solid rgba(0,143,105,.14); border-radius:999px; background:#fff; color:#315d56; font-weight:820; }
.logos-hybrid-modal .logos-module-panel__next svg { width:.95rem; }
.logos-hybrid-modal .logos-module-panel__progress { position:absolute; left:0; right:0; bottom:0; height:3px; background:rgba(0,153,111,.06); }
.logos-hybrid-modal .logos-module-panel__progress span { display:block; width:0; height:100%; background:linear-gradient(90deg,#009f72,#33d9ae); box-shadow:0 0 13px rgba(0,174,125,.34); transition:width .4s ease; }
html.logos-modal-open { overflow:hidden; }

/* Responsive ------------------------------------------------------------- */
@media (max-height: 840px) and (min-width: 768px) {
  .logos-hybrid-copy__headline { font-size:clamp(2.28rem,3.32vw,3.68rem); }
  .logos-hybrid-copy__lead { line-height:1.46; }
  .logos-hybrid-copy__actions .logos-button { min-height:2.5rem; }
  .logos-hybrid-scene { width:min(93vw,1370px,calc((100svh - 158px) * 1.95122)); }
}

@media (max-height: 700px) and (min-width: 768px) {
  .logos-hybrid-copy__eyebrow,.logos-hybrid-copy__hint { display:none; }
  .logos-hybrid-copy__headline { font-size:clamp(1.98rem,3vw,3.18rem); }
  .logos-hybrid-scene { width:min(90vw,1240px,calc((100svh - 116px) * 1.95122)); }
}

@media (max-width: 1100px) and (min-width: 768px) {
  .logos-hybrid-scene { width:min(95vw,1080px,calc((100svh - 169px) * 1.95122)); }
  .logos-hybrid-node__tooltip { min-width:9.1rem; padding:.55rem .63rem; }
}

@media (max-width: 767px) {
  .logos-landing--hybrid .logos-stage,.logos-hybrid-stage { min-height:100svh; overflow-x:hidden; overflow-y:auto; }
  .logos-hybrid-shell { height:auto; min-height:100svh; padding:.68rem .58rem 1rem; }
  .logos-hybrid-copy__headline { font-size:clamp(2rem,10.2vw,2.95rem); line-height:1.06; }
  .logos-hybrid-copy__lead { width:min(96%,36rem); font-size:.77rem; }
  .logos-hybrid-copy__actions { flex-wrap:wrap; }
  .logos-hybrid-scene { width:min(100%,760px); min-width:0; aspect-ratio:760/1180; margin-top:.16rem; }
  .logos-hybrid-svg--desktop { display:none; }
  .logos-hybrid-svg--mobile { display:block; }
  .logos-hybrid-core-hitbox { left:19%; top:4%; width:62%; height:32%; }
  .logos-hybrid-node--financial-hub { left:1%; top:36%; width:48%; height:20%; }
  .logos-hybrid-node--strategic-brain { left:51%; top:36%; width:48%; height:20%; }
  .logos-hybrid-node--operations-command { left:1%; top:57%; width:48%; height:20%; }
  .logos-hybrid-node--human-capital { left:51%; top:57%; width:48%; height:20%; }
  .logos-hybrid-node--intelligence-center { left:1%; top:78%; width:48%; height:21%; }
  .logos-hybrid-node--growth-engine { left:51%; top:78%; width:48%; height:21%; }
  .logos-hybrid-node__tooltip { display:none; }
  .logos-hybrid-node__mobile-label { position:absolute; left:50%; bottom:1.4%; display:block; width:92%; transform:translateX(-50%); text-align:center; direction:rtl; pointer-events:none; }
  .logos-hybrid-node__mobile-label strong { display:block; color:#174b45; font-size:.6rem; font-weight:900; }
  .logos-hybrid-node__mobile-label span { display:block; margin-top:.04rem; color:#008865; font-family:Inter,Arial,sans-serif; font-size:.41rem; font-weight:900; letter-spacing:.05em; }
  .logos-hybrid-modal { width:min(96vw,680px); max-height:92svh; overflow:auto; }
  .logos-hybrid-modal__contents { max-height:none; overflow:visible; }
  .logos-hybrid-modal__content:not([hidden]) { grid-template-columns:1fr; min-height:0; }
  .logos-hybrid-modal__visual { min-height:250px; }
  .logos-hybrid-modal__visual img { width:min(68%,330px); max-height:275px; }
  .logos-hybrid-modal__copy { padding:1.3rem 1.1rem 1.4rem; }
  .logos-hybrid-modal .logos-module-panel__capabilities { grid-template-columns:1fr; }
  .logos-hybrid-modal .logos-module-panel__footer { flex-wrap:wrap; }
}

@media (max-width: 410px) {
  .logos-hybrid-copy__actions .logos-button { min-width:8rem; }
  .logos-hybrid-node__mobile-label strong { font-size:.54rem; }
}

@media (hover:none) and (pointer:coarse) { .logos-hybrid-node__tooltip { display:none; } }

@media (prefers-reduced-motion: reduce) {
  .logos-v21-orbits,.logos-v21-scanner,.logos-v21-core-halo,.logos-v21-core,
  .logos-hybrid-connector__pulse,.logos-hybrid-modal__visual::after,.logos-hybrid-modal__visual img {
    animation:none !important;
  }
}

/* Motion ----------------------------------------------------------------- */
@keyframes logosV21OrbitBreath { 0%,100%{opacity:.82;transform:scale(1)} 50%{opacity:1;transform:scale(1.006)} }
@keyframes logosV21Scanner { to{transform:rotate(360deg)} }
@keyframes logosV21Halo { 0%,100%{opacity:.7;transform:scale(.985)} 50%{opacity:1;transform:scale(1.025)} }
@keyframes logosV21CoreFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-4px)} }
@keyframes logosV21ConnectorPulse { to{stroke-dashoffset:-438} }
@keyframes logosV21ModalSpin { to{transform:translate(-50%,-50%) rotate(360deg)} }
@keyframes logosV21ModalFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)} }

/* -----------------------------------------------------------------------
 * V21 precision overrides: repaired central core, stronger orbital system,
 * brighter hover states and guaranteed click/modal stacking.
 * -------------------------------------------------------------------- */
.logos-hybrid-scene {
  width: min(96vw, 1500px, calc((100svh - 180px) * 1.95122));
  margin-top: clamp(-.34rem, -.4vh, -.08rem);
}

.logos-v21-orbit {
  stroke-width: 1.12;
}
.logos-v21-orbit--main { stroke-opacity: .24; }
.logos-v21-orbit--inner { stroke-opacity: .11; stroke-dasharray: 6 13; }
.logos-v21-orbit--micro { stroke-opacity: .055; }
.logos-v21-orbit--atomic-a { stroke-opacity: .105; }
.logos-v21-orbit--atomic-b { stroke-opacity: .08; stroke-dasharray: 11 20; }
.logos-v21-orbit--core { stroke-opacity: .095; stroke-dasharray: 3 10; }
.logos-v21-orbit--arc { fill: none; stroke-opacity: .075; stroke-dasharray: 3 18; }

.logos-v21-gridmarks path,
.logos-v21-gridmarks circle {
  fill: #fff;
  stroke: #00a978;
  stroke-width: 1.1;
  vector-effect: non-scaling-stroke;
}

.logos-v21-core {
  transform-box: fill-box;
  transform-origin: 50% 62%;
  animation: logosV21CoreFloat 8.8s ease-in-out infinite;
}
.logos-v21-core__shadow {
  fill: #064d3e;
  fill-opacity: .075;
  filter: blur(10px);
}
.logos-v21-core__plate-back {
  fill: url(#logosV21CorePlate);
  stroke: #00a978;
  stroke-opacity: .13;
  stroke-width: 1.2;
}
.logos-v21-core__platform {
  filter: saturate(1.04) brightness(1.03) drop-shadow(0 18px 20px rgba(0, 92, 69, .12));
}
.logos-v21-core__rings ellipse {
  fill: none;
  stroke: #00bf88;
  vector-effect: non-scaling-stroke;
}
.logos-v21-core__rings ellipse:nth-child(1) { stroke-width: 2.1; stroke-opacity: .25; }
.logos-v21-core__rings ellipse:nth-child(2) { stroke-width: 1.35; stroke-opacity: .28; stroke-dasharray: 18 12; }
.logos-v21-core__rings ellipse:nth-child(3) { stroke-width: 1.1; stroke-opacity: .17; }
.logos-v21-core__well {
  fill: rgba(247, 255, 252, .86);
  stroke: #00c58d;
  stroke-opacity: .28;
  stroke-width: 1.3;
}
.logos-v21-core__beam { opacity: .76; }
.logos-v21-core__cube {
  filter: saturate(1.04) contrast(1.015) drop-shadow(0 18px 20px rgba(0, 86, 67, .16));
}
.logos-v21-core__axis path,
.logos-v21-core__axis circle {
  fill: #fff;
  stroke: #00c58d;
  stroke-width: 1.25;
  stroke-opacity: .44;
  vector-effect: non-scaling-stroke;
}

.logos-v21-satellite {
  transform-origin: 0 18px;
}
.logos-v21-module__ground { fill: #006b53; fill-opacity: .045; }
.logos-v21-module__platform {
  transition: filter .34s ease, transform .38s cubic-bezier(.2,.82,.2,1);
}
.logos-v21-module__upper {
  transition: transform .38s cubic-bezier(.2,.82,.2,1), filter .34s ease;
}
.logos-v21-module__dock-glow {
  fill: #00d59a;
  fill-opacity: .055;
  filter: blur(4px);
  transition: fill-opacity .3s ease, transform .35s ease;
}
.logos-v21-module__glass-face {
  transition: fill .32s ease, stroke .32s ease, stroke-opacity .32s ease;
}
.logos-v21-satellite.is-highlighted .logos-v21-module__upper {
  transform: translateY(-5px) scale(1.015);
  filter: drop-shadow(0 15px 20px rgba(0, 169, 119, .16));
}
.logos-v21-satellite.is-highlighted .logos-v21-module__platform {
  filter: saturate(1.18) brightness(1.07) drop-shadow(0 14px 18px rgba(0, 160, 112, .18));
}
.logos-v21-satellite.is-highlighted .logos-v21-module__glass-face {
  fill: url(#logosV21GlassFaceActive);
  stroke: #00e3a2;
  stroke-opacity: .95;
}
.logos-v21-satellite.is-highlighted .logos-v21-module__glass-left,
.logos-v21-satellite.is-highlighted .logos-v21-module__glass-right,
.logos-v21-satellite.is-highlighted .logos-v21-module__glass-top {
  stroke: #00dfa0;
  stroke-opacity: .75;
}
.logos-v21-satellite.is-highlighted .logos-v21-module__dock-glow {
  fill-opacity: .2;
  transform: scale(1.12);
}
.logos-v21-satellite.is-highlighted .logos-v21-module__icon {
  color: #00dfa0;
  filter: url(#logosV21Glow);
  transform: scale(1.08);
}
.logos-v21-satellite.is-highlighted .logos-v21-module__icon-halo { fill-opacity: .18; }

.logos-hybrid-connector__rail,
.logos-hybrid-connector__line,
.logos-hybrid-connector__pulse {
  fill: none;
  vector-effect: non-scaling-stroke;
}
.logos-hybrid-connector__rail {
  stroke: #ffffff;
  stroke-width: 5.2;
  stroke-opacity: .62;
  stroke-linecap: round;
}
.logos-hybrid-connector__line {
  stroke: url(#logosV21Connector);
  stroke-width: 1.55;
  stroke-linecap: round;
}
.logos-hybrid-connector__pulse {
  stroke: #00d398;
  stroke-width: 2.15;
  stroke-opacity: .52;
  stroke-linecap: round;
  stroke-dasharray: 20 430;
  animation: logosV21ConnectorPulse 6.2s linear infinite;
}
.logos-orbital-connector-start,
.logos-orbital-connector-dot,
.logos-orbital-connector-joint {
  fill: #fff;
  stroke: #00c48c;
  vector-effect: non-scaling-stroke;
}
.logos-orbital-connector-start { stroke-width: 1.7; }
.logos-orbital-connector-dot { stroke-width: 2.05; }
.logos-orbital-connector-joint { stroke-width: 1.6; fill-opacity: .94; }
.logos-hybrid-connector.is-highlighted .logos-hybrid-connector__rail { stroke-opacity: .9; }
.logos-hybrid-connector.is-highlighted .logos-hybrid-connector__line { stroke-width: 2.25; }
.logos-hybrid-connector.is-highlighted .logos-hybrid-connector__pulse {
  stroke-width: 3.15;
  stroke-opacity: .96;
  filter: url(#logosV21Glow);
}
.logos-hybrid-connector.is-highlighted .logos-orbital-connector-dot,
.logos-hybrid-connector.is-highlighted .logos-orbital-connector-joint {
  fill: #00e0a0;
  stroke: #fff;
  filter: url(#logosV21Glow);
}

.logos-hybrid-node,
.logos-hybrid-core-hitbox {
  z-index: 90;
  pointer-events: auto !important;
  touch-action: manipulation;
}
.logos-hybrid-node {
  width: 15.7%;
  height: 27.8%;
}
.logos-hybrid-core-hitbox {
  left: 36.5%;
  top: 24%;
  width: 27%;
  height: 51%;
  z-index: 84;
}
.logos-hybrid-node__tooltip {
  top: -1%;
  border-color: rgba(0, 181, 128, .19);
  background: rgba(255,255,255,.96);
  box-shadow: 0 22px 50px rgba(8,66,54,.11);
}

.logos-hybrid-modal-layer {
  z-index: 10000 !important;
}
.logos-hybrid-modal-backdrop {
  cursor: default;
}
.logos-hybrid-modal {
  width: min(1120px, 94vw);
  border-radius: 1.8rem;
  box-shadow: 0 46px 150px rgba(1,34,28,.3);
}
.logos-hybrid-modal__visual img {
  width: min(80%, 500px);
  max-height: 510px;
}
.logos-hybrid-modal-layer.is-open {
  pointer-events: auto;
}

@media (max-height: 840px) and (min-width: 768px) {
  .logos-hybrid-scene { width: min(94vw, 1420px, calc((100svh - 154px) * 1.95122)); }
}
@media (max-height: 700px) and (min-width: 768px) {
  .logos-hybrid-scene { width: min(92vw, 1280px, calc((100svh - 110px) * 1.95122)); }
}
@media (max-width: 1100px) and (min-width: 768px) {
  .logos-hybrid-scene { width: min(96vw, 1120px, calc((100svh - 160px) * 1.95122)); }
}
@media (max-width: 767px) {
  .logos-hybrid-core-hitbox { left: 20%; top: 3%; width: 60%; height: 34%; }
  .logos-hybrid-node { z-index: 90; }
}

@keyframes logosV21ConnectorPulse { to { stroke-dashoffset: -450; } }


/* ======================================================================
   V22 — Mobile balance patch
   Fixes off-canvas labels, tiny satellites, nested scrolling and clipping.
   ====================================================================== */

body.logos-landing-page--hybrid,
body.logos-landing-page--hybrid button,
body.logos-landing-page--hybrid input,
body.logos-landing-page--hybrid textarea,
body.logos-landing-page--hybrid select,
body.logos-landing-page--hybrid .logos-landing--hybrid {
  font-family: "Ray", var(--logos-font-fa);
  font-synthesis: none;
}

body.logos-landing-page--hybrid .logos-hybrid-copy__headline {
  font-family: "Ray", var(--logos-font-fa);
  font-weight: 950;
  transform: none;
}

@media (min-width: 768px) {
  body.logos-landing-page--hybrid .logos-hybrid-svg--desktop {
    display: block !important;
  }

  body.logos-landing-page--hybrid .logos-hybrid-svg--mobile {
    display: none !important;
  }
}

@media (max-width: 767px) {
  html,
  body.logos-landing-page--hybrid {
    min-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
  }

  body.logos-landing-page--hybrid .logos-stage,
  body.logos-landing-page--hybrid .logos-hybrid-stage {
    min-height: 100svh;
    overflow: visible;
  }

  body.logos-landing-page--hybrid .logos-hybrid-shell {
    display: block;
    width: 100%;
    height: auto;
    min-height: 100svh;
    padding: .7rem .72rem 1.25rem;
  }

  body.logos-landing-page--hybrid .logos-hybrid-copy {
    width: 100%;
    max-width: 35rem;
    margin-inline: auto;
    padding-inline: .1rem;
  }

  body.logos-landing-page--hybrid .logos-hybrid-copy__eyebrow {
    min-height: 1.65rem;
    padding: .16rem .68rem;
    font-size: .66rem;
  }

  body.logos-landing-page--hybrid .logos-hybrid-copy__headline {
    width: 100%;
    margin: .45rem auto 0;
    font-size: clamp(2rem, 9.8vw, 2.75rem);
    font-weight: 950;
    line-height: 1.15;
    letter-spacing: -.04em;
    word-spacing: 0;
    white-space: normal;
    text-wrap: balance;
  }

  body.logos-landing-page--hybrid .logos-hybrid-copy__lead {
    width: min(94%, 31rem);
    margin: .48rem auto 0;
    font-size: .84rem;
    line-height: 1.78;
  }

  body.logos-landing-page--hybrid .logos-hybrid-copy__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .58rem;
    width: min(100%, 22.5rem);
    margin: .8rem auto 0;
  }

  body.logos-landing-page--hybrid .logos-hybrid-copy__actions .logos-button {
    min-width: 0;
    width: 100%;
    min-height: 2.72rem;
    padding-inline: .72rem;
    font-size: .78rem;
  }

  body.logos-landing-page--hybrid .logos-hybrid-copy__hint {
    margin-top: .28rem;
    font-size: .58rem;
  }

  body.logos-landing-page--hybrid .logos-hybrid-scene {
    position: relative;
    width: min(100%, 760px);
    min-width: 0;
    max-width: 100%;
    aspect-ratio: 760 / 1240;
    margin: .55rem auto 0;
    overflow: visible;
  }

  body.logos-landing-page--hybrid .logos-hybrid-visual {
    position: absolute;
    inset: 0;
    overflow: visible;
    transform: none !important;
  }

  body.logos-landing-page--hybrid .logos-hybrid-svg--desktop {
    display: none !important;
  }

  body.logos-landing-page--hybrid .logos-hybrid-svg--mobile {
    display: block !important;
    width: 100%;
    height: 100%;
    overflow: visible;
  }

  body.logos-landing-page--hybrid .logos-v22-mobile-node {
    filter: drop-shadow(0 12px 14px rgba(8, 77, 60, .10));
  }

  /* The desktop button rule uses translate(-50%, -50%).
     It must be fully disabled on mobile, otherwise the left column exits
     the viewport and its captions are clipped. */
  body.logos-landing-page--hybrid .logos-hybrid-node {
    transform: none !important;
    z-index: 90;
    height: 21.5%;
    width: 48.4%;
    overflow: visible;
  }

  body.logos-landing-page--hybrid .logos-hybrid-core-hitbox {
    left: 13%;
    top: 0;
    width: 74%;
    height: 38%;
    transform: none !important;
  }

  body.logos-landing-page--hybrid .logos-hybrid-node--financial-hub {
    left: .8%;
    top: 38.5%;
  }

  body.logos-landing-page--hybrid .logos-hybrid-node--strategic-brain {
    left: 50.8%;
    top: 38.5%;
  }

  body.logos-landing-page--hybrid .logos-hybrid-node--operations-command {
    left: .8%;
    top: 59.9%;
  }

  body.logos-landing-page--hybrid .logos-hybrid-node--human-capital {
    left: 50.8%;
    top: 59.9%;
  }

  body.logos-landing-page--hybrid .logos-hybrid-node--intelligence-center {
    left: .8%;
    top: 81.3%;
    height: 18.4%;
  }

  body.logos-landing-page--hybrid .logos-hybrid-node--growth-engine {
    left: 50.8%;
    top: 81.3%;
    height: 18.4%;
  }

  body.logos-landing-page--hybrid .logos-hybrid-node__tooltip {
    display: none !important;
  }

  body.logos-landing-page--hybrid .logos-hybrid-node__mobile-label {
    position: absolute;
    left: 50%;
    right: auto;
    bottom: .05rem;
    display: block;
    width: calc(100% - .8rem);
    max-width: 10.5rem;
    margin: 0;
    padding: .34rem .45rem .38rem;
    border: 1px solid rgba(0, 156, 111, .10);
    border-radius: 999px;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 8px 22px rgba(4, 70, 54, .055);
    transform: translateX(-50%);
    direction: rtl;
    text-align: center;
    white-space: normal;
    overflow: visible;
    pointer-events: none;
    backdrop-filter: blur(10px) saturate(125%);
  }

  body.logos-landing-page--hybrid .logos-hybrid-node__mobile-label strong {
    display: block;
    color: #164a40;
    font-family: "Ray", var(--logos-font-fa);
    font-size: .68rem;
    font-weight: 850;
    line-height: 1.35;
  }

  body.logos-landing-page--hybrid .logos-hybrid-node__mobile-label span {
    display: none;
  }

  body.logos-landing-page--hybrid .logos-hybrid-node:active .logos-hybrid-node__mobile-label,
  body.logos-landing-page--hybrid .logos-hybrid-node:focus-visible .logos-hybrid-node__mobile-label {
    border-color: rgba(0, 204, 145, .34);
    background: rgba(240, 255, 249, .94);
    box-shadow: 0 10px 26px rgba(0, 166, 117, .12);
  }

  body.logos-landing-page--hybrid .logos-hybrid-modal {
    width: min(95vw, 42rem);
    max-height: 92svh;
    border-radius: 1.25rem;
    overflow: auto;
  }

  body.logos-landing-page--hybrid .logos-hybrid-modal__content:not([hidden]) {
    grid-template-columns: 1fr;
  }

  body.logos-landing-page--hybrid .logos-hybrid-modal__visual {
    min-height: 15rem;
  }
}

@media (max-width: 390px) {
  body.logos-landing-page--hybrid .logos-hybrid-copy__headline {
    font-size: clamp(1.82rem, 9.4vw, 2.25rem);
  }

  body.logos-landing-page--hybrid .logos-hybrid-copy__lead {
    font-size: .78rem;
  }

  body.logos-landing-page--hybrid .logos-hybrid-copy__actions {
    gap: .44rem;
  }

  body.logos-landing-page--hybrid .logos-hybrid-copy__actions .logos-button {
    min-height: 2.58rem;
    font-size: .72rem;
  }

  body.logos-landing-page--hybrid .logos-hybrid-node__mobile-label strong {
    font-size: .62rem;
  }
}


/* V22.1 mobile core visibility hotfix */
@media (max-width: 767px) {
  body.logos-landing-page--hybrid .logos-v22-mobile-core {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none;
  }

  body.logos-landing-page--hybrid .logos-v22-mobile-core image,
  body.logos-landing-page--hybrid .logos-v22-mobile-core ellipse {
    opacity: 1 !important;
    visibility: visible !important;
  }
}
