/* creativebugs B — theme.css. Colours/fonts are layered by Customizer inline CSS in functions.php. */
:root{
	--cb-accent:#A91F23;--cb-accent-hover:#C7383C;
	--cb-heading:#F5F2EF;--cb-body:rgba(245,242,239,.72);
	--cb-bg-dark:#423F40;--cb-bg-light:#FFFFFF;
	--cb-font-heading:'Public Sans',system-ui,sans-serif;--cb-font-body:'Public Sans',system-ui,sans-serif;
	--cb-h1-size:clamp(46px,6.4vw,64px);--cb-body-size:17px;
}
html[data-cb-theme="dark"]{
	--bg:var(--cb-bg-dark);--ink:var(--cb-heading);--muted:var(--cb-body);--dim:rgba(255,255,255,.45);
	--line:rgba(255,255,255,.13);--line2:rgba(255,255,255,.15);--line3:rgba(255,255,255,.34);
	--panel:#625F60;--hdr:rgba(12,11,11,.9);
}
html[data-cb-theme="light"]{
	--bg:var(--cb-bg-light);--ink:#111;--muted:#625F60;--dim:#817F80;
	--line:rgba(17,17,17,.13);--line2:rgba(17,17,17,.18);--line3:rgba(17,17,17,.3);
	--panel:#F7F4F1;--hdr:rgba(255,255,255,.93);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--cb-font-body);font-size:var(--cb-body-size);-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}
h1,h2,h3,h4{font-family:var(--cb-font-heading);color:var(--cb-heading);margin:0}
html[data-cb-theme="light"] h1,html[data-cb-theme="light"] h2,html[data-cb-theme="light"] h3,html[data-cb-theme="light"] h4{color:var(--ink)}
a{color:var(--cb-accent);text-decoration:none}
a:hover{color:var(--cb-accent-hover)}
img{max-width:100%;display:block}
.screen-reader-text{position:absolute;left:-9999px}
.cb-b-skip:not(:focus){position:absolute;left:-9999px}
.cb-b-container{max-width:1480px;margin:0 auto;padding:0 clamp(20px,3vw,38px)}
.cb-b-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--cb-accent);z-index:70;transition:width .1s linear}
.cb-b-accent{color:var(--cb-accent)}
.cb-b-eyebrow{display:block;font-size:11px;font-weight:800;letter-spacing:.26em;text-transform:uppercase;color:var(--cb-accent);margin-bottom:16px}
.cb-b-eyebrow--onaccent{color:rgba(255,255,255,.8)}

