:root{--blue:#0750ff;--coral:#ff623f;--lime:#d7ff36;--ink:#101010;--gutter:clamp(24px,4vw,64px)}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button, a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:6px}button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2}a{color:inherit}.skip-link{position:absolute;left:20px;top:-100px;z-index:20;padding:14px;background:#fff}.skip-link:focus{top:12px}.site-header{max-width:1440px;margin:auto;min-height:112px;padding:16px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:32px;position:relative;z-index:5}.brand{width:252px;flex-shrink:0;text-decoration:none;display:flex;flex-direction:column;align-items:center}.brand-logo{display:block;width:100%;height:79px;object-fit:contain}.brand span{font-size:10px;letter-spacing:-.15px;margin-top:-5px;font-weight:600}.primary-navigation{display:flex;align-items:center;gap:clamp(20px,3vw,44px)}.primary-navigation>button{background:none;border:0;padding:12px 0;min-height:44px;font-size:14px;font-weight:700}.primary-navigation>button:hover{color:var(--blue)}.action{min-height:56px;border:0;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:16px 26px;font-size:17px;font-weight:700;text-decoration:none;transition:background .18s,transform .18s}.action:hover{transform:translateY(-2px)}.action-coral{background:var(--coral);color:#101010}.action-coral:hover{background:#ff785a}.primary-navigation>.action-outline{border:1.5px solid var(--blue);color:var(--blue);padding:12px 24px;min-width:132px;border-radius:6px}.action-outline svg{width:17px;height:17px}.menu-toggle{display:none}.hero{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:44% 56%;min-height:590px;border-bottom:10px solid var(--blue)}.hero-copy{position:relative;z-index:2;padding:64px 12px 66px var(--gutter);align-self:center}.eyebrow{color:#d83a1c;font-family:'Arial Narrow',Arial,sans-serif;text-transform:uppercase;letter-spacing:1.6px;font-size:15px;font-weight:700;margin:0 0 16px}.hero h1{font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(72px,8.45vw,122px);font-weight:400;letter-spacing:-.035em;text-transform:uppercase;line-height:.98;margin:0 0 20px}.hero h1>span{display:block;white-space:nowrap}.hero h1 em{font-style:normal;color:var(--blue)}.hero-description{font-family:'Arial Narrow',Arial,sans-serif;max-width:370px;font-size:18px;line-height:1.45;margin:0 0 26px}.hero-visual{position:relative;min-width:0;align-self:stretch}.hero-photo{height:100%;overflow:hidden;border-radius:48% 48% 0 0 / 43% 43% 0 0;background:#21c5d7}.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}.day-sticker{position:absolute;bottom:22px;left:-35px;width:144px;height:144px;border-radius:50%;background:var(--lime);transform:rotate(-16deg);display:flex;align-items:center;justify-content:center;flex-direction:column;color:#101010}.day-sticker svg{width:44px;height:42px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;margin-top:-7px}.day-sticker span{font:400 25px/.98 Impact,'Arial Narrow',sans-serif;text-transform:uppercase;text-align:center}.day-sticker i{width:46px;border-bottom:2px solid;margin-top:8px;transform:rotate(-8deg)}.preview-dialog{border:0;border-radius:12px;padding:44px 32px 32px;width:min(440px,calc(100% - 40px));box-shadow:0 20px 100px #00134433}.preview-dialog::backdrop{background:#07132e77}.preview-dialog h2{font:400 42px/1 Impact,'Arial Narrow',sans-serif;text-transform:uppercase;margin:12px 0}.preview-dialog p{line-height:1.6}.preview-dialog .eyebrow{font-size:11px}.dialog-close{position:absolute;right:10px;top:8px;width:44px;height:44px;background:none;border:0;font-size:30px}.preview-dialog .action{font-size:14px}.body-content{padding:24px var(--gutter)}
@media(min-width:1440px){.hero{min-height:650px}}
@media(max-width:1050px){.brand{width:205px}.primary-navigation{gap:22px}.hero{min-height:510px}.hero-copy{padding-top:44px;padding-bottom:50px}.hero h1{font-size:8.4vw}.hero-description{font-size:16px}.day-sticker{width:125px;height:125px}.day-sticker span{font-size:22px}}
@media(max-width:760px){.site-header{min-height:100px;padding:10px 20px;gap:16px}.brand{width:210px}.brand-logo{height:72px}.brand span{font-size:8px;margin-top:-3px}.menu-toggle{width:44px;height:44px;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;border:0;background:transparent}.menu-toggle span{width:25px;height:2px;background:var(--ink);transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(8px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-8px) rotate(-45deg)}.primary-navigation{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:18px 24px 24px;box-shadow:0 18px 20px #07132e14;border-top:1px solid #e4e7ee;gap:4px;align-items:stretch}.primary-navigation.is-open{display:flex;flex-direction:column}.primary-navigation>button{text-align:left;padding:14px 8px}.primary-navigation>.action-outline{margin-top:8px;justify-content:space-between}.hero{display:flex;flex-direction:column;min-height:0;border-bottom-width:8px}.hero-copy{align-self:stretch;padding:28px 20px 30px}.eyebrow{font-size:13px;letter-spacing:1.2px;margin-bottom:12px}.hero h1{font-size:clamp(68px,16vw,116px);line-height:.99;margin-bottom:14px}.hero-description{font-size:18px;max-width:320px;margin-bottom:22px}.hero-copy .action{width:100%;max-width:400px;min-height:54px}.hero-visual{width:100%;height:auto;aspect-ratio:365 / 299}.hero-photo{border-radius:48% 48% 0 0 / 40% 40% 0 0}.day-sticker{left:12px;bottom:16px;width:124px;height:124px}.day-sticker span{font-size:23px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}




.hero h1.hero-title-rentals{font-size:clamp(38px,4.75vw,68px);line-height:1.06}
@media(max-width:760px){.hero h1.hero-title-rentals{font-size:clamp(32px,8.5vw,64px)}}

/* Experience stories */
.experiences { background: var(--blue); color: #fff; scroll-margin-top: 24px; }
.experiences-inner { max-width: 1440px; margin: auto; padding: 48px var(--gutter) 52px; }
.experiences-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.experiences h2 { font: 400 clamp(48px, 6.5vw, 94px)/.98 Impact, 'Arial Narrow', sans-serif; text-transform: uppercase; letter-spacing: -.025em; margin: 0; }
.experiences h2 svg { width: .85em; height: .68em; margin-left: .15em; fill: none; stroke: var(--coral); stroke-width: 10; vertical-align: baseline; }
.experiences-motto { margin: 4px 0 0; font-size: 13px; line-height: 1.65; text-transform: uppercase; letter-spacing: 3px; }
.experience-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 34px; align-items: start; }
.experience-card { min-width: 0; position: relative; }
.experience-card:nth-child(2) { margin-top: -18px; }
.experience-card:nth-child(3) { margin-top: -36px; }
.experience-photo { aspect-ratio: 1.5; overflow: hidden; clip-path: polygon(0 8%, 100% 0, 100% 100%, 0 100%); }
.experience-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(1.14); }
.experience-number { position: relative; display: block; margin: -34px 0 0 10px; font: 400 34px/1 Impact, 'Arial Narrow', sans-serif; text-shadow: 0 1px 5px #0005; }
.experience-card h3 { font: 400 clamp(26px, 2.8vw, 40px)/1.08 Impact, 'Arial Narrow', sans-serif; text-transform: uppercase; margin: 10px 0 5px; }
.experience-card p { margin: 0; font-family: 'Arial Narrow', Arial, sans-serif; font-size: 17px; line-height: 1.4; }
.primary-navigation > a { display: inline-flex; align-items: center; min-height: 44px; padding: 12px 0; font-size: 14px; font-weight: 700; text-decoration: none; }
.primary-navigation > a:hover { color: var(--blue); }
@media(max-width:760px) {
    .primary-navigation > a { padding: 14px 8px; }
    .experiences-inner { padding: 36px 20px 40px; display: flex; flex-direction: column; }
    .experiences-heading { display: contents; }
    .experiences h2 { font-size: clamp(42px, 10.5vw, 72px); }
    .experience-grid { grid-template-columns: 1fr; gap: 28px; margin-top: 28px; }
    .experience-card:nth-child(2), .experience-card:nth-child(3) { margin-top: 0; }
    .experience-photo { aspect-ratio: 1.5; }
    .experience-card h3 { font-size: 32px; }
    .experiences-motto { order: 3; align-self: flex-end; margin-top: 36px; font-size: 12px; }
}

/* Remaining homepage sections */
.section-wrap { max-width:1440px; margin-inline:auto; padding:48px var(--gutter); }
.display-heading { font:400 clamp(36px,4.3vw,62px)/1 Impact,'Arial Narrow',sans-serif; letter-spacing:-.025em; text-transform:uppercase; margin:0; }
.trust-strip { display:flex; gap:28px; align-items:center; justify-content:center; padding:24px 20px; color:#293348; font-size:11px; letter-spacing:4px; text-transform:uppercase; }
.trust-strip i { font-style:normal; color:var(--coral); font-size:26px; line-height:1; }
.section-heading { display:flex; justify-content:space-between; align-items:center; gap:32px; margin-bottom:28px; }
.section-heading>p { font-family:'Arial Narrow',Arial,sans-serif; font-size:17px; line-height:1.45; margin:0; }
.destination-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.destination-grid img { display:block; width:100%; aspect-ratio:2.15; object-fit:cover; }
.destination-grid h3 { font-family:'Arial Narrow',Arial,sans-serif; font-size:24px; margin:12px 0 3px; }
.destination-grid article:nth-child(2) h3 { color:var(--blue); }
.destination-grid p { margin:0; color:#4d5360; font-size:15px; line-height:1.4; }
.booking-steps { background:var(--coral); }
.booking-inner { display:grid; grid-template-columns:1fr 1.25fr; align-items:center; gap:40px; }
.booking-inner .display-heading { font-size:clamp(32px,3.3vw,48px); margin-bottom:20px; }
.action-white { background:#fff; color:var(--ink); }
.action-white:hover { background:#fff3ed; }
.steps-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; margin:0; }
.steps-list li { border-left:1px solid #6d261e66; padding:0 20px; }
.steps-list li>span { font:400 38px/1 Impact,'Arial Narrow',sans-serif; }
.steps-list h3 { font-family:'Arial Narrow',Arial,sans-serif; font-size:19px; line-height:1.1; margin:10px 0; }
.steps-list p { font-family:'Arial Narrow',Arial,sans-serif; font-size:16px; line-height:1.4; margin:0; }
.faq { display:grid; grid-template-columns:1fr 1.6fr; gap:50px; align-items:start; }
.small-caps { text-transform:uppercase; letter-spacing:3px; font-size:11px; line-height:1.5; margin:16px 0 0; }
.faq-list details { border-bottom:1px solid #dce1ec; }
.faq-list summary { color:var(--blue); font-weight:700; cursor:pointer; list-style:none; padding:17px 38px 17px 0; position:relative; min-height:52px; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:'+'; position:absolute; right:4px; top:9px; font-size:30px; font-weight:400; }
.faq-list details[open] summary::after { content:'\2212'; }
.faq-list p { font-size:16px; line-height:1.65; margin:0 32px 20px 0; max-width:650px; color:#424a58; }
summary:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.closing-cta { position:relative; isolation:isolate; overflow:hidden; color:#fff; background:#005b76; }
.closing-cta>img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:center 60%; z-index:-2; }
.closing-cta::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#003748bd,transparent 80%); z-index:-1; }
.closing-inner { min-height:340px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:24px; }
.closing-inner .display-heading { max-width:740px; }
.site-footer { background:var(--blue); color:#fff; }
.footer-inner { display:grid; grid-template-columns:1.1fr 1.2fr .9fr; gap:40px; align-items:center; padding-top:32px; padding-bottom:28px; }
.footer-farewell>p { font:400 clamp(34px,3.5vw,50px)/.95 Impact,'Arial Narrow',sans-serif; text-transform:uppercase; margin:0 0 16px; }
.footer-farewell svg { width:100px; height:30px; fill:none; stroke:currentColor; stroke-width:3; }
.footer-farewell small { font-size:11px; line-height:1.6; display:block; }
.footer-brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.footer-brand img { width:140px; height:72px; object-fit:contain; filter:brightness(0) invert(1); }
.footer-brand span { font-size:12px; line-height:1.45; }
.footer-brand-links nav { display:flex; flex-wrap:wrap; gap:4px 18px; }
.site-footer nav a,.site-footer nav button,.footer-legal button { padding:12px 0; min-height:44px; background:none; border:0; color:#fff; text-decoration:none; font-size:13px; }
.site-footer a:hover,.site-footer nav button:hover,.footer-legal button:hover { text-decoration:underline; }
.footer-chat { background:transparent; color:#fff; border:1px solid #fff; min-height:48px; padding:12px 18px; font-size:14px; gap:10px; width:100%; }
.footer-chat:hover { background:#ffffff1f; }
.footer-legal { display:flex; align-items:center; justify-content:flex-end; gap:12px; margin-top:8px; }
.site-footer :focus-visible { outline-color:var(--lime); }
#destinations,#faqs { scroll-margin-top:20px; }
@media(max-width:1050px) { .booking-inner { grid-template-columns:1fr; gap:32px; }.footer-inner { gap:24px; grid-template-columns:1fr 1fr; }.footer-contact { grid-column:2; }.steps-list li:first-child { border-left:0; padding-left:0; } }
@media(max-width:760px) {
 .section-wrap { padding:36px 20px; }.trust-strip { gap:8px; flex-wrap:wrap; font-size:9px; letter-spacing:1.5px; padding:20px 16px; }.trust-strip i { font-size:18px; }
 .section-heading { display:block; }.section-heading>p { margin-top:18px; }.destination-grid { grid-template-columns:1fr; gap:26px; }.destination-grid h3 { margin-top:9px; }
 .booking-inner .display-heading { font-size:40px; }.steps-list { grid-template-columns:1fr; gap:25px; }.steps-list li,.steps-list li:first-child { display:flex; gap:20px; padding:0; border:0; }.steps-list li>span { flex:0 0 36px; }.steps-list h3 { margin:0 0 7px; }.steps-list p { max-width:310px; }
 .faq { grid-template-columns:1fr; gap:24px; }.faq .display-heading { max-width:220px; }.faq-list summary { font-size:15px; }
 .closing-inner { min-height:380px; justify-content:flex-start; padding-top:36px; }.closing-inner .display-heading { font-size:38px; }.closing-cta>img { object-position:66% center; }.closing-cta::after { background:linear-gradient(180deg,#003748b3,transparent); }
 .footer-inner { grid-template-columns:1fr; gap:22px; }.footer-contact { grid-column:auto; }.footer-farewell>p { font-size:46px; }.footer-brand-links nav { justify-content:space-between; gap:6px; }.footer-brand img { width:150px; }.footer-legal { justify-content:center; }
}

.action svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2}

/* Homepage hero */
.hero-refreshed{max-width:1440px;grid-template-columns:47% 53%;min-height:680px;position:relative;border-bottom:0;padding-right:var(--gutter)}
.hero-refreshed:after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:100vw;height:10px;background:var(--blue);z-index:3}
.hero-refreshed .hero-copy{padding:52px 24px 48px var(--gutter);align-self:center}
.hero-refreshed .eyebrow{display:flex;align-items:center;gap:18px;font-size:14px;letter-spacing:1.3px;margin-bottom:23px;white-space:nowrap}
.hero-refreshed .eyebrow:before{content:"";width:44px;height:4px;background:var(--coral);flex-shrink:0;border-radius:1px}
.hero-refreshed h1.hero-title-rentals{font-size:clamp(40px,5.7vw,82px);line-height:1.02;letter-spacing:-.035em;margin-bottom:22px}
.hero-refreshed .hero-description{font-size:23px;line-height:1.3;max-width:none;margin-bottom:30px}
.hero-actions{display:flex;align-items:center;gap:24px}
.hero-actions .action{padding:18px 24px;white-space:nowrap;font-size:19px;min-height:62px;gap:20px}
.hero-actions .action svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2}
.hero-whatsapp{display:inline-flex;align-items:center;gap:12px;color:var(--blue);font-size:17px;font-weight:700;white-space:nowrap;text-decoration:none}
.hero-whatsapp span{border-bottom:1px solid;padding-bottom:4px}
.hero-whatsapp svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.8;flex-shrink:0}
.hero-benefits{display:flex;justify-content:space-between;gap:12px;list-style:none;padding:27px 0 0;margin:30px 0 0;border-top:1px solid #d7dce2}
.hero-benefits li{display:flex;align-items:center;gap:10px;font-size:12px;white-space:nowrap}
.hero-benefits svg{width:32px;height:32px;fill:none;stroke:var(--blue);stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round;flex-shrink:0}
.hero-refreshed .hero-photo{border-radius:50% 50% 0 0 / 45% 45% 0 0}
.hero-refreshed .hero-photo img{object-position:51% center}
.hero-arc{position:absolute;right:3%;top:1%;width:29%;height:auto;z-index:2;fill:none;stroke:var(--blue);stroke-width:3;stroke-linecap:round;pointer-events:none}
.hero-refreshed .day-sticker{width:146px;height:146px;bottom:32px;left:-34px}
.hero-location{position:absolute;right:18px;bottom:29px;display:flex;align-items:center;gap:6px;border:1px solid #ffffff90;border-radius:30px;background:#ffffff24;backdrop-filter:blur(8px);color:#fff;padding:9px 13px;font-size:12px}
.hero-location svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
@media(min-width:1440px){.hero-refreshed{min-height:700px}}
@media(min-width:761px) and (max-width:1150px){.hero-refreshed{min-height:590px}.hero-refreshed .hero-copy{padding-right:20px}.hero-refreshed .eyebrow{font-size:11px;gap:10px}.hero-refreshed .eyebrow:before{width:26px}.hero-refreshed .hero-description{font-size:20px}.hero-actions{gap:15px;flex-wrap:wrap}.hero-actions .action{font-size:16px;min-height:52px}.hero-whatsapp{font-size:15px}.hero-benefits{gap:8px;flex-wrap:wrap}.hero-benefits li{font-size:11px}.hero-benefits svg{width:25px}.hero-refreshed .day-sticker{width:120px;height:120px}.hero-location{font-size:10px;right:10px;bottom:18px}}
@media(max-width:760px){.hero-refreshed{padding:0;min-height:0}.hero-refreshed .hero-copy{padding:28px 20px 32px}.hero-refreshed .eyebrow{font-size:11px;gap:12px;margin-bottom:20px}.hero-refreshed .eyebrow:before{width:30px}.hero-refreshed h1.hero-title-rentals{font-size:clamp(34px,9.6vw,70px);line-height:1.04}.hero-refreshed .hero-description{font-size:19px;margin-bottom:24px}.hero-actions{flex-wrap:wrap;gap:22px}.hero-actions .action{width:auto;min-height:54px;font-size:17px}.hero-whatsapp{font-size:16px}.hero-benefits{margin-top:25px;padding-top:22px;gap:10px;flex-wrap:wrap}.hero-benefits li{font-size:11px;gap:6px}.hero-benefits svg{width:26px;height:26px}.hero-refreshed .hero-visual{aspect-ratio:1.1;min-height:330px}.hero-refreshed .day-sticker{width:112px;height:112px;left:14px;bottom:28px}.hero-refreshed .day-sticker span{font-size:21px}.hero-refreshed .day-sticker svg{width:32px;height:32px}.hero-location{font-size:10px;padding:8px;right:12px;bottom:24px}.hero-refreshed:after{height:8px}}
.hero-refreshed h1.hero-title-rentals{font-size:clamp(40px,6.8vw,98px)}
.hero-refreshed .hero-photo img{transform:scale(1.16);transform-origin:50% 65%}
@media(max-width:760px){.hero-refreshed h1.hero-title-rentals{font-size:clamp(38px,13.5vw,88px)}}
/* Experience cards: real fleet photography and clear next steps. */
.experience-grid{align-items:stretch;margin-top:34px}
.experience-card{display:flex;flex-direction:column}
.experience-card:nth-child(2),.experience-card:nth-child(3){margin-top:0}
.experience-photo{clip-path:none;border-radius:12px;aspect-ratio:1.5}
.experience-photo img{transform:none}
.experience-number{align-self:flex-start;z-index:1;margin-top:-40px;margin-left:14px;line-height:40px}
.experience-card h3{margin-top:16px;margin-bottom:12px}
.experience-card p{font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;margin-bottom:22px}
.experience-action{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding:14px 18px;border:1px solid #fff;border-radius:6px;color:#fff;text-decoration:none;font-weight:700;font-size:15px;min-height:50px}
.experience-action span{font-size:24px;line-height:1}
.experience-action:hover{background:#fff;color:var(--blue)}
.experience-action:focus-visible{outline:3px solid var(--lime);outline-offset:4px}
@media(max-width:760px){.experience-grid{gap:34px}.experience-card h3{font-size:32px}}
.footer-legal a{display:inline-flex;align-items:center;min-height:44px;padding:12px 0;color:#fff;font-size:13px;text-decoration:none}

/* Punta Cana Private Boats wordmark */
.brand{width:285px}.brand-logo{height:auto;aspect-ratio:600/300}.footer-brand img{width:260px;height:auto;aspect-ratio:600/300}@media(max-width:760px){.brand{width:225px}.footer-brand img{width:245px}}
