/* R15: the existing dark/lime identity, with legible connected diagrams. */
:root {
  --hero-breathing:24px;
  --heading-depth:0 3px 9px rgb(0 0 0 / .38);
  --heading-light:color-mix(in srgb,var(--lime) 20%,transparent);
  --sector-divider:color-mix(in srgb,var(--lime) 42%,transparent);
}
main {padding-block-start:var(--hero-breathing);}
main :is(h1,h2) {text-shadow:var(--heading-depth),0 0 30px var(--heading-light)!important;}
main h3 {text-shadow:0 2px 6px rgb(0 0 0 / .32),0 0 18px color-mix(in srgb,currentColor 12%,transparent)!important;}
.service-presence,.solution-panel-2,.pain-cluster:nth-child(2) {--heading-light:color-mix(in srgb,var(--coral) 22%,transparent);}
.hero-home {grid-template-rows:auto!important;align-items:stretch;}
.nav-submenu {gap:0;padding:.5rem 1rem;}
.nav-submenu a {border-radius:0;border-block-start:1px solid var(--sector-divider);padding-block:1rem;}
.nav-submenu a:nth-child(-n+2) {border-block-start:0;}
.nav-submenu a:nth-child(odd) {border-inline-end:1px solid var(--sector-divider);}

/* Geometry belongs to the cards, never to a fixed SVG coordinate system. */
.system-map {container-type:inline-size;display:flex;justify-content:center;position:relative;min-height:640px!important;padding:3rem 1.75rem!important;gap:0;}
.system-map .map-connections {inset:0!important;width:100%;height:100%!important;opacity:1;pointer-events:none;}
.system-map .map-grid,.system-map .orbit {display:none;}
.system-map .map-nodes {position:relative!important;inset:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr) 128px minmax(0,1fr)!important;grid-template-rows:repeat(3,auto);gap:1.5rem 2rem!important;order:initial;align-items:center;width:100%;min-height:510px;}
.system-map .map-node {grid-column:1!important;align-self:stretch;position:relative!important;transform:none!important;width:auto!important;min-height:124px!important;padding:1rem!important;gap:.8rem!important;display:flex!important;align-items:flex-start;flex-direction:column;}
.system-map .map-node:nth-child(1) {grid-row:1;}
.system-map .map-node:nth-child(2) {grid-row:2;}
.system-map .map-node:nth-child(3) {grid-row:3;}
.system-map .map-node:nth-child(4) {grid-area:1/3!important;}
.system-map .map-node:nth-child(5) {grid-area:2/3!important;}
.system-map .map-node:nth-child(6) {grid-area:3/3!important;}
.system-map .map-node>i {top:50%;transform:translateY(-50%);}
.system-map .node-icon {width:32px!important;height:32px!important;}
.system-map .node-icon .icon {width:20px;height:20px;}
.system-map .map-node strong {font-size:1rem!important;line-height:1.35!important;}
.system-map .map-node small {font-size:.9375rem!important;line-height:1.45!important;margin-top:.35rem;}
.system-map .operation-core {position:absolute!important;inset:50% auto auto 50%!important;transform:translate(-50%,-50%)!important;order:initial;width:128px!important;min-width:0!important;height:144px!important;min-height:0!important;padding:.75rem .4rem!important;margin:0!important;gap:.9rem;}
.system-map .operation-core strong {font-size:1rem!important;line-height:1.4!important;letter-spacing:0;}
.system-map .signal-base {stroke-width:1.3;opacity:.48;}
.system-map .signal-flow {stroke-width:2.2;stroke-dasharray:14 110;animation:r15-map-flow 3.6s linear infinite;animation-play-state:paused;}
.system-map.is-map-active .signal-flow {animation-play-state:running;}
.system-map .flow-2,.system-map .flow-5 {animation-delay:-1.2s;}
.system-map .flow-3,.system-map .flow-6 {animation-delay:-2.4s;}
@keyframes r15-map-flow {to {stroke-dashoffset:-124;}}
@container (max-width:660px) {
  .system-map .map-nodes {grid-template-columns:minmax(0,1fr) 120px!important;grid-template-rows:repeat(6,auto);gap:.85rem 2rem!important;min-height:0;}
  .system-map .map-node:nth-child(n) {grid-area:auto/1!important;min-height:0!important;}
  .system-map .map-node:nth-child(n)>i {left:auto;right:-5px;}
  .system-map .operation-core {inset:50% 1.75rem auto auto!important;transform:translateY(-50%)!important;width:120px!important;}
}

