  :root{
    --paper:#FCFCFB; --ink:#1C1B19; --muted:#76736C;
    --rule:rgba(28,27,25,0.16); --rule-soft:rgba(28,27,25,0.07); --fill-soft:rgba(28,27,25,0.03);
    --accent:#E5470F;
    --serif:"Newsreader",Georgia,serif;
    --maxw:1000px; --read:680px;
  }
  html[data-theme="dark"]{
    --paper:#131316; --ink:#F4F3EF; --muted:#8C8980;
    --rule:rgba(237,236,232,0.17); --rule-soft:rgba(237,236,232,0.08); --fill-soft:rgba(237,236,232,0.04);
    --accent:#FF6A2C;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:19px;line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased;transition:background .4s,color .4s}
  a{color:inherit}
  :focus-visible{outline:1px solid var(--accent);outline-offset:4px}
  .caps{font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);font-weight:400}
  .skip{position:absolute;left:-999px;background:var(--ink);color:var(--paper);padding:10px 16px;z-index:99}
  .skip:focus{left:8px;top:8px}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px}
  .read{max-width:var(--read);margin:0 auto}

  .progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--accent);z-index:60;transition:width .1s linear}

  header{padding:30px 0;position:relative;z-index:10}
  .nav{display:flex;justify-content:space-between;align-items:baseline;max-width:var(--maxw);margin:0 auto;padding:0 40px}
  .back{text-decoration:none;font-size:13px;letter-spacing:.04em}
  .back:hover{color:var(--accent)}
  .toggle{background:none;border:0;cursor:pointer;color:var(--muted);font-family:var(--serif)}
  .toggle:hover{color:var(--accent)}
  .brand{font-size:21px;font-weight:500;letter-spacing:.01em;text-decoration:none}
  .nav-right{display:flex;gap:34px;align-items:baseline}
  .nav-links{display:none}
  .nav-links a{text-decoration:none}
  .nav-links a:hover{color:var(--accent)}
  .mwrap{position:relative;width:32px;height:32px}
  .kebab{display:inline-flex;align-items:center;background:none;border:0;cursor:pointer;padding:4px;line-height:0;color:var(--ink)}
  .kebab svg{width:24px;height:24px;display:block;overflow:visible}
  .kebab .kdots,.kebab .kx{transform-box:fill-box;transform-origin:center;transition:opacity .26s ease,transform .32s cubic-bezier(.2,.7,.2,1)}
  .kebab .kdots circle{fill:var(--ink);transform-box:fill-box;transform-origin:center}
  .kebab .kx{opacity:0;transform:scale(.5) rotate(-90deg)}
  .kebab .kx circle,.kebab .kx line{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round}
  .kebab.open .kdots{opacity:0;transform:scale(.4)}
  .kebab.open .kx{opacity:1;transform:scale(1) rotate(0)}
  .kebab.pulse .kdots circle{animation:kdotpulse .42s ease}
  .kebab.pulse .kdots circle:nth-child(1){animation-delay:0s}
  .kebab.pulse .kdots circle:nth-child(2){animation-delay:.16s}
  .kebab.pulse .kdots circle:nth-child(3){animation-delay:.32s}
  @keyframes kdotpulse{0%{fill:var(--ink);filter:none;transform:scale(1)}45%{fill:var(--accent);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--accent) 90%,transparent));transform:scale(1.4)}100%{fill:var(--ink);filter:none;transform:scale(1)}}
  .mmenu{position:absolute;top:0;right:0;display:flex;flex-direction:column;align-items:flex-end;width:32px;min-width:0;background:transparent;border:1px solid transparent;border-radius:9px;box-shadow:none;overflow:hidden;visibility:visible;opacity:1;transform:none;transition:width .32s cubic-bezier(.34,1.4,.5,1),background .22s ease,border-color .22s ease,box-shadow .22s ease;z-index:1001}
  .mmenu .kebab{flex:none;margin-left:0}
  .mmenu-links{display:flex;flex-direction:column;width:170px;max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .2s ease .05s}
  .mmenu-links a{padding:9px 16px;text-decoration:none;color:var(--ink);font-family:var(--serif);font-size:1.06rem;white-space:nowrap;border-radius:5px}
  .mmenu-links a:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent)}
  .mmenu.open{width:170px;min-width:0;background:var(--paper);border-color:var(--rule);box-shadow:0 12px 34px rgba(0,0,0,.13)}
  .mmenu.open .mmenu-links{max-height:220px;opacity:1;padding:4px 0 6px}

  .cs-hero{padding:30px 0 54px}
  .cs-hero .caps{display:block;margin-bottom:26px}
  h1{font-weight:300;font-size:clamp(2.4rem,5.6vw,4.4rem);line-height:1.05;letter-spacing:-.012em;max-width:20ch}
  h1 em{font-style:italic;font-weight:400}
  .deck{margin-top:30px;max-width:60ch;font-size:1.36rem;font-weight:300;line-height:1.45;color:var(--ink)}
  .cs-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:54px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
  .cs-meta div{padding:20px 16px 20px 0;border-left:1px solid var(--rule-soft);padding-left:18px}
  .cs-meta div:first-child{border-left:none;padding-left:0}
  .cs-meta .k{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
  .cs-meta .v{margin-top:8px;font-size:1.05rem;line-height:1.35}

  .section{padding:64px 0}
  .sec-label{display:flex;align-items:center;gap:14px;margin-bottom:10px}
  .pair-mini{width:30px;height:18px;flex:none}
  .sec-no{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
  .sec-title{font-weight:300;font-size:clamp(1.8rem,3.6vw,2.6rem);line-height:1.1;letter-spacing:-.01em;max-width:22ch;margin-bottom:36px}
  .sec-title em{font-style:italic}

  .prose p{max-width:var(--read);margin:0 auto 24px;font-size:1.12rem;line-height:1.72}
  .prose p.lead{font-size:1.28rem;font-weight:300}
  .prose strong{font-weight:500}

  .pullquote{max-width:var(--read);margin:46px auto;font-style:italic;font-weight:300;font-size:1.5rem;line-height:1.4;padding-left:26px;border-left:2px solid var(--accent)}

  .part{max-width:var(--read);margin:56px auto 0}
  .part-h{display:flex;align-items:baseline;gap:14px;margin-bottom:8px}
  .part-n{font-size:13px;color:var(--accent);font-variant-numeric:tabular-nums}
  .part-t{font-size:1.5rem;font-weight:400}
  .part-t em{font-style:italic}

  figure{margin:40px 0}
  .diagram{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:48px 30px;background:var(--fill-soft)}
  figcaption{max-width:var(--read);margin:18px auto 0;font-style:italic;font-size:1rem;color:var(--muted);line-height:1.5;text-align:center}
  .diagram svg{display:block;width:100%;height:auto}
  .svg-txt{font-family:var(--serif);font-size:14px;fill:var(--ink)}
  .svg-cap{font-family:var(--serif);font-size:11px;letter-spacing:.14em;text-transform:uppercase;fill:var(--muted)}

  
  .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:10px 0}
  .stat{padding:40px 20px;border-left:1px solid var(--rule-soft);text-align:center}
  .stat:first-child{border-left:none}
  .stat .num{font-size:3.4rem;font-weight:300;line-height:1;color:var(--accent)}
  .stat .lab{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:14px}
  .stat .sub{font-size:.92rem;color:var(--muted);margin-top:10px;line-height:1.5}
  @media(max-width:680px){.stats{grid-template-columns:1fr}.stat{border-left:none;border-top:1px solid var(--rule-soft)}.stat:first-child{border-top:none}}

  .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;max-width:920px;margin:0 auto}
  .grid3 .cell .ch{font-size:1.3rem;font-weight:400;font-style:italic;margin-bottom:12px}
  .grid3 .cell p{font-size:1rem;color:var(--muted);line-height:1.6}
  .grid3 .cell.flag .ch{color:var(--accent)}
  @media(max-width:760px){.grid3{grid-template-columns:1fr;gap:30px}}

  .hind .blk{max-width:var(--read);margin:0 auto 34px}
  .hind .bk{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
  .hind .blk p{font-size:1.1rem;line-height:1.65}

  .nextcs{border-top:1px solid var(--rule);padding:54px 0}
  .nextcs a{text-decoration:none;display:flex;justify-content:space-between;align-items:center;gap:20px}
  .nextcs .nl{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
  .nextcs .nt{font-size:2rem;font-weight:300;font-style:italic;margin-top:10px}
  .nextcs a:hover .nt{color:var(--accent)}
  .morecs{text-align:center;padding:6px 0 4px}
  .morecs a{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:3px}
  .morecs a:hover{color:var(--accent);border-color:var(--accent)}
  footer{padding:60px 0 90px;text-align:center}
  footer .links{display:flex;gap:30px;justify-content:center}
  footer .links a{text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px}
  footer .links a:hover{border-color:var(--accent);color:var(--accent)}

  .reveal{}
  .reveal.in{}
  .reveal .pair-mini circle:first-of-type{transform:translateX(4px);transition:transform .7s cubic-bezier(.2,.7,.2,1) .5s}
  .reveal .pair-mini circle:last-of-type{transform:translateX(-4px);transition:transform .7s cubic-bezier(.2,.7,.2,1) .5s}
  .reveal.in .pair-mini circle:first-of-type,.reveal.in .pair-mini circle:last-of-type{transform:translateX(0)}
  @media(max-width:680px){.cs-meta{grid-template-columns:repeat(2,1fr)}.cs-meta div:nth-child(3){border-left:none;padding-left:0}}
  @media(prefers-reduced-motion:reduce){*{transition:none!important}.reveal{opacity:1;transform:none}.reveal .pair-mini circle{transform:none!important}.kebab .kdots circle{animation:none!important}}
