/* ======================
   Senpai — styles.css
   Marsh Gray / Blue / Gold theme
   Responsive, clean & accessible
   ====================== */

   :root{
    --marsh: #5B5B5B;        /* marsh gray */
    --marsh-2: #4E4E4E;
    --bg-dark: #0f0f10;     /* deep black */
    --gold: #D4AF37;        /* gold accent */
    --gold-2: #E6C200;
    --blue: #3BAFDA;        /* blue accent */
    --white: #FFFFFF;
    --muted: #C0C0C0;
    --card: rgba(255,255,255,0.03);
    --glass: rgba(255,255,255,0.02);
    --radius: 14px;
    --container: 1180px;
    --gap: 20px;
  }
  
  /* ===== Global ===== */
  *{box-sizing:border-box}
  html,body{height:100%}
  body{
    margin:0;
    font-family: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, Arial;
    background: linear-gradient(135deg, var(--marsh), var(--marsh-2));
    color:var(--white);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    line-height:1.5;
  }
  
  /* container */
  .container{max-width:var(--container); margin:0 auto; padding:28px 20px}
  
  /* ===== NAV ===== */
  .nav-wrap{position:sticky; top:0; z-index:60; padding:10px 0; background:linear-gradient(180deg, rgba(0,0,0,0.28), rgba(0,0,0,0.12)); backdrop-filter: blur(6px); border-bottom:1px solid rgba(255,255,255,0.02)}
  .nav-inner{display:flex; align-items:center; gap:12px; justify-content:space-between}
  
  .brand{display:flex; align-items:center; gap:12px}
  .brand-mark{display:inline-flex; align-items:center}
  .brand-name{font-family:"Playfair Display", serif; font-weight:700; font-size:20px; letter-spacing:1px; color:var(--white)}
  
  .nav-links{display:flex; gap:18px; align-items:center}
  .nav-links a{color:var(--muted); text-decoration:none; font-weight:600; padding:8px 10px; border-radius:8px; transition:all .15s}
  .nav-links a:hover{color:var(--white); transform:translateY(-3px); text-shadow:0 6px 20px rgba(0,0,0,0.45)}
  
  .nav-cta .btn{padding:10px 14px}
  
  /* mobile nav */
  .nav-toggle{display:none; background:transparent; border:0; color:var(--white); font-size:18px}
  .mobile-nav{display:none; position:absolute; inset:64px 12px auto 12px; background:linear-gradient(180deg, rgba(0,0,0,0.55), rgba(0,0,0,0.42)); padding:12px; border-radius:10px; box-shadow:0 12px 40px rgba(0,0,0,0.6)}
  .mobile-nav.open{display:flex; flex-direction:column; gap:10px}
  .mobile-link{color:var(--white); text-decoration:none; padding:10px; border-radius:8px}
  
  /* ===== HERO ===== */
  .hero{position:relative; padding:48px 0 64px; overflow:hidden}
  .hero .container{position:relative}
  #particles{position:absolute; inset:0; z-index:0; pointer-events:none}
  
  /* grid: left vertical column + right big senpai */
  .hero-grid{display:grid; grid-template-columns: 1fr 1fr; align-items:center; gap:32px; position:relative; z-index:1; padding:28px; border-radius:18px; background: linear-gradient(180deg, rgba(0,0,0,0.18), rgba(255,255,255,0.02)); box-shadow: 0 18px 50px rgba(0,0,0,0.6); border:1px solid rgba(255,255,255,0.02)}
  .hero-left{padding:10px}
  .lg-col{display:flex; flex-direction:column; gap:8px; align-items:flex-start}
  .lg-line{font-size:48px; margin:0; letter-spacing:1px; font-weight:800; color:var(--white)}
  .hero-sub{color:var(--muted); margin-top:14px; max-width:48ch}
  .hero-actions{margin-top:18px; display:flex; gap:12px; align-items:center}
  
  /* hero right - big SENPAI visual */
  .hero-right{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px}
  .big-senpai{font-size:88px; letter-spacing:14px; font-weight:900; color:var(--marsh)}
  .hero-tag{color:var(--muted); margin-top:6px}
  
  /* ===== Buttons ===== */
  .btn{display:inline-flex; align-items:center; gap:10px; padding:10px 16px; border-radius:12px; border:1px solid transparent; font-weight:700; cursor:pointer}
  .btn.primary{background:linear-gradient(90deg,var(--gold),var(--gold-2)); color:#000}
  .btn.outline{background:transparent; color:var(--white); border:1px solid rgba(255,255,255,0.06)}
  .btn.small{padding:8px 10px; font-size:14px}
  
  /* ===== WHY ===== */
  .section{padding:40px 0}
  .why-grid{display:grid; grid-template-columns:1fr 320px; gap:28px; align-items:center}
  .why-copy h3{margin:0 0 12px; color:var(--gold)}
  .why-copy p{color:var(--muted)}
  .why-list{margin:12px 0 0 18px; color:var(--muted)}
  
  /* logo card */
  .logo-card{width:220px; height:220px; display:flex; align-items:center; justify-content:center; border-radius:18px; background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01)); box-shadow: 0 12px 36px rgba(0,0,0,0.5)}
  
  /* ===== COURSES (horizontal) ===== */
  .courses .section-title{margin:0 0 6px}
  .course-row{display:flex; gap:18px; overflow-x:auto; padding:18px 6px; scroll-snap-type:x mandatory}
  .course-row::-webkit-scrollbar{height:9px}
  .course-row::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--blue),#5aa9e0); border-radius:8px}
  .course-card{min-width:260px; scroll-snap-align:center; background:var(--card); border-radius:14px; padding:16px; box-shadow: 0 10px 30px rgba(0,0,0,0.5); border:1px solid rgba(255,255,255,0.03)}
  .course-top{display:flex; justify-content:space-between; gap:8px; align-items:center}
  .course-level{background:rgba(255,255,255,0.03); color:var(--muted); padding:6px 10px; border-radius:999px; font-weight:700; font-size:13px}
  .card-footer{display:flex; gap:8px; justify-content:flex-end; margin-top:12px}
  
  /* ===== IDEA ===== */
  .idea-grid{display:grid; grid-template-columns:1fr 300px; gap:28px; align-items:center}
  .idea-list{margin-top:12px; color:var(--muted)}
  
  /* ===== TESTIMONIALS ===== */
  .test-slider{position:relative; margin-top:18px}
  .test-track{display:flex; gap:20px; transition:transform .45s ease}
  .test-card{min-width:300px; padding:20px; border-radius:12px; background:var(--card); color:var(--muted); border:1px solid rgba(255,255,255,0.02)}
  .slider-controls{position:absolute; right:10px; top:-10px; display:flex; gap:8px}
  .ctrl{background:transparent; border:1px solid rgba(255,255,255,0.06); color:var(--white); padding:8px 10px; border-radius:8px; cursor:pointer}
  
  /* ===== SCHEDULE / FORM ===== */
  .schedule-inner{display:grid; grid-template-columns:1fr 420px; gap:28px; align-items:center}
  .schedule-left h3{color:var(--gold); margin:0 0 8px}
  .schedule-list{color:var(--muted); margin-top:8px}
  .schedule-form{display:flex; flex-direction:column; gap:12px; background:linear-gradient(180deg, rgba(255,255,255,0.01), rgba(255,255,255,0.01)); padding:18px; border-radius:12px; box-shadow:0 12px 30px rgba(0,0,0,0.4)}
  .field input, .field textarea, .field select{width:100%; padding:12px; border-radius:10px; border:1px solid rgba(255,255,255,0.06); background:transparent; color:var(--white)}
  .form-actions{display:flex; gap:10px; justify-content:flex-end}
  
  /* CTA HERO */
  .cta-hero{padding:36px 0; background: linear-gradient(180deg, rgba(255,255,255,0.01), rgba(0,0,0,0.04)); border-radius:12px; margin-top:20px}
  .cta-grid{display:flex; justify-content:space-between; align-items:center; gap:20px}
  
  /* FOOTER */
  .site-footer{padding:18px 0; margin-top:28px}
  .footer-inner{display:flex; justify-content:space-between; gap:12px; color:var(--muted)}
  
  /* ===== Modal (reused classes) ===== */
  .modal-backdrop{ position:fixed; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,0.6); backdrop-filter: blur(6px); z-index:1200; padding:18px; }
  .modal{ width:100%; max-width:520px; background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01)); padding:22px; border-radius:14px; box-shadow: 0 22px 60px rgba(0,0,0,0.6); color:var(--white) }
  .modal h3{ margin:0 0 12px; color:var(--gold) }
  .field{ display:block }
  .actions{ display:flex; gap:12px; margin-top:10px }
  .close{ background:transparent; color:var(--muted); border:0; cursor:pointer }
  
  /* ===== Responsive ===== */
  @media (max-width:1100px){
    .why-grid{grid-template-columns:1fr 260px}
    .idea-grid{grid-template-columns:1fr 220px}
    .schedule-inner{grid-template-columns:1fr 320px}
    .course-card{min-width:240px}
    .big-senpai{font-size:64px}
  }
  
  @media (max-width:760px){
    .nav-links{display:none}
    .nav-toggle{display:inline-block}
    .hero-grid{grid-template-columns:1fr; text-align:left}
    .lg-line{font-size:40px}
    .big-senpai{font-size:48px}
    .why-grid{grid-template-columns:1fr}
    .logo-card{margin:18px auto}
    .course-row{padding-bottom:22px}
    .schedule-inner{grid-template-columns:1fr}
    .cta-grid{flex-direction:column; align-items:flex-start}
    .footer-inner{flex-direction:column; gap:8px}
  }
  
  /* small screens */
  @media (max-width:420px){
    .lg-line{font-size:32px}
    .hero-sub{font-size:14px}
    .btn.primary{padding:10px 12px}
  }
  
  /* ===== Redesigned Footer ===== */
.new-footer{
  background: linear-gradient(180deg, #1a1a1a, #111);
  padding: 50px 0 20px;
  border-top:1px solid rgba(255,255,255,0.05);
}

.footer-grid{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap:40px;
}

.footer-brand{
  color:var(--muted);
}

.footer-logo{
  margin-bottom:12px;
  filter:drop-shadow(0 3px 20px rgba(212,175,55,0.2));
}

.footer-desc{
  max-width:260px;
  font-size:14px;
  color:#bdbdbd;
  line-height:1.6;
}

.footer-links-col h4{
  color:var(--gold);
  margin-bottom:12px;
  font-size:16px;
}

.footer-links-col a{
  display:block;
  margin:6px 0;
  text-decoration:none;
  color:#cfcfcf;
  font-size:14px;
  transition:0.2s;
}

.footer-links-col a:hover{
  color:var(--white);
  transform:translateX(4px);
}

.icon-link i{
  margin-right:6px;
}

.footer-bottom{
  text-align:center;
  margin-top:40px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,0.05);
  color:#999;
  font-size:13px;
}

@media(max-width:780px){
  .footer-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:480px){
  .footer-grid{
    grid-template-columns:1fr;
  }
  .footer-bottom{
    font-size:12px;
  }
}
