:root{
  --ink:#123642;--plum:#1a6b6b;--paper:#faf8f5;--teal:#1a6b6b;--orange:#e8842c;--amber:#f2a35c;
  --line:rgba(18,54,66,0.12);--line-soft:rgba(18,54,66,0.06);--line-dk:rgba(250,248,245,0.14);
  --mono:'Space Mono',monospace;--display:'Fraunces','Noto Sans Bengali','Noto Sans Devanagari',serif;--body:'Inter','Noto Sans Bengali','Noto Sans Devanagari',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--orange);color:#fff;}

/* NAV */
.topbar{display:flex;justify-content:space-between;align-items:center;padding:20px 6vw;position:sticky;top:0;z-index:100;background:rgba(250,248,245,0.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft);gap:20px;}
.brand{display:flex;align-items:center;gap:11px;}
.brand-mark{width:30px;height:30px;border-radius:8px;object-fit:contain;background:transparent;flex-shrink:0;}
.brand-name{font-family:var(--display);font-weight:500;font-size:1.12rem;}
.brand-sub{font-family:var(--mono);font-size:0.53rem;color:var(--teal);letter-spacing:0.12em;margin-top:1px;}
.nav-links{display:flex;gap:30px;font-size:0.8rem;font-weight:500;}
.nav-links a{opacity:0.6;transition:opacity .2s;} .nav-links a:hover{opacity:1;}
.nav-cta{font-size:0.78rem;font-weight:600;background:var(--ink);color:var(--paper);padding:11px 20px;border-radius:100px;white-space:nowrap;}
.nav-cta:hover{background:var(--teal);}

.eyebrow{font-family:var(--mono);font-size:0.66rem;letter-spacing:0.14em;color:var(--orange);text-transform:uppercase;margin-bottom:22px;display:flex;align-items:center;gap:12px;}
.eyebrow::before{content:'';width:24px;height:1px;background:var(--orange);}
.btn{padding:15px 28px;border-radius:100px;font-weight:600;font-size:0.85rem;border:none;cursor:pointer;transition:all .25s;display:inline-block;}
.btn-solid{background:var(--ink);color:var(--paper);} .btn-solid:hover{background:var(--teal);transform:translateY(-2px);}
.btn-line{border:1px solid var(--line);background:transparent;} .btn-line:hover{border-color:var(--ink);}

/* HERO */
.hero{padding:10vh 6vw 0;position:relative;}
.hero::before{content:'';position:absolute;top:-15%;right:-10%;width:50vw;height:50vw;background:radial-gradient(circle,rgba(232,132,44,0.10),transparent 62%);pointer-events:none;}
.hero::after{content:'';position:absolute;top:8%;left:-15%;width:44vw;height:44vw;background:radial-gradient(circle,rgba(26,107,107,0.10),transparent 62%);pointer-events:none;}
.hero-grid{display:grid;grid-template-columns:1.2fr 0.8fr;gap:5vw;align-items:end;position:relative;z-index:1;}
h1{font-family:var(--display);font-weight:300;font-size:clamp(2.7rem,5.4vw,5.2rem);line-height:1.0;letter-spacing:-0.03em;}
h1 em{font-style:italic;font-weight:500;color:var(--teal);}
.hero-side p{font-size:1rem;opacity:0.62;font-weight:300;margin-bottom:24px;}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;}
.trustline{display:flex;gap:26px;flex-wrap:wrap;margin-top:42px;padding-top:26px;border-top:1px solid var(--line-soft);position:relative;z-index:1;}
.trust .k{font-family:var(--mono);font-size:0.58rem;letter-spacing:0.08em;text-transform:uppercase;opacity:0.45;margin-bottom:4px;}
.trust .v{font-family:var(--display);font-size:1.05rem;font-weight:500;}

