/* ============================================
   MAJELIS AL INAABAH — Stylesheet v2
   Hijau Zamrud + Emas + Ivory premium
   ============================================ */

:root {
  --green-950: #052E1F;
  --green-900: #0A3D28;
  --green-800: #0D5C3D;
  --green-700: #116B47;
  --green-600: #158A5A;
  --green-400: #34D399;
  --green-200: #A7F3D0;
  --green-100: #D1FAE5;
  --green-50:  #ECFDF5;
  --gold-700: #A8892E;
  --gold-600: #C9A94E;
  --gold-500: #D4B860;
  --gold-400: #E0C978;
  --gold-300: #EBD892;
  --gold-200: #F2E5B5;
  --gold-100: #F9F3E0;
  --gold-50:  #FDFAF2;
  --cream:    #FBF8F0;
  --cream-dark: #F3EDDE;
  --white:    #FFFFFF;
  --gray-50:  #F9FAFB;
  --gray-100: #F3F4F6;
  --gray-200: #E5E7EB;
  --gray-300: #D1D5DB;
  --gray-400: #9CA3AF;
  --gray-500: #6B7280;
  --gray-600: #4B5563;
  --gray-700: #374151;
  --gray-800: #1F2937;
  --gray-900: #111827;
  --radius-xl: 20px;
  --radius-lg: 16px;
  --radius: 12px;
  --radius-sm: 8px;
  --radius-xs: 6px;
  --shadow-xs: 0 1px 2px rgba(0,0,0,.04);
  --shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
  --shadow: 0 4px 6px -1px rgba(0,0,0,.06), 0 2px 4px rgba(0,0,0,.04);
  --shadow-md: 0 10px 15px -3px rgba(0,0,0,.07), 0 4px 6px rgba(0,0,0,.04);
  --shadow-lg: 0 20px 25px -5px rgba(0,0,0,.08), 0 8px 10px rgba(0,0,0,.04);
  --shadow-xl: 0 25px 50px -12px rgba(0,0,0,.15);
  --font-sans: 'Inter', system-ui, -apple-system, sans-serif;
  --font-arabic: 'Noto Naskh Arabic', 'Scheherazade New', serif;
  --font-quran: 'Amiri', 'Noto Naskh Arabic', serif;
  --transition: .3s cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:var(--font-sans);color:var(--gray-800);background:var(--cream);line-height:1.7;overflow-x:hidden}

/* ===== TYPOGRAPHY ===== */
h1,h2,h3,h4,h5{font-weight:700;line-height:1.25;color:var(--gray-900);letter-spacing:-.01em}
h1{font-size:clamp(2rem,5vw,3.2rem)} h2{font-size:clamp(1.5rem,3.5vw,2.2rem)}
h3{font-size:clamp(1.1rem,2.5vw,1.4rem)}
.text-gold{color:var(--gold-600)} .text-green{color:var(--green-800)}
.text-center{text-align:center} .text-sm{font-size:.875rem} .text-lg{font-size:1.125rem}
.font-normal{font-weight:400}

/* ===== CONTAINER ===== */
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}

/* ===== NAVBAR ===== */
.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,.88);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border-bottom:1px solid rgba(0,0,0,.06);transition:all var(--transition)}
.navbar.scrolled{box-shadow:0 4px 24px rgba(0,0,0,.08);background:rgba(255,255,255,.95)}
.navbar .container{display:flex;align-items:center;justify-content:space-between;height:72px}
.nav-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--green-900)}
.nav-brand .brand-icon{width:46px;height:46px;border-radius:50%;flex-shrink:0;object-fit:contain}
.nav-brand .brand-text{display:flex;flex-direction:column}
.nav-brand .brand-title{font-weight:800;font-size:1.15rem;letter-spacing:-.02em}
.nav-brand .brand-sub{font-size:.68rem;color:var(--gold-600);font-family:var(--font-arabic);letter-spacing:.03em;font-weight:600}
.nav-links{display:flex;align-items:center;gap:2.25rem;list-style:none}
.nav-links a{text-decoration:none;color:var(--gray-600);font-weight:500;font-size:.9rem;transition:color .2s;position:relative;padding:.25rem 0}
.nav-links a:hover,.nav-links a.active{color:var(--green-800)}
.nav-links a.active::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:2.5px;background:linear-gradient(90deg,var(--green-800),var(--gold-600));border-radius:2px}
.nav-cta{background:var(--green-800);color:var(--white)!important;padding:.55rem 1.4rem!important;border-radius:999px;font-weight:600!important;transition:all var(--transition)!important;box-shadow:0 2px 8px rgba(13,92,61,.2)}
.nav-cta:hover{background:var(--green-700)!important;box-shadow:0 4px 16px rgba(13,92,61,.3);transform:translateY(-1px)}
.nav-cta::after{display:none!important}
.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px;z-index:1001}
.nav-toggle span{width:24px;height:2.5px;background:var(--gray-800);border-radius:2px;transition:all .3s;transform-origin:center}

