
:root{
  --bg:#06070a;
  --bg2:#0c1017;
  --panel:rgba(14,18,25,.8);
  --panel-solid:#10141b;
  --line:rgba(255,255,255,.09);
  --text:#f7f7f2;
  --muted:#aeb5c0;
  --red:#df0e1d;
  --red2:#7f0912;
  --gold:#f3c542;
  --gold2:#a07d1f;
  --green:#22b08a;
  --max:1240px;
  --radius:26px;
  --shadow:0 18px 70px rgba(0,0,0,.35);
  --soft:0 10px 34px rgba(0,0,0,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:
    radial-gradient(circle at 10% 0%, rgba(223,14,29,.22), transparent 24%),
    radial-gradient(circle at 90% 8%, rgba(243,197,66,.16), transparent 23%),
    linear-gradient(180deg,#08090d,#090d13 22%,#07090d);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button,input,select{font:inherit}
.container{width:min(var(--max), calc(100% - 32px));margin:auto}
.muted{color:var(--muted)}
.kicker{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:#f4d67c;font-weight:800;
  background:rgba(243,197,66,.09);
  border:1px solid rgba(243,197,66,.16);
  padding:9px 12px;border-radius:999px;
}
.reveal{opacity:0;transform:translateY(24px);transition:all .7s ease}
.reveal.in{opacity:1;transform:none}
header{
  position:fixed;top:0;left:0;right:0;z-index:40;
  background:rgba(6,7,10,.55);backdrop-filter:blur(18px);
  border-bottom:1px solid transparent;
  transition:.25s ease;
}
header.scrolled{border-bottom-color:var(--line);background:rgba(6,7,10,.78)}
.nav{
  min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px
}
.brand{display:flex;align-items:center;gap:14px;font-weight:800}
.brand img{width:48px;height:48px;object-fit:contain;border-radius:12px;background:white;padding:2px;box-shadow:var(--soft)}
.brand span{display:block}
.brand small{display:block;color:#bfc5cd;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.nav-links{display:flex;gap:22px;align-items:center}
.nav-links a{color:#d8dbe1;font-size:14px;font-weight:600}
.nav-links a:hover{color:white}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:13px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.14);
  font-weight:800;transition:.22s ease; cursor:pointer;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,var(--red),#a40a15);color:white;border-color:transparent;box-shadow:0 10px 30px rgba(223,14,29,.28)}
.btn-secondary{background:rgba(255,255,255,.03)}
.btn-light{background:white;color:#111}
.menu-toggle{display:none}

.hero{
  position:relative;min-height:100vh;display:grid;align-items:end;padding:120px 0 60px;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(to top, rgba(6,7,10,.98) 6%, rgba(6,7,10,.72) 32%, rgba(6,7,10,.2) 58%, rgba(6,7,10,.45) 100%);
  z-index:1;
}
.hero-slides,.hero-overlay{
  position:absolute;inset:0
}
.hero-slides img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease, transform 8s ease;
  transform:scale(1.06)
}
.hero-slides img.active{opacity:1;transform:scale(1)}
.hero-overlay{
  background:
   radial-gradient(circle at 15% 25%, rgba(223,14,29,.22), transparent 28%),
   radial-gradient(circle at 90% 20%, rgba(243,197,66,.12), transparent 25%);
  z-index:1
}
.hero-inner{position:relative;z-index:2}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:end}
.hero-card{padding:0 0 20px}
h1{
  font-size:clamp(44px,7vw,92px);line-height:.92;margin:18px 0 20px;
  letter-spacing:-.055em;max-width:900px
}
.hero p{
  font-size:clamp(17px,2.2vw,22px);max-width:760px;margin:0 0 26px;color:#d9dde3
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-stat-wrap{
  display:grid;grid-template-columns:repeat(2,1fr);gap:12px;align-self:end
}
.stat{
  padding:18px;border:1px solid rgba(255,255,255,.10);background:rgba(13,17,24,.72);
  border-radius:20px;box-shadow:var(--shadow);backdrop-filter:blur(10px)
}
.stat b{display:block;font-size:34px;line-height:1}
.stat span{display:block;color:#d0d5dc;font-size:13px;margin-top:8px}
.scroll-cue{
  margin-top:22px;color:#e6e6e0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;
  display:inline-flex;align-items:center;gap:10px
}
.scroll-cue i{display:inline-block;width:22px;height:34px;border:1px solid rgba(255,255,255,.28);border-radius:20px;position:relative}
.scroll-cue i::after{content:"";position:absolute;left:50%;top:7px;transform:translateX(-50%);width:4px;height:7px;background:white;border-radius:99px;animation:wheel 1.4s infinite}
@keyframes wheel{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,12px)}}

section{padding:96px 0;border-top:1px solid rgba(255,255,255,.05)}
.section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:34px}
.section-head h2{font-size:clamp(32px,5vw,58px);line-height:.94;margin:12px 0 0;letter-spacing:-.045em}
.section-head p{max-width:640px;color:var(--muted);margin:0}

.panel{
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);
}

.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.card{padding:28px}
.badges{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 18px}
.badge{
  padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800;
  border:1px solid rgba(255,255,255,.10);background:#10141b;color:#d5d8dd
}
.badge.gold{background:rgba(243,197,66,.08);border-color:rgba(243,197,66,.18);color:#f4d67c}
.list{display:grid;gap:12px}
.item{
  display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:rgba(255,255,255,.02)
}
.item i{
  width:34px;height:34px;flex:none;border-radius:12px;
  display:grid;place-items:center;background:linear-gradient(135deg,var(--red),#5d090e);font-style:normal;font-weight:900
}

.showcase{
  display:grid;grid-template-columns:1.1fr .9fr;gap:18px
}
.showcase-main{position:relative;min-height:520px;overflow:hidden}
.showcase-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.showcase-main::after{content:"";position:absolute;inset:0;background:linear-gradient(to top, rgba(6,7,10,.92), rgba(6,7,10,.05) 60%)}
.showcase-caption{position:absolute;left:24px;bottom:22px;right:24px;z-index:2}
.showcase-caption h3{font-size:clamp(28px,4vw,44px);margin:0 0 8px;line-height:1}
.showcase-caption p{margin:0;color:#d5d8dd;max-width:620px}
.showcase-side{display:grid;gap:18px}
.mini-card{padding:20px}
.mini-card h3{margin-top:0;font-size:22px}
.mini-card p{color:var(--muted)}

.directory-tools{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.input, .select{
  min-width:220px;padding:14px 15px;background:#0f1319;color:white;
  border-radius:16px;border:1px solid var(--line);outline:none
}
.result-note{display:flex;align-items:center;color:#d3d7de;font-weight:700}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.school{
  padding:20px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.02);position:relative;overflow:hidden
}
.school::before{
  content:"";position:absolute;inset:auto -20% -60% auto;width:140px;height:140px;border-radius:50%;
  background:radial-gradient(circle, rgba(243,197,66,.18), transparent 65%);
}
.school .num{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#f3d27a;font-weight:900}
.school h3{font-size:18px;line-height:1.25;margin:10px 0}
.school p{margin:0;color:var(--muted)}

.leader{
  padding:22px;border-radius:22px;border:1px solid var(--line);background:rgba(255,255,255,.02)
}
.leader .avatar{
  width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-weight:900;
  background:linear-gradient(135deg,var(--red),#5c0910);margin-bottom:14px;box-shadow:0 10px 24px rgba(223,14,29,.2)
}
.leader h3{font-size:18px;margin:0 0 4px}
.leader p{margin:0;color:#f4d67c;font-size:13px;font-weight:800}
.timeline{display:grid;gap:14px}
.time{
  display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:start;padding:18px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.02)
}
.time-year{
  font-size:22px;font-weight:900;color:#f4d67c;background:rgba(243,197,66,.08);border:1px solid rgba(243,197,66,.14);padding:14px;border-radius:18px;text-align:center
}
.time h3{margin:0 0 6px}
.time p{margin:0;color:var(--muted)}

.gallery-grid{
  columns:3 280px;column-gap:14px
}
.shot{
  break-inside:avoid;margin:0 0 14px;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#0e1219;position:relative;cursor:pointer
}
.shot img{width:100%;height:auto;transition:transform .45s ease}
.shot:hover img{transform:scale(1.03)}
.shot::after{
  content:"Tap to view";position:absolute;right:12px;bottom:12px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  padding:8px 10px;border-radius:999px;background:rgba(6,7,10,.7);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12)
}
.gallery-note{margin-top:14px;color:var(--muted);font-size:14px}

.cta-banner{
  padding:30px;background:
    radial-gradient(circle at 0 0, rgba(223,14,29,.16), transparent 26%),
    radial-gradient(circle at 100% 0, rgba(243,197,66,.16), transparent 22%),
    linear-gradient(135deg, #0f1319, #111723);
  display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:center
}
.cta-banner h3{font-size:clamp(28px,4vw,40px);line-height:1.02;margin:0 0 10px}
.cta-banner p{margin:0;color:#d3d7de}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}

.media-grid{display:grid;grid-template-columns:1fr .95fr;gap:18px}
.embed-card{padding:18px}
.embed-box{border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#fff}
.embed-box iframe{width:100%;height:660px;border:0}
.source-card{padding:18px}
.source-card img{border-radius:18px;border:1px solid var(--line)}
.source-card p{color:var(--muted);font-size:14px}
.source-list{display:grid;gap:12px;margin-top:18px}
.src{
  display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:16px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.02)
}
.src strong{display:block}
.src small{display:block;color:var(--muted);margin-top:4px}
.src .tag{
  flex:none;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#f4d67c;
  border:1px solid rgba(243,197,66,.16);padding:7px 9px;border-radius:999px
}

footer{padding:46px 0 26px;border-top:1px solid rgba(255,255,255,.06)}
.footer-grid{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.footer-brand{display:flex;gap:14px;align-items:center}
.footer-brand img{width:56px;height:56px;object-fit:contain;border-radius:14px;background:white;padding:3px}
.legal{margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06);font-size:12px;color:#8c95a2}

.modal{
  position:fixed;inset:0;background:rgba(6,7,10,.88);backdrop-filter:blur(14px);z-index:90;display:none;align-items:center;justify-content:center;padding:24px
}
.modal.open{display:flex}
.modal-content{max-width:min(1100px, 100%);max-height:100%;position:relative}
.modal img{max-width:100%;max-height:82vh;border-radius:24px;box-shadow:var(--shadow)}
.modal button{
  position:absolute;top:-8px;right:-8px;width:42px;height:42px;border-radius:50%;
  background:white;color:#111;border:none;font-size:22px;font-weight:900;cursor:pointer
}

@media(max-width:980px){
  .nav-links{
    position:fixed;left:16px;right:16px;top:78px;background:#0e1218;border:1px solid var(--line);
    border-radius:24px;padding:16px;display:none;flex-direction:column;align-items:flex-start;box-shadow:var(--shadow)
  }
  .nav-links.open{display:flex}
  .menu-toggle{display:inline-flex}
  .hero-grid,.about-grid,.showcase,.media-grid,.cta-banner,.footer-grid,.section-head{grid-template-columns:1fr}
  .hero-stat-wrap,.grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:1fr 1fr}
  .cta-actions{justify-content:flex-start}
  .embed-box iframe{height:620px}
}
@media(max-width:640px){
  .container{width:min(calc(100% - 20px), var(--max))}
  .nav{min-height:72px}
  .brand img{width:42px;height:42px}
  .brand strong{font-size:14px}
  .hero{padding-top:110px}
  .hero-stat-wrap,.grid-3,.grid-4{grid-template-columns:1fr}
  .input,.select{min-width:unset;width:100%}
  .time{grid-template-columns:1fr}
  .embed-box iframe{height:600px}
}
