/* ===== BLOG ===== */
.bl-hero{padding-bottom:56px}
.bl-narrow{max-width:820px}
.bl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.bl-card{background:#fff;border:1px solid #ece4da;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 44px -36px rgba(34,26,51,.55);transition:transform .35s,box-shadow .35s}
.bl-card:hover{transform:translateY(-6px);box-shadow:0 30px 54px -32px rgba(34,26,51,.55)}
.bl-card-img{display:block;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,#221a33,#4a2b55)}
.bl-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s}
.bl-card:hover .bl-card-img img{transform:scale(1.06)}
.bl-ph{display:grid;place-items:center;width:100%;height:100%;color:#f3dcb8}
.bl-ph svg{width:46px;height:46px}
.bl-card-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.bl-cat{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#9a6b3c;margin-bottom:8px}
.bl-card h2{font-family:var(--serif);font-size:1.22rem;line-height:1.3;margin:0 0 10px}
.bl-card h2 a{color:#221a33;text-decoration:none}
.bl-card h2 a:hover{color:#a3274a}
.bl-card p{color:#5d5568;line-height:1.65;font-size:.95rem;margin:0 0 16px;flex:1}
.bl-meta{display:flex;gap:14px;color:#8a8196;font-size:.82rem}
.bl-meta span+span:before{content:"\00b7";margin-right:14px}
.bl-empty{max-width:640px;margin:0 auto;text-align:center;background:#fff;border:1px solid #ece4da;border-radius:26px;padding:48px 32px;box-shadow:0 30px 60px -48px rgba(34,26,51,.6)}
.bl-empty .bl-ph{width:76px;height:76px;margin:0 auto 18px;border-radius:22px;background:linear-gradient(135deg,#221a33,#4a2b55)}
.bl-empty h2{font-family:var(--serif);font-size:1.6rem;margin:0 0 10px;color:#221a33}
.bl-empty p{color:#5d5568;line-height:1.75;margin:0 0 22px}
.bl-pag{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:40px}
.bl-pag a,.bl-pag span{padding:10px 16px;border-radius:12px;border:1px solid #ece4da;background:#fff;color:#221a33;text-decoration:none;font-weight:600}
.bl-pag .current{background:#221a33;color:#fff;border-color:#221a33}
.bl-byline{display:flex;align-items:center;gap:12px;margin-top:6px}
.bl-av{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#f3dcb8,#c9a37a);color:#221a33;font-family:var(--serif);font-weight:600}
.bl-byline b{display:block;color:#221a33}
.bl-byline small{color:#7a7186}
.bl-single .bl-hero h1{font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.15;margin:8px 0 18px}
.bl-art{padding-top:40px}
.bl-hero-img{margin:0 0 34px;border-radius:24px;overflow:hidden;box-shadow:0 34px 70px -46px rgba(34,26,51,.7)}
.bl-hero-img img{display:block;width:100%;height:auto}
.bl-content{font-size:1.07rem;line-height:1.85;color:#3b3446}
.bl-content h2{font-family:var(--serif);font-size:1.7rem;color:#221a33;margin:42px 0 14px;line-height:1.25}
.bl-content h3{font-family:var(--serif);font-size:1.3rem;color:#221a33;margin:30px 0 10px}
.bl-content p{margin:0 0 18px}
.bl-content a{color:#a3274a;font-weight:600}
.bl-content ul,.bl-content ol{margin:0 0 20px;padding-left:24px}
.bl-content li{margin-bottom:8px}
.bl-content blockquote{margin:26px 0;padding:18px 24px;border-left:4px solid #a3274a;background:#fbf6f1;border-radius:0 14px 14px 0;font-family:var(--serif);font-size:1.2rem;color:#221a33}
.bl-content img{max-width:100%;height:auto;border-radius:16px}
.bl-content figure{margin:26px 0}
.bl-content table{width:100%;border-collapse:collapse;margin:20px 0}
.bl-content th,.bl-content td{border:1px solid #ece4da;padding:10px 12px;text-align:left}
.bl-content th{background:#221a33;color:#f3dcb8}
.bl-cta{margin:40px 0 18px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border-radius:22px;padding:26px 28px;color:#fff;background:radial-gradient(120% 90% at 20% 10%,#3b2547 0%,#221a33 50%,#140f1c 100%)}
.bl-cta b{display:block;font-family:var(--serif);font-size:1.25rem;margin-bottom:4px}
.bl-cta span{color:#c9bfd3;font-size:.95rem}
.bl-disc{font-size:.85rem;color:#7a7186}
.bl-related{background:linear-gradient(180deg,#fcf8f3,#f7f0e8)}
.bl-rel-h{font-family:var(--serif);font-size:1.8rem;text-align:center;margin:0 0 30px;color:#221a33}
@media(max-width:1000px){.bl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.bl-grid{grid-template-columns:minmax(0,1fr)}.bl-cta{padding:22px}.bl-content{font-size:1.02rem}}

/* post components */
.bl-quick{margin:26px 0 30px;padding:22px 24px;border-radius:18px;background:linear-gradient(135deg,#fcf0f3,#fbf3ea);border:1px solid #f0dcd6;border-left:5px solid #a3274a}
.bl-quick p{margin:0;color:#3b3446}
.bl-toc{margin:0 0 34px;padding:22px 26px;background:#fff;border:1px solid #ece4da;border-radius:18px;box-shadow:0 16px 36px -32px rgba(34,26,51,.5)}
.bl-toc-h{font-family:var(--serif);font-size:1.2rem;font-weight:600;color:#221a33;margin:0 0 12px!important}
.bl-toc ol{margin:0;padding-left:22px;columns:2;column-gap:30px}
.bl-toc li{margin:0 0 8px;break-inside:avoid}
.bl-toc a{font-weight:500!important;text-decoration:none}
.bl-toc a:hover{text-decoration:underline}
.bl-content h2{scroll-margin-top:110px}
.bl-table{overflow-x:auto;margin:16px 0 24px;border-radius:14px;border:1px solid #ece4da}
.bl-table table{margin:0;min-width:420px}
.bl-table th,.bl-table td{border:0;border-bottom:1px solid #f0e8df;padding:12px 16px}
.bl-table tr:last-child td{border-bottom:0}
.bl-table tbody tr:nth-child(even){background:#fcf8f3}
.bl-note{margin:22px 0;padding:18px 22px;border-radius:14px;background:#fbf6f1;border:1px solid #efe2d4}
.bl-note p{margin:0}
.bl-tip{background:#f3f7f2;border-color:#dfe9dc}
.bl-related-svc{margin:28px 0 10px;padding:24px;border-radius:20px;background:#221a33;color:#fff}
.bl-rs-h{font-family:var(--serif);font-size:1.25rem;margin:0 0 14px!important;color:#f3dcb8}
.bl-rs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bl-rs-grid a{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);text-decoration:none;color:#fff!important;transition:background .2s,border-color .2s}
.bl-rs-grid a:hover{background:rgba(255,255,255,.1);border-color:rgba(201,163,122,.5)}
.bl-rs-grid b{font-family:var(--serif);font-size:1.05rem}
.bl-rs-grid span{color:#c9bfd3;font-size:.9rem;font-weight:400}
.bl-faq details{border:1px solid #ece4da;border-radius:14px;background:#fff;margin-bottom:10px;padding:0 18px}
.bl-faq summary{cursor:pointer;padding:16px 0;font-weight:600;color:#221a33;list-style:none;position:relative;padding-right:28px}
.bl-faq summary::-webkit-details-marker{display:none}
.bl-faq summary:after{content:"+";position:absolute;right:0;top:12px;font-size:1.4rem;color:#a3274a}
.bl-faq details[open] summary:after{content:"\2212"}
.bl-faq details p{margin:0 0 16px}
.bl-wa{margin:20px 0}
.bl-content .bl-disc{font-size:.88rem;color:#7a7186}
@media(max-width:640px){.bl-toc ol{columns:1}.bl-rs-grid{grid-template-columns:minmax(0,1fr)}}
.bl-hero .wrap{display:block!important}
.bl-hero .wrap>*{max-width:820px}
.bl-hero.bl-hero .wrap.bl-narrow{margin-left:auto;margin-right:auto}

/* buttons inside post content keep their own colours */
.bl-content a.sv-btn,.bl-content a.hx-btn{color:#fff!important;text-decoration:none}
/* WhatsApp CTA card */
.bl-wabox{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:24px 0 18px;padding:24px 26px;border-radius:22px;color:#fff;background:radial-gradient(120% 120% at 15% 0%,#3b2547 0%,#221a33 55%,#140f1c 100%);box-shadow:0 30px 60px -40px rgba(34,26,51,.8)}
.bl-wabox-ic{flex:0 0 58px;height:58px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#2fe07a,#1ebe5d 45%,#128c7e);box-shadow:0 0 0 8px rgba(37,211,102,.14)}
.bl-wabox-ic svg{width:30px;height:30px}
.bl-wabox-txt{flex:1;min-width:220px;display:flex;flex-direction:column;gap:3px}
.bl-wabox-txt b{font-family:var(--serif);font-size:1.25rem;font-weight:600;color:#fff}
.bl-wabox-txt span{color:#c9bfd3;font-size:.94rem;line-height:1.55}
.bl-wabox-txt .bl-wabox-num{color:#f3dcb8;font-weight:700;font-size:1.05rem;letter-spacing:.02em;margin-top:4px}
.bl-content a.bl-wabox-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;background:linear-gradient(145deg,#2fe07a,#1ebe5d 45%,#128c7e);color:#fff!important;font-weight:700;font-size:1rem;text-decoration:none;box-shadow:0 14px 28px -12px rgba(18,140,126,.8);transition:transform .2s,box-shadow .2s;white-space:nowrap}
.bl-content a.bl-wabox-btn:hover{transform:translateY(-2px);box-shadow:0 18px 34px -12px rgba(18,140,126,.9)}
.bl-wabox-btn svg{width:20px;height:20px}
@media(max-width:600px){.bl-wabox{padding:22px 20px}.bl-content a.bl-wabox-btn{width:100%;justify-content:center}}
/* latest blog block (home + state pages) */
.bl-latest{padding:90px 0;background:#fff}
.bl-latest .head{max-width:760px;margin:0 auto 36px;text-align:center}
.bl-grid-latest{justify-content:center}
@media(min-width:1001px){.bl-grid-latest{display:flex!important;flex-wrap:wrap;gap:22px}.bl-grid-latest>.bl-card{flex:0 1 calc((100% - 44px)/3)}}
.bl-latest-more{text-align:center;margin:34px 0 0}
@media(max-width:600px){.bl-latest{padding:60px 0}}
