/* ===== Udan Nepal — Design Tokens ===== */
:root{
  --ink:#1B1A3D;        /* deep indigo-night */
  --ink-soft:#3D3A56;   /* slate */
  --paper:#FBF7EF;      /* warm cream */
  --paper-dim:#F2EDE1;
  --gold:#F2A93B;       /* saffron gold accent */
  --gold-deep:#D88A1F;
  --leaf:#5B8C5A;       /* online/success accent */
  --white:#FFFFFF;
  --line:rgba(27,26,61,0.12);
  --line-soft:rgba(251,247,239,0.16);

  --font-display: 'Fraunces', serif;
  --font-body: 'Inter', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
}

.logo-img-lt {
  height: 30px;
  width: 30px;
  margin-bottom: 10px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  background:var(--paper);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,.font-display{font-family:var(--font-display);}
.font-mono{font-family:var(--font-mono);}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

/* ===== Focus visibility ===== */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline:2px solid var(--gold-deep);
  outline-offset:3px;
  border-radius:4px;
}

/* ===== Nav ===== */
.nav-blur{
  backdrop-filter:saturate(160%) blur(14px);
  background:rgba(251,247,239,0.82);
}
.nav-link{
  position:relative;
  color:var(--ink-soft);
  font-weight:500;
  transition:color .2s ease;
}
.nav-link::after{
  content:'';
  position:absolute; left:0; bottom:-6px;
  width:0; height:2px;
  background:var(--gold-deep);
  transition:width .25s ease;
}
.nav-link:hover{color:var(--ink);}
.nav-link:hover::after{width:100%;}
.nav-link.active{color:var(--ink);}
.nav-link.active::after{width:100%;}

/* ===== Buttons ===== */
.btn-gold{
  background:var(--gold);
  color:var(--ink);
  font-weight:600;
  border-radius:10px;
  padding:0.85rem 1.6rem;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
  box-shadow:0 1px 0 rgba(0,0,0,0.05);
}
.btn-gold:hover{
  background:var(--gold-deep);
  transform:translateY(-2px);
  box-shadow:0 10px 24px -8px rgba(216,138,31,0.55);
}
.btn-outline{
  border:1.5px solid var(--ink);
  color:var(--ink);
  font-weight:600;
  border-radius:10px;
  padding:0.8rem 1.55rem;
  transition:all .2s ease;
}
.btn-outline:hover{
  background:var(--ink);
  color:var(--paper);
}
.btn-outline-light{
  border:1.5px solid rgba(251,247,239,0.5);
  color:var(--paper);
  font-weight:600;
  border-radius:10px;
  padding:0.8rem 1.55rem;
  transition:all .2s ease;
}
.btn-outline-light:hover{
  background:var(--paper);
  color:var(--ink);
  border-color:var(--paper);
}

/* ===== Section dividers — flight-path motif ===== */
.path-divider{
  display:block;
  width:100%;
  height:auto;
}

/* ===== Cards ===== */
.card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:18px;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 40px -20px rgba(27,26,61,0.25);
  border-color:rgba(27,26,61,0.2);
}

.card-dark{
  background:var(--ink);
  color:var(--paper);
  border-radius:18px;
}

/* Pricing card highlight */
.price-card{
  position:relative;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:20px;
  transition:transform .25s ease, box-shadow .25s ease;
}
.price-card:hover{transform:translateY(-6px); box-shadow:0 24px 48px -22px rgba(27,26,61,0.28);}
.price-card.featured{
  background:var(--ink);
  color:var(--paper);
  border-color:var(--ink);
  transform:scale(1.03);
}
.price-card.featured .price-sub{color:rgba(251,247,239,0.65);}
.price-card.featured:hover{transform:scale(1.03) translateY(-6px);}

.badge{
  display:inline-flex; align-items:center; gap:.4rem;
  font-family:var(--font-mono);
  font-size:.7rem; letter-spacing:.04em; text-transform:uppercase;
  padding:.3rem .7rem;
  border-radius:999px;
  background:rgba(242,169,59,0.16);
  color:var(--gold-deep);
  border:1px solid rgba(242,169,59,0.35);
}
.badge-leaf{
  background:rgba(91,140,90,0.13);
  color:var(--leaf);
  border-color:rgba(91,140,90,0.3);
}

/* Altitude marker dots on the flight path */
.altitude-stop{
  transition:transform .3s ease;
}
.altitude-stop:hover{transform:translateY(-3px);}

/* Stat chip */
.stat-chip{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:14px;
}

/* Marquee for trust strip */
.marquee-track{
  display:flex;
  width:max-content;
  animation:marquee 28s linear infinite;
}
@keyframes marquee{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

/* Accordion chevron rotate */
details > summary{list-style:none; cursor:pointer;}
details > summary::-webkit-details-marker{display:none;}
details[open] .chev{transform:rotate(180deg);}
.chev{transition:transform .25s ease;}

/* Subtle fade-up on scroll */
.reveal{
  opacity:0; transform:translateY(18px);
  transition:opacity .6s ease, transform .6s ease;
}
.reveal.in{opacity:1; transform:translateY(0);}

/* Mobile menu */
#mobile-menu{transition:max-height .3s ease, opacity .25s ease;}

/* Texture: faint dotted grid in hero */
.dot-grid{
  background-image:radial-gradient(circle, rgba(27,26,61,0.16) 1px, transparent 1px);
  background-size:18px 18px;
}
.dot-grid-light{
  background-image:radial-gradient(circle, rgba(251,247,239,0.18) 1px, transparent 1px);
  background-size:18px 18px;
}

/* Footer link underline */
.footer-link{color:rgba(251,247,239,0.75); transition:color .2s ease;}
.footer-link:hover{color:var(--gold);}

::selection{background:var(--gold); color:var(--ink);}
