
  :root{
    --bg:#FFFFFF; --surface:#FAFAFA; --surface2:#F4F4F2;
    --line:#E6E6E6; --hair:#EDEDED;
    --ink:#1C1C1C; --ink2:#5A5A5A; --ink3:#909090;
    --nav-bg:rgba(255,255,255,.9);
    --c1:#1F5FBF; --c2:#C0761A; --faint:#D8D8D8;
    --display:"DM Sans","Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
    --body:"Space Grotesk","DM Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
    --mono:ui-monospace,"SF Mono","Cascadia Mono",Menlo,Consolas,monospace;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#161616; --surface:#1C1C1C; --surface2:#212121;
      --line:#2C2C2C; --hair:#242424;
      --ink:#EDEDED; --ink2:#A8A8A8; --ink3:#7A7A7A;
      --nav-bg:rgba(22,22,22,.9);
      --c1:#7FB2FF; --c2:#EDA855; --faint:#333333;
    }
  }
  :root[data-theme="dark"]{
    --bg:#161616; --surface:#1C1C1C; --surface2:#212121;
    --line:#2C2C2C; --hair:#242424;
    --ink:#EDEDED; --ink2:#A8A8A8; --ink3:#7A7A7A;
    --nav-bg:rgba(22,22,22,.9);
    --c1:#7FB2FF; --c2:#EDA855; --faint:#333333;
  }

  *{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%}
  body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);
       font-size:17px;line-height:1.68;-webkit-font-smoothing:antialiased;
       transition:background-color .25s ease,color .25s ease}
  .wrap{max-width:1180px;margin:0 auto;padding:0 40px}
  @media(max-width:700px){.wrap{padding:0 22px}}
  a{color:inherit;text-decoration:none}
  .mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
  :focus-visible{outline:2px solid var(--ink);outline-offset:3px}
  @media (prefers-reduced-motion:reduce){*{transition:none!important}}
  .label{font-family:var(--display);font-weight:600;font-size:10.5px;letter-spacing:.22em;
         text-transform:uppercase;color:var(--ink3)}

  /* ── nav ── */
  nav{position:sticky;top:0;z-index:20;background:var(--nav-bg);backdrop-filter:blur(12px);
      border-bottom:1px solid var(--line)}
  .nav-in{display:flex;align-items:center;justify-content:space-between;height:64px;gap:24px}
  .brand{display:flex;align-items:center;gap:12px}
  .mark{display:flex;flex-direction:column;justify-content:space-between;height:20px;width:20px;flex:none}
  .mark i{display:block;height:2.4px;background:currentColor}
  .mark i:nth-child(1){width:100%}.mark i:nth-child(2){width:70%}.mark i:nth-child(3){width:100%}
  .wm{font-family:var(--display);font-weight:600;font-size:12.5px;letter-spacing:.19em;
      text-transform:uppercase;line-height:1.1}
  .wm b{display:block;font-weight:400;font-size:8.5px;letter-spacing:.28em;color:var(--ink3);margin-top:3px}
  .nav-r{display:flex;align-items:center;gap:26px}
  .nav-l{display:flex;gap:26px;font-size:14px;color:var(--ink2)}
  .nav-l a:hover{color:var(--ink)}
  @media(max-width:860px){.nav-l{display:none}}
  .tg{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:2px;cursor:pointer;background:none}
  .tg span{display:grid;place-items:center;width:25px;height:21px;border-radius:999px;color:var(--ink3);
           transition:background-color .18s,color .18s}
  .tg svg{width:12px;height:12px}
  :root:not([data-theme="dark"]) .tg .s{background:var(--surface2);color:var(--ink)}
  :root[data-theme="dark"] .tg .m{background:var(--surface2);color:var(--ink)}
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]):not([data-theme="dark"]) .tg .s{background:transparent;color:var(--ink3)}
    :root:not([data-theme="light"]):not([data-theme="dark"]) .tg .m{background:var(--surface2);color:var(--ink)}
  }

  /* ── hero ── */
  .hero{padding:88px 0 0}
  .hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:64px;align-items:center}
  @media(max-width:960px){.hero-grid{grid-template-columns:1fr;gap:40px}}
  h1{font-family:var(--display);font-weight:600;font-size:clamp(44px,6.4vw,76px);
     letter-spacing:-3px;line-height:.98;margin:22px 0 28px;text-wrap:balance}
  .hero p{font-size:19px;color:var(--ink2);max-width:46ch;margin:0}
  .hero figure{margin:0}
  .hero figcaption{font-family:var(--mono);font-size:10.5px;color:var(--ink3);
                   margin-top:14px;letter-spacing:.04em}
  svg{display:block;width:100%;height:auto}

  /* ── strip ── */
  .strip{margin-top:86px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .strip-in{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;padding:30px 0}
  @media(max-width:760px){.strip-in{grid-template-columns:1fr 1fr;gap:26px}}
  .stat b{display:block;font-family:var(--display);font-weight:600;font-size:34px;
          letter-spacing:-1.4px;line-height:1;margin-top:9px;font-variant-numeric:tabular-nums}

  /* ── sections ── */
  section{padding:92px 0}
  .sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;
            margin-bottom:44px;border-bottom:1px solid var(--line);padding-bottom:16px}
  .sec-head a{font-size:14px;color:var(--ink2);white-space:nowrap}
  .sec-head a:hover{color:var(--ink)}

  /* featured paper */
  .feat{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:start}
  @media(max-width:960px){.feat{grid-template-columns:1fr;gap:34px}}
  .feat h3{font-family:var(--display);font-weight:600;font-size:clamp(27px,3.2vw,36px);
           letter-spacing:-1.2px;line-height:1.1;margin:16px 0 20px;text-wrap:balance}
  .feat p{color:var(--ink2);margin:0 0 22px;max-width:52ch}
  .feat .meta{font-family:var(--mono);font-size:11.5px;color:var(--ink3);letter-spacing:.03em}
  .feat .read{display:inline-block;margin-top:6px;font-size:14.5px;
              border-bottom:1px solid var(--ink3);padding-bottom:2px}
  .feat figcaption{font-family:var(--mono);font-size:10.5px;color:var(--ink3);margin-top:12px}
  .legend{display:flex;gap:18px;font-family:var(--mono);font-size:10.5px;color:var(--ink3);margin-bottom:10px}
  .legend i{display:inline-block;width:12px;height:2px;vertical-align:middle;margin-right:6px}

  /* index */
  .row{display:grid;grid-template-columns:110px 1fr 120px;gap:26px;align-items:center;
       padding:22px 0;border-bottom:1px solid var(--hair)}
  @media(max-width:860px){.row{grid-template-columns:1fr 90px;gap:8px 20px}
    .row .k{grid-column:1/-1}}
  .row:first-of-type{border-top:1px solid var(--hair)}
  .row .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
  .row h4{font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:-.4px;
          margin:0;line-height:1.3}
  .row:hover h4{text-decoration:underline;text-underline-offset:4px}
  .row .d{font-family:var(--mono);font-size:11px;color:var(--ink3);text-align:right}

  /* problem */
  .prob{display:grid;grid-template-columns:1fr 400px;gap:56px;align-items:center}
  @media(max-width:960px){.prob{grid-template-columns:1fr;gap:32px}}
  .prob h3{font-family:var(--display);font-weight:600;font-size:28px;letter-spacing:-.9px;margin:14px 0 18px}
  .prob p{color:var(--ink2);margin:0 0 16px;max-width:56ch}
  .prob .send{font-family:var(--mono);font-size:13px;color:var(--ink3)}

  /* ── track record ── */
  .rec{display:grid;grid-template-columns:1.4fr 1fr;gap:52px;align-items:start}
  @media(max-width:960px){.rec{grid-template-columns:1fr;gap:34px}}
  table.stats{width:100%;border-collapse:collapse;font-family:var(--mono);
              font-size:13px;font-variant-numeric:tabular-nums}
  table.stats th{font-family:var(--display);font-weight:600;font-size:9.5px;letter-spacing:.16em;
    text-transform:uppercase;color:var(--ink3);text-align:right;padding:0 0 12px;border-bottom:1px solid var(--line)}
  table.stats th:first-child{text-align:left}
  table.stats td{padding:11px 0;border-bottom:1px solid var(--hair);text-align:right;color:var(--ink)}
  table.stats td:first-child{text-align:left;font-family:var(--body);font-size:14.5px;color:var(--ink2)}
  table.stats tr:last-child td{border-bottom:0}
  .verif{display:flex;gap:14px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
  .verif .mark.v{height:17px;width:17px;margin-top:3px;color:var(--ink3)}
  .verif .mark.v i{height:2px}
  .verif b{display:block;font-family:var(--display);font-weight:600;font-size:12px;
           letter-spacing:.03em;color:var(--ink);margin-bottom:5px}
  .verif div{font-size:12.5px;line-height:1.6;color:var(--ink3);max-width:44ch}

  .months{margin-top:58px;overflow-x:auto}
  .mrow{display:grid;grid-template-columns:58px repeat(12,1fr) 62px;gap:3px;min-width:760px;margin-bottom:3px}
  .mrow span{font-family:var(--mono);font-size:11px;font-variant-numeric:tabular-nums;
             text-align:center;padding:8px 2px;border-radius:2px;color:var(--ink2)}
  .mhead span{font-family:var(--display);font-weight:600;font-size:9px;letter-spacing:.14em;
              text-transform:uppercase;color:var(--ink3);padding:4px 2px}
  .mrow .yr{text-align:left;font-family:var(--display);font-weight:600;font-size:12px;color:var(--ink);padding-left:0}
  .p1{background:color-mix(in srgb,var(--c1) 12%,transparent)}
  .p2{background:color-mix(in srgb,var(--c1) 26%,transparent);color:var(--ink)}
  .n1{background:color-mix(in srgb,var(--c2) 14%,transparent)}
  .n2{background:color-mix(in srgb,var(--c2) 30%,transparent);color:var(--ink)}
  .e{color:var(--ink3);opacity:.4}
  .tot{font-weight:600;color:var(--ink);border-left:1px solid var(--line)}
  .foot-note{font-size:12px;color:var(--ink3);margin-top:20px;max-width:74ch}

  /* ── method ── */
  .assump{margin-top:34px;border-top:1px solid var(--line);padding-top:22px}
  .arow{display:flex;justify-content:space-between;gap:20px;padding:9px 0;
        border-bottom:1px solid var(--hair);font-size:13.5px}
  .arow:last-child{border-bottom:0}
  .arow span:first-child{color:var(--ink3)}
  .arow span:last-child{font-family:var(--mono);font-size:12.5px;color:var(--ink2);text-align:right}
  .capsheet{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
            border:1px solid var(--line);margin-top:56px}
  @media(max-width:860px){.capsheet{grid-template-columns:1fr 1fr}}
  @media(max-width:560px){.capsheet{grid-template-columns:1fr}}
  .cap-i{background:var(--surface);padding:24px 26px 26px}
  .cap-i b{display:block;font-family:var(--display);font-weight:600;font-size:15px;
           letter-spacing:-.2px;color:var(--ink);margin:10px 0 7px}
  .cap-i p{font-size:13.5px;color:var(--ink3);margin:0;line-height:1.62;max-width:none}
  .cap-i .n{font-family:var(--mono);font-size:10.5px;color:var(--ink3);letter-spacing:.1em}
  .battery{margin-top:56px}
  .btbl{overflow-x:auto;border-bottom:1px solid var(--line)}
  .btbl table{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}
  .btbl th{font-family:var(--display);font-weight:600;font-size:9.5px;letter-spacing:.16em;
           text-transform:uppercase;color:var(--ink3);text-align:left;padding:14px 18px 14px 0;
           border-bottom:1px solid var(--line)}
  .btbl td{padding:12px 18px 12px 0;border-bottom:1px solid var(--hair);color:var(--ink3);vertical-align:top}
  .btbl td:first-child{color:var(--ink);font-weight:500;white-space:nowrap;padding-right:32px}
  .btbl td:last-child{font-family:var(--mono);font-size:12.5px;color:var(--ink2);padding-right:0}
  .btbl tbody tr{transition:background-color .12s}
  .btbl tbody tr:hover td{background:var(--surface)}
  .btbl tbody tr:last-child td{border-bottom:0}
  .btbl sup{font-size:.7em}
  .btbl-note{font-size:14px;color:var(--ink3);margin-top:18px;max-width:74ch;line-height:1.7}
  .surf-fig{margin:56px 0 0;padding:0}
  .surf-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;
             padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:10px;flex-wrap:wrap}
  .surf-cap{font-size:14.5px;color:var(--ink3);line-height:1.7;max-width:74ch;margin-top:14px}
  .surf-cap em{color:var(--ink);font-style:normal;font-weight:500}
  .meth{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:start}
  .meth > div > p:first-child{font-size:15px;color:var(--ink2);line-height:1.66;margin-top:0}
  .meth .assump{margin-top:0;border-top:0;padding-top:0}
  @media(max-width:960px){.meth{grid-template-columns:1fr;gap:36px}}
  .meth p{color:var(--ink2);margin:0 0 22px;max-width:52ch}
  .eq{background:var(--surface);border:1px solid var(--line);border-left:2px solid var(--ink);
      padding:20px 22px;font-size:13.5px;line-height:1.9;color:var(--ink);overflow-x:auto;white-space:nowrap}
  .eq-note{font-size:12.5px;color:var(--ink3);margin-top:16px}
  .eq sub{font-size:.75em}
  ol.gates{list-style:none;counter-reset:g;margin:0;padding:0}
  ol.gates li{counter-increment:g;position:relative;padding:0 0 22px 44px;
              border-bottom:1px solid var(--hair);margin-bottom:22px;font-size:14.5px;color:var(--ink3);line-height:1.6}
  ol.gates li:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
  ol.gates li::before{content:"0" counter(g);position:absolute;left:0;top:1px;
    font-family:var(--mono);font-size:11px;color:var(--ink3);letter-spacing:.06em}
  ol.gates b{display:block;font-family:var(--display);font-weight:600;font-size:16px;
             letter-spacing:-.2px;color:var(--ink);margin-bottom:5px}

  /* ── interactivity ── */
  .chart{position:relative}
  .chart svg{cursor:crosshair}
  .tip{position:absolute;top:4px;pointer-events:none;opacity:0;transition:opacity .12s ease;
       background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:10px 13px;
       font-family:var(--mono);font-size:11.5px;white-space:nowrap;transform:translateX(-50%);
       box-shadow:0 3px 16px rgba(0,0,0,.10);z-index:6;min-width:128px}
  .tip.on{opacity:1}
  .tip b{display:block;color:var(--ink);font-weight:400;letter-spacing:.06em;
         text-transform:uppercase;font-size:10px;margin-bottom:7px}
  .tip span{display:flex;align-items:center;gap:8px;color:var(--ink2);line-height:1.9}
  .tip i{width:10px;height:2.5px;display:block;flex:none}
  .tip em{font-style:normal;color:var(--ink);margin-left:auto;padding-left:16px}
  .xh{stroke:var(--ink3);stroke-width:1;stroke-dasharray:3 3;opacity:0;pointer-events:none}
  .xh.on{opacity:.75}
  .fdot{opacity:0;pointer-events:none;transition:opacity .1s}
  .fdot.on{opacity:1}
  table.stats tbody tr{transition:background-color .12s}
  table.stats tbody tr:hover td{background:var(--surface2)}
  .mrow span{transition:transform .12s,box-shadow .12s}
  .mrow:not(.mhead) span:not(.yr):hover{transform:scale(1.12);box-shadow:0 0 0 1px var(--ink3);position:relative;z-index:2}
  .row{transition:background-color .12s}
  .row:hover{background:var(--surface)}

  footer{border-top:1px solid var(--line);padding:44px 0 72px;color:var(--ink3);font-size:13px}
  .f-in{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap}
  .f-l{display:flex;gap:22px;flex-wrap:wrap}
  .f-l a:hover{color:var(--ink)}

  #surf3d svg{cursor:grab;touch-action:none}
  #surf3d.grabbing svg{cursor:grabbing}
  .surf-hint{font-family:var(--mono);font-size:10.5px;color:var(--ink3);
             letter-spacing:.06em;margin-top:10px}

  .team-lede{font-family:var(--display);font-weight:600;font-size:21px;letter-spacing:-.5px;
             line-height:1.35;color:var(--ink);margin:0;max-width:26ch}
  .cta-sec{border-top:1px solid var(--line);padding:80px 0 88px}
  .cta-in{display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:start}
  @media(max-width:860px){.cta-in{grid-template-columns:1fr;gap:34px}}
  .cta-h{font-family:var(--display);font-weight:600;font-size:clamp(26px,3.2vw,36px);
         letter-spacing:-1.2px;line-height:1.12;margin:18px 0 18px;text-transform:none;
         color:var(--ink);border:0;padding:0;max-width:20ch}
  .cta-p{color:var(--ink2);margin:0;max-width:56ch}
  .cta-side{border-top:1px solid var(--line);padding-top:6px}
  .cta-row{display:flex;justify-content:space-between;gap:20px;padding:13px 0;
           border-bottom:1px solid var(--hair);font-size:14.5px}
  .cta-row span:first-child{color:var(--ink3)}
  .cta-row span:last-child{font-family:var(--mono);font-size:13px;color:var(--ink)}
  .cta-btn{display:inline-block;margin-top:22px;font-family:var(--display);font-weight:600;
           font-size:14.5px;background:var(--ink);color:var(--bg);border-radius:999px;padding:12px 24px}
  .cta-note{font-size:12.5px;color:var(--ink3);margin:14px 0 0}


  .net-chart{border:1px solid var(--line);background:var(--surface);padding:10px}
  .net-chart .nd{cursor:pointer;transition:fill-opacity .12s}
  .net-chart:hover .nd{fill-opacity:.42}
  .net-chart .nd:hover{fill-opacity:1}

  .scree{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}
  .scree-cap{font-family:var(--mono);font-size:10.5px;color:var(--ink3);margin-top:8px;line-height:1.5}


  .arch-sep{height:1px;background:var(--line);margin:46px 0 34px}
  .sec-head + .row{border-top:0;margin-top:-14px}
  .team-lede{font-family:var(--display);font-weight:600;font-size:clamp(19px,2vw,23px);
             letter-spacing:-.5px;line-height:1.36;color:var(--ink);margin:0 0 40px;max-width:44ch}
  .firms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
         border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
  .firm{padding:20px 22px 22px;display:flex;flex-direction:column;gap:7px}
  .firm + .firm{border-left:1px solid var(--line)}
  .firm b{font-family:var(--display);font-weight:600;font-size:16px;
          letter-spacing:-.3px;color:var(--ink)}
  .firm span{font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;
             text-transform:uppercase;color:var(--ink3);line-height:1.45}
  .team-note{font-size:14.5px;color:var(--ink3);margin:26px 0 0;max-width:64ch}
  @media(max-width:860px){
    .firms{grid-template-columns:1fr 1fr}
    .firm:nth-child(3){border-left:0}
    .firm:nth-child(n+3){border-top:1px solid var(--line)}
  }
  @media(max-width:460px){
    .firms{grid-template-columns:1fr}
    .firm + .firm{border-left:0;border-top:1px solid var(--line)}
  }

    .net-h{font-family:var(--display);font-weight:600;font-size:clamp(23px,2.6vw,30px);
         letter-spacing:-.9px;line-height:1.14;color:var(--ink);margin:0 0 16px;max-width:22ch}
  .net-lede{font-size:16px;color:var(--ink2);margin:0 0 40px;max-width:78ch;line-height:1.62}
  .net-plate{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
             gap:48px;align-items:start}
  .net-rail{min-width:0;max-width:440px}
  .net-rail .scree{margin-top:0;border-top:0;padding-top:0}
  .nn-note{margin-top:26px}
  @media(max-width:1080px){.net-plate{grid-template-columns:minmax(0,1fr);gap:30px}}
  @media(max-width:760px){
    .mstats{grid-template-columns:1fr 1fr}
    .ms-i:nth-child(3){border-left:0}
    .ms-i:nth-child(n+3){border-top:1px solid var(--line)}
    .net-lede{font-size:15px}
  }

    @media (max-width: 420px){
    h1{font-size:34px;letter-spacing:-1.1px}
    .stat b{font-size:23px}
    .wrap{padding:0 16px}
    .chart,.months,.btbl,.fbox,.chart-box{width:calc(100% + 32px);margin-left:-16px;margin-right:-16px}
    .chart svg,.fbox svg{padding:0 16px}
    .months,.btbl{padding-left:16px;padding-right:16px}
  }

  @media (max-width: 420px){
    h1{font-size:34px;letter-spacing:-1.1px}
    .stat b{font-size:23px}
    .wrap{padding:0 16px}
    .chart,.months,.btbl,.fbox,.chart-box{width:calc(100% + 32px);margin-left:-16px;margin-right:-16px}
    .chart svg,.fbox svg{padding:0 16px}
  }

  @media (max-width: 420px){
    h1{font-size:34px;letter-spacing:-1.1px}
    .stat b{font-size:23px}
    .wrap{padding:0 16px}
    .chart,.months,.btbl,.fbox,.chart-box{width:calc(100% + 32px);margin-left:-16px;margin-right:-16px}
    .chart svg,.fbox svg{padding:0 16px}
  }

  figure{margin-left:0;margin-right:0}

    @media (max-width: 420px){
    h1{font-size:34px;letter-spacing:-1.1px}
    .stat b{font-size:23px}
    .wrap{padding:0 16px}
    .chart,.months,.btbl,.fbox,.chart-box{width:calc(100% + 32px);margin-left:-16px;margin-right:-16px}
    .chart svg,.fbox svg{padding:0 16px}
  }

  @media (max-width: 420px){
    h1{font-size:34px;letter-spacing:-1.1px}
    .stat b{font-size:23px}
    .wrap{padding:0 16px}
    .chart,.months,.btbl,.fbox,.chart-box{width:calc(100% + 32px);margin-left:-16px;margin-right:-16px}
    .chart svg,.fbox svg{padding:0 16px}
  }


  /* the band stays dark in both themes — it is the page's centre of gravity */
  :root{--band-bg:#121212;--band-ink:#F2F2F2;--band-ink2:#A6A6A6;--band-ink3:#8C8C8C;--band-line:#2B2B2B}
  @media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
    --band-bg:#000000;--band-ink:#EDEDED;--band-ink2:#A8A8A8;--band-ink3:#8C8C8C;--band-line:#242424}}
  :root[data-theme="dark"]{
    --band-bg:#000000;--band-ink:#EDEDED;--band-ink2:#A8A8A8;--band-ink3:#8C8C8C;--band-line:#242424}

  .sec-sub{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
           margin:56px 0 20px;padding-bottom:12px;border-bottom:1px solid var(--line)}

  /* risk */
  .risk-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);gap:60px;align-items:start}
  .risk-h{font-family:var(--display);font-weight:600;font-size:clamp(22px,2.5vw,29px);
          letter-spacing:-.9px;line-height:1.16;color:var(--ink);margin:0 0 18px;max-width:24ch}
  .risk-p{font-size:16px;color:var(--ink2);margin:0 0 16px;max-width:60ch;line-height:1.62}
  .cap-note{margin-top:28px;border-top:1px solid var(--ink);padding-top:16px;display:flex;
            flex-direction:column;gap:6px;max-width:52ch}
  .cap-note b{font-family:var(--display);font-weight:600;font-size:30px;letter-spacing:-1.2px;
              color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}
  .cap-note > span:last-child{font-size:14.5px;color:var(--ink3);line-height:1.6}
  .limits{border-top:1px solid var(--ink)}
  .lrow{display:flex;justify-content:space-between;gap:20px;padding:13px 0;
        border-bottom:1px solid var(--hair);font-size:14.5px;color:var(--ink2)}
  .lrow span:last-child{font-size:13px;color:var(--ink);white-space:nowrap}
  .lrow:last-child{border-bottom:0}
  .lrow:last-child span:last-child{color:var(--c2)}
  .btbl td.pos{color:var(--c1)}
  .btbl td.neg{color:var(--ink2)}

  /* infrastructure band */
  /* in dark mode a black slab on a near-black page cannot rely on fill contrast,
     so the slab is delimited by a rule that reads against both grounds */
  .band{background:var(--band-bg);color:var(--band-ink);
        border-top:1px solid var(--ink3);border-bottom:1px solid var(--ink3)}
  .band .label{color:var(--band-ink3)}
  .band-head{border-bottom-color:var(--band-line)!important}
  .band-head .mono{color:var(--band-ink3)}
  .band-h{font-family:var(--display);font-weight:600;font-size:clamp(24px,3vw,34px);
          letter-spacing:-1.1px;line-height:1.12;color:var(--band-ink);margin:0 0 18px;max-width:24ch}
  .band-p{font-size:16.5px;color:var(--band-ink2);margin:0 0 44px;max-width:78ch;line-height:1.66}
  .istats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
          border-top:1px solid var(--band-ink);border-bottom:1px solid var(--band-line)}
  .is-i{padding:20px 16px 22px;display:flex;flex-direction:column;gap:7px}
  .is-i + .is-i{border-left:1px solid var(--band-line)}
  .is-i b{font-family:var(--display);font-weight:600;font-size:25px;letter-spacing:-1px;
          color:var(--band-ink);font-variant-numeric:tabular-nums;line-height:1}
  .is-i span{font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;
             color:var(--band-ink3);line-height:1.45}
  .pipe{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:34px}
  .pipe-s{border:1px solid var(--band-line);border-top:2px solid var(--band-ink2);
          padding:14px 14px 16px;display:flex;flex-direction:column;gap:8px;min-width:0}
  .pipe-s span{font-family:var(--mono);font-size:10.5px;color:var(--band-ink3)}
  .pipe-s b{font-family:var(--display);font-weight:600;font-size:13.5px;letter-spacing:-.2px;
            color:var(--band-ink);line-height:1.3}
  .band-note{font-size:15px;color:var(--band-ink2);margin:32px 0 0;max-width:76ch;line-height:1.7}

  /* operations */
  .ops{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
  .op-i{padding:22px 24px 26px;border-bottom:1px solid var(--line);display:flex;
        flex-direction:column;gap:8px;min-width:0}
  .op-i:not(:nth-child(3n+1)){border-left:1px solid var(--line)}
  .op-i b{font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:-.3px;color:var(--ink)}
  .op-i p{margin:0;font-size:14.5px;color:var(--ink3);line-height:1.6}
  .ops-note{font-size:14.5px;color:var(--ink3);margin:24px 0 0;max-width:76ch;line-height:1.7}

  @media(max-width:980px){
    .risk-grid{grid-template-columns:minmax(0,1fr);gap:34px}
    .istats{grid-template-columns:repeat(3,minmax(0,1fr))}
    .is-i:nth-child(3n+1){border-left:0}
    .is-i:nth-child(n+4){border-top:1px solid var(--band-line)}
    .pipe{grid-template-columns:repeat(3,minmax(0,1fr))}
    .ops{grid-template-columns:repeat(2,minmax(0,1fr))}
    .op-i:not(:nth-child(3n+1)){border-left:0}
    .op-i:not(:nth-child(2n+1)){border-left:1px solid var(--line)}
  }
  @media(max-width:620px){
    .istats{grid-template-columns:repeat(2,minmax(0,1fr))}
    .is-i:nth-child(3n+1){border-left:1px solid var(--band-line)}
    .is-i:nth-child(2n+1){border-left:0}
    .is-i:nth-child(n+3){border-top:1px solid var(--band-line)}
    .pipe{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ops{grid-template-columns:minmax(0,1fr)}
    .op-i:not(:nth-child(2n+1)){border-left:0}
    .sec-sub{margin-top:38px}
    .cap-note b{font-size:26px}
  }

  @media (max-width: 420px){
    h1{font-size:34px;letter-spacing:-1.1px}
    .stat b{font-size:23px}
    .wrap{padding:0 16px}
    .chart,.months,.btbl,.chart-box,.two-fig{width:calc(100% + 32px);margin-left:-16px;margin-right:-16px}
    .fbox{padding:18px 12px 16px}
    .chart svg,.fbox svg{padding:0 16px}
  }


  .band-top{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:56px;
            align-items:start;margin-bottom:46px}
  .band-h{margin-bottom:0}
  .band-p{margin:0;max-width:62ch}
  .pipe-s i{font-style:normal;font-family:var(--mono);font-size:10.5px;line-height:1.5;
            color:var(--band-ink3);letter-spacing:.01em}
  @media(max-width:900px){.band-top{grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:34px}}

  .rail-note{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);
             font-size:14.5px;color:var(--ink3);line-height:1.7}
  .net-rail{max-width:none}

  .hero-chart .cand{transition:stroke .12s ease}
  .hero-chart svg{cursor:default;width:100%;height:auto;display:block}

  @media (max-width: 420px){
    h1{font-size:34px;letter-spacing:-1.1px}
    .stat b{font-size:23px}
    .wrap{padding:0 16px}
    .chart,.months,.btbl,.chart-box,.two-fig{width:calc(100% + 32px);margin-left:-16px;margin-right:-16px}
    .fbox{padding:18px 12px 16px}
    .chart svg,.fbox svg{padding:0 16px}
  }


  .nn-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:44px}
  .nn-side{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:64px;align-items:start}
  @media(max-width:900px){.nn-side{grid-template-columns:minmax(0,1fr);gap:26px}}
  .nn-chart svg{overflow:visible}
  .nn-h{font-family:var(--display);font-weight:600;font-size:23px;letter-spacing:-.7px;
        line-height:1.2;color:var(--ink);margin:0 0 14px}
  .nn-side p{font-size:15px;color:var(--ink2);margin:0 0 15px;line-height:1.62}
  .nn-stats{border-top:1px solid var(--line)}
  .nn-row{display:flex;justify-content:space-between;gap:18px;padding:9px 0;
          border-bottom:1px solid var(--hair);font-size:13.5px;color:var(--ink2)}
  .nn-row span:last-child{font-family:var(--mono);font-size:12px;color:var(--ink);text-align:right}
  .nn-note{font-size:14px;color:var(--ink3);line-height:1.65;margin:18px 0 0}
  @media(max-width:1000px){.nn-grid{grid-template-columns:minmax(0,1fr);gap:30px}}

  .ledger-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
               gap:56px;align-items:center;margin-top:8px}
  .ledger-grid figure{margin:0}
  .ledger-chart{position:relative}
  @media(max-width:960px){.ledger-grid{grid-template-columns:minmax(0,1fr);gap:26px}}

  .kick{margin:30px 0 0;max-width:66ch;font-size:15px;line-height:1.6;color:var(--ink2);
        border-top:1px solid var(--line);padding-top:18px;font-style:normal}
  .kick::before{content:"→";font-family:var(--mono);color:var(--ink3);margin-right:10px}


  .hero-chart .tq0{fill:rgb(207,223,244);stroke:rgb(153,186,227)}
  .hero-chart .tq1{fill:rgb(192,213,239);stroke:rgb(138,175,222)}
  .hero-chart .tq2{fill:rgb(177,202,235);stroke:rgb(123,164,216)}
  .hero-chart .tq3{fill:rgb(162,192,230);stroke:rgb(108,153,210)}
  .hero-chart .tq4{fill:rgb(147,182,225);stroke:rgb(94,142,204)}
  .hero-chart .tq5{fill:rgb(132,171,219);stroke:rgb(82,131,198)}
  .hero-chart .tq6{fill:rgb(117,160,214);stroke:rgb(69,120,191)}
  .hero-chart .tq7{fill:rgb(102,149,208);stroke:rgb(57,110,184)}
  .hero-chart .tq8{fill:rgb(89,138,202);stroke:rgb(45,99,177)}
  .hero-chart .tq9{fill:rgb(77,127,195);stroke:rgb(40,91,165)}
  .hero-chart .tq10{fill:rgb(64,116,188);stroke:rgb(34,82,153)}
  .hero-chart .tq11{fill:rgb(52,105,181);stroke:rgb(29,74,141)}
  .hero-chart .tq12{fill:rgb(43,96,172);stroke:rgb(24,65,129)}
  .hero-chart .tq13{fill:rgb(38,87,160);stroke:rgb(21,59,119)}
  .hero-chart .tq14{fill:rgb(32,79,148);stroke:rgb(18,53,108)}
  .hero-chart .tq15{fill:rgb(27,70,136);stroke:rgb(15,47,98)}
  .hero-chart .tq16{fill:rgb(23,63,125);stroke:rgb(13,42,89)}
  .hero-chart .tq17{fill:rgb(20,57,115);stroke:rgb(13,42,89)}
  .hero-chart .tq18{fill:rgb(17,51,104);stroke:rgb(13,42,89)}
  .hero-chart .tq19{fill:rgb(14,45,94);stroke:rgb(13,42,89)}
  :root[data-theme="dark"] .hero-chart .tq0{fill:rgb(40,57,85);stroke:rgb(55,85,130)}
  :root[data-theme="dark"] .hero-chart .tq1{fill:rgb(45,66,99);stroke:rgb(62,96,145)}
  :root[data-theme="dark"] .hero-chart .tq2{fill:rgb(49,75,113);stroke:rgb(70,107,160)}
  :root[data-theme="dark"] .hero-chart .tq3{fill:rgb(54,84,127);stroke:rgb(78,118,175)}
  :root[data-theme="dark"] .hero-chart .tq4{fill:rgb(60,94,142);stroke:rgb(86,129,190)}
  :root[data-theme="dark"] .hero-chart .tq5{fill:rgb(68,105,157);stroke:rgb(95,140,205)}
  :root[data-theme="dark"] .hero-chart .tq6{fill:rgb(76,116,172);stroke:rgb(105,152,220)}
  :root[data-theme="dark"] .hero-chart .tq7{fill:rgb(84,127,187);stroke:rgb(114,163,235)}
  :root[data-theme="dark"] .hero-chart .tq8{fill:rgb(93,138,202);stroke:rgb(124,175,250)}
  :root[data-theme="dark"] .hero-chart .tq9{fill:rgb(103,149,217);stroke:rgb(136,183,255)}
  :root[data-theme="dark"] .hero-chart .tq10{fill:rgb(112,161,232);stroke:rgb(148,190,255)}
  :root[data-theme="dark"] .hero-chart .tq11{fill:rgb(122,172,247);stroke:rgb(160,198,255)}
  :root[data-theme="dark"] .hero-chart .tq12{fill:rgb(133,182,255);stroke:rgb(172,205,255)}
  :root[data-theme="dark"] .hero-chart .tq13{fill:rgb(145,189,255);stroke:rgb(184,212,255)}
  :root[data-theme="dark"] .hero-chart .tq14{fill:rgb(158,196,255);stroke:rgb(196,219,255)}
  :root[data-theme="dark"] .hero-chart .tq15{fill:rgb(170,203,255);stroke:rgb(207,227,255)}
  :root[data-theme="dark"] .hero-chart .tq16{fill:rgb(182,211,255);stroke:rgb(219,234,255)}
  :root[data-theme="dark"] .hero-chart .tq17{fill:rgb(193,218,255);stroke:rgb(222,236,255)}
  :root[data-theme="dark"] .hero-chart .tq18{fill:rgb(205,225,255);stroke:rgb(222,236,255)}
  :root[data-theme="dark"] .hero-chart .tq19{fill:rgb(216,232,255);stroke:rgb(222,236,255)}
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]) .hero-chart .tq0{fill:rgb(40,57,85);stroke:rgb(55,85,130)}
    :root:not([data-theme="light"]) .hero-chart .tq1{fill:rgb(45,66,99);stroke:rgb(62,96,145)}
    :root:not([data-theme="light"]) .hero-chart .tq2{fill:rgb(49,75,113);stroke:rgb(70,107,160)}
    :root:not([data-theme="light"]) .hero-chart .tq3{fill:rgb(54,84,127);stroke:rgb(78,118,175)}
    :root:not([data-theme="light"]) .hero-chart .tq4{fill:rgb(60,94,142);stroke:rgb(86,129,190)}
    :root:not([data-theme="light"]) .hero-chart .tq5{fill:rgb(68,105,157);stroke:rgb(95,140,205)}
    :root:not([data-theme="light"]) .hero-chart .tq6{fill:rgb(76,116,172);stroke:rgb(105,152,220)}
    :root:not([data-theme="light"]) .hero-chart .tq7{fill:rgb(84,127,187);stroke:rgb(114,163,235)}
    :root:not([data-theme="light"]) .hero-chart .tq8{fill:rgb(93,138,202);stroke:rgb(124,175,250)}
    :root:not([data-theme="light"]) .hero-chart .tq9{fill:rgb(103,149,217);stroke:rgb(136,183,255)}
    :root:not([data-theme="light"]) .hero-chart .tq10{fill:rgb(112,161,232);stroke:rgb(148,190,255)}
    :root:not([data-theme="light"]) .hero-chart .tq11{fill:rgb(122,172,247);stroke:rgb(160,198,255)}
    :root:not([data-theme="light"]) .hero-chart .tq12{fill:rgb(133,182,255);stroke:rgb(172,205,255)}
    :root:not([data-theme="light"]) .hero-chart .tq13{fill:rgb(145,189,255);stroke:rgb(184,212,255)}
    :root:not([data-theme="light"]) .hero-chart .tq14{fill:rgb(158,196,255);stroke:rgb(196,219,255)}
    :root:not([data-theme="light"]) .hero-chart .tq15{fill:rgb(170,203,255);stroke:rgb(207,227,255)}
    :root:not([data-theme="light"]) .hero-chart .tq16{fill:rgb(182,211,255);stroke:rgb(219,234,255)}
    :root:not([data-theme="light"]) .hero-chart .tq17{fill:rgb(193,218,255);stroke:rgb(222,236,255)}
    :root:not([data-theme="light"]) .hero-chart .tq18{fill:rgb(205,225,255);stroke:rgb(222,236,255)}
    :root:not([data-theme="light"]) .hero-chart .tq19{fill:rgb(216,232,255);stroke:rgb(222,236,255)}
  }

  @media (max-width: 420px){
    h1{font-size:34px;letter-spacing:-1.1px}
    .stat b{font-size:23px}
    .wrap{padding:0 16px}
    .chart,.months,.btbl,.chart-box,.two-fig{width:calc(100% + 32px);margin-left:-16px;margin-right:-16px}
    .fbox{padding:18px 12px 16px}
    .chart svg,.fbox svg{padding:0 16px}
  }

  @media (max-width: 420px){
    h1{font-size:34px;letter-spacing:-1.1px}
    .stat b{font-size:23px}
    .wrap{padding:0 16px}
    .chart,.months,.btbl,.chart-box,.two-fig{width:calc(100% + 32px);margin-left:-16px;margin-right:-16px}
    .fbox{padding:18px 12px 16px}
    .chart svg,.fbox svg{padding:0 16px}
  }

  @media (max-width: 420px){
    h1{font-size:34px;letter-spacing:-1.1px}
    .stat b{font-size:23px}
    .wrap{padding:0 16px}
    .chart,.months,.btbl,.chart-box,.two-fig{width:calc(100% + 32px);margin-left:-16px;margin-right:-16px}
    .fbox{padding:18px 12px 16px}
    .chart svg,.fbox svg{padding:0 16px}
  }

  @media (max-width: 420px){
    h1{font-size:34px;letter-spacing:-1.1px}
    .stat b{font-size:23px}
    .wrap{padding:0 16px}
    .chart,.months,.btbl,.chart-box,.two-fig{width:calc(100% + 32px);margin-left:-16px;margin-right:-16px}
    .fbox{padding:18px 12px 16px}
    .chart svg,.fbox svg{padding:0 16px}
  }

  /* ── mobile ─────────────────────────────────────────────── */
  @media (max-width: 760px){
    .wrap{padding:0 20px}
    section, header.hero{padding:44px 0}
    h1{letter-spacing:-1.4px;line-height:1.06}
    h2{margin-bottom:22px}

    /* nav: brand + toggle on row one, links scroll on row two */
    .nav-in{height:auto;padding:8px 0 0;flex-wrap:wrap;gap:0 6px;align-items:center}
    .nav-r{display:contents}
    .tg{order:1;flex:0 0 auto;margin-left:auto}
    .nav-l{order:2;display:flex;flex:1 1 100%;min-width:0;overflow-x:auto;
           gap:4px;font-size:14px;justify-content:flex-start;
           -webkit-overflow-scrolling:touch;scrollbar-width:none;
           -webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);
           mask-image:linear-gradient(90deg,#000 88%,transparent)}
    .nav-l::-webkit-scrollbar{display:none}
    /* 44px tap targets — the links were 22px tall */
    .nav-l a{white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;padding:0 9px}
    .nav-l a:first-child{padding-left:0}
    .brand{min-height:44px}
    button.tg{min-height:0;height:29px;padding:2px;display:inline-flex;align-items:center}
    .tg span{width:26px;height:23px}
    .tg svg{width:12px;height:12px}
    .read,.arrow,.more,.feat .read,.row a,.sec-head a,.f-l a{
      min-height:44px;display:inline-flex;align-items:center}
    .f-l{flex-wrap:wrap;gap:0 18px}
    .cta-btn{min-height:50px;display:flex;width:100%;align-items:center;justify-content:center;
             padding-left:26px;padding-right:26px}

    /* grid tracks must be allowed to shrink below their content width */
    .hero-grid,.feat,.rec,.net-plate,.nn-grid,.meth,.cta-in,.two-fig{
      grid-template-columns:minmax(0,1fr)}
    .hero-grid>*,.feat>*,.rec>*,.net-plate>*,.nn-grid>*,.meth>*,
    .cta-in>*,.two-fig>*,figure,.chart,.fbox,.chart-box{min-width:0;max-width:100%}
    .net-rail{max-width:none}
    figure{width:auto;margin-left:0;margin-right:0}

    /* figures go full-bleed: 375px of drawing instead of 335px */
    .chart,.months,.btbl,.chart-box,.two-fig{
      width:calc(100% + 40px);margin-left:-20px;margin-right:-20px}
    .fbox{padding:20px 14px 18px}
    .chart svg,.fbox svg{padding:0 20px;box-sizing:border-box}
    /* a nested .chart must not apply the bleed a second time */
    .fbox .chart,.two-fig .chart,.chart-box .chart{width:100%;margin-left:0;margin-right:0}
    .fbox .chart svg,.two-fig .chart svg{padding:0 20px}

    /* charts that read fine when scaled — no sideways swipe */
    .chart,.fbox,.chart-box{overflow-x:auto;-webkit-overflow-scrolling:touch}
    .rec .chart svg,.feat .chart svg,.hero-grid .chart svg,.scree svg,#surf3d svg{
      min-width:0;width:100%;height:auto}
    /* SVG type is in viewBox units; scale it up so it lands near 9-10 real px */
    .rec .chart svg text{font-size:17px}
    .feat .chart svg text{font-size:13px}
    .scree svg text{font-size:11px}
    .hero-chart svg text{font-size:19px}
    .hero-chart svg .hl{display:none}
    .hero-chart svg .pk{font-size:20px}
    .hero-chart svg .axnote{display:none}
    .strip{margin-top:34px}
    .stat .label{font-size:9px;letter-spacing:.12em}
    .hero figcaption{margin-top:6px}
    #surf3d svg text{font-size:28px}
    #surf3d svg{touch-action:pan-y}
    /* the paper's wide figures: viewBox 1100 and 520 scaled into 375 */
    .fbox .chart svg,.two-fig .chart svg{min-width:0;width:100%;height:auto}
    .fbox .chart svg text{font-size:32px}
    .two-fig .chart svg text{font-size:15px}

    /* genuinely dense figures still swipe — with a visible bar so it reads as such */
    .chart.net-chart svg{min-width:520px}
    .net-chart svg text{font-size:12px}
    .chart.nn-chart svg{min-width:620px}
    .nn-chart svg text{font-size:15px}
    .net-chart,.nn-chart,.months,.btbl,.col.tbl,.tbl{scrollbar-width:thin}
    .net-chart::-webkit-scrollbar,.nn-chart::-webkit-scrollbar,
    .months::-webkit-scrollbar,.btbl::-webkit-scrollbar{height:3px}
    .net-chart::-webkit-scrollbar-thumb,.nn-chart::-webkit-scrollbar-thumb,
    .months::-webkit-scrollbar-thumb,.btbl::-webkit-scrollbar-thumb{
      background:var(--ink3);border-radius:2px}

    /* density + legibility: nothing body-ish below 12px */
    .strip-in{grid-template-columns:1fr 1fr;gap:20px;padding:22px 0}
    .stat b{font-size:26px}
    .capsheet{grid-template-columns:1fr}
    .cap-i{padding:20px 20px 22px}
    .eq{font-size:9.5px;padding:14px 15px;overflow-x:auto;letter-spacing:-.3px}
    .arow{font-size:13px}
    .arow span:last-child{font-size:12px}
    .surf-cap,.btbl-note,.net-lede{font-size:14.5px}
    .net-h{font-size:22px}
    .net-lede{margin-bottom:26px}
    .mstats{margin-top:26px}
    .months{margin-top:34px}
    .team-lede{font-size:18px;max-width:none;margin-bottom:28px}
    .cta-h{font-size:24px;letter-spacing:-.7px}
    .cta-sec{padding:46px 0 54px}
    .feat h3{font-size:24px}
    .paper-title,.head-grid h1{letter-spacing:-1.2px}
    .abstract{font-size:16.5px;padding-left:16px}
    .row h4,.row h3{font-size:17px}
    .sec-head{flex-wrap:wrap;gap:8px}
    figcaption{font-size:12.5px}
    .scree-cap,.surf-hint,.nn-note,.team-note{font-size:12.5px}
    .ms-i span,.firm span{font-size:11px}
    table.stats td:first-child{font-size:13.5px}
    table.stats td{font-size:12.5px}

    .mstats{grid-template-columns:1fr 1fr}
    .ms-i:nth-child(3){border-left:0}
    .ms-i:nth-child(n+3){border-top:1px solid var(--line)}
  }
  @media (max-width: 420px){
    h1{font-size:34px;letter-spacing:-1.1px}
    .stat b{font-size:23px}
    .wrap{padding:0 16px}
    .chart,.months,.btbl,.chart-box,.two-fig{width:calc(100% + 32px);margin-left:-16px;margin-right:-16px}
    .fbox{padding:18px 12px 16px}
    .chart svg,.fbox svg{padding:0 16px}
  }

/* Ghost editor cards */
.kg-width-wide{position:relative;width:85vw;min-width:100%;margin:auto calc(50% - 50vw);transform:translateX(calc(50vw - 50%))}
.kg-width-full{position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.kg-card{margin:32px 0}
.kg-image{max-width:100%;height:auto;margin:0 auto;display:block}
figure.kg-card figcaption{font-family:var(--mono);font-size:12px;color:var(--ink3);margin-top:10px;text-align:center}
