/* Homepage editorial layer. Deliberately excludes the frozen network section. */
.risk-hero { display:grid; grid-template-columns:1.12fr .88fr; gap:80px; align-items:center; padding-block:112px 128px; }
.risk-hero-copy { max-width:650px; }
.risk-hero h1 { font-size:clamp(46px,4.8vw,72px); margin-block:30px 32px; line-height:1.04; letter-spacing:-.055em; }
.risk-hero .lead { font-size:clamp(20px,1.6vw,24px); line-height:1.5; max-width:570px; }
.risk-hero-copy>p:not(.eyebrow):not(.lead):not(.risk-stage) { max-width:560px; color:var(--muted); }
.risk-stage { display:flex; gap:9px; align-items:center; font-size:13px; margin-block:26px 18px; }
.risk-stage>span { width:6px; height:6px; border-radius:50%; background:var(--accent); flex-shrink:0; }
.risk-cost-preview { margin:0; border:1px solid var(--border); border-top:2px solid var(--accent); padding:30px; background:var(--surface); box-shadow:0 20px 48px -32px #20262240; }
.risk-cost-preview table { width:100%; border-collapse:collapse; text-align:left; font-variant-numeric:tabular-nums; }
.risk-cost-preview caption { text-align:left; font-size:29px; letter-spacing:-.035em; line-height:1.2; padding-block:14px 32px; }
.risk-cost-preview th,.risk-cost-preview td { padding:24px 10px; border-bottom:1px solid var(--border); }
.risk-cost-preview th:first-child { padding-left:0; }
.risk-cost-preview thead th { font-size:12px; font-weight:400; color:var(--muted); vertical-align:bottom; }
.risk-cost-preview tbody th { font-size:22px; font-weight:500; }
.risk-cost-preview small { display:block; font-size:12px; color:var(--muted); font-weight:400; }
.risk-cost-preview td { font-size:clamp(18px,1.8vw,27px); white-space:nowrap; letter-spacing:-.035em; }
.risk-cost-preview td:last-child { font-weight:600; color:var(--text); background:#ffffff85; }
.risk-cost-preview figcaption { padding-block:20px; font-size:12px; color:var(--muted); }
.risk-cost-preview .text-link { font-size:13px; }
.risk-section { padding-block:120px; }
.risk-section-heading { margin-bottom:52px; max-width:900px; }
.risk-section h2 { font-size:clamp(34px,3.6vw,52px); line-height:1.1; }
.risk-section-heading .intro { max-width:700px; }
.risk-section .eyebrow { margin-bottom:24px; }
.risk-signal-map { display:grid; grid-template-columns: .8fr 1.55fr .85fr; gap:40px; align-items:center; margin:0; padding:40px 0 24px; border-block:1px solid #bdbfb5; }
.risk-signal-source,.risk-signal-result { display:flex; flex-direction:column; gap:18px; position:relative; }
.risk-signal-source>strong,.risk-signal-result>strong { font-size:25px; font-weight:500; line-height:1.3; letter-spacing:-.025em; }
.risk-signal-source>span:last-child,.risk-signal-result>span:last-child { font-size:14px; color:var(--muted); }
.risk-signal-register { margin:0; border-inline:1px solid #b1a17b; padding:0 22px; position:relative; }
.risk-signal-register::before,.risk-signal-register::after { content:''; width:40px; height:1px; background:#b1a17b; position:absolute; top:50%; }
.risk-signal-register::before { right:100%; }.risk-signal-register::after { left:100%; }
.risk-signal-register>div { padding:20px 0; border-bottom:1px solid var(--border); }
.risk-signal-register>div:last-child { border-bottom:0; }
.risk-signal-register dt { font-size:14px; font-weight:600; display:flex; gap:12px; }
.risk-signal-register dt span { color:var(--warning); font-size:11px; font-variant-numeric:tabular-nums; }
.risk-signal-register dd { margin:5px 0 0 27px; font-size:14px; color:var(--muted); }
.risk-signal-map figcaption { grid-column:1/-1; padding-top:0; border:0; font-size:12px; color:var(--muted); }
.risk-fragmentation { display:grid; grid-template-columns:1fr 1fr; gap:72px; padding-top:64px; }
.risk-fragmentation h3 { font-size:clamp(27px,2.6vw,38px); max-width:510px; }
.risk-fragmentation p { color:var(--muted); }
.risk-question { font-size:clamp(29px,3.2vw,46px); letter-spacing:-.035em; line-height:1.25; max-width:1000px; border-left:2px solid var(--accent); padding-left:30px; margin:38px 0 0; }
.risk-impact-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:72px; align-items:start; }
.risk-impact-layout>* { min-width:0; }
.risk-impact-copy { padding-top:18px; }
.risk-evidence-note { font-size:14px; color:var(--muted); border-left:2px solid var(--accent); padding-left:20px; margin-block:28px; }
.risk-simulator .cost-view { margin:0; }
.risk-method { background:var(--primary); color:#f5f4ef; }
.risk-method .eyebrow { color:#d0b36b; }
.risk-method .intro { color:#d2d6cf; }
.risk-process { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); }
.risk-process li { padding:26px 20px 0 0; border-top:1px solid #737970; position:relative; min-width:0; }
.risk-process li::before { content:''; width:6px; height:6px; background:#d0b36b; position:absolute; top:-4px; left:0; border-radius:50%; }
.risk-process li:not(:last-child)::after { content:'→'; position:absolute; top:-16px; right:20px; background:var(--primary); padding-inline:8px; color:#d0b36b; }
.risk-step-number { color:#d0b36b; font-size:34px; font-family:Georgia,serif; line-height:1.2; }
.risk-process h3 { font-size:19px; letter-spacing:-.02em; margin-block:24px 14px; line-height:1.3; }
.risk-process p { font-size:14px; line-height:1.5; margin-bottom:12px; }
.risk-process small { display:block; font-size:13px; color:#c2c8c0; line-height:1.6; }
.risk-method-note { font-size:13px; color:#c2c8c0; max-width:850px; margin:48px 0 0; }
.risk-distinction { display:flex; gap:20px; align-items:center; flex-wrap:wrap; font-size:clamp(22px,2.5vw,35px); letter-spacing:-.035em; line-height:1.3; padding-block:28px; border-block:1px solid var(--border); margin-block:40px; }
.risk-distinction>span[aria-hidden] { color:var(--accent); }
.risk-context-copy,.risk-context-comparison,.risk-validation,.risk-purpose { display:grid; grid-template-columns:1fr 1fr; gap:72px; }
.risk-context-copy { color:var(--muted); }
.risk-context-comparison { margin-block:26px; gap:0; background:var(--surface); }
.risk-context-comparison>div { padding:36px; border-top:2px solid #bdbfb5; }
.risk-context-comparison>div+div { border-left:1px solid var(--border); border-top-color:var(--accent); }
.risk-context-comparison h3 { font-size:27px; margin-top:20px; }
.risk-context-comparison p { margin-bottom:0; font-size:15px; }
.risk-action-layout { align-items:start; }
.risk-action-dossier dl { margin:0; }
.risk-action-dossier dl>div { border-top:1px solid var(--border); padding:22px 0; }
.risk-action-dossier dt { font-size:14px; font-weight:600; }
.risk-action-dossier dd { margin:7px 0 0; font-size:15px; color:var(--muted); }
.risk-action-layout .timeline-panel { background:#fff; }
.risk-check-layout { display:grid; grid-template-columns:1fr 1fr; gap:72px; }
.risk-check-layout h3 { font-size:25px; }
.risk-check-steps { list-style:none; padding:0; counter-reset:check; }
.risk-check-steps li { counter-increment:check; display:grid; grid-template-columns:28px 1fr; gap:16px; padding-block:15px; border-bottom:1px solid var(--border); }
.risk-check-steps li::before { content:'0' counter(check); color:var(--warning); font-size:12px; padding-top:4px; }
.risk-check-output { padding:30px 36px; border-top:2px solid var(--accent); background:#fff; }
.risk-check-output ul { list-style:none; padding:0; margin-block:26px; }
.risk-check-output li { padding-block:12px; border-bottom:1px solid var(--border); }
.risk-check-contact { display:flex; align-items:center; gap:28px; margin-top:42px; }
.risk-check-contact p { font-size:13px; color:var(--muted); margin:0; max-width:420px; }
.risk-purpose>div { border-top:1px solid var(--border); padding-top:32px; }
.risk-purpose h2 { font-size:clamp(28px,2.6vw,37px); }
.risk-purpose p:last-child { color:var(--muted); margin:0; }
.risk-commercial { padding-block:0 40px; }
.risk-pricing { border-block:1px solid var(--border); padding-block:12px; }
.risk-pricing summary { padding-block:12px; cursor:pointer; min-height:44px; font-size:14px; }
.risk-pricing[open]>p { padding-top:25px; max-width:760px; }
.risk-pricing summary:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.risk-final { border-top:1px solid var(--border); padding-block:88px 112px; }
.risk-final h2 { max-width:1000px; font-size:clamp(36px,4.5vw,64px); }
/* Executive-report hierarchy: consistent rules, section indexes and readable measure. */
.risk-hero-copy>p:not(.lead):not(.eyebrow) { line-height:1.75; }
.risk-hero .button { padding-inline:26px; }
.risk-section-heading>.eyebrow { display:flex; align-items:center; gap:16px; }
.risk-section-heading>.eyebrow::after { content:''; height:1px; width:64px; background:var(--accent); opacity:.65; }
.risk-method .risk-section-heading>.eyebrow::after { background:var(--gold); }
.risk-section-heading h2 { max-width:850px; }
.risk-signal-source .micro,.risk-signal-result .micro { color:var(--warning); }
.risk-signal-result { border-top:2px solid var(--accent); padding-top:24px; }
.risk-impact-copy>p:not(.eyebrow):not(.intro) { max-width:510px; }
.risk-simulator { border-top:2px solid var(--accent); box-shadow:0 24px 56px -40px #20262250; }
.risk-action-dossier>.micro { margin-bottom:28px; }
#supplier-reality-check { background:var(--surface); padding:64px; margin-block:40px; border-top:2px solid var(--accent); }
.risk-check-contact { border-top:1px solid #c9cbbf; padding-top:32px; }
.risk-validation { align-items:start; }
.risk-validation>.risk-section-heading { margin-bottom:0; }
.risk-final .eyebrow { color:var(--warning); }
@media(min-width:1101px) {
  .risk-method .risk-section-heading { display:grid; grid-template-columns:1.3fr 1fr; gap:0 64px; max-width:none; margin-bottom:72px; }
  .risk-method .risk-section-heading>.eyebrow { grid-column:1/-1; }
  .risk-method .risk-section-heading>h2 { margin:0; }
  .risk-method .risk-section-heading>.intro { align-self:end; margin:0; max-width:450px; }
}
@media(max-width:1100px) {
  .risk-hero { gap:40px; padding-block:72px 90px; }.risk-hero h1 { font-size:clamp(40px,4.5vw,55px); }
  .risk-signal-map { gap:26px; grid-template-columns:.75fr 1.5fr .85fr; }.risk-signal-register { padding-inline:16px; }.risk-signal-register::before,.risk-signal-register::after { width:26px; }
  .risk-signal-source>strong,.risk-signal-result>strong { font-size:21px; }.risk-process { grid-template-columns:repeat(3,1fr); row-gap:40px; }
  .risk-impact-layout,.risk-fragmentation,.risk-context-copy,.risk-validation,.risk-purpose,.risk-check-layout { gap:40px; }
}
@media(max-width:760px) {
  .risk-hero { grid-template-columns:1fr; gap:48px; padding-block:52px 72px; }.risk-hero h1 { font-size:clamp(33px,7.9vw,54px); }.risk-hero-copy { max-width:none; }
  .risk-cost-preview { max-width:580px; width:100%; padding:24px 20px; }.risk-cost-preview td { font-size:22px; padding-inline:8px; }.risk-cost-preview caption { font-size:25px; }
  .risk-section { padding-block:76px; }.risk-section-heading { margin-bottom:36px; }.risk-section h2 { font-size:clamp(32px,7.4vw,44px); }
  .risk-signal-map { grid-template-columns:1fr; gap:28px; }.risk-signal-source,.risk-signal-result { gap:12px; max-width:500px; }
  .risk-signal-register { margin-block:10px; padding-left:22px; border-right:0; }.risk-signal-register::before,.risk-signal-register::after { width:1px; height:25px; left:-1px; right:auto; }
  .risk-signal-register::before { top:-25px; }.risk-signal-register::after { top:100%; }
  .risk-fragmentation,.risk-impact-layout,.risk-context-copy,.risk-context-comparison,.risk-validation,.risk-purpose,.risk-check-layout { grid-template-columns:1fr; gap:28px; }
  .risk-fragmentation { padding-top:44px; }.risk-fragmentation h3 { margin-bottom:0; }.risk-question { padding-left:20px; margin-top:26px; }
  .risk-process { grid-template-columns:1fr; gap:0; margin-left:4px; }.risk-process li { border-top:0; border-left:1px solid #737970; padding:0 0 30px 30px; }
  .risk-process li:last-child { padding-bottom:0; }.risk-process li::before { left:-4px; top:7px; }.risk-process li:not(:last-child)::after { content:none; }.risk-process h3 { font-size:23px; margin-block:8px; }.risk-process p { margin-bottom:6px; }
  .risk-context-comparison { gap:0; }.risk-context-comparison>div+div { border-left:0; border-top:1px solid var(--border); }.risk-context-comparison>div { padding:26px; }
  .risk-distinction { flex-direction:column; align-items:flex-start; gap:10px; font-size:27px; }
  #supplier-reality-check { padding:36px 24px; margin-block:24px; }
  .risk-check-output { padding:24px; }.risk-check-contact { align-items:flex-start; flex-direction:column; gap:16px; }.risk-check-contact .button { max-width:100%; }
  .risk-final .button-row { align-items:stretch; }.risk-final .button { text-align:center; }.risk-commercial { padding-bottom:30px; }
}
