/* =========================================================
   NEXTOP TRAVEL — Shared Brand Stylesheet
   ========================================================= */

@font-face{
  font-family:'SummerWednesday';
  src:url('fonts/SummerWednesday-Regular.woff') format('woff');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

:root{
  --navy:#243f87;
  --navy-dark:#1b2f66;
  --charcoal:#2D3748;
  --red:#990011;
  --red-dark:#7a000d;
  --gold:#D4AF37;
  --slate:#F0F4F8;
  --white:#FFFFFF;
  --emerald:#00A86B;
  --cyan:#00D2FF;
  --ink-soft:#5A6577;
  --border:#E3E8EF;

  --radius-lg:24px;
  --radius-md:16px;
  --radius-sm:12px;
  --radius-pill:9999px;
  --shadow-soft:0 4px 20px rgba(36,63,135,0.06);
  --shadow-card:0 10px 30px rgba(36,63,135,0.08);
  --ff-head:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --ff-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--ff-body);
  color:var(--charcoal);
  background:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;}
ul{list-style:none;}
h1,h2,h3,h4{font-family:var(--ff-head);color:var(--charcoal);line-height:1.2;}

.container{max-width:1180px;margin:0 auto;padding:0 24px;}
.section{padding:64px 0;}
.section--tight{padding:40px 0;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;margin-bottom:32px;}
.section-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--red);margin-bottom:8px;}
.section-title{font-size:32px;font-weight:700;}
/* Two-line heading: service name in bold capitals, then a Summer Wednesday line underneath (as on the service banners) */
.section-title--split{display:flex;flex-direction:column;align-items:flex-start;line-height:1;margin:2px 0 10px;}
.st-main{font-family:'Montserrat',var(--ff-head);font-weight:800;font-size:clamp(28px,3.4vw,40px);text-transform:uppercase;letter-spacing:.01em;color:var(--navy);}
.st-script{font-family:'SummerWednesday',cursive;font-weight:400;font-size:clamp(58px,7.2vw,92px);line-height:.95;color:var(--red);margin:-.14em 0 0 .3em;}
.section-title--center{align-items:center;}
.section-title--center .st-script{margin-left:0;}
.section-sub{color:var(--ink-soft);font-size:15.5px;max-width:560px;margin-top:6px;}
.section-link{font-weight:600;color:var(--navy);text-decoration:none;font-size:14.5px;white-space:nowrap;}
.section-link:hover{color:var(--red);}
.bg-slate{background:var(--slate);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 28px;border-radius:var(--radius-pill);
  font-family:var(--ff-body);font-weight:600;font-size:15px;
  cursor:pointer;text-decoration:none;border:none;
  transition:all .2s ease;white-space:nowrap;
}
.btn-primary{background:var(--red);color:var(--white);box-shadow:0 8px 20px rgba(153,0,17,.25);}
.btn-primary:hover{background:var(--red-dark);transform:translateY(-1px);}
.btn-navy{background:var(--navy);color:var(--white);}
.btn-navy:hover{background:var(--navy-dark);transform:translateY(-1px);}
.btn-light{background:#F1F5F9;color:var(--charcoal);}
.btn-light:hover{background:#E2E8F0;}
.btn-white{background:var(--white);color:var(--navy);}
.btn-white:hover{background:#F1F5F9;}
.btn-outline{background:transparent;border:1.5px solid var(--white);color:var(--white);}
.btn-outline:hover{background:rgba(255,255,255,.12);}
.btn-block{width:100%;}
.btn-sm{padding:10px 20px;font-size:14px;}
.btn-icon{width:18px;height:18px;flex-shrink:0;}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:200;
  background:rgba(255,255,255,.50);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
}
.nav-row{display:flex;align-items:center;justify-content:space-between;height:120px;gap:48px;}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;flex-shrink:0;}
.brand img{height:50px;width:auto;}
.nav-links{display:flex;align-items:center;gap:30px;}
.nav-links a{text-decoration:none;color:var(--charcoal);font-weight:500;font-size:15px;padding:6px 2px;position:relative;}
.nav-links a::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--red);transform:scaleX(0);transition:transform .2s ease;}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1);}
.nav-links a.active{color:var(--red);font-weight:700;}
.nav-actions{display:flex;align-items:center;gap:14px;}
/* WhatsApp number with the Help & Support link stacked underneath */
.nav-contact{display:flex;flex-direction:column;align-items:center;gap:4px;}
.nav-support{
  display:inline-flex;align-items:center;gap:5px;padding:3px 12px;border-radius:var(--radius-pill);
  font-size:12.5px;font-weight:600;color:var(--navy);text-decoration:none;transition:background .2s ease,color .2s ease;
}
.nav-support svg{width:14px;height:14px;}
.nav-support:hover{background:var(--slate);color:var(--red);}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--charcoal);margin:5px 0;border-radius:2px;}

