/*
Theme Name: ESI Global Staging
Description: Event Synthesis International review theme. Includes staging-only page setup.
Version: 1.4.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: esi-global-staging
*/

:root{--ink:#25212c;--plum:#46295b;--green:#b5d76c;--paper:#f7f6f2;--line:#dcd9d8;--muted:#65606b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Julius Sans One",sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}img{display:block;max-width:100%}.wrap{width:min(1220px,90%);margin:auto}.review{background:var(--plum);color:white;text-align:center;font-size:11px;letter-spacing:1.3px;padding:7px 12px}.header{background:rgba(247,246,242,.98);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:94px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:64px}.brand strong{font-size:17px;letter-spacing:1px;line-height:1.2;display:block}.brand small{display:block;font-size:9px;letter-spacing:3px;margin-top:5px}.links{display:flex;align-items:center;gap:26px;font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:15px 23px;background:var(--plum);color:white;border:1px solid var(--plum);font-size:13px;font-weight:600;transition:background .2s}.btn:hover{background:#624174}.btn.light{background:var(--green);border-color:var(--green);color:var(--ink)}.btn.outline{background:transparent;color:inherit;border-color:currentColor}.menu{display:none;border:1px solid var(--line);padding:8px 14px;background:none}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:2.6px;font-weight:700;margin:0 0 24px}.hero{padding:75px 0 62px}.hero-top{display:flex;justify-content:space-between;align-items:center}.location{font-size:12px;color:var(--muted)}.dot{display:inline-block;background:#678c34;width:7px;height:7px;border-radius:50%;margin-right:9px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,6.3vw,88px);line-height:1.04;letter-spacing:-4px;font-weight:500;max-width:1040px;margin-bottom:32px}h1 em,h2 em{font-family:"Julius Sans One",sans-serif;font-weight:400;color:var(--plum)}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end}.hero-bottom p{max-width:520px;color:var(--muted);font-size:18px}.actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.textlink{font-size:13px;font-weight:700;border-bottom:1px solid;padding:8px 0}.stage{background:var(--plum);color:white;position:relative;overflow:hidden;min-height:315px;display:grid;grid-template-columns:1.1fr 1fr}.stage-text{padding:50px;z-index:1}.stage h2{font-size:37px;font-weight:400;line-height:1.18;max-width:420px}.stage p{max-width:420px;font-size:14px;color:#e4dce9}.stage-art{position:relative;overflow:hidden;background:#342441;min-height:310px}.stage-art img{width:100%;height:100%;object-fit:cover;transform:scale(1.48);opacity:.76}.stage-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--plum),transparent 45%)}.stage-tag{position:absolute;right:26px;bottom:25px;z-index:1;font-size:11px;letter-spacing:2px}.proof{border-bottom:1px solid var(--line);padding:32px 0;display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}.proof small{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;max-width:130px;color:var(--muted)}.proof b{font-size:18px;font-weight:500;letter-spacing:-.5px}.section{padding:90px 0}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:44px}h2{font-size:clamp(35px,4vw,55px);letter-spacing:-1.7px;line-height:1.12;font-weight:400;margin-bottom:20px}.section-head p{max-width:440px;color:var(--muted);margin-bottom:6px}.services{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:65px 1.1fr 1fr 40px;gap:30px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line);transition:padding .2s}.service:hover{padding-left:12px;background:#eeece7}.number{font-size:12px;color:var(--muted)}.service h3{font-size:25px;font-weight:400;line-height:1.2;margin:0}.service p{font-size:14px;color:var(--muted);margin:0}.arrow{font-size:25px}.supporting{display:flex;gap:15px;flex-wrap:wrap;margin-top:25px;font-size:12px}.supporting span{border:1px solid var(--line);padding:6px 12px}.world{background:#eaece3}.world-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.world h2{max-width:500px}.world p{color:var(--muted)}.steps{border-top:1px solid #c7ccbf}.step{display:flex;gap:23px;padding:22px 0;border-bottom:1px solid #c7ccbf}.step b{font-size:12px;color:#637a3e;padding-top:5px}.step h3{font-size:20px;font-weight:500;margin:0 0 5px}.step p{font-size:14px;margin:0}.destinations{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 32px}.destinations span{font-size:11px;border-bottom:1px solid #a6af98;padding-bottom:4px}.profile{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:90px}.portrait{background:#372344;position:relative;padding:35px}.portrait img{width:100%}.portrait small{display:block;color:#e5dcec;text-align:center;font-size:11px;letter-spacing:1.5px}.profile p{color:var(--muted)}.profile h3{font-size:24px;font-weight:400;margin:28px 0 0}.credentials{font-size:12px;color:var(--plum);border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.approach{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.approach article{border-top:2px solid var(--plum);padding-top:22px}.approach h3{font-size:23px;font-weight:400;margin-top:18px}.approach p{font-size:14px;color:var(--muted)}.faq{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-size:18px}details p{color:var(--muted);max-width:850px;margin:18px 0 0}.contact{background:var(--plum);color:white}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.contact h2{font-size:57px}.contact p{color:#e0d5e7}.contact-info{margin-top:35px;font-size:16px}.contact-info a{display:block;margin-top:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:12px}input,select,textarea{display:block;background:#fff;color:var(--ink);border:1px solid transparent;border-radius:0;width:100%;padding:12px;margin-top:7px;min-width:0}textarea{resize:vertical}.full{grid-column:1/-1}.form-note{font-size:11px;margin:0}.form-grid .btn{justify-self:start}.draft{background:#fff;color:var(--ink);padding:20px;margin-top:20px}.draft pre{white-space:pre-wrap;font:14px/1.8 "Julius Sans One",sans-serif}.footer{padding:35px 0;display:flex;justify-content:space-between;gap:25px;font-size:12px;color:var(--muted)}.footer a{border-bottom:1px solid}.detail{padding:65px 0 90px}.detail h1{font-size:68px;max-width:900px}.detail-intro{font-size:21px;color:var(--muted);max-width:800px}.detail-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:80px;margin-top:45px}.detail-layout h2{font-size:34px}.detail-layout ul{padding-left:20px;line-height:2}.detail-aside{background:#eaece3;padding:30px;align-self:start}.detail-aside h3{font-size:25px;font-weight:400}.back{display:inline-block;margin-bottom:40px;font-size:13px}.hide,[hidden]{display:none!important}.skip{position:absolute;top:-100px}.skip:focus{top:0;z-index:100;background:white;padding:15px}@media(max-width:800px){.nav{min-height:80px}.brand img{width:50px}.brand strong{font-size:14px}.links{display:none;position:absolute;top:80px;background:var(--paper);left:0;right:0;padding:25px;flex-direction:column;align-items:stretch}.links.open{display:flex}.menu{display:block}h1{letter-spacing:-2px}.hero{padding:45px 0}.location{display:none}.hero-bottom,.section-head,.world-grid,.profile,.contact-grid,.detail-layout{grid-template-columns:1fr;gap:30px}.hero-bottom{gap:8px}.stage{grid-template-columns:1fr}.stage-text{padding:32px}.stage-art{min-height:220px;max-height:250px}.stage-art img{height:250px}.stage-art:after{background:linear-gradient(180deg,var(--plum),transparent 60%)}.section{padding:58px 0}.service{grid-template-columns:25px 1fr 25px;gap:14px}.service p{grid-column:2;grid-row:2}.service .arrow{grid-column:3;grid-row:1}.service h3{font-size:23px}.proof{justify-content:flex-start;gap:20px}.proof small{max-width:none;width:100%}.proof b{font-size:16px}.profile{gap:35px}.portrait{max-width:400px}.approach{grid-template-columns:1fr}.contact h2{font-size:46px}.detail h1{font-size:47px}.footer{flex-direction:column}.form-grid{grid-template-columns:1fr}.full{grid-column:1}.review{font-size:9px;letter-spacing:.7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Version 2: ESI Global, colour and evidence-led presentation */
:root{--plum:#522575;--green:#b8e65d;--paper:#fbf9fc;--ink:#292033;--line:#ded5e5}.review{background:#23142f;display:flex;align-items:center;justify-content:center;gap:20px}.review button{color:#ceec8e;background:none;border:0;text-decoration:underline;font-size:11px}.brand small{letter-spacing:1.7px}.brand strong{font-size:24px;letter-spacing:-.6px}.header{background:rgba(251,249,252,.98)}.links{gap:21px}.hero{width:100%;padding:0;position:relative;background:#331747;color:white}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(40,13,62,.98),rgba(58,16,81,.83) 48%,rgba(44,15,66,.12))}.hero-inner{position:relative;z-index:1;padding:75px 0 65px;min-height:610px}.hero h1{max-width:850px;font-size:clamp(52px,6.1vw,86px);letter-spacing:-3.5px;font-weight:500}.hero h1 em{color:#c5ec81}.hero .eyebrow{color:#d6bfe4}.hero .hero-top{margin-bottom:26px}.hero .location{color:#eee2f2}.hero-bottom{grid-template-columns:1fr;gap:5px}.hero-bottom p{color:#f0e8f4;max-width:620px;font-size:18px}.hero .btn{background:var(--green);border-color:var(--green);color:#261234}.hero .textlink{color:white}.hero-credit{position:absolute;right:0;bottom:18px;font-size:9px;color:#e6d4ec}.colour-ribbon{background:var(--green);padding:20px 0}.ribbon-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;font-weight:700;letter-spacing:1px}.ribbon-inner b{font-size:19px;font-weight:500;letter-spacing:-.3px}.proof{padding:35px 0}.proof b{color:var(--plum)}.section-head h2 em{color:var(--plum)}.services{display:grid;grid-template-columns:1fr 1fr;gap:20px;border:0}.service{grid-template-columns:30px 1fr 30px;gap:15px;padding:30px!important;background:#eee3f5;border:0;min-height:195px;align-content:start}.service:hover{background:#e4d1ef;transform:translateY(-3px)}.service h3{font-size:27px}.service p{grid-column:2;grid-row:2}.service .arrow{grid-column:3;grid-row:1}.service:nth-child(2){background:#e8f3d6}.service:nth-child(3){background:#522575;color:white}.service:nth-child(3) p,.service:nth-child(3) .number{color:#e4d5ed}.service:nth-child(4){background:#f7e4ee}.supporting span:first-child{background:#292033;color:white}.world{background:#522575;color:white;position:relative}.world h2 em{color:#c5ec81}.world p{color:#eee2f4}.world .btn{background:var(--green);border-color:var(--green);color:#271733}.world .step b{color:#c5ec81}.world .steps,.world .step{border-color:#795494}.world .destinations span{border-color:#9777af}.gallery{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:18px}.gallery figure{margin:0;position:relative;overflow:hidden;min-width:0;background:#35194b}.gallery img{width:100%;height:235px;object-fit:cover;transition:transform .3s}.gallery button{padding:0;border:0;display:block;width:100%;background:transparent}.gallery button:hover img{transform:scale(1.04)}.gallery figcaption{color:white;padding:16px 18px;font-size:13px}.gallery figcaption small{display:block;color:#d6c4e2;font-size:10px;margin-top:3px}.section-credit{display:block;color:#75667f;font-size:10px;margin-top:13px}.projects-band{background:#f0e8f5}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project{background:white;display:flex;flex-direction:column;border-bottom:4px solid var(--plum)}.project-visual{height:195px;padding:27px;background:#4a2462;color:white;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.project-visual strong{font-size:42px;line-height:1.03;letter-spacing:-1.5px;max-width:230px}.project-visual small{font-size:11px;letter-spacing:1.5px}.project-visual.brazil{background:#6c358b}.project-visual.peace{background:#43887a}.project-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.project-body{padding:25px;flex:1;display:flex;flex-direction:column}.tag{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#664776;margin-bottom:10px}.project h3{font-size:24px;line-height:1.15;font-weight:400;margin-bottom:15px}.project p{font-size:14px;color:#665b6d}.project a{margin-top:auto;align-self:start;font-size:12px;font-weight:700;border-bottom:1px solid;padding-bottom:4px}.calendar{margin-top:40px;padding:30px;background:#fff}.calendar h3{font-size:25px;font-weight:400;margin-bottom:20px}.calendar a{display:grid;grid-template-columns:100px 1fr 30px;gap:25px;border-top:1px solid #e4dce9;padding:20px 0;align-items:center}.calendar .date{color:var(--plum);font-size:20px;font-weight:700}.calendar .date small{display:block;font-size:11px}.calendar strong{font-size:18px;font-weight:500}.calendar p{font-size:12px;margin:3px 0;color:#706378}.garden{display:grid;grid-template-columns:1fr 1fr;background:#d7efb2;position:relative}.garden-photo{position:relative;min-height:520px}.garden-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 65%}.garden-copy{padding:65px 55px}.garden-copy h2{font-size:49px}.garden-copy p{font-size:15px;max-width:500px}.garden .eyebrow{color:#395528}.garden .credit{position:absolute;left:14px;bottom:12px;color:#fff;background:#193127b3;padding:5px 9px;font-size:9px}.garden .pills{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0 27px}.garden .pills span{border:1px solid #a3c681;font-size:10px;padding:5px 8px}.profile .portrait{padding:0;background:#e5d6ef}.profile .portrait img{width:100%;aspect-ratio:1;object-fit:cover}.profile .portrait small{padding:18px;color:#4d2864}.credentials{line-height:1.8;color:#522575;background:#eee3f5;padding:18px 20px;border:0}.credentials a{text-decoration:underline}.award-strip{margin-top:45px;display:grid;grid-template-columns:1fr 1fr 1fr;background:#522575;color:#fff}.award-strip>div{padding:25px 30px;border-right:1px solid #795496}.award-strip small{font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:#d6edaa}.award-strip strong{display:block;font-size:21px;font-weight:400;line-height:1.3;margin:10px 0}.award-strip a{font-size:11px;text-decoration:underline}.knowledge{background:#efe7f4}.knowledge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.knowledge article{border-top:4px solid #522575;padding:20px;background:white}.knowledge article:nth-child(2){border-color:#81ab42}.knowledge article:nth-child(3){border-color:#bf6a9a}.knowledge h3{font-size:24px;line-height:1.2;font-weight:400}.knowledge p,.knowledge summary{font-size:14px}.knowledge p{color:#6b5e73}.knowledge details{border:0;padding:0}.knowledge details p{margin-top:15px}.social-panel{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:40px;border-top:1px solid #d7c7e0;padding-top:30px}.social-panel p{font-size:14px;margin:0;max-width:500px;color:#63546d}.social-links{display:flex;gap:20px;font-size:13px}.social-links a{border-bottom:1px solid #522575}.contact{background:#39204d}.contact .btn.light{background:var(--green);color:#24122d}.contact h2{color:#d4f3a1}.contact-info a{font-size:16px}.footer{font-size:11px}.detail-aside{background:#dff0c5}dialog{max-width:900px;width:90%;max-height:85vh;overflow:auto;border:0;padding:30px;background:#fbf9fc;color:#292033;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#241230b3}dialog h2{font-size:32px}dialog h3{font-size:20px}dialog p,dialog li{font-size:14px}dialog a{color:#522575;text-decoration:underline}.dialog-close{float:right;padding:8px 15px;background:#522575;color:white;border:0}.source-list{line-height:1.8}.source-list li{margin-bottom:10px}#lightbox img{max-height:65vh;margin:auto;object-fit:contain}#lightbox p{font-size:12px}.source-note{font-size:12px;background:#eee3f5;padding:15px}.hero .dot{background:var(--green)}
@media(max-width:800px){.hero-inner{min-height:570px;padding:50px 0 55px}.hero:after{background:linear-gradient(90deg,rgba(40,13,62,.97),rgba(58,16,81,.74))}.hero h1{font-size:54px;letter-spacing:-2px}.hero .hero-top{margin-bottom:15px}.hero-credit{font-size:8px;left:0;right:auto}.ribbon-inner{flex-wrap:wrap;gap:12px}.ribbon-inner b{width:100%;font-size:18px}.ribbon-inner span{font-size:10px}.services,.project-grid,.gallery,.knowledge-grid,.garden,.award-strip{grid-template-columns:1fr}.gallery img{height:245px}.garden-photo{min-height:280px}.garden-copy{padding:35px 25px}.garden-copy h2{font-size:40px}.service{min-height:170px}.service h3{font-size:25px}.calendar{padding:20px}.calendar a{grid-template-columns:70px 1fr 15px;gap:15px}.calendar strong{font-size:16px}.calendar .date{font-size:17px}.social-panel{flex-direction:column;align-items:start}.award-strip>div{border-right:0;border-bottom:1px solid #795496}.review{gap:10px;flex-wrap:wrap}.review button{font-size:9px}.project-visual{height:190px}.brand strong{font-size:22px}.brand small{font-size:8px;letter-spacing:1px}.brand{gap:8px}.brand img{width:45px}.profile .portrait{max-width:400px}.contact-info a{overflow-wrap:anywhere}.hero-bottom p{font-size:16px}}

/* Dedicated page system */
.nav-dropdown{position:relative;padding:0;border:0}.nav-dropdown summary{font-size:13px;cursor:pointer;list-style:none}.nav-dropdown summary:after{content:' ▾'}.nav-dropdown>div{position:absolute;top:36px;left:-20px;min-width:260px;background:#fbf9fc;box-shadow:0 10px 30px #30104420;padding:12px 20px;border-top:3px solid #522575}.nav-dropdown a{display:block;padding:11px 0;border-bottom:1px solid #e9dfee}.detail{padding-top:42px}.breadcrumb{font-size:12px;color:#72607e;margin-bottom:40px;display:flex;gap:12px;flex-wrap:wrap}.breadcrumb a{text-decoration:underline}.page-heading h1{font-size:clamp(45px,5.4vw,74px);max-width:1100px;letter-spacing:-2.5px}.page-intro{font-size:20px;max-width:830px;color:#675a71;margin:30px 0 38px}.page-photo{margin:0 0 35px;position:relative}.page-photo img{width:100%;max-height:460px;object-fit:cover;object-position:center 60%}.page-photo figcaption{font-size:10px;color:#74637d;margin-top:9px}.page-section{padding:40px 0}.page-section h2{font-size:43px}.page-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:30px 0}.page-cards article{background:#eee3f5;padding:28px;border-top:4px solid #522575}.page-cards article:nth-child(2){background:#e6f3d2;border-color:#81ad40}.page-cards article:nth-child(3){background:#f5e2ee;border-color:#bd6c9a}.page-cards h3{font-size:24px;font-weight:400;line-height:1.2;margin:20px 0 15px}.page-cards p{font-size:15px;color:#64536f}.page-cta{margin:50px 0 35px;padding:40px;background:#522575;color:white;display:flex;justify-content:space-between;align-items:center;gap:35px}.page-cta h2{font-size:35px;max-width:650px}.page-cta .eyebrow{color:#cceaa0}.page-cta p:last-child{color:#e8deee;margin-bottom:0}.page-cta .btn{background:#b8e65d;color:#251333;white-space:nowrap}.related{display:flex;gap:25px;align-items:center;flex-wrap:wrap;padding:25px 0}.related .eyebrow{margin:0;width:100%}.page-faq{margin:40px 0}.page-faq h2{font-size:35px}.page-note{background:#e8f3d6;padding:30px;margin:30px 0}.page-note h3{font-size:25px;line-height:1.3;font-weight:400}.page-note p{max-width:850px}.source-link{font-size:12px;color:#522575;text-decoration:underline}.showcase-links{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.showcase-links>a{padding:25px;background:#f1e8f6;border-bottom:3px solid #522575}.showcase-links span{font-size:24px;font-weight:500}.showcase-links p{font-size:14px;color:#675972}.showcase-links b{font-size:12px}.case-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;margin:50px 0}.case-layout h2{font-size:40px}.case-layout aside{background:#eee3f5;padding:30px}.case-layout p{color:#665772}.project-title-panel{background:#522575;color:#fff;min-height:260px;display:flex;flex-direction:column;justify-content:center;padding:40px;gap:18px;border-right:18px solid #b8e65d}.project-title-panel strong{font-size:45px;line-height:1.1;font-weight:400;max-width:850px}.project-title-panel span,.project-title-panel small{font-size:12px;letter-spacing:2px}.icc-africa-peace-forum{background:#397e71}.national-wetlands-indaba{background:#4d7446}.filter-bar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}.filter-bar button{border:1px solid #d6c8df;background:transparent;padding:10px 19px;font-size:13px;color:#522575}.filter-bar button.active{background:#522575;color:white}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.work-card{background:white;border:1px solid #e4d7ec}.work-art{height:235px;background:#522575;padding:30px;color:white;display:flex;flex-direction:column;justify-content:space-between}.work-art strong{font-size:37px;font-weight:400;line-height:1.1;max-width:450px}.work-art span{font-size:13px}.work-art-1{background:#3a8073}.work-art-2{background:#4d7446}.work-art-3{padding:0}.work-art img{width:100%;height:100%;object-fit:cover}.work-caption{padding:26px}.work-caption small{font-size:11px;text-transform:uppercase;color:#786483;letter-spacing:1px}.work-caption h2{font-size:29px;margin:18px 0}.work-caption p{font-size:14px;color:#6b5a75}.work-caption b{font-size:12px;color:#522575}.about-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}.about-layout .page-photo img{max-height:460px;object-position:top}.about-layout h2{font-size:45px}.about-layout p{color:#6d5c77}.page-heading:focus{outline:none}.links a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}.contact .back{color:#e3d1ed;margin-bottom:30px}.contact{min-height:70vh}
@media(max-width:800px){.nav-dropdown>div{position:static;box-shadow:none;padding:6px 15px;min-width:0}.page-cards,.showcase-links,.case-layout,.work-grid,.about-layout{grid-template-columns:1fr}.page-heading h1{font-size:45px;letter-spacing:-1.8px}.page-intro{font-size:17px}.page-photo img{height:260px}.page-cta{padding:28px;flex-direction:column;align-items:start}.page-cta h2{font-size:31px}.page-cta .btn{white-space:normal}.case-layout{gap:25px}.project-title-panel{padding:25px;min-height:235px}.project-title-panel strong{font-size:33px}.page-section{padding:25px 0}.detail{padding-top:28px}.about-layout{gap:25px}.about-layout .page-photo img{height:auto;max-height:400px}.work-art strong{font-size:31px}.filter-bar{gap:8px}.filter-bar button{padding:9px 12px}.related{gap:18px}}

/* Version 4: premium, welcoming presentation */
:root{--paper:#faf8f4;--plum:#49255f;--green:#c3df8e}.header{background:rgba(250,248,244,.98)}body{background:var(--paper)}h1,h2,.page-heading h1{font-family:"Julius Sans One",sans-serif;font-weight:400;letter-spacing:-2px}.hero h1{max-width:820px;font-size:clamp(48px,6.5vw,88px);font-family:"Julius Sans One",sans-serif;line-height:1.08}.hero-inner{min-height:640px;padding:95px 0 75px}.hero:after{background:linear-gradient(90deg,rgba(34,14,45,.95),rgba(43,17,57,.75) 45%,rgba(43,17,57,.12))}.hero h1 em{color:#d6eab4}.colour-ribbon{background:#e4eccf}.services{gap:0;border-top:1px solid #d9d0dd}.service,.service:nth-child(n){background:transparent;color:var(--ink);border-bottom:1px solid #d9d0dd;min-height:185px;padding:32px 20px!important}.service:nth-child(odd){border-right:1px solid #d9d0dd}.service:nth-child(3) p,.service:nth-child(3) .number{color:var(--muted)}.service:hover{background:#f0e9f3!important;transform:none}.service h3{font-size:27px}.page-cards article,.page-cards article:nth-child(n){background:#f1edf2;border-top:2px solid #795688}.projects-band{background:#efe9f1}.project{border-bottom-width:2px}.garden{background:#e6ecd9}.award-strip{background:#f0e9f3;color:#49255f}.award-strip small{color:#645471}.award-strip>div{border-color:#d7cddd}.section{padding:76px 0}.contact h1{font-size:clamp(42px,4.7vw,65px);color:#e0eccb}.btn{border-radius:2px}.supporting{gap:24px}.nav-dropdown>div{background:#faf8f4}.hero .actions{margin-top:12px}.hero .btn{background:#d1e6aa;border-color:#d1e6aa}.page-photo img{max-height:520px}.contact input:focus,.contact textarea:focus,.contact select:focus{outline:3px solid #c3df8e}.proof b{font-size:17px}@media(max-width:800px){.hero-inner{min-height:560px;padding:60px 0}.hero h1{font-size:clamp(43px,10vw,58px);letter-spacing:-1.7px}.service:nth-child(odd){border-right:0}.section{padding:52px 0}.links{background:#faf8f4}.hero-credit{max-width:95%}.page-heading h1{font-size:42px}.page-cta h2{letter-spacing:-1px}}

.values-goals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:30px 0}.values-goals .page-note{margin:0;padding:30px;background:#e6ecd9;border-top:2px solid #795688}.values-goals h3{margin:0 0 16px}.values-goals p{margin:0}@media(max-width:800px){.values-goals{grid-template-columns:1fr}}

/* Restore the vibrant ESI green */
:root{--green:#b8e65d}.colour-ribbon{background:#b8e65d}.hero h1 em{color:#c5ec81}.hero .btn{background:#b8e65d;border-color:#b8e65d}.garden{background:#d7efb2}.page-note,.values-goals .page-note{background:#d7efb2}.contact h1{color:#c5ec81}.page-cta .eyebrow{color:#c5ec81}.contact input:focus,.contact textarea:focus,.contact select:focus{outline-color:#b8e65d}

/* Complete portfolio client band */
.client-band{padding:30px 0;border-bottom:1px solid var(--line);min-width:0}.client-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.client-heading .eyebrow{margin:0}.client-heading button{background:transparent;border:1px solid #bca9c8;color:var(--plum);padding:7px 12px;font-size:12px}.client-window{overflow:hidden;max-width:100%;background:#f0e8f5;border-top:3px solid #b8e65d}.client-track{display:flex;width:max-content;animation:client-scroll 180s linear infinite}.client-set{display:flex;align-items:center;flex-shrink:0;gap:48px;padding:25px 24px}.client-set span{white-space:nowrap;font-size:20px;font-weight:600;color:#522575;letter-spacing:-.4px}.client-track.paused,.client-window:hover .client-track{animation-play-state:paused}.client-directory{padding:14px 0 0;border:0}.client-directory summary{font-size:12px;color:var(--plum)}.client-directory ul{columns:3;column-gap:30px;list-style:none;padding:0;margin:20px 0 0}.client-directory li{break-inside:avoid;font-size:13px;padding:7px 0;border-bottom:1px solid var(--line)}@keyframes client-scroll{to{transform:translateX(-50%)}}@media(max-width:800px){.client-set{gap:32px;padding:22px 16px}.client-set span{font-size:18px}.client-directory ul{columns:2}.client-heading .eyebrow{font-size:10px}}@media(prefers-reduced-motion:reduce){.client-track{animation:none}.client-window{overflow-x:auto}.client-set[aria-hidden]{display:none}#client-pause{display:none}}

body.admin-bar .header{top:32px}.esi-content{min-height:60vh}.esi-stage-label{background:#23142f;color:#fff;text-align:center;padding:7px 15px;font-size:11px;letter-spacing:1px}@media(max-width:782px){body.admin-bar .header{top:46px}}

/* Existing WPForms form: preserve functional fields, errors and spam controls. */
#contact .esi-enquiry-form{background:#fff;padding:28px;color:#292033;border-top:4px solid #b8e65d;min-width:0}#contact .wpforms-container{margin:0}#contact .wpforms-container .wpforms-field-label,#contact .wpforms-container .wpforms-field-sublabel,#contact .wpforms-container .wpforms-field-label-inline{color:#292033!important}#contact .wpforms-container input[type=text],#contact .wpforms-container input[type=email],#contact .wpforms-container input[type=tel],#contact .wpforms-container input[type=number],#contact .wpforms-container select,#contact .wpforms-container textarea{border:1px solid #b8acbf;background:#fff;color:#292033;max-width:100%;border-radius:2px}#contact .wpforms-container input[type=checkbox],#contact .wpforms-container input[type=radio]{display:inline-block;width:auto;margin:0 8px 0 0;padding:0;vertical-align:middle}#contact .wpforms-container .wpforms-field-label-inline{display:inline;font-size:14px}#contact .wpforms-container .wpforms-field-description{color:#62566b}#contact .wpforms-container button[type=submit]{background:#b8e65d!important;color:#24122f!important;border:1px solid #b8e65d!important;padding:14px 24px;font-weight:600;border-radius:2px}#contact .wpforms-container label.wpforms-error{color:#a51b32!important}#contact .wpforms-confirmation-container-full{background:#e6f4ce;border-color:#71943a;color:#292033}#contact .wpforms-confirmation-container-full p{color:#292033}@media(max-width:800px){#contact .esi-enquiry-form{padding:20px}}

/* Consistent mobile controls and vector link arrows. */
.menu{color:var(--ink);-webkit-appearance:none;appearance:none}.esi-arrow{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Larger ES mark, with room for the mobile navigation control. */
.header .brand img{width:88px;flex-shrink:0}.header .nav{min-height:104px}@media(max-width:800px){.header .brand img{width:64px}.header .nav{min-height:92px}}@media(max-width:380px){.header .brand img{width:56px}.header .brand strong{font-size:18px}.header .brand small{font-size:6.5px;letter-spacing:.7px}.header .nav{gap:12px}}

/* Prominent ES logo sizing. */
.header .brand img{width:140px}.header .nav{min-height:152px}@media(max-width:800px){.header .brand img{width:96px}.header .nav{min-height:112px;gap:12px}.header .brand strong{font-size:20px}.header .brand small{font-size:7px;letter-spacing:.7px}.header .menu{padding:8px 10px}}@media(max-width:380px){.header .brand img{width:76px}.header .brand strong{font-size:18px}.header .brand small{font-size:6px;letter-spacing:.4px}.header .nav{gap:8px}}

/* Serif wordmark to complement the ES monogram. */
.header .brand strong{font-family:"Julius Sans One",sans-serif;font-weight:400;letter-spacing:.35px}

@font-face{font-family:"Julius Sans One";font-style:normal;font-weight:400;font-display:swap;src:url("assets/julius-sans-one.ttf") format("truetype")}

/* Original ESI homepage typeface throughout the public website. */
body{font-family:"Julius Sans One",sans-serif;line-height:1.8}h1,h2,h3,h4,h5,h6,.hero h1,.page-heading h1{letter-spacing:-.35px;line-height:1.18;overflow-wrap:anywhere}h1 em,h2 em{font-style:normal}.hero h1{font-size:clamp(42px,5.7vw,76px)}.hero h1 em{font-style:normal}#contact .wpforms-container,#contact .wpforms-container input,#contact .wpforms-container textarea,#contact .wpforms-container select,#contact .wpforms-container button,#contact .wpforms-container label{font-family:"Julius Sans One",sans-serif!important}#contact .wpforms-container .wpforms-field-label-inline{line-height:1.7}@media(max-width:800px){body{font-size:16px}.hero h1{font-size:clamp(34px,8.6vw,46px)}.page-heading h1{font-size:clamp(30px,8vw,42px)}.hero-bottom p,.page-intro{line-height:1.8}}

.service-product-photo{background:white}.service-product-photo img{width:100%;height:420px;object-fit:contain}.service-product-photo figcaption{padding:12px 18px}@media(max-width:800px){.service-product-photo img{height:300px}}

/* Original client artwork, full colour and proportional sizing. */
.client-window{background:#fff}.client-set{gap:32px;padding:20px 16px}.client-set .client-logo{display:flex;align-items:center;justify-content:center;width:176px;height:104px;flex:0 0 176px;overflow:hidden;background:#fff}.client-logo img{width:176px;height:96px;max-width:none;object-fit:contain;transform-origin:center}.client-track{animation-duration:230s}@media(max-width:800px){.client-set{gap:20px;padding:14px 10px}}

.office-addresses{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}.office-addresses article{border-top:2px solid #b8e65d;padding-top:18px;min-width:0}.contact .office-addresses h3{font-size:17px;line-height:1.4;color:#fff;margin-bottom:10px}.office-addresses address{font-size:14px;line-height:1.8;font-style:normal;color:#eee5f3;overflow-wrap:anywhere}@media(max-width:480px){.office-addresses{grid-template-columns:1fr;gap:20px}}
