/* Blog + contact pages (The Redbox Media brand: Montserrat, #EA0606, 3px radius) */
.bl section{padding-block:56px;}
@media (min-width:720px){ .bl section{padding-block:80px;} }
.bl h1{font-size:clamp(32px,5vw,52px);font-weight:800;line-height:1.06;color:var(--ink);max-width:860px;}
.bl h1 em,.bl h2 em{font-style:normal;color:var(--accent);}

/* hero */
.bl-hero{padding:56px 0 8px;background:linear-gradient(180deg,var(--bg-alt),var(--bg));border-bottom:1px solid var(--line);}
@media (min-width:720px){ .bl-hero{padding:80px 0 12px;} }
.bl-toolbar{display:flex;flex-direction:column;gap:16px;margin-top:36px;padding-bottom:22px;}
@media (min-width:860px){ .bl-toolbar{flex-direction:row;align-items:center;justify-content:space-between;} }
.bl-cats{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;}
.bl-cats::-webkit-scrollbar{display:none;}
.bl-cat{flex-shrink:0;padding:9px 16px;border:1.5px solid var(--line-strong);border-radius:3px;font-size:13px;font-weight:700;text-decoration:none;color:var(--ink-soft);background:#fff;transition:.2s;}
.bl-cat:hover{border-color:var(--accent);color:var(--accent);}
.bl-cat.on{background:var(--accent);border-color:var(--accent);color:#fff;}
.bl-search{position:relative;flex-shrink:0;width:100%;}
@media (min-width:860px){ .bl-search{width:280px;} }
.bl-search svg{position:absolute;left:14px;top:50%;width:17px;height:17px;transform:translateY(-50%);color:var(--ink-faint);}
.bl-search input{width:100%;padding:12px 14px 12px 40px;border:1.5px solid var(--line-strong);border-radius:3px;font:500 14px 'Montserrat',sans-serif;background:#fff;color:var(--ink);outline:none;}
.bl-search input:focus{border-color:var(--accent);}

/* meta + chips */
.bl-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:12.5px;font-weight:600;color:var(--ink-faint);}
.bl-chip{display:inline-flex;padding:4px 10px;border-radius:3px;background:var(--accent-tint);color:var(--accent);font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;}
.bl-chip-solid{background:var(--accent);color:#fff;}

/* featured */
.bl-featured{display:grid;gap:0;border:1px solid var(--line);border-radius:3px;overflow:hidden;background:#fff;margin-bottom:40px;box-shadow:0 24px 48px -36px rgba(25,19,16,.35);}
@media (min-width:900px){ .bl-featured{grid-template-columns:1.15fr 1fr;} }
.bl-featured-media{display:block;aspect-ratio:16/10;background:var(--bg-alt);overflow:hidden;}
.bl-featured-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.bl-featured:hover .bl-featured-media img{transform:scale(1.03);}
.bl-featured-body{padding:28px 24px 32px;display:flex;flex-direction:column;justify-content:center;gap:16px;}
@media (min-width:900px){ .bl-featured-body{padding:44px;} }
.bl-featured h2{font-size:clamp(24px,2.8vw,32px);font-weight:800;line-height:1.12;}
.bl-featured h2 a{text-decoration:none;}
.bl-featured h2 a:hover{color:var(--accent);}
.bl-featured p{margin:0;font-size:15.5px;line-height:1.65;color:var(--ink-soft);}
.bl-featured .btn{align-self:flex-start;margin-top:6px;}

/* grid + cards */
.bl-grid{display:grid;gap:22px;}
@media (min-width:640px){ .bl-grid{grid-template-columns:repeat(2,1fr);} }
@media (min-width:1000px){ .bl-grid{grid-template-columns:repeat(3,1fr);} }
.bl-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden;transition:transform .25s ease, box-shadow .25s ease;}
.bl-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -28px rgba(25,19,16,.4);}
.bl-card-media{display:block;aspect-ratio:16/9;background:var(--bg-alt);overflow:hidden;}
.bl-card-media img{width:100%;height:100%;object-fit:cover;}
.bl-card-ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,var(--bg-alt),var(--accent-tint));}
.bl-card-ph img{width:72px!important;height:72px!important;object-fit:contain!important;opacity:.85;}
.bl-card-body{display:flex;flex-direction:column;gap:12px;padding:20px 20px 22px;flex:1;}
.bl-card h3{font-size:18.5px;font-weight:800;line-height:1.25;}
.bl-card h3 a{text-decoration:none;}
.bl-card h3 a:hover{color:var(--accent);}
.bl-card p{margin:0;font-size:14.5px;line-height:1.6;color:var(--ink-soft);flex:1;}
.bl-card-foot{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-faint);font-weight:600;}
.bl-more{color:var(--accent);font-weight:800;text-decoration:none;}