/* Header */
.cb-b-header{position:sticky;top:0;z-index:60;background:var(--hdr);backdrop-filter:blur(20px);border-bottom:1px solid var(--line);box-shadow:0 2px 18px rgba(0,0,0,.2)}
.cb-b-header__bar{max-width:1480px;margin:0 auto;padding:0 clamp(18px,2.6vw,38px);min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.cb-b-header__right{display:flex;align-items:center;gap:clamp(14px,2vw,26px)}
.cb-b-brand{display:block;flex:none;height:60px}
.cb-b-logo{height:60px;width:auto}
html[data-cb-theme="dark"] .cb-b-logo--light,html[data-cb-theme="light"] .cb-b-logo--dark{display:none}
.cb-b-toggle{display:flex;align-items:center;gap:9px;padding:9px 15px;border:1px solid var(--line3);background:transparent;font-family:inherit;color:var(--ink);font-weight:800;font-size:11px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:all .22s}
.cb-b-toggle:hover{border-color:var(--cb-accent);color:var(--cb-accent)}
.cb-b-toggle__dot{width:11px;height:11px;border-radius:50%;background:var(--ink);box-shadow:inset -4px -1px 0 0 var(--bg)}
.cb-b-burger{display:flex;align-items:center;gap:12px;background:transparent;border:0;padding:10px 0;cursor:pointer;font-family:inherit;color:var(--ink);transition:color .22s}
.cb-b-burger:hover{color:var(--cb-accent)}
.cb-b-burger__label{font-size:11.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.cb-b-burger__bars{display:flex;flex-direction:column;gap:5px;width:26px}
.cb-b-burger__bars i{display:block;height:2px;width:100%;background:currentColor}
.cb-b-burger__bars i:last-child{width:62%}
.cb-b-burger__x{position:relative;display:block;width:26px;height:18px}
.cb-b-burger__x i{position:absolute;top:8px;left:0;display:block;height:2px;width:100%;background:currentColor}
.cb-b-burger__x i:first-child{transform:rotate(45deg)}
.cb-b-burger__x i:last-child{transform:rotate(-45deg)}

/* Overlay menu */
.cb-b-overlay{position:fixed;inset:0;z-index:200;background:var(--bg);display:flex;flex-direction:column;overflow-y:auto}
.cb-b-overlay[hidden]{display:none}
.cb-b-overlay__bar{max-width:1480px;width:100%;margin:0 auto;padding:0 clamp(18px,2.6vw,38px);min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}
.cb-b-overlay__nav{max-width:1480px;width:100%;margin:0 auto;padding:clamp(28px,5vw,45px) clamp(18px,2.6vw,38px) clamp(40px,6vw,80px);display:flex;flex-direction:column;flex:1}
.cb-b-overlay__list,.cb-b-nav ul{list-style:none;margin:0;padding:0}
.cb-b-overlay__list li,.cb-b-nav li{border-bottom:1px solid var(--line)}
.cb-b-overlay__list a,.cb-b-nav a{display:flex;align-items:baseline;gap:clamp(14px,2vw,30px);padding:clamp(12px,1.6vw,22px) 0;color:var(--ink);font-size:clamp(30px,5.4vw,68px);font-weight:900;letter-spacing:-.045em;line-height:1.04;transition:color .24s,padding-left .24s}
.cb-b-overlay__list a:hover,.cb-b-nav a:hover{color:var(--cb-accent);padding-left:14px}
.cb-b-nav__num{font-size:11px;font-weight:800;letter-spacing:.2em;color:var(--cb-accent);flex:none;margin-right:clamp(14px,2vw,30px)}
.cb-b-overlay__meta{display:flex;flex-wrap:wrap;gap:clamp(18px,3vw,48px);margin-top:clamp(32px,5vw,64px)}
.cb-b-overlay__meta a{font-size:13px;font-weight:700;color:var(--muted)}
.cb-b-overlay__meta a:hover{color:var(--cb-accent)}

/* Buttons */
.cb-b-btn{display:inline-block;padding:16px 32px;font-weight:800;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;transition:all .25s}
.cb-b-btn--solid{background:var(--cb-accent);color:#fff}
.cb-b-btn--solid:hover{background:var(--cb-accent-hover)}
.cb-b-btn--outline{border:1px solid var(--line3);color:var(--ink)}
.cb-b-btn--outline:hover{background:var(--ink);color:var(--bg)}
.cb-b-btn--onaccent{background:var(--bg);color:var(--ink)}
.cb-b-btn--onaccent:hover{background:#fff;color:var(--cb-accent);transform:translateY(-2px)}

/* Hero */
.cb-b-hero{padding:clamp(40px,5vw,76px) 0}
.cb-b-hero__inner{max-width:1480px;margin:0 auto;padding:0 clamp(18px,2.6vw,38px);display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:clamp(32px,4.6vw,72px);align-items:center}
.cb-b-hero__h1{font-size:clamp(56px,7.2vw,104px);font-weight:900;line-height:.96;letter-spacing:-.05em}
.cb-b-hero__cycle{position:relative;display:inline-grid;color:var(--cb-accent)}
.cb-b-hero__cycle span{grid-area:1/1;opacity:0;animation:cbWordCyc 20s linear infinite both}
@keyframes cbWordCyc{0%,100%{opacity:0}3%,17%{opacity:1}20%,99%{opacity:0}}
.cb-b-hero__sub{margin:30px 0 0;font-size:22px;font-weight:600;line-height:1.5;color:var(--muted);max-width:22em}
.cb-b-hero__cta{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}
.cb-b-hero__rail{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;height:clamp(360px,44vw,560px);overflow:hidden}
.cb-b-hero__col{position:relative;height:100%;overflow:hidden}
.cb-b-hero__col-track{display:flex;flex-direction:column;gap:12px;animation-name:cbColUp;animation-timing-function:linear;animation-iteration-count:infinite;will-change:transform}
@keyframes cbColUp{0%{transform:translateY(0)}100%{transform:translateY(-50%)}}
.cb-b-hero__cell{position:relative;flex:0 0 auto;aspect-ratio:3/4;overflow:hidden;background:var(--panel)}
.cb-b-hero__cell img{width:100%;height:100%;object-fit:cover;display:block}

.cb-b-hero__meta{display:flex;align-items:center;gap:20px;margin-top:28px;flex-wrap:wrap}
.cb-b-hero__dots{display:flex;gap:6px}
.cb-b-hero__dot{width:14px;height:3px;border-radius:2px;background:var(--line);transform-origin:left center;animation-name:cbDotOn;animation-duration:20s;animation-timing-function:linear;animation-iteration-count:infinite}
@keyframes cbDotOn{0%,100%{background:var(--line);transform:scaleX(1)}3%,17%{background:var(--cb-accent);transform:scaleX(3)}20%{background:var(--line);transform:scaleX(1)}}
.cb-b-hero__scroll{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:6px}
.cb-b-hero__scroll-arrow{display:inline-block;animation:cbScrollBounce 1.6s ease-in-out infinite}
@keyframes cbScrollBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}

/* Vision */
.cb-b-vision{padding:clamp(74px,9vw,132px) 0;border-bottom:1px solid var(--line)}
.cb-b-vision__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(26px,4vw,72px);align-items:start}
.cb-b-vision__text{grid-column:span 2;margin:0;font-size:clamp(24px,3.2vw,46px);font-weight:700;line-height:1.2;letter-spacing:-.038em;color:var(--ink);text-wrap:pretty}
.cb-b-vision__text b{color:var(--cb-accent)}

/* Impact */
.cb-b-impact{padding:clamp(74px,9vw,126px) 0}
.cb-b-impact__head{max-width:44rem;margin-bottom:clamp(34px,4vw,56px)}
.cb-b-impact__head h2{font-size:clamp(30px,4.6vw,64px);font-weight:900;line-height:.98;letter-spacing:-.05em;text-transform:uppercase}
.cb-b-impact__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line2)}
.cb-b-impact__cell{background:var(--bg);padding:34px 26px 40px;transition:background .3s}
.cb-b-impact__cell:hover{background:var(--cb-accent)}
.cb-b-impact__cell b{display:block;font-size:clamp(36px,4.4vw,60px);font-weight:900;letter-spacing:-.05em;line-height:1;color:var(--ink)}
.cb-b-impact__label{display:block;margin-top:14px;font-size:13.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.cb-b-impact__note{display:block;margin-top:8px;font-size:13px;line-height:1.55;color:var(--muted)}
@media (max-width:760px){.cb-b-impact__grid{grid-template-columns:repeat(2,1fr)}}

/* Businesses index */
.cb-b-index{padding:clamp(74px,9vw,126px) 0 0}
.cb-b-index__head{padding-bottom:24px;border-bottom:2px solid var(--cb-accent)}
.cb-b-index__head h2{font-size:clamp(30px,4.8vw,68px);font-weight:900;line-height:.96;letter-spacing:-.05em;text-transform:uppercase}
.cb-b-index__blockhead{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;padding:30px 0 12px}
.cb-b-index__blockhead h3{font-size:13px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.cb-b-index__blockhead span{font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.cb-b-index__row{display:grid;grid-template-columns:auto minmax(0,1fr) 160px auto;gap:clamp(16px,2.5vw,40px);align-items:center;padding:clamp(18px,2.2vw,28px) 0;border-top:1px solid var(--line);color:var(--ink);transition:all .3s}
.cb-b-index__row:hover{background:var(--cb-accent);color:#fff;padding-left:16px;padding-right:16px}
.cb-b-index__num{font-size:11.5px;font-weight:800;letter-spacing:.14em;color:var(--cb-accent)}
.cb-b-index__row:hover .cb-b-index__num{color:#fff}
.cb-b-index__row h4{font-size:clamp(18px,2.4vw,32px);font-weight:800;line-height:1.1;letter-spacing:-.032em;color:inherit}
.cb-b-index__logo{position:relative;aspect-ratio:2/1;overflow:hidden;background:#fff}
.cb-b-index__logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.cb-b-index__arrow{font-size:22px;font-weight:700;color:inherit}
@media (max-width:700px){.cb-b-index__row{grid-template-columns:auto minmax(0,1fr) auto}.cb-b-index__logo{display:none}}

/* Media */
.cb-b-media{padding:clamp(74px,9vw,126px) 0}
.cb-b-media__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:clamp(32px,4vw,48px)}
.cb-b-media__head h2{font-size:clamp(28px,4.4vw,60px);font-weight:900;line-height:.98;letter-spacing:-.05em;text-transform:uppercase}
.cb-b-media__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px}
.cb-b-post{display:flex;flex-direction:column;color:var(--ink);transition:transform .35s}
.cb-b-post:hover{transform:translateY(-8px)}
.cb-b-post__thumb{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--panel)}
.cb-b-post__thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cb-b-post__date{display:block;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--cb-accent);margin:18px 0 10px;padding-top:22px;border-top:2px solid var(--cb-accent)}
.cb-b-post__title{font-size:21px;font-weight:800;line-height:1.26;letter-spacing:-.024em;color:inherit}

/* Career band */
.cb-b-career{background:var(--cb-accent);color:#fff;padding:clamp(72px,9vw,120px) 0}
.cb-b-career__inner{display:flex;align-items:center;justify-content:space-between;gap:44px;flex-wrap:wrap}
.cb-b-career h2{font-size:clamp(30px,4.6vw,60px);font-weight:900;line-height:1;letter-spacing:-.048em;text-transform:uppercase;color:#fff}
.cb-b-career p{margin:16px 0 0;font-size:17.5px;line-height:1.6;color:rgba(255,255,255,.9);max-width:34em}

/* Footer */
.cb-b-footer{padding:clamp(52px,7vw,78px) 0 30px;font-size:14.5px;color:var(--muted);border-top:1px solid var(--line)}
.cb-b-footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(30px,4vw,60px);padding-bottom:42px;border-bottom:1px solid var(--line)}
.cb-b-footer__brand{display:block;height:54px;margin-bottom:22px}
.cb-b-footer__col p{margin:0 0 14px;line-height:1.7;max-width:26em}
.cb-b-footer__col h4{color:var(--ink);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;margin:0 0 20px;font-weight:800}
.cb-b-footer__col ul{display:flex;flex-direction:column;gap:12px}
.cb-b-footer__col ul li{border-bottom:0}
.cb-b-footer__col a{color:var(--muted)}
.cb-b-footer__col a:hover{color:var(--ink)}
.cb-b-footer__phone{color:var(--ink);font-weight:700}
.cb-b-footer__in{display:inline-block;margin-top:8px;font-weight:700}
.cb-b-footer__bottom{padding-top:24px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:12.5px}
.cb-b-footer__legal{display:flex;gap:22px;flex-wrap:wrap}
.cb-b-footer__legal ul{display:flex;gap:22px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.cb-b-footer__legal a{color:var(--muted)}
.cb-b-footer__legal a:hover{color:var(--ink)}

/* Inner pages */
.cb-b-pagehero{position:relative;padding:clamp(120px,14vw,180px) 0 clamp(50px,6vw,80px);overflow:hidden}
.cb-b-pagehero__media{position:absolute;inset:0;z-index:0}
.cb-b-pagehero__media img{width:100%;height:100%;object-fit:cover;opacity:.32}
.cb-b-pagehero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--bg),rgba(0,0,0,.2))}
.cb-b-pagehero__inner{position:relative;z-index:1;max-width:1480px;margin:0 auto;padding:0 clamp(20px,3vw,38px)}
.cb-b-pagehero h1{font-size:clamp(34px,5.4vw,74px);font-weight:900;line-height:1;letter-spacing:-.045em;text-transform:uppercase;margin-top:14px}
.cb-b-content{max-width:860px;margin:0 auto;padding:clamp(30px,5vw,60px) clamp(20px,3vw,38px) clamp(70px,8vw,110px);line-height:1.75;font-size:var(--cb-body-size);color:var(--muted)}
.cb-b-content h2,.cb-b-content h3{color:var(--ink);margin-top:1.6em}
.cb-b-archive{max-width:1480px;margin:0 auto;padding:clamp(30px,5vw,60px) clamp(20px,3vw,38px) clamp(70px,8vw,110px)}
.cb-b-pagination{display:flex;gap:14px;justify-content:center;padding:20px 0}
.cb-b-elementor-canvas{min-height:20px}

/* GSAP text reveals: hide content until split is ready (JS removes .cb-gsap; 3s failsafe in <head>) */
html.cb-gsap #cb-b-main,html.cb-gsap .cb-b-footer{visibility:hidden}
[class*="line-mask"]{padding-bottom:.16em;margin-bottom:-.16em}

/* Businesses — logo strip + accordion tabs */
.cb-b-index{overflow-x:clip}
.cb-b-logos{margin:clamp(32px,4vw,56px) calc(50% - 50vw) clamp(8px,2vw,24px);padding:clamp(22px,2.6vw,34px) 0;background:#fff;overflow:hidden}
.cb-b-logos__track{display:flex;align-items:center;width:max-content;animation:cbLogos 44s linear infinite}
.cb-b-logos:hover .cb-b-logos__track{animation-play-state:paused}
.cb-b-logos__item{flex:0 0 auto;padding:0 clamp(24px,3.2vw,56px)}
.cb-b-logos__item img{height:80px;width:auto;max-width:none;display:block}
@keyframes cbLogos{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media (max-width:767px){.cb-b-logos__item img{height:56px}}
.cb-b-index__blockhead{cursor:pointer;user-select:none;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--line);outline:none}
.cb-b-index__blockhead:focus-visible{outline:2px solid var(--cb-accent);outline-offset:4px}
.cb-b-index__blockhead h3{font-size:clamp(15px,1.4vw,18px)}
.cb-b-index__toggle{position:relative;margin-left:auto;align-self:center;width:22px;height:22px;flex:0 0 22px}
.cb-b-index__toggle::before,.cb-b-index__toggle::after{content:"";position:absolute;left:50%;top:50%;width:22px;height:2px;background:var(--ink);transform:translate(-50%,-50%);transition:transform .35s ease,background .3s}
.cb-b-index__toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
.cb-b-index__blockhead[aria-expanded="true"] .cb-b-index__toggle::after{transform:translate(-50%,-50%) rotate(0deg)}
.cb-b-index__blockhead:hover .cb-b-index__toggle::before,.cb-b-index__blockhead:hover .cb-b-index__toggle::after,.cb-b-index__blockhead[aria-expanded="true"] .cb-b-index__toggle::before,.cb-b-index__blockhead[aria-expanded="true"] .cb-b-index__toggle::after{background:var(--cb-accent)}
.cb-b-index__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.2,.7,.2,1)}
.cb-b-index__panel.is-open{grid-template-rows:1fr}
.cb-b-index__panel-inner{min-height:0;overflow:hidden}
.cb-b-index__panel-inner .cb-b-index__row:first-child{border-top:0}

