/* ============ KIRTHI FOODS — SHARED STYLES ============ */
:root{
  --teal-900:#062a2b;
  --teal-800:#0a3a3b;
  --teal-700:#0e4647;
  --teal-600:#125558;
  --gold:#c9a24a;
  --gold-light:#e6c885;
  --gold-deep:#a07a2a;
  --cream:#f7f1e5;
  --beige:#ece1c8;
  --soft-beige:#f4ead4;
  --black:#0c0c0d;
  --ink:#15181a;
  --line:rgba(201,162,74,.22);
  --line-strong:rgba(201,162,74,.45);
  --white:#ffffff;
  --shadow-lg: 0 30px 60px -20px rgba(6,42,43,.35), 0 18px 36px -18px rgba(6,42,43,.25);
  --shadow-gold: 0 18px 40px -18px rgba(201,162,74,.55);
  --font-display: "Fraunces", "Cormorant Garamond", serif;
  --font-serif: "Cormorant Garamond", serif;
  --font-body: "Inter", -apple-system, sans-serif;
}
*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  font-family:var(--font-body);
  background:var(--cream);
  color:var(--ink);
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--gold); color:var(--teal-900); }

/* Grain overlay */
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:1000;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.055 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  opacity:.5; mix-blend-mode:multiply;
}

/* Typography */
h1,h2,h3,h4{ font-family:var(--font-display); font-weight:400; letter-spacing:-.01em; line-height:1.08; color:var(--teal-900); }
.eyebrow{
  font-family:var(--font-body);
  font-size:.72rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--gold-deep);
  font-weight:500;
  display:inline-flex; align-items:center; gap:.75rem;
}
.eyebrow::before, .eyebrow.center::after{
  content:""; width:36px; height:1px; background:var(--gold);
}
.eyebrow.center{ justify-content:center; }
.eyebrow.light{ color:var(--gold-light); }
.section-title{
  font-size:clamp(2.2rem, 4.8vw, 4rem);
  margin:1.1rem 0 1rem;
  font-weight:300;
}
.section-title em{ font-style:italic; color:var(--gold-deep); font-weight:400; }
.section-sub{
  font-family:var(--font-serif);
  font-size:1.15rem;
  color:rgba(21,24,26,.7);
  max-width:640px;
  font-style:italic;
}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; gap:.7rem;
  padding:1rem 2rem;
  font-family:var(--font-body);
  font-size:.78rem;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  border:none; cursor:pointer;
  transition:all .4s cubic-bezier(.2,.7,.2,1);
  position:relative; overflow:hidden;
}
.btn-gold{
  background:linear-gradient(135deg, var(--gold-light), var(--gold) 50%, var(--gold-deep));
  color:var(--teal-900);
  box-shadow:var(--shadow-gold);
}
.btn-gold:hover{ transform:translateY(-2px); box-shadow:0 24px 50px -20px rgba(201,162,74,.7); }
.btn-ghost{
  background:transparent;
  color:var(--cream);
  border:1px solid rgba(247,241,229,.4);
}
.btn-ghost:hover{ background:rgba(247,241,229,.08); border-color:var(--gold); color:var(--gold-light); }
.btn-dark{
  background:var(--teal-900); color:var(--cream);
  border:1px solid var(--teal-900);
}
.btn-dark:hover{ background:var(--teal-700); transform:translateY(-2px); }
.btn-outline{
  background:transparent; color:var(--teal-900);
  border:1px solid var(--teal-900);
}
.btn-outline:hover{ background:var(--teal-900); color:var(--gold-light); }
.btn i{ transition:transform .4s; }
.btn:hover i{ transform:translateX(4px); }