/* ---------- Hero ---------- */
.hero{background:linear-gradient(180deg,#FFFFFF 0%,#F8FAFC 100%);padding:32px;}
.hero-frame{
  position:relative;max-width:1580px;margin:0 auto;min-height:700px;border-radius:32px;
  overflow:hidden;background-size:cover;background-position:center;background-repeat:no-repeat;
  display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-card);
}
.hero-frame::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(15,21,42,.55) 0%,rgba(41,73,159,.35) 45%,rgba(41,73,159,.7) 100%);
}
.hero-frame-inner{position:relative;z-index:2;max-width:720px;margin:0 auto;text-align:center;padding:64px 32px;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);color:#fff;font-weight:700;font-size:12.5px;letter-spacing:.5px;text-transform:uppercase;padding:8px 16px;border-radius:var(--radius-pill);margin-bottom:20px;border:1px solid rgba(255,255,255,.25);}
.hero-frame-inner h1{color:#fff;font-size:46px;font-weight:700;letter-spacing:-.5px;margin-bottom:16px;}
.hero-frame-inner h1 span{color:var(--gold);}
.hero-frame-inner p{font-size:17px;color:rgba(255,255,255,.88);max-width:560px;margin:0 auto 32px;}
.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.hero-strip{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;margin-top:40px;padding-bottom:8px;}
.hero-stat{text-align:center;}
.hero-stat strong{display:block;font-family:var(--ff-head);font-size:24px;color:var(--navy);}
.hero-stat span{font-size:13px;color:var(--ink-soft);}
@media (max-width:768px){
  .hero{padding:16px;}
  .hero-frame{border-radius:24px;min-height:440px;}
  .hero-frame-inner{padding:40px 20px;}
  .hero-frame-inner h1{font-size:30px;}
}

.page-hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dark) 100%);color:var(--white);padding:64px 0 44px;position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(212,175,55,.18),transparent 70%);}
.page-hero .crumb{font-size:13px;color:rgba(255,255,255,.7);margin-bottom:14px;}
.page-hero .crumb a{color:rgba(255,255,255,.7);text-decoration:none;}
.page-hero .crumb strong{color:#fff;}
.page-hero h1{color:#fff;font-size:38px;margin-bottom:10px;}
.page-hero p{color:rgba(255,255,255,.78);max-width:740px;font-size:16px;}
/* Photo variant: image under a brand-colour tint (stronger on the text side) */
.page-hero--photo{padding:96px 0 72px;background-position:center 40%;background-size:cover;background-repeat:no-repeat;}
/* Flights: the photo lives on ::before so it can be greyscaled without touching the text */
/* Flights & Hotels: the photo lives on ::before so it can be greyscaled without touching the text */
.page-hero--flights,
.page-hero--hotels,
.page-hero--visas{background:var(--slate);}
.page-hero--photo.page-hero--flights::before,
.page-hero--photo.page-hero--hotels::before,
.page-hero--photo.page-hero--visas::before{
  display:block;content:'';position:absolute;inset:0;width:auto;height:auto;border-radius:0;
  background-image:
    linear-gradient(90deg,rgba(240, 244, 248, 0.92) 0%,rgba(240, 244, 248, 0.78) 45%,rgba(240, 244, 248, 0.45) 100%),
    url('photos/flights-hero.jpg');
  background-position:center 40%;background-size:cover;background-repeat:no-repeat;
  filter:grayscale(1);
}
.page-hero--photo.page-hero--hotels::before{
  background-image:
    linear-gradient(90deg,rgba(240, 244, 248, 0.92) 0%,rgba(240, 244, 248, 0.78) 45%,rgba(240, 244, 248, 0.45) 100%),
    url('photos/hotels-hero.jpg');
  background-position:center 62%;
}
.page-hero--flights h1,
.page-hero--flights p,
.page-hero--flights .crumb,
.page-hero--flights .crumb a,
.page-hero--flights .crumb strong,
.page-hero--hotels h1,
.page-hero--hotels p,
.page-hero--hotels .crumb,
.page-hero--hotels .crumb a,
.page-hero--hotels .crumb strong,
.page-hero--visas h1,
.page-hero--visas p,
.page-hero--visas .crumb,
.page-hero--visas .crumb a,
.page-hero--visas .crumb strong{color:#000;}
.page-hero--photo.page-hero--visas::before{
  background-image:
    linear-gradient(90deg,rgba(240, 244, 248, 0.92) 0%,rgba(240, 244, 248, 0.78) 45%,rgba(240, 244, 248, 0.45) 100%),
    url('photos/visas-hero.jpg');
  background-position:60% 45%; /* heads plus the documents on the desk */
}
.page-hero--holidays{
  background-image:
    linear-gradient(90deg,rgba(212,175,55,.92) 0%,rgba(212,175,55,.75) 45%,rgba(212,175,55,.3) 100%),
    url('photos/holidays-hero.jpg');
  background-position:center 60%;
}
.page-hero--umrah{
  background-image:
    linear-gradient(90deg,rgba(45,55,72,.92) 0%,rgba(45,55,72,.75) 45%,rgba(45,55,72,.4) 100%),
    url('photos/umrah-hero.jpg');
  background-position:center 45%;
}
/* ---------- Tagline band (home) ---------- */
/* ---------- Home hero search box (tabs per service) ---------- */
/* overflow:visible so the search dropdowns can spill past the frame; the tint keeps the round corners itself */
.hero-frame--search{align-items:flex-start;overflow:visible;z-index:5;}
.hero-frame--search::before{border-radius:inherit;}
.hero-frame-inner.hero-search-inner{max-width:1160px;width:100%;padding:56px 32px 48px;}
.hero-search-inner > p{margin-bottom:30px;}
.hero-search{text-align:left;}
.hs-tabs{display:flex;gap:6px;padding:0 18px;flex-wrap:wrap;}
.hs-tab{
  display:flex;align-items:center;gap:10px;border:0;cursor:pointer;
  padding:12px 22px 12px 16px;border-radius:16px 16px 0 0;
  background:rgba(15,25,60,.42);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  color:#fff;font-family:var(--ff-head);font-weight:600;font-size:15px;
  transition:background .2s ease,color .2s ease;
}
.hs-tab img{width:28px;height:28px;display:block;}
/* White-and-red icon on the dark (unselected) tab, blue-and-red on the white (selected) tab */
.hs-tab .hs-icon-dark{display:none;}
.hs-tab[aria-selected="true"] .hs-icon-light{display:none;}
.hs-tab[aria-selected="true"] .hs-icon-dark{display:block;}
.hs-tab:hover{background:rgba(15,25,60,.6);}
.hs-tab[aria-selected="true"]{background:#fff;color:var(--navy);}
.hs-tab:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
.hs-panel{background:#fff;border-radius:22px;padding:26px 28px 28px;box-shadow:0 24px 60px rgba(15,21,42,.28);}
.hs-panel .form-grid{margin-bottom:16px;}
.hs-panel .trip-type{margin-bottom:16px;}
.hs-panel .btn-block{margin-top:4px;}
@media (max-width:768px){
  .hero-frame-inner.hero-search-inner{padding:36px 14px 22px;}
  .hs-tabs{padding:0 8px;gap:4px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;}
  .hs-tab{padding:10px 14px 10px 10px;font-size:13.5px;white-space:nowrap;flex-shrink:0;}
  .hs-tab img{width:22px;height:22px;}
  .hs-panel{padding:20px 16px;border-radius:18px;}
}

/* ---------- Coming soon page (coming-soon.html) ---------- */
.nav-row--center{justify-content:center;}
.hero-frame--soon{min-height:max(620px,calc(100vh - 184px));}
.soon-inner{max-width:1000px;}
.hero-frame-inner .soon-title{
  font-family:'Montserrat',var(--ff-head);font-weight:600;font-size:clamp(20px,2.6vw,34px);line-height:1.2;
  text-transform:uppercase;letter-spacing:.38em;margin:0 0 6px;padding-left:.38em; /* padding balances the trailing letter-space */
  color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.3);
}
.hero-frame-inner .soon-tagline{
  font-family:'SummerWednesday',cursive;font-weight:400;font-size:clamp(64px,8.4vw,128px);line-height:1.05;
  color:#fff;max-width:none;margin:0 0 44px;text-shadow:0 4px 30px rgba(0,0,0,.3);
}
.soon-tagline span{color:#ec292b;}
.soon-services{list-style:none;margin:0;padding:0;display:flex;justify-content:center;flex-wrap:wrap;gap:20px 56px;}
.soon-services li{display:flex;flex-direction:column;align-items:center;gap:12px;}
.soon-services img{width:64px;height:64px;display:block;filter:drop-shadow(0 2px 8px rgba(0,0,0,.25));}
.soon-services span{font-family:var(--ff-head);font-weight:600;font-size:15px;letter-spacing:.3px;color:#fff;}
.soon-social{display:flex;justify-content:center;gap:16px;margin-top:44px;}
.soon-social-btn{
  width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;
  background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.55);backdrop-filter:blur(6px);
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.soon-social-btn svg{width:24px;height:24px;}
.soon-social-btn:hover{background:#fff;color:var(--navy);transform:translateY(-2px);}
.soon-social-btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}
@media (max-width:768px){
  .hero-frame--soon{min-height:calc(100vh - 152px);}
  .hero-frame-inner .soon-title{letter-spacing:.28em;padding-left:.28em;}
  .hero-frame-inner .soon-tagline{font-size:clamp(52px,13vw,96px);margin-bottom:32px;}
  .soon-services{display:grid;grid-template-columns:repeat(2,auto);gap:28px 44px;justify-content:center;}
  .soon-services img{width:52px;height:52px;}
  .soon-services span{font-size:13.5px;}
}

.tagline-band{background:var(--navy);padding:70px 0;text-align:center;}
.tagline-text{font-family:'SummerWednesday',var(--ff-head);font-weight:400;font-size:clamp(64px,15vw,120px);line-height:1.1;color:#ffffff;}
@media (max-width:640px){.tagline-band{padding:54px 0;}}

/* Airline logo strip (home page, below Flight Bookings) */
.tagline-band.airline-band{padding:26px 0;overflow:hidden;}
.airline-marquee{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.airline-track{list-style:none;margin:0;padding:0;display:flex;align-items:center;width:max-content;animation:airline-scroll 70s linear infinite;}
.airline-track li{flex-shrink:0;padding:0 34px;display:flex;align-items:center;}
.airline-track img{height:34px;width:auto;max-width:170px;object-fit:contain;display:block;opacity:.92;transition:opacity .2s ease;}
.airline-track img:hover{opacity:1;}
.airline-band:hover .airline-track{animation-play-state:paused;}
@keyframes airline-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.airline-track{animation-duration:200s;}}
@media (max-width:640px){
  .tagline-band.airline-band{padding:18px 0;}
  .airline-track li{padding:0 22px;}
  .airline-track img{height:26px;max-width:130px;}
}

/* Gold is light, so this header uses charcoal text instead of white */
.page-hero--holidays h1{color:var(--charcoal);}
.page-hero--holidays p{color:rgba(45,55,72,.88);}
.page-hero--holidays .crumb,
.page-hero--holidays .crumb a{color:rgba(45,55,72,.75);}
.page-hero--holidays .crumb strong{color:var(--charcoal);}
.page-hero--photo::before{display:none;}
.page-hero--photo .container{position:relative;}

/* ---------- Nextop Journeys hero (holidays.html) ----------
   Desktop: 6 x 4 masonry grid at a fixed 4:3 ratio, matching the 1920x1440 artboard.
   Type is sized in cqw (1cqw = 1% of the grid width) so it scales with the layout. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.journeys-intro{padding:64px 0 28px;text-align:center;}
.journeys-intro-title{
  font-family:'Montserrat',var(--ff-head);font-weight:700;font-size:clamp(26px,3.4vw,42px);line-height:1.2;
  color:var(--navy);max-width:1100px;margin:0 auto 16px;text-wrap:balance;
}
.journeys-intro-text{
  font-family:'Montserrat',var(--ff-body);font-size:clamp(15px,1.3vw,17.5px);line-height:1.7;color:var(--ink-soft);
  max-width:960px;margin:0 auto;
}
.journeys-intro-script{
  font-family:'SummerWednesday',cursive;font-weight:400;font-size:clamp(52px,6.5vw,92px);line-height:1.1;
  color:var(--navy);margin:34px 0 0;
}
@media (max-width:600px){.journeys-intro{padding:40px 0 18px;}.journeys-intro-script{margin-top:24px;}}
.journeys-hero{background:#fff;}
.journeys-carousel + .container > .form-card{margin-top:24px;}
#plan-trip{scroll-margin-top:110px;margin:48px 0 0;}
.journeys-grid{
  container-type:inline-size;
  display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(4,1fr);gap:2px;
  aspect-ratio:4/3;width:100%;
}
.journey--andalusia{grid-column:1 / 5;grid-row:1;}
.journey--marrakech{grid-column:5 / 7;grid-row:1 / 3;}
.journey--tunisia  {grid-column:1 / 3;grid-row:2;}
.journey--cairo    {grid-column:3 / 5;grid-row:2;}
.journey--istanbul {grid-column:1 / 4;grid-row:3;}
.journey--barcelona{grid-column:4 / 7;grid-row:3;}
.journey--makkah   {grid-column:1 / 5;grid-row:4;}
.journey-brand     {grid-column:5 / 7;grid-row:4;}

.journey{position:relative;display:block;overflow:hidden;color:#fff;text-decoration:none;background:#1b1b1b;min-height:0;}
.journey-photo{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  transition:filter .45s ease;
}
/* Hover / keyboard focus: faded, warm "vintage" grade from the hover mockup */
.journey:hover .journey-photo,
.journey:focus-visible .journey-photo{filter:saturate(.7) sepia(.3) contrast(.9) brightness(.96);}
.journey:focus-visible{outline:3px solid var(--gold);outline-offset:-3px;}

.journey-text{
  position:absolute;inset:0;z-index:1;
  display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;
  padding:2.2cqw 3.5cqw 2.6cqw;pointer-events:none;
}
.journey-title{display:flex;flex-direction:column;align-items:flex-start;}
.journey .journey-city{
  font-family:'SummerWednesday',cursive;font-weight:400;font-size:5.6cqw;line-height:1;
  color:#fff;margin:0;letter-spacing:0;text-shadow:0 2px 14px rgba(0,0,0,.25);
}
.journey-country{
  font-family:'Montserrat',var(--ff-head);font-weight:700;font-size:1.72cqw;line-height:1.1;
  text-transform:uppercase;letter-spacing:.02em;color:#fff;margin-top:0;text-shadow:0 2px 12px rgba(0,0,0,.25);
}
.journey-desc{
  font-family:'Montserrat',var(--ff-body);font-weight:400;font-size:max(.8cqw,11px);line-height:1.25;color:#1f2329;
  background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  border-radius:.55cqw;padding:.55cqw 1.2cqw;max-width:25cqw;
}

.journey-brand{
  background:var(--navy);display:flex;align-items:center;justify-content:center;gap:2.6cqw;padding:0 3cqw;
}
.journey-brand-logo{width:10.5cqw;height:auto;display:block;}
.journey-brand-divider{width:1px;height:3cqw;background:rgba(255,255,255,.75);}
.journey-brand-word{font-family:'SummerWednesday',cursive;font-size:7cqw;line-height:1;color:#fff;transform:translateY(.6cqw);}

/* Tablet: 2-column stack, each tile keeps its own ratio */
@media (max-width:900px){
  .journeys-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:none;aspect-ratio:auto;}
  .journeys-grid > *{grid-column:span 2;grid-row:auto;aspect-ratio:16/8;}
  .journeys-grid > .journey--tunisia,
  .journeys-grid > .journey--cairo{grid-column:span 1;aspect-ratio:1/1;}
  .journeys-grid > .journey--marrakech{aspect-ratio:4/3;}
  .journeys-grid > .journey-brand{aspect-ratio:auto;padding:40px 24px;gap:28px;}
  .journey-text{padding:22px 24px 24px;}
  .journey .journey-city{font-size:clamp(40px,7vw,60px);}
  .journey-country{font-size:clamp(17px,2.8vw,24px);margin-top:4px;}
  .journey-desc{font-size:13px;max-width:min(380px,100%);padding:8px 14px;border-radius:10px;}
  .journey-brand-logo{width:150px;}
  .journey-brand-divider{height:44px;}
  .journey-brand-word{font-size:64px;transform:translateY(8px);}
}
/* Phone: single column */
@media (max-width:600px){
  .journeys-grid > *,
  .journeys-grid > .journey--tunisia,
  .journeys-grid > .journey--cairo{grid-column:1 / -1;aspect-ratio:4/3;}
  .journeys-grid > .journey--marrakech{aspect-ratio:4/5;}
  .journeys-grid > .journey-brand{aspect-ratio:auto;}
  .journey-text{padding:18px 16px 18px;}
  .journey .journey-city{font-size:56px;}
  .journey-country{font-size:18px;}
  .journey-brand-logo{width:120px;}
  .journey-brand-word{font-size:52px;}
}

/* ---------- Journeys grid — rounded-card version ----------
   Same layout as .journeys-grid; cards get breathing room and round corners. */
.journeys-hero--rounded{padding:0 16px;}
.journeys-hero--rounded .journeys-grid{gap:16px;}
.journeys-hero--rounded .journey,
.journeys-hero--rounded .journey-brand{border-radius:24px;}
.journeys-hero--rounded .journey{isolation:isolate;transition:box-shadow .3s ease,transform .3s ease;}
.journeys-hero--rounded .journey:hover{box-shadow:0 14px 34px rgba(27,47,102,.22);}
.journeys-hero--rounded .journey:focus-visible{outline-offset:3px;}
@media (max-width:900px){
  .journeys-hero--rounded .journeys-grid{gap:12px;}
  .journeys-hero--rounded .journey,
  .journeys-hero--rounded .journey-brand{border-radius:18px;}
}
@media (max-width:600px){.journeys-hero--rounded{padding:0 12px;}}

/* ---------- Journeys carousel (holidays.html) ----------
   Cards sit on top of each other and are slid by --offset (set in main.js):
   0 = centre card, ±1 = the neighbours peeking in at the sides. */
.journeys-carousel{
  --jc-w:min(64vw,880px,calc((100vh - 240px) * 1.45));--jc-gap:22px;
  padding:72px 0 8px;text-align:center;overflow:hidden;
}
.journeys-carousel .journeys-intro-script{margin:0 0 6px;}
.journeys-carousel .journeys-intro-text{margin-bottom:34px;}
.jc-stage{position:relative;height:calc(var(--jc-w) / 1.45);touch-action:pan-y;user-select:none;-webkit-user-select:none;}
.jc-card{
  container-type:inline-size;
  position:absolute;top:0;left:50%;width:var(--jc-w);height:100%;
  border-radius:24px;overflow:hidden;background:#1b1b1b;cursor:pointer;text-align:left;
  transform:translateX(calc(-50% + var(--offset,0) * (var(--jc-w) + var(--jc-gap)))) scale(.9);
  transition:transform .6s cubic-bezier(.22,.8,.24,1),box-shadow .6s ease,opacity .4s ease;
}
.jc-card.is-active{transform:translateX(-50%) scale(1);box-shadow:0 24px 60px rgba(27,47,102,.25);z-index:2;}
.jc-card.is-far{opacity:0;visibility:hidden;transition:none;}
.jc-card:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}
.jc-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;transition:filter .6s ease,transform .8s ease;}
/* Side cards use the faded grade from the grid's hover mockup */
.jc-card.is-side .jc-photo{filter:saturate(.7) sepia(.3) contrast(.9) brightness(.9);}
.jc-card.is-active:hover .jc-photo{transform:scale(1.03);}
.jc-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,0) 38%,rgba(0,0,0,0) 62%,rgba(0,0,0,.25) 100%);pointer-events:none;}

.jc-text{
  position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;
  padding:max(4.5cqw,20px) max(5.5cqw,20px);color:#fff;pointer-events:none;
  opacity:0;transition:opacity .4s ease;
}
.jc-card.is-active .jc-text{opacity:1;transition-delay:.2s;}
.journeys-carousel .jc-city{
  font-family:'SummerWednesday',cursive;font-weight:400;font-size:max(11.5cqw,52px);line-height:1;color:#fff;margin:0;
  text-shadow:0 2px 14px rgba(0,0,0,.25);
}
.jc-country{
  display:block;font-family:'Montserrat',var(--ff-head);font-weight:700;font-size:max(3.3cqw,17px);line-height:1.1;
  text-transform:uppercase;letter-spacing:.02em;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.25);
}
.jc-desc{
  font-family:'Montserrat',var(--ff-body);font-weight:400;font-size:max(1.75cqw,12.5px);line-height:1.3;color:#1f2329;
  background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  border-radius:max(1.1cqw,10px);padding:max(1.1cqw,8px) max(2.2cqw,14px);max-width:min(100%,max(52cqw,260px));
}

.jc-arrow{
  position:absolute;top:50%;z-index:3;width:52px;height:52px;border-radius:50%;border:0;cursor:pointer;
  background:#fff;color:var(--navy);font-size:34px;line-height:1;padding-bottom:4px;
  box-shadow:0 6px 20px rgba(27,47,102,.22);transition:background .2s ease,color .2s ease,transform .2s ease;
}
.jc-prev{left:calc(50% - var(--jc-w) / 2);transform:translate(-50%,-50%);}
.jc-next{left:calc(50% + var(--jc-w) / 2);transform:translate(-50%,-50%);}
.jc-arrow:hover{background:var(--navy);color:#fff;}
.jc-arrow:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}

.jc-dots{display:flex;justify-content:center;gap:10px;margin:26px 0 0;}
.jc-dot{width:10px;height:10px;border-radius:999px;border:0;padding:0;background:#cfd6e4;cursor:pointer;transition:width .3s ease,background .3s ease;}
.jc-dot[aria-current="true"]{width:30px;background:var(--navy);}
.jc-dot:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}

/* Service banners variant (home "Main Services"): wide 1900×600 artwork, no text layer */
.journeys-carousel.jc--banners{--jc-w:min(74vw,1180px);padding:4px 0 0;}
.jc--banners .jc-stage{height:calc(var(--jc-w) * 600 / 1900);}
.jc--banners .jc-card{border-radius:22px;background:var(--navy);}
.jc--banners .jc-card::after{display:none;}
.jc--banners .jc-card.is-active:hover .jc-photo{transform:none;}
.jc--banners .jc-arrow{width:46px;height:46px;font-size:30px;}

@media (max-width:900px){.journeys-carousel{--jc-w:76vw;--jc-gap:14px;}.journeys-carousel.jc--banners{--jc-w:84vw;}}
@media (max-width:600px){
  .journeys-carousel{--jc-w:82vw;--jc-gap:10px;padding-top:52px;}
  .jc-stage{height:calc(var(--jc-w) * 1.15);}
  /* phones switch to the portrait 1080×1500 artwork (see <picture> in home-index.html) */
  .journeys-carousel.jc--banners{--jc-w:80vw;}
  .jc--banners .jc-stage{height:calc(var(--jc-w) * 1500 / 1080);}
  .jc--banners .jc-card{border-radius:12px;}
  .jc--banners .jc-arrow{width:34px;height:34px;font-size:24px;}
  .jc-card{border-radius:18px;}
  .jc-arrow{width:42px;height:42px;font-size:28px;}
}

/* ---------- Journey story pop-up (holidays.html) ---------- */
html.jm-lock{overflow:hidden;}
.journey-modal{
  padding:0;border:0;background:transparent;overflow:visible;
  width:min(880px,calc(100vw - 32px));max-width:none;max-height:none;margin:auto;
}
.journey-modal:focus,.jm-shell:focus{outline:none;}
/* Rest of the page fades behind a white transparent tint */
.journey-modal::backdrop{background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:jm-fade .25s ease;}
.journey-modal[open] .jm-shell{animation:jm-rise .3s cubic-bezier(.2,.8,.2,1);}
.journey-modal.is-closing .jm-shell{animation:jm-drop .2s ease forwards;}
.journey-modal.is-closing::backdrop{animation:jm-fade .2s ease reverse forwards;}
@keyframes jm-fade{from{opacity:0;}to{opacity:1;}}
@keyframes jm-rise{from{opacity:0;transform:translateY(24px) scale(.98);}to{opacity:1;transform:none;}}
@keyframes jm-drop{to{opacity:0;transform:translateY(16px) scale(.98);}}

.jm-shell{
  position:relative;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;
  background:#fff;border-radius:22px;box-shadow:0 30px 80px rgba(27,47,102,.28),0 4px 16px rgba(27,47,102,.08);
}
.jm-close{
  position:sticky;top:16px;float:right;margin:16px 16px -60px 0;z-index:3;
  width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(255,255,255,.92);color:var(--navy);font-size:28px;line-height:1;
  box-shadow:0 4px 14px rgba(0,0,0,.18);transition:background .2s ease,color .2s ease,transform .2s ease;
}
.jm-close:hover{background:var(--navy);color:#fff;transform:rotate(90deg);}
.jm-close:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}

.jm-hero{position:relative;height:clamp(260px,46vw,420px);overflow:hidden;background:#1b1b1b;}
.jm-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.jm-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(0,0,0,.62) 100%);}
.jm-hero-text{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:0 48px 32px;color:#fff;}
.journey-modal .jm-city{
  font-family:'SummerWednesday',cursive;font-weight:400;font-size:clamp(52px,8vw,88px);line-height:1;color:#fff;margin:0;
  text-shadow:0 2px 14px rgba(0,0,0,.3);
}
.jm-country{
  display:block;font-family:'Montserrat',var(--ff-head);font-weight:700;font-size:clamp(18px,2.4vw,26px);line-height:1.1;
  text-transform:uppercase;letter-spacing:.02em;color:#fff;
}
.jm-tagline{
  font-family:'Montserrat',var(--ff-body);font-size:15px;line-height:1.5;color:rgba(255,255,255,.92);max-width:600px;margin-top:12px;
}

.jm-body{padding:40px 56px 48px;font-family:'Montserrat',var(--ff-body);font-size:16px;line-height:1.75;color:var(--charcoal);}
.jm-body p{margin:0 0 14px;}
.jm-body strong{font-weight:700;}
.jm-lead{font-family:'SummerWednesday',cursive;font-size:clamp(34px,4.4vw,46px);line-height:1.15;color:var(--navy);margin-bottom:18px !important;}
.jm-body h3{
  font-family:'Montserrat',var(--ff-head);font-size:20px;line-height:1.3;color:var(--navy);
  margin:32px 0 10px;padding-top:4px;
}
.jm-figure{margin:28px -56px;}
.jm-figure img{width:100%;height:auto;max-height:420px;object-fit:cover;display:block;}
.jm-figure figcaption{font-size:13px;color:var(--ink-soft);padding:8px 56px 0;}
.jm-figure--pair{display:grid;grid-template-columns:1fr 1fr;gap:4px;}
.jm-figure--pair img{width:100%;height:300px;object-fit:cover;display:block;}
@media (max-width:600px){.jm-figure--pair img{height:180px;}}
.jm-list,.jm-days{list-style:none;margin:6px 0 18px;padding:0;}
.jm-list li,.jm-days li{position:relative;padding:7px 0 7px 30px;border-bottom:1px solid var(--border);}
.jm-list li:last-child,.jm-days li:last-child{border-bottom:0;}
.jm-list li::before{
  content:'✓';position:absolute;left:0;top:8px;width:20px;height:20px;border-radius:50%;
  background:var(--slate);color:var(--navy);font-size:12px;font-weight:700;line-height:20px;text-align:center;
}
.jm-days li::before{content:'';position:absolute;left:6px;top:17px;width:8px;height:8px;border-radius:50%;background:var(--red);}
.jm-days strong{color:var(--navy);}
.jm-signoff{margin:30px 0 4px;padding:22px 26px;background:var(--slate);border-left:4px solid var(--navy);border-radius:0 14px 14px 0;}
.jm-signoff p{margin:0;}
.jm-signoff p:first-child{color:var(--navy);letter-spacing:.12em;font-size:14px;margin-bottom:4px;}
.jm-cta{display:flex;justify-content:center;width:100%;margin-top:30px;padding:16px 24px;font-size:16px;font-family:'Montserrat',var(--ff-head);}

@media (max-width:600px){
  .journey-modal{width:calc(100vw - 20px);}
  .jm-shell{max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);border-radius:18px;}
  .jm-hero-text{padding:0 22px 22px;}
  .jm-body{padding:26px 22px 30px;font-size:15px;}
  .jm-figure{margin:22px -22px;}
  .jm-figure figcaption{padding:8px 22px 0;}
}

