:root{
  box-sizing:border-box;
  --bg:#F2FAF9; --card:#FFFFFF; --ink:#1F3B47; --ink-soft:#5E7A85;
  --line:#DCEAE8; --teal:#0FA3A3; --teal-deep:#0B8484; --sand:#E3F4F0; --sand-line:#B9E0D8;
}
*,*::before,*::after{box-sizing:inherit;}
html{scroll-behavior:smooth;}
body{margin:0; background:var(--bg); color:var(--ink);
  font-family:"Bricolage Grotesque","Avenir Next","Segoe UI",Arial,sans-serif;
  font-size:17px; line-height:1.65;}
.wrap{max-width:680px; margin:0 auto; padding:0 18px;}
header.site{position:sticky; top:0; z-index:10; background:var(--card); border-bottom:1px solid var(--line); padding:10px 0;}
header.site .wrap{display:flex; justify-content:space-between; align-items:center; gap:12px;}
.brand{font-weight:750; font-size:1.05rem; letter-spacing:-.01em; color:var(--ink); text-decoration:none;}
.brand span{color:var(--teal);}
.call{color:var(--ink); text-decoration:none; font-weight:650; font-size:.95rem; border-bottom:2px solid var(--teal); white-space:nowrap;}
main{padding:36px 0 50px;}
h1{font-size:clamp(1.8rem,5.5vw,2.4rem); line-height:1.12; font-weight:780; letter-spacing:-.02em; margin:0 0 10px;}
.byline{color:var(--ink-soft); font-size:.9rem; margin:0 0 26px;}
article h2{font-size:1.35rem; font-weight:740; letter-spacing:-.015em; margin:34px 0 10px;}
article h3{font-size:1.08rem; font-weight:700; margin:24px 0 8px;}
article p{margin:0 0 16px; max-width:64ch;}
article ul,article ol{margin:0 0 16px; padding-left:22px;}
article li{margin-bottom:6px;}
article a{color:var(--teal-deep);}
.answer{background:var(--sand); border:1px solid var(--sand-line); border-radius:12px; padding:16px 18px; margin:0 0 24px; font-size:1.02rem;}
table{border-collapse:collapse; width:100%; margin:0 0 20px; background:var(--card); border:1px solid var(--line); border-radius:12px; overflow:hidden; font-size:.95rem;}
th,td{text-align:left; padding:10px 12px; border-bottom:1px solid var(--line);}
th{background:var(--sand); font-weight:700;}
tr:last-child td{border-bottom:0;}
.ctabox{background:var(--card); border:1.5px solid var(--sand-line); border-radius:14px; padding:20px; margin:30px 0;}
.ctabox b{display:block; font-size:1.1rem; margin-bottom:4px;}
.ctabox p{margin:0 0 14px; color:var(--ink-soft);}
.cta{background:var(--teal); color:#fff; border-radius:12px; padding:13px 24px; font-weight:700; text-decoration:none; display:inline-block;}
.cta:active{background:var(--teal-deep);}
.postlist{list-style:none; padding:0; margin:0;}
.postlist li{background:var(--card); border:1px solid var(--line); border-radius:14px; margin:0 0 14px;}
.postlist a{display:block; padding:18px; text-decoration:none; color:var(--ink);}
.postlist .t{font-weight:720; font-size:1.12rem; letter-spacing:-.01em; margin-bottom:4px;}
.postlist .d{color:var(--ink-soft); font-size:.92rem;}
footer.site{background:var(--ink); color:#DCEAE8; padding:26px 0; margin-top:40px;}
footer.site p{margin:0 0 4px; font-size:.88rem;}
footer.site a{color:#fff;}
