/* Tirupati Book – Styles */
:root{
  --ink:#0f1a2b;
  --ink-2:#15233a;
  --text:#1c2330;
  --bg:#f6f4ee; /* cream */
  --card:#ffffff;
  --muted:#5b677a;
  --accent:#c86b2f; /* warm accent */
  --accent-2:#a65826;
  --line:#e7e3d9;
  --shadow:0 8px 24px rgba(15,26,43,.08);
  --radius:12px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  color:var(--text); background:var(--bg); line-height:1.6;
}
img{max-width:100%; height:auto; display:block}
a{color:var(--ink)}
a:hover{color:var(--accent)}

.skip-link{position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden}
.skip-link:focus{position:fixed; left:1rem; top:1rem; width:auto; height:auto; background:#fff; color:var(--ink); padding:.5rem .75rem; border-radius:8px; box-shadow:var(--shadow); z-index:10000}

.container{width:min(1100px, 92%); margin-inline:auto}
.tiny{font-size:.875rem; color:var(--muted); padding:1rem 0;}

.site-header{position:sticky; top:0; z-index:1000; background:#fff; border-bottom:1px solid var(--line)}
.header-inner{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem 0}
.brand{display:inline-flex; align-items:center; gap:.6rem; text-decoration:none; color:var(--ink); font-weight:700}
.brand-text{font-weight:700; letter-spacing:.2px}

.nav-toggle{background:transparent; border:1px solid var(--line); border-radius:8px; padding:.4rem .6rem; font-size:1.1rem}
.nav-toggle:focus{outline:3px solid #99b; outline-offset:2px}

.site-nav ul{list-style:none; display:flex; gap:1rem; margin:0; padding:0}
.site-nav a{display:block; padding:.5rem .25rem; text-decoration:none; color:var(--text)}
.site-nav a[aria-current="page"]{color:var(--accent); font-weight:600}

@media (max-width: 900px){
  .site-nav{position:absolute; left:0; right:0; top:100%; background:#fff; border-bottom:1px solid var(--line); display:none}
  .site-nav.open{display:block}
  .site-nav ul{flex-direction:column; gap:0}
  .site-nav a{padding:1rem}
}
@media (min-width: 901px){
  .nav-toggle{display:none}
}

.section{padding:3rem 0}
.hero{background:linear-gradient(180deg, #fff, #fbfaf7)}
.hero-sub{background:#fff}
.hero h1{font-family: Georgia, Cambria, "Times New Roman", Times, serif; font-weight:700; line-height:1.2}
.hero .cta-group{display:flex; gap:.75rem; flex-wrap:wrap; margin-top:1rem}
.hero .hero-points{margin:.75rem 0 0 1rem}

.grid{display:grid; gap:1rem}
.grid-2{grid-template-columns:1fr}
.grid-3{grid-template-columns:1fr}
.grid-4{grid-template-columns:1fr}
.span-3{grid-column:1/-1}
@media (min-width: 720px){
  .grid-2{grid-template-columns:1fr 1fr}
}
@media (min-width: 900px){
  .grid-3{grid-template-columns:repeat(3, 1fr)}
  .grid-4{grid-template-columns:repeat(4, 1fr)}
}

.center{text-align:center}
.rounded{border-radius:var(--radius)}
.shadow{box-shadow:var(--shadow)}

.card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column}
.card-body{padding:1rem}
.profile img{aspect-ratio: 4/3; object-fit:cover}
.categories .card img{aspect-ratio:4/3; object-fit:cover}

.strip.trust{background:#fff; border-block:1px solid var(--line)}
.trust .trust-item img, .strip .trust-item img{aspect-ratio:16/9; object-fit:cover; border-radius:var(--radius)}
.trust figcaption{font-size:.95rem; color:var(--muted); margin-top:.5rem}

.features .feature{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1rem}

.cta{background:linear-gradient(180deg, #fff, #fbfaf7)}

.btn{display:inline-flex; align-items:center; justify-content:center; gap:.4rem; padding:.65rem 1rem; border-radius:10px; border:1px solid var(--ink); text-decoration:none; font-weight:600; cursor:pointer}
.btn-primary{background:var(--accent); color:#fff; border-color:var(--accent)}
.btn-primary:hover{background:var(--accent-2); border-color:var(--accent-2)}
.btn-secondary{background:var(--ink); color:#fff}
.btn-secondary:hover{background:var(--ink-2)}
.btn-outline{background:transparent; color:var(--ink)}
.btn-outline:hover{background:#f1efe9}

/* Forms */
form label{display:block; font-weight:600; margin-bottom:.35rem}
input, select, textarea{width:100%; padding:.65rem .75rem; border-radius:10px; border:1px solid var(--line); background:#fff; color:var(--text)}
input:focus, select:focus, textarea:focus{outline:3px solid #99b; outline-offset:1px}
.form-field{margin-bottom:1rem}
.checkbox{display:flex; align-items:center; gap:.5rem; margin-bottom:.5rem}
.hint{color:var(--muted)}
.error{color:#a52828}
.alert{padding:.75rem 1rem; border-radius:10px; margin-bottom:1rem}
.alert.success{background:#e8f5e9; color:#1b5e20; border:1px solid #c8e6c9}

.faq details{background:#fff; border:1px solid var(--line); border-radius:10px; padding:.75rem 1rem; margin-bottom:.5rem}
.faq summary{cursor:pointer; font-weight:600}

.site-footer{background:#0f1724; color:#e8ecf2; padding:2rem 0 0}
.site-footer a{color:#e8ecf2}
.footer-grid{display:grid; gap:1rem; grid-template-columns:1fr}
@media (min-width: 720px){
  .footer-grid{grid-template-columns:2fr 1fr}
}
.footer-brand{display:flex; align-items:center; gap:.6rem; margin-bottom:.5rem}
.site-footer nav ul{list-style:none; padding:0; margin:0}
.site-footer nav li{margin:.25rem 0}

/* Reveal on scroll */
.reveal{opacity:0; transform:translateY(12px); transition:opacity .6s ease, transform .6s ease}
.reveal.in-view{opacity:1; transform:none}

/* Utilities */
.header-spacer{height:64px}

