/* Shared refinements. Text remains in its layout, motion never owns text space. */
.mega-panel { max-height: calc(100dvh - var(--header-height) - 12px); overflow-y: auto; overscroll-behavior: contain; }
/* Solutions stay primary; supplementary services share a compact row. */
.mega-panel__links--tech { gap: 6px 12px; align-content: start; }
.mega-panel__links--tech > .solution-menu-card {
  min-width: 0; padding: 10px 12px;
  background: rgba(var(--solution-rgb), .08);
  border: 1px solid rgba(var(--solution-rgb), .16);
  border-left: 2px solid rgba(var(--solution-rgb), .5);
}
.mega-panel__links--tech > .solution-menu-card:hover,
.mega-panel__links--tech > .solution-menu-card:focus-visible {
  background: rgba(var(--solution-rgb), .15);
  border-color: rgba(var(--solution-rgb), .45);
}
.mega-panel__links--tech > .solution-menu-card > span { color: #aebfcd; line-height: 1.45; }
.mega-panel__supplementary {
  grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 16px; margin-top: 8px; padding-top: 12px; border-top: 1px solid #ffffff24;
}
.mega-panel__supplementary > a {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  min-width: 0; min-height: 44px; padding: 8px 12px; color: #dbe0e5;
  border: 1px solid transparent; background: transparent;
  transition: background var(--motion-fast), border-color var(--motion-fast);
}
.mega-panel__supplementary > a:hover,
.mega-panel__supplementary > a:focus-visible { background: #ffffff08; border-color: #ffffff24; }
.mega-panel__supplementary > a > span { min-width: 0; display: grid; gap: 2px; }
.mega-panel__links--tech .mega-panel__supplementary > a strong { color: #dbe0e5; font-size: .875rem; line-height: 1.4; }
.mega-panel__links--tech .mega-panel__supplementary > a > span > span { color: #aeb8c2; font-size: .75rem; line-height: 1.4; }
.mega-panel__websites svg { flex: 0 0 18px; width: 18px; height: 18px; fill: none; stroke: #b7c0c9; stroke-width: 1.5; }
.mega-panel__supplementary > .mega-panel__warroom { flex-wrap: wrap; }
.mega-panel__supplementary .mega-panel__warroom > small,
.mobile-navigation__supplementary .mobile-navigation__warroom > small {
  flex: none; padding: 4px 6px; border: 1px solid #ffffff30; border-radius: 3px;
  background: transparent; color: #bdc6cf; font-size: .75rem; letter-spacing: .015em; line-height: 1.25;
}
.mobile-navigation details > .solution-menu-card {
  min-height: 44px; margin: 4px 0; padding: 10px 14px; font-size: .875rem; color: #dbe5ed;
  background: rgba(var(--solution-rgb), .08); border-left: 2px solid rgba(var(--solution-rgb), .5);
}
.mobile-navigation details > .solution-menu-card:hover,
.mobile-navigation details > .solution-menu-card:focus-visible { background: rgba(var(--solution-rgb), .15); }
.mobile-navigation__supplementary { margin-top: 12px; padding-top: 8px; border-top: 1px solid #ffffff24; }
.mobile-navigation__supplementary > a {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 12px;
  min-height: 44px; padding: 10px 14px; color: #dbe0e5; font-size: .875rem;
  border-left: 2px solid #ffffff30; background: transparent;
}
.mobile-navigation__supplementary > a:hover,
.mobile-navigation__supplementary > a:focus-visible { background: #ffffff08; }
.mobile-navigation__supplementary .mobile-navigation__websites > span { display: grid; gap: 2px; min-width: 0; }
.mobile-navigation__supplementary .mobile-navigation__websites small { color: #aeb8c2; font-size: .75rem; line-height: 1.4; }
/* Webdesign remains supplementary, with its own restrained iris accent. */
.mega-panel__supplementary > .mega-panel__websites,
.mobile-navigation__supplementary > .mobile-navigation__websites {
  border: 1px solid #c5b5ff33; border-left: 2px solid #c5b5ff77; background: #c5b5ff0f;
}
.mega-panel__supplementary > .mega-panel__websites:hover,
.mega-panel__supplementary > .mega-panel__websites:focus-visible,
.mobile-navigation__supplementary > .mobile-navigation__websites:hover,
.mobile-navigation__supplementary > .mobile-navigation__websites:focus-visible {
  border-color: #c5b5ff66; background: #c5b5ff1a;
}
.mega-panel__websites svg { stroke: #c5b5ff; }
.mega-panel__links .websites-nav__heading,
.mobile-navigation__websites .websites-nav__heading {
  display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px;
}
.mobile-navigation__websites .websites-nav__heading strong { font-size: .875rem; font-weight: 650; line-height: 1.4; }
.websites-new-badge {
  display: inline-flex; align-items: center; flex: 0 0 auto; padding: 3px 6px;
  border: 1px solid #6541b53d; border-radius: 3px; background: #6541b50d; color: #6541b5;
  font-family: var(--font-mono); font-size: .75rem; font-weight: 700; letter-spacing: .04em; line-height: 1.2; white-space: nowrap;
}
.site-header .mega-panel__websites .websites-new-badge,
.site-header .mobile-navigation__websites .websites-new-badge {
  border-color: #c5b5ff55; background: #c5b5ff14; color: #d7ccff; line-height: 1.2;
}
.technology-catalog > a { background: color-mix(in srgb, var(--brand) 5%, #fff); }
.technology-catalog > a:hover,
.technology-catalog > a:focus-visible { background: color-mix(in srgb, var(--brand) 8%, #fff); }
.website-discovery {
  display: flex; align-items: center; justify-content: space-between; gap: 20px 32px;
  padding: 20px 24px; margin-top: 24px; border: 1px solid #6541b526; border-left: 2px solid #6541b566; background: #6541b506;
}
.website-discovery > div { max-width: 650px; min-width: 0; }
.website-discovery__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.website-discovery .system-label { color: #6541b5; font-size: .75rem; letter-spacing: .08em; }
.website-discovery h2 { margin: 8px 0 6px; color: #28323b; font-size: 1.25rem; line-height: 1.3; letter-spacing: -.02em; }
.website-discovery p { margin: 0; color: #535e68; font-size: 1rem; line-height: 1.6; }
.website-discovery__link {
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 44px; padding: 10px 14px; border: 1px solid #6541b54d; border-radius: 3px;
  color: #6541b5; background: transparent; font-size: .875rem; font-weight: 650; line-height: 1.4;
  transition: background var(--motion-fast), border-color var(--motion-fast);
}
.website-discovery__link:hover { border-color: #6541b580; background: #6541b508; }
.website-discovery__link svg { flex: 0 0 18px; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.websites-page { overflow: visible; }
:where(a, button, summary, input, select, textarea):focus-visible { outline: 3px solid #148ed0; outline-offset: 4px; }
.site-header :where(a,button,summary):focus-visible { outline-color: #78d8ff; }
.motion-controls { padding-block: 8px 28px; }
.motion-controls button { min-height: 44px; padding: 8px 12px; border: 1px solid #55778b; border-radius: 3px; color: #c9e5f5; background: transparent; font: inherit; font-size: .875rem; cursor: pointer; }
.motion-controls button:disabled { cursor: default; color: #a1b4bf; }
.mail-fallback { scroll-margin-top: calc(var(--header-height) + 24px); }
.mail-fallback__gmx-note { margin-top: 16px; font-size: .875rem; line-height: 1.6; }
html[data-motion="paused"] *, html[data-motion="paused"] *::before, html[data-motion="paused"] *::after { animation-play-state: paused !important; scroll-behavior: auto !important; }
html[data-motion="paused"] .system-flow.is-started :is(.system-flow__panel,.system-flow__glyph,.system-flow__port) { opacity: 1; transform: none; }
html[data-motion="paused"] .video-security-feature img { transform: none; }
html[data-motion="paused"] .security-network__core { transform: translate(-50%, -50%); }
html[data-motion="paused"] .security-network__status { transform: none; }
html[data-motion="paused"] .security-network__pointer-focus { opacity: 0; }
html[data-motion="paused"] .video-security-page .video-security-feature:hover img { transform: none !important; transition: none; }
@media (max-width: 1100px) {
  .website-discovery { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 720px) {
  .technology-filter__bar { flex-wrap: wrap; overflow: visible; }
  .technology-filter__bar button { min-height: 44px; }
  .website-discovery { gap: 16px; padding: 18px 16px; }
  .website-discovery__link { white-space: normal; max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* Diagram labels have a readable minimum; descriptive copy remains larger. */
.solution-process-graphic__head span,
.solution-process-graphic__head small,
.solution-process-terminal small,
.solution-process-motif small,
.solution-process-message__preview span,
.solution-process-message__preview b,
.solution-process-sources span,
.solution-process-triage small,
.solution-process-triage span,
.solution-process-incident__status,
.solution-process-matrix__axes,
.solution-process-filter__gate,
.solution-process-loop__core small,
.solution-process-response,
.solution-process-step__index,
.manufacturer-signature__meta > span,
.manufacturer-signature__meta > small,
.manufacturer-signature__legend span,
.manufacturer-map__map-label,
.manufacturer-map__inputs > small,
.manufacturer-map__result > small,
.manufacturer-map__core small,
.manufacturer-map__vault > small,
.manufacturer-map__cycle-core small,
.manufacturer-map__monitoring-core small,
.manufacturer-map__gateway small,
.manufacturer-map__inputs span,
.manufacturer-map__lane > span,
.manufacturer-map__gate > span,
.manufacturer-map__rail > span,
.manufacturer-map__capabilities b,
.manufacturer-map__handoff small,
.manufacturer-map__response-path > small,
.manufacturer-map__lifecycle-track > small,
.manufacturer-map__intersection small {
  font-size: .75rem; letter-spacing: .025em; line-height: 1.4;
}
.solution-process-terminal > span,
.solution-process-steps li p,
.manufacturer-signature__legend li,
.manufacturer-map__result > span {
  font-size: .875rem; line-height: 1.55;
}
.solution-process-steps li strong,
.manufacturer-map__capabilities strong,
.manufacturer-map__lane > strong,
.manufacturer-map__gate > strong,
.manufacturer-map__result > strong { font-size: .9375rem; line-height: 1.3; }
.manufacturer-map__core strong,
.manufacturer-map__cycle-core strong,
.manufacturer-map__gateway strong { font-size: .8125rem; line-height: 1.3; letter-spacing: .015em; }
.solution-process-step__index { white-space: nowrap; min-width: 30px; }
.solution-process-incident__status span { font-size: .75rem; }
.solution-process-graphic__head { min-height: 70px; flex-wrap: wrap; gap: 10px 20px; }
.solution-process-graphic::after { top: 69px; }
.solution-process-map { overflow: visible; }
.manufacturer-map__inputs span,
.manufacturer-map__capabilities strong,
.manufacturer-map__gate > strong,
.manufacturer-map__lane > strong { overflow-wrap: anywhere; hyphens: auto; }

/* The IT flow uses content-sized rows; status and connector lanes are reserved. */
.system-flow { width: min(100%, 460px); height: auto; padding: 20px 18px; --flow-gap: 12px; }
.system-flow__meta { position: relative; inset: auto; flex-wrap: wrap; gap: 10px; font-size: .75rem; letter-spacing: .025em; }
.system-flow__head-check { display: none; }
.system-flow__head-active { position: static; animation: none; opacity: 1; transform: none; }
.system-flow ol { position: relative; inset: auto; margin-top: 20px; }
.system-flow li { height: auto; min-height: 82px; }
.system-flow__panel { min-height: 82px; height: 100%; grid-template-columns: 24px 30px minmax(0, 1fr); gap: 8px; padding: 12px; }
.system-flow__index { font-size: .75rem; }
.system-flow li strong { font-size: .875rem; letter-spacing: 0; line-height: 1.3; }
.system-flow li small { font-size: .75rem; line-height: 1.4; margin-top: 5px; }
.system-flow__link { height: calc(100% + var(--flow-gap)); }

.video-survey__head span,
.video-survey__head small,
.video-survey__head strong,
.video-survey__camera-id,
.video-survey__coverage-state,
.video-survey__foot,
.video-architecture__head > div span,
.video-architecture__head > div strong,
.video-architecture__head-state,
.video-architecture__segment-label,
.video-architecture__camera small,
.video-architecture__camera > div > span,
.video-architecture__event span,
.video-architecture__event strong,
.video-architecture__core > small,
.video-architecture__core > span:not(.video-architecture__core-ring):not(.video-architecture__core-icon),
.video-architecture__gate small,
.video-architecture__access > span,
.video-architecture__access small,
.video-architecture__legend,
.video-architecture__mobile li > span { font-size: .75rem; letter-spacing: .025em; line-height: 1.4; }
.video-architecture__mobile small { font-size: .875rem; }
.video-architecture__head { flex-wrap: wrap; gap: 12px 24px; }
.video-architecture__event { min-width: 0; width: 100%; }
.video-security-page .video-architecture__core > .video-architecture__event {
  min-height: 62px; padding: 12px 4px; border-radius: 0; border: 0;
  border-top: 1px solid #66cdec66; background: transparent; animation-name: recorder-event-signal;
}
.video-security-page .video-architecture__core > .video-architecture__event :is(span,strong) {
  font-size: .75rem; line-height: 1.4; letter-spacing: .01em;
}
@keyframes recorder-event-signal { 0%,22%,60%,100% { opacity: .7; } 30%,48% { opacity: 1; } }
.video-survey__head { flex-wrap: wrap; gap: 8px; }
.video-survey__coverage-state { white-space: normal; max-width: 110px; }
.video-survey__metrics strong { font-size: 1rem; }
.video-survey__metrics span { font-size: .75rem; }
.video-survey__coverage-state, .video-survey__camera-id { display: none; }
.video-survey__label { font-size: 13px; letter-spacing: .015em; }
.video-survey__angle { font-size: 14px; }
.manufacturer-signature__legend li p { font-size: .875rem; line-height: 1.55; }
.manufacturer-signature__legend li strong { font-size: .9375rem; line-height: 1.3; }
.warroom-role small, .warroom-role > span { font-size: .75rem; line-height: 1.4; }
.video-security-page .video-architecture__mobile li > span { font-size: .75rem; }
.video-security-page .video-architecture__mobile small { font-size: .875rem; }

.warroom-exercise__head > span,
.warroom-exercise__head > strong,
.warroom-exercise__head > small,
.warroom-exercise__status,
.warroom-exercise__timeline time,
.warroom-exercise__timeline li > span,
.warroom-exercise__legend span { font-size: .75rem; letter-spacing: .025em; }
.warroom-exercise__timeline strong,
.warroom-exercise__legend strong { font-size: .875rem; line-height: 1.4; }
.architecture-diagram > span, .architecture-diagram > small { font-size: .75rem; }
.architecture-diagram > strong { font-size: .875rem; }

.protection-scroll__core small, .protection-scroll__counter, .protection-scroll__telemetry,
.security-lifecycle-map__node-copy strong { font-size: .75rem; letter-spacing: .015em; }
.protection-scroll__core strong { font-size: .875rem; line-height: 1.3; }
.protection-scroll__telemetry { flex-wrap: wrap; gap: 10px; }
.protection-scroll__telemetry > span { opacity: 1; color: #a1bfce; }
.protection-scroll__telemetry > span.is-active { color: #87e2ff; }
.home-hero--refined .security-network--convergence .security-network__core > small { text-align: center; }
.home-hero--refined .security-network--convergence .security-network__core-kicker,
.home-hero--refined .security-network--convergence .security-network__core > small,
.home-hero--refined .security-network--convergence .security-network__status,
.home-hero--refined .security-network--convergence .security-network__protocol { font-size: .75rem; letter-spacing: .015em; line-height: 1.3; }
.home-hero--refined .security-network--convergence .security-network__core > strong { font-size: 1rem; }

@media (max-width: 720px) {
  .video-survey__label { display: none; }
  .system-flow li:nth-child(n) { margin-inline: 0; --flow-shift: 0px; }
  .system-flow__link { width: 0; }
  .system-flow__panel { min-height: 88px; }
  .solution-process-graphic__head { align-items: flex-start; }
  .video-architecture__legend { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .home-hero--refined .security-network--convergence .security-network__core { width: 144px; height: 144px; }
  .home-hero--refined .security-network--convergence .security-network__protocol { font-size: .75rem; letter-spacing: 0; }
}

/* Display text breaks at spaces or explicitly chosen compound boundaries. */
body #main-content :is(h1,h2,h3,h4,summary,.button,.text-link) {
  -webkit-hyphens: manual;
  hyphens: manual;
  overflow-wrap: normal;
  word-break: normal;
}
body #main-content :is(.protection-scroll__steps strong,.security-lifecycle-map__node-copy strong) {
  -webkit-hyphens: manual;
  hyphens: manual;
  overflow-wrap: normal;
  word-break: normal;
}
@media (max-width: 390px) {
  body #main-content .inner-hero__copy h1 { font-size: clamp(2.15rem, 11vw, 2.68rem); line-height: 1.06; }
}

/* Reserve space for complete map labels before optional icons and metadata. */
.security-lifecycle-map { container-type: inline-size; }
.security-lifecycle-map__node-copy small { font-size: .5625rem; line-height: 1.35; }
.security-lifecycle-map__node--internet { width: clamp(92px, 17%, 120px); }
.security-lifecycle-map__node-copy { overflow: visible; }
.security-lifecycle-map__node-copy strong { overflow: visible; }
.security-lifecycle-map__zones { font-size: .5625rem; letter-spacing: .02em; }
@container (max-width: 620px) {
  .security-lifecycle-map__node-icon,
  .security-lifecycle-map__node-copy small { display: none; }
  .security-lifecycle-map__node { min-height: 44px; padding: 8px 10px; justify-content: center; text-align: center; }
  .security-lifecycle-map__node-copy strong { font-size: .75rem; }
}
@media (max-width: 520px) {
  .security-lifecycle-map__node--internet { width: min(40%,124px); }
}
body #main-content :is(.manufacturer-map__capabilities,.manufacturer-map__lane,.manufacturer-map__gate) strong {
  hyphens: manual;
  overflow-wrap: normal;
}
/* Direction follows the actual diagram width, including narrow desktop columns. */
.manufacturer-map__response-path,
.manufacturer-map__lifecycle-track { container-type: inline-size; }
@container (max-width: 580px) {
  .manufacturer-map--response-vector .manufacturer-map__vector,
  .manufacturer-map--device-lifecycle .manufacturer-map__timeline { grid-template-columns: minmax(0,1fr); gap: 14px; }
  .manufacturer-map--response-vector .manufacturer-map__vector li,
  .manufacturer-map--device-lifecycle .manufacturer-map__timeline li { grid-template-columns: 34px minmax(0,1fr); text-align: left; align-content: center; place-items: center start; min-height: 72px; }
  .manufacturer-map--response-vector .manufacturer-map__vector li:not(:last-child)::after,
  .manufacturer-map--device-lifecycle .manufacturer-map__timeline li:not(:last-child)::after { width: 1px; height: 14px; top: 100%; left: 50%; }
  .manufacturer-map--response-vector .manufacturer-map__vector li:not(:last-child)::before,
  .manufacturer-map--device-lifecycle .manufacturer-map__timeline li:not(:last-child)::before { top: calc(100% + 6px); left: calc(50% - 3px); transform: rotate(135deg); }
  .manufacturer-map--response-vector .manufacturer-map__vector li > i,
  .manufacturer-map--device-lifecycle .manufacturer-map__timeline li > i { animation-name: manufacturer-stage-pulse-y; inset: auto auto -4px 50%; }
}
