/* ============ People of Pahad — shared stylesheet ============ */
:root{
  --ink:#1B2126;
  --muted:#5C6570;
  --paper:#FBF8F0;
  --paper-tint:#F1EEDF;
  --line:#E1DAC4;

  --sky-top:#BFE1F0;
  --sky-mid:#E4F0E8;

  --pine:#4C7A52;
  --meadow:#8FB37A;
  --meadow-pale:#D7E7C9;
  --marigold:#F2A93C;
  --terracotta:#C1573B;
  --sky-blue:#4E8FB0;

  --white:#FFFFFF;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Work Sans',sans-serif;
  line-height:1.6;
}
h1,h2,h3{
  font-family:'Space Grotesk',sans-serif;
  font-weight:600;
  letter-spacing:-0.015em;
  color:var(--ink);
}
em{font-family:'Instrument Serif',serif; font-style:italic; font-weight:400;}
a{color:inherit;text-decoration:none;}
.dev{font-family:'Noto Serif Devanagari',serif;}
img{max-width:100%; display:block;}

body.lang-hi h1, body.lang-hi h2, body.lang-hi h3,
body.lang-hi .btn-primary, body.lang-hi .nav-links a, body.lang-hi .nav-cta{
  font-family:'Noto Sans Devanagari', sans-serif; letter-spacing:0;
}
body.lang-hi p, body.lang-hi .tagline, body.lang-hi .eyebrow, body.lang-hi .sub, body.lang-hi .def, body.lang-hi .meaning{
  font-family:'Noto Sans Devanagari', sans-serif;
}

/* ---------- Logo ---------- */
.logo{display:flex;align-items:center;gap:12px;}
.logo svg{width:28px;height:28px;flex-shrink:0;}
.logo .word{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1.02rem;}

.flag-dots{display:flex;gap:7px;align-items:center;}
.flag-dots span{width:7px;height:7px;border-radius:50%;display:inline-block;}
.flag-dots span:nth-child(1){background:var(--sky-blue);}
.flag-dots span:nth-child(2){background:var(--white);border:1px solid rgba(0,0,0,0.15);}
.flag-dots span:nth-child(3){background:var(--terracotta);}
.flag-dots span:nth-child(4){background:var(--pine);}
.flag-dots span:nth-child(5){background:var(--marigold);}

/* ---------- Nav (static, not overlaid — pages need a real header) ---------- */
nav{
  background:var(--paper);
  border-bottom:1px solid var(--line);
  display:flex; justify-content:space-between; align-items:center;
  padding:22px 6vw;
  position:sticky; top:0; z-index:50;
}
.nav-right{display:flex; align-items:center; gap:22px;}
.nav-links{display:flex; gap:30px; font-size:0.92rem; color:var(--ink);}
.nav-links a{opacity:0.75;}
.nav-links a:hover, .nav-links a.current{opacity:1;}
.nav-links a.current{border-bottom:2px solid var(--terracotta); padding-bottom:3px;}
.nav-cta{
  font-size:0.85rem; padding:9px 16px;
  background:var(--ink); color:var(--paper);
  border-radius:100px; white-space:nowrap;
}
.lang-toggle{
  display:flex; border:1.5px solid var(--ink); border-radius:100px; overflow:hidden;
  font-size:0.8rem; font-weight:600;
}
.lang-toggle button{
  padding:6px 12px; background:transparent; border:none; cursor:pointer;
  font-family:'Work Sans',sans-serif; font-size:0.8rem; font-weight:600; color:var(--ink);
}
.lang-toggle button.active{background:var(--ink); color:var(--paper);}

