:root{
  --ink:#071456;
  --ink-2:#0D2380;
  --paper:#F2F7FE;
  --white:#fff;
  --green:#0066E0;
  --accent:#0072E5;
  --accent-d:#005BC0;
  --muted:#586789;
  --line:#D9E4F5;
  --radius:14px;
}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:'Hind Siliguri','Bricolage Grotesque',system-ui,sans-serif;color:var(--ink);background:var(--white);line-height:1.75;font-size:1.05rem}
h1,h2,h3,.brand,.price{font-family:'Bricolage Grotesque','Hind Siliguri',sans-serif;letter-spacing:-.01em;line-height:1.25}
h2{font-weight:800;font-size:clamp(1.7rem,3.4vw,2.4rem)}
h3{font-weight:700;font-size:1.2rem}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.btn-check:focus-visible+.btn{outline:3px solid var(--accent);outline-offset:2px}

/* nav */
#nav{padding:.9rem 0;transition:background .25s,box-shadow .25s}
#nav.scrolled{background:var(--ink);box-shadow:0 2px 16px rgba(0,0,0,.25)}
.brand{color:#fff!important;font-weight:800;font-size:1.3rem;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none}
.brand-logo{width:38px;height:38px;border-radius:50%;background:#fff;padding:2px;object-fit:contain}
.brand-sub{font-weight:500;opacity:.7}
.navbar .nav-link{color:rgba(255,255,255,.85);font-weight:500}
.navbar .nav-link:hover{color:#fff}
.navbar-toggler{color:#fff;font-size:1.8rem;border:0;padding:0}
@media(max-width:991px){#menu{background:var(--ink);margin:.8rem -12px 0;padding:1rem 1.5rem;border-radius:var(--radius)}}

/* buttons */
.btn{border-radius:10px;font-weight:600}
.btn-accent{background:var(--accent);color:#fff;border:0}
.btn-accent:hover{background:var(--accent-d);color:#fff}

/* hero */
.hero{background:radial-gradient(1200px 500px at 85% 10%,#0099FF44,transparent),var(--ink);color:#fff;padding:9rem 0 5.5rem}
.hero h1{font-weight:800;font-size:clamp(2rem,4.6vw,3.4rem);margin:1rem 0}
.hero .lead{color:rgba(255,255,255,.8);max-width:34rem;margin-bottom:2rem}
.hero-tag{display:inline-flex;gap:.5rem;align-items:center;background:rgba(0,153,255,.25);border:1px solid rgba(255,255,255,.18);padding:.35rem .9rem;border-radius:99px;font-weight:600;font-size:.95rem;margin:0}
.hero-tag i{color:#5CC8FF}
.route-card{background:var(--ink-2);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:1rem}
.route-svg{width:100%;height:auto;display:block}
.route-line{fill:none;stroke-width:2.5;stroke-dasharray:6 7;stroke-linecap:round;animation:dash 1.6s linear infinite}
.route-air{stroke:#FFFFFF}
.route-sea{stroke:#33AAFF}
@keyframes dash{to{stroke-dashoffset:-26}}
.pin circle:first-child{fill:#fff}
.pulse{fill:none;stroke:#fff;stroke-width:1.5;opacity:.6;transform-box:fill-box;transform-origin:center;animation:pulse 2.2s ease-out infinite}
@keyframes pulse{from{transform:scale(.4);opacity:.8}to{transform:scale(1.6);opacity:0}}
.map-label{fill:#fff;font:600 14px 'Hind Siliguri',sans-serif}
.mover-air{fill:#fff}
.mover-sea{fill:#33AAFF}
.route-legend{display:flex;flex-wrap:wrap;gap:1rem 2rem;padding:.5rem .75rem .25rem}
.route-legend div{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.route-legend small{color:rgba(255,255,255,.65)}
.dot{width:10px;height:10px;border-radius:50%}
.dot-air{background:#fff}.dot-sea{background:#33AAFF}

/* sections */
.section{padding:5.5rem 0}
.section-alt{background:var(--paper)}
.section-dark{background:var(--ink);color:#fff}
.section-head{max-width:40rem;margin-bottom:3rem}
.section-head p,.muted{color:var(--muted)}

.svc{height:100%;padding:1.75rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:border-color .2s,transform .2s}
.svc:hover{border-color:var(--green);transform:translateY(-3px)}
.svc i{font-size:1.8rem;color:var(--green)}
.svc h3{margin:.8rem 0 .4rem}
.svc p{margin:0;color:var(--muted)}

.steps{list-style:none;margin:0;padding:0;max-width:44rem;position:relative}
.steps::before{content:"";position:absolute;left:23px;top:10px;bottom:10px;width:2px;background:var(--line)}
.steps li{display:flex;gap:1.25rem;position:relative;padding-bottom:1.75rem}
.steps li:last-child{padding-bottom:0}
.steps .n{flex:none;width:48px;height:48px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:700;font-size:1.2rem;z-index:1}
.steps h3{margin:.3rem 0 .15rem}
.steps p{margin:0;color:var(--muted)}

.calc,.contact-form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:2rem;box-shadow:0 12px 40px rgba(7,20,86,.08)}
.btn-toggle{border:1.5px solid var(--line);color:var(--ink);padding:.7rem}
.btn-check:checked+.btn-toggle{background:var(--ink);color:#fff;border-color:var(--ink)}
.form-range::-webkit-slider-thumb{background:var(--accent)}
.form-range::-moz-range-thumb{background:var(--accent)}
.result{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding:1.25rem;background:var(--paper);border-radius:var(--radius)}
.result small{color:var(--muted)}
.price{font-size:1.9rem;font-weight:800;color:var(--green)}
.time{font-weight:700;font-size:1.2rem;margin-top:.3rem}
.form-control,.form-select{border-radius:10px;padding:.7rem .9rem;border-color:var(--line)}
.form-control:focus,.form-select:focus{border-color:var(--green);box-shadow:0 0 0 .2rem rgba(0,114,229,.2)}

.why{height:100%;padding:1.5rem;border-radius:var(--radius);background:var(--ink-2);border:1px solid rgba(255,255,255,.08)}
.why i{font-size:1.7rem;color:#5CC8FF}
.why h3{margin:.7rem 0 .4rem}
.why p{margin:0;color:rgba(255,255,255,.72)}

.faq-wrap{max-width:46rem}
.accordion-item{border:1px solid var(--line)!important;border-radius:var(--radius)!important;margin-bottom:.75rem;overflow:hidden}
.accordion-button{font-weight:600;font-size:1.05rem}
.accordion-button:not(.collapsed){background:var(--paper);color:var(--ink);box-shadow:none}
.accordion-button:focus{box-shadow:0 0 0 .2rem rgba(0,114,229,.2)}

.contact-list{list-style:none;padding:0;margin:2rem 0 0}
.contact-list li{display:flex;gap:.75rem;align-items:center;margin-bottom:.9rem}
.contact-list i{color:var(--green);font-size:1.2rem}

.footer{background:var(--ink);color:rgba(255,255,255,.7);padding:1.75rem 0}

/* single entrance moment: hero text */
.hero .col-lg-6:first-child>*{animation:rise .7s both}
.hero .col-lg-6:first-child>*:nth-child(2){animation-delay:.1s}
.hero .col-lg-6:first-child>*:nth-child(3){animation-delay:.2s}
.hero .col-lg-6:first-child>*:nth-child(4){animation-delay:.3s}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

@media(max-width:575px){.hero{padding-top:7.5rem}.section{padding:4rem 0}.calc,.contact-form{padding:1.25rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ===== multi-page additions ===== */
.is-inner #nav{background:var(--ink);box-shadow:0 2px 16px rgba(0,0,0,.2)}
.navbar .nav-link.active{color:#fff;box-shadow:inset 0 -2px 0 #5CC8FF}
.dropdown-menu{border-radius:12px;border:1px solid var(--line)}
.dropdown-item.active,.dropdown-item:active{background:var(--accent)}
.navbar-expand-xl .navbar-nav .nav-link{padding:.5rem .8rem}
.page-hero{background:radial-gradient(900px 300px at 85% 0,#0099FF44,transparent),var(--ink);color:#fff;padding:8rem 0 3.5rem}
.page-hero h1{font-weight:800;font-size:clamp(1.8rem,4vw,2.8rem);margin:.5rem 0}
.page-hero p{color:rgba(255,255,255,.8);max-width:36rem;margin:0}
.breadcrumb{--bs-breadcrumb-divider-color:rgba(255,255,255,.5);margin:0;font-size:.95rem}
.breadcrumb a{color:#9fd6ff;text-decoration:none}
.breadcrumb-item.active{color:rgba(255,255,255,.75)}
.trust{background:var(--paper);border-bottom:1px solid var(--line)}
.trust-list{list-style:none;margin:0;padding:1.1rem 0;display:flex;flex-wrap:wrap;gap:.6rem 2rem;justify-content:space-between}
.trust-list li{display:flex;gap:.5rem;align-items:center;font-weight:600}
.trust-list i{color:var(--green)}
a.svc{display:block;color:inherit;text-decoration:none}
.svc.static:hover{transform:none;border-color:var(--line)}
.svc-icon{width:64px;height:64px;border-radius:16px;background:var(--paper);display:grid;place-items:center;margin-bottom:1rem}
.svc-icon i{font-size:1.9rem;color:var(--green)}
.badge-mode{display:inline-block;margin-top:.8rem;padding:.1rem .7rem;border-radius:99px;background:var(--paper);color:var(--green);font-weight:600;font-size:.88rem}
.check-list{list-style:none;padding:0;margin:0}
.check-list li{position:relative;padding:.55rem 0 .55rem 2rem;border-bottom:1px solid var(--line)}
.check-list li:last-child{border-bottom:0}
.check-list li::before{content:"\F26A";font-family:bootstrap-icons;position:absolute;left:0;top:.5rem;color:var(--green)}
.mode-card,.panel{height:100%;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem}
.mode-card i,.panel>i{font-size:1.8rem;color:var(--green)}
.mode-card ul{padding-left:1.1rem;margin:0;color:var(--muted)}
.panel h3{margin:.6rem 0 .4rem}
.panel p{color:var(--muted)}
.cat{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;height:100%;padding:1.1rem .6rem;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);text-decoration:none;font-weight:600;font-size:.95rem;line-height:1.4;transition:border-color .2s}
.cat:hover{border-color:var(--green)}
.cat i{font-size:1.7rem;color:var(--green)}
.link-arrow{font-weight:600;color:var(--green);text-decoration:none}
.link-arrow::after{content:" \2192"}
.track-mini{display:flex;gap:.75rem;flex-wrap:wrap}
.track-mini .form-control{flex:1 1 220px}
.mini-faq{background:var(--paper);border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column;gap:.7rem}
.mini-faq h3{margin:0}
.mini-faq a{color:var(--ink);text-decoration:none}
.mini-faq a:hover{color:var(--green)}
.about-logo{max-width:280px;width:70%;border-radius:50%}
.table-rates{border:1px solid var(--line)}
.table-rates th{background:var(--paper)}
.filters{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-bottom:2rem}
.chip{border:1.5px solid var(--line);background:#fff;border-radius:99px;padding:.35rem 1rem;font-weight:600;color:var(--ink)}
.chip.active{background:var(--ink);border-color:var(--ink);color:#fff}
.chip-search{max-width:240px;border-radius:99px;margin-left:auto}
.notice{display:flex;gap:1rem;background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);padding:1.25rem}
.notice>i{font-size:1.6rem;color:var(--accent)}
.notice h3{margin:0 0 .3rem}
.calc-detail{list-style:none;margin:1rem 0 0;padding:0;color:var(--muted);font-size:.95rem}
.small-list li{font-size:.95rem}
.tracking-wrap{max-width:44rem}
.track-steps{list-style:none;padding:0;margin:1rem 0;position:relative}
.track-steps li{position:relative;padding:.4rem 0 .4rem 2rem;color:var(--muted)}
.track-steps li span{position:absolute;left:0;top:.65rem;width:14px;height:14px;border-radius:50%;border:2px solid var(--line);background:#fff}
.track-steps li.done{color:var(--ink)}
.track-steps li.done span{background:var(--green);border-color:var(--green)}
.track-steps li.now{color:var(--ink);font-weight:700}
.track-steps li.now span{background:#fff;border-color:var(--accent);box-shadow:0 0 0 4px rgba(0,114,229,.2)}
.cta-band{background:var(--accent);color:#fff;padding:2.5rem 0}
.cta-band h2{font-size:1.5rem;margin-bottom:.3rem}
.cta-band p{opacity:.9}
.footer{padding:3.5rem 0 1.5rem}
.footer h3{font-size:1rem;color:#fff;margin-bottom:.8rem}
.footer ul{list-style:none;padding:0;margin:0}
.footer li{margin-bottom:.4rem}
.footer a{color:rgba(255,255,255,.75);text-decoration:none}
.footer a:hover{color:#fff}
.footer hr{border-color:rgba(255,255,255,.15);margin:2rem 0 1rem}
.contact-foot i{margin-right:.4rem}
.social{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff!important;margin-right:.5rem;font-size:1.1rem}
.social:hover{background:var(--accent)}
.contact-list a{color:var(--ink)}
.fab{position:fixed;right:1rem;z-index:1030;width:52px;height:52px;border-radius:50%;border:0;display:grid;place-items:center;font-size:1.5rem;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.fab-wa{bottom:1rem;background:#25D366;color:#fff}
.fab-top{bottom:4.8rem;background:var(--ink);color:#fff;opacity:0;pointer-events:none;transition:opacity .2s}
.fab-top.show{opacity:1;pointer-events:auto}

/* ===== responsive ===== */
html,body{overflow-x:clip}
img,svg{max-width:100%}
.row.g-5{--bs-gutter-x:1.5rem}
@media(min-width:992px){.row.g-5{--bs-gutter-x:3rem}}
.btn,.nav-link,.chip,.accordion-button{min-height:44px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem}
.form-control,.form-select{min-height:46px;font-size:1rem}
@media(max-width:1199px){
  #nav .navbar-nav{padding:.5rem 0}
  #menu .btn-accent{width:100%;margin-top:.5rem}
  .navbar .nav-link.active{box-shadow:none;color:#5CC8FF}
  .dropdown-menu{background:transparent;border:0;padding-left:1rem}
  .dropdown-item{color:rgba(255,255,255,.85)}
}
@media(max-width:991px){
  .hero{padding:7.5rem 0 3.5rem}
  .page-hero{padding:6.5rem 0 2.5rem}
  .section{padding:4rem 0}
  .section-head{margin-bottom:2rem}
  .trust-list{justify-content:flex-start}
  .chip-search{margin-left:0;max-width:none;flex:1 1 100%}
  .cta-band .btn{width:100%}
}
@media(max-width:575px){
  body{font-size:1rem}
  .hero .btn-lg{width:100%}
  .hero h1 br{display:none}
  .route-legend{flex-direction:column;gap:.5rem}
  .trust-list{flex-direction:column}
  .result{flex-direction:column;gap:.75rem}
  .result .text-end{text-align:left!important}
  .track-mini .btn{width:100%}
  .steps .n{width:40px;height:40px;font-size:1rem}
  .steps::before{left:19px}
  .steps li{gap:1rem}
  .notice{flex-direction:column;gap:.5rem}
  .fab{width:46px;height:46px;font-size:1.3rem;right:.75rem}
  .fab-top{bottom:4.2rem}
  .footer{padding-top:2.5rem}
  .panel,.mode-card,.svc{padding:1.25rem}
}
@media(min-width:1600px){.container{max-width:1320px}}
@media(max-width:575px){.map-label{font-size:19px}}

/* ===== device-specific layout ===== */
/* tablet: trust strip as 2x2, CTA button natural width */
@media(min-width:576px) and (max-width:991px){
  .trust-list{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.5rem}
  .cta-band .btn{width:auto}
  .footer .col-lg-4{margin-bottom:.5rem}
}
/* phones: compact horizontal service cards, tighter rhythm */
@media(max-width:767px){
  .svc,a.svc{display:grid;grid-template-columns:44px 1fr;column-gap:1rem;align-items:start;padding:1rem 1.1rem}
  .svc>i{grid-row:1 / span 2;font-size:1.6rem;line-height:1.3}
  .svc h3{margin:0 0 .2rem;font-size:1.1rem}
  .svc p{font-size:.97rem;line-height:1.6}
  .svc .badge-mode{grid-column:2;justify-self:start;margin-top:.5rem}
  .svc.static{grid-template-columns:44px 1fr}
  .section-head h2,h2{font-size:1.55rem}
  .row.g-4{--bs-gutter-y:.85rem}
  .why{padding:1.1rem}
  .hero .lead{font-size:1.02rem;margin-bottom:1.5rem}
  .route-card{padding:.6rem;border-radius:16px}
  .check-list li{padding-left:1.8rem}
}
/* landscape phones: less vertical padding */
@media(max-height:500px) and (orientation:landscape){
  .hero{padding:5.5rem 0 2.5rem}
  .page-hero{padding:5rem 0 2rem}
  .section{padding:3rem 0}
  #menu{max-height:70vh;overflow-y:auto}
}
/* touch devices: no hover lift, bigger tap gaps */
@media(hover:none){
  .svc:hover,a.svc:hover{transform:none}
  .footer li{margin-bottom:.65rem}
}
/* very small phones */
@media(max-width:359px){
  .brand{font-size:1.1rem}.brand-sub{display:none}
  .hero h1{font-size:1.75rem}
  .fab-top{display:none}
}

/* ===== developer credit ===== */
.footer-bottom{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}
.credit{position:relative;display:inline-flex;align-items:center;gap:.7rem;padding:.45rem 1.1rem .45rem .5rem;border-radius:99px;color:#fff!important;font-size:.92rem;text-decoration:none;isolation:isolate;overflow:hidden;background:rgba(255,255,255,.06);transition:transform .2s,box-shadow .2s}
.credit::before{content:"";position:absolute;left:50%;top:50%;width:300%;aspect-ratio:1;translate:-50% -50%;z-index:-2;background:conic-gradient(from 0deg,#00C6FF,#0072FF,#7B5CFF,#00E0B8,#00C6FF);animation:spin 4s linear infinite}
.credit::after{content:"";position:absolute;inset:2px;z-index:-1;border-radius:inherit;background:#07124A}
@keyframes spin{to{rotate:360deg}}
.credit-code{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#00C6FF,#0072FF);font:700 .8rem 'Bricolage Grotesque',monospace;animation:beat 2.2s ease-in-out infinite}
@keyframes beat{0%,100%{transform:scale(1)}50%{transform:scale(1.15) rotate(-6deg)}}
.credit strong{background:linear-gradient(90deg,#7BE0FF,#fff,#7BE0FF);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 2.5s linear infinite}
@keyframes shine{to{background-position:200% center}}
.credit-site{display:none;color:#7BE0FF}
.credit:hover .credit-site,.credit:focus-visible .credit-site{display:inline}
.credit:hover .credit-text,.credit:focus-visible .credit-text{display:none}
.credit:hover,.credit:focus-visible{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,153,255,.35)}
@media(max-width:575px){.footer-bottom{flex-direction:column;align-items:flex-start}.credit{font-size:.88rem}}
@media(hover:none){.credit-site{display:none!important}.credit:hover .credit-text{display:inline!important}}
@media(max-width:575px){.footer{padding-bottom:5rem}}
