:root{
  --bg:#081625;
  --bg-alt:#0e2033;
  --card:#0f2136;
  --border:#1c3349;
  --text:#f5f7fa;
  --text-muted:#8b96a3;
  --accent:#12d6d0;
  --accent-red:#e53935;
  --shadow: 0 4px 16px rgba(0,0,0,0.35);
  --header-bg:#081625;
  --header-bg-alt:#0e2033;
  --header-border:#1c3349;
  --header-text:#f5f7fa;
  --header-muted:#8b96a3;
  font-family:'Montserrat',-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
}
[data-theme="light"]{
  --bg:#f5f7fa;
  --bg-alt:#ffffff;
  --card:#ffffff;
  --border:#e0e4e9;
  --text:#081625;
  --text-muted:#5a6572;
  --accent:#0e9c97;
  --accent-red:#d32f2f;
  --shadow: 0 4px 16px rgba(8,22,37,0.08);
}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg);color:var(--text);line-height:1.5;transition:background .2s ease,color .2s ease;}
a{color:inherit;text-decoration:none;}
img{display:block;width:100%;}
.container{max-width:1200px;margin:0 auto;padding:0 20px;}

/* Logo (image file) */
.logo-link{display:flex;align-items:center;}
.logo-img{width:auto;height:28px;display:block;}
footer .logo-img{height:26px;}

/* Top utility bar */
.topbar{background:var(--header-bg-alt);border-bottom:1px solid var(--header-border);font-size:13px;}
.topbar .container{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px;padding:8px 20px;color:var(--header-muted);row-gap:6px;}
@media (max-width:480px){
  .topbar .container{justify-content:center;gap:10px;}
}
.topbar button.linklike{background:none;border:none;color:var(--header-muted);font-size:13px;cursor:pointer;font-family:inherit;padding:0;}
.topbar button.linklike:hover{color:var(--accent);}
.theme-toggle{background:var(--header-bg);border:1px solid var(--header-border);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--header-text);padding:0;}
.theme-toggle:hover{border-color:var(--accent);color:var(--accent);}
.theme-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;}
.theme-toggle .icon-moon{display:none;}
[data-theme="light"] .theme-toggle .icon-sun{display:none;}
[data-theme="light"] .theme-toggle .icon-moon{display:block;}
.search-box{display:none;align-items:center;gap:6px;}
.search-box.open{display:flex;}
.search-box input{background:var(--header-bg);border:1px solid var(--header-border);color:var(--header-text);padding:4px 8px;border-radius:4px;font-size:13px;font-family:inherit;}

/* Header / nav (always dark, independent of site theme) */
header.site-header{background:var(--header-bg);border-bottom:1px solid var(--header-border);position:sticky;top:0;z-index:10;color:var(--header-text);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;flex-wrap:wrap;gap:12px;}
nav.main-nav ul{display:flex;list-style:none;gap:26px;flex-wrap:wrap;font-size:14px;font-weight:600;}
nav.main-nav li{padding:6px 0;}
nav.main-nav a{color:var(--header-text);transition:color .15s ease;border-bottom:2px solid transparent;padding-bottom:4px;}
nav.main-nav a:hover,nav.main-nav a.active{color:var(--accent);border-bottom-color:var(--accent);}

/* Modals */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.55);z-index:100;align-items:center;justify-content:center;}
.modal-overlay.open{display:flex;}
.modal-box{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:28px;max-width:360px;width:90%;box-shadow:var(--shadow);}
.modal-box h3{margin-bottom:10px;font-size:18px;}
.modal-box p{color:var(--text-muted);font-size:14px;margin-bottom:16px;}
.modal-box input{width:100%;padding:10px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);margin-bottom:12px;font-family:inherit;}
.modal-box .btn{width:100%;padding:10px;border-radius:6px;border:none;background:var(--accent);color:#04201f;font-weight:700;cursor:pointer;}
.modal-box .btn:hover{opacity:.9;}
.modal-box .close-modal{display:block;margin-top:14px;text-align:center;color:var(--text-muted);font-size:13px;cursor:pointer;background:none;border:none;font-family:inherit;}
.modal-msg{font-size:14px;color:var(--accent);display:none;}
.modal-msg.show{display:block;}

/* Page title */
.page-title{padding:32px 0 12px;}
.page-title h1{font-size:34px;font-weight:800;}
.page-title p{color:var(--text-muted);margin-top:8px;}

/* Spotlight (single featured article) */
.spotlight{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;padding:24px 0 40px;align-items:center;}
.spotlight img{border-radius:10px;aspect-ratio:16/10;object-fit:cover;box-shadow:var(--shadow);}
.spotlight .kicker{color:var(--accent-red);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;}
.spotlight h2{font-size:30px;font-weight:800;line-height:1.2;margin-bottom:14px;transition:color .15s ease;}
.spotlight a:hover h2{color:var(--accent);}
.spotlight p.excerpt{color:var(--text-muted);margin-bottom:14px;}
.spotlight .byline{font-size:13px;color:var(--text-muted);}

/* Recent articles grid */
.section-title{font-size:22px;font-weight:800;padding:20px 0;border-top:1px solid var(--border);}
.articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-bottom:30px;}
.article-card{transition:opacity .2s ease;}
.article-card img{aspect-ratio:4/3;object-fit:cover;border-radius:6px;margin-bottom:10px;}
.article-card .kicker{font-size:11px;text-transform:uppercase;color:var(--accent-red);margin-bottom:4px;letter-spacing:.04em;font-weight:700;}
.article-card h4{font-size:15px;font-weight:700;margin-bottom:6px;transition:color .15s ease;}
.article-card:hover h4{color:var(--accent);}
.article-card .byline{font-size:12px;color:var(--text-muted);}
.article-card.hidden{display:none;}