/* ===== SECTION ===== */
.section{padding:6rem 0;position:relative}
.section-header{text-align:center;margin-bottom:3.5rem}
.section-header .label{display:inline-flex;align-items:center;gap:.4rem;background:var(--green-50);color:var(--green-800);padding:.35rem 1.1rem;border-radius:999px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.85rem;border:1px solid var(--green-200)}
.section-header .label::before{content:'';width:6px;height:6px;background:var(--green-600);border-radius:50%}
.section-header h2{margin-bottom:.6rem}
.section-header p{color:var(--gray-500);max-width:640px;margin:0 auto;font-size:1.02rem;line-height:1.7}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.8rem;border-radius:999px;font-weight:600;font-size:.92rem;text-decoration:none;transition:all var(--transition);cursor:pointer;border:none;white-space:nowrap}
.btn-primary{background:linear-gradient(135deg,var(--green-800),var(--green-700));color:var(--white);box-shadow:0 4px 14px rgba(13,92,61,.25)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(13,92,61,.35)}
.btn-gold{background:linear-gradient(135deg,var(--gold-600),var(--gold-500));color:var(--green-950);box-shadow:0 4px 14px rgba(201,169,78,.3)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(201,169,78,.4)}
.btn-outline{background:transparent;color:var(--green-800);border:2px solid var(--green-200)}
.btn-outline:hover{background:var(--green-50);border-color:var(--green-600)}
.btn-white{background:var(--white);color:var(--green-800);box-shadow:var(--shadow-sm)}
.btn-white:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}

/* ===== HERO ===== */
.hero{padding:140px 0 5rem;position:relative;overflow:hidden;background:linear-gradient(170deg,var(--green-950) 0%,var(--green-900) 35%,var(--green-800) 70%,#0A4D38 100%);isolation:isolate}
.hero::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 5L56 17v24L30 54 4 41V17L30 5z' fill='none' stroke='rgba(201,169,78,.06)' stroke-width='1'/%3E%3C/svg%3E") repeat;mask-image:radial-gradient(ellipse at 60% 40%,black 30%,transparent 70%);pointer-events:none;z-index:0}
.hero::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 75% 30%,rgba(201,169,78,.08) 0%,transparent 55%),radial-gradient(ellipse at 20% 70%,rgba(52,211,153,.05) 0%,transparent 45%);pointer-events:none;z-index:0}
.hero .container{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:center;position:relative;z-index:1}
.hero-content h1{color:var(--white);margin-bottom:.4rem;line-height:1.15}
.hero-content h1 .gold{background:linear-gradient(135deg,var(--gold-400),var(--gold-600),var(--gold-400));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-arabic{font-family:var(--font-arabic);font-size:1.15rem;color:var(--gold-400);margin-bottom:1.2rem;direction:rtl;letter-spacing:.02em;font-weight:600}
.hero-desc{color:rgba(255,255,255,.78);font-size:1.08rem;margin-bottom:2.2rem;max-width:500px;line-height:1.8}
.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap}
.hero-visual{display:flex;justify-content:center;align-items:center;position:relative}
.hero-ornament{width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(201,169,78,.12) 0%,rgba(201,169,78,.06) 40%,transparent 65%);display:flex;align-items:center;justify-content:center;position:relative}
.hero-ornament::before{content:'';position:absolute;inset:12%;border:2px solid rgba(201,169,78,.2);border-radius:50%}
.hero-ornament::after{content:'';position:absolute;inset:22%;border:1px solid rgba(201,169,78,.12);border-radius:50%}
.hero-ornament span{font-family:var(--font-arabic);font-size:5rem;color:rgba(201,169,78,.7);font-weight:700}
.hero-ring{position:absolute;width:400px;height:400px;border-radius:50%;border:1px solid rgba(255,255,255,.04);animation:spin 30s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===== ISLAMIC PATTERN DIVIDER ===== */
.pattern-divider{height:60px;background:var(--white);position:relative;overflow:hidden}
.pattern-divider::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='80' height='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M40 0L47 6h-14L40 0zm0 24l-7-6h14l-7 6zm0-12l10 8H30l10-8z' fill='none' stroke='%23D1FAE5' stroke-width='1.5'/%3E%3C/svg%3E") repeat-x center;opacity:.6}

/* ===== PROGRAM CARDS ===== */
.programs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.75rem}
.program-card{background:var(--white);border-radius:var(--radius-lg);padding:2rem 1.75rem 2.5rem;box-shadow:var(--shadow-sm);transition:all var(--transition);text-decoration:none;color:inherit;border:1px solid var(--gray-100);position:relative;overflow:hidden;display:flex;flex-direction:column}
.program-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--green-600),var(--gold-500));opacity:0;transition:opacity var(--transition)}
.program-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent}
.program-card:hover::before{opacity:1}
.program-card .card-icon-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}
.program-card .card-icon{width:50px;height:50px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}
.card-icon.green{background:linear-gradient(135deg,var(--green-100),var(--green-50));color:var(--green-800)}
.card-icon.gold{background:linear-gradient(135deg,var(--gold-100),var(--gold-50));color:var(--gold-700)}
.card-icon.teal{background:linear-gradient(135deg,#CFFAFE,#ECFEFF);color:#0E7490}
.program-card h3{font-size:1.1rem;margin-bottom:.4rem}
.program-card .card-meta{font-size:.82rem;color:var(--gray-400);margin-bottom:.75rem;display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}
.program-card p{font-size:.9rem;color:var(--gray-500);line-height:1.65;flex:1}
.program-card .card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--gray-100)}
.program-card .card-badge{font-size:.72rem;font-weight:600;padding:.25rem .7rem;border-radius:999px;background:var(--green-50);color:var(--green-700)}
.program-card .card-arrow{width:34px;height:34px;border-radius:50%;background:var(--gray-50);display:flex;align-items:center;justify-content:center;transition:all var(--transition);color:var(--gray-400);font-size:1.1rem}
.program-card:hover .card-arrow{background:var(--gold-100);color:var(--gold-700);transform:translateX(3px)}