.band{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:12px;padding:5vh 6vw 7vh;}
.ph{position:relative;overflow:hidden;border-radius:8px;display:flex;align-items:flex-end;padding:18px;aspect-ratio:3/4;background:linear-gradient(160deg,#cfe3e0,#8fbdb6,#5a938a);background-size:cover;background-position:center;}
.ph::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(18,54,66,0.6));}
.ph-l{position:relative;z-index:1;color:#fff;font-family:var(--mono);font-size:0.6rem;letter-spacing:0.06em;text-transform:uppercase;}
.ph.a{aspect-ratio:auto;} .ph.b{background:linear-gradient(160deg,#f7e2cf,#eeb682,#d1834a);}
.ph.c{background:linear-gradient(160deg,#dfe9e3,#a9c6b6,#719684);} .ph.d{background:linear-gradient(160deg,#e0ece9,#a3c9c1,#6c9a90);}

section{padding:8vw 6vw;}
.sec-head{margin-bottom:48px;max-width:62ch;}
h2{font-family:var(--display);font-weight:300;font-size:clamp(1.9rem,3.4vw,3.1rem);letter-spacing:-0.02em;line-height:1.08;}
h2 em{font-style:italic;color:var(--teal);font-weight:500;}
.sec-head p{margin-top:16px;opacity:0.6;font-weight:300;font-size:0.98rem;}
h3{font-family:var(--display);font-weight:500;}

/* INTERNATIONAL */
.intl{background:var(--ink);color:var(--paper);position:relative;overflow:hidden;margin:0 3vw;border-radius:24px;}
.intl::before{content:'';position:absolute;top:-40%;left:-5%;width:50vw;height:50vw;background:radial-gradient(circle,rgba(26,107,107,0.28),transparent 62%);}
.intl .eyebrow{color:var(--amber);} .intl .eyebrow::before{background:var(--amber);}
.intl h2 em{color:var(--amber);}
.intl-wrap{position:relative;z-index:1;}
.intl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-dk);border:1px solid var(--line-dk);border-radius:12px;overflow:hidden;margin-top:46px;}
.intl-card{padding:32px 26px;background:var(--ink);}
.intl-card .n{font-family:var(--mono);font-size:0.62rem;color:var(--amber);letter-spacing:0.08em;margin-bottom:14px;}
.intl-card h3{font-size:1.1rem;margin-bottom:8px;}
.intl-card p{font-size:0.86rem;opacity:0.55;font-weight:300;line-height:1.65;}
.flags{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px;}
.flag{font-family:var(--mono);font-size:0.62rem;border:1px solid var(--line-dk);padding:8px 14px;border-radius:100px;opacity:0.65;}

/* WHO */
.who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:10px;overflow:hidden;}
.who{padding:32px 26px;background:var(--paper);}
.who:hover{background:#fff;}
.who-ico{font-size:1.3rem;margin-bottom:14px;color:var(--teal);}
.who h3{font-size:1.1rem;margin-bottom:7px;}
.who p{font-size:0.85rem;opacity:0.6;font-weight:300;line-height:1.6;}

/* ROUTES LIST (used on destinations.php) */
.routes{border-top:1px solid var(--line-soft);}
.route{display:grid;grid-template-columns:70px 1.4fr 1fr 130px;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line-soft);transition:padding-left .3s;}
.route:hover{padding-left:14px;} .route:hover h3{color:var(--teal);}
.r-idx{font-family:var(--mono);font-size:0.72rem;opacity:0.4;}
.route h3{font-size:clamp(1.2rem,2vw,1.7rem);transition:color .3s;font-weight:400;}
.route .sub{font-size:0.83rem;opacity:0.55;font-weight:300;margin-top:5px;}
.r-tags{display:flex;gap:7px;flex-wrap:wrap;}
.tag{font-family:var(--mono);font-size:0.58rem;text-transform:uppercase;letter-spacing:0.04em;border:1px solid var(--line);padding:5px 10px;border-radius:100px;opacity:0.6;}
.r-link{font-family:var(--mono);font-size:0.66rem;text-transform:uppercase;font-weight:700;color:var(--teal);text-align:right;}

/* Destination photo blocks (destinations.php) */
.dest{padding:5vw 6vw;border-top:1px solid var(--line-soft);display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;}
.dest.rev .copy{order:2;}
.photos{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.photos .ph{aspect-ratio:3/4;}
.photos .ph.shift{margin-top:34px;}
.idx{font-family:var(--mono);font-size:0.74rem;opacity:0.4;margin-bottom:14px;}
.copy h2{font-family:var(--display);font-weight:300;font-size:clamp(2rem,3.4vw,3.2rem);letter-spacing:-0.02em;line-height:1.04;}
.copy h2 em{font-style:italic;color:var(--teal);font-weight:500;}
.tags{display:flex;gap:8px;margin:18px 0 22px;flex-wrap:wrap;}
.copy p{font-size:0.96rem;opacity:0.62;font-weight:300;max-width:46ch;line-height:1.7;margin-bottom:24px;}
.dlink{font-family:var(--mono);font-size:0.72rem;text-transform:uppercase;letter-spacing:0.04em;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:3px;}

/* EMI */
.emi{background:linear-gradient(120deg,var(--plum),var(--ink));color:var(--paper);}
.emi .eyebrow{color:var(--amber);} .emi .eyebrow::before{background:var(--amber);}
.emi h2 em{color:var(--amber);}
.emi-grid{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;}
.emi p{opacity:0.6;font-weight:300;margin-top:18px;max-width:42ch;}
.emi-card{border:1px solid var(--line-dk);border-radius:12px;padding:32px;background:rgba(250,248,245,0.04);}
.emi-row{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid var(--line-dk);}
.emi-row:last-of-type{border:none;}
.emi-row .lbl{font-family:var(--mono);font-size:0.66rem;letter-spacing:0.06em;opacity:0.5;text-transform:uppercase;}
.emi-row .val{font-family:var(--display);font-size:1.4rem;font-weight:400;} .emi-row .val em{font-style:italic;color:var(--amber);}
.emi-note{font-family:var(--mono);font-size:0.58rem;opacity:0.4;margin-top:18px;line-height:1.7;}

/* FAQ */
.faq-list{border-top:1px solid var(--line);}
details{border-bottom:1px solid var(--line-soft);padding:22px 0;}
summary{font-family:var(--display);font-weight:500;font-size:1.12rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;}
summary::-webkit-details-marker{display:none;}
summary::after{content:'+';font-family:var(--body);font-size:1.3rem;opacity:0.4;font-weight:300;}
details[open] summary::after{content:'−';}
details p{margin-top:14px;font-size:0.93rem;opacity:0.62;font-weight:300;line-height:1.75;max-width:70ch;}

/* internal link cloud */
.cloud{background:#fff;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);}
.cloud-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;}
.cloud-col h4{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;opacity:0.45;margin-bottom:16px;}
.cloud-col a{display:block;font-size:0.85rem;opacity:0.65;margin-bottom:9px;font-weight:300;}
.cloud-col a:hover{opacity:1;color:var(--teal);}

/* filter chips */
.filters{display:flex;gap:10px;flex-wrap:wrap;padding:0 6vw 4vw;}
.chip{font-family:var(--mono);font-size:0.66rem;text-transform:uppercase;letter-spacing:0.05em;border:1px solid var(--line);padding:9px 16px;border-radius:100px;opacity:0.65;cursor:pointer;transition:all .2s;}
.chip:hover,.chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink);opacity:1;}

.page-head{padding:11vh 6vw 5vw;}
.page-head h1{font-family:var(--display);font-weight:300;font-size:clamp(2.5rem,5vw,4.6rem);letter-spacing:-0.03em;max-width:16ch;line-height:1.02;}
.page-head h1 em{font-style:italic;color:var(--teal);font-weight:500;}
.page-head p{margin-top:20px;font-size:1.02rem;opacity:0.6;font-weight:300;max-width:54ch;}

/* ENQUIRY FORM */
.inq{background:var(--plum);color:var(--paper);padding:8vw 6vw;margin-top:5vw;}
.inq-wrap{display:grid;grid-template-columns:0.85fr 1.15fr;gap:6vw;align-items:start;}
.inq .eyebrow{color:var(--amber);} .inq .eyebrow::before{background:var(--amber);}
.inq h2{font-family:var(--display);font-weight:300;font-size:clamp(2rem,3.6vw,3.2rem);letter-spacing:-0.02em;margin-bottom:18px;line-height:1.05;}
.inq h2 em{font-style:italic;color:var(--amber);}
.inq-copy p{opacity:0.6;margin-bottom:28px;max-width:38ch;font-weight:300;}
.inq-note{font-size:0.74rem;opacity:0.45;font-family:var(--mono);line-height:1.7;border-left:2px solid var(--orange);padding-left:16px;}
.form{border-top:1px solid var(--line-dk);}
.frow{display:grid;grid-template-columns:1fr 1fr;}
.field{display:flex;flex-direction:column;gap:9px;padding:22px 0;border-bottom:1px solid var(--line-dk);}
.field.right{padding-left:5vw;} .field.full{grid-column:1/-1;}
.field label{font-family:var(--mono);font-size:0.6rem;text-transform:uppercase;letter-spacing:0.08em;opacity:0.5;}
.field input,.field select,.field textarea{border:none;padding:4px 0;font-family:var(--body);font-weight:300;font-size:1rem;background:transparent;color:var(--paper);outline:none;}
.field select option{background:var(--ink);color:var(--paper);}
.field input::placeholder,.field textarea::placeholder{color:rgba(250,248,245,0.3);}
.submit{margin-top:30px;background:var(--paper);color:var(--ink);border:none;padding:16px 34px;border-radius:100px;font-weight:700;font-size:0.84rem;text-transform:uppercase;cursor:pointer;transition:all .25s;}
.submit:hover{background:var(--orange);color:#fff;}
.fine{font-family:var(--mono);font-size:0.58rem;opacity:0.4;margin-top:14px;}

/* CTA band */
.cta,.teaser{margin:0 6vw;background:linear-gradient(120deg,var(--plum),var(--ink));color:var(--paper);border-radius:14px;padding:6vw 5vw;display:flex;justify-content:space-between;align-items:center;gap:36px;flex-wrap:wrap;}
.cta h3,.teaser h3{font-family:var(--display);font-weight:300;font-size:clamp(1.8rem,3.2vw,2.7rem);max-width:18ch;line-height:1.15;}
.cta h3 em,.teaser h3 em{font-style:italic;color:var(--amber);}
.cta .btn-solid,.teaser .btn-solid{background:var(--paper);color:var(--ink);} .cta .btn-solid:hover,.teaser .btn-solid:hover{background:var(--orange);color:#fff;}

/* ROUTE PAGE SPECIFIC (route.php) */
.crumb{font-family:var(--mono);font-size:0.66rem;opacity:0.45;padding:5vh 6vw 0;}
.rhero{padding:4vh 6vw 0;display:grid;grid-template-columns:1.1fr 0.9fr;gap:5vw;align-items:end;}
.rhero h1{font-size:clamp(2.6rem,5.2vw,4.8rem);}
.rhero p{font-size:1.02rem;opacity:0.62;font-weight:300;margin-bottom:24px;}
.quickfacts{display:flex;gap:34px;flex-wrap:wrap;margin-top:30px;}
.qf .k{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.08em;text-transform:uppercase;opacity:0.45;margin-bottom:5px;}
.qf .v{font-family:var(--display);font-size:1.15rem;font-weight:500;}
.gallery{display:flex;flex-direction:column;gap:12px;padding:5vh 6vw 0;}
.gallery-main.ph{width:100%;aspect-ratio:16/9;}
.gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.gallery-thumbs .ph{aspect-ratio:1/1;}
.gallery-empty-note{font-family:var(--mono);font-size:0.72rem;opacity:0.5;}
.gallery-empty-note a{color:var(--teal);text-decoration:underline;}
.itin{display:grid;grid-template-columns:1fr 380px;gap:5vw;align-items:start;}
.days{border-top:1px solid var(--line);}
.day{border-bottom:1px solid var(--line-soft);padding:34px 0;display:grid;grid-template-columns:110px 1fr;gap:30px;}
.day-tag{font-family:var(--mono);font-size:0.68rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--teal);padding-top:6px;}
.day h3{font-size:1.4rem;margin-bottom:12px;letter-spacing:-0.01em;}
.day > div > p{font-size:0.95rem;opacity:0.62;font-weight:300;line-height:1.75;max-width:56ch;margin-bottom:18px;}
.stops{display:flex;flex-direction:column;gap:9px;margin-bottom:18px;}
.stop{display:flex;gap:12px;align-items:flex-start;font-size:0.88rem;opacity:0.72;font-weight:300;}
.stop::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--orange);margin-top:8px;flex-shrink:0;}
.pill{font-family:var(--mono);font-size:0.58rem;text-transform:uppercase;letter-spacing:0.05em;border:1px solid var(--line);padding:6px 11px;border-radius:100px;opacity:0.6;}
.side{position:sticky;top:110px;border:1px solid var(--line);border-radius:14px;padding:30px;background:#fff;}
.side h4{font-size:1.3rem;margin-bottom:8px;}
.side > p{font-size:0.86rem;opacity:0.6;font-weight:300;margin-bottom:22px;line-height:1.65;}
.side-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line-soft);font-size:0.86rem;}
.side-row .k{opacity:0.55;font-weight:300;} .side-row .v{font-weight:600;}
.side .btn{width:100%;text-align:center;margin-top:22px;}
.incl{display:grid;grid-template-columns:1fr 1fr;gap:5vw;}
.incl-col h4{font-family:var(--mono);font-size:0.64rem;letter-spacing:0.1em;text-transform:uppercase;opacity:0.45;margin-bottom:20px;}
.incl-col ul{list-style:none;}
.incl-col li{padding:13px 0;border-bottom:1px solid var(--line-soft);font-size:0.92rem;font-weight:300;opacity:0.75;display:flex;gap:12px;}
.incl-col li::before{content:'✓';color:var(--teal);font-size:0.8rem;}
.incl-col.out li::before{content:'✕';color:var(--orange);opacity:0.7;}

