/* Layout: container, header, nav, drawer, footer, grids */
.container{width:min(100% - 2*clamp(16px,4vw,32px),var(--container));margin-inline:auto}
.container--narrow{width:min(100% - 2*clamp(16px,4vw,32px),var(--narrow))}
.section{padding-block:clamp(32px,6vw,64px)}
.section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:var(--s3);flex-wrap:wrap}
.section__head h2{margin:0}.section__head--center{justify-content:center;text-align:center}
.more-link{font-weight:600;font-size:.9rem;color:var(--color-primary);text-decoration:none;white-space:nowrap}
.grid{display:grid;gap:var(--s3);list-style:none}.grid--2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid--3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.layout-sidebar{display:grid;gap:var(--s4);grid-template-columns:minmax(0,1fr)}
@media(min-width:1024px){.layout-sidebar{grid-template-columns:minmax(0,1fr) 340px;align-items:start}}
.site-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--color-bg) 82%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color var(--t),box-shadow var(--t);padding-top:env(safe-area-inset-top,0)}
.site-header.is-scrolled{border-color:var(--color-border);box-shadow:var(--shadow-sm)}
.site-header__inner{display:flex;align-items:center;gap:var(--s3);min-height:76px;transition:min-height var(--t)}
.site-header.is-scrolled .site-header__inner{min-height:60px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--font-heading);font-weight:700;font-size:1.25rem}
.brand__mark{color:var(--color-primary);width:1.6em;height:1.6em}
.brand img{height:40px;width:auto}
/* Logo: tall script logo, so give it room; shrinks with the sticky header */
.brand .brand__logo{height:72px;width:auto;max-width:none;transition:height var(--t)}
.site-header.is-scrolled .brand .brand__logo{height:56px}
.brand__logo--dark{display:none}
[data-theme=dark] .brand__logo--light{display:none}[data-theme=dark] .brand__logo--dark{display:inline-block}
[data-theme=dark] .brand__logo--solo{background:#FBF8F3;border-radius:12px;padding:4px 10px}
.brand .footer-logo{height:96px}
@media(max-width:640px){.brand .brand__logo{height:58px}.site-header.is-scrolled .brand .brand__logo{height:48px}.brand .footer-logo{height:84px}}
.nav{margin-left:auto}
.nav__list{display:flex;gap:4px;list-style:none;align-items:center}
.nav__item{position:relative;display:flex;align-items:center}
.nav__link{padding:8px 14px;text-decoration:none;font-weight:500;font-size:.95rem;border-radius:999px}
.nav__link:hover,.nav__link.is-active{color:var(--color-primary)}
.nav__link.is-active{font-weight:700}
.nav__toggle{background:none;border:0;padding:4px;margin-left:-8px;color:inherit;display:grid;place-items:center}
.nav__sub{position:absolute;top:100%;left:0;min-width:220px;list-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:var(--t);z-index:20}
.has-sub:hover>.nav__sub,.has-sub:focus-within>.nav__sub,.has-sub.is-open>.nav__sub{opacity:1;visibility:visible;transform:none}
.nav__sub .nav__link{display:block;border-radius:8px}.nav__sub .nav__link:hover{background:var(--color-soft)}
.site-header__actions{display:flex;align-items:center;gap:4px}
.nav-burger{display:none}
.theme-moon{display:none}[data-theme=dark] .theme-sun{display:none}[data-theme=dark] .theme-moon{display:inline}
@media(max-width:900px){.nav{display:none}.nav-burger{display:inline-flex}.hide-sm{display:none}.site-header__actions{margin-left:auto}}
.drawer{position:fixed;inset:0;z-index:300}
.drawer__backdrop{position:absolute;inset:0;background:rgba(20,14,6,.5)}
.drawer__panel{position:absolute;top:0;right:0;bottom:0;width:min(86vw,340px);background:var(--color-bg);padding:72px 24px 24px;overflow-y:auto;box-shadow:var(--shadow-lg);animation:drawer-in .25s ease;display:flex;flex-direction:column;gap:20px}
@keyframes drawer-in{from{transform:translateX(30px);opacity:0}}
.drawer__close{position:absolute;top:14px;right:14px}
.drawer__list{list-style:none}.drawer__list .nav__item{flex-wrap:wrap;justify-content:space-between;border-bottom:1px solid var(--color-border)}
.drawer__list .nav__link{flex:1;padding:14px 0;font-size:1.05rem}
.drawer__list .nav__sub{position:static;width:100%;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;padding:0 0 8px 12px;display:none;background:none}
.drawer__list .has-sub.is-open>.nav__sub{display:block}
.drawer__list .has-sub:hover>.nav__sub{display:none}.drawer__list .has-sub.is-open:hover>.nav__sub{display:block}
.search-overlay{position:fixed;inset:0;z-index:400;background:rgba(20,14,6,.55);display:flex;justify-content:center;padding:12vh 16px 16px}
.search-overlay__panel{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:min(100%,640px);align-self:flex-start;overflow:hidden}
.search-form{display:flex;align-items:center;gap:10px;padding:10px 14px}
.search-form input{border:0!important;box-shadow:none!important;font-size:1.1rem;background:transparent}
.live-results{list-style:none;border-top:1px solid var(--color-border)}.live-results:empty{display:none}
.live-results a{display:flex;justify-content:space-between;gap:12px;padding:12px 18px;text-decoration:none}
.live-results a:hover,.live-results a.is-focus{background:var(--color-soft)}.live-results small{color:var(--color-muted)}
.announce{background:var(--color-text);color:var(--color-bg);display:flex;justify-content:center;align-items:center;gap:12px;padding:8px 16px;font-size:.88rem}
.announce p{margin:0}.announce a{color:inherit;font-weight:700}.announce .btn--icon{min-height:28px;min-width:28px;color:inherit}
.site-footer{background:var(--color-soft);margin-top:var(--s6);padding-top:var(--s6);border-top:1px solid var(--color-border)}
.footer-grid{display:grid;gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
@media(min-width:900px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1.4fr}}
.footer-col__title{font-family:var(--font-body);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted)}
.footer-col ul,.footer-legal,.social-links{list-style:none}.footer-col li{margin:6px 0}.footer-col a{text-decoration:none}
.footer-brand p{color:var(--color-muted);font-size:.95rem;margin:12px 0}
.social-links{display:flex;gap:4px}.footer-contact{display:flex;gap:8px;align-items:center;font-size:.9rem;margin:4px 0}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-block:var(--s4);margin-top:var(--s4);border-top:1px solid var(--color-border);font-size:.85rem;color:var(--color-muted)}
.footer-bottom p{margin:0}.footer-legal{display:flex;gap:18px;flex-wrap:wrap}
.page-banner{background:linear-gradient(180deg,var(--color-soft),var(--color-bg));padding-block:clamp(28px,5vw,56px);border-bottom:1px solid var(--color-border)}
.page-banner h1{margin-bottom:8px}.lead{font-size:1.2rem;color:var(--color-muted);max-width:60ch}
.ad-wrap{padding-block:var(--s2)}
.cookie{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0));max-width:720px;margin-inline:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:16px 20px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;z-index:500}
.cookie p{margin:0;flex:1 1 280px;font-size:.9rem}.cookie__actions{display:flex;gap:8px}
.to-top{position:fixed;right:16px;bottom:80px;width:46px;height:46px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow);display:grid;place-items:center;z-index:200}
.mobile-sticky-ad{display:none}
@media(max-width:768px){.mobile-sticky-ad{display:block;position:fixed;left:0;right:0;bottom:0;z-index:250;background:var(--color-surface);border-top:1px solid var(--color-border);padding:6px 8px calc(6px + env(safe-area-inset-bottom,0));text-align:center}.mobile-sticky-ad .btn--icon{position:absolute;right:4px;top:-40px;background:var(--color-surface);box-shadow:var(--shadow)}.to-top{bottom:96px}}
.popup-ad{position:fixed;inset:0;z-index:600;display:grid;place-items:center;background:rgba(20,14,6,.6);padding:16px}.popup-ad>.ad-slot{background:var(--color-surface);padding:16px;border-radius:var(--radius)}.popup-ad>.btn--icon{position:absolute;top:16px;right:16px;background:var(--color-surface)}
.auth-body{display:grid;place-items:center;min-height:100vh;padding:24px}
.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:clamp(24px,5vw,40px);width:min(100%,440px)}
.live-empty{padding:12px 18px}
.admin-link{gap:6px;margin-right:4px}.admin-link .icon{width:18px;height:18px}
@media(max-width:1500px){.admin-link span{display:none}.admin-link{padding:8px}}
.footer-admin{margin-left:10px;opacity:.7;font-size:.85em;text-decoration:underline}.footer-admin:hover{opacity:1}