/* ---------- Page header banner (used on inner pages instead of full hero) ---------- */
.page-header{
  background:linear-gradient(180deg, var(--sky-top) 0%, var(--sky-mid) 100%);
  padding:60px 6vw 70px;
  position:relative; overflow:hidden;
}
.page-header .eyebrow{font-size:0.85rem; font-weight:600; color:#2F5462;}
.page-header h1{font-size:clamp(2rem,4vw,3.2rem); margin-top:14px; max-width:16ch; color:#16323E;}
.page-header p{font-size:1.05rem; color:#3C5A63; margin-top:16px; max-width:56ch;}
.page-header .mini-mountains{position:absolute; bottom:0; left:0; width:100%; z-index:0; opacity:0.9;}

/* ---------- Section frame ---------- */
.section-wrap{max-width:1240px; margin:0 auto; padding:90px 6vw;}
.section-wrap.tight{padding-top:50px; padding-bottom:50px;}
.section-intro{max-width:660px; margin-bottom:50px;}
.section-intro .eyebrow{font-size:0.85rem; color:var(--muted); font-weight:600; margin-bottom:12px;}
.section-intro h2{font-size:clamp(1.6rem,3vw,2.3rem);}
.section-intro p{color:var(--muted); margin-top:14px; font-size:1.02rem;}

/* ---------- Ridge divider ---------- */
.ridge{display:block; width:100%; line-height:0; position:relative; z-index:6; margin-top:-1px;}
.ridge svg{width:100%; height:50px; display:block;}

/* ---------- Buttons ---------- */
.btn-primary{
  background:var(--terracotta); color:var(--white);
  padding:14px 26px; border-radius:100px;
  font-size:0.95rem; font-weight:600; display:inline-block;
}
.btn-ghost{padding:14px 6px; border-bottom:1.5px solid var(--ink); font-weight:500; font-size:0.95rem;}
.btn-outline{
  padding:12px 22px; border:1.5px solid var(--ink); border-radius:100px;
  font-size:0.9rem; font-weight:600; display:inline-block;
}

/* ---------- Icon chip ---------- */
.icon-chip{
  width:44px; height:44px; border-radius:10px; background:var(--paper-tint);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.icon-chip svg{width:22px; height:22px; stroke:var(--pine);}

/* ---------- Stat strip ---------- */
.stat-strip{background:var(--ink); color:var(--paper); display:grid; grid-template-columns:repeat(4,1fr);}
.stat{padding:40px 26px; border-right:1px solid rgba(251,248,240,0.15);}
.stat:last-child{border-right:none;}
.stat .num{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:2.1rem; color:var(--marigold);}
.stat .label{font-size:0.85rem; color:#C9D1D6; margin-top:8px; line-height:1.5;}

/* ---------- Region cards (index preview) ---------- */
.region-row{display:grid; grid-template-columns:1fr 1fr 1fr; border-top:1.5px solid var(--ink);}
.region-item{padding:30px 24px 30px 0; border-right:1px solid var(--line);}
.region-item:last-child{border-right:none;}
.region-item .dot{width:9px;height:9px;border-radius:50%; display:inline-block; margin-bottom:12px;}
.region-item:nth-child(1) .dot{background:var(--sky-blue);}
.region-item:nth-child(2) .dot{background:var(--terracotta);}
.region-item:nth-child(3) .dot{background:var(--pine);}
.region-item .count{font-family:'Space Grotesk',sans-serif; font-size:2.4rem; font-weight:700;}
.region-item .name{font-size:1.05rem; font-weight:600; margin-top:6px;}
.region-item .sub{font-size:0.86rem; color:var(--muted); margin-top:4px;}
.region-item a{font-size:0.85rem; margin-top:14px; display:inline-block; border-bottom:1px solid var(--ink); font-weight:500;}

/* ---------- Photo placeholder (honest — no scraped stock) ---------- */
.photo-slot{
  background:repeating-linear-gradient(135deg, var(--paper-tint), var(--paper-tint) 10px, var(--paper) 10px, var(--paper) 20px);
  border:1.5px dashed var(--line);
  border-radius:6px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; gap:8px; padding:30px;
  color:var(--muted); font-size:0.82rem;
}
.photo-slot svg{width:26px; height:26px; stroke:var(--muted); opacity:0.6;}

/* ---------- Story grid ---------- */
.story-grid{display:grid; grid-template-columns:1fr 1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line);}
.story-card{background:var(--paper); padding:28px 24px; display:flex; flex-direction:column; gap:12px;}
.story-card .region-tag{font-size:0.76rem; font-weight:600; color:var(--terracotta);}
.story-card h3{font-size:1.1rem; font-weight:600; line-height:1.3;}
.story-card p{font-size:0.9rem; color:var(--muted); flex-grow:1;}
.story-card .meta{font-size:0.78rem; color:var(--muted); border-top:1px solid var(--line); padding-top:12px; margin-top:2px;}
.story-card a.readmore{font-size:0.85rem; font-weight:600; color:var(--terracotta);}

/* ---------- Quote block ---------- */
.quote-section{background:var(--terracotta); color:var(--white); padding:100px 6vw;}
.quote-inner{max-width:860px; margin:0 auto;}
.quote-inner .tag{font-size:0.85rem; color:#FBDCC9; font-weight:600; margin-bottom:22px;}
.quote-inner blockquote{font-family:'Instrument Serif',serif; font-style:italic; font-size:clamp(1.4rem,3vw,2.1rem); line-height:1.35;}
.quote-inner .attr{margin-top:26px; font-size:0.92rem; color:#FBDCC9;}

/* ---------- Atlas categories ---------- */
.atlas-cat{padding:70px 0; border-top:1px solid var(--line);}
.atlas-cat-head{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:34px; flex-wrap:wrap; gap:10px;}
.atlas-cat-head h3{font-size:1.4rem;}
.atlas-cat-head .count-tag{font-size:0.82rem; color:var(--muted);}
.festival-list{display:flex; flex-direction:column;}
.festival-row{display:grid; grid-template-columns:120px 1fr 1fr; gap:22px; align-items:baseline; padding:18px 0; border-top:1px solid var(--line);}
.festival-row .month{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:0.92rem; color:var(--pine);}
.festival-row .fname{font-weight:600; font-size:1rem;}
.festival-row .fdesc{font-size:0.88rem; color:var(--muted);}
.dialect-cols{display:grid; grid-template-columns:1fr 1fr 1fr; gap:32px;}
.dialect-col h4{font-size:0.98rem; font-weight:700; color:var(--sky-blue); margin-bottom:16px; padding-bottom:9px; border-bottom:2px solid var(--sky-blue);}
.dialect-entry{margin-bottom:16px;}
.dialect-entry .term{font-weight:600; font-size:0.98rem;}
.dialect-entry .term .dev{font-size:0.88rem; color:var(--muted); margin-left:6px;}
.dialect-entry .def{font-size:0.84rem; color:var(--muted); margin-top:3px;}
.food-grid{display:grid; grid-template-columns:1fr 1fr; gap:0;}
.food-item{padding:18px 18px 18px 0; border-top:1px solid var(--line);}
.food-item:nth-child(odd){border-right:1px solid var(--line); padding-right:18px;}
.food-item .fterm{font-weight:600; font-size:0.98rem;}
.food-item .fregion{font-size:0.76rem; color:var(--terracotta); font-weight:600; margin-top:2px;}
.food-item .fdesc{font-size:0.86rem; color:var(--muted); margin-top:5px;}
.word-card{background:var(--pine); color:var(--white); padding:32px; margin-top:22px; border-radius:4px; max-width:520px;}
.word-card .label{font-size:0.78rem; color:#D9EFCB; font-weight:600;}
.word-card .word{font-family:'Space Grotesk',sans-serif; font-size:1.8rem; font-weight:700; margin-top:8px;}
.word-card .word .dev{font-size:1.3rem; font-weight:500; color:#CFE7C1; margin-left:8px;}
.word-card .meaning{margin-top:10px; color:#E3F1D9; font-size:0.94rem;}

/* ---------- Region detail page ---------- */
.district-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(220px,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:30px;}
.district-card{background:var(--paper); padding:22px;}
.district-card .dname{font-weight:600; font-size:1rem;}
.district-card .ddesc{font-size:0.84rem; color:var(--muted); margin-top:6px;}
.data-row{display:grid; grid-template-columns:220px 1fr; gap:20px; padding:18px 0; border-top:1px solid var(--line);}
.data-row .dlabel{font-size:0.88rem; color:var(--muted); font-weight:600;}
.data-row .dval{font-size:0.96rem;}
.region-tabs{display:flex; gap:10px; margin-bottom:40px; flex-wrap:wrap;}
.region-tabs a{padding:9px 18px; border-radius:100px; border:1.5px solid var(--line); font-size:0.88rem; font-weight:600;}
.region-tabs a.active{background:var(--ink); color:var(--paper); border-color:var(--ink);}

/* ---------- Testimonials ---------- */
.testimonials{background:var(--meadow-pale); padding:80px 0;}
.testi-row{display:grid; grid-template-columns:1fr 1fr 1fr; gap:32px;}
.testi{background:var(--paper); padding:28px; border-radius:4px;}
.testi p{font-family:'Instrument Serif',serif; font-style:italic; font-size:1.1rem; line-height:1.5;}
.testi .who{margin-top:14px; font-size:0.84rem; color:var(--muted); font-weight:600;}

/* ---------- FAQ ---------- */
.faq-list{max-width:820px;}
.faq-item{border-top:1px solid var(--ink); padding:20px 0;}
.faq-item:last-child{border-bottom:1px solid var(--ink);}
.faq-item summary{font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:1.02rem; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+'; font-size:1.3rem; color:var(--terracotta); font-weight:400;}
.faq-item[open] summary::after{content:'–';}
.faq-item .faq-a{margin-top:12px; color:var(--muted); font-size:0.94rem; max-width:70ch;}

/* ---------- Newsletter ---------- */
.newsletter{background:var(--sky-blue); color:var(--white); padding:70px 0; text-align:center;}
.newsletter h2{color:var(--white); font-size:clamp(1.5rem,3vw,2rem); max-width:20ch; margin:0 auto;}
.newsletter p{color:#E4F1F7; margin-top:10px; max-width:46ch; margin-left:auto; margin-right:auto;}
.newsletter-form{display:flex; gap:10px; justify-content:center; margin-top:26px; flex-wrap:wrap;}
.newsletter-form input{padding:13px 16px; border-radius:100px; border:none; width:260px; font-family:'Work Sans',sans-serif; font-size:0.92rem;}
.newsletter-form button{padding:13px 24px; border-radius:100px; border:none; background:var(--ink); color:var(--paper); font-weight:600; font-size:0.92rem; cursor:pointer;}

/* ---------- Submit CTA ---------- */
.submit-cta{background:var(--marigold); color:#3A2409; padding:110px 6vw; text-align:center;}
.submit-cta h2{font-size:clamp(1.8rem,4vw,2.9rem); max-width:18ch; margin:0 auto; color:#2E1C06;}
.submit-cta .tagline{font-family:'Instrument Serif',serif; font-style:italic; font-size:1.15rem; color:#5A3D10; max-width:48ch; margin:16px auto 0;}
.submit-cta .btn-primary{background:#2E1C06; color:var(--paper); margin-top:30px;}
.submit-cta .flag-dots{justify-content:center; margin-top:36px;}
.submit-cta .flag-dots span{width:8px;height:8px;}

/* ---------- Submit form page ---------- */
.form-shell{max-width:640px; margin:0 auto; background:var(--white); border:1px solid var(--line); border-radius:8px; padding:44px;}
.form-group{margin-bottom:24px;}
.form-group label{display:block; font-size:0.88rem; font-weight:600; margin-bottom:8px;}
.form-group .hint{font-size:0.8rem; color:var(--muted); margin-top:6px;}
.form-group input, .form-group select, .form-group textarea{
  width:100%; padding:12px 14px; border:1.5px solid var(--line); border-radius:6px;
  font-family:'Work Sans',sans-serif; font-size:0.95rem; background:var(--paper);
}
.form-group textarea{resize:vertical; min-height:140px;}
.consent-box{display:flex; gap:10px; align-items:flex-start; font-size:0.86rem; color:var(--muted); margin-bottom:26px;}
.consent-box input{width:auto; margin-top:3px;}
.form-submit-btn{width:100%; padding:15px; border:none; border-radius:100px; background:var(--terracotta); color:var(--white); font-weight:600; font-size:0.98rem; cursor:pointer;}
.form-steps{display:flex; gap:8px; margin-bottom:36px;}
.form-steps .step{flex:1; height:4px; background:var(--line); border-radius:4px;}
.form-steps .step.done{background:var(--terracotta);}

/* ---------- Article (story detail) ---------- */
.article-shell{max-width:720px; margin:0 auto; padding:70px 6vw;}
.article-shell .region-tag{font-size:0.82rem; font-weight:600; color:var(--terracotta);}
.article-shell h1{font-size:clamp(1.9rem,4vw,2.7rem); margin-top:14px; line-height:1.2;}
.article-shell .byline{font-size:0.9rem; color:var(--muted); margin-top:16px; padding-bottom:26px; border-bottom:1px solid var(--line);}
.article-shell .lead{font-family:'Instrument Serif',serif; font-style:italic; font-size:1.3rem; margin-top:30px; color:#3C4650;}
.article-shell p{margin-top:22px; font-size:1.05rem; color:#33393F;}
.article-shell .pull{font-family:'Instrument Serif',serif; font-style:italic; font-size:1.5rem; color:var(--terracotta); margin:40px 0; line-height:1.4;}

/* ---------- Timeline (about page) ---------- */
.timeline{border-left:2px solid var(--line); padding-left:30px; margin-top:20px;}
.timeline-item{margin-bottom:36px; position:relative;}
.timeline-item::before{content:''; position:absolute; left:-36px; top:4px; width:10px; height:10px; border-radius:50%; background:var(--terracotta);}
.timeline-item .tdate{font-size:0.8rem; font-weight:600; color:var(--muted);}
.timeline-item h4{font-size:1.05rem; margin-top:6px;}
.timeline-item p{font-size:0.92rem; color:var(--muted); margin-top:6px;}

/* ---------- Footer ---------- */
.footer-main{background:var(--paper); padding:70px 6vw 44px; border-top:1px solid var(--line);}
.footer-grid{max-width:1240px; margin:0 auto; display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:44px; border-bottom:1px solid var(--line);}
.footer-grid .fcol h5{font-size:0.82rem; font-weight:700; margin-bottom:16px; color:var(--muted);}
.footer-grid .fcol a{display:block; font-size:0.9rem; margin-bottom:11px; color:var(--ink); opacity:0.8;}
.footer-grid .fcol a:hover{opacity:1;}
.footer-grid .fcol p{font-size:0.88rem; color:var(--muted); margin-top:12px; max-width:32ch;}
.footer-bottom{max-width:1240px; margin:0 auto; padding-top:24px; display:flex; justify-content:space-between; font-size:0.83rem; color:var(--muted);}

@media (max-width:860px){
  .nav-links{display:none;}
  .stat-strip{grid-template-columns:1fr 1fr;}
  .stat{border-bottom:1px solid rgba(251,248,240,0.15);}
  .region-row{grid-template-columns:1fr; border-top:none;}
  .region-item{border-right:none !important; border-top:1.5px solid var(--ink); padding-top:24px !important; padding-right:0;}
  .story-grid{grid-template-columns:1fr;}
  .dialect-cols{grid-template-columns:1fr; gap:24px;}
  .food-grid{grid-template-columns:1fr;}
  .food-item:nth-child(odd){border-right:none; padding-right:0;}
  .testi-row{grid-template-columns:1fr; gap:20px;}
  .festival-row{grid-template-columns:1fr; gap:6px;}
  .footer-grid{grid-template-columns:1fr 1fr; gap:28px;}
  .data-row{grid-template-columns:1fr; gap:4px;}
  footer{flex-direction:column; gap:12px; align-items:flex-start;}
}
