:root{--ink:#0b1422;--ink2:#142238;--yellow:#ffd23f;--paper:#f6f7f4;--white:#fff;--muted:#596577;--line:#d8dde4;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55}a{color:inherit;text-underline-offset:.2em}img{max-width:100%;display:block}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:20;background:var(--yellow);padding:.7rem;color:var(--ink)}.site-head{min-height:72px;padding:0 max(1.25rem,calc((100% - var(--max))/2));display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--ink);color:#fff}.wordmark{font-size:1.15rem;font-weight:850;text-decoration:none;letter-spacing:-.04em}.wordmark span{color:var(--yellow)}.site-head nav{display:flex;gap:1.5rem}.site-head nav a{text-decoration:none;font-size:.9rem}.site-head a:hover,.site-head a:focus-visible{text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:3px}.home-hero,.finder-head{background:var(--ink);color:#fff;padding:clamp(4rem,9vw,8.5rem) max(1.25rem,calc((100% - var(--max))/2)) clamp(3.5rem,7vw,6rem)}.eyebrow{color:#ac7d00;font-weight:800;font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;margin:0 0 .75rem}.home-hero .eyebrow,.finder-head .eyebrow,.learn .eyebrow{color:var(--yellow)}h1,h2{letter-spacing:-.045em;line-height:1.05}h1{font-size:clamp(2.5rem,7vw,5.7rem);margin:.2rem 0 1rem;max-width:930px}h2{font-size:clamp(1.6rem,3.2vw,2.7rem)}.dek{color:#cbd3de;font-size:clamp(1.05rem,2vw,1.3rem);max-width:720px}.hero-search{max-width:890px;margin-top:2.2rem}.hero-search label{display:block;font-weight:700;margin-bottom:.65rem}.hero-search>div{display:grid;grid-template-columns:1fr auto;background:#fff;padding:.45rem;border-radius:.38rem}.hero-search input{border:0;min-width:0;padding:1rem;font:inherit;font-size:1.05rem;color:var(--ink)}.hero-search button,.more,.primary-link{border:0;border-radius:.24rem;background:var(--yellow);color:var(--ink);font:inherit;font-weight:850;padding:0 1.5rem;cursor:pointer}.hero-search input:focus-visible,.hero-search button:focus-visible,select:focus-visible,.more:focus-visible,a:focus-visible{outline:3px solid #2c78d4;outline-offset:3px}.popular{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-top:1rem}.popular span{color:#aeb8c6}.popular a{padding:.4rem .65rem;border:1px solid #6d7888;border-radius:999px;text-decoration:none;font-size:.88rem}.section,.page-intro,.library-grid,.family-list,.prose,.crumbs,.detail,.notice{width:min(var(--max),calc(100% - 2.5rem));margin-inline:auto}.section{padding:5rem 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.5rem}.section-head h2{margin:0}.family-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.family-card{background:var(--white);border-top:5px solid var(--yellow);min-height:160px;padding:1.3rem;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between}.family-card b{font-size:1.25rem}.family-card span{color:var(--muted)}.learn{background:var(--ink2);color:#fff;padding:4rem max(1.25rem,calc((100% - var(--max))/2));display:grid;grid-template-columns:1fr 1fr;gap:4rem}.learn h2{margin:0}.learn p{color:#d2d8e1}.ad-slot{width:min(760px,calc(100% - 2.5rem));margin:3rem auto;padding:1rem;border:1px dashed #7f8894;text-align:center;color:var(--muted);font-size:.72rem;letter-spacing:.12em}.page-intro{padding:4.5rem 0 2.5rem}.page-intro h1{font-size:clamp(2.5rem,6vw,4.6rem)}.page-intro p{max-width:720px;font-size:1.1rem}.primary-link{display:inline-block;padding:.75rem 1rem;text-decoration:none}.library-grid,.result-grid,.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding-bottom:5rem}.sign-card{background:#fff;display:grid;grid-template-columns:140px 1fr;min-height:165px;border:1px solid var(--line)}.sign-card .art{display:grid;place-items:center;padding:1rem;background:#eef0ed;text-decoration:none}.sign-card .art img{max-width:100%;max-height:100px;width:auto;height:auto;object-fit:contain}.sign-card .art span{font-weight:900}.sign-card>div{padding:1rem}.sign-card h2{font-size:1.05rem;letter-spacing:-.02em;margin:.35rem 0 1rem}.code{font:800 .78rem ui-monospace,monospace;letter-spacing:.06em;margin:0}.family-link{font-size:.8rem;color:var(--muted)}.finder-head{padding-top:4rem}.finder-head h1{font-size:clamp(2.5rem,6vw,4.6rem)}.finder-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:3rem;width:min(var(--max),calc(100% - 2.5rem));margin:3rem auto 5rem}.filters{align-self:start;position:sticky;top:1rem}.filters h2{font-size:1.25rem}.filters label{display:block;font-weight:700;margin-top:1.2rem}.filters select{display:block;width:100%;margin-top:.4rem;padding:.75rem;border:1px solid #9aa3af;background:#fff;font:inherit}.quiet{margin-top:1.5rem;border:0;background:transparent;padding:0;text-decoration:underline;cursor:pointer}.result-status{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.result-status h2{font-size:1.5rem}.result-grid{grid-template-columns:repeat(2,1fr);padding-bottom:1rem}.more{padding:.85rem 1.25rem}.suggestions{background:#fff;padding:2rem;border-left:5px solid var(--yellow)}.family-list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:5rem}.family-list>a{background:#fff;padding:1.2rem;display:grid;grid-template-columns:1fr auto auto;gap:2rem;text-decoration:none}.crumbs{display:flex;gap:.6rem;padding-top:2rem;color:var(--muted);font-size:.9rem}.detail{display:grid;grid-template-columns:minmax(300px,1fr) 1fr;align-items:start;gap:clamp(2rem,6vw,6rem);padding:3rem 0 5rem}.detail-art{align-self:start;position:sticky;top:90px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;min-height:380px;max-height:480px;display:flex;align-items:center;justify-content:center;padding:2rem}.detail-art img{max-height:380px;max-width:100%;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 4px 14px rgba(0,0,0,.09))}.detail-copy h1{font-size:clamp(2.3rem,5vw,4.7rem)}.designation{font:900 1.4rem ui-monospace,monospace}.detail dl{border-top:1px solid var(--line);margin:2rem 0}.detail dl div{display:grid;grid-template-columns:150px 1fr;padding:.8rem 0;border-bottom:1px solid var(--line)}dt{color:var(--muted)}dd{margin:0;font-weight:650}.source-links{display:grid;gap:.7rem}.art-missing{text-align:center;display:grid;gap:.5rem;color:var(--muted)}.art-missing b{font-size:2rem;color:var(--ink)}.related-grid{grid-template-columns:repeat(2,1fr);padding-bottom:0}.notice{background:#fff;border-left:5px solid var(--yellow);padding:1.3rem;margin-bottom:5rem}.notice p{margin-bottom:0}.prose{max-width:800px;padding:5rem 0}.prose h1{font-size:clamp(2.5rem,6vw,4.6rem)}.prose h2{margin-top:2.5rem}.prose p{font-size:1.08rem}footer{background:#07101c;color:#d8dee7;padding:3rem max(1.25rem,calc((100% - var(--max))/2));display:grid;grid-template-columns:1fr 1fr;gap:3rem}footer p{max-width:580px;color:#aeb7c5}footer nav{display:flex;align-content:start;justify-content:end;flex-wrap:wrap;gap:1rem 1.4rem;font-size:.85rem}@media(max-width:900px){.library-grid,.result-grid{grid-template-columns:1fr 1fr}.sign-card{grid-template-columns:110px 1fr}.sign-card .art img{max-width:100%;max-height:84px;width:auto;height:auto;object-fit:contain}.family-grid{grid-template-columns:1fr 1fr}.detail{grid-template-columns:1fr}.detail-art{position:static;min-height:260px;max-height:350px;margin-bottom:1.5rem;padding:1.5rem}}@media(max-width:680px){.site-head{align-items:flex-start;padding-block:1rem}.site-head nav{display:none}.hero-search>div{grid-template-columns:1fr}.hero-search button{padding:1rem}.learn,footer{grid-template-columns:1fr;gap:1.5rem}.finder-layout{grid-template-columns:1fr}.filters{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.filters h2,.filters .quiet{grid-column:1/-1}.library-grid,.result-grid,.related-grid{grid-template-columns:1fr}.detail-art{min-height:300px}.family-list>a{grid-template-columns:1fr auto}.family-list>a span:nth-child(2){grid-row:2}.section-head{align-items:start;flex-direction:column}footer nav{justify-content:start}}@media(max-width:430px){.family-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.sign-card{grid-template-columns:96px 1fr}.sign-card .art img{max-width:100%;max-height:70px;width:auto;height:auto;object-fit:contain}.detail dl div{grid-template-columns:1fr}.detail-art{padding:1rem}}
