/* CCCS Elite refinement layer — contrast-safe, premium, lightweight */

:root{
  --elite-deep:#042f35;
  --elite-deeper:#021f25;
  --elite-teal:#16b8a7;
  --elite-cyan:#4dd8ef;
  --elite-lime:#b7ee5a;
  --elite-glass:rgba(255,255,255,.085);
  --elite-border:rgba(255,255,255,.14);
  --elite-shadow:0 38px 110px rgba(2,31,37,.22);
  --elite-ease:cubic-bezier(.2,.78,.2,1);
}

/* Premium baseline */
body.elite-site{background:
  radial-gradient(circle at 8% 9%,color-mix(in srgb,var(--brand) 5%,transparent),transparent 28%),
  radial-gradient(circle at 92% 34%,color-mix(in srgb,var(--brand-2) 5%,transparent),transparent 26%),
  var(--bg);
}
.elite-site .container{width:min(calc(100% - 48px),1280px)}
.elite-site .section{padding-block:clamp(92px,8vw,132px)}
.elite-site .section-heading{margin-bottom:clamp(38px,5vw,66px)}
.elite-site .section-heading h2{max-width:820px;letter-spacing:-.04em;line-height:1.04}
.elite-site .section-heading>p{max-width:630px;font-size:clamp(15px,1.3vw,18px);line-height:1.75}
.elite-site .site-header{border:1px solid color-mix(in srgb,var(--line) 76%,transparent)}
.elite-site .site-header.scrolled{box-shadow:0 22px 60px rgba(3,42,49,.13)}
.elite-site .primary-nav a{letter-spacing:-.01em}
.elite-site .button{border-radius:999px;padding-inline:24px}
.elite-site .button:focus-visible,
.elite-site a:focus-visible,
.elite-site button:focus-visible,
.elite-site input:focus-visible,
.elite-site select:focus-visible,
.elite-site textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-2) 45%,transparent);outline-offset:4px}

/* The content source site contains a large amount of unfinished template material.
   This redesign intentionally keeps only validated CCCS institutional content. */

/* Impact / delivery experience */
.impact-elite{
  overflow:hidden;
  background:
    radial-gradient(circle at 86% 18%,rgba(77,216,239,.09),transparent 27%),
    radial-gradient(circle at 12% 88%,rgba(183,238,90,.08),transparent 29%),
    linear-gradient(180deg,var(--bg),color-mix(in srgb,var(--surface-2) 65%,var(--bg)));
}
.impact-elite::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.32;
  background-image:linear-gradient(color-mix(in srgb,var(--line) 32%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--line) 32%,transparent) 1px,transparent 1px);
  background-size:64px 64px;mask-image:linear-gradient(to bottom,transparent,black 18%,black 82%,transparent);
}
.impact-elite>.container{position:relative;z-index:1}
.impact-heading{align-items:end}
.impact-stage{
  --spot-x:70%;--spot-y:28%;
  position:relative;display:grid;grid-template-columns:minmax(330px,.86fr) minmax(0,1.58fr);min-height:690px;
  border-radius:42px;overflow:hidden;isolation:isolate;background:
    radial-gradient(circle at var(--spot-x) var(--spot-y),rgba(77,216,239,.17),transparent 31%),
    linear-gradient(135deg,#032f38 0%,#07545b 47%,#0b5e55 100%);
  border:1px solid rgba(255,255,255,.14);box-shadow:var(--elite-shadow);
}
.impact-stage::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(120deg,transparent 0 46%,rgba(255,255,255,.055) 46.1% 46.3%,transparent 46.4% 100%);
}
.impact-stage::after{
  content:"";position:absolute;inset:-42%;z-index:-2;pointer-events:none;
  background:conic-gradient(from 20deg,transparent,rgba(183,238,90,.09),transparent 25%,rgba(77,216,239,.08),transparent 55%);
  animation:eliteStageGlow 24s linear infinite;
}
@keyframes eliteStageGlow{to{transform:rotate(360deg)}}

