/* Shared pages and photographic vehicle imagery. */
.hero{height:620px;background:var(--green-dark)}.hero .hero-image{width:59%;left:auto;right:0;object-position:center;object-fit:cover}.hero-shade{background:linear-gradient(90deg,var(--green-dark) 0%,var(--green-dark) 37%,rgba(16,57,47,.95) 43%,rgba(16,57,47,.12) 67%,transparent 100%)}.hero-content{padding-top:67px}.hero .image-note{bottom:75px;font-size:11px;padding:5px 9px;background:#123f348c;border-radius:3px}.hero .image-note:hover{text-decoration:underline}.hero-content h1{font-size:clamp(42px,4.25vw,62px)}
.photo-card{padding:0!important;display:flex;flex-direction:column}.photo-card .photo-link{display:block;overflow:hidden}.vehicle-photo{margin:0;background:#eef2eb}.vehicle-photo img{display:block;width:100%;height:auto;aspect-ratio:1.56;object-fit:contain;background:#e7ece5}.vehicle-photo figcaption{font-size:10px;line-height:1.7;padding:9px 13px;color:#6d7d6b;background:#f4f6ef}.vehicle-photo figcaption a{text-decoration:underline;text-underline-offset:2px}.photo-card-body{padding:24px 25px 0;display:flex;flex-direction:column;flex:1}.photo-card-body .eyebrow{font-size:9px;letter-spacing:1.4px;margin-bottom:12px}.photo-card-body h3{font-size:28px;letter-spacing:-1px;font-weight:650;margin-bottom:12px}.photo-card-body p{flex:1;font-size:16px}.photo-card-body .fleet-cta{font-size:15px}.photo-card .fleet-tags{margin-bottom:20px}.photo-disclaimer{font-size:12px;text-align:center;max-width:760px;margin:22px auto 0;color:var(--muted);line-height:1.8}.page-intro{padding:56px 0 60px;background:#eef2e7;border-bottom:1px solid #e1e7da}.page-intro h1{font-size:clamp(36px,4.1vw,55px);line-height:1.22;letter-spacing:-2px;max-width:1050px}.page-intro .eyebrow{margin-bottom:14px}.page-intro p{max-width:740px;font-size:17px;line-height:1.85;margin-top:22px;color:#687a69}.page-back{display:inline-block;font-size:13px;margin-bottom:24px;color:#61775f}.page-back:hover{text-decoration:underline}.route-catalog{display:grid;grid-template-columns:1fr 1fr;gap:26px}.route-detail-card{border:1px solid #dfe6d8;border-radius:8px;padding:32px;display:flex;flex-direction:column;background:#fff}.route-detail-card:last-child{grid-column:1/-1;background:#f4f6ef}.route-card-top{display:flex;justify-content:space-between;align-items:center;color:#819278;font-size:11px;letter-spacing:1.6px;margin-bottom:24px}.route-card-top .icon{color:#b47742;width:21px;height:21px}.route-detail-card h2{font-size:27px;font-weight:600;letter-spacing:-1px}.route-detail-card h2 a:hover{color:#a65c24}.route-detail-card>p{font-size:16px;line-height:1.9;color:var(--muted);margin:18px 0;max-width:700px;flex:1}.route-card-tags{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 25px}.route-card-tags span{font-size:11px;padding:5px 9px;border-radius:3px;background:#eef3e7;color:#62765e}.card-buttons{border-top:1px solid var(--line);padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:15px}.card-buttons .text-link{font-size:13px;padding-bottom:6px}.card-buttons .button{font-size:13px;min-height:46px;padding:12px 16px}.detail-section{padding-top:60px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:64px;align-items:start}.detail-content h2{font-size:29px;letter-spacing:-1.2px;margin:34px 0 18px}.detail-content>h2:first-child{margin-top:0}.detail-content>p,.detail-content li{font-size:17px;line-height:1.95;color:var(--muted)}.detail-content p a{font-weight:600;color:var(--green);text-decoration:underline}.detail-journey{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:25px;background:#f3f6ed;border-radius:6px}.detail-journey>span{font-size:18px;font-weight:600;display:flex;align-items:center;gap:8px}.detail-journey>span:not(:last-child):after{content:'→';color:#98ad8e;margin-left:14px;font-weight:400}.detail-journey .icon{width:18px;height:18px;color:#ae6d38}.info-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px}.info-pair>div{padding:24px;border:1px solid var(--line);border-radius:6px}.info-pair span{font-size:10px;letter-spacing:1.6px;color:#86947a}.info-pair h3{font-size:21px;margin:12px 0}.info-pair p{font-size:15px;color:var(--muted);line-height:1.9}.detail-checklist{list-style:none;padding:0;margin:24px 0}.detail-checklist li{padding-left:27px;position:relative;margin:13px 0;font-size:16px;line-height:1.9}.detail-checklist li:before{content:'✓';position:absolute;left:0;top:0;color:#749365;font-size:17px}.inline-note{padding:21px 24px;background:#f3f5ed;border-left:3px solid #e19a59;border-radius:0 5px 5px 0;font-size:14px;line-height:1.9;color:#62745f;margin:25px 0}.trip-sidebar{position:sticky;top:118px;border-radius:8px;background:#f0f4e9;padding:29px}.trip-sidebar h2{font-size:27px;letter-spacing:-1px;line-height:1.4}.trip-sidebar>.eyebrow{font-size:10px;margin-bottom:15px}.trip-sidebar>p{font-size:13px;line-height:1.8;color:var(--muted);margin-top:16px}.trip-sidebar>p a{text-decoration:underline}.trip-sidebar>.button{width:100%;font-size:14px;margin-top:12px;min-height:49px;padding:14px 15px}.sidebar-facts{display:flex;flex-direction:column;gap:17px;padding:26px 0 14px;font-size:13px;color:#647c5d}.sidebar-facts>span{display:flex;gap:11px;align-items:center;line-height:1.7}.sidebar-facts .icon{width:19px;height:19px}.related-route{display:block;padding:24px 0;margin-top:35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.related-route>span{display:block;font-size:10px;letter-spacing:1.3px;color:var(--muted);margin-bottom:10px}.related-route strong{font-weight:550;font-size:21px;display:flex;align-items:center;justify-content:space-between}.related-route:hover strong{color:#a86428}.large-photo{border-radius:7px;overflow:hidden}.large-photo figcaption{font-size:12px;padding:12px 16px}.compact-links{display:flex;flex-direction:column;margin-top:25px}.compact-links a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);font-size:16px}.compact-links a:hover{color:#ac6b32}.compact-links .icon{width:18px;height:18px}.table-scroll{overflow-x:auto}.car-comparison{width:100%;border-collapse:collapse;font-size:15px;min-width:580px}.car-comparison caption{font-size:29px;font-weight:600;text-align:left;letter-spacing:-1px;padding-bottom:25px}.car-comparison th,.car-comparison td{text-align:left;padding:21px 23px;line-height:1.85;border-bottom:1px solid var(--line)}.car-comparison thead{background:#edf2e4;font-size:13px}.car-comparison tbody th{min-width:150px}.car-comparison td{color:var(--muted)}.car-comparison a{text-decoration:underline;text-underline-offset:4px}.booking-page-section{background:#f7f9f3;padding-top:55px}.booking-page-layout{display:grid;grid-template-columns:minmax(0,1.4fr) 1fr;gap:55px;align-items:start}.booking-panel{padding:35px;background:white;border:1px solid #dfe5d8;border-radius:8px}.booking-panel>h2{font-size:28px;margin-bottom:20px;scroll-margin-top:125px}.booking-panel .dialog-intro{font-size:15px}.booking-panel .form-grid label{font-size:14px}.booking-panel .form-grid input,.booking-panel .form-grid textarea,.booking-panel .form-grid select{font-size:16px}.booking-panel .privacy-note{font-size:12px}.booking-panel .submit-booking{font-size:15px}.booking-panel #booking-result{scroll-margin-top:120px}.booking-panel .result-intro{padding-top:6px}.booking-panel .result-intro p{font-size:15px}.booking-panel #booking-summary{font-size:15px}.booking-panel .result-actions{flex-wrap:wrap}.booking-panel .result-actions .button{font-size:13px;min-width:190px}.booking-guide{padding:15px 0;position:sticky;top:115px}.booking-guide ol{list-style:none;counter-reset:booking-step;margin:24px 0 30px;padding:0}.booking-guide li{counter-increment:booking-step;position:relative;padding-left:54px;margin-bottom:27px}.booking-guide li:before{content:counter(booking-step,decimal-leading-zero);position:absolute;left:0;top:0;width:35px;height:35px;display:grid;place-items:center;border:1px solid #bdcdb4;border-radius:50%;font-size:11px;color:#617758}.booking-guide strong{font-size:18px;font-weight:600}.booking-guide li p{font-size:15px;color:var(--muted);line-height:1.9;margin-top:10px;max-width:330px}.booking-help{background:#eaf0e0;padding:26px;border-radius:7px}.booking-help h3{font-size:19px;margin-bottom:20px}.booking-help a{display:block;font-size:18px;font-weight:600;margin-top:13px}.booking-help a:last-child{font-size:14px;font-weight:400;text-decoration:underline;text-underline-offset:4px}.small-note{font-size:12px;color:var(--muted);line-height:1.9;margin-top:20px}.contact-cards{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:23px}.contact-card{padding:30px;border:1px solid #dde5d6;border-radius:8px;display:flex;flex-direction:column;align-items:flex-start;transition:background .2s}.contact-card:hover{background:#f3f7ed}.contact-card>.icon{width:28px;height:28px;margin-bottom:26px;color:#a66c37}.contact-card>.zalo-word{margin-bottom:26px;font-size:18px;padding:5px;color:#286ab4}.contact-card>span:not(.zalo-word){font-size:9px;letter-spacing:1.5px;color:#7a8b6c;margin-bottom:13px}.contact-card strong{font-size:24px;font-weight:600;letter-spacing:-.8px;overflow-wrap:anywhere}.contact-card p{font-size:14px;color:var(--muted);line-height:1.9;margin-top:17px}.contact-card.email-card strong{font-size:17px;letter-spacing:-.3px}.contact-detail-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:75px;margin-top:75px}.contact-detail-layout h2{font-size:32px}.contact-detail-layout>div>p{font-size:16px;line-height:1.9;color:var(--muted);margin-top:22px}.contact-request{padding:34px;background:#f1f5e9;border-radius:7px;align-self:start}.contact-request .eyebrow{font-size:9px}.contact-request h2{font-size:27px}.contact-request .button{margin-top:10px;width:100%;font-size:14px}.credits-list{max-width:1100px}.credit-row{display:grid;grid-template-columns:280px 1fr;gap:35px;padding:30px 0;border-bottom:1px solid var(--line)}.credit-row:first-child{padding-top:0}.credit-row>img{width:100%;border-radius:6px}.credit-row h2{font-size:26px;margin:0 0 15px}.credit-row p{font-size:14px;color:var(--muted);line-height:1.9;margin:8px 0}.credit-row a{text-decoration:underline;text-underline-offset:4px}.mobile-contact>a:last-child{background:var(--green);color:#fff}.footer-bottom{flex-wrap:wrap;align-items:center}.booking-panel .result-disclaimer{font-size:12px}
@media(max-width:1100px){.detail-layout{grid-template-columns:minmax(0,1fr) 300px;gap:35px}.trip-sidebar{padding:24px}.trip-sidebar h2{font-size:24px}.hero .hero-image{width:64%}.hero-shade{background:linear-gradient(90deg,var(--green-dark),var(--green-dark) 28%,rgba(16,57,47,.9) 41%,rgba(16,57,47,.2) 69%,transparent)}.contact-cards{gap:16px}.contact-card{padding:24px}.contact-card strong{font-size:21px}.contact-detail-layout{gap:40px}.booking-page-layout{gap:35px;grid-template-columns:minmax(0,1.4fr) 1fr}.booking-panel{padding:25px}.photo-card-body{padding:22px 20px 0}}
@media(max-width:960px){.hero{height:600px}.hero-content h1{font-size:49px}.hero-shade{background:linear-gradient(90deg,var(--green-dark),rgba(16,57,47,.98) 33%,rgba(16,57,47,.6) 57%,rgba(16,57,47,.1))}.hero .hero-image{width:75%}.route-detail-card{padding:25px}.route-detail-card h2{font-size:23px}.route-card-tags{gap:6px}.route-card-tags span{font-size:10px}.card-buttons .button{font-size:12px;padding:12px}.card-buttons .text-link{font-size:12px;gap:12px}.detail-layout{grid-template-columns:minmax(0,1fr) 270px;gap:28px}.info-pair{grid-template-columns:1fr;gap:16px}.detail-content h2{font-size:26px}.detail-content>p{font-size:16px}.trip-sidebar h2{font-size:22px}.sidebar-facts{font-size:12px}.trip-sidebar>.button{font-size:12px}.photo-card-body h3{font-size:25px}.photo-card-body p{font-size:14px}.photo-card-body .fleet-cta{font-size:12px}.photo-card .vehicle-photo figcaption{font-size:8px;padding:7px 10px}.contact-cards{grid-template-columns:1fr 1fr}.contact-card.email-card{grid-column:1/-1}.booking-page-layout{grid-template-columns:minmax(0,1.5fr) 1fr;gap:27px}.booking-guide strong{font-size:16px}.booking-guide li p{font-size:13px}.booking-help{padding:20px}.booking-help a{font-size:16px}.booking-panel .form-grid{grid-template-columns:1fr}.booking-panel .form-grid label.full{grid-column:auto}}
@media(max-width:700px){.hero{height:790px}.hero-content{padding-top:42px}.hero-content h1{font-size:clamp(32px,8.7vw,52px)}.hero .hero-image{left:0;right:0;bottom:24px;top:auto;width:100%;height:340px;object-fit:contain;object-position:center bottom}.hero-shade{background:linear-gradient(180deg,var(--green-dark) 0%,var(--green-dark) 49%,rgba(16,57,47,.3) 60%,transparent 72%)}.hero .image-note{font-size:9px;bottom:90px;right:16px;padding:4px 7px}.hero-content>p{max-width:345px}.hero-caption{display:none}.page-intro{padding:37px 0 42px}.page-intro h1{font-size:32px;letter-spacing:-1.4px}.page-intro h1 br{display:none}.page-intro p{font-size:16px;margin-top:18px}.page-back{font-size:12px;margin-bottom:22px}.route-catalog{grid-template-columns:1fr;gap:20px}.route-detail-card:last-child{grid-column:auto}.route-detail-card{padding:25px}.route-detail-card h2{font-size:24px}.route-detail-card>p{font-size:16px}.route-card-tags span{font-size:10px}.card-buttons .text-link{font-size:12px}.card-buttons .button{font-size:12px}.route-card-top{margin-bottom:20px}.detail-section{padding-top:35px}.detail-layout{display:flex;flex-direction:column;gap:35px}.detail-content{width:100%}.trip-sidebar{width:100%;position:static;padding:28px;order:-1}.trip-sidebar h2{font-size:25px}.trip-sidebar>.button{font-size:14px}.sidebar-facts{font-size:13px;padding:20px 0 12px;gap:12px}.trip-sidebar>p{font-size:13px}.detail-journey{padding:21px;gap:10px}.detail-journey>span{font-size:15px;gap:7px}.detail-journey>span:not(:last-child):after{margin-left:7px}.detail-content h2{font-size:26px;margin-top:30px}.info-pair>div{padding:23px}.info-pair p{font-size:16px}.detail-content>p,.detail-content li{font-size:16px}.inline-note{font-size:13px;padding:20px}.related-route strong{font-size:19px}.large-photo figcaption{font-size:10px}.photo-card-body{padding:25px 25px 0}.photo-card-body h3{font-size:30px}.photo-card-body p{font-size:16px}.photo-card-body .fleet-cta{font-size:15px}.photo-card .vehicle-photo figcaption{font-size:10px;padding:10px 13px}.photo-card .vehicle-photo img{max-height:none}.photo-disclaimer{font-size:11px;text-align:left;line-height:1.9}.photo-card-body .eyebrow{font-size:10px}.car-comparison{font-size:14px}.car-comparison caption{font-size:25px}.car-comparison th,.car-comparison td{padding:18px}.booking-page-section{padding-top:30px}.booking-page-layout{display:flex;flex-direction:column;gap:35px}.booking-panel{width:100%;padding:25px 20px}.booking-panel>h2{font-size:25px}.booking-panel .form-grid{grid-template-columns:1fr}.booking-panel .form-grid label{font-size:13px}.booking-panel .result-actions .button{min-width:0;flex:auto}.booking-panel .dialog-intro{font-size:14px}.booking-guide{position:static;width:100%}.booking-guide li{padding-left:52px}.booking-guide strong{font-size:19px}.booking-guide li p{font-size:16px;max-width:none}.booking-help a{font-size:19px}.contact-cards{grid-template-columns:1fr;gap:18px}.contact-card.email-card{grid-column:auto}.contact-card{padding:28px}.contact-card strong{font-size:28px}.contact-card.email-card strong{font-size:18px}.contact-card>span:not(.zalo-word){font-size:10px}.contact-card p{font-size:16px}.contact-card>.icon,.contact-card>.zalo-word{margin-bottom:22px}.contact-detail-layout{grid-template-columns:1fr;gap:35px;margin-top:48px}.contact-detail-layout h2{font-size:29px}.contact-request{padding:26px}.contact-request h2{font-size:26px}.compact-links a{font-size:15px}.credit-row{grid-template-columns:1fr;gap:23px}.credit-row>img{max-width:420px}.credit-row h2{font-size:25px}.credit-row p{font-size:14px}.footer-bottom{display:block}.footer-bottom>a{margin-top:8px}}
@media(max-width:370px){.hero{height:770px}.hero-content h1{font-size:31px}.hero .hero-image{height:300px;bottom:44px}.page-intro h1{font-size:29px}.route-detail-card{padding:22px}.route-detail-card h2{font-size:21px}.card-buttons{flex-wrap:wrap}.contact-card.email-card strong{font-size:16px}.booking-panel{padding:23px 17px}}

/* Full-width scenic banner; keep the vehicle to the right of the page copy. */
.hero.hero-banner{height:clamp(620px,39.0625vw,750px)}
.hero.hero-banner .hero-image{inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center}
.hero-banner .hero-shade{background:linear-gradient(90deg,rgba(5,28,24,.90) 0%,rgba(5,28,24,.76) 26%,rgba(5,28,24,.37) 48%,rgba(5,28,24,.04) 70%),linear-gradient(0deg,rgba(5,28,24,.22),transparent 32%)}
.hero-banner .hero-content{padding-top:clamp(67px,5vw,96px)}
@media(max-width:960px) and (min-width:701px){
  .hero.hero-banner{height:600px}
  .hero.hero-banner .hero-image{object-position:72% center}
  .hero-banner .hero-shade{background:linear-gradient(90deg,rgba(5,28,24,.93),rgba(5,28,24,.79) 35%,rgba(5,28,24,.12) 75%)}
}
@media(max-width:700px){
  .hero.hero-banner{height:790px}
  .hero-banner .hero-content{padding-top:42px}
  .hero.hero-banner .hero-image{top:auto;bottom:35px;left:0;right:0;width:100%;height:300px;object-fit:cover;object-position:85% center}
  .hero-banner .hero-shade{background:linear-gradient(180deg,var(--green-dark) 0%,var(--green-dark) 55%,rgba(16,57,47,.55) 62%,transparent 74%)}
  .hero-banner .image-note{bottom:68px}
}
@media(max-width:370px){
  .hero.hero-banner{height:770px}
  .hero.hero-banner .hero-image{bottom:35px;height:290px}
}

/* Per-vehicle passenger capacity, amenities and booking actions. */
.vehicle-specs,.vehicle-features,.fleet-assurances{list-style:none;padding:0;margin:0}
.vehicle-specs{display:flex;flex-direction:column;gap:10px;border-block:1px solid var(--line);padding:16px 0;font-size:15px;line-height:1.65}
.vehicle-specs li,.vehicle-features li,.fleet-assurances li{display:flex;align-items:flex-start;gap:10px}
.vehicle-specs .icon,.vehicle-features .icon,.fleet-assurances .icon{width:18px;height:18px;margin-top:4px;color:#2e8562}
.vehicle-specs strong{font-weight:650;color:var(--green)}
.vehicle-features{display:flex;flex-direction:column;gap:13px;padding:20px 0;font-size:15px;line-height:1.7;color:#586e60}
.photo-card-body .fleet-tags{margin:18px 0}
.vehicle-actions{margin-top:auto;padding-top:4px}
.vehicle-actions .vehicle-book{width:100%;font-size:15px;text-transform:uppercase;letter-spacing:.3px;min-height:51px;padding:14px 16px}
.vehicle-actions .fleet-cta{border-top:0;font-size:14px;padding:16px 0 20px}
.fleet-assurances{display:flex;justify-content:center;flex-wrap:wrap;gap:14px 30px;margin-top:28px;font-size:14px;line-height:1.7;color:var(--green)}
.detail-content>.vehicle-specs{margin-top:24px;padding:20px 0;font-size:18px;gap:12px}
.detail-content>.vehicle-features-detail{font-size:17px;padding:0;gap:17px}
.detail-content>.fleet-assurances{justify-content:flex-start;flex-direction:column;gap:14px;padding:24px;background:#f1f5eb;border-radius:7px;margin:28px 0;font-size:15px}
@media(min-width:701px) and (max-width:960px){
 .photo-card-body .vehicle-specs,.photo-card-body .vehicle-features{font-size:14px;gap:12px}
 .vehicle-actions .vehicle-book{font-size:13px;padding:13px 10px}
 .vehicle-actions .fleet-cta{font-size:13px}
}
@media(max-width:700px){
 .vehicle-specs,.vehicle-features{font-size:16px}
 .fleet-assurances{flex-direction:column;align-items:flex-start;gap:13px;margin-top:24px;font-size:14px}
 .vehicle-actions .vehicle-book{font-size:15px}
 .vehicle-actions .fleet-cta{font-size:15px}
 .detail-content>.vehicle-specs{font-size:17px}
 .detail-content>.vehicle-features-detail{font-size:16px}
}