/* FOOTER */
footer{background:#0d2830;color:var(--paper);padding:6vw 6vw 2.5vw;position:relative;}
footer::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--teal),var(--orange));}
.f-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.1fr;gap:36px;padding-bottom:44px;border-bottom:1px solid var(--line-dk);}
.f-tagline{font-family:var(--mono);font-size:0.68rem;letter-spacing:0.08em;opacity:0.55;margin-top:16px;text-transform:uppercase;}
.f-brand p{font-size:0.85rem;opacity:0.5;font-weight:300;margin-top:10px;max-width:32ch;line-height:1.7;}
.f-brand p.f-tagline{opacity:0.55;margin-top:16px;}
.f-col h4{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;opacity:0.45;margin-bottom:18px;}
.f-col a,.f-col div{display:block;font-size:0.86rem;opacity:0.72;margin-bottom:11px;font-weight:300;}
.f-col a:hover{opacity:1;color:var(--amber);}
.f-social{display:flex;gap:10px;margin-top:20px;}
.f-social a{width:34px;height:34px;border:1px solid var(--line-dk);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0;opacity:0.7;color:var(--paper);transition:all .2s ease;}
.f-social a:hover{background:var(--paper);color:var(--ink);opacity:1;}
.f-social svg{display:block;}
.f-powered{font-family:var(--mono);font-size:0.64rem;opacity:0.55;margin-top:22px;} .f-powered b{color:var(--amber);}
.f-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;padding-top:26px;font-family:var(--mono);font-size:0.62rem;opacity:0.4;}
.f-bot .links{display:flex;gap:20px;flex-wrap:wrap;}
.f-bot .links a:hover{opacity:1;color:var(--amber);}

@media(max-width:1000px){
  .hero-grid,.emi-grid,.dest,.dest.rev,.inq-wrap,.rhero,.itin,.incl,.gallery{grid-template-columns:1fr;gap:28px;}
  .dest.rev .copy{order:0;}
  .band{grid-template-columns:1fr 1fr;}
  .who-grid,.intl-grid,.cloud-grid{grid-template-columns:1fr 1fr;}
  .route{grid-template-columns:50px 1fr;row-gap:10px;}
  .r-tags,.r-link{grid-column:2;text-align:left;}
  .frow{grid-template-columns:1fr;} .field.right{padding-left:0;}
  .f-top{grid-template-columns:1fr 1fr;}
  .nav-links{display:none;}
  .side{position:static;}
  .gallery .ph.big{grid-row:auto;}
  .intl{margin:0 4vw;border-radius:18px;}
}
@media(max-width:560px){.who-grid,.intl-grid,.cloud-grid,.f-top{grid-template-columns:1fr;}}