/* DDV CMS visual layout primitives. Scoped to published block trees and Builder preview. */
.ddv-vb-node{box-sizing:border-box;min-width:0;max-width:100%;background-color:var(--ddv-vb-background,transparent);background-repeat:no-repeat;background-size:cover;color:var(--ddv-vb-color,inherit);padding:var(--ddv-vb-pad-d,0px);border-radius:var(--ddv-vb-radius-d,0px);font-size:var(--ddv-vb-font-d,inherit);font-family:var(--ddv-vb-font-family,inherit);font-weight:var(--ddv-vb-font-weight,inherit);border-color:var(--ddv-vb-border,transparent)}
.ddv-vb-node>.ddv-cms-block{min-width:0;max-width:100%;width:100%;margin:0 auto 20px}
.ddv-vb-node>.ddv-vb-layout{width:100%;max-width:100%;margin:0 auto;min-width:0}
.ddv-vb-layout-content{display:grid;grid-template-columns:repeat(var(--ddv-vb-cols-d,1),minmax(0,1fr));gap:var(--ddv-vb-gap-d,12px);min-width:0}
.ddv-vb-grid>.ddv-vb-layout-content{grid-template-columns:var(--ddv-vb-template-d,repeat(var(--ddv-vb-cols-d,2),minmax(0,1fr)))}
.ddv-vb-column>.ddv-vb-layout-content{grid-template-columns:minmax(0,1fr)}
.ddv-vb-node:has(>.ddv-vb-section){width:min(100% - 28px,1320px);margin:24px auto}
.ddv-vb-node:has(>.ddv-vb-container){width:100%;margin:0 auto}
.ddv-vb-node:has(>.ddv-vb-grid),.ddv-vb-node:has(>.ddv-vb-column){width:100%}
.ddv-vb-heading{margin:0 0 12px;line-height:1.18;overflow-wrap:anywhere}
.ddv-vb-text{white-space:pre-line;overflow-wrap:anywhere}
.ddv-vb-divider{border:0;border-top:1px solid var(--ddv-border,#d7e3de);margin:14px auto}
.ddv-vb-promotion{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center;gap:22px;padding:20px;border-radius:15px;background:var(--ddv-surface,#fff);border:1px solid var(--ddv-border,#d7e3de)}
.ddv-vb-promotion img{width:100%;height:auto;max-height:380px;object-fit:cover;border-radius:12px}
.ddv-vb-promotion h2{font-size:clamp(22px,3vw,34px);margin:0}
.ddv-vb-testimonial{margin:0;padding:23px;background:var(--ddv-surface,#fff);border-radius:14px;border:1px solid var(--ddv-border,#d7e3de)}
.ddv-vb-testimonial blockquote{font-size:clamp(16px,2vw,22px);line-height:1.5;margin:0 0 13px}
.ddv-vb-testimonial figcaption{font-weight:700}
.ddv-align-right{text-align:right}
@media(min-width:1024px){.ddv-vb-hide-desktop{display:none!important}}
@media(max-width:1023px){
 .ddv-vb-node{padding:var(--ddv-vb-pad-t,var(--ddv-vb-pad-d,0px));border-radius:var(--ddv-vb-radius-t,var(--ddv-vb-radius-d,0px));font-size:var(--ddv-vb-font-t,var(--ddv-vb-font-d,inherit))}
 .ddv-vb-layout-content{grid-template-columns:repeat(var(--ddv-vb-cols-t,var(--ddv-vb-cols-d,1)),minmax(0,1fr));gap:var(--ddv-vb-gap-t,var(--ddv-vb-gap-d,12px))}
 .ddv-vb-grid>.ddv-vb-layout-content{grid-template-columns:repeat(var(--ddv-vb-cols-t,2),minmax(0,1fr))}
}
@media(max-width:767px){
 .ddv-vb-hide-mobile{display:none!important}
 .ddv-vb-node{padding:var(--ddv-vb-pad-m,var(--ddv-vb-pad-t,0px));border-radius:var(--ddv-vb-radius-m,var(--ddv-vb-radius-t,0px));font-size:var(--ddv-vb-font-m,var(--ddv-vb-font-t,inherit))}
 .ddv-vb-layout-content{grid-template-columns:repeat(var(--ddv-vb-cols-m,1),minmax(0,1fr));gap:var(--ddv-vb-gap-m,var(--ddv-vb-gap-t,12px))}
 .ddv-vb-grid>.ddv-vb-layout-content{grid-template-columns:repeat(var(--ddv-vb-cols-m,1),minmax(0,1fr))}
 .ddv-vb-promotion{grid-template-columns:minmax(0,1fr);padding:14px}
 .ddv-vb-node:has(>.ddv-vb-section){width:min(100% - 18px,1320px)}
}

.ddv-vb-registered-widget{padding:clamp(16px,3vw,35px);border:1px solid var(--ddv-border,#d7e3de);border-radius:16px;background:var(--ddv-surface,#fff)}

@media(min-width:1024px){.ddv-menu-hide-desktop{display:none!important}}
@media(min-width:768px) and (max-width:1023px){.ddv-menu-hide-tablet{display:none!important}}
@media(max-width:767px){.ddv-menu-hide-mobile{display:none!important}}

.ddv-site-footer-menu{width:min(100% - 28px,1320px);margin:25px auto 0;padding:16px;border-radius:14px;background:var(--ddv-surface,#fff);border:1px solid var(--ddv-border,#d7e3de)}
.ddv-site-footer-menu>ul{display:flex;gap:16px 26px;justify-content:center;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.ddv-site-footer-menu a{text-decoration:none;color:var(--ddv-text,inherit)}

/* V1031 CMS product shelf: one renderer, 16 visual options, device-specific layout tokens. */
.ddv-cms-product-shelf{min-width:0;max-width:100%;container-type:inline-size;--ddv-card-border:var(--ddv-border,#dce7e1);--ddv-card-primary:var(--ddv-primary,#087d59);--ddv-card-surface:var(--ddv-surface,#fff)}
.ddv-cms-product-shelf .ddv-product-shelf-items{display:grid;grid-template-columns:repeat(var(--ddv-products-cols-d,4),minmax(0,1fr));gap:12px;align-items:stretch;min-width:0}
.ddv-cms-product-shelf .ddv-ph-product-card{min-width:0;background:var(--ddv-card-surface);border:1px solid var(--ddv-card-border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:none}
.ddv-cms-product-shelf .ddv-ph-product-media{display:block;min-width:0;max-width:100%;aspect-ratio:1;overflow:hidden;background:var(--ddv-surface-2,#eff5f1)}
.ddv-cms-product-shelf .ddv-ph-product-media img{width:100%;height:100%;object-fit:cover;display:block}
.ddv-cms-product-shelf .ddv-ph-product-info{display:flex;flex-direction:column;gap:6px;padding:12px;flex:1;min-width:0;max-width:100%;overflow-wrap:anywhere}
.ddv-cms-product-shelf .ddv-ph-product-info h3{font-size:clamp(12px,1vw,15px);line-height:1.4;min-height:2.8em;margin:0}
.ddv-cms-product-shelf .ddv-ph-product-info h3 a{text-decoration:none;color:inherit;overflow-wrap:anywhere;word-break:normal}
.ddv-cms-product-shelf .ddv-ph-product-price{overflow-wrap:anywhere;font-size:clamp(15px,1.5vw,21px);font-weight:850;color:var(--ddv-card-primary)}
.ddv-cms-product-shelf .ddv-ph-buy-row{margin-top:auto;display:flex;flex-wrap:wrap;gap:5px}
.ddv-cms-product-shelf .ddv-ph-buy-row>*{flex:1 1 75px;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center}
.ddv-cms-product-shelf .ddv-shelf-more{display:block;margin:18px auto;min-width:180px}
.ddv-cms-product-shelf .ddv-product-shelf-items>.ddv-ph-product-card{transition:transform .16s ease,box-shadow .16s ease,opacity .2s ease}
.ddv-cms-product-shelf.ddv-product-no-category .ddv-ph-product-cat,.ddv-cms-product-shelf.ddv-product-no-sku .ddv-ph-sku,.ddv-cms-product-shelf.ddv-product-no-price .ddv-ph-product-price,.ddv-cms-product-shelf.ddv-product-no-button .ddv-ph-buy-row,.ddv-cms-product-shelf.ddv-product-no-button .ddv-ph-full{display:none!important}
.ddv-cms-product-shelf.ddv-product-image-portrait .ddv-ph-product-media{aspect-ratio:3/4}
.ddv-cms-product-shelf.ddv-product-image-landscape .ddv-ph-product-media{aspect-ratio:4/3}
.ddv-cms-product-shelf.ddv-product-image-contain .ddv-ph-product-media img{object-fit:contain;padding:10px}
.ddv-cms-product-shelf.ddv-product-image-circle .ddv-ph-product-media{width:78%;aspect-ratio:1;border-radius:50%;margin:12px auto 0}
.ddv-cms-product-shelf.ddv-product-image-circle .ddv-ph-product-media img{border-radius:50%}
/* Eight default layouts */
.ddv-product-style-compact .ddv-ph-product-info{padding:8px;gap:3px}
.ddv-product-style-compact .ddv-ph-product-cat,.ddv-product-style-compact .ddv-ph-sku{display:none}
.ddv-product-style-horizontal .ddv-ph-product-card{display:grid;grid-template-columns:42% minmax(0,1fr)}
.ddv-product-style-horizontal .ddv-ph-product-media{height:100%;aspect-ratio:auto}
.ddv-product-style-minimal .ddv-ph-product-card{border:0;background:transparent;border-radius:6px}
.ddv-product-style-bordered .ddv-ph-product-card{border:2px solid var(--ddv-card-primary)}
.ddv-product-style-overlay .ddv-ph-product-card{position:relative;isolation:isolate}
.ddv-product-style-overlay .ddv-ph-product-media{aspect-ratio:3/4}
.ddv-product-style-overlay .ddv-ph-product-info{background:linear-gradient(0deg,rgba(5,20,14,.9),rgba(5,20,14,.2));color:#fff;position:absolute;inset:auto 0 0;z-index:1}
.ddv-product-style-overlay .ddv-ph-product-info h3 a,.ddv-product-style-overlay .ddv-ph-product-price{color:#fff}
.ddv-product-style-featured .ddv-ph-product-card:first-child{grid-column:span 2;display:grid;grid-template-columns:48% minmax(0,1fr)}
.ddv-product-style-featured .ddv-ph-product-card:first-child .ddv-ph-product-media{aspect-ratio:auto;height:100%}
.ddv-product-style-catalog .ddv-ph-product-card{border-radius:4px}
.ddv-product-style-catalog .ddv-ph-product-info{padding:10px;background:var(--ddv-surface-2,#f2f7f4)}
/* Eight advanced layouts */
.ddv-product-style-mosaic .ddv-ph-product-card:nth-child(6n+1){grid-column:span 2;grid-row:span 2}
.ddv-product-style-mosaic .ddv-ph-product-card:nth-child(6n+1) .ddv-ph-product-media{aspect-ratio:4/3}
.ddv-product-style-magazine .ddv-ph-product-card{border:0;border-bottom:2px solid var(--ddv-card-border);border-radius:0}
.ddv-product-style-magazine .ddv-ph-product-info h3{font-family:Georgia,serif;font-size:18px}
.ddv-product-style-floating .ddv-ph-product-card{border:0;box-shadow:0 12px 25px #0c36211a;margin:5px}
.ddv-product-style-glass .ddv-ph-product-card{background:color-mix(in srgb,var(--ddv-card-surface) 76%,transparent);backdrop-filter:blur(12px);border:1px solid color-mix(in srgb,var(--ddv-card-primary) 15%,transparent)}
/* List SKIN styles cards, but device list/grid/scroll mode owns the shelf columns. */
.ddv-product-style-list .ddv-ph-product-card{display:grid;grid-template-columns:140px minmax(0,1fr)}
.ddv-product-style-list .ddv-ph-product-media{height:100%;aspect-ratio:1}
/* Carousel SKIN keeps snap-ready cards; actual scrolling is driven by device mode. */
.ddv-product-style-carousel .ddv-ph-product-card{scroll-snap-align:start}
.ddv-product-style-pricing .ddv-ph-product-price{font-size:clamp(20px,2vw,30px);padding:8px 0;border-top:1px dashed var(--ddv-card-border)}
.ddv-product-style-editorial .ddv-ph-product-card{border-radius:0 23px 0 23px}
.ddv-product-style-editorial .ddv-ph-product-media{aspect-ratio:3/4}
/* Motion and display belong to the independently configured CMS collection. */
@media(min-width:1024px){
 .ddv-cms-product-shelf.ddv-pdisplay-d-scroll .ddv-product-shelf-items{display:grid;grid-auto-flow:column;grid-template-rows:repeat(var(--ddv-products-rows-d,2),minmax(0,auto));grid-template-columns:none;grid-auto-columns:minmax(180px,240px);overflow-x:auto;scroll-snap-type:x mandatory}
 .ddv-cms-product-shelf.ddv-pdisplay-d-scroll .ddv-ph-product-card{flex:0 0 240px;scroll-snap-align:start}
 .ddv-cms-product-shelf.ddv-pdisplay-d-list .ddv-product-shelf-items{display:grid;grid-template-columns:1fr}
 .ddv-cms-product-shelf.ddv-pdisplay-d-list .ddv-ph-product-card{display:grid;grid-template-columns:160px 1fr}
 .ddv-cms-product-shelf.ddv-pmotion-d-lift .ddv-ph-product-card:hover{transform:translateY(-5px);box-shadow:0 12px 28px #0002}
 .ddv-cms-product-shelf.ddv-pmotion-d-slide .ddv-ph-product-card:hover{transform:translateX(4px)}
 .ddv-cms-product-shelf.ddv-pmotion-d-fade .ddv-ph-product-card:hover{opacity:.78}
}
@media(min-width:768px) and (max-width:1023px){
 .ddv-cms-product-shelf .ddv-product-shelf-items{grid-template-columns:repeat(var(--ddv-products-cols-t,3),minmax(0,1fr))}
 .ddv-cms-product-shelf.ddv-pdisplay-t-scroll .ddv-product-shelf-items{display:grid;grid-auto-flow:column;grid-template-rows:repeat(var(--ddv-products-rows-t,2),minmax(0,auto));grid-template-columns:none;grid-auto-columns:minmax(160px,36%);overflow-x:auto;scroll-snap-type:x mandatory}
 .ddv-cms-product-shelf.ddv-pdisplay-t-scroll .ddv-ph-product-card{flex:0 0 36%;scroll-snap-align:start}
 .ddv-cms-product-shelf.ddv-pdisplay-t-list .ddv-product-shelf-items{grid-template-columns:1fr}
 .ddv-cms-product-shelf.ddv-pmotion-t-lift .ddv-ph-product-card:active{transform:translateY(-3px)}
 .ddv-cms-product-shelf.ddv-pmotion-t-slide .ddv-ph-product-card:active{transform:translateX(3px)}
 .ddv-cms-product-shelf.ddv-pmotion-t-fade .ddv-ph-product-card:active{opacity:.78}
}
@media(max-width:767px){
 .ddv-cms-product-shelf .ddv-product-shelf-items{grid-template-columns:repeat(var(--ddv-products-cols-m,2),minmax(0,1fr));gap:7px}
 .ddv-cms-product-shelf .ddv-ph-product-info{padding:8px;gap:4px}
 .ddv-cms-product-shelf .ddv-ph-product-info h3{font-size:11px}
 .ddv-cms-product-shelf .ddv-ph-product-price{overflow-wrap:anywhere;font-size:15px}
 .ddv-cms-product-shelf .ddv-ph-buy-row .ddv-btn{font-size:10px;padding:7px 3px}
 .ddv-cms-product-shelf.ddv-pdisplay-m-scroll .ddv-product-shelf-items{display:grid!important;grid-auto-flow:column;grid-template-rows:repeat(var(--ddv-products-rows-m,2),minmax(0,auto));grid-template-columns:none;grid-auto-columns:minmax(120px,60%);overflow-x:auto;scroll-snap-type:x mandatory}
 .ddv-cms-product-shelf.ddv-pdisplay-m-scroll .ddv-ph-product-card{flex:0 0 60%;scroll-snap-align:start}
 .ddv-cms-product-shelf.ddv-pdisplay-m-list .ddv-product-shelf-items{grid-template-columns:1fr}
 .ddv-cms-product-shelf.ddv-pdisplay-m-list .ddv-ph-product-card{display:grid;grid-template-columns:38% 1fr}
 .ddv-cms-product-shelf.ddv-pmotion-m-lift .ddv-ph-product-card:active{transform:translateY(-3px)}
 .ddv-cms-product-shelf.ddv-pmotion-m-slide .ddv-ph-product-card:active{transform:translateX(3px)}
 .ddv-cms-product-shelf.ddv-pmotion-m-fade .ddv-ph-product-card:active{opacity:.78}
 .ddv-product-style-featured .ddv-ph-product-card:first-child,.ddv-product-style-mosaic .ddv-ph-product-card:nth-child(6n+1){grid-column:span 1;grid-row:span 1;display:flex;flex-direction:column}
 .ddv-product-style-list .ddv-ph-product-card{grid-template-columns:38% minmax(0,1fr)}
 /* Horizontal/list skins need a full column when two tiny product tiles share the mobile row. */
 .ddv-cms-product-shelf:is(.ddv-product-style-horizontal,.ddv-product-style-list):not(.ddv-pdisplay-m-list) .ddv-ph-product-card{display:flex;flex-direction:column}
 .ddv-cms-product-shelf:is(.ddv-product-style-horizontal,.ddv-product-style-list):not(.ddv-pdisplay-m-list) .ddv-ph-product-media{height:auto;aspect-ratio:1}
 .ddv-cms-product-shelf.ddv-pdisplay-m-list .ddv-ph-product-card{display:grid;grid-template-columns:minmax(86px,32%) minmax(0,1fr)}
 .ddv-cms-product-shelf.ddv-pdisplay-m-list .ddv-product-shelf-items{display:grid!important;grid-auto-flow:row;grid-template-rows:none;grid-template-columns:1fr!important;overflow-x:visible}
 /* Overlay text can exceed photo height on a 160px card: move it back into normal flow. */
 .ddv-cms-product-shelf.ddv-product-style-overlay .ddv-ph-product-info{position:static;inset:auto;background:linear-gradient(155deg,#102a21,#285144)}
 .ddv-cms-product-shelf.ddv-product-style-overlay .ddv-ph-product-media{aspect-ratio:1}
}
/* Narrow nested CMS containers also respond, even on a 390px phone. */
@media(max-width:767px){
 @container (max-width:340px){
  .ddv-cms-product-shelf:not(.ddv-pdisplay-m-scroll):not(.ddv-pdisplay-m-list) .ddv-product-shelf-items{grid-template-columns:1fr!important}
  .ddv-cms-product-shelf:not(.ddv-pdisplay-m-list) .ddv-ph-product-card{grid-column:auto!important;grid-row:auto!important}
  .ddv-cms-product-shelf .ddv-ph-buy-row>*{flex-basis:85px}
 }
}
@media(max-width:420px){
 .ddv-cms-product-shelf:not(.ddv-pdisplay-m-scroll):not(.ddv-pdisplay-m-list) .ddv-product-shelf-items{grid-template-columns:repeat(var(--ddv-products-cols-m-narrow,2),minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.ddv-cms-product-shelf .ddv-ph-product-card{transition:none!important;transform:none!important;animation:none!important}}

/* DDV V1032 · Editor-defined merge spans, typed column patterns and independent image opacity. */
.ddv-vb-node{grid-column:span var(--ddv-vb-span-d,1)}
.ddv-store-hero .ddv-hero-media{display:block;width:100%;max-height:420px;object-fit:cover;border-radius:12px;margin:0 0 16px}
.ddv-cms-image_banner img{max-width:100%;height:auto;display:block;border-radius:inherit}
@media(min-width:768px) and (max-width:1023px){.ddv-vb-node{grid-column:span var(--ddv-vb-span-t,1)}}
@media(max-width:767px){.ddv-vb-node{grid-column:span var(--ddv-vb-span-m,1)}}

/* V1038 integrated CMS Builder primitives. No second renderer, no raw CSS payloads. */
.ddv-vb-node{min-width:0;opacity:var(--ddv-vb-alpha,1);margin-block-start:var(--ddv-vb-mt-d,0px);margin-block-end:var(--ddv-vb-mb-d,0px);order:var(--ddv-vb-order-d,0);position:relative;z-index:var(--ddv-vb-z,0);isolation:isolate;}
.ddv-vb-node.ddv-vb-position-mode-static{position:static}
.ddv-vb-node.ddv-vb-position-mode-sticky{position:sticky;top:0}
.ddv-vb-node.ddv-vb-border-style-solid{border:var(--ddv-vb-border-width,0px) solid var(--ddv-vb-border,#dce7e2)}
.ddv-vb-node.ddv-vb-border-style-dashed{border:var(--ddv-vb-border-width,0px) dashed var(--ddv-vb-border,#dce7e2)}
.ddv-vb-node.ddv-vb-shadow-sm{box-shadow:0 4px 12px #10291b13}
.ddv-vb-node.ddv-vb-shadow-md{box-shadow:0 12px 26px #10291b20}
.ddv-vb-node.ddv-vb-shadow-lg{box-shadow:0 20px 48px #10291b29}
.ddv-vb-node.ddv-vb-text-contrast-light{color:#fff;--ddv-vb-color:#fff}
.ddv-vb-node.ddv-vb-text-contrast-dark{color:#132c24;--ddv-vb-color:#132c24}
.ddv-vb-node.ddv-vb-text-contrast-brand{color:var(--ddv-primary,#087d59);--ddv-vb-color:var(--ddv-primary,#087d59)}
.ddv-vb-node.ddv-vb-has-overlay{position:relative;isolation:isolate}
.ddv-vb-node.ddv-vb-has-overlay::before,.ddv-vb-node.ddv-vb-has-overlay.ddv-vb-overlay-after::after{content:"";position:absolute;inset:var(--ddv-vb-overlay-y,0px) var(--ddv-vb-overlay-x,0px);pointer-events:none;opacity:var(--ddv-vb-ov-opacity,.35);background-image:var(--ddv-vb-overlay-image,none);background-position:var(--ddv-vb-overlay-position,center);background-size:var(--ddv-vb-overlay-size,cover);background-repeat:var(--ddv-vb-overlay-repeat,no-repeat);mix-blend-mode:var(--ddv-vb-overlay-blend,normal);backdrop-filter:blur(var(--ddv-vb-overlay-blur,0px));z-index:0;border-radius:inherit}
.ddv-vb-node.ddv-vb-has-overlay>*{position:relative;z-index:1}
.ddv-vb-node.ddv-vb-has-overlay.ddv-vb-overlay-after::before{content:none}
.ddv-vb-node.ddv-vb-has-overlay.ddv-vb-overlay-after::after{z-index:2}
.ddv-vb-node.ddv-vb-seamless{border:0!important;box-shadow:none!important;border-radius:0!important}
.ddv-vb-node.ddv-vb-no-gap>.ddv-vb-layout>.ddv-vb-layout-content,.ddv-vb-node.ddv-vb-flush>.ddv-vb-layout>.ddv-vb-layout-content{gap:0!important}
.ddv-vb-node.ddv-vb-flush,.ddv-vb-node.ddv-vb-no-gap{margin:0!important}
.ddv-vb-node.ddv-vb-flush{padding:0!important;border:0!important;border-radius:0!important}
.ddv-vb-node.ddv-vb-flush>.ddv-cms-block,.ddv-vb-node.ddv-vb-no-gap>.ddv-cms-block{margin:0!important}
.ddv-vb-node.ddv-vb-full-bleed,.ddv-vb-node.ddv-vb-section-kind-full-width{max-width:none!important;width:100vw!important;position:relative;left:50%;transform:translateX(-50%);margin-inline:0!important}
.ddv-vb-node.ddv-vb-section-kind-boxed{max-width:min(100% - 24px,var(--ddv-vb-max-width,1200px))!important;margin-inline:auto!important}
.ddv-vb-node.ddv-vb-section-kind-hero{min-height:clamp(260px,38vw,620px);display:flex;align-items:center}
.ddv-vb-node.ddv-vb-section-kind-hero>.ddv-vb-layout{width:100%}
.ddv-vb-node.ddv-vb-section-kind-header{z-index:max(1,var(--ddv-vb-z,0))}
.ddv-vb-node.ddv-vb-section-kind-gallery .ddv-vb-layout-content{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.ddv-vb-node.ddv-vb-container-mode-max-width>.ddv-vb-layout,.ddv-vb-node.ddv-vb-container-mode-fixed>.ddv-vb-layout{max-width:var(--ddv-vb-max-width,1200px);margin-inline:auto}
.ddv-vb-node.ddv-vb-container-mode-fluid>.ddv-vb-layout{max-width:none}
.ddv-vb-node.ddv-vb-container-mode-centered>.ddv-vb-layout{max-width:var(--ddv-vb-max-width,1200px);margin-inline:auto}
.ddv-vb-node.ddv-vb-centered>.ddv-vb-layout{margin-inline:auto}
.ddv-vb-node.ddv-vb-layout-mode-flex>.ddv-vb-layout>.ddv-vb-layout-content{display:flex;flex-direction:var(--ddv-vb-flex-direction,row);align-items:var(--ddv-vb-align-items,stretch);justify-content:var(--ddv-vb-justify-content,start);flex-wrap:var(--ddv-vb-flex-wrap,wrap)}
.ddv-vb-node.ddv-vb-layout-mode-flex>.ddv-vb-layout>.ddv-vb-layout-content>.ddv-vb-node{flex-grow:var(--ddv-vb-grow,0);min-width:0}
.ddv-vb-node.ddv-vb-layout-mode-flex>.ddv-vb-layout>.ddv-vb-layout-content>.ddv-vb-node{align-self:var(--ddv-vb-align-self,auto)}
.ddv-vb-node.ddv-vb-container-mode-max-width>.ddv-vb-layout>.ddv-vb-layout-content{min-width:0}
.ddv-vb-node.ddv-vb-layout-mode-flex>.ddv-vb-layout>.ddv-vb-layout-content>.ddv-vb-node[style*="--ddv-vb-width-d:"]{flex-shrink:1}
.ddv-vb-node{padding-inline:var(--ddv-vb-px-d,0px);padding-block:var(--ddv-vb-py-d,0px)}
.ddv-vb-node.ddv-vb-no-gap{--ddv-vb-gap-d:0px;--ddv-vb-gap-t:0px;--ddv-vb-gap-m:0px}
.ddv-vb-node:has(>.ddv-vb-section){margin-block:var(--ddv-vb-mt-d,0px) var(--ddv-vb-mb-d,0px)}
.ddv-vb-node.ddv-vb-flush:has(>.ddv-vb-section),.ddv-vb-node.ddv-vb-no-gap:has(>.ddv-vb-section){margin:0!important}
.ddv-vb-node>.ddv-vb-layout>.ddv-vb-layout-content>.ddv-vb-node{min-width:0}
.ddv-vb-node.ddv-vb-layout-mode-flex>.ddv-vb-layout>.ddv-vb-layout-content>.ddv-vb-node{align-self:var(--ddv-vb-align-self,auto)}
.ddv-vb-node.ddv-vb-layout-mode-flex>.ddv-vb-layout>.ddv-vb-layout-content>.ddv-vb-node{flex-basis:auto}
.ddv-vb-node.ddv-vb-layout-mode-flex>.ddv-vb-layout>.ddv-vb-layout-content>.ddv-vb-node[style*="--ddv-vb-width-d:"]{flex-basis:var(--ddv-vb-preferred-width,auto)}
.ddv-vb-node .ddv-vb-content-card{background:var(--ddv-surface,#fff);border:1px solid var(--ddv-border,#dce7e1);border-radius:12px;overflow:hidden;height:100%}
.ddv-vb-content-card img{display:block;width:100%;max-height:290px;object-fit:cover}
.ddv-vb-content-card>div{padding:16px}.ddv-vb-content-card h3{margin:0 0 6px}.ddv-vb-content-card p{white-space:pre-line}
.ddv-vb-list ul{margin:8px 0;padding-left:22px}.ddv-vb-list li{padding:4px 0}.ddv-vb-icon{display:flex;gap:8px;align-items:center}
.ddv-vb-icon>span{font-size:clamp(24px,4vw,44px);line-height:1}.ddv-vb-icon small{font-size:14px}
.ddv-vb-video{aspect-ratio:16/9;max-width:100%;background:#101a17;border-radius:8px;overflow:hidden}.ddv-vb-video iframe{width:100%;height:100%;border:0}
.ddv-vb-search-form>label{display:block;font-weight:700;margin-bottom:9px}.ddv-vb-search-form>div{display:flex;gap:8px;flex-wrap:wrap}
.ddv-vb-search-form input{min-width:140px;flex:1;border:1px solid var(--ddv-border,#cddfd3);padding:11px;border-radius:8px}
.ddv-vb-search-form button{background:var(--ddv-primary,#087d59);color:#fff;padding:11px 18px;border:0;border-radius:8px;cursor:pointer}
.ddv-vb-table-scroll{max-width:100%;overflow:auto}.ddv-vb-table-scroll table{width:100%;border-collapse:collapse;min-width:360px}
.ddv-vb-table-scroll :is(th,td){border:1px solid var(--ddv-border,#d7e3dd);padding:10px;text-align:left}.ddv-vb-table-scroll th{background:var(--ddv-surface-2,#edf5ee)}
@media(min-width:1024px){.ddv-vb-node{order:var(--ddv-vb-order-d,0);margin-top:var(--ddv-vb-mt-d,0px);margin-bottom:var(--ddv-vb-mb-d,0px)}}
@media(min-width:768px) and (max-width:1023px){.ddv-vb-node{order:var(--ddv-vb-order-t,0);margin-top:var(--ddv-vb-mt-t,0px);margin-bottom:var(--ddv-vb-mb-t,0px);padding-inline:var(--ddv-vb-px-t,0px);padding-block:var(--ddv-vb-py-t,0px)}.ddv-vb-node.ddv-vb-section-kind-boxed{width:calc(100% - 20px)}.ddv-vb-node{background-attachment:scroll!important}}
@media(max-width:767px){.ddv-vb-node{order:var(--ddv-vb-order-m,0);margin-top:var(--ddv-vb-mt-m,0px);margin-bottom:var(--ddv-vb-mb-m,0px);padding-inline:var(--ddv-vb-px-m,0px);padding-block:var(--ddv-vb-py-m,0px)}.ddv-vb-node.ddv-vb-section-kind-boxed{width:calc(100% - 16px)}.ddv-vb-node{background-attachment:scroll!important}}
@media(prefers-reduced-motion:reduce){.ddv-vb-node{scroll-behavior:auto!important}}

/* Grid offsets and per-device widths are native grid placement, never transforms. */
.ddv-vb-layout-content>.ddv-vb-node{grid-column-start:var(--ddv-vb-grid-start-d,auto);grid-column-end:span var(--ddv-vb-span-d,1);width:var(--ddv-vb-custom-width-d,auto)}
.ddv-vb-node.ddv-vb-layout-mode-flex>.ddv-vb-layout>.ddv-vb-layout-content>.ddv-vb-node{flex-basis:var(--ddv-vb-custom-width-d,auto)}
@media(min-width:768px) and (max-width:1023px){.ddv-vb-layout-content>.ddv-vb-node{grid-column-start:var(--ddv-vb-grid-start-t,auto);grid-column-end:span var(--ddv-vb-span-t,1);width:var(--ddv-vb-custom-width-t,auto)}.ddv-vb-node.ddv-vb-layout-mode-flex>.ddv-vb-layout>.ddv-vb-layout-content>.ddv-vb-node{flex-basis:var(--ddv-vb-custom-width-t,auto)}}
@media(max-width:767px){.ddv-vb-layout-content>.ddv-vb-node{grid-column-start:var(--ddv-vb-grid-start-m,auto);grid-column-end:span var(--ddv-vb-span-m,1);width:var(--ddv-vb-custom-width-m,auto)}.ddv-vb-node.ddv-vb-layout-mode-flex>.ddv-vb-layout>.ddv-vb-layout-content>.ddv-vb-node{flex-basis:var(--ddv-vb-custom-width-m,auto)}}

/* Optional HTML5 background video, independent of DDV's image-only Media library. */
.ddv-vb-node:has(>.ddv-vb-background-video){position:relative;overflow:hidden;isolation:isolate}
.ddv-vb-node>.ddv-vb-background-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none}
.ddv-vb-node:has(>.ddv-vb-background-video)>:not(.ddv-vb-background-video){position:relative;z-index:1}
.ddv-vb-node.ddv-vb-has-overlay:has(>.ddv-vb-background-video)::before{z-index:1}
.ddv-vb-node.ddv-vb-has-overlay:has(>.ddv-vb-background-video)>.ddv-vb-layout{z-index:2}
@media(prefers-reduced-motion:reduce){.ddv-vb-background-video{display:none!important}}

/* No-gap is opt-in and never changes spacing of legacy published CMS blocks. */
.ddv-vb-node.ddv-vb-no-gap>.ddv-vb-layout>.ddv-vb-layout-content>.ddv-vb-node>.ddv-cms-block,
.ddv-vb-node.ddv-vb-flush>.ddv-vb-layout>.ddv-vb-layout-content>.ddv-vb-node>.ddv-cms-block,
.ddv-vb-node.ddv-vb-seamless>.ddv-vb-layout>.ddv-vb-layout-content>.ddv-vb-node>.ddv-cms-block{margin:0!important}

@media(min-width:768px) and (max-width:1023px){.ddv-vb-hide-tablet{display:none!important}}
