/* Public-site colours and typography shared with the ERP dashboard. */
@font-face{font-family:"Roboto Condensed";src:url('assets/fonts/roboto-condensed-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:"Roboto Condensed";src:url('assets/fonts/roboto-condensed-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:"Roboto Condensed";src:url('assets/fonts/roboto-condensed-700.ttf') format('truetype');font-weight:700;font-display:swap}

:root{
  --ink:#112944;
  --muted:#526782;
  --orange:#ffb730;
  --cream:#f0f6ff;
  --line:#dce6f3;
  --blue:#0878ef;
  --navy:#092844;
  --green:#079566;
  --violet:#783bd5;
}
body{font-family:"Roboto Condensed",Arial,sans-serif;font-size:17px}
h1,.brand strong,.coach-stats strong{font-family:Travel,Roboto,Arial,sans-serif;font-weight:700}
h2,h3{font-family:"Roboto Condensed",Arial,sans-serif;letter-spacing:-.6px}
h1 em,h2 em{font-family:inherit;font-style:normal;font-weight:700;letter-spacing:inherit;color:var(--blue)}
.eyebrow{color:#0868cc;font-size:12px;letter-spacing:1.7px}
.eyebrow.light{color:#ffdb77}
:focus-visible{outline-color:#ffb730}
.button{background:linear-gradient(110deg,#076fe0,#075dc6);font-size:16px;font-weight:700;box-shadow:0 5px 15px #086ee51c}
.button:hover{background:linear-gradient(110deg,#0579e0,#075bbe);box-shadow:0 8px 22px #0965ce30}
.button-orange{background:linear-gradient(110deg,#ffc24b,#ffa72b);color:#092844;box-shadow:0 5px 20px #ffb73025}
.button-orange:hover{background:linear-gradient(110deg,#ffd478,#ffba48)}
.button-cream{background:#fff;color:#075bbb}
.button-cream:hover{background:#eaf4ff}
.button-small{font-size:15px}
.text-button{font-size:16px;color:#0768cf;border-color:#9fc8f5}
.text-button:hover{color:#783bd5}
.topline{background:#07243f;color:#eaf4ff;font-size:13px}
.topline-bengali{opacity:.9;font-size:11px}
.topline .container>div>a:last-child{color:#99f1c6}
.site-header{background:linear-gradient(105deg,#193b5c,#092b4b);color:#fff;border-bottom:1px solid #ffffff18}
.site-header.scrolled{box-shadow:0 6px 25px #09284424}
.brand small{color:#e4efff;letter-spacing:1.35px;font-size:10px}
.brand small i{color:#ffd15c}
.brand img{box-shadow:0 0 0 3px #ffffff15}
.site-header nav>a{font-size:16px;font-weight:500}
.site-header nav>a:not(.button):after{background:#ffc34b;height:3px}
.site-header nav>a[aria-current]{color:#ffcf65}
.menu-toggle{color:#fff}
.hero-shade{background:linear-gradient(90deg,#052344e8,#062d5280 44%,#0528440a 80%),linear-gradient(0deg,#0628497a,transparent 48%)}
.hero h1{font-family:"Roboto Condensed",Arial,sans-serif;font-size:clamp(58px,6.2vw,90px);letter-spacing:-1.7px;max-width:710px;line-height:1.06}
.hero h1 em{font-size:1em;color:#ffd25e;letter-spacing:inherit}
.hero-content>p{font-size:19px;line-height:1.65;color:#eef6ff}
.hero-link{font-size:16px;font-weight:500}
.hero-bottom{font-size:15px;color:#edf6ff}
.hero-bottom>span svg{color:#ffd15c}
.live-dot{background:#ffc44a;box-shadow:0 0 0 5px #ffc44a20}
.slide-dot.active{border-color:#ffcf65}
.slide-dot.active:after{background:#ffcf65}
.hero-stamp{background:#0b3b611f;color:#fff2c9;border-color:#ffe096b3}
.hero-stamp span{font-size:10px}
.quick-book{border-color:#d5e5fa;border-top:4px solid #1388fa;box-shadow:0 15px 45px #164d8120}
.quick-intro .eyebrow{font-size:11px}
.quick-intro strong{font-size:23px;letter-spacing:-.3px}
.quick-book label>svg{color:var(--blue);width:23px;height:23px}
.quick-book label:nth-of-type(2)>svg{color:var(--green)}
.quick-book label:nth-of-type(3)>svg{color:var(--violet)}
.quick-book label>span{font-size:12px;color:#173c63}
.quick-book input,.quick-book select{font-size:15px;color:#536b86}
.quick-book .button{font-size:15px}
.intro-note{background:#fff0c7;border-bottom:3px solid #ffc044;color:#653d08}
.intro-copy p,.story-grid p,.coach-detail p,.section-heading p{font-size:17px}
.inline-benefits{font-size:16px}
.inline-benefits svg{background:#daf7e9;color:#00835b;width:22px;height:22px}
.destinations-section{background:linear-gradient(140deg,#edf6ff,#f4f0ff)}
.destination-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 6px 25px #163f7210;transition:transform .3s,box-shadow .3s}
.destination-card:hover{box-shadow:0 12px 32px #163f7220;transform:translateY(-5px)}
.destination-photo{border-radius:9px 9px 0 0}
.destination-photo:after{background:linear-gradient(0deg,#072b5159,transparent 60%)}
.destination-caption{padding:23px 24px 22px}
.destination-caption>small{color:#0868c7;font-size:12px;letter-spacing:1.1px}
.destination-caption h3,.destination-caption h2{font-size:28px;letter-spacing:-.3px}
.destination-caption>span{font-size:14px;border-color:var(--line)}
.destination-caption b{color:#0868c7;font-weight:700}
.destination-caption p{font-size:16px}
.photo-label{background:#e8f3ff;color:#064e9d;font-size:13px;font-weight:700}
.destination-card:nth-child(3n+2) .photo-label{background:#f1e7ff;color:#6c28b3}
.destination-card:nth-child(3n+3) .photo-label{background:#ddfaeb;color:#006d49}
.round-arrow{background:#0878ef;border-color:#ffffff50}
.destination-card:hover .round-arrow{background:#075cc6}
.travel-ticker{background:linear-gradient(110deg,#0878ef,#663ade);color:white}
.travel-ticker span{font-size:15px;letter-spacing:1.6px}
.travel-ticker>div{color:#ffd470}
.travel-ticker>div>span{color:white}
.service-card{--card-accent:#0878ef;--card-soft:#e8f3ff;background:var(--card-soft);border:1px solid #d3e6ff;border-top:4px solid var(--card-accent);box-shadow:0 5px 15px #163f7208}
.service-card:nth-child(4n+2){--card-accent:#0a996c;--card-soft:#e4f8ed;border-color:#d0ecdf;border-top-color:var(--card-accent)}
.service-card:nth-child(4n+3){--card-accent:#d88100;--card-soft:#fff3d8;border-color:#f5e4bd;border-top-color:#ffb730}
.service-card:nth-child(4n+4){--card-accent:#8238d5;--card-soft:#f1e8ff;border-color:#e5d7f9;border-top-color:var(--card-accent)}
.service-card:hover{background:var(--card-soft);box-shadow:0 12px 28px #163f7214}
.service-icon>svg{color:#fff;background:var(--card-accent);border-radius:12px;box-shadow:0 5px 13px #173f7115}
.service-icon span{color:var(--card-accent);font-size:15px;font-weight:700}
.service-card h3{font-size:27px}
.service-card p,.services-full .service-card p{font-size:16px;color:#405671}
.service-card .eyebrow{color:var(--card-accent)}
.service-bottom{color:#183d66;border-color:#163f7220;font-size:15px;font-weight:700}
.service-bottom svg{color:var(--card-accent)}
.coach-band{background:linear-gradient(120deg,#092844,#094b89)}
.coach-copy h2 em{color:#ffd06b}
.coach-copy p{font-size:17px;color:#dcecff}
.coach-stats strong{font-weight:700;color:#ffcf65}
.coach-stats>div>span{font-size:14px;color:#e3efff}
.watch-button{background:#092d538c;font-size:15px}
.watch-button small{font-size:12px;color:#e4efff}
.steps-grid b{background:#0878ef;color:white;font-size:15px;font-weight:700}
.steps-grid article:nth-child(2) b{background:#10a474}
.steps-grid article:nth-child(3) b{background:#823cdb}
.steps-grid article:not(:last-child):after{border-color:#b6cce7}
.steps-grid h3{font-size:27px}
.steps-grid p,.faq-grid>div>p{font-size:16px}
.faq-list summary{font-size:18px}
.faq-list details p{font-size:16px}
.faq-list summary>span{color:#0878ef}
.journey-cta{background:radial-gradient(ellipse at 88% 30%,#4478ea66,transparent 45%),linear-gradient(110deg,#063b76,#1459bb 65%,#673fc7);color:white}
.journey-cta h2{color:white}
.journey-cta h2 em{color:#ffcf65}
.journey-cta .eyebrow{color:#ffda83}
.cta-doodle{color:#aecaff;opacity:.45}
.site-footer{background:#092844;color:#fff}
.footer-grid p,.footer-grid>div>a:not(.brand),.social-links{color:#c5d8ec;font-size:15px}
.footer-grid h3{color:#fff;font-size:21px}
.footer-grid a:hover,.footer-grid>div>a:not(.brand):hover{color:#ffd06b}
.footer-bottom{border-color:#ffffff20;color:#b8cfe7;font-size:12px;flex-wrap:wrap;gap:14px 24px}
.footer-bottom .developer-credit{display:block;line-height:1.7}
.developer-credit strong{color:#ffd06b;font-weight:600}
.footer-bottom .developer-credit a{display:inline;color:inherit;white-space:nowrap}
.footer-bottom .developer-credit a:hover{color:#ffd06b}
.footer-brand small{color:#dcecff}
.floating-whatsapp{background:#079666;color:white;font-size:15px;box-shadow:0 7px 25px #005d4640}
.floating-whatsapp:hover{background:#007e55}
.page-intro h1{letter-spacing:-1.7px}
.page-intro>p,.booking-intro p{font-size:18px}
.destination-filters button{font-size:15px;background:#f2f7ff}
.destination-filters button.active{background:var(--blue);border-color:var(--blue)}
.custom-route{background:#e9f3ff;border:1px solid #d1e5ff}
.custom-route>div>svg{color:#0878ef}
.custom-route strong{font-size:23px}
.custom-route small{font-size:15px}
.three>article>svg{color:#0878ef}
.three>article:nth-child(2)>svg{color:#079666}
.three>article:nth-child(3)>svg{color:#823bd6}
.three p{font-size:16px}
.coach-feature-list{font-size:17px}
.coach-feature-list svg{color:#089565}
.bus-portrait>span{font-size:13px;color:#0b5bab}
.gallery-item>span{background:linear-gradient(transparent,#092844e0);font-size:15px}
.lightbox,.lightbox-close{background:#092844}
.lightbox::backdrop{background:#051b34de}
.lightbox>p{color:#e5f0ff;font-size:15px}
.contact-panel{background:#f5f9ff;border-color:#d5e5fa;box-shadow:0 6px 22px #1238670b}
.contact-method>span{background:#e2eeff;color:#0878ef}
.contact-method:nth-of-type(2)>span{background:#d9f6e8;color:#008b5c}
.contact-method:nth-of-type(3)>span{background:#edddff;color:#7e32ca}
.contact-method>div small{font-size:12px;color:#546d8b}
.contact-method strong{font-size:20px;color:#123962}
.contact-location p{font-size:17px}
.contact-location p small{font-size:14px}
.contact-book:after{background:linear-gradient(0deg,#052a54f2,#06335720)}
.contact-book h2 em{color:#ffd06b}
.contact-book p{font-size:17px;color:#e1eeff}
.tracking-section{background:linear-gradient(90deg,#062d56f0,#123e674f),url('assets/website-hero-v2.webp') center/cover}
.tracking-section h1 em{color:#ffd06b}
.tracking-section p{font-size:18px;color:#e2efff}
.track-form input{font-size:17px}
.tracking-section .container>small{font-size:14px;color:#d6e7ff}
.legal-copy p{font-size:17px}
.page-booking{background:linear-gradient(135deg,#f4f9ff,#faf7ff)}
.booking-form-shell{border-color:#d7e6f8;border-top:4px solid #1388fa;box-shadow:0 8px 30px #164d8110}
.booking-progress li{font-size:14px;color:#63758d}
.booking-progress li>span{font-size:13px;border-color:#c6d8ef;background:#f3f7ff}
.booking-progress .active{color:#0769ce}
.booking-progress .active>span{background:#0878ef;border-color:#0878ef}
.booking-progress .done>span{background:#daf5e9;color:#007f56;border-color:#b8e9d3}
#booking-form legend{font-size:28px;font-weight:700;letter-spacing:-.3px;color:#133b67}
.step-description{font-size:15px}
.form-grid label{font-size:15px;font-weight:500}
.form-grid label>span{font-size:13px;color:#64778e}
.form-grid input,.form-grid textarea,.form-grid select{font-size:16px;border-color:#c9daee;color:#193b61}
.form-grid ::placeholder{color:#71829a;font-size:15px}
.form-grid :is(input,textarea,select):focus{border-color:#0878ef;box-shadow:0 0 0 3px #dceeff}
.form-grid [aria-invalid=true]{border-color:#d63350}
.field-error{font-size:13px!important;color:#b72842!important}
.return-summary{background:#eaf6ff;color:#12497e}
.return-summary small{color:#526b87;font-size:13px}
.return-summary strong{font-size:16px}
.booking-actions .button{font-size:16px}
.step-counter,.booking-secure{font-size:13px;color:#576f8b}
.booking-aside{background:#eaf3ff;border:1px solid #d6e6fc}
.booking-aside-photo:after{background:linear-gradient(0deg,#0a305bbd,transparent)}
.booking-aside-photo>span{font-size:13px}
.booking-aside-copy .eyebrow{font-size:11px}
.booking-aside-copy li{font-size:15px}
.booking-aside-copy li svg{color:#009264}
.booking-aside-copy hr{border-color:#cddff4}
.booking-aside-copy p,.booking-aside-copy>a{font-size:16px}
.booking-aside-copy>a{color:#0667c7}
.booking-aside-copy>a:last-child{color:#007b53}
.booking-review{background:#f0f6ff}
.booking-review>div{font-size:15px;border-color:#dce6f3}
.booking-review dt{color:#576f8b}
.consent{font-size:14px;color:#526782}
.consent input{accent-color:#0878ef}
.consent a{color:#0868cc}
.booking-disclaimer{font-size:14px;color:#6b520c;background:#fff4d8}
.form-message{font-size:16px;color:#923149;background:#fff0f3;border-color:#f4ccd4}
.booking-result p{font-size:17px}
.booking-result strong{border-color:#56b794;background:#e2f9ee;color:#007b52}
.booking-result a{font-size:16px;color:#076bd2}
.success-icon{background:#d9f6e8;color:#008a5c}

@media(max-width:1200px){
  .site-header nav{gap:18px}
  .site-header nav>a{font-size:15px}
  .brand strong{font-size:18px}
  .brand small{font-size:8px}
  .quick-book{gap:15px}
  .quick-intro strong{font-size:21px}
  .quick-book .button{font-size:14px}
}
@media(max-width:1050px){
  .site-header nav{background:#0c3154;border-color:#ffffff20}
  .site-header nav>a{font-size:18px}
  .site-header nav>a[aria-current]{color:#ffcf65}
  .hero h1{font-size:76px}
  .booking-progress li{font-size:13px}
  .contact-method strong{font-size:18px}
}
@media(max-width:760px){
  .topline>.container{font-size:12px}
  .brand strong{font-size:17px}
  .brand small{font-size:8px;letter-spacing:1px}
  .hero h1{font-size:58px;letter-spacing:-1px}
  .hero-shade{background:linear-gradient(90deg,#06274de0,#06274d55),linear-gradient(0deg,#092844a3,transparent 65%)}
  .hero .eyebrow{font-size:11px;letter-spacing:1.2px}
  .hero-content>p{font-size:17px;max-width:330px}
  .hero-actions .button{font-size:16px}
  .hero-link{font-size:15px}
  .hero-bottom{font-size:12px}
  .eyebrow{font-size:11px;letter-spacing:1.5px}
  .quick-intro .eyebrow{font-size:10px}
  .quick-intro strong{font-size:24px}
  .quick-book label>span{font-size:11px}
  .quick-book input,.quick-book select{font-size:16px}
  .quick-book .button{font-size:16px}
  .intro-copy p,.section-heading p{font-size:16px}
  .destination-caption{padding:21px}
  .destination-caption h3{font-size:29px}
  .travel-ticker span{font-size:13px}
  .service-card{padding:23px 17px}
  .service-card h3{font-size:24px}
  .service-card p{font-size:15px}
  .service-bottom{font-size:13px}
  .coach-copy p{font-size:16px}
  .steps-grid h3{font-size:26px}
  .steps-grid p,.faq-grid>div>p{font-size:16px}
  .faq-list summary{font-size:17px}
  .faq-list details p{font-size:15px}
  .footer-grid p,.footer-grid>div>a:not(.brand){font-size:15px}
  .footer-bottom{font-size:11px;flex-wrap:wrap;gap:14px}
  .footer-bottom>span{max-width:none;width:100%}
  .page-intro h1{font-size:47px;letter-spacing:-1px}
  .page-intro>p,.booking-intro p{font-size:17px}
  .destination-filters button{font-size:14px}
  .services-full .service-card p{font-size:16px}
  .gallery-item>span{font-size:14px}
  .contact-method strong{font-size:19px}
  .contact-book p{font-size:16px}
  .booking-progress li{font-size:13px}
  #booking-form legend{font-size:27px}
  .form-grid label{font-size:14px}
  .form-grid label>span{font-size:12px}
  .form-grid ::placeholder{font-size:14px}
  .booking-actions .button{font-size:15px}
  .booking-actions .text-button{font-size:15px}
  .booking-aside-copy li{font-size:15px}
  .booking-review>div{font-size:14px}
  .booking-secure{font-size:12px}
  .consent,.booking-disclaimer{font-size:14px}
}
@media(max-width:380px){
  .brand strong{font-size:15px}
  .brand small{font-size:7px;letter-spacing:.6px}
  .hero h1{font-size:51px}
  .hero .eyebrow{font-size:10px}
  .hero-bottom{font-size:11px}
  .contact-method strong{font-size:16px}
  .page-intro h1{font-size:42px}
}
@media(min-width:1051px) and (max-width:1220px){
  .site-header nav{gap:13px}
  .site-header nav>a{font-size:14px}
  .site-header .brand strong{font-size:17px}
  .site-header .brand img{width:48px;height:48px}
}
/* Keep calendar, tracking and booking navigation clear at laptop widths. */
@media(min-width:1280px){
  .site-header nav{gap:16px}
  .site-header nav>a{font-size:15px;white-space:nowrap}
}
@media(min-width:1051px) and (max-width:1279px){
  .menu-toggle{display:block}
  .nav-shell{height:78px}
  .site-header nav{display:none;position:absolute;left:0;right:0;top:78px;background:#0c3154;padding:22px 35px 28px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid #ffffff20;box-shadow:0 15px 20px #173e3712}
  .site-header nav.open{display:flex}
  .site-header nav>a{font-size:18px;padding:12px 0}
  .site-header nav>.button{margin-top:15px;align-self:start;padding:14px 20px}
  .site-header nav>a:after{display:none}
}
