:root {
  --cg-yellow:#ffbf00;
  --cg-yellow-soft:#fff7d8;
  --cg-ink:#0b0c0f;
  --cg-soft:#f5f6f8;
  --cg-line:#dedfe3;
  --cg-muted:#666b73;
  --cg-green:#16864b;
  --cg-card:#fff;
  --cg-shadow:0 18px 50px rgba(0,0,0,.08)
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth
}

body {
  margin:0;
  background:var(--cg-soft);
  color:var(--cg-ink);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.65
}

.container {
  max-width:1200px
}

.cg-progress {
  position:fixed;
  left:0;
  top:0;
  width:0;
  height:3px;
  background:var(--cg-yellow);
  z-index:99999
}

.required {
  color:#b11f24
}

.text-muted-cg {
  color:var(--cg-muted)
}

.cg-topbar {
  background:#050607;
  color:#fff;
  font-size:.82rem;
  border-bottom:1px solid rgba(255,255,255,.08)
}

.cg-topbar .container {
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px
}

.cg-topbar a {
  color:#fff;
  text-decoration:none
}

.cg-topbar span {
  color:rgba(255,255,255,.62)
}

.cg-header {
  position:sticky;
  top:0;
  z-index:1040;
  background:rgba(9,10,12,.97);
  backdrop-filter:blur(16px);
  box-shadow:0 8px 24px rgba(0,0,0,.14)
}

.cg-header .navbar {
  padding:.68rem 0
}

.cg-header .navbar-brand {
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  text-decoration:none
}

.cg-logo {
  width:42px;
  height:42px;
  object-fit:contain;
  border-radius:10px;
  background:#fff
}

.cg-brand-copy {
  display:flex;
  flex-direction:column;
  line-height:1.05;
  font-weight:800
}

.cg-brand-copy small {
  margin-top:4px;
  color:#aeb2ba;
  font-size:.68rem;
  font-weight:500
}

.cg-header .nav-link {
  color:rgba(255,255,255,.78)!important;
  font-weight:650;
  padding:.78rem .72rem!important;
  border-radius:999px
}

.cg-header .nav-link:hover,.cg-header .nav-link.show {
  color:#111!important;
  background:var(--cg-yellow)
}

.cg-header .dropdown-menu {
  border:0;
  border-radius:16px;
  padding:12px;
  box-shadow:0 18px 60px rgba(0,0,0,.28);
  min-width:320px
}

.cg-header .dropdown-menu.mega {
  width:min(720px,92vw)
}

.mega-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px 12px
}

.cg-header .dropdown-item {
  border-radius:10px;
  padding:.58rem .68rem;
  font-weight:580;
  white-space:normal
}

.cg-header .dropdown-item:hover {
  background:#fff5cc;
  color:#111
}

.cg-header .dropdown-header {
  color:#806000;
  font-weight:800;
  text-transform:uppercase;
  font-size:.68rem;
  letter-spacing:.09em
}

.cg-header-cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:var(--cg-yellow);
  color:#111!important;
  text-decoration:none;
  font-weight:750;
  padding:10px 14px;
  border-radius:999px;
  margin-left:.45rem
}

.cg-header-cta:hover {
  background:#fff;
  color:#111!important
}

.hero {
  position:relative;
  overflow:hidden;
  background:radial-gradient(circle at 82% 18%,rgba(255,191,0,.20),transparent 27%),radial-gradient(circle at 15% 78%,rgba(255,255,255,.07),transparent 26%),linear-gradient(135deg,#07080a 0%,#15181e 48%,#060607 100%);
  color:#fff;
  padding:92px 0 72px
}

.hero:before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.19;
  background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent)
}

.hero .container {
  position:relative
}

.hero-kicker {
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--cg-yellow);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase
}

.hero-kicker:before {
  content:"";
  width:32px;
  height:2px;
  background:currentColor
}

.hero h1 {
  max-width:1050px;
  margin:18px 0 20px;
  font-size:clamp(2.65rem,6.2vw,6rem);
  line-height:.95;
  letter-spacing:-.055em;
  font-weight:880
}

.hero h1 .accent {
  color:var(--cg-yellow)
}

.hero p {
  max-width:860px;
  color:rgba(255,255,255,.78);
  font-size:clamp(1rem,1.55vw,1.17rem);
  line-height:1.78
}

.hero-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px
}

.btn-cg,.btn-cg-outline {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:48px;
  padding:11px 17px;
  border-radius:12px;
  font-weight:720;
  text-decoration:none;
  border:1px solid transparent
}

