/* Existing H2OH palette. Small native rate comparisons; no new fonts or scripts. */
#h2oh-homepage .h2r-fleet-price-note{max-width:1280px;margin:22px auto 0;color:inherit;font-size:15px;line-height:1.55}
#h2oh-homepage .h2r-fleet-rate-wrap{padding:14px 12px 18px;border-top:1px solid #c9dfe3;color:#123f52;background:#f2f8f7}
#h2oh-homepage .h2r-fleet-rate-label{font-size:13px;font-weight:700;line-height:1.4;margin:0 0 10px}
#h2oh-homepage .h2r-fleet-rates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0}
#h2oh-homepage .h2r-fleet-rates>div{min-width:0;padding:8px 0}
#h2oh-homepage .h2r-fleet-rates dt{font-size:13px;font-weight:700;margin:0 0 5px}
#h2oh-homepage .h2r-fleet-rates dd{margin:0;min-width:0;font-size:14px;line-height:1.45}
#h2oh-homepage .h2r-fleet-rates strong,#h2oh-homepage .h2r-fleet-rates span{display:block;overflow-wrap:anywhere}
#h2oh-homepage .h2r-fleet-rates strong{font-size:16px;color:#07556b}
#h2oh-homepage .h2r-fleet-rates span{font-size:12px;margin-top:4px;color:#375766}
@media(max-width:650px){
#h2oh-homepage .h2r-fleet-rates{grid-template-columns:1fr;gap:0}
#h2oh-homepage .h2r-fleet-rates>div{display:grid;grid-template-columns:62px minmax(0,1fr);gap:12px;border-top:1px solid #d6e5e7;padding:10px 0}
#h2oh-homepage .h2r-fleet-rates>div:first-child{border-top:0}
#h2oh-homepage .h2r-fleet-rates dt{margin:0}
#h2oh-homepage .h2r-fleet-rates dd{text-align:right}
#h2oh-homepage .h2r-fleet-price-note{font-size:14px}
}
/* Readable planning answers on the reviewed English Playa, Tulum, Puerto Aventuras and Riviera Maya pages. */
html:lang(en) body.page-id-51643 #h2oh-homepage .h2r-charter-planning>h2,html:lang(en) body.page-id-51846 #h2oh-homepage .h2r-charter-planning>h2,html:lang(en) body.page-id-51797 #h2oh-homepage .h2r-charter-planning>h2,html:lang(en) body.page-id-49730 #h2oh-homepage .h2r-charter-planning>h2{font-size:clamp(30px,3.5vw,44px);line-height:1.18;max-width:1000px;margin:0 0 1.25rem}
html:lang(en) body.page-id-51643 #h2oh-homepage .h2r-charter-planning>h3,html:lang(en) body.page-id-51846 #h2oh-homepage .h2r-charter-planning>h3,html:lang(en) body.page-id-51797 #h2oh-homepage .h2r-charter-planning>h3,html:lang(en) body.page-id-49730 #h2oh-homepage .h2r-charter-planning>h3{font-size:clamp(20px,2vw,26px);line-height:1.3;margin:1.75rem 0 .65rem}
html:lang(en) body.page-id-51643 #h2oh-homepage .h2r-charter-planning>p,html:lang(en) body.page-id-51846 #h2oh-homepage .h2r-charter-planning>p,html:lang(en) body.page-id-51797 #h2oh-homepage .h2r-charter-planning>p,html:lang(en) body.page-id-49730 #h2oh-homepage .h2r-charter-planning>p{max-width:1050px;line-height:1.65;margin:.75rem 0 1rem}
html:lang(en) body.page-id-51643 #h2oh-homepage .h2r-charter-planning a,html:lang(en) body.page-id-51846 #h2oh-homepage .h2r-charter-planning a,html:lang(en) body.page-id-51797 #h2oh-homepage .h2r-charter-planning a,html:lang(en) body.page-id-49730 #h2oh-homepage .h2r-charter-planning a{text-decoration:underline;text-underline-offset:.2em;font-weight:600}
html:lang(en) body.page-id-51643 #h2oh-homepage .h2r-charter-planning a:focus-visible,html:lang(en) body.page-id-51846 #h2oh-homepage .h2r-charter-planning a:focus-visible,html:lang(en) body.page-id-51797 #h2oh-homepage .h2r-charter-planning a:focus-visible,html:lang(en) body.page-id-49730 #h2oh-homepage .h2r-charter-planning a:focus-visible{outline:2px solid #07556b;outline-offset:4px}
/* Compact native planning answers on the two reviewed English destinations. */
#h2oh-homepage .h2r-charter-planning .h2r-planning-question{max-width:1050px;border-top:1px solid #c9dfe3}
#h2oh-homepage .h2r-planning-question>summary{padding:1rem 0;cursor:pointer;color:#123f52}
#h2oh-homepage .h2r-planning-question>summary h3{display:inline;font-size:clamp(20px,2vw,26px);line-height:1.3;margin:0}
#h2oh-homepage .h2r-planning-question>summary:focus-visible{outline:2px solid #07556b;outline-offset:4px}
#h2oh-homepage .h2r-planning-question[open]>summary{padding-bottom:.65rem}
#h2oh-homepage .h2r-planning-answer p{max-width:1050px;line-height:1.65;margin:0 0 1rem}

