.cc-section{position:relative;isolation:isolate;padding-block:clamp(48px,7vw,96px)}
.cc-section__inner{position:relative;z-index:2;max-width:var(--cc-content-width,1320px);width:calc(100% - var(--cc-gutter,24px)*2);margin-inline:auto;min-width:0}
.cc-section__inner>*+*{margin-block-start:var(--wp--style--block-gap,1.25rem)}
/* 1.0.5: block alignment inside Cosey containers. Core only shrinks an aligned image/figure (display:table) and
   expects the parent *layout* container to position it; these containers aren't WordPress layout containers,
   so the flow-layout rules are replicated here (same values as core's is-layout-flow). */
.cc-section__inner>.aligncenter,.cc-brand-display__content>.aligncenter{margin-left:auto!important;margin-right:auto!important}
.cc-section__inner>.alignleft,.cc-brand-display__content>.alignleft{float:left;margin-inline-start:0;margin-inline-end:2em}
.cc-section__inner>.alignright,.cc-brand-display__content>.alignright{float:right;margin-inline-start:2em;margin-inline-end:0}
.cc-section__inner::after,.cc-brand-display__content::after{content:"";display:table;clear:both}
.cc-section__inner>.alignwide,.cc-section__inner>.alignfull{max-width:none}
.cc-section__inner>.alignfull{width:calc(100% + var(--cc-gutter,24px)*2);margin-inline:calc(var(--cc-gutter,24px)*-1)}
.cc-section__media,.cc-section__overlay{position:absolute;inset:0;z-index:-1;overflow:hidden;border-radius:inherit;pointer-events:none}
.cc-section__overlay{background:var(--cc-overlay-color,#101e46);opacity:var(--cc-overlay-opacity,0);mix-blend-mode:var(--cc-overlay-blend,normal);z-index:1}
.cc-section__video,.cc-section__poster,.cc-section__editor-poster{position:absolute;width:100%;height:100%;object-fit:cover;inset:0;border-radius:inherit}
.cc-section__video,.cc-section__poster,.cc-section__editor-video{object-position:var(--cc-media-pos-d,50% 50%)}
.cc-section__video{opacity:0;transition:opacity .2s}
.cc-section__video.cc-is-playing{opacity:1}
.cc-section__editor-poster{z-index:-1}
.cc-video-toggle,.cc-orbit-toggle{position:absolute;z-index:3;bottom:18px;right:20px;border:1px solid currentColor;border-radius:999px;font-family:inherit;font-weight:500;font-size:11px;line-height:1.3;color:inherit;background:color-mix(in srgb,var(--wp--preset--color--paper,#f8faff) 85%,transparent);padding:10px 14px;min-height:44px;cursor:pointer}
.cc-video-toggle:focus-visible,.cc-orbit-toggle:focus-visible{outline:3px solid #349dcc;outline-offset:3px}
.cc-grid{display:grid;grid-template-columns:var(--cc-grid-d,repeat(2,minmax(0,1fr)));align-items:var(--cc-grid-align,start);gap:var(--wp--style--block-gap,28px)}
.cc-grid>*{min-width:0;margin-block-start:0}
.cc-brand-display{position:relative;isolation:isolate;overflow:hidden;border:1px solid #d5e6f5;border-radius:24px;min-height:460px;display:flex;align-items:center;justify-content:center;background:linear-gradient(140deg,#eaf5fd,#fff 65%)}
.cc-brand-display__content{width:100%;position:relative;z-index:1;padding:35px 8px;min-width:0}
.cc-brand-display__content .wp-block-image{margin:0}
.cc-brand-display__content img{display:block;width:100%;height:auto}
.cc-brand-display__label{position:absolute;top:24px;left:24px;right:24px;z-index:2;font-size:var(--cc-label-size,10px);line-height:1.5;letter-spacing:var(--cc-label-spacing,.1em);color:var(--cc-label-color,#263a78);text-transform:uppercase}
.cc-brand-orbit{position:absolute;width:min(80%,400px);aspect-ratio:1;border:1px solid color-mix(in srgb,var(--cc-orbit-color,#349dcc) 20%,transparent);border-radius:50%;animation:cc-orbit var(--cc-orbit-speed,36s) linear infinite}
.cc-brand-orbit::before{content:'';width:9px;height:9px;border-radius:50%;position:absolute;top:8%;left:22%;background:var(--cc-orbit-color,#349dcc)}
.cc-brand-orbit::after{content:'';position:absolute;inset:24px;border-radius:50%;border:1px solid color-mix(in srgb,var(--cc-orbit-color,#349dcc) 15%,transparent)}
.cc-no-orbit .cc-brand-orbit{display:none}
.cc-motion-paused .cc-brand-orbit{animation-play-state:paused}
/* Cosey alpha colors. Doubled class = (0,2,0): beats theme.json block rules and the theme's :where() styles,
   never fights native .has-*-color (the server only emits these classes when no native color is set),
   and no !important so color animations (e.g. Cosey Color Cycle) can still run on top. */
.cc-bg-color.cc-bg-color{background-color:var(--cc-bg-color)}
.cc-text-color.cc-text-color{color:var(--cc-text-color)}
.cc-background-image{background-image:var(--cc-background-image)!important;background-size:var(--cc-background-size,cover)!important;background-repeat:var(--cc-background-repeat,no-repeat)!important;background-position:var(--cc-background-position,50% 50%)!important}
@keyframes cc-orbit{to{transform:rotate(360deg)}}
@media(max-width:1024px){.cc-grid{grid-template-columns:var(--cc-grid-t,var(--cc-grid-d))}}
@media(max-width:767px){.cc-section__video,.cc-section__poster,.cc-section__editor-video{object-position:var(--cc-media-pos-m,var(--cc-media-pos-d,50% 50%))}.cc-grid{grid-template-columns:var(--cc-grid-m,1fr)}.cc-brand-display{min-height:330px}.cc-section__inner{width:calc(100% - var(--cc-gutter,24px)*2)}.cc-video-static-mobile .cc-video-toggle{display:none}}
@media(prefers-reduced-motion:reduce){.cc-brand-orbit{animation:none}.cc-orbit-toggle{display:none}.cc-section__video{transition:none}}

/* ---- Section 2.0: width modes, alignment, parallax, clipping ---- */
/* full (default when aligned full): inner boxed to --cc-content-width. edge: inner spans the section, gutter only. */
.cc-section.cc-section--edge>.cc-section__inner{max-width:none}
/* boxed / narrow: the section itself is the box (background, radius and shadow stay inside it). */
.cc-section.cc-section--boxed{max-width:var(--cc-content-width,1320px);margin-inline:auto}
.cc-section.cc-section--narrow{max-width:var(--cc-narrow-width,760px);margin-inline:auto}
.cc-section.cc-section--boxed>.cc-section__inner,.cc-section.cc-section--narrow>.cc-section__inner{max-width:none}
/* vertical alignment of the content inside the section's min-height */
.cc-section--v-top,.cc-section--v-center,.cc-section--v-bottom{display:flex;flex-direction:column}
.cc-section--v-top{justify-content:flex-start}.cc-section--v-center{justify-content:center}.cc-section--v-bottom{justify-content:flex-end}
.cc-section--v-top>.cc-section__inner,.cc-section--v-center>.cc-section__inner,.cc-section--v-bottom>.cc-section__inner{flex:0 0 auto}
/* horizontal alignment: text plus the flex blocks that ignore text-align */
.cc-section--h-left>.cc-section__inner{text-align:left}
.cc-section--h-center>.cc-section__inner{text-align:center}
.cc-section--h-right>.cc-section__inner{text-align:right}
.cc-section--h-center>.cc-section__inner>.wp-block-buttons:not(.is-content-justification-left):not(.is-content-justification-right){justify-content:center}
.cc-section--h-right>.cc-section__inner>.wp-block-buttons:not(.is-content-justification-left):not(.is-content-justification-center){justify-content:flex-end}
.cc-section--h-center>.cc-section__inner>:is(h1,h2,h3,h4,p,ul,ol,figure):not(.alignleft):not(.alignright){margin-left:auto;margin-right:auto}
.cc-section--clip{overflow:hidden}
.cc-bg-fixed.cc-background-image{background-attachment:fixed!important}
@media(hover:none){.cc-bg-fixed.cc-background-image{background-attachment:scroll!important}}

/* Device overrides apply only when explicitly configured. */
.cc-d-font-size{font-size:var(--cc-d-font-size)!important;}
.cc-d-line-height{line-height:var(--cc-d-line-height)!important;}
.cc-d-letter-spacing{letter-spacing:var(--cc-d-letter-spacing)!important;}
.cc-d-text-align{text-align:var(--cc-d-text-align)!important;}
.cc-d-width{width:var(--cc-d-width)!important;}
.cc-d-max-width{max-width:var(--cc-d-max-width)!important;}
.cc-d-min-height{min-height:var(--cc-d-min-height)!important;}
.cc-d-padding-top{padding-top:var(--cc-d-padding-top)!important;}
.cc-d-padding-right{padding-right:var(--cc-d-padding-right)!important;}
.cc-d-padding-bottom{padding-bottom:var(--cc-d-padding-bottom)!important;}
.cc-d-padding-left{padding-left:var(--cc-d-padding-left)!important;}
.cc-d-margin-top{margin-top:var(--cc-d-margin-top)!important;}
.cc-d-margin-right{margin-right:var(--cc-d-margin-right)!important;}
.cc-d-margin-bottom{margin-bottom:var(--cc-d-margin-bottom)!important;}
.cc-d-margin-left{margin-left:var(--cc-d-margin-left)!important;}
.cc-d-gap{gap:var(--cc-d-gap)!important;}
.cc-d-border-radius{border-radius:var(--cc-d-border-radius)!important;}
.cc-d-background-position{background-position:var(--cc-d-background-position)!important;}
@media(max-width:1024px){
.cc-t-font-size{font-size:var(--cc-t-font-size)!important;}
.cc-t-line-height{line-height:var(--cc-t-line-height)!important;}
.cc-t-letter-spacing{letter-spacing:var(--cc-t-letter-spacing)!important;}
.cc-t-text-align{text-align:var(--cc-t-text-align)!important;}
.cc-t-width{width:var(--cc-t-width)!important;}
.cc-t-max-width{max-width:var(--cc-t-max-width)!important;}
.cc-t-min-height{min-height:var(--cc-t-min-height)!important;}
.cc-t-padding-top{padding-top:var(--cc-t-padding-top)!important;}
.cc-t-padding-right{padding-right:var(--cc-t-padding-right)!important;}
.cc-t-padding-bottom{padding-bottom:var(--cc-t-padding-bottom)!important;}
.cc-t-padding-left{padding-left:var(--cc-t-padding-left)!important;}
.cc-t-margin-top{margin-top:var(--cc-t-margin-top)!important;}
.cc-t-margin-right{margin-right:var(--cc-t-margin-right)!important;}
.cc-t-margin-bottom{margin-bottom:var(--cc-t-margin-bottom)!important;}
.cc-t-margin-left{margin-left:var(--cc-t-margin-left)!important;}
.cc-t-gap{gap:var(--cc-t-gap)!important;}
.cc-t-border-radius{border-radius:var(--cc-t-border-radius)!important;}
.cc-t-background-position{background-position:var(--cc-t-background-position)!important;}
}
@media(max-width:767px){
.cc-m-font-size{font-size:var(--cc-m-font-size)!important;}
.cc-m-line-height{line-height:var(--cc-m-line-height)!important;}
.cc-m-letter-spacing{letter-spacing:var(--cc-m-letter-spacing)!important;}
.cc-m-text-align{text-align:var(--cc-m-text-align)!important;}
.cc-m-width{width:var(--cc-m-width)!important;}
.cc-m-max-width{max-width:var(--cc-m-max-width)!important;}
.cc-m-min-height{min-height:var(--cc-m-min-height)!important;}
.cc-m-padding-top{padding-top:var(--cc-m-padding-top)!important;}
.cc-m-padding-right{padding-right:var(--cc-m-padding-right)!important;}
.cc-m-padding-bottom{padding-bottom:var(--cc-m-padding-bottom)!important;}
.cc-m-padding-left{padding-left:var(--cc-m-padding-left)!important;}
.cc-m-margin-top{margin-top:var(--cc-m-margin-top)!important;}
.cc-m-margin-right{margin-right:var(--cc-m-margin-right)!important;}
.cc-m-margin-bottom{margin-bottom:var(--cc-m-margin-bottom)!important;}
.cc-m-margin-left{margin-left:var(--cc-m-margin-left)!important;}
.cc-m-gap{gap:var(--cc-m-gap)!important;}
.cc-m-border-radius{border-radius:var(--cc-m-border-radius)!important;}
.cc-m-background-position{background-position:var(--cc-m-background-position)!important;}
}
