.a11y-bar{background:var(--graphite-2);color:var(--beige);font-size:.85rem}
.a11y-bar__in{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.35rem 0}
.a11y-bar button{background:none;border:1px solid var(--gold);color:var(--beige);padding:.2rem .6rem;border-radius:2px;cursor:pointer;font:inherit}
.a11y-bar button[aria-pressed=true]{background:var(--gold);color:var(--graphite)}
.a11y-bar a{color:var(--gold);margin-left:auto}
.site-header{position:sticky;top:0;z-index:50;background:var(--graphite);color:var(--warm);border-bottom:1px solid var(--olive)}
.site-header__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0}
.brand{display:flex;align-items:center;gap:.7rem;color:var(--warm);text-decoration:none}
.brand__mark svg{width:2.4rem;height:2.4rem;fill:none;stroke:var(--gold);stroke-width:1.2}
.brand__txt{display:flex;flex-direction:column;line-height:1.2}.brand__txt small{color:var(--gold)}
.main-nav{display:flex;align-items:center;gap:1.5rem}
.main-nav ul{display:flex;gap:1.4rem;list-style:none;margin:0;padding:0}
.main-nav a:not(.btn){color:var(--warm);text-decoration:none;padding:.4rem 0;border-bottom:2px solid transparent}
.main-nav a:not(.btn):hover,.main-nav a[aria-current=page]{border-color:var(--gold)}
.nav-toggle{display:none;background:none;border:1px solid var(--gold);padding:.6rem;cursor:pointer;border-radius:2px}
.nav-toggle span{display:block;width:1.4rem;height:2px;background:var(--gold);margin:.3rem 0;transition:transform .2s}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.4rem;border:2px solid transparent;border-radius:2px;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .2s,background .2s;min-height:44px}
.btn:hover{transform:translateY(-2px)}
.btn--sm{padding:.5rem 1rem;min-height:40px}
.btn--gold{background:var(--gold);color:var(--graphite)}.btn--gold:hover{background:#c9bb80;color:var(--graphite)}
.btn--dark{background:var(--graphite);color:var(--warm)}.btn--dark:hover{background:var(--graphite-2);color:var(--warm)}
.btn--outline{border-color:var(--gold);color:var(--warm);background:transparent}.btn--outline:hover{background:rgba(184,169,107,.2);color:var(--warm)}
.section:not(.section--dark) .btn--outline{color:var(--graphite)}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.5rem 0}
.icon{width:1.4rem;height:1.4rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.card{display:block;background:#fff;border:1px solid var(--beige);border-top:2px solid var(--olive);padding:1.5rem;height:100%;color:inherit;text-decoration:none;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(41,42,39,.12);color:inherit}
.card .icon{width:2rem;height:2rem;color:var(--olive);margin-bottom:.8rem}
.card__more{color:#6b6330;font-weight:700}.card time{color:var(--muted);font-size:.9rem}
.grid{display:grid;gap:1.2rem}.grid--3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.notice{border-left:4px solid var(--olive);background:var(--beige);padding:1rem 1.2rem;margin:1.5rem 0}
.notice--pending{border-left-color:#8a5a00}
.pending{background:#fff3cd;padding:.4rem .7rem;color:#5c3d00}
.faq{background:#fff;border:1px solid var(--beige);padding:.8rem 1rem;margin:.6rem 0}.faq summary{cursor:pointer;font-weight:700}
.breadcrumb{padding:1rem 0;font-size:.9rem}.breadcrumb ol{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}
.breadcrumb li+li::before{content:"›";margin-right:.4rem;color:var(--muted)}
.wa-float{position:fixed;right:1rem;bottom:1rem;z-index:60;width:3.4rem;height:3.4rem;border-radius:50%;background:var(--gold);color:var(--graphite);display:grid;place-items:center;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.wa-float .icon{width:1.8rem;height:1.8rem}
.site-footer{background:var(--graphite);color:var(--beige);padding:3rem 0 1.5rem;border-top:2px solid var(--olive)}
.site-footer a{color:var(--gold)}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:.3rem 0}
.footer-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.footer-title{font-family:var(--font-title);color:var(--warm);font-size:1.1rem}
.footer-note{border-top:1px solid var(--graphite-2);margin-top:2rem;padding-top:1rem;font-size:.9rem;color:var(--beige)}
.search label{display:block;font-weight:700;margin-bottom:.3rem}
.search input{width:100%;max-width:26rem;padding:.7rem;border:1px solid var(--olive);font:inherit;margin-bottom:1.5rem}
