/* Homepage: warm river colours, clear choices and quieter typography. */
.home-page{--bg:#faf9f6;--border:#e8e5de;--pink:#c9532d;--orange:#ef8b40;background:var(--bg);}
.home-page .announce-bar{background:#142e32;animation:none;font-size:11px;letter-spacing:.3px;padding:7px 0;}
.home-page .site-header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--border);box-shadow:none;}
.home-page .header-inner{padding-top:17px;padding-bottom:17px;}
.home-page .logo-img{object-fit:cover;}
.home-page .main-nav{gap:23px;}
.home-page .main-nav > a,.home-page .nav-dropdown > a{font-size:13px;font-weight:500;}
.home-page .btn-book-now,.home-page .btn-gradient{background:#cf5932;box-shadow:none;border-radius:8px;}
.home-page .btn-book-now:hover,.home-page .btn-gradient:hover{background:#b94725;}
.home-page .hero{min-height:590px;}
.home-page .hero > .container{width:100%;position:relative;}
.home-page .hero-bg img{object-position:center 55%;}
.home-page .hero-bg::after{background:linear-gradient(90deg,rgba(9,29,34,.91),rgba(9,29,34,.66) 40%,rgba(9,29,34,.13) 78%),linear-gradient(0deg,rgba(9,29,34,.38),transparent 50%);}
.home-page .hero-content{max-width:650px;padding:68px 0 108px;}
.home-page .hero .eyebrow{font-size:11px;letter-spacing:1.8px;color:#f9cf99;margin-bottom:20px;}
.home-page .hero h1{font-size:clamp(38px,4.4vw,60px);font-weight:600;line-height:1.13;letter-spacing:-2px;text-shadow:none;margin-bottom:22px;}
.home-page .hero h1 span{color:#ffcc96;}
.home-page .hero p.lede{font-size:16px;line-height:1.8;max-width:445px;color:#e0e7e5;margin-bottom:28px;}
.home-page .hero-actions .btn{padding:14px 23px;font-size:13px;}
.home-page .hero-actions .btn span{margin-left:12px;font-size:20px;line-height:1;}
.home-page .hero-secondary{border:1px solid rgba(255,255,255,.48);border-radius:8px;color:#fff;background:rgba(255,255,255,.05);}
.home-page .hero-secondary:hover{background:rgba(255,255,255,.16);}
.home-hero-trust{display:flex;flex-wrap:wrap;gap:12px 19px;margin-top:25px;color:#e3e9e6;font-size:11px;}
.home-hero-trust span+span::before{content:'·';margin-right:19px;color:#eab47e;}
.home-page .hero-indicators{margin-top:30px;gap:8px;}
.home-page .hero-dot{width:28px;height:28px;border:0;background:transparent;position:relative;}
.home-page .hero-dot::after{content:'';position:absolute;left:9px;top:10px;width:7px;height:7px;border-radius:10px;background:#ffffff70;}
.home-page .hero-dot.active::after{left:3px;width:23px;background:#f1c38f;}
.home-photo-note{position:absolute;right:20px;bottom:125px;max-width:230px;color:#fff;text-align:right;}
.home-photo-note span{display:block;font-size:10px;letter-spacing:2px;margin-bottom:8px;}
.home-photo-note strong{font-size:15px;font-weight:500;line-height:1.5;}
.home-ride-picker{position:relative;z-index:5;margin-top:-54px;}
.home-picker-heading{padding:25px 30px 20px;background:white;border-radius:16px 16px 0 0;position:relative;}
.home-picker-heading .eyebrow{font-size:10px;letter-spacing:1.4px;margin-bottom:5px;}
.home-picker-heading h2{font-size:20px;font-weight:600;letter-spacing:-.5px;margin:0;padding-right:125px;}
.home-picker-heading > a{position:absolute;right:30px;bottom:23px;font-size:12px;color:#b54b2a;font-weight:600;}
.home-ride-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 18px 20px;background:white;border-radius:0 0 16px 16px;box-shadow:0 16px 36px #18322e0b;}
.home-ride-grid > a{display:flex;align-items:center;gap:13px;padding:17px 14px;border-right:1px solid var(--border);border-radius:8px;transition:background .2s;}
.home-ride-grid > a:last-child{border-right:0;}
.home-ride-grid > a:hover{background:#fbf1e6;}
.home-ride-icon{width:40px;height:40px;background:#faf0e2;color:#bb6336;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:22px;}
.home-ride-grid strong{display:block;font-size:13px;font-weight:600;}
.home-ride-grid small{display:block;font-size:10px;color:var(--muted);margin-top:3px;}
.home-ride-grid > a > span:last-child{margin-left:auto;color:#af5834;}
.home-page .stat-strip{margin:25px 0 0;background:transparent;box-shadow:none;border-radius:0;}
.home-page .stat-item{padding:15px 18px;}
.home-page .stat-num{font-size:23px;font-weight:600;background:none;color:#193c3b;}
.home-page .stat-label{font-size:11px;}
.home-page .section{padding:72px 0;}
.home-page .section-alt{background:#f1f3ee;}
.home-page .section-head{max-width:760px;text-align:left;margin:0 0 30px;}
.home-page .section-head h2,.home-page .two-col h2{font-size:clamp(26px,3vw,34px);font-weight:600;letter-spacing:-1px;}
.home-page .section-head p{font-size:14px;max-width:640px;line-height:1.8;}
.home-page .eyebrow{font-size:11px;letter-spacing:1.7px;}
.home-page .home-intro .two-col{gap:65px;align-items:center;}
.home-page .home-intro p{font-size:14px;color:var(--muted);line-height:1.85;}
.home-page .home-intro img{height:345px;width:100%;object-fit:cover;border-radius:16px;}
.home-page .btn-outline-dark{border:1px solid #c7d2cc;border-radius:8px;font-size:13px;padding:12px 20px;}
.home-page .exp-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--border);box-shadow:none;border-radius:13px;}
.home-page .exp-card:hover{box-shadow:0 10px 22px #14363410;}
.home-page .exp-img{display:block;width:100%;height:auto;aspect-ratio:4/3;flex-shrink:0;border-radius:0;}
.home-page .exp-img img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;}
.home-page .exp-body{display:flex;flex-direction:column;flex:1;padding:18px;}
.home-page .exp-top h3{font-size:15px;font-weight:600;line-height:1.45;}
.home-page .exp-rating{font-size:11px;background:#f0f5ec;color:#426341;}
.home-page .exp-sub{font-size:12px;line-height:1.7;margin:8px 0 16px;min-height:3.4em;}
.home-page .exp-price{border-top:1px solid var(--border);padding-top:14px;margin-top:auto;font-size:12px;}
.home-page .exp-price strong{font-size:18px;color:#153b3a;}
.home-page .exp-badge{background:#fff;color:#243d37;font-size:10px;box-shadow:0 2px 8px #0001;}
.home-page .slider-arrow:hover{background:#193c3b;}
.home-page .section-dark{background:#183b3d;}
.home-page .call-float{background:#fff;color:#193c3b;border:1px solid #deded7;box-shadow:0 4px 20px #0001;border-radius:40px;}
.home-page .call-float-icon{background:#edf2ec;animation:none;}
.home-page .call-float-icon svg{animation:none;color:#193c3b;}
.home-page a:focus-visible,.home-page button:focus-visible{outline:3px solid #d98942;outline-offset:4px;}
.home-page .nav-dropdown:focus-within .dropdown-menu{opacity:1;visibility:visible;}
@media(min-width:1025px) and (max-width:1160px){.home-page .main-nav{gap:14px;}.home-page .logo-img{width:205px;}.home-page .header-inner{gap:14px;}}
@media(max-width:1024px){.home-page .main-nav{gap:2px;}.home-page .main-nav > a,.home-page .nav-dropdown > a{font-size:15px;}.home-photo-note{display:none;}.home-ride-grid{padding:0 10px 15px;}.home-ride-grid > a{gap:9px;padding:14px 10px;}.home-ride-icon{width:32px;height:32px;}.home-ride-grid small{font-size:9px;}}
@media(max-width:760px){
 .home-page .announce-bar{font-size:10px;line-height:1.6;padding:6px 12px;}
 .home-page .header-inner{padding-top:12px;padding-bottom:12px;}
 .home-page .hero{min-height:0;}
 .home-page .hero-content{padding:48px 0 84px;}
 .home-page .hero h1{font-size:clamp(34px,8vw,48px);letter-spacing:-1.3px;}
 .home-page .hero .eyebrow{font-size:9px;letter-spacing:1.1px;margin-bottom:17px;}
 .home-page .hero p.lede{font-size:14px;max-width:360px;}
 .home-page .hero-bg::after{background:linear-gradient(90deg,#091d22d9,#091d2285),linear-gradient(0deg,#091d2299,transparent);}
 .home-page .hero-actions{gap:10px;}
 .home-page .hero-actions .btn{padding:13px 16px;font-size:12px;}
 .home-hero-trust{font-size:10px;gap:10px;}
 .home-hero-trust span+span::before{margin-right:10px;}
 .home-ride-picker{margin-top:-36px;}
 .home-picker-heading{padding:22px 20px 16px;}
 .home-picker-heading h2{font-size:18px;padding-right:0;max-width:270px;}
 .home-picker-heading > a{position:static;display:inline-block;margin-top:12px;}
 .home-ride-grid{grid-template-columns:1fr;padding:0 12px 12px;}
 .home-ride-grid > a{border-right:0;border-bottom:1px solid var(--border);padding:14px 8px;}
 .home-ride-grid > a:last-child{border-bottom:0;}
 .home-ride-grid strong{font-size:13px;}.home-ride-grid small{font-size:11px;}
 .home-ride-icon{width:38px;height:38px;}
 .home-page .stat-strip{margin-top:18px;}.home-page .stat-item{padding:16px 8px;}.home-page .stat-item:nth-child(2){border-right:0;}.home-page .stat-num{font-size:21px;}.home-page .stat-label{font-size:10px;}
 .home-page .section{padding:48px 0;}.home-page .home-intro .two-col{gap:25px;}.home-page .home-intro img{height:250px;}
 .home-page .section-head h2,.home-page .two-col h2{font-size:26px;}
 .home-page .call-float{padding:5px 14px 5px 5px;left:12px;bottom:78px;}
}
@media(prefers-reduced-motion:reduce){.home-page *{scroll-behavior:auto!important;animation:none!important;transition:none!important;}}

/* Keep card gutters and image sizing consistent throughout homepage rows. */
.home-page .slider-track{gap:20px;align-items:stretch;padding:2px 1px 8px;}
.home-page .slider-track > *{flex-basis:calc((100% - 60px)/4);}
/* cards line up with the section heading; arrows sit on the card edges */
.home-page .slider-wrap{padding:0;}
.home-page .slider-arrow.prev{left:-22px;}
.home-page .slider-arrow.next{right:-22px;}
@media(max-width:1024px){.home-page .slider-track > *{flex-basis:calc((100% - 20px)/2);}.home-page .slider-arrow.prev{left:6px;}.home-page .slider-arrow.next{right:6px;}}
@media(max-width:760px){.home-page .slider-track{gap:16px;}.home-page .slider-track > *{flex-basis:86%;}.home-page .exp-body{padding:16px;}}

/* Airbnb-style card rows on phones (same look as the boat rides page): borderless cards,
   square rounded photos, two cards per view with the next one peeking in. */
@media(max-width:760px){
  .home-page .slider-wrap:has(.exp-card) .slider-arrow{display:none;}
  .home-page .slider-wrap:has(.exp-card) .slider-viewport{margin:0 -20px;padding:0 20px;scroll-padding:0 20px;}
  .home-page .slider-track:has(.exp-card){gap:14px;padding:4px 0 6px;}
  .home-page .slider-track > .exp-card{flex-basis:46%;}
  .home-page .exp-card{background:none;border:none;border-radius:0;overflow:visible;}
  .home-page .exp-card:hover{box-shadow:none;}
  .home-page .exp-card:hover .exp-img img{transform:none;}
  .home-page .exp-img{aspect-ratio:1/1;border-radius:14px;overflow:hidden;}
  .home-page .exp-badge{top:8px;left:8px;background:#fff;color:var(--ink);font-size:10px;font-weight:700;padding:4px 9px;border-radius:50px;box-shadow:0 2px 8px rgba(0,0,0,.18);}
  .home-page .exp-body{padding:8px 2px 0;}
  .home-page .exp-top{gap:6px;}
  .home-page .exp-top h3{font-size:14px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .home-page .exp-rating{background:none;color:var(--ink);font-size:12.5px;padding:0;}
  .home-page .exp-sub{font-size:12.5px;line-height:1.35;margin:2px 0 3px;min-height:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .home-page .exp-price{border-top:none;padding-top:0;margin-top:0;font-size:12.5px;}
  .home-page .exp-price strong{font-size:14px;color:var(--ink);}
}

/* Give desktop section headings the full container width. */
@media(min-width:1025px){
  .home-page .section-head{max-width:none;}
  .home-page .section-head h2{font-size:clamp(22px,2.2vw,30px);white-space:nowrap;letter-spacing:-.7px;}
}


/* FAQ columns align with the section heading and expand independently. */
.home-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start;}
.home-faq-column{min-width:0;background:#fff;border:1px solid var(--border);border-radius:14px;padding:0 24px;}
.home-faq-column .faq-item:last-child{border-bottom:0;}
.home-page #faq .faq-q{gap:20px;min-height:88px;padding:20px 0;font-size:14px;line-height:1.6;}
.home-page #faq .faq-q .plus{flex-shrink:0;}
.home-page #faq .faq-a-inner{line-height:1.8;padding-bottom:22px;}
.home-page #faq .faq-a-inner a{color:#b54b2a;text-decoration:underline;text-underline-offset:3px;}
@media(max-width:760px){.home-faq-grid{grid-template-columns:1fr;gap:16px;}.home-faq-column{padding:0 18px;}.home-page #faq .faq-q{min-height:78px;font-size:13px;}}
