/* ===== RICH REDESIGN PASS ===== */
:root{--rich-header:92px;--rich-logo:60px;--rich-cta-h:48px}
body{background:linear-gradient(180deg,var(--bg),color-mix(in srgb,var(--bg) 86%,#fff))}
.topbar{position:relative;z-index:120}
.site-header{position:sticky;top:0;z-index:120;background:color-mix(in srgb,var(--bg) 92%,rgba(255,255,255,.78)) !important;backdrop-filter:blur(18px);overflow:visible !important}
body[data-version="v2"] .site-header{background:rgba(244,250,255,.92) !important}
body[data-version="v3"] .site-header{background:rgba(8,12,22,.86) !important}
.navrow{height:var(--rich-header) !important;min-height:var(--rich-header) !important;display:grid !important;grid-template-columns:minmax(220px,310px) 1fr auto !important;gap:24px !important;align-items:center !important}
.brand{display:flex !important;align-items:center !important;gap:14px !important;height:auto !important;overflow:visible !important;min-width:0 !important;padding:0 !important}
.brand-logo-shell{width:auto !important;height:auto !important;max-width:none !important;padding:0 !important;display:flex !important;align-items:center !important;justify-content:flex-start !important;overflow:visible !important}
.brand-icon-img{width:var(--rich-logo);height:var(--rich-logo);object-fit:contain;flex:none;filter:drop-shadow(0 10px 20px rgba(0,0,0,.15))}
.brand-textual{display:flex;flex-direction:column;line-height:1;min-width:0}
.brand-textual strong{font-size:30px;letter-spacing:-.05em;font-weight:900;font-family:Georgia,"Times New Roman",serif}
.brand-textual small{margin-top:4px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:800;white-space:nowrap}
body[data-version="v3"] .brand-textual strong,body[data-version="v3"] .brand-textual small{color:#f5ecdf}
.desktop-nav{display:flex !important;align-items:center !important;justify-content:center !important;gap:26px !important}
.desktop-nav a,.desktop-nav button{font-size:14px !important;position:relative}
.desktop-nav a:after,.desktop-nav button:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:.22s}
.desktop-nav a:hover:after,.desktop-nav button:hover:after,.navdrop.open>button:after{transform:scaleX(1)}
.mega{top:calc(100% + 14px) !important;border-radius:20px !important}
body[data-version="v3"] .mega{background:#0f1828 !important;border-color:rgba(255,255,255,.08) !important}
body[data-version="v3"] .mega a{background:rgba(255,255,255,.04);color:#eef4ff}
.header-cta{width:auto !important;max-width:none !important;min-width:178px !important;min-height:var(--rich-cta-h) !important;padding:0 26px !important;border-radius:999px !important}
body[data-version="v1"] .header-cta{background:linear-gradient(135deg,#c2861f,#e0af44)}
body[data-version="v2"] .header-cta{background:linear-gradient(135deg,#0f74b7,#18a1db)}
body[data-version="v3"] .header-cta{background:linear-gradient(135deg,#d3a647,#f0c25b);color:#10151f}

.hero-rich{min-height:860px !important}
.hero-rich .hero-media{animation:heroZoom 18s ease-in-out infinite alternate}
@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.08)}}
.hero-rich:after{background:linear-gradient(90deg,rgba(9,9,11,.84),rgba(9,9,11,.35) 58%,rgba(9,9,11,.52)) !important}
.hero-shell{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1.08fr) 430px;gap:34px;align-items:end;min-height:860px;padding:130px 0 88px}
.hero-copy{max-width:760px;color:#fff;display:flex;flex-direction:column;align-items:flex-start;text-align:left}
.hero-copy h1{max-width:12ch;text-wrap:balance}
.hero-copy p{font-size:18px;line-height:1.65;color:rgba(255,255,255,.9);max-width:680px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-actions .btn{min-width:180px}
.hero-actions .btn.alt{color:#fff;border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.08)}
.hero-badge-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.hero-badge-row span{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);font-weight:800;font-size:12px;backdrop-filter:blur(10px)}
.hero-thumbs{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.hero-thumb{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:16px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;cursor:pointer;transition:.22s}
.hero-thumb.active,.hero-thumb:hover{background:rgba(255,255,255,.18);transform:translateY(-2px)}
.hero-thumb img{width:52px;height:42px;border-radius:10px;object-fit:cover}
.hero-thumb span{font-size:12px;font-weight:800;line-height:1.2;max-width:110px;text-align:left}
.hero-floaters{position:absolute;z-index:4;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:14px;flex-wrap:wrap;width:min(var(--max),calc(100% - 32px));pointer-events:none}
.floating-stat{pointer-events:auto;flex:1 1 260px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);box-shadow:0 20px 38px rgba(0,0,0,.18);backdrop-filter:blur(14px);border-radius:22px;padding:16px 18px;color:#fff;animation:floaty 5s ease-in-out infinite}
.floating-stat:nth-child(2){animation-delay:1.2s}
.floating-stat b{display:block;margin-bottom:6px;font-size:16px}
.floating-stat small{display:block;color:rgba(255,255,255,.82);font-size:13px;line-height:1.45}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

.rich-intro{margin-top:-18px}
.rich-grid{display:grid;gap:18px}.rich-grid.four{grid-template-columns:repeat(4,1fr)}.rich-grid.three{grid-template-columns:repeat(3,1fr)}.rich-grid.two{grid-template-columns:repeat(2,1fr)}
.icon-card,.premium-card,.mini-icon-card,.timeline-card{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 18px 44px rgba(0,0,0,.06)}
.icon-card h3,.premium-card h3{margin:14px 0 8px;font-size:22px}
.icon-card p,.premium-card p,.mini-icon-card small,.timeline-card small{color:var(--muted);margin:0;line-height:1.6}
.icon-badge{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:18px;font-weight:900;font-size:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 78%,#fff),color-mix(in srgb,var(--brand2) 86%,#fff));color:#fff;box-shadow:0 14px 28px color-mix(in srgb,var(--brand) 28%,transparent)}
body[data-version="v2"] .icon-badge{background:linear-gradient(135deg,#1171b5,#18a8d8)}
body[data-version="v3"] .icon-badge{background:linear-gradient(135deg,#d2a544,#f0c45a);color:#16181e}
.premium-card{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));border-color:rgba(255,255,255,.08)}
body[data-version="v3"] .premium-card{background:#0d1423;color:#f5ecdf;border-color:rgba(255,255,255,.08)}
body[data-version="v3"] .premium-card p{color:rgba(245,236,223,.72)}
.portal-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.timeline-card{display:flex;gap:14px;align-items:flex-start}.timeline-card span{flex:none;font-size:22px;font-weight:900;color:var(--brand)}
.mini-icon-card{display:flex;gap:12px;align-items:flex-start}
.mini-icon-card b{display:block;margin-bottom:5px}

.carousel-shell{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}
.carousel-viewport{overflow:hidden}
.featured-carousel-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.featured-carousel-track::-webkit-scrollbar{display:none}
.featured-carousel-track .tour-card{min-width:min(360px,85vw);max-width:360px;scroll-snap-align:start;flex:none;border-radius:28px;overflow:hidden}
.featured-carousel-track .tour-card .tour-body{padding:22px}
.featured-carousel-track .tour-card .media{aspect-ratio:4/4.2}
.carousel-nav{width:48px;height:48px;border-radius:999px;border:1px solid var(--line);background:var(--panel);cursor:pointer;font-size:28px;line-height:1;box-shadow:0 14px 28px rgba(0,0,0,.08)}
body[data-version="v3"] .carousel-shell.dark .carousel-nav{background:#0d1423;color:#fff;border-color:rgba(255,255,255,.08)}

.rich-dark{position:relative;overflow:hidden}
.rich-dark:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.08),transparent 25%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.06),transparent 25%);pointer-events:none}
.story-rail{overflow:hidden;border-radius:28px;padding:8px 0}.story-track{display:flex;gap:18px;min-width:max-content;animation:storyMarquee 28s linear infinite}.story-rail.compact .story-track{animation-duration:24s}.story-rail.premium .story-track{animation-duration:32s}
@keyframes storyMarquee{from{transform:translateX(0)}to{transform:translateX(-30%)}}
.story-card{flex:none;width:300px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:24px;overflow:hidden;box-shadow:0 16px 34px rgba(0,0,0,.18)}
.story-card img{width:100%;height:220px;object-fit:cover;transition:transform .5s}
.story-card:hover img{transform:scale(1.05)}
.story-card figcaption{padding:14px 16px;font-weight:800}
.story-stack{display:grid;grid-template-columns:1fr 1fr;gap:14px}.story-stack figure{position:relative;margin:0;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.story-stack figure:first-child{grid-column:1/-1}.story-stack img{width:100%;height:100%;min-height:210px;object-fit:cover}.story-stack figcaption{position:absolute;left:18px;bottom:16px;background:rgba(0,0,0,.45);color:#fff;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900}

.editorial-grid{display:grid;gap:18px}.editorial-v1{grid-template-columns:1fr 1fr}.editorial-v3{grid-template-columns:1.2fr .8fr .8fr}.editorial-panel{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:var(--panel);border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 18px 44px rgba(0,0,0,.06)}.editorial-panel img{width:100%;height:100%;min-height:320px;object-fit:cover}.editorial-panel.wide{grid-column:1/-1}.editorial-copy{padding:30px}.editorial-copy h3{font-family:Georgia,serif;font-size:36px;line-height:1.05;margin:12px 0}.editorial-copy p{color:var(--muted);line-height:1.7}
body[data-version="v3"] .editorial-panel{background:#0d1423;border-color:rgba(255,255,255,.08)}
body[data-version="v3"] .editorial-copy h3{color:#f5ecdf}
body[data-version="v3"] .editorial-copy p{color:rgba(245,236,223,.72)}

.rich-cta{box-shadow:0 30px 60px rgba(0,0,0,.14)}
.blog-card{transition:.25s}.blog-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}

/* Improve inner pages aesthetics too */
.tour-card .quick-book,.book-card-btn,.details-link{transition:.22s}
.book-card-btn{border:0;border-radius:999px;background:var(--ink);color:#fff;padding:11px 14px;font-weight:800;cursor:pointer}
.details-link{display:inline-flex;align-items:center;justify-content:center;padding:11px 14px;border-radius:999px;border:1px solid var(--line)}
body[data-version="v3"] .book-card-btn{background:#d8ac48;color:#10151f}
body[data-version="v3"] .details-link{border-color:rgba(255,255,255,.08)}

@media(max-width:1180px){
  .navrow{grid-template-columns:minmax(200px,270px) 1fr auto !important}
  .brand-textual strong{font-size:28px}
  .hero-shell{grid-template-columns:1fr 390px}
  .rich-grid.four{grid-template-columns:repeat(2,1fr)}
  .portal-timeline{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:980px){
  :root{--rich-header:82px;--rich-logo:50px;--rich-cta-h:42px}
  .navrow{grid-template-columns:minmax(0,1fr) auto auto !important;gap:12px !important}
  .brand-textual strong{font-size:24px}.brand-textual small{font-size:10px;letter-spacing:.12em}
  .desktop-nav{display:none !important}
  .mobile-menu-btn{display:grid !important;place-items:center !important}
  .hero-rich{min-height:auto !important}
  .hero-shell{grid-template-columns:1fr;min-height:auto;padding:110px 0 72px;gap:22px}
  .hero-copy{max-width:none}
  .hero-floaters{position:static;transform:none;width:min(var(--max),calc(100% - 32px));margin:0 auto 26px;padding-bottom:12px}
  .hero-thumbs{overflow:auto;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:4px}.hero-thumbs::-webkit-scrollbar{display:none}
  .featured-carousel-track .tour-card{min-width:320px;max-width:320px}
  .story-stack{grid-template-columns:1fr}
  .editorial-v1,.editorial-v3,.editorial-grid{grid-template-columns:1fr}
  .editorial-panel,.editorial-panel.wide{grid-template-columns:1fr;grid-column:auto}.editorial-panel img{min-height:260px}
}
@media(max-width:620px){
  :root{--rich-header:76px;--rich-logo:42px;--rich-cta-h:40px}
  .topbar .wrap span:last-child{display:none}
  .navrow{grid-template-columns:minmax(0,1fr) auto auto !important;gap:8px !important}
  .brand{gap:10px !important}
  .brand-textual strong{font-size:20px}
  .brand-textual small{font-size:9px;letter-spacing:.1em;white-space:normal;max-width:118px;line-height:1.2}
  .header-cta{min-width:auto !important;padding:0 14px !important;font-size:11px !important}
  .hero-rich .hero-media{height:100%;min-height:760px}
  .hero-rich{min-height:760px !important}
  .hero-shell{padding:95px 0 48px}
  .hero-copy h1{font-size:clamp(42px,15vw,68px)}
  .hero-copy p{font-size:15px;line-height:1.55}
  .hero-badge-row span{font-size:10px;padding:9px 12px}
  .floating-stat{flex:1 1 100%;padding:14px 15px}
  .rich-grid.four,.rich-grid.three,.rich-grid.two,.portal-timeline{grid-template-columns:1fr}
  .carousel-shell{grid-template-columns:1fr;gap:10px}.carousel-nav{display:none}
  .featured-carousel-track .tour-card{min-width:86vw;max-width:86vw}
  .story-card{width:250px}.story-card img{height:180px}
  .editorial-copy{padding:22px}.editorial-copy h3{font-size:28px}
}

/* ===== FINAL MOBILE RESPONSIVE FIX — V1 / V2 / V3 ===== */
@media(max-width:620px){
  html,body{max-width:100%;overflow-x:hidden !important}
  body{padding-bottom:94px !important}
  .wrap{width:min(100% - 20px,var(--max)) !important}

  .hero-rich{
    min-height:auto !important;
    height:auto !important;
    overflow:hidden !important;
    display:block !important;
  }
  .hero-rich .hero-media{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
  }
  .hero-shell{
    grid-template-columns:minmax(0,1fr) !important;
    gap:18px !important;
    min-height:0 !important;
    padding:92px 0 24px !important;
    align-items:start !important;
  }
  .hero-copy{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  .hero-copy h1{
    font-size:clamp(38px,12vw,52px) !important;
    line-height:.98 !important;
    max-width:10ch !important;
    margin:10px 0 14px !important;
  }
  .hero-copy p{
    font-size:14px !important;
    line-height:1.55 !important;
    max-width:100% !important;
  }
  .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    width:100% !important;
    margin-top:18px !important;
  }
  .hero-actions .btn,.hero-actions .btn.alt{
    width:100% !important;
    min-width:0 !important;
    min-height:44px !important;
    padding:11px 14px !important;
  }
  .hero-badge-row{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
    width:100% !important;
    margin-top:14px !important;
  }
  .hero-badge-row span{
    justify-content:center !important;
    text-align:center !important;
    min-height:42px !important;
    padding:8px 10px !important;
    font-size:10px !important;
    line-height:1.25 !important;
  }
  .hero-badge-row span:last-child{grid-column:1/-1 !important}

  /* The previous horizontal thumb row caused clipping/overflow on mobile. */
  .hero-thumbs{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
    margin-top:14px !important;
    padding:0 !important;
  }
  .hero-thumb{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:54px !important;
    padding:6px 8px !important;
    gap:7px !important;
    border-radius:14px !important;
    overflow:hidden !important;
    justify-content:flex-start !important;
  }
  .hero-thumb img{
    flex:0 0 44px !important;
    width:44px !important;
    height:40px !important;
    border-radius:9px !important;
  }
  .hero-thumb span{
    min-width:0 !important;
    max-width:none !important;
    font-size:10px !important;
    line-height:1.15 !important;
    text-align:left !important;
    white-space:normal !important;
    overflow:hidden !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
  }

  .hero-side{
    width:100% !important;
    min-width:0 !important;
    margin:2px 0 78px !important;
    padding:0 !important;
  }
  .hero-finder{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:15px !important;
    border-radius:22px !important;
  }
  .hero-finder form,.finder-grid{width:100% !important}
  .finder-grid{grid-template-columns:1fr !important;gap:10px !important}
  .hero-finder select,.hero-finder input,.hero-finder .btn{width:100% !important;min-width:0 !important}
  .finder-foot{display:grid !important;grid-template-columns:1fr !important;gap:7px !important}

  .mobile-bottom-nav{left:8px !important;right:8px !important;bottom:8px !important;z-index:90 !important}
  .whatsapp-float{bottom:84px !important;right:10px !important;z-index:88 !important}

  .featured-carousel-track .tour-card{min-width:calc(100vw - 42px) !important;max-width:calc(100vw - 42px) !important}
  .carousel-viewport,.featured-carousel-track,.story-rail{max-width:100% !important}
  .story-card{width:min(78vw,280px) !important}
  .editorial-panel,.story-stack,.blog-grid,.tour-grid{min-width:0 !important}
  .editorial-panel img,.story-card img,.blog-card img,.tour-card img{max-width:100% !important}
}

@media(max-width:390px){
  .hero-copy h1{font-size:36px !important;max-width:11ch !important}
  .hero-badge-row{grid-template-columns:1fr !important}
  .hero-badge-row span:last-child{grid-column:auto !important}
  .hero-thumbs{grid-template-columns:1fr 1fr !important;gap:7px !important}
  .hero-thumb{height:50px !important;padding:5px 6px !important}
  .hero-thumb img{flex-basis:40px !important;width:40px !important;height:36px !important}
  .hero-thumb span{font-size:9px !important}
  .hero-side{margin-bottom:82px !important}
}
