/* =====================================================================
   A ONE GREATER NEPAL YATAYAT — Design System
   Palette drawn from Pokhara: dusk-over-the-Annapurnas navy, Phewa Lake
   teal, sunrise-on-the-peaks amber. Signature motif: a dashed "route
   line" used as a divider/underline, echoing roads & GPS routes.
   ===================================================================== */

:root{
  --navy-950:#0d1e2d;
  --navy-900:#12293f;
  --navy-800:#1a3852;
  --teal-700:#155e4f;
  --teal-600:#1e7d68;
  --teal-500:#2a9c82;
  --amber-500:#e8a33d;
  --amber-400:#f0b859;
  --amber-050:#fff4e0;
  --mist-050:#f1f4f3;
  --mist-100:#e7ece9;
  --ink-900:#16232b;
  --ink-600:#4a5a62;
  --white:#ffffff;

  --font-display:'Space Grotesk', 'Segoe UI', sans-serif;
  --font-body:'Inter', 'Segoe UI', sans-serif;

  --radius-sm:6px;
  --radius-md:12px;
  --radius-lg:22px;
  --shadow-soft:0 10px 30px -12px rgba(13,30,45,.25);
}

*{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  font-family:var(--font-body);
  color:var(--ink-900);
  background:var(--white);
  line-height:1.65;
}

h1,h2,h3,h4,h5,h6, .display-font{
  font-family:var(--font-display);
  font-weight:600;
  color:var(--navy-900);
  letter-spacing:-0.01em;
}

a{color:var(--teal-700); text-decoration:none;}
a:hover{color:var(--teal-600);}

.text-amber{color:var(--amber-500) !important;}
.text-teal{color:var(--teal-600) !important;}
.bg-navy{background:var(--navy-900) !important;}
.bg-mist{background:var(--mist-050) !important;}