/* Clear media above a visible six-destination strip and the existing booking actions. */
#h2oh-homepage .hero.h2r-hero-clear{min-height:480px;height:62svh;max-height:700px;padding:42px 6vw;align-items:flex-end;justify-content:center}
#h2oh-homepage .h2r-hero-clear .heroContent{width:100%;max-width:1050px;margin:0;padding:0;position:relative}
#h2oh-homepage .h2r-hero-clear h1{font-size:clamp(32px,3.6vw,50px);line-height:1.15;margin:0;color:#fff}
#h2oh-homepage .h2r-hero-clear .h2r-hero-short{max-width:720px;margin:14px auto 0;font-size:18px;line-height:1.45;color:#fff}
#h2oh-homepage .h2r-hero-clear .heroShade{background:linear-gradient(180deg,rgba(5,45,66,.08) 0%,rgba(5,45,66,.12) 45%,rgba(5,45,66,.78) 100%)}
#h2oh-homepage .h2r-hero-details{color:#123f52;background:#fff;text-align:center}
#h2oh-homepage .h2r-hero-destinations{background:#f2f8f7;border-bottom:1px solid #c9dfe3;padding:20px 5vw}
#h2oh-homepage .h2r-hero-location-links{margin:0;font-size:14px;line-height:1.5;color:#375766}
#h2oh-homepage .h2r-hero-location-links>span{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:8px;row-gap:5px;margin-top:6px;font-size:17px;font-weight:700;color:#123f52}
#h2oh-homepage .h2r-hero-location-links a{display:inline-block;padding:8px 2px;color:#07556b;text-decoration:underline;text-underline-offset:.2em}
#h2oh-homepage .h2r-hero-location-links a:focus-visible{outline:2px solid #07556b;outline-offset:3px}
#h2oh-homepage .h2r-hero-details-inner{max-width:1050px;margin:0 auto;padding:26px 6vw 32px}
#h2oh-homepage .h2r-hero-details .actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:0 0 22px}
#h2oh-homepage .h2r-hero-details .actions a{min-height:48px;max-width:100%;white-space:normal}
#h2oh-homepage .h2r-hero-detail-copy{max-width:900px;margin:0 auto 14px;font-size:17px;line-height:1.6;color:#123f52}
#h2oh-homepage .h2r-hero-proof{margin:22px auto 0;color:#375766}
#h2oh-homepage .h2r-hero-eyebrow{margin:0 0 10px;font-size:12px;font-weight:700;line-height:1.6;letter-spacing:.12em;color:#375766}
#h2oh-homepage .h2r-hero-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;font-size:13px;line-height:1.5;color:#375766}
@media(max-width:767px){
#h2oh-homepage .hero.h2r-hero-clear{min-height:400px;height:58svh;max-height:580px;padding:34px 6vw}
#h2oh-homepage .h2r-hero-clear h1{font-size:clamp(30px,6.6vw,40px);line-height:1.14}
#h2oh-homepage .h2r-hero-clear .h2r-hero-short{max-width:34ch;margin-top:12px;font-size:16px}
#h2oh-homepage .h2r-hero-destinations{padding:16px 5vw}
#h2oh-homepage .h2r-hero-location-links>span{font-size:16px;column-gap:6px;row-gap:2px}
#h2oh-homepage .h2r-hero-details-inner{padding:22px 6vw 28px}
#h2oh-homepage .h2r-hero-detail-copy{font-size:16px}
}
/* Compact top headings; keep the middle of the image or video open. */
#h2oh-homepage .hero.h2r-hero-clear{min-height:440px;height:55svh;max-height:650px;align-items:flex-start}
#h2oh-homepage .h2r-hero-clear .heroContent{max-width:1180px}
#h2oh-homepage .h2r-hero-clear h1{font-size:clamp(28px,2.9vw,40px);line-height:1.2}
#h2oh-homepage .h2r-hero-clear h1 br{display:none}
#h2oh-homepage .h2r-hero-clear h1 em{font-style:normal;margin-left:.25em}
#h2oh-homepage .h2r-hero-clear h1 .h2r-location-name{display:inline}
#h2oh-homepage .h2r-hero-clear .heroShade{background:linear-gradient(180deg,rgba(5,45,66,.72) 0%,rgba(5,45,66,.2) 30%,rgba(5,45,66,.08) 100%)}
@media(max-width:767px){
#h2oh-homepage .hero.h2r-hero-clear{min-height:360px;height:52svh;max-height:560px;padding:30px 6vw}
#h2oh-homepage .h2r-hero-clear h1{font-size:clamp(28px,6.4vw,34px);line-height:1.18}
}
/* Match the compact heading on the two existing split-layout heroes. */
#h2oh-homepage #h2oh-directory .hd-hero h1,#h2oh-homepage .h2partner .partner-hero h1{font-size:clamp(28px,2.3vw,34px);line-height:1.2}
#h2oh-homepage #h2oh-directory .hd-hero h1 br{display:none}
#h2oh-homepage #h2oh-directory .hd-hero h1 em{font-style:normal;margin-left:.25em}
#h2oh-homepage .h2r-hero-proof{margin:0 auto 18px}
.h2partner .h2r-hero-details{margin-top:26px;border:1px solid #c9dfe3;border-radius:12px;overflow:hidden}
@media(max-width:767px){#h2oh-homepage #h2oh-directory .hd-hero h1,#h2oh-homepage .h2partner .partner-hero h1{font-size:28px}}
/* Keep all six destination links and both CTAs in a compact lower hero group. */
#h2oh-homepage .h2r-hero-clear .heroContent{display:flex;flex-direction:column;justify-content:space-between;align-items:center;height:100%;gap:24px}
#h2oh-homepage .h2r-hero-clear h1{flex-shrink:0;width:100%}
#h2oh-homepage .h2r-hero-booking{width:100%;flex-shrink:0}
#h2oh-homepage .h2r-hero-booking .actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:14px 0 0}
#h2oh-homepage .h2r-hero-booking .actions>a.btn,#h2oh-homepage #top .h2r-hero-booking .actions>.btn{box-sizing:border-box;min-width:0;width:160px;min-height:44px;height:auto;max-width:100%;flex:0 1 160px;padding:11px 14px;font-size:14px;line-height:1.25;white-space:normal;text-align:center}
#h2oh-homepage .h2r-hero-clear .h2r-hero-destinations{max-width:1050px;margin:0 auto;padding:0;background:none;border:0}
#h2oh-homepage .h2r-hero-clear .h2r-hero-location-links{color:#fff;font-size:13px;text-shadow:0 1px 3px rgba(0,0,0,.6)}
#h2oh-homepage .h2r-hero-clear .h2r-hero-location-links>span{margin-top:4px;font-size:16px;line-height:1.4;color:#fff;column-gap:8px;row-gap:2px}
#h2oh-homepage .h2r-hero-clear .h2r-hero-location-links a{padding:6px 2px;color:#fff}
#h2oh-homepage .h2r-hero-clear .h2r-hero-location-links a:focus-visible{outline-color:#fff}
#h2oh-homepage .h2r-hero-clear .heroShade{background:linear-gradient(180deg,rgba(5,45,66,.72) 0%,rgba(5,45,66,.18) 30%,rgba(5,45,66,.08) 50%,rgba(5,45,66,.24) 65%,rgba(5,45,66,.8) 100%)}
#h2oh-homepage #h2oh-directory .hd-hero>.h2r-hero-booking,#h2oh-homepage .h2partner .partner-hero>.h2r-hero-booking{grid-column:1/-1;max-width:100%}
@media(max-width:767px){
#h2oh-homepage .hero.h2r-hero-clear{min-height:560px;height:72svh;max-height:700px;padding:28px 6vw}
#h2oh-homepage .h2r-hero-clear .h2r-hero-location-links>span{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 8px;font-size:14px}
#h2oh-homepage .h2r-hero-clear .h2r-hero-location-links .locationSeparator{display:none}
#h2oh-homepage .h2r-hero-clear .h2r-hero-location-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:4px 0}
#h2oh-homepage .h2r-hero-booking .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:336px;margin:12px auto 0;padding:0;align-items:stretch;justify-items:stretch}
#h2oh-homepage .h2r-hero-booking .actions>a.btn,#h2oh-homepage #top .h2r-hero-booking .actions>.btn{box-sizing:border-box;min-width:0;width:100%;max-width:100%;height:auto;min-height:44px;flex:none;padding:10px 8px;font-size:13px;line-height:1.25}
#h2oh-homepage .h2r-hero-clear .videoToggle{top:46%;bottom:auto;right:12px;font-size:11px}
}
/* Hero fills the usable viewport BELOW header; the location links and booking buttons stay visible at the bottom. */
#h2oh-homepage .hero,#h2oh-homepage .hero.h2r-hero-clear{height:calc(100svh - 140px)!important;min-height:max(550px,calc(100svh - 140px))!important;max-height:none!important}
#h2oh-homepage .hero.h2r-hero-clear{display:flex!important;align-items:stretch!important;justify-content:center!important}
#h2oh-homepage .hero.h2r-hero-clear .heroContent{min-height:0!important;height:100%!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important}
@media(max-width:767px){#h2oh-homepage .hero,#h2oh-homepage .hero.h2r-hero-clear{height:calc(100svh - 118px)!important;min-height:max(540px,calc(100svh - 118px))!important;max-height:none!important}#h2oh-homepage .hero.h2r-hero-clear .heroContent{height:100%!important;min-height:0!important}}
/* Homepage: show the video's original opening frame immediately, then reveal its first decoded frame. */
body.home #h2oh-homepage .hero{background-image:none!important}
body.home #h2oh-homepage .hero .heroPoster{display:block!important;visibility:visible!important;opacity:1!important}
body.home #h2oh-homepage .hero .heroVideo{background:transparent!important;opacity:0}
body.home #h2oh-homepage .hero.h2r-video-ready .heroVideo,body.home #h2oh-homepage .hero .h2r-hero-media.h2r-video-ready .heroVideo{opacity:1}
/* Homepage only: active hero video fills the full-height hero. Location pages retain one uncropped still photo. */
body.home #h2oh-homepage .hero .h2r-hero-media,body.home #h2oh-homepage .hero .heroVideo{width:100%!important;height:100%!important}
body.home #h2oh-homepage .hero .heroVideo{object-fit:cover!important;object-position:center center!important}
/* DESKTOP ONLY: anchor the large hero logo inside the hero itself, away from the header. Mobile is untouched. */
@media(min-width:1001px){
 body.h2oh-rebuild #h2oh-homepage .hero.h2r-hero-clear>.heroContent{max-width:none!important;width:100%!important;margin:0!important;position:relative!important}
 body.h2oh-rebuild #h2oh-homepage .hero.h2r-hero-clear>.heroContent>a.h2r-hero-logo{display:block!important;visibility:visible!important;position:absolute!important;left:8.3vw!important;top:125px!important;right:auto!important;bottom:auto!important;margin:0!important;padding:0!important;transform:none!important;align-self:auto!important;justify-self:auto!important;width:190px!important;height:190px!important;min-width:190px!important;min-height:190px!important;max-width:none!important;z-index:10!important}
 body.h2oh-rebuild #h2oh-homepage .hero.h2r-hero-clear>.heroContent>a.h2r-hero-logo>img{display:block!important;width:190px!important;height:190px!important;min-width:190px!important;min-height:190px!important;max-width:none!important;max-height:none!important;object-fit:contain!important}
}
/* MOBILE FIX: the menu has no logo. Anchor the original linked logo INSIDE the hero, below the headline. */
@media(max-width:1000px){
 body.h2oh-rebuild #h2oh-homepage header.h2n-header a.h2n-logo,body.h2oh-rebuild #h2oh-homepage header.h2n-header .h2r-hero-logo{display:none!important;visibility:hidden!important}
 body.h2oh-rebuild #h2oh-homepage section.hero.h2r-hero-clear{position:relative!important}
 body.h2oh-rebuild #h2oh-homepage section.hero.h2r-hero-clear>.heroContent{position:relative!important}
 body.h2oh-rebuild #h2oh-homepage section.hero.h2r-hero-clear>.heroContent>a.h2n-logo.h2r-hero-logo{display:none!important;visibility:hidden!important;position:absolute!important;left:20px!important;top:360px!important;right:auto!important;bottom:auto!important;margin:0!important;padding:0!important;transform:none!important;align-self:auto!important;justify-self:auto!important;width:108px!important;height:108px!important;min-width:108px!important;min-height:108px!important;max-width:none!important;max-height:none!important;z-index:12!important}
 body.h2oh-rebuild #h2oh-homepage section.hero.h2r-hero-clear>.heroContent>a.h2n-logo.h2r-hero-logo>img{display:block!important;visibility:visible!important;width:108px!important;height:108px!important;min-width:108px!important;min-height:108px!important;max-width:none!important;max-height:none!important;object-fit:contain!important}
}
/* Center the destination block within the hero and above the CTA pair. */
#h2oh-homepage .h2r-hero-booking .h2r-hero-destinations{display:block;text-align:center}
#h2oh-homepage .h2r-hero-booking .h2r-hero-location-links{width:100%;max-width:none;margin:0 auto;text-align:center}
/* Give the mobile hero buttons clear space above the existing Contact and consent launchers. */
@media(max-width:600px){body.home #h2oh-homepage .hero.h2r-hero-clear>.heroContent{box-sizing:border-box;padding-bottom:calc(44px + env(safe-area-inset-bottom,0px) + var(--h2r-contact-review-offset,0px))!important}}


