/* ============================================
   MAP BHUTAN TOURS — design tokens
   Palette drawn from dzong whitewash, monastic
   maroon, marigold prayer flags, dusk mountains,
   terraced forest green.
   ============================================ */
:root{
  --parchment: #F6F0E2;
  --cloud: #EFE7D4;
  --ink: #241F1B;
  --ink-soft: #55493C;
  --indigo: #1E2A44;
  --indigo-deep: #131C30;
  --maroon: #7B2D2A;
  --maroon-deep: #5C201E;
  --saffron: #E2A335;
  --forest: #33503E;

  --font-display: "Fraunces", serif;
  --font-body: "Work Sans", sans-serif;
  --font-mono: "JetBrains Mono", monospace;

  --radius: 6px;
  --wrap: 1160px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--parchment);
  line-height:1.55;
  -webkit-font-smoothing: antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
.wrap{
  max-width: var(--wrap);
  margin: 0 auto;
  padding: 0 28px;
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
}

/* ---------- Type helpers ---------- */
.eyebrow{
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--maroon);
  margin: 0 0 12px;
}
.eyebrow.center{text-align:center;}
.section-title{
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(1.7rem, 3.2vw, 2.5rem);
  margin: 0 0 14px;
  letter-spacing: -0.01em;
}
.section-title.center{text-align:center;}
.section-sub{
  max-width: 620px;
  color: var(--ink-soft);
  font-size: 1.02rem;
}
.section-sub.center{margin:0 auto 44px; text-align:center;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 13px 26px;
  border-radius: var(--radius);
  font-family: var(--font-body);
  font-weight:600;
  font-size: 0.95rem;
  border: 1.5px solid transparent;
  cursor:pointer;
  transition: transform .15s ease, background .2s ease, border-color .2s ease, color .2s ease;
}
.btn:hover{transform: translateY(-1px);}
.btn:focus-visible{outline: 3px solid var(--saffron); outline-offset: 2px;}
.btn-primary{
  background: var(--saffron);
  color: var(--indigo-deep);
}
.btn-primary:hover{background:#eeb655;}
.btn-ghost{
  background: transparent;
  border-color: rgba(246,240,226,0.55);
  color: var(--parchment);
}
.btn-ghost:hover{background: rgba(246,240,226,0.12);}

/* ============================================
   HEADER
   ============================================ */
.site-header{
  position: sticky; top:0; z-index: 50;
  background: rgba(246,240,226,0.9);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(36,31,27,0.08);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  height: 76px;
}
.brand{display:flex; align-items:center; gap:10px; color:var(--indigo-deep);}
.brand-mark{width:38px; height:38px; object-fit:contain;}
.brand-word{
  font-family: var(--font-display);
  font-weight:600;
  font-size: 1.18rem;
  letter-spacing: -0.01em;
}
.brand-word em{
  font-style: normal;
  color: var(--maroon);
  font-weight: 500;
}
.main-nav{display:flex; align-items:center; gap: 30px;}
.main-nav a{
  font-size: 0.92rem;
  font-weight:500;
  color: var(--ink-soft);
  transition: color .2s ease;
}
.main-nav a:hover{color: var(--maroon);}
.main-nav a.nav-cta{
  background: var(--indigo-deep);
  color: var(--parchment);
  padding: 9px 18px;
  border-radius: var(--radius);
}
.main-nav a.nav-cta:hover{background: var(--maroon-deep); color: var(--parchment);}

.nav-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:38px; height:38px;
  background:none; border:none; cursor:pointer;
}
.nav-toggle span{
  height:2px; width:100%; background: var(--ink);
}

/* ============================================
   HERO
   ============================================ */
