:root{--navy:#102f40;--navy-light:#254956;--teal:#316c73;--ink:#183744;--muted:#52666d;--paper:#fbf8f1;--sand:#efeadf;--white:#fff;--line:#d7ddd8;--coral:#a9523c;--peach:#e6aa8e;--radius:6px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}img{max-width:100%;height:auto}svg{max-width:100%}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.04em}h1{font-size:clamp(3rem,calc(5.5vw * var(--a11y-text-scale,1)),5rem);line-height:1.03}h2{font-size:clamp(2.125rem,calc(3.3vw * var(--a11y-text-scale,1)),3.0625rem);line-height:1.1}h3{font-size:1.3125rem;line-height:1.3}p{line-height:1.7}button{border:0;background:none;color:inherit}a,button,summary,input,select{touch-action:manipulation}:focus-visible{outline:3px solid #aa593c;outline-offset:5px}.chart-panel :focus-visible,.closing :focus-visible,.island-section :focus-visible{outline-color:#f1d1a4}[hidden]{display:none!important}.wrap{max-width:1280px;margin-inline:auto;padding-inline:40px}.section{padding-block:90px}.eyebrow{font-size:0.6875rem;font-weight:700;letter-spacing:.18em;line-height:1.6;color:var(--teal);margin-bottom:19px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:36px}.section-heading>p{font-size:0.875rem;color:var(--muted);max-width:370px}.text-link{font-size:0.875rem;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:18px;min-height:44px}.text-link:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:52px;padding:16px 23px;border-radius:var(--radius);text-decoration:none;font-size:0.875rem;font-weight:600;line-height:1.3;transition:background .2s,transform .2s;max-width:100%;text-align:center}.button:hover{transform:translateY(-2px)}.primary{background:var(--navy);color:#fff}.primary:hover{background:#254e60}.secondary{background:var(--sand);border:1px solid var(--line)}.light{background:var(--paper);color:var(--navy)}.reset-link{font-size:0.8125rem;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:8px}.reset-link:hover{color:var(--coral)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;z-index:30;top:10px;left:15px;transform:translateY(-160%);padding:15px;background:var(--paper);color:var(--navy)}.skip:focus{transform:translateY(0)}
.site-header{position:sticky;top:0;z-index:20;background:rgba(251,248,241,.97);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:94px}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-size:0.9375rem;font-weight:700;letter-spacing:.12em}.brand img{mix-blend-mode:multiply;width:64px;height:64px;object-fit:contain}.brand-domain{letter-spacing:.015em;white-space:nowrap}.site-header nav{display:flex;align-items:center;gap:19px;font-size:0.8125rem;font-weight:600}.site-header nav a{text-decoration:none;min-height:44px;display:flex;align-items:center}.site-header nav a:hover{color:var(--coral)}.site-header .nav-cta{padding:10px 15px;border:1px solid var(--navy);border-radius:var(--radius);gap:17px}.menu-toggle{display:none;min-height:44px;padding:10px 0;font-size:0.875rem;font-weight:600}
.hero{padding-top:59px;padding-bottom:58px;display:grid;grid-template-columns:1.02fr 1fr;gap:56px;align-items:center}.hero-copy{padding-block:16px}.hero .eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:25px}.small-line{width:25px;height:1px;background:var(--teal)}h1 em{color:var(--teal);font-weight:400}.hero-intro{font-size:1rem;line-height:1.8;max-width:460px;margin-top:27px;color:var(--muted)}.hero-actions{display:flex;flex-wrap:wrap;gap:17px;align-items:center;margin-top:31px}.hero-footnote{color:var(--muted);font-size:0.6875rem;margin-top:25px;letter-spacing:.02em}.chart-panel{background:var(--navy);color:#fff;border-radius:9px;overflow:hidden;box-shadow:0 20px 45px #102f4014;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.chart-heading{display:flex;justify-content:space-between;padding:25px 26px 0;gap:12px;font-size:0.625rem;letter-spacing:.14em;color:#f3eee4;font-weight:600}.chart-coordinates{font-size:0.5625rem;color:#aec4cd;letter-spacing:.05em;white-space:nowrap}.sea-chart{position:relative;aspect-ratio:560/480;margin:14px 0;container-type:inline-size}.chart-drawing{width:100%;height:100%;display:block}.coast,.island-sylt{fill:#1d4050;stroke:#496879;stroke-width:1.2}.route-line{stroke:#8fafb8;stroke-width:1.4;stroke-dasharray:4 6;fill:none}.destination{position:absolute;left:13%;top:59%;text-align:center;display:flex;flex-direction:column;font-size:clamp(0.875rem,calc(1.5vw * var(--a11y-text-scale,1)),1.3125rem);width:25%}.destination strong{font-family:Georgia,serif;font-weight:400}.destination>span:last-child{font-size:0.5625rem;letter-spacing:.08em;color:#b9cdd4;margin-top:7px}.destination-dot{position:absolute;top:-17px;left:51%;width:8px;height:8px;background:var(--peach);border-radius:50%;box-shadow:0 0 0 6px #e6aa8e1a}.map-port{position:absolute;display:flex;align-items:center;gap:6px;font-size:clamp(0.625rem,calc(1.1vw * var(--a11y-text-scale,1)),0.8125rem);min-height:44px;white-space:nowrap;text-decoration:none;padding:5px 9px 5px 0;border-radius:5px}.map-port>span{width:7px;height:7px;background:#f6f1e8;border-radius:100%;box-shadow:0 0 0 3px #faf6ee12}.map-port:hover{color:#ffd5b2}.map-port:hover>span{background:#edb895}.port-sylt{left:64%;top:16%}.port-buesum{left:71.5%;top:36%}.port-bruns{left:73.5%;top:57.5%}.port-cux{left:auto;right:34%;top:66%;flex-direction:row-reverse;padding:5px 0 5px 9px}.port-hh{left:83.5%;top:81.5%;transform:translateX(-17%)}.chart-bottom{padding:16px 23px 23px;border-top:1px solid #365362;font-size:0.5625rem;color:#b9cbd2;display:flex;flex-direction:column;gap:9px}.chart-bottom>span:first-child{color:#e8eeec;font-size:0.6875rem;display:flex;align-items:center;gap:8px}.legend-dot{width:6px;height:6px;background:var(--peach);border-radius:50%}
.facts-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f3f0e8}.facts{display:grid;grid-template-columns:repeat(3,1fr);padding-block:24px}.facts p{display:flex;flex-direction:column;padding-inline:38px;border-right:1px solid var(--line)}.facts p:first-child{padding-left:0}.facts p:last-child{border:0}.facts strong{font-family:Georgia,serif;font-weight:400;font-size:1.5625rem;line-height:1.4;letter-spacing:-.02em}.facts span{color:var(--muted);font-size:0.75rem;margin-top:2px}
.finder-box{background:var(--white);border:1px solid var(--line);border-radius:9px;padding:29px;box-shadow:0 5px 24px #102f4006}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.field label{font-size:0.75rem;font-weight:700;display:block;margin-bottom:11px}.field select{width:100%;background-color:#fbfcfa;color:var(--ink);border:1px solid #c9d2ce;border-radius:5px;min-height:51px;font-size:0.8125rem;padding:12px 30px 12px 12px;cursor:pointer}.finder-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px}.extras{display:flex;gap:22px;flex-wrap:wrap;margin:0;padding:0;border:0}.extras legend{font-size:0.6875rem;color:var(--muted);margin-bottom:10px}.extras label{font-size:0.75rem;display:flex;gap:8px;align-items:center;min-height:32px;cursor:pointer}input[type=checkbox]{width:19px;height:19px;accent-color:var(--teal);flex-shrink:0;cursor:pointer}.finder-actions{display:flex;align-items:center;gap:16px}.finder-disclaimer{font-size:0.6875rem;color:var(--muted);margin-top:22px;padding-top:18px;border-top:1px solid #e4e8e1;line-height:1.65}.notice{padding:16px;background:var(--sand);margin-top:16px;border-radius:5px;font-size:0.875rem}.results{margin-top:32px}.result-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.result-top h3{font-family:Georgia,serif;font-weight:400;font-size:1.875rem}.result-top span{font-size:0.75rem;color:var(--muted)}.result-notes{background:#edf2ef;border-left:3px solid var(--teal);padding:18px 20px;margin-bottom:22px;border-radius:0 5px 5px 0;font-size:0.8125rem}.result-notes ul{margin:0;padding-left:18px;display:grid;gap:8px;line-height:1.6}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.route-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:7px;padding:23px;position:relative}.route-card.preferred{border-color:#57848a}.route-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:21px;font-size:0.6875rem}.type-tag{background:var(--sand);padding:6px 9px;border-radius:4px}.match-tag{font-size:0.625rem;color:var(--teal)}.route-card h4{font-size:1.3125rem;margin:0 0 7px}.route-card .ship-name{font-size:0.75rem;color:var(--muted)}.route-duration{font-family:Georgia,serif;font-size:1.6875rem;margin-block:19px 5px;letter-spacing:-.02em}.route-season{font-size:0.6875rem;color:var(--teal);font-weight:600;margin-bottom:17px}.route-description{font-size:0.8125rem;color:var(--muted);margin-bottom:20px}.route-card>a{margin-top:auto;align-self:flex-start;font-size:0.8125rem;font-weight:600;min-height:44px;padding-block:12px;text-decoration:none}.route-card>a:hover{text-decoration:underline}.empty-result{grid-column:1/-1;padding:28px;border:1px solid var(--line);background:var(--white);border-radius:7px}.empty-result p{font-size:0.875rem;color:var(--muted);margin:10px 0 18px}.extra-tips{margin-top:20px;background:#f5eadf;border:1px solid #dfc9b5;border-radius:6px;padding:18px;font-size:0.8125rem;line-height:1.7}.extra-tips h4{margin:0 0 7px;font-size:0.875rem}.extra-tips p+p{margin-top:8px}
.connections-section{background:#f1f3ee;border-block:1px solid var(--line)}.connection-list{border-top:1px solid #bfcac4}.connection-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1.2fr) auto;gap:35px;border-bottom:1px solid #cbd4ce;padding-block:28px;align-items:start}.connection-name{display:flex;gap:21px}.row-number{font-size:0.6875rem;color:var(--teal);letter-spacing:.1em;padding-top:7px}.connection-name h3{font-family:Georgia,serif;font-weight:400;font-size:1.625rem;margin-bottom:7px}.connection-name p{font-size:0.8125rem;line-height:1.6;color:var(--muted);max-width:340px}.harbor-details{font-size:0.75rem;margin-top:9px}.harbor-details summary{cursor:pointer;min-height:38px;padding-block:9px;color:var(--teal);font-weight:600}.harbor-details p{margin:6px 0 9px}.harbor-details a{display:inline-block;min-height:38px;padding-block:8px}.connection-meta{margin:5px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:0.8125rem}.connection-meta dt{color:var(--muted);font-size:0.625rem;text-transform:uppercase;letter-spacing:.09em;margin-bottom:9px}.connection-meta dd{margin:0;line-height:1.6}.port-choose{font-size:0.75rem;font-weight:600;min-height:44px;padding-top:14px;text-decoration:none;display:flex;gap:10px;align-items:baseline}.port-choose:hover{text-decoration:underline}.source-line{display:flex;justify-content:space-between;gap:20px;font-size:0.6875rem;color:var(--muted);margin-top:23px}.source-line a{display:inline-block;min-height:35px}
.planning-layout{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:start}.planning-copy>p:not(.eyebrow){color:var(--muted);font-size:0.9375rem;max-width:390px;margin-top:24px}.planning-copy>.text-link{margin-top:18px}.weather-note{display:flex;gap:18px;align-items:center;margin-top:30px;border-top:1px solid var(--line);padding-top:22px;max-width:420px}.weather-note>span{font-family:Georgia,serif;font-size:2.6875rem;color:var(--teal)}.weather-note>p{font-size:0.75rem;color:var(--muted);line-height:1.7}.checklist{border:1px solid var(--line);background:var(--white);border-radius:8px;padding:26px}.checklist-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.checklist-top h3{font-family:Georgia,serif;font-weight:400;font-size:1.6875rem}.checklist-top span{color:var(--muted);font-size:0.6875rem}.progress-track{height:3px;background:var(--sand);margin:20px 0 8px;overflow:hidden}.progress-track>div{height:100%;background:var(--teal);width:0;transition:width .25s}.check-item{display:flex;gap:13px;align-items:flex-start;padding:19px 0;border-bottom:1px solid #e5e9e4;cursor:pointer}.check-item input{margin:0;margin-top:1px}.check-item strong{display:block;font-size:0.8125rem;margin-bottom:7px}.check-item span>span{font-size:0.6875rem;color:var(--muted);line-height:1.6;display:block}.check-item:has(input:checked) strong{color:var(--teal)}.checklist-bottom{padding-top:15px;display:flex;justify-content:space-between;gap:10px;align-items:center}.checklist-bottom>span{font-size:0.625rem;color:var(--muted)}.checklist-bottom .reset-link{font-size:0.625rem}
.island-section{background:var(--navy);color:var(--paper);padding-block:73px}.island-section .eyebrow{color:#aac7cd}.island-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}.island-heading h2{font-size:2.8125rem;max-width:650px}.island-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:50px;gap:42px}.island-grid article{border-top:1px solid #617a81;padding-top:23px;display:flex;flex-direction:column}.island-number{font-size:0.625rem;letter-spacing:.1em;color:#aac7cd}.island-grid h3{font-family:Georgia,serif;font-weight:400;font-size:1.5625rem;margin-top:18px}.island-grid p{font-size:0.8125rem;color:#c7d4d8;margin-top:16px;line-height:1.8;margin-bottom:18px}.island-grid a{font-size:0.75rem;color:var(--paper);margin-top:auto;min-height:44px;padding-top:12px;display:flex;gap:15px;text-decoration:none;align-items:baseline}.island-grid a:hover{text-decoration:underline}.island-more{border-top:1px solid #617a81;padding-top:21px;margin-top:40px;display:flex;gap:26px;font-size:0.75rem;align-items:center;flex-wrap:wrap}.island-more>span{color:#bdcdd1}.island-more a{min-height:44px;display:flex;align-items:center;text-decoration:none}.island-more a:hover{text-decoration:underline}
.faq-layout{display:grid;grid-template-columns:.82fr 1.5fr;gap:80px}.faq-intro>p:not(.eyebrow){max-width:310px;font-size:0.875rem;color:var(--muted);margin-top:26px}.faq-logo{margin-top:27px;mix-blend-mode:multiply;width:210px;height:210px}.search-field{display:flex;align-items:center;border:1px solid #c4cfca;border-radius:5px;background:var(--white);padding-inline:15px;gap:12px}.search-field>span{font-size:1.5625rem;color:var(--muted)}.search-field input{min-width:0;flex:1;min-height:51px;width:100%;border:0;background:none;font-size:0.8125rem;color:var(--ink);outline-offset:0}.search-field button{font-size:1.375rem;min-width:36px;min-height:44px;color:var(--muted)}.faq-categories{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.faq-categories button{border:1px solid var(--line);border-radius:5px;padding:11px 12px;min-height:44px;font-size:0.6875rem;background:transparent}.faq-categories button[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}.faq-categories button:hover{border-color:var(--teal)}.faq-toolbar{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:0.6875rem;margin-block:12px 9px}.faq-toolbar .reset-link{font-size:0.6875rem}.faq-item{border-bottom:1px solid var(--line)}.faq-item:first-child{border-top:1px solid var(--line)}.faq-item summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;font-size:0.875rem;font-weight:600;padding:21px 2px;line-height:1.55;min-height:68px}.faq-item summary::-webkit-details-marker{display:none}.faq-plus{font-size:1.4375rem;font-weight:400;color:var(--teal);flex-shrink:0;transition:transform .2s}.faq-item[open] .faq-plus{transform:rotate(45deg)}.faq-item[open] summary{color:var(--teal)}.faq-answer{padding:0 27px 22px 2px}.faq-answer p{font-size:0.8125rem;line-height:1.85;color:var(--muted)}.faq-answer a{font-size:0.6875rem;display:inline-block;min-height:40px;padding-top:14px;color:var(--teal)}.faq-empty{padding:27px;background:var(--sand);border-radius:6px;margin-top:10px}.faq-empty h3{font-size:1.125rem}.faq-empty p{font-size:0.8125rem;margin:12px 0 22px;color:var(--muted)}
.closing{background:#e9eee7;padding-block:52px;border-block:1px solid var(--line)}.closing>.wrap{display:flex;justify-content:space-between;align-items:center;gap:30px}.closing h2{font-size:2.6875rem}.closing .eyebrow{margin-bottom:12px}.closing .button{background:var(--navy);color:#fff}.site-footer{padding-block:45px 23px}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:28px}.footer-brand{font-size:0.8125rem;letter-spacing:.12em;font-weight:700;text-decoration:none;min-height:44px}.footer-brand>span{font-size:0.625rem;letter-spacing:.03em;color:var(--muted);display:block;margin-top:9px;font-weight:400}.footer-top>p{font-size:0.6875rem;color:var(--muted);max-width:360px}.footer-top .text-link{font-size:0.6875rem}.footer-details{border-top:1px solid var(--line);font-size:0.6875rem;color:var(--muted)}.footer-details summary{min-height:45px;padding-block:15px;cursor:pointer;font-weight:600;color:var(--ink)}.footer-details p{max-width:950px;line-height:1.8;padding-bottom:15px}.footer-details ul{padding-left:18px;line-height:2.3;margin:0 0 18px}.footer-details a{display:inline-block;padding-block:4px}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:0.625rem;color:var(--muted);padding-top:22px}
@media(min-width:1400px){.hero{padding-block:72px}.chart-panel{max-height:615px}}
@media(max-width:1100px){.wrap{padding-inline:30px}.hero{gap:32px}.hero-actions{gap:10px}.hero-actions .button{gap:14px;font-size:0.75rem;padding-inline:18px}.hero-actions .text-link{font-size:0.75rem;gap:10px}.site-header nav{gap:19px}.chart-heading{padding-inline:20px}.form-grid{gap:12px}.finder-box{padding:24px}.connection-row{gap:24px;grid-template-columns:minmax(0,1.4fr) minmax(0,1.2fr) auto}.connection-name{gap:12px}.planning-layout{gap:40px}.faq-layout{gap:45px}.island-grid{gap:28px}.finder-bottom{align-items:flex-end}.finder-actions{gap:8px}.extras{gap:8px 15px}.finder-actions .button{font-size:0.8125rem;gap:12px}}
@media(max-width:850px){.header-inner{min-height:83px;gap:15px}.brand{font-size:0.75rem}.brand img{width:53px;height:53px}.site-header nav{gap:15px;font-size:0.6875rem}.site-header .nav-cta{padding:8px 12px;gap:10px}.hero{grid-template-columns:1fr 1fr;gap:23px;padding-block:42px}h1{font-size:3.3125rem}.hero-intro{font-size:0.875rem}.hero-actions .text-link{margin-top:3px}.hero-footnote{font-size:0.625rem}.chart-coordinates{display:none}.chart-panel{align-self:center}.chart-heading{font-size:0.5625rem}.map-port{font-size:0.625rem}.destination{font-size:1.0625rem}.chart-bottom{padding:14px 16px;font-size:0.5rem}.chart-bottom>span:first-child{font-size:0.5625rem}.facts p{padding-inline:20px}.facts strong{font-size:1.4375rem}.facts span{font-size:0.625rem}.section{padding-block:65px}.section-heading{display:block}.section-heading>p{margin-top:17px;max-width:none}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.finder-bottom{flex-wrap:wrap;align-items:center}.finder-actions{margin-left:auto}.connection-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px 35px}.port-choose{grid-column:2;min-height:35px;padding-top:0}.connection-name{grid-row:span 2}.connection-meta{margin-top:5px}.planning-layout{gap:30px}.checklist{padding:22px}.checklist-top{gap:10px;flex-wrap:wrap}.island-heading{display:block}.island-heading h2{font-size:2.5rem}.island-grid{gap:23px}.island-grid h3{font-size:1.3125rem}.faq-layout{grid-template-columns:.8fr 1.4fr;gap:30px}.faq-categories{gap:5px}.faq-categories button{font-size:0.625rem;padding:10px 9px}.faq-intro h2{font-size:2.3125rem}.footer-top{gap:23px}}
@media(max-width:680px){html{scroll-padding-top:88px}.wrap{padding-inline:22px}.header-inner{min-height:76px;position:relative}.brand{font-size:0.8125rem}.brand img{width:48px;height:48px}.menu-toggle:not([hidden]){display:block}.site-header nav{display:flex;flex-wrap:wrap;gap:4px 17px;font-size:0.6875rem;justify-content:flex-end}.js-ready .site-header nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:15px 22px 20px;border-bottom:1px solid var(--line);box-shadow:0 14px 20px #102f4010}.js-ready .site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:4px}.js-ready .site-header nav a{padding:10px 12px;min-height:47px;font-size:0.875rem}.js-ready .site-header .nav-cta{justify-content:space-between;margin-top:8px}.hero{grid-template-columns:1fr;gap:32px;padding-top:36px;padding-bottom:38px}.hero-copy{padding:0}h1{font-size:clamp(3.0625rem,calc(10.5vw * var(--a11y-text-scale,1)),4.3125rem)}.hero .eyebrow{margin-bottom:22px;font-size:0.625rem}.hero-intro{font-size:0.9375rem;margin-top:22px;max-width:450px}.hero-actions{gap:13px;margin-top:25px}.hero-actions .button{font-size:0.8125rem;padding-inline:20px;gap:18px}.hero-actions .text-link{font-size:0.8125rem;gap:9px}.hero-footnote{margin-top:19px;font-size:0.625rem}.chart-panel{width:100%;max-width:530px;justify-self:center}.sea-chart{margin:9px 0 0}.chart-heading{padding:19px 19px 0;font-size:0.5625rem}.chart-coordinates{display:block;font-size:0.5rem}.map-port{font-size:clamp(0.625rem,calc(2.5vw * var(--a11y-text-scale,1)),0.8125rem)}.destination{font-size:1.25rem}.destination>span:last-child{font-size:0.5625rem}.chart-bottom{padding:14px 19px;font-size:0.5rem;gap:8px}.chart-bottom>span:first-child{font-size:0.625rem}.facts{padding-block:19px;grid-template-columns:1fr;gap:17px}.facts p{padding:0;border:0;display:flex;flex-direction:row;gap:19px;align-items:center}.facts strong{font-size:1.375rem;min-width:135px}.facts span{font-size:0.6875rem;line-height:1.5;margin:0}.section{padding-block:55px}h2{font-size:2.1875rem}.eyebrow{font-size:0.625rem;margin-bottom:14px}.section-heading{margin-bottom:25px}.section-heading>p{font-size:0.8125rem;margin-top:15px}.section-heading>p br{display:none}.finder-box{padding:21px 18px}.form-grid{gap:20px 14px}.field label{font-size:0.6875rem;margin-bottom:9px}.field select{font-size:0.75rem;padding-left:9px;padding-right:20px;min-height:52px}.finder-bottom{gap:15px;margin-top:20px}.extras{width:100%;gap:11px 19px}.extras label{font-size:0.6875rem}.finder-actions{width:100%;justify-content:space-between;gap:11px;margin:0;align-items:center}.finder-actions .button{font-size:0.75rem;gap:10px;padding-inline:14px}.reset-link{font-size:0.6875rem}.finder-disclaimer{font-size:0.625rem;margin-top:18px}.result-top{display:block}.result-top h3{font-size:1.6875rem}.result-top span{display:block;margin-top:9px;line-height:1.6;font-size:0.6875rem}.result-grid{grid-template-columns:1fr}.result-notes{padding:16px;font-size:0.75rem}.route-card{padding:22px}.connection-row{grid-template-columns:1fr;gap:17px;padding-block:24px}.connection-name{grid-row:auto;gap:15px}.connection-name h3{font-size:1.6875rem}.connection-name p{max-width:none}.connection-meta{padding-left:32px;font-size:0.75rem;grid-template-columns:1fr 1fr;gap:23px;margin:0}.connection-meta dt{font-size:0.5625rem;margin-bottom:5px}.port-choose{grid-column:auto;margin-left:32px;font-size:0.75rem;min-height:44px;padding-block:8px}.source-line{font-size:0.625rem;gap:15px}.source-line a{white-space:nowrap}.planning-layout{grid-template-columns:1fr;gap:30px}.planning-copy>p:not(.eyebrow){font-size:0.875rem;margin-top:21px}.weather-note{margin-top:19px;padding-top:16px}.checklist{padding:23px 20px}.checklist-top h3{font-size:1.625rem}.checklist-top span{font-size:0.625rem}.checklist-bottom{align-items:flex-start}.checklist-bottom>span{max-width:210px}.checklist-bottom .reset-link{font-size:0.625rem;white-space:nowrap;padding:0;min-height:30px}.island-section{padding-block:48px}.island-heading h2{font-size:2.25rem}.island-grid{grid-template-columns:1fr;gap:25px;margin-top:30px}.island-grid article{padding-top:17px}.island-grid h3{font-size:1.625rem;margin-top:11px}.island-grid p{font-size:0.8125rem;margin-top:13px;margin-bottom:9px}.island-grid a{font-size:0.75rem}.island-more{gap:4px 25px;margin-top:25px;padding-top:15px;font-size:0.6875rem}.island-more>span{width:100%}.faq-layout{grid-template-columns:1fr;gap:25px}.faq-intro h2{font-size:2.1875rem}.faq-intro h2 br{display:none}.faq-intro>p:not(.eyebrow){font-size:0.8125rem;margin-top:16px;max-width:100%}.faq-logo{display:none}.faq-item summary{font-size:0.8125rem;padding-block:19px;gap:16px}.faq-answer p{font-size:0.75rem}.faq-answer{padding-right:5px}.faq-categories button{font-size:0.625rem;min-height:44px}.search-field input{font-size:0.75rem;min-height:53px}.closing{padding-block:38px}.closing>.wrap{display:block}.closing h2{font-size:2.25rem}.closing .button{margin-top:25px;font-size:0.75rem;gap:22px}.footer-top{flex-wrap:wrap;gap:22px}.footer-top>p{font-size:0.625rem}.footer-brand{width:100%}.footer-top>.text-link{font-size:0.6875rem}.footer-bottom{flex-direction:column;gap:12px;font-size:0.5625rem}.footer-details{font-size:0.625rem}}
@media(max-width:360px){.wrap{padding-inline:17px}.brand{font-size:0.6875rem}.hero-actions{align-items:flex-start;flex-direction:column}.hero-actions .button{width:100%}.chart-heading{font-size:0.5rem;letter-spacing:.06em}.map-port{font-size:0.5625rem}.destination{font-size:1.0625rem}.form-grid{grid-template-columns:1fr}.finder-actions{flex-direction:column-reverse;align-items:stretch}.finder-actions .button{width:100%;font-size:0.8125rem}.facts strong{min-width:125px}.checklist-bottom{flex-wrap:wrap}.checklist-bottom>span{max-width:none}.site-header nav{font-size:0.625rem;gap:4px 9px}.brand img{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.button:hover{transform:none}}
@media print{.site-header,.chart-panel,.hero-actions,.facts-band,.finder-box,.island-section,.closing,.site-footer,.faq-logo,.faq-tools,.port-choose{display:none!important}.wrap{padding-inline:0;max-width:none}.section,.hero{padding-block:16px}.hero{display:block}h1{font-size:2.1875rem}h2{font-size:1.5625rem}.result-grid,.planning-layout,.faq-layout{display:block}.route-card{break-inside:avoid;margin-bottom:15px}.connection-row{break-inside:avoid}.connections-section{background:none}.route-card a::after{content:' (' attr(href) ')';font-size:0.5625rem;overflow-wrap:anywhere}.faq-item{break-inside:avoid}.faq-answer{display:block}.result-notes{background:none}.results[hidden]{display:none!important}}

@media(max-width:680px){.field select,.search-field input{font-size:1rem}.form-grid{grid-template-columns:1fr}}

.lodging-section{background:#f1f3ee;border-block:1px solid var(--line)}
.lodging-planning{display:flex;align-items:start;gap:28px;margin-bottom:28px;padding:20px 23px;border-left:3px solid var(--teal);background:#e5ede7}
.lodging-planning>strong{font-size:0.9375rem;min-width:170px;line-height:1.7}.lodging-planning p{font-size:0.875rem;color:var(--muted)}
.lodging-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:20px;margin-block:28px 16px}.lodging-tools .reset-link{min-height:52px}
.lodging-status{font-size:0.75rem;color:var(--muted);margin-bottom:18px}
.lodging-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.lodging-grid.is-filtered{grid-template-columns:minmax(0,780px)}
.lodging-card{min-width:0;background:var(--white);border:1px solid var(--line);border-radius:8px;padding:26px;display:flex;flex-direction:column;scroll-margin-top:110px}.lodging-island{border-color:#71968f;background:#fafcf9}
.lodging-tag{font-size:0.625rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--teal);margin-bottom:11px}.lodging-card h3{font-family:Georgia,serif;font-size:1.875rem;font-weight:400;letter-spacing:-.025em;margin-bottom:15px}.lodging-intro{font-size:0.875rem;color:var(--muted)}
.lodging-location{border-top:1px solid var(--line);margin-top:21px;padding-top:18px}.lodging-location strong{font-size:0.75rem;line-height:1.6;display:block;margin-bottom:8px}.lodging-location p{font-size:0.75rem;color:var(--muted)}
.lodging-links{display:grid;gap:16px;margin-block:23px}.lodging-links a{display:flex;justify-content:space-between;align-items:center;gap:13px;min-height:46px;font-size:0.8125rem;font-weight:600;text-decoration:none;border:1px solid #aebfb8;border-radius:5px;padding:11px 13px;line-height:1.5}.lodging-links a:hover{background:#edf2ef}.lodging-source{display:block;font-size:0.625rem;color:var(--muted);margin-top:7px;line-height:1.6}.lodging-link-hint{font-size:0.6875rem;color:var(--muted);margin-top:5px}
.lodging-travel-link{margin-top:auto;font-size:0.75rem;color:var(--teal);min-height:44px;display:flex;align-items:center;gap:12px;text-decoration:none}.lodging-travel-link a{min-height:44px;display:inline-flex;align-items:center;gap:12px;text-decoration:none}.lodging-travel-link:hover,.lodging-travel-link a:hover{text-decoration:underline}
.lodging-booking{margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}.lodging-booking h3{font-size:1.125rem;margin-bottom:10px}.lodging-booking p{font-size:0.8125rem;color:var(--muted);max-width:940px}.lodging-disclaimer{margin-top:20px;font-size:0.6875rem;color:var(--muted);max-width:1000px}
.route-card>a.route-lodging-link{margin-top:0;color:var(--teal);font-size:0.75rem}
@media(max-width:1100px){.lodging-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.lodging-tools{gap:15px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lodging-tools>.reset-link{justify-self:start;min-height:44px;padding-left:0}.lodging-planning{gap:18px}.header-inner{position:relative;flex-wrap:wrap}.menu-toggle:not([hidden]){display:block}.site-header nav{flex-wrap:wrap}.js-ready .site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:15px 22px 20px;border-bottom:1px solid var(--line);box-shadow:0 14px 20px #102f4010}.js-ready .site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:4px}.js-ready .site-header nav a{padding:10px 12px;min-height:47px;font-size:0.875rem}.js-ready .site-header .nav-cta{justify-content:space-between;margin-top:8px}}
@media(max-width:680px){.lodging-grid,.lodging-grid.is-filtered,.lodging-tools{grid-template-columns:1fr}.lodging-tools{gap:19px}.lodging-planning{display:block;padding:18px}.lodging-planning p{margin-top:8px;font-size:0.8125rem}.lodging-card{padding:22px;scroll-margin-top:88px}.lodging-card h3{font-size:1.75rem}.lodging-intro{font-size:0.8125rem}.lodging-disclaimer{font-size:0.625rem}.lodging-tools select{font-size:1rem}}
@media print{.lodging-tools,.lodging-status{display:none!important}.lodging-section{background:none}.lodging-grid,.lodging-grid.is-filtered{display:block}.lodging-card{break-inside:avoid;margin-bottom:15px}.lodging-links a::after{content:' (' attr(href) ')';font-size:0.5625rem;overflow-wrap:anywhere}}
.arrival-chips{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}.arrival-chips a{display:inline-flex;gap:16px;align-items:center;min-height:44px;border:1px solid #b9c9c2;border-radius:5px;padding:12px 16px;text-decoration:none;font-size:0.75rem;font-weight:600;background:#fff}.arrival-chips a:hover{background:#edf2ef;border-color:var(--teal)}.arrival-intro{max-width:930px;font-size:0.8125rem;color:var(--muted);margin-bottom:25px}.arrival-list{display:grid;gap:13px}.arrival-card{border:1px solid var(--line);border-radius:8px;background:#fff;scroll-margin-top:110px;overflow:clip}.arrival-card[open]{border-color:#99b7af}.arrival-card>summary{display:flex;align-items:center;gap:24px;padding:23px 25px;list-style:none;cursor:pointer;min-height:98px}.arrival-card>summary::-webkit-details-marker{display:none}.arrival-summary-copy{display:grid;gap:7px;flex:1;min-width:0}.arrival-summary-copy strong{font-family:Georgia,serif;font-size:1.6875rem;font-weight:400;line-height:1.2}.arrival-summary-copy>span{font-size:0.75rem;color:var(--muted);line-height:1.6}.arrival-parking-tag{font-size:0.6875rem;font-weight:600;color:var(--teal);background:#edf2ef;border-radius:4px;padding:9px 12px;line-height:1.6;max-width:280px}.arrival-plus{color:var(--teal);font-size:1.75rem;flex-shrink:0;line-height:1}.arrival-card[open] .arrival-plus{transform:rotate(45deg)}.arrival-body{padding:0 25px 25px}.arrival-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding-top:25px;border-top:1px solid var(--line)}.arrival-columns h3{display:flex;align-items:center;gap:9px;font-size:1rem;margin-bottom:16px}.arrival-icon{display:inline-flex;align-items:center;justify-content:center;border:1px solid #a5bcb5;border-radius:4px;min-width:27px;height:27px;font-size:0.75rem;font-weight:700;color:var(--teal)}.arrival-columns p{font-size:0.8125rem;color:var(--muted);line-height:1.85}.arrival-columns p+p{margin-top:14px}.arrival-planner{display:inline-block;min-height:44px;font-size:0.75rem;color:var(--teal);font-weight:600;margin-top:10px;padding-block:12px}.arrival-addresses{display:grid;gap:12px;margin-top:16px}.arrival-addresses>div{padding:14px 15px;background:#f6f7f3;border-radius:5px;display:grid;gap:6px}.arrival-addresses strong{font-size:0.6875rem;line-height:1.65}.arrival-addresses span{font-size:0.75rem;color:var(--muted);line-height:1.7;overflow-wrap:anywhere}.arrival-addresses a{font-size:0.6875rem;color:var(--teal);min-height:38px;padding-top:10px}.arrival-rate-date{display:block;margin-top:14px;font-size:0.625rem;color:var(--muted);line-height:1.7}.arrival-tip{display:flex;align-items:flex-start;gap:23px;padding:18px 20px;background:#f4ede1;border-radius:5px;margin-top:25px}.arrival-tip>strong{font-size:0.75rem;white-space:nowrap;color:var(--coral);line-height:1.85}.arrival-tip p{font-size:0.75rem;line-height:1.85;color:var(--muted)}.arrival-sources{display:flex;flex-wrap:wrap;align-items:center;gap:3px 22px;margin-top:16px;font-size:0.6875rem;color:var(--muted)}.arrival-sources>span{width:100%;font-size:0.625rem}.arrival-sources a{min-height:44px;padding-block:13px;color:var(--teal);line-height:1.65}.arrival-disclaimer{font-size:0.6875rem;color:var(--muted);line-height:1.85;margin-top:24px;max-width:1030px}.planning-section{padding-top:15px}.route-card>a.route-arrival-link{margin-top:0;color:var(--teal);font-size:0.75rem}.arrival-card>summary:focus-visible{outline-offset:-5px}
@media(max-width:850px){.arrival-columns{gap:21px;grid-template-columns:1fr 1fr}.arrival-columns>section:last-child{grid-column:1/-1}.arrival-card>summary{gap:17px}.arrival-parking-tag{max-width:220px;font-size:0.625rem}.arrival-tip{gap:15px}}
@media(max-width:680px){.arrival-chips{gap:7px;margin-bottom:20px}.arrival-chips a{font-size:0.6875rem;padding:11px 13px;gap:12px}.arrival-intro{font-size:0.75rem}.arrival-card>summary{flex-wrap:wrap;gap:13px;padding:19px 18px;position:relative}.arrival-summary-copy{flex-basis:calc(100% - 38px);padding-right:15px}.arrival-summary-copy strong{font-size:1.625rem}.arrival-summary-copy>span{font-size:0.6875rem}.arrival-parking-tag{order:3;max-width:none;font-size:0.625rem}.arrival-plus{position:absolute;right:19px;top:22px}.arrival-body{padding:0 18px 20px}.arrival-columns{grid-template-columns:1fr;gap:23px;padding-top:23px}.arrival-columns>section:last-child{grid-column:auto}.arrival-columns>section+section{padding-top:22px;border-top:1px solid #e6ebe5}.arrival-columns h3{font-size:1rem;margin-bottom:13px}.arrival-columns p{font-size:0.8125rem}.arrival-addresses span{font-size:0.75rem}.arrival-tip{display:block;padding:16px;margin-top:24px}.arrival-tip p{margin-top:8px;font-size:0.75rem}.arrival-sources{gap:0}.arrival-sources a{width:100%;font-size:0.6875rem;padding-block:13px}.arrival-disclaimer{font-size:0.625rem}.arrival-card{scroll-margin-top:88px}.planning-section{padding-top:0}}

.imprint{scroll-margin-top:110px}.imprint-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px;padding-block:12px 25px}.imprint h3{font-size:0.875rem;line-height:1.6;margin-bottom:12px}.imprint address{font-style:normal;font-size:0.875rem;line-height:1.8}.imprint p{font-size:0.875rem}.imprint .imprint-contact{margin-top:22px;margin-bottom:7px}.imprint a{display:inline-block;min-height:44px;padding-block:8px;overflow-wrap:anywhere}
@media(max-width:680px){.imprint{scroll-margin-top:88px}.imprint-grid{grid-template-columns:1fr;gap:28px}}

.weather-section{padding-top:15px}.weather-controls{display:flex;align-items:flex-end;gap:18px;margin-bottom:18px}.weather-controls .field{flex:1;max-width:470px}.weather-controls .button{min-height:52px}.weather-controls button:disabled{opacity:.65}.weather-status{font-size:0.75rem;color:var(--muted);margin-bottom:17px;min-height:21px}.weather-panel{border:1px solid var(--line);background:#fff;border-radius:8px;padding:30px;min-height:64px}.weather-panel[aria-busy=true]{background:#f6f8f4}.weather-overview{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.weather-label{font-size:0.625rem;letter-spacing:.12em;color:var(--teal);font-weight:700;margin-bottom:10px}.weather-overview h3{font-family:Georgia,serif;font-size:2.1875rem;font-weight:400;letter-spacing:-.03em}.weather-overview #weather-condition{font-size:0.875rem;color:var(--muted);margin-top:8px}.weather-symbol{font-size:4.0625rem;line-height:1;color:var(--teal);padding-inline:12px}.weather-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0}.weather-metrics>div{padding-top:18px;border-top:1px solid var(--line);min-width:0}.weather-metrics dt{font-size:0.75rem;color:var(--muted);margin-bottom:9px}.weather-metrics dd{font-family:Georgia,serif;font-size:1.875rem;margin:0;line-height:1.3;letter-spacing:-.03em;overflow-wrap:anywhere}.weather-metrics span{display:block;font-size:0.6875rem;color:var(--muted);margin-top:9px;line-height:1.6}.weather-metadata{margin-top:28px;font-size:0.6875rem;color:var(--muted)}.weather-metadata p+p{margin-top:5px}.weather-stale{padding:12px 15px;margin-bottom:22px;background:#f5eadf;border-left:3px solid var(--coral);font-size:0.75rem}.weather-error{font-size:0.875rem;color:var(--muted)}.weather-footnote{margin-top:21px;max-width:950px;font-size:0.75rem;color:var(--muted)}.weather-footnote p+p{margin-top:9px}.weather-links{display:flex;flex-wrap:wrap;gap:5px 26px;margin-top:13px}.weather-links a{display:inline-flex;align-items:center;min-height:44px;font-size:0.75rem;font-weight:600}.weather-credit{font-size:0.625rem;line-height:1.8;color:var(--muted);margin-top:13px}
@media(max-width:1360px){.header-inner{position:relative;flex-wrap:wrap}.menu-toggle:not([hidden]){display:block}.site-header nav{flex-wrap:wrap}.js-ready .site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:15px 22px 20px;border-bottom:1px solid var(--line);box-shadow:0 14px 20px #102f4010}.js-ready .site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:4px}.js-ready .site-header nav a{padding:10px 12px;min-height:47px;font-size:0.875rem}.js-ready .site-header .nav-cta{justify-content:space-between;margin-top:8px}}
@media(max-width:850px){.weather-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.weather-panel{padding:26px}}
@media(max-width:680px){.weather-section{padding-top:0}.weather-controls{flex-wrap:wrap;gap:15px}.weather-controls .field{flex-basis:100%;max-width:none}.weather-controls select{font-size:1rem}.weather-controls .button{font-size:0.8125rem;width:100%}.weather-panel{padding:22px}.weather-metrics dd{font-size:1.6875rem}.weather-overview h3{font-size:1.875rem}.weather-symbol{font-size:3.25rem}.weather-metadata{margin-top:23px}.weather-status,.weather-footnote{font-size:0.6875rem}.weather-links{gap:4px 18px}.weather-credit{font-size:0.625rem}}
@media print{.weather-controls{display:none!important}.weather-panel{break-inside:avoid}.weather-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}

.weather-metrics dd.weather-metric-note{font-family:inherit;font-size:0.6875rem;letter-spacing:normal}
/* Clear topic headings and complete, server-generated destination information. */
.hero h1{font-size:clamp(2.375rem,calc(4.6vw * var(--a11y-text-scale,1)),4.125rem);max-width:590px;overflow-wrap:break-word}.harbor-detail-link{display:inline-flex;align-items:center;min-height:44px;font-size:0.75rem;font-weight:600;color:var(--teal);margin-top:8px;line-height:1.6}.route-overview{margin-top:36px;padding-top:31px;border-top:1px solid var(--line)}.route-overview>h3{font-family:Georgia,serif;font-size:1.8125rem;font-weight:400;letter-spacing:-.025em;margin-bottom:13px}.route-overview>p{font-size:0.8125rem;color:var(--muted);max-width:850px}.static-routes{margin-top:23px}.static-routes .route-card h3,.static-routes .route-card h4{font-size:1.3125rem;margin:0 0 7px}.sights-section{background:#f3f1e8}.sights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.sight-card{background:var(--white);border:1px solid var(--line);border-radius:7px;padding:25px;scroll-margin-top:105px;display:flex;flex-direction:column}.sight-card>h3{font-family:Georgia,serif;font-size:1.9375rem;font-weight:400;letter-spacing:-.025em}.sight-intro{font-size:0.8125rem;color:var(--muted);margin-top:14px}.sight-items{list-style:none;margin:23px 0 0;padding:0}.sight-items>li{padding-block:19px;border-top:1px solid var(--line)}.sight-items h3,.sight-items h4{font-size:1.0625rem;line-height:1.45;margin:0 0 10px}.sight-items p{font-size:0.8125rem;color:var(--muted)}.sight-items a{display:inline-flex;align-items:center;min-height:44px;font-size:0.75rem;line-height:1.6;font-weight:600;color:var(--teal);padding-block:10px}.sight-source{display:block;font-size:0.625rem;color:var(--muted);line-height:1.6}.sight-tip{font-size:0.75rem;padding:15px;background:var(--sand);border-radius:5px;margin-top:10px;color:var(--muted)}.sight-travel-link{min-height:44px;font-size:0.75rem;font-weight:600;color:var(--teal);margin-top:auto;padding-top:18px;line-height:1.6}.sights-tools{display:flex;align-items:flex-end;gap:20px;margin-bottom:15px}.sights-tools>.field{max-width:460px;flex:1}.sights-tools>.reset-link{min-height:52px}.sights-status{font-size:0.75rem;color:var(--muted);margin-bottom:22px}.sights-disclaimer{font-size:0.6875rem;color:var(--muted);max-width:950px;margin-top:25px}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:0.75rem;color:var(--muted);margin-bottom:30px;min-height:44px}.breadcrumbs a{display:flex;align-items:center;min-height:44px}.harbor-hero{padding-top:30px;padding-bottom:30px}.harbor-hero h1{font-size:clamp(2.375rem,calc(5vw * var(--a11y-text-scale,1)),4.25rem);max-width:1070px;overflow-wrap:break-word}.harbor-lead{max-width:950px;margin-top:25px;color:var(--muted);font-size:1.0625rem}.harbor-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin:33px 0 28px;padding-block:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.harbor-facts dt{font-size:0.6875rem;letter-spacing:.05em;color:var(--muted);margin-bottom:9px}.harbor-facts dd{font-size:1.0625rem;line-height:1.6;margin:0}.harbor-page .arrival-chips{margin-block:17px 0}.harbor-content{padding-block:45px;scroll-margin-top:105px}.harbor-content h2{max-width:980px;margin-bottom:24px}.harbor-content>p{max-width:960px;margin-top:17px;color:var(--muted);font-size:0.9375rem}.harbor-content>h3{margin-top:25px}.harbor-content>.button,.harbor-content>.text-link{margin-top:24px}.harbor-content p.harbor-date{font-size:0.6875rem}.harbor-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px}.harbor-columns h3{margin-bottom:15px}.harbor-columns p{color:var(--muted);font-size:0.9375rem}.harbor-columns>section>a{min-height:44px;display:inline-flex;align-items:center;font-size:0.8125rem;font-weight:600;color:var(--teal);margin-top:12px}.harbor-links{display:flex;align-items:center;flex-wrap:wrap;gap:7px 25px;margin-top:16px}.harbor-links a{display:inline-flex;align-items:center;min-height:44px;font-size:0.8125rem;font-weight:600;color:var(--teal);line-height:1.6}.harbor-tip{background:var(--sand);border-left:3px solid var(--teal);padding:18px 21px;border-radius:5px}.harbor-planning,.harbor-parking,.harbor-alternatives{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.harbor-content>.sight-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.harbor-page .faq-answer{padding-right:15px}
@media(max-width:1050px){.sights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.hero h1{font-size:clamp(2.375rem,calc(9vw * var(--a11y-text-scale,1)),3.625rem)}.sights-grid,.harbor-columns,.harbor-facts,.harbor-content>.sight-items{grid-template-columns:1fr}.sight-card{padding:22px;scroll-margin-top:88px}.sight-card>h3{font-size:1.8125rem}.sights-tools{align-items:stretch;flex-direction:column;gap:7px}.sights-tools>.field{max-width:none}.sights-tools select{font-size:1rem}.sights-tools>.reset-link{align-self:flex-start;padding-left:0;min-height:44px}.sights-disclaimer{font-size:0.625rem}.sights-status{font-size:0.6875rem}.harbor-hero{padding-top:17px}.harbor-hero h1{font-size:clamp(2.375rem,calc(9vw * var(--a11y-text-scale,1)),3.625rem)}.harbor-lead{font-size:0.9375rem;margin-top:22px}.breadcrumbs{font-size:0.6875rem;margin-bottom:22px}.harbor-facts{gap:20px;margin-block:25px}.harbor-facts dd{font-size:1rem}.harbor-content{padding-block:34px;scroll-margin-top:88px}.harbor-content>p,.harbor-columns p{font-size:0.875rem}.harbor-content h2{font-size:2.0625rem}.harbor-columns{gap:28px}.harbor-content>.sight-items{gap:3px}.route-overview>h3{font-size:1.625rem}.harbor-links{gap:7px}.harbor-links a{width:100%;font-size:0.75rem}.harbor-detail-link{font-size:0.6875rem}}
@media print{.sights-tools,.sights-status,.breadcrumbs,.harbor-page .arrival-chips{display:none!important}.sights-grid,.harbor-facts,.harbor-columns,.harbor-content>.sight-items{display:block}.sight-card{break-inside:avoid;margin-bottom:15px}.sights-section{background:none}.harbor-content,.harbor-hero{padding-block:16px}.harbor-facts>div{margin-bottom:12px}}
@media(max-width:1360px){.js-ready .site-header nav.is-open{max-height:calc(100vh - 100px);max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}}