/* ---------- Cards / Grids ---------- */
.grid{display:grid;gap:24px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}

.card{
  background:var(--white);border-radius:var(--radius-md);border:1px solid var(--border);
  overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-soft);
  transition:transform .25s ease,box-shadow .25s ease;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);}
.card-media{
  height:170px;position:relative;display:flex;align-items:flex-end;justify-content:flex-start;
  overflow:hidden;padding:16px;color:#fff;font-family:var(--ff-head);font-weight:600;
  letter-spacing:.3px;background:linear-gradient(135deg,var(--navy),#3a5bb0);
}
.card-media.tone-red{background:linear-gradient(135deg,var(--red),#c22a3b);}
.card-media.tone-gold{background:linear-gradient(135deg,#D4AF37,#b8912a);}
.card-media.tone-emerald{background:linear-gradient(135deg,var(--emerald),#037a4e);}
.card-media.tone-cyan{background:linear-gradient(135deg,#0091b3,var(--cyan));}
.card-media .scene{position:absolute;inset:0;width:100%;height:100%;}
.card-media .media-label{position:relative;z-index:2;font-size:13.5px;text-shadow:0 2px 6px rgba(0,0,0,.25);}
.card:hover .card-media .scene{transform:scale(1.04);transition:transform .4s ease;}
.card-media.has-photo{background-size:cover;background-position:center;}
.card-media.has-photo::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(15,21,42,0) 38%,rgba(15,21,42,.62) 100%);}
.badge{
  position:absolute;top:14px;left:14px;background:rgba(255,255,255,.95);color:var(--navy);
  font-size:11.5px;font-weight:700;padding:6px 12px;border-radius:var(--radius-pill);letter-spacing:.3px;
}
.badge.badge-red{background:var(--red);color:#fff;}
.badge.badge-gold{background:var(--gold);color:#3a2c00;}
/* Pink heart badge (home "Maldives" honeymoon card): gradient heart with a gloss highlight, slightly tilted */
.badge.badge-heart{
  top:8px;left:10px;z-index:2;width:96px;height:88px;padding:0 0 16px;border-radius:0;
  display:flex;align-items:center;justify-content:center;text-align:center;
  font-size:11px;line-height:1.15;letter-spacing:.4px;text-transform:uppercase;color:#fff;
  text-shadow:0 1px 3px rgba(122,0,58,.45);transform:rotate(-8deg);
  filter:drop-shadow(0 6px 10px rgba(214,36,120,.4));
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 90'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23ff8ac2'/%3E%3Cstop offset='.55' stop-color='%23f0468f'/%3E%3Cstop offset='1' stop-color='%23d61f73'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M50 88C20 66 2 48 2 28 2 13 14 2 28 2c10 0 18 6 22 14C54 8 62 2 72 2c14 0 26 11 26 26 0 20-18 38-48 60z' fill='url(%23g)' stroke='%23fff' stroke-opacity='.85' stroke-width='2.5'/%3E%3Cellipse cx='27' cy='20' rx='11' ry='6' fill='%23fff' fill-opacity='.35' transform='rotate(-30 27 20)'/%3E%3Cpath d='M86 8l2 5 5 2-5 2-2 5-2-5-5-2 5-2z' fill='%23fff' fill-opacity='.9'/%3E%3C/svg%3E") center/contain no-repeat;
}
.card-body{padding:22px;display:flex;flex-direction:column;flex-grow:1;gap:6px;}
.card-body h3{font-size:18px;}
.card-body p{color:var(--ink-soft);font-size:14px;flex-grow:1;}
.card-price{font-family:var(--ff-head);font-size:21px;font-weight:700;color:var(--navy);margin:6px 0 4px;}
.card-price small{font-size:12.5px;color:var(--ink-soft);font-weight:500;}
.card-foot{margin-top:8px;}

/* Horizontal scrolling card rows (homepage featured sections) */
.section-head-actions{display:flex;align-items:center;gap:18px;}
.scroller-nav{display:flex;gap:8px;}
.scroller-btn{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--white);
  color:var(--navy);font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-soft);transition:background .2s ease,color .2s ease,opacity .2s ease;
}
.scroller-btn:hover:not(:disabled){background:var(--navy);color:#fff;}
.scroller-btn:disabled{opacity:.4;cursor:default;}
.card-scroller{
  display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px) / 3.3);gap:24px;
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:8px 4px 18px;margin:-8px -4px 0;scrollbar-width:thin;scrollbar-color:var(--border) transparent;
}
.card-scroller > .card{scroll-snap-align:start;}
.card-scroller::-webkit-scrollbar{height:6px;}
.card-scroller::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-pill);}

.service-card{text-align:left;padding:28px 24px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);transition:transform .25s ease,box-shadow .25s ease;}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);}
.service-icon{width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:16px;background:var(--slate);color:var(--navy);}
.service-icon img{width:32px;height:32px;display:block;}
.service-card h3{font-size:18px;margin-bottom:6px;}
.service-card p{color:var(--ink-soft);font-size:14px;margin-bottom:16px;}

/* Decorative line art behind the Main Services section */
.services-section{background:url('services-pattern.svg') center top / 560px auto repeat;}
@media (max-width:640px){.services-section{background-size:420px auto;}}

/* ---------- Forms ---------- */
.form-card{background:#fff;border-radius:var(--radius-lg);padding:36px;border:1px solid var(--border);box-shadow:var(--shadow-card);margin:-56px 0 56px;position:relative;z-index:10;}
.form-card--flat{box-shadow:none;}
.form-card h2{font-size:21px;margin-bottom:4px;}
.form-card .form-sub{color:var(--ink-soft);font-size:14px;margin-bottom:22px;}
.trip-type{display:flex;gap:22px;margin-bottom:22px;flex-wrap:wrap;}
.radio-label{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14.5px;cursor:pointer;color:var(--charcoal);}
.radio-label input{accent-color:var(--red);width:16px;height:16px;}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:20px;}
.form-group{display:flex;flex-direction:column;gap:7px;}
.form-group label{font-size:12px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.4px;}
.form-control{
  padding:14px 16px;border-radius:var(--radius-sm);border:1.5px solid var(--border);
  outline:none;background:var(--slate);font-size:14.5px;font-family:var(--ff-body);color:var(--charcoal);
  transition:border-color .2s ease,background .2s ease;
}
.form-control:focus{border-color:var(--navy);background:#fff;}
.form-actions-end{display:flex;align-items:flex-end;}

/* Searchable airport dropdown */
.combo{position:relative;}
.combo .form-control{width:100%;}
.combo-list{
  display:none;position:absolute;left:0;top:calc(100% + 6px);z-index:30;
  min-width:100%;width:max-content;max-width:min(420px,90vw);max-height:320px;overflow-y:auto;
  background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);padding:6px;
}
.combo.open .combo-list{display:block;}
.combo-group{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-soft);padding:8px 10px 4px;}
.combo-option{padding:9px 10px;border-radius:8px;font-size:14px;color:var(--charcoal);cursor:pointer;}
.combo-option:hover,.combo-option.active{background:var(--slate);color:var(--navy);}
.combo-divider{height:1px;background:var(--border);margin:6px 4px;}
.combo-empty{padding:10px;color:var(--ink-soft);font-size:14px;}