/* Navigation */
nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding:1.4rem 4vw;
  display:flex; align-items:center; justify-content:space-between;
  transition:all .5s ease;
  background:rgba(6,42,43,.85);
  backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  border-bottom:1px solid rgba(201,162,74,.18);
}
nav.transparent{
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  border-bottom:1px solid transparent;
}
nav.transparent.scrolled{
  background:rgba(6,42,43,.85);
  backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  padding:.9rem 4vw;
  border-bottom:1px solid rgba(201,162,74,.18);
}
.logo{
  font-family:var(--font-display);
  font-size:1.55rem;
  font-weight:500;
  color:var(--cream);
  display:flex; align-items:center; gap:.6rem;
  letter-spacing:.02em;
}
.logo-mark{
  width:38px; height:38px; border-radius:50%;
  background:linear-gradient(135deg, var(--gold-light), var(--gold-deep));
  display:grid; place-items:center;
  color:var(--teal-900); font-weight:700; font-family:var(--font-display);
  box-shadow:0 6px 18px rgba(201,162,74,.4);
}
.logo span{ color:var(--gold-light); font-style:italic; }
.nav-links{
  display:flex; gap:2.6rem; list-style:none;
}
.nav-links a{
  color:var(--cream);
  font-size:.78rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:400;
  position:relative;
  transition:color .3s;
}
.nav-links a::after{
  content:""; position:absolute; left:0; bottom:-6px;
  width:0; height:1px; background:var(--gold);
  transition:width .4s;
}
.nav-links a:hover, .nav-links a.active{ color:var(--gold-light); }
.nav-links a:hover::after, .nav-links a.active::after{ width:100%; }
.nav-cta{
  padding:.7rem 1.5rem !important;
  font-size:.7rem !important;
}
.menu-toggle{
  display:none; background:none; border:none; color:var(--cream); font-size:1.4rem; cursor:pointer;
}

/* Page Hero (for subpages) */
.page-hero{
  min-height:60vh;
  position:relative;
  display:flex; align-items:center;
  overflow:hidden;
  background:var(--teal-900);
  padding-top:8rem;
  padding-bottom:4rem;
}
.page-hero-bg{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  transform:scale(1.05);
  animation:slowZoom 25s ease-out infinite alternate;
}
.page-hero::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background: radial-gradient(ellipse at 70% 50%, rgba(201,162,74,.18), transparent 60%);
}
.page-hero-content{
  position:relative; z-index:5;
  padding:0 6vw;
  max-width:1400px; width:100%; margin:0 auto;
  text-align:center;
}
.page-hero h1{
  color:var(--cream);
  font-size:clamp(2.6rem, 6vw, 5rem);
  font-weight:300;
  margin:1.5rem 0 1rem;
}
.page-hero h1 em{
  font-style:italic;
  color:var(--gold-light);
  font-weight:400;
}
.page-hero .breadcrumb{
  color:rgba(247,241,229,.7);
  font-size:.75rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  margin-top:1rem;
  display:flex; align-items:center; justify-content:center; gap:.7rem;
}
.page-hero .breadcrumb a{ color:var(--gold-light); }
.page-hero .breadcrumb .sep{ color:var(--gold); }
.page-hero p.lead{
  color:rgba(247,241,229,.85);
  font-family:var(--font-serif);
  font-size:1.3rem;
  font-style:italic;
  max-width:700px;
  margin:1.5rem auto 0;
}

@keyframes slowZoom{ from{ transform:scale(1.05); } to{ transform:scale(1.15); } }
@keyframes fadeUp{ from{ opacity:0; transform:translateY(30px); } to{ opacity:1; transform:translateY(0); } }

/* Section base */
section{ padding:7rem 6vw; position:relative; }
.container{ max-width:1400px; margin:0 auto; }
.center{ text-align:center; }
.center .eyebrow{ justify-content:center; }
.center .section-sub{ margin:0 auto; }

