
.site-header{position:sticky;top:0;z-index:100;background:rgba(245,248,255,.9);backdrop-filter:blur(8px);border-bottom:1px solid rgba(37,99,235,.16)}
.site-header-inner{width:min(1200px,92%);margin:0 auto;display:flex;align-items:center;gap:1rem;padding:.9rem 0}
.logo{font-family:'Bebas Neue',sans-serif;font-size:1.85rem;letter-spacing:.03em;color:#0b1220;text-decoration:none}.logo span{color:#2563eb}
.site-nav{display:flex;gap:1rem;margin-left:auto}.site-nav a{text-decoration:none;color:#475569;font-size:.86rem}.site-nav a:hover{color:#2563eb}
.site-nav a.is-active, nav ul a.is-active{color:#2563eb;font-weight:700}
.site-actions{display:flex;gap:.55rem}
.site-btn{border:1px solid rgba(37,99,235,.22);border-radius:7px;padding:.48rem .82rem;text-decoration:none;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.site-btn-ghost{background:#fff;color:#1e293b;cursor:pointer}.site-btn-ghost:hover{border-color:#2563eb;color:#2563eb}
.site-btn-primary{background:#2563eb;color:#fff;border-color:#1d4ed8}.site-btn-primary:hover{background:#1d4ed8}
.site-footer{margin-top:3rem;border-top:1px solid rgba(37,99,235,.16);background:#fff;padding:2rem 0 1.1rem}
.site-footer-grid{width:min(1200px,92%);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:1.5rem}
.site-footer-grid p,.site-footer-grid a{color:#475569;font-size:.83rem;line-height:1.65;text-decoration:none;display:block}
.site-footer-grid h5{margin:.1rem 0 .5rem;font-size:.73rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
.site-footer-bottom{width:min(1200px,92%);margin:.9rem auto 0;padding-top:.9rem;border-top:1px solid rgba(37,99,235,.12);color:#64748b;font-size:.78rem}
.search-modal{position:fixed;inset:0;background:rgba(15,23,42,.48);display:none;z-index:220;align-items:flex-start;justify-content:center;padding:8vh 1rem}
.search-modal.open{display:flex}
.search-card{width:min(860px,96vw);background:#fff;border:1px solid rgba(37,99,235,.22);border-radius:12px;overflow:hidden;box-shadow:0 20px 45px rgba(2,6,23,.25)}
.search-head{display:flex;gap:.6rem;padding:.8rem;border-bottom:1px solid rgba(37,99,235,.14)}
.search-head input{flex:1;border:1px solid rgba(37,99,235,.22);border-radius:8px;padding:.65rem .72rem;font-size:.9rem}
.search-close{border:0;background:#eef2ff;color:#1e293b;border-radius:8px;padding:.55rem .72rem;cursor:pointer}
.search-results{max-height:55vh;overflow:auto;padding:.6rem}
.search-item{border:1px solid rgba(37,99,235,.15);border-radius:9px;padding:.62rem .7rem;margin-bottom:.5rem;background:#f8fbff}
.search-item a{font-weight:700;color:#0f172a;text-decoration:none}
.search-meta{font-size:.74rem;color:#64748b;margin-top:.15rem}
.search-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.35rem}.search-tags span{font-size:.68rem;color:#2563eb;border:1px solid rgba(37,99,235,.25);padding:.18rem .4rem;border-radius:999px}
@media (max-width:900px){.site-nav{display:none}.site-footer-grid{grid-template-columns:1fr}}


/* Support landing nav/footer structure across all pages */
nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:.45rem;padding:1rem 4%;border-bottom:1px solid rgba(37,99,235,.16);backdrop-filter:blur(8px);background:rgba(245,248,255,.9)}
nav ul{display:flex;gap:1rem;list-style:none;margin-left:auto;margin-right:.4rem}
.nav-controls{display:flex;align-items:center;gap:.25rem}
nav ul a{color:#475569;text-decoration:none;font-size:.82rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}
nav ul a:hover{color:#2563eb}
.nav-cta{background:#2563eb;color:#fff!important;padding:.45rem .9rem;border-radius:4px;font-weight:700!important}
.theme-toggle{border:1px solid rgba(37,99,235,.22);background:#fff;color:#1e293b;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;padding:.45rem .75rem;border-radius:6px;cursor:pointer}
.theme-toggle:hover{border-color:#2563eb;color:#2563eb}
.icon-btn{width:auto;height:auto;min-width:0;min-height:0;padding:.15rem .25rem;display:inline-flex;align-items:center;justify-content:center;border:0!important;background:transparent!important;box-shadow:none!important;font-size:1.22rem;line-height:1;text-transform:none;letter-spacing:0;vertical-align:middle;color:#1e293b}
.icon-btn span{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.icon-btn i{font-size:1.22rem}
.icon-btn:hover{color:#2563eb!important}
[data-theme="dark"] .icon-btn{color:#ffffff}
[data-theme="dark"] .icon-btn:hover{color:#93c5fd!important}
.mobile-menu-toggle{display:none;border:1px solid rgba(37,99,235,.22);background:#fff;color:#1e293b;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;padding:.45rem .75rem;border-radius:6px;cursor:pointer}
.mobile-menu-toggle:hover{border-color:#2563eb;color:#2563eb}
footer{background:#fff;border-top:1px solid rgba(37,99,235,.16);padding:2rem 4% 1.2rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:1.6rem;max-width:1200px;margin:0 auto 1.3rem}
.footer-brand p,.footer-col ul a,.footer-bottom p{color:#475569;font-size:.82rem;line-height:1.6;text-decoration:none}
.footer-col h5{margin:.1rem 0 .55rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.45rem}
.footer-bottom{max-width:1200px;margin:0 auto;padding-top:.8rem;border-top:1px solid rgba(37,99,235,.12);display:flex;justify-content:space-between;align-items:center;gap:.8rem;flex-wrap:wrap}
.footer-social{display:flex;gap:.45rem}.footer-social a{width:32px;height:32px;border:1px solid rgba(37,99,235,.2);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#475569;text-decoration:none}
@media (max-width:900px){
  .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center}
  nav{position:sticky;flex-wrap:wrap}
  .nav-controls{margin-left:auto}
  nav ul{display:none;width:100%;flex-direction:column;gap:.55rem;padding:.75rem 0 .25rem;border-top:1px solid rgba(37,99,235,.16);margin:0}
  nav.mobile-open ul{display:flex}
  nav .theme-toggle{font-size:.68rem;padding:.38rem .6rem}
  nav .icon-btn{padding:.1rem .2rem;font-size:1.15rem}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){.footer-grid{grid-template-columns:1fr}}

@media (max-width:768px){
  .search-modal{padding:1rem .6rem;align-items:flex-start}
  .search-card{width:100%;max-width:100%;border-radius:10px;max-height:88vh;display:flex;flex-direction:column}
  .search-head{position:sticky;top:0;background:#fff;z-index:2;padding:.65rem;gap:.45rem}
  .search-head input{font-size:16px;padding:.62rem .68rem}
  .search-close{padding:.5rem .62rem}
  .search-results{max-height:none;flex:1;overflow:auto;padding:.5rem}
  .search-item{padding:.58rem .62rem}
}

@media (max-width:420px){
  .search-modal{padding:.55rem .35rem}
  .search-head{padding:.5rem}
  .search-head input{padding:.58rem .62rem}
}
