:root{
  --bs-ink:#0f1720;
  --bs-muted:#5b6672;
  --bs-line:#e6e6e2;
  --bs-bg:#ffffff;
  --bs-soft:#f6f5f1;
  --bs-brand:#0b3d64;
  --bs-accent:#c8102e;
  --bs-radius:10px;
  --bs-max:1180px;
  --bs-serif:Georgia,"Times New Roman",serif;
  --bs-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bs-bg);color:var(--bs-ink);font-family:var(--bs-sans);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--bs-brand);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--bs-serif);line-height:1.25;margin:0 0 .5em;color:var(--bs-ink)}
h1{font-size:2.35rem}
h2{font-size:1.7rem}
h3{font-size:1.25rem}
.bs-container{max-width:var(--bs-max);margin:0 auto;padding:0 20px}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:10px;top:10px;background:#fff;padding:10px;z-index:99}

/* Header */
.bs-topbar{background:var(--bs-brand);color:#fff;font-size:.82rem}
.bs-topbar .bs-container{display:flex;justify-content:space-between;gap:12px;padding-top:8px;padding-bottom:8px;flex-wrap:wrap}
.bs-topbar a{color:#fff;opacity:.9}
.bs-header{border-bottom:1px solid var(--bs-line);padding:22px 0}
.bs-header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.bs-brand{display:flex;align-items:center;gap:12px}
.bs-brand .site-title{font-family:var(--bs-serif);font-size:1.9rem;margin:0;letter-spacing:-.5px}
.bs-brand .site-title a{color:var(--bs-ink)}
.bs-brand .site-description{margin:2px 0 0;color:var(--bs-muted);font-size:.85rem}
.bs-nav-wrap{border-bottom:1px solid var(--bs-line);background:var(--bs-soft)}
.bs-nav{display:flex;align-items:center;justify-content:space-between;gap:16px}
.bs-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0}
.bs-nav li a{display:block;padding:12px 14px;font-size:.92rem;font-weight:600;color:var(--bs-ink);text-transform:uppercase;letter-spacing:.4px}
.bs-nav li a:hover,.bs-nav .current-menu-item>a{color:var(--bs-accent);text-decoration:none}
.bs-nav ul ul{display:none;position:absolute;background:#fff;border:1px solid var(--bs-line);flex-direction:column;min-width:200px;z-index:20}
.bs-nav li{position:relative}
.bs-nav li:hover>ul{display:flex}
.bs-menu-toggle{display:none;background:none;border:1px solid var(--bs-line);border-radius:6px;padding:8px 12px;font-weight:600;cursor:pointer}

/* Layout */
.bs-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:44px;padding:40px 0 60px}
.bs-full .bs-layout{grid-template-columns:minmax(0,1fr)}

/* Cards */
.bs-card{border:1px solid var(--bs-line);border-radius:var(--bs-radius);overflow:hidden;background:#fff;margin-bottom:28px}
.bs-card .bs-thumb img{width:100%;aspect-ratio:16/9;object-fit:cover}
.bs-card-body{padding:18px 20px 22px}
.bs-cat{display:inline-block;background:var(--bs-accent);color:#fff;font-size:.68rem;letter-spacing:1px;text-transform:uppercase;padding:4px 9px;border-radius:4px;margin-bottom:10px}
.bs-cat:hover{color:#fff;text-decoration:none}
.bs-meta{color:var(--bs-muted);font-size:.82rem;margin:6px 0 10px}
.bs-excerpt{color:#39424c;margin:0 0 14px}
.bs-more{font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.6px}

/* Single */
.bs-entry-header{margin-bottom:20px}
.bs-entry-content p{margin:0 0 1.25em}
.bs-entry-content blockquote{border-left:4px solid var(--bs-accent);margin:1.5em 0;padding:.4em 0 .4em 20px;font-family:var(--bs-serif);font-size:1.15rem;color:#2b333b}
.bs-entry-content figure{margin:1.6em 0}
.bs-share{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0}
.bs-share a{border:1px solid var(--bs-line);border-radius:999px;padding:6px 14px;font-size:.82rem}
.bs-author-box{display:flex;gap:16px;background:var(--bs-soft);border-radius:var(--bs-radius);padding:20px;margin:30px 0}
.bs-author-box img{border-radius:50%}
.bs-related{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}

/* Sidebar */
.bs-sidebar .widget{border:1px solid var(--bs-line);border-radius:var(--bs-radius);padding:18px 20px;margin-bottom:24px;background:#fff}
.bs-sidebar .widget-title{font-size:.95rem;text-transform:uppercase;letter-spacing:1px;border-bottom:2px solid var(--bs-accent);display:inline-block;padding-bottom:6px;margin-bottom:14px}
.bs-sidebar ul{list-style:none;margin:0;padding:0}
.bs-sidebar li{padding:7px 0;border-bottom:1px dashed var(--bs-line);font-size:.94rem}
.bs-sidebar li:last-child{border-bottom:0}

/* Forms */
input[type=text],input[type=email],input[type=search],input[type=url],textarea,select{width:100%;padding:11px 13px;border:1px solid var(--bs-line);border-radius:8px;font:inherit;background:#fff}
.bs-btn,button,input[type=submit]{display:inline-block;background:var(--bs-brand);color:#fff;border:0;border-radius:8px;padding:11px 20px;font-weight:600;cursor:pointer}
.bs-btn:hover,button:hover{background:var(--bs-accent);color:#fff;text-decoration:none}

/* Pagination + breadcrumbs */
.bs-pagination{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0 0}
.bs-pagination .page-numbers{border:1px solid var(--bs-line);border-radius:6px;padding:8px 13px}
.bs-pagination .current{background:var(--bs-brand);color:#fff;border-color:var(--bs-brand)}
.bs-breadcrumbs{font-size:.82rem;color:var(--bs-muted);padding:14px 0 0}

/* Footer */
.bs-footer{background:var(--bs-ink);color:#c9d2da;margin-top:40px;padding:46px 0 0}
.bs-footer a{color:#fff}
.bs-footer .widget-title{color:#fff;font-size:.95rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}
.bs-footer-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px;padding-bottom:34px}
.bs-footer ul{list-style:none;margin:0;padding:0}
.bs-footer li{padding:6px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.bs-copy{border-top:1px solid rgba(255,255,255,.12);padding:18px 0;font-size:.85rem;text-align:center}

@media(max-width:900px){
  .bs-layout{grid-template-columns:1fr;gap:32px}
  .bs-menu-toggle{display:block}
  .bs-nav ul.bs-menu{display:none;flex-direction:column;width:100%}
  .bs-nav.is-open ul.bs-menu{display:flex}
  .bs-nav{flex-direction:column;align-items:flex-start;padding:10px 0}
  h1{font-size:1.85rem}
}
