/* Shared header and footer, in the dictionary's palette. Tokens come from styles.css. */
.site-header{position:relative;z-index:10;background:var(--bg);border:0;border-bottom:1px solid var(--border);max-width:none;margin:0;padding:0;display:block;color:var(--text);font-family:'Karla',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
.chrome-header-inner{max-width:1240px;margin:auto;display:flex;align-items:center;gap:30px;padding:22px 30px}
.site-header .brand,.site-footer .brand{display:flex;align-items:baseline;gap:8px;font-family:'Fraunces',Georgia,serif;font-size:24px;font-weight:700;letter-spacing:-.01em;color:var(--text);text-decoration:none;white-space:nowrap;font-variation-settings:'SOFT' 50}
.site-header .brand img,.site-footer .brand img{width:26px;height:26px;align-self:center}.site-header .brand span,.site-footer .brand span{font-style:italic;font-weight:400;font-size:15px;color:var(--text-muted);padding-left:1px}
.site-header .site-nav{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-left:auto;font-size:15px;font-weight:500;width:auto;order:0}
.site-header a,.site-footer a{text-decoration:none}.site-header .site-nav a{padding:0;white-space:nowrap;color:var(--text)}.site-header .site-nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--yellow-deep);text-decoration-thickness:3px;text-underline-offset:7px;background:none}
.site-header .nav-start{display:flex;gap:8px;align-items:center;border:1.5px solid var(--text);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:700;white-space:nowrap;color:var(--text);background:transparent;text-decoration:none}
.site-header a:hover,.site-footer a:hover{color:var(--accent)}.site-header a:focus-visible,.site-footer a:focus-visible{outline:3px solid var(--yellow-deep);outline-offset:5px}
.site-footer{display:block;max-width:none;margin:0;padding:0;border-top:1px solid var(--border);background:var(--bg);color:var(--text);font-family:'Karla',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
.site-footer .chrome-footer-inner{display:grid;grid-template-columns:230px 1fr;align-items:start;gap:45px;max-width:1240px;margin:auto;padding:50px 30px 24px;font-size:14px}
.site-footer .footer-intro{display:block;margin:0}.site-footer .brand{font-size:21px}.site-footer .brand img{width:22px;height:22px}.site-footer .footer-intro p{font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:16px;margin:12px 0 0;line-height:1.5;color:var(--text-muted)}
.site-footer .footer-columns{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin:0}.site-footer h2{font-family:'Karla',sans-serif;font-size:14px;font-weight:700;letter-spacing:0;line-height:1.5;margin:0 0 16px;color:var(--text)}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:0 0 10px;padding:0;font-size:14px;line-height:1.5;color:var(--text-muted)}.site-footer li a{color:inherit}.site-footer li a:hover{color:var(--accent)}.site-footer a[aria-current=page]{text-decoration:underline;text-underline-offset:4px}
.site-footer .footer-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid var(--border);padding-top:22px;margin:0}.site-footer .footer-bottom p{max-width:700px;font-size:13px;line-height:1.6;margin:0;color:var(--text-muted)}.site-footer .footer-bottom p:last-child{font-size:12px;max-width:190px}
@media(max-width:1000px){.chrome-header-inner{gap:16px}.site-header .site-nav{gap:14px}.site-footer .chrome-footer-inner{grid-template-columns:1fr;gap:30px}.site-footer .footer-columns{width:100%}}
@media(max-width:760px){.chrome-header-inner{padding:18px 22px;flex-wrap:wrap;gap:15px}.site-header .brand{font-size:22px}.site-header .site-nav{order:3;width:100%;justify-content:space-between;gap:8px;font-size:14px;margin:0}.site-header .nav-start{margin-left:auto;font-size:14px}.site-footer .chrome-footer-inner{padding:40px 22px 22px}.site-footer .footer-columns{grid-template-columns:1fr 1fr;gap:30px 20px}.site-footer .footer-bottom{display:block}.site-footer .footer-bottom p:last-child{margin-top:18px;max-width:none}}
@media(max-width:360px){.chrome-header-inner{padding:18px 16px;gap:10px}.site-header .brand{font-size:20px}.site-header .brand span{display:none}.site-header .nav-start{padding:8px 10px;font-size:13px}}
header nav{flex-wrap:wrap}header nav a{white-space:nowrap}
