
  :root{
    --ink:#16233D; --ink-soft:#26344F; --stone:#EDE7D9; --paper:#FAF7F0;
    --wine:#6B2334; --wine-bright:#832B40; --brass:#A88347; --charcoal:#2A2A28;
    --line:rgba(22,35,61,0.14); --stone-line:rgba(250,247,240,0.16);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  body{ background:var(--paper); color:var(--charcoal); font-family:'Inter',sans-serif; font-size:16px; line-height:1.65; }
  h1,h2,.display{ font-family:'Fraunces',serif; color:var(--ink); font-weight:600; letter-spacing:-0.01em; }
  .eyebrow{ font-family:'JetBrains Mono',monospace; font-size:12.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--brass); display:flex; align-items:center; gap:10px; }
  .eyebrow::before{ content:""; width:22px; height:1px; background:var(--brass); display:inline-block; }
  .wrap{ max-width:760px; margin:0 auto; padding:0 32px; }
  @media (max-width:640px){ .wrap{ padding:0 22px; } }
  nav{ background:var(--ink); padding:20px 0; }
  nav .wrap{ display:flex; justify-content:space-between; align-items:center; max-width:1120px; }
  .brand{ font-family:'Fraunces',serif; font-weight:600; font-size:17px; color:var(--paper); }
  .brand small{ font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--brass); letter-spacing:0.1em; margin-left:8px; }
  .back{ font-size:13.5px; color:#C9D0DE; text-decoration:none; }
  .back:hover{ color:var(--paper); }
  header.case-hero{ padding:64px 0 40px; border-bottom:1px solid var(--line); }
  header.case-hero h1{ font-size:clamp(28px,4vw,38px); line-height:1.2; margin:16px 0 20px; max-width:20ch; }
  header.case-hero p.lede{ font-size:17px; color:#5A554C; max-width:56ch; }
  .meta-row{ display:flex; gap:14px; flex-wrap:wrap; font-family:'JetBrains Mono',monospace; font-size:12px; color:#6B6552; margin-top:20px; }
  .meta-row span{ background:var(--stone); padding:5px 10px; }
  section{ padding:44px 0; border-bottom:1px solid var(--line); }
  section:last-of-type{ border-bottom:none; }
  section h2{ font-size:21px; margin-bottom:16px; }
  section h3{ font-family:'Fraunces',serif; font-size:16.5px; color:var(--ink); margin-bottom:6px; }
  section p{ margin-bottom:14px; color:#3D3A34; max-width:66ch; }

  .principle{
    background:var(--ink); color:var(--paper); padding:30px 32px; margin:24px 0;
  }
  .principle p{ color:#D9C9A3; font-family:'Fraunces',serif; font-style:italic; font-size:19px; line-height:1.5; margin:0; max-width:60ch; }

  .timeline{ margin:24px 0; }
  .t-row{
    display:grid; grid-template-columns:90px 1fr; gap:18px;
    padding:16px 0; border-top:1px solid var(--line);
  }
  .t-row:last-child{ border-bottom:1px solid var(--line); }
  .t-label{ font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--brass); letter-spacing:0.04em; text-transform:uppercase; padding-top:2px; }
  .t-body p{ margin:0; font-size:14.5px; color:#3D3A34; }

  .example-card{
    background:var(--stone); padding:22px 24px; margin-bottom:14px;
  }
  .example-card .tag{
    font-family:'JetBrains Mono',monospace; font-size:10.5px; text-transform:uppercase;
    letter-spacing:0.05em; color:var(--wine); margin-bottom:8px; display:block;
  }
  .example-card p{ font-size:14.5px; color:#3D3A34; margin-bottom:8px; }
  .example-card a{ font-size:13.5px; color:var(--wine); font-weight:600; text-decoration:none; }
  .example-card a:hover{ text-decoration:underline; }

  .caution{ border-left:2px solid var(--brass); padding-left:18px; font-size:14.5px; color:#5A554C; margin-top:20px; }
  .cta-box{ background:var(--wine); color:var(--paper); padding:36px 32px; text-align:center; }
  .cta-box p{ color:#EAD5CC; margin-bottom:20px; }
  .btn{ display:inline-block; background:var(--paper); color:var(--wine); font-weight:600; padding:13px 26px; text-decoration:none; font-size:14.5px; }
  footer{ background:var(--ink); color:#8A93A8; padding:32px 0; font-size:12px; text-align:center; }
  footer .wrap{ max-width:660px; }

/* Production navigation, accessibility and small-screen fixes. */
.reveal{opacity:1!important;transform:none!important}
html{scroll-padding-top:100px}a,button{touch-action:manipulation}
.article-body{padding-top:36px}.article-body .wrap{max-width:850px}.article-body p{max-width:none;overflow-wrap:anywhere}.article-body h2{font-size:25px;line-height:1.3;margin:40px 0 18px}.article-body h3{font-size:21px;margin:28px 0 14px}.article-body ul,.article-body ol{margin:0 0 24px 24px}.article-body li{margin-bottom:10px}.article-body blockquote{border-left:3px solid var(--brass);padding:12px 24px;margin:26px 0;background:var(--stone)}.article-body hr{border:0;border-top:1px solid var(--line);margin:32px 0}.article-body a{color:var(--wine);text-underline-offset:3px}.article-figure{margin:0 0 36px}.article-figure img{width:100%;height:auto;display:block}.article-body table{max-width:100%;display:block;overflow-x:auto}.library-tabs{display:flex;flex-wrap:wrap;gap:20px;margin-top:28px}.library-list{list-style:none;display:grid;gap:18px;margin-top:24px}.library-list a{display:block;text-decoration:none;border:1px solid var(--line);padding:24px}.library-list a:hover{background:var(--stone)}.library-list h3{font-size:22px;line-height:1.35;margin:10px 0}.library-list span{font-size:12px;color:var(--wine)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #A88347;outline-offset:5px}
.skip-link{position:fixed;left:16px;top:-100px;z-index:99999;background:#FAF7F0;color:#16233D;padding:12px}
.skip-link:focus{top:12px}.menu-toggle{display:none}
.faq-q{list-style:none}.faq-q::-webkit-details-marker{display:none}
details.faq-item .faq-a{max-height:none;display:block;padding-bottom:22px}
details:not([open]) .faq-a{display:none}details[open] .plus{transform:rotate(45deg)}
.atlas-checklist p{font-size:13px;margin-top:12px}.atlas-checklist .btn{background:var(--ink);color:var(--paper)}
.atlas-checklist label{display:block;font-size:14px;margin:12px 0 6px}.atlas-checklist input[type=email]{width:100%;max-width:400px;padding:13px;border:1px solid var(--line);font:inherit;background:var(--paper)}.atlas-checklist .consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;max-width:440px}.atlas-checklist .consent input{margin-top:4px}.atlas-checklist button{border:0;cursor:pointer;margin-top:12px}.atlas-checklist .hp{position:absolute;left:-10000px}.form-message{padding:12px;border-left:3px solid var(--wine);margin-bottom:16px}
body.admin-bar nav{top:32px} .summary-card dd{min-width:0;overflow-wrap:anywhere}
.fallback-content{max-width:900px;margin:60px auto;padding:0 24px;min-height:55vh}
.fallback-content p,.fallback-content h2,.fallback-content h3{margin-bottom:20px}
.fallback-content img{height:auto}.fallback-content ul{margin-left:24px}
.fallback-nav{position:relative;background:var(--ink);padding:22px 0}.fallback-nav a{color:var(--paper)}
.fallback-nav .wrap{height:auto;gap:20px;flex-wrap:wrap}.fallback-footer{padding:30px;text-align:center}
@media(max-width:800px){
 nav .wrap{height:auto;min-height:74px;flex-wrap:wrap;gap:12px;padding-top:12px;padding-bottom:12px}
 .brand{flex-wrap:wrap;gap:3px 8px;font-size:18px}.brand small{font-size:8px}
 nav .btn-sm{padding:9px 12px;font-size:12px}.menu-toggle{display:inline-block;background:transparent;border:1px solid var(--line);padding:9px 12px;color:var(--ink);font:inherit;font-size:13px}
 .nav-links{order:4;width:100%}.nav-links ul{display:flex;flex-wrap:wrap;gap:14px 22px;padding:10px 0}
 .js-menu .nav-links{display:none}.js-menu .nav-links.is-open{display:block}
 .hero{padding:55px 0}.hero-grid{gap:32px}.hero h1{max-width:20ch}
 body.admin-bar nav{top:46px}.status-row .row-top{flex-wrap:wrap;gap:8px}
}
@media(max-width:480px){.summary-card{padding:22px 18px}.summary-card dl{grid-template-columns:1fr;gap:5px}.summary-card dd{margin-bottom:12px}.hero-ctas .btn{width:100%;text-align:center}.cta-box{padding:30px 20px}.back{font-size:12px}nav .wrap{gap:10px}.brand{max-width:190px}.door{min-width:0}.footer-col a{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.gen{opacity:1}.lineage-line-draw{height:100%}}
