/* ============================================================
   Rampura Veeranjaneya Swamy — design system
   Implemented from the "Viranjanaya Swamy Design System" handoff
   (AxisFlow warm reskin): cream surfaces, warm ink, coral-orange
   accent, sand hairlines, warm-charcoal dark sections.
   Newsreader (display/serif) + Hanken Grotesk (UI) + Mukta (Devanagari)
   + Noto Serif Kannada.
   ============================================================ */
@import url("https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400;1,6..72,500;1,6..72,600&family=Mukta:wght@400;500;600;700&family=Noto+Serif+Kannada:wght@400;500;600;700&display=swap");

:root {
  /* Coral-orange accent */
  --kumkum-50:#FCEAE2; --kumkum-100:#F9D4C5; --kumkum-300:#F3996F;
  --kumkum-500:#EE5A2A; --kumkum-600:#D8481C; --kumkum-700:#B83C18;
  --maroon-800:#2A2622; --maroon-900:#1A1714;
  --saffron-50:#FBEDE3; --saffron-100:#F7DAC7; --saffron-300:#F2AC7E;
  --saffron-500:#F0793C; --saffron-700:#C2531F;
  --brass-300:#DCD6CB; --brass-400:#C3BCAF; --brass-500:#A89F90; --brass-700:#6E665A;
  --cream-50:#FBFAF6; --cream-100:#F4F1EA; --cream-200:#ECE8DF;
  --sand-300:#E4DED3; --sand-400:#CFC8BB; --sand-500:#B0A899;
  --ink-900:#1A1815; --ink-800:#26231E; --ink-700:#3A352F; --ink-600:#6B655C;
  --ink-500:#908A80; --ink-300:#B8B1A6; --white:#FFFFFF;
  --danger-500:#D8472B;

  --surface-page:var(--cream-100);
  --surface-raised:#FCFBF8;
  --surface-sunken:var(--cream-200);
  --surface-deep:var(--maroon-900);
  --surface-deep-2:var(--ink-900);
  --text-primary:var(--ink-900);
  --text-secondary:var(--ink-600);
  --text-muted:var(--ink-500);
  --text-on-dark:var(--cream-50);
  --text-on-dark-dim:#CFC8BC;
  --accent-primary:var(--kumkum-500);
  --accent-primary-hover:var(--kumkum-600);
  --accent-secondary:var(--saffron-500);
  --solid-ink:var(--ink-900);
  --solid-ink-hover:#000000;
  --border-hairline:var(--sand-300);
  --border-strong:var(--sand-400);
  --border-on-dark:rgba(255,255,255,0.16);

  /* type */
  --font-display:'Newsreader','Spectral',Georgia,serif;
  --font-serif:'Newsreader',Georgia,'Times New Roman',serif;
  --font-ui:'Hanken Grotesk','Segoe UI',system-ui,sans-serif;
  --font-kn:'Noto Serif Kannada',Georgia,serif;
  --font-deva:'Mukta',sans-serif;
  --tracking-wider:0.22em;
  --tracking-widest:0.34em;

  /* effects */
  --radius-xs:4px; --radius-sm:9px; --radius-md:14px; --radius-lg:20px; --radius-pill:999px;
  --hairline:1px solid var(--border-hairline);
  --shadow-xs:0 1px 2px rgba(20,18,15,0.05);
  --shadow-sm:0 2px 10px rgba(20,18,15,0.06);
  --shadow-md:0 12px 32px rgba(20,18,15,0.08);
  --shadow-lg:0 26px 64px rgba(20,18,15,0.12);
  --ring:0 0 0 3px rgba(238,90,42,0.35);
  --ease-out:cubic-bezier(0.22,0.61,0.36,1);
  --ease-inout:cubic-bezier(0.45,0,0.2,1);
  --dur-fast:140ms; --dur-base:240ms; --dur-slow:420ms;
  --veil:linear-gradient(to bottom,rgba(20,18,15,0.55),rgba(20,18,15,0.25) 45%,rgba(20,18,15,0.82));
  --glow-saffron:radial-gradient(closest-side,rgba(238,90,42,0.30),rgba(238,90,42,0));
}

