/* Daniel Jorge — site-specific extensions on top of redesign.css. Brand accent overrides + the pieces the shared kit doesn't cover (search dialog, article/TOC layout, directory filter, footer detail). */
:root{--accent:#5E8C82;--accent-text:#2F6259;--accent-hover:#244B44;--tint:#EBF1EE;--tint-text:#2F6259}
body{background:var(--bg)}
.review-bar{background:var(--ink);color:#fff;text-align:center;padding:6px 18px;font-size:11px;letter-spacing:.07em}
.brand{gap:10px}
.brand span{white-space:nowrap}
.brand svg{color:var(--accent)}
.icon-button{width:40px;height:40px;border:1px solid var(--line);border-radius:999px;background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);font-size:16px;flex-shrink:0}
.icon-button:hover{border-color:var(--ink)}
.header-cta{gap:16px}

/* Generic (non hero-photo) page top used by most of the 185 topic pages */
.page-top{padding-top:56px;padding-bottom:8px}
.page-top .intro{margin-top:16px;max-width:720px}
.page-top h1{margin-top:14px}
.breadcrumbs{display:flex;gap:8px;font-size:13px;color:var(--muted);margin-bottom:4px}
.breadcrumbs a{color:var(--muted)}
.breadcrumbs a:hover{color:var(--accent-text)}
.meta{font-size:13px;color:var(--muted);margin-top:14px}

/* Article body + table of contents */
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:64px;align-items:start;padding-top:56px;padding-bottom:var(--gap)}
.article-body{display:flex;flex-direction:column;gap:40px;max-width:760px}
.article-body section{display:flex;flex-direction:column;gap:14px}
.article-body p+p{margin-top:2px}
.toc{position:sticky;top:110px;display:flex;flex-direction:column;gap:8px;font-size:14px;border-left:1px solid var(--line);padding-left:22px}
.toc h2{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-family:var(--sans)}
.toc nav{display:flex;flex-direction:column;gap:4px}
.toc a{display:block;color:var(--text-2);padding:5px 0}
.toc a:hover{color:var(--accent-text)}
.sources{border-top:1px solid var(--line);padding-top:24px}
.sources h2{font-size:18px}
.sources ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.note{font-size:13px;color:var(--muted)}
.portrait{border-radius:var(--radius);width:100%}
@media (max-width:1100px){.article-layout{grid-template-columns:1fr}.toc{position:static;border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:20px;margin-top:8px}}

/* Directory listing (hub pages: Insights, Sitemap, "explore this section") */
.directory{padding-top:var(--gap);padding-bottom:var(--gap)}
.filter-bar{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.filter-bar input,.filter-bar select{height:44px;border:1px solid var(--input);border-radius:var(--radius);padding:0 14px;font-size:14px;background:#fff;font-family:var(--sans);flex:1;min-width:220px}
.result-count{margin-bottom:24px}
.directory-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.directory-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px;display:flex;flex-direction:column;gap:10px}
.directory-item h3{font-size:19px;font-weight:600;color:var(--ink);font-family:var(--serif)}
.directory-item h3 a{color:var(--ink)}
.directory-item p{font-size:14px;color:var(--text-3);line-height:1.6;margin:0}
@media (max-width:760px){.directory-list{grid-template-columns:1fr}.filter-bar{flex-direction:column}.filter-bar input,.filter-bar select{width:100%}}

/* Search dialog */
dialog#search-dialog{border:0;border-radius:var(--radius-lg);padding:32px;width:min(560px,92vw);box-shadow:0 24px 60px rgba(0,0,0,.18)}
dialog#search-dialog::backdrop{background:rgba(30,33,36,.5)}
.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.search-input{width:100%;height:48px;border:1px solid var(--input);border-radius:var(--radius);padding:0 14px;font-size:15px;font-family:var(--sans)}
.search-results{list-style:none;margin:16px 0 0;padding:0;max-height:360px;overflow:auto;display:flex;flex-direction:column;gap:4px}
.search-results li a{display:block;padding:10px 8px;border-radius:var(--radius)}
.search-results li a:hover{background:var(--band)}
.search-results strong{display:block;font-size:15px;color:var(--ink)}
.search-results p{font-size:13px;color:var(--muted);margin-top:2px}

/* Footer additions the kit doesn't define */
.footer-invite{background:var(--tint);border-radius:var(--radius-lg);padding:44px 52px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;margin-bottom:56px}
.footer-invite h2{font-family:var(--serif);font-weight:500;font-size:clamp(24px,2.8vw,32px);color:var(--ink)}
.footer-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.footer-grid-4 h2{margin-bottom:2px}
.brand-word{font-size:14px;font-weight:700;letter-spacing:.22em;color:var(--ink)}
.motto{font-style:italic}
.footer-contact{display:flex;gap:20px;align-items:center;font-size:14px;color:var(--text-2);padding-top:8px;flex-wrap:wrap}
.footer-contact a{color:var(--text-2)}
.legal-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px}
.legal-links a{color:var(--muted)}
details.footer-legal summary{cursor:pointer;font-weight:600;color:var(--text);list-style:none}
details.footer-legal summary::-webkit-details-marker{display:none}
details.footer-legal p{margin-top:10px}
.copyright{display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:13px;color:var(--muted);padding-top:18px;flex-wrap:wrap}
.copyright em{font-style:italic}
.copyright a{color:var(--muted)}

@media (max-width:760px){
.footer-invite{flex-direction:column;align-items:flex-start;padding:32px 26px}
.footer-grid-4{grid-template-columns:1fr}
.copyright{flex-direction:column;align-items:flex-start}
}
