/* Inner pages */
.page-hero{position:relative;isolation:isolate;color:#fff;background:radial-gradient(ellipse at 15% 0%,#007a69 0%,transparent 55%),radial-gradient(ellipse at 95% 100%,#00574c 0%,transparent 55%),linear-gradient(135deg,#003a36,#001e1e);padding:92px 0 26px;overflow:hidden}
.page-hero .eyebrow{color:#00e5c2}
.page-hero h1{font-size:32px;line-height:1.12;letter-spacing:-1.1px;font-weight:800;max-width:820px}
.page-hero .lead{max-width:680px;margin-top:8px;font-size:14px;line-height:1.5;color:#d6eeea;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.page-hero .hero-actions{display:none}
.breadcrumbs{margin-bottom:10px;font-size:12px;color:#9fd9cf}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.breadcrumbs li+li::before{content:"/";margin-right:6px;opacity:.6}
.breadcrumbs a{color:#c9fff4;text-decoration:underline;text-underline-offset:3px}
.breadcrumbs [aria-current]{color:#fff}
.page-section{padding:56px 0}
.page-section.alt{background:#fff;border-block:1px solid var(--line)}
.page-section h2{font-size:30px;line-height:1.18;letter-spacing:-.9px;font-weight:800}
.page-section .section-intro{color:var(--muted);font-size:15px;margin-top:8px;max-width:680px}
.split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center}
.split img{border-radius:16px;height:380px;box-shadow:var(--shadow)}
.prose p{font-size:15px;line-height:1.75;color:#34575a;margin-top:14px}
.prose h2{margin-top:6px}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:26px}
.info-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 6px 20px rgba(0,53,47,.06)}
.page-section.alt .info-card{background:var(--pale)}
.info-card .round-icon{margin-bottom:14px}
.info-card h3{font-size:17px;font-weight:750;margin-bottom:6px}
.info-card p{font-size:13.5px;color:var(--muted);line-height:1.6}
.info-card a{color:#007a68;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.stat-band{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:28px}
.stat-band .stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;text-align:center}
.stat-band strong{display:block;font-family:Manrope,sans-serif;font-size:30px;color:var(--teal);letter-spacing:-1px}
.stat-band span{font-size:12.5px;color:var(--muted)}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px;padding:0;list-style:none}
.steps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}
.steps li::before{content:"0" counter(s);display:block;font-family:Manrope,sans-serif;font-weight:800;font-size:26px;color:#00bba6;margin-bottom:6px}
.steps h3{font-size:17px;margin-bottom:6px}
.steps p{font-size:13.5px;color:var(--muted)}
.cta-band{background:linear-gradient(130deg,#003a36,#00534b);color:#fff;border-radius:18px;padding:36px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.cta-band h2{font-size:26px;letter-spacing:-.7px}
.cta-band p{color:#cdeee8;margin-top:6px;font-size:14px}
.cta-band .btn-row{display:flex;gap:12px;flex-wrap:wrap}
/* contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:start}
.contact-list{display:grid;gap:14px;margin-top:22px;padding:0;list-style:none}
.contact-list li{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}
.contact-list small{display:block;color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:1px}
.contact-list strong,.contact-list a{font-size:15px;font-weight:650}
.contact-list a:hover{color:#007a68}
.msg-form{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:var(--shadow);display:grid;gap:14px}
.msg-form label{display:grid;gap:6px;font-size:12.5px;font-weight:650}
.msg-form input,.msg-form textarea{width:100%;padding:12px 13px;border:1px solid #b6e0d8;border-radius:9px;background:#f6fffd;color:var(--ink)}
.msg-form input:focus,.msg-form textarea:focus{outline:3px solid #00bba733;border-color:#00a894}
.msg-form textarea{min-height:130px;resize:vertical}
.msg-form .note{font-size:12px;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
/* blog */
.post-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px;margin-top:28px}
.post-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;display:flex;flex-direction:column;gap:10px;box-shadow:0 6px 20px rgba(0,53,47,.06);transition:transform .2s,box-shadow .2s}
.post-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.post-card small{color:#009775;font-size:11px;text-transform:uppercase;letter-spacing:1.2px;font-weight:700}
.post-card h2,.post-card h3{font-size:20px;line-height:1.25;letter-spacing:-.4px}
.post-card p{font-size:13.5px;color:var(--muted)}
.post-card .more{margin-top:auto;font-weight:650;color:#007a68;font-size:13px}
.post-meta{margin-top:14px;font-size:12.5px;color:#9fd9cf}
.article{max-width:760px;margin-inline:auto}
.article h2{font-size:24px;margin-top:34px;letter-spacing:-.6px}
.article p,.article li{font-size:16px;line-height:1.8;color:#2f4f52;margin-top:14px}
.article ul{padding-left:22px}
.article a{color:#007a68;text-decoration:underline;text-underline-offset:3px}
.related{margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}
.related h2{font-size:20px;margin-top:0}
.related ul{list-style:none;padding:0;display:grid;gap:8px}
/* legal */
.legal{max-width:780px;margin-inline:auto}
.legal h2{font-size:22px;margin-top:30px;letter-spacing:-.5px}
.legal p,.legal li{font-size:15px;line-height:1.75;color:#34575a;margin-top:10px}
.legal ul{padding-left:22px}
.legal a{color:#007a68;text-decoration:underline;text-underline-offset:3px}
.legal .updated{font-size:13px;color:var(--muted)}
.footer-bottom a{font-size:10px;color:#aac6bf}
.footer-bottom a:hover{color:#fff}
/* services / destinations / vehicle pages */
.link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:26px}
.link-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 6px 20px rgba(0,53,47,.06);transition:transform .2s,box-shadow .2s}
.link-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.link-card img{height:170px;width:100%;object-fit:cover}
.link-card-body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.link-card small{color:#009775;font-size:11px;text-transform:uppercase;letter-spacing:1.2px;font-weight:700}
.link-card h3{font-size:18px;line-height:1.25;letter-spacing:-.3px}
.link-card p{font-size:13.5px;color:var(--muted)}
.link-card .more{margin-top:auto;font-weight:650;color:#007a68;font-size:13px}
.faq-list{display:grid;gap:10px;margin-top:22px;max-width:820px}
.faq-list details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 18px}
.faq-list summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;cursor:pointer;padding:16px 0;font-weight:650;font-size:15px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary .icon{width:16px;height:16px;transition:transform .2s;color:#00a894}
.faq-list details[open] summary .icon{transform:rotate(45deg)}
.faq-list details p{padding:0 0 16px;font-size:14.5px;line-height:1.7;color:#34575a}
.check-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.check-list li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px 14px 44px;position:relative;font-size:14.5px}
.check-list li::before{content:"";position:absolute;left:16px;top:50%;width:14px;height:8px;border-left:2.5px solid #00bba6;border-bottom:2.5px solid #00bba6;transform:translateY(-70%) rotate(-45deg)}
.info-card .cap{color:#007a68;font-weight:650;margin-bottom:8px}
.info-card .amen{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:6px;font-size:12.5px;color:var(--teal)}
.info-card .amen li{display:flex;gap:8px;align-items:center}
.info-card .amen .icon{width:15px;height:15px;color:#00a894}
.nav-group.open .dropdown{display:block}
@media(min-width:981px){.dropdown{max-height:70vh;overflow:auto}}

@media(max-width:980px){
  .page-hero{padding:88px 0 22px}
  .page-hero h1{font-size:28px;letter-spacing:-.9px}
  .split,.contact-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .split img{height:280px}
  .stat-band{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr}
  .cta-band{padding:28px 24px}
}
@media(max-width:560px){
  .page-hero h1{font-size:24px}
  .page-hero .lead{font-size:13px;-webkit-line-clamp:3}
  .page-section{padding:40px 0}
  .page-section h2{font-size:25px}
  .form-grid{grid-template-columns:1fr}
  .article p,.article li{font-size:15px}
}

/* ---- Fixes: short pages, balanced grids, image fallbacks ---- */
/* Keep the footer at the bottom of the viewport on short pages (e.g. 404) */
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body>main{flex:1 0 auto}
body>.site-footer{margin-top:auto}

/* Balance card rows: 6 cards -> 3x2 instead of 4+2 */
@media(min-width:981px){
  .card-grid:has(> :nth-child(6):last-child),
  .link-grid:has(> :nth-child(6):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
  .card-grid:has(> :nth-child(3):last-child),
  .link-grid:has(> :nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
}
.card-grid>*,.link-grid>*,.post-grid>*{min-width:0}

/* Soft placeholder where a photo is missing or still loading */
.split img,.link-card img{background:linear-gradient(135deg,#d8f2ec,#b5e3d9);color:transparent;font-size:0}
.split img{min-height:280px}

/* ---- Fleet page ---- */
.fleet-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:26px}
.fleet-filters{display:flex;flex-wrap:wrap;gap:8px}
.filter-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid #b6e0d8;border-radius:999px;background:#fff;color:var(--ink);font:600 13px Inter,sans-serif;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.filter-btn span{font-size:11px;font-weight:700;background:#e1faf3;color:#007a68;border-radius:999px;padding:2px 7px}
.filter-btn:hover{border-color:#00a894}
.filter-btn:focus-visible{outline:3px solid #00bba733;outline-offset:2px}
.filter-btn.is-active{background:#003a36;border-color:#003a36;color:#fff}
.filter-btn.is-active span{background:#00e5c2;color:#00322d}
.fleet-count{font-size:13px;color:var(--muted)}
.fleet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.fleet-grid .fleet-card{scroll-snap-align:none}
.fleet-grid .fleet-card[hidden]{display:none}
.fleet-grid .fleet-image{position:relative;height:210px}
.fleet-grid .fleet-card .fleet-image img{filter:none}
.fleet-grid .fleet-card:hover .fleet-image img{transform:scale(1.045)}
.fleet-tag{position:absolute;left:10px;top:10px;padding:4px 10px;border-radius:999px;background:#003a36e6;color:#7ff5e0;font-size:10.5px;font-weight:700;letter-spacing:.4px}
.fleet-grid .fleet-body{padding:15px 16px 17px}
.fleet-grid .fleet-title h3{font-size:17px}
.fleet-grid .fleet-title p{font-size:12px}
.fleet-blurb{font-size:12.5px;line-height:1.5;color:#c4e8e1;margin:-2px 0 10px}
.fleet-grid .amenities li{font-size:11.5px}
.fleet-grid .fleet-body .btn{min-height:38px;font-size:12px}
.fleet-note{margin-top:22px;font-size:12.5px;color:var(--muted);text-align:center}
@media(max-width:980px){.fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
  .fleet-grid{grid-template-columns:minmax(0,1fr)}
  .fleet-filters{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:4px;scrollbar-width:none}
  .filter-btn{white-space:nowrap;flex:0 0 auto}
}
.fleet-grid .fleet-card{display:flex;flex-direction:column}
.fleet-grid .fleet-body{flex:1;display:flex;flex-direction:column}
.fleet-grid .fleet-body .btn{margin-top:auto}
.fleet-grid .fleet-image img{background:linear-gradient(135deg,#d8f2ec,#b5e3d9);color:transparent;font-size:0}

/* ---- Inner-page hero: background image + overlay ---- */
.page-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--hero-img) center 55%/cover no-repeat}
.page-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,28,28,.93) 0%,rgba(0,40,36,.8) 50%,rgba(0,40,36,.58) 100%),linear-gradient(0deg,rgba(0,30,28,.45),transparent 60%)}
.page-hero>.container{position:relative;z-index:1}
.page-hero{--hero-img:url("https://images.unsplash.com/photo-1570125909232-eb263c188f7e?auto=format&fit=crop&w=1800&q=75")}
.page-hero.hero-bus{--hero-img:url("https://images.unsplash.com/photo-1570125909232-eb263c188f7e?auto=format&fit=crop&w=1800&q=75")}
.page-hero.hero-coach{--hero-img:url("https://images.unsplash.com/photo-1544620347-c4fd4a3d5957?auto=format&fit=crop&w=1800&q=75")}
.page-hero.hero-scenic{--hero-img:url("https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?auto=format&fit=crop&w=1800&q=75")}
.page-hero.hero-road{--hero-img:url("https://images.unsplash.com/photo-1473448912268-2022ce9509d8?auto=format&fit=crop&w=1800&q=75")}
.page-hero.hero-city{--hero-img:url("https://images.unsplash.com/photo-1517935706615-2717063c2225?auto=format&fit=crop&w=1800&q=75")}
.page-hero.hero-team{--hero-img:url("https://images.unsplash.com/photo-1521737711867-e3b97375f902?auto=format&fit=crop&w=1800&q=75")}
@media(max-width:560px){.page-hero::after{background:linear-gradient(180deg,rgba(0,28,28,.88),rgba(0,40,36,.8))}}
