/* ===== ASRAYA GURUKUL — SHARED STYLESHEET ===== */
:root {
  --saffron:       #C8511A;
  --saffron-light: #E8824A;
  --turmeric:      #D4961A;
  --turmeric-pale: #F5D98B;
  --leaf:          #3E6B38;
  --leaf-light:    #5A8F52;
  --leaf-pale:     #C8DEC4;
  --parchment:     #FAF3E4;
  --parchment-mid: #F0E4C8;
  --parchment-deep:#E2CFA0;
  --earth:         #7A4A1E;
  --bark:          #9C6A3A;
  --sand:          #C4A06A;
  --cream-white:   #FFFDF6;
  --text-dark:     #1A1208;
  --text-mid:      #3D2710;
  --text-light:    #6B4E28;
  --border:        rgba(122,74,30,0.12);
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Nunito Sans',sans-serif; background:var(--cream-white); color:var(--text-dark); overflow-x:hidden; }

/* NAV */
nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding:1.1rem 5%;
  display:flex; align-items:center; justify-content:space-between;
  background:rgba(255,253,246,0.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
  transition:box-shadow 0.3s;
}
.nav-logo { font-family:'Cinzel',serif; font-size:1.5rem; letter-spacing:0.15em; color:var(--saffron); text-decoration:none; display:flex; align-items:center; gap:0.6rem; }
.nav-logo-text { color: var(--text-dark); font-size: 1rem; }
.nav-links { display:flex; gap:2.5rem; list-style:none; }
.nav-links a { font-size:0.88rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-mid); text-decoration:none; transition:color 0.2s; font-weight:500; }
.nav-links a:hover, .nav-links a.active { color:var(--saffron); }
.nav-cta { background:var(--saffron); color:white; border:none; padding:0.6rem 1.5rem; cursor:pointer; font-family:'Nunito Sans',sans-serif; font-size:0.88rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; transition:background 0.2s; border-radius:2px; text-decoration:none; display:inline-block; }
.nav-cta:hover { background:#A83E10; }

/* PAGE HERO (used on inner pages) */
.page-hero {
  min-height:50vh;
  display:flex; align-items:center;
  padding:9rem 5% 4rem;
  background: radial-gradient(ellipse at 75% 25%, rgba(212,150,26,0.13) 0%,transparent 50%),
              radial-gradient(ellipse at 15% 75%, rgba(62,107,56,0.1) 0%,transparent 50%),
              linear-gradient(160deg, #FFFCF2 0%, var(--parchment) 60%, #F5EBD0 100%);
}
.page-hero-content { max-width:700px; }
.page-hero-eyebrow { display:inline-flex; align-items:center; gap:0.8rem; font-family:'Cinzel',serif; font-size:0.9rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--saffron); font-weight:500; margin-bottom:1.2rem; background:rgba(200,81,26,0.07); padding:0.4rem 1rem 0.4rem 0.8rem; border-left:2px solid var(--saffron); }
.page-hero h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(2.6rem,5vw,4.2rem); font-weight:400; line-height:1.1; color:var(--text-dark); margin-bottom:1.2rem; }
.page-hero h1 em { font-style:italic; color:var(--saffron); }
.page-hero-sub { font-size:1.1rem; line-height:1.85; color:var(--text-mid); max-width:600px; }

/* SECTIONS */
section { padding:6rem 5%; }
.section-label { display:inline-flex; align-items:center; gap:0.7rem; font-family:'Cinzel',serif; font-size:1.1rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--saffron); margin-bottom:1.2rem; }
.section-label::before { content:''; display:block; width:1.6rem; height:1.5px; background:var(--saffron); }
.section-title { font-family:'Cormorant Garamond',serif; font-size:clamp(2.2rem,3.8vw,3.4rem); font-weight:400; line-height:1.2; color:var(--text-dark); margin-bottom:1.4rem; }
.section-title em { font-style:italic; color:var(--saffron); }
.section-body { font-size:1.2rem; line-height:1.9; font-weight:500; color:var(--text-mid); max-width:600px; }