/* Passenger counters (Adults / Child(ren)) */
.form-group--wide{grid-column:span 2;}
.pax-row{display:flex;gap:12px;flex-wrap:wrap;}
.pax-counter{
  flex:1;min-width:180px;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:6px 8px 6px 16px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--slate);
}
.pax-counter > span{font-weight:600;font-size:14.5px;color:var(--charcoal);}
.pax-stepper{display:flex;align-items:center;gap:4px;}
.pax-btn{
  width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--navy);
  font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;
}
.pax-btn:hover:not(:disabled){background:var(--navy);color:#fff;}
.pax-btn:disabled{opacity:.4;cursor:default;}
.pax-stepper input{
  width:34px;text-align:center;border:none;background:transparent;font-weight:700;font-size:15px;
  font-family:var(--ff-body);color:var(--charcoal);-moz-appearance:textfield;appearance:textfield;
}
.pax-stepper input::-webkit-outer-spin-button,
.pax-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}

.slider-card{background:var(--slate);padding:18px 20px;border-radius:var(--radius-sm);margin-bottom:22px;}
.slider-head{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:14px;margin-bottom:10px;}
.slider-head span:last-child{color:var(--red);font-family:var(--ff-head);font-size:16px;}
input[type="range"]{
  -webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:4px;
  background:linear-gradient(90deg,var(--red) 0%,var(--gold) 100%);outline:none;
}
input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;
  background:#fff;border:4px solid var(--navy);cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.2);
}
input[type="range"]::-moz-range-thumb{
  width:22px;height:22px;border-radius:50%;background:#fff;border:4px solid var(--navy);cursor:pointer;
}

