@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+Devanagari:wght@600;700;800&family=Noto+Sans+Devanagari:wght@400;500;600;700&display=swap');

:root{
  --ink:#211D1A;
  --bone:#F7F2E9;
  --bone-dim:#EFE7D7;
  --brick:#A63D2F;
  --brick-dark:#7E2E22;
  --yolk:#E8A33D;
  --sage:#6B7A5E;
  --line: rgba(33,29,26,0.14);
  --shadow: 0 10px 30px rgba(33,29,26,0.12);
  --radius: 4px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bone);
  color:var(--ink);
  font-family:'Noto Sans Devanagari','Noto Sans',sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{
  font-family:'Noto Serif Devanagari','Noto Serif',serif;
  font-weight:800;
  letter-spacing:-0.01em;
  margin:0;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.container{max-width:1140px;margin:0 auto;padding:0 24px;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
}

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:var(--ink);
  border-bottom:3px solid var(--brick);
}
.site-header .row{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 24px;
}
.brand{display:flex; align-items:center; gap:12px;}
.brand img{width:44px; height:44px; border-radius:50%; background:var(--bone); object-fit:cover;}
.brand-text{color:var(--bone);}
.brand-text .name{font-family:'Noto Serif Devanagari',serif; font-weight:800; font-size:1.05rem; line-height:1.15;}
.brand-text .sub{font-size:0.72rem; color:var(--yolk); letter-spacing:0.04em;}
.nav{display:flex; gap:28px;}
.nav a{color:var(--bone); font-size:0.92rem; font-weight:600; opacity:0.88; transition:opacity .2s, color .2s;}
.nav a:hover, .nav a:focus-visible{opacity:1; color:var(--yolk); outline:none;}
.nav-toggle{display:none;}

@media (max-width:760px){
  .nav{
    position:absolute; top:100%; left:0; right:0;
    background:var(--ink);
    flex-direction:column; gap:0;
    max-height:0; overflow:hidden;
    transition:max-height .3s ease;
    border-bottom:3px solid var(--brick);
  }
  .nav.open{max-height:320px;}
  .nav a{padding:14px 24px; border-top:1px solid rgba(247,242,233,0.1);}
  .nav-toggle{
    display:block; background:none; border:2px solid var(--bone); color:var(--bone);
    font-size:1.3rem; width:40px; height:40px; border-radius:4px; cursor:pointer;
  }
}

/* ---------- Hero ---------- */
.hero{
  background:
    radial-gradient(circle at 85% 20%, rgba(232,163,61,0.16), transparent 45%),
    var(--ink);
  color:var(--bone);
  padding:76px 0 60px;
  position:relative;
  overflow:hidden;
}
.hero .container{display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:center;}
.eyebrow{
  display:inline-block; font-size:0.78rem; font-weight:700; letter-spacing:0.14em;
  color:var(--yolk); text-transform:uppercase; margin-bottom:14px;
}
.hero h1{font-size:clamp(2.1rem, 4.4vw, 3.4rem); line-height:1.08; color:var(--bone);}
.hero h1 span{color:var(--yolk);}
.hero p.lede{margin-top:18px; font-size:1.08rem; color:rgba(247,242,233,0.82); max-width:46ch;}
.hero-ctas{display:flex; gap:14px; margin-top:30px; flex-wrap:wrap;}

.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 24px; border-radius:2px; font-weight:700; font-size:0.95rem;
  border:2px solid transparent; cursor:pointer; transition:transform .15s ease, background .2s ease;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--brick); color:var(--bone);}
.btn-primary:hover{background:var(--brick-dark);}
.btn-outline{border-color:var(--bone); color:var(--bone);}
.btn-outline:hover{background:var(--bone); color:var(--ink);}

.stamp{
  position:absolute; border:3px solid var(--yolk); color:var(--yolk);
  border-radius:50%; width:118px; height:118px;
  display:flex; align-items:center; justify-content:center; text-align:center;
  font-family:'Noto Serif Devanagari',serif; font-weight:800; font-size:1.1rem;
  transform:rotate(-16deg); top:26px; right:24px; opacity:0.9;
  letter-spacing:0.02em;
}

.hero-art{
  position:relative;
  display:grid; grid-template-columns:1fr 1fr; gap:16px;
}
.hero-art img{
  background:var(--bone); border-radius:8px; padding:14px;
  box-shadow:var(--shadow);
}
.hero-art .tall{grid-row:span 2;}

@media (max-width:900px){
  .hero .container{grid-template-columns:1fr;}
  .hero-art{order:-1; max-width:340px; margin:0 auto;}
  .stamp{position:static; margin-bottom:16px; transform:rotate(-8deg);}
}

/* ---------- Section shells ---------- */
section{padding:64px 0;}
.section-head{max-width:640px; margin:0 auto 40px; text-align:center;}
.section-head .eyebrow{color:var(--brick);}
.section-head h2{font-size:clamp(1.6rem,3vw,2.2rem);}
.section-head p{margin-top:12px; color:rgba(33,29,26,0.7);}

.section-alt{background:var(--bone-dim);}