/* ===== JADWAL TABLE ===== */
.schedule-section{background:var(--white)}
.schedule-mini{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid var(--gray-100);max-width:750px;margin:0 auto}
.schedule-row{display:grid;grid-template-columns:90px 200px 1fr;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--gray-50);font-size:.9rem;gap:1rem;transition:background .2s}
.schedule-row:hover{background:var(--green-50)}
.schedule-row:last-child{border-bottom:none}
.schedule-row .day{font-weight:700;color:var(--green-800);background:var(--green-50);padding:.3rem .7rem;border-radius:var(--radius-xs);text-align:center;font-size:.82rem;white-space:nowrap}
.schedule-row .day.gold{background:var(--gold-50);color:var(--gold-700)}
.schedule-row .prog-name{font-weight:600}
.schedule-row .prog-location{color:var(--gray-400);font-size:.82rem}

/* ===== AYAT SECTION ===== */
.ayat-section{background:linear-gradient(170deg,var(--green-950),var(--green-900));color:var(--white);text-align:center;padding:5rem 0;position:relative;overflow:hidden}
.ayat-section::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='80' height='80' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='40' cy='40' r='38' fill='none' stroke='rgba(201,169,78,.04)' stroke-width='1.5'/%3E%3C/svg%3E") repeat;mask-image:radial-gradient(ellipse at center,black 20%,transparent 70%)}
.ayat-section .container{position:relative;z-index:1}
.ayat-arabic{font-family:var(--font-quran);font-size:clamp(1.5rem,3vw,2.2rem);color:var(--gold-400);line-height:2.4;max-width:700px;margin:0 auto 1.5rem;direction:rtl;font-style:italic}
.ayat-trans{font-size:1.05rem;color:rgba(255,255,255,.72);font-style:italic;max-width:600px;margin:0 auto .75rem;line-height:1.8}
.ayat-source{font-size:.82rem;color:var(--gold-600);font-weight:600;letter-spacing:.03em}

