/* Blog-specific layout; spacing and color come from the Koddahub tokens. */
.blog-hero{position:relative;overflow:hidden;padding:clamp(3.5rem,7vw,6rem) 0;background:linear-gradient(120deg,#111b32 0%,#26335a 57%,#44218b 100%);color:#fff}
.blog-hero::before,.blog-hero::after{position:absolute;content:"";pointer-events:none;border-radius:50%}
.blog-hero::before{width:34rem;height:34rem;right:-8rem;top:-18rem;border:1px solid rgba(255,255,255,.15);box-shadow:0 0 0 5rem rgba(255,255,255,.025),0 0 0 10rem rgba(255,255,255,.018)}
.blog-hero::after{width:7rem;height:7rem;left:54%;bottom:-5rem;background:var(--kdh-brand-hub);filter:blur(55px);opacity:.42}
.blog-eyebrow,.blog-overline{font-size:.76rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.blog-eyebrow{color:var(--kdh-yellow-300)}
.blog-hero h1{max-width:14ch;margin:0 0 1.4rem;font-size:clamp(2.65rem,5.3vw,5.25rem);font-weight:800;line-height:1.04;letter-spacing:-.055em}
.blog-hero h1 span{color:var(--kdh-yellow-300)}
.blog-hero-lead{max-width:41rem;color:#e5e9f5;font-size:clamp(1.08rem,2vw,1.3rem);line-height:1.65}
.blog-hero-count{display:inline-block;padding:.8rem 1.2rem;border:1px solid rgba(255,255,255,.27);border-radius:var(--kdh-radius-pill);background:rgba(255,255,255,.09);font-size:.85rem;font-weight:700}
.blog-listing{padding:clamp(3.5rem,6vw,6rem) 0 7rem;background:var(--kdh-bg)}
.blog-list-heading{margin-bottom:2rem}
.blog-overline{color:var(--kdh-purple-700)}
.blog-list-heading h2{font-size:clamp(2.2rem,4vw,3.6rem)}
.blog-list-intro{max-width:24rem;color:var(--kdh-text-secondary);line-height:1.6}
.blog-card{overflow:hidden;border:1px solid var(--kdh-border-subtle);border-radius:var(--kdh-radius-lg);background:var(--kdh-surface);box-shadow:0 8px 28px rgba(15,23,42,.045);transition:transform .2s,box-shadow .2s,border-color .2s}
.blog-card:hover{transform:translateY(-4px);border-color:var(--kdh-purple-300);box-shadow:var(--kdh-shadow-md)}
.blog-card-link{color:var(--kdh-text-primary);text-decoration:none}
.blog-card-link:hover{color:var(--kdh-text-primary)}
.blog-card-link:focus-visible{outline:3px solid var(--kdh-primary);outline-offset:-5px;border-radius:var(--kdh-radius-lg)}
.blog-card-media{position:relative;overflow:hidden;height:10rem;background:linear-gradient(125deg,var(--kdh-purple-900),var(--kdh-purple-700) 65%,#6d64bb);color:#fff}
.blog-tone-0{background:linear-gradient(125deg,#14233c,#32496d 65%,#5b6f9f)}
.blog-tone-1{background:linear-gradient(125deg,#33185f,#6236a5 65%,#9b75cf)}
.blog-tone-2{background:linear-gradient(125deg,#20254b,#4a5090 65%,#8377bb)}
.blog-card-media::before{position:absolute;content:"";width:13rem;height:13rem;right:-2rem;top:-6rem;border:1px solid rgba(255,255,255,.34);border-radius:50%;box-shadow:0 0 0 2rem rgba(255,255,255,.035),0 0 0 4rem rgba(255,255,255,.03)}
.blog-card-media::after{position:absolute;content:"";width:4rem;height:4rem;right:3rem;bottom:-2rem;border-radius:50%;background:var(--kdh-brand-hub);filter:blur(20px);opacity:.7}
.blog-card-media span{position:absolute;left:1.4rem;bottom:1.2rem;font-size:2.4rem;font-weight:800;letter-spacing:-.08em;opacity:.78}
.blog-card-media--cover{background:var(--kdh-purple-900)}
.blog-card-media--cover::before,.blog-card-media--cover::after,.blog-featured-art--cover::before,.blog-featured-art--cover::after{display:none}
.blog-card-cover{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.blog-card:hover .blog-card-cover{transform:scale(1.035)}
.blog-card-body{padding:1.65rem;min-height:17rem}
.blog-card-taxonomy,.blog-article-taxonomy{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.blog-category,.blog-tag{display:inline-flex;align-items:center;width:fit-content;border-radius:var(--kdh-radius-pill);line-height:1.2}.blog-category{padding:.42rem .7rem;background:var(--kdh-purple-50);color:var(--kdh-purple-800);font-size:.76rem;font-weight:800}.blog-tag{padding:.3rem .55rem;border:1px solid var(--kdh-border-subtle);color:var(--kdh-text-muted);background:var(--kdh-surface);font-size:.68rem;font-weight:700}
.blog-card-title{margin:1rem 0 .7rem;color:var(--kdh-text-primary);font-size:clamp(1.27rem,1.5vw,1.48rem);font-weight:800;line-height:1.25;letter-spacing:-.025em}
.blog-card-summary{margin:0;color:var(--kdh-text-secondary);font-size:.94rem;line-height:1.6}
.blog-card-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;color:var(--kdh-text-muted);font-size:.79rem}
.blog-read-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:1.2rem;color:var(--kdh-purple-700);font-size:.86rem;font-weight:800}
.blog-featured{margin-bottom:2rem;border-color:var(--kdh-purple-200)}
.blog-featured .blog-card-body{display:flex;flex-direction:column;justify-content:center;padding:clamp(1.7rem,4vw,3.3rem);min-height:20rem}
.blog-featured .blog-card-title{max-width:22ch;font-size:clamp(1.8rem,3vw,3rem)}
.blog-featured .blog-card-summary{max-width:40rem;font-size:1.02rem}
.blog-featured-art{position:relative;min-height:20rem;background:linear-gradient(135deg,#221342,#5b21b6 62%,#9475d9)}
.blog-featured-art::before{position:absolute;content:"";width:14rem;height:14rem;top:50%;left:50%;border:2px solid rgba(255,255,255,.45);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 3rem rgba(255,255,255,.06),0 0 0 6rem rgba(255,255,255,.04)}
.blog-featured-art::after{position:absolute;content:"";width:6rem;height:6rem;top:50%;left:50%;border-radius:1.4rem;background:var(--kdh-brand-hub);transform:translate(-50%,-50%) rotate(-20deg);box-shadow:0 20px 40px rgba(15,23,42,.28)}
.blog-featured-label{display:inline-block;margin-bottom:.85rem;color:var(--kdh-purple-700);font-size:.73rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.blog-more-heading{display:flex;align-items:center;gap:1.5rem;margin:2.75rem 0 1.5rem}
.blog-more-heading::after{content:"";flex:1;border-top:1px solid var(--kdh-border-subtle)}
.blog-more-heading h2{margin:0;color:var(--kdh-text-primary);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:800;letter-spacing:-.035em}
.blog-empty{padding:2rem;border:1px solid var(--kdh-border-subtle);border-radius:var(--kdh-radius-lg);background:#fff}
.blog-breadcrumb-wrap{padding-top:2rem;padding-bottom:1.2rem}
.blog-breadcrumb-wrap .breadcrumb{font-size:.84rem}
.blog-breadcrumb-wrap .breadcrumb-item a,.blog-related a{color:var(--kdh-purple-700);font-weight:700}
.blog-article{padding-bottom:6rem}
.blog-reading{max-width:800px;margin-inline:auto}
.blog-article-head{padding:1.4rem 0 2rem;border-bottom:1px solid var(--kdh-border-subtle)}
.blog-article-head h1{margin:1.2rem 0 1rem;font-size:clamp(2.35rem,5vw,4.4rem);line-height:1.12;letter-spacing:-.05em}
.blog-article-summary{color:var(--kdh-text-secondary);font-size:clamp(1.1rem,2vw,1.3rem);line-height:1.65}
.blog-article-meta{display:flex;flex-wrap:wrap;gap:.6rem;color:var(--kdh-text-muted);font-size:.88rem}
.blog-author{display:flex;align-items:center;gap:.75rem;margin:1rem 0 0;color:var(--kdh-text-secondary);font-size:.83rem}.blog-author img{flex:none;width:3rem;height:3rem;border:2px solid var(--kdh-purple-200);border-radius:50%;background:var(--kdh-purple-50);object-fit:contain}.blog-author p{display:grid;margin:0}.blog-author strong{color:var(--kdh-text-primary);font-size:.88rem}
.blog-prose{padding-top:1.2rem;color:var(--kdh-text-primary);font-size:1.075rem;line-height:1.82;overflow-wrap:anywhere}
.blog-prose h2{margin:2.4rem 0 1rem;font-size:clamp(1.6rem,3vw,2.15rem);line-height:1.2;letter-spacing:-.035em}
.blog-prose h3{margin:1.8rem 0 .8rem;font-size:1.35rem;line-height:1.3}
.blog-prose p,.blog-prose ul,.blog-prose ol{margin-bottom:1.3rem}
.blog-prose li{padding-left:.25rem;margin-bottom:.45rem}
.blog-prose a{color:var(--kdh-purple-700);text-decoration:underline;text-underline-offset:.18em}
.blog-prose a:focus-visible,.blog-related a:focus-visible{outline:3px solid var(--kdh-primary);outline-offset:3px}
.blog-cover{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;margin-top:2rem;border-radius:var(--kdh-radius-lg)}
.blog-cta{margin-top:3.5rem;padding:clamp(1.7rem,4vw,3rem);border-radius:var(--kdh-radius-lg);background:var(--kdh-purple-50)}
.blog-cta h2{font-size:clamp(1.65rem,3vw,2.4rem)}
.blog-cta p:not(.blog-overline){max-width:35rem;color:var(--kdh-text-secondary);line-height:1.65}
.blog-related{margin-top:4rem}
.blog-related h2{font-size:clamp(1.7rem,3vw,2.4rem)}
.blog-related-list{padding:0;list-style:none}
.blog-related-list li+li{margin-top:.75rem}
.blog-related-list a{display:block;padding:1rem 1.2rem;border:1px solid var(--kdh-border-subtle);border-radius:var(--kdh-radius-md);background:#fff;text-decoration:none}
.blog-related-list a:hover{border-color:var(--kdh-purple-300);background:var(--kdh-purple-50)}
@media(max-width:767.98px){.blog-hero{padding:3.25rem 0}.blog-hero h1{max-width:18ch}.blog-hero-count{margin-top:.5rem}.blog-listing{padding-bottom:4.5rem}.blog-card-media{height:8rem}.blog-featured-art--cover{min-height:12rem}.blog-card-body{min-height:0}.blog-article-head{padding-top:.5rem}.blog-breadcrumb-wrap{padding-top:1.2rem}}
@media(prefers-reduced-motion:reduce){.blog-card,.blog-card-cover{transition:none}.blog-card:hover{transform:none}.blog-card:hover .blog-card-cover{transform:none}}
.blog-glossary{margin-top:3rem;padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--kdh-purple-200);border-radius:var(--kdh-radius-lg);background:var(--kdh-purple-50)}.blog-glossary>h2{margin-bottom:1.25rem}.blog-glossary .accordion-item{border-color:var(--kdh-purple-200)}.blog-glossary .accordion-button{font-weight:800}.blog-glossary .glossary-ask-kodda{min-height:2.5rem}
.blog-visual{margin:2.5rem 0;padding:clamp(1.25rem,4vw,2rem);border:1px solid var(--kdh-purple-200);border-radius:var(--kdh-radius-lg);background:#fff;box-shadow:var(--kdh-shadow-sm)}
.blog-visual-heading{display:flex;flex-wrap:wrap;align-items:start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.blog-visual-heading h2{flex:1 1 22rem;margin:0;font-size:clamp(1.35rem,3vw,1.75rem)}
.blog-visual-data{flex:none;padding:.35rem .65rem;border-radius:999px;background:var(--kdh-purple-50);color:var(--kdh-purple-700);font-size:.7rem;font-weight:800;letter-spacing:.06em}
.blog-visual figcaption{margin-top:1.25rem;color:var(--kdh-text-secondary);font-size:.94rem;line-height:1.55}
.blog-editorial-image{display:block;width:100%;height:auto;border-radius:var(--kdh-radius-md);background:var(--kdh-bg-subtle)}.blog-image-credit{display:block;margin-top:.35rem;font-size:.82rem}.blog-image-credit a{color:var(--kdh-purple-700);font-weight:700;text-underline-offset:.18em}
.blog-flow{display:grid;gap:.6rem;max-width:30rem;margin:auto;text-align:center}.blog-flow-node{display:grid;gap:.2rem;padding:1rem;border-radius:var(--kdh-radius-md);background:var(--kdh-purple-50)}.blog-flow-node strong{color:var(--kdh-purple-700);font-size:1.1rem}.blog-flow-node span{color:var(--kdh-text-secondary)}.blog-flow-arrow{color:var(--kdh-brand-hub);font-size:1.5rem;font-weight:900;line-height:1}
.blog-comparison{width:100%}.blog-comparison__table{width:100%;margin:0;table-layout:auto}.blog-comparison__table col:nth-child(1){width:18%}.blog-comparison__table col:nth-child(2){width:37%}.blog-comparison__table col:nth-child(3){width:45%}.blog-comparison__table th{color:var(--kdh-text-primary);word-break:normal;overflow-wrap:normal}.blog-comparison__table th:first-child,.blog-comparison__table tbody th{min-width:7rem;white-space:nowrap}.blog-comparison__table td{white-space:normal;word-break:normal;overflow-wrap:break-word}.blog-comparison__table thead th{background:var(--kdh-purple-50);border-bottom-color:var(--kdh-purple-300)}
.blog-concept-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.blog-concept-card{padding:1.25rem;border-radius:var(--kdh-radius-md);background:var(--kdh-purple-50)}.blog-concept-card h3{margin:0 0 .6rem;font-size:1.1rem}.blog-concept-card p{margin:0;color:var(--kdh-text-secondary)}
.blog-bar-chart{display:flex;align-items:end;justify-content:center;gap:clamp(.75rem,4vw,2rem);min-height:15rem;padding-top:1rem}.blog-bar-item{display:grid;grid-template-rows:auto 10rem auto;align-items:end;justify-items:center;gap:.45rem;min-width:4.5rem}.blog-bar{width:clamp(2.75rem,12vw,5rem);height:var(--bar-size);max-height:10rem;border-radius:.6rem .6rem 0 0;background:linear-gradient(180deg,var(--kdh-purple-500),var(--kdh-purple-700))}.blog-bar-value{font-weight:800}.blog-bar-name{color:var(--kdh-text-secondary);font-size:.88rem}
.blog-visual--numbered_grid .blog-concept-grid,.blog-visual--checklist .blog-concept-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-card-number{display:inline-grid;place-items:center;width:2rem;height:2rem;margin-bottom:.7rem;border-radius:50%;background:var(--kdh-primary);color:var(--kdh-text-inverse);font-size:.82rem;font-weight:800}.blog-flow-node .blog-step-number{display:inline-grid;place-items:center;justify-self:start;width:3rem;height:3rem;margin-bottom:.7rem;border-radius:50%;background:var(--kdh-primary);color:var(--kdh-text-inverse);font-size:1rem;font-weight:800;line-height:1}.blog-card-x{display:inline-grid;place-items:center;width:1.8rem;height:1.8rem;margin-bottom:.7rem;border-radius:50%;background:#fee2e2;color:var(--kdh-danger);font-size:1.25rem;font-weight:800}
.blog-flow--pipeline{max-width:36rem}.blog-flow-warning{max-width:36rem;margin:1.25rem auto 0;padding:1rem;border-left:4px solid var(--kdh-brand-hub);border-radius:0 var(--kdh-radius-sm) var(--kdh-radius-sm) 0;background:#fffbeb;color:var(--kdh-text-secondary)}
.blog-timeline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.blog-timeline{padding:1.25rem;border:1px solid var(--kdh-border-subtle);border-radius:var(--kdh-radius-md)}.blog-timeline-status{display:inline-block;margin-bottom:.7rem;color:var(--kdh-text-muted);font-size:.72rem;font-weight:800;letter-spacing:.08em}.blog-timeline h3{margin:0 0 .8rem;font-size:1.1rem}.blog-timeline-track{height:.7rem;margin-bottom:.8rem;border-radius:999px;background:var(--kdh-bg-subtle);overflow:hidden}.blog-timeline-track span{display:block;width:var(--timeline-size);height:100%;background:var(--kdh-primary)}.blog-timeline--wrong .blog-timeline-track span{background:var(--kdh-warning)}.blog-timeline p{margin:0;color:var(--kdh-text-secondary)}
.blog-dot-plot{padding-top:1.25rem}.blog-dot-axis{position:relative;height:5rem;margin:1.5rem 1rem 2rem;border-bottom:3px solid var(--kdh-text-primary)}.blog-dot{position:absolute;bottom:-.65rem;left:var(--dot-position);width:1.3rem;height:1.3rem;border:3px solid #fff;border-radius:50%;background:var(--kdh-primary);box-shadow:0 0 0 2px var(--kdh-primary);transform:translateX(-50%)}.blog-dot:last-child{background:var(--kdh-brand-hub);box-shadow:0 0 0 2px var(--kdh-warning)}.blog-dot span{position:absolute;bottom:1.7rem;left:50%;color:var(--kdh-text-primary);font-size:.78rem;font-weight:800;transform:translateX(-50%)}.blog-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.blog-stat-grid div{display:grid;padding:1rem;border-radius:var(--kdh-radius-md);background:var(--kdh-purple-50)}.blog-stat-grid span{color:var(--kdh-text-secondary);font-size:.82rem}.blog-stat-grid strong{font-size:1.35rem}
.blog-dashboard{display:grid;grid-template-columns:1fr 1.5fr;gap:1rem;padding:1.25rem;border-radius:var(--kdh-radius-md);background:var(--kdh-bg-subtle)}.blog-dashboard-kpi{display:grid;align-content:center;padding:1.25rem;border-radius:var(--kdh-radius-md);background:var(--kdh-primary);color:#fff}.blog-dashboard-kpi span{font-size:.78rem;font-weight:800;letter-spacing:.06em}.blog-dashboard-kpi strong{font-size:clamp(2.6rem,6vw,4rem);line-height:1}.blog-dashboard-kpi small{margin-top:.5rem}.blog-dashboard-trend{padding:1rem;border-radius:var(--kdh-radius-md);background:#fff}.blog-dashboard-trend span{font-size:.78rem;font-weight:800}.blog-dashboard-trend svg{width:100%;height:auto;margin-top:.5rem}.blog-dashboard-trend polyline{fill:none;stroke:var(--kdh-primary);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.blog-dashboard-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.blog-dashboard-detail{display:grid;padding:1rem;border-radius:var(--kdh-radius-md);background:#fff}.blog-dashboard-detail span{color:var(--kdh-text-secondary);font-size:.82rem}.blog-dashboard-detail strong{font-size:1.25rem}.blog-dashboard-updated{grid-column:1/-1;margin:0;color:var(--kdh-text-muted);font-size:.82rem}
@media(min-width:992px){.blog-visual--table,.blog-visual--numbered_grid,.blog-visual--timeline_compare,.blog-visual--dashboard,.blog-visual--checklist{width:min(64rem,calc(100vw - 3rem));margin-left:50%;transform:translateX(-50%)}}
@media(max-width:767.98px){.blog-comparison__table colgroup,.blog-comparison__table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.blog-comparison__table,.blog-comparison__table tbody,.blog-comparison__table tr,.blog-comparison__table th,.blog-comparison__table td{display:block;width:100%}.blog-comparison__table tr{margin-bottom:1rem;padding:1rem;border:1px solid var(--kdh-border-subtle);border-radius:var(--kdh-radius-md);background:var(--kdh-purple-50)}.blog-comparison__table th,.blog-comparison__table td{min-width:0;padding:.3rem 0;border:0;white-space:normal}.blog-comparison__table tbody th{margin-bottom:.45rem;color:var(--kdh-purple-700);font-size:1.05rem;text-transform:uppercase}.blog-comparison__table td::before{content:attr(data-label);display:block;margin-top:.35rem;color:var(--kdh-text-muted);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}}
@media(max-width:767.98px){.blog-timeline-grid,.blog-dashboard{grid-template-columns:1fr}.blog-dashboard-grid{grid-template-columns:1fr}.blog-visual--numbered_grid .blog-concept-grid,.blog-visual--checklist .blog-concept-grid{grid-template-columns:1fr}.blog-flow--pipeline{max-width:30rem}}
@media(max-width:575.98px){.blog-visual-heading{display:block}.blog-visual-heading h2{max-width:100%}.blog-visual-data{display:inline-block;max-width:100%;margin-top:.65rem;padding:.3rem .55rem;white-space:normal}.blog-concept-grid,.blog-stat-grid{grid-template-columns:1fr}.blog-bar-chart{gap:.5rem}.blog-bar-item{min-width:3.75rem}.blog-dot-axis{margin-inline:.5rem}.blog-dot{width:1.1rem;height:1.1rem}}
.article-view-count{display:inline-flex;align-items:center;gap:.3rem;min-width:8.5rem}.article-view-count .icon{width:1rem;height:1rem}.article-view-label{margin-left:.05rem}
.article-share{margin:1rem 0 2rem;padding:1rem 1.1rem;border:1px solid var(--kdh-border-subtle);border-radius:var(--kdh-radius-md);background:var(--kdh-surface)}.article-share h2{margin:0 0 .8rem;font-size:clamp(1.15rem,2.5vw,1.35rem)}.article-share-actions{display:flex;flex-wrap:wrap;gap:.65rem}.article-share-actions .btn{min-height:2.75rem}.article-share-feedback{min-height:1.25rem;margin:.55rem 0 0;color:var(--kdh-success);font-size:.84rem;font-weight:var(--kdh-font-weight-semibold)}
@media(max-width:575.98px){.article-view-count{flex-basis:100%;min-width:0}.blog-article-meta>span[aria-hidden="true"]:has(+.article-view-count){display:none}.article-share-actions .btn{flex:1 1 calc(50% - .65rem)}}