.bl-empty{text-align:center;padding:40px 20px;border:1.5px dashed var(--line-strong);border-radius:3px;background:var(--bg-alt);}
.bl-empty h2{font-size:26px;font-weight:800;}
.bl-empty p{color:var(--ink-soft);margin:12px auto 22px;max-width:460px;line-height:1.6;}

.bl-pager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:44px;font-size:14px;font-weight:700;}
.bl-pg{padding:10px 16px;border:1.5px solid var(--line-strong);border-radius:3px;text-decoration:none;}
.bl-pg:hover{border-color:var(--accent);color:var(--accent);}
.bl-pg.off{opacity:.4;}
.bl-pg-info{color:var(--ink-faint);font-weight:600;}

/* CTA */
.bl-cta-wrap{padding-top:0!important;}
.bl-cta{display:grid;gap:28px;padding:36px 28px;border-radius:3px;background:var(--ink);color:#fff;position:relative;overflow:hidden;}
.bl-cta::after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:var(--accent);opacity:.18;}
@media (min-width:900px){ .bl-cta{grid-template-columns:1.4fr auto;align-items:center;padding:52px 56px;} }
.bl-cta h2{font-size:clamp(26px,3.2vw,36px);font-weight:800;line-height:1.1;color:#fff;margin-top:18px;}
.bl-cta p{margin:14px 0 0;max-width:560px;color:rgba(255,255,255,.75);line-height:1.65;font-size:15.5px;}
.bl-cta-actions{display:flex;flex-wrap:wrap;gap:12px;position:relative;z-index:1;}
.bl-cta .btn-ghost{color:#fff;border-color:rgba(255,255,255,.35);}
.bl-cta .btn-ghost:hover{border-color:#fff;color:#fff;}
.bl-cta-avs{display:flex;}
.bl-cta-avs img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2.5px solid var(--ink);margin-left:-10px;background:#ddd;}
.bl-cta-avs img:first-child{margin-left:0;}

/* single post */
.bl-narrow{max-width:780px;}
.bl-wide{max-width:1060px;}
.bl-post-head{padding:44px 0 32px;}
@media (min-width:720px){ .bl-post-head{padding:64px 0 40px;} }
.bl-back{display:inline-block;margin-bottom:22px;font-size:13px;font-weight:700;color:var(--ink-faint);text-decoration:none;}
.bl-back:hover{color:var(--accent);}
.bl-post h1{font-size:clamp(30px,4.6vw,48px);margin-top:16px;}
.bl-author{display:flex;align-items:center;gap:12px;margin-top:26px;font-size:14px;line-height:1.35;}
.bl-author small{color:var(--ink-faint);font-weight:600;}
.bl-author-av{width:42px;height:42px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;}
.bl-cover{margin:0 0 40px;border-radius:3px;overflow:hidden;border:1px solid var(--line);}
.bl-cover img{display:block;width:100%;height:auto;}

.bl-prose{font-size:17px;line-height:1.8;color:#2D2622;}
.bl-prose > *:first-child{margin-top:0;}
.bl-prose h2,.bl-prose h3,.bl-prose h4{text-transform:none;letter-spacing:-.01em;line-height:1.2;color:var(--ink);font-weight:800;}
.bl-prose h2{font-size:28px;margin:48px 0 16px;}
.bl-prose h3{font-size:22px;margin:36px 0 12px;}
.bl-prose h4{font-size:18px;margin:28px 0 10px;}
.bl-prose p{margin:0 0 20px;}
.bl-prose a{color:var(--accent);font-weight:600;text-underline-offset:3px;}
.bl-prose ul,.bl-prose ol{margin:0 0 22px;padding-left:24px;}
.bl-prose li{margin-bottom:8px;}
.bl-prose li::marker{color:var(--accent);font-weight:700;}
.bl-prose blockquote{margin:30px 0;padding:18px 24px;border-left:4px solid var(--accent);background:var(--bg-alt);border-radius:0 3px 3px 0;font-size:18px;font-weight:600;color:var(--ink);}
.bl-prose blockquote p:last-child{margin:0;}
.bl-prose img{display:block;height:auto;border-radius:3px;margin:28px auto;}
.bl-prose iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:3px;margin:28px 0;}
.bl-prose table{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:15px;}
.bl-prose th,.bl-prose td{border:1px solid var(--line);padding:10px 12px;text-align:left;}
.bl-prose th{background:var(--bg-alt);}
.bl-prose code{background:var(--bg-alt);padding:2px 6px;border-radius:3px;font-size:.9em;}
.bl-prose hr{border:0;border-top:1px solid var(--line);margin:40px 0;}

.bl-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px;}
.bl-tags a{padding:6px 12px;border:1px solid var(--line-strong);border-radius:3px;font-size:13px;font-weight:600;color:var(--ink-soft);text-decoration:none;}
.bl-tags a:hover{border-color:var(--accent);color:var(--accent);}
.bl-share{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:28px 0 64px;padding-top:24px;border-top:1px solid var(--line);font-size:13.5px;font-weight:700;}
.bl-share span{color:var(--ink-faint);}
.bl-share a{color:var(--accent);text-decoration:none;}
.bl-related{background:var(--bg-alt);border-top:1px solid var(--line);}
.bl-related h2{font-size:clamp(26px,3.2vw,36px);font-weight:800;margin-bottom:32px;text-transform:none;}

/* contact page */
.ct-grid{display:grid;gap:24px;}
@media (min-width:960px){ .ct-grid{grid-template-columns:1.5fr 1fr;align-items:start;} }
.ct-card{background:#fff;border:1px solid var(--line);border-radius:3px;padding:26px 22px;}
@media (min-width:720px){ .ct-card{padding:36px;} }
.ct-form{display:grid;gap:18px;}
.ct-row{display:grid;gap:18px;}
@media (min-width:640px){ .ct-row{grid-template-columns:1fr 1fr;} }
.ct-field{display:grid;gap:7px;font-size:13px;font-weight:700;color:var(--ink);}
.ct-field input,.ct-field textarea{width:100%;padding:13px 14px;border:1.5px solid var(--line-strong);border-radius:3px;font:500 15px 'Montserrat',sans-serif;color:var(--ink);background:#fff;outline:none;resize:vertical;}
.ct-field input:focus,.ct-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint);}
.ct-field em{font-style:normal;font-size:12.5px;font-weight:600;color:var(--accent);}
.ct-form .btn{justify-self:start;}
.ct-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.ct-ok{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;margin-bottom:22px;border-radius:3px;background:#E8F5EC;color:#1E6B35;font-size:14.5px;line-height:1.5;}
.ct-ok svg{width:22px;height:22px;flex-shrink:0;margin-top:1px;}
.ct-side{display:grid;gap:16px;}
.ct-book{display:grid;gap:10px;padding:26px;border-radius:3px;background:var(--ink);color:#fff;text-decoration:none;}
.ct-book .bl-cta-avs img{width:40px;height:40px;}
.ct-book strong{font-size:20px;font-weight:800;margin-top:6px;}
.ct-book span{color:rgba(255,255,255,.75);font-size:14.5px;line-height:1.55;}
.ct-book .ct-book-link{color:#fff;font-weight:800;margin-top:4px;}
.ct-book:hover .ct-book-link{text-decoration:underline;}
.ct-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:3px;background:#fff;}
.ct-list li + li{border-top:1px solid var(--line);}
.ct-list a{display:flex;gap:14px;align-items:center;padding:16px 18px;text-decoration:none;font-size:14.5px;font-weight:700;color:var(--ink);}
.ct-list a:hover{color:var(--accent);}
.ct-list small{display:block;font-size:11.5px;font-weight:700;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;}
.ct-ic{width:40px;height:40px;flex-shrink:0;border-radius:3px;background:var(--accent-tint);color:var(--accent);display:flex;align-items:center;justify-content:center;}
.ct-ic svg{width:19px;height:19px;}