*{margin:0;padding:0;box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  font-family:var(--font-ui);
  background:var(--surface-page);
  color:var(--text-primary);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{display:block;max-width:100%;}
.font-kn{font-family:var(--font-kn);}
.font-deva{font-family:var(--font-deva);}
::selection{background:var(--saffron-100);color:var(--ink-900);}

/* ---- Layout ---- */
.wrap{width:100%;max-width:1180px;margin-inline:auto;padding-inline:clamp(1.25rem,5vw,4rem);}

/* ---- Reading body: serif ---- */
main p{font-family:var(--font-serif);}

/* ---- Eyebrow / kicker (orange square + tracked caps) ---- */
.eyebrow{
  display:inline-flex;align-items:center;gap:.6em;
  font-family:var(--font-ui);font-weight:600;
  font-size:.72rem;letter-spacing:var(--tracking-wider);
  text-transform:uppercase;color:var(--text-secondary);line-height:1.4;
}
.eyebrow::before{
  content:"";width:8px;height:8px;flex:none;
  background:var(--accent-primary);border-radius:2px;
}

/* ---- Display headings — Newsreader serif, orange italic emphasis ---- */
.display{
  font-family:var(--font-display);font-weight:500;
  line-height:1.08;letter-spacing:0;color:var(--text-primary);
  text-wrap:balance;
}
.display em,h1 em,h2 em,h3 em{
  font-family:var(--font-display);font-style:italic;font-weight:500;
  color:var(--accent-primary);
}

/* ---- Rules / dividers ---- */
.rule{height:2px;width:48px;background:var(--accent-primary);border:0;border-radius:2px;}
.rule-faint{height:1px;width:44px;background:var(--border-strong);border:0;}
.ornate{display:flex;align-items:center;gap:14px;width:240px;max-width:100%;}
.ornate::before,.ornate::after{content:"";height:1px;flex:1;background:var(--border-on-dark);}
.ornate i{width:9px;height:9px;flex:none;background:var(--accent-primary);border-radius:2px;}

/* ---- Numerals — serif, editorial ---- */
.numeral{font-family:var(--font-display);font-weight:500;letter-spacing:0;color:var(--text-primary);line-height:1;}

/* ---- Buttons ---- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:var(--font-ui);font-weight:600;letter-spacing:.04em;line-height:1;
  padding:.75rem 1.5rem;border-radius:var(--radius-sm);border:1px solid transparent;
  cursor:pointer;white-space:nowrap;
  transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out);
}
.btn svg{width:15px;height:15px;}
.btn-primary{background:var(--solid-ink);color:#fff;box-shadow:var(--shadow-sm);}
.btn-primary:hover{background:var(--solid-ink-hover);}
.btn-secondary{background:var(--surface-raised);color:var(--text-primary);border-color:var(--border-strong);}
.btn-secondary:hover{background:var(--cream-50);border-color:var(--ink-500);}
.btn-ghost{background:transparent;color:var(--accent-primary);}
.btn-ghost:hover{background:var(--saffron-50);}
/* on dark sections */
.btn-light{background:#fff;color:var(--ink-900);}
.btn-light:hover{background:var(--cream-100);}
.btn-ghost-dark{background:transparent;color:var(--cream-50);border-color:var(--border-on-dark);}
.btn-ghost-dark:hover{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.5);}
.btn-lg{padding:1rem 2.1rem;font-size:1rem;}

/* ---- Inputs ---- */
.field{
  width:100%;background:var(--cream-50);border:1px solid var(--border-hairline);
  border-radius:var(--radius-sm);padding:.7rem .9rem;font:inherit;font-size:.95rem;
  color:var(--text-primary);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);
}
.field::placeholder{color:var(--sand-500);}
.field:focus{outline:none;border-color:var(--accent-secondary);box-shadow:var(--ring);}
select.field{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none' stroke='%236E665A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 5l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.4rem;}