.btn-cg {
  background:var(--cg-yellow);
  color:#111
}

.btn-cg:hover {
  background:#fff;
  color:#111
}

.btn-cg-outline {
  color:#fff;
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.05)
}

.btn-cg-outline:hover {
  background:#fff;
  color:#111
}

.hero-meta {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  max-width:1000px;
  margin-top:36px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.14)
}

.hero-meta div {
  padding:14px;
  background:rgba(7,8,10,.72)
}

.hero-meta small {
  display:block;
  color:rgba(255,255,255,.52);
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:650;
  font-size:.67rem
}

.hero-meta strong {
  display:block;
  margin-top:5px;
  color:#fff;
  font-size:.95rem;
  font-weight:700
}

.section {
  padding:82px 0
}

.section.white {
  background:#fff
}

.section.soft {
  background:var(--cg-soft)
}

.section.dark {
  background:#0b0d10;
  color:#fff
}

.section.yellow {
  background:var(--cg-yellow)
}

.section-head {
  max-width:880px;
  margin:0 auto 36px;
  text-align:center
}

.section-head.left {
  text-align:left;
  margin-left:0
}

.section-kicker {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#806000;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:800;
  font-size:.71rem
}

.dark .section-kicker {
  color:var(--cg-yellow)
}

.section-head h2 {
  margin:10px 0 0;
  font-size:clamp(2rem,4vw,4rem);
  line-height:1.02;
  letter-spacing:-.045em;
  font-weight:850
}

.section-head p {
  margin:15px auto 0;
  max-width:780px;
  color:var(--cg-muted);
  line-height:1.8
}

.section-head.left p {
  margin-left:0
}

.dark .section-head p {
  color:rgba(255,255,255,.67)
}

.enquiry-top {
  padding:58px 0 72px;
  background:#f1f2f4;
  border-bottom:1px solid var(--cg-line)
}

.enquiry-layout {
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:34px;
  align-items:start
}

.enquiry-copy {
  padding:24px 4px;
  position:sticky;
  top:108px
}

.enquiry-copy .eyebrow {
  color:#806000;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-weight:800
}

.enquiry-copy h2 {
  font-size:clamp(2.05rem,4vw,3.8rem);
  line-height:1;
  letter-spacing:-.05em;
  margin:12px 0 16px;
  font-weight:850
}

.enquiry-copy p {
  color:var(--cg-muted);
  line-height:1.8
}

.enquiry-copy .mini-points {
  display:grid;
  gap:9px;
  margin-top:22px
}

.enquiry-copy .mini-points span {
  display:flex;
  align-items:center;
  gap:9px;
  color:#454950;
  font-size:.93rem
}

.enquiry-copy .mini-points i {
  color:#8c6800
}

.enquiry-card {
  background:#fff;
  border:1px solid #d8dadd;
  border-top:4px solid var(--cg-yellow);
  box-shadow:0 18px 45px rgba(0,0,0,.08);
  padding:28px;
  border-radius:16px
}

.form-head h3 {
  margin:0;
  font-size:1.42rem;
  letter-spacing:-.025em;
  font-weight:780
}

.form-head p {
  margin:5px 0 22px;
  color:var(--cg-muted);
  font-size:.93rem;
  font-weight:400
}

.enquiry-card .form-label {
  font-size:.83rem;
  font-weight:580;
  margin-bottom:7px;
  color:#20242a
}

.enquiry-card .form-control,.enquiry-card .form-select,.cg-select-toggle {
  min-height:48px;
  border:1px solid #d7dade;
  border-radius:10px;
  box-shadow:none;
  background:#fff;
  color:#15171b;
  font-weight:400
}

.enquiry-card .form-control:focus,.enquiry-card .form-select:focus,.cg-custom-select.is-open .cg-select-toggle {
  border-color:var(--cg-yellow);
  box-shadow:0 0 0 3px rgba(255,191,0,.13)
}

.enquiry-card input:valid,.enquiry-card select:valid {
  border-color:#d7dade
}

.enquiry-card input:focus:valid,.enquiry-card select:focus:valid {
  border-color:var(--cg-yellow);
  box-shadow:0 0 0 3px rgba(255,191,0,.13)
}

.cg-custom-select {
  position:relative
}

.cg-select-toggle {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 14px;
  text-align:left
}

.cg-select-toggle span {
  font-weight:400
}