/* ---------- Video promo ---------- */
.promo{
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dark) 100%);color:#fff;
  border-radius:var(--radius-lg);padding:48px;text-align:center;margin:56px 0;position:relative;overflow:hidden;
}
.promo::after{content:'';position:absolute;left:-60px;bottom:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(153,0,17,.35),transparent 70%);}
.promo h2{color:#fff;font-size:26px;margin-bottom:8px;}
.promo p{color:rgba(255,255,255,.78);max-width:520px;margin:0 auto;}
.video-frame{
  margin-top:26px;height:230px;border-radius:18px;border:2px dashed rgba(255,255,255,.28);
  background:rgba(255,255,255,.06);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  position:relative;z-index:2;
}
.play-btn{width:64px;height:64px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 8px 24px rgba(153,0,17,.4);}
.video-frame span{font-size:14.5px;color:rgba(255,255,255,.85);font-weight:500;}

/* ---------- CTA banner ---------- */
.cta-banner{
  background:linear-gradient(135deg,var(--red) 0%,var(--red-dark) 100%);color:#fff;
  border-radius:var(--radius-lg);padding:48px;text-align:center;margin:56px 0;
}
.cta-banner h2{color:#fff;font-size:28px;margin-bottom:10px;}
.cta-banner p{color:rgba(255,255,255,.88);max-width:520px;margin:0 auto 22px;}

/* ---------- Social feed ---------- */
.social-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px;}
.social-post{
  aspect-ratio:1/1;border-radius:16px;display:flex;align-items:center;justify-content:center;
  text-align:center;padding:12px;font-size:12.5px;font-weight:600;color:#fff;
  background:linear-gradient(160deg,var(--navy),var(--charcoal));
}
.social-post:nth-child(2){background:linear-gradient(160deg,var(--red),#5c0009);}
.social-post:nth-child(3){background:linear-gradient(160deg,var(--gold),#8a6a1c);}
.social-post:nth-child(4){background:linear-gradient(160deg,var(--emerald),#025c39);}

/* ---------- Visa Portal ---------- */
.visa-portal{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:40px;display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:start;}
.visa-summary{background:var(--slate);border-radius:var(--radius-md);padding:26px;}
.visa-summary ul{display:flex;flex-direction:column;gap:14px;margin:16px 0 22px;}
.visa-summary li{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;}
.visa-summary li .dot{width:22px;height:22px;border-radius:50%;background:var(--emerald);color:#fff;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;}

/* ---------- Secondary offerings ---------- */
.offer-card{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--slate);border-radius:var(--radius-md);padding:26px 28px;}
.offer-card h3{font-size:17px;margin-bottom:4px;}
.offer-card p{color:var(--ink-soft);font-size:14px;}
.offer-card a{white-space:nowrap;font-weight:700;color:var(--navy);text-decoration:none;}
.offer-card a:hover{color:var(--red);}

/* ---------- Footer ---------- */
.site-footer{background:var(--charcoal);color:#fff;padding-top:56px;}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1);}
.footer-brand img{height:39px;margin-bottom:16px;filter:brightness(0) invert(1);}
.footer-brand p{color:rgba(255,255,255,.62);font-size:14px;max-width:280px;}
.footer-social{display:flex;gap:12px;margin-top:18px;}
.footer-social-btn{
  width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;
  background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.35);
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.footer-social-btn svg{width:24px;height:24px;}
.footer-social-btn:hover{background:#fff;color:var(--navy);transform:translateY(-2px);}
.footer-social-btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}
.footer-col h4{color:#fff;font-size:14px;margin-bottom:16px;letter-spacing:.4px;text-transform:uppercase;}
.footer-col ul{display:flex;flex-direction:column;gap:10px;}
.footer-col a{color:rgba(255,255,255,.65);text-decoration:none;font-size:14.5px;}
.footer-col a:hover{color:#fff;}
.footer-top{border-bottom:0;}
/* Trust badges band: a cooler, slightly bluer charcoal than the footer */
.trust-band{background:#242c3d;}
.trust-row{display:flex;align-items:center;justify-content:space-between;gap:18px 32px;flex-wrap:wrap;padding-top:22px;padding-bottom:22px;}
.trust-item{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:rgba(255,255,255,.9);}
.trust-item .tick{color:var(--emerald);font-weight:700;}
.trust-icon{width:26px;height:26px;color:var(--gold);flex-shrink:0;}
/* IATA logo in the same gold as the other badge icons */
.trust-logo{height:34px;width:auto;display:block;}
.trust-name{font-family:var(--ff-head);font-weight:700;}
.trust-stars{display:inline-flex;gap:3px;}
.trust-stars i{width:22px;height:22px;display:block;position:relative;}
.trust-stars i::before{content:'';position:absolute;inset:0;background:var(--gold);
  clip-path:polygon(50% 0,61.8% 35.3%,100% 35.3%,69.1% 57.1%,80.9% 92.7%,50% 70.8%,19.1% 92.7%,30.9% 57.1%,0 35.3%,38.2% 35.3%);}
/* Bottom copyright row: deeper, desaturated charcoal */
.footer-bottom{background:#1c212b;padding:20px 0 100px;text-align:center;color:rgba(255,255,255,.55);font-size:13px;}
@media (max-width:768px){.trust-row{justify-content:center;}}

/* ---------- Mobile sticky bar ---------- */
.mobile-bar{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:300;
  background:#fff;border-top:1px solid var(--border);box-shadow:0 -6px 20px rgba(0,0,0,.06);
  padding:8px 6px;justify-content:space-around;
}
.mobile-bar a{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--charcoal);text-decoration:none;font-size:11px;font-weight:600;padding:6px 4px;}
.mobile-bar a .mi{width:24px;height:24px;display:block;flex:none;}
.mobile-bar a.mi-primary{color:var(--red);}

/* ---------- Visa finder (visas.html) ---------- */
.vf-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:14px;}
.vf-search{position:relative;flex:1 1 260px;max-width:360px;}
.vf-search svg{position:absolute;left:14px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--ink-soft);}
.vf-search input{
  width:100%;padding:12px 16px 12px 42px;border-radius:var(--radius-pill);border:1.5px solid var(--border);
  background:#fff;font-size:14.5px;font-family:var(--ff-body);color:var(--charcoal);outline:none;
}
.vf-search input:focus{border-color:var(--navy);}
.vf-chips{display:flex;flex-wrap:wrap;gap:8px;}
.vf-chip{
  padding:9px 16px;border-radius:var(--radius-pill);border:1.5px solid var(--border);background:#fff;
  font-size:13.5px;font-weight:600;font-family:var(--ff-body);color:var(--charcoal);cursor:pointer;transition:all .2s ease;
}
.vf-chip:hover{border-color:var(--navy);color:var(--navy);}
.vf-chip.active{background:var(--navy);border-color:var(--navy);color:#fff;}
.vf-sort{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink-soft);}
.vf-sort select{
  padding:9px 12px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:#fff;
  font-size:13.5px;font-family:var(--ff-body);color:var(--charcoal);cursor:pointer;
}
.vf-count{font-size:13px;color:var(--ink-soft);margin-bottom:16px;min-height:1em;}

.vf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.vf-card{
  background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;
  display:flex;flex-direction:column;gap:16px;cursor:pointer;box-shadow:var(--shadow-soft);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.vf-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card);border-color:#cdd6e4;}
.vf-card-top{display:flex;align-items:center;gap:14px;}
.vf-flag{border-radius:6px;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.08);flex-shrink:0;background:var(--slate);}
.vf-card-title{flex:1;min-width:0;}
.vf-card-title h3{font-size:17px;margin-bottom:2px;}
.vf-type{font-size:13px;color:var(--ink-soft);}
.vf-pop{align-self:flex-start;background:#FBF3DC;color:#8a6a1c;font-size:11px;font-weight:700;letter-spacing:.3px;padding:4px 10px;border-radius:var(--radius-pill);white-space:nowrap;}
.vf-stats{display:grid;grid-template-columns:1.3fr 1fr auto;gap:10px;padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.vf-stats > div{display:flex;flex-direction:column;gap:2px;}
.vf-stat-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);}
.vf-stat-value{font-size:14px;font-weight:600;color:var(--charcoal);}
.vf-stat-fee{text-align:right;}
.vf-stat-fee .vf-stat-value{font-family:var(--ff-head);font-size:20px;font-weight:700;color:var(--navy);line-height:1.2;}
.vf-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto;}
/* Compact visa cards (home page visa section) */
.vf-grid--mini{grid-template-columns:repeat(3,1fr);gap:14px;}
.visa-portal--cards{grid-template-columns:1.75fr 1fr;gap:32px;}
@media (max-width:1100px){.vf-grid--mini{grid-template-columns:repeat(2,1fr);}}
.vf-grid--mini .vf-card{padding:14px;gap:10px;}
.vf-grid--mini .vf-card-top{gap:10px;}
.vf-grid--mini .vf-card-title h3{font-size:15px;}
.vf-grid--mini .vf-type{font-size:12px;line-height:1.35;display:block;}
.vf-grid--mini .vf-stats{grid-template-columns:1fr auto;padding:10px 0 0;border-bottom:0;}
.vf-grid--mini .vf-stat-value{font-size:13px;}
.vf-grid--mini .vf-stat-fee .vf-stat-value{font-size:17px;}
.vf-grid--mini .vf-card.is-selected{border-color:var(--navy);box-shadow:0 0 0 2px var(--navy),var(--shadow-card);}
.vf-grid--mini .vf-card:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
@media (max-width:480px){.vf-grid--mini{grid-template-columns:1fr;}}
.vf-empty{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:40px 20px;background:#fff;border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--ink-soft);}
.vf-empty[hidden]{display:none;}
.vf-empty strong{color:var(--charcoal);font-size:16px;}
.vf-empty .btn{margin-top:8px;}

/* Highlight the enquiry form after "Apply" */
@keyframes vf-flash{0%{box-shadow:0 0 0 0 rgba(36,63,135,.45);}100%{box-shadow:0 0 0 18px rgba(36,63,135,0);}}
.form-card.vf-flash{animation:vf-flash 1s ease-out 2;}

/* Details drawer: slides in from the right (bottom sheet on phones) */
.vf-drawer{position:fixed;inset:0;z-index:500;}
.vf-drawer[hidden]{display:none;}
.vf-backdrop{position:absolute;inset:0;background:rgba(15,21,42,.5);opacity:0;transition:opacity .25s ease;}
.vf-panel{
  position:absolute;top:0;right:0;bottom:0;width:min(460px,100%);background:#fff;display:flex;flex-direction:column;
  box-shadow:-12px 0 40px rgba(15,21,42,.2);transform:translateX(100%);transition:transform .25s ease;
}
.vf-drawer.open .vf-backdrop{opacity:1;}
.vf-drawer.open .vf-panel{transform:none;}
body.vf-lock{overflow:hidden;}
.vf-panel-head{display:flex;align-items:center;gap:14px;padding:22px 22px 18px;border-bottom:1px solid var(--border);}
.vf-panel-head > div{flex:1;min-width:0;}
.vf-panel-head h3{font-size:20px;margin-bottom:2px;}
.vf-close{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:15px;color:var(--charcoal);flex-shrink:0;}
.vf-close:hover{background:var(--slate);}
.vf-panel-body{flex:1;overflow-y:auto;padding:20px 22px;}
.vf-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;}
.vf-facts > div{background:var(--slate);border-radius:var(--radius-sm);padding:12px 14px;display:flex;flex-direction:column;gap:3px;}
.vf-facts strong{font-size:14.5px;color:var(--charcoal);}
.vf-facts .vf-fact-wide{grid-column:1 / -1;}
.vf-note{background:#FBF3DC;color:#5c4710;border-radius:var(--radius-sm);padding:12px 14px;font-size:13.5px;margin-bottom:18px;}
.vf-panel-body h4{font-size:15px;margin:6px 0 12px;display:flex;align-items:center;gap:8px;}
.vf-panel-body h4 span{background:var(--slate);color:var(--ink-soft);font-size:12px;padding:2px 8px;border-radius:var(--radius-pill);}
.vf-docs{display:flex;flex-direction:column;gap:8px;margin-bottom:22px;}
.vf-docs li{position:relative;padding:10px 12px 10px 38px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;}
.vf-docs li::before{
  content:'✓';position:absolute;left:12px;top:10px;width:18px;height:18px;border-radius:50%;
  background:var(--emerald);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;
}
.vf-steps{list-style:none;counter-reset:vf-step;margin-bottom:20px;}
.vf-steps li{counter-increment:vf-step;position:relative;padding:0 0 18px 40px;font-size:14px;}
.vf-steps li::before{
  content:counter(vf-step);position:absolute;left:0;top:-1px;width:26px;height:26px;border-radius:50%;
  background:var(--navy);color:#fff;font-size:12.5px;font-weight:700;display:flex;align-items:center;justify-content:center;
}
.vf-steps li:not(:last-child)::after{content:'';position:absolute;left:12px;top:28px;bottom:2px;width:2px;background:var(--border);}
.vf-disclaimer{font-size:12.5px;color:var(--ink-soft);}
.vf-panel-foot{display:flex;flex-direction:column;gap:10px;padding:16px 22px 22px;border-top:1px solid var(--border);}

@media (max-width:960px){
  .vf-grid{grid-template-columns:repeat(2,1fr);}
  .vf-sort{margin-left:0;}
}
@media (max-width:640px){
  .vf-grid{grid-template-columns:1fr;}
  .vf-search{max-width:none;}
  .vf-chips{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:4px;}
  .vf-chip{flex-shrink:0;}
  .vf-panel{top:auto;width:100%;max-height:88vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;transform:translateY(100%);}
}

/* ---------- Help Centre (support.html) ---------- */
.hc-hero{padding:40px 0 44px;background:linear-gradient(180deg,var(--slate) 0%,#fff 100%);}
.hc-hero .crumb{font-size:13px;color:var(--ink-soft);margin-bottom:22px;}
.hc-hero .crumb a{color:var(--ink-soft);text-decoration:none;}
.hc-hero .crumb a:hover{color:var(--navy);}
.hc-hero h1{font-size:38px;margin-bottom:22px;max-width:720px;}
.hc-search{display:flex;gap:12px;max-width:820px;}
.hc-search-field{position:relative;flex:1;}
.hc-search-field svg{position:absolute;left:18px;top:50%;width:20px;height:20px;transform:translateY(-50%);color:var(--ink-soft);}
.hc-search-field input{
  width:100%;height:56px;padding:0 18px 0 50px;border:1.5px solid var(--border);border-radius:var(--radius-pill);
  font-size:16px;font-family:var(--ff-body);color:var(--charcoal);outline:none;background:#fff;box-shadow:var(--shadow-soft);
}
.hc-search-field input:focus{border-color:var(--navy);box-shadow:0 0 0 4px rgba(36,63,135,.12);}
.hc-search .btn{height:56px;padding:0 34px;}
.hc-popular{display:flex;align-items:center;gap:10px;margin-top:16px;flex-wrap:wrap;}
.hc-popular > span{font-size:13px;font-weight:700;color:var(--ink-soft);}
.hc-popular > div{display:flex;flex-wrap:wrap;gap:8px;}
.hc-pop-chip{
  font-size:13px;font-weight:600;color:var(--navy);background:#fff;border:1px solid var(--border);
  padding:6px 14px;border-radius:var(--radius-pill);text-decoration:none;transition:all .2s ease;
}
.hc-pop-chip:hover{border-color:var(--navy);background:var(--navy);color:#fff;}

/* Hub: sticky category list + questions */
.hc-hub{padding:16px 0 56px;}
.hc-hub-grid{display:grid;grid-template-columns:270px 1fr;gap:40px;align-items:start;}
.hc-side{position:sticky;top:136px;display:flex;flex-direction:column;gap:18px;}
.hc-nav{display:flex;flex-direction:column;gap:2px;}
.hc-nav-item{
  display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:none;background:none;border-radius:var(--radius-sm);
  font-family:var(--ff-body);font-size:14.5px;font-weight:600;color:var(--charcoal);cursor:pointer;text-align:left;transition:background .15s ease,color .15s ease;
}
.hc-nav-item span{flex:1;}
.hc-nav-item em{font-style:normal;font-size:12px;font-weight:600;color:var(--ink-soft);background:var(--slate);padding:1px 8px;border-radius:var(--radius-pill);}
.hc-nav-item:hover{background:var(--slate);}
.hc-nav-item.active{background:var(--navy);color:#fff;}
.hc-nav-item.active .hc-icon{color:#fff;}
.hc-nav-item.active em{background:rgba(255,255,255,.18);color:#fff;}
.hc-icon{width:20px;height:20px;flex-shrink:0;color:var(--navy);}
.hc-side-card{
  background:var(--slate);border-radius:var(--radius-md);padding:18px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;
}
.hc-side-card strong{font-family:var(--ff-head);font-size:16px;color:var(--charcoal);margin-top:4px;}
.hc-side-card span{font-size:13px;color:var(--ink-soft);margin-bottom:8px;}

.hc-main{min-width:0;scroll-margin-top:140px;}
.hc-main-head{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.hc-main-icon{width:48px;height:48px;border-radius:14px;background:var(--slate);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.hc-main-icon .hc-icon{width:24px;height:24px;}
.hc-main-head h2{font-size:24px;}
.hc-main-head p{font-size:14px;color:var(--ink-soft);}
.hc-questions{display:flex;flex-direction:column;gap:10px;}

.hc-q{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;scroll-margin-top:140px;transition:border-color .2s ease,box-shadow .2s ease;}
.hc-q:hover{border-color:#cdd6e4;}
.hc-q[open]{border-color:var(--navy);box-shadow:var(--shadow-card);}
.hc-q summary{display:flex;align-items:center;gap:16px;padding:18px 20px;cursor:pointer;list-style:none;}
.hc-q summary::-webkit-details-marker{display:none;}
.hc-q summary:focus-visible{outline:3px solid rgba(36,63,135,.35);outline-offset:2px;border-radius:var(--radius-md);}
.hc-q-text{flex:1;display:flex;flex-direction:column;gap:2px;}
.hc-q-cat{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--red);}
.hc-q-title{font-family:var(--ff-head);font-weight:600;font-size:16.5px;color:var(--charcoal);}
.hc-q-toggle{
  width:30px;height:30px;padding:6px;border-radius:50%;background:var(--slate);color:var(--navy);flex-shrink:0;transition:transform .25s ease,background .2s ease;
}
.hc-q[open] .hc-q-toggle{transform:rotate(45deg);background:var(--navy);color:#fff;}
.hc-q-body{padding:0 20px 18px;animation:hc-reveal .25s ease-out;}
@keyframes hc-reveal{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:none;}}
.hc-answer{font-size:15px;line-height:1.65;color:var(--charcoal);padding-top:14px;border-top:1px solid var(--border);}
.hc-answer p{margin-bottom:12px;}
.hc-answer ul{list-style:disc;padding-left:22px;margin-bottom:12px;}
.hc-answer li{margin-bottom:7px;padding-left:4px;}
.hc-answer h3{font-size:16px;margin:18px 0 6px;}
.hc-answer a{color:var(--navy);font-weight:600;}
.hc-q-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:6px;padding-top:14px;border-top:1px dashed var(--border);}
.hc-helpful,.hc-q-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.hc-helpful > span{font-size:13px;color:var(--ink-soft);margin-right:2px;}
.hc-mini{
  display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-pill);border:1px solid var(--border);
  background:#fff;font-family:var(--ff-body);font-size:13px;font-weight:600;color:var(--charcoal);cursor:pointer;text-decoration:none;transition:all .15s ease;
}
.hc-mini:hover{border-color:var(--navy);color:var(--navy);}
.hc-mini-icon{width:15px;height:15px;}
.hc-wa-icon{width:15px;height:15px;}
.hc-mini-wa{border-color:#bfe9cf;color:#075E54;}
.hc-mini-wa:hover{background:#25D366;border-color:#25D366;color:#fff;}
.hc-thanks{font-size:13.5px;color:var(--charcoal);}
.hc-thanks a{color:var(--navy);font-weight:600;}
.hc-noresults{
  display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:44px 20px;
  border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--ink-soft);
}
.hc-noresults strong{color:var(--charcoal);font-size:16px;}
.hc-noresults .btn{margin-top:8px;}

.hc-banner-wrap{padding:8px 0 72px;}
.hc-banner{display:grid;grid-template-columns:1fr 1.5fr;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:#fff;}
.hc-banner-media{min-height:240px;background-size:cover;background-position:center;}
.hc-banner-text{padding:32px 36px;display:flex;flex-direction:column;justify-content:center;gap:10px;}
.hc-banner-text h2{font-size:30px;}
.hc-banner-text p{color:var(--ink-soft);font-size:15px;max-width:520px;}
.hc-banner-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;}

/* Tablet & phone: categories become a sticky, swipeable chip strip */
@media (max-width:900px){
  .hc-hub-grid{grid-template-columns:1fr;gap:20px;}
  .hc-side{display:contents;}
  .hc-nav{
    position:sticky;top:120px;z-index:20;flex-direction:row;gap:8px;overflow-x:auto;
    margin:0 -24px;padding:10px 24px;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);scrollbar-width:none;
  }
  .hc-nav::-webkit-scrollbar{display:none;}
  .hc-nav-item{width:auto;flex-shrink:0;padding:8px 14px;border:1px solid var(--border);border-radius:var(--radius-pill);}
  .hc-nav-item em{display:none;}
  .hc-side-card{display:none;}
  .hc-main,.hc-q{scroll-margin-top:190px;}
}
@media (max-width:640px){
  .hc-hero h1{font-size:28px;}
  .hc-search{flex-direction:column;}
  .hc-search .btn{width:100%;}
  .hc-q summary{padding:16px;}
  .hc-q-body{padding:0 16px 16px;}
  .hc-q-foot{flex-direction:column;align-items:flex-start;}
  .hc-banner{grid-template-columns:1fr;}
  .hc-banner-media{min-height:180px;}
  .hc-banner-text{padding:24px;}
  .hc-banner-text h2{font-size:24px;}
}

/* ---------- WhatsApp chat widget ---------- */
.wa-widget{position:fixed;right:20px;bottom:20px;z-index:350;display:flex;flex-direction:column;align-items:flex-end;gap:14px;font-family:var(--ff-body);}
.wa-fab{
  width:60px;height:60px;border-radius:50%;border:none;cursor:pointer;background:#25D366;color:#fff;
  display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(37,211,102,.4);
  transition:transform .2s ease,box-shadow .2s ease;
}
.wa-fab svg{width:32px;height:32px;}
.wa-fab:hover{transform:scale(1.06);box-shadow:0 10px 28px rgba(37,211,102,.5);}
.wa-widget.open .wa-fab{background:#128C7E;}
.wa-panel{
  width:340px;max-width:calc(100vw - 32px);background:#fff;border-radius:var(--radius-md);overflow:hidden;
  box-shadow:0 18px 48px rgba(15,21,42,.25);display:flex;flex-direction:column;
  animation:wa-pop .2s ease-out;
}
.wa-panel[hidden]{display:none;}
@keyframes wa-pop{from{opacity:0;transform:translateY(12px) scale(.97);}to{opacity:1;transform:none;}}
.wa-head{background:#075E54;color:#fff;display:flex;align-items:center;gap:12px;padding:14px 14px 14px 16px;}
.wa-avatar{width:42px;height:42px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;}
.wa-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.wa-head-text{display:flex;flex-direction:column;flex:1;line-height:1.3;}
.wa-head-text strong{font-size:15px;}
.wa-head-text span{font-size:12px;opacity:.8;}
.wa-close{background:none;border:none;color:#fff;font-size:16px;cursor:pointer;opacity:.8;padding:6px;}
.wa-close:hover{opacity:1;}
.wa-body{background:#ECE5DD;padding:16px 14px;display:flex;flex-direction:column;gap:10px;height:300px;max-height:45vh;overflow-y:auto;}
.wa-bubble{
  max-width:85%;padding:8px 12px 18px;border-radius:10px;font-size:14px;line-height:1.45;color:#111;
  position:relative;box-shadow:0 1px 1px rgba(0,0,0,.08);white-space:pre-wrap;word-wrap:break-word;
}
.wa-in{background:#fff;align-self:flex-start;border-top-left-radius:2px;}
.wa-out{background:#DCF8C6;align-self:flex-end;border-top-right-radius:2px;}
.wa-time{position:absolute;right:10px;bottom:4px;font-size:10.5px;color:#667781;}
.wa-quick{display:flex;flex-wrap:wrap;gap:6px;}
.wa-chip{
  background:#fff;border:1px solid #cfe9dc;color:#075E54;font-size:12.5px;font-weight:600;
  padding:6px 12px;border-radius:var(--radius-pill);cursor:pointer;font-family:var(--ff-body);
}
.wa-chip:hover{background:#25D366;border-color:#25D366;color:#fff;}
.wa-note{align-self:center;background:rgba(255,255,255,.75);color:#54656f;font-size:12px;padding:4px 10px;border-radius:8px;}
.wa-compose{display:flex;align-items:flex-end;gap:8px;padding:10px;background:#F0F2F5;}
.wa-compose textarea{
  flex:1;resize:none;border:none;outline:none;border-radius:20px;padding:10px 14px;font-size:14px;
  font-family:var(--ff-body);max-height:110px;background:#fff;color:var(--charcoal);line-height:1.4;
}
.wa-send{width:42px;height:42px;border-radius:50%;border:none;background:#25D366;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.wa-send svg{width:20px;height:20px;}
.wa-send:hover{background:#128C7E;}
.wa-foot{text-align:center;font-size:11px;color:#667781;padding:0 0 8px;background:#F0F2F5;}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .card-scroller{grid-auto-columns:calc((100% - 48px) / 2.3);}
  .footer-top{grid-template-columns:1fr 1fr;}
  .visa-portal{grid-template-columns:1fr;}
}
@media (max-width:768px){
  .nav-links,.nav-actions .btn,.nav-contact{display:none;}
  .nav-toggle{display:block;}
  .hero h1{font-size:32px;}
  .section-title{font-size:26px;}
  .grid-3,.grid-4,.grid-2{grid-template-columns:1fr;}
  .card-scroller{grid-auto-columns:85%;gap:16px;}
  .social-grid{grid-template-columns:repeat(2,1fr);}
  .form-card{margin-top:-40px;padding:24px;}
  .form-group--wide{grid-column:auto;}
  .mobile-bar{display:flex;}
  body{padding-bottom:64px;}
  .wa-widget{right:14px;bottom:80px;}
  .wa-fab{width:54px;height:54px;}
  .footer-top{grid-template-columns:1fr;gap:28px;}
  .page-hero h1{font-size:28px;}
}
@media (max-width:480px){
  .hero-strip{gap:22px;}
}

/* Mobile nav drawer */
.nav-drawer{
  display:none;position:fixed;inset:0;background:rgba(20,26,45,.55);z-index:400;
}
.nav-drawer.open{display:block;}
.nav-drawer-panel{
  position:absolute;top:0;right:0;bottom:0;width:78%;max-width:320px;background:#fff;
  padding:28px 24px;display:flex;flex-direction:column;gap:22px;
}
.nav-drawer-panel a{text-decoration:none;color:var(--charcoal);font-weight:600;font-size:17px;}
.nav-drawer-panel a.active{color:var(--red);}
.nav-drawer-close{align-self:flex-end;background:none;border:none;font-size:22px;cursor:pointer;color:var(--ink-soft);}

/* Menu Items with icons */
.menu-item {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.menu-item img {
  display: block;
  width: 48px;
  height: 48px;
}
/* Additional Offerings — Travel Essentials */
.essentials{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);overflow:hidden;}
.essentials-photo{display:block;width:100%;height:100%;min-height:360px;object-fit:cover;object-position:right center;}
.essentials-body{padding:36px 36px 36px 0;}
.essentials-body h3{font-family:var(--ff-head);font-size:clamp(24px,2.4vw,30px);color:var(--navy);margin:0 0 20px;}
.essentials-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;}
.essentials-list li{display:flex;align-items:center;gap:12px;font-weight:600;font-size:15px;color:var(--navy-dark);}
.essentials-list svg{flex:none;width:40px;height:40px;padding:9px;border-radius:12px;background:var(--slate);fill:none;stroke:var(--red);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
@media (max-width:900px){
  .essentials{grid-template-columns:1fr;gap:0;}
  .essentials-photo{min-height:0;aspect-ratio:16/9;height:auto;}
  .essentials-body{padding:24px 20px 28px;}
}
@media (max-width:420px){
  .essentials-list{grid-template-columns:1fr;}
}
/* Holidays — package hero with background video */
.holiday-hero{position:relative;overflow:hidden;isolation:isolate;color:#fff;text-align:center;padding:72px 0 64px;background:var(--navy-dark);}
.hh-media{position:absolute;inset:0;z-index:-1;background:url('videos/holiday-hero-poster.jpg') center/cover no-repeat;}
.hh-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,26,58,.62) 0%,rgba(15,26,58,.48) 45%,rgba(15,26,58,.78) 100%);}
.hh-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease;}
.hh-video.is-playing{opacity:1;}
.hh-inner{position:relative;}
.hh-eyebrow{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:7px 16px;border-radius:var(--radius-pill);background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(6px);margin-bottom:18px;}
.hh-title{font-family:'Montserrat',var(--ff-head);font-weight:800;text-transform:uppercase;font-size:clamp(30px,4.6vw,54px);line-height:1.1;letter-spacing:.01em;color:#fff;max-width:900px;margin:0 auto 16px;text-shadow:0 2px 18px rgba(0,0,0,.35);}
.hh-sub{font-size:clamp(15.5px,1.5vw,18.5px);line-height:1.65;max-width:720px;margin:0 auto;color:rgba(255,255,255,.92);text-shadow:0 1px 10px rgba(0,0,0,.35);}
.holiday-hero #plan-trip{margin:36px auto 0;max-width:1040px;text-align:left;color:var(--charcoal);background:rgba(255,255,255,.97);}
@media (max-width:600px){
  .holiday-hero{padding:44px 0 36px;}
  .hh-media{background-image:url('videos/holiday-hero-poster-mobile.jpg');}
  .hh-video{object-position:72% center;}
  .holiday-hero #plan-trip{margin-top:26px;}
}
@media (prefers-reduced-motion:reduce){.hh-video{display:none;}}
.jm-fineprint{font-size:12px;line-height:1.5;color:var(--ink-soft);margin-top:14px;}

/* Journey package lists with icons */
.jm-list--icons li{padding:9px 0 9px 44px;min-height:46px;}
.jm-list--icons li::before{content:none;}
.jm-list--icons li svg{position:absolute;left:0;top:8px;width:30px;height:30px;padding:6px;border-radius:9px;background:var(--slate);fill:none;stroke:var(--red);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
/* Top Featured packages carousel (holidays.html) — journeys carousel + price & Request Itinerary */
.journeys-carousel.jc--featured{padding:0 0 4px;margin:0 -16px;}
.jc--featured .jc-badge{display:inline-block;font-family:var(--ff-body);font-size:max(1.4cqw,11px);font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--red);color:#fff;padding:6px 12px;border-radius:var(--radius-pill);margin-bottom:10px;}
.jc--featured .jc-foot{display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:100%;}
.jc--featured .jc-buy{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;}
.jc--featured .jc-price{font-family:var(--ff-head);font-weight:700;font-size:max(2.6cqw,17px);color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.35);}
.jc--featured .jc-price small{font-size:.65em;font-weight:500;opacity:.9;}
.jc--featured .jc-btn{display:inline-block;background:#fff;color:var(--navy);font-weight:700;font-size:max(1.6cqw,13px);padding:10px 18px;border-radius:var(--radius-pill);box-shadow:0 6px 18px rgba(0,0,0,.2);transition:background .2s ease,color .2s ease;}
.jc--featured .jc-card.is-active:hover .jc-btn{background:var(--red);color:#fff;}
.jc--featured .jc-card::after{background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 35%,rgba(0,0,0,0) 50%,rgba(0,0,0,.55) 100%);}
@media (max-width:600px){.journeys-carousel.jc--featured{padding-top:0;margin:0 -16px;}.jc--featured .jc-stage{height:calc(var(--jc-w) * 1.3);}}
.jm-list--excluded li svg{stroke:#8a94a6;background:#f3f4f6;}
.jm-list--excluded li{color:var(--ink-soft);}

/* Featured cards: headline + plain white description (no box) */
.jc--featured .jc-headline{font-family:var(--ff-head);font-weight:700;font-size:max(2.9cqw,19px);line-height:1.2;color:#fff;margin:0;text-shadow:0 2px 12px rgba(0,0,0,.45);}
.jc--featured .jc-desc{background:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0;border-radius:0;color:#fff;font-size:max(1.8cqw,13.5px);line-height:1.45;margin:-4px 0 4px;text-shadow:0 1px 10px rgba(0,0,0,.55);}
.jc--featured .jc-card::after{background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,.1) 45%,rgba(0,0,0,.72) 100%);}
/* ============ Visa application page (visa-apply.html) ============ */
/* Hero: copy on the left, a decorative visa sticker on the right */
.page-hero .va-title{display:flex;align-items:center;gap:16px;}
.va-flag img{display:block;width:56px;height:42px;object-fit:cover;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.2);}


/* Page body */
.va-page{background:var(--slate);position:relative;padding:40px 0 72px;}
.va-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start;}
.va-main{display:flex;flex-direction:column;gap:22px;min-width:0;}
.va-side{position:sticky;top:110px;}

.va-section{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:26px 28px;box-shadow:var(--shadow-soft);scroll-margin-top:110px;}
.va-section-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:22px;}
.va-section-head h2{font-size:21px;color:var(--navy-dark);margin:0 0 2px;}
.va-section-head p{font-size:14px;color:var(--ink-soft);margin:0;}
.va-step-tag{flex:none;font-family:var(--ff-head);font-weight:800;font-size:15px;color:var(--red);width:44px;height:44px;border-radius:12px;background:#fdecee;display:flex;align-items:center;justify-content:center;}

/* How it works: horizontal timeline (vertical on phones) */
.va-timeline{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:14px;}
.va-timeline li{position:relative;padding-top:52px;}
.va-timeline li::before{content:'';position:absolute;top:19px;left:44px;right:-14px;height:2px;background:repeating-linear-gradient(90deg,var(--navy) 0 6px,transparent 6px 11px);opacity:.35;}
.va-timeline li:last-child::before{display:none;}
.va-tl-num{position:absolute;top:0;left:0;width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 5px #e8eefb;}
.va-timeline li:last-child .va-tl-num{background:var(--emerald);box-shadow:0 0 0 5px #e1f5ec;}
.va-timeline p{margin:0;font-size:14px;line-height:1.5;color:var(--charcoal);}
.va-note{margin:20px 0 0;font-size:13.5px;color:#7a5b00;background:#fff8e1;border-radius:12px;padding:11px 14px;}

/* Document pack */
.va-pack-meter{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
.va-pack-bar{flex:1;height:8px;border-radius:8px;background:#e8edf5;overflow:hidden;}
.va-pack-bar i{display:block;height:100%;width:0;border-radius:8px;background:linear-gradient(90deg,var(--navy),var(--emerald));transition:width .35s ease;}
.va-pack-count{font-size:13px;font-weight:700;color:var(--navy-dark);white-space:nowrap;}
.va-docs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.va-docs label{display:flex;align-items:flex-start;gap:12px;height:100%;padding:13px 14px;border:1px solid var(--border);border-radius:12px;background:#fafbfd;cursor:pointer;transition:border-color .2s ease,background .2s ease;}
.va-docs label:hover{border-color:#c9d3e6;}
.va-docs input{position:absolute;opacity:0;pointer-events:none;}
.va-tick{flex:none;width:22px;height:22px;border-radius:7px;border:2px solid #c3cbd9;background:#fff;display:flex;align-items:center;justify-content:center;transition:all .2s ease;}
.va-tick::after{content:'';width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) translate(-1px,-1px);opacity:0;}
.va-doc-text{font-size:14px;line-height:1.45;color:var(--charcoal);}
.va-docs input:checked + .va-tick{background:var(--emerald);border-color:var(--emerald);}
.va-docs input:checked + .va-tick::after{opacity:1;}
.va-docs input:checked ~ .va-doc-text{color:var(--ink-soft);}
.va-docs label:has(input:checked){background:#f1faf6;border-color:#bfe6d4;}
.va-docs input:focus-visible + .va-tick{outline:3px solid var(--gold);outline-offset:2px;}

/* Application form */
.va-form-card .form-grid{margin-bottom:6px;}
.va-upload-label{display:block;font-size:13px;font-weight:600;color:var(--charcoal);margin-bottom:6px;}
.va-upload{position:relative;display:flex;align-items:center;gap:14px;padding:16px;border:2px dashed #c3cbd9;border-radius:14px;background:#fafbfd;cursor:pointer;transition:border-color .2s ease,background .2s ease;}
.va-upload:hover,.va-upload:focus-within{border-color:var(--navy);background:#f4f7fd;}
.va-upload.has-file{border-style:solid;border-color:var(--emerald);background:#f1faf6;}
.va-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.va-upload-icon{flex:none;width:44px;height:44px;border-radius:12px;background:#e8eefb;display:flex;align-items:center;justify-content:center;}
.va-upload-icon svg{width:22px;height:22px;fill:none;stroke:var(--navy);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.va-upload.has-file .va-upload-icon{background:#d9f2e7;}
.va-upload.has-file .va-upload-icon svg{stroke:var(--emerald);}
.va-upload-text{flex:1;min-width:0;}
.va-upload-text strong{display:block;font-size:14.5px;color:var(--navy-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.va-upload-text small{font-size:12.5px;color:var(--ink-soft);}
.va-upload-btn{flex:none;font-size:13px;font-weight:700;color:var(--navy);padding:8px 16px;border-radius:var(--radius-pill);border:1px solid var(--border);background:#fff;}
.va-check{display:flex;align-items:center;gap:10px;font-size:14px;margin:18px 0 8px;cursor:pointer;}
.va-check input{width:18px;height:18px;accent-color:var(--navy);}
.va-check a{color:var(--navy);font-weight:600;}
.va-terms{margin:0 0 18px;border:1px solid var(--border);border-radius:12px;background:#fafbfd;}
.va-terms summary{cursor:pointer;padding:10px 14px;font-size:13px;font-weight:600;color:var(--navy-dark);}
.va-terms ol{margin:0;padding:0 18px 12px 34px;font-size:13px;line-height:1.55;color:var(--ink-soft);}
.va-terms li{margin-bottom:5px;}
.va-reassure{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12.5px;color:var(--ink-soft);margin:12px 0 0;}
.va-reassure svg{width:14px;height:14px;fill:none;stroke:var(--emerald);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.va-sent{margin-top:18px;padding:16px 18px;border-radius:14px;background:#f1faf6;border:1px solid #bfe6d4;}
.va-sent strong{display:block;color:var(--navy-dark);font-size:15px;}
.va-sent p{margin:4px 0 10px;font-size:13.5px;color:var(--ink-soft);}

/* Cost card (right column) */
.va-cost{background:var(--navy-dark);color:#fff;border-radius:var(--radius-md);padding:22px;box-shadow:0 18px 40px rgba(27,47,102,.28);}
.va-cost-total strong{font-family:var(--ff-head);font-size:38px;line-height:1;color:var(--gold);}
.va-cost-total span{font-size:14px;color:rgba(255,255,255,.85);}
.va-cost-note{font-size:12.5px;color:rgba(255,255,255,.7);margin:6px 0 16px;}
.va-cost dl{margin:0;}
.va-cost dl div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:13px;}
.va-cost dt{color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.06em;font-size:11.5px;align-self:center;}
.va-cost dd{margin:0;font-weight:700;text-align:right;}
.va-cost-lines{border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);padding:6px 0;margin-bottom:8px !important;}
.va-cost-lines dd{font-size:15px;}
.va-cost-cta{margin:16px 0 14px;}
.va-desk{display:flex;align-items:center;gap:12px;padding-top:14px;border-top:1px solid rgba(255,255,255,.14);color:#fff;text-decoration:none;font-weight:700;font-size:14.5px;}
.va-desk small{display:block;font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.65);}
.va-desk-icon{width:34px;height:34px;border-radius:50%;background:rgba(0,168,107,.18);display:flex;align-items:center;justify-content:center;}
.va-desk-icon svg{width:16px;height:16px;fill:var(--emerald);}

.va-missing{text-align:center;padding:40px 16px;}
.va-missing p{color:var(--ink-soft);margin:8px 0 18px;}

/* Help band */
.va-help{margin-top:40px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:30px 34px;border-radius:var(--radius-lg);color:#fff;background:linear-gradient(120deg,var(--red) 0%,var(--red-dark) 100%);box-shadow:0 18px 40px rgba(153,0,17,.22);}
.va-help h2{font-size:24px;color:#fff;margin:0 0 4px;}
.va-help p{margin:0;color:rgba(255,255,255,.88);font-size:14.5px;max-width:460px;}
.va-help-actions{display:flex;flex-wrap:wrap;gap:10px;}
.va-help-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:var(--radius-pill);background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);color:#fff;font-weight:600;font-size:14px;text-decoration:none;transition:background .2s ease,color .2s ease;}
.va-help-btn svg{width:17px;height:17px;fill:currentColor;}
.va-help-btn:hover{background:#fff;color:var(--red);}
.va-help-btn--wa{background:#fff;color:var(--navy-dark);}

@media (max-width:900px){
  .va-layout{grid-template-columns:1fr;}
  .va-side{position:static;order:-1;}
}
@media (max-width:700px){
  .va-timeline{grid-auto-flow:row;gap:0;}
  .va-timeline li{padding:6px 0 22px 58px;min-height:52px;}
  .va-timeline li::before{top:44px;bottom:0;left:19px;right:auto;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--navy) 0 6px,transparent 6px 11px);}
  .va-timeline li:last-child{padding-bottom:0;}
}
@media (max-width:600px){
  .va-section{padding:20px 16px;}
  .va-docs{grid-template-columns:1fr;}
  .va-upload-btn{display:none;}
  .va-help{padding:24px 20px;}
}
