/* Linkme EMD network: editorial reference layout. --accent is set per site. */
:root{--ink:#1d2424;--muted:#5a6563;--paper:#f7f6f1;--card:#fffefa;--line:#dcdfd8;--accent:#5b3df5;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Charter,Georgia,serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px;-webkit-text-size-adjust:100%}
body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.72 var(--sans)}
img,svg{max-width:100%}
a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
code{font-size:.9em;background:#ecebe4;padding:1px 5px;border-radius:3px;overflow-wrap:anywhere}
.skip{position:absolute;left:-10000px}.skip:focus{left:16px;top:12px;background:#fff;padding:10px 14px;z-index:30}

/* edition bar + masthead */
.edition{display:flex;justify-content:space-between;gap:14px;padding:9px 4%;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.08em;color:var(--muted)}
.edition span:first-child{text-transform:uppercase;color:var(--accent);font-weight:600}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:26px 4%;border-bottom:1px solid var(--line)}
.brand{font:600 25px/1.15 var(--serif);color:var(--ink);text-decoration:none;letter-spacing:-.01em}
.brand small{display:block;margin-top:6px;font:600 10.5px/1.6 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.masthead nav{display:flex;gap:24px;font-size:13.5px}
.masthead nav a{color:var(--ink);text-decoration:none}.masthead nav a:hover{color:var(--accent)}
.masthead-cta{font-size:13.5px;font-weight:600;white-space:nowrap;text-decoration:none;border:1px solid var(--accent);padding:8px 14px;border-radius:999px}
.masthead-cta:hover{background:var(--accent);color:#fff}

/* page grid */
main{max-width:1440px;margin:0 auto;padding:22px 4% 90px}
.crumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 30px;padding:0;font-size:11.5px;color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:8px;color:#9aa3a0}
.crumbs a{color:inherit}
.grid{display:grid;grid-template-columns:170px minmax(0,1fr) 250px;gap:46px;align-items:start}
.rail{position:sticky;top:20px;font-size:13px;border-right:1px solid var(--line);padding-right:20px}
.rail a{display:block;margin:11px 0;color:var(--ink);text-decoration:none;line-height:1.35}.rail a:hover{color:var(--accent)}
.rail hr,.record hr{border:0;border-top:1px solid var(--line);margin:18px 0}
.eyebrow,.rail strong{font:600 10.5px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
article{min-width:0;max-width:820px}

/* type */
h1{font:500 clamp(34px,4.4vw,60px)/1.06 var(--serif);letter-spacing:-.03em;margin:10px 0 24px;overflow-wrap:break-word}
h2{font:500 clamp(25px,2.4vw,31px)/1.2 var(--serif);letter-spacing:-.015em;margin:0 0 16px}
h3{font:500 21px/1.3 var(--serif);margin:26px 0 8px}
p{margin:0 0 18px}
.list{padding-left:20px;margin:0 0 20px}.list li{margin:7px 0}
section{margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}

/* answer + disclosure + toc */
.answer{padding:22px 0 8px;border-top:3px solid var(--accent);font:19.5px/1.55 var(--serif)}
.answer p{margin:10px 0}
.note{font-size:12.5px;line-height:1.6;color:var(--muted)}
.toc{border:1px solid var(--line);background:var(--card);padding:18px 22px;margin:26px 0 8px;font-size:13px}
.toc strong{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.toc ol{columns:2;column-gap:28px;padding-left:18px;margin:10px 0 0}
.toc li{padding:3px 0;break-inside:avoid}.toc a{color:var(--ink)}.toc a:hover{color:var(--accent)}

/* entity graph */
.graph{overflow-x:auto;margin:26px 0 0}
.graph svg{min-width:560px;width:100%;display:block;color:var(--accent)}
.graph rect{fill:var(--card);stroke:var(--accent)}
.graph text{fill:var(--ink);font:600 13px var(--sans)}
.graph a:hover rect{fill:#eeede5}
.graph-caption{font-size:12px;color:var(--muted);margin-top:6px}

/* directory cards */
.directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}
.entry{display:block;color:var(--ink);text-decoration:none;padding:20px 0;border-top:1px solid var(--line)}
.entry small{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:600}
.entry h3{margin:8px 0 10px}.entry p{font-size:14px;color:#3d4645;margin-bottom:8px}
.entry span{font-size:13px;color:var(--accent)}.entry:hover h3{color:var(--accent)}
.entry[hidden]{display:none}
.resource-list{display:grid;gap:0}
.resource-list a{display:block;padding:20px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}
.resource-list a h3{margin:6px 0 8px}.resource-list a p{font-size:14.5px;margin-bottom:8px}.resource-list a>span:last-child{font-size:13px;color:var(--accent)}
.resource-list a:hover h3{color:var(--accent)}
.resource-list a.featured{border-top:3px solid var(--accent);background:var(--card);padding:20px 22px;margin-bottom:6px}

/* reasons, criteria, try box */
.reasons{list-style:none;counter-reset:r;padding:0;margin:0}
.reasons li{counter-increment:r;position:relative;padding:4px 0 4px 46px;border-top:1px solid var(--line)}
.reasons li:first-child{border-top:0}
.reasons li::before{content:counter(r);position:absolute;left:0;top:22px;font:500 26px/1 var(--serif);color:var(--accent)}
.reasons h3{margin-top:18px}
.criteria dt{font:500 20px/1.3 var(--serif);margin-top:20px}
.criteria dd{margin:6px 0 0}
.try{margin:30px 0 4px;padding:22px 24px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--accent)}
.try p{font:18px/1.5 var(--serif);margin:8px 0 16px}
.btn{display:inline-block;background:var(--accent);color:#fff;font-weight:600;font-size:15px;line-height:1.2;padding:13px 20px;border-radius:999px;text-decoration:none;text-align:center}
.btn:hover{filter:brightness(1.08);color:#fff}
.btn-block{display:block;width:100%}

/* faq, sources, paths, cite, tables */
details{border-bottom:1px solid var(--line);padding:16px 0}
details:first-of-type{border-top:1px solid var(--line)}
summary{cursor:pointer;font-weight:600;line-height:1.45}
details p{margin:12px 0 2px}
.sources{padding-left:20px;font-size:14px}.sources li{margin:8px 0}
.paths{display:flex;flex-wrap:wrap;gap:10px}
.paths a{display:inline-block;border:1px solid var(--line);background:var(--card);padding:8px 13px;font-size:13.5px;text-decoration:none;color:var(--ink);border-radius:3px}
.paths a:hover{border-color:var(--accent);color:var(--accent)}
.citation{font-size:13px;overflow-wrap:anywhere}
.network{padding-left:20px}.network li{margin:9px 0}
.table-wrap{overflow-x:auto;border:1px solid var(--line);background:var(--card)}
table{border-collapse:collapse;width:100%;min-width:620px;font-size:14px}
th,td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
thead th{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
th.hl,td.hl{background:color-mix(in srgb,var(--accent) 8%,#fff);font-weight:600}
thead th.hl{color:var(--accent)}
.search{display:block;font-size:13px;font-weight:600;color:var(--muted)}
.search input{display:block;width:100%;margin-top:8px;padding:12px 14px;font:16px var(--sans);border:1px solid var(--line);background:#fff;border-radius:4px}

/* featured-entity record */
.record{position:sticky;top:20px;border-top:3px solid var(--ink);padding-top:18px;font-size:13px}
.record h2{font-size:34px;margin:6px 0 0}
.record .by{margin:0;color:var(--muted)}
.record dt{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:16px}
.record dd{margin:4px 0 0}
.record .btn{margin-top:20px;font-size:14px}
.record>a:not(.btn){display:block;margin:8px 0}

/* footer + mobile CTA */
.footer{border-top:1px solid var(--line);padding:30px 4% 40px;display:grid;grid-template-columns:auto 1fr;gap:12px 40px;font-size:13px;color:var(--muted)}
.footer strong{display:block;font:600 18px var(--serif);color:var(--ink)}
.footer small{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.footer nav{display:flex;flex-wrap:wrap;gap:20px;align-items:center}
.footer nav a{color:var(--ink)}
.footer p{grid-column:1/-1;margin:0}
.mobile-cta{display:none}

@media (max-width:1180px){
  .grid{grid-template-columns:minmax(0,1fr) 240px;gap:40px}
  .rail{display:none}
  .masthead nav{display:none}
}
@media (max-width:880px){
  .grid{grid-template-columns:minmax(0,1fr)}
  .record{position:static}
  article{max-width:none}
}
@media (max-width:640px){
  main{padding:16px 16px 110px}
  .edition{padding:8px 16px;font-size:10px}
  .edition span:last-child{display:none}
  .masthead{padding:18px 16px;gap:12px}
  .brand{font-size:20px}
  .masthead-cta{padding:7px 11px;font-size:12.5px}
  .toc ol{columns:1}
  .directory{grid-template-columns:1fr}
  .answer{font-size:18px}
  .footer{grid-template-columns:1fr;padding:26px 16px 120px}
  .mobile-cta{display:block;position:fixed;left:0;right:0;bottom:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(247,246,241,.96);border-top:1px solid var(--line);z-index:20}
}