.cg-select-menu {
  display:none;
  position:absolute;
  z-index:40;
  left:0;
  right:0;
  top:calc(100% + 6px);
  max-height:270px;
  overflow:auto;
  background:#fff;
  border:1px solid #d7dade;
  border-radius:12px;
  box-shadow:0 18px 42px rgba(0,0,0,.13);
  padding:6px
}

.cg-custom-select.is-open .cg-select-menu {
  display:block
}

.cg-select-menu button {
  width:100%;
  border:0;
  background:#fff;
  text-align:left;
  padding:10px 12px;
  border-radius:8px;
  font-weight:450;
  color:#17191d
}

.cg-select-menu button:hover,.cg-select-menu button.is-selected {
  background:var(--cg-yellow-soft);
  color:#111
}

.cg-field-error {
  font-size:.75rem;
  color:#b11f24;
  margin-top:4px
}

.cg-custom-select.is-invalid .cg-select-toggle {
  border-color:#b11f24
}

.support-required-options {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:8px
}

.choice {
  position:relative
}

.choice input {
  position:absolute;
  opacity:0;
  pointer-events:none
}

.support-required-options label {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:46px;
  border:1px solid #d7dade;
  background:#fff;
  border-radius:10px;
  cursor:pointer;
  font-weight:580
}

.support-required-options input:checked+label {
  background:var(--cg-yellow);
  border-color:var(--cg-yellow);
  color:#111
}

.travel-support-panel {
  display:none;
  margin-top:10px;
  padding:12px;
  border:1px solid #ffe08a;
  background:#fffaf0;
  border-radius:12px
}

.travel-support-panel.is-visible {
  display:block
}

.support-helper {
  margin:0 0 9px;
  font-size:.78rem;
  color:#5d6066;
  font-weight:400
}

.transport-options {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px
}

.transport-options label {
  min-height:86px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:11px;
  border:1px solid #d8dadd;
  background:#fff;
  border-radius:10px;
  cursor:pointer;
  color:#181a1e
}

.transport-options label strong {
  font-size:.91rem;
  font-weight:650
}

.transport-options label small {
  margin-top:4px;
  color:#73777e;
  line-height:1.35;
  font-size:.72rem;
  font-weight:400
}

.transport-options input:checked+label {
  border-color:#111;
  background:#111;
  color:#fff;
  box-shadow:inset 0 -3px 0 var(--cg-yellow)
}

.transport-options input:checked+label small {
  color:rgba(255,255,255,.68)
}

.stepper {
  display:grid;
  grid-template-columns:42px 1fr 42px;
  min-height:48px;
  border:1px solid #d7dade;
  border-radius:10px;
  overflow:hidden
}

.stepper button {
  border:0;
  background:#fff;
  font-size:1.1rem;
  font-weight:600
}

.stepper button:hover {
  background:var(--cg-yellow-soft)
}

.stepper output {
  display:grid;
  place-items:center;
  border-left:1px solid #e4e6e8;
  border-right:1px solid #e4e6e8;
  font-weight:550
}

.child-ages {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px
}

.submit-btn {
  width:100%;
  min-height:52px;
  border:0;
  border-radius:10px;
  background:var(--cg-yellow);
  color:#111;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px
}

.submit-btn:hover {
  background:#111;
  color:#fff
}

.form-note {
  font-size:.76rem;
  color:#747981;
  line-height:1.55;
  margin-top:10px;
  font-weight:400
}

.content-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  align-items:start
}

.content-card {
  background:#fff;
  border:1px solid var(--cg-line);
  border-radius:16px;
  padding:28px;
  box-shadow:0 12px 34px rgba(0,0,0,.045)
}

.content-card h2,.content-card h3 {
  font-weight:820;
  letter-spacing:-.03em
}

.content-card p,.content-card li {
  color:#565b63;
  line-height:1.85
}

.fact-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px
}

.fact-card {
  background:#fff;
  border:1px solid var(--cg-line);
  padding:22px;
  border-radius:14px
}

.fact-card i {
  font-size:1.25rem;
  color:#946d00
}

.fact-card h3 {
  margin:15px 0 7px;
  font-size:1.08rem;
  font-weight:780
}

.fact-card p {
  margin:0;
  color:var(--cg-muted);
  font-size:.92rem
}

.destination-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px
}

.destination-card {
  background:#fff;
  border:1px solid var(--cg-line);
  border-top:4px solid var(--cg-yellow);
  padding:23px;
  border-radius:14px;
  min-height:245px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:0 12px 30px rgba(0,0,0,.045)
}

