/* ISO/IEC 42001 page — hero visual */
.i42-vis { max-width: 600px; margin-inline: auto; }
.i42-orbit { fill: none; stroke: rgba(183,156,251,.22); stroke-dasharray: 2 6; }
.i42-spoke { stroke: rgba(255,255,255,.07); }
.i42-node { fill: #131D33; stroke: #B79CFB; stroke-width: 1.4; animation: i42pulse 3.6s ease-in-out infinite; }
.i42-lbl { font: 500 10.5px var(--mono); fill: #AEB9CB; letter-spacing: .02em; }
.i42-ring { fill: rgba(139,92,246,.05); stroke: rgba(255,255,255,.06); }
.i42-pdca { fill: none; stroke-width: 7; stroke-linecap: round; stroke: rgba(183,156,251,.35); }
.i42-pdca--0 { stroke: #5B9BFF; }
.i42-pdca--1 { stroke: #B79CFB; }
.i42-pdca--2 { stroke: rgba(183,156,251,.55); }
.i42-pdca--3 { stroke: rgba(91,155,255,.55); }
.i42-pdca-t { font: 600 9px var(--sans); letter-spacing: .16em; text-transform: uppercase; fill: #EDF1F7; }
.i42-card { fill: rgba(10,16,32,.85); stroke: rgba(183,156,251,.6); }
.i42-card-t { font: 600 9px var(--mono); letter-spacing: .14em; fill: #B79CFB; }
.i42-bar { fill: rgba(255,255,255,.14); }
.i42-bar--v { fill: #5B9BFF; }
.i42-dot { fill: #5FD0A0; animation: i42pulse 2.4s ease-in-out infinite; }
@keyframes i42pulse { 50% { opacity: .35; } }
@media (max-width: 560px) { .i42-lbl { font-size: 12px; } }

/* intro: statement + facts */
.i42-intro { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 6vw, 96px); align-items: end; }
.i42-intro h2 { max-width: 15ch; }
.i42-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: clamp(48px, 6vw, 88px) 0 0; border-top: 1px solid var(--ink); }
.i42-facts > div { padding: 26px 24px 0 0; display: grid; gap: 10px; align-content: start; }
.i42-facts > div + div { padding-left: 24px; border-left: 1px solid var(--line); }
.i42-facts dt { order: 2; font: 600 .72rem/1.2 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--violet-ink); }
.i42-facts dd { order: 1; margin: 0; font: 600 clamp(3.2rem, 2rem + 4vw, 6rem)/.9 var(--sans); letter-spacing: -.05em; color: var(--ink); }
.i42-facts p { order: 3; font-size: .95rem; color: var(--muted); max-width: 30ch; }
.i42-facts p em { font-style: normal; color: var(--violet-ink); }
@media (max-width: 760px) {
  .i42-intro { grid-template-columns: 1fr; }
  .i42-facts { grid-template-columns: 1fr; }
  .i42-facts > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); margin-top: 24px; }
}

/* standard section on night */
.i42-std { background: var(--night); }
.i42-std .req { background: rgba(255,255,255,.03); border-color: var(--line-dark); border-radius: 0; }
.i42-std .req__code { background: transparent; border: 1px solid rgba(183,156,251,.45); color: #CDB8FB; letter-spacing: .06em; border-radius: 0; }
.i42-std .req h3 { color: #fff; }
.i42-std .req p { color: var(--on-dark-2); }

/* industries: one strong line per tab */
.i42-ind { max-width: 40ch; font-size: clamp(1.3rem, 1.05rem + .9vw, 1.9rem); line-height: 1.3; color: var(--ink); letter-spacing: -.02em; }

#mapping .tbl-wrap { position: relative; }
#risks .ucases { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 960px) { #risks .ucases { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { #risks .ucases { grid-template-columns: 1fr; } }
#risks .ucase { border-radius: 0; background: rgba(255,255,255,.03); }
#outcomes .outcomes, #deliverables .deliv__item, .cap { border-radius: 0; }
#outcomes .outcomes { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 960px) { #outcomes .outcomes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { #outcomes .outcomes { grid-template-columns: 1fr; } }
#deliverables .deliv { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 760px) { #deliverables .deliv { grid-template-columns: 1fr; } }
#standard .reqs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 960px) { #standard .reqs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { #standard .reqs { grid-template-columns: 1fr; } }

/* tighter vertical rhythm on this long flagship page */
.sec { padding-block: clamp(45px, 5vw, 74px); }
.shead { margin-bottom: clamp(32px, 4vw, 52px); }
