
:root{
  --cp-navy:#071525;
  --cp-navy-2:#0b2036;
  --cp-blue:#1167e8;
  --cp-blue-2:#0b4fb3;
  --cp-cyan:#2fb9ff;
  --cp-white:#fff;
  --cp-bg:#f6f8fb;
  --cp-text:#152235;
  --cp-muted:#687587;
  --cp-border:#e7ebf0;
  --cp-shadow:0 18px 50px rgba(7,21,37,.10);
}

.cp-home{
  color:var(--cp-text);
  background:#fff;
  font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;
  overflow:hidden;
}

.cp-home *{box-sizing:border-box}
.cp-home img{max-width:100%}
.cp-home a{text-decoration:none}
.cp-section{padding:105px 0}
.cp-label{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--cp-blue);
  font-size:12px;
  font-weight:800;
  letter-spacing:2px;
  text-transform:uppercase;
  margin-bottom:14px;
}
.cp-label:before{
  content:"";
  width:28px;height:2px;background:var(--cp-blue);
}
.cp-label-light{color:#9bdcff}
.cp-label-light:before{background:#2fb9ff}
.cp-heading-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:30px;
  margin-bottom:48px;
}
.cp-heading-row h2,
.cp-content-block h2{
  margin:0;
  font-size:clamp(32px,4vw,50px);
  line-height:1.08;
  font-weight:800;
  letter-spacing:-1.8px;
  color:var(--cp-navy);
}
.cp-heading-row h2 em,
.cp-content-block h2 em,
.cp-programmes h2 em,
.cp-cta h2 em{
  color:var(--cp-blue);
  font-style:normal;
}

/* HERO */
.cp-hero{
  position:relative;
  min-height:650px;
  display:flex;
  align-items:center;
  color:#fff;
  overflow:hidden;
  background:#06111f;
}
.cp-hero-slides,
.cp-hero-slides span,
.cp-hero-shade{
  position:absolute;inset:0;
}
.cp-hero-slides span{
  background-size:cover;
  background-position:center;
  opacity:0;
  transform:scale(1);
  animation:cpHeroSlide 25s infinite;
}
.cp-hero-slides span:nth-child(2){animation-delay:5s}
.cp-hero-slides span:nth-child(3){animation-delay:10s}
.cp-hero-slides span:nth-child(4){animation-delay:15s}
.cp-hero-slides span:nth-child(5){animation-delay:20s}
@keyframes cpHeroSlide{
  0%{opacity:0;transform:scale(1)}
  7%{opacity:1}
  22%{opacity:1;transform:scale(1.06)}
  29%{opacity:0}
  100%{opacity:0}
}
.cp-hero-shade{
  z-index:1;
  background:
    linear-gradient(90deg,rgba(3,13,25,.94) 0%,rgba(4,17,31,.72) 48%,rgba(4,17,31,.20) 100%),
    linear-gradient(0deg,rgba(3,13,25,.62),transparent 45%);
}
.cp-hero-inner{position:relative;z-index:2;width:100%}
.cp-hero-copy{padding:85px 0 105px;max-width:720px}
.cp-eyebrow{
  display:flex;align-items:center;gap:12px;
  color:#bceaff;
  font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;
  margin-bottom:22px;
}
.cp-eyebrow span{width:35px;height:2px;background:var(--cp-cyan)}
.cp-hero h1{
  font-size:clamp(46px,6.2vw,82px);
  line-height:.98;
  letter-spacing:-3px;
  font-weight:300;
  margin:0 0 25px;
}
.cp-hero h1 strong{font-weight:800}
.cp-hero p{
  max-width:640px;
  color:#d7e0ea;
  font-size:17px;
  line-height:1.8;
  margin:0 0 32px;
}
.cp-hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.cp-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:13px;
  min-height:52px;padding:0 25px;border-radius:4px;
  font-size:13px;font-weight:800;letter-spacing:.3px;
  transition:.25s ease;
}
.cp-btn i{font-size:12px}
.cp-btn-primary{background:var(--cp-blue);color:#fff!important;box-shadow:0 12px 30px rgba(17,103,232,.30)}
.cp-btn-primary:hover{background:#2580ff;transform:translateY(-2px)}
.cp-btn-glass{border:1px solid rgba(255,255,255,.45);color:#fff!important;background:rgba(255,255,255,.07);backdrop-filter:blur(8px)}
.cp-btn-glass:hover{background:#fff;color:var(--cp-navy)!important}
.cp-hero-note{
  display:flex;align-items:center;gap:9px;
  margin-top:24px;color:#c8d5e2;font-size:13px;
}
.cp-hero-note i{color:#50c7ff}
.cp-hero-bottom{
  position:absolute;z-index:3;bottom:25px;left:0;width:100%;
}
.cp-hero-scroll{
  display:flex;align-items:center;gap:10px;
  color:rgba(255,255,255,.7);font-size:10px;text-transform:uppercase;letter-spacing:2px;
}
.cp-hero-scroll span{width:35px;height:1px;background:rgba(255,255,255,.5)}

/* QUICK ACCESS */
.cp-quick{position:relative;z-index:10;margin-top:-55px}
.cp-quick-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  background:#fff;box-shadow:var(--cp-shadow);border-radius:5px;overflow:hidden;
}
.cp-quick-card{
  position:relative;display:flex;align-items:center;gap:15px;
  padding:25px 22px;color:var(--cp-text);
  border-right:1px solid var(--cp-border);
  transition:.25s ease;
}
.cp-quick-card:last-child{border-right:0}
.cp-quick-card:hover{background:#f9fbfe;color:var(--cp-blue)}
.cp-icon{
  flex:0 0 48px;width:48px;height:48px;
  display:grid;place-items:center;border-radius:50%;
  color:var(--cp-blue);background:#eef5ff;font-size:18px;
}
.cp-quick-card b{display:block;font-size:13px;margin-bottom:4px}
.cp-quick-card small{display:block;color:#84909d;font-size:11px}
.cp-arrow{margin-left:auto;color:#a5afba;font-size:14px}

/* ABOUT */
.cp-about{padding-top:125px}
.cp-about-visual{position:relative;min-height:510px;margin-right:45px}
.cp-image-main{
  position:absolute;top:0;left:0;width:78%;height:420px;
  overflow:hidden;border-radius:5px;box-shadow:var(--cp-shadow);
}
.cp-image-main img{width:100%;height:100%;object-fit:cover;object-position:center top}
.cp-image-small{
  position:absolute;right:0;bottom:0;width:45%;height:225px;
  padding:8px;background:#fff;box-shadow:var(--cp-shadow);border-radius:5px;
}
.cp-image-small img{width:100%;height:100%;object-fit:cover}
.cp-experience{
  position:absolute;left:25px;bottom:42px;
  display:flex;align-items:center;gap:12px;
  background:var(--cp-blue);color:#fff;padding:18px 22px;
  box-shadow:0 12px 30px rgba(17,103,232,.25);
}
.cp-experience strong{font-size:24px;letter-spacing:1px}
.cp-experience span{font-size:10px;line-height:1.5;text-transform:uppercase;letter-spacing:1px}
.cp-content-block{padding-left:20px}
.cp-content-block .cp-lead{font-size:16px;line-height:1.9;color:var(--cp-muted);margin:25px 0}
.cp-check-list{display:grid;gap:13px;margin:25px 0 30px}
.cp-check-list div{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600}
.cp-check-list i{
  width:22px;height:22px;border-radius:50%;display:grid;place-items:center;
  background:#eaf3ff;color:var(--cp-blue);font-size:10px;
}
.cp-text-link,.cp-read{
  color:var(--cp-blue)!important;font-size:13px;font-weight:800;
  display:inline-flex;gap:10px;align-items:center;
}
.cp-text-link:hover,.cp-read:hover{gap:15px}

/* STATS */
.cp-stats{background:var(--cp-navy);color:#fff;position:relative}
.cp-stats:before{
  content:"";position:absolute;inset:0;opacity:.18;
  background:radial-gradient(circle at 20% 50%,#1d83ff,transparent 35%);
}
.cp-stats-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr)}
.cp-stat{text-align:center;padding:48px 20px;border-right:1px solid rgba(255,255,255,.10)}
.cp-stat:last-child{border-right:0}
.cp-stat strong{display:block;font-size:45px;line-height:1;font-weight:800;letter-spacing:-2px}
.cp-stat strong span{color:#3bbcff}
.cp-stat small{display:block;margin-top:10px;color:#aebdcb;font-size:11px;text-transform:uppercase;letter-spacing:1.5px}

/* SCHOOLS */
.cp-schools{background:#fff}
.cp-outline-link{
  color:var(--cp-text)!important;border-bottom:1px solid #ccd3db;
  padding-bottom:8px;font-size:12px;font-weight:800;
}
.cp-outline-link:hover{color:var(--cp-blue)!important;border-color:var(--cp-blue)}
.cp-school-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cp-school-card{
  position:relative;height:455px;overflow:hidden;border-radius:4px;background:#091726;
}
.cp-school-card img{width:100%;height:100%;object-fit:cover;transition:.6s ease}
.cp-school-card:hover img{transform:scale(1.06)}
.cp-school-overlay{
  position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(3,13,25,.94) 0%,rgba(3,13,25,.10) 65%);
}
.cp-school-content{position:absolute;left:30px;right:25px;bottom:28px;color:#fff}
.cp-school-content span{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:#a9dfff}
.cp-school-content h3{font-size:30px;text-transform:capitalize;margin:7px 0 16px;letter-spacing:-.5px}
.cp-school-content a{font-size:11px;font-weight:800;color:#fff!important;display:inline-flex;gap:10px;align-items:center}
.cp-school-content a i{color:#55caff}

/* PROGRAMMES */
.cp-programmes{
  padding:105px 0;
  color:#fff;background:
  linear-gradient(100deg,rgba(5,20,36,.98),rgba(7,37,65,.95)),
  url('images/admission.jpg') center/cover fixed;
}
.cp-programmes h2{font-size:clamp(34px,4vw,52px);line-height:1.05;letter-spacing:-1.8px;margin:0 0 20px}
.cp-programmes p{color:#b9c9d8;line-height:1.8;font-size:14px;max-width:480px}
.cp-btn-white{background:#fff;color:var(--cp-navy)!important;margin-top:17px}
.cp-btn-white:hover{background:#dff4ff;transform:translateY(-2px)}
.cp-programme-list{margin-left:60px;border-top:1px solid rgba(255,255,255,.18)}
.cp-programme-item{
  display:grid;grid-template-columns:55px 1fr 25px;gap:15px;
  align-items:center;padding:27px 0;border-bottom:1px solid rgba(255,255,255,.18);
}
.cp-number{font-size:12px;color:#59c9ff;font-weight:800}
.cp-programme-item h3{font-size:19px;margin:0 0 5px}
.cp-programme-item p{margin:0;font-size:12px;color:#9fb0bf}
.cp-programme-item>i{color:#55caff}

/* NEWS */
.cp-news{background:#f7f9fc}
.cp-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cp-news-card{background:#fff;border:1px solid var(--cp-border);transition:.25s ease}
.cp-news-card:hover{transform:translateY(-6px);box-shadow:var(--cp-shadow)}
.cp-news-image{height:225px;position:relative;overflow:hidden}
.cp-news-image img{width:100%;height:100%;object-fit:cover;transition:.5s}
.cp-news-card:hover .cp-news-image img{transform:scale(1.05)}
.cp-news-image>span{
  position:absolute;top:18px;left:18px;width:52px;height:58px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:#fff;color:var(--cp-navy);font-weight:800;font-size:18px;line-height:1;
}
.cp-news-image>span small{font-size:8px;letter-spacing:1px;margin-top:5px;color:var(--cp-blue)}
.cp-news-body{padding:25px}
.cp-news-body>small{color:var(--cp-blue);font-size:9px;font-weight:800;letter-spacing:1.5px}
.cp-news-body h3{font-size:19px;line-height:1.35;margin:9px 0 10px}
.cp-news-body h3 a{color:var(--cp-navy)}
.cp-news-body h3 a:hover{color:var(--cp-blue)}
.cp-news-body p{color:var(--cp-muted);font-size:13px;line-height:1.7;margin-bottom:18px}

/* GALLERY */
.cp-gallery{background:#fff}
.cp-gallery-controls{display:flex;gap:8px}
.cp-gallery-controls button{
  width:44px;height:44px;border:1px solid var(--cp-border);background:#fff;
  color:var(--cp-navy);cursor:pointer;transition:.2s;
}
.cp-gallery-controls button:hover{background:var(--cp-blue);color:#fff;border-color:var(--cp-blue)}
.cp-gallery-track{
  display:flex;gap:20px;overflow-x:auto;scrollbar-width:none;padding-bottom:5px;
  scroll-snap-type:x mandatory;
}
.cp-gallery-track::-webkit-scrollbar{display:none}
.cp-gallery-item{
  flex:0 0 370px;height:300px;position:relative;overflow:hidden;
  border-radius:4px;scroll-snap-align:start;background:#071525;
}
.cp-gallery-item img{width:100%;height:100%;object-fit:cover;transition:.5s}
.cp-gallery-item:hover img{transform:scale(1.07)}
.cp-gallery-item:after{
  content:"";position:absolute;inset:35% 0 0;
  background:linear-gradient(transparent,rgba(2,10,19,.92));
}
.cp-gallery-item>div{position:absolute;z-index:2;left:22px;right:15px;bottom:20px;color:#fff}
.cp-gallery-item b{display:block;font-size:17px;margin-bottom:4px}
.cp-gallery-item small{color:#b7c4cf;font-size:10px}

/* CTA */
.cp-cta{position:relative;overflow:hidden;background:var(--cp-blue);color:#fff;padding:78px 0}
.cp-cta-bg{
  position:absolute;inset:0;opacity:.18;
  background:url('images/admission.jpg') center/cover;
}
.cp-cta:after{
  content:"";position:absolute;width:450px;height:450px;border-radius:50%;
  right:-180px;top:-230px;border:80px solid rgba(255,255,255,.07);
}
.cp-cta-inner{
  position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:35px;
}
.cp-cta h2{font-size:clamp(35px,4.5vw,55px);line-height:1;letter-spacing:-2px;margin:0 0 15px}
.cp-cta h2 em{color:#bfeeff}
.cp-cta p{margin:0;color:#dcecff;font-size:14px}

/* RESPONSIVE */
@media(max-width:991px){
  .cp-section{padding:75px 0}
  .cp-quick-grid{grid-template-columns:repeat(2,1fr)}
  .cp-quick-card:nth-child(2){border-right:0}
  .cp-quick-card:nth-child(-n+2){border-bottom:1px solid var(--cp-border)}
  .cp-about-visual{margin:0 0 55px;min-height:480px}
  .cp-content-block{padding-left:0}
  .cp-programme-list{margin:50px 0 0}
  .cp-cta-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:767px){
  .cp-hero{min-height:650px}
  .cp-hero-copy{padding:75px 0 90px}
  .cp-hero h1{letter-spacing:-2px}
  .cp-hero p{font-size:15px}
  .cp-quick{margin-top:0;padding-top:15px}
  .cp-quick-grid{grid-template-columns:1fr}
  .cp-quick-card{border-right:0!important;border-bottom:1px solid var(--cp-border)!important}
  .cp-quick-card:last-child{border-bottom:0!important}
  .cp-heading-row{align-items:flex-start;flex-direction:column;margin-bottom:30px}
  .cp-heading-row h2{font-size:36px}
  .cp-about{padding-top:75px}
  .cp-about-visual{min-height:380px}
  .cp-image-main{height:315px;width:82%}
  .cp-image-small{height:170px;width:47%}
  .cp-experience{left:10px;bottom:25px;padding:14px 15px}
  .cp-stats-grid{grid-template-columns:repeat(2,1fr)}
  .cp-stat{padding:35px 10px;border-bottom:1px solid rgba(255,255,255,.1)}
  .cp-stat:nth-child(2){border-right:0}
  .cp-school-grid,.cp-news-grid{grid-template-columns:1fr}
  .cp-school-card{height:390px}
  .cp-programmes{padding:75px 0}
  .cp-programme-item{grid-template-columns:40px 1fr 18px}
  .cp-gallery-item{flex-basis:82vw;height:270px}
  .cp-btn-large{width:100%}
}
@media(max-width:420px){
  .cp-hero-actions{flex-direction:column;align-items:stretch}
  .cp-btn{width:100%}
  .cp-about-visual{min-height:330px}
  .cp-image-main{height:275px}
  .cp-image-small{height:145px}
  .cp-experience{bottom:12px}
}

/* Reduce motion accessibility */
@media(prefers-reduced-motion:reduce){
  .cp-hero-slides span{animation:none;opacity:0}
  .cp-hero-slides span:first-child{opacity:1}
  .cp-home *{scroll-behavior:auto!important;transition:none!important}
}
