@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#092d2f;--paper:#f7f9f5;--yellow:#f3e15a;--muted:#526766}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #1886a0;outline-offset:5px}header{height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid #dae1dc}.brand{font-family:Manrope,Arial,sans-serif;font-size:18px;font-weight:800;letter-spacing:.06em;line-height:1.1;display:block}.brand>span{display:block;font-size:29px;letter-spacing:.16em}.brand-dot{color:#9c8f15}nav{display:flex;gap:34px}nav a{font-size:15px;font-weight:600}nav a:hover{text-decoration:underline}.header-call{border:1px solid #adc0b9;padding:12px 21px;border-radius:30px;font-weight:700}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.hero-copy{padding:66px 8% 40px 10%}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.15em;margin:0 0 24px}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(52px,5.5vw,84px);margin:0 0 28px;font-weight:600}h1 em{font-style:normal;color:#4c7770}p{margin:0 0 22px}.hero-copy>p:not(.eyebrow){color:var(--muted);max-width:490px;font-size:17px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.button{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border-radius:5px;font-size:14px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.yellow{background:var(--yellow);color:var(--ink)}.outline{border:1px solid #acbab1}.button span{font-size:20px}.hero-foot{display:flex;gap:25px;border-top:1px solid #d6dfd7;margin-top:42px;padding-top:19px;font-size:11px;letter-spacing:.1em;font-weight:700}.hero-photo{position:relative;margin:22px 22px 22px 0;border-radius:8px;overflow:hidden;min-height:580px;background:#82c9c5}.hero-photo img{height:100%;width:100%;object-fit:cover;position:absolute;object-position:55% center}.hero-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#092d2fb3)}.photo-tag{position:absolute;bottom:49px;left:35px;z-index:1;color:white;font-size:12px;letter-spacing:.12em}.photo-tag strong{font-family:Manrope,Arial,sans-serif;display:block;font-size:30px;font-weight:500;letter-spacing:-.04em;margin-top:7px}.image-note{position:absolute;bottom:12px;right:18px;color:white;z-index:1;font-size:12px}.destination-strip{display:flex;justify-content:space-around;align-items:center;gap:16px;background:var(--ink);color:white;padding:23px 5%;font-size:13px;letter-spacing:.12em;font-weight:600}.destination-strip i{color:var(--yellow);font-size:23px;font-style:normal}.section{padding:85px 5%}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:end;margin-bottom:38px}h2{font-size:clamp(33px,3.2vw,48px);font-weight:500;margin:0 0 20px}.section-heading p:not(.eyebrow){color:var(--muted);max-width:540px}.route-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.route{padding:26px 23px 20px;border:1px solid #cbd8cf;border-radius:6px;display:flex;flex-direction:column;min-height:235px;transition:background .2s,transform .2s}.route:hover{background:#e9eedf;transform:translateY(-3px)}.route-label{font-size:12px;color:var(--muted);margin-bottom:25px}.route h3{font-size:23px;font-weight:600;margin:0 0 27px;line-height:1.25;letter-spacing:-.025em}.route-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;margin-top:auto}.route-bottom b{font-size:24px;font-weight:400}.kayak-section{background:#e9eee7}.hotel{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.hotel .route-grid{grid-template-columns:1fr 1fr}.hotel-intro p:not(.eyebrow){color:var(--muted)}.booking{padding:70px 5%;background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.booking>div>p:not(.eyebrow){color:#c5d5cd;max-width:540px}.booking .actions{flex-direction:column;max-width:380px;margin:0}.booking-note{font-size:13px;margin-top:20px!important}.faq{max-width:1100px;margin:auto}.faq h2{margin-bottom:32px}details{border-top:1px solid #cbd8cf;padding:22px 0}details:last-child{border-bottom:1px solid #cbd8cf}summary{font-weight:600;font-size:18px;cursor:pointer}details p{margin:16px 0 0;color:var(--muted);max-width:760px}footer{padding:45px 5%;border-top:1px solid #cbd8cf;display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;align-items:start}footer>a:last-of-type{text-align:right;font-size:22px}footer p{font-size:14px;color:var(--muted)}footer small{grid-column:1/-1;color:var(--muted);font-size:12px}.mobile-bar{display:none}.route-hero{max-width:1120px;padding-top:40px}.back{display:block;margin-bottom:45px;font-size:14px}.route-hero h1{max-width:1000px;font-size:clamp(42px,6vw,78px)}.route-lead{max-width:780px;font-size:20px;color:var(--muted)}.trip{display:grid;grid-template-columns:1fr 1fr;gap:12%;background:#e9eee7}.trip h3{font-size:22px;letter-spacing:-.02em}.trip p{color:var(--muted)}.trip-arrow{display:block;color:#709286;font-weight:400;padding:12px 0}.return .route-grid{grid-template-columns:minmax(250px,450px)}
@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:1100px){.hero-copy{padding-top:48px}.hero-copy .actions{flex-direction:column}.hero-copy .button{max-width:330px}.hero-foot{font-size:10px;gap:12px}.route-grid{grid-template-columns:repeat(2,1fr)}.hotel{grid-template-columns:1fr}.hotel .route-grid{margin-top:20px}.hero-photo{min-height:600px}.destination-strip{font-size:11px}}
@media(max-width:700px){header{height:88px;padding:0 6%}nav{display:none}.header-call{padding:10px 13px;font-size:13px}.brand{font-size:14px}.brand>span{font-size:23px}.hero{grid-template-columns:1fr}.hero-copy{padding:38px 6% 28px}h1{font-size:56px}.hero-copy .actions{flex-direction:row}.hero-copy .button{flex:1;min-width:160px;font-size:13px;padding:14px}.hero-foot{margin-top:28px;font-size:10px}.hero-photo{margin:0 5% 24px;min-height:350px}.photo-tag{bottom:36px;left:22px}.photo-tag strong{font-size:26px}.destination-strip{flex-wrap:wrap;gap:10px 18px;padding:20px 5%;font-size:10px}.destination-strip i{font-size:16px}.destination-strip i:last-of-type{display:none}.section{padding:52px 6%}.section-heading{grid-template-columns:1fr;gap:6px}.section-heading h2{margin-bottom:20px}.eyebrow{font-size:11px;margin-bottom:19px}.route-grid{gap:12px}.route{padding:21px 16px 15px;min-height:220px}.route h3{font-size:19px}.route-label{font-size:11px}.route-bottom{font-size:12px}.booking{grid-template-columns:1fr;padding:50px 6%;gap:16px}.booking .actions{max-width:none}.hotel .route-grid{grid-template-columns:1fr}.hotel .route{min-height:180px}.trip{grid-template-columns:1fr;gap:25px}.route-lead{font-size:18px}.route-hero h1{font-size:43px}footer{grid-template-columns:1fr 1fr;padding:35px 6% 95px}footer>a:last-of-type{text-align:left;font-size:19px;grid-column:1/-1}footer p{font-size:13px}.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;background:var(--ink);padding:10px 15px;gap:10px;box-shadow:0 -3px 20px #0002}.mobile-bar a{flex:1;text-align:center;background:var(--yellow);color:var(--ink);padding:10px;border-radius:4px;font-weight:700}.mobile-bar a:last-child{background:#fff}.faq h2{font-size:33px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.hero-routes{margin-top:25px;max-width:580px}.hero-routes-label{font-size:12px;font-weight:700;letter-spacing:.1em;margin-bottom:14px;color:var(--muted)}.hero-routes ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}.hero-routes li{position:relative;padding-left:22px;font-size:15px;line-height:1.5}.hero-routes li::before{content:"";position:absolute;left:1px;top:.52em;width:8px;height:8px;border-radius:50%;background:#80a79a;box-shadow:0 0 0 3px #80a79a20}.hero-routes li:nth-child(3n+2)::before{background:#b2a53b;box-shadow:0 0 0 3px #b2a53b18}.hero-routes a:hover{text-decoration:underline;text-underline-offset:3px}.hero-photo{align-self:start;position:sticky;top:22px;height:680px}@media(max-width:700px){.hero-routes{margin-top:22px}.hero-routes li{font-size:15px;line-height:1.55}.hero-routes ul{gap:11px}.hero-photo{position:relative;top:auto;height:350px}}