/* Businesses rows: white text on the red hover in both themes */
.cb-b-index__row:hover,.cb-b-index__row:hover h4,.cb-b-index__row:hover .cb-b-index__num,.cb-b-index__row:hover .cb-b-index__arrow{color:#fff}

/* Layout review fixes */
html[data-cb-theme] .cb-b-career h2,html[data-cb-theme] .cb-b-career p,.cb-b-career h2,.cb-b-career p{color:#fff}
.cb-b-footer ul{list-style:none;margin:0;padding:0}
html[data-cb-theme="light"] .cb-b-logos{border-block:1px solid var(--line)}

/* Elementor: theme section widgets sit edge to edge */
.elementor-widget[class*="elementor-widget-cb-b-"]{width:100%}
.elementor-widget[class*="elementor-widget-cb-b-"] > .elementor-widget-container{margin:0;padding:0}

/* Scrubbed bento gallery (GSAP Flip + ScrollTrigger) */
.cb-b-bento{padding:clamp(74px,9vw,126px) 0 0;--bh:calc(100vh - var(--cb-hdr,0px))}
.cb-b-bento__head{margin-bottom:clamp(28px,4vw,56px)}
.cb-b-bento__head h2{font-size:clamp(30px,4.8vw,68px);font-weight:900;line-height:.96;letter-spacing:-.05em;text-transform:uppercase}
.cb-b-bento__wrap{position:relative;width:100%;height:var(--bh);display:flex;align-items:center;justify-content:center;overflow:hidden}
.cb-b-bento__grid{position:relative;width:100%;height:100%;flex:none;display:grid;gap:1vh;grid-template-columns:repeat(3,32.5vw);grid-template-rows:repeat(4,calc(var(--bh) * .23));justify-content:center;align-content:center}
.cb-b-bento__grid.is-final{grid-template-columns:repeat(3,100vw);grid-template-rows:repeat(4,calc(var(--bh) * .495))}
.cb-b-bento__item{position:relative;flex:none;overflow:hidden;background:var(--panel)}
.cb-b-bento__item img{width:100%;height:100%;object-fit:cover;display:block}
.cb-b-bento__item:nth-child(1){grid-area:1/1/3/2}
.cb-b-bento__item:nth-child(2){grid-area:1/2/2/3}
.cb-b-bento__item:nth-child(3){grid-area:2/2/4/3}
.cb-b-bento__item:nth-child(4){grid-area:1/3/3/3}
.cb-b-bento__item:nth-child(5){grid-area:3/1/3/2}
.cb-b-bento__item:nth-child(6){grid-area:3/3/5/4}
.cb-b-bento__item:nth-child(7){grid-area:4/1/5/2}
.cb-b-bento__item:nth-child(8){grid-area:4/2/5/3}

/* Media centre card without date: keep the red rule + spacing above the title */
.cb-b-post--nodate .cb-b-post__title{margin-top:18px;padding-top:22px;border-top:2px solid var(--cb-accent)}

/* Impact stats: white text on red hover (both themes) */
.cb-b-impact__cell b,.cb-b-impact__label,.cb-b-impact__note{transition:color .3s}
.cb-b-impact__cell:hover b,.cb-b-impact__cell:hover .cb-b-impact__label{color:#fff}
.cb-b-impact__cell:hover .cb-b-impact__note{color:rgba(255,255,255,.82)}

/* ===== Mobile header fit (2026-09-23) ===== */
@media (max-width: 900px){
  .cb-b-header__bar{ gap:12px; padding:0 16px; }
  .cb-b-brand, .cb-b-logo{ height:38px; }
  .cb-b-header__right{ gap:10px; flex:0 0 auto; }
  .cb-b-toggle{ padding:8px 11px; gap:7px; font-size:10px; }
  .cb-b-toggle__dot{ width:9px; height:9px; }
  .cb-b-burger{ padding:8px 0; gap:9px; }
  .cb-b-burger__label{ font-size:10.5px; }
}
@media (max-width: 560px){
  .cb-b-brand, .cb-b-logo{ height:30px; }
  .cb-b-toggle__label{ display:none; }
  .cb-b-toggle{ padding:9px; }
}

/* ===== Footer: 50/50 logo + menu on mid-size screens ===== */
@media (min-width: 768px) and (max-width: 1200px){
  .elementor-990013 .elementor-element-54f8386{ flex-wrap:nowrap; gap:32px; align-items:flex-start; }
  .elementor-990013 .elementor-element-64443a3,
  .elementor-990013 .elementor-element-f84fb9e,
  .elementor-990013 .elementor-element-d75c399{ flex:1 1 0; width:auto; max-width:none; min-width:0; }
  .elementor-990013 .elementor-element-d75c399{ flex-wrap:wrap; gap:12px 24px; }
  .elementor-990013 .elementor-element-d75c399 > .elementor-widget{ width:auto; flex:0 1 calc(50% - 12px); min-width:130px; }
}

/* ==========================================================
   Unified buttons + tab/filter toggles (light & dark)
   (html:not(#_u):not(#_v) raises specificity above page-level styles)
   ========================================================== */
:root{--u-red:#FF0000;--u-red-hover:#B9161B;--u-tab-box:#FFFFFF;--u-tab-line:#E4DFDA;--u-tab-ink:#6B6460;--u-tab-ink-hover:#171514}
html[data-cb-theme="dark"]{--u-tab-box:rgba(255,255,255,.04);--u-tab-line:rgba(255,255,255,.16);--u-tab-ink:rgba(255,255,255,.66);--u-tab-ink-hover:#FFFFFF}

/* Primary buttons — one style everywhere */
html:not(#_u):not(#_v) .cb-b-btn,html:not(#_u):not(#_v) #cb-b-main .elementor-button,html:not(#_u):not(#_v) .cr-btn-red,html:not(#_u):not(#_v) .te-btn,html:not(#_u):not(#_v) .cr-jobsearch__submit{background:var(--u-red)!important;color:#fff!important;border:1px solid var(--u-red)!important;border-radius:0!important;font-family:'Public Sans',sans-serif!important;font-size:12px!important;font-weight:800!important;letter-spacing:.12em!important;text-transform:uppercase!important;line-height:1.2!important;box-shadow:none!important;text-decoration:none!important;transition:background-color .25s,border-color .25s,color .25s!important}
html:not(#_u):not(#_v) .cb-b-btn,html:not(#_u):not(#_v) #cb-b-main .elementor-button,html:not(#_u):not(#_v) .cr-btn-red,html:not(#_u):not(#_v) .te-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:10px;padding:15px 26px!important}
html:not(#_u):not(#_v) .cb-b-btn *,html:not(#_u):not(#_v) #cb-b-main .elementor-button *,html:not(#_u):not(#_v) .cr-btn-red *,html:not(#_u):not(#_v) .te-btn *,html:not(#_u):not(#_v) .cr-jobsearch__submit *{color:inherit!important;fill:currentColor!important;font-size:inherit!important;font-weight:inherit!important;letter-spacing:inherit!important}
html:not(#_u):not(#_v) .cb-b-btn:hover,html:not(#_u):not(#_v) #cb-b-main .elementor-button:hover,html:not(#_u):not(#_v) .cr-btn-red:hover,html:not(#_u):not(#_v) .te-btn:hover,html:not(#_u):not(#_v) .cr-jobsearch__submit:hover,html:not(#_u):not(#_v) .cb-b-btn:focus-visible,html:not(#_u):not(#_v) #cb-b-main .elementor-button:focus-visible,html:not(#_u):not(#_v) .cr-btn-red:focus-visible,html:not(#_u):not(#_v) .te-btn:focus-visible,html:not(#_u):not(#_v) .cr-jobsearch__submit:focus-visible{background:var(--u-red-hover)!important;border-color:var(--u-red-hover)!important;color:#fff!important}

/* Tab / filter toggle groups */
html:not(#_u):not(#_v) .tabs,html:not(#_u):not(#_v) .teg-voices__filters{display:inline-flex!important;gap:4px!important;padding:4px!important;background:var(--u-tab-box)!important;border:1px solid var(--u-tab-line)!important;border-radius:0!important}
html:not(#_u):not(#_v) .tab,html:not(#_u):not(#_v) .teg-voices__filter,html:not(#_u):not(#_v) .tmc-filter{background:transparent!important;color:var(--u-tab-ink)!important;border:0!important;border-radius:0!important;box-shadow:none!important;font-family:'Public Sans',sans-serif!important;font-size:13px!important;font-weight:600!important;letter-spacing:.02em!important;line-height:1.2!important;text-transform:none!important;padding:9px 16px!important;cursor:pointer;transition:background-color .2s,color .2s!important}
html:not(#_u):not(#_v) .tab:hover,html:not(#_u):not(#_v) .teg-voices__filter:hover,html:not(#_u):not(#_v) .tmc-filter:hover{color:var(--u-tab-ink-hover)!important}
html:not(#_u):not(#_v) .tab[aria-selected="true"],html:not(#_u):not(#_v) .tab.is-active,html:not(#_u):not(#_v) .teg-voices__filter.is-active,html:not(#_u):not(#_v) .teg-voices__filter[aria-selected="true"],html:not(#_u):not(#_v) .tmc-filter.is-active,html:not(#_u):not(#_v) .tab[aria-selected="true"]:hover,html:not(#_u):not(#_v) .tab.is-active:hover,html:not(#_u):not(#_v) .teg-voices__filter.is-active:hover,html:not(#_u):not(#_v) .teg-voices__filter[aria-selected="true"]:hover,html:not(#_u):not(#_v) .tmc-filter.is-active:hover{background:var(--u-red)!important;color:#fff!important}

/* ==========================================================
   Dark-mode safety net for page-level styles
   Lives here (theme file) so editing a page's HTML widget or the
   Customizer "Additional CSS" can't wipe it. Keep page fixes here.
   ========================================================== */
:root{--dm-ink:#F5F2EF;--dm-body:rgba(245,242,239,.74);--dm-mute:rgba(245,242,239,.6);--dm-line:rgba(255,255,255,.14)}

/* Career (cr-) */
html[data-cb-theme="dark"] .cr-sec{--cr-ink:#F5F2EF;--cr-body:rgba(245,242,239,.74);--cr-line:rgba(255,255,255,.14)}
html[data-cb-theme="dark"]:not(#_u):not(#_v) .crc-h2 .elementor-heading-title,html[data-cb-theme="dark"]:not(#_u):not(#_v) .crc-h2 .elementor-heading-title * *,html[data-cb-theme="dark"]:not(#_u):not(#_v) .crs-name,html[data-cb-theme="dark"]:not(#_u):not(#_v) .crs-modal .crs-copy h3,html[data-cb-theme="dark"]:not(#_u):not(#_v) .cr-sec a.crs-card,html[data-cb-theme="dark"]:not(#_u):not(#_v) .crs-card{color:var(--dm-ink)!important}
html[data-cb-theme="dark"]:not(#_u):not(#_v) .crc-lead p,html[data-cb-theme="dark"]:not(#_u):not(#_v) .crc-lead p * *,html[data-cb-theme="dark"]:not(#_u):not(#_v) .crs-m-text,html[data-cb-theme="dark"]:not(#_u):not(#_v) .crs-m-text p{color:var(--dm-body)!important}
html[data-cb-theme="dark"]:not(#_u):not(#_v) .crs-org,html[data-cb-theme="dark"]:not(#_u):not(#_v) .cr-jobsearch__note,html[data-cb-theme="dark"]:not(#_u):not(#_v) .crs-empty{color:var(--dm-mute)!important}
html[data-cb-theme="dark"]:not(#_u):not(#_v) .cr-sec button.crc-arrow{color:var(--dm-ink)!important;border-color:var(--dm-line)!important}

/* Sustainability and Impact (si-) */
html[data-cb-theme="dark"] .si-sec{--si-ink:#F4F0EC;--si-body:rgba(255,255,255,.74);--si-line:rgba(255,255,255,.14)}
html[data-cb-theme="dark"] .si-thumb{background:#3a3536}

/* Our Story – institution country headings */
html[data-cb-theme="dark"]:not(#_u):not(#_v) .ogs-inst-native .elementor-heading-title,html[data-cb-theme="dark"]:not(#_u):not(#_v) .ogs-inst-native .elementor-heading-title *{color:var(--dm-ink)!important}

/* Career – benefit cards stay white in dark mode, so their dark text is kept */

/* Ethics & Compliance – hotline / report panels inside the accordion */
html[data-cb-theme="dark"]:not(#_u):not(#_v) .te-hot{background:#2B2728!important;border-color:var(--dm-line)!important;color:var(--dm-body)!important}
html[data-cb-theme="dark"]:not(#_u):not(#_v) .te-hot h4{color:var(--dm-ink)!important}
html[data-cb-theme="dark"]:not(#_u):not(#_v) .te-hot p{color:var(--dm-body)!important}
html[data-cb-theme="dark"]:not(#_u):not(#_v) .te-hot dt,html[data-cb-theme="dark"]:not(#_u):not(#_v) .te-hot a{color:var(--dm-ink)!important}
html[data-cb-theme="dark"]:not(#_u):not(#_v) .te-hot dd{color:var(--dm-body)!important}

/* Media Centre – "Filter by year" label */
html[data-cb-theme="dark"]:not(#_u):not(#_v) .tmc-yf-label{color:var(--dm-mute)!important}

/* ==========================================================
   Unified video play button (Sustainability, Career, Community)
   Red circle, white triangle — same in light & dark
   ========================================================== */
html:not(#_u):not(#_v) .si-play,html:not(#_u):not(#_v) .crs-play,html:not(#_u):not(#_v) .teg-voices__play>span{width:60px!important;height:60px!important;border-radius:50%!important;background:var(--u-red,#FF0000)!important;color:#fff!important;border:0!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 8px 24px rgba(0,0,0,.28)!important;transition:transform .3s cubic-bezier(.2,.7,.2,1),background-color .25s!important}
html:not(#_u):not(#_v) .si-play svg,html:not(#_u):not(#_v) .crs-play svg{width:14px!important;height:16px!important;margin-left:3px!important}
html:not(#_u):not(#_v) .teg-voices__play>span svg{width:28px!important;height:28px!important;margin:0!important}
html:not(#_u):not(#_v) .si-play svg,html:not(#_u):not(#_v) .crs-play svg,html:not(#_u):not(#_v) .teg-voices__play>span svg,html:not(#_u):not(#_v) .si-play path,html:not(#_u):not(#_v) .crs-play path,html:not(#_u):not(#_v) .teg-voices__play>span path{fill:#fff!important;color:#fff!important}
html:not(#_u):not(#_v) .si-card:hover .si-play,html:not(#_u):not(#_v) .si-card:focus-visible .si-play,html:not(#_u):not(#_v) .crs-card:hover .crs-play,html:not(#_u):not(#_v) .crs-card:focus-visible .crs-play,html:not(#_u):not(#_v) .teg-voices__play:hover>span,html:not(#_u):not(#_v) a:hover>.teg-voices__play>span,html:not(#_u):not(#_v) button:hover>.teg-voices__play>span{background:var(--u-red-hover,#B9161B)!important;transform:scale(1.06)}

/* Sustainability video cards: drop the extra "Watch Video →" link (the play button + WATCH tag already say it) */
/* and the red WATCH tag on the thumbnail - the play button is enough */

/* Community – Institution Alumni logo cards: no border (light & dark) */
html:not(#_u):not(#_v) .elementor .cm-logos>.cm-logo,html:not(#_u):not(#_v) .elementor .cm-logos>.cm-logo:hover{border-color:transparent!important}

/* Community - "Explore Careers" button joins the unified button style */
html:not(#_u):not(#_v) .teg-career-btn{background:var(--u-red,#FF0000)!important;color:#fff!important;border:1px solid var(--u-red,#FF0000)!important;border-radius:0!important;font-family:'Public Sans',sans-serif!important;font-size:12px!important;font-weight:800!important;letter-spacing:.12em!important;text-transform:uppercase!important;line-height:1.2!important;box-shadow:none!important;text-decoration:none!important;display:inline-flex!important;align-items:center;justify-content:center;gap:10px;padding:15px 26px!important;transition:background-color .25s,border-color .25s,color .25s!important}
html:not(#_u):not(#_v) .teg-career-btn *{color:inherit!important;font-size:inherit!important;font-weight:inherit!important;letter-spacing:inherit!important}
html:not(#_u):not(#_v) .teg-career-btn svg path{stroke:currentColor!important}
html:not(#_u):not(#_v) .teg-career-btn:hover,html:not(#_u):not(#_v) .teg-career-btn:focus-visible{background:var(--u-red-hover,#B9161B)!important;border-color:var(--u-red-hover,#B9161B)!important;color:#fff!important}

/* ==========================================================
   Institution logo grids - one system for Our Story + Community
   Layout: Our Story's continuous white panel (no gaps, same cell shape)
   Hover:  Community's lift (-4px), no fade
   ========================================================== */
html:not(#_u):not(#_v) .elementor .cm-logos{gap:0!important;column-gap:0!important;row-gap:0!important;background:#FFFFFF!important}
html:not(#_u):not(#_v) .elementor .cm-logos>.cm-logo{aspect-ratio:337/148!important;padding:4px 22px!important;background:#FFFFFF!important;border:0!important}
html:not(#_u):not(#_v) .ogs-inst-native a.ogs-inst-cell,html:not(#_u):not(#_v) .ogs-inst-native a.pe--hover--trigger{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s!important}
html:not(#_u):not(#_v) .ogs-inst-native a.ogs-inst-cell:hover,html:not(#_u):not(#_v) .ogs-inst-native a.pe--hover--trigger:hover{opacity:1!important;transform:translateY(-4px)!important}


/* Mobile page headers – tighter top/bottom gap (all inner pages, not the homepage hero) */
@media (max-width:767px){
html:not(#_u):not(#_v) body:not(.home) #cb-b-main .elementor>.e-con:first-child{min-height:0!important;padding-top:44px!important;padding-bottom:40px!important}
html:not(#_u):not(#_v) body:not(.home) #cb-b-main .elementor>.e-con:first-child>.e-con-inner{min-height:0!important;padding-top:0!important;padding-bottom:0!important}
html:not(#_u):not(#_v) .cb-b-pagehero{padding:56px 0 36px!important}
}