/* Pagination */
.pagination{display:flex;gap:10px;justify-content:center;align-items:center;padding:30px 0;font-size:14px;color:var(--text-muted);}
.pagination a{padding:6px 10px;border:1px solid var(--border);border-radius:4px;}
.pagination a:hover{border-color:var(--accent);color:var(--accent);}

/* Article page */
.article-hero{padding:30px 0 10px;}
.article-hero .kicker{color:var(--accent-red);font-size:13px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;font-weight:700;}
.article-hero h1{font-size:38px;font-weight:800;line-height:1.15;margin-bottom:14px;}
.article-meta{display:flex;gap:14px;color:var(--text-muted);font-size:14px;margin-bottom:20px;flex-wrap:wrap;}
.article-hero img{border-radius:8px;aspect-ratio:16/9;object-fit:cover;margin-bottom:24px;}
.article-body{max-width:760px;margin:0 auto;padding-bottom:50px;font-size:17px;}
.article-body p{margin-bottom:18px;color:var(--text);opacity:.92;}
.article-body h2{font-size:24px;margin:32px 0 14px;}
.article-body figure{margin:26px 0;}
.article-body figure img{width:100%;border-radius:8px;aspect-ratio:16/9;object-fit:cover;}
.article-body figcaption{font-size:13px;color:var(--text-muted);margin-top:8px;text-align:center;}
.pull-quote{border-left:3px solid var(--accent);padding:6px 0 6px 18px;margin:24px 0;font-size:19px;font-style:italic;}
.article-footer{max-width:760px;margin:0 auto;padding:20px 0 60px;border-top:1px solid var(--border);color:var(--text-muted);font-size:13px;}

/* Footer (always dark, same as header) */
footer.site-footer{background:var(--header-bg-alt);border-top:1px solid var(--header-border);margin-top:20px;color:var(--header-text);}
.footer-top{display:flex;justify-content:space-between;align-items:center;padding:30px 20px;flex-wrap:wrap;gap:16px;}
.social-links{display:flex;gap:14px;}
.social-links a{width:32px;height:32px;border-radius:50%;background:var(--header-bg);border:1px solid var(--header-border);color:var(--header-text);display:flex;align-items:center;justify-content:center;font-size:13px;transition:border-color .15s ease,color .15s ease;}
.social-links a:hover{border-color:var(--accent);color:var(--accent);}
.footer-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:20px;border-top:1px solid var(--header-border);}
.footer-nav h5{font-size:13px;margin-bottom:10px;color:var(--header-muted);text-transform:uppercase;letter-spacing:.04em;}
.footer-nav ul{list-style:none;font-size:13px;}
.footer-nav li{padding:4px 0;color:var(--header-muted);}
.footer-legal{display:flex;gap:16px;flex-wrap:wrap;padding:20px;border-top:1px solid var(--header-border);font-size:13px;color:var(--header-muted);}
.footer-copy{padding:16px 20px 30px;font-size:12px;color:var(--header-muted);}

/* Tools / Calculators page */
.tools-intro{padding:30px 0 10px;}
.tools-intro h1{font-size:34px;font-weight:800;margin-bottom:10px;}
.tools-intro p{color:var(--text-muted);max-width:640px;}
.tools-nav{display:flex;flex-wrap:wrap;gap:10px;padding:20px 0 10px;}
.tools-nav a{font-size:13px;padding:6px 12px;border:1px solid var(--border);border-radius:20px;color:var(--text-muted);}
.tools-nav a:hover{border-color:var(--accent);color:var(--accent);}
.calc-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:24px;margin:20px 0;scroll-margin-top:20px;}
.calc-card h2{font-size:20px;margin-bottom:6px;}
.calc-card .calc-desc{color:var(--text-muted);font-size:14px;margin-bottom:18px;}
.calc-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.calc-field label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:.03em;}
.calc-field input,.calc-field select{width:100%;padding:9px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:inherit;font-size:14px;}
.calc-btn{background:var(--accent);color:#04201f;border:none;padding:10px 20px;border-radius:6px;font-weight:700;cursor:pointer;font-family:inherit;font-size:14px;}
.calc-btn:hover{opacity:.9;}
.calc-result{margin-top:16px;padding:14px;border-radius:8px;background:var(--bg);border-left:3px solid var(--accent);font-size:14px;line-height:1.6;display:none;}
.calc-result.show{display:block;}
.calc-result strong{color:var(--accent);}
.calc-note{font-size:12px;color:var(--text-muted);margin-top:10px;font-style:italic;}
@media (max-width:600px){
  .calc-row{grid-template-columns:1fr;}
}
@media (max-width:900px){
  .articles-grid{grid-template-columns:repeat(2,1fr);}
  .footer-nav{grid-template-columns:repeat(2,1fr);}
  .article-hero h1{font-size:28px;}
  .spotlight{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .articles-grid{grid-template-columns:1fr;}
  .footer-nav{grid-template-columns:1fr;}
  nav.main-nav ul{gap:14px;}
}
