
  :root{
    --kajal:#171310;
    --kajal-soft:#221b16;
    --ash:#c9c1b4;
    --ash-dim:#9a9186;
    --parchment:#f5eddd;
    --parchment-dim:#e9dcc1;
    --sindoor:#b8272c;
    --sindoor-deep:#8c1d21;
    --marigold:#dc9f34;
    --marigold-soft:#e9c07a;
    --line: rgba(201,193,180,0.16);
    --radius: 2px;
    --shadow: 0 20px 50px rgba(0,0,0,0.35);
  }

  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--parchment);
    color:var(--kajal);
    font-family:'Inter', sans-serif;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%; display:block;}
  a{text-decoration:none; color:inherit;}
  ul{list-style:none;}

  .eyebrow{
    font-family:'Yatra One', cursive;
    letter-spacing:0.04em;
    color:var(--marigold);
    font-size:1.05rem;
  }
  h1,h2,h3{
    font-family:'Marcellus', serif;
    font-weight:400;
    letter-spacing:0.01em;
  }
  .mono{
    font-family:'JetBrains Mono', monospace;
  }

  .wrap{
    max-width:1180px;
    margin:0 auto;
    padding:0 32px;
  }

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

  /* ---------- MARIGOLD DIVIDER (signature motif) ---------- */
  .garland{
    height:22px;
    width:100%;
    background-image: radial-gradient(circle at 11px 11px, var(--marigold) 0 6px, transparent 7px),
                       radial-gradient(circle at 11px 11px, var(--sindoor) 0 2.5px, transparent 3px);
    background-size:22px 22px;
    background-repeat:repeat-x;
    background-position:center;
    opacity:0.9;
  }
  .garland.dark{
    filter: brightness(1.15);
  }

  /* ---------- HEADER ---------- */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    background:rgba(23,19,16,0.86);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 32px;
    max-width:1180px; margin:0 auto;
  }
  .brand{
    display:flex; align-items:center; gap:12px;
    color:var(--parchment);
  }
  .brand .mark{
    width:38px; height:38px;
    display:flex; align-items:center; justify-content:center;
    border:1px solid var(--marigold-soft);
    border-radius:50%;
    color:var(--marigold);
    font-size:1.15rem;
  }
  .brand-name{
    font-family:'Marcellus', serif;
    font-size:1.05rem;
    line-height:1.15;
  }
  .brand-name small{
    display:block;
    font-family:'Inter', sans-serif;
    font-size:0.65rem;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--ash-dim);
    margin-top:2px;
  }
  .nav-links{
    display:flex; gap:34px;
    color:var(--ash);
    font-size:0.88rem;
  }
  .nav-links a{
    position:relative;
    padding:4px 0;
    transition:color .2s;
  }
  .nav-links a:hover, .nav-links a:focus-visible{ color:var(--marigold-soft); outline:none;}
  .nav-cta{
    display:flex; gap:10px; align-items:center;
  }
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:11px 20px;
    font-size:0.85rem; font-weight:600;
    border-radius:var(--radius);
    border:1px solid transparent;
    cursor:pointer;
    transition:transform .18s ease, background .2s, border-color .2s, color .2s;
  }
  .btn:hover{ transform:translateY(-2px); }
  .btn:focus-visible{ outline:2px solid var(--marigold); outline-offset:3px; }
  .btn-solid{
    background:var(--sindoor);
    color:var(--parchment);
  }
  .btn-solid:hover{ background:var(--sindoor-deep); }
  .btn-ghost{
    background:transparent;
    border-color:rgba(201,193,180,0.35);
    color:var(--parchment);
  }
  .btn-ghost:hover{ border-color:var(--marigold-soft); color:var(--marigold-soft); }
  .menu-toggle{
    display:none;
    background:none; border:none; color:var(--parchment); font-size:1.5rem; cursor:pointer;
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    min-height:100vh;
    display:flex; align-items:flex-end;
    color:var(--parchment);
    overflow:hidden;
  }
  .hero-bg{
    position:absolute; inset:0;
    background-image:url('https://commons.wikimedia.org/wiki/Special:FilePath/Kedar%20Ghat%20on%20the%20Ganges%2C%20Varanasi.jpg');
    background-size:cover;
    background-position:center 65%;
    transform:scale(1.06);
  }
  .hero-bg::after{
    content:"";
    position:absolute; inset:0;
    background:
      linear-gradient(180deg, rgba(23,19,16,0.55) 0%, rgba(23,19,16,0.35) 30%, rgba(23,19,16,0.75) 78%, var(--kajal) 100%);
  }
  .hero-inner{
    position:relative; z-index:2;
    width:100%;
    padding:160px 32px 64px;
    max-width:1180px;
    margin:0 auto;
  }
  .flame{
    display:inline-flex; align-items:center; gap:10px;
    margin-bottom:22px;
  }
  .flame i{
    color:var(--marigold);
    font-size:1.1rem;
    animation:flicker 2.6s infinite ease-in-out;
  }
  @keyframes flicker{
    0%,100%{ opacity:1; transform:translateY(0) scale(1); }
    35%{ opacity:0.75; transform:translateY(-1px) scale(0.96); }
    60%{ opacity:1; transform:translateY(0.5px) scale(1.04); }
  }
  .hero h1{
    font-size:clamp(2.4rem, 5.2vw, 4.4rem);
    line-height:1.06;
    max-width:16ch;
    margin-bottom:20px;
    text-shadow:0 4px 30px rgba(0,0,0,0.4);
  }
  .hero h1 em{
    font-style:normal;
    color:var(--marigold-soft);
  }
  .hero p.lede{
    max-width:52ch;
    color:var(--ash);
    font-size:1.08rem;
    margin-bottom:34px;
  }
  .hero-actions{
    display:flex; flex-wrap:wrap; gap:14px;
    margin-bottom:36px;
  }

  /* info chip — mirrors a listing card, this project's signature device */
  .info-chip{
    display:flex; flex-wrap:wrap; align-items:center; gap:18px;
    background:rgba(245,237,221,0.06);
    border:1px solid rgba(201,193,180,0.22);
    border-radius:var(--radius);
    padding:18px 22px;
    backdrop-filter:blur(6px);
  }
  .stars{ color:var(--marigold); letter-spacing:2px; font-size:0.95rem; }
  .rating-num{ font-family:'JetBrains Mono', monospace; font-weight:600; color:var(--parchment); }
  .info-chip .sep{ width:1px; height:28px; background:var(--line); }
  .info-chip address{
    font-style:normal;
    font-size:0.86rem;
    color:var(--ash-dim);
    max-width:38ch;
  }

  /* ---------- QUICK STRIP ---------- */
  .quick-strip{
    background:var(--sindoor-deep);
    color:var(--parchment);
    padding:16px 0;
  }
  .quick-strip-inner{
    display:flex; flex-wrap:wrap; gap:28px; justify-content:space-between;
  }
  .qs-item{
    display:flex; align-items:center; gap:9px;
    font-size:0.82rem; letter-spacing:0.01em;
    white-space:nowrap;
  }
  .qs-item i{ color:var(--marigold-soft); }

  /* ---------- SEVA ---------- */
  .seva-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:28px;
  }
  .seva-card{
    padding:28px 4px 0;
    border-top:2px solid var(--sindoor);
  }
  .seva-num{
    font-family:'JetBrains Mono', monospace;
    color:var(--marigold);
    font-weight:600;
    font-size:0.85rem;
  }
  .seva-card h3{ font-size:1.15rem; margin:14px 0 10px; }
  .seva-card p{ font-size:0.88rem; color:#5b5346; }
  .seva-cta{
    margin-top:48px;
    display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px;
    background:var(--parchment-dim);
    padding:22px 26px;
  }
  .seva-cta p{ font-size:0.85rem; color:#5b5346; max-width:52ch; display:flex; gap:10px; align-items:flex-start; }
  .seva-cta i{ color:var(--sindoor); margin-top:2px; }

  /* ---------- FESTIVALS ---------- */
  .fest-list{ border-top:1px solid var(--line); }
  .fest-row{
    display:grid;
    grid-template-columns:140px 1fr;
    gap:32px;
    padding:26px 0;
    border-bottom:1px solid var(--line);
    align-items:start;
  }
  .fest-when{ color:var(--marigold-soft); font-size:0.92rem; padding-top:3px; }
  .fest-what h3{ font-size:1.2rem; margin-bottom:8px; }
  .fest-what p{ color:var(--ash); font-size:0.9rem; max-width:60ch; }

  /* ---------- REACH ---------- */
  .reach-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:28px;
  }
  .reach-card{
    padding:30px 24px;
    background:var(--kajal-soft);
    border:1px solid var(--line);
  }
  .reach-card i{ font-size:1.5rem; color:var(--marigold); margin-bottom:16px; display:block; }
  .reach-card h3{ font-size:1.1rem; margin-bottom:10px; }
  .reach-card p{ font-size:0.86rem; color:var(--ash); }

  /* ---------- REVIEWS ---------- */
  .reviews-wrap{
    display:flex; justify-content:space-between; align-items:center; gap:40px; flex-wrap:wrap;
  }
  .reviews-score{
    display:flex; flex-direction:column; align-items:center; gap:6px;
    padding:32px 46px;
    border:1px solid var(--parchment-dim);
  }
  .score-num{ font-family:'Marcellus', serif; font-size:3rem; color:var(--sindoor-deep); line-height:1; }

  /* ---------- FAQ ---------- */
  .faq-list{ border-top:1px solid var(--line); }
  .faq-item{ border-bottom:1px solid var(--line); }
  .faq-q{
    width:100%;
    display:flex; align-items:center; justify-content:space-between;
    background:none; border:none; cursor:pointer;
    padding:22px 4px;
    color:var(--parchment);
    font-family:'Marcellus', serif;
    font-size:1.05rem;
    text-align:left;
  }
  .faq-q i{ color:var(--marigold); transition:transform .25s ease; flex-shrink:0; margin-left:20px; }
  .faq-q:focus-visible{ outline:2px solid var(--marigold); outline-offset:4px; }
  .faq-item.open .faq-q i{ transform:rotate(45deg); }
  .faq-a{
    max-height:0; overflow:hidden;
    transition:max-height .3s ease, padding .3s ease;
    padding:0 4px;
  }
  .faq-item.open .faq-a{ max-height:200px; padding:0 4px 22px; }
  .faq-a p{ color:var(--ash); font-size:0.92rem; max-width:64ch; }

  /* ---------- SECTION SHELL ---------- */
  section{ padding:100px 0; }
  .section-dark{ background:var(--kajal); color:var(--parchment); }
  .section-dark .ash-text{ color:var(--ash); }
  .kicker{
    display:flex; align-items:center; gap:14px;
    margin-bottom:18px;
  }
  .kicker .rule{ width:44px; height:1px; background:var(--sindoor); }
  .section-head{ max-width:640px; margin-bottom:56px; }
  .section-head h2{ font-size:clamp(1.9rem, 3.4vw, 2.6rem); margin-bottom:16px; }
  .section-head p{ color:#5b5346; font-size:1.02rem; }
  .section-dark .section-head p{ color:var(--ash); }

  /* ---------- ABOUT ---------- */
  .about-grid{
    display:grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap:64px;
    align-items:center;
  }
  .about-frame{
    position:relative;
    border:1px solid var(--parchment-dim);
    padding:14px;
  }
  .about-frame img{
    aspect-ratio:4/5;
    object-fit:cover;
    filter:sepia(0.12) saturate(1.05);
    width: 100%;
  }
  .about-frame .corner{
    position:absolute; width:22px; height:22px;
    border-color:var(--sindoor); border-style:solid; border-width:0;
  }
  .about-frame .corner.tl{ top:-1px; left:-1px; border-top-width:2px; border-left-width:2px; }
  .about-frame .corner.br{ bottom:-1px; right:-1px; border-bottom-width:2px; border-right-width:2px; }
  .about-copy p{ color:#4a4438; margin-bottom:18px; max-width:56ch; }
  .about-copy p:last-of-type{ margin-bottom:0; }
  .about-copy .devanagari-line{
    font-family:'Yatra One', cursive;
    color:var(--sindoor);
    font-size:1.3rem;
    margin-bottom:20px;
  }
  .stat-row{
    display:flex; gap:40px; margin-top:36px;
    padding-top:28px; border-top:1px solid rgba(0,0,0,0.1);
  }
  .stat b{
    display:block; font-family:'Marcellus', serif; font-size:1.7rem; color:var(--sindoor-deep);
  }
  .stat span{ font-size:0.78rem; letter-spacing:0.05em; text-transform:uppercase; color:#7a7062; }

  .callout{
    display:flex; gap:16px;
    background:var(--parchment-dim);
    border-left:3px solid var(--sindoor);
    padding:22px 24px;
    margin:26px 0;
  }
  .callout i{ color:var(--sindoor); font-size:1.3rem; flex-shrink:0; }
  .callout p{ font-size:0.92rem; color:#4a4438; margin:0; max-width:52ch; }

  /* ---------- DEITY GRID ---------- */
  .deity-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
  }
  .deity-card{
    background:var(--kajal);
    padding:36px 28px;
    text-align:center;
  }
  .deity-icon{
    width:52px; height:52px; margin:0 auto 20px;
    border:1px solid var(--marigold-soft);
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    color:var(--marigold);
    font-size:1.3rem;
  }
  .deity-card h3{ font-size:1.15rem; margin-bottom:10px; color:var(--parchment); }
  .deity-card p{ font-size:0.85rem; color:var(--ash-dim); }

  /* ---------- DARSHAN TIMINGS ---------- */
  .plaque{
    background:var(--kajal-soft);
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
  }
  .timing-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
  }
  .timing-cell{
    padding:34px 26px;
    border-right:1px solid var(--line);
    text-align:center;
  }
  .timing-cell:last-child{ border-right:none; }
  .timing-cell i{ font-size:1.3rem; color:var(--marigold); margin-bottom:14px; display:block; }
  .timing-cell .t-label{
    font-size:0.78rem; letter-spacing:0.09em; text-transform:uppercase; color:var(--ash-dim);
    margin-bottom:10px;
  }
  .timing-cell .t-value{
    font-family:'JetBrains Mono', monospace; font-weight:600; font-size:1.15rem; color:var(--parchment);
  }
  .plaque-note{
    text-align:center; padding:16px; font-size:0.8rem; color:var(--ash-dim);
    border-top:1px solid var(--line);
  }

  /* ---------- GALLERY ---------- */
  .gallery{
display: flex;
flex-wrap: wrap;
gap:15px;
  }
  .footer-col {
    width: 22%;
}


  .gallery figure{
    position:relative;
    overflow:hidden;
    border-radius:var(--radius);
    width: 31%;
  }

  .gallery img{
    width:100%; height:100%; object-fit:cover;
    transition:transform .5s ease, filter .5s ease;
    filter:saturate(1.02);
    width:100%;
  }
  .gallery figure:hover img{ transform:scale(1.06); }
  .gallery figcaption{
    position:absolute; left:0; right:0; bottom:0;
    padding:14px 16px;
    font-size:0.78rem; color:var(--parchment);
    background:linear-gradient(0deg, rgba(0,0,0,0.65), transparent);
    opacity:0; transform:translateY(6px);
    transition:opacity .3s, transform .3s;
  }
  .gallery figure:hover figcaption{ opacity:1; transform:translateY(0); }

  /* ---------- LOCATION ---------- */
  .loc-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
    border:1px solid var(--parchment-dim);
  }
  .loc-map iframe{
    width:100%; height:100%; min-height:460px; border:0; filter:grayscale(0.15) contrast(1.05);
  }
  .loc-card{
    background:var(--kajal);
    color:var(--parchment);
    padding:46px 42px;
    display:flex; flex-direction:column; justify-content:center;
  }
  .loc-card h3{ font-size:1.6rem; margin-bottom:6px; }
  .loc-rating{ display:flex; align-items:center; gap:10px; margin-bottom:22px; }
  .loc-rating .stars{ font-size:0.95rem; }
  .loc-rating span.count{ color:var(--ash-dim); font-size:0.85rem; }
  .loc-address{ display:flex; gap:14px; color:var(--ash); font-size:0.94rem; margin-bottom:30px; }
  .loc-address i{ color:var(--sindoor); margin-top:3px; }
  .loc-actions{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:30px;}
  .loc-actions .btn{ flex:1; justify-content:center; min-width:130px; }
  .loc-meta{
    display:flex; gap:22px; padding-top:24px; border-top:1px solid var(--line);
  }
  .loc-meta div{ font-size:0.78rem; color:var(--ash-dim); display:flex; align-items:center; gap:8px; }
  .loc-meta i{ color:var(--marigold); }

  /* ---------- FOOTER ---------- */
  footer{
    background:var(--kajal);
    color:var(--ash-dim);
    padding:56px 0 30px;
  }
  .footer-grid{
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:40px;
    padding-bottom:36px; border-bottom:1px solid var(--line);
  }
  .footer-brand{ max-width:320px; }
  .footer-brand .brand-name{ color:var(--parchment); margin-bottom:14px; }
  .footer-cols{ display:flex; gap:64px; flex-wrap:wrap; }
  .footer-col h4{
    font-family:'Inter', sans-serif; font-size:0.78rem; letter-spacing:0.09em; text-transform:uppercase;
    color:var(--ash); margin-bottom:16px;
  }
  .footer-col a, .footer-col p{ display:block; font-size:0.88rem; margin-bottom:10px; color:var(--ash-dim); }
  .footer-col a:hover{ color:var(--marigold-soft); }
  .footer-bottom{
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;
    padding-top:24px; font-size:0.78rem;
  }
  .footer-social{ display:flex; gap:14px; }
  .footer-social a{
    width:34px; height:34px; border:1px solid var(--line); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    transition:border-color .2s, color .2s;
  }
  .footer-social a:hover{ border-color:var(--marigold); color:var(--marigold-soft); }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:960px){
    .about-grid{ grid-template-columns:1fr; }
    .timing-grid{ grid-template-columns:repeat(2,1fr); }
    .timing-cell:nth-child(2){ border-right:none; }
    .timing-cell{ border-bottom:1px solid var(--line); }
    .loc-grid{ grid-template-columns:1fr; }
    .loc-map iframe{ min-height:320px; }
    .gallery{ grid-template-columns:repeat(2,1fr); grid-auto-rows:180px; }
    .gallery figure{ grid-column:span 1 !important; grid-row:span 1 !important; }
    .deity-grid{ grid-template-columns:repeat(2,1fr); }
    .seva-grid{ grid-template-columns:repeat(2,1fr); }
    .reach-grid{ grid-template-columns:repeat(2,1fr); }
    .fest-row{ grid-template-columns:1fr; gap:6px; }
    .quick-strip-inner{ justify-content:flex-start; gap:20px 32px; }
  }
  @media (max-width:760px){
    .nav-links{ display:none; }
    .menu-toggle{ display:block; }
    .nav-cta .btn-ghost{ display:none; }
    section{ padding:70px 0; }
    .footer-grid{ flex-direction:column; }
    .deity-grid{ grid-template-columns:1fr; }
    .seva-grid{ grid-template-columns:1fr; }
    .reach-grid{ grid-template-columns:1fr; }
    .reviews-wrap{ flex-direction:column; align-items:flex-start; }
  }