/* Typography system: one contemporary typeface, clear hierarchy and comfortable reading. */
body{font-family:var(--font);font-weight:400;letter-spacing:0}
button,input,select,textarea{font-family:var(--font)}
main h1,main h2,main h3,main h4{font-family:var(--font)!important;text-transform:none;letter-spacing:-.035em;line-height:1.12}
main h1{font-weight:700!important;letter-spacing:-.045em!important;line-height:1.08!important}
main h2{font-weight:650!important;letter-spacing:-.035em!important;line-height:1.14!important}
main h3,main h4{font-weight:650!important;letter-spacing:-.025em!important;line-height:1.2!important}
main p,main li{letter-spacing:0}
main .hero h1{font-size:clamp(42px,5.4vw,76px);max-width:900px}
main .hero .lead,main .hero-tx p{font-weight:400;line-height:1.65}
main .cd h2.h3{font-size:clamp(24px,2vw,28px)}
main .fleet .bc h3{font-size:clamp(18px,1.5vw,23px)}
main .shared .shared-track .it h3{font-size:clamp(21px,1.7vw,25px)}
main .fleet .bc .p b,main .bc .pr b,main .boat-price-table tbody td,main .bk .pr b,main .qf b,main .facts b,main .ov .pp b,main .cd .card-footer b{font-family:var(--font)!important;font-weight:650!important;letter-spacing:-.025em}
main .boat-price-table tbody td{font-size:18px}
main .ml-fluent-inquiry h2{font-size:24px;font-weight:650!important;letter-spacing:-.03em}
.eb,.tl,.private-duration,.ml-fluent-inquiry .fluentform .ff-el-input--label label{letter-spacing:.07em}
.links .menu>li>a{font-weight:650;letter-spacing:.04em}
.pill,.chip,.tour-card-action,.fleet-card-action{font-weight:650}
.ft .lg{font-family:var(--font);font-weight:700;letter-spacing:-.035em}
@media(max-width:960px){main .hero h1{font-size:clamp(38px,8vw,62px)}main .fleet .bc h3{font-size:22px}}
@media(max-width:560px){main .boat-price-table tbody td{font-size:16px}main .hero h1{font-size:clamp(36px,9vw,47px)}}
/* Filter controls: one quieter, consistent system on tour and boat archives. */
.tb{background:#fff;border-bottom:1px solid #e1e9e6}
.tb .wrap{gap:22px 30px;padding-top:20px;padding-bottom:20px}
.tb .tl{font:650 11px/1.25 var(--font);letter-spacing:.035em;text-transform:none;color:#526a70;margin-bottom:9px}
.tb .seg{padding:4px;gap:2px;border:0;border-radius:5px;background:#edf2f0;max-width:100%;overflow-x:auto;scrollbar-width:thin}
.tb .seg .th{top:4px;bottom:4px;border-radius:3px;background:#104273}
.tb .seg a,.tb .seg button{padding:10px 15px;font:600 12px/1.4 var(--font);letter-spacing:0;text-transform:none;color:#405e66;border-radius:3px}
.tb .seg .on{color:#fff}
.tb .chips{display:flex;flex-wrap:wrap;gap:7px}
.tb .chip{font:600 12px/1.4 var(--font);letter-spacing:0;padding:9px 15px;border:1px solid #d5e1de;background:#fff;color:#405c63;transition:background .2s,color .2s,border-color .2s}
.tb .chip:hover{transform:none;background:#eaf1ee;color:#123e52;border-color:#a9c1b9}
.tb .chip.on,.tb .chip[aria-pressed="true"]{background:#104273;color:#fff;border-color:#104273}
.tb .cnt{font-size:13px;color:#4e686e}.tb .cnt b{font-weight:700;color:#123e52}
.tb .sel{min-height:40px;border-radius:3px;background:#f3f6f4;border-color:#d5e1de;font-weight:600}
.tb .vw{border-color:#d5e1de;border-radius:3px;overflow:hidden}.tb .vw button.on{background:#104273}
.tb button:focus-visible,.tb a:focus-visible,.tb select:focus-visible,.tb input:focus-visible{outline:2px solid #a4824e;outline-offset:2px}
@media(max-width:960px){.tb .wrap{gap:18px 24px}.tb .seg a,.tb .seg button{padding:9px 13px}}
@media(max-width:620px){.tb .wrap{display:flex;align-items:start;gap:16px;padding-top:18px;padding-bottom:18px}.tb .wrap>div{max-width:100%}.tb .seg{width:100%}.tb .chips{gap:6px}.tb .chip{padding:8px 12px}.tb .sp{width:100%;margin-left:0;justify-content:space-between}.tb .cnt{margin-left:0}.tb .bud{min-width:0;flex:1 1 150px}}

/* Reading sizes and calls to action shared across the site. */
body{font-size:16px;line-height:1.65}
main .lead,main .hero-tx p{font-size:17px;line-height:1.7}
main .cards .cd p,main .shared .shared-track .it p,main .ta .ov .d,main .bc .bf{font-size:16px;line-height:1.65}
main .shared .shared-track .it .pp,main .tour-card-action,main .fleet .bc .p .fleet-card-action{font-size:14px}
main .fleet .bc .boat-fact small{font-size:12px;line-height:1.35}
main .fleet .bc .boat-fact b{font-size:13px;line-height:1.35}
.eb,main .sb .blk .eb,main .st-tour .blk .eb{font-size:13px;font-weight:700;letter-spacing:.075em}
main .cards .cd .bf{font-size:12px;font-weight:750;letter-spacing:.07em;color:#76571f}
main .cards .cd .tg,main .shared .shared-track .it .tg,main .ta .ty,main .ta .du{font-size:12px;font-weight:700;letter-spacing:.04em}
main .pill,main .cards .cd .pill{border-radius:999px;font-size:13px;font-weight:700}
.ml-fluent-inquiry .fluentform button.ff-btn-submit,.bk .ml-fluent-inquiry .fluentform button.ff-btn-submit{border-radius:999px;font-size:14px}
.ml-fluent-inquiry .fluentform .ff-el-input--label label{font-size:12px;font-weight:650;letter-spacing:.06em}
@media(max-width:620px){main .lead,main .hero-tx p{font-size:16px}main .cards .cd p,main .shared .shared-track .it p,main .ta .ov .d,main .bc .bf{font-size:15px}}

/* Keep action and navigation controls consistent with the rounded CTAs. */
.business-map-link,.detail-inquiry-link,.qv,.cb .a{border-radius:999px}
.business-map-link,.detail-inquiry-link{padding-left:22px;padding-right:22px;font-size:13px}
.ar button{border-radius:50%}
.tb .seg,.tb .seg .th,.tb .seg a,.tb .seg button,.tb .vw,.tb .vw button{border-radius:999px}

/* Give larger displays more usable width and a proportionate reading scale. */
@media(min-width:1600px){
 :root{--wrap:clamp(1280px,calc(1280px + (100vw - 1600px) * .6),1760px)}
 body{font-size:clamp(16px,calc(16px + (100vw - 1600px) * .0025),18px)}
 main .lead,main .hero-tx p{font-size:clamp(17px,calc(17px + (100vw - 1600px) * .003),20px)}
 main .cards .cd p,main .shared .shared-track .it p,main .ta .ov .d,main .bc .bf{font-size:clamp(16px,calc(16px + (100vw - 1600px) * .0025),18px)}
 main .pill,main .cards .cd .pill{font-size:clamp(13px,calc(13px + (100vw - 1600px) * .0025),15px)}
}

/* More readable descriptions on service, fleet and tour cards. */
main .cards .cd p,main .shared .shared-track .it p,main.ta .ov .d,main.ta .tc:hover .ov .d,main.ta .tc:focus-visible .ov .d,main .bc .bf{font-size:16px;font-weight:500;line-height:1.65;color:#344d56}
@media(max-width:620px){main .cards .cd p,main .shared .shared-track .it p,main.ta .ov .d,main.ta .tc:hover .ov .d,main.ta .tc:focus-visible .ov .d,main .bc .bf{font-size:15px}}
@media(min-width:1600px){main .cards .cd p,main .shared .shared-track .it p,main.ta .ov .d,main.ta .tc:hover .ov .d,main.ta .tc:focus-visible .ov .d,main .bc .bf{font-size:clamp(16px,calc(16px + (100vw - 1600px) * .0025),18px)}}
.guide-related-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin:0 0 32px;padding:18px 0;border-bottom:1px solid #dce6e1;color:#52666e;font-size:14px}
.guide-related-links a{color:#004385;font-weight:700;text-decoration:none}.guide-related-links a:hover{text-decoration:underline}
/* Improve readability of body copy and smaller supporting labels. */
body{font-weight:450}
main p,main li{font-weight:450}
main .hero .lead,main .hero-tx p{font-weight:450}
main .bring span,main .tags span{font-weight:600;letter-spacing:.025em}
main .facts span,main .qf span,main .boat-fact small,main .spec dt,main .rental-details dt{font-weight:550}

/* Shared outlined calls to action with a left-to-right fill. */
:where(.pill,.business-map-link,.detail-inquiry-link,.ml-fluent-inquiry .fluentform .ff-btn-submit){
 --cta-ink:#064782;
 --cta-fill:#064782;
 background-color:transparent!important;
 background-image:linear-gradient(90deg,var(--cta-fill),var(--cta-fill))!important;
 background-size:0% 100%!important;
 background-position:left center!important;
 background-repeat:no-repeat!important;
 border:1px solid var(--cta-ink)!important;
 color:var(--cta-ink)!important;
 transition:background-size .38s ease,color .24s ease,border-color .24s ease!important;
}
:where(.pill,.business-map-link,.detail-inquiry-link,.ml-fluent-inquiry .fluentform .ff-btn-submit):is(:hover,:focus-visible){background-size:100% 100%!important;color:#fff!important}
:where(.pill) i{background:transparent!important;color:inherit!important;border:1px solid currentColor}
:where(.pill) span,:where(.pill) i,:where(.business-map-link) span,:where(.detail-inquiry-link) span{color:inherit}
/* White outlines keep actions readable when placed on photographs or dark panels. */
:where(.pill.w,.pill.ghost,.business-map-link){--cta-ink:#fff;--cta-fill:#064782}
:where(.pill,.business-map-link,.detail-inquiry-link,.ml-fluent-inquiry .fluentform .ff-btn-submit):focus-visible{outline:2px solid #bb9856;outline-offset:3px}
@media(prefers-reduced-motion:reduce){:where(.pill,.business-map-link,.detail-inquiry-link,.ml-fluent-inquiry .fluentform .ff-btn-submit){transition:none!important}}
/* Preserve contrast on dark inquiry banners and on the tour comparison hover. */
.detail-inquiry-cta .detail-inquiry-link,.xp:hover .pill{--cta-ink:#fff;--cta-fill:#fff}
.detail-inquiry-cta .detail-inquiry-link:is(:hover,:focus-visible),.xp:hover .pill:is(:hover,:focus-visible){color:#123c53!important}

/* A simple arrow keeps outlined buttons visually light. */
.pill i{border:0!important;background:none!important;width:auto;height:auto;min-width:18px;font-size:17px;line-height:1}
.pill:has(i){padding:14px 22px!important;gap:24px}
