/* ---------- Blog Article ---------- */
.blog-article { position:relative; width:100%; padding:80px 0 100px; color:var(--textColor); background:#fff; }
.blog-article__container { width:calc(100% - 40px); max-width:900px; margin:0 auto; }
.blog-article__featured-image { width:100%; max-height:500px; margin:0 0 45px; overflow:hidden; border-radius:8px; }
.blog-article__featured-image img { display:block; width:100%; height:100%; max-height:500px; border-radius:8px; object-fit:cover; object-position:center; }
.blog-article__content { width:100%; color:var(--textColor); font-size:16px; line-height:1.75; }
.blog-article__content > *:first-child { margin-top:0; }
.blog-article__content > *:last-child { margin-bottom:0; }
.blog-article__content p { margin:0 0 22px; }
.blog-article__content h2 { margin:50px 0 14px; color:var(--backgroundColorBlack); font-size:34px; line-height:1.2; font-weight:700; letter-spacing:-.02em; }
.blog-article__content h3 { margin:36px 0 6px; color:var(--backgroundColorBlack); font-size:20px; line-height:1.3; font-weight:700; }
.blog-article__content h4 { margin:30px 0 0; color:var(--backgroundColorBlack); font-size:16px; line-height:1.4; font-weight:700; }
.blog-article__content ul,.blog-article__content ol { margin:0 0 24px; padding-left:24px; }
.blog-article__content li { margin:0; }
.blog-article__content a { color:var(--backgroundColorOrange); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.blog-article__content a:hover { color:var(--buttonHover); }
.blog-article__content img { display:block; max-width:100%; height:auto; margin:30px auto; border-radius:8px; }
.blog-article__content blockquote { margin:35px 0; padding:20px 24px; background:rgba(var(--backgroundColorOrangeRGB),.05); border-left:3px solid var(--backgroundColorOrange); }
.blog-article__content blockquote p:last-child { margin-bottom:0; }
.blog-article__content strong { font-weight:700; }
.blog-article__pagination { margin-top:35px; }
.blog-article__cta { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:35px; align-items:center; margin-top:65px; padding:34px 38px; color:#fff; background:var(--backgroundColorBlack); border-radius:14px; }
.blog-article__cta-content { min-width:0; }
.blog-article__cta-eyebrow { display:block; margin:0 0 6px; color:var(--backgroundColorOrange); font-size:12px; line-height:1.4; font-weight:700; text-transform:uppercase; }
.blog-article__content .blog-article__cta-title { margin:0 0 9px; padding:0; color:#fff; font-size:25px; line-height:1.25; font-weight:700; letter-spacing:-.02em; }
.blog-article__content .blog-article__cta-title::after { display:none; }
.blog-article__cta-text { max-width:600px; margin:0 !important; color:rgba(255,255,255,.85); font-size:14px; line-height:1.65; }
.blog-article__cta-button { flex:0 0 auto; color:#fff; background:var(--backgroundColorOrange); border-color:var(--backgroundColorOrange); }
.blog-article__cta-button:hover { color:#fff; background:var(--buttonHover); border-color:var(--buttonHover); }
.blog-article__content .blog-article__cta-button { color:#fff !important; background:var(--backgroundColorOrange); border-color:var(--backgroundColorOrange); text-decoration:none; }
.blog-article__content .blog-article__cta-button span { color:#fff !important; text-decoration:none; }
.blog-article__content .blog-article__cta-button:hover { color:#fff !important; background:var(--buttonHover); border-color:var(--buttonHover); text-decoration:none; }
.blog-article__content .blog-article__cta-button:hover span { color:#fff !important; }
.blog-article__content table { width:100%; margin:30px 0 36px; overflow:hidden; background:#fff; border:1px solid rgba(15,15,15,.12); border-collapse:separate; border-spacing:0; border-radius:10px; font-size:15px; line-height:1.55; }
.blog-article__content thead { color:#fff; background:var(--backgroundColorBlack); }
.blog-article__content th { padding:16px 18px; color:#fff; border-right:1px solid rgba(255,255,255,.1); font-weight:700; text-align:left; vertical-align:middle; }
.blog-article__content th:last-child { border-right:0; }
.blog-article__content td { padding:15px 18px; color:var(--textColor); border-top:1px solid rgba(15,15,15,.09); border-right:1px solid rgba(15,15,15,.09); text-align:left; vertical-align:top; }
.blog-article__content td:last-child { border-right:0; }
.blog-article__content tbody tr:nth-child(even) { background:rgba(var(--backgroundColorOrangeRGB),.035); }
.blog-article__content tbody td:first-child { width:16%; color:var(--backgroundColorBlack); font-weight:600; }
.blog-article__content tbody td:nth-child(2) { width:42%; }
.blog-article__content tbody td:nth-child(3) { width:42%; }

@media (max-width:767px) {
.blog-article { padding:55px 0 70px; }
.blog-article__container { width:calc(100% - 40px); }
.blog-article__featured-image { max-height:330px; margin-bottom:30px; }
.blog-article__featured-image img { max-height:330px; }
.blog-article__content { font-size:15px; line-height:1.7; }
.blog-article__content p { margin-bottom:19px; }
.blog-article__content h2 { margin-top:40px; font-size:28px; }
.blog-article__content h3 { margin-top:30px; font-size:18px; }
.blog-article__content h4 { margin-top:26px; font-size:16px; }
.blog-article__cta { grid-template-columns:1fr; gap:24px; margin-top:48px; padding:28px 24px; }
.blog-article__content .blog-article__cta-title { font-size:23px; }
.blog-article__cta-button { width:100%; }
.blog-article__content table { display:block; width:100%; overflow-x:auto; border-radius:8px; font-size:14px; white-space:normal; -webkit-overflow-scrolling:touch; }
.blog-article__content thead,.blog-article__content tbody { min-width:680px; }
.blog-article__content th { padding:14px 15px; }
.blog-article__content td { padding:13px 15px; }
}

@media (max-width:420px) {
.blog-article__container { width:calc(100% - 32px); }
.blog-article__featured-image { max-height:260px; }
.blog-article__featured-image img { max-height:260px; }
}

/* ---------- Blog Archive ---------- */
.blog-archive { position:relative; width:100%; padding:80px 0 110px; overflow:hidden; background:#fff; }
.blog-archive__container { width:calc(100% - 40px); max-width:1200px; margin:0 auto; }
.blog-archive__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; align-items:stretch; }
.blog-card { position:relative; min-width:0; height:100%; margin:0; padding:0; }
.blog-card__link { position:relative; display:flex; flex-direction:column; height:100%; overflow:hidden; color:var(--textColor); background:#fff; border:1px solid rgba(15,15,15,.1); border-radius:16px; box-shadow:0 10px 30px rgba(15,15,15,.065); text-decoration:none; transform:translateY(0); transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease; }
.blog-card__link:hover { color:var(--textColor); border-color:rgba(var(--backgroundColorOrangeRGB),.3); box-shadow:0 20px 45px rgba(15,15,15,.12); text-decoration:none; transform:translateY(-7px); }
.blog-card__link:focus-visible { outline:3px solid rgba(var(--backgroundColorOrangeRGB),.3); outline-offset:4px; }
.blog-card__media { position:relative; width:100%; aspect-ratio:16 / 10; overflow:hidden; background:#ececec; }
.blog-card__media::after { position:absolute; z-index:1; inset:0; content:""; background:linear-gradient(180deg,rgba(15,15,15,0) 52%,rgba(15,15,15,.16) 100%); pointer-events:none; }
.blog-card__image { display:block; width:100%; max-width:none; height:100%; margin:0; border:0; border-radius:0; object-fit:cover; object-position:center; transform:scale(1); transition:transform .5s ease; }
.blog-card__link:hover .blog-card__image { transform:scale(1.045); }
.blog-card__placeholder { display:flex; align-items:center; justify-content:center; flex-direction:column; width:100%; height:100%; color:#fff; background:var(--backgroundColorBlack); }
.blog-card__placeholder span { color:var(--backgroundColorOrange); font-family:Raleway,sans-serif; font-size:35px; line-height:1; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.blog-card__placeholder small { margin-top:6px; color:#fff; font-size:11px; line-height:1; font-weight:700; letter-spacing:.22em; text-transform:uppercase; }
.blog-card__badge { position:absolute; z-index:2; top:15px; left:15px; display:inline-flex; align-items:center; justify-content:center; max-width:calc(100% - 30px); min-height:28px; padding:7px 11px; overflow:hidden; color:#fff; background:var(--backgroundColorOrange); border-radius:999px; box-shadow:0 6px 18px rgba(15,15,15,.16); font-size:10px; line-height:1; font-weight:700; letter-spacing:.055em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.blog-card__content { display:flex; flex:1 1 auto; flex-direction:column; min-width:0; padding:24px 24px 20px; }
.blog-card__title { display:-webkit-box; min-height:54px; margin:0 0 13px; padding:0; overflow:hidden; color:var(--backgroundColorBlack); font-size:21px; line-height:1.3; font-weight:700; letter-spacing:-.025em; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.blog-card__title::after { display:none; }
.blog-card__link:hover .blog-card__title { color:var(--backgroundColorOrange); }
.blog-card__excerpt { display:-webkit-box; margin:0 0 22px; overflow:hidden; color:rgba(34,34,34,.72); font-size:14px; line-height:1.7; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.blog-card__footer { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-top:auto; padding-top:17px; border-top:1px solid rgba(15,15,15,.09); }
.blog-card__meta { display:flex; align-items:center; flex-wrap:wrap; gap:8px; min-width:0; color:rgba(34,34,34,.58); font-size:11px; line-height:1.4; }
.blog-card__meta-item { display:inline-flex; align-items:center; gap:5px; white-space:nowrap; }
.blog-card__meta-item .dashicons { width:13px; height:13px; color:var(--backgroundColorOrange); font-size:13px; line-height:13px; }
.blog-card__meta-separator { display:block; flex:0 0 auto; width:3px; height:3px; background:rgba(34,34,34,.3); border-radius:50%; }
.blog-card__readmore { display:inline-flex; align-items:center; flex:0 0 auto; gap:8px; color:var(--backgroundColorOrange); font-size:12px; line-height:1.2; font-weight:700; white-space:nowrap; transition:color .25s ease,gap .25s ease; }
.blog-card__readmore::after { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; content:"→"; color:#fff; background:var(--backgroundColorOrange); border-radius:50%; font-family:Arial,sans-serif; font-size:13px; line-height:1; transition:background-color .25s ease,transform .25s ease; }
.blog-card__link:hover .blog-card__readmore { gap:11px; color:var(--buttonHover); }
.blog-card__link:hover .blog-card__readmore::after { background:var(--buttonHover); transform:translateX(2px); }
.blog-pagination { display:flex; justify-content:center; width:100%; margin-top:60px; }
.blog-pagination .page-numbers { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.blog-pagination .page-numbers li { margin:0; padding:0; }
.blog-pagination .page-numbers a,.blog-pagination .page-numbers span { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:10px 14px; color:var(--backgroundColorBlack); background:#fff; border:1px solid rgba(15,15,15,.12); border-radius:8px; font-size:13px; line-height:1; font-weight:600; text-decoration:none; transition:color .25s ease,background-color .25s ease,border-color .25s ease,transform .25s ease; }
.blog-pagination .page-numbers a:hover { color:#fff; background:var(--backgroundColorOrange); border-color:var(--backgroundColorOrange); text-decoration:none; transform:translateY(-2px); }
.blog-pagination .page-numbers .current { color:#fff; background:var(--backgroundColorOrange); border-color:var(--backgroundColorOrange); }
.blog-pagination .page-numbers .dots { color:rgba(34,34,34,.5); background:transparent; border-color:transparent; }
.blog-pagination .page-numbers .prev,.blog-pagination .page-numbers .next { gap:7px; padding-right:17px; padding-left:17px; }
.blog-archive__empty { width:100%; max-width:720px; margin:0 auto; padding:55px 40px; background:#f7f7f7; border:1px solid rgba(15,15,15,.08); border-radius:16px; text-align:center; }
.blog-archive__empty h2 { margin:0 0 14px; color:var(--backgroundColorBlack); font-size:32px; line-height:1.25; }
.blog-archive__empty p { margin:0 0 26px; color:rgba(34,34,34,.7); font-size:16px; line-height:1.7; }

@media (max-width:1100px) {
.blog-archive { padding:70px 0 95px; }
.blog-archive__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.blog-card__title { min-height:52px; font-size:20px; }
}

@media (max-width:767px) {
.blog-archive { padding:52px 0 75px; }
.blog-archive__container { width:calc(100% - 40px); }
.blog-archive__grid { grid-template-columns:1fr; gap:24px; }
.blog-card__link { border-radius:14px; }
.blog-card__media { aspect-ratio:16 / 9; }
.blog-card__badge { top:12px; left:12px; max-width:calc(100% - 24px); min-height:26px; padding:6px 9px; font-size:9px; }
.blog-card__content { padding:20px 19px 18px; }
.blog-card__title { min-height:auto; margin-bottom:10px; font-size:20px; }
.blog-card__excerpt { margin-bottom:19px; font-size:14px; -webkit-line-clamp:4; }
.blog-card__footer { align-items:flex-start; flex-direction:column; gap:15px; }
.blog-card__readmore { width:100%; justify-content:space-between; }
.blog-pagination { margin-top:45px; }
.blog-pagination .page-numbers a,.blog-pagination .page-numbers span { min-width:40px; min-height:40px; padding:9px 12px; }
.blog-pagination .page-numbers .prev,.blog-pagination .page-numbers .next { padding-right:13px; padding-left:13px; }
.blog-archive__empty { padding:40px 22px; }
.blog-archive__empty h2 { font-size:27px; }
}

@media (max-width:420px) {
.blog-archive__container { width:calc(100% - 32px); }
.blog-card__content { padding:18px 17px 16px; }
.blog-card__title { font-size:19px; }
.blog-card__meta { gap:6px; font-size:10px; }
.blog-card__meta-separator { display:none; }
.blog-pagination .page-numbers { gap:5px; }
.blog-pagination .page-numbers .prev,.blog-pagination .page-numbers .next { font-size:0; }
.blog-pagination .page-numbers .prev span,.blog-pagination .page-numbers .next span { font-size:14px; }
}