:root{--navy:#06254e;--navy-dark:#03172f;--blue:#104574;--gold:#e8cc87;--slate:#496176;--mist:#f3f7fa;--font:Josefin,sans-serif}
@font-face{font-family:Josefin;src:url('/images/Qw3aZQNVED7rKGKxtqIqX5EUDXx4.woff2') format('woff2');font-weight:100 700;font-display:swap}*{box-sizing:border-box}body{margin:0;color:#222;font:300 1.25rem/1.5 Josefin,sans-serif}a{color:inherit}button,summary{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #e5ac42;outline-offset:5px}.skip{position:absolute;left:-10000px}.skip:focus{left:10px;z-index:5;background:white}header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;gap:3rem;background:#fff;position:sticky;top:0;z-index:10}.logo{width:166px;height:auto;display:block}nav{display:flex;align-items:center;gap:clamp(1.3rem,3vw,3.8rem);font-size:.8rem;font-weight:400;letter-spacing:.035em}nav a{text-decoration:none;white-space:nowrap}summary{list-style:none;white-space:nowrap}summary:after{content:'⌄';margin-left:.7rem}nav details{position:relative}nav details>div{position:absolute;top:2rem;left:-1rem;background:white;padding:1.5rem;min-width:210px;box-shadow:0 4px 12px #0002;display:grid;gap:1rem}.button{background:var(--navy);color:white;display:inline-block;text-decoration:none;padding:12px 20px;font-size:.8rem;font-weight:400;letter-spacing:.03em;text-align:center;white-space:nowrap}.menu{display:none}.hero{height:991px;background:url('/images/hero-home.webp') center/cover;display:flex;align-items:center;justify-content:center;color:white;text-align:center;padding:2rem}.hero h1{font-size:clamp(2.1rem,4.7vw,4.0625rem);font-weight:300;letter-spacing:5px;margin:0 0 1.2rem}.hero p{font-size:clamp(1rem,1.6vw,1.125rem);line-height:1.25;letter-spacing:6px;font-weight:300;margin:0}.intro{text-align:center;padding:80px 25px 85px}.intro h2{font-size:1.25rem;font-weight:400;letter-spacing:2px;margin:0 0 35px}.intro img{width:171px;height:auto}.intro h2.popular{font-size:clamp(1.25rem,2vw,2.25rem);font-weight:300;margin:55px 0 0}.package{display:grid;grid-template-columns:1fr 1fr;min-height:628px}.package>img{width:100%;height:100%;min-height:628px;object-fit:cover}.package>div{padding:80px clamp(35px,8.5vw,145px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.package h3{font-size:1.25rem;letter-spacing:5px;line-height:1.5;font-weight:400;margin:0 0 20px}.package p{margin:0 0 26px}.package.reverse>img{order:2}.statement{background:url('/images/hero-underwater.webp') center/cover;text-align:center;color:white;padding:115px 25px;min-height:526px;display:flex;align-items:center;flex-direction:column;justify-content:center}.statement h2{max-width:870px;font-size:clamp(1.3rem,2vw,1.5rem);font-weight:400;line-height:1.5;margin:0 0 35px}.fleet{padding:75px 4%}.fleet-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:35px}.fleet h2{font-size:1.5rem;font-weight:400;letter-spacing:2px}.fleet-heading>a{font-size:.95rem}.boats{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.boats a{text-decoration:none;text-align:center}.boats img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover}.boats h3{font-weight:400;font-size:1.35rem;letter-spacing:2px}footer{text-align:center;background:#f5f5f5;padding:50px 25px;font-size:1rem}footer .logo{margin:auto}footer p:last-child{font-size:.85rem}@media(max-width:68rem){header{padding:0 5%;height:80px}.menu{display:block;border:1px solid var(--navy);background:white;padding:8px 15px;font-size:1rem}nav{display:none;position:absolute;top:80px;left:0;right:0;background:white;padding:25px 5%;max-height:calc(100dvh - 80px);overflow:auto;align-items:stretch;font-size:1rem;gap:22px}nav.open{display:flex;flex-direction:column}nav a,summary{white-space:normal}nav details>div{position:static;box-shadow:none;padding:20px 15px 0}.hero{height:850px}.package>div{padding:45px}.package h3{letter-spacing:3px}}@media(max-width:42rem){body{font-size:1.125rem}.hero{height:650px;padding:20px;background-position:center}.hero h1{letter-spacing:3px;line-height:1.25}.hero p{letter-spacing:3px;line-height:1.5}.intro{padding:55px 24px}.package{display:flex;flex-direction:column;min-height:0}.package>img,.package.reverse>img{order:0;min-height:0;height:auto;aspect-ratio:1.3;object-fit:cover}.package>div{padding:45px 28px}.statement{min-height:440px;padding:70px 25px}.fleet{padding:45px 25px}.fleet-heading{display:block}.boats{grid-template-columns:1fr;gap:20px}}
/* Typography measured from the live text nodes, including Duda's nested overrides. */
.hero h1{font-size:clamp(2.1rem,4.3vw,3.4375rem);font-weight:300}
.hero p{font-size:clamp(1rem,1.6vw,1.25rem);font-weight:300;line-height:1.1}
.intro h2{font-size:1.1875rem}
.intro h2.popular{font-size:1.125rem;font-weight:300}
.package h3{font-size:1.125rem;letter-spacing:6px;font-weight:400}
.package.reverse h3{font-size:1rem}
.package p{font-size:1.25rem;font-weight:300;line-height:1.5}
.statement h2{font-weight:300}
.fleet h2{font-weight:300}
.boats h3{font-size:.875rem;letter-spacing:normal;font-weight:400}
footer{font-size:1.25rem;font-weight:300}
footer p:last-child{font-size:.8125rem}
.button{font-size:.75rem;letter-spacing:normal}
@media(max-width:42rem){.hero p{line-height:1.4}.package h3{letter-spacing:4px}}
/* Match the original scrolling background treatment on larger screens. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .statement{background-attachment:fixed}
}
/* Footer color refinement requested by Lesli. */
footer{background:var(--navy);color:#fff}
footer a{color:#fff}
/* Fleet cards respond to pointer hover and keyboard focus. */
.boats a{display:block;overflow:hidden;border-radius:2px;transition:background-color .22s ease,box-shadow .22s ease}
.boats img{display:block;transition:transform .3s ease}
.boats h3{position:relative;background:inherit;padding:18px 10px;margin:0;transition:color .22s ease}
.boats a:focus-visible{background:var(--navy);color:white;box-shadow:0 6px 18px #06254e25}
@media(hover:hover){.boats a:hover{background:var(--navy);color:white;box-shadow:0 6px 18px #06254e25}.boats a:hover img{transform:scale(1.035)}}
@media(prefers-reduced-motion:reduce){.boats a,.boats img,.boats h3{transition:none}.boats a:hover img{transform:none}}
/* Nautical button treatment: warm accent and a directional hover cue. */
.button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:6px;padding:14px 22px;border:1px solid var(--navy);box-shadow:0 3px 0 var(--navy-dark);transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;color:#fff}
.button::after{content:'→';font-size:1.1rem;line-height:1;transition:transform .2s ease;color:var(--gold)}
.button:focus-visible{background:var(--blue);transform:translateY(-2px);box-shadow:0 5px 0 var(--navy-dark)}
@media(hover:hover){.button:hover{background:var(--blue);transform:translateY(-2px);box-shadow:0 5px 0 var(--navy-dark)}.button:hover::after{transform:translateX(4px)}}
.button:active{transform:translateY(1px);box-shadow:0 1px 0 var(--navy-dark)}
@media(prefers-reduced-motion:reduce){.button,.button::after{transition:none}.button:hover,.button:focus-visible,.button:active,.button:hover::after{transform:none}}
/* Softer depth and a fishing hook accent. */
.button{box-shadow:0 3px 9px rgba(6,37,78,.18)}
.button::after{content:'';width:16px;height:20px;flex:0 0 16px;background:var(--gold);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='3' r='2'/%3E%3Cpath d='M12 5v12a5 5 0 0 1-10 0v-5l4 4M2 12l-1 5'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
.button:focus-visible{box-shadow:0 6px 15px rgba(6,37,78,.22)}
@media(hover:hover){.button:hover{box-shadow:0 6px 15px rgba(6,37,78,.22)}.button:hover::after{transform:rotate(-10deg)}}
.button:active{box-shadow:0 1px 4px rgba(6,37,78,.15)}
@media(prefers-reduced-motion:reduce){.button:hover::after{transform:none}}
/* Package links stay light; navigation retains the hook button. */
.button,.button:hover,.button:focus-visible,.button:active{box-shadow:none}
.package .button{background:transparent;border:0;border-radius:0;padding:8px 0;color:var(--navy);font-size:.875rem;box-shadow:none;transform:none;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px;transition:text-decoration-color .2s ease}
.package .button::after{content:'→';mask:none;background:none;width:auto;height:auto;flex:0 0 auto;color:currentColor;font-size:1.2rem;transform:none}
.package .button:hover,.package .button:focus-visible{background:transparent;color:var(--blue);transform:none;box-shadow:none;text-decoration-color:currentColor}
.package .button:hover::after{transform:translateX(4px)}
@media(prefers-reduced-motion:reduce){.package .button:hover::after{transform:none}}
.compact-reserve,.drawer-contact{display:none}
@media(max-width:68rem){
header{height:116px;display:grid;grid-template-columns:1fr auto 1fr;padding:0 40px;gap:20px}
header>a:first-of-type{grid-column:2;grid-row:1;justify-self:center}
header .logo{width:166px}
.menu{grid-column:1;grid-row:1;justify-self:start;border:0;padding:10px 0;background:transparent;width:30px;height:40px;display:flex;flex-direction:column;justify-content:center;gap:6px;z-index:12}
.menu span{height:1px;width:30px;background:var(--navy);display:block}
.menu[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu[aria-expanded=true] span:nth-child(2){opacity:0}
.menu[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.compact-reserve{display:inline-flex;grid-column:3;grid-row:1;justify-self:end;min-height:52px}
nav{top:116px;right:auto;bottom:0;width:min(320px,90vw);position:fixed;max-height:calc(100dvh - 116px);padding:35px 25px;font-size:.875rem;gap:26px;box-shadow:5px 10px 20px #06254e15}
nav.open{display:flex}
nav details>div{font-size:.8rem;gap:18px}
.drawer-contact{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:35px;font-size:.875rem}
.drawer-contact p{margin:0 0 12px;font-size:1.125rem}
.drawer-contact a{overflow-wrap:anywhere}
nav>.button{align-self:flex-start}
}
@media(max-width:42rem){
header{height:82px;padding:0 20px;gap:12px;grid-template-columns:1fr auto 1fr}
header .logo{width:80px}
.menu,.menu span{width:22px}
.compact-reserve{font-size:.75rem;padding:10px 12px;gap:6px;min-height:50px;max-width:120px;white-space:normal;line-height:1.15}
nav{top:82px;max-height:calc(100dvh - 82px)}
}
@media(min-width:42.001rem) and (max-width:68rem){.hero h1{font-size:3.4375rem;max-width:650px;margin-left:auto;margin-right:auto}.hero p{font-size:1.25rem;max-width:650px;margin:auto}}
@media(max-width:42rem){.hero h1{font-size:2.25rem;font-weight:300;letter-spacing:5px}.hero p{font-size:1.125rem;font-weight:300}}
/* Mobile header follows Lesli's supplied original-site screenshot. */
@media(max-width:42rem){
header{height:auto;min-height:150px;padding:18px 20px;grid-template-columns:1fr auto 1fr;gap:0}
header>a:first-of-type{grid-column:2;grid-row:1}
header .logo{width:clamp(180px,56vw,278px);max-width:100%;height:auto}
header>.compact-reserve{display:none}
.menu{grid-column:3;grid-row:1;justify-self:end;width:24px;height:44px;gap:6px}
.menu span{width:24px;height:2px}
nav{top:150px;max-height:calc(100dvh - 150px)}
}
@media(max-width:42rem){header{--compact-header-height:clamp(150px,calc(28.4vw + 36px),177px);height:var(--compact-header-height);min-height:0}nav{top:var(--compact-header-height);max-height:calc(100dvh - var(--compact-header-height))}}
@media(max-width:42rem){
header .logo{width:clamp(170px,48vw,238px)}
.menu{width:44px;height:44px;align-items:center;gap:7px}
.menu span{width:32px;height:2px}
.menu[aria-expanded=true] span:nth-child(1){transform:translateY(9px) rotate(45deg)}
.menu[aria-expanded=true] span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
}
/* Contemporary compact navigation, shared by tablet and phone. */
@media(max-width:68rem){
nav{left:16px;right:16px;bottom:auto;width:auto;top:calc(116px + 12px);max-height:calc(100dvh - 144px);padding:28px;border:1px solid #06254e12;border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 16px 45px #06254e20;gap:0;overscroll-behavior:contain}
nav.open{animation:menu-reveal .18s ease-out}
nav>a:not(.button),nav>details>summary{display:block;padding:17px 0;font-size:1.25rem;font-weight:400;letter-spacing:.02em;border-bottom:1px solid #06254e12;color:var(--navy)}
nav summary{display:flex!important;align-items:center;justify-content:space-between}
nav summary::after{content:'+';font-size:1.5rem;font-weight:300;margin-left:18px}
nav details[open]>summary::after{content:'−'}
nav details>div{background:var(--mist);border-radius:12px;margin:10px 0;padding:10px 18px;gap:0}
nav details>div a{padding:12px 0;font-size:.95rem;font-weight:300;line-height:1.4;color:var(--navy)}
.drawer-contact{margin-top:22px;padding-top:0;gap:6px;font-size:.9rem;color:var(--slate)}
.drawer-contact p{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;margin:0 0 6px}
.drawer-contact a{text-decoration:none;line-height:1.6}
nav>.button{margin-top:22px;align-self:stretch;padding:17px 22px;border-radius:10px;font-size:.9rem}
}
@media(max-width:42rem){nav{top:calc(var(--compact-header-height) + 8px);left:10px;right:10px;padding:20px 24px;max-height:calc(100dvh - var(--compact-header-height) - 20px)}}
@keyframes menu-reveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){nav.open{animation:none}}
@media(min-width:42.001rem) and (max-width:68rem){
.menu{width:44px;height:44px;align-items:center;gap:7px}
.menu span{width:32px;height:2.5px;background:var(--navy)}
.menu[aria-expanded=true] span:nth-child(1){transform:translateY(9.5px) rotate(45deg)}
.menu[aria-expanded=true] span:nth-child(3){transform:translateY(-9.5px) rotate(-45deg)}
}
/* Desktop dropdowns share the compact menu's lighter panel styling. */
@media(min-width:68.001rem){
nav details>div{top:calc(100% + 18px);left:-20px;min-width:235px;padding:10px;background:#fff;border:1px solid #06254e12;border-radius:14px;box-shadow:0 12px 35px #06254e18;gap:3px}
nav details>div a{display:block;padding:13px 15px;border-radius:8px;color:var(--navy);line-height:1.4;font-size:.8rem;letter-spacing:.035em;transition:background-color .15s ease,color .15s ease}
nav details>div a:hover,nav details>div a:focus-visible{background:#edf4f8;color:var(--blue)}
nav details[open]>summary{color:var(--blue)}
nav details[open]>div{animation:menu-reveal .15s ease-out}
}
@media(prefers-reduced-motion:reduce){nav details[open]>div{animation:none}}
.offer-banner{min-height:505px;background:#eee url('/images/hero-offer.webp') center/cover;display:flex;align-items:center;color:white;padding:60px max(30px,calc((100vw - 960px)/2))}
.offer-banner>div{display:flex;align-items:center;gap:60px}.offer-banner img{width:115px;height:auto}.offer-banner h1{font-size:1.5rem;font-weight:400;line-height:1.5;margin:0}
.offer-copy,.experience-split{max-width:960px;margin:auto}.offer-copy{padding:80px 0}.experience-page h2{font-size:1.5rem;font-weight:300;line-height:1.5;margin:0 0 16px}.experience-page p,.experience-page li{font-size:1.25rem;font-weight:300;line-height:1.5}.offer-copy p{margin:0 0 30px}.offer-copy p:last-child{margin-bottom:0}.experience-split{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:0 0 80px}.experience-split>img{width:100%;height:100%;object-fit:cover;min-height:489px}.experience-split h2{font-size:1.125rem}.experience-split p{margin:0 0 20px}.experience-split ul{padding-left:40px;margin:0}.offer-divider{height:160px;background:url('/images/hero-testimonials.webp') center/cover}
@media(max-width:68rem){.offer-copy,.experience-split{margin-left:30px;margin-right:30px}.offer-banner{padding:50px 30px}.offer-banner>div{gap:35px}}
@media(max-width:42rem){.offer-banner{min-height:300px;padding:40px 25px}.offer-banner>div{gap:20px}.offer-banner img{width:85px}.offer-banner h1{font-size:1.25rem}.offer-copy{padding:50px 0}.offer-copy,.experience-split{margin-left:25px;margin-right:25px}.experience-split{grid-template-columns:1fr;gap:25px;padding-bottom:50px}.experience-split>img{height:auto;min-height:0;aspect-ratio:1;object-fit:cover}.offer-divider{height:120px}}
.testimonials{background:linear-gradient(#06254e55,#06254e55),url('/images/hero-testimonials.webp') center/cover;color:white;text-align:center;padding:70px 25px}
.testimonial{max-width:900px;margin:0 auto;min-height:160px}.testimonial[hidden]{display:none}.testimonial blockquote{font-size:clamp(1.25rem,2vw,1.5rem);font-weight:300;line-height:1.5;margin:0 0 24px}.testimonial figcaption{font-size:1rem;font-weight:400;letter-spacing:2px}.testimonial-controls{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:24px;font-size:.875rem}.testimonial-controls button{background:transparent;color:white;border:1px solid #ffffff88;border-radius:8px;min-width:44px;min-height:44px;padding:5px 12px;font:inherit;cursor:pointer}.testimonial-controls button:hover{background:#ffffff22}.testimonial-controls button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.testimonials{background-attachment:fixed}}
/* Original testimonial layout: side arrows, without a bottom control bar. */
.testimonials{position:relative;padding:70px 70px}
.testimonial-controls{margin:0}
.testimonial-controls [data-testimonial-status]{display:none}
.testimonial-controls [data-testimonial-prev],.testimonial-controls [data-testimonial-next]{position:absolute;top:50%;transform:translateY(-50%);border:0;background:transparent;font-size:2.5rem;font-weight:300;padding:0;width:44px;height:52px}
.testimonial-controls [data-testimonial-prev]{left:12px}
.testimonial-controls [data-testimonial-next]{right:12px}
.testimonial-controls [data-testimonial-pause]{position:absolute;width:1px;height:1px;min-width:0;min-height:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.testimonial-controls [data-testimonial-pause]:focus-visible{clip-path:none;width:auto;height:auto;min-height:44px;padding:8px 15px;bottom:10px;left:50%;transform:translateX(-50%);background:var(--navy)}
@media(max-width:42rem){.testimonials{padding:55px 48px}.testimonial-controls [data-testimonial-prev]{left:2px}.testimonial-controls [data-testimonial-next]{right:2px}}
/* More room and stronger contrast for guest testimonials. */
.testimonials{min-height:480px;display:flex;flex-direction:column;justify-content:center;padding-top:95px;padding-bottom:95px;background-image:linear-gradient(rgba(3,23,47,.68),rgba(3,23,47,.68)),url('/images/hero-testimonials.webp')}
.testimonial-slides{width:100%}.testimonial{min-height:0}.testimonial blockquote{text-shadow:0 1px 3px #0003}
@media(max-width:42rem){.testimonials{min-height:450px;padding-top:70px;padding-bottom:70px}}
.offer-banner>div{gap:24px}
@media(max-width:42rem){.offer-banner>div{gap:16px}}
/* Approved interior-page hero proportions. */
.offer-banner{min-height:360px}
@media(max-width:42rem){.offer-banner{min-height:240px}}
.trip-intro{text-align:center;padding:70px 25px}.trip-intro p{font-size:.6875rem;font-weight:300;letter-spacing:3px;margin:0 0 8px}.trip-intro h2{font-size:1.5rem;font-weight:400;letter-spacing:2px;margin:0}.trip-package h2{font-size:var(--trip-title-size,18px);letter-spacing:var(--trip-title-tracking,6px);font-weight:400;line-height:1.5;margin:0 0 20px}.trip-package.reverse h2{font-size:var(--trip-title-size,18px)}
@media(max-width:42rem){.trip-intro{padding:45px 25px}.trip-package h2{letter-spacing:4px}}
.included-content{max-width:1120px;margin:auto;padding:80px 30px;display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:start}.included-content>img{width:100%;height:auto}.included-content h2{font-size:1.125rem;font-weight:400;line-height:1.5;margin:0 0 16px}.included-content p,.included-content li{font-size:1.25rem;font-weight:300;line-height:1.5}.included-content p{margin:0 0 28px}.included-content ul{padding-left:28px;margin:0 0 36px}.included-content li{margin-bottom:10px}.included-content .banana-heading{margin-top:36px}
@media(max-width:42rem){.included-content{grid-template-columns:1fr;padding:45px 25px;gap:30px}}
.style-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:45px 0 65px}.gallery-open{border:0;padding:0;background:transparent;cursor:zoom-in}.gallery-open img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover}.photo-dialog{border:0;border-radius:12px;padding:15px;max-width:90vw;background:#fff}.photo-dialog::backdrop{background:#03172fe6}.photo-dialog>img{display:block;max-width:82vw;max-height:80dvh;object-fit:contain}.photo-close{position:absolute;right:20px;top:20px;border:0;border-radius:50%;background:var(--navy);color:white;font-size:1.5rem;width:44px;height:44px;cursor:pointer}@media(max-width:42rem){.style-gallery{grid-template-columns:1fr;gap:20px}}
.fleet-banner{background-image:linear-gradient(#06254e55,#06254e55),url('/images/hero-fleet.webp');background-position:center 48%}.fleet-directory{max-width:1020px;margin:auto;padding:65px 30px 80px}.fleet-directory>h2{font-size:1.375rem;font-weight:400;line-height:1.5;margin:0 0 65px}.fleet-directory .boats{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 20px}.boat-caption{position:relative;background:inherit;padding:14px 10px 18px}.boats .boat-caption h3{padding:0;margin:0;font-size:.875rem}.boat-caption p{font-size:.75rem;font-weight:300;margin:8px 0 0;line-height:1.5}@media(max-width:42rem){.fleet-directory{padding:45px 25px}.fleet-directory>h2{margin-bottom:35px}.fleet-directory .boats{grid-template-columns:1fr;gap:25px}}
.boat-banner{background:var(--navy);min-height:240px}.boat-gallery{max-width:1020px;padding:0;margin:70px auto 40px;position:relative}.boat-slides>img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover}.boat-slides>img[hidden]{display:none}.boat-prev,.boat-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:52px;border:0;border-radius:8px;background:#06254ebf;color:white;font-size:2rem;cursor:pointer}.boat-prev{left:15px}.boat-next{right:15px}.boat-count{text-align:center;font-size:.875rem;margin:12px 0}.boat-info{max-width:1020px;margin:auto;padding:0 0 80px;display:grid;grid-template-columns:1fr 1fr;gap:70px}.boat-info h2{font-size:1.5rem;font-weight:300;line-height:1.5;margin:0 0 20px}.boat-info h3{font-size:1.125rem;font-weight:400;margin:0 0 20px}.boat-info p,.boat-info li{font-size:1.25rem;font-weight:300;line-height:1.5}.boat-info ul{padding-left:24px;margin:0}.boat-info p{margin:0 0 25px}@media(max-width:68rem){.boat-gallery{margin:45px 30px 35px}.boat-info{padding:0 30px 60px;gap:35px}}@media(max-width:42rem){.boat-banner{min-height:200px}.boat-gallery{margin:35px 15px}.boat-info{grid-template-columns:1fr;padding:0 25px 50px}.boat-slides>img{object-fit:contain}}
.boat-info li+li{margin-top:12px}
.boat-slides{border-radius:16px;overflow:hidden;cursor:zoom-in}.boat-gallery>.boat-prev,.boat-gallery>.boat-next{top:calc((100% - 120px)/2);border-radius:50%;width:46px;height:46px;background:#fffffff0;color:var(--navy);box-shadow:0 3px 14px #03172f20}.boat-expand{position:absolute;top:16px;right:16px;z-index:1;width:44px;height:44px;border:0;border-radius:50%;background:#fffffff0;color:var(--navy);font-size:1.7rem;cursor:zoom-in}.boat-count{color:var(--slate);font-size:.8rem}.boat-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:thin}.boat-thumbnails button{flex:0 0 90px;border:2px solid transparent;border-radius:8px;background:transparent;padding:2px;cursor:pointer}.boat-thumbnails button[aria-pressed=true]{border-color:var(--navy)}.boat-thumbnails img{display:block;width:100%;height:60px;object-fit:cover;border-radius:5px}.boat-viewer{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:55px 65px;border:0;background:#03172ff5;color:white}.boat-viewer::backdrop{background:var(--navy-dark)}.boat-viewer>img{width:100%;height:calc(100% - 32px);object-fit:contain}.viewer-close,.viewer-prev,.viewer-next{position:absolute;min-width:44px;min-height:44px;border:1px solid #ffffff44;border-radius:50%;background:#ffffff12;color:white;font-size:2rem;cursor:pointer}.viewer-close{top:12px;right:15px}.viewer-prev{left:12px;top:50%}.viewer-next{right:12px;top:50%}.viewer-count{text-align:center;margin:8px 0;font-size:.875rem}.boat-gallery button:focus-visible,.boat-viewer button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}@media(max-width:42rem){.boat-slides{border-radius:10px}.boat-viewer{padding:60px 10px}.viewer-prev,.viewer-next{top:auto;bottom:15px}}
/* Give the gallery and lower boat details more breathing room. */
.boat-gallery{margin-bottom:75px}
.boat-info{padding-bottom:120px}
@media(max-width:68rem){.boat-gallery{margin-bottom:65px}.boat-info{padding-bottom:100px}}
@media(max-width:42rem){.boat-gallery{margin-bottom:50px}.boat-info{padding-bottom:80px;gap:45px}}
.main-gallery{max-width:1100px;margin:auto;padding:75px 30px 110px;columns:3;column-gap:16px}.main-gallery button{display:block;width:100%;border:0;padding:0;margin:0 0 16px;background:transparent;border-radius:12px;overflow:hidden;break-inside:avoid;cursor:zoom-in}.main-gallery img{display:block;width:100%;height:auto;transition:transform .25s ease}.main-gallery button:hover img{transform:scale(1.025)}.main-gallery button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}@media(max-width:68rem){.main-gallery{columns:2;padding:50px 25px 80px}}@media(max-width:42rem){.main-gallery{columns:1;padding:35px 20px 65px}}@media(prefers-reduced-motion:reduce){.main-gallery img{transition:none}.main-gallery button:hover img{transform:none}}
.contact-banner{background-image:linear-gradient(#03172f44,#03172f44),url('/images/hero-contact.webp')}.contact-content{max-width:1100px;margin:auto;padding:80px 30px 110px;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:60px}.contact-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.contact-form label{display:block;font-size:1rem;font-weight:300;line-height:1.5;margin-bottom:24px}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:8px;border:1px solid #ced8df;border-radius:7px;padding:12px 14px;background:white;font:300 1.125rem/1.5 Josefin,sans-serif;color:#222}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--blue);outline-offset:2px}.contact-content address{font-size:1rem;font-style:normal;font-weight:300;overflow-wrap:anywhere}.contact-content address h2{font-size:1.25rem;font-weight:400;margin:0 0 20px}.contact-content address p{margin:0 0 22px}.form-preview-note,.form-status{font-size:.875rem;color:var(--slate)}@media(max-width:68rem){.contact-content{gap:35px;padding:55px 30px 85px}.contact-fields{gap:15px}}@media(max-width:42rem){.contact-content{grid-template-columns:1fr;padding:45px 25px 70px;gap:45px}.contact-fields{grid-template-columns:1fr;gap:0}}
.reserve-form h2{font-size:1.125rem;font-weight:400;margin:0 0 16px}.reserve-intro{font-size:1.25rem;font-weight:300;line-height:1.5;margin:0 0 30px}.reserve-form fieldset{border:0;padding:0;margin:0 0 25px;min-width:0}.reserve-form legend{font-size:1rem;font-weight:300;margin-bottom:12px}.date-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}.date-fields label{margin-bottom:0}.trip-interests label{display:flex;align-items:center;gap:12px;margin:12px 0}.trip-interests input{width:20px;height:20px;flex:0 0 20px;margin:0;accent-color:var(--navy)}.reserve-form input[type=number]{max-width:200px}.reserve-form input[type=date]{min-width:0}@media(max-width:42rem){.date-fields{grid-template-columns:1fr;gap:18px}}

.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.form-status{margin-top:20px;font-size:1.125rem;overflow-wrap:anywhere}
.form-status[data-state="success"]{position:relative;padding:18px 20px 18px 62px;border:1px solid #e8cc87;border-left:5px solid var(--gold);border-radius:8px;background:#fbf7ea;color:var(--navy);font-weight:400;font-size:1.25rem;line-height:1.5;text-align:left}
.form-status[data-state="success"]::before{content:'\2713';position:absolute;left:18px;top:18px;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font:700 17px/30px Arial,sans-serif;text-align:center}
.form-status[data-state="error"]{padding:16px 20px;border:1px solid #e3b5b0;border-left:5px solid #b3261e;border-radius:8px;background:#fbefed;color:#8c1d18;font-size:1.125rem;text-align:left}
.sent-dialog{width:min(520px,calc(100vw - 32px));padding:44px 36px 36px;border:0;border-top:8px solid var(--gold);border-radius:14px;text-align:center;box-shadow:0 20px 60px #0007;color:#222}
.sent-dialog::backdrop{background:#03172fcc}
.sent-check{width:72px;height:72px;margin:0 auto 20px;border-radius:50%;background:var(--navy);color:#fff;font:700 40px/72px Arial,sans-serif}
.sent-dialog h2{margin:0 0 14px;font-size:2.25rem;font-weight:400;letter-spacing:2px;color:var(--navy)}
.sent-dialog p{margin:0 0 28px;font-size:1.25rem;line-height:1.55;overflow-wrap:anywhere}
.sent-ok{border:0;font-size:1rem;padding:14px 48px}
@media(prefers-reduced-motion:no-preference){.sent-dialog[open]{animation:sentIn .25s ease-out}@keyframes sentIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}}