.hero{
  position:relative;
  overflow:hidden;
  background: var(--indigo-deep);
  color: var(--parchment);
  padding-top: 64px;
}
.hero-bg{
  position:absolute; inset:0; z-index:0;
}
.bg-slide{
  position:absolute; inset:0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1.4s ease;
  filter: brightness(0.55) saturate(0.95);
}
.bg-slide.active{opacity: 1;}
.hero-overlay{
  position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(100deg, rgba(19,28,48,0.88) 0%, rgba(19,28,48,0.72) 38%, rgba(19,28,48,0.42) 70%, rgba(19,28,48,0.5) 100%),
    linear-gradient(180deg, rgba(19,28,48,0.35) 0%, rgba(19,28,48,0.15) 40%, rgba(19,28,48,0.55) 100%);
}
.hero-inner{
  position:relative; z-index:2;
  padding: 92px 0 70px;
  max-width: 760px;
}
.hero h1{
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(2.3rem, 5.4vw, 3.6rem);
  line-height: 1.08;
  margin: 0 0 22px;
  letter-spacing: -0.015em;
  text-shadow: 0 2px 24px rgba(0,0,0,0.35);
}
.hero h1 span{color: var(--saffron); font-style:italic; font-weight:500;}
.hero-sub{
  font-size: 1.08rem;
  color: rgba(246,240,226,0.82);
  max-width: 540px;
  margin: 0 0 34px;
}
.hero-actions{
  display:flex; gap:16px; flex-wrap:wrap;
  margin-bottom: 46px;
}

/* Trip finder card */
.trip-finder{
  background: rgba(246,240,226,0.96);
  border-radius: 10px;
  padding: 22px;
  display:grid;
  grid-template-columns: repeat(3, 1fr) auto;
  gap: 16px;
  align-items:end;
  box-shadow: 0 24px 60px rgba(10,14,26,0.35);
}
.trip-finder .field{display:flex; flex-direction:column; gap:6px;}
.trip-finder label{
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color: var(--ink-soft);
}
.trip-finder select{
  font-family: var(--font-body);
  font-size: 0.94rem;
  padding: 10px 10px;
  border-radius: 5px;
  border: 1.5px solid rgba(36,31,27,0.18);
  background: #fff;
  color: var(--ink);
}
.finder-submit{white-space:nowrap;}

@media (max-width: 760px){
  .trip-finder{grid-template-columns: 1fr 1fr; }
  .finder-submit{grid-column: 1 / -1;}
}

/* Prayer flag divider — signature motif */
.lungta{
  background: var(--indigo-deep);
  padding: 0 0 6px;
}
.lungta-strip{
  height: 22px;
  background: repeating-linear-gradient(
    to right,
    #3E6DBF 0 20px,
    #F4F1E8 20px 40px,
    #B23A34 40px 60px,
    #3D7A4D 60px 80px,
    var(--saffron) 80px 100px
  );
  clip-path: polygon(0 0, 100% 0, 100% 60%, 98% 100%, 96% 60%, 94% 100%, 92% 60%, 90% 100%, 88% 60%, 86% 100%, 84% 60%, 82% 100%, 80% 60%, 78% 100%, 76% 60%, 74% 100%, 72% 60%, 70% 100%, 68% 60%, 66% 100%, 64% 60%, 62% 100%, 60% 60%, 58% 100%, 56% 60%, 54% 100%, 52% 60%, 50% 100%, 48% 60%, 46% 100%, 44% 60%, 42% 100%, 40% 60%, 38% 100%, 36% 60%, 34% 100%, 32% 60%, 30% 100%, 28% 60%, 26% 100%, 24% 60%, 22% 100%, 20% 60%, 18% 100%, 16% 60%, 14% 100%, 12% 60%, 10% 100%, 8% 60%, 6% 100%, 4% 60%, 2% 100%, 0 60%);
  opacity: 0.92;
}

/* ============================================
   TRUST STRIP
   ============================================ */
.trust-strip{
  background: var(--cloud);
  border-bottom: 1px solid rgba(36,31,27,0.08);
}
.trust-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  padding: 30px 28px;
}
.trust-item{
  text-align:center;
  display:flex; flex-direction:column; gap:4px;
}
.trust-num{
  font-family: var(--font-display);
  font-weight:600;
  font-size: 1.7rem;
  color: var(--maroon);
}
.trust-label{
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing:0.04em;
  color: var(--ink-soft);
  text-transform:uppercase;
}
@media (max-width:720px){
  .trust-grid{grid-template-columns: repeat(2,1fr);}
}

