/* CEFP Modern Systems Layer — visual-only, no functional changes */
.cefp-page{
  --cefp-ink:#173a3d;
  --cefp-deep:#0b2529;
  --cefp-teal:#26746f;
  --cefp-gold:#d6ac57;
  --cefp-paper:#f4f0e7;
}
.cefp-page{position:relative}
.cefp-page .site-header{position:relative;z-index:50}
.cefp-page .cefp-hero{
  isolation:isolate;
  overflow:hidden;
}
.cefp-page .cefp-hero:before{
  content:"";
  position:absolute;
  width:520px;height:520px;
  right:-170px;top:-190px;
  border:1px solid rgba(38,116,111,.16);
  border-radius:50%;
  box-shadow:0 0 0 42px rgba(38,116,111,.025),0 0 0 86px rgba(214,172,87,.025);
  pointer-events:none;
}
.cefp-page .cefp-hero>div:first-child:after{
  content:"01  /  06\A SYSTEMS · SKILLS · STANDARDS";
  white-space:pre;
  position:absolute;right:-8px;bottom:-64px;
  font:500 9px/1.8 var(--mono);
  letter-spacing:.16em;color:rgba(23,58,61,.38);
  transform:rotate(-90deg);transform-origin:right top;
}
.cefp-page .cefp-hero-art{
  isolation:isolate;
}
.cefp-page .cefp-hero-art:global{display:block}
.cefp-page .cefp-hero-art .cefp-hud{
  position:absolute;z-index:5;left:24px;top:24px;
  padding:10px 12px;border:1px solid rgba(214,172,87,.38);
  background:rgba(8,31,34,.35);backdrop-filter:blur(10px);
  color:#e8f1ee;font:500 9px/1.5 var(--mono);letter-spacing:.12em;
  text-transform:uppercase;
}
.cefp-page .cefp-hero-art:before{
  background:
    linear-gradient(90deg,transparent 49.7%,rgba(255,255,255,.08) 50%,transparent 50.3%),
    linear-gradient(0deg,transparent 49.7%,rgba(255,255,255,.06) 50%,transparent 50.3%),
    linear-gradient(115deg,transparent 20%,rgba(214,172,87,.14) 50%,transparent 80%);
  background-size:100% 100%,100% 100%,220% 100%;
  animation:cefpSystemSweep 8s ease-in-out infinite;
}
.cefp-page .cefp-hero-art:after{
  border:1px solid rgba(255,255,255,.13);
  box-shadow:inset 0 0 0 1px rgba(214,172,87,.06);
}
.cefp-page .cefp-hero-art .building:after{
  content:"";
  position:absolute;left:50%;top:12%;width:1px;height:76%;
  background:linear-gradient(transparent,rgba(214,172,87,.65),transparent);
  opacity:.5;
}
.cefp-page .cefp-intro,
.cefp-page .cefp-programmes,
.cefp-page .quality-section,
.cefp-page .approach,
.cefp-page .cefp-gallery-intro{
  position:relative;isolation:isolate;
}
.cefp-page .cefp-intro:before,
.cefp-page .quality-section:before,
.cefp-page .approach:before{
  content:"";
  position:absolute;left:7vw;right:7vw;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(38,116,111,.24),transparent);
}
.cefp-page .cefp-intro:after{
  content:"CEFP / PROFESSIONAL DEVELOPMENT";
  position:absolute;right:7vw;top:34px;
  font:500 9px var(--mono);letter-spacing:.18em;color:rgba(23,58,61,.32);
}
.cefp-page .cefp-values{
  position:relative;overflow:hidden;
}
.cefp-page .cefp-values:after{
  content:"";
  position:absolute;left:-20%;top:0;width:20%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);
  transform:skewX(-18deg);
  animation:cefpValueSweep 7s ease-in-out infinite;
  pointer-events:none;
}
.cefp-page .cefp-programmes:after{
  content:"02";
  position:absolute;right:7vw;bottom:-40px;
  font:700 190px/.8 var(--sans);letter-spacing:-.08em;
  color:rgba(38,116,111,.035);pointer-events:none;
}
.cefp-page .programme-grid article,
.cefp-page .quality-grid article,
.cefp-page .cefp-range-card,
.cefp-page .cefp-sector-card{
  position:relative;overflow:hidden;
}
.cefp-page .programme-grid article:before,
.cefp-page .quality-grid article:before,
.cefp-page .cefp-range-card:before,
.cefp-page .cefp-sector-card:before{
  content:"";
  position:absolute;left:0;top:0;width:0;height:2px;
  background:linear-gradient(90deg,var(--cefp-teal),var(--cefp-gold));
  transition:width .45s ease;
}
.cefp-page .programme-grid article:hover:before,
.cefp-page .quality-grid article:hover:before,
.cefp-page .cefp-range-card:hover:before,
.cefp-page .cefp-sector-card:hover:before{width:100%}
.cefp-page .cefp-range{
  position:relative;isolation:isolate;overflow:hidden;
}
.cefp-page .cefp-range:before{
  content:"";
  position:absolute;inset:0;z-index:-1;opacity:.45;
  background:
    linear-gradient(90deg,rgba(23,58,61,.035) 1px,transparent 1px),
    linear-gradient(rgba(23,58,61,.035) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:linear-gradient(to bottom,transparent,black 20%,black 80%,transparent);
}
.cefp-page .cefp-range-head{position:relative}
.cefp-page .cefp-range-head:after{
  content:"09 TRAINING FAMILIES";
  position:absolute;right:0;bottom:2px;
  font:500 9px var(--mono);letter-spacing:.18em;color:#83918f;
}
.cefp-page .cefp-range-card{
  background:rgba(255,255,255,.72)!important;
  backdrop-filter:blur(8px);
}
.cefp-page .cefp-range-card .cefp-range-icon{
  transition:transform .4s ease;
}
.cefp-page .cefp-range-card:hover .cefp-range-icon{transform:translateY(-4px) rotate(8deg)}
.cefp-page .tools-section{
  position:relative;isolation:isolate;overflow:hidden;
}
.cefp-page .tools-section:after{
  content:"";
  position:absolute;inset:-30% 55% -30% -10%;
  border:1px solid rgba(214,172,87,.12);
  transform:rotate(-18deg);
  box-shadow:0 0 0 34px rgba(214,172,87,.025),0 0 0 68px rgba(255,255,255,.015);
  pointer-events:none;
}
.cefp-page .tool-tags span{
  position:relative;overflow:hidden;
}
.cefp-page .tool-tags span:after{
  content:"";
  position:absolute;left:-120%;top:0;width:80%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),transparent);
  transform:skewX(-18deg);
  transition:left .7s ease;
}
.cefp-page .tool-tags span:hover:after{left:130%}
.cefp-page .cefp-visual-section{
  position:relative;overflow:hidden;
}
.cefp-page .cefp-visual-section:before{
  content:"FIELD / 03";
  position:absolute;right:7vw;top:34px;
  font:500 9px var(--mono);letter-spacing:.2em;color:rgba(23,58,61,.34);
}
.cefp-page .cefp-sector-grid{position:relative}
.cefp-page .cefp-sector-card{
  transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease;
}
.cefp-page .cefp-sector-card:hover{
  transform:translateY(-9px);
  box-shadow:0 28px 65px rgba(23,58,61,.15);
}
.cefp-page .cefp-sector-card .cefp-sector-num{
  transition:letter-spacing .4s ease;color:#9a793e;
}
.cefp-page .cefp-sector-card:hover .cefp-sector-num{letter-spacing:.14em}
.cefp-page .cefp-data-card{
  position:relative;overflow:hidden;
}
.cefp-page .cefp-data-card:before{
  content:"LIVE / TRAINING SYSTEM";
  position:absolute;right:22px;top:20px;
  font:500 8px var(--mono);letter-spacing:.16em;color:rgba(255,255,255,.34);
}
.cefp-page .cefp-data-card.light:before{color:rgba(23,58,61,.34)}
.cefp-page .cefp-chart .cefp-bar{
  transition:filter .3s ease,transform .3s ease;
}
.cefp-page .cefp-chart .cefp-bar:hover{filter:brightness(1.12);transform:translateY(-4px)}
.cefp-page .cefp-map{
  position:relative;
}
.cefp-page .cefp-map:after{
  content:"CONNECTED SYSTEM";
  position:absolute;left:14px;bottom:10px;
  font:500 8px var(--mono);letter-spacing:.16em;color:rgba(23,58,61,.42);
}
.cefp-page .cefp-trusted{
  position:relative;isolation:isolate;
}
.cefp-page .cefp-trusted:after{
  content:"FIELD PROOF";
  border-radius:0;
  width:260px;height:260px;
  right:6vw;top:8%;
  opacity:.8;
  animation:cefpOrbit 20s linear infinite;
}
.cefp-page .cefp-trusted-head:after{
  content:"04 / FIELD PROOF";
  display:block;margin-top:28px;
  font:500 9px var(--mono);letter-spacing:.2em;color:rgba(241,210,123,.52);
}
.cefp-page .approach-card{
  position:relative;overflow:hidden;
}
.cefp-page .approach-card:before{
  content:"05";
  position:absolute;right:24px;top:15px;
  font:700 80px/.8 var(--sans);color:rgba(38,116,111,.06);
}
.cefp-page .community-art{
  position:relative;isolation:isolate;
}
.cefp-page .community-art:before{
  content:"";
  position:absolute;inset:14%;border:1px solid rgba(214,172,87,.25);
  transform:rotate(45deg);
  animation:cefpDiamond 16s linear infinite;
}
.cefp-page .cefp-gallery-intro:after{
  content:"06 / ARCHIVE";
  position:absolute;right:0;top:120px;
  font:500 9px var(--mono);letter-spacing:.2em;color:rgba(23,58,61,.35);
}
.cefp-page .gallery-grid img{
  transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .6s ease,box-shadow .6s ease;
}
.cefp-page .gallery-grid img:hover{
  transform:translateY(-6px) scale(1.018);
  box-shadow:0 25px 60px rgba(23,58,61,.16);
}
.cefp-page .cefp-contact{
  position:relative;isolation:isolate;overflow:hidden;
}
.cefp-page .cefp-contact:before{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.05) 50%,transparent 50.1%),
    linear-gradient(0deg,transparent 49.9%,rgba(255,255,255,.04) 50%,transparent 50.1%);
  background-size:100% 100%,100% 100%;
  opacity:.5;pointer-events:none;
}
.cefp-page .cefp-contact:after{
  content:"CEFP / 16+ YEARS OF EXPERIENCE";
  position:absolute;right:7vw;bottom:30px;
  font:500 9px var(--mono);letter-spacing:.18em;color:rgba(255,255,255,.28);
}
@keyframes cefpSystemSweep{
  0%,55%{background-position:0 0,0 0,-110% 0}
  75%,100%{background-position:0 0,0 0,110% 0}
}
@keyframes cefpValueSweep{
  0%,55%{left:-25%}75%,100%{left:125%}
}
@keyframes cefpOrbit{to{transform:rotate(360deg)}}
@keyframes cefpDiamond{to{transform:rotate(405deg)}}
@media(max-width:900px){
  .cefp-page .cefp-hero>div:first-child:after,
  .cefp-page .cefp-intro:after,
  .cefp-page .cefp-visual-section:before,
  .cefp-page .cefp-gallery-intro:after,
  .cefp-page .cefp-range-head:after{display:none}
  .cefp-page .cefp-hero:before{right:-260px;top:-210px;opacity:.55}
  .cefp-page .cefp-trusted:after{right:-80px;opacity:.45}
}
@media(max-width:620px){
  .cefp-page .cefp-hero-art:before{background-size:100% 100%,100% 100%,330% 100%}
  .cefp-page .cefp-contact:after{right:24px;bottom:18px;font-size:8px}
}
@media(prefers-reduced-motion:reduce){
  .cefp-page .cefp-hero-art:before,
  .cefp-page .cefp-values:after,
  .cefp-page .cefp-trusted:after,
  .cefp-page .community-art:before{animation:none!important}
}