/* ═══════════════════════════════════════════════════════════════
   home-v3.css — Char Dham Yatra homepage
   Pattern notes:
     Apple  → one message per screen, scroll is the narrative
     Stripe → the next action is never hunted for; real numbers only
     Norris → one signature motion moment, not effects everywhere
   Palette is deliberately off the cream/saffron default: two grounds
   (himalayan night, bone), one accent (temple vermilion), one metal.
   ═══════════════════════════════════════════════════════════════ */

.v3{
  --night:#0C1A24;
  --night-2:#152833;
  --night-3:#1E3543;
  --bone:#F4F2ED;
  --paper:#FFFFFF;
  --ink:#17222B;
  --muted:#5E6B76;
  --muted-2:#8A95A0;
  --vermilion:#C1440E;
  --vermilion-lo:#F5E6DF;
  --brass:#A8853C;
  --brass-lo:#F2EADA;
  --line:#E3DFD7;
  --line-dk:#263B49;
  --ok:#1C7A55;

  --display:Georgia,"Times New Roman",serif;
  --ui:'Poppins',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;

  --pad:clamp(1.25rem,4vw,2rem);
  --maxw:1180px;
}

.v3 *{box-sizing:border-box}
.v3{font-family:var(--ui);color:var(--ink);background:var(--paper);
    font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
.v3 .wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.v3 :focus-visible{outline:2px solid var(--vermilion);outline-offset:3px;border-radius:2px}
.v3 img{max-width:100%;display:block}

/* type scale ------------------------------------------------- */
.v3 .h-xl{font-family:var(--display);font-weight:400;letter-spacing:-.022em;
          font-size:clamp(2.3rem,6.4vw,4.6rem);line-height:1.04;text-wrap:balance}
.v3 .h-lg{font-family:var(--display);font-weight:400;letter-spacing:-.018em;
          font-size:clamp(1.75rem,3.9vw,2.8rem);line-height:1.14;text-wrap:balance;margin:0}
.v3 .h-md{font-family:var(--display);font-weight:400;letter-spacing:-.012em;
          font-size:clamp(1.2rem,2.3vw,1.55rem);line-height:1.25;margin:0}
.v3 .eyebrow{font-size:.7rem;font-weight:600;letter-spacing:.19em;text-transform:uppercase;
             color:var(--vermilion)}
.v3 .lede{font-size:clamp(1rem,1.5vw,1.13rem);color:var(--muted);line-height:1.68;
          max-width:56ch;margin:0}

/* buttons ---------------------------------------------------- */
.v3 .b{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
       font-family:var(--ui);font-size:.94rem;font-weight:600;padding:.85rem 1.55rem;
       border-radius:2px;text-decoration:none;border:1px solid transparent;
       cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}
.v3 .b-fill{background:var(--vermilion);color:#fff}
.v3 .b-fill:hover{background:#A5390B}
.v3 .b-line{background:transparent;color:#F2EFE9;border-color:rgba(242,239,233,.34)}
.v3 .b-line:hover{border-color:#F2EFE9;background:rgba(242,239,233,.07)}
.v3 .b-ink{background:transparent;color:var(--ink);border-color:var(--line)}
.v3 .b-ink:hover{border-color:var(--ink)}
.v3 .b-lg{padding:1rem 1.9rem;font-size:1rem}

/* ═══════════ 1 · HERO — one message, one action ═══════════ */
.v3 .hero{position:relative;background:var(--night);color:#F2EFE9;
          min-height:min(88vh,780px);display:flex;flex-direction:column;
          justify-content:center;overflow:hidden}
.v3 .hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 38%;
             opacity:.42}
.v3 .hero-veil{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(12,26,36,.62) 0%,rgba(12,26,36,.80) 46%,rgba(12,26,36,.97) 100%)}
.v3 .hero-in{position:relative;padding-top:clamp(3.5rem,9vw,6rem);padding-bottom:clamp(2rem,5vw,3rem)}
.v3 .hero-kick{display:inline-flex;align-items:center;gap:.6rem;font-size:.7rem;
               font-weight:600;letter-spacing:.19em;text-transform:uppercase;
               color:#D9C69B;margin:0 0 1.6rem}
.v3 .hero-kick .dot{width:6px;height:6px;border-radius:50%;background:var(--ok);
                    box-shadow:0 0 0 3px rgba(28,122,85,.24)}
.v3 .hero h1{margin:0;color:#FBFAF7}
.v3 .hero h1 .em{color:#E9B84D;font-style:italic}
.v3 .hero-sub{margin:1.5rem 0 0;max-width:46ch;color:#B9C4CD;
              font-size:clamp(1rem,1.5vw,1.12rem);line-height:1.68}
.v3 .hero-act{display:flex;gap:.75rem;margin-top:2.2rem;flex-wrap:wrap}
.v3 .hero-note{margin:1.15rem 0 0;font-size:.8rem;color:#8797A3}

/* four names — the product, stated plainly */
.v3 .dhams{position:relative;border-top:1px solid var(--line-dk);margin-top:clamp(2.5rem,6vw,4rem)}
.v3 .dhams-in{display:grid;grid-template-columns:repeat(4,1fr)}
.v3 .dham{padding:1.15rem .4rem 1.3rem;border-right:1px solid var(--line-dk);text-align:center}
.v3 .dham:last-child{border-right:0}
.v3 .dham .n{font-family:var(--display);font-size:clamp(.92rem,1.9vw,1.2rem);color:#F2EFE9;
             display:block;line-height:1.2}
.v3 .dham .m{font-size:.66rem;letter-spacing:.1em;color:#75858F;margin-top:.4rem;
             display:block;font-variant-numeric:tabular-nums}
@media(max-width:620px){
  .v3 .dhams-in{grid-template-columns:repeat(2,1fr)}
  .v3 .dham:nth-child(2){border-right:0}
  .v3 .dham:nth-child(-n+2){border-bottom:1px solid var(--line-dk)}
}

/* ═══════════ 2 · TRUST — earned before anything is asked ═══════════ */
.v3 .trust{background:var(--night-2);border-top:1px solid var(--line-dk);
           padding:1.1rem 0}
.v3 .trust-in{display:flex;gap:clamp(1.2rem,4vw,3rem);flex-wrap:wrap;
              align-items:center;justify-content:center}
.v3 .tr{display:flex;align-items:baseline;gap:.5rem;color:#9FB0BB;font-size:.82rem}
.v3 .tr b{font-family:var(--display);font-size:1.15rem;color:#F2EFE9;font-weight:400;
          font-variant-numeric:tabular-nums}

/* ═══════════ 3 · ROUTE — the signature moment ═══════════ */
.v3 .route{background:var(--bone);padding:clamp(3.5rem,8vw,6rem) 0}
.v3 .route-head{max-width:52ch;margin-bottom:clamp(2.5rem,5vw,3.5rem)}
.v3 .route-head .h-lg{margin:.85rem 0 1rem}
.v3 .stops{display:grid;gap:0;border-top:1px solid var(--line)}
.v3 .stop{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(1rem,3vw,2.5rem);
          align-items:center;padding:clamp(1.4rem,3vw,2rem) 0;
          border-bottom:1px solid var(--line);
          opacity:0;transform:translateY(18px);
          transition:opacity .6s cubic-bezier(.22,.61,.36,1),transform .6s cubic-bezier(.22,.61,.36,1)}
.v3 .stop.in{opacity:1;transform:none}
.v3 .stop-i{font-family:var(--display);font-size:.9rem;color:var(--brass);
            width:2.1rem;text-align:right;font-variant-numeric:tabular-nums}
.v3 .stop-b .nm{font-family:var(--display);font-size:clamp(1.25rem,3vw,1.85rem);
                color:var(--ink);line-height:1.18;display:block}
.v3 .stop-b .dv{font-size:.85rem;color:var(--muted);margin-top:.4rem;display:block;
                max-width:48ch;line-height:1.6}
.v3 .stop-m{text-align:right;flex:none}
.v3 .stop-m .alt{font-family:var(--display);font-size:clamp(1rem,2vw,1.3rem);
                 color:var(--ink);font-variant-numeric:tabular-nums;display:block}
.v3 .stop-m .op{font-size:.7rem;letter-spacing:.07em;color:var(--muted-2);
                margin-top:.3rem;display:block;text-transform:uppercase}
@media(max-width:640px){
  .v3 .stop{grid-template-columns:auto 1fr;row-gap:.7rem}
  .v3 .stop-m{grid-column:2;text-align:left}
  .v3 .stop-m .alt{display:inline}
  .v3 .stop-m .op{display:inline;margin-left:.7rem}
}

/* ═══════════ 4 · PACKAGES — Stripe-grade clarity ═══════════ */
.v3 .pk{padding:clamp(3.5rem,8vw,6rem) 0;background:var(--paper)}
.v3 .pk-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;
             flex-wrap:wrap;margin-bottom:clamp(2rem,4vw,2.8rem)}
.v3 .pk-head .h-lg{margin:.8rem 0 0}
.v3 .pk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:1.15rem}
.v3 .card{border:1px solid var(--line);border-radius:3px;overflow:hidden;
          display:flex;flex-direction:column;background:var(--paper);
          transition:border-color .2s ease,transform .2s ease}
.v3 .card:hover{border-color:var(--brass);transform:translateY(-3px)}
.v3 .card-img{aspect-ratio:4/3;overflow:hidden;background:var(--bone);position:relative}
.v3 .card-img img{width:100%;height:100%;object-fit:cover;
                  transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.v3 .card:hover .card-img img{transform:scale(1.045)}
.v3 .card-tag{position:absolute;top:.7rem;left:.7rem;background:var(--paper);
              color:var(--vermilion);font-size:.65rem;font-weight:600;letter-spacing:.09em;
              text-transform:uppercase;padding:.3rem .55rem;border-radius:2px}
.v3 .card-b{padding:1.1rem 1.15rem 1.25rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.v3 .card-b .nm{font-family:var(--display);font-size:1.1rem;line-height:1.25;color:var(--ink)}
.v3 .card-meta{display:flex;gap:.9rem;font-size:.76rem;color:var(--muted);flex-wrap:wrap}
.v3 .card-foot{margin-top:auto;padding-top:.9rem;border-top:1px solid var(--line);
               display:flex;justify-content:space-between;align-items:flex-end;gap:.8rem}
.v3 .card-price .lb{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;
                    color:var(--muted-2);display:block}
.v3 .card-price .vl{font-family:var(--display);font-size:1.35rem;color:var(--ink);
                    font-variant-numeric:tabular-nums;display:block;line-height:1.2}
.v3 .card-go{font-size:.82rem;font-weight:600;color:var(--vermilion);text-decoration:none;
             white-space:nowrap}
.v3 .card-go:hover{text-decoration:underline}

/* ═══════════ 5 · WHY — three, not eight ═══════════ */
.v3 .why{background:var(--night);color:#F2EFE9;padding:clamp(3.5rem,8vw,6rem) 0}
.v3 .why .h-lg{color:#FBFAF7;max-width:20ch}
.v3 .why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
              gap:clamp(1.5rem,4vw,3rem);margin-top:clamp(2.2rem,5vw,3.2rem)}
.v3 .why-i{border-top:1px solid var(--line-dk);padding-top:1.15rem}
.v3 .why-i h3{font-family:var(--display);font-size:1.18rem;font-weight:400;
              margin:0 0 .55rem;color:#F2EFE9}
.v3 .why-i p{margin:0;font-size:.89rem;color:#9FB0BB;line-height:1.68}

/* ═══════════ 6 · VOICES ═══════════ */
.v3 .say{padding:clamp(3.5rem,8vw,6rem) 0;background:var(--bone)}
.v3 .say-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));
              gap:1.15rem;margin-top:clamp(2rem,4vw,2.8rem)}
.v3 .q{background:var(--paper);border:1px solid var(--line);border-radius:3px;
       padding:1.5rem 1.4rem;display:flex;flex-direction:column;gap:.9rem}
.v3 .q blockquote{margin:0;font-family:var(--display);font-size:1.02rem;line-height:1.6;
                  color:var(--ink)}
.v3 .q .by{margin-top:auto;font-size:.8rem;color:var(--muted);
           border-top:1px solid var(--line);padding-top:.85rem}
.v3 .q .by b{color:var(--ink);font-weight:600;display:block;margin-bottom:.15rem}
.v3 .stars{color:var(--brass);font-size:.8rem;letter-spacing:.12em}

/* ═══════════ 7 · PLAN — the ask, placed last ═══════════ */
.v3 .plan{padding:clamp(3.5rem,8vw,6rem) 0;background:var(--paper)}
.v3 .plan-box{display:grid;grid-template-columns:1fr 1fr;gap:0;
              border:1px solid var(--line);border-radius:4px;overflow:hidden}
@media(max-width:800px){.v3 .plan-box{grid-template-columns:1fr}}
.v3 .plan-l{padding:clamp(1.8rem,4vw,2.8rem);background:var(--night);color:#F2EFE9}
.v3 .plan-l .h-md{color:#FBFAF7;margin-bottom:.8rem}
.v3 .plan-l p{color:#9FB0BB;font-size:.9rem;margin:0 0 1.5rem;line-height:1.68}
.v3 .plan-pts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}
.v3 .plan-pts li{font-size:.86rem;color:#B9C4CD;padding-left:1.3rem;position:relative}
.v3 .plan-pts li::before{content:"—";position:absolute;left:0;color:var(--brass)}
.v3 .plan-r{padding:clamp(1.8rem,4vw,2.8rem);background:var(--paper)}
.v3 .fw{display:flex;flex-direction:column;gap:.9rem}
.v3 .fw label{display:block;font-size:.7rem;font-weight:600;letter-spacing:.11em;
              text-transform:uppercase;color:var(--muted);margin-bottom:.38rem}
.v3 .fw input,.v3 .fw select{width:100%;font-family:var(--ui);font-size:.92rem;
  padding:.72rem .8rem;border:1px solid var(--line);border-radius:2px;
  background:var(--paper);color:var(--ink)}
.v3 .fw input:focus,.v3 .fw select:focus{border-color:var(--vermilion);outline:none}
.v3 .fw-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
@media(max-width:460px){.v3 .fw-row{grid-template-columns:1fr}}
.v3 .fw .b{width:100%;margin-top:.3rem}
.v3 .fw-note{font-size:.76rem;color:var(--muted-2);text-align:center;margin:0}

/* ═══════════ 8 · FAQ ═══════════ */
.v3 .faq{padding:clamp(3.5rem,8vw,6rem) 0;background:var(--bone)}
.v3 .faq-list{margin-top:clamp(1.8rem,4vw,2.5rem);border-top:1px solid var(--line)}
.v3 details{border-bottom:1px solid var(--line)}
.v3 summary{padding:1.15rem 2.2rem 1.15rem 0;cursor:pointer;list-style:none;
            font-family:var(--display);font-size:1.05rem;color:var(--ink);
            position:relative;line-height:1.4}
.v3 summary::-webkit-details-marker{display:none}
.v3 summary::after{content:"+";position:absolute;right:.3rem;top:50%;
                   transform:translateY(-50%);color:var(--brass);font-size:1.3rem;
                   font-family:var(--ui);line-height:1}
.v3 details[open] summary::after{content:"–"}
.v3 details p{margin:0 0 1.3rem;color:var(--muted);font-size:.92rem;
              line-height:1.72;max-width:64ch;padding-right:2rem}

/* ═══════════ closing band ═══════════ */
.v3 .end{background:var(--night);color:#F2EFE9;padding:clamp(3.5rem,8vw,5.5rem) 0;
         text-align:center}
.v3 .end .h-lg{color:#FBFAF7;margin:0 auto .9rem;max-width:18ch}
.v3 .end p{color:#9FB0BB;max-width:44ch;margin:0 auto 2rem}
.v3 .end-act{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}

/* sticky mobile action bar — Stripe: the action is never hunted for */
.v3 .bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;
         background:var(--paper);border-top:1px solid var(--line);
         padding:.6rem var(--pad);gap:.6rem;
         box-shadow:0 -3px 14px rgba(23,34,43,.09)}
.v3 .bar .b{flex:1;padding:.75rem .9rem;font-size:.88rem}
@media(max-width:760px){.v3 .bar{display:flex}.v3 .end{padding-bottom:6rem}}

@media (prefers-reduced-motion:reduce){
  .v3 *,.v3 *::before,.v3 *::after{
    animation-duration:.001ms!important;transition-duration:.001ms!important}
  .v3 .stop{opacity:1;transform:none}
}
