/* v1.3: full-width backgrounds with a 1600px content box. */
body.dpib-blog-page,
body.dpib-blog-page #page,
body.dpib-blog-page #content,
body.dpib-blog-page .site-content,
body.dpib-blog-page .site-main{background:#222222}
.dpib-root{--bg:#222222;--panel:#2c2c2c;--max:1600px;background:#222222}
.dpib-root.dpib-fullwidth{position:relative;width:var(--dpib-viewport-width,100%);max-width:none!important;margin-inline:calc((100% - var(--dpib-viewport-width,100%))/2);padding:0;overflow-x:clip;overflow-y:visible}
body.dpib-blog-page.page .site-main>article.page>.entry-header{display:none}
body.dpib-blog-page.page .site-main>article.page>.entry-content{margin-top:0}
.dpib-root .shell{width:min(calc(100% - 80px),1600px);max-width:1600px;margin-inline:auto}
/* The halo extends naturally past the hero into the same page background. */
body .dpib-root .blog-hero{width:100%;max-width:none;margin:0;overflow:visible;background:transparent}
.dpib-root .blog-hero::before{inset:-140px 0;background:radial-gradient(ellipse 540px 180px at 73% 50%,rgba(124,140,255,.14),transparent 100%),radial-gradient(ellipse 400px 160px at 53% 60%,rgba(179,124,255,.09),transparent 100%)}
.dpib-root .dpib-cursor-glow{filter:none;background:radial-gradient(ellipse 260px 190px at 42% 48%,rgba(124,140,255,.25),transparent 100%),radial-gradient(ellipse 215px 180px at 64% 52%,rgba(179,124,255,.22),transparent 100%)}
.dpib-root .featured-wrap{padding-top:18px}
.dpib-root .blog-library{padding-top:0;padding-bottom:80px}
.dpib-root .filter-row{border:0;padding-bottom:0;margin-bottom:28px}
.dpib-root .dpib-more-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
body .dpib-root .dpib-text-card{border:0;border-radius:20px;background:#2c2c2c;overflow:hidden;min-width:0}
body .dpib-root .dpib-text-card .story-link{border:0;border-radius:20px;background:#2c2c2c;box-shadow:none}
body .dpib-root .dpib-text-card .story-copy{padding:30px;min-height:295px}
body .dpib-root .dpib-text-card .story-copy h3{font-size:23px!important;line-height:1.3!important;margin-top:18px!important}
.dpib-root .dpib-text-card .story-copy p{font-size:14px;line-height:1.8;margin-bottom:26px}
.dpib-root .dpib-text-card .story-read{font-size:13px}
.dpib-root .post-meta{color:#bcb8c6;gap:9px 12px}
.dpib-root .post-meta>.category{color:#b9baff}
.dpib-root .post-meta>.category+.category:before{content:none}
body .dpib-root .dpib-text-card:focus-within .story-link{background:#353535;box-shadow:0 12px 35px rgba(124,140,255,.10)}
@media(hover:hover) and (pointer:fine){
  body .dpib-root .dpib-text-card:hover .story-link{background:#353535;box-shadow:0 12px 35px rgba(124,140,255,.10)}
}
.dpib-root .dpib-pagination{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:34px;color:#c6c1d0;font-size:14px}
.dpib-root .dpib-pagination button{font:inherit;text-transform:none;letter-spacing:normal;background:#303030;color:#eeeaf5;border:0;border-radius:999px;padding:10px 18px;margin:0;cursor:pointer}
.dpib-root .dpib-pagination button:disabled{opacity:.4;cursor:default}
.dpib-root .dpib-pagination button:not(:disabled):hover{background:#3a3744}
body .dpib-root .selected-posts{padding-top:100px;padding-bottom:80px;border:0;background:#222222}
body .dpib-root .selected-posts h2{display:inline-block;background:linear-gradient(90deg,#7c8cff,#b37cff)!important;background-clip:text!important;-webkit-background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important;animation:none!important}
body .dpib-root .selected-posts h2 em{background:none!important;color:inherit!important;-webkit-text-fill-color:inherit!important;animation:none!important}
.dpib-root .related-posts{border:0}
.dpib-root .home-stories .story-card{border-bottom:0}
.dpib-root .dpib-home-feature .feature-copy h3{max-width:600px}
body .dpib-root .dpib-home-feature .feature-copy h3{font-size:clamp(27.2px,2.6vw,40.8px)!important;line-height:1.16!important;letter-spacing:-.045em!important;font-weight:700!important;margin:22px 0 16px!important}
@media(max-width:900px){body .dpib-root .dpib-home-feature .feature-copy h3{font-size:28.8px!important}}
@media(max-width:760px){body .dpib-root .dpib-home-feature .feature-copy h3{font-size:30.4px!important;margin-top:18px!important}}
@media(max-width:520px){body .dpib-root .dpib-home-feature .feature-copy h3{font-size:27.2px!important}}
/* The homepage component follows its parent; Elementor owns its width and gutters. */
.dpib-root.dpib-home-root{width:100%;max-width:none;min-width:0;margin:0;padding:0;container:none}
.dpib-root.dpib-home-root .selected-posts>.shell{width:100%;max-width:none;margin:0}
.dpib-home-root .dpib-home-feature,.dpib-home-root .feature-story,.dpib-home-root .feature-copy,.dpib-home-root .section-heading>div{min-width:0}
body .dpib-root.dpib-home-root .selected-posts h2{font-size:clamp(32px,calc(var(--dpib-home-width,100vw)*.06),65.6px)!important;overflow-wrap:anywhere}
body .dpib-root.dpib-home-root .feature-copy h3{font-size:clamp(25px,calc(var(--dpib-home-width,100vw)*.032),40.8px)!important;overflow-wrap:anywhere}
.dpib-home-root.dpib-home-narrow .section-heading{flex-direction:column;align-items:flex-start;gap:24px}
.dpib-home-root.dpib-home-narrow .section-more{margin:0;white-space:normal}
.dpib-home-root.dpib-home-stack .feature-link{grid-template-columns:1fr;min-height:0;height:auto;grid-auto-rows:auto}
.dpib-home-root.dpib-home-stack .feature-art{border-right:0;min-height:0}
.dpib-home-root.dpib-home-stack .feature-copy{padding:30px;min-height:0;height:auto}
.dpib-home-root.dpib-home-stack .feature-copy h3,.dpib-home-root.dpib-home-stack .feature-copy p{max-width:none}
body .dpib-root.dpib-home-root.dpib-home-stack .selected-posts h2{font-size:clamp(32px,calc(var(--dpib-home-width,100vw)*.08),48px)!important}
body .dpib-root.dpib-home-root.dpib-home-stack .feature-copy h3{font-size:clamp(25px,calc(var(--dpib-home-width,100vw)*.05),32px)!important}
.dpib-home-root.dpib-home-small .feature-copy{padding:24px}
.dpib-home-root.dpib-home-small .feature-badge{top:16px;left:18px}
/* Reserve 16:9 space in normal flow before image decoding or deferred scripts.
   Percentage padding avoids aspect-ratio/grid/percentage-height feedback on mobile browsers. */
body .dpib-root .feature-art{display:block;width:100%;min-width:0;min-height:0;height:auto;aspect-ratio:auto;align-self:center;border:0}
body .dpib-root .feature-copy{min-width:0}
body .dpib-root .dpib-cover-frame{position:relative;display:block;width:100%;height:0;min-height:0;padding:56.25% 0 0;margin:0;border:0;box-sizing:content-box;overflow:hidden;background:#29272e}
body .dpib-root .dpib-cover-frame>img{position:absolute!important;top:0;left:0;display:block;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;box-sizing:border-box;object-fit:fill;object-position:center;transform:none!important}
/* Horizontal cards fill their entire image column. Stacked cards retain the ratio box. */
@media(min-width:761px){
  body .dpib-root.dpib-archive .feature-art,
  body .dpib-root.dpib-home-root:not(.dpib-home-stack) .feature-art{align-self:stretch}
  body .dpib-root.dpib-archive .feature-art>.dpib-cover-frame,
  body .dpib-root.dpib-home-root:not(.dpib-home-stack) .feature-art>.dpib-cover-frame{position:absolute;inset:0;height:100%;padding:0;box-sizing:border-box}
  /* SVGs keep their own viewBox ratio under fill; cover sizes the painted object before clipping. */
  body .dpib-root.dpib-archive .feature-art>.dpib-cover-frame>img,
  body .dpib-root.dpib-home-root:not(.dpib-home-stack) .feature-art>.dpib-cover-frame>img{object-fit:cover}
}
@media(max-width:1100px){
  body .dpib-root .dpib-text-card .story-copy{padding:25px;min-height:310px}
  body .dpib-root .dpib-text-card .story-copy h3{font-size:21px!important}
}
@media(max-width:900px){.dpib-root .dpib-more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .dpib-root .shell{width:calc(100% - 40px)}
  .dpib-root .dpib-more-grid{gap:20px}
  body .dpib-root .dpib-text-card .story-copy{padding:25px;min-height:280px}
  .dpib-root .dpib-pagination{gap:12px;font-size:12px}
  .dpib-root .dpib-pagination button{padding:10px 13px}
}
@media(max-width:520px){.dpib-root .dpib-more-grid{grid-template-columns:1fr}body .dpib-root .dpib-text-card .story-copy{min-height:0}}
/* Full-width light and dots remain outside the padded, boxed hero content. */
body .dpib-root.dpib-archive .blog-hero{padding:200px 200px 80px!important;box-sizing:border-box}
.dpib-root.dpib-archive>.shell{width:min(calc(100% - 400px),1600px);max-width:1600px}
.dpib-root.dpib-archive .blog-hero>.shell{width:100%;max-width:1600px;margin-inline:auto}
body .dpib-root.dpib-archive .blog-hero h1{font-size:clamp(59.84px,6.82vw,98.56px)!important}
.dpib-root .blog-hero::after{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(180deg,#222 0%,#2220 22%,#2220 76%,#222 100%),radial-gradient(circle,rgba(124,140,255,.11) .8px,transparent 1.1px),radial-gradient(circle,rgba(179,124,255,.065) .75px,transparent 1px);background-size:100% 100%,24px 24px,48px 48px;background-position:center,0 0,12px 12px}
@media(max-width:1024px){
  body .dpib-root.dpib-archive .blog-hero{padding-left:60px!important;padding-right:60px!important}
  .dpib-root.dpib-archive>.shell{width:calc(100% - 120px)}
}
@media(max-width:760px){
  body .dpib-root.dpib-archive .blog-hero{padding:100px 24px 64px!important}
  .dpib-root.dpib-archive>.shell{width:calc(100% - 48px)}
  body .dpib-root.dpib-archive .blog-hero h1{font-size:clamp(51.04px,10.45vw,79.2px)!important}
}
@media(max-width:520px){body .dpib-root.dpib-archive .blog-hero h1{font-size:51.92px!important}}