/* Footer */
footer{
  background:var(--black); color:var(--cream);
  padding:5rem 6vw 2rem;
  border-top:1px solid rgba(201,162,74,.2);
}
.footer-grid{
  display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:3rem;
  max-width:1400px; margin:0 auto;
}
.footer-brand p{
  color:rgba(247,241,229,.6); margin:1.5rem 0; font-size:.95rem;
  max-width:320px;
}
.footer-socials{ display:flex; gap:.7rem; margin-top:1.5rem; }
.footer-socials a{
  width:42px; height:42px; border-radius:50%;
  background:rgba(247,241,229,.06);
  border:1px solid rgba(201,162,74,.2);
  display:grid; place-items:center;
  color:var(--gold-light);
  transition:all .3s;
}
.footer-socials a:hover{
  background:var(--gold); color:var(--teal-900);
  transform:translateY(-3px);
}
footer h5{
  font-family:var(--font-display); color:var(--gold-light);
  font-size:1rem; letter-spacing:.2em; text-transform:uppercase;
  margin-bottom:1.5rem; font-weight:500;
}
footer ul{ list-style:none; padding:0; }
footer ul li{ padding:.4rem 0; }
footer ul li a{
  color:rgba(247,241,229,.65); font-size:.92rem;
  transition:all .3s;
  display:inline-flex; align-items:center; gap:.5rem;
}
footer ul li a:hover{ color:var(--gold-light); transform:translateX(5px); }
footer ul li a:not(.no-arrow)::before{ content:"›"; color:var(--gold); }
.footer-bottom{
  margin-top:4rem; padding-top:2rem;
  border-top:1px solid rgba(201,162,74,.15);
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:1rem;
  font-size:.8rem; color:rgba(247,241,229,.5);
  max-width:1400px; margin-left:auto; margin-right:auto;
}

/* Floating WhatsApp */
.whatsapp-float{
  position:fixed; bottom:2rem; right:2rem; z-index:99;
  width:60px; height:60px; border-radius:50%;
  background:#25D366; color:#fff;
  display:grid; place-items:center;
  font-size:1.7rem;
  box-shadow:0 12px 30px rgba(37,211,102,.45);
  animation:pulse 2.4s infinite;
  transition:transform .3s;
}
.whatsapp-float:hover{ transform:scale(1.1); animation:none; }
@keyframes pulse{
  0%,100%{ box-shadow:0 12px 30px rgba(37,211,102,.45), 0 0 0 0 rgba(37,211,102,.4); }
  50%{ box-shadow:0 12px 30px rgba(37,211,102,.45), 0 0 0 18px rgba(37,211,102,0); }
}

/* Scroll reveal */
.reveal{ opacity:0; transform:translateY(40px); transition:opacity 1s, transform 1s; }
.reveal.in{ opacity:1; transform:translateY(0); }

/* ====== CTA Banner (used across pages) ====== */
.cta-banner{
  background:var(--teal-900); color:var(--cream);
  padding:5rem 6vw;
  position:relative; overflow:hidden;
  text-align:center;
}
.cta-banner::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(circle at 20% 20%, rgba(201,162,74,.15), transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(201,162,74,.1), transparent 50%);
}
.cta-banner .container{ position:relative; }
.cta-banner h2{
  color:var(--cream);
  font-size:clamp(2rem, 4.5vw, 3.5rem);
  font-weight:300;
}
.cta-banner h2 em{ font-style:italic; color:var(--gold-light); }
.cta-banner p{
  font-family:var(--font-serif); font-style:italic;
  color:rgba(247,241,229,.75);
  font-size:1.15rem; margin:1rem 0 2rem;
  max-width:600px; margin-left:auto; margin-right:auto;
}
.cta-buttons{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

/* Responsive */
@media (max-width:1024px){
  .footer-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:720px){
  nav{ padding:1rem 5vw; }
  .nav-links{
    display:none;
    position:absolute; top:100%; left:0; right:0;
    background:rgba(6,42,43,.97); backdrop-filter:blur(20px);
    flex-direction:column; padding:2rem; gap:1.5rem;
    border-top:1px solid var(--line);
  }
  .nav-links.show{ display:flex; }
  .nav-cta{ display:none; }
  .menu-toggle{ display:block; }
  section{ padding:5rem 5vw; }
  .footer-grid{ grid-template-columns:1fr; }
  .whatsapp-float{ width:54px; height:54px; bottom:1.2rem; right:1.2rem; font-size:1.5rem; }
  .page-hero{ min-height:50vh; padding-top:7rem; }
}
