@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Crimson+Text:wght@400;600;700&display=swap');
select{width:100%;border:1px solid #ccd7cb;border-radius:6px;padding:11px;background:#fff;color:#193e42;font:inherit;font-size:12px}select:focus-visible{outline:3px solid #cc8d39;outline-offset:3px}.actions label{font-size:12px;font-weight:600}.hint{font-size:11px;line-height:1.6;color:#647777;margin:3px 0 8px}.overnight{border-top:1px solid #e1e5dc;margin-top:10px;padding-top:12px;display:grid;gap:8px}.region{font:700 11px 'DM Sans',sans-serif;letter-spacing:1px;padding:12px 0 5px;margin:0;color:#53796c}#stops{max-height:285px;overflow:auto;padding-right:7px;scrollbar-color:#a8c8ad #f7f7ee}.stop>span:first-child{max-width:65%}.stop .travel{max-width:35%}.captains-log{margin-top:24px;padding:24px;background:#fff;border:1px solid #e1e5dc;border-radius:12px}#log{padding:0;list-style:none;max-height:230px;overflow:auto;margin:0}#log li{padding:12px 0;border-top:1px solid #e9ece4;font-size:12px;line-height:1.7}#log li span{display:block;font-size:9px;letter-spacing:1px;color:#647777}.chart{position:sticky;top:20px}#boat{filter:drop-shadow(0 3px 4px #193e4233)}@media(max-width:850px){.chart{position:relative;top:auto}#stops{max-height:320px}}
:root{--ink:#193e42;--muted:#647777;--paper:#f7f7ee;--accent:#d8ed83}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}header{height:86px;border-bottom:1px solid #dce1d5;display:flex;align-items:center;justify-content:space-between;padding:0 5%}.brand{font-size:16px;font-weight:700;letter-spacing:2px;color:inherit;text-decoration:none}.brand span{font-size:28px;margin-right:12px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700}main{max-width:1400px;margin:auto;padding:0 5%}.intro{display:flex;justify-content:space-between;align-items:center;padding:48px 0 38px;gap:30px}h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(36px,4vw,54px);font-weight:500;line-height:1.13;margin:14px 0 18px}.intro p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7}.setup{width:270px;flex-shrink:0}.setup label{font-size:13px;font-weight:600}.days{display:flex;gap:8px;margin:14px 0}button{cursor:pointer;font:inherit;border:1px solid #ccd7cb;background:transparent;border-radius:6px;padding:12px 15px;color:var(--ink);font-size:13px;font-weight:600;transition:background .15s}button:hover:not(:disabled){background:#e6ebdb}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #cc8d39;outline-offset:3px}button:disabled{opacity:.4;cursor:not-allowed}.days button{flex:1;padding:13px 6px}.days button.active{background:var(--ink);color:white;border-color:var(--ink)}.primary{background:var(--accent);border-color:var(--accent);width:100%}.primary:hover:not(:disabled){background:#c8e36c}.dashboard{display:grid;grid-template-columns:1.7fr 1fr;gap:22px}.chart{border:1px solid #bcd4cc;border-radius:12px;overflow:hidden;background:#dceeed;align-self:start}.chart-head,.chart-foot{display:flex;justify-content:space-between;padding:18px 22px;font-size:11px;align-items:center}.chart svg{width:100%;display:block}.chart-foot{border-top:1px solid #bcd4cc;font-size:12px}aside{background:#fff;border:1px solid #e1e5dc;border-radius:12px;overflow:hidden}.status{padding:23px 25px;border-bottom:1px solid #e5e9df}h2{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:10px 0 20px}.stats{display:flex;gap:40px}.stats b{display:block;font-size:30px;font-weight:500}.stats span{font-size:11px;color:var(--muted)}#message{font-size:12px;line-height:1.7;color:var(--muted);margin-bottom:0}.destinations{padding:15px 25px}.stop{display:flex;width:100%;align-items:center;justify-content:space-between;text-align:left;border:0;border-bottom:1px solid #e9ece4;border-radius:0;padding:11px 0;font-size:13px}.stop.selected{background:#f0f5e3;padding-left:10px;padding-right:10px;border-radius:5px}.stop small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:4px}.stop .travel{text-align:right;font-size:12px}.actions{padding:0 25px 22px;display:grid;gap:8px}.rules{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:35px 0}.rules span{font-size:9px;letter-spacing:1.5px;color:var(--muted)}h3{font-family:Georgia,serif;font-weight:400;font-size:20px;margin:10px 0}.rules p{font-size:12px;line-height:1.7;color:var(--muted)}footer{border-top:1px solid #dce1d5;padding:22px 0;font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:30px}details{max-width:550px}details p{line-height:1.7}a{color:var(--ink)}summary{cursor:pointer}.pin{cursor:pointer}.pin:hover circle{stroke-width:4}@media(max-width:850px){header>.eyebrow{display:none}.intro{align-items:start;flex-direction:column;padding-top:28px}.setup{width:100%}.dashboard{grid-template-columns:1fr}.rules{gap:18px}.chart svg{max-height:520px}footer{flex-direction:column}}@media(max-width:500px){.rules{grid-template-columns:1fr;gap:10px}.desktop{display:none}.chart-head,.chart-foot{padding:14px 12px;font-size:10px}header{height:68px}.brand{font-size:12px}}
.deadline{background:#edf3df;padding:10px;border-radius:5px;font-size:11px;line-height:1.6;font-weight:600}#log{max-height:none}#log li{display:flex;gap:12px;align-items:baseline}.log-number{font-size:17px;min-width:28px;color:#193e42}#log li>div{flex:1}.captains-log h2{margin-bottom:16px}
.current-stay{border-top:1px solid #e1e5dc;margin-top:10px;padding-top:14px;display:grid;gap:8px}.current-stay h3{font-size:19px;margin:0 0 6px}.stop-guide{margin-top:24px;padding:24px;background:#eaf0df;border-radius:12px;border:1px solid #d3dfc5}.stop-guide p:not(.eyebrow){font-size:14px;line-height:1.85;max-width:900px;margin-bottom:0}.stop-description{padding:6px 0 12px;border-bottom:1px solid #e9ece4;font-size:11px}.stop-description summary{color:#53796c}.stop-description p{line-height:1.8;color:#647777;margin:8px 0}.stop-description a{font-size:10px}
.chart{position:relative;top:auto}.chart .stop-guide{margin:0;padding:20px 24px;border-radius:0;border:0;border-bottom:1px solid #bfd3b9;background:#edf3e5}.chart .stop-guide h2{font-size:25px;margin-bottom:10px}.chart .stop-guide p:not(.eyebrow){font-size:13px;line-height:1.8}.route-compare{padding:18px 22px;border-top:1px solid #bcd4cc;background:#eff6f1}.compare-fields,.guest-details{display:grid;grid-template-columns:1fr 1fr;gap:14px}.compare-fields label,.guest-details label{font-size:11px;font-weight:600;display:grid;gap:7px}.guest-details{margin:16px 0}.guest-details input{font:inherit;font-size:13px;padding:11px;width:100%;border:1px solid #ccd7cb;border-radius:5px;color:#193e42}.itinerary-actions{display:flex;gap:12px;margin:15px 0 20px}.itinerary-actions .primary{width:auto}#print-document{display:none}.route-label text{font-family:'DM Sans',sans-serif}.route-label rect{filter:drop-shadow(0 2px 2px #193e4222)}@media(max-width:500px){.compare-fields,.guest-details{grid-template-columns:1fr}.itinerary-actions{flex-direction:column}}
@media print{@page{size:auto;margin:16mm}body{background:white!important;color:#111;font-family:Arial,sans-serif}body>header,body>main{display:none!important}#print-document{display:block!important;font-size:10pt;line-height:1.55}#print-document h1{font-size:25pt;margin:0 0 4mm}#print-document h2{font-size:15pt;margin:6mm 0 3mm}#print-document h3{font-size:12pt;margin:0 0 2mm}#print-document table{width:100%;border-collapse:collapse;margin:6mm 0}#print-document th,#print-document td{border:1px solid #bbb;padding:3mm;text-align:left;vertical-align:top}#print-document th{background:#eef2e6}#print-document thead{display:table-header-group}#print-document tr,#print-document section{break-inside:avoid}#print-document section{margin:5mm 0}#print-document .print-note{font-size:8pt;border-top:1px solid #bbb;padding-top:4mm}}
.route-label.completed rect{stroke:#347d80;fill:#f4fbf7}.route-label.completed text{font-size:11px}
header{height:auto;min-height:132px;padding:12px 5%;background:#fff}.brand{display:flex;align-items:center;gap:20px;letter-spacing:0}.brand-logo{width:104px;height:104px;object-fit:contain}.brand-copy strong{display:block;font-size:30px;letter-spacing:1px;line-height:1.2}.brand .brand-copy span{display:block;font-size:13px;font-weight:500;letter-spacing:.4px;margin-top:8px;line-height:1.5}.explore-button{display:inline-block;margin-top:16px;padding:10px 16px;border-radius:5px;background:#193e42;color:#fff;text-decoration:none;font-size:12px;font-weight:600}.explore-button:hover{background:#2b5a5d}.itinerary-actions{flex-wrap:wrap}#start-over{border-color:#aabca6;background:#f5f7ef}.print-brand{display:flex;align-items:center;gap:20px}.print-brand img{width:95px;height:95px;object-fit:contain}@media(max-width:600px){header{min-height:108px}.brand{gap:12px}.brand-logo{width:76px;height:76px}.brand-copy strong{font-size:23px}.brand .brand-copy span{font-size:11px;max-width:255px}}@media print{#print-document .print-brand h1{font-size:24pt;margin:0}#print-document .print-brand h2{font-size:12pt;margin:2mm 0 0}#print-document .print-brand{margin-bottom:5mm}}

:root{--ink:#406a7c;--muted:#647681;--paper:#fff;--accent:#406a7c}header{flex-direction:column;padding-bottom:0;gap:14px;border-bottom-color:#d9e8ee}.brand-copy strong{color:#173b55;font-family:'Crimson Text',Georgia,serif;font-size:35px}.site-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:28px;padding:6px 0 17px}.site-nav a{color:#779eb0;font-family:'Crimson Text',Georgia,serif;font-weight:600;font-size:17px;text-decoration:none;border-bottom:1px solid transparent;padding-bottom:4px}.site-nav a[aria-current],.site-nav a:hover{color:#406a7c;border-bottom-color:#406a7c}h1,h2,h3{font-family:'Crimson Text',Georgia,serif}h1{font-size:clamp(40px,4.5vw,62px);line-height:1.1}.intro{padding-top:42px}.setup{width:390px;background:#f5f9fb;border:1px solid #d9e8ee;padding:20px;border-radius:9px}.days{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.days button{padding:11px 6px}.days small{display:block;font-size:10px;font-weight:400;margin-top:4px}.primary{color:#fff}.primary:hover:not(:disabled){background:#315969}.chart .stop-guide{background:#f2f8fa;border-bottom-color:#d3e4ec}.chart,.chart-head,.chart-foot{border-color:#c9dfe8}.chart-head,.chart-foot{background:#f6fafb}.route-compare{background:#f2f8fa;border-color:#c9dfe8}.deadline{background:#eef6f9}.region,.stop-description summary{color:#406a7c}.explore-button{background:#406a7c}.explore-button:hover{background:#315969}.captains-log,.current-stay,aside{border-color:#d9e8ee}#stops{scrollbar-color:#99c2d4 #f4f8fa}#departure-options{margin:14px 0 8px;display:grid;gap:7px}#departure-options[hidden]{display:none}.about-stx{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding:35px 0;border-top:1px solid #d9e8ee}.about-stx h2{font-size:29px;margin:10px 0}.about-stx p:not(.eyebrow){font-size:14px;line-height:1.8;color:#647681}.about-stx a{font-size:13px}.booking-cta{padding:28px;background:#edf5f8;display:flex;justify-content:space-between;gap:35px;border-radius:9px;margin-bottom:28px}.booking-cta h2{font-size:31px;margin:8px 0}.booking-cta p:not(.eyebrow){font-size:13px;line-height:1.7}.booking-links{display:grid;gap:10px;align-content:center}.booking-links a{font-size:13px}.booking-links #book-charter{background:#406a7c;color:#fff;border-radius:5px;padding:12px 18px;text-decoration:none}#guest-limit{font-size:10px;color:#647681}@media(max-width:850px){.setup{width:100%}.site-nav{gap:16px}.about-stx{grid-template-columns:1fr;gap:20px}.booking-cta{flex-direction:column;gap:15px}}@media print{#print-document h1,#print-document h2,#print-document h3{color:#173b55}}
.packing-note{border-top:1px solid #d9e8ee;padding:20px 0 30px}.packing-note p:not(.eyebrow){font-size:13px;line-height:1.8;max-width:850px;color:#647681}.packing-note a{font-size:13px}

.dream-note{max-width:650px}.saved-library{margin-top:24px;padding:22px;background:#f2f8fa;border:1px solid #d9e8ee;border-radius:9px}.saved-library h3{margin:0;font-size:26px}.saved-library p{font-size:13px;line-height:1.7}.saved-library label{display:block;margin-bottom:6px}.saved-library input{max-width:360px;width:100%;padding:11px;border:1px solid #c9dfe8;border-radius:5px;margin:0 12px 10px 0}.saved-plan{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-top:1px solid #d9e8ee}.saved-plan span{overflow-wrap:anywhere;font-size:13px;line-height:1.7}.saved-plan button{flex-shrink:0}@media(max-width:600px){.saved-plan{align-items:flex-start;flex-direction:column}}

/* Website masthead: centered logo above the original navigation sequence. */
header{padding:30px 5% 0;gap:15px;background:#fff}.brand{justify-content:center}.brand-logo{width:235px;height:235px}.site-nav{gap:30px;padding:4px 0 17px}.site-nav a{font-size:17px;font-weight:400;color:#99c2d4;line-height:24px}.site-nav a:hover,.site-nav a:focus-visible{color:#406a7c;border-bottom-color:#406a7c}.planner-heading{padding-top:26px;text-align:center;color:#406a7c}.planner-heading strong{font:600 28px "Crimson Text",Georgia,serif}.planner-heading p{font-size:14px;margin:6px 0 0;line-height:1.6}.intro{padding-top:28px}@media(max-width:600px){header{padding-top:18px;gap:10px}.brand-logo{width:170px;height:170px}.site-nav{gap:10px 20px}.site-nav a{font-size:16px}.planner-heading p{font-size:12px}.planner-heading{padding-top:20px}}

.sailing-photo{position:relative;margin:26px 0 0;border-radius:10px;overflow:hidden;background:#dceeed}.sailing-photo img{display:block;width:100%;height:clamp(220px,32vw,390px);object-fit:cover;object-position:center 46%}.sailing-photo figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:36px 24px 20px;background:linear-gradient(transparent,rgba(13,43,60,.85));color:#fff;font:600 clamp(21px,3vw,32px) "Crimson Text",Georgia,serif}.sailing-photo a{color:#fff;font:14px sans-serif;text-decoration:underline;text-underline-offset:4px}.aboard-gallery{padding:30px 0;border-top:1px solid #d9e8ee}.aboard-gallery h2{font-size:32px;margin:10px 0 22px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.photo-grid figure{margin:0;border:1px solid #d9e8ee;border-radius:9px;overflow:hidden;background:#f6fafb}.photo-grid img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .2s}.photo-grid figure>a{display:block;overflow:hidden}.photo-grid figure>a:hover img{transform:scale(1.025)}.photo-grid a:focus-visible{outline:3px solid #406a7c;outline-offset:-3px}.photo-grid figcaption{padding:17px}.photo-grid h3{font-size:24px;margin:0 0 8px}.photo-grid p{font-size:13px;line-height:1.7;margin:0 0 10px;color:#647681}.photo-grid figcaption a,.photo-credit{font-size:12px}.photo-credit{margin-top:16px;color:#647681}@media(max-width:650px){.photo-grid{grid-template-columns:1fr}.sailing-photo figcaption{align-items:flex-start;flex-direction:column;padding:35px 16px 16px}.photo-grid img{aspect-ratio:16/10}}@media(prefers-reduced-motion:reduce){.photo-grid img{transition:none}}

/* Fresh owner-supplied bow photo: show the horizon and paddleboards together. */
.sailing-photo img{height:auto;aspect-ratio:16/9;max-height:520px;object-position:center 65%}@media(max-width:650px){.sailing-photo img{aspect-ratio:4/3;max-height:none}.photo-grid img{aspect-ratio:4/3}}

/* Link destinations use the same visible button treatment as planner actions. */
a.link-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 17px;gap:6px;border:1px solid #406a7c;border-radius:6px;background:#406a7c;color:#fff;font:600 13px/1.4 'DM Sans',sans-serif;text-align:center;text-decoration:none;white-space:normal;overflow-wrap:anywhere;transition:background .15s,border-color .15s}
a.link-button:hover{background:#315969;border-color:#315969;color:#fff;text-decoration:none}
a.link-button:focus-visible{outline:3px solid #cc8d39;outline-offset:3px}
.site-nav{gap:10px;flex-wrap:wrap}.site-nav a.link-button{background:#f2f8fa;color:#406a7c;border-color:#c9dfe8;font:600 15px/1.4 'Crimson Text',Georgia,serif;padding:10px 16px}.site-nav a.link-button:hover{background:#406a7c;color:#fff;border-color:#406a7c}
.sailing-photo a.link-button{background:#fff;color:#193e42;border-color:#fff;flex-shrink:0}.sailing-photo a.link-button:hover{background:#edf5f8;border-color:#edf5f8}
.booking-links a.link-button{width:100%}.booking-links #book-charter.link-button{min-height:44px;padding:11px 17px}
footer a.link-button{margin:5px 3px 5px 0;padding:8px 12px;font-size:11px;background:#f2f8fa;color:#406a7c;border-color:#c9dfe8}footer a.link-button:hover{background:#406a7c;color:#fff;border-color:#406a7c}
a.image-link-button{border-radius:9px}a.image-link-button:focus-visible{outline:3px solid #cc8d39;outline-offset:3px}.photo-grid a.image-link-button:hover{box-shadow:inset 0 0 0 3px #406a7c}
@media(prefers-reduced-motion:reduce){a.link-button{transition:none}}

/* Embedded view shares IONOS's masthead; standalone branding remains intact. */
html.embedded body>header{display:none}
html.embedded main{max-width:none;padding:0 20px 16px}
html.embedded .planner-heading{padding-top:18px}
html.embedded body{background:#fff}
.dashboard{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}
.dashboard>*{min-width:0}.intro>div:first-child{min-width:0}
.compare-fields,.guest-details{grid-template-columns:repeat(2,minmax(0,1fr))}
input,select{max-width:100%;min-width:0}button{min-height:44px}
.site-nav{min-width:0}.chart-head,.chart-foot{gap:12px;flex-wrap:wrap}
header{height:auto}.stats{gap:24px;flex-wrap:wrap}
.stop,.log-number{overflow-wrap:anywhere}.stop-guide h2,.current-stay h3{overflow-wrap:anywhere}
.itinerary-actions{flex-wrap:wrap}.booking-links{min-width:0}
@media(max-width:850px){.dashboard{grid-template-columns:minmax(0,1fr)}.chart svg{max-height:none}.intro{gap:22px}}
@media(max-width:600px){main,html.embedded main{padding-left:12px;padding-right:12px}.status,.destinations,.actions,.captains-log,.chart .stop-guide{padding-left:16px;padding-right:16px}.compare-fields,.guest-details{grid-template-columns:minmax(0,1fr)}.rules{grid-template-columns:1fr;gap:12px}.days{grid-template-columns:repeat(2,minmax(0,1fr))}.setup{padding:16px}.pin circle{stroke-width:3}.pin:focus-visible{outline:none}.pin:focus-visible circle{stroke:#cc8d39;stroke-width:5}.stop small{font-size:11px}input,select,.guest-details input{font-size:16px}.itinerary-actions{flex-direction:column}.itinerary-actions button{width:100%}}
