
/* HeartX • Abacus-inspired clinical theme */
:root{
  --bg:#ffffff; --surface:#f7f8fa; --text:#0f172a; --muted:#475569;
  --border:#e5e7eb; --accent:#0ea5a4; --accent-ink:#0f766e;
  --shadow:0 6px 24px rgba(15,23,42,.06), 0 2px 8px rgba(15,23,42,.04);
  --radius:18px; --maxw:1140px;
}
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Playfair+Display:wght@600;700&display=swap');
html{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;}
h1,h2,h3{font-family:"Playfair Display",serif; color:var(--text)}
body{margin:0; background:var(--bg); color:var(--text)}
.container{max-width:var(--maxw); margin:0 auto; padding:36px 20px}
.header{background:#0b2447; color:#fff}
.header .wrap{max-width:var(--maxw); margin:0 auto; padding:22px 20px; display:flex; align-items:center; justify-content:space-between}
.brand{font-family:"Playfair Display",serif; font-size:26px; font-weight:700}
.nav a{color:#cbd5e1; text-decoration:none; margin-left:18px}
.nav a:hover{color:#fff}
.hero{padding:26px 0}
.hero .lead{color:var(--muted); font-size:18px}
.ctas{display:flex; gap:12px; margin-top:12px}
.btn{background:var(--accent); color:#fff; border:none; padding:12px 16px; border-radius:12px; text-decoration:none}
.btn--ghost{background:transparent; color:#fff; border:1px solid #67e8f9}
.grid{display:grid; grid-template-columns:repeat(12,1fr); gap:22px}
.card{grid-column:span 4; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden}
.card img{width:100%; height:210px; object-fit:cover}
.card .pad{padding:16px}
.card .title{font-weight:700; font-size:20px}
.meta{color:var(--muted); font-size:14px}
.tags{display:flex; gap:8px; flex-wrap:wrap; margin-top:12px}
.tag{background:#edfdfd; color:var(--accent-ink); border:1px solid #99f6e4; padding:6px 10px; border-radius:999px; font-size:12px}
.layout{display:grid; grid-template-columns:1fr 320px; gap:26px}
.sidebar{position:sticky; top:24px}
.widget{background:var(--surface); border:1px solid var(--border); border-radius:16px; box-shadow:var(--shadow); padding:16px}
.widget h3{margin:0 0 6px}
.section{margin:26px 0}
.section h2{margin:16px 0 8px}
.section p{color:#111827}
.footer{border-top:1px solid var(--border); margin-top:36px; padding:24px 20px; color:var(--muted); font-size:14px}
.post-cover{width:100%; height:420px; object-fit:cover; border-radius:var(--radius)}
form label{display:block; font-weight:600; margin:12px 0 6px}
form input,form textarea,form select{width:100%; padding:10px; border:1px solid var(--border); border-radius:10px}
.small{font-size:13px; color:var(--muted)}
@media (max-width:980px){ .grid .card{grid-column:span 6} .layout{grid-template-columns:1fr} }
@media (max-width:640px){ .grid .card{grid-column:span 12} }
