/* Premium icon-only Travel Styles cards. */
body.home-page .home-travel-styles { position:relative; overflow:hidden; background:#f5f0e8; }
body.home-page .home-travel-styles::before { content:""; position:absolute; width:420px; height:420px; right:-180px; top:-220px; border-radius:50%; background:radial-gradient(circle,rgba(184,138,68,.14),transparent 68%); pointer-events:none; }
body.home-page .home-style-grid { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
body.home-page .home-style-card { display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; min-width:0; min-height:184px!important; padding:24px!important; overflow:hidden; border:1px solid rgba(57,44,33,.10)!important; border-radius:24px!important; background:rgba(255,255,255,.78)!important; color:#201b17; text-align:left; text-decoration:none; box-shadow:0 8px 24px rgba(48,35,24,.05)!important; position:relative!important; isolation:isolate; transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease!important; }
body.home-page .home-style-card::before { content:""; position:absolute; right:-42px; bottom:-58px; width:142px; height:142px; border-radius:50%; background:rgba(184,138,68,.07); z-index:-1; transition:transform .3s ease,background .3s ease; }
body.home-page .home-style-card::after { content:""; position:absolute; left:24px; bottom:0; width:34px; height:3px; border-radius:4px 4px 0 0; background:#b77942; transition:width .25s ease; }
body.home-page .home-style-card:hover { transform:translateY(-5px)!important; border-color:rgba(183,121,66,.30)!important; background:#fff!important; box-shadow:0 22px 50px rgba(48,35,24,.12)!important; }
body.home-page .home-style-card:hover::before { transform:scale(1.18); background:rgba(184,138,68,.12); }
body.home-page .home-style-card:hover::after { width:72px; }
body.home-page .home-style-card:focus-visible { outline:3px solid #b77942; outline-offset:4px; }
body.home-page .home-style-icon { width:54px!important; height:54px!important; margin:0!important; display:inline-flex!important; align-items:center!important; justify-content:center!important; border:1px solid rgba(183,121,66,.20)!important; border-radius:17px!important; background:#fbf4e9!important; color:#9a6335!important; box-shadow:inset 0 1px 0 rgba(255,255,255,.8); transition:transform .25s ease,background .25s ease!important; }
body.home-page .home-style-card:hover .home-style-icon { transform:rotate(-3deg) scale(1.04); background:#f6e8d5!important; }
body.home-page .home-style-icon svg { width:27px; height:27px; display:block; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
body.home-page .home-style-card h3 { max-width:190px; margin:26px 0 8px!important; color:#201b17!important; font-family:"Playfair Display",serif!important; font-size:20px!important; font-weight:650!important; line-height:1.16!important; letter-spacing:-.025em!important; }
@media (max-width:1050px) { body.home-page .home-style-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) { body.home-page .home-style-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; } body.home-page .home-style-card { min-height:156px!important; padding:18px!important; border-radius:20px!important; } body.home-page .home-style-card::after { left:18px; } body.home-page .home-style-icon { width:47px!important; height:47px!important; border-radius:15px!important; } body.home-page .home-style-icon svg { width:23px; height:23px; } body.home-page .home-style-card h3 { margin-top:20px!important; font-size:16px!important; } }
@media (max-width:370px) { body.home-page .home-style-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { body.home-page .home-style-card,body.home-page .home-style-card::before,body.home-page .home-style-card::after,body.home-page .home-style-icon { transition:none!important; } }

/* Home page polish: Why Us, Reviews, Process and responsive safeguards. */
body.home-page { overflow-x:hidden; }
body.home-page .home-why-us { position:relative; overflow:hidden; background:linear-gradient(180deg,#fff 0%,#fbf7f1 100%); }
body.home-page .home-why-us::after { content:""; position:absolute; left:-170px; bottom:-230px; width:430px; height:430px; border-radius:50%; background:radial-gradient(circle,rgba(183,121,66,.10),transparent 68%); pointer-events:none; }
body.home-page .home-why-grid { position:relative; z-index:1; gap:18px!important; }
body.home-page .home-why-card { display:flex!important; flex-direction:column; min-width:0; min-height:286px; padding:26px!important; overflow:hidden; border:1px solid rgba(56,42,30,.10)!important; border-radius:26px!important; box-shadow:0 12px 35px rgba(52,38,26,.06)!important; isolation:isolate; }
body.home-page .home-why-card::before { content:""!important; position:absolute; right:-54px; bottom:-66px; width:160px; height:160px; border-radius:50%; background:rgba(183,121,66,.065); z-index:-1; }
body.home-page .home-why-card__icon { display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; flex:0 0 56px; margin-bottom:28px; border:1px solid rgba(183,121,66,.22); border-radius:18px; background:#fbf2e6; color:#9a6335; }
body.home-page .home-why-card__icon svg { display:block; width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
body.home-page .home-why-card__copy { margin-top:auto; min-width:0; }
body.home-page .home-why-card h3 { margin:0 0 12px!important; padding:0!important; font-size:21px!important; line-height:1.2!important; }
body.home-page .home-why-card p { margin:0!important; padding:0!important; font-size:15px!important; line-height:1.7!important; overflow-wrap:normal; word-break:normal; }

body.home-page .home-reviews { position:relative; background:#201b17; color:#fff; }
body.home-page .home-reviews .home-kicker { color:#d8a66f; }
body.home-page .home-reviews .home-section-title { color:#fff; }
body.home-page .home-reviews .home-section-subtitle { color:rgba(255,255,255,.68); }
body.home-page .home-reviews .home-carousel__arrow { background:rgba(255,255,255,.10); color:#fff; border:1px solid rgba(255,255,255,.14); }
body.home-page #homeReviews { display:grid!important; grid-auto-flow:column; grid-auto-columns:calc((100% - 36px)/2); gap:18px!important; width:100%; scroll-snap-type:x mandatory; scroll-padding-inline:0; overscroll-behavior-inline:contain; }
body.home-page #homeReviews .home-review-card { position:relative; width:auto!important; min-width:0!important; max-width:none!important; min-height:300px; padding:34px!important; border:1px solid rgba(255,255,255,.12)!important; border-radius:26px!important; background:rgba(255,255,255,.075)!important; box-shadow:none!important; scroll-snap-align:start; scroll-snap-stop:always; }
body.home-page #homeReviews .home-review-card::before { content:"“"; position:absolute; right:26px; top:12px; color:rgba(216,166,111,.20); font-family:Georgia,serif; font-size:94px; line-height:1; }
body.home-page #homeReviews .home-review-stars { position:relative; margin-bottom:24px; color:#e1ad70; letter-spacing:3px; }
body.home-page #homeReviews .home-review-text { position:relative; margin-bottom:28px; color:rgba(255,255,255,.86)!important; font-size:17px!important; line-height:1.75!important; }
body.home-page #homeReviews .home-review-meta strong { color:#fff; }
body.home-page #homeReviews .home-review-badge { background:rgba(225,173,112,.13); color:#e7b77e; }

body.home-page .home-process .home-process-card { min-width:0; transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
body.home-page .home-process .home-process-card:hover { transform:translateY(-4px); border-color:rgba(183,121,66,.28); box-shadow:0 20px 45px rgba(48,35,24,.09); }

@media (max-width:1000px) {
  body.home-page .home-why-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  body.home-page .home-why-card { min-height:250px; }
}
@media (max-width:760px) {
  body.home-page .home-section,body.home-page .home-destinations,body.home-page .home-featured-tours,body.home-page .home-why-us,body.home-page .home-reviews,body.home-page .home-blog,body.home-page .home-final-cta { padding:58px 0!important; }
  body.home-page .home-shell { width:100%; padding-inline:18px!important; }
  body.home-page .home-section-head { margin-bottom:26px; }
  body.home-page .home-section-head--row { flex-direction:row; align-items:flex-end; gap:12px; }
  body.home-page .home-section-head--row > div:first-child { min-width:0; }
  body.home-page .home-carousel__nav { flex:0 0 auto; }
  body.home-page .home-carousel__arrow { width:40px; height:40px; }
  body.home-page .home-why-grid { grid-template-columns:1fr!important; gap:13px!important; }
  body.home-page .home-why-card { display:grid!important; grid-template-columns:52px minmax(0,1fr); gap:17px; align-items:start; min-height:0; padding:21px!important; border-radius:21px!important; }
  body.home-page .home-why-card__icon { width:52px; height:52px; margin:0; border-radius:16px; }
  body.home-page .home-why-card__copy { margin:0; }
  body.home-page .home-why-card h3 { font-size:19px!important; }
  body.home-page .home-why-card p { font-size:14.5px!important; line-height:1.62!important; }
  body.home-page #homeReviews { grid-auto-columns:100%!important; gap:14px!important; }
  body.home-page #homeReviews .home-review-card { min-height:0; padding:27px 24px!important; border-radius:22px!important; }
  body.home-page #homeReviews .home-review-text { font-size:16px!important; }
  body.home-page .home-process .home-process-grid { grid-template-columns:1fr!important; gap:14px!important; }
  body.home-page .home-process .home-process-card { padding:24px 22px!important; border-radius:20px!important; }
}
@media (max-width:520px) {
  body.home-page .home-section-head--row { align-items:flex-start; }
  body.home-page .home-reviews .home-section-title { font-size:clamp(27px,8vw,36px)!important; }
  body.home-page .home-reviews .home-section-subtitle { display:none; }
  body.home-page { padding-bottom:76px; }
  body.home-page .home-trust { padding:20px 0 22px!important; }
  body.home-page .home-trust__inner { display:grid!important; grid-template-columns:1fr!important; gap:17px!important; align-items:start!important; }
  body.home-page .home-trust__rating { display:flex!important; align-items:center!important; justify-content:flex-start!important; gap:12px!important; min-width:0; }
  body.home-page .home-trust__stars { flex:0 0 auto; font-size:16px!important; letter-spacing:2px!important; white-space:nowrap; }
  body.home-page .home-trust__label { min-width:0; font-size:16px!important; line-height:1.3!important; font-weight:700!important; }
  body.home-page .home-trust__items { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important; width:100%!important; }
  body.home-page .home-trust__items span { display:flex!important; align-items:center; min-width:0; min-height:48px; padding:10px 12px!important; border:1px solid rgba(56,42,30,.10); border-radius:14px; background:#fbf7f1; font-size:13px!important; line-height:1.3!important; text-align:left!important; overflow-wrap:normal!important; word-break:normal!important; }
  body.home-page .home-travel-styles { padding-top:48px!important; }
  body.home-page .home-travel-styles .home-section-title { font-size:clamp(32px,10vw,43px)!important; line-height:1.04!important; }
  body.home-page .floating-whatsapp,body.home-page .whatsapp-float { right:12px!important; bottom:12px!important; transform:none!important; max-width:calc(100vw - 24px); }
}
@media (prefers-reduced-motion:reduce) { body.home-page .home-why-card,body.home-page .home-process .home-process-card { transition:none!important; } }

/* Mobile carousels: show one complete card, never a clipped next card. */
body.home-page #homeDestinations,
body.home-page #homeBlog { scroll-snap-type:x mandatory; scroll-padding-inline:0; overscroll-behavior-inline:contain; }
body.home-page #homeDestinations .home-destination-card,
body.home-page #homeBlog .home-blog-card { scroll-snap-align:start; scroll-snap-stop:always; }
@media (max-width:700px) {
  body.home-page #homeDestinations,
  body.home-page #homeBlog { width:100%!important; gap:0!important; }
  body.home-page #homeDestinations .home-destination-card,
  body.home-page #homeBlog .home-blog-card { box-sizing:border-box; flex:0 0 100%!important; width:100%!important; min-width:100%!important; max-width:100%!important; margin:0!important; }
  body.home-page #homeDestinations .home-destination-card { height:390px!important; border-radius:24px!important; }
  body.home-page #homeBlog .home-blog-card { border-radius:22px!important; }
  body.home-page #homeBlog .home-blog-card__image { height:220px!important; }
}

/* Homepage final CTA bottom spacing v6.2 */
body.home-page .home-final-cta {
  padding-bottom: 24px !important;
}

/* Homepage footer parity correction v6.3 */
body.home-page .site-footer {
  width: calc(100% + 32px);
  max-width: none;
  margin-left: -16px;
  margin-right: -16px;
}
body.home-page .site-footer .footer-cta {
  padding: clamp(34px, 5vw, 62px) 24px !important;
}
body.home-page .site-footer .footer-grid {
  padding: clamp(44px, 6vw, 76px) 24px !important;
}
@media (max-width: 760px) {
  body.home-page .site-footer .footer-cta {
    padding: 34px 18px !important;
  }
  body.home-page .site-footer .footer-grid {
    padding: 44px 18px !important;
  }
}