/* ============================================
   SECTIONS
   ============================================ */
.section{padding: 84px 0;}
.section-alt{background: var(--cloud);}

/* Tour cards */
.tour-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.tour-card{
  background:#fff;
  border: 1px solid rgba(36,31,27,0.08);
  border-radius: 10px;
  padding: 26px 22px;
  display:flex;
  flex-direction:column;
  transition: transform .18s ease, box-shadow .18s ease;
}
.tour-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 34px rgba(36,31,27,0.1);
}
.tour-icon{
  width: 46px; height:46px;
  color: var(--maroon);
  margin-bottom: 16px;
}
.tour-tag{
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color: var(--forest);
  margin-bottom: 8px;
}
.tour-card h3{
  font-family: var(--font-display);
  font-weight:600;
  font-size: 1.2rem;
  margin: 0 0 6px;
}
.tour-meta{
  font-family: var(--font-mono);
  font-size: 0.76rem;
  color: var(--ink-soft);
  margin: 0 0 12px;
}
.tour-desc{
  font-size: 0.92rem;
  color: var(--ink-soft);
  flex-grow:1;
  margin: 0 0 16px;
}
.tour-link{
  font-weight:600;
  font-size: 0.9rem;
  color: var(--maroon);
}
.journeys-note{
  text-align:center;
  margin-top: 40px;
  color: var(--ink-soft);
}
.journeys-note a{color: var(--maroon); font-weight:600;}

@media (max-width: 980px){
  .tour-grid{grid-template-columns: repeat(2,1fr);}
}
@media (max-width: 600px){
  .tour-grid{grid-template-columns: 1fr;}
}

/* Destinations strip */
.dest-strip{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.dest-card{
  background:#fff;
  border: 1px solid rgba(36,31,27,0.08);
  border-radius: 8px;
  padding: 22px 16px;
  display:flex; align-items:center; gap:12px;
  font-weight:600;
}
.dest-icon{color: var(--saffron); font-size:1.1rem;}
@media (max-width:760px){
  .dest-strip{grid-template-columns: repeat(2,1fr);}
}

/* Why us */
.why-grid{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap: 24px;
}
.why-card{
  padding: 6px 4px;
}
.why-mark{
  display:inline-flex;
  align-items:center; justify-content:center;
  width: 38px; height:38px;
  border-radius:50%;
  background: var(--indigo-deep);
  color: var(--saffron);
  font-family: var(--font-mono);
  font-size: 0.85rem;
  margin-bottom: 16px;
}
.why-card h3{
  font-family: var(--font-display);
  font-size: 1.08rem;
  margin: 0 0 8px;
}
.why-card p{
  color: var(--ink-soft);
  font-size: 0.92rem;
  margin:0;
}
@media (max-width: 980px){
  .why-grid{grid-template-columns: repeat(2,1fr);}
}
@media (max-width:600px){
  .why-grid{grid-template-columns: 1fr;}
}

/* Traveler stories */
.stories-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items:start;
}
.stories-copy .section-sub{margin-bottom: 28px;}
.story-placeholder{
  border: 1.5px dashed rgba(36,31,27,0.25);
  border-radius: 10px;
  padding: 28px;
  text-align:center;
  color: var(--ink-soft);
  font-family: var(--font-mono);
  font-size: 0.82rem;
}
.review-form{
  background:#fff;
  border: 1px solid rgba(36,31,27,0.08);
  border-radius: 10px;
  padding: 30px;
  display:flex;
  flex-direction:column;
  gap: 14px;
}
.review-form label{
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color: var(--ink-soft);
  margin-bottom: -8px;
}
.review-form input[type="text"],
.review-form textarea{
  font-family: var(--font-body);
  font-size: 0.95rem;
  padding: 11px 12px;
  border-radius: 5px;
  border: 1.5px solid rgba(36,31,27,0.18);
  background: #fff;
  color: var(--ink);
  resize: vertical;
}
.review-form input[type="file"]{
  font-family: var(--font-body);
  font-size: 0.85rem;
  color: var(--ink-soft);
}
.review-form input:focus,
.review-form textarea:focus{
  outline: 2px solid var(--maroon);
  outline-offset: 1px;
}

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

