/* Shared visitor text roles; rem units follow browser font preferences. */
:root{
 --type-reading:1.0625rem;
 --type-body:1rem;
 --type-action:.875rem;
 --type-note:.8125rem;
 --type-label:.75rem;
 --type-measure:65ch;
}
h1,h2,h3,h4{text-wrap:balance;overflow-wrap:break-word}
p{text-wrap:pretty}
/* Readable type across the homepage and all adventure pages. */
.heading-highlight{color:var(--link);font-weight:700}
.offshore-moment .heading-highlight,.boat-copy .serif{color:var(--accent-on-dark)}
.overview-private .heading-highlight{color:var(--ink)}
body{font-size:var(--type-body)}
.desktop-nav{font-size:.9375rem;gap:30px}
.mobile-nav a,.mobile-nav button{font-size:var(--type-reading);padding:16px 0}
.button{font-size:15px;min-height:56px}
.button.small,.header .button.small{font-size:13px;min-height:48px}
.text-link,.underlined-link{font-size:14px}
.eyebrow,.adventure-site .eyebrow{font-size:11px;letter-spacing:1.6px}
.hero .eyebrow{font-size:11px}
.hero-content p{font-size:17px;line-height:1.8}
.hero-secondary{font-size:14px}
.hero-bottom{font-size:10px}
.hero-bottom a,.hero-location{font-size:11px}
.ticker-track>span{font-size:13px}
.experience-intro{width:280px}
.experience-intro p,.boat-copy>p,.steps p,.faq-section>div>p{font-size:17px;line-height:1.8}
.experience-intro p{max-width:none}
.intro-coordinate{font-size:11px}
.card-tag{font-size:10px}
.card-title{font-size:29px}
.card-description,.experience-featured .card-description{font-size:15px;line-height:1.65}
.experience-footer>span,.experience-footer .text-link{font-size:14px}
.moment-bottom{font-size:15px}
.moment-location{font-size:10px}
.boat-photo-kicker{font-size:10px}
.boat-tab{font-size:13px;line-height:1.5}
.boat-features>div{font-size:14px}
.boat-note{font-size:12px;max-width:360px}
.steps p{max-width:340px}
.steps h3{font-size:23px}
.gallery-side>p{font-size:15px}
.gallery-count{font-size:12px}
.gallery-item>span .gallery-caption{font-size:20px}
.gallery-caption small{font-size:10px}
.gallery-bottom,.gallery-bottom>span:last-child{font-size:10px;letter-spacing:1px}
.crew-contact{max-width:340px}
.crew-contact>span>strong{font-size:15px}
.crew-contact>span>span{font-size:13px}
.faq-list summary,.adventure-questions .faq-list summary{font-size:16px;line-height:1.5}
.faq-list details p,.adventure-questions .faq-list p{font-size:16px;line-height:1.8}
.closing-note{font-size:14px}
.closing-photo-note{font-size:11px}
.footer-top>p{font-size:16px}
.footer-contact{font-size:14px;line-height:1.65}
.footer-contact span{font-size:12px}
.footer-bottom{font-size:var(--type-label);line-height:1.6}
.dialog-intro,.photo-dialog p{font-size:16px;line-height:1.8}
.form-grid label{font-size:14px}
.form-grid input,.form-grid select,.form-grid textarea{font-size:16px}
.form-note{font-size:13px}
.enquiry-summary{font-size:15px}
.booking-dialog h2{font-size:42px}
.booking-dialog .eyebrow{font-size:11px}
.adventure-site p{font-size:17px;line-height:1.8}
.breadcrumbs{font-size:12px;gap:10px}
.adventure-hero-copy>p,.overview-copy>p,.story-intro>p{font-size:17px;line-height:1.8}
.adventure-hero-actions .button,.overview-copy>.button{font-size:14px}
.hero-series,.adventure-photo-note,.overview-coordinate,.overview-image-caption{font-size:10px;letter-spacing:1.2px}
.adventure-facts span{font-size:11px}
.adventure-facts strong{font-size:16px}
.adventure-jump{font-size:14px;gap:30px}
.adventure-moments>h3{font-size:23px;line-height:1.5}
.moment-row h4{font-size:19px;line-height:1.5}
.moment-row p{font-size:16px;line-height:1.8}
.adventure-story-photo figcaption{font-size:10px;letter-spacing:1px}
.packing-columns h3{font-size:19px}
.packing-columns ul{font-size:16px;line-height:1.8}
.packing-note{font-size:16px!important}
.adventure-booking .eyebrow{font-size:10px}
.adventure-booking h2{font-size:29px}
.booking-price-note{font-size:14px}
.adventure-booking>p{font-size:16px}
.adventure-booking .button{font-size:14px;padding:16px;gap:12px}
.booking-text{font-size:14px}
.booking-notes{font-size:13px;gap:15px}
.adventure-cta>div:last-child p{font-size:17px}
.directory-heading p{font-size:17px;max-width:660px}
.adventure-filters button{font-size:14px;padding:13px 19px}
.filter-count{font-size:13px}
.adventure-type{font-size:10px;letter-spacing:1px}
.card-line h3{font-size:27px}
.card-line>span{font-size:12px}
.adventure-card-copy>p,.adventure-card.featured p{font-size:16px;line-height:1.8}
.card-explore{font-size:14px}
.overview-private p{font-size:17px}
.overview-private .underlined-link{font-size:14px}
@media(max-width:1100px){
 .desktop-nav{gap:22px;font-size:14px}
 .experience-intro{width:245px}
 .experience-intro p,.boat-copy>p,.steps p{font-size:16px}
 .card-description,.experience-featured .card-description{font-size:14px}
 .boat-tab{font-size:11px;padding:14px 10px}
 .boat-features>div{font-size:12px}
 .adventure-facts strong{font-size:14px}
 .adventure-hero-copy>p{font-size:16px}
 .adventure-booking{padding:24px}
 .adventure-booking h2{font-size:27px}
 .adventure-booking .button{font-size:13px}
 .adventure-jump{font-size:13px;gap:22px}
 .card-line{align-items:flex-start;flex-direction:column;gap:12px}
 .related-grid .card-line{gap:12px}
 .hero-series,.adventure-photo-note{font-size:9px}
}
@media(max-width:800px){
 .hero-content p{font-size:16px;max-width:440px}
 .hero .eyebrow{font-size:10px;line-height:1.6;max-width:380px}
 .hero-secondary{font-size:13px}
 .hero-bottom a{font-size:9px}
 .eyebrow,.adventure-site .eyebrow{font-size:10px}
 .experiences .section-top{display:block}
 .experience-intro{width:100%;max-width:500px;margin-top:24px}
 .intro-coordinate{max-width:260px}
 .card-title{font-size:26px}
 .card-description,.experience-featured .card-description{font-size:15px}
 .experience-footer .text-link,.how-heading .text-link{font-size:14px}
 .boat-tab{font-size:13px}
 .boat-features>div{font-size:14px}
 .boat-copy>p{max-width:620px}
 .steps{gap:24px}
 .steps h3{font-size:21px}
 .gallery-side>p{font-size:14px;max-width:260px}
 .gallery-section>.section-top{align-items:flex-start}
 .gallery-item>span .gallery-caption{font-size:19px}
 .gallery-caption small{font-size:10px}
 .faq-section{grid-template-columns:1fr;gap:35px}
 .crew-contact>span>strong{font-size:15px}
 .crew-contact>span>span{font-size:13px}
 .closing-note{font-size:13px}
 .footer-top>p{font-size:14px}
 .footer-contact{font-size:14px}
 .adventure-hero-copy>p,.overview-copy>p,.story-intro>p{font-size:16px}
 .adventure-site h2{font-size:38px}
 .adventure-booking h2{font-size:28px}
 .adventure-booking>p{font-size:16px}
 .adventure-booking .button{font-size:14px}
 .adventure-photo-note{font-size:9px;letter-spacing:1px}
 .adventure-facts strong{font-size:14px}
 .adventure-jump{font-size:12px;gap:20px}
 .adventure-booking .eyebrow{font-size:10px}
 .booking-notes{font-size:12px;line-height:1.8}
 .related-heading h2{font-size:35px}
 .adventure-type{font-size:9px}
 .card-line h3{font-size:25px}
 .adventure-card.featured h3{font-size:32px}
 .adventure-card.featured p{font-size:16px}
 .overview-copy>.eyebrow{font-size:10px;max-width:360px}
}
@media(max-width:560px){
 .experience-intro{display:block}
 .experience-intro p{font-size:16px;max-width:100%}
 .intro-coordinate{margin-top:15px;font-size:10px;max-width:150px}
 .experience-footer{flex-direction:column;align-items:flex-start}
 .moment-bottom{font-size:14px}
 .moment-location{font-size:9px;letter-spacing:1px}
 .boat-photo-kicker{font-size:9px;letter-spacing:.7px}
 .boat-tab{font-size:11px;padding:13px 9px;gap:5px}
 .boat-features{gap:22px 15px}
 .boat-features>div{font-size:12px}
 .boat-note{font-size:12px;max-width:none}
 .steps h3{font-size:22px}
 .steps p,.boat-copy>p{font-size:16px}
 .gallery-side>p{font-size:14px;max-width:230px}
 .gallery-caption small{font-size:10px;letter-spacing:1px}
 .gallery-bottom{font-size:10px;letter-spacing:.5px}
 .faq-list summary,.adventure-questions .faq-list summary{font-size:16px}
 .faq-list details p,.adventure-questions .faq-list p{font-size:16px}
 .card-tag{font-size:10px;letter-spacing:1px}
 .card-description,.experience-featured .card-description{font-size:14px}
 .experience-featured .card-description{max-width:calc(100% - 58px)}
}
@media(max-width:480px){
 .hero{height:700px}
 .header-actions{gap:12px}
 .header .button.small,.adventure-site .header .button.small{font-size:11px;min-height:43px;padding:11px 12px;gap:9px}
 .header .button.small span{font-size:18px}
 .hero-content p{font-size:16px;line-height:1.7;max-width:350px}
 .hero .eyebrow{font-size:9px;max-width:315px;letter-spacing:1.3px}
 .hero-buttons{gap:20px}
 .hero-buttons .button{font-size:14px;gap:20px;padding:14px 18px}
 .hero-secondary{font-size:12px;gap:10px}
 .hero-location{font-size:10px}
 .hero-bottom a{font-size:8px;letter-spacing:.5px}
 .ticker-track>span{font-size:12px}
 .text-link,.underlined-link{font-size:14px}
 .dialog-intro{font-size:15px}
 .booking-dialog .button{font-size:14px}
 .form-grid{grid-template-columns:1fr}
 .form-grid label,.form-grid label:nth-child(3),.form-grid label:nth-child(4){grid-column:1;font-size:14px}
 .form-grid input,.form-grid select,.form-grid textarea{font-size:16px;padding:13px 11px}
 .booking-dialog h2{font-size:36px}
 .booking-dialog .eyebrow{font-size:10px}
 .form-note{font-size:12px}
 .photo-dialog p{font-size:15px}
 .footer-top{grid-template-columns:1fr;gap:22px}
 .footer-top>p{font-size:15px}
 .footer-contact{grid-column:auto;font-size:14px}
 .footer-bottom{font-size:11px}
 .breadcrumbs{font-size:11px;gap:8px;margin-bottom:32px}
 .adventure-site .eyebrow{font-size:10px;letter-spacing:1.2px}
 .adventure-hero .eyebrow{max-width:310px}
 .adventure-hero-copy>p,.overview-copy>p{font-size:16px;line-height:1.8}
 .adventure-hero-actions .button{font-size:13px;gap:15px}
 .adventure-hero-actions .underlined-link{font-size:12px}
 .adventure-photo-note{font-size:8px;gap:20px}
 .adventure-facts span{font-size:10px;letter-spacing:.6px}
 .adventure-facts strong{font-size:13px}
 .adventure-jump{font-size:12px;gap:17px 12px}
 .adventure-site h2{font-size:35px}
 .adventure-moments>h3{font-size:21px}
 .moment-row h4{font-size:18px}
 .moment-row p{font-size:16px}
 .adventure-story-photo figcaption{font-size:9px;letter-spacing:.7px}
 .packing-columns h3{font-size:19px}
 .packing-columns li{font-size:16px}
 .adventure-booking h2{font-size:28px}
 .booking-price-note{font-size:14px}
 .booking-text{font-size:14px}
 .adventure-cta h2{font-size:clamp(39px,10.5vw,50px)}
 .adventure-cta>div:last-child p{font-size:16px}
 .adventure-cta .button{font-size:14px;gap:20px}
 .related-heading h2{font-size:32px}
 .related-heading .underlined-link{font-size:14px}
 .adventure-card-copy>p,.adventure-card.featured p{font-size:16px}
 .card-line h3{font-size:26px}
 .card-line>span{font-size:12px}
 .card-explore{font-size:14px}
 .adventure-type{font-size:9px;letter-spacing:.6px;right:60px;width:max-content;max-width:calc(100% - 80px);line-height:1.6}
 .directory-heading p{font-size:16px}
 .adventure-filters button{font-size:13px;padding:12px 15px}
 .filter-count{font-size:12px}
 .overview-copy>.eyebrow{font-size:9px;letter-spacing:1px}
 .overview-copy>.button{font-size:13px;gap:20px}
 .overview-private h2{font-size:45px}
 .overview-private p{font-size:16px}
 .overview-private .button{font-size:14px}
 .overview-private .underlined-link{font-size:14px}
 .mobile-booking-bar>span{font-size:12px}
 .mobile-booking-bar small{font-size:11px}
 .mobile-booking-bar .button{font-size:12px;gap:15px}
}
@media(max-width:360px){
 .brand{width:100px;height:96px}
 .header-actions{gap:10px}
 .header .button.small,.adventure-site .header .button.small{font-size:11px;padding:10px;gap:8px}
 .hero-content{top:125px}
 .hero-buttons{gap:15px}
 .hero-buttons .button{font-size:13px;padding:14px 15px;gap:15px}
 .hero-secondary{font-size:11px}
 .hero-bottom a{font-size:7px}
 .boat-tab{font-size:10px;padding:12px 7px}
 .boat-features{grid-template-columns:1fr}
 .card-description,.experience-featured .card-description{font-size:14px}
 .experience-featured .card-description{max-width:calc(100% - 52px)}
 .experience-featured .card-bottom{bottom:25px}
 .mobile-booking-bar{gap:8px;padding-left:4%;padding-right:4%}
 .mobile-booking-bar>span{font-size:11px}
 .mobile-booking-bar small{font-size:10px;max-width:175px}
 .mobile-booking-bar .button{font-size:11px;padding:12px;gap:10px}
}