/* ---------- Buttons ---------- */
.btn-amber{
  background:var(--amber-500); border:1px solid var(--amber-500); color:var(--navy-950);
  font-weight:600; border-radius:999px; padding:.65rem 1.6rem;
}
.btn-amber:hover{background:var(--amber-400); border-color:var(--amber-400); color:var(--navy-950);}
.btn-outline-mist{
  background:transparent; border:1.5px solid rgba(255,255,255,.55); color:#fff;
  font-weight:600; border-radius:999px; padding:.6rem 1.5rem;
}
.btn-outline-mist:hover{background:rgba(255,255,255,.12); color:#fff; border-color:#fff;}
.btn-teal{
  background:var(--teal-600); border:1px solid var(--teal-600); color:#fff;
  font-weight:600; border-radius:999px; padding:.65rem 1.6rem;
}
.btn-teal:hover{background:var(--teal-700); border-color:var(--teal-700); color:#fff;}
.btn-navy-outline{
  background:transparent;border:1.5px solid var(--navy-900);color:var(--navy-900);
  font-weight:600;border-radius:999px;padding:.6rem 1.5rem;
}
.btn-navy-outline:hover{background:var(--navy-900);color:#fff;}

/* ---------- Route-line signature motif ---------- */
.route-line{
  display:flex; align-items:center; gap:.5rem; margin:0 0 1rem;
}
.route-line::before{
  content:"";
  width:34px; height:0; border-top:3px dashed var(--amber-500);
}
.route-line span{
  text-transform:uppercase; letter-spacing:.14em; font-size:.78rem;
  font-weight:700; color:var(--teal-700);
}
.route-divider{
  border:0; height:0; border-top:2px dashed var(--mist-100); margin:2.5rem 0;
}
.section-eyebrow{
  display:inline-flex; align-items:center; gap:.5rem;
  color:var(--teal-700); font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; font-size:.78rem; margin-bottom:.5rem;
}
.section-eyebrow::before{content:"";width:22px;height:0;border-top:3px dashed var(--amber-500);}

/* ---------- Top utility bar ---------- */
.topbar{
  background:var(--navy-950); color:#cfe0dc; font-size:.85rem;
}
.topbar a{color:#cfe0dc;}
.topbar a:hover{color:var(--amber-400);}

/* ---------- Navbar ---------- */
.navbar-agny{
  background:#fff; box-shadow:0 2px 18px -8px rgba(13,30,45,.18);
  padding-top:.7rem; padding-bottom:.7rem;
}
.navbar-agny .navbar-brand{font-family:var(--font-display); font-weight:700; color:var(--navy-900); font-size:1.25rem; line-height:1.1;}
.navbar-agny .navbar-brand small{display:block; font-family:var(--font-body); font-weight:500; font-size:.68rem; color:var(--teal-700); letter-spacing:.08em;}
.navbar-agny .nav-link{color:var(--navy-900); font-weight:600; font-size:.93rem; padding:.5rem .9rem !important;}
.navbar-agny .nav-link:hover, .navbar-agny .nav-link.active{color:var(--teal-600);}

/* ---------- Hero ---------- */
.hero{
  position:relative; overflow:hidden;
  background:linear-gradient(180deg, var(--navy-950) 0%, var(--navy-900) 55%, var(--teal-700) 130%);
  color:#fff; padding:5.5rem 0 3rem;
}
.hero .skyline{
  position:absolute; left:0; right:0; bottom:0; width:100%; height:auto; opacity:.5;
}
.hero-content{position:relative; z-index:2;}
.hero h1{color:#fff; font-size:clamp(2.1rem, 4vw, 3.3rem); line-height:1.12;}
.hero p.lead{color:#dbe7e3; max-width:560px;}
.hero-badge{
  display:inline-flex; align-items:center; gap:.4rem; background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.25); border-radius:999px; padding:.35rem .9rem;
  font-size:.78rem; font-weight:600; color:#fff; margin-bottom:1.1rem;
}
.hero-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--amber-500);}

/* ---------- Quick service cards ---------- */
.quick-card{
  background:#fff; border-radius:var(--radius-md); padding:1.5rem 1.3rem;
  box-shadow:var(--shadow-soft); height:100%; transition:transform .18s ease, box-shadow .18s ease;
  border:1px solid var(--mist-100);
}
.quick-card:hover{transform:translateY(-5px); box-shadow:0 18px 34px -14px rgba(13,30,45,.3);}
.quick-card .icon-wrap{
  width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center;
  background:var(--amber-050); color:var(--amber-500); font-size:1.4rem; margin-bottom:1rem;
}

/* ---------- Cards general ---------- */
.card-agny{
  border:1px solid var(--mist-100); border-radius:var(--radius-md); overflow:hidden; height:100%;
  transition:transform .18s ease, box-shadow .18s ease; background:#fff;
}
.card-agny:hover{transform:translateY(-4px); box-shadow:var(--shadow-soft);}
.card-agny img{aspect-ratio:4/3; object-fit:cover; width:100%;}
.card-agny .card-body{padding:1.25rem;}

/* ---------- Why choose us ---------- */
.feature-row{display:flex; gap:1rem; align-items:flex-start; margin-bottom:1.6rem;}
.feature-row .feature-icon{
  flex:0 0 46px; width:46px; height:46px; border-radius:12px; background:var(--teal-600); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:1.1rem;
}

/* ---------- Stats ---------- */
.stat-box{text-align:center; padding:1.2rem;}
.stat-box .num{font-family:var(--font-display); font-size:2.4rem; font-weight:700; color:var(--amber-500);}
.stat-box .lbl{color:#dbe7e3; font-size:.9rem; text-transform:uppercase; letter-spacing:.06em;}

/* ---------- Section spacing ---------- */
.section{padding:4.5rem 0;}
.section-sm{padding:3rem 0;}

/* ---------- Chairman message ---------- */
.chairman-photo{border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-soft); position:relative;}
.chairman-quote-mark{font-family:var(--font-display); font-size:5rem; color:var(--amber-050); line-height:0; position:absolute; top:-10px; left:-6px;}

/* ---------- Team ---------- */
.team-card{text-align:center;}
.team-card .photo{
  width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:var(--radius-md);
  margin-bottom:1rem; box-shadow:var(--shadow-soft);
}

/* ---------- Testimonials ---------- */
.testimonial-card{background:var(--mist-050); border-radius:var(--radius-md); padding:1.6rem; height:100%;}
.testimonial-card .stars{color:var(--amber-500); letter-spacing:2px;}

/* ---------- Gallery ---------- */
.gallery-item{border-radius:var(--radius-sm); overflow:hidden; position:relative; display:block;}
.gallery-item img{width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .3s ease;}
.gallery-item:hover img{transform:scale(1.06);}

/* ---------- Fare Table ---------- */
.table-fares thead th{background:var(--navy-900); color:#fff; font-weight:600; border:0;}
.table-fares td, .table-fares th{vertical-align:middle;}

/* ---------- FAQ ---------- */
.accordion-agny .accordion-button{font-weight:600; color:var(--navy-900);}
.accordion-agny .accordion-button:not(.collapsed){color:var(--teal-700); background:var(--amber-050);}
.accordion-agny .accordion-button:focus{box-shadow:none;}

/* ---------- Footer ---------- */
.footer-agny{background:var(--navy-950); color:#c6d3ce; padding:3.5rem 0 0;}
.footer-agny h6{color:#fff; text-transform:uppercase; letter-spacing:.08em; font-size:.8rem; margin-bottom:1.1rem;}
.footer-agny a{color:#c6d3ce;}
.footer-agny a:hover{color:var(--amber-400);}
.footer-agny .footer-bottom{border-top:1px solid rgba(255,255,255,.1); margin-top:2.5rem; padding:1.2rem 0; font-size:.85rem; color:#93a5a0;}
.social-circle{
  width:36px; height:36px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.08); color:#fff; margin-right:.4rem;
}
.social-circle:hover{background:var(--amber-500); color:var(--navy-950);}

/* ---------- Sticky mobile contact bar ---------- */
.mobile-contact-bar{
  position:fixed; left:0; right:0; bottom:0; z-index:1040; display:flex;
  background:var(--navy-950); box-shadow:0 -6px 18px rgba(0,0,0,.25);
}
.mobile-contact-bar a{
  flex:1; text-align:center; color:#fff; padding:.7rem .3rem; font-size:.78rem; font-weight:600;
  border-right:1px solid rgba(255,255,255,.08);
}
.mobile-contact-bar a:last-child{border-right:0;}
.mobile-contact-bar a i{display:block; font-size:1.05rem; margin-bottom:.15rem;}
.mobile-contact-bar a.whatsapp{background:#1e7d68;}
.mobile-contact-bar a.ride{background:var(--amber-500); color:var(--navy-950);}
@media (min-width: 992px){ .mobile-contact-bar{display:none;} }
body{padding-bottom:0;}
@media (max-width: 991.98px){ body{padding-bottom:56px;} }

/* ---------- Request ride form card ---------- */
.ride-form-card{background:#fff; border-radius:var(--radius-lg); box-shadow:var(--shadow-soft); padding:2rem;}

/* ---------- Breadcrumb / inner hero ---------- */
.page-hero{
  background:linear-gradient(180deg, var(--navy-950), var(--navy-800));
  color:#fff; padding:3.2rem 0; margin-bottom:0;
}
.page-hero h1{color:#fff; margin-bottom:.4rem;}
.page-hero .breadcrumb{background:transparent; margin:0; font-size:.85rem;}
.page-hero .breadcrumb a{color:#cfe0dc;}
.page-hero .breadcrumb .active{color:var(--amber-400);}

/* ---------- Utility ---------- */
.rounded-agny{border-radius:var(--radius-md) !important;}
.shadow-agny{box-shadow:var(--shadow-soft) !important;}
.badge-service{background:var(--amber-050); color:var(--teal-700); font-weight:600; border-radius:999px; padding:.35rem .7rem; font-size:.75rem;}