/* Small explanatory diagrams supplement the real copy, not fictional metrics. */
.context-motion {--motion-accent:var(--lime);color:var(--motion-accent);width:100%;max-width:420px;position:relative;isolation:isolate;}
.context-motion>svg {display:block;width:100%;height:auto;overflow:visible;}
.context-motion .motion-surface {fill:var(--ground-2);stroke:color-mix(in srgb,var(--motion-accent) 52%,var(--rule));}
.context-motion .motion-detail {stroke:var(--dim);}
.context-motion .motion-wire {stroke:color-mix(in srgb,var(--motion-accent) 25%,var(--rule));}
.context-motion .motion-trace {stroke-dasharray:15 85;stroke-width:2;animation:r15-travel 3.4s linear infinite;animation-play-state:paused;}
.context-motion .motion-check,.context-motion .motion-pin {animation:r15-confirm 3.4s ease-in-out infinite;animation-play-state:paused;}
.context-motion .motion-pulse {fill:var(--motion-accent);stroke:none;animation:r15-confirm 3.4s ease-in-out infinite;animation-delay:var(--phase,0s);animation-play-state:paused;}
.context-motion.is-motion-active :is(.motion-trace,.motion-check,.motion-pin,.motion-pulse) {animation-play-state:running;}
.motion-presence {--motion-accent:var(--coral);}
.solution-context-motion {max-width:330px;margin:1.75rem 0 1rem;}
.service-hero-symbol {justify-content:center;gap:2rem;}
.service-hero-symbol:after {display:none;}
.service-context-motion {margin:auto;}
.about-hero {display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);column-gap:clamp(2rem,5vw,6rem);align-content:center;}
.about-hero:after {display:none;}
.about-hero>h1,.about-hero>p {grid-column:1;}
.about-context-motion {grid-column:2;grid-row:1/3;align-self:center;justify-self:center;max-width:520px;margin:2rem 0;}
.r15-method {--method-motion:var(--lime);}
.method-section :is(h1,h2,h3) {text-shadow:0 2px 5px rgb(0 0 0 / .12)!important;}
.r15-method .method-node {background:var(--lime);border:2px solid var(--lime-ink);position:absolute;display:block;box-shadow:none;}
.r15-method .method-node:after {content:"";position:absolute;inset:3px;background:var(--lime-ink);border-radius:inherit;animation:r15-method-step 6s ease-in-out infinite;animation-play-state:paused;}
.r15-method li:nth-child(2) .method-node:after {animation-delay:-4.5s;}
.r15-method li:nth-child(3) .method-node:after {animation-delay:-3s;}
.r15-method li:nth-child(4) .method-node:after {animation-delay:-1.5s;}
.r15-method.is-motion-active .method-node:after {animation-play-state:running;}
@keyframes r15-travel {to {stroke-dashoffset:-100;}}
@keyframes r15-confirm {0%,100% {opacity:.45;}50%,75% {opacity:1;}}
@keyframes r15-method-step {0%,24% {opacity:1;transform:scale(1);}30%,94% {opacity:.18;transform:scale(.65);}100% {opacity:1;transform:scale(1);}}
@media(max-width:1180px) {
  :root {--hero-breathing:16px;}
  .nav-submenu {padding:.5rem 0 .75rem 1rem;border-left:0;}
  .nav-submenu a:nth-child(n) {border-inline-end:0;border-block-start:1px solid var(--sector-divider);}
  .nav-submenu a:first-child {border-block-start:0;}
  .about-hero {grid-template-columns:1fr;}
  .about-context-motion {grid-row:auto;grid-column:1;justify-self:start;max-width:440px;order:4;margin-bottom:0;}
  .about-hero>h1 {order:1;}
  .about-hero>p {order:2;}
  .about-hero>.experience-proof {grid-column:1;order:3;}
}
@media(max-width:680px) {
  .system-map {padding:2rem 1rem!important;min-height:0!important;}
  .system-map .map-nodes {gap:.85rem 1.5rem!important;}
  .system-map .map-node {padding:.85rem!important;}
  .system-map .operation-core {right:1rem!important;}
  .solution-context-motion {max-width:300px;margin-block:1.5rem 1rem;}
}
@media(prefers-reduced-motion:reduce) {
  .context-motion *,.system-map .signal-flow,.r15-method .method-node:after {animation:none!important;}
  .context-motion :is(.motion-check,.motion-pin,.motion-pulse),.r15-method .method-node:after {opacity:1;transform:none;}
  .system-map .signal-flow,.context-motion .motion-trace {stroke-dasharray:none;opacity:.5;}
}