/* ---------- Price board ---------- */
.category-block{margin-bottom:44px;}
.category-title{
  font-family:'Noto Serif Devanagari',serif; font-weight:700; font-size:1.2rem;
  color:var(--brick); border-bottom:2px solid var(--line); padding-bottom:10px; margin-bottom:20px;
  display:flex; align-items:center; gap:10px;
}
.price-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(190px,1fr)); gap:16px;
}
.price-card{
  background:var(--bone); border:1.5px dashed var(--line); border-radius:6px;
  padding:16px; text-align:center; position:relative;
  transition:transform .18s ease, box-shadow .18s ease;
}
.price-card:hover{transform:translateY(-4px); box-shadow:var(--shadow);}
.price-card img{width:64px; height:64px; object-fit:contain; margin:0 auto 10px;}
.price-card .item-name{font-weight:700; font-size:0.94rem; line-height:1.3; min-height:2.5em;}
.price-card .item-price{
  margin-top:10px; font-family:'Noto Serif Devanagari',serif; font-weight:800;
  color:var(--brick); font-size:1.18rem;
}
.price-card .item-price::before{content:"रु ";font-size:0.8em;}
.price-card .unit{font-size:0.72rem; color:rgba(33,29,26,0.55);}
.price-loading, .price-empty{
  text-align:center; padding:30px 10px; color:rgba(33,29,26,0.6); font-size:0.95rem;
}

/* ---------- Apps ---------- */
.apps-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:22px;}
.app-card{
  background:var(--ink); color:var(--bone); border-radius:8px; padding:28px;
  display:flex; flex-direction:column; gap:14px; box-shadow:var(--shadow);
}
.app-card img{width:52px; height:52px; border-radius:12px;}
.app-card h3{font-size:1.1rem;}
.app-card p{color:rgba(247,242,233,0.72); font-size:0.92rem; flex-grow:1;}
.app-card a.policy-link{
  font-size:0.85rem; font-weight:700; color:var(--yolk); border-top:1px solid rgba(247,242,233,0.15);
  padding-top:12px; display:inline-flex; align-items:center; gap:6px;
}
.app-card a.policy-link:hover{text-decoration:underline;}

/* ---------- Payments ---------- */
.pay-row{display:flex; gap:24px; flex-wrap:wrap; align-items:center; justify-content:center;}
.pay-row .pay-item{
  background:var(--bone); border:1px solid var(--line); border-radius:8px; padding:14px 22px;
  display:flex; align-items:center; gap:10px; font-weight:600; font-size:0.9rem;
}
.pay-row img{width:32px; height:32px; object-fit:contain;}

/* ---------- Contact ---------- */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start;}
.contact-card{background:var(--ink); color:var(--bone); border-radius:8px; padding:32px;}
.contact-card h3{color:var(--yolk); font-size:1.1rem; margin-bottom:18px;}
.contact-row{display:flex; gap:14px; margin-bottom:16px; align-items:flex-start;}
.contact-row .label{font-size:0.75rem; color:rgba(247,242,233,0.6); text-transform:uppercase; letter-spacing:0.06em;}
.contact-row .value{font-weight:700; font-size:1.02rem;}
.contact-row a.value{color:var(--yolk);}
.map-embed{border-radius:8px; overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--line); min-height:280px;}
.map-embed iframe{width:100%; height:100%; min-height:280px; border:0; display:block;}

@media (max-width:800px){
  .contact-grid{grid-template-columns:1fr;}
}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink); color:rgba(247,242,233,0.65); padding:40px 0 26px;}
.site-footer .container{display:flex; flex-wrap:wrap; gap:24px; justify-content:space-between; align-items:center;}
.site-footer .fbrand{display:flex; align-items:center; gap:10px; color:var(--bone); font-weight:700;}
.site-footer .fbrand img{width:32px; height:32px; border-radius:50%;}
.footer-links{display:flex; gap:20px; flex-wrap:wrap; font-size:0.88rem;}
.footer-links a:hover{color:var(--yolk);}
.footer-bottom{margin-top:22px; font-size:0.78rem; opacity:0.6; text-align:center;}

/* ---------- Policy pages ---------- */
.policy-hero{background:var(--ink); color:var(--bone); padding:56px 0 40px;}
.policy-hero .eyebrow{color:var(--yolk);}
.policy-hero h1{font-size:clamp(1.6rem,3.6vw,2.4rem);}
.policy-hero p{margin-top:10px; color:rgba(247,242,233,0.75);}
.policy-body{max-width:760px; margin:0 auto; padding:56px 24px;}
.policy-body h2{font-size:1.25rem; color:var(--brick); margin-top:36px; margin-bottom:12px;}
.policy-body h2:first-child{margin-top:0;}
.policy-body p, .policy-body li{color:rgba(33,29,26,0.82); font-size:0.98rem;}
.policy-body ul{padding-left:20px;}
.policy-body li{margin-bottom:8px;}
.policy-meta{font-size:0.85rem; color:rgba(33,29,26,0.55); margin-bottom:8px;}
.back-link{display:inline-flex; align-items:center; gap:6px; font-weight:700; color:var(--brick); margin-bottom:20px;}
.back-link:hover{text-decoration:underline;}