/* ===== USTADZ / PERSON CARDS ===== */
.person-card{background:var(--white);border-radius:var(--radius-lg);padding:2.25rem 2rem;box-shadow:var(--shadow-sm);transition:all var(--transition);border:1px solid var(--gray-100);text-align:center}
.person-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.person-card .person-avatar{width:100px;height:100px;border-radius:50%;object-fit:cover;margin:0 auto 1.25rem;display:block;box-shadow:0 4px 16px rgba(0,0,0,.1)}
.person-card h3{font-size:1.05rem;margin-bottom:.3rem}
.person-card .person-role{font-size:.8rem;color:var(--gold-700);font-weight:600;margin-bottom:.65rem}
.person-card p{font-size:.85rem;color:var(--gray-500);line-height:1.6}

/* ===== STATS ===== */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.5rem;max-width:700px;margin:2.5rem auto 0}
.stat-item{text-align:center;padding:1.25rem;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-xs);border:1px solid var(--gray-100)}
.stat-number{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,var(--green-800),var(--green-600));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}
.stat-label{color:var(--gray-400);font-size:.82rem;margin-top:.35rem}

/* ===== LOCATION CARDS ===== */
.location-card{background:var(--white);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);transition:all var(--transition)}
.location-card:hover{box-shadow:var(--shadow-md)}
.location-card h3{font-size:1.08rem;margin-bottom:.6rem;display:flex;align-items:center;gap:.5rem}
.location-card .loc-address{color:var(--gray-500);font-size:.9rem;margin-bottom:.5rem;line-height:1.6}
.location-card .loc-programs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem}
.location-card .loc-tag{font-size:.72rem;font-weight:600;padding:.25rem .7rem;border-radius:999px;background:var(--green-50);color:var(--green-700)}
.location-card .loc-tag.gold{background:var(--gold-50);color:var(--gold-700)}
.location-card .loc-accent{position:absolute;top:0;left:0;right:0;height:4px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}
.loc-accent.green-accent{background:linear-gradient(90deg,var(--green-800),var(--green-600))}
.loc-accent.gold-accent{background:linear-gradient(90deg,var(--gold-600),var(--gold-400))}
.location-card{position:relative;padding-top:calc(2rem + 4px)}
.location-card .loc-photo{width:100%;max-height:140px;object-fit:cover;border-radius:var(--radius-sm);margin-bottom:1rem}

/* ===== CTA ===== */
.cta-section{background:linear-gradient(150deg,var(--gold-50) 0%,var(--cream) 40%,var(--green-50) 100%);position:relative}
.cta-box{background:var(--white);border-radius:var(--radius-xl);padding:3rem;box-shadow:var(--shadow-lg);border:1px solid var(--gray-100);max-width:650px;margin:0 auto;text-align:center}

/* ===== FOOTER ===== */
.footer{background:var(--gray-900);color:var(--gray-400);padding:5rem 0 2rem;position:relative}
.footer::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--green-800),var(--gold-600),var(--green-800))}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-brand .footer-logo{font-size:1.2rem;font-weight:800;color:var(--white);margin-bottom:.6rem}
.footer-brand p{font-size:.86rem;line-height:1.75}
.footer h4{color:var(--white);font-size:.82rem;text-transform:uppercase;letter-spacing:.07em;margin-bottom:1.25rem;font-weight:600}
.footer ul{list-style:none} .footer ul li{margin-bottom:.55rem}
.footer ul a{color:var(--gray-400);text-decoration:none;font-size:.86rem;transition:color .2s}
.footer ul a:hover{color:var(--gold-400)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;font-size:.8rem;flex-wrap:wrap;gap:1rem}

/* ===== PAGE HEADER (subpages) ===== */
.page-header{padding:130px 0 3.5rem;background:linear-gradient(170deg,var(--green-950),var(--green-800));color:var(--white);text-align:center;position:relative;overflow:hidden}
.page-header::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(201,169,78,.06) 0%,transparent 60%)}
.page-header .container{position:relative;z-index:1}
.page-header h1{color:var(--white);margin-bottom:.3rem}
.page-header .breadcrumb{font-size:.84rem;color:rgba(255,255,255,.55);margin-bottom:.3rem}
.page-header .breadcrumb a{color:var(--gold-400);text-decoration:none}
.page-header .arabic-sub{font-family:var(--font-arabic);font-size:1.15rem;color:var(--gold-400);direction:rtl;font-weight:600}