/* Contact */
.contact-section{
  background: var(--indigo-deep);
  color: var(--parchment);
}
.contact-section .eyebrow{color: var(--saffron);}
.contact-section .section-sub{color: rgba(246,240,226,0.78);}
.contact-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items:start;
}
.contact-details{margin-top: 28px; display:flex; flex-direction:column; gap:16px;}
.contact-line{
  display:flex; flex-direction:column; gap:2px;
  padding-bottom:14px;
  border-bottom: 1px solid rgba(246,240,226,0.14);
  font-size: 1.05rem;
  font-weight:600;
  transition: color .2s ease;
}
.contact-line:hover{color: var(--saffron);}
.contact-label{
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color: rgba(246,240,226,0.55);
  font-weight:400;
}

.contact-form{
  background: var(--parchment);
  color: var(--ink);
  border-radius: 10px;
  padding: 30px;
  display:flex;
  flex-direction:column;
  gap: 14px;
}
.contact-form label{
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color: var(--ink-soft);
  margin-bottom: -8px;
}
.contact-form input,
.contact-form textarea{
  font-family: var(--font-body);
  font-size: 0.95rem;
  padding: 11px 12px;
  border-radius: 5px;
  border: 1.5px solid rgba(36,31,27,0.18);
  background: #fff;
  color: var(--ink);
  resize: vertical;
}
.contact-form input:focus,
.contact-form textarea:focus,
.trip-finder select:focus{
  outline: 2px solid var(--maroon);
  outline-offset: 1px;
}
.hidden-field{position:absolute; left:-9999px;}
.form-note{
  font-size: 0.8rem;
  color: var(--ink-soft);
  margin: 2px 0 0;
}

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

/* ============================================
   FOOTER
   ============================================ */
.site-footer{
  background: var(--indigo-deep);
  color: rgba(246,240,226,0.75);
  padding-top: 50px;
  border-top: 1px solid rgba(246,240,226,0.1);
}
.footer-inner{
  display:grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 30px;
  padding-bottom: 40px;
}
.footer-brand .brand-word{color: var(--parchment);}
.footer-brand-row{display:flex; align-items:center; gap:10px;}
.footer-logo{width:34px; height:34px; object-fit:contain;}
.footer-brand p{margin-top:10px; font-size:0.88rem; max-width:280px;}
.footer-col h4{
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color: var(--saffron);
  margin: 0 0 14px;
}
.footer-col p{margin: 0 0 8px; font-size:0.9rem;}
.footer-col a:hover{color: var(--saffron);}
.footer-bottom{
  border-top: 1px solid rgba(246,240,226,0.1);
  padding: 18px 28px;
  font-size: 0.8rem;
  font-family: var(--font-mono);
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap: 8px;
}
.footer-bottom .credit a{
  color: var(--saffron);
  font-weight:600;
}
.footer-bottom .credit a:hover{text-decoration: underline;}
@media (max-width: 760px){
  .footer-inner{grid-template-columns: 1fr 1fr;}
}

/* ============================================
   RESPONSIVE NAV
   ============================================ */
@media (max-width: 860px){
  .nav-toggle{display:flex;}
  .main-nav{
    position:absolute;
    top:76px; left:0; right:0;
    background: var(--parchment);
    flex-direction:column;
    align-items:flex-start;
    padding: 20px 28px 26px;
    gap: 18px;
    border-bottom: 1px solid rgba(36,31,27,0.08);
    display:none;
  }
  .main-nav.open{display:flex;}
  .main-nav a.nav-cta{align-self:flex-start;}
}
