:root{
    --bg:#FFFFFF; --ink:#293132; --ink2:#4A5152; --muted:#8A9192; --border:#E8E8E9;
    --accent:#FF533D; --accent2:#06FFB9; --accent2-ink:#04B080; --green:#06FFB9;
    --muted-dark:#4A5152; --dim-dark:#9AA1A2; --map-bg:#1A2020; --panel:#FAFAFA;
    --mono:'JetBrains Mono',ui-monospace,monospace;
    --display:'Space Grotesk','Helvetica Neue',Arial,sans-serif;
    --body:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
  em{font-style:italic;}
  ::selection{background:var(--accent);color:#fff;}

  .pt-light{--pt-bg:var(--bg);--pt-fg:var(--ink);--pt-fg2:var(--ink2);--pt-dim:var(--muted);--pt-line:var(--border);}

  .pt-case{--pt-w:1160px;background:var(--pt-bg);color:var(--pt-fg);padding:112px 0;}
  .pt-inner,.pt-media{max-width:var(--pt-w);margin:0 auto;padding:0 48px;}

  .pt-eyebrow{font-family:var(--mono);font-size:11px;color:var(--pt-dim);letter-spacing:.15em;margin-bottom:18px;}
  .pt-eyebrow .a{color:var(--accent);}
  .pt-title{font-family:var(--display);font-weight:500;letter-spacing:-.03em;line-height:.95;color:var(--pt-fg);margin:0;font-size:clamp(40px,6.4vw,74px);}
  .pt-title em{color:var(--accent);font-style:italic;}
  .pt-metastrip{font-family:var(--mono);font-size:11px;color:var(--pt-dim);letter-spacing:.08em;margin-top:24px;display:flex;flex-wrap:wrap;gap:10px 18px;}
  .pt-metastrip .a{color:var(--accent2-ink);}
  .pt-lede{font-family:var(--body);font-size:18px;line-height:1.6;color:var(--pt-fg2);max-width:760px;margin:40px 0 8px;}

  /* stats */
  .pt-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:40px 0;border-top:1px solid var(--pt-line);border-bottom:1px solid var(--pt-line);margin:48px 0 64px;}
  .pt-stat .n{font-family:var(--display);font-size:clamp(30px,4vw,46px);font-weight:300;line-height:1;color:var(--pt-fg);}
  .pt-stat .l{font-family:var(--mono);font-size:10px;color:var(--pt-dim);margin-top:10px;letter-spacing:.05em;line-height:1.5;}

  /* article sections */
  .pt-sec{margin-bottom:64px;}
  .pt-sec .k{font-family:var(--mono);font-size:11px;color:var(--accent2-ink);letter-spacing:.12em;margin-bottom:16px;}
  .pt-sec h2{font-family:var(--display);font-weight:500;font-size:clamp(24px,2.8vw,31px);letter-spacing:-.02em;line-height:1.05;color:var(--pt-fg);margin-bottom:20px;}
  .pt-sec p{font-family:var(--body);font-size:16px;line-height:1.68;color:var(--pt-fg2);max-width:720px;margin-bottom:18px;}
  .pt-sec p:last-child{margin-bottom:0;}
  .pt-sec p strong{color:var(--pt-fg);font-weight:600;}

  /* full-width map figure */
  .pt-figwide{width:100%;border-radius:6px;overflow:hidden;background:var(--map-bg);margin:28px 0 10px;border:1px solid var(--pt-line);}
  .pt-figwide img{display:block;width:100%;height:auto;}
  .pt-figcap{font-family:var(--mono);font-size:10px;color:var(--pt-dim);letter-spacing:.05em;text-align:left;margin-bottom:0;max-width:720px;line-height:1.6;}
  .pt-figcap .n{color:var(--accent);}

  /* layers / caveats panel */
  .pt-panel{background:var(--panel);border:1px solid var(--pt-line);border-radius:6px;padding:32px 40px;margin:32px 0 12px;}
  .pt-layers{display:grid;grid-template-columns:1fr 1fr;gap:0 56px;}
  .pt-layer{display:flex;gap:10px;align-items:baseline;font-family:var(--body);font-size:13px;color:var(--pt-fg2);padding:9px 0;border-bottom:1px dashed var(--pt-line);line-height:1.5;}
  .pt-layer .g{color:var(--accent);font-size:9px;position:relative;top:-1px;flex-shrink:0;}

  /* formula block */
  .pt-formula{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--pt-line);border-radius:6px;padding:24px 32px;margin:24px 0;font-family:var(--display);}
  .pt-formula .eq{font-size:19px;color:var(--pt-fg);font-style:italic;display:flex;align-items:center;gap:12px;}
  .pt-formula .note{font-family:var(--body);font-size:13px;color:var(--pt-dim);max-width:400px;line-height:1.5;}

  /* mini bar chart */
  .pt-bars{display:flex;flex-direction:column;gap:20px;margin:28px 0 12px;max-width:640px;}
  .pt-bar-row{display:flex;align-items:center;gap:16px;}
  .pt-bar-label{width:112px;font-family:var(--mono);font-size:12px;color:var(--pt-fg);flex-shrink:0;letter-spacing:.03em;}
  .pt-bar-track{flex:1;height:10px;background:var(--pt-line);border-radius:100px;overflow:hidden;}
  .pt-bar-fill{height:100%;border-radius:100px;background:var(--accent2-ink);}
  .pt-bar-row.lead .pt-bar-fill{background:var(--accent);}
  .pt-bar-val{width:48px;text-align:right;font-family:var(--mono);font-size:12px;color:var(--pt-dim);flex-shrink:0;}

  /* meta list */
  .pt-cols{display:grid;grid-template-columns:1fr;gap:0;}
  .pt-meta{display:grid;grid-template-columns:1fr 1fr;gap:14px 56px;font-family:var(--mono);font-size:12px;color:var(--pt-fg);margin:8px 0 8px;}
  .pt-meta .row{display:flex;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px dashed var(--pt-line);}
  .pt-meta .k{color:var(--pt-dim);}
  .pt-meta .v.a{color:var(--accent);}

  .pt-cta{display:inline-flex;align-items:center;gap:12px;padding:18px 28px;border-radius:4px;font-family:var(--mono);font-size:13px;letter-spacing:.05em;cursor:pointer;border:1px solid transparent;background:var(--accent);color:var(--ink);transition:transform .15s;text-decoration:none;margin-top:24px;}
  .pt-cta:hover{transform:translateY(-2px);}

  .pt-back{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;color:var(--pt-fg);letter-spacing:.05em;text-decoration:none;margin-bottom:36px;padding:11px 18px;border:1.5px solid var(--pt-fg);border-radius:100px;transition:transform .15s,background .2s,color .2s;}
  .pt-back:hover{background:var(--pt-fg);color:var(--pt-bg);transform:translateX(-3px);}

  .pt-divider{height:1px;background:var(--pt-line);margin:8px 0 64px;}

  @media(max-width:820px){
    .pt-layers{grid-template-columns:1fr;}
    .pt-meta{grid-template-columns:1fr;}
  }
  @media(max-width:600px){
    .pt-case{padding:72px 0;}
    .pt-inner,.pt-media{padding:0 22px;}
    .pt-stats{grid-template-columns:1fr;}
    .pt-panel{padding:24px;}
    .pt-bar-label{width:88px;font-size:11px;}
  }