/* ===== PROGRAM DETAIL LAYOUT ===== */
.program-layout{display:grid;grid-template-columns:1fr 340px;gap:2.5rem;align-items:start}
.program-main h2{font-size:1.6rem;margin-bottom:1rem}
.program-main .lead{font-size:1.05rem;color:var(--gray-500);line-height:1.85;margin-bottom:1.5rem}
.program-sidebar{display:flex;flex-direction:column;gap:1rem}
.info-card{background:var(--white);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--gray-100)}
.info-card h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:var(--gray-400);margin-bottom:.4rem;font-weight:600}
.info-card .info-value{font-weight:600;color:var(--gray-800);font-size:.95rem}
.info-card .info-sub{font-size:.8rem;color:var(--gray-400);margin-top:.15rem}

/* ===== RANGKAIAN (numbered steps) ===== */
.steps-list{list-style:none;counter-reset:step;max-width:640px}
.steps-list li{counter-increment:step;display:flex;gap:1.25rem;padding:1.25rem 0;border-bottom:1px solid var(--gray-100)}
.steps-list li:last-child{border-bottom:none}
.steps-list .step-num{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--green-800),var(--green-700));color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0;box-shadow:0 4px 12px rgba(13,92,61,.2)}
.steps-list .step-body h4{font-size:.98rem;margin-bottom:.2rem}
.steps-list .step-body p{font-size:.84rem;color:var(--gray-400)}

/* ===== KITAB CARDS ===== */
.kitab-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}
.kitab-card{background:var(--white);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);border-left:4px solid var(--green-800);transition:all var(--transition)}
.kitab-card:hover{box-shadow:var(--shadow-md)}
.kitab-card.gold-border{border-left-color:var(--gold-600)}
.kitab-card .kitab-icon{font-size:1.5rem;margin-bottom:.75rem}
.kitab-card h3{font-size:1.05rem;margin-bottom:.3rem}
.kitab-card .kitab-author{font-size:.82rem;color:var(--gold-700);font-weight:600;margin-bottom:.5rem}
.kitab-card .kitab-teacher{font-size:.82rem;color:var(--gray-400)}
.kitab-card .kitab-teacher strong{color:var(--gray-700)}

/* ===== GALLERY PLACEHOLDER ===== */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.gallery-placeholder{aspect-ratio:4/3;background:linear-gradient(135deg,var(--gray-100),var(--gray-50));border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--gray-300);font-size:.9rem;border:2px dashed var(--gray-200);transition:all var(--transition)}
.gallery-placeholder:hover{border-color:var(--gold-400);color:var(--gold-500)}
.gallery-img{width:100%;max-width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);transition:all var(--transition)}
.gallery-img:hover{transform:scale(1.03);box-shadow:var(--shadow-md)}

/* ===== GOLD BACKGROUND SECTION ===== */
.bg-gold-gradient{background:linear-gradient(150deg,var(--gold-50),var(--cream),var(--gold-50))}
.bg-white{background:var(--white)}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .program-layout{grid-template-columns:1fr}
  .program-sidebar{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
}
@media(max-width:900px){
  .hero .container{grid-template-columns:1fr;text-align:center}
  .hero-desc{margin-inline:auto}
  .hero-buttons{justify-content:center}
  .hero-visual{display:none}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .container{padding:0 1rem}
  body{overflow-x:hidden}
  .section{padding:3rem 0}
  .nav-links{display:none}
  .nav-toggle{display:flex}
  .nav-links.open{display:flex;flex-direction:column;position:absolute;top:72px;left:0;right:0;background:rgba(255,255,255,.98);padding:1.5rem;border-bottom:1px solid var(--gray-200);box-shadow:var(--shadow-lg);gap:1rem;backdrop-filter:blur(16px)}
  .schedule-row{grid-template-columns:1fr;gap:.25rem;padding:.9rem 1.2rem}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;text-align:center}
  .programs-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}
  .stat-number{font-size:1.8rem}
  .hero{padding:120px 0 3rem}
  .hero-ornament{width:200px;height:200px}
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}
  .gallery-img{aspect-ratio:1/1}
  .location-card .loc-photo{max-height:120px}
  .kitab-grid{grid-template-columns:1fr}
  .hero h1{font-size:1.8rem}
  .hero-arabic{font-size:1rem}
  .hero-desc{font-size:.95rem}
  .section-header h2{font-size:1.4rem}
  .person-card{padding:1.5rem 1rem}
  .location-card{padding:1.25rem}
  .cta-box{padding:1.5rem}
  .footer{padding:2rem 0}
}