.destination-card small {
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:#806000;
  font-weight:760
}

.destination-card h3 {
  font-size:1.32rem;
  margin:8px 0 10px;
  font-weight:800;
  letter-spacing:-.03em
}

.destination-card p {
  color:var(--cg-muted);
  font-size:.91rem;
  line-height:1.7
}

.destination-card .price-line {
  margin:12px 0;
  color:#3d4148;
  font-size:.84rem
}

.destination-card .price-line strong {
  font-size:1.02rem;
  color:#111
}

.duration-tags {
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin:12px 0 16px
}

.duration-tags span {
  font-size:.68rem;
  font-weight:700;
  padding:5px 7px;
  background:#f3f4f5;
  border:1px solid #dddfe2
}

.destination-card a {
  color:#6f5300;
  font-weight:760;
  text-decoration:none
}

.destination-card a:hover {
  text-decoration:underline
}

.package-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px
}

.package-card {
  background:#fff;
  border:1px solid var(--cg-line);
  border-top:5px solid var(--cg-yellow);
  border-radius:16px;
  overflow:hidden;
  box-shadow:var(--cg-shadow)
}

.package-body {
  padding:23px
}

.package-badge {
  display:inline-block;
  color:#765800;
  background:#fff5cf;
  border:1px solid #ffe076;
  border-radius:999px;
  padding:5px 9px;
  font-size:.66rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:760
}

.package-card h3 {
  margin:12px 0 3px;
  font-weight:820;
  letter-spacing:-.03em
}

.package-duration {
  color:var(--cg-muted);
  font-weight:500
}

.price-box {
  margin:17px 0;
  padding:15px;
  background:#fff8db;
  border:1px solid #ffe27c;
  border-radius:12px
}

.price-box small {
  display:block;
  color:#6d6551;
  font-weight:500
}

.price-box strong {
  font-size:1.75rem;
  letter-spacing:-.04em
}

.include-list {
  list-style:none;
  padding:0;
  margin:17px 0
}

.include-list li {
  display:flex;
  gap:9px;
  margin:8px 0;
  color:#444;
  font-size:.92rem
}

.include-list i {
  color:var(--cg-green);
  margin-top:4px
}

.card-actions {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px
}

.card-actions a {
  border-radius:9px;
  min-height:41px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  text-decoration:none;
  font-weight:650;
  font-size:.81rem
}

.card-actions .call {
  background:#111;
  color:#fff
}

.card-actions .wa {
  background:#eaf8ef;
  color:#13733f
}

.card-actions .enquire {
  background:var(--cg-yellow);
  color:#111
}

.itinerary-toggle {
  width:100%;
  margin-top:10px;
  border:1px solid var(--cg-line);
  background:#fff;
  color:#111;
  border-radius:9px;
  min-height:43px;
  font-weight:650;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 13px
}

.itinerary-panel {
  padding:0 23px 21px
}

.itinerary-panel .day {
  padding:13px 0;
  border-top:1px solid var(--cg-line)
}

.itinerary-panel strong {
  display:block;
  margin-bottom:4px;
  font-weight:700
}

.itinerary-panel p {
  margin:0;
  color:var(--cg-muted);
  font-size:.9rem
}

.timeline {
  display:grid;
  gap:12px
}

.timeline .day {
  background:#fff;
  border:1px solid var(--cg-line);
  border-left:5px solid var(--cg-yellow);
  padding:21px;
  border-radius:13px
}

.timeline .day h3 {
  margin:0 0 7px;
  font-weight:800
}

.timeline .day p {
  margin:0;
  color:var(--cg-muted);
  line-height:1.8
}

.notice {
  background:#fff8db;
  border:1px solid #ffe17c;
  border-left:5px solid var(--cg-yellow);
  border-radius:13px;
  padding:18px 20px
}

.notice strong {
  font-weight:720
}

.travel-support {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px
}

.travel-card {
  background:#fff;
  border:1px solid var(--cg-line);
  border-radius:14px;
  padding:21px
}

.travel-card .label {
  display:inline-flex;
  padding:4px 8px;
  border-radius:999px;
  background:#fff4c3;
  color:#735600;
  font-size:.64rem;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.08em
}

.travel-card h3 {
  margin:12px 0 7px;
  font-weight:800
}

.travel-card p {
  margin:0;
  color:var(--cg-muted);
  line-height:1.7
}

.article-wrap {
  max-width:920px;
  margin:0 auto
}

