/* CEFP visual upgrade — keeps the existing CEFP structure/content intact. */
.cefp-page{background:linear-gradient(180deg,#f7f3ea 0%,#f5f2ea 38%,#eef4f1 100%)}
.cefp-page .site-header{max-width:1320px}
.cefp-page .cefp-hero{max-width:1320px;padding:82px 38px 112px;gap:72px}
.cefp-page .cefp-hero>div:first-child{position:relative;z-index:2}
.cefp-page .cefp-hero h1{font-size:clamp(52px,6vw,88px);max-width:720px}
.cefp-page .cefp-hero .lede{max-width:610px;font-size:20px}
.cefp-page .cefp-hero-art{height:520px;border-radius:3px;box-shadow:0 28px 70px rgba(20,47,51,.13)}
.cefp-page .cefp-intro{padding-top:30px}
.cefp-page .cefp-values{background:rgba(255,255,255,.45);box-shadow:0 18px 45px rgba(20,47,51,.05)}
.cefp-page .cefp-programmes{position:relative;overflow:hidden}
.cefp-page .cefp-programmes:before{content:'CEFP';position:absolute;right:-20px;top:-65px;font:700 220px/1 var(--serif);color:rgba(38,116,111,.055);pointer-events:none}
.cefp-page .programme-grid article,.cefp-page .quality-grid article{transition:transform .2s ease,box-shadow .2s ease;border:1px solid rgba(20,47,51,.08)}
.cefp-page .programme-grid article:hover,.cefp-page .quality-grid article:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(20,47,51,.09)}
.cefp-page .quality-section{padding-top:115px;padding-bottom:115px}
.cefp-page .quality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.cefp-page .quality-grid article{background:#fff;padding:27px 24px;min-height:210px}
.cefp-page .quality-grid article>span{font:12px var(--mono);color:#26746f;letter-spacing:.08em}
.cefp-page .quality-grid h3{font:600 25px/1.1 var(--serif);margin:38px 0 10px}
.cefp-page .quality-grid p{font-size:14px;color:#587074;margin:0}
.cefp-page .tools-section{background:#173a3d;color:#fff;padding:100px max(38px,calc((100vw - 1244px)/2));display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.cefp-page .tools-section .eyebrow{color:#d6ac57}
.cefp-page .tools-section h2{font:700 clamp(38px,4vw,56px)/1.03 var(--serif);letter-spacing:-.05em;margin:0}
.cefp-page .tools-section p:not(.eyebrow){color:#c7d8d7;max-width:520px}
.cefp-page .tool-tags{display:flex;flex-wrap:wrap;gap:10px}
.cefp-page .tool-tags span{border:1px solid rgba(255,255,255,.2);padding:11px 13px;font:11px var(--mono);color:#e1ecea}
.cefp-page .approach{padding-top:120px;padding-bottom:120px}
.cefp-page .approach-card{box-shadow:0 24px 60px rgba(20,47,51,.12)}
.cefp-page .community{box-shadow:0 20px 60px rgba(20,47,51,.08)}
.cefp-page .cefp-gallery-intro{max-width:1244px;margin:auto;padding:115px 0 48px}
.cefp-page .cefp-gallery-intro h2{font:700 clamp(40px,5vw,64px)/1 var(--serif);letter-spacing:-.05em;margin:0;max-width:760px}
.cefp-page .cefp-gallery-intro p:not(.eyebrow){color:#587074;max-width:620px;font-size:18px;margin:22px 0 0}
@media(max-width:900px){.cefp-page .cefp-hero{grid-template-columns:1fr;padding-left:24px;padding-right:24px}.cefp-page .quality-grid{grid-template-columns:repeat(2,1fr)}.cefp-page .tools-section{grid-template-columns:1fr;gap:35px}.cefp-page .cefp-gallery-intro{padding-left:24px;padding-right:24px}}
@media(max-width:620px){.cefp-page .cefp-hero{padding-top:45px}.cefp-page .cefp-hero-art{height:370px}.cefp-page .quality-grid{grid-template-columns:1fr}.cefp-page .cefp-gallery-intro{padding-top:80px}}
/* The public gallery now belongs to CEFP rather than the Nexora landing page. */
body:not(.cefp-page) #gallery{display:none!important}
