/*
Theme Name: CEADC Elementor Companion
Author: CEADC
Description: Custom CEADC theme with a scrollable homepage, original media and separate Media & Updates template. No Elementor Pro dependency.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later (theme code)
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ceadc-elementor
*/
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--blue:#0876b7;--green:#166349;--bright:#25b779;--yellow:#ffb536;--ink:#142f2d;--muted:#5c6a65;--paper:#f8f8f1;--line:#dce2d7}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 Inter,Arial,sans-serif}h1,h2,h3,.button,.nav, .detail-stat{font-family:'Space Grotesk',Arial,sans-serif;line-height:1.12;letter-spacing:-.045em}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(44px,5.1vw,76px);font-weight:500}h2{font-size:clamp(32px,3.3vw,48px);font-weight:500;margin-bottom:24px}h3{font-size:25px;font-weight:500}p{color:var(--muted);margin-bottom:24px}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--blue)}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}img{max-width:100%;height:auto;display:block}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.wrap{max-width:1320px;width:calc(100% - 96px);margin-inline:auto}.topline{background:var(--green);color:white;font-size:10px;letter-spacing:1.5px}.topline .wrap{display:flex;justify-content:space-between;padding-block:9px}.topline a{color:white;text-decoration:none;letter-spacing:.4px}header{background:var(--paper);position:relative;z-index:5}.nav{display:flex;align-items:center;gap:24px;min-height:94px;letter-spacing:-.02em}.brand{width:176px;flex-shrink:0}.brand img{width:176px;height:auto}nav{display:flex;gap:25px;margin-left:auto;align-items:center}nav a{font-size:13px;text-decoration:none;line-height:1.4}nav a[aria-current]{color:var(--blue);text-decoration:underline}.nav-cta{background:var(--blue);color:white;padding:17px 20px;border-radius:4px;font-size:13px;text-decoration:none;white-space:nowrap}.nav-cta:hover{background:var(--green);color:white}.menu{display:none}.eyebrow{display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700;margin-bottom:22px}.hero{position:relative;isolation:isolate;color:white;min-height:660px;display:flex;flex-direction:column;justify-content:center;background:#193c2c}.hero-picture,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-picture img{width:100%;height:100%;object-fit:cover;object-position:center 45%}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(7,33,28,.91),rgba(7,33,28,.65) 48%,rgba(7,33,28,.15))}.hero-content{padding-top:68px;padding-bottom:75px}.hero h1{max-width:950px;margin-bottom:28px}.hero em{font-style:normal;color:var(--yellow)}.hero p{color:#eff2e9;max-width:560px;font-size:16px;line-height:1.8}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;padding:19px 24px;background:var(--blue);color:white;text-decoration:none;border:1px solid var(--blue);border-radius:3px;font-size:14px;font-weight:600;letter-spacing:0;min-height:52px}.button:hover{background:var(--green);border-color:var(--green);color:white}.button span{font-size:20px}.button.secondary{color:var(--ink);background:transparent;border-color:#a4b5a8}.hero .button:first-child{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}.hero .secondary{color:white;border-color:#ffffff80}.hero-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff40;padding-block:20px;font-size:10px;letter-spacing:2px}.hero-bottom span span{margin-left:40px;font-size:20px}.impact{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;padding-block:85px;border-bottom:1px solid var(--line)}.reach>strong{font:500 clamp(70px,7vw,108px)/1 'Space Grotesk',sans-serif;letter-spacing:-6px;color:var(--green);display:block;margin:5px 0 24px}.reach>strong span{font-size:50px;margin-left:30px;color:var(--bright)}.reach h2{font-size:24px;letter-spacing:-.03em;line-height:1.3;margin-bottom:16px}.reach p{font-size:13px;max-width:400px}.metrics>div{display:grid;grid-template-columns:1fr 1fr;gap:25px;border-bottom:1px solid var(--line);padding:20px 0}.metrics strong{font:500 25px/1.2 'Space Grotesk',sans-serif;color:var(--green)}.metrics p{font-size:13px;margin:0}.metrics small{display:block;font-size:11px;color:var(--muted);margin-top:22px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;padding-block:100px}.intro-photo{position:relative}.intro-photo img{width:100%;border-radius:4px}.intro-photo>span{display:block;background:var(--green);color:white;font:500 20px 'Space Grotesk',sans-serif;padding:23px 28px}.intro>div>p{font-size:14px}.credentials{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);padding-block:28px;gap:30px}.credentials span{font-size:12px;color:var(--muted);padding-left:20px;border-left:3px solid var(--bright)}.credentials b{font-size:16px;color:var(--ink);font-weight:600}.section{padding-block:90px}.section-heading{max-width:710px;margin-bottom:40px}.section-heading p{max-width:620px}.programme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.programme{padding:32px;text-decoration:none;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s}.programme:hover{background:#edf1e6;color:var(--ink)}.programme .number{color:var(--green);font-size:12px;display:block;margin-bottom:35px}.programme h3{margin-bottom:17px}.programme p{font-size:14px;min-height:75px}.text-link{font-size:13px;font-weight:600;text-underline-offset:5px}.section-end{display:flex;justify-content:space-between;gap:20px;margin-top:32px}.projects-section{background:#eaf0e8;padding-block:90px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.project{border-top:2px solid var(--green);padding-top:26px}.project .eyebrow{font-size:9px;min-height:32px}.project h3{font-size:32px;min-height:75px}.project p{font-size:13px;min-height:44px}.project-stat{font:500 26px 'Space Grotesk',sans-serif;color:var(--green);border-top:1px solid #c9d4c6;padding-top:22px;margin-top:25px}.leap{padding-block:85px;background:var(--green);color:white}.leap p{color:#d8e7df}.steps{display:grid;grid-template-columns:repeat(6,1fr);gap:25px}.steps>div{border-top:1px solid #ffffff50;padding-top:25px}.steps span{font:500 40px 'Space Grotesk';color:var(--yellow)}.steps h3{font-size:20px;margin-top:16px}.steps p{font-size:12px}.note{font-size:12px}.leap .note{max-width:760px;margin:30px 0 0}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-bottom:36px}figure{margin:0}.story-grid img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#e9eddf}figcaption{font-size:12px;padding-block:12px}.invitation{background:#e7edda;padding:55px;display:flex;align-items:center;justify-content:space-between;gap:50px;margin-bottom:85px;border-radius:5px}.invitation h2{font-size:46px}.invitation p{max-width:650px;margin:0}.invitation .button{flex-shrink:0}footer{background:#edf0e7;padding-top:65px;font-size:12px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:80px}.footer-logo{width:200px;margin-bottom:20px}.footer-grid h3{font-size:18px;margin-bottom:24px}.footer-grid a{display:block;text-decoration:none;margin-bottom:8px}.footnote{border-top:1px solid #cdd7c8;margin-top:45px;padding-block:25px;display:flex;gap:40px;justify-content:space-between;font-size:10px}.footnote p{max-width:850px;margin:0}.pagehead{padding-block:75px;border-bottom:1px solid var(--line)}.pagehead h1{max-width:1000px}.pagehead>p{max-width:800px;font-size:18px;margin:0}.reading{max-width:850px;padding-block:65px}.reading h2{font-size:32px;margin-top:40px}.reading h2:first-child{margin-top:0}.reading img{margin-bottom:30px}.detail-stat{font-size:50px;color:var(--green);padding-block:25px}.gallery{columns:3;column-gap:25px;margin-block:50px}.gallery figure{break-inside:avoid;margin-bottom:20px}.gallery img{width:100%;border-radius:3px}.update{padding:35px;border-left:4px solid var(--bright);background:#edf1e6}.update h2{font-size:32px}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:100px}.contact-grid h2{font-size:32px}.contact-grid aside{background:#eaf0e3;padding:35px;height:fit-content}.contact-grid aside h3{font-size:20px;margin-top:30px}.contact-grid aside p{font-size:14px}label{display:block;font-size:14px;font-weight:600;margin:22px 0 7px}input,select,textarea{width:100%;padding:13px;border:1px solid #a4b5a8;border-radius:3px;background:#fff;color:var(--ink)}textarea{resize:vertical}form .note{margin-top:18px}#form-status{margin-top:20px;font-weight:500}#copy-message{padding:10px;margin-left:15px}.skip{position:absolute;top:-100px;background:white;padding:15px;z-index:30}.skip:focus{top:0}[hidden]{display:none!important}
@media(min-width:1500px){.hero{min-height:750px}}@media(max-width:1100px){.wrap{width:calc(100% - 48px)}.nav{gap:20px}.brand{width:130px}.brand img{width:130px}nav{gap:14px}nav a{font-size:11px}.nav-cta{font-size:11px;padding:15px}.intro{gap:45px}.impact{gap:45px}.project h3{font-size:27px}.contact-grid{gap:45px}.steps{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.menu{display:block;background:none;border:1px solid var(--line);padding:10px 14px;margin-left:auto;border-radius:3px}.nav{min-height:80px}.nav-cta{display:none}nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:24px;box-shadow:0 12px 15px #10251c15}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:5px}nav a{font-size:16px;padding:12px}header{position:relative}.hero{min-height:640px}.hero h1{font-size:54px}.hero-shade{background:linear-gradient(90deg,#082d28e6,#082d2870)}.impact,.intro,.contact-grid{grid-template-columns:1fr;gap:38px}.impact{padding-block:60px}.intro{padding-block:65px}.intro-photo{max-width:600px}.programme-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:1fr}.project h3,.project p,.project .eyebrow{min-height:0}.project{padding-block:25px}.project-stat{margin-top:15px}.credentials{gap:20px}.credentials span{font-size:10px;padding-left:12px}.credentials b{font-size:13px}.invitation{display:block;padding:35px;margin-bottom:50px}.invitation .button{margin-top:30px}.footer-grid{gap:35px;grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.gallery{columns:2}.story-grid{gap:15px}.section,.projects-section{padding-block:60px}.section-end{flex-wrap:wrap}.topline .wrap{font-size:8px}.topline a{display:none}.pagehead{padding-block:55px}}
@media(max-width:480px){.wrap{width:calc(100% - 36px)}.hero h1{font-size:39px;letter-spacing:-.05em}.hero-content{padding-top:50px;padding-bottom:35px}.hero p{font-size:14px}.hero{min-height:650px}.hero-bottom{font-size:8px;letter-spacing:1px}.hero-bottom span span{margin-left:8px}.actions{display:grid;justify-content:start}.button{font-size:12px;padding:16px 20px}.hero-picture img{object-position:55% center}.impact{gap:15px}.reach>strong{font-size:80px}.metrics>div{gap:18px}.metrics strong{font-size:22px}.programme-grid{grid-template-columns:1fr}.programme{padding:26px}.programme p{min-height:0}.programme .number{margin-bottom:18px}.credentials{grid-template-columns:1fr;gap:20px}.credentials span{font-size:12px}.credentials b{font-size:16px}.steps{grid-template-columns:repeat(2,1fr)}.story-grid{grid-template-columns:1fr}.story-grid img{aspect-ratio:auto}.invitation{padding:28px}.invitation h2{font-size:35px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footnote{display:block}.gallery{columns:1}.contact-grid aside{padding:25px}.pagehead h1{font-size:42px}.pagehead>p{font-size:16px}.detail-stat{font-size:38px}.update{padding:25px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.mobile-partner{display:none}@media(max-width:800px){nav .mobile-partner{display:block;color:var(--blue);font-weight:700}}
/* Homepage section navigation */
html{scroll-behavior:smooth}header{position:sticky;top:0;z-index:20;box-shadow:0 1px 0 var(--line)}[id]{scroll-margin-top:120px}details{margin:20px 0}summary{cursor:pointer;font-weight:600;font-size:14px;padding:12px 0;color:var(--green)}summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}details p{margin-top:16px}.programme .button{margin-top:16px;font-size:12px;padding:14px;gap:10px}.programme details p{min-height:0}.programme:target,.project:target{background:#e7edda;outline:2px solid var(--green);outline-offset:4px}.about-status>p{max-width:950px}.institutional-connections{margin-top:45px;border-top:1px solid var(--line);padding-top:30px;max-width:850px}.institutional-connections h3{font-size:23px}.project details p{min-height:0}.calendar-archive{max-width:1224px;width:calc(100% - 96px);margin:0 auto 60px}.calendar-archive img{max-width:850px;width:100%}.video-frame{position:relative;aspect-ratio:16/9;background:#102f28;border-radius:5px;overflow:hidden}.video-frame iframe{width:100%;height:100%;border:0}.video-section .note{margin-top:15px}.video-section{padding-top:0}#contact .pagehead h2{font-size:clamp(40px,5vw,70px)}nav a[aria-current="location"]{color:var(--blue);text-decoration:underline}@media(max-width:800px){[id]{scroll-margin-top:100px}.calendar-archive{width:calc(100% - 48px)}}@media(max-width:480px){.calendar-archive{width:calc(100% - 36px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body.admin-bar header{top:32px}@media(max-width:782px){body.admin-bar header{top:46px}}@media(max-width:600px){body.admin-bar header{top:0}}.wp-caption{max-width:100%}.aligncenter{margin-inline:auto}nav a[aria-current="page"]{color:var(--blue)}

/* Page typography, colours and layout belong to Elementor widget controls. */
.elementor-widget-text-editor p{color:inherit}.elementor-widget-heading h1,.elementor-widget-heading h2,.elementor-widget-heading h3{margin:0}.elementor-widget-button a:hover{color:inherit}.elementor-widget-image img{display:inline-block}.elementor-section[id]{scroll-margin-top:115px}

/* Updated partnerships and direct contact */
.partner-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.partner-logos figure{margin:0}.partner-logos figure>div{height:140px;background:white;display:flex;align-items:center;justify-content:center;padding:16px;border:1px solid #dce2d7}.partner-logos img{max-width:100%;max-height:110px;object-fit:contain}.partner-logos figcaption{font-size:12px;line-height:1.6;padding-top:12px}.institutional-connections{max-width:none}.contact-grid{grid-template-columns:1fr}.contact-grid aside{max-width:850px}.credentials{grid-template-columns:repeat(2,1fr)}.partnership-detail p{min-height:0}.hero-picture{inset:-70px 0;will-change:transform}.hero{overflow:hidden}.institutional-connections h4{margin-top:35px}@media(max-width:800px){.partner-logos{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-picture{inset:0;transform:none!important}.credentials{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.hero-picture{inset:0;transform:none!important}}@media(min-width:801px) and (prefers-reduced-motion:no-preference){.ceadc-parallax{background-attachment:fixed!important}}

.elementor-widget-image img{max-height:600px;object-fit:contain}

.ceadc-wp-menu{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0}.ceadc-wp-menu li{margin:0}.ceadc-wp-menu .sub-menu{list-style:none;padding:12px;background:var(--paper)}@media(max-width:800px){.ceadc-wp-menu{display:block}.ceadc-wp-menu a{display:block}}

/* Editorial motion and responsive native Elementor sections */
.ceadc-project-card{border-top:5px solid #ffb536;margin:24px auto!important;max-width:1200px;border-radius:6px}.ceadc-reveal{opacity:1}.ceadc-motion .ceadc-reveal:not(.ceadc-visible){opacity:0;transform:translateY(18px)}.ceadc-motion .ceadc-reveal{transition:opacity .7s,transform .7s}.elementor-widget-button .elementor-button{transition:transform .25s}.elementor-widget-button .elementor-button:hover{transform:translateY(-3px)}@media(prefers-reduced-motion:reduce){.ceadc-motion .ceadc-reveal:not(.ceadc-visible){opacity:1;transform:none}.ceadc-reveal,.elementor-button{transition:none!important;animation:none!important}}
