.directory-shell{--dir-accent:#254b6d;--dir-text:#10253a;--dir-secondary:#435c70;--dir-card:#fff;--dir-line:#c6d9e1;--dir-intro:#eaf5f5;--dir-back:#f7fbfc;--dir-link:#234969;--dir-display:Poppins,Arial,sans-serif;color:var(--dir-text);background:var(--dir-back);max-width:none;margin:0;padding:0}
.directory-shell--moon{--dir-accent:#d5b16b;--dir-text:#f6efde;--dir-secondary:#c9c5bd;--dir-card:#141f2a;--dir-line:#344555;--dir-intro:#162532;--dir-back:#0c141c;--dir-link:#f1cf8d;--dir-display:Fraunces,Georgia,serif}
.directory-wrap{width:min(1250px,calc(100% - 3rem));margin-inline:auto}
.directory-intro{background:var(--dir-intro);border-bottom:1px solid var(--dir-line);padding:clamp(2.3rem,6vw,5.5rem) 0 clamp(1.85rem,4vw,3.6rem)}
.directory-intro .directory-label{display:block;color:var(--dir-accent);font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .65rem}
.directory-shell h1,.directory-shell h2{font-family:var(--dir-display);color:var(--dir-text)}
.directory-shell h1{font-size:clamp(2.25rem,5vw,4.5rem);line-height:1.09;letter-spacing:-.045em;margin:0 0 1rem;max-width:none}
.directory-intro p{font-size:clamp(1rem,2vw,1.2rem);line-height:1.6;max-width:65ch;margin:0 0 1.05rem;color:var(--dir-secondary)}
.directory-shell a{color:var(--dir-link);text-underline-offset:.2em}
.directory-shell a:hover{text-decoration-thickness:2px}
.directory-shell a:focus-visible,.directory-shell summary:focus-visible{outline:2px solid var(--dir-accent);outline-offset:3px}
.directory-related{font-size:.9rem;font-weight:700}
.directory-results{padding:1.65rem 0 clamp(2.5rem,6vw,5rem)}
.directory-count{font-size:.85rem;color:var(--dir-secondary);margin:0 0 1rem}
.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(.9rem,2.1vw,1.75rem);list-style:none;margin:0;padding:0}
.directory-card{background:var(--dir-card);border:1px solid var(--dir-line);border-radius:.85rem;overflow:hidden;min-width:0;margin:0}
.directory-art{display:block;width:100%;aspect-ratio:1200/630;height:auto;object-fit:contain;background:var(--dir-intro);border-bottom:1px solid var(--dir-line)}
.directory-entry{padding:clamp(.9rem,2vw,1.35rem)}
.directory-entry h2{font-size:clamp(1.1rem,1.7vw,1.45rem);letter-spacing:-.02em;line-height:1.25;margin:0 0 .65rem}
.directory-entry h2 a{color:inherit}
.directory-entry p{color:var(--dir-secondary);font-size:.95rem;line-height:1.5;margin:0 0 .75rem}
.directory-entry .entry-kind{font-size:.75rem;font-weight:700;letter-spacing:.03em}
.directory-address{display:block;font-size:.81rem;line-height:1.45;overflow-wrap:anywhere}
.directory-share{border-top:1px solid var(--dir-line);margin-top:.85rem}
.directory-share summary{cursor:pointer;font-size:.83rem;color:var(--dir-link);font-weight:700;padding:.65rem 0 .1rem;min-height:2.4rem}
.directory-share-content{display:flex;align-items:center;gap:.75rem;padding:.4rem 0 0;flex-wrap:wrap}
.directory-share-content img{flex:none;border-radius:.25rem}
.directory-share-content p{font-size:.8rem;margin:0;overflow-wrap:anywhere;max-width:100%}
.directory-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.directory-skip{position:absolute;left:1rem;top:1rem;z-index:1000;transform:translateY(-200%);background:#fff;color:#172a40;padding:.55rem .85rem}
.directory-skip:focus{transform:translateY(0)}
@media(max-width:990px){.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.directory-wrap{width:calc(100% - 1.5rem)}.directory-grid{grid-template-columns:1fr}.directory-intro{padding:1.75rem 0}.directory-entry{padding:1rem}}
