:root{color-scheme:light;--ink:#132b3c;--nav:#0c2638;--muted:#435a64;--paper:#faf7ed;--line:#d7dcd2;--cyan:#a6eeea;--teal:#155f65;--gold:#f0cb83;--ochre:#765218;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);font:1rem/1.6 var(--sans)}
main{flex:1}
a{color:var(--teal);text-underline-offset:.18em}
a:hover{text-decoration-thickness:2px}
a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.skip{position:absolute;z-index:5;top:.5rem;left:.75rem;transform:translateY(-150%);padding:.55rem 1rem;background:white}
.skip:focus{transform:translateY(0)}
.wrap{width:min(calc(100% - 2rem),70rem);margin-inline:auto}
.top,.footer{background:var(--nav);color:#e2f2f0}
.top{border-bottom:3px solid var(--gold)}
.top-inner,.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap;padding-block:1rem}
.brand{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;font:bold 1.35rem/1.15 var(--serif);color:white}
.brand small{display:block;font:500 .73rem/1.4 var(--sans);color:var(--cyan);margin-top:.25rem}
.brand-mark{display:grid;place-items:center;width:2.35rem;height:2.35rem;border:1px solid #65818e;border-radius:50%;color:var(--gold)}
.top nav,.footer nav{display:flex;align-items:center;flex-wrap:wrap;gap:.15rem 1rem;font-size:.85rem;font-weight:650}
.top nav a,.footer nav a{display:inline-block;padding-block:.45rem;color:inherit}
.top nav a[aria-current]{color:var(--gold);text-decoration-thickness:2px}
.footer{margin-top:3.5rem}
.footer p{font-size:.85rem;margin:.4rem 0 0;color:#d5e7e7}
.crumb{display:flex;flex-wrap:wrap;gap:.3rem .55rem;padding-block:1.3rem .8rem;font-size:.82rem;color:var(--muted)}
.hero{position:relative;overflow:hidden;border:1px solid #d2ded9;border-radius:1.2rem;padding:clamp(1.25rem,5vw,3.4rem);background:radial-gradient(ellipse at 100% 0%,#d4efe6,transparent 70%),linear-gradient(105deg,#fffaf0,#f5f5e9);margin-bottom:2rem}
.kicker{margin:0 0 .45rem;color:var(--ochre);font-size:.73rem;font-weight:780;letter-spacing:.11em;text-transform:uppercase}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.12;text-wrap:balance;margin:0 0 .65em}
h1{font-size:clamp(2.2rem,6vw,4.35rem);max-width:16ch;margin-bottom:.3em}
h2{font-size:clamp(1.55rem,3vw,2.15rem)}
h3{font-size:1.5rem}
.dek{margin:0;color:var(--muted);max-width:49ch;font-size:clamp(1rem,2vw,1.25rem)}
.meta{display:flex;align-items:center;gap:.65rem 1.5rem;flex-wrap:wrap;font-size:.85rem;color:var(--muted);margin-top:1.5rem}
.byline{display:inline-flex;gap:.65rem;align-items:center}
.byline small{display:block;color:var(--muted)}
.avatar{width:3.25rem;height:3.25rem;flex:none;display:block}
.hero>.avatar{width:4.5rem;height:4.5rem;margin-top:1.2rem}
.article-layout{display:grid;grid-template-columns:minmax(12rem,15rem) minmax(0,45rem);gap:2.4rem;align-items:start}
.toc{padding:1rem;border:1px solid var(--line);background:#eef4eb;border-radius:.75rem}
.toc ol{padding-left:1.2rem;margin:.6rem 0 1rem;font-size:.88rem}
.toc li+li{margin-top:.4rem}
.prose{font-size:1.03rem;line-height:1.73;overflow-wrap:break-word}
.prose p{margin:0 0 1em}
.prose section{scroll-margin-top:1rem}
.prose section+section,.info-page p+h2{margin-top:2.2rem}
.prose ol{padding-left:1.5rem}
.prose li+li{margin-top:.5rem}
.info-page{max-width:45rem;margin-inline:auto}
.button{display:inline-block;padding:.57rem .8rem;border-radius:.5rem;background:var(--nav);color:var(--cyan);font:700 .83rem/1.45 var(--sans);text-decoration:none}
.button:hover{color:white;text-decoration:underline}
.button:focus-visible{outline-color:var(--nav)}
table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.9rem;margin:.75rem 0 1.25rem;line-height:1.4}
caption{text-align:left;color:var(--muted);padding:.2rem 0 .6rem;font-size:.85rem}
th,td{text-align:left;padding:.55rem .55rem;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
thead{background:#e6eee6}
.author-box{display:flex;align-items:flex-start;gap:1rem;background:#edf4ed;padding:clamp(1rem,3vw,1.65rem);border:1px solid var(--line);border-radius:.85rem;margin-top:2rem}
.author-box h2{font-size:1.45rem;margin:0 0 .35rem}
.author-box p:not(.kicker){margin:0 0 .65rem}
.related{margin-top:2rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1rem}
.card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:1.25rem;border:1px solid var(--line);background:#fffdf6;border-radius:.75rem;color:var(--ink);text-decoration:none}
.card:hover{border-color:var(--teal);background:#f3faf3}
.card p{margin:0 0 1rem;color:var(--muted)}
.card-action{margin-top:auto;font-weight:750;font-size:.86rem;color:var(--teal);text-decoration:underline}
@media(max-width:47rem){
 .article-layout{grid-template-columns:minmax(0,1fr);gap:1.6rem}
 .toc{max-width:36rem}
}
@media(max-width:27rem){
 .top-inner,.footer-inner{gap:.65rem}
 .top nav,.footer nav{gap:.1rem .7rem}
 th,td{padding:.48rem .28rem}
 .author-box{gap:.65rem}
 .author-box .avatar{width:2.6rem;height:2.6rem}
}
