/* The AI Adoption, /insights/ pages: paragraph spacing and the coded figures.
   Style validated by Alex on 2026-09-24. Every page loads this file with ?v=<n>:
   bump n on every insights page whenever this file changes. */
.security-commitments article>p+p{margin-top:1.15em}
a.report-link{border-radius:0}

/* figure frame */
.fig{margin:34px 0 32px;padding:26px;background:var(--cream);color:var(--navy)}
.fig p{margin:0;font-size:13px;line-height:1.5;color:#1d3557}
.fig .fig-label{margin:0;font-size:13px;font-weight:600;line-height:1.4;color:var(--navy)}
.fig .fig-sub{margin:3px 0 16px;font-size:13px;line-height:1.5;color:#4b5d6c}
.fig ul,.fig ol{list-style:none;margin:0;padding:0}
.fig-split{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fig-panel{background:#fff;padding:20px 20px 16px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* tasks and chips */
.task{padding:12px 0;border-top:1px solid rgba(0,48,73,.1)}
.task:first-child{border-top:0;padding-top:2px}
.task-name{display:block;font-size:14px;font-weight:500;color:var(--navy)}
.chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.chip{display:inline-block;padding:3px 7px;font-size:12px;line-height:1.4;background:var(--cream);color:#1d3557}
.chip.need{background:#fff;color:var(--navy);box-shadow:inset 0 0 0 1px rgba(0,48,73,.25)}
.chip.out{background:transparent;color:#5d7080;text-decoration:line-through;text-decoration-color:rgba(0,48,73,.45);box-shadow:inset 0 0 0 1px rgba(0,48,73,.12)}
.knowledge{background:rgba(183,206,221,.38);padding:14px 14px 12px;margin-bottom:14px}
.knowledge .fig-label{margin-bottom:8px}
.knowledge .chip{background:#fff}

/* status squares */
.status{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:12.5px;color:#1d3557}
.sq{display:inline-block;flex:none;width:10px;height:10px;border:1.5px solid #778da9}
.sq-done{background:var(--azure);border-color:var(--azure)}
.sq-hold{background:var(--navy);border-color:var(--navy)}

/* who can reach what */
.access{width:100%;margin-top:14px;border-collapse:collapse;table-layout:fixed}
.access thead th{padding:0 4px 10px;font-size:12px;font-weight:500;line-height:1.3;color:#1d3557;text-align:center;vertical-align:bottom}
.access thead th:first-child{width:31%}
.access tbody th{padding:9px 8px 9px 0;font-size:13px;font-weight:600;color:var(--navy);text-align:left;border-top:1px solid rgba(0,48,73,.1)}
.access td{padding:9px 4px;text-align:center;border-top:1px solid rgba(0,48,73,.1)}
.cell{display:inline-block;width:18px;height:18px;vertical-align:middle;border:1.5px solid rgba(0,48,73,.22)}
.cell.on{background:var(--navy);border-color:var(--navy)}
.approvals{margin-top:22px;padding-top:18px;border-top:1px solid rgba(0,48,73,.14)}
.approvals ul{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:10px}
.approvals li{display:flex;align-items:center;gap:9px;font-size:13.5px;color:#1d3557}
.tick{position:relative;display:inline-block;flex:none;width:16px;height:16px;border:1.5px solid var(--navy)}
.tick::after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid var(--navy);border-width:0 2px 2px 0;transform:rotate(45deg)}

/* ledgers */
.ledger-head,.ledger li{display:grid;grid-template-columns:1.25fr 1fr 1fr .95fr;gap:12px;align-items:center}
.ledger-head{margin-top:14px;padding-bottom:9px;font-size:12px;color:#4b5d6c}
.ledger li{padding:12px 0;border-top:1px solid rgba(0,48,73,.12);font-size:13.5px;line-height:1.45;color:#1d3557}
.ledger li.flag{margin:0 -10px;padding:12px 10px;background:rgba(183,206,221,.42)}
.ledger-item{font-weight:600;color:var(--navy)}
.ledger-status{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--navy)}
.fig-foot{display:flex;flex-wrap:wrap;gap:6px 8px;margin-top:16px}
.fig-foot span{padding:4px 8px;font-size:12px;line-height:1.4;background:#fff;color:#1d3557}

/* icons (Lucide, inline SVG) */
.ic{display:block;flex:none;width:20px;height:20px}
.ic-tile{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;background:var(--cream);color:var(--navy)}
.ic-tile .ic{width:22px;height:22px}
.ic-tile.sky{background:rgba(183,206,221,.7)}
.ic-tile.navy{background:var(--navy);color:#fff}
.ic-row{display:flex;gap:6px;margin-bottom:16px}
.panel-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.panel-head .fig-sub{margin:1px 0 0}

/* side-by-side facts */
.facts{margin:0}
.facts div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid rgba(0,48,73,.1);font-size:13.5px;line-height:1.4}
.facts dt{color:#4b5d6c}
.facts dd{margin:0;font-weight:600;color:var(--navy);text-align:right}
.plain li{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid rgba(0,48,73,.1);font-size:13.5px;line-height:1.45;color:#1d3557}
.plain li:first-child{border-top:0;padding-top:0}
.plain li .ic{width:18px;height:18px;margin-top:1px;color:var(--navy)}

/* permission steps */
.ladder{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.step{display:flex;flex-direction:column;background:#fff;padding:16px 16px 14px}
.fig .step-title{font-size:14px;font-weight:600;line-height:1.35;color:var(--navy)}
.fig .step-what{margin:4px 0 12px;color:#4b5d6c}
.fig .step-rule{display:flex;align-items:flex-start;gap:7px;margin-top:auto;padding-top:10px;border-top:1px solid rgba(0,48,73,.12);font-size:12.5px;font-weight:500;line-height:1.45}
.step-rule .ic-rule{width:16px;height:16px;margin-top:1px;color:var(--azure)}

/* a session, in order */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px;counter-reset:step}
.steps li{background:#fff;padding:16px 14px;font-size:13.5px;line-height:1.45;color:#1d3557;counter-increment:step}
.steps li::before{content:counter(step);display:block;margin-bottom:12px;font-size:28px;font-weight:500;line-height:1;letter-spacing:-.02em;color:var(--azure)}
.levels{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.levels>div{background:rgba(183,206,221,.38);padding:14px}
.fig .lv{margin-top:4px}

/* skills library mosaic */
.library{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(66px,auto);gap:6px;margin-top:14px}
.library li{display:flex;align-items:flex-end;padding:12px;background:#fff;font-size:13px;font-weight:500;line-height:1.35;color:var(--navy)}
.library li.w{grid-column:span 2}
.library li.s{background:var(--navy);color:#fff}
.library li.k{background:rgba(183,206,221,.6)}

/* what each task needs */
.needs-head,.needs li{display:grid;grid-template-columns:.95fr 1.1fr 1.45fr;gap:14px;align-items:start}
.needs-head{margin-top:14px;padding-bottom:9px;font-size:12px;color:#4b5d6c}
.needs li{padding:14px 0;border-top:1px solid rgba(0,48,73,.12)}
.needs .chips{margin-top:0}
.needs .task-name{font-size:13.5px}
.needs .task-kind{display:block;margin-top:2px;font-size:12px;color:#4b5d6c}

/* the complete route */
.route{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:14px}
.route li{display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:104px;padding:14px 12px;background:#fff;font-size:13px;font-weight:500;line-height:1.35;color:var(--navy)}
.route li.au{background:var(--navy);color:#fff}
.route .loc{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:400;line-height:1.35;color:#4b5d6c}
.route li.au .loc{color:#dce8ef}
.route li.au .sq{border-color:#b7cedd}

/* mosaic map */
.fig-map{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;align-items:end}
.fig-map svg{display:block;width:100%;max-width:440px;height:auto}
.legend li{display:flex;align-items:flex-start;gap:10px;margin-top:10px;font-size:13px;line-height:1.45;color:#1d3557}
.sw{display:inline-block;flex:none;width:12px;height:12px;margin-top:3px}
.sw-land{background:var(--navy)}
.sw-store{background:var(--azure)}
.sw-proc{box-shadow:inset 0 0 0 1.5px var(--azure)}

/* checklists in the running text */
.security-commitments p.q{position:relative;padding-left:32px}
.security-commitments p.q::before{content:"";position:absolute;left:0;top:.5em;width:15px;height:15px;border:1.5px solid var(--navy)}
.security-commitments .check-list{list-style:none;padding-left:0}
.security-commitments .check-list li{position:relative;padding:9px 0 9px 32px}
.security-commitments .check-list li::before{content:"";position:absolute;left:0;top:calc(9px + .45em);width:15px;height:15px;border:1.5px solid var(--navy)}

/* motion: only when the inline script has run; without it everything is visible */
html.fig-js .fig:not(.is-in) [data-a],html.fig-js .fig:not(.is-in) .mc{opacity:0}
html.fig-js .fig:not(.is-in) .cell.on,html.fig-js .fig:not(.is-in) .sq-done,html.fig-js .fig:not(.is-in) .sq-hold{background:transparent;border-color:rgba(0,48,73,.22)}
.fig.is-in [data-a]{animation:figIn .6s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--d,0ms)}
.fig.is-in .mc{animation:figFade .5s ease-out both;animation-delay:var(--d,0ms)}
.fig.is-in .cell.on,.fig.is-in .sq-done,.fig.is-in .sq-hold{animation:figFill .45s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--d,0ms)}
@keyframes figIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes figFade{from{opacity:0}}
@keyframes figFill{from{background-color:transparent;border-color:rgba(0,48,73,.22)}}
@media print{html.fig-js .fig [data-a],html.fig-js .fig .mc{opacity:1}}

@media(max-width:700px){
.fig{padding:18px;margin:28px 0 26px}
.fig-split,.levels,.fig-map{grid-template-columns:1fr}
.fig-panel{padding:16px}
.access thead th{font-size:11px;padding:0 2px 8px}
.access tbody th{font-size:12px}
.cell{width:16px;height:16px}
.ledger-head,.needs-head{display:none}
.ledger li{grid-template-columns:1fr 1fr;gap:4px 12px}
.ledger-item{grid-column:1/-1}
.ledger-status{grid-column:1/-1;margin-top:4px}
.ladder{grid-template-columns:1fr}
.steps{grid-template-columns:1fr 1fr}
.library{grid-template-columns:1fr 1fr}
.needs li{grid-template-columns:1fr;gap:8px}
.route{grid-template-columns:1fr 1fr}
.route li{min-height:0}
.security-commitments p.q,.security-commitments .check-list li{padding-left:28px}
}
