
  :root{
    --font-sans:"Instrument Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
    --font-display:"Archivo", ui-sans-serif, system-ui, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
    --font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, "PingFang SC", "Microsoft YaHei", monospace;

    /* dark theme (default) */
    --color-base:#0b0c0f;
    --color-raise:#12141a;
    --color-raise-2:#181b22;
    --color-line:#24262e;
    --color-line-soft:#1b1d24;
    --color-cream:#f4f1ea;
    --color-cream-dim:#b9b7ae;
    --color-cream-mute:#807e76;
    --color-cream-faint:#55544e;
    --color-paper:#f4f1ea;
    --color-paper-edge:#e4e0d4;
    --color-paper-ink:#1c1b16;
    --color-paper-dim:#5c5a50;
    --color-live:#34d399;
    --color-accent-500:#71c426;
    --color-accent-400:#8ed32e;
    --color-accent-deep:#3f8f1a;
    --shadow-card:0 1px 2px #0000000a, 0 4px 16px -4px #00000014;
    --shadow-card-hover:0 2px 4px #0000000d, 0 12px 28px -8px #0000001f;
    --shadow-pop:0 14px 40px -18px #00000047;
  }
  html.light{
    --color-base:#f5f5f7;
    --color-raise:#ffffff;
    --color-raise-2:#f0f0f2;
    --color-line:#d2d2d7;
    --color-line-soft:#e8e8ed;
    --color-cream:#1c1b16;
    --color-cream-dim:#5c5a50;
    --color-cream-mute:#86868b;
    --color-cream-faint:#b9b7ae;
    --color-paper:#f4f1ea;
    --color-paper-edge:#e4e0d4;
    --color-paper-ink:#1c1b16;
    --color-paper-dim:#5c5a50;
    --color-live:#248a3d;
    --color-accent-500:#3f8f1a;
    --color-accent-400:#56ab26;
    --shadow-card:0 1px 2px #1d1d1f0d, 0 4px 16px -4px #1d1d1f14;
    --shadow-card-hover:0 2px 4px #1d1d1f0d, 0 12px 28px -8px #1d1d1f1f;
    --shadow-pop:0 14px 40px -18px #1d1d1f33;
  }

  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
  body{
    background:var(--color-base);color:var(--color-cream-dim);
    font-family:var(--font-sans);font-size:1rem;line-height:1.65;
    -webkit-font-smoothing:antialiased;transition:background-color .2s,color .2s;
  }
  ::selection{background:var(--color-accent-500);color:#14120b}
  html.light ::selection{color:#fff}
  a{color:inherit;text-decoration:none}
  h1,h2,h3,h4{font-family:var(--font-display);color:var(--color-cream);font-weight:600;line-height:1.1;letter-spacing:-.02em}
  .heading{font-family:var(--font-display)}
  .mono{font-family:var(--font-mono)}

  .container{max-width:80rem;margin:0 auto;padding:0 1.5rem}
  @media(min-width:640px){.container{padding:0 2rem}}

  /* ---- visual utilities ---- */
  .eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.22em;color:var(--color-accent-500);font-size:.6875rem;font-weight:500}
  .eyebrow-dim{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.22em;color:var(--color-cream-mute);font-size:.6875rem;font-weight:500}

  .bg-grid{background-image:linear-gradient(90deg,#f4f1ea0a 1px,transparent 1px),linear-gradient(#f4f1ea0a 1px,transparent 1px);background-size:64px 64px}
  html.light .bg-grid{background-image:linear-gradient(90deg,#1d1d1f0d 1px,transparent 1px),linear-gradient(#1d1d1f0d 1px,transparent 1px)}
  .bg-grid-paper{background-image:linear-gradient(90deg,#1c1b160d 1px,transparent 1px),linear-gradient(#1c1b160d 1px,transparent 1px);background-size:64px 64px}
  html.light .bg-grid-paper{background-image:linear-gradient(90deg,#f4f1ea0d 1px,transparent 1px),linear-gradient(#f4f1ea0d 1px,transparent 1px)}

  .hero-atmosphere{background:radial-gradient(1100px 520px at 78% -10%,#71c42614,transparent 62%),radial-gradient(900px 480px at 6% 8%,#f4f1ea0b,transparent 60%),var(--color-base)}
  html.light .hero-atmosphere{background:radial-gradient(1100px 520px at 78% -10%,#3f8f1a14,transparent 62%),radial-gradient(900px 480px at 6% 8%,#1d1d1f09,transparent 60%),var(--color-base)}

  .grain{position:relative}
  .grain:after{content:"";pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.96 0 0 0 0 0.95 0 0 0 0 0.92 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}
  html.light .grain:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.11 0 0 0 0 0.11 0 0 0 0 0.12 0 0 0 0.03 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}

  .divider-soft{height:1px;background-image:linear-gradient(90deg,transparent,#f4f1ea29,transparent)}
  html.light .divider-soft{background-image:linear-gradient(90deg,transparent,#1c1b1629,transparent)}

  /* marching ants */
  .ants{--ant:#71c42673;background-image:repeating-linear-gradient(90deg,var(--ant) 0 7px,transparent 7px 14px),repeating-linear-gradient(90deg,var(--ant) 0 7px,transparent 7px 14px),repeating-linear-gradient(0deg,var(--ant) 0 7px,transparent 7px 14px),repeating-linear-gradient(0deg,var(--ant) 0 7px,transparent 7px 14px);background-position:0 0,0 100%,0 0,100% 0;background-repeat:no-repeat;background-size:100% 1px,100% 1px,1px 100%,1px 100%;animation:2.8s linear infinite ants-shift}
  .ants-dim{--ant:#f4f1ea2e}
  html.light .ants{--ant:#3f8f1a80}
  html.light .ants-dim{--ant:#1d1d1f33}
  @keyframes ants-shift{to{background-position:14px 0,-14px 100%,0 -14px,100% 14px}}

  /* corner ticks */
  .tick{border-color:var(--color-accent-500);z-index:1;border-style:solid;border-width:0;width:14px;height:14px;position:absolute}
  .tick-tl{border-top-width:2px;border-left-width:2px;top:-1px;left:-1px}
  .tick-tr{border-top-width:2px;border-right-width:2px;top:-1px;right:-1px}
  .tick-bl{border-bottom-width:2px;border-left-width:2px;bottom:-1px;left:-1px}
  .tick-br{border-bottom-width:2px;border-right-width:2px;bottom:-1px;right:-1px}

  /* packet travel */
  @keyframes packet-x{0%{opacity:0;left:0%}5%{opacity:1}95%{opacity:1}to{opacity:0;left:100%}}
  .packet{background:var(--color-accent-400);border-radius:9999px;width:6px;height:6px;animation:5.2s linear infinite packet-x;position:absolute;top:-2.5px;box-shadow:0 0 12px 2px #71c426a6,0 0 3px 1px #8ed32ee6}
  html.light .packet{box-shadow:0 0 12px 2px #3f8f1a80,0 0 3px 1px #3f8f1acc}

  @keyframes node-pulse{0%,to{border-color:var(--color-line);box-shadow:0 0 #0000}12%{box-shadow:0 0 26px -4px var(--hue,var(--color-accent-500));border-color:var(--hue,var(--color-accent-500))}36%{border-color:var(--color-line);box-shadow:0 0 #0000}}
  .node-pulse{animation:9.6s ease-out infinite node-pulse;animation-delay:var(--delay,0s)}

  @keyframes rise{0%{opacity:0;filter:blur(5px);transform:translateY(26px)}60%{filter:blur(0)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
  .rise{opacity:0;animation:.95s cubic-bezier(.16,1,.3,1) both rise;animation-delay:var(--delay,0s)}

  .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transition-delay:var(--delay,0s)}
  .reveal.is-visible{opacity:1;transform:translateY(0)}

  @media(prefers-reduced-motion:reduce){
    .rise,.reveal{opacity:1;filter:none;animation:none;transform:none}
    .ants,.node-pulse,.packet{animation:none}.packet{display:none}
    html{scroll-behavior:auto}
  }

  /* ---- buttons ---- */
  .btn-amber{background:var(--color-accent-500);color:#14120b}
  .btn-amber:hover{background:var(--color-accent-400)}
  html.light .btn-amber{color:#fff}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:9999px;font-family:var(--font-mono);font-weight:500;text-transform:uppercase;letter-spacing:.12em;transition:background-color .15s,color .15s,border-color .15s;white-space:nowrap;padding:.875rem 1.75rem;font-size:.8125rem}
  .btn-ghost{color:var(--color-cream);box-shadow:inset 0 0 0 1px var(--color-line)}
  .btn-ghost:hover{box-shadow:inset 0 0 0 1px var(--color-cream-mute);background:var(--color-raise)}

  /* ---- header ---- */
  header.site{position:sticky;top:0;z-index:40;border-bottom:1px solid var(--color-line);background:color-mix(in srgb,var(--color-base) 85%,transparent);backdrop-filter:blur(8px)}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;height:4rem;gap:1.5rem}
  .logo{display:inline-flex;align-items:center;gap:.625rem}
  .logo-mark{position:relative;display:inline-flex;align-items:center;justify-content:center;color:var(--color-cream);height:2.25rem;width:auto}
  .logo-mark svg{height:100%;width:100%}
  .logo-mark img{height:100%;width:auto;display:block}
  .logo-text{font-family:var(--font-display);font-size:1.125rem;font-weight:600;letter-spacing:-.02em;color:var(--color-cream)}
  .nav-links{display:flex;align-items:center;gap:2rem;margin-left:auto}
  .nav-links > a,
  .nav-links > .nav-item{display:inline-flex;align-items:center;line-height:1}
  .nav-links a{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--color-cream-dim);transition:color .15s;line-height:1}
  .nav-links a:hover{color:var(--color-cream)}
  .nav-links a.active{color:var(--color-cream);position:relative}
  .nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-.55rem;height:2px;background:var(--color-accent-500);border-radius:2px}
  .nav-links a[aria-current="page"]{color:var(--color-cream)}
  .nav-right{display:flex;align-items:center;gap:.5rem}
  .pill{display:inline-flex;align-items:center;justify-content:center;height:2rem;padding:0 .75rem;border:1px solid var(--color-line);border-radius:9999px;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;color:var(--color-cream-mute);transition:background-color .15s,color .15s}
  .pill:hover{background:var(--color-raise);color:var(--color-cream)}
  .icon-btn{display:inline-flex;align-items:center;justify-content:center;height:2rem;width:2rem;border:1px solid var(--color-line);border-radius:9999px;color:var(--color-cream-mute);transition:background-color .15s,color .15s}
  .icon-btn:hover{background:var(--color-raise);color:var(--color-cream)}
  .theme-toggle .moon{display:none}
  html.light .theme-toggle .moon{display:block}
  html.light .theme-toggle .sun{display:none}
  @media(max-width:639px){.nav-links{display:none}}

  /* ---- hero ---- */
  .hero-grid{display:grid;gap:3.5rem;padding:5rem 0}
  @media(min-width:1024px){.hero-grid{grid-template-columns:1fr 1.1fr;align-items:center;gap:3.5rem;padding:7rem 0}}
  .hero h1{font-size:3rem;line-height:1.06;margin-top:1.25rem}
  .hero h1 .dot{color:var(--color-accent-500)}
  @media(min-width:640px){.hero h1{font-size:3.75rem}}
  @media(min-width:1024px){.hero h1{font-size:4.2rem}}
  .hero p.lead{margin-top:1.75rem;max-width:36rem;font-size:1.125rem;line-height:1.7;color:var(--color-cream-dim)}
  @media(min-width:640px){.hero p.lead{font-size:1.25rem}}
  .hero-cta{margin-top:2.25rem;display:flex;flex-wrap:wrap;gap:.75rem}
  .hero-status{margin-top:2.5rem;display:flex;align-items:center;gap:.75rem;font-family:var(--font-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.18em;color:var(--color-cream-mute)}
  .dot-live{display:inline-block;height:.5rem;width:.5rem;border-radius:9999px;background:var(--color-live)}

  /* infrastructure box */
  .infra{position:relative;padding:1rem;padding-top:1.75rem}
  @media(min-width:640px){.infra{padding:1.5rem;padding-top:2rem}}
  .infra-label{position:absolute;top:-.625rem;left:1.25rem;z-index:10;display:inline-flex;align-items:center;gap:.375rem;background:var(--color-base);padding:0 .5rem;font-family:var(--font-mono);font-size:.625rem;font-weight:500;text-transform:uppercase;letter-spacing:.24em;color:var(--color-accent-500)}
  .infra-label .sq{display:inline-block;height:.375rem;width:.375rem;background:var(--color-accent-500)}
  .infra-label-r{position:absolute;top:-.625rem;right:1.25rem;z-index:10;display:none;background:var(--color-base);padding:0 .5rem;font-family:var(--font-mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.18em;color:var(--color-cream-mute)}
  @media(min-width:640px){.infra-label-r{display:inline-flex}}
  .lifecycle{position:relative;padding:1rem 0}
  .lifecycle-line{position:absolute;left:-.5rem;right:-.5rem;top:50%;height:1px;background:var(--color-line);display:none}
  @media(min-width:1280px){.lifecycle-line{display:block}}
  .life-grid{position:relative;display:grid;gap:.625rem;grid-template-columns:repeat(2,1fr)}
  @media(min-width:640px){.life-grid{grid-template-columns:repeat(3,1fr)}}
  @media(min-width:1280px){.life-grid{grid-template-columns:repeat(5,1fr)}}
  .pchip{display:block;height:100%;min-width:0;border:1px solid var(--color-line);background:var(--color-raise);padding:.75rem;transition:background-color .2s,border-color .2s}
  .pchip .num{font-family:var(--font-mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.22em;color:var(--color-cream-mute)}
  .pchip .num .hued{color:var(--hue)}
  .pchip .name-row{margin-top:.625rem;display:flex;flex-wrap:wrap;align-items:center;gap:.375rem}
  .pchip .pname{font-size:.75rem;font-weight:600;letter-spacing:-.01em;color:var(--color-cream)}
  .pchip .ptag{margin-top:.375rem;font-family:var(--font-mono);font-size:.65625rem;line-height:1.3;color:var(--color-cream-mute)}
  .pchip .picon{display:inline-flex;flex-shrink:0;width:17px;height:17px;color:var(--hue)}
  .pchip .picon svg{width:100%;height:100%}
  .infra-foot{margin-top:.625rem;display:grid;gap:.625rem;grid-template-columns:repeat(2,1fr)}
  @media(min-width:640px){.infra-foot{grid-template-columns:repeat(4,1fr)}}

  /* ---- stats strip ---- */
  .stats{border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);background:color-mix(in srgb,var(--color-raise) 40%,transparent)}
  .stats-inner{display:grid;grid-template-columns:repeat(2,1fr);gap:0}
  @media(min-width:768px){.stats-inner{grid-template-columns:repeat(6,1fr)}}
  .stat{padding:1.75rem 1rem;text-align:center;border-bottom:1px solid var(--color-line-soft)}
  @media(min-width:768px){.stat{border-bottom:0;border-right:1px solid var(--color-line-soft)}.stat:last-child{border-right:0}}
  .stat .big{font-family:var(--font-display);font-size:2.25rem;font-weight:700;color:var(--color-cream);line-height:1}
  .stat .lab{margin-top:.5rem;font-family:var(--font-mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.16em;color:var(--color-cream-mute)}
  .stats-note{text-align:center;padding:1.25rem 1rem;font-family:var(--font-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.16em;color:var(--color-cream-dim)}

  /* ---- generic section ---- */
  section.block{padding:6rem 0}
  @media(min-width:640px){section.block{padding:7rem 0}}
  .sec-head{margin-bottom:3rem}
  .sec-head .eyebrow{display:block;margin-bottom:1rem}
  .sec-head h2{font-size:2rem;line-height:1.15}
  @media(min-width:640px){.sec-head h2{font-size:2.5rem}}
  .sec-head p{margin-top:1.25rem;max-width:46rem;color:var(--color-cream-dim);font-size:1.0625rem}

  /* paper section (§01) */
  .paper-sec{position:relative;background:var(--color-paper);background-image:linear-gradient(90deg,#1c1b160d 1px,transparent 1px),linear-gradient(#1c1b160d 1px,transparent 1px);background-size:64px 64px;color:var(--color-paper-dim);padding:6rem 0}
  html.light .paper-sec{background:var(--color-paper);background-image:linear-gradient(90deg,#f4f1ea0d 1px,transparent 1px),linear-gradient(#f4f1ea0d 1px,transparent 1px)}
  @media(min-width:640px){.paper-sec{padding:7rem 0}}
  .paper-sec h2,.paper-sec h3{color:var(--color-paper-ink)}
  .paper-sec .eyebrow{color:var(--color-accent-deep)}
  .opts{display:grid;gap:1.25rem;grid-template-columns:1fr}
  @media(min-width:900px){.opts{grid-template-columns:repeat(3,1fr)}}
  .opt{border:1px solid var(--color-paper-edge);background:color-mix(in srgb,var(--color-paper) 70%,#000 0%);padding:1.75rem;border-radius:10px}
  html.light .opt{background:color-mix(in srgb,var(--color-paper) 80%,#fff 10%)}
  .opt.feat{border-color:var(--color-accent-500);background:color-mix(in srgb,var(--color-paper) 55%,#000 0%)}
  .opt .kicker{font-family:var(--font-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.18em;color:var(--color-paper-dim)}
  .opt .opt-title{margin-top:.75rem;font-family:var(--font-display);font-size:1.375rem;font-weight:600;color:var(--color-paper-ink)}
  .opt ul{margin-top:1.25rem;display:flex;flex-direction:column;gap:.75rem}
  .opt li{display:flex;gap:.625rem;font-size:.9375rem;line-height:1.55;color:var(--color-paper-dim)}
  .opt li::before{content:"";flex-shrink:0;margin-top:.5rem;height:.375rem;width:.375rem;border-radius:9999px;background:var(--color-accent-500)}
  .opt .foot{margin-top:1.5rem;font-family:var(--font-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.14em;color:var(--color-paper-ink)}

  /* code frames */
  .usecases{display:grid;gap:2.5rem}
  @media(min-width:900px){.usecases{grid-template-columns:1fr 1fr;gap:2.5rem}}
  .uc-head{margin-bottom:1.25rem}
  .uc-head .eyebrow{display:block;margin-bottom:.75rem}
  .uc-head h3{font-size:1.25rem}
  .uc-head a.more{display:inline-flex;align-items:center;gap:.375rem;margin-top:.5rem;font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-cream-dim)}
  .uc-head a.more:hover{color:var(--color-cream)}
  .code-frame{--color-raise:#12141a;--color-line:#24262e;--color-line-soft:#1b1d24;--color-cream:#f4f1ea;--color-cream-dim:#b9b7ae;--color-cream-mute:#807e76;--color-accent-400:#8ed32e;--color-accent-500:#71c426;--color-live:#34d399;border:1px solid var(--color-line);border-radius:10px;background:#0d0e12;min-width:0;overflow:hidden;position:relative}
  html.light .code-frame{box-shadow:var(--shadow-pop);background:#0d0e12}
  .code-frame .cf-bar{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;border-bottom:1px solid var(--color-line);font-family:var(--font-mono);font-size:.6875rem;color:var(--color-cream-mute);text-transform:uppercase;letter-spacing:.14em}
  .code-frame .cf-bar .tdot{height:.5rem;width:.5rem;border-radius:9999px;background:var(--color-line)}
  .code-frame pre{font-family:var(--font-mono);color:var(--color-cream-dim);font-size:.8125rem;line-height:1.75;overflow-x:auto;padding:1rem 1.125rem;margin:0}
  .code-frame b{color:var(--color-accent-400);font-weight:500}
  .code-frame em{color:var(--color-live);font-style:normal}
  .code-frame i{color:var(--color-cream-mute);font-style:normal}
  .code-frame u{color:var(--color-cream);text-decoration:none}

  /* standards */
  .standards{margin-top:4rem;position:relative;padding:2.5rem 1.5rem}
  .standards .ants{position:absolute;inset:0;border-radius:12px}
  .standards-inner{position:relative}
  .standards .stitle{text-align:center;font-family:var(--font-display);font-size:1.5rem;color:var(--color-cream);font-weight:600}
  .standards .ssub{text-align:center;color:var(--color-cream-mute);margin-top:.5rem;font-size:.9375rem}
  .std-grid{margin-top:2rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}
  @media(min-width:640px){.std-grid{grid-template-columns:repeat(3,1fr)}}
  @media(min-width:1024px){.std-grid{grid-template-columns:repeat(4,1fr)}}
  .std{font-family:var(--font-mono);font-size:.8125rem;color:var(--color-cream-dim);padding:.75rem 1rem;border:1px solid var(--color-line);border-radius:8px;background:var(--color-raise);display:flex;align-items:center;gap:.5rem}
  .std::before{content:"▸";color:var(--color-accent-500)}

  /* products (§03) */
  .pgroups{display:flex;flex-direction:column;gap:3.5rem}
  .pgroup .pg-title{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;color:var(--color-cream-mute);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-line)}
  .pcards{display:grid;gap:1rem;grid-template-columns:1fr}
  @media(min-width:560px){.pcards{grid-template-columns:repeat(2,1fr)}}
  @media(min-width:900px){.pcards{grid-template-columns:repeat(3,1fr)}}
  .pcard{display:flex;flex-direction:column;position:relative;border:1px solid var(--color-line);background:var(--color-raise);border-radius:10px;padding:1.5rem;transition:background-color .2s,border-color .2s,transform .2s}
  .pcard:hover{background:var(--color-raise-2);border-color:var(--color-cream-mute)}
  /* 整张卡片可点击：把“了解更多”链接的点击区域拉伸到整张 .pcard */
  .pcard .pc-more::after{content:"";position:absolute;inset:0}
  .pcard .pch{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
  .pcard .pc-name{font-family:var(--font-display);font-size:1.125rem;font-weight:600;color:var(--color-cream)}
  .badge{font-family:var(--font-mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.12em;padding:.2rem .5rem;border-radius:9999px;border:1px solid var(--color-line);color:var(--color-cream-mute)}
  .badge.preview{color:var(--color-accent-500);border-color:var(--color-accent-500)}
  .pcard .pc-desc{margin-top:.875rem;font-size:.9375rem;color:var(--color-cream-dim);line-height:1.6;flex:1}
  .pcard .pc-more{margin-top:1.25rem;font-family:var(--font-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.14em;color:var(--color-cream-mute);display:inline-flex;align-items:center;gap:.375rem;transition:color .15s}
  .pcard:hover .pc-more{color:var(--color-cream)}
  .pcard .pc-detail{margin-top:.5rem;font-size:.8125rem;color:var(--color-cream-mute);line-height:1.55}

  /* self-managed (§04) */
  .sm-grid{display:grid;gap:1.5rem;grid-template-columns:1fr}
  @media(min-width:768px){.sm-grid{grid-template-columns:repeat(3,1fr)}}
  .sm-item{display:flex;gap:1rem;padding:1.5rem 0;border-top:1px solid var(--color-line)}
  .sm-item .n{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--color-accent-500);flex-shrink:0}
  .sm-item h3{font-size:1.125rem;margin-bottom:.5rem}
  .sm-item p{color:var(--color-cream-dim);font-size:.9375rem;line-height:1.6}

  /* teams (§05) */
  .team-grid{display:grid;gap:1rem;grid-template-columns:1fr}
  @media(min-width:560px){.team-grid{grid-template-columns:repeat(2,1fr)}}
  .team-card{border:1px solid var(--color-line);background:var(--color-raise);border-radius:10px;padding:1.75rem;transition:background-color .2s,border-color .2s}
  .team-card:hover{background:var(--color-raise-2);border-color:var(--color-cream-mute)}
  .team-card .tnum{font-family:var(--font-mono);font-size:.6875rem;color:var(--color-accent-500);letter-spacing:.2em}
  .team-card h3{margin-top:.75rem;font-size:1.375rem}
  .team-card .tsub{margin-top:.375rem;color:var(--color-cream-mute);font-size:.875rem}
  .team-card p{margin-top:1rem;color:var(--color-cream-dim);font-size:.9375rem;line-height:1.6}
  .team-card .tmore{margin-top:1.25rem;display:inline-flex;align-items:center;gap:.375rem;font-family:var(--font-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.14em;color:var(--color-cream-mute)}
  .team-card:hover .tmore{color:var(--color-cream)}

  /* final CTA */
  .cta{text-align:center;padding:5rem 0}
  .cta h2{font-size:2.25rem;line-height:1.15}
  @media(min-width:640px){.cta h2{font-size:3rem}}
  .cta p{margin:1.5rem auto 0;max-width:40rem;color:var(--color-cream-dim);font-size:1.0625rem}
  .cta .hero-cta{justify-content:center;margin-top:2.5rem}

  /* footer */
  footer.site{margin-top:8rem;border-top:1px solid var(--color-line);background:color-mix(in srgb,var(--color-raise) 30%,transparent)}
  .foot-inner{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;padding:3rem 0}
  .foot-brand{display:flex;align-items:center;gap:.625rem;max-width:18rem}
  .foot-links{display:flex;flex-wrap:wrap;gap:3rem}
  .foot-col h4{font-family:var(--font-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.16em;color:var(--color-cream-mute);margin-bottom:1rem}
  .foot-col a{display:block;color:var(--color-cream-dim);font-size:.9375rem;padding:.25rem 0;transition:color .15s}
  .foot-col a:hover{color:var(--color-cream)}
  .foot-bottom{padding:1.5rem 0;border-top:1px solid var(--color-line-soft);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;color:var(--color-cream-mute)}

  /* ---- version dropdown (nav) ---- */
  .nav-item.has-dropdown{position:relative;display:inline-flex;align-items:center}
  .nav-trigger{display:inline-flex;align-items:center;line-height:1}
  .nav-dropdown{position:absolute;top:calc(100% + 2px);left:0;width:max-content;max-width:min(16rem,calc(100vw - 2rem));background:var(--color-raise);border:1px solid var(--color-line);border-radius:10px;padding:.4rem;box-shadow:var(--shadow-pop);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:60}
  .nav-dropdown::before{content:"";position:absolute;top:-.55rem;left:0;right:0;height:.55rem}
  .nav-item.has-dropdown:hover .nav-dropdown,
  .nav-item.has-dropdown:focus-within .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
  .nav-dropdown a{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.45rem .55rem;border-radius:7px;color:var(--color-cream);font-family:var(--font-sans);text-transform:none;letter-spacing:normal;font-size:.875rem;line-height:1.3;font-weight:400;white-space:nowrap}
  .nav-dropdown a:hover{background:var(--color-raise-2)}
  .nd-group{padding:.05rem 0}
  .nd-group + .nd-group{border-top:1px solid var(--color-line-soft);margin-top:.3rem;padding-top:.35rem}
  .nd-label{display:block;font-family:var(--font-mono);font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-cream-mute);padding:.25rem .55rem .2rem}
  .nd-name{font-weight:500;color:var(--color-cream)}
  .nd-desc{font-size:.6875rem;color:var(--color-cream-mute);line-height:1.35}
  .nd-all{display:block;margin-top:.3rem;padding:.5rem .55rem .35rem;border-top:1px solid var(--color-line-soft);color:var(--color-accent-500);font-family:var(--font-sans);font-size:.8125rem;font-weight:500;letter-spacing:normal;text-transform:none;white-space:nowrap}
  .nd-all:hover{text-decoration:underline;background:transparent}
  .foot-col a.current{color:var(--color-cream);font-weight:600}
  .rcard.is-current{cursor:default;color:var(--color-cream-mute);border-color:var(--color-line);background:transparent}
  .rcard.is-current .rdot{opacity:.45}

  /* ---- editions overview lead ---- */
  .edt-lead{margin-top:1.5rem;max-width:54rem;font-size:.9375rem;color:var(--color-cream-dim);line-height:1.7}
  .edt-lead strong{color:var(--color-cream);font-weight:600}