/* BUTTONS */
.btn-primary { background:var(--saffron); color:white; padding:0.95rem 2.2rem; border:none; cursor:pointer; font-family:'Nunito Sans',sans-serif; font-size:0.95rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; transition:all 0.25s; text-decoration:none; display:inline-block; border-radius:2px; box-shadow:0 4px 20px rgba(200,81,26,0.25); }
.btn-primary:hover { background:#A83E10; transform:translateY(-2px); box-shadow:0 6px 28px rgba(200,81,26,0.35); }
.btn-outline { background:transparent; color:var(--text-dark); padding:0.95rem 2.2rem; border:1.5px solid var(--parchment-deep); cursor:pointer; font-family:'Nunito Sans',sans-serif; font-size:0.95rem; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; transition:all 0.25s; text-decoration:none; display:inline-block; border-radius:2px; }
.btn-outline:hover { border-color:var(--leaf); color:var(--leaf); }

/* CARDS (shared grid/card pattern used across pages) */
.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.info-card { background:white; padding:2.2rem 1.8rem; border:1px solid var(--parchment-deep); border-radius:4px; position:relative; overflow:hidden; transition:all 0.3s; box-shadow:0 2px 12px rgba(122,74,30,0.05); }
.info-card:hover { transform:translateY(-5px); box-shadow:0 12px 40px rgba(122,74,30,0.12); }
.info-card-accent { position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(to right,var(--saffron),var(--turmeric)); }
.info-card-icon { font-size:2rem; margin-bottom:1rem; display:block; }
.info-card h3 { font-family:'Cormorant Garamond',serif; font-size:1.5rem; font-weight:500; color:var(--text-dark); margin-bottom:0.7rem; }
.info-card p { font-size:0.97rem; line-height:1.8; color:var(--text-mid); }

.parchment-bg { background:var(--parchment); position:relative; }
.parchment-bg::before { content:''; position:absolute; top:0; left:5%; right:5%; height:1px; background:linear-gradient(to right,transparent,var(--parchment-deep),transparent); }

/* QUOTE BAND */
.quote-band { padding:5rem 5%; background:linear-gradient(135deg,var(--leaf),#2D5228); text-align:center; position:relative; overflow:hidden; }
.quote-band blockquote { font-family:'Cormorant Garamond',serif; font-size:clamp(1.4rem,2.8vw,2rem); font-style:italic; font-weight:300; line-height:1.65; color:rgba(255,253,240,0.92); max-width:780px; margin:0 auto 1.5rem; position:relative; z-index:1; }
.quote-cite { font-size:0.72rem; letter-spacing:0.2em; text-transform:uppercase; color:rgba(255,253,240,0.45); font-style:normal; }

/* FOOTER */
footer { padding:4.5rem 5% 2rem; background:var(--text-dark); color:rgba(250,243,228,0.7); }
.footer-top { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:3rem; margin-bottom:3rem; }
.footer-brand .logo { font-family:'Cinzel',serif; font-size:1.1rem; color:var(--turmeric-pale); letter-spacing:0.15em; margin-bottom:1rem; display:block; }
.footer-brand p { font-size:0.92rem; line-height:1.85; font-weight:300; max-width:280px; }
.footer-col h4 { font-family:'Cinzel',serif; font-size:0.72rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--sand); margin-bottom:1.2rem; }
.footer-col ul { list-style:none; }
.footer-col ul li { margin-bottom:0.6rem; }
.footer-col ul a { font-size:0.92rem; font-weight:300; color:rgba(250,243,228,0.6); text-decoration:none; transition:color 0.2s; }
.footer-col ul a:hover { color:var(--turmeric-pale); }
.footer-bottom { padding-top:2rem; border-top:1px solid rgba(255,255,255,0.08); display:flex; justify-content:space-between; align-items:center; font-size:0.82rem; color:rgba(250,243,228,0.4); }
.footer-bottom span:last-child { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:0.9rem; color:rgba(250,243,228,0.35); }

/* HAMBURGER + MOBILE MENU */
.nav-hamburger { display:none; flex-direction:column; justify-content:center; gap:5px; background:none; border:none; cursor:pointer; padding:4px; z-index:200; }
.nav-hamburger span { display:block; width:24px; height:2px; background:var(--text-dark); border-radius:2px; transition:all 0.3s; }
.nav-hamburger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2){ opacity:0; }
.nav-hamburger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.mobile-menu { display:none; position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(255,253,246,0.98); backdrop-filter:blur(12px); z-index:150; flex-direction:column; align-items:center; justify-content:center; gap:2.5rem; }
.mobile-menu.open { display:flex; }
.mobile-menu a { font-family:'Cinzel',serif; font-size:1.3rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--text-dark); text-decoration:none; transition:color 0.2s; }
.mobile-menu a:hover { color:var(--saffron); }
.mobile-menu .mobile-cta { margin-top:1rem; background:var(--saffron); color:white; border:none; padding:0.9rem 2.5rem; font-family:'Nunito Sans',sans-serif; font-size:0.95rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; border-radius:2px; text-decoration:none; }

/* REVEAL ANIMATION */
.reveal { opacity:0; transform:translateY(22px); transition:opacity 0.7s ease,transform 0.7s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:0.1s; }
.reveal-delay-2 { transition-delay:0.2s; }
.reveal-delay-3 { transition-delay:0.3s; }

/* RESPONSIVE */
@media(max-width:768px){
  nav { padding:0.9rem 5%; }
  .nav-links, .nav-cta { display:none; }
  .nav-hamburger { display:flex; }
  .page-hero { padding:6rem 5% 3rem; }
  section { padding:4rem 5%; }
  .card-grid { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr; gap:2rem; }
  .footer-bottom { flex-direction:column; gap:0.8rem; text-align:center; }
}