/* R16 preserves the desktop identity; the compact mobile composition is explicit. */
.r16-label-mobile {display:none;}
.button :is(.r16-label-mobile,.r16-label-desktop) {font:inherit;min-width:0;}
.diagnostic-form .form-actions {grid-template-columns:minmax(0,1fr);gap:28px;}
.diagnostic-form .form-continue {
  isolation:isolate;
  box-shadow:0 4px 12px rgb(196 249 48 / .20)!important;
}
.diagnostic-form .form-continue::before,
.diagnostic-form .form-continue::after {display:none!important;}
.diagnostic-form .button-whatsapp-form {
  min-height:48px;
  gap:10px;
  background:#25d366!important;
  border-color:#25d366!important;
  color:#062e17!important;
  box-shadow:0 4px 10px rgb(0 0 0 / .22)!important;
  font-weight:600;
}
.diagnostic-form .button-whatsapp-form:hover {background:#43df7d!important;border-color:#43df7d!important;}
.diagnostic-form .button-whatsapp-form::before,
.diagnostic-form .button-whatsapp-form::after {display:none!important;}
.diagnostic-form .button-whatsapp-form .icon {width:22px;height:22px;flex:none;color:inherit!important;}
.diagnostic-form .form-alternative-note {margin-top:20px;}
.system-map .map-node>i {left:var(--port-x,100%)!important;top:var(--port-y,50%)!important;right:auto!important;transform:translate(-50%,-50%)!important;}
.system-map .signal-flow {stroke-dasharray:6 94;animation:r16-inbound 3.6s linear infinite;animation-play-state:paused;}
.system-map.is-map-active .signal-flow {animation-play-state:running;}
.system-map .flow-2 {animation-delay:-.6s;}
.system-map .flow-3 {animation-delay:-1.2s;}
.system-map .flow-4 {animation-delay:-1.8s;}
.system-map .flow-5 {animation-delay:-2.4s;}
.system-map .flow-6 {animation-delay:-3s;}
@keyframes r16-inbound {from {stroke-dashoffset:0;}to {stroke-dashoffset:-100;}}

@media(max-width:680px) {
  :root {
    --type-h1:clamp(2rem,9vw,2.25rem);
    --type-h2:clamp(1.75rem,7.6vw,2rem);
    --type-h3:clamp(1.25rem,5.8vw,1.375rem);
    --type-intro:1rem;
    --type-body:1rem;
    --section:44px;
  }
  .site-header {height:60px;min-height:60px;padding-inline:16px;gap:12px;}
  .site-header .brand-logo {width:auto;max-width:117px;height:52px;object-fit:contain;}
  .site-header :is(.menu-toggle,.language-switch) {min-width:44px;min-height:44px;}
  .hero-copy {min-height:0;padding:28px var(--gutter) 32px;}
  .hero-copy h1 {margin-bottom:20px;}
  .hero-copy>p {line-height:1.55!important;margin-bottom:24px;}
  .hero-copy .hero-note {font-size:15px!important;line-height:1.55!important;margin:24px 0 0!important;}
  .hero-bridge {padding-block:36px;gap:24px;}
  .hero-bridge>p {line-height:1.55!important;}
  .hero-process {margin-top:0;}
  .r16-label-desktop {display:none;}
  .r16-label-mobile {display:inline;}
  main .button {min-height:48px;gap:10px;padding:12px 16px!important;white-space:normal!important;}
  main .button>.icon {flex:none;}
  .hero-copy .hero-cta {min-height:52px;}
  .section {padding-block:44px;}
  .page-hero,.service-hero,.sector-detail-hero,.demo-hero {min-height:0;padding-block:36px 40px;}
  :is(.section-heading,.section-header,.section-intro-solo) {margin-bottom:28px;}
  .pain-cluster,.pain-cluster-primary {padding-block:24px;}
  .pain-cluster li {padding-block:16px;}
  .pain-cluster li strong {margin-bottom:6px;}
  .pain-outcome {margin-top:20px;padding-block:20px;}
  .solution-panel,.solution-panel-1,.solution-panel-2,.solution-panel-3 {padding-block:28px;gap:16px;}
  .solution-panel ul {margin-block:20px;}
  .sector-application {padding-block:28px;}
  .application-head {gap:16px;margin-bottom:20px;}
  .application-grid>div,.application-grid>div+div {padding-block:20px;}
  .application-measures {margin-top:20px;}
  .sector-hub-row,.sector-fit-row {padding-block:24px;}
  .article-card,.demo-card {min-height:0;padding:20px;}
  .contact-layout {min-height:0;}
  .contact-intro {padding:32px 0;}
  .diagnostic-form {padding:32px 0;}
  .field {margin-bottom:20px;}
  .privacy-note {line-height:1.55!important;}
  .closing-cta {padding-block:40px;}
  .site-footer {padding-block:40px;}

  /* Wide upper/lower pairs leave a dedicated corridor around the central hub. */
  .system-map {
    --r16-map-layout:center;
    min-height:0!important;
    padding:24px 16px!important;
  }
  .system-map .map-nodes {
    grid-template-columns:minmax(0,1fr) 12px 112px 12px minmax(0,1fr)!important;
    grid-template-rows:auto minmax(112px,auto) auto!important;
    gap:36px 0!important;
    min-height:0!important;
  }
  .system-map .map-node:nth-child(n) {
    min-height:0!important;
    padding:12px!important;
    gap:8px!important;
    justify-content:flex-start;
    align-items:flex-start!important;
    border-radius:12px;
    text-align:left;
  }
  .system-map .map-node:nth-child(1),.system-map .map-node:nth-child(2),
  .system-map .map-node:nth-child(3),.system-map .map-node:nth-child(5) {width:calc(50% - 8px)!important;}
  .system-map .map-node:nth-child(1) {grid-area:1/1/2/-1!important;justify-self:start;}
  .system-map .map-node:nth-child(2) {grid-area:1/1/2/-1!important;justify-self:end;}
  .system-map .map-node:nth-child(3) {grid-area:3/1/4/-1!important;justify-self:start;}
  .system-map .map-node:nth-child(5) {grid-area:3/1/4/-1!important;justify-self:end;}
  .system-map .map-node:nth-child(4) {grid-area:2/1/3/2!important;padding:10px 8px!important;}
  .system-map .map-node:nth-child(6) {grid-area:2/5/3/6!important;padding:10px 8px!important;}
  .system-map .node-icon {width:28px!important;height:28px!important;}
  .system-map .node-icon .icon {width:20px;height:20px;}
  .system-map .map-node strong {font-size:16px!important;line-height:1.3!important;overflow-wrap:normal;}
  .system-map .map-node small {display:block;font-size:15px!important;line-height:1.45!important;margin-top:6px;}
  .system-map .operation-core {
    inset:var(--r16-core-y,50%) auto auto 50%!important;
    transform:translate(-50%,-50%)!important;
    width:112px!important;height:112px!important;
    padding:12px 4px!important;gap:10px;
    border-radius:12px;
  }
  .system-map .operation-core .core-symbol {width:36px;height:36px;}
  .system-map .operation-core .icon {width:36px;height:36px;}
  .system-map .operation-core strong {font-size:15px!important;line-height:1.3!important;}
}
@media(max-width:359px) {
  .system-map {padding-inline:12px!important;}
  .system-map .map-nodes {grid-template-columns:minmax(0,1fr) 8px 112px 8px minmax(0,1fr)!important;gap:28px 0!important;}
  .system-map .map-node:nth-child(4),.system-map .map-node:nth-child(6) {padding-inline:6px!important;}
  .system-map .map-node:nth-child(4) strong,.system-map .map-node:nth-child(6) strong {font-size:15px!important;}
}
/* At extreme reflow widths, preserve the central reading order instead of clipping. */
@media(max-width:279px) {
  .system-map .map-nodes {grid-template-columns:minmax(0,1fr)!important;grid-template-rows:repeat(3,auto) 144px repeat(3,auto)!important;gap:20px!important;}
  .system-map .map-node:nth-child(n) {grid-column:1!important;width:100%!important;}
  .system-map .map-node:nth-child(1) {grid-row:1!important;}
  .system-map .map-node:nth-child(2) {grid-row:2!important;}
  .system-map .map-node:nth-child(4) {grid-row:3!important;}
  .system-map .map-node:nth-child(6) {grid-row:5!important;}
  .system-map .map-node:nth-child(3) {grid-row:6!important;}
  .system-map .map-node:nth-child(5) {grid-row:7!important;}
}
@media(prefers-reduced-motion:reduce) {
  .system-map .signal-flow {animation:none!important;stroke-dasharray:none;opacity:.4!important;}
}
