/* Kihan v2 — Concept A. Tokens from Kihan Brand Tokens v1.3. Mobile-first. */
@font-face{font-family:'IBM Plex Sans';src:url('/fonts/IBMPlexSans-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url('/fonts/IBMPlexSans-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url('/fonts/IBMPlexSans-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Serif';src:url('/fonts/IBMPlexSerif-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('/fonts/IBMPlexMono-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}

:root{
  --sumi:#08090C;--graphite:#292B35;--lead:#3E4150;--caption:#5B5F70;
  --indigo:#3449A5;--periwinkle:#6976C5;--mist:#B0B8E4;--reverse-mist:#D7DBEF;
  --washi:#F4F1E8;--panel:#F5F6FB;--rule:#E1E4F0;--rule-soft:#F0F1F7;
  --dark-text:#B7BCD4;--dark-rule:#262A37;--dark-card:#13151C;
  --sans:'IBM Plex Sans',Arial,Helvetica,sans-serif;--serif:'IBM Plex Serif',Georgia,'Times New Roman',serif;--mono:'IBM Plex Mono',Menlo,Consolas,monospace;
  --gutter:20px;--nav-h:56px;--gap:32px;
}
@media (min-width:641px){:root{--gutter:32px;--gap:40px}}
@media (min-width:961px){:root{--gutter:40px;--nav-h:76px;--gap:48px}}

/* Surfaces. Dark is the default: narrative, thesis, product, outcome.
   .band-washi is the light documentation surface: specification, requirements, tables, references.
   Components read these tokens, so each surface sets them once. No pure white on pure black. */
:root,.band-dark{
  --bg:var(--sumi);--heading:#F4F1E8;--text:#D7DBEF;--muted:#B7BCD4;--caption-c:#9A9FB5;
  --accent:#B0B8E4;--link:#C4CAEE;--link-hover:#F4F1E8;
  --card:#13151C;--card-2:#101218;--line:#262A37;--line-soft:#1B1E27;--icon-bg:#1A1D2A;
  --ok-fg:#A9C9B0;--ok-bg:rgba(127,170,137,.16);--hold-fg:#E9C27A;--hold-bg:rgba(214,160,60,.16);--refuse-fg:#F0A89E;--refuse-bg:rgba(217,74,58,.16);
  --na-fg:#9A9FB5;--na-bg:rgba(154,159,181,.12);
  --leading:1.7;
}
.band-washi{
  --bg:var(--washi);--heading:var(--sumi);--text:var(--graphite);--muted:var(--lead);--caption-c:var(--caption);
  --accent:var(--indigo);--link:var(--indigo);--link-hover:var(--sumi);
  --card:#FCFBF7;--card-2:#FCFBF7;--line:#DDD7C6;--line-soft:#E9E4D6;--icon-bg:#EEF0F9;
  --ok-fg:#3D6647;--ok-bg:#E1EDE3;--hold-fg:#8A5300;--hold-bg:#F6EAD2;--refuse-fg:#A8392C;--refuse-bg:#F6E3E0;
  --na-fg:var(--caption);--na-bg:#ECE8DD;
  --leading:1.6;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:calc(var(--nav-h) + 16px);background:var(--bg)}
body{margin:0;font-family:var(--sans);font-size:16px;line-height:var(--leading);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}
@media (min-width:961px){body{font-size:17px}}
img,video{max-width:100%;height:auto}
a{color:var(--link);text-underline-offset:3px}
a:hover{color:var(--link-hover)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
/* Rings on indigo and image grounds must stay visible (≥3:1) */
.cta :focus-visible,.figure :focus-visible{outline-color:#FFFFFF}
[id]{scroll-margin-top:calc(var(--nav-h) + 16px)}
.skip{position:absolute;left:-999px;top:8px;background:var(--indigo);color:#fff;padding:10px 14px;border-radius:6px;z-index:20}
.skip:focus{left:8px;color:#fff}
/* Icons drawn in brand indigo take the surface's accent, so they hold contrast on dark ground. */
[stroke="#3449A5"]{stroke:var(--accent)}
[stroke="#08090C"]{stroke:var(--heading)}
[stroke="#5B5F70"]{stroke:var(--caption-c)}
.lightbox-close [stroke="#08090C"]{stroke:var(--sumi)}

/* Layout */
.wrap{max-width:calc(1200px + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:56px}
.section-tight{padding-block:40px}
@media (min-width:641px){.section{padding-block:72px}}
@media (min-width:961px){.section{padding-block:104px}.section-tight{padding-block:64px}}
.stack{display:flex;flex-direction:column;gap:16px}
.stack-lg{display:flex;flex-direction:column;gap:var(--gap)}
.grid{display:grid;gap:12px}
@media (min-width:641px){.grid{gap:20px}.grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:641px) and (max-width:960px){.grid-3>:last-child:nth-child(odd),.grid-5>:last-child:nth-child(odd){grid-column:1 / -1}}
@media (min-width:961px){.grid{gap:24px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}}
.split{display:grid;gap:24px}
.grid>*,.split>*{min-width:0}
@media (min-width:961px){.split{grid-template-columns:5fr 7fr;gap:48px;align-items:start}.split-eq{grid-template-columns:1fr 1fr}.split-83{grid-template-columns:8fr 4fr;gap:24px;align-items:stretch}.split-48{grid-template-columns:4fr 8fr;gap:40px}.split-end{grid-template-columns:minmax(0,760px) minmax(0,400px);justify-content:space-between;align-items:end;gap:64px}}
.measure{max-width:68ch}
.h-wide{max-width:900px}.h-mid{max-width:820px}
.center .h-wide{margin-inline:auto}
.center{text-align:center}
.center .measure,.center.measure{margin-inline:auto}

/* Bands */
.band-dark,.band-washi{background:var(--bg);color:var(--text)}
.panel{background:var(--card-2);border:1px solid var(--line);border-radius:14px;padding:20px}
@media (min-width:641px){.panel{padding:32px}}
@media (min-width:961px){.panel{padding:44px}}

/* Type */
h1,h2,h3,h4{margin:0;color:var(--heading);font-weight:600;text-wrap:pretty}
h1{text-wrap:balance}
h1{font-size:32px;line-height:1.14;letter-spacing:-.015em}
h1.display{font-size:34px;line-height:1.12}
h2{font-size:27px;line-height:1.18}
h3{font-size:20px;line-height:1.25}
h4,.card h3{font-size:18px;line-height:1.3}
@media (min-width:961px){h1{font-size:46px;line-height:1.1}h1.display{font-size:56px;line-height:1.08;letter-spacing:-.02em}h2{font-size:40px;line-height:1.14;letter-spacing:-.015em}h3{font-size:28px;line-height:1.2}h4,.card h3{font-size:21px}}
p,ul,ol,dl{margin:0}
p,li{color:var(--text)}
strong{color:var(--heading)}
.eyebrow{font-size:14px;font-weight:600;color:var(--accent)}
.lede{font-size:17px;line-height:1.55;color:var(--muted)}
@media (min-width:961px){.lede{font-size:19px}.hero .lede{font-size:20px}}
.small{font-size:15px;line-height:1.5}
.caption{font-size:14px;line-height:1.45;color:var(--caption-c)}
.mono{font-family:var(--mono);font-size:13px}
.num{font-variant-numeric:tabular-nums}
.prose{max-width:68ch}
.prose p,.prose li{line-height:var(--leading)}
.prose h2{margin-top:44px;font-size:27px;line-height:1.2}
.prose h2:first-child{margin-top:0}
.prose h3{margin-top:28px;font-size:20px}
.prose h2+p,.prose h3+p,.prose h2+ul,.prose h3+ul{margin-top:12px}
.prose p+p,.prose p+ul,.prose ul+p,.prose p+ol,.prose ol+p{margin-top:16px}
.prose ul,.prose ol{padding-left:22px}
.prose li+li{margin-top:6px}

/* Lists */
ul.plain,ol.plain{list-style:none;padding:0}
.list-check{list-style:none;padding:0;display:flex;flex-direction:column;gap:12px}
.list-check li{display:flex;gap:12px;align-items:flex-start}
.list-check svg{flex-shrink:0;margin-top:4px}
.list-rows ul{border-top:1px solid var(--line)}
.list-rows li{border-bottom:1px solid var(--line)}
.list-rows a{display:flex;justify-content:space-between;gap:12px;padding:12px 0;text-decoration:none;color:var(--heading);font-weight:600}
.list-rows a span:last-child{color:var(--caption-c);font-size:14px;font-weight:400;text-align:right}
.pairs{display:grid;gap:18px}
.pairs dt{font-size:14px;font-weight:600;color:var(--caption-c)}
.pairs dd{margin:4px 0 0;color:var(--text)}

/* Nav */
.nav{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--line)}
.nav-row{min-height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;min-height:44px}
.brand svg{width:18px;height:24px}
.brand span{font-family:var(--serif);font-size:22px;color:var(--accent);letter-spacing:.01em}
.nav-actions{display:flex;align-items:center;gap:4px;margin-left:auto}
.btn.nav-demo{min-height:40px;padding:8px 12px;font-size:14px}
.nav-menu{display:none;width:44px;height:44px;border:0;background:transparent;align-items:center;justify-content:center;cursor:pointer;margin-right:-10px}
html.js .nav-menu{display:flex}
/* Without JavaScript (or if site.js never loads) the links sit in the flow under the bar; with it they open from the menu button. */
.nav-links{order:3;display:flex;flex-direction:column;width:100%;padding:0 0 12px}
html.js .nav-links{display:none;position:absolute;left:0;right:0;top:var(--nav-h);background:var(--bg);border-bottom:1px solid var(--line);padding:8px var(--gutter) 16px}
html.js .nav-links.is-open{display:flex}
.nav-links a{color:var(--text);text-decoration:none;font-size:16px;padding:12px 0}
.nav-links a:hover{color:var(--heading)}
@media (min-width:961px){
  .brand svg{width:22px;height:29px}.brand span{font-size:26px}
  html.js .nav-menu{display:none}
  .nav-links,html.js .nav-links{order:0;display:flex;position:static;flex-direction:row;align-items:center;gap:32px;width:auto;border:0;padding:0;background:none;margin-left:auto}
  .nav-links a{font-size:15px;padding:0}
  .nav-actions{margin-left:32px}
  .btn.nav-demo{padding-inline:18px;font-size:15px}
}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 22px;border-radius:6px;font-weight:600;font-size:16px;text-decoration:none;border:1px solid transparent;cursor:pointer;font-family:inherit;text-align:center}
.btn-primary{background:var(--indigo);color:#FFFFFF}.btn-primary:hover{background:#2A3B87;color:#FFFFFF}
.btn-secondary{background:transparent;color:var(--heading);border-color:var(--line)}.btn-secondary:hover{color:var(--heading);border-color:var(--accent)}
.btn-light{background:#FFFFFF;color:var(--sumi)}.btn-light:hover{color:var(--sumi);background:var(--reverse-mist)}
.btn-outline-light{background:transparent;color:#FFFFFF;border-color:rgba(255,255,255,.5)}.btn-outline-light:hover{color:#FFFFFF;border-color:#FFFFFF}
.btn-mist{background:var(--mist);color:var(--sumi)}.btn-mist:hover{color:var(--sumi);background:var(--reverse-mist)}
.actions{display:flex;flex-direction:column;gap:10px}
@media (min-width:641px){.actions{flex-direction:row;flex-wrap:wrap}.center .actions{justify-content:center}}

/* Hero */
.hero{padding-block:40px 32px}
@media (min-width:961px){.hero{padding-block:88px 56px}}
.hero .lede{max-width:720px}
.hero h1{max-width:980px}
.hero.center h1,.hero.center .lede{margin-inline:auto}

/* Chapter index */
.chapters{display:grid;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.chapters a{display:flex;flex-direction:column;gap:4px;padding:16px;text-decoration:none;color:var(--text);border-bottom:1px solid var(--line)}
.chapters a:last-child{border-bottom:0}
.chapters a:hover{background:var(--card)}
.chapters .k{font-size:13px;font-weight:600;color:var(--accent)}
.chapters .t{font-size:17px;font-weight:600;color:var(--heading)}
.chapters .s{font-size:14px;color:var(--caption-c)}
@media (min-width:961px){.chapters{grid-template-columns:repeat(var(--chapters,4),minmax(0,1fr))}.chapters a{padding:20px 24px;border-bottom:0;border-right:1px solid var(--line)}.chapters a:last-child{border-right:0}}

/* Cards */
.card{border:1px solid var(--line);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--card)}
@media (min-width:641px){.card{padding:24px}}
@media (min-width:961px){.card{padding:32px}}
a.card{text-decoration:none;color:var(--text)}
a.card:hover{border-color:var(--accent);color:var(--text)}
.card .k{font-size:14px;font-weight:600;color:var(--accent)}
.card p{font-size:15px;line-height:1.55;color:var(--muted)}
.stat .n{font-size:32px;line-height:1.05;font-weight:600;color:var(--heading);letter-spacing:-.02em}
.stat .k{color:var(--caption-c);font-weight:500}
.stat .u{font-size:18px;font-weight:500;color:var(--text)}
@media (min-width:961px){.stat .n{font-size:48px}.grid-5 .card{padding:24px}.grid-5 .card h3{font-size:18px}.grid-2>.panel{padding:36px}.grid-2>.panel h3{font-size:22px}}
.rows{display:flex;flex-direction:column}
.rows>div{display:flex;gap:14px;padding:16px 0;border-top:1px solid var(--line-soft)}
.rows>div:first-child{border-top:0;padding-top:0}
.rows>div:last-child{padding-bottom:0}
.rows h3{font-size:18px;line-height:1.3}
.rows .icon{flex-shrink:0;width:40px;height:40px;border-radius:8px;background:var(--icon-bg);display:flex;align-items:center;justify-content:center}
.action-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}
.action-list li{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.action-list .t{font-size:15px;font-weight:600;color:var(--heading)}
.action-list .v{font-size:14px;color:var(--accent);display:flex;align-items:center;gap:6px}

/* Steps */
.steps{list-style:none;padding:0;display:grid;gap:20px}
@media (min-width:961px){.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}}
.steps li{border-top:2px solid var(--periwinkle);padding-top:16px;display:flex;flex-direction:column;gap:6px}
.steps .k{font-size:14px;color:var(--caption-c)}
.steps .t{font-size:18px;font-weight:600;color:var(--heading)}
@media (min-width:961px){.steps .t{font-size:22px}}
.steps p{font-size:15px;line-height:1.55}
.steps-v{display:flex;flex-direction:column;gap:0}
.steps-v li{display:grid;grid-template-columns:48px 1fr;gap:10px;padding:18px 0;border-top:1px solid var(--line)}
.steps-v li:last-child{border-bottom:1px solid var(--line)}
.steps-v .n{font-family:var(--serif);font-size:24px;line-height:1;color:var(--accent)}

/* Outcomes: one colour language across the site. Permitted green, Held amber, Refused red. */
.pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:6px 12px;font-size:14px;font-weight:600;align-self:flex-start}
.pill-ok{background:var(--ok-bg);color:var(--ok-fg)}
.pill-hold{background:var(--hold-bg);color:var(--hold-fg)}
.pill-refuse{background:var(--refuse-bg);color:var(--refuse-fg)}
.pill-na{background:var(--na-bg);color:var(--na-fg)}
.outcome .c{font-size:17px;font-weight:600;color:var(--heading);line-height:1.5}

/* Figures and lightbox */
.figure{margin:0;position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--dark-card)}
.figure img{display:block;width:100%;height:auto}
.figure-crop img{height:220px;width:auto;max-width:none;margin-left:-60px}
@media (min-width:641px){.figure-crop img{height:auto;width:100%;max-width:100%;margin:0}}
.enlarge{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border-radius:6px;background:var(--mist);color:var(--sumi);font-size:14px;font-weight:600;text-decoration:none}
.enlarge:hover{color:var(--sumi);background:var(--reverse-mist)}
.lightbox{border:0;padding:0;background:transparent;max-width:min(96vw,1600px);width:auto;overflow:visible}
.lightbox::backdrop{background:rgba(8,9,12,.88)}
.lightbox img{display:block;max-width:100%;max-height:88vh;width:auto;height:auto;border-radius:8px}
.lightbox-close{position:absolute;right:8px;top:8px;width:44px;height:44px;border:0;border-radius:50%;background:#FFFFFF;color:var(--sumi);cursor:pointer;display:flex;align-items:center;justify-content:center}

/* Tables */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--card)}
table{width:100%;border-collapse:collapse;font-size:15px}
table.wide{min-width:720px}
@media (max-width:640px){caption,thead th,td,tbody th{padding-inline:14px}td,tbody th{font-size:14px}td .status{white-space:normal;align-items:flex-start}td .status i{flex-shrink:0;margin-top:6px}}
caption{text-align:left;padding:20px 20px 6px;font-size:18px;font-weight:600;color:var(--heading)}
thead th{text-align:left;padding:12px 20px;font-size:13px;font-weight:600;color:var(--caption-c);border-bottom:1px solid var(--line)}
td{padding:14px 20px;border-bottom:1px solid var(--line-soft);vertical-align:top;color:var(--muted)}
tbody th{text-align:left;padding:14px 20px;border-bottom:1px solid var(--line-soft);vertical-align:top;font-weight:600;color:var(--heading)}
tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}
.status{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.status i{display:inline-block;width:10px;height:10px;border-radius:50%}
.status-available i{background:var(--ok-fg)}
.status-customer i{border:1.5px solid var(--accent);border-radius:2px}

/* Timeline (incidents): a thin red rule marks each disclosure; no red panels. */
.incident{display:grid;gap:6px;padding:20px 0 20px 16px;border-top:1px solid var(--line);box-shadow:inset 2px 0 0 var(--refuse-fg)}
.incident:last-child{border-bottom:1px solid var(--line)}
.incident .d{font-size:14px;color:var(--caption-c)}
.incident .w{font-size:16px;font-weight:600;color:var(--heading)}
.incident .s{font-size:16px;font-weight:600;color:var(--heading)}
.incident p{font-size:15px;line-height:1.55;color:var(--muted)}
@media (min-width:641px){.incident{grid-template-columns:72px 110px 1fr;column-gap:20px}.incident .s,.incident p,.incident .src{grid-column:3}}

/* Where Inktomi would have applied: prevented, detected, outside, each in its own colour. */
.applied{display:flex;flex-direction:column;gap:18px}
.applied>div{display:flex;flex-direction:column;gap:6px;padding-left:16px;border-left:2px solid var(--na-fg)}
.applied .prevented{border-color:var(--ok-fg)}
.applied .detected{border-color:var(--hold-fg)}
.applied .k{font-size:14px;font-weight:600;color:var(--na-fg)}
.applied .prevented .k{color:var(--ok-fg)}
.applied .detected .k{color:var(--hold-fg)}

/* Diagram (deployment) */
.diagram{display:grid;gap:12px}
.diagram .box{border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:var(--card);display:flex;flex-direction:column;gap:2px}
.diagram .box strong{color:var(--heading);font-weight:600}
.diagram .box span{font-size:14px;color:var(--muted)}
.diagram .box-accent{background:var(--indigo);border-color:var(--indigo)}
.diagram .box-accent strong,.diagram .box-accent span{color:#FFFFFF}
.diagram .row{display:grid;gap:8px}
.diagram .arrow{display:flex;justify-content:center}
.diagram .around{display:grid;gap:12px;border-top:1px dashed var(--line);padding-top:14px}
@media (min-width:641px){.diagram .row{grid-template-columns:1fr 32px 1fr 32px 1fr;align-items:center}.diagram .arrow svg{transform:rotate(-90deg)}.diagram .around{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* CTA band */
.cta{background:var(--indigo);border-radius:18px;padding:28px 22px;display:flex;flex-direction:column;gap:20px}
.cta h2{color:#FFFFFF;font-size:24px;line-height:1.2}
.cta p{color:#D7DBEF;font-size:16px;line-height:1.55}
@media (min-width:961px){.cta{flex-direction:row;justify-content:space-between;align-items:center;gap:48px;padding:64px}.cta h2{font-size:38px;line-height:1.15;max-width:640px}.cta p{font-size:18px}}
.cta .actions{flex-shrink:0;flex-direction:column}

/* Vertical rhythm: one --gap between any two top-level blocks.
   Plain blocks use margins, so neighbours share one gap instead of stacking two paddings.
   Bands keep their inner padding and sit edge to edge with each other. */
main>.section:not(.band-dark):not(.band-washi),
main>.section-tight:not(.band-dark):not(.band-washi){padding-block:0;margin-block:var(--gap)}
main>.band-dark,main>.band-washi{margin-block:0}
main>.band-washi+.band-washi{border-top:1px solid var(--line)}
main>.hero{padding-bottom:0;margin-bottom:var(--gap)}
main>nav.wrap{margin-top:calc(40px - var(--gap))}
main>.section-tight.divided+.section-tight.divided{border-top:1px solid var(--line);padding-top:var(--gap)}
/* A run of reference sections on one light surface. Its sections keep the same one-gap rhythm inside it. */
.doc-run{display:flow-root;padding-block:clamp(8px,3vw,48px)}
main>.doc-run>.section,main>.doc-run>.section-tight{padding-block:0;margin-block:var(--gap)}
main>.doc-run>nav{margin-block:var(--gap)}
main>.doc-run>.section-tight.divided+.section-tight.divided{border-top:1px solid var(--line);padding-top:var(--gap)}

/* Footer: the tagline closes every page, set large, above the legal line. */
.footer{border-top:1px solid var(--line);margin-top:var(--gap);padding-block:56px 40px;font-size:14px;color:var(--caption-c)}
.footer .footer-tagline{font-family:var(--serif);font-size:clamp(26px,3.4vw,44px);line-height:1.2;letter-spacing:-.01em;color:var(--heading);margin-bottom:40px}
.footer-row{display:flex;flex-direction:column;gap:16px}
.footer p{color:var(--caption-c)}
.footer a{color:var(--caption-c);text-decoration:none}
.footer a:hover{color:var(--heading)}
.footer-links{display:flex;flex-wrap:wrap;gap:16px 24px;list-style:none;padding:0}
@media (min-width:961px){.footer-row{flex-direction:row;justify-content:space-between;align-items:center}}

/* Phone presentation (Concept A mobile artboard): condensed chapters */
@media (min-width:641px){.only-phone{display:none!important}}
@media (max-width:640px){
  .no-phone{display:none!important}
  .center,.hero.center{text-align:left}
  .center .h-wide,.center .measure,.hero.center h1,.hero.center .lede{margin-inline:0}
  .chapters a{flex-direction:row;align-items:center;gap:10px;padding:14px 16px}
  .chapters .k{font-size:14px;font-weight:400;min-width:10px}
  .chapters .t{font-size:16px;font-weight:500}
  .chapters .s{display:none}
  .chapters .chev{margin-left:auto;flex-shrink:0}
  .panel.split-eq{padding:16px}
  .rows .icon{display:none}
  .rows h3{font-size:16px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .stats>:last-child:nth-child(odd){grid-column:1 / -1}
  .stats .k,.stats p{display:none}
  .stats .n{font-size:28px}
  .stats .u{font-size:13px;font-weight:400;line-height:1.45;color:var(--muted)}
  .steps-compact{gap:14px;counter-reset:step}
  .steps-compact li{border-top:0;border-left:2px solid var(--periwinkle);padding:0 0 0 14px;gap:2px;counter-increment:step}
  .steps-compact .k{display:none}
  .steps-compact .t{font-size:16px}
  .steps-compact .t::before{content:counter(step) ". "}
  .outcome p:not(.c){display:none}
  .outcome .c{font-size:15px;font-weight:400;color:var(--text)}
  .industry-list{gap:0;border-top:1px solid var(--line)}
  .industry-list .card{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:14px 0;background:transparent}
  .industry-list .card h3{font-size:16px;font-weight:500}
  .industry-list .card p{display:none}
  .cta p{display:none}
}

/* Review marker: visible only while <html data-review> is set */
.tbc{display:none}
html[data-review] .tbc{display:inline-block;font-size:12px;font-weight:600;line-height:1.4;color:var(--accent);background:var(--icon-bg);border-radius:4px;padding:1px 6px;vertical-align:middle;margin-left:6px;white-space:nowrap;letter-spacing:0}

/* Video */
.video{margin:0;border-radius:12px;overflow:hidden;background:var(--sumi)}
.video video{display:block;width:100%}

/* Pull quote above the incident list: the stakes, then the dated evidence. */
.pullquote{margin:0;padding-left:24px;border-left:2px solid var(--periwinkle);max-width:900px}
.pullquote blockquote{margin:0}
.pullquote p{font-family:var(--serif);font-size:clamp(20px,2.1vw,27px);line-height:1.45;letter-spacing:-.01em;color:var(--heading)}
.pullquote figcaption{margin-top:12px}
@media(max-width:600px){.pullquote{padding-left:16px}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@font-face{font-family:'IBM Plex Serif';src:url('/fonts/IBMPlexSerif-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
/* The reason for the evidence layer, set apart from the paragraph it introduces. */
.pull{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.2vw,28px);line-height:1.35;letter-spacing:-.01em;color:var(--heading);max-width:30ch}
