/* Blog index and article share the restrained white / black / green system. */
@media(min-width:810px){
    .dub-blog-page .desktop-nav{position:fixed;top:0;bottom:auto}
    .admin-bar.dub-blog-page .desktop-nav{top:32px}
    .dub-blog-page .site-main{padding-top:var(--nav-h)}
}
.blog-main,.blog-article-main{overflow:visible;padding-bottom:0}
.blog-section{padding:35px 24px 105px}
.blog-heading{display:flex;align-items:flex-start;gap:9px}
.blog-heading h1{font-size:clamp(100px,15vw,255px);line-height:.85;letter-spacing:-.07em;font-weight:900;margin:0 0 75px}
.blog-index{font-size:clamp(22px,2.7vw,42px);font-weight:900;line-height:1;white-space:nowrap;letter-spacing:-.045em}
.blog-index em{font-style:normal;color:var(--green)}
.blog-categories{margin-bottom:28px}
.blog-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:20px clamp(20px,2.4vw,40px)}
.blog-tabs button,.blog-mobile-options button{appearance:none;border:0;background:transparent;padding:0;font-size:clamp(13px,1.15vw,17px);font-weight:900;letter-spacing:-.035em;line-height:1.15;text-align:left;color:var(--ink);transition:color .15s}
.blog-tabs button:hover,.blog-tabs button.is-active,.blog-mobile-options button:hover,.blog-mobile-options button.is-active{color:var(--green)}
.blog-mobile-categories{display:none}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:52px clamp(35px,6.4vw,95px)}
.blog-card{min-width:0}
.blog-card-link{display:flex;flex-direction:column;height:100%;min-height:335px}
.blog-card-cover{width:100%;aspect-ratio:1.62;overflow:hidden;background:#d9d9d9}
.blog-card-cover img{width:100%;height:100%;object-fit:cover}
.blog-cover-placeholder{display:block;width:100%;height:100%;background:linear-gradient(140deg,#ececec,#d2d2d2)}
.blog-card-meta{font-size:14px;line-height:1.2;color:#8a8a8a;margin:13px 0 9px;text-transform:uppercase;font-weight:500}
.blog-card h2{font-size:clamp(19px,1.55vw,25px);line-height:1.1;letter-spacing:-.042em;font-weight:900;margin:0;max-width:95%}
.blog-card-arrow{align-self:flex-end;margin-top:auto;display:block;width:26px;height:26px;transition:transform .2s ease}
.blog-card-arrow img{display:block;width:100%;height:100%}
.blog-card-link:hover .blog-card-arrow,.blog-card-link:focus-visible .blog-card-arrow{transform:translate(4px,-4px)}
.blog-more-wrap{display:flex;justify-content:center;margin:64px 0 0}
.blog-more{border:1px solid var(--ink);background:#fff;color:var(--ink);font-size:19px;font-weight:900;min-width:220px;padding:14px 20px;display:inline-flex;justify-content:center;align-items:center;gap:8px}
.blog-more:hover{background:var(--green);border-color:var(--green)}
.blog-more:disabled{opacity:.6;cursor:wait}
.blog-status{text-align:center;font-size:12px;color:#777}
.blog-status:empty{display:none}
.blog-empty{text-align:center;font-size:18px;margin:75px auto}
.blog-cta{border-top:1px solid #eee;padding:35px 24px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.blog-cta h2{font-size:clamp(40px,6.2vw,100px);line-height:.95;letter-spacing:-.055em;font-weight:900;margin:0}
.blog-cta button{border:0;background:var(--green);color:var(--ink);font-size:17px;font-weight:900;padding:20px 25px;min-width:320px;display:flex;justify-content:center;align-items:center;gap:13px}
.blog-cta button img{filter:brightness(0)}
.blog-article{max-width:650px;width:calc(100% - 40px);margin:0 auto;padding:36px 0 110px}
.blog-back-link{display:inline-flex;align-items:center;gap:6px;font-size:15px;line-height:1.2;font-weight:800;color:var(--ink)}
.blog-back-link img{display:block;width:23px;height:16px;flex:none}
.blog-back-link:hover{color:var(--green)}
.blog-article-header{text-align:center}
.blog-article-header h1{font-size:clamp(37px,3.6vw,58px);line-height:1.08;letter-spacing:-.025em;font-weight:800;margin:56px 0 19px}
.blog-article-meta{display:flex;flex-direction:column;gap:17px;font-size:15px;color:#979797;margin-bottom:31px}
.blog-article-intro{text-align:left;font-size:17px;line-height:1.6;color:#555;margin:0 0 24px}
.blog-article-intro p{margin:0}
.blog-article-cover{margin:0 0 36px;width:100%;background:#d9d9d9}
.blog-article-cover img{display:block;width:100%;height:auto}
.blog-article-placeholder{display:block;width:100%;aspect-ratio:1.25;background:linear-gradient(140deg,#ececec,#d2d2d2)}
.blog-article-content{font-size:17px;line-height:1.58;color:#676767;overflow-wrap:anywhere}
.blog-article-content :where(h2,h3,h4){font-weight:700;color:var(--ink);letter-spacing:-.02em;line-height:1.13}
.blog-article-content h2{font-size:30px;margin:38px 0 20px}
.blog-article-content h3{font-size:24px;margin:32px 0 17px}
.blog-article-content p{margin:0 0 24px}
.blog-article-content :where(figure.wp-block-image,figure.wp-block-gallery,figure.wp-block-video){margin:30px 0 38px}
.blog-article-content :where(img,video){display:block;max-width:100%;width:100%;height:auto;border-radius:0}
.blog-article-content figcaption{font-size:13px;line-height:1.4;color:#999;text-align:center;margin-top:8px}
.blog-article-content blockquote{margin:28px 0;padding-left:20px;border-left:2px solid #ddd;font-style:italic;color:#888}
.blog-article-content .alignwide{width:min(920px,calc(100vw - 40px));max-width:none;margin-left:50%;transform:translateX(-50%)}
.blog-article-content .alignfull{width:100vw;max-width:none;margin-left:50%;transform:translateX(-50%)}
.blog-back-bottom{margin-top:56px}
@media(max-width:1050px){
    .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 30px}
    .blog-card-link{min-height:300px}
    .blog-heading h1{margin-bottom:50px}
}
@media(max-width:809px){
    .blog-section{padding:30px 20px 75px}
    .blog-heading{gap:8px}
    .blog-heading h1{font-size:clamp(67px,17vw,125px);margin:0 0 36px}
    .blog-index{font-size:clamp(18px,5vw,32px)}
    .blog-tabs{display:none}
    .blog-mobile-categories{display:block;position:relative;margin-bottom:22px}
    .blog-mobile-categories summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 0;border-bottom:1px solid #111;font-size:18px;font-weight:900;user-select:none}
    .blog-mobile-categories summary::-webkit-details-marker{display:none}
    .blog-dropdown-arrow{display:block;flex:none;width:19px;height:12px;transition:transform .2s}
    .blog-mobile-categories[open] .blog-dropdown-arrow{transform:rotate(180deg)}
    .blog-mobile-options{position:absolute;top:100%;left:0;right:0;background:#fff;z-index:5;padding:14px 0 18px;box-shadow:0 12px 16px rgba(0,0,0,.07);display:flex;flex-direction:column;gap:17px;max-height:60dvh;overflow-y:auto;opacity:0;transform:translateY(-9px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}
    .blog-mobile-categories.is-open .blog-mobile-options{opacity:1;transform:translateY(0);pointer-events:auto}
    .blog-mobile-options button{font-size:17px;padding:0 2px}
    .blog-grid{grid-template-columns:1fr;gap:35px}
    .blog-card-link{min-height:0}
    .blog-card-cover{aspect-ratio:1.62}
    .blog-card-meta{font-size:12px;margin:11px 0 8px}
    .blog-card h2{font-size:23px}
    .blog-card-arrow{margin-top:9px;width:26px;height:26px}
    .blog-more-wrap{margin-top:48px}
    .blog-cta{display:block;padding:28px 20px 45px}
    .blog-cta h2{font-size:clamp(37px,9vw,72px);margin-bottom:26px}
    .blog-cta button{width:100%;min-width:0}
    .blog-article{padding:25px 0 75px}
    .blog-article-header h1{font-size:clamp(34px,9vw,53px);margin:48px 0 20px}
    .blog-article-intro,.blog-article-content{font-size:16px}
    .blog-article-content h2{font-size:26px}
    .dub-blog-page .mobile-nav{position:fixed;top:0;transform:none;animation:none}
}
@media(prefers-reduced-motion:reduce){.blog-mobile-options{transition:none}}
