/*
  E-QuranTeaching
  Palette:
    Deep Green: #0f5132
    White: #ffffff
    Beige: #f9f9f9
    Gold: #c2a83e
*/

:root{
  --green:#0f5132;
  --green-2:#0b3f26;
  --gold:#c2a83e;
  --beige:#f9f9f9;
  --white:#ffffff;
  --text:#102018;
  --muted:#4c5f55;
  --shadow: 0 18px 45px rgba(15,81,50,.15);
  --radius: 16px;
  --radius-sm: 12px;
  --container: 1140px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background: linear-gradient(180deg, #ffffff 0%, #ffffff 35%, #fbfbfb 100%);
  line-height:1.6;
}
img{max-width:100%;height:auto}
a{color:inherit}

.container{max-width:var(--container); margin:0 auto; padding:0 18px;}
.center{text-align:center}
.muted{color:var(--muted)}
.small{font-size:.92rem}

.skip-link{
  position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus{left:12px; top:12px; width:auto; height:auto; padding:10px 12px; background:#fff; border-radius:10px; box-shadow:var(--shadow); z-index:9999;}

/* Header */
.site-header{
  position:sticky; top:0; z-index:50;
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(15,81,50,.10);
}
.header-inner{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 0;}
.brand{display:flex; gap:10px; align-items:center; text-decoration:none;}
.brand-mark{
  width:42px; height:42px; border-radius:14px;
  display:grid; place-items:center;
  background: radial-gradient(120% 140% at 10% 10%, rgba(194,168,62,.55) 0%, rgba(194,168,62,.22) 35%, rgba(15,81,50,.18) 100%);
  border: 1px solid rgba(15,81,50,.12);
}
.brand-mark img{display:block; width:28px; height:28px;}
.brand-text{display:flex; flex-direction:column; line-height:1.05}
.brand-name{font-weight:800; letter-spacing:.2px}
.brand-tag{font-size:.86rem; color:var(--muted)}

.nav{display:flex; align-items:center; gap:14px;}
.nav-link{ text-decoration:none; font-weight:600; font-size:.96rem; color: rgba(16,32,24,.86); padding:8px 10px; border-radius:10px; }
.nav-link:hover{ background: rgba(15,81,50,.06); color:var(--green); }
.nav-link.active{ color:var(--green); background: rgba(15,81,50,.08); }

.nav-cta{margin-left:6px}

.nav-toggle{display:none; border:0; background:transparent; width:44px; height:44px; border-radius:12px; cursor:pointer;}
.nav-toggle:hover{background:rgba(15,81,50,.06)}
.nav-toggle span{display:block; height:2px; background:var(--green); margin:7px 10px; border-radius:99px;}

/* Buttons */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:12px 16px; border-radius:14px; text-decoration:none; font-weight:800; border:1px solid transparent; transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;}
.btn:active{transform: translateY(1px)}
.btn-gold{ background: linear-gradient(135deg, var(--gold) 0%, #d6c06a 100%); color:#1a1a1a; box-shadow: 0 10px 25px rgba(194,168,62,.25); }
.btn-gold:hover{ transform: translateY(-2px); box-shadow: 0 16px 34px rgba(194,168,62,.35); }
.btn-green{ background: linear-gradient(135deg, var(--green) 0%, var(--green-2) 100%); color:#fff; box-shadow: 0 14px 30px rgba(15,81,50,.22); }
.btn-green:hover{ transform: translateY(-2px); box-shadow: 0 20px 40px rgba(15,81,50,.25); }
.btn-ghost{ background: rgba(255,255,255,.15); color:#fff; border-color: rgba(255,255,255,.38); }
.btn-ghost:hover{ background: rgba(255,255,255,.22); transform: translateY(-2px); }

.link{text-decoration:none; font-weight:700; color:var(--green)}
.link:hover{text-decoration:underline}

/* Hero */
.hero{position:relative; min-height: 78vh; display:flex; align-items:center; overflow:hidden;}
.hero-bg{
  position:absolute; inset:0;
  background-image:
    linear-gradient(120deg, rgba(15,81,50,.10) 0%, rgba(194,168,62,.10) 100%),
    url('../images/hero-quran-kids.jpg');
  background-size:cover;
  background-position:center;
  filter:saturate(1.05);
}
.hero-overlay{
  position:absolute; inset:0;
  /* darker overlay for higher readability */
  background:
    linear-gradient(90deg, rgba(10,40,25,.92) 0%, rgba(10,40,25,.84) 38%, rgba(10,40,25,.46) 72%, rgba(10,40,25,.18) 100%),
    radial-gradient(80% 120% at 20% 20%, rgba(194,168,62,.12) 0%, rgba(0,0,0,0) 60%);
}
.hero-inner{position:relative; z-index:2; display:grid; grid-template-columns: 1.25fr .9fr; gap:26px; padding: 64px 0; align-items:center;}
.eyebrow{display:inline-block; padding:7px 12px; border-radius:999px; background: rgba(255,255,255,.12); color: rgba(255,255,255,.92); border: 1px solid rgba(255,255,255,.22); font-weight:700; letter-spacing:.2px; margin:0 0 14px}
.hero h1{margin:0 0 12px; color:#fff; font-size: clamp(2.0rem, 3.2vw, 3.15rem); line-height:1.15; letter-spacing:.2px;}
.lead{color: rgba(255,255,255,.88); margin:0 0 18px; font-size:1.1rem; max-width: 58ch;}
.hero-actions{display:flex; flex-wrap:wrap; gap:12px; margin: 16px 0 14px;}
.hero-trust{display:flex; gap:14px; flex-wrap:wrap; margin-top:14px;}
.trust-item{background: rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18); padding:10px 12px; border-radius:14px; min-width: 145px;}
.trust-number{display:block; font-weight:900; color:#fff; font-size:1.12rem}
.trust-label{display:block; color: rgba(255,255,255,.82); font-size:.92rem}

.hero-card{background: rgba(255,255,255,.92); border: 1px solid rgba(15,81,50,.10); border-radius: var(--radius); padding: 18px; box-shadow: var(--shadow);}
.h3{font-size:1.25rem}
.hero-card h2{margin:0 0 10px; color:var(--green); font-family: Amiri, serif; letter-spacing:.2px}

.checklist{list-style:none; padding:0; margin:0 0 14px;}
.checklist li{position:relative; padding-left:26px; margin:10px 0; color: rgba(16,32,24,.92);}
.checklist li::before{content:"\f00c"; font-family:"Font Awesome 6 Free"; font-weight:900; position:absolute; left:0; top:2px; color: var(--gold);}

/* Sections */
.section{padding: 64px 0;}
.section-beige{background: linear-gradient(180deg, var(--beige) 0%, #ffffff 100%);}
.section-header{max-width: 820px; margin: 0 auto 26px; text-align:center;}
.section-kicker{margin:0 0 10px; color:var(--green); font-weight:800; letter-spacing:.3px;}
.section-header h2{margin:0 0 10px; font-size: clamp(1.6rem, 2.2vw, 2.2rem); font-family: Amiri, serif; color: var(--green);}
.section-sub{margin:0 auto; color:var(--muted); max-width: 70ch;}

.grid{display:grid; gap:16px;}
.cards-3{grid-template-columns: repeat(3, 1fr);}
.cards-2{grid-template-columns: repeat(2, 1fr);}

.card{
  background:#fff; border: 1px solid rgba(15,81,50,.10);
  border-radius: var(--radius);
  padding: 18px;
  box-shadow: 0 10px 22px rgba(16,32,24,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card:hover{transform: translateY(-3px); box-shadow: 0 16px 34px rgba(16,32,24,.10); border-color: rgba(194,168,62,.35)}
.card-icon{width:44px; height:44px; border-radius:14px; display:grid; place-items:center; background: rgba(15,81,50,.08); color: var(--green); margin-bottom:10px;}

.course-card{
  background: radial-gradient(120% 160% at 10% 0%, rgba(194,168,62,.16) 0%, rgba(15,81,50,.06) 45%, #fff 100%);
  border: 1px solid rgba(15,81,50,.10);
  border-radius: var(--radius);
  padding: 18px;
  box-shadow: 0 10px 22px rgba(16,32,24,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.course-card:hover{transform: translateY(-3px); box-shadow: 0 18px 40px rgba(16,32,24,.10); border-color: rgba(194,168,62,.35)}
.course-meta{display:flex; gap:12px; flex-wrap:wrap; margin-top:12px; color:var(--muted); font-weight:600;}
.course-meta i{color:var(--gold)}

.cta-band{
  margin-top: 22px;
  display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
  padding: 18px;
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(15,81,50,.08) 0%, rgba(194,168,62,.10) 100%);
  border: 1px solid rgba(15,81,50,.10);
}
.cta-band h3{margin:0; color:var(--green); font-family: Amiri, serif;}
.cta-band p{margin:6px 0 0; color:var(--muted)}

/* Split sections */
.split{display:grid; grid-template-columns: 1.2fr .9fr; gap:18px; align-items:start;}
.split-text h2{margin:0 0 10px; font-family: Amiri, serif; color:var(--green);}

.media-card{
  width:100%; height: 420px;
  border-radius: var(--radius);
  border: 1px solid rgba(15,81,50,.12);
  box-shadow: var(--shadow);
  background-image:
    linear-gradient(135deg, rgba(10,40,25,.10), rgba(194,168,62,.12)),
    url('../images/section-quran-stand.jpg');
  background-size:cover; background-position:center;
}
.media-card--tall{height: 520px}
.note-card{
  margin-top: 14px;
  background:#fff; border: 1px solid rgba(15,81,50,.10);
  border-radius: var(--radius);
  padding: 16px;
  box-shadow: 0 10px 22px rgba(16,32,24,.06);
}
.note-card .h4{margin:0 0 6px; color:var(--green); font-family:Amiri, serif;}

/* Page hero */
.page-hero{position:relative; overflow:hidden;}
.page-hero-inner{position:relative; z-index:2; padding: 64px 0;}
.page-hero-bg{position:absolute; inset:0; background-size:cover; background-position:center;}
.page-hero-overlay{position:absolute; inset:0; background: linear-gradient(90deg, rgba(10,40,25,.84) 0%, rgba(10,40,25,.72) 40%, rgba(10,40,25,.28) 100%);} 
.page-hero h1{color:#fff; margin:0 0 10px; font-size: clamp(1.9rem, 3.1vw, 2.8rem); line-height:1.18;}
.page-hero .lead{max-width: 70ch}

/* Courses */
.course-detail{
  background:#fff;
  border: 1px solid rgba(15,81,50,.10);
  border-radius: var(--radius);
  padding: 18px;
  box-shadow: 0 10px 22px rgba(16,32,24,.06);
}
.course-detail h3{margin:0 0 8px; color:var(--green)}

.mini-list{margin:10px 0 0; padding-left: 18px; color:var(--muted)}
.mini-list li{margin:6px 0}

.pricing-3{grid-template-columns: repeat(3, 1fr);}
.price-card{
  background:#fff;
  border: 1px solid rgba(15,81,50,.10);
  border-radius: var(--radius);
  padding: 18px;
  box-shadow: 0 10px 22px rgba(16,32,24,.06);
}
.price-card .price{font-size:2.1rem; margin:8px 0 0; font-weight:900; color:var(--green)}
.price-card .price span{font-size:1rem; font-weight:700; color:var(--muted)}
.price-card--featured{border-color: rgba(194,168,62,.55); box-shadow: 0 22px 60px rgba(194,168,62,.18); transform: translateY(-4px)}
.badge{display:inline-block; background: rgba(194,168,62,.18); color: #6f5d12; border: 1px solid rgba(194,168,62,.35); padding:6px 10px; border-radius:999px; font-weight:900; font-size:.85rem}

/* Teachers */
.teacher-grid{grid-template-columns: repeat(2, 1fr);}
.teacher-card{display:grid; grid-template-columns: 120px 1fr; gap:14px; background:#fff; border:1px solid rgba(15,81,50,.10); border-radius: var(--radius); padding: 16px; box-shadow: 0 10px 22px rgba(16,32,24,.06); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;}
.teacher-card:hover{transform: translateY(-3px); box-shadow: 0 18px 40px rgba(16,32,24,.10); border-color: rgba(194,168,62,.35)}
.teacher-photo{width:120px; height:120px; border-radius: 18px; border:1px solid rgba(15,81,50,.12); background-size:cover; background-position:center;}
.teacher-card--noimg{grid-template-columns: 1fr;}
.teacher-body h3{margin:0 0 2px; color:var(--green)}
.tags{display:flex; flex-wrap:wrap; gap:8px; margin-top:10px;}
.tag{font-size:.85rem; font-weight:800; padding:6px 10px; border-radius:999px; background: rgba(15,81,50,.07); color: var(--green); border:1px solid rgba(15,81,50,.10)}

/* Testimonials */
.quote{background:#fff; border:1px solid rgba(15,81,50,.10); border-radius: var(--radius); padding: 18px; margin:0; box-shadow: 0 10px 22px rgba(16,32,24,.06);}
.quote blockquote{margin:10px 0 10px; color: rgba(16,32,24,.92); font-weight:600;}
.quote figcaption{color:var(--muted); font-weight:700}
.stars i{color: var(--gold)}

/* Contact */
.contact-grid{grid-template-columns: repeat(3, 1fr);}
.contact-card{background:#fff; border:1px solid rgba(15,81,50,.10); border-radius: var(--radius); padding: 18px; box-shadow: 0 10px 22px rgba(16,32,24,.06);}

/* Steps */
.steps{list-style:none; padding:0; margin: 0; display:grid; gap: 12px;}
.step{display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid rgba(15,81,50,.10); border-radius: var(--radius); padding: 16px; box-shadow: 0 10px 22px rgba(16,32,24,.06);}
.step-num{width:38px; height:38px; border-radius: 14px; display:grid; place-items:center; font-weight:900; color:var(--green); background: rgba(194,168,62,.18); border:1px solid rgba(194,168,62,.35)}

/* Footer */
.footer{background: #081f14; color: rgba(255,255,255,.92); padding: 42px 0 22px;}
.footer-grid{display:grid; grid-template-columns: 1.3fr 1fr 1.2fr; gap:18px; align-items:start;}
.footer-title{margin:0 0 10px; font-family: Amiri, serif; color: #fff;}
.footer-links{list-style:none; padding:0; margin:0;}
.footer-links li{margin:10px 0;}
.footer a{text-decoration:none; color: rgba(255,255,255,.90)}
.footer a:hover{color:#fff; text-decoration:underline}
.footer-brand{display:flex; align-items:center; gap:10px; margin-bottom: 10px;}
.social{display:flex; gap:10px; margin-top: 12px;}
.social-link{width:40px; height:40px; border-radius: 14px; display:grid; place-items:center; background: rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.10);}
.social-link:hover{background: rgba(255,255,255,.12)}
.footer-bottom{display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; align-items:center; padding-top: 16px; margin-top: 18px; border-top: 1px solid rgba(255,255,255,.12);}

/* WhatsApp floating */
.wa-float{
  position:fixed; right:18px; bottom:18px; z-index:60;
  width:56px; height:56px; border-radius: 18px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, #25d366 0%, #1fb857 100%);
  color:#fff; text-decoration:none; box-shadow: 0 16px 38px rgba(0,0,0,.22);
  transition: transform .18s ease, box-shadow .18s ease;
}
.wa-float:hover{transform: translateY(-3px); box-shadow: 0 22px 50px rgba(0,0,0,.26)}
.wa-float i{font-size: 26px;}

/* Reveal animations */
.reveal{opacity:0; transform: translateY(14px); transition: opacity .6s ease, transform .6s ease;}
.reveal.is-visible{opacity:1; transform:none;}

/* Responsive */
@media (max-width: 980px){
  .hero-inner{grid-template-columns: 1fr; padding: 56px 0;}
  .hero-card{max-width: 620px;}
  .cards-3{grid-template-columns: 1fr;}
  .cards-2{grid-template-columns: 1fr;}
  .pricing-3{grid-template-columns: 1fr;}
  .split{grid-template-columns: 1fr;}
  .footer-grid{grid-template-columns: 1fr;}
  .teacher-grid{grid-template-columns: 1fr;}
  .contact-grid{grid-template-columns: 1fr;}
}

@media (max-width: 860px){
  .nav-toggle{display:inline-block;}
  .nav{position:absolute; left:0; right:0; top:64px; background: rgba(255,255,255,.98); border-bottom:1px solid rgba(15,81,50,.10); padding: 12px 18px 16px; display:none; flex-direction:column; align-items:stretch; gap:8px;}
  .nav.is-open{display:flex;}
  .nav-link{padding:12px 10px;}
  .nav-cta{width:100%; justify-content:center; margin:8px 0 0}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .reveal{transition:none}
  .btn, .card, .course-card, .teacher-card, .wa-float{transition:none}
}
