/* Branding Layer. !important on image sizes beats theme rules that resize images at phone width. */
.bl-slider{clear:both;margin:36px 0;padding:18px 0;border-top:1px solid #d9dee5;border-bottom:1px solid #d9dee5;box-sizing:border-box}
.bl-slider .bl-slider__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 14px}
.bl-slider__title{margin:0;padding:0;font-size:13px;line-height:1.4;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#46505c}
/* Pause/Play uses the site's standard button: its --cc-btn tokens where they exist (CAD Construct: ink on #b88f09), neutral otherwise. */
.bl-slider .bl-slider__toggle{flex:none;min-width:96px;margin:0;padding:9px 20px;border:0;border-radius:3px;background:var(--cc-btn,#1f2937)!important;color:var(--cc-btn-text,#fff)!important;font-family:inherit;font-size:14px;font-weight:700;line-height:1.2;text-align:center;cursor:pointer;box-shadow:none;transition:background-color .2s ease}
.bl-slider .bl-slider__toggle:hover,.bl-slider .bl-slider__toggle:focus-visible{background:var(--cc-btn-hover,#374151)!important}
.bl-slider .bl-slider__toggle:focus-visible{outline:2px solid #0a0a0a;outline-offset:2px}
.bl-slider .bl-slider__window{overflow:hidden}
.bl-slider .bl-slider__track{display:flex;align-items:stretch;margin:0;padding:0!important;list-style:none}
.bl-slider--moving .bl-slider__track{width:max-content;animation:bl-slider-left var(--bl-slider-time,32s) linear infinite}
.bl-slider--moving:hover .bl-slider__track,.bl-slider--moving:focus-within .bl-slider__track,.bl-slider.is-paused .bl-slider__track{animation-play-state:paused}
.bl-slider--still .bl-slider__track{flex-wrap:wrap;row-gap:10px}
/* A right margin instead of a flex gap keeps the two halves of the loop exactly equal. */
.bl-slider .bl-slider__item{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:150px;min-height:72px;margin:0 12px 0 0;padding:8px 14px;border:1px solid #e3e6eb;border-radius:8px;background:#fff;box-sizing:border-box;list-style:none}
.bl-slider .bl-slider__item--dark{background:#2b2f3a;border-color:#2b2f3a}
.bl-slider .bl-slider__item img{display:block;width:auto!important;max-width:210px!important;height:40px!important;margin:0;object-fit:contain}
.bl-slider .bl-slider__item--named img{height:30px!important}
.bl-slider .bl-slider__name{font-size:11px;line-height:1.2;font-weight:600;color:#374151;text-align:center;white-space:nowrap}
@keyframes bl-slider-left{to{transform:translate3d(-50%,0,0)}}
@media (max-width:640px){
.bl-slider{margin:28px 0;padding:14px 0}
.bl-slider .bl-slider__item{min-width:130px;min-height:64px;margin-right:8px;padding:6px 10px}
.bl-slider .bl-slider__item img{max-width:170px!important;height:34px!important}
.bl-slider .bl-slider__item--named img{height:26px!important}
}
@media (prefers-reduced-motion:reduce){
.bl-slider--moving .bl-slider__track{width:auto;flex-wrap:wrap;row-gap:10px;animation:none}
.bl-slider .bl-slider__item--clone,.bl-slider .bl-slider__toggle{display:none}
}
/* Group Carousel version (includes/carousel.php). */
.bl-carousel{clear:both;margin:36px 0;padding:18px 0;border-top:1px solid #d9dee5;border-bottom:1px solid #d9dee5}
.bl-carousel .et_pb_group_carousel_slide > .et_pb_group{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:76px;padding:8px 10px;border:1px solid #e3e6eb;border-radius:8px;box-sizing:border-box}
.bl-carousel .et_pb_image{margin:0!important;width:auto;text-align:center}
.bl-carousel .et_pb_image img{display:block;width:auto!important;max-width:100%!important;height:40px!important;margin:0 auto;object-fit:contain}
.bl-carousel .et_pb_text{margin:0!important;padding:0}
.bl-carousel .bl-carousel__name{font-size:11px;line-height:1.2;font-weight:600;color:#374151}
.bl-carousel .et_pb_group_carousel_slide > .et_pb_group:has(img[src$="#bl-dark"]){background:#2b2f3a}
.bl-slider__note{margin:4px 0 0;padding:0;font-size:12.5px;line-height:1.5;color:#5b6573;max-width:70ch}
.bl-carousel .bl-slider__intro{margin:0 0 14px}
/* Divi placement: matches Divi's default row width, so the row lines up with the page above it. */
.bl-site{clear:both;background:#fff}
.bl-site__inner{width:80%;max-width:1080px;margin:0 auto;padding:8px 0 24px}
@media (max-width:980px){.bl-site__inner{width:90%}}
/* Full screen width (Settings > Row width, the default): the row and its rules span the screen and the logos run
   edge to edge; the heading, the Pause button and a still row of logos keep a gutter so nothing touches the edge. */
.bl-site--full{--bl-gutter:clamp(16px,3vw,40px)}
.bl-site--full .bl-site__inner{width:100%;max-width:none}
.bl-site--full .bl-slider .bl-slider__head,.bl-site--full .bl-slider--still .bl-slider__window,.bl-site--full .bl-carousel{padding-left:var(--bl-gutter);padding-right:var(--bl-gutter)}
@media (prefers-reduced-motion:reduce){.bl-site--full .bl-slider--moving .bl-slider__window{padding-left:var(--bl-gutter);padding-right:var(--bl-gutter)}}
/* Sponsors (v0.5.0): the row's sponsor link, the Sponsored label, and the enquiry form.
   Colours follow the site's button tokens when they exist (CAD Construct: --cc-btn), with neutral fallbacks. */
/* Pause on top, the sponsor link centred under it; both take the width of the wider one. */
.bl-slider__actions{flex:none;display:flex;flex-direction:column;align-items:stretch;gap:8px;text-align:center}
.bl-slider__actions:empty{display:none}
.bl-slider .bl-slider__sponsor,.bl-carousel .bl-slider__sponsor{font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.bl-slider .bl-slider__sponsor::after,.bl-carousel .bl-slider__sponsor::after{content:" \2192"}
.bl-carousel .bl-slider__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}
.bl-carousel .bl-slider__head .bl-slider__intro{margin:0}
.bl-slider .bl-slider__tag{display:block;margin:2px 0 0;padding:1px 6px;border-radius:3px;background:#eef0f3;font-size:10px;line-height:1.4;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#46505c}
@media (max-width:640px){.bl-slider .bl-slider__head{flex-wrap:wrap}}

.bl-form{max-width:860px;margin:24px 0 40px;font-size:15px;line-height:1.5;color:inherit}
.bl-form *,.bl-form *::before,.bl-form *::after{box-sizing:border-box}
.bl-form__intro{margin:0 0 18px;font-size:14px;color:#5b6573}
.bl-form__req{color:#b42318;font-weight:700}
.bl-form__group{margin:0 0 22px;padding:20px 22px 6px;border:1px solid #e3e6eb;border-radius:10px;background:#fff}
.bl-form__group>legend{padding:0 8px;margin:0 0 0 -8px;font-size:16px;font-weight:700;color:#1f2937}
.bl-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.bl-form__field{margin:0 0 16px;min-width:0}
.bl-form__field--wide{grid-column:1/-1}
.bl-form__field>label,.bl-form__field fieldset>legend{display:block;margin:0 0 6px;padding:0;font-size:14px;font-weight:600;color:#1f2937}
.bl-form__field fieldset{margin:0;padding:0;border:0;min-width:0}
.bl-form input[type=text],.bl-form input[type=email],.bl-form input[type=url],.bl-form input[type=tel],.bl-form input[type=date],.bl-form select,.bl-form textarea{width:100%;max-width:100%;margin:0;padding:10px 12px!important;border:1px solid #b9c0ca!important;border-radius:6px!important;background:#fff!important;font:inherit;font-size:15px!important;line-height:1.4;color:#111827!important;box-shadow:none}
.bl-form textarea{min-height:110px;resize:vertical}
.bl-form input:focus,.bl-form select:focus,.bl-form textarea:focus{outline:2px solid var(--cc-gold,#1f2937);outline-offset:1px;border-color:var(--cc-gold,#1f2937)!important}
.bl-form__checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px}
.bl-form__check{display:flex;align-items:flex-start;gap:9px;margin:0;font-size:14.5px;line-height:1.4;font-weight:400;cursor:pointer}
.bl-form__check input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--cc-btn,#1f2937)}
.bl-form__check--consent{font-size:14px}
.bl-form__field.has-error input,.bl-form__field.has-error select,.bl-form__field.has-error textarea{border-color:#b42318!important}
.bl-form__error{display:block;margin:5px 0 0;font-size:13px;font-weight:600;color:#b42318}
.bl-form__alert{margin:0 0 18px;padding:12px 16px;border:1px solid #f1b5ad;border-left:4px solid #b42318;border-radius:6px;background:#fdf1ef;font-weight:600;color:#7a1a10}
.bl-form__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.bl-form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px}
.bl-form .bl-form__submit{margin:0;padding:13px 26px;border:0;border-radius:6px;background:var(--cc-btn,#1f2937);color:var(--cc-btn-text,#fff);font:inherit;font-size:16px;font-weight:700;cursor:pointer;transition:background-color .2s ease}
.bl-form .bl-form__submit:hover,.bl-form .bl-form__submit:focus-visible{background:var(--cc-btn-hover,#374151)}
.bl-form .bl-form__submit:focus-visible{outline:2px solid #111827;outline-offset:2px}
.bl-form__fine{margin:0;font-size:13px;color:#5b6573}
.bl-form--sent{padding:22px 24px;border:1px solid #b7dfc3;border-left:4px solid #1f7a3d;border-radius:8px;background:#f1faf3}
.bl-form--sent h2{margin:0 0 6px;font-size:20px}
.bl-form--sent p{margin:0}
@media (max-width:640px){.bl-form__grid,.bl-form__checks{grid-template-columns:1fr}.bl-form__group{padding:16px 14px 4px}}
/* Vertical column, [branding_layer_column] (v0.6.0): Option B's one-logo-at-a-time stepping, top to bottom.
   A card is 76px tall with a 10px gap; column.php steps by the same 86px. */
.bl-column{box-sizing:border-box;margin:0;padding:18px 0;border-top:1px solid #d9dee5;border-bottom:1px solid #d9dee5}
.bl-column *,.bl-column *::before,.bl-column *::after{box-sizing:border-box}
.bl-column__head{margin:0 0 14px}
.bl-column .bl-slider__note{max-width:none}
.bl-column__actions{margin:12px 0 0}
.bl-column .bl-slider__toggle{width:100%;margin:0;padding:9px 20px;border:0;border-radius:3px;background:var(--cc-btn,#1f2937)!important;color:var(--cc-btn-text,#fff)!important;font-family:inherit;font-size:14px;font-weight:700;line-height:1.2;text-align:center;cursor:pointer;box-shadow:none;transition:background-color .2s ease}
.bl-column .bl-slider__toggle:hover,.bl-column .bl-slider__toggle:focus-visible{background:var(--cc-btn-hover,#374151)!important}
.bl-column .bl-slider__toggle:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.bl-column .bl-slider__sponsor{font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.bl-column .bl-slider__sponsor::after{content:" \2192"}
.bl-column__window{position:relative;height:var(--bl-col-window,334px);overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 14px,#000 calc(100% - 14px),transparent);mask-image:linear-gradient(to bottom,transparent,#000 14px,#000 calc(100% - 14px),transparent)}
.bl-column--still .bl-column__window{height:auto;-webkit-mask-image:none;mask-image:none}
.bl-column__track{margin:0;padding:0!important;list-style:none}
.bl-column .bl-slider__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:76px;margin:0 0 10px;padding:8px 14px;border:1px solid #e3e6eb;border-radius:8px;background:#fff;list-style:none;overflow:hidden}
.bl-column .bl-slider__item--dark{background:#2b2f3a;border-color:#2b2f3a}
.bl-column .bl-slider__item img{display:block;width:auto!important;max-width:100%!important;height:40px!important;margin:0;object-fit:contain}
.bl-column .bl-slider__item--named img{height:30px!important}
.bl-column .bl-slider__name{font-size:11px;line-height:1.2;font-weight:600;color:#374151;text-align:center;white-space:nowrap}
.bl-column .bl-slider__tag{display:block;margin:2px 0 0;padding:1px 6px;border-radius:3px;background:#eef0f3;font-size:10px;line-height:1.4;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#46505c}
.bl-column--moving .bl-column__track{transform:translate3d(0,var(--bl-col-start,0),0);animation:var(--bl-col-anim) var(--bl-col-time,30s) linear infinite}
.bl-column--moving:hover .bl-column__track,.bl-column--moving:focus-within .bl-column__track,.bl-column.is-paused .bl-column__track{animation-play-state:paused}
/* Dark sections: light text, gold link; the logo cards stay white. */
.bl-column--dark{border-color:#2e3035}
.bl-column--dark .bl-slider__title{color:#fff}
.bl-column--dark .bl-slider__note{color:#c3c6cc}
.bl-column--dark .bl-slider__sponsor,.bl-column--dark .bl-slider__sponsor:hover{color:var(--cc-gold-light,#e0b62e)!important}
.bl-column--dark .bl-slider__toggle:focus-visible{outline-color:#fff}
/* Stays in view while the page scrolls. On Divi it's the module around the shortcode that sticks, inside a column
   stretched to the height of its row. --bl-sticky-top clears a fixed header. */
.bl-column--sticky{position:sticky;top:var(--bl-sticky-top,160px)}
.et_pb_row:has(.bl-column--sticky){align-items:stretch!important}
.et_pb_column:has(.bl-column--sticky){align-self:stretch!important}
.et_pb_column>.et_pb_module:has(.bl-column--sticky){position:sticky;top:var(--bl-sticky-top,160px);z-index:2}
@media (max-width:980px){.bl-column--sticky,.et_pb_column>.et_pb_module:has(.bl-column--sticky){position:static}.bl-column{max-width:420px;margin:0 auto}}
@media (prefers-reduced-motion:reduce){
.bl-column--moving .bl-column__track{animation:none;transform:none}
.bl-column--moving .bl-slider__item--clone,.bl-column .bl-slider__toggle{display:none}
.bl-column--moving .bl-column__window{overflow-y:auto;-webkit-mask-image:none;mask-image:none}
}