/* ---- Scroll reveal (kept calm) ---- */
.reveal{opacity:0;transform:translateY(18px);filter:blur(6px);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out),filter var(--dur-slow) var(--ease-out);}
.reveal.in{opacity:1;transform:none;filter:none;}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;filter:none;transition:none;}
  html{scroll-behavior:auto;}
}

/* ---- Header ---- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,250,246,0.85);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid transparent;transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out);}
.site-header.scrolled{border-bottom-color:var(--border-hairline);background:rgba(251,250,246,0.94);}
.nav-link{font-family:var(--font-ui);font-size:.85rem;font-weight:600;letter-spacing:.02em;color:var(--text-secondary);transition:color var(--dur-base) var(--ease-out);}
.nav-link:hover{color:var(--accent-primary);}
.nav-link.active{color:var(--accent-primary);}

/* ---- Mobile menu ---- */
.mobile-menu{max-height:0;overflow:hidden;transition:max-height var(--dur-slow) var(--ease-out);border-top:1px solid transparent;}
.mobile-menu.open{max-height:90vh;border-top-color:var(--border-hairline);}

/* ---- Lightbox ---- */
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(26,23,20,0.96);display:flex;align-items:center;justify-content:center;padding:2rem;opacity:0;visibility:hidden;transition:opacity var(--dur-base) var(--ease-out),visibility var(--dur-base) var(--ease-out);}
.lightbox.open{opacity:1;visibility:visible;}
.lightbox img{max-height:78vh;width:auto;border-radius:var(--radius-md);border:1px solid var(--border-on-dark);}

/* ---- Utility ---- */
.hover-zoom img{transition:transform var(--dur-slow) var(--ease-out);}
.hover-zoom:hover img{transform:scale(1.04);}

/* ---- Marquee (footer chant parallax fallback) ---- */
@keyframes glowpulse{0%,100%{opacity:.6}50%{opacity:.9}}

/* ---- Language toggle (EN / ಕನ್ನಡ) ---- */
.lang-toggle{font-family:"Noto Serif Kannada",var(--font-ui);font-size:.78rem;font-weight:600;line-height:1;color:var(--text-secondary);background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-pill);padding:.35rem .8rem;cursor:pointer;transition:border-color .2s var(--ease-out),color .2s var(--ease-out);}
.lang-toggle:hover{border-color:var(--ink-900);color:var(--ink-900);}

/* Kannada mode: serif Kannada for translated text, relaxed case/spacing/leading */
html.lang-kn [data-i18n-kn]{font-family:var(--font-kn);}
html.lang-kn .eyebrow{text-transform:none;letter-spacing:.02em;}
html.lang-kn .display[data-i18n-kn],
html.lang-kn h1[data-i18n-kn],
html.lang-kn h2[data-i18n-kn],
html.lang-kn h3[data-i18n-kn]{line-height:1.3;}

/* Footer chant watermark — जय श्री राम, faint orange, anchored to the bottom */
.footer-wm{position:absolute;left:0;right:0;bottom:0;text-align:center;pointer-events:none;user-select:none;z-index:0;font-weight:700;font-size:clamp(4rem,17vw,14rem);line-height:.8;letter-spacing:.04em;white-space:nowrap;color:var(--accent-primary);opacity:.16;}
.footer-wm span{display:inline;}
@media (max-width:640px){
  .footer-wm{white-space:normal;font-size:clamp(3.25rem,22vw,6.5rem);line-height:.96;opacity:.18;}
  .footer-wm span{display:block;}
}

/* Hide iOS's native center play-button on the muted hero video (show the poster instead) */
video::-webkit-media-controls-start-playback-button{display:none !important;-webkit-appearance:none;}
