@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');

:root{
  --bg:#090a0f; --card:#11131a; --text:#f4f5f7; --muted:#a7abb7;
  --accent:#c8ff35; --line:#262936; --max:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"DM Sans",sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
a{text-decoration:none;color:inherit}
.navbar{height:76px;max-width:var(--max);margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;background:rgba(9,10,15,.88);backdrop-filter:blur(16px)}
.logo{font:700 28px "Space Grotesk";letter-spacing:-1px}.logo span{color:var(--accent)}
nav{display:flex;gap:28px}nav a{color:#b9bdc8;font-size:14px;transition:.25s}nav a:hover{color:var(--accent)}
.menu-btn{display:none;background:none;border:0;color:white;font-size:25px}
.hero{max-width:var(--max);min-height:calc(100vh - 76px);margin:auto;padding:70px 24px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:50px}
.eyebrow{font-size:12px;letter-spacing:2.5px;color:var(--accent);font-weight:700;margin-bottom:15px}
h1,h2,h3{font-family:"Space Grotesk",sans-serif;line-height:1.05}
h1{font-size:clamp(48px,7vw,82px);letter-spacing:-4px;max-width:760px}
h1 span{color:var(--accent)}
.tagline{font-size:21px;margin:25px 0 12px;color:#e4e6eb;font-weight:600}
.intro{max-width:620px;color:var(--muted);font-size:16px}
.buttons{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:10px;font-weight:700;font-size:14px;transition:.25s}
.btn:hover{transform:translateY(-2px)}
.primary{background:var(--accent);color:#0b0d08}.secondary{border:1px solid var(--line);color:#fff}
.hero-photo{position:relative;justify-self:center;width:min(440px,90vw);aspect-ratio:4/5}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:28px;position:relative;z-index:2;border:1px solid #333743}
.photo-ring{position:absolute;inset:-18px 18px 18px -18px;border:1px solid var(--accent);border-radius:28px;z-index:1;opacity:.7}
.stat-card{position:absolute;z-index:4;background:rgba(17,19,26,.92);border:1px solid #30333e;border-radius:14px;padding:13px 16px;display:flex;flex-direction:column;box-shadow:0 12px 40px #0008}
.stat-card strong{font:700 25px "Space Grotesk";color:var(--accent)}.stat-card small{color:#c5c8d0;font-size:11px}.card-one{top:28px;left:-35px}.card-two{bottom:30px;right:-32px}
.section{max-width:var(--max);margin:auto;padding:110px 24px}.dark-section{max-width:none;padding-left:max(24px,calc((100vw - var(--max))/2 + 24px));padding-right:max(24px,calc((100vw - var(--max))/2 + 24px));background:#0d0f15}
.section-heading{max-width:700px;margin-bottom:50px}h2{font-size:clamp(36px,5vw,60px);letter-spacing:-2.5px}
.about-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:25px}.about-card,.principles{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:35px}
.about-card p{color:#b9bdc7;font-size:17px;margin-bottom:18px}.about-card p:last-child{margin:0}
.principles{display:grid;gap:18px}.principles div{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding-bottom:16px}.principles div:last-child{border:0}.principles b{color:var(--accent);font-size:13px}.principles span{font-weight:600}
.sports-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.sport-card{padding:35px;border:1px solid var(--line);border-radius:20px;background:#11131a;min-height:270px}.sport-number{color:var(--accent);font-size:13px;margin-bottom:55px}.sport-card h3{font-size:32px;margin-bottom:12px}.sport-card p{color:var(--muted)}
.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.achievement{padding:35px;border:1px solid var(--line);border-radius:20px;background:var(--card);min-height:190px;display:flex;flex-direction:column;justify-content:center}.achievement strong{font:700 52px "Space Grotesk";color:var(--accent);margin-bottom:8px}.achievement span{color:#c0c3cc}
.education-section{border-top:1px solid var(--line)}.timeline{max-width:750px;border-left:1px solid #343744;padding-left:35px}.timeline-item{position:relative;padding:0 0 45px}.timeline-item:last-child{padding-bottom:0}.dot{position:absolute;width:11px;height:11px;background:var(--accent);border-radius:50%;left:-41px;top:5px;box-shadow:0 0 0 5px var(--bg)}.timeline small{color:var(--accent);letter-spacing:1.5px;font-size:10px}.timeline h3{font-size:28px;margin:5px 0}.timeline p{color:var(--muted)}
.contact-section{padding-top:80px;padding-bottom:100px}.contact-box{text-align:center;background:linear-gradient(135deg,#14171e,#0e1016);border:1px solid var(--line);border-radius:26px;padding:75px 25px}.contact-box h2{margin-bottom:15px}.contact-box>p:not(.eyebrow){color:var(--muted);max-width:560px;margin:0 auto 28px}
footer{border-top:1px solid var(--line);max-width:var(--max);margin:auto;padding:25px 24px;color:#777c88;font-size:12px;display:flex;justify-content:space-between}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){
  nav{display:none;position:absolute;top:76px;left:0;right:0;background:#0b0c11;padding:20px 24px;flex-direction:column;gap:16px;border-bottom:1px solid var(--line)}
  nav.open{display:flex}.menu-btn{display:block}
  .hero{grid-template-columns:1fr;padding-top:45px;text-align:center}.hero-text{order:2}.hero-photo{order:1;width:min(360px,82vw)}
  .intro{margin:auto}.buttons{justify-content:center}h1{letter-spacing:-2.5px}
  .about-grid,.sports-grid,.achievement-grid{grid-template-columns:1fr}
  .section{padding-top:80px;padding-bottom:80px}
  .card-one{left:-10px}.card-two{right:-10px}
}
@media(max-width:450px){
  .hero-photo{width:82vw}.stat-card{padding:10px 12px}.stat-card strong{font-size:20px}
  .card-one{top:18px}.card-two{bottom:18px}
  .about-card,.principles,.sport-card{padding:25px}
  footer{flex-direction:column;gap:8px}
}
