/* GES — Home Page CSS */

/* ?? Hero ?? */
.hero{background:linear-gradient(140deg,var(--navy-dk) 0%,var(--navy) 58%,#2a4599 100%);min-height:calc(100vh - 112px);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;padding:72px 0 0}
.hero-bg{position:absolute;inset:0;pointer-events:none}
.h-orb{position:absolute;border-radius:50%}
.h-orb1{width:560px;height:560px;top:-190px;right:-130px;background:rgba(201,168,76,.07);animation:float 8s ease-in-out infinite}
.h-orb2{width:380px;height:380px;bottom:-140px;left:-90px;background:rgba(255,255,255,.04);animation:float 10s ease-in-out infinite reverse}
.h-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:28px 28px}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative;z-index:1}
.hero-pill{margin-bottom:18px}
.hero-h1{color:#fff;font-size:clamp(2.4rem,5vw,3.7rem);line-height:1.1;margin-bottom:18px}
.h-gold{background:linear-gradient(90deg,var(--gold),var(--gold-lt),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% auto;animation:shimmer 3s linear infinite}
.hero-sub{color:rgba(255,255,255,.8);font-size:1.08rem;max-width:490px;margin-bottom:32px;line-height:1.75}
.hero-acts{display:flex;gap:13px;flex-wrap:wrap;margin-bottom:42px}
.hero-stats{display:flex;align-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:18px 26px;backdrop-filter:blur(8px)}
.hs-item{text-align:center;flex:1}
.hs-item strong{display:block;font-family:var(--fh);font-size:1.75rem;font-weight:900;color:var(--gold);line-height:1}
.hs-item span{font-size:.72rem;color:rgba(255,255,255,.58);text-transform:uppercase;letter-spacing:.07em;display:block;margin-top:3px}
.hs-div{width:1px;height:38px;background:rgba(255,255,255,.13);flex-shrink:0;margin:0 2px}
.hero-visual{position:relative;display:flex;align-items:center;justify-content:center}
.hv-main{background:rgba(255,255,255,.08);border:1px solid rgba(201,168,76,.3);border-radius:20px;padding:36px;text-align:center;backdrop-filter:blur(18px);position:relative;z-index:1;animation:float 6s ease-in-out infinite}
.hv-logo{height:190px;width:auto;margin:0 auto 18px}
.hv-badges{display:flex;gap:9px;justify-content:center;flex-wrap:wrap}
.hv-float{position:absolute;background:#fff;border-radius:12px;padding:12px 16px;box-shadow:0 12px 40px rgba(27,43,107,.22);display:flex;gap:11px;align-items:center;z-index:2;min-width:172px}
.hv-float div{line-height:1.3}
.hv-float strong{display:block;font-size:.87rem;font-weight:700;color:var(--navy)}
.hv-float span{font-size:.75rem;color:var(--gray-5)}
.f1{top:8px;left:-24px;animation:float 5s ease-in-out infinite .4s}
.f2{top:50%;right:-24px;transform:translateY(-50%);animation:float 5.5s ease-in-out infinite .9s}
.f3{bottom:8px;left:4px;animation:float 6s ease-in-out infinite 1.4s}
.hero-wave{margin-top:56px}
.hero-wave svg{width:100%;height:56px;display:block}

/* ?? Highlight cards ?? */
.hl-card{background:#fff;border-radius:20px;padding:30px 26px;box-shadow:var(--sh-sm);transition:var(--t);position:relative;overflow:hidden}
.hl-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--navy),var(--gold));transform:scaleX(0);transition:var(--t);transform-origin:left}
.hl-card:hover{box-shadow:var(--sh-md);transform:translateY(-5px)}
.hl-card:hover::before{transform:scaleX(1)}
.hl-icon{width:54px;height:54px;border-radius:12px;background:rgba(27,43,107,.08);display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--c,var(--navy));transition:var(--t)}
.hl-card:hover .hl-icon{background:var(--c,var(--navy));color:#fff}
.hl-card h3{font-size:1.1rem;margin-bottom:10px}
.hl-card p{font-size:.88rem;color:var(--gray-5);line-height:1.7}
.hl-lnk{display:inline-block;margin-top:14px;font-size:.85rem;font-weight:600;color:var(--navy);transition:var(--t)}
.hl-lnk:hover{color:var(--gold)}

/* ?? About preview ?? */
.ap-media{position:relative;height:400px}
.ap-main{border-radius:20px;overflow:hidden;height:360px;box-shadow:var(--sh-lg);background:linear-gradient(135deg,var(--navy),var(--navy-lt));display:flex;align-items:center;justify-content:center}
.ap-inner{text-align:center}
.ap-badge{position:absolute;bottom:-14px;right:-14px;background:var(--gold);border-radius:12px;padding:18px 22px;text-align:center;box-shadow:var(--sh-md)}
.ap-yr{display:block;font-family:var(--fh);font-size:1.9rem;font-weight:900;color:var(--navy);line-height:1}
.ap-yt{display:block;font-size:.73rem;font-weight:700;color:var(--navy);opacity:.65;text-transform:uppercase;letter-spacing:.1em}
.ap-stat{position:absolute;top:-14px;left:-14px;background:#fff;border-radius:12px;padding:12px 16px;box-shadow:var(--sh-md);display:flex;gap:11px;align-items:center}
.ap-stat div{line-height:1.3}
.ap-stat strong{display:block;font-size:1.1rem;font-weight:700;color:var(--navy)}
.ap-stat span{font-size:.72rem;color:var(--gray-5)}
.av-list{margin-top:24px;display:flex;flex-direction:column;gap:13px}
.av-item{display:flex;gap:13px;align-items:flex-start;padding:13px;border-radius:12px;background:var(--cream);transition:var(--t)}
.av-item:hover{background:var(--gold-pale)}
.av-ico{color:var(--gold);font-size:.95rem;margin-top:2px;flex-shrink:0}
.av-item strong{display:block;color:var(--navy);font-size:.92rem;margin-bottom:2px}
.av-item p{font-size:.82rem;color:var(--gray-5);margin:0}

/* ?? Stats band ?? */
.stats-band{background:linear-gradient(135deg,var(--navy-dk),var(--navy));padding:56px 0}
.sb-grid{display:grid;grid-template-columns:repeat(5,1fr);border-left:1px solid rgba(255,255,255,.1)}
.sb-item{text-align:center;padding:18px;border-right:1px solid rgba(255,255,255,.1);position:relative;cursor:default}
.sb-item::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:3px;background:var(--gold);transition:width .4s}
.sb-item:hover::after{width:55%}
.sb-n{font-family:var(--fh);font-size:2.6rem;font-weight:900;color:var(--gold);line-height:1;margin-bottom:7px}
.sb-l{font-size:.78rem;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.1em}

/* ?? Programme cards ?? */
.prog-card{background:#fff;border-radius:20px;padding:30px 22px;box-shadow:var(--sh-sm);text-align:center;transition:var(--t);border-bottom:3px solid var(--gray-2)}
.prog-card:hover{box-shadow:var(--sh-md);transform:translateY(-5px);border-bottom-color:var(--gold)}
.pc-ico{width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 18px;transition:var(--t)}
.prog-card:hover .pc-ico{transform:scale(1.1) rotate(6deg)}
.prog-card h3{font-size:1.15rem;margin-bottom:10px}
.prog-card p{font-size:.87rem;color:var(--gray-5)}

/* ?? Why grid ?? */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}
.why-item{background:#fff;border-radius:20px;padding:30px 26px;box-shadow:var(--sh-sm);display:flex;gap:18px;transition:var(--t);align-items:flex-start}
.why-item:hover{box-shadow:var(--sh-md);transform:translateY(-4px)}
.wi-num{font-family:var(--fh);font-size:2.4rem;font-weight:900;color:var(--gold-pale);line-height:1;flex-shrink:0;min-width:52px;transition:color .3s}
.why-item:hover .wi-num{color:var(--gold)}
.why-item h3{font-size:1rem;margin-bottom:7px}
.why-item p{font-size:.85rem;color:var(--gray-5);line-height:1.7;margin:0}

/* ?? Testimonial carousel ?? */
.tcar{max-width:780px;margin:0 auto}
.tcar-slide{display:none}
.tcar-slide.on{display:block;animation:fadeUp .5s ease}
.tcar-card{background:var(--cream);border-radius:20px;padding:44px 50px;text-align:center;box-shadow:var(--sh-sm);border:1px solid var(--gold-pale)}
.tq{font-family:var(--fh);font-size:5.5rem;line-height:.45;color:var(--gold-pale);margin-bottom:20px;display:block}
.tcar-card>p{font-family:var(--fi);font-size:1.18rem;font-style:italic;color:var(--text);line-height:1.7;margin-bottom:28px}
.tcar-auth{display:flex;align-items:center;justify-content:center;gap:13px;flex-wrap:wrap}
.tcar-auth strong{display:block;font-size:.96rem;color:var(--navy)}
.tcar-auth span{font-size:.82rem;color:var(--gray-5)}
.tc-s{color:var(--gold);font-size:.95rem;letter-spacing:2px}
.tcar-dots{display:flex;justify-content:center;gap:7px;margin-top:18px}
.tcar-dot{width:9px;height:9px;border-radius:50%;background:var(--gray-2);border:none;cursor:pointer;transition:var(--t)}
.tcar-dot.on{background:var(--gold);transform:scale(1.3)}

/* ?? Gallery preview ?? */
.gpg{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:195px 195px;gap:14px;margin-top:36px}
.gp-item{border-radius:16px;overflow:hidden}
.gp-big{grid-row:span 2}
.gp-ph{height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;transition:var(--t);cursor:pointer}
.gp-ph:hover{filter:brightness(1.18)}
.gp-ph span{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.65));color:#fff;padding:16px 14px 10px;font-size:.82rem;font-weight:600}

/* ?? News cards ?? */
.sec-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:36px;flex-wrap:wrap}
.news-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--sh-sm);transition:var(--t)}
.news-card:hover{box-shadow:var(--sh-md);transform:translateY(-4px)}
.nc-date{background:var(--navy);color:var(--gold);padding:9px 18px;font-size:.78rem;font-weight:700;letter-spacing:.06em}
.nc-body{padding:22px}
.nc-body h3{font-size:1rem;margin-bottom:8px}
.nc-body p{font-size:.86rem;color:var(--gray-5)}

/* ?? Responsive ?? */
@media(max-width:1024px){.hero-inner{grid-template-columns:1fr}.hero-visual{display:none}.why-grid{grid-template-columns:repeat(2,1fr)}.sb-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.hero{padding:50px 0 0;min-height:auto}.hero-stats{flex-wrap:wrap;gap:14px}.hs-div{display:none}.why-grid{grid-template-columns:1fr}.sb-grid{grid-template-columns:repeat(2,1fr)}.gpg{grid-template-columns:1fr 1fr;grid-template-rows:auto}.gp-big{grid-row:auto;grid-column:span 2}.tcar-card{padding:28px 22px}}