.article-wrap h2 {
  margin:2.25rem 0 .8rem;
  font-size:clamp(1.7rem,3vw,2.55rem);
  font-weight:830;
  letter-spacing:-.035em
}

.article-wrap h3 {
  font-size:1.24rem;
  font-weight:780;
  margin:1.55rem 0 .5rem
}

.article-wrap p,.article-wrap li {
  color:#535861;
  line-height:1.9
}

.article-wrap a {
  color:#6e5200;
  font-weight:700;
  text-decoration-color:#d5a200;
  text-underline-offset:3px
}

.article-toc {
  background:#fff;
  border:1px solid var(--cg-line);
  border-radius:14px;
  padding:21px;
  margin:26px 0
}

.article-toc strong {
  display:block;
  margin-bottom:8px;
  font-weight:760
}

.article-toc a {
  display:block;
  padding:5px 0;
  text-decoration:none
}

.related-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px
}

.related-card {
  background:#fff;
  border:1px solid var(--cg-line);
  padding:21px;
  border-radius:13px
}

.related-card small {
  color:#806000;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:740
}

.related-card h3 {
  font-size:1.08rem;
  margin:9px 0;
  font-weight:780
}

.related-card p {
  color:var(--cg-muted);
  font-size:.9rem
}

.related-card a {
  color:#111;
  font-weight:700;
  text-decoration:none
}

.faq-wrap {
  max-width:930px;
  margin:0 auto
}

.faq-wrap .accordion-item {
  border:0;
  border-bottom:1px solid rgba(255,255,255,.14);
  border-radius:0;
  background:transparent
}

.faq-wrap .accordion-button {
  padding:20px 0;
  background:transparent;
  color:#fff;
  box-shadow:none;
  font-weight:650;
  font-size:1rem
}

.faq-wrap .accordion-button:not(.collapsed) {
  color:var(--cg-yellow)
}

.faq-wrap .accordion-button::after {
  filter:invert(1)
}

.faq-wrap .accordion-body {
  padding:0 36px 20px 0;
  color:rgba(255,255,255,.68);
  line-height:1.8
}

.cg-footer {
  background:#07080a;
  color:#fff;
  border-top:1px solid #202328;
  padding:68px 0 24px
}

.footer-grid {
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr 1fr;
  gap:34px
}

.footer-brand h3 {
  margin:0 0 10px;
  font-weight:800
}

.footer-brand p {
  color:#9da2aa;
  line-height:1.75;
  font-size:.91rem
}

.footer-title {
  color:#fff;
  font-weight:760;
  margin-bottom:13px
}

.footer-links a,.footer-contact a {
  display:block;
  color:#b9bdc5;
  text-decoration:none;
  margin:8px 0;
  font-size:.87rem
}

.footer-links a:hover,.footer-contact a:hover {
  color:var(--cg-yellow)
}

.footer-social {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px
}

.footer-social a {
  width:37px;
  height:37px;
  display:grid;
  place-items:center;
  border:1px solid #2b2e34;
  color:#d0d3d8;
  text-decoration:none;
  margin:0
}

.footer-social a:hover {
  color:#111;
  background:var(--cg-yellow);
  border-color:var(--cg-yellow)
}

.footer-duration {
  margin-top:34px;
  padding-top:28px;
  border-top:1px solid #202328
}

.footer-duration summary {
  cursor:pointer;
  color:#fff;
  font-weight:700;
  list-style:none
}

.footer-duration summary::-webkit-details-marker {
  display:none
}

.footer-duration summary:after {
  content:" +";
  color:var(--cg-yellow)
}

.footer-duration[open] summary:after {
  content:" −"
}

.footer-duration-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  margin-top:20px
}

.footer-duration-group h4 {
  font-size:.9rem;
  color:#fff;
  margin:0 0 8px
}

.footer-duration-group a {
  display:block;
  color:#9298a2;
  text-decoration:none;
  font-size:.79rem;
  margin:5px 0
}

.footer-duration-group a:hover {
  color:var(--cg-yellow)
}

.footer-bottom {
  margin-top:40px;
  padding-top:19px;
  border-top:1px solid #202328;
  display:flex;
  gap:20px;
  justify-content:space-between;
  color:#7f858e;
  font-size:.82rem
}

.floating-actions {
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:1030;
  display:flex;
  flex-direction:column;
  gap:8px
}

.floating-actions a {
  width:47px;
  height:47px;
  display:grid;
  place-items:center;
  background:#111;
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  text-decoration:none;
  box-shadow:0 12px 30px rgba(0,0,0,.16)
}