.impact-lead-panel{
  position:relative;min-width:0;padding:clamp(38px,4vw,64px);display:flex;flex-direction:column;justify-content:center;
  color:#fff;background:linear-gradient(145deg,rgba(1,35,43,.95),rgba(4,75,84,.84));
  border-right:1px solid rgba(255,255,255,.11);overflow:hidden;
}
.impact-lead-panel::before{
  content:"";position:absolute;inset:auto auto -180px -150px;width:430px;height:430px;border-radius:50%;
  border:1px solid rgba(183,238,90,.14);box-shadow:0 0 0 44px rgba(183,238,90,.025),0 0 0 88px rgba(77,216,239,.018);pointer-events:none;
}
.impact-lead-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:42px}
.impact-overline{font-size:11px;line-height:1;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--elite-lime)}
.impact-since{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:800;color:rgba(255,255,255,.68);white-space:nowrap}
.impact-since i{width:7px;height:7px;border-radius:50%;background:var(--elite-lime);box-shadow:0 0 0 6px rgba(183,238,90,.1);animation:elitePulse 2.2s ease-in-out infinite}
@keyframes elitePulse{50%{box-shadow:0 0 0 10px rgba(183,238,90,0);transform:scale(.88)}}
.impact-lead-panel h3{position:relative;z-index:2;margin:0 0 24px;max-width:560px;font-size:clamp(38px,4vw,66px);line-height:1.01;letter-spacing:-.055em;text-wrap:balance}
.impact-lead-panel>p{position:relative;z-index:2;margin:0;max-width:560px;color:rgba(234,255,255,.73);font-size:clamp(15px,1.35vw,18px);line-height:1.75}
.impact-principles{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:9px;margin:30px 0 34px}
.impact-principles span{padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06);font-size:10px;font-weight:850;letter-spacing:.04em;color:#e7ffff}
.button-impact{position:relative;z-index:3;align-self:flex-start;background:#fff;color:#063b43;box-shadow:0 18px 44px rgba(0,0,0,.18)}
.button-impact:hover{background:var(--elite-lime);color:#15310a;box-shadow:0 22px 50px rgba(183,238,90,.18)}

.impact-orbit{position:absolute;right:-118px;bottom:-126px;width:330px;height:330px;opacity:.48;pointer-events:none}
.impact-orbit-ring{position:absolute;inset:0;border:1px solid rgba(255,255,255,.18);border-radius:50%}
.impact-orbit .ring-b{inset:48px;animation:eliteOrbit 13s linear infinite reverse}
.impact-orbit .ring-a{animation:eliteOrbit 18s linear infinite}
@keyframes eliteOrbit{to{transform:rotate(360deg)}}
.impact-orbit-core{position:absolute;inset:112px;display:grid;place-items:center;border-radius:50%;background:rgba(183,238,90,.14);border:1px solid rgba(183,238,90,.32);color:#e8ffc5;font-size:12px;font-weight:950;letter-spacing:.14em}
.impact-orbit-node{position:absolute;width:11px;height:11px;border-radius:50%;background:#fff;box-shadow:0 0 0 7px rgba(255,255,255,.07)}
.impact-orbit .node-a{left:22px;top:154px}.impact-orbit .node-b{right:47px;top:43px}.impact-orbit .node-c{right:30px;bottom:72px;background:var(--elite-lime)}

.impact-capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:stretch}
.impact-capability{
  --card-x:50%;--card-y:50%;position:relative;min-width:0;padding:clamp(31px,3.2vw,48px);color:#fff;
  border-right:1px solid rgba(255,255,255,.11);border-bottom:1px solid rgba(255,255,255,.11);
  background:
    radial-gradient(circle at var(--card-x) var(--card-y),rgba(255,255,255,.11),transparent 39%),
    rgba(255,255,255,.028);
  overflow:hidden;transition:background .45s ease,transform .45s var(--elite-ease),box-shadow .45s ease;
}
.impact-capability:nth-child(2n){border-right:0}
.impact-capability:nth-last-child(-n+2){border-bottom:0}
.impact-capability::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .45s ease;
  background:linear-gradient(130deg,rgba(183,238,90,.12),transparent 40%,rgba(77,216,239,.1));
}
.impact-capability:hover,.impact-capability:focus-within{
  transform:translateY(-2px);background:
    radial-gradient(circle at var(--card-x) var(--card-y),rgba(77,216,239,.18),transparent 42%),
    rgba(255,255,255,.09);box-shadow:inset 0 0 0 1px rgba(183,238,90,.14);
}
.impact-capability:hover::before,.impact-capability:focus-within::before{opacity:1}
.capability-head{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:34px}
.capability-number{font-size:12px;font-weight:950;letter-spacing:.13em;color:var(--elite-lime)}
.capability-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.11);transition:transform .45s var(--elite-ease),background .45s ease}
.capability-icon svg{width:23px;height:23px;fill:none;stroke:#dffeff;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.impact-capability:hover .capability-icon{transform:translateY(-4px) rotate(-3deg);background:rgba(183,238,90,.13)}
.impact-capability h3{position:relative;z-index:2;margin:0 0 13px;color:#fff!important;font-size:clamp(22px,2vw,31px);line-height:1.08;letter-spacing:-.035em}
.impact-capability p{position:relative;z-index:2;margin:0;max-width:430px;color:rgba(229,251,252,.72)!important;font-size:13px;line-height:1.7}
.capability-line{position:absolute;left:clamp(31px,3.2vw,48px);right:clamp(31px,3.2vw,48px);bottom:0;height:3px;background:linear-gradient(90deg,var(--elite-lime),var(--elite-cyan));transform:scaleX(0);transform-origin:left;transition:transform .55s var(--elite-ease)}
.impact-capability:hover .capability-line{transform:scaleX(1)}

/* Explicit contrast protection against inherited legacy hover rules. */
.impact-elite .impact-capability:hover,
.impact-elite .impact-capability:focus-within{color:#fff!important}
.impact-elite .impact-capability:hover h3,
.impact-elite .impact-capability:hover p,
.impact-elite .impact-capability:hover strong,
.impact-elite .impact-capability:focus-within h3,
.impact-elite .impact-capability:focus-within p{opacity:1!important;visibility:visible!important;color:#fff!important}
.impact-elite .impact-capability:hover p,
.impact-elite .impact-capability:focus-within p{color:rgba(229,251,252,.78)!important}

/* Programme cards: less template-like, more editorial. */
.elite-site .programme-card{min-height:320px;border-radius:30px;padding:30px;box-shadow:0 20px 56px rgba(2,40,47,.08)}
.elite-site .programme-card>span{font-size:46px!important;top:20px!important;right:24px!important;color:color-mix(in srgb,var(--brand) 8%,transparent)!important}
.elite-site .programme-card h3{font-size:22px;line-height:1.15;max-width:90%}
.elite-site .programme-card p{line-height:1.7}
.elite-site .programme-card:hover{transform:translateY(-9px);border-color:color-mix(in srgb,var(--brand) 25%,var(--line))}
.elite-site .programme-filter{padding:7px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface) 90%,transparent);box-shadow:0 14px 34px rgba(3,45,52,.07)}
.elite-site .programme-filter button{border-radius:999px;padding-inline:18px}

/* Leadership and CTA refinement */
.elite-site .leadership-profile{overflow:hidden}
.elite-site .leader-photo::after{content:"";position:absolute;inset:auto 0 0;height:35%;z-index:1;background:linear-gradient(transparent,rgba(1,29,35,.34));pointer-events:none}
.elite-site .leader-photo figcaption{z-index:2}
.elite-site .collaborate-shell{border-radius:38px}
.elite-site .collaborate-options a{border-radius:20px}
.elite-site .contact-form{border-radius:34px}

/* Footer cleanup after resources removal */
.elite-site .site-footer{background:linear-gradient(145deg,#021f25,#063d42 54%,#064037)}
.elite-site .footer-grid a{transition:color .25s ease,transform .25s ease}
.elite-site .footer-grid a:hover{transform:translateX(4px)}

html[data-theme="dark"] .impact-elite{background:
  radial-gradient(circle at 86% 18%,rgba(77,216,239,.07),transparent 27%),
  radial-gradient(circle at 12% 88%,rgba(183,238,90,.055),transparent 29%),
  linear-gradient(180deg,#071316,#091c20);
}
html[data-theme="dark"] .elite-site .programme-filter{background:rgba(13,29,33,.82)}

@media(max-width:1080px){
  .impact-stage{grid-template-columns:1fr;min-height:0}
  .impact-lead-panel{min-height:560px;border-right:0;border-bottom:1px solid rgba(255,255,255,.11)}
  .impact-orbit{right:-45px;bottom:-115px}
}
@media(max-width:760px){
  .elite-site .container{width:min(calc(100% - 28px),1280px)}
  .elite-site .section{padding-block:78px}
  .impact-heading{display:grid;gap:18px}
  .impact-stage{border-radius:28px}
  .impact-lead-panel{min-height:520px;padding:34px 26px}
  .impact-lead-top{align-items:flex-start;flex-direction:column;margin-bottom:30px}
  .impact-lead-panel h3{font-size:clamp(38px,12vw,54px)}
  .impact-principles{margin-block:24px 28px}
  .impact-orbit{width:250px;height:250px;right:-90px;bottom:-90px}
  .impact-orbit-core{inset:82px}
  .impact-capability-grid{grid-template-columns:1fr}
  .impact-capability{padding:30px 26px;border-right:0;border-bottom:1px solid rgba(255,255,255,.11)!important;min-height:235px}
  .impact-capability:last-child{border-bottom:0!important}
  .capability-line{left:26px;right:26px}
  .elite-site .programme-filter{border-radius:24px}
}
@media(max-width:480px){
  .impact-lead-panel{min-height:560px}
  .button-impact{width:100%}
  .impact-principles span{font-size:9px}
  .elite-site .programme-card{min-height:300px;padding:26px}
}
@media(prefers-reduced-motion:reduce){
  .impact-stage::after,.impact-since i,.impact-orbit-ring{animation:none!important}
  .impact-capability,.capability-icon,.capability-line{transition:none!important}
  .impact-capability:hover{transform:none}
}
