/* ═══════════════════════════════════
   GLOBAL
═══════════════════════════════════ */
:root {
  --navy: #0a1f44;
  --royal: #1a4b9e;
  --sky: #3b82f6;
  --orange: #e85d2c;
  --cream: #f7f4ee;
  --muted: #5a6e8a;
  --glass: rgba(255,255,255,0.08);
  --glass-border: rgba(255,255,255,0.15);
  --text-white: rgba(255,255,255,0.92);
  --light-border: rgba(15,43,91,0.08);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
a, button, [onclick], .ctrl-btn, .car-btn, .filter-pill, .blog-pill, .dest-card-btn, .gj-trip-btn, .btn-itinerary, .side-dot, .cpanel, .nav-cta, .btn-explore, .booking-submit, .gj-submit-btn, .cta-band-btn, .social-icon, .mobile-nav-link, .hamburger { touch-action: manipulation; }
html { scroll-behavior: smooth; }
body { width: 100%; font-family: 'DM Sans', sans-serif; overflow-x: hidden; }

/* Page visibility */
.page { display: none; }
.page.active { display: block; }
.wa-fab { position: fixed; bottom: 28px; right: 24px; z-index: 9999; display: flex; align-items: center; justify-content: center; background: #25d366; color: #fff; text-decoration: none; width: 56px; height: 56px; border-radius: 50%; box-shadow: 0 6px 24px rgba(37,211,102,0.45); opacity: 0; pointer-events: none; transform: translateY(16px); transition: opacity 0.35s ease, transform 0.35s ease; }
.wa-fab.visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.wa-fab svg { flex-shrink: 0; }

/* ═══════════════════════════════════
   SHARED WHITE NAV (destinations + about)
═══════════════════════════════════ */
.white-nav {
  display: flex; align-items: center; justify-content: space-between;
  padding: 22px 48px; background: #fff;
  border-bottom: 1px solid var(--light-border);
  position: sticky; top: 0; z-index: 100;
}
.white-nav .logo { display: flex; align-items: center; gap: 10px; text-decoration: none; cursor: pointer; }
.white-nav .logo-icon { width: 36px; height: 36px; border: 1.5px solid #0f2b5b; border-radius: 8px; display: flex; align-items: center; justify-content: center; }
.white-nav .logo-icon svg { width: 18px; height: 18px; }
.white-nav .logo-text { font-size: 12px; font-weight: 700; color: #0f2b5b; line-height: 1.25; }
.white-nav .nav-links { display: flex; align-items: center; gap: 32px; list-style: none; }
.white-nav .nav-links a { font-size: 13px; font-weight: 500; color: #0f2b5b; text-decoration: none; opacity: 0.7; transition: opacity 0.2s; cursor: pointer; }
.white-nav .nav-links a:hover { opacity: 1; }
.white-nav .nav-links a.active { opacity: 1; font-weight: 700; border-bottom: 2px solid var(--orange); padding-bottom: 2px; }
.white-nav .nav-cta { background: var(--orange); color: #fff; padding: 9px 22px; border-radius: 50px; font-size: 13px; font-weight: 600; cursor: pointer; transition: all 0.2s; border: none; font-family: 'DM Sans', sans-serif; }
.white-nav .nav-cta:hover { background: #d44e20; }

/* ═══════════════════════════════════
   HOME — HERO
═══════════════════════════════════ */
.hero-wrap { position: relative; height: 100vh; overflow: hidden; z-index: 0; background: #0a1f44; }
.slide-bg { position: absolute; inset: 0; z-index: 0; }
.slide-bg .bg-layer { position: absolute; inset: 0; opacity: 0; transform: scale(1.04); transition: opacity 1.1s ease, transform 6s ease; }
.slide-bg .bg-layer.active { opacity: 1; transform: scale(1); }
.slide-bg::after { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(105deg, rgba(10,31,68,0.82) 0%, rgba(10,31,68,0.55) 45%, rgba(10,31,68,0.15) 100%); }

.hero-nav { position: absolute; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 24px 48px; }
.hero-nav .logo { display: flex; align-items: center; gap: 10px; text-decoration: none; cursor: pointer; }
.hero-nav .logo-icon { width: 38px; height: 38px; border: 1.5px solid rgba(255,255,255,0.5); border-radius: 8px; display: flex; align-items: center; justify-content: center; }
.hero-nav .logo-icon svg { width: 20px; height: 20px; }
.hero-nav .logo-text { font-size: 13px; font-weight: 600; color: var(--text-white); line-height: 1.25; letter-spacing: 0.02em; }
.hero-nav .nav-links { display: flex; align-items: center; gap: 36px; list-style: none; position: absolute; left: 50%; transform: translateX(-50%); }
.hero-nav .nav-links a { font-size: 13px; font-weight: 500; color: var(--text-white); text-decoration: none; letter-spacing: 0.04em; transition: opacity 0.2s; cursor: pointer; }
.hero-nav .nav-links a:hover { opacity: 0.7; }
.hero-nav .nav-right { display: flex; align-items: center; gap: 20px; }
.nav-search { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--glass-border); background: var(--glass); display: flex; align-items: center; justify-content: center; cursor: pointer; color: var(--text-white); backdrop-filter: blur(8px); transition: background 0.2s; }
.nav-search:hover { background: rgba(255,255,255,0.15); }
.hero-nav .nav-cta { background: var(--orange); color: #fff; padding: 9px 22px; border-radius: 50px; font-size: 13px; font-weight: 600; cursor: pointer; transition: all 0.2s; border: none; font-family: 'DM Sans', sans-serif; }
.hero-nav .nav-cta:hover { background: #f97316; transform: translateY(-1px); }

.side-indicator { position: absolute; left: 32px; top: 96px; bottom: 96px; z-index: 20; display: flex; flex-direction: column; align-items: center; }
.side-line { position: absolute; top: 0; bottom: 0; left: 50%; transform: translateX(-50%); width: 1px; background: rgba(255,255,255,0.18); }
.side-track { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; flex: 1; width: 100%; padding: 40px 0; }
.side-dots { display: flex; flex-direction: column; justify-content: space-between; align-items: center; height: 100%; width: 100%; }
.side-dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,0.35); cursor: pointer; transition: all 0.4s cubic-bezier(0.4,0,0.2,1); flex-shrink: 0; }
.side-dot.active { width: 20px; height: 20px; background: rgba(255,255,255,0.9); box-shadow: 0 0 0 6px rgba(255,255,255,0.15), 0 0 20px rgba(255,255,255,0.3); }

.hero-content { position: absolute; left: 72px; bottom: 120px; z-index: 20; max-width: 560px; }
.hero-tag { display: inline-flex; align-items: center; gap: 8px; background: var(--glass); border: 1px solid var(--glass-border); backdrop-filter: blur(12px); color: var(--text-white); font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; padding: 6px 14px; border-radius: 50px; margin-bottom: 20px; }
.hero-tag::before { content: ''; width: 6px; height: 6px; background: var(--sky); border-radius: 50%; }
.hero-destination { font-family: 'Bebas Neue', sans-serif; font-size: clamp(72px, 10vw, 140px); color: var(--text-white); line-height: 0.9; letter-spacing: 0.02em; margin-bottom: 20px; transition: opacity 0.5s ease, transform 0.5s ease; }
.hero-destination.changing { opacity: 0; transform: translateY(20px); }
.hero-desc { font-size: 14px; line-height: 1.7; color: var(--text-white); max-width: 380px; margin-bottom: 32px; transition: opacity 0.5s ease; }
.hero-desc.changing { opacity: 0; }
.btn-explore { display: inline-flex; align-items: center; gap: 12px; background: var(--royal); color: var(--text-white); padding: 14px 28px; border-radius: 50px; font-size: 14px; font-weight: 600; cursor: pointer; transition: all 0.25s; border: none; font-family: 'DM Sans', sans-serif; }
.btn-explore:hover { background: var(--sky); transform: translateX(4px); }
.btn-explore .arrow { width: 28px; height: 28px; background: rgba(255,255,255,0.15); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; }

.cards-panel { position: absolute; right: 0; top: 50%; transform: translateY(-50%); z-index: 20; display: flex; align-items: center; gap: 16px; padding-right: 48px; pointer-events: none; }
.dest-card-hero { width: 200px; border-radius: 20px; overflow: hidden; flex-shrink: 0; position: relative; }
.dest-card-hero:nth-child(1) { height: 310px; }
.dest-card-hero:nth-child(2) { height: 268px; opacity: 0.75; }
.dest-card-hero:nth-child(3) { height: 224px; opacity: 0.5; width: 156px; }
.dest-card-img-hero { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 44px; }
.dest-card-overlay-hero { position: absolute; inset: 0; background: linear-gradient(to top, rgba(10,31,68,0.85) 0%, transparent 50%); }
.dest-card-info-hero { position: absolute; bottom: 0; left: 0; right: 0; padding: 16px; }
.dest-card-name-hero { font-size: 13px; font-weight: 700; color: var(--text-white); }

.bottom-bar { position: absolute; bottom: 32px; right: 48px; z-index: 20; display: flex; align-items: center; gap: 12px; }
.ctrl-btn { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--glass-border); background: var(--glass); backdrop-filter: blur(12px); display: flex; align-items: center; justify-content: center; cursor: pointer; color: var(--text-white); font-size: 16px; transition: all 0.2s; }
.ctrl-btn:hover { background: rgba(255,255,255,0.15); }

/* ═══════════════════════════════════
   HOME — BELOW FOLD
═══════════════════════════════════ */
.below-fold { background: #fff; position: relative; z-index: 6; }
.section-label { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--orange); margin-bottom: 14px; }
.section-title { font-family: 'Playfair Display', serif; font-size: clamp(34px, 4.5vw, 56px); font-weight: 900; color: #0f2b5b; line-height: 1.1; letter-spacing: -0.02em; }

.looking-section { background: #fff; padding: 80px 0 40px; overflow: hidden; }
.looking-header { text-align: center; padding: 0 6%; margin-bottom: 48px; }
.carousel-outer { overflow: hidden; width: 100%; }
.carousel-track { display: flex; gap: 20px; padding: 8px 6%; transition: transform 0.65s cubic-bezier(0.4,0,0.2,1); will-change: transform; }
.cpanel { flex-shrink: 0; width: 220px; height: 300px; border-radius: 22px; overflow: hidden; position: relative; cursor: pointer; transition: transform 0.3s; }
.cpanel:hover { transform: translateY(-6px); }
.cpanel-bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.cpanel-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(8,24,56,0.88) 0%, rgba(8,24,56,0.1) 55%, transparent 100%); }
.cpanel-label { position: absolute; bottom: 20px; left: 18px; right: 18px; font-size: 17px; font-weight: 700; color: #fff; letter-spacing: 0.01em; }
.carousel-arrows { display: flex; justify-content: center; gap: 12px; margin-top: 32px; }
.car-btn { width: 48px; height: 48px; border-radius: 50%; border: 1.5px solid rgba(15,43,91,0.18); background: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; color: #0f2b5b; font-size: 18px; transition: all 0.2s; box-shadow: 0 2px 12px rgba(15,43,91,0.07); }
.car-btn:hover { background: #0f2b5b; color: #fff; border-color: #0f2b5b; }

.tailored-section { background: #fff; padding: 50px 6% 100px; }
.tailored-header { text-align: center; max-width: 780px; margin: 0 auto 64px; }
.tailored-title { font-family: 'Playfair Display', serif; font-size: clamp(40px, 5vw, 64px); font-weight: 900; color: #0f2b5b; line-height: 1.1; letter-spacing: -0.02em; margin-bottom: 20px; }
.tailored-sub { font-size: 17px; line-height: 1.75; color: var(--muted); }
.offerings-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; max-width: 1000px; margin: 0 auto; }
.offering-card { background: #f7f5f0; border-radius: 24px; padding: 40px 36px; border: 1px solid rgba(15,43,91,0.07); transition: transform 0.3s, box-shadow 0.3s; }
.offering-card:hover { transform: translateY(-5px); box-shadow: 0 20px 52px rgba(15,43,91,0.1); }
.offering-icon { width: 56px; height: 56px; background: #eef3ff; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 24px; margin-bottom: 22px; }
.offering-title { font-size: 13px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: #0f2b5b; margin-bottom: 12px; }
.offering-desc { font-size: 15px; line-height: 1.75; color: var(--muted); }

.testimonials-section { background: #fff; padding: 100px 6%; }
.testimonials-header { text-align: center; margin-bottom: 64px; }
.testimonials-title { font-family: 'Playfair Display', serif; font-size: clamp(34px, 4vw, 52px); font-weight: 900; color: #0f2b5b; line-height: 1.1; }
.testimonials-masonry { column-count: 3; column-gap: 40px; max-width: 1280px; margin: 0 auto; }
.tcard { background: #f7f5f0; border-radius: 20px; overflow: hidden; }
.tcard-img-placeholder { width: 100%; aspect-ratio: 4/3; display: flex; align-items: center; justify-content: center; font-size: 56px; }
.tcard-body { padding: 28px 28px 24px; }
.tcard-quote { font-size: 16px; font-weight: 700; line-height: 1.55; color: #0f2b5b; margin-bottom: 14px; }
.tcard-author { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #8a9ab0; }
.tcard-flip { display: flex; flex-direction: column; }
.tcard-flip .tcard-body { order: 1; }
.tcard-flip .tcard-img-placeholder { order: 2; }
.tcard-text { background: #f7f5f0; border-radius: 20px; padding: 36px 32px; }
.tcard-stars-overlay { position: absolute; top: 12px; right: 12px; color: var(--orange); font-size: 12px; background: rgba(255,255,255,0.92); padding: 4px 10px; border-radius: 20px; letter-spacing: 1px; font-weight: 700; }
.tcard-text .tcard-quote { font-size: 17px; }

.ticker-section { background: #f0ebe0; border-top: 1.5px solid #e85d2c; border-bottom: 1.5px solid #e85d2c; overflow: hidden; padding: 24px 0; }
.ticker-track { display: flex; width: max-content; animation: ticker-scroll 60s linear infinite; }
.ticker-item { display: flex; align-items: center; gap: 20px; padding: 0 52px; font-family: 'Bebas Neue', sans-serif; font-size: 30px; letter-spacing: 0.07em; color: #e85d2c; white-space: nowrap; }
.ticker-bullet { width: 11px; height: 11px; background: #e85d2c; border-radius: 2px; flex-shrink: 0; transform: rotate(45deg); }
@keyframes ticker-scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

.cta-band { background: #fff; padding: 72px 6% 80px; text-align: center; }
.cta-band-btn { display: inline-block; background: #e85d2c; color: #fff; padding: 19px 58px; border-radius: 50px; font-size: 17px; font-weight: 700; cursor: pointer; letter-spacing: 0.02em; transition: all 0.2s; box-shadow: 0 4px 24px rgba(232,93,44,0.28); border: none; font-family: 'DM Sans', sans-serif; }
.cta-band-btn:hover { background: #d44e20; transform: translateY(-2px); }

/* ═══════════════════════════════════
   DESTINATIONS PAGE
═══════════════════════════════════ */
.page-header { background: linear-gradient(120deg, #0a1f44 0%, #1a4b9e 60%, #2d6a8a 100%); padding: 72px 6% 80px; position: relative; overflow: hidden; }
.page-header::after { content: 'DESTINATIONS'; position: absolute; right: -20px; top: 50%; transform: translateY(-50%); font-family: 'Bebas Neue', sans-serif; font-size: 160px; color: rgba(255,255,255,0.04); line-height: 1; white-space: nowrap; pointer-events: none; }
.page-header-label { font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--orange); margin-bottom: 14px; }
.page-header-title { font-family: 'Playfair Display', serif; font-size: clamp(40px, 6vw, 72px); font-weight: 900; color: #fff; line-height: 1.05; letter-spacing: -0.02em; margin-bottom: 18px; }
.page-header-sub { font-size: 16px; color: rgba(255,255,255,0.7); max-width: 500px; line-height: 1.7; }

.filter-bar { background: #fff; padding: 28px 6%; border-bottom: 1px solid rgba(15,43,91,0.08); display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.filter-label { font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #8a9ab0; margin-right: 6px; }
.filter-pill { padding: 8px 18px; border-radius: 50px; font-size: 13px; font-weight: 500; border: 1.5px solid rgba(15,43,91,0.15); color: #0f2b5b; background: #fff; cursor: pointer; transition: all 0.2s; }
.filter-pill:hover { border-color: var(--orange); color: var(--orange); }
.filter-pill.active { background: var(--orange); color: #fff; border-color: var(--orange); }
.dest-search-wrap { margin-left: auto; position: relative; display: flex; align-items: center; gap: 8px; border: 1.5px solid rgba(15,43,91,0.18); border-radius: 8px; padding: 7px 14px; background: #fff; transition: border-color 0.2s; }
.dest-search-wrap:focus-within { border-color: var(--orange); }
.dest-search-wrap svg { width: 16px; height: 16px; color: #8a9ab0; flex-shrink: 0; }
.dest-search-input { border: none; outline: none; font-family: 'DM Sans', sans-serif; font-size: 13px; color: #0f2b5b; background: transparent; width: 180px; }
.dest-search-input::placeholder { color: #b0bec9; }
.dest-search-dropdown { display: none; position: absolute; top: calc(100% + 6px); left: -1px; right: -1px; background: #fff; border: 1.5px solid rgba(15,43,91,0.15); border-radius: 10px; box-shadow: 0 8px 28px rgba(15,43,91,0.13); z-index: 200; overflow: hidden; }
.dest-search-dropdown.open { display: block; }
.dest-search-item { padding: 10px 14px; cursor: pointer; transition: background 0.15s; }
.dest-search-item:hover { background: rgba(232,93,44,0.06); }
.dest-search-item-name { font-size: 13px; font-weight: 500; color: #0f2b5b; }
.dest-search-item:hover .dest-search-item-name { color: var(--orange); }
.dest-search-item-region { font-size: 11px; color: #8a9ab0; margin-top: 1px; }

.destinations-section { padding: 60px 6% 80px; background: #fafaf8; }
.section-meta { display: flex; align-items: center; justify-content: space-between; margin-bottom: 40px; }
.section-count { font-size: 13px; color: #8a9ab0; font-weight: 500; }
.dest-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }

.dest-card { background: #fff; border-radius: 24px; overflow: hidden; border: 1px solid rgba(15,43,91,0.07); transition: transform 0.3s, box-shadow 0.3s; cursor: pointer; }
.dest-card:hover { transform: translateY(-6px); box-shadow: 0 24px 56px rgba(15,43,91,0.12); }
.dest-card-img { width: 100%; height: 220px; display: flex; align-items: center; justify-content: center; font-size: 64px; position: relative; overflow: hidden; }
.dest-card-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(10,31,68,0.7) 0%, transparent 55%); }
.dest-card-tag { position: absolute; top: 16px; left: 16px; z-index: 2; background: rgba(232,93,44,0.9); color: #fff; font-size: 10px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 4px 12px; border-radius: 50px; }
.dest-card-rating { position: absolute; top: 16px; right: 16px; z-index: 2; background: rgba(255,255,255,0.18); color: #fff; font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 50px; border: 1px solid rgba(255,255,255,0.25); }
.dest-card-body { padding: 24px 24px 20px; }
.dest-card-name { font-family: 'Playfair Display', serif; font-size: 22px; font-weight: 900; color: #0f2b5b; margin-bottom: 6px; }
.dest-card-region { font-size: 12px; color: #8a9ab0; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 12px; }
.dest-card-desc { font-size: 14px; line-height: 1.65; color: var(--muted); margin-bottom: 20px; }
.dest-card-footer { display: flex; align-items: center; justify-content: space-between; padding-top: 16px; border-top: 1px solid rgba(15,43,91,0.07); }
.dest-card-price { display: flex; flex-direction: column; }
.dest-card-price-label { font-size: 10px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #8a9ab0; }
.dest-card-price-val { font-size: 20px; font-weight: 700; color: #0f2b5b; }
.dest-card-price-val span { font-size: 12px; color: #8a9ab0; font-weight: 400; }
.dest-card-btn { background: #0f2b5b; color: #fff; padding: 10px 20px; border-radius: 50px; font-size: 13px; font-weight: 600; cursor: pointer; transition: all 0.2s; }
.dest-card-btn:hover { background: var(--orange); }
.dest-card-actions { display: flex; align-items: center; gap: 8px; }
.btn-itinerary { background: transparent; color: var(--orange); border: 1.5px solid var(--orange); padding: 9px 16px; border-radius: 50px; font-size: 13px; font-weight: 600; cursor: pointer; transition: all 0.2s; font-family: 'DM Sans', sans-serif; }
.btn-itinerary:hover { background: var(--orange); color: #fff; }

/* CTA / BOOKING */
.cta-section { background: #0f2b5b; padding: 80px 6%; position: relative; overflow: hidden; }
.cta-section::before { content: ''; position: absolute; top: -80px; right: -80px; width: 400px; height: 400px; border-radius: 50%; background: rgba(232,93,44,0.08); pointer-events: none; }
.cta-section::after { content: ''; position: absolute; bottom: -100px; left: 10%; width: 300px; height: 300px; border-radius: 50%; background: rgba(26,75,158,0.3); pointer-events: none; }
.cta-inner { max-width: 900px; margin: 0 auto; text-align: center; position: relative; z-index: 2; }
.cta-icon { font-size: 36px; margin-bottom: 20px; display: block; }
.cta-title { font-family: 'Playfair Display', serif; font-size: clamp(32px, 5vw, 56px); font-weight: 900; color: #fff; line-height: 1.1; margin-bottom: 16px; letter-spacing: -0.02em; }
.cta-sub { font-size: 16px; color: rgba(255,255,255,0.65); margin-bottom: 48px; }

.booking-bar { background: #fff; border-radius: 20px; box-shadow: 0 24px 64px rgba(0,0,0,0.28); overflow: hidden; }
.booking-row { display: flex; align-items: stretch; border-bottom: 1px solid rgba(15,43,91,0.08); }
.booking-field { flex: 1; padding: 20px 24px; border-right: 1px solid rgba(15,43,91,0.08); min-width: 0; }
.booking-field:last-child { border-right: none; }
.booking-field-label { font-size: 10px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #8a9ab0; margin-bottom: 7px; display: flex; align-items: center; gap: 3px; }
.required-star { color: var(--orange); font-size: 13px; line-height: 1; }
.booking-field input { border: none; outline: none; background: transparent; font-family: 'DM Sans', sans-serif; font-size: 15px; font-weight: 500; color: #0f2b5b; width: 100%; min-width: 0; }
.booking-field input::placeholder { color: #b0bec8; font-weight: 400; font-size: 14px; }
.booking-field.people select, #destInput { appearance: none; -webkit-appearance: none; font-family: 'DM Sans', sans-serif; font-size: 14px; font-weight: 600; color: #0f2b5b; width: 100%; cursor: pointer; border: 1.5px solid rgba(15,43,91,0.22); border-radius: 10px; padding: 8px 32px 8px 12px; background: #f7f9fc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230f2b5b' stroke-width='2.5' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 10px center; outline: none; transition: border-color 0.2s; }
.booking-field.people select:focus, #destInput:focus { border-color: var(--orange); }
#destCustom { border: 1.5px solid rgba(15,43,91,0.22); border-radius: 10px; padding: 8px 12px; font-family: 'DM Sans', sans-serif; font-size: 14px; font-weight: 500; color: #0f2b5b; background: #f7f9fc; outline: none; transition: border-color 0.2s; width: 100%; box-sizing: border-box; }
#destCustom:focus { border-color: var(--orange); }
#destCustom::placeholder { color: #b0bec8; font-weight: 400; }
.booking-field.error { background: #fff8f6; }
.booking-field.error input { border-bottom: 2px solid var(--orange); }
.booking-field.error select { border-color: var(--orange) !important; }
.field-error-msg { font-size: 11px; color: var(--orange); margin-top: 5px; font-weight: 600; display: none; }
.booking-field.error .field-error-msg { display: block; }
.booking-cta-row { padding: 28px 32px; text-align: center; background: #fafbff; }
.booking-submit { background: var(--orange); color: #fff; border: none; padding: 18px 72px; border-radius: 14px; font-family: 'DM Sans', sans-serif; font-size: 16px; font-weight: 700; cursor: pointer; transition: all 0.2s; letter-spacing: 0.02em; box-shadow: 0 6px 24px rgba(232,93,44,0.45); }
.booking-submit:hover { background: #d44e20; transform: translateY(-2px); }
.booking-submit:disabled { background: #aab8c2; cursor: not-allowed; transform: none; box-shadow: none; }
.booking-success { display: none; margin-top: 24px; background: rgba(255,255,255,0.07); border: 1.5px solid rgba(255,255,255,0.22); border-radius: 16px; padding: 28px 36px; text-align: center; }
.booking-success.visible { display: block; animation: fadeInUp 0.45s ease forwards; }
.booking-success-icon { font-size: 36px; margin-bottom: 14px; display: block; }
.booking-success-text { font-size: 16px; line-height: 1.8; color: rgba(255,255,255,0.9); font-weight: 500; max-width: 580px; margin: 0 auto; }
.booking-success-text strong { color: #fff; font-weight: 700; }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }

/* ═══════════════════════════════════
   ABOUT PAGE
═══════════════════════════════════ */
.about-hero {
  background: linear-gradient(120deg, #0a1f44 0%, #1a4b9e 55%, #2d6a8a 100%);
  padding: 80px 6% 90px; position: relative; overflow: hidden;
}
.about-hero::before {
  content: 'ABOUT'; position: absolute;
  right: -10px; top: 50%; transform: translateY(-50%);
  font-family: 'Bebas Neue', sans-serif; font-size: 200px;
  color: rgba(255,255,255,0.04); line-height: 1; pointer-events: none;
}
.about-hero-label { font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--orange); margin-bottom: 16px; }
.about-hero-title { font-family: 'Playfair Display', serif; font-size: clamp(42px, 6vw, 76px); font-weight: 900; color: #fff; line-height: 1.0; letter-spacing: -0.02em; margin-bottom: 28px; }
.about-hero-title em { font-style: italic; color: rgba(255,255,255,0.75); }
.about-hero-sub { font-size: 17px; line-height: 1.8; color: rgba(255,255,255,0.72); max-width: 560px; }

.founder-section { padding: 96px 6%; background: #fff; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; max-width: 1200px; margin: 0 auto; }
.founder-label { font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--orange); margin-bottom: 18px; }
.founder-title { font-family: 'Playfair Display', serif; font-size: clamp(32px, 4vw, 48px); font-weight: 900; color: #0f2b5b; line-height: 1.1; letter-spacing: -0.02em; margin-bottom: 28px; }
.founder-body { font-size: 16px; line-height: 1.85; color: var(--muted); }
.founder-body p + p { margin-top: 20px; }
.founder-body strong { color: #0f2b5b; font-weight: 600; }
.founder-quote-card { background: var(--cream); border-radius: 28px; padding: 48px 44px; position: relative; overflow: hidden; }
.founder-quote-card::before { content: '"'; font-family: 'Playfair Display', serif; font-size: 180px; line-height: 0.8; color: rgba(232,93,44,0.1); position: absolute; top: 20px; left: 24px; pointer-events: none; }
.founder-quote-text { font-family: 'Playfair Display', serif; font-size: clamp(20px, 2.5vw, 28px); font-style: italic; font-weight: 700; color: #0f2b5b; line-height: 1.45; position: relative; z-index: 1; margin-bottom: 28px; }
.founder-stat-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; border-top: 1px solid rgba(15,43,91,0.1); padding-top: 28px; }
.founder-stat { text-align: center; }
.founder-stat-num { font-family: 'Bebas Neue', sans-serif; font-size: 40px; color: var(--orange); line-height: 1; margin-bottom: 4px; }
.founder-stat-label { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #8a9ab0; }

.motto-section { background: #0f2b5b; padding: 80px 6%; text-align: center; position: relative; overflow: hidden; }
.motto-section::before { content: ''; position: absolute; top: -120px; left: -80px; width: 500px; height: 500px; border-radius: 50%; background: rgba(232,93,44,0.06); pointer-events: none; }
.motto-section::after { content: ''; position: absolute; bottom: -100px; right: -60px; width: 400px; height: 400px; border-radius: 50%; background: rgba(26,75,158,0.25); pointer-events: none; }
.motto-inner { position: relative; z-index: 2; max-width: 800px; margin: 0 auto; }
.motto-label { font-size: 11px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--orange); margin-bottom: 20px; }
.motto-text { font-family: 'Bebas Neue', sans-serif; font-size: clamp(52px, 9vw, 110px); color: #fff; line-height: 0.95; letter-spacing: 0.04em; }
.motto-text span { color: var(--orange); }
.motto-sub { font-size: 16px; color: rgba(255,255,255,0.55); margin-top: 28px; line-height: 1.7; }

.beliefs-section { background: var(--cream); padding: 96px 6%; }
.beliefs-header { text-align: center; margin-bottom: 64px; }
.beliefs-label { font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--orange); margin-bottom: 16px; }
.beliefs-title { font-family: 'Playfair Display', serif; font-size: clamp(34px, 4.5vw, 54px); font-weight: 900; color: #0f2b5b; line-height: 1.1; letter-spacing: -0.02em; }
.beliefs-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 24px; max-width: 1100px; margin: 0 auto; }
.beliefs-grid .belief-card:nth-child(1) { grid-column: 1 / 3; }
.beliefs-grid .belief-card:nth-child(2) { grid-column: 3 / 5; }
.beliefs-grid .belief-card:nth-child(3) { grid-column: 5 / 7; }
.beliefs-grid .belief-card:nth-child(4) { grid-column: 2 / 4; }
.beliefs-grid .belief-card:nth-child(5) { grid-column: 4 / 6; }
.belief-card { background: #fff; border-radius: 24px; padding: 40px 36px; border: 1px solid rgba(15,43,91,0.07); transition: transform 0.3s, box-shadow 0.3s; position: relative; overflow: hidden; }
.belief-card:hover { transform: translateY(-6px); box-shadow: 0 20px 52px rgba(15,43,91,0.1); }
.belief-card::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 4px; background: var(--orange); transform: scaleX(0); transform-origin: left; transition: transform 0.3s ease; }
.belief-card:hover::after { transform: scaleX(1); }
.belief-number { font-family: 'Bebas Neue', sans-serif; font-size: 56px; color: rgba(232,93,44,0.12); line-height: 1; margin-bottom: 16px; }
.belief-icon { width: 52px; height: 52px; background: #eef3ff; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 22px; margin-bottom: 20px; }
.belief-title { font-size: 16px; font-weight: 700; color: #0f2b5b; margin-bottom: 12px; letter-spacing: -0.01em; }
.belief-desc { font-size: 14px; line-height: 1.75; color: var(--muted); }

.team-section { background: #fff; padding: 96px 6%; text-align: center; }
.team-label { font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--orange); margin-bottom: 16px; }
.team-title { font-family: 'Playfair Display', serif; font-size: clamp(32px, 4vw, 48px); font-weight: 900; color: #0f2b5b; line-height: 1.1; margin-bottom: 14px; }
.team-sub { font-size: 16px; color: var(--muted); max-width: 480px; margin: 0 auto 56px; line-height: 1.7; }
.founders-row { display: flex; justify-content: center; gap: 32px; flex-wrap: wrap; }
.founder-chip { display: flex; flex-direction: column; align-items: center; gap: 14px; width: 160px; }
.founder-avatar { width: 80px; height: 80px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: 'Bebas Neue', sans-serif; font-size: 28px; color: #fff; letter-spacing: 0.05em; }
.av-1 { background: linear-gradient(135deg,#1a4b9e,#2d6a8a); }
.av-2 { background: linear-gradient(135deg,#e85d2c,#c4703a); }
.av-3 { background: linear-gradient(135deg,#1a5c36,#2a8c55); }
.av-4 { background: linear-gradient(135deg,#4a1a7e,#8b4aae); }
.founder-chip-name { font-size: 14px; font-weight: 700; color: #0f2b5b; }
.founder-chip-role { font-size: 11px; color: #8a9ab0; font-weight: 500; letter-spacing: 0.04em; }

/* ═══════════════════════════════════
   SHARED FOOTER
═══════════════════════════════════ */
.site-footer { background: #f0ebe0; border-top: 1px solid rgba(232,93,44,0.3); padding: 64px 6% 40px; }
.footer-inner { display: flex; justify-content: space-between; align-items: flex-start; max-width: 1200px; margin: 0 auto; gap: 60px; }
.footer-brand { max-width: 360px; }
.footer-logo-box { display: inline-flex; align-items: center; gap: 12px; border: 1.5px solid #0f2b5b; border-radius: 8px; padding: 11px 18px; margin-bottom: 28px; }
.footer-logo-svg { width: 26px; height: 26px; }
.footer-logo-text { font-size: 13px; font-weight: 700; color: #0f2b5b; line-height: 1.3; }
.footer-tagline { font-size: 14px; line-height: 1.8; color: var(--muted); max-width: 320px; }
.footer-right { text-align: right; }
.footer-social-title { font-size: 13px; font-weight: 800; letter-spacing: 0.15em; text-transform: uppercase; color: #0f2b5b; margin-bottom: 22px; }
.footer-socials { display: flex; gap: 10px; justify-content: flex-end; margin-bottom: 28px; }
.social-icon { width: 46px; height: 46px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 17px; font-weight: 700; text-decoration: none; color: #fff; transition: transform 0.2s, opacity 0.2s; }
.social-icon:hover { transform: translateY(-3px); opacity: 0.88; }
.si-ig { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
.si-li { background: #0a66c2; }
.footer-contact { font-size: 15px; color: #0f2b5b; font-weight: 600; margin-bottom: 8px; }
.footer-offices { font-size: 13px; color: var(--muted); }
.footer-bottom { text-align: center; margin-top: 52px; padding-top: 24px; border-top: 1px solid rgba(15,43,91,0.1); font-size: 13px; color: #8a9ab0; }
/* Article reader page */
.article-back-btn { display:inline-flex; align-items:center; gap:8px; background:none; border:1.5px solid rgba(15,43,91,0.2); border-radius:50px; padding:9px 18px; font-size:13px; font-weight:600; color:#0f2b5b; cursor:pointer; font-family:'DM Sans',sans-serif; margin:32px 0 0 0; transition:border-color 0.2s,background 0.2s; }
.article-back-btn:hover { background:#f0f3f8; }
.article-hero-band { background:linear-gradient(135deg,#0f2b5b,#1a4a8a); padding:56px 32px 48px; margin-top:16px; position:relative; }
.article-hero-band::before { content:''; position:absolute; inset:0; background:linear-gradient(to bottom, rgba(10,25,55,0.55) 0%, rgba(10,25,55,0.72) 100%); pointer-events:none; }
.article-hero-band > * { position:relative; z-index:1; }
.article-hero-cat { font-size:11px; font-weight:800; letter-spacing:0.15em; text-transform:uppercase; color:rgba(255,255,255,0.6); margin-bottom:14px; }
.article-hero-title { font-size:clamp(24px,5vw,42px); font-weight:800; color:#fff; line-height:1.2; margin-bottom:20px; }
.article-hero-meta { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.article-author-dot { width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:800; color:#fff; flex-shrink:0; }
.article-meta-text { font-size:13px; color:rgba(255,255,255,0.75); }
.article-meta-text strong { color:#fff; font-weight:700; display:block; }
.article-body { max-width:720px; margin:0 auto; padding:48px 32px 64px; }
.article-body h2 { font-size:22px; font-weight:800; color:#0f2b5b; margin:0 0 20px; line-height:1.3; }
.article-body p { font-size:16px; line-height:1.85; color:#3a4a5c; margin:0 0 22px; }
@media(max-width:768px) { .article-hero-band{padding:40px 20px 36px;} .article-body{padding:36px 20px 48px;} }

/* ═══════════════════════════════════
   BLOG PAGE
═══════════════════════════════════ */
.blog-page-header{background:linear-gradient(120deg,#0a1f44 0%,#1a4b9e 60%,#2d6a8a 100%);padding:72px 6% 80px;position:relative;overflow:hidden;}
.blog-page-header::after{content:'BLOG';position:absolute;right:-10px;top:50%;transform:translateY(-50%);font-family:'Bebas Neue',sans-serif;font-size:200px;color:rgba(255,255,255,0.04);line-height:1;white-space:nowrap;pointer-events:none;}
.blog-controls{background:#fff;padding:24px 6%;border-bottom:1px solid rgba(15,43,91,0.08);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.blog-search-wrap{position:relative;}
.blog-search-wrap svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:#8a9ab0;pointer-events:none;}
.blog-search-input{padding:10px 16px 10px 40px;border:1.5px solid rgba(15,43,91,0.15);border-radius:50px;font-family:'DM Sans',sans-serif;font-size:13px;color:#0f2b5b;outline:none;background:#fafaf8;transition:border-color 0.2s,background 0.2s;width:260px;}
.blog-search-input:focus{border-color:var(--orange);background:#fff;}
.blog-search-input::placeholder{color:#b0bec8;}
.blog-filter-pills{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.blog-pill{padding:7px 16px;border-radius:50px;font-size:13px;font-weight:500;border:1.5px solid rgba(15,43,91,0.15);color:#0f2b5b;background:#fff;cursor:pointer;transition:all 0.2s;}
.blog-pill:hover{border-color:var(--orange);color:var(--orange);}
.blog-pill.active{background:var(--orange);color:#fff;border-color:var(--orange);}
.blog-body{background:#fafaf8;padding:56px 6% 80px;}
.blog-featured-post{background:#fff;border-radius:28px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(15,43,91,0.07);box-shadow:0 8px 40px rgba(15,43,91,0.07);margin-bottom:56px;transition:transform 0.3s,box-shadow 0.3s;cursor:pointer;}
.blog-featured-post:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(15,43,91,0.12);}
.blog-feat-img{min-height:400px;display:flex;align-items:center;justify-content:center;font-size:88px;position:relative;}
.blog-feat-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(10,31,68,0.12) 0%,transparent 60%);}
.blog-feat-badge{position:absolute;top:20px;left:20px;z-index:2;background:var(--orange);color:#fff;font-size:10px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;padding:5px 14px;border-radius:50px;}
.blog-feat-body{padding:48px 44px;display:flex;flex-direction:column;justify-content:center;}
.blog-feat-cat{font-size:11px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--orange);margin-bottom:16px;}
.blog-feat-title{font-family:'Playfair Display',serif;font-size:clamp(24px,2.8vw,36px);font-weight:900;color:#0f2b5b;line-height:1.15;margin-bottom:18px;}
.blog-feat-excerpt{font-size:15px;line-height:1.75;color:var(--muted);margin-bottom:28px;}
.blog-feat-meta{display:flex;align-items:center;gap:14px;margin-bottom:28px;}
.blog-author-dot{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0;}
.blog-meta-text{font-size:12px;color:#8a9ab0;line-height:1.5;}
.blog-meta-text strong{color:#0f2b5b;font-weight:600;display:block;font-size:13px;}
.blog-read-btn{display:inline-flex;align-items:center;gap:10px;background:#0f2b5b;color:#fff;padding:12px 24px;border-radius:50px;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.2s;border:none;font-family:'DM Sans',sans-serif;width:fit-content;}
.blog-read-btn:hover{background:var(--orange);}
.blog-section-label-row{font-size:12px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:#8a9ab0;display:flex;align-items:center;gap:16px;margin-bottom:28px;}
.blog-section-label-row::after{content:'';flex:1;height:1px;background:rgba(15,43,91,0.1);}
.blog-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.blog-card{background:#fff;border-radius:22px;overflow:hidden;border:1px solid rgba(15,43,91,0.07);transition:transform 0.3s,box-shadow 0.3s;cursor:pointer;}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 20px 52px rgba(15,43,91,0.1);}
.blog-card-img{height:200px;display:flex;align-items:center;justify-content:center;font-size:56px;position:relative;overflow:hidden;}
.blog-card-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(10,31,68,0.6) 0%,transparent 55%);}
.blog-card-cat-badge{position:absolute;top:14px;left:14px;z-index:2;background:rgba(232,93,44,0.92);color:#fff;font-size:9px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:3px 10px;border-radius:50px;}
.blog-card-read-time{position:absolute;bottom:14px;right:14px;z-index:2;background:rgba(255,255,255,0.18);color:#fff;font-size:11px;font-weight:600;padding:3px 10px;border-radius:50px;border:1px solid rgba(255,255,255,0.25);}
.blog-card-body{padding:22px 22px 20px;}
.blog-card-cat{font-size:10px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--orange);margin-bottom:10px;}
.blog-card-title{font-family:'Playfair Display',serif;font-size:18px;font-weight:900;color:#0f2b5b;line-height:1.3;margin-bottom:10px;}
.blog-card-excerpt{font-size:13px;line-height:1.65;color:var(--muted);margin-bottom:18px;}
.blog-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid rgba(15,43,91,0.07);}
.blog-card-author{font-size:11px;color:#8a9ab0;font-weight:500;}
.blog-card-date{font-size:11px;color:#b0bec8;}
.blog-no-results{text-align:center;padding:80px 20px;}
.blog-no-results-icon{font-size:48px;margin-bottom:16px;}
.blog-no-results-text{font-size:16px;font-weight:500;color:#8a9ab0;}

/* ═══════════════════════════════════
   GROUP JOURNEYS PAGE
═══════════════════════════════════ */
.gj-page-header{background:linear-gradient(120deg,#0a1f44 0%,#1a4b9e 60%,#2d6a8a 100%);padding:72px 6% 80px;position:relative;overflow:hidden;}
.gj-page-header::after{content:'JOURNEYS';position:absolute;right:-10px;top:50%;transform:translateY(-50%);font-family:'Bebas Neue',sans-serif;font-size:160px;color:rgba(255,255,255,0.04);line-height:1;white-space:nowrap;pointer-events:none;}
.gj-hero-badges{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px;}
.gj-hero-badge{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);color:rgba(255,255,255,0.9);padding:8px 18px;border-radius:50px;font-size:13px;font-weight:500;}
.gj-trips-section{padding:72px 6% 80px;background:#fafaf8;}
.gj-section-sub{font-size:16px;line-height:1.7;color:var(--muted);max-width:560px;margin-top:12px;}
.gj-trips-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
.gj-trip-card{background:#fff;border-radius:24px;overflow:hidden;border:1px solid rgba(15,43,91,0.07);display:grid;grid-template-columns:220px 1fr;transition:transform 0.3s,box-shadow 0.3s;cursor:pointer;}
.gj-trip-card:hover{transform:translateY(-5px);box-shadow:0 20px 56px rgba(15,43,91,0.11);}
.gj-trip-img{display:flex;align-items:center;justify-content:center;font-size:58px;position:relative;overflow:hidden;min-height:220px;}
.gj-trip-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,transparent 65%,rgba(10,31,68,0.08));}
.gj-trip-status{position:absolute;top:14px;left:14px;z-index:2;font-size:9px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;padding:4px 12px;border-radius:50px;}
.gj-status-open{background:rgba(22,163,74,0.92);color:#fff;}
.gj-status-filling{background:rgba(232,93,44,0.92);color:#fff;}
.gj-status-waitlist{background:rgba(100,116,139,0.88);color:#fff;}
.gj-trip-body{padding:26px 26px 22px;display:flex;flex-direction:column;justify-content:space-between;}
.gj-trip-dest{font-size:10px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--orange);margin-bottom:7px;}
.gj-trip-title{font-family:'Playfair Display',serif;font-size:19px;font-weight:900;color:#0f2b5b;line-height:1.2;margin-bottom:10px;}
.gj-trip-desc{font-size:13px;line-height:1.65;color:var(--muted);margin-bottom:16px;flex:1;}
.gj-trip-details{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:16px;}
.gj-trip-detail{font-size:12px;color:#0f2b5b;font-weight:500;display:flex;align-items:center;gap:5px;}
.gj-trip-detail span{color:#8a9ab0;font-weight:400;}
.gj-trip-footer{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid rgba(15,43,91,0.07);}
.gj-trip-price{font-size:20px;font-weight:700;color:#0f2b5b;}
.gj-trip-price small{font-size:12px;color:#8a9ab0;font-weight:400;}
.gj-trip-btn{background:#0f2b5b;color:#fff;padding:9px 20px;border-radius:50px;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.2s;border:none;font-family:'DM Sans',sans-serif;}
.gj-trip-btn:hover{background:var(--orange);}
.gj-trip-actions{display:flex;align-items:center;gap:8px;}
.gj-how-section{background:#fff;padding:80px 6%;}
.gj-how-header{text-align:center;margin-bottom:64px;}
.gj-steps-row{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;max-width:1100px;margin:0 auto;position:relative;}
.gj-steps-row::before{content:'';position:absolute;top:36px;left:calc(12.5% + 20px);right:calc(12.5% + 20px);height:1px;background:repeating-linear-gradient(90deg,rgba(15,43,91,0.15) 0px,rgba(15,43,91,0.15) 8px,transparent 8px,transparent 18px);}
.gj-step{text-align:center;position:relative;z-index:1;}
.gj-step-circle{width:72px;height:72px;border-radius:50%;background:#eef3ff;border:2px solid rgba(15,43,91,0.1);display:flex;align-items:center;justify-content:center;margin:0 auto 22px;font-size:28px;transition:all 0.3s;}
.gj-step:hover .gj-step-circle{background:var(--orange);border-color:var(--orange);transform:scale(1.08);}
.gj-step-title{font-size:15px;font-weight:700;color:#0f2b5b;margin-bottom:10px;}
.gj-step-desc{font-size:13px;line-height:1.65;color:var(--muted);}
.gj-testimonials-section{background:var(--cream);padding:80px 6%;}
.gj-testimonials-header{text-align:center;margin-bottom:48px;}
.gj-t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1100px;margin:0 auto;}
.gj-t-card{background:#fff;border-radius:22px;padding:36px 32px;border:1px solid rgba(15,43,91,0.07);transition:transform 0.3s,box-shadow 0.3s;}
.gj-t-card:hover{transform:translateY(-4px);box-shadow:0 16px 44px rgba(15,43,91,0.09);}
.gj-t-stars{color:var(--orange);font-size:15px;margin-bottom:18px;letter-spacing:2px;}
.gj-t-quote{font-size:15px;line-height:1.75;color:#0f2b5b;font-weight:600;margin-bottom:22px;}
.gj-t-author-row{display:flex;align-items:center;gap:12px;}
.gj-t-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0;}
.gj-t-name{font-size:13px;font-weight:700;color:#0f2b5b;}
.gj-t-trip{font-size:11px;color:#8a9ab0;font-weight:500;}
.gj-enquiry-section{background:#0f2b5b;padding:80px 6%;position:relative;overflow:hidden;}
.gj-enquiry-section::before{content:'';position:absolute;top:-100px;right:-80px;width:500px;height:500px;border-radius:50%;background:rgba(232,93,44,0.07);pointer-events:none;}
.gj-enquiry-section::after{content:'';position:absolute;bottom:-80px;left:5%;width:350px;height:350px;border-radius:50%;background:rgba(26,75,158,0.28);pointer-events:none;}
.gj-enquiry-inner{max-width:700px;margin:0 auto;position:relative;z-index:2;}
.gj-enquiry-label{font-size:11px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--orange);margin-bottom:14px;}
.gj-enquiry-title{font-family:'Playfair Display',serif;font-size:clamp(32px,4.5vw,52px);font-weight:900;color:#fff;line-height:1.1;letter-spacing:-0.02em;margin-bottom:14px;}
.gj-enquiry-sub{font-size:15px;color:rgba(255,255,255,0.6);margin-bottom:44px;line-height:1.7;}
.gj-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.gj-form-full{grid-column:1/-1;}
.gj-form-field{display:flex;flex-direction:column;gap:7px;}
.gj-form-field label{font-size:10px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.5);}
.gj-form-field input,.gj-form-field select,.gj-form-field textarea{background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.15);border-radius:12px;padding:13px 16px;font-family:'DM Sans',sans-serif;font-size:14px;color:#fff;outline:none;transition:border-color 0.2s,background 0.2s;resize:none;}
.gj-form-field input::placeholder,.gj-form-field textarea::placeholder{color:rgba(255,255,255,0.3);}
.gj-form-field input:focus,.gj-form-field select:focus,.gj-form-field textarea:focus{border-color:var(--orange);background:rgba(255,255,255,0.1);}
.gj-form-field select{appearance:none;-webkit-appearance:none;cursor:pointer;}
.gj-form-field select option{background:#0f2b5b;color:#fff;}
.gj-form-field.gj-has-error input,.gj-form-field.gj-has-error select{border-color:var(--orange);}
.gj-field-err{font-size:11px;color:#ff9980;font-weight:600;margin-top:2px;display:none;}
.gj-form-field.gj-has-error .gj-field-err{display:block;}
.gj-submit-row{grid-column:1/-1;margin-top:8px;}
.gj-submit-btn{width:100%;background:var(--orange);color:#fff;border:none;padding:18px;border-radius:14px;font-family:'DM Sans',sans-serif;font-size:16px;font-weight:700;cursor:pointer;transition:all 0.2s;letter-spacing:0.02em;box-shadow:0 6px 24px rgba(232,93,44,0.4);}
.gj-submit-btn:hover{background:#d44e20;transform:translateY(-2px);}
.gj-form-success{display:none;text-align:center;padding:48px 20px;}
.gj-form-success.visible{display:block;animation:fadeInUp 0.45s ease forwards;}
.gj-success-icon{font-size:44px;margin-bottom:16px;}
.gj-success-text{font-size:16px;line-height:1.8;color:rgba(255,255,255,0.85);font-weight:500;}
.gj-success-text strong{color:#fff;}

/* ═══════════════════════════════════
   PHONE INPUT COMBO — booking form (light)
═══════════════════════════════════ */
.phone-input-combo{display:flex;align-items:center;width:100%;}
.phone-country-select{flex-shrink:0;border:none;border-right:1.5px solid rgba(15,43,91,0.18);background:transparent;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;color:#0f2b5b;cursor:pointer;outline:none;padding:2px 8px 2px 0;appearance:none;-webkit-appearance:none;margin-right:10px;max-width:140px;}
.phone-number-input{border:none;outline:none;background:transparent;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:500;color:#0f2b5b;flex:1;min-width:0;width:auto;}
.phone-number-input::placeholder{color:#b0bec8;font-weight:400;font-size:14px;}
.booking-field.error .phone-number-input{border-bottom:2px solid var(--orange);}
/* ═══════════════════════════════════
   PHONE INPUT COMBO — group journeys form (dark)
═══════════════════════════════════ */
.gj-phone-combo{display:flex;align-items:stretch;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.15);border-radius:12px;overflow:hidden;transition:border-color 0.2s,background 0.2s;}
.gj-phone-combo:focus-within{border-color:var(--orange);background:rgba(255,255,255,0.1);}
.gj-phone-combo select,.gj-phone-combo input{background:transparent!important;border:none!important;border-radius:0!important;outline:none;}
.gj-phone-code-select{padding:13px 10px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;color:#fff;cursor:pointer;appearance:none;-webkit-appearance:none;flex-shrink:0;border-right:1px solid rgba(255,255,255,0.15)!important;}
.gj-phone-code-select option{background:#0f2b5b;color:#fff;}
.gj-phone-number-input{padding:13px 16px;font-family:'DM Sans',sans-serif;font-size:14px;color:#fff;flex:1;min-width:0;width:auto;}
.gj-phone-number-input::placeholder{color:rgba(255,255,255,0.3);}
.gj-form-field.gj-has-error .gj-phone-combo{border-color:var(--orange);}

/* ═══════════════════════════════════
   HAMBURGER & MOBILE DRAWER
═══════════════════════════════════ */
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:6px; background:none; border:none; z-index:200; flex-shrink:0; }
.hamburger span { display:block; width:22px; height:2px; border-radius:2px; transition:all 0.3s; }
.hero-nav .hamburger span { background:rgba(255,255,255,0.9); }
.white-nav .hamburger span { background:#0f2b5b; }
.mobile-nav-drawer { display:none; position:fixed; inset:0; background:rgba(10,31,68,0.97); z-index:300; flex-direction:column; align-items:center; justify-content:center; gap:28px; }
.mobile-nav-drawer.open { display:flex; animation:fadeInOverlay 0.25s ease; }
@keyframes fadeInOverlay { from{opacity:0} to{opacity:1} }
.mobile-nav-close { position:absolute; top:24px; right:24px; font-size:28px; color:rgba(255,255,255,0.7); cursor:pointer; background:none; border:none; line-height:1; font-family:'DM Sans',sans-serif; }
.mobile-nav-link { font-family:'Bebas Neue',sans-serif; font-size:42px; color:rgba(255,255,255,0.9); letter-spacing:0.05em; cursor:pointer; transition:color 0.2s; }
.mobile-nav-link:hover { color:var(--orange); }
.mobile-nav-cta-btn { margin-top:8px; background:var(--orange); color:#fff; padding:14px 44px; border-radius:50px; font-family:'DM Sans',sans-serif; font-size:16px; font-weight:700; cursor:pointer; border:none; transition:background 0.2s; }
.mobile-nav-cta-btn:hover { background:#d44e20; }

/* ═══════════════════════════════════
   RESPONSIVE — MOBILE (≤ 768px)
═══════════════════════════════════ */
@media (max-width:768px) {
  /* Nav */
  .hamburger { display:flex; }
  .hero-nav .nav-links, .hero-nav .nav-right { display:none; }
  .white-nav .nav-links, .white-nav .nav-cta { display:none; }
  .hero-nav { padding:16px 20px; }
  .white-nav { padding:16px 20px; }

  /* Hero */
  .side-indicator { display:none; }
  .cards-panel { display:none; }
  .hero-content { left:20px; right:20px; bottom:80px; max-width:100%; }
  /* Bigger tap targets for carousel nav on mobile */
  .bottom-bar { right:20px; bottom:20px; gap:16px; display:flex; align-items:center; }
  .ctrl-btn { width:52px; height:52px; font-size:18px; line-height:1; }

  /* General padding */
  .looking-section { padding:56px 0 24px; }
  .looking-header { padding:0 20px; margin-bottom:28px; }
  .tailored-section { padding:40px 20px 56px; }
  .tailored-header { margin-bottom:36px; }
  .testimonials-section { padding:56px 20px; }
  .cta-band { padding:48px 20px 56px; }
  .page-header { padding:48px 20px 56px; }
  .filter-bar { padding:16px 20px; }
  .dest-search-wrap { margin-left: 0; width: 100%; }
  .dest-search-input { width: 100%; }
  .destinations-section { padding:36px 20px 56px; }
  .cta-section { padding:56px 20px; }

  /* Grids → 1 column */
  .dest-grid { grid-template-columns:1fr; }
  .offerings-grid { grid-template-columns:1fr; }
  .testimonials-masonry { column-count:1; }

  /* Booking form */
  .booking-row { flex-direction:column; }
  .booking-field { border-right:none; border-bottom:1px solid rgba(15,43,91,0.08); }
  .booking-field:last-child { border-bottom:none; }
  .booking-submit { width:100%; }

  /* Footer */
  .site-footer { padding:48px 20px 32px; }
  .footer-inner { flex-direction:column; gap:36px; }
  .footer-right { text-align:left; }
  .footer-socials { justify-content:flex-start; }

  /* About */
  .about-hero { padding:56px 20px 64px; }
  .founder-section { grid-template-columns:1fr; gap:40px; padding:56px 20px; }
  .motto-section { padding:56px 20px; }
  .beliefs-section { padding:56px 20px; }
  .beliefs-grid { grid-template-columns:1fr; }
  .beliefs-grid .belief-card { grid-column:auto !important; }
  .team-section { padding:56px 20px; }

  /* Blog */
  .blog-page-header { padding:48px 20px 56px; }
  .blog-controls { flex-direction:column; align-items:flex-start; gap:14px; padding:18px 20px; }
  .blog-search-input { width:100%; box-sizing:border-box; }
  .blog-body { padding:36px 20px 56px; }
  .blog-featured-post { grid-template-columns:1fr; }
  .blog-feat-img { min-height:220px; }
  .blog-feat-body { padding:28px 24px; }
  .blog-cards-grid { grid-template-columns:1fr; }

  /* Group Journeys */
  .gj-page-header { padding:48px 20px 56px; }
  .gj-trips-section { padding:48px 20px 56px; }
  .gj-trips-grid { grid-template-columns:1fr; }
  .gj-trip-card { grid-template-columns:1fr; }
  .gj-trip-img { min-height:180px; }
  .gj-how-section { padding:56px 20px; }
  .gj-steps-row { grid-template-columns:1fr 1fr; gap:24px; }
  .gj-steps-row::before { display:none; }
  .gj-testimonials-section { padding:56px 20px; }
  .gj-t-grid { grid-template-columns:1fr; }
  .gj-enquiry-section { padding:56px 20px; }
  .gj-enquiry-inner { max-width:100%; }
  .gj-form-grid { grid-template-columns:1fr; }
  .gj-form-full, .gj-submit-row { grid-column:auto; }

  /* Prevent oversized decorative text from causing horizontal scroll */
  .page-header { overflow:hidden; }
  .page-header::after { font-size:80px; right:-10px; opacity:0.6; }

  /* Ticker readability on mobile */
  .ticker-item { font-size:20px; padding:0 28px; gap:14px; }

  /* Hero text scales tighter on phones */
  .hero-destination { font-size:clamp(56px, 14vw, 84px); }
  .hero-desc { font-size:13px; max-width:100%; }
  .hero-content { bottom:96px; }
  .btn-explore { padding:12px 22px; font-size:13px; }

  /* Decorative blobs shouldn't push the layout */
  .motto-section, .gj-enquiry-section { overflow:hidden; }

  /* Tap targets */
  .nav-cta, .booking-submit, .gj-submit-btn, .cta-band-btn, .dest-card-btn { min-height:44px; }

  /* Inputs comfortable on mobile, prevent iOS zoom */
  .booking-field input, .booking-field.people select,
  .gj-form input, .gj-form select, .gj-form textarea,
  .blog-search-input { font-size:16px !important; }
}

/* Extra-small phones (≤ 400px) */
@media (max-width:400px) {
  .hero-nav, .white-nav { padding:14px 16px; }
  .hero-content { left:16px; right:16px; bottom:88px; }
  .hero-tag { font-size:10px; padding:5px 12px; }
  .hero-destination { font-size:54px; }
  .mobile-nav-link { font-size:34px; }
  .section-title, .tailored-title, .testimonials-title,
  .page-header-title, .cta-title { font-size:32px !important; }
  .ticker-item { font-size:18px; padding:0 22px; }
  .cta-band-btn { padding:16px 36px; font-size:15px; }
  .dest-card-img { height:180px; }
}

/* ═══════════════════════════════════
   RESPONSIVE — TABLET (769px – 1024px)
═══════════════════════════════════ */
@media (min-width:769px) and (max-width:1024px) {
  .dest-grid { grid-template-columns:repeat(2,1fr); }
  .blog-cards-grid { grid-template-columns:repeat(2,1fr); }
  .gj-trips-grid { grid-template-columns:1fr; }
  .gj-t-grid { grid-template-columns:repeat(2,1fr); }
  .gj-steps-row { grid-template-columns:repeat(2,1fr); }
  .gj-steps-row::before { display:none; }
  .beliefs-grid { grid-template-columns:repeat(3,1fr); }
  .beliefs-grid .belief-card { grid-column:auto !important; }
  .hero-nav .nav-links { position:static; transform:none; gap:20px; }
  .footer-inner { gap:40px; }
}


/* ═══════════════════════════════════
   ITINERARY MODAL
═══════════════════════════════════ */
.itin-overlay {
  position: fixed;
  inset: 0;
  z-index: 9000;
  background: rgba(10,31,68,0.5);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  padding: 24px;
}
.itin-overlay.open {
  opacity: 1;
  pointer-events: all;
}
.itin-modal {
  width: min(900px, 100%);
  max-height: 88vh;
  background: #fff;
  border-radius: 20px;
  overflow-y: auto;
  overflow-x: hidden;
  position: relative;
  box-shadow: 0 48px 96px rgba(10,31,68,0.28);
  transform: translateY(28px) scale(0.97);
  transition: transform 0.35s cubic-bezier(0.34,1.4,0.64,1);
  display: flex;
  flex-direction: column;
  scrollbar-width: thin;
  scrollbar-color: rgba(15,43,91,0.15) transparent;
}
.itin-modal::-webkit-scrollbar { width: 4px; }
.itin-modal::-webkit-scrollbar-track { background: transparent; }
.itin-modal::-webkit-scrollbar-thumb { background: rgba(15,43,91,0.15); border-radius: 2px; }
.itin-overlay.open .itin-modal { transform: translateY(0) scale(1); }

/* Hero */
.itin-hero-img {
  width: 100%;
  height: 300px;
  background-size: cover;
  background-position: center;
  flex-shrink: 0;
  position: relative;
  border-radius: 20px 20px 0 0;
}
.itin-close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 20;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: #0f2b5b;
  color: #fff;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  font-family: 'DM Sans', sans-serif;
  line-height: 1;
  box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}
.itin-close:hover { background: #1a3a6a; }

/* Content body */
.itin-body {
  padding: 32px 40px 40px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.itin-dest-tag {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--orange);
  margin-bottom: 8px;
}
.itin-dest-name {
  font-family: 'Playfair Display', serif;
  font-size: 38px;
  font-weight: 900;
  color: #0f2b5b;
  line-height: 1.1;
  margin-bottom: 10px;
}
.itin-subtitle {
  font-size: 15px;
  color: var(--muted);
  line-height: 1.6;
  margin-bottom: 24px;
  max-width: 640px;
}

/* Meta box */
.itin-meta-box {
  border: 1px solid rgba(15,43,91,0.12);
  border-radius: 12px;
  padding: 20px 24px;
  margin-bottom: 32px;
}
.itin-meta-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 18px 16px;
}
.itin-meta-item { display: flex; flex-direction: column; gap: 5px; }
.itin-meta-full { grid-column: 1 / -1; }
.itin-meta-label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(15,43,91,0.4);
}
.itin-meta-val {
  font-size: 14px;
  font-weight: 600;
  color: #0f2b5b;
  line-height: 1.3;
}

/* Section header */
.itin-section-divider {
  height: 1px;
  background: rgba(15,43,91,0.08);
  margin-bottom: 28px;
}
.itin-section-header { margin-bottom: 20px; }
.itin-right-title {
  font-family: 'Playfair Display', serif;
  font-size: 24px;
  font-weight: 900;
  color: #0f2b5b;
  margin-bottom: 4px;
}
.itin-right-sub { font-size: 13px; color: #8a9ab0; font-weight: 500; }

/* Accordion days */
.itin-days {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 24px;
}
.itin-day {
  border: 1px solid rgba(15,43,91,0.1);
  border-left: 3px solid var(--orange);
  border-radius: 10px;
  overflow: hidden;
}
.itin-day-trigger {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  cursor: pointer;
  background: #fff;
  transition: background 0.15s;
  user-select: none;
}
.itin-day-trigger:hover { background: #fafaf8; }
.itin-day-badge {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #0f2b5b;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-family: 'DM Sans', sans-serif;
}
.itin-day-title {
  flex: 1;
  font-size: 14.5px;
  font-weight: 600;
  color: #0f2b5b;
  line-height: 1.3;
}
.itin-day-chevron {
  font-size: 10px;
  color: rgba(15,43,91,0.35);
  transition: transform 0.25s ease;
  flex-shrink: 0;
}
.itin-day.open .itin-day-chevron { transform: rotate(180deg); }
.itin-day-content {
  display: none;
  padding: 4px 20px 20px 76px;
  background: #fafaf8;
}
.itin-day.open .itin-day-content { display: block; }

/* Event timeline */
.itin-events { display: flex; flex-direction: column; padding-top: 8px; }
.itin-event { display: grid; grid-template-columns: 52px 1fr; gap: 0 14px; }
.itin-event-time {
  font-size: 11px;
  font-weight: 700;
  color: var(--orange);
  padding-top: 4px;
  text-align: right;
  line-height: 1.2;
  white-space: nowrap;
}
.itin-event-content {
  border-left: 2px solid rgba(15,43,91,0.1);
  padding: 0 0 16px 16px;
  position: relative;
}
.itin-event:last-child .itin-event-content { border-left-color: transparent; padding-bottom: 4px; }
.itin-event-content::before {
  content: '';
  position: absolute;
  left: -5px;
  top: 5px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #0f2b5b;
  border: 2px solid #fafaf8;
}
.itin-event-title { font-size: 13.5px; font-weight: 600; color: #0f2b5b; line-height: 1.4; }
.itin-event-title.session { color: var(--orange); }
.itin-event-desc { font-size: 12px; color: var(--muted); line-height: 1.55; margin-top: 5px; }
.itin-event-points { margin-top: 8px; display: flex; flex-direction: column; gap: 4px; }
.itin-event-point {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.5;
  padding-left: 14px;
  position: relative;
}
.itin-event-point::before {
  content: '·';
  position: absolute;
  left: 3px;
  color: var(--orange);
  font-weight: 900;
  font-size: 14px;
  line-height: 1.2;
}

/* Plan button — sticky bottom-right */
.itin-plan-btn-wrap {
  position: sticky;
  bottom: 24px;
  display: flex;
  justify-content: flex-end;
  pointer-events: none;
}
.itin-plan-btn {
  pointer-events: all;
  background: var(--orange);
  color: #fff;
  border: none;
  padding: 14px 26px;
  border-radius: 50px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  font-family: 'DM Sans', sans-serif;
  transition: all 0.2s;
  box-shadow: 0 4px 20px rgba(232,93,44,0.4);
  white-space: nowrap;
}
.itin-plan-btn:hover { background: #c44e22; transform: translateY(-2px); box-shadow: 0 6px 24px rgba(232,93,44,0.5); }

/* Coming soon */
.itin-coming-soon {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 64px 32px;
  text-align: center;
  gap: 16px;
}
.itin-cs-icon { font-size: 52px; }
.itin-cs-title { font-family: 'Playfair Display', serif; font-size: 20px; font-weight: 900; color: #0f2b5b; }
.itin-coming-soon p { font-size: 14px; color: var(--muted); line-height: 1.65; max-width: 280px; }

/* Mobile */
@media (max-width: 640px) {
  .itin-overlay { padding: 12px; }
  .itin-modal { max-height: 92vh; border-radius: 16px; }
  .itin-hero-img { height: 200px; border-radius: 16px 16px 0 0; }
  .itin-body { padding: 20px 20px 32px; }
  .itin-dest-name { font-size: 26px; }
  .itin-meta-box { padding: 14px 16px; }
  .itin-meta-grid { grid-template-columns: 1fr 1fr; }
  .itin-day-content { padding-left: 20px; }
  .itin-event { grid-template-columns: 44px 1fr; }
}