.floating-actions a.wa {
  background:#128c4a
}

.floating-actions a.enq {
  background:var(--cg-yellow);
  color:#111
}

[data-reveal] {
  opacity:0;
  transform:translateY(13px);
  transition:.55s ease
}

[data-reveal].is-visible {
  opacity:1;
  transform:none
}

@media(max-width:1100px) {
  .destination-grid {
    grid-template-columns:repeat(3,1fr)
  }

  .footer-duration-grid {
    grid-template-columns:repeat(3,1fr)
  }

}

@media(max-width:991.98px) {
  .cg-topbar {
    display:none
  }

  .cg-header .navbar-collapse {
    padding:14px 0
  }

  .cg-header-cta {
    margin:.5rem 0 0
  }

  .cg-header .dropdown-menu,.cg-header .dropdown-menu.mega {
    width:auto;
    min-width:0
  }

  .mega-grid {
    grid-template-columns:1fr
  }

  .hero {
    padding:75px 0 58px
  }

  .hero-meta {
    grid-template-columns:repeat(2,1fr)
  }

  .enquiry-layout {
    grid-template-columns:1fr
  }

  .enquiry-copy {
    position:static;
    padding:0
  }

  .content-grid {
    grid-template-columns:1fr
  }

  .fact-grid {
    grid-template-columns:repeat(2,1fr)
  }

  .destination-grid {
    grid-template-columns:repeat(2,1fr)
  }

  .package-grid {
    grid-template-columns:1fr
  }

  .travel-support {
    grid-template-columns:1fr
  }

  .footer-grid {
    grid-template-columns:repeat(2,1fr)
  }

  .footer-duration-grid {
    grid-template-columns:repeat(2,1fr)
  }

}

@media(max-width:620px) {
  .container {
    padding-left:18px;
    padding-right:18px
  }

  .hero {
    padding:62px 0 50px
  }

  .hero h1 {
    font-size:clamp(2.5rem,15vw,4.2rem)
  }

  .hero-meta {
    grid-template-columns:1fr
  }

  .section {
    padding:64px 0
  }

  .enquiry-top {
    padding:42px 0 56px
  }

  .enquiry-card {
    padding:20px 16px
  }

  .transport-options {
    grid-template-columns:1fr
  }

  .transport-options label {
    min-height:68px
  }

  .child-ages {
    grid-template-columns:1fr
  }

  .fact-grid,.destination-grid,.related-grid,.footer-grid,.footer-duration-grid {
    grid-template-columns:1fr
  }

  .card-actions {
    grid-template-columns:1fr
  }

  .footer-bottom {
    flex-direction:column
  }

  .floating-actions {
    right:10px;
    bottom:10px
  }

  .floating-actions a {
    width:43px;
    height:43px
  }

}

/* MUMBAI SHARP UI V2 */

/* The Mumbai network intentionally uses a square-edged editorial UI. */
body.mumbai-page *, body.mumbai-page *::before, body.mumbai-page *::after {
  border-radius: 0 !important;
}

/* Keep enquiry typography clean and light. */
.enquiry-card, .enquiry-card input, .enquiry-card select, .enquiry-card button, .enquiry-card output, .enquiry-card label {
  font-weight: 400;
}

.enquiry-card .form-head h3 {
  font-weight: 700;
}

.enquiry-card .form-label {
  font-weight: 500;
}

.enquiry-card .transport-options label strong {
  font-weight: 600;
}

.enquiry-card .stepper button, .enquiry-card .stepper output {
  font-weight: 500;
}

.enquiry-card .submit-btn {
  font-weight: 600;
}

/* Four travel choices in the required order: Best options, Bus, Train, Flight. */
.transport-options {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Make Flatpickr's time controls easier to read and tap. */
.flatpickr-time {
  min-height: 58px !important;
  height: 58px !important;
  max-height: 58px !important;
  line-height: 58px !important;
}

.flatpickr-time .numInputWrapper, .flatpickr-time input, .flatpickr-time .flatpickr-am-pm {
  min-height: 58px !important;
  height: 58px !important;
  line-height: 58px !important;
}

.flatpickr-time input {
  font-size: 1.08rem !important;
  font-weight: 500 !important;
}

.flatpickr-time .flatpickr-am-pm {
  font-size: 1rem !important;
  font-weight: 500 !important;
}

@media (max-width: 1100px) and (min-width: 769px) {
  .transport-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 768px) {
  .transport-options {
    grid-template-columns: 1fr;
  }

}
