:root{
  --accent:#0f766e; --accent-dark:#0b5c55;
  --ink:#1a1a1a; --muted:#5c6670; --line:#e6e8eb; --bg:#ffffff; --soft:#f6f8f9;
  --max:720px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; font:17px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink); background:var(--bg);
}
.wrap{max-width:var(--max); margin:0 auto; padding:0 20px}
a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%; height:auto}

/* header */
.site-header{border-bottom:1px solid var(--line); background:var(--bg); position:sticky; top:0; z-index:10}
.site-header .wrap{display:flex; align-items:center; justify-content:space-between; padding-top:14px; padding-bottom:14px}
.brand{font-weight:800; font-size:20px; color:var(--ink); display:inline-flex; align-items:center; gap:9px}
.brand:hover{text-decoration:none}
.logo-mark{flex:0 0 auto; border-radius:7px; box-shadow:0 1px 3px rgba(0,0,0,.12)}
.site-header nav a{color:var(--muted); margin-left:18px; font-size:15px}
.site-header nav a:hover{color:var(--accent)}

/* hero + home grid */
.hero{padding:48px 0 8px}
.hero h1{font-size:34px; line-height:1.2; margin:0 0 10px}
.hero p{color:var(--muted); font-size:19px; margin:0}
.grid{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:28px 0 48px}
.card{border:1px solid var(--line); border-radius:14px; padding:20px; color:var(--ink); background:var(--bg); transition:.15s; display:block}
.card:hover{border-color:var(--accent); transform:translateY(-2px); text-decoration:none; box-shadow:0 6px 20px rgba(0,0,0,.05)}
.card-cat{font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--accent)}
.card h2{font-size:19px; line-height:1.3; margin:8px 0 8px}
.card p{color:var(--muted); font-size:15px; margin:0 0 12px}
.card-meta{font-size:13px; color:var(--muted)}

/* article */
.post h1,.page h1{font-size:32px; line-height:1.2; margin:24px 0 8px}
.breadcrumb{font-size:13px; color:var(--muted); margin-top:24px}
.post-meta{color:var(--muted); font-size:14px; margin:0 0 24px}
.post-body h2{font-size:24px; margin:36px 0 12px; line-height:1.25}
.post-body h3{font-size:20px; margin:28px 0 10px}
.post-body p{margin:0 0 18px}
.post-body ul,.post-body ol{margin:0 0 18px; padding-left:24px}
.post-body li{margin:0 0 8px}
.post-body table{width:100%; border-collapse:collapse; margin:0 0 22px; font-size:15px; display:block; overflow-x:auto}
.post-body th,.post-body td{border:1px solid var(--line); padding:10px 12px; text-align:left}
.post-body th{background:var(--soft); font-weight:700}
.post-body blockquote{border-left:4px solid var(--accent); margin:0 0 20px; padding:6px 18px; color:var(--muted); background:var(--soft); border-radius:0 8px 8px 0}
.post-body a{text-decoration:underline}
.post-body strong{color:var(--ink)}

/* key takeaways (AEO/GEO answer box) */
.takeaways{background:var(--soft); border:1px solid var(--line); border-left:4px solid var(--accent);
  border-radius:0 12px 12px 0; padding:18px 22px; margin:20px 0 8px}
.takeaways h2{font-size:16px; text-transform:uppercase; letter-spacing:.05em; color:var(--accent); margin:0 0 10px}
.takeaways ul{margin:0; padding-left:20px}
.takeaways li{margin:0 0 6px; font-size:15.5px}

/* related guides (internal links) */
.related{margin:40px 0 8px; border-top:1px solid var(--line); padding-top:20px}
.related h2{font-size:20px; margin:0 0 12px}
.related ul{margin:0; padding-left:20px}
.related li{margin:0 0 8px}

/* faq */
.faq{margin:40px 0; border-top:1px solid var(--line); padding-top:24px}
.faq h2{font-size:24px; margin:0 0 16px}
.faq details{border:1px solid var(--line); border-radius:10px; padding:14px 16px; margin:0 0 10px}
.faq summary{font-weight:600; cursor:pointer}
.faq p{margin:12px 0 0; color:var(--muted)}

/* ads */
.ad-slot{margin:28px 0; text-align:center}
.ad-placeholder{margin:28px 0; padding:28px; text-align:center; color:#9aa4ad; font-size:13px;
  border:1px dashed #cfd6dc; border-radius:10px; background:var(--soft); letter-spacing:.05em}

/* footer */
.site-footer{border-top:1px solid var(--line); margin-top:48px; padding:32px 0; background:var(--soft)}
.site-footer p{margin:0 0 8px; color:var(--muted); font-size:14px}
.foot-links a{color:var(--muted)}
.disclaimer-note{font-size:12px}

@media(max-width:640px){
  .grid{grid-template-columns:1fr}
  .hero h1{font-size:27px}
  .post h1,.page h1{font-size:26px}
}
