@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Libre+Caslon+Display&display=swap');

:root{color-scheme:light;--ink:#102c3b;--muted:#596974;--ruby:#962e40;--surface:#f1f4f5;--line:#dce3e6;--white:#fff;--serif:'Libre Caslon Display',Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:4px}
button,input,textarea{font:inherit}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}
button,a,input{touch-action:manipulation}
svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
button{cursor:pointer}
a:focus-visible,button:focus-visible,textarea:focus-visible{outline:3px solid #b3485a;outline-offset:5px}
.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:var(--ink);color:white;padding:12px 20px;transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.site-header{height:108px;padding:0 clamp(24px,4.7vw,80px);background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:28px}
.wordmark{text-decoration:none;display:flex;flex-direction:column;align-items:center;flex-shrink:0}
.wordmark-name{font-family:Georgia,serif;font-size:2.0625rem;letter-spacing:6px;line-height:1.2;position:relative}
.wordmark-line{display:block;width:100%;height:1px;background:var(--ruby);margin:5px 0}
.wordmark-sub{font-size:0.75rem;letter-spacing:5px;font-weight:600;margin-left:1px}
.edition{font-size:0.75rem;letter-spacing:2.1px;color:var(--muted);display:flex;gap:18px;align-items:center}
.edition span{color:var(--ruby);border-left:1px solid var(--line);padding-left:18px;font-weight:650}
.header-link{font-size:0.875rem;font-weight:550;display:flex;align-items:center;gap:9px;text-decoration:none}
.header-link svg{width:17px;height:17px}
.header-link:hover{color:var(--ruby)}
main{max-width:1376px;margin:0 auto;padding:50px clamp(24px,4.7vw,64px) 0}
.intro{display:flex;align-items:center;justify-content:space-between;gap:26px;margin-bottom:34px}
.eyebrow{font-size:0.75rem;letter-spacing:1.9px;font-weight:650;margin:0 0 12px;display:flex;align-items:center;gap:10px}
.ruby-line{width:24px;height:2px;background:var(--ruby);display:inline-block}
h1,h2,h3,p{margin-top:0}
h1{font-family:var(--serif);font-size:clamp(2.65rem,4.3vw,3.85rem);font-weight:400;line-height:1.06;letter-spacing:-1.3px;margin-bottom:14px}
.intro-copy{color:var(--muted);margin-bottom:0;font-size:1rem}
.show-date{text-align:right;flex-shrink:0;display:flex;flex-direction:column;gap:5px;padding-top:16px}
.show-date span:first-child{font-size:0.9375rem;letter-spacing:1.8px;font-weight:600}
.show-date span:last-child{font-size:0.8125rem;color:var(--muted)}
.experience{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,1fr);gap:36px;align-items:start}
.yacht-card{margin:0;overflow:hidden;background:var(--ink);border-radius:3px}
.photo-wrap{position:relative;background:#acc4cd;aspect-ratio:1.5;overflow:hidden}
.yacht-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.photo-label{position:absolute;top:22px;left:22px;padding:9px 13px;color:var(--ink);background:rgba(255,255,255,.94);font-size:0.75rem;font-weight:650;letter-spacing:1.5px}
.yacht-caption{padding:28px 28px 30px;position:relative;overflow:hidden;color:white}
.yacht-caption>div{position:relative;z-index:1;max-width:370px}
.caption-eyebrow{font-size:0.75rem;letter-spacing:1.9px;color:#b4c4cd;margin-bottom:11px}
.yacht-caption h2{font-family:var(--serif);font-weight:400;font-size:2.125rem;line-height:1.1;margin-bottom:13px;letter-spacing:-.3px}
.yacht-caption p:last-child{font-size:0.9375rem;line-height:1.65;color:#d1dce2;margin-bottom:0;max-width:330px}
.model-number{position:absolute;right:15px;bottom:-30px;font-family:var(--serif);font-size:9.25rem;line-height:1;color:rgba(255,255,255,.045);pointer-events:none}
.location-strip{display:flex;align-items:center;gap:16px;background:white;border:1px solid var(--line);padding:22px 25px;margin-top:18px;border-radius:3px}
.location-icon{height:42px;width:42px;display:flex;align-items:center;justify-content:center;background:#f2f5f6;border-radius:50%;color:var(--ruby)}
.location-strip>div{display:flex;flex-direction:column;gap:2px}
.minor-label{font-size:0.75rem;letter-spacing:1.4px;font-weight:600}
.location-strip .minor-label{color:var(--muted)}
.location-strip strong{font-size:1.1875rem;font-weight:550}
.location-strip .berth{margin-left:auto;padding-left:26px;border-left:1px solid var(--line)}
.berth strong{letter-spacing:1px}
.photo-credit{font-size:0.75rem;margin:10px 1px 0;color:var(--muted)}
.photo-credit a{text-decoration:none}
.photo-credit a:hover{text-decoration:underline}
.planner{background:white;border:1px solid var(--line);border-radius:3px;padding:26px 28px 24px;scroll-margin-top:20px}
fieldset{padding:0;margin:0;border:0;min-width:0}
legend{font-size:1rem;font-weight:600;padding:0;display:flex;align-items:center;gap:10px;width:100%;margin-bottom:17px}
.step{font-size:0.75rem;color:var(--ruby);letter-spacing:1px;flex-shrink:0;margin-right:2px}
.day-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.day-choice,.focus-choice{position:relative;cursor:pointer;display:block;min-width:0}
.day-choice input,.focus-choice input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.day-face{border:1px solid var(--line);background:#fbfcfc;display:flex;align-items:center;flex-direction:column;gap:3px;border-radius:3px;padding:12px 4px 10px;transition:border-color .18s,background-color .18s,color .18s}
.day-face>span:first-child{font-size:0.75rem;letter-spacing:1px;font-weight:600}
.day-face>span:last-child{font-size:0.75rem;letter-spacing:1.2px;color:var(--muted)}
.day-face strong{font-size:1.6875rem;line-height:1.05;font-weight:450;font-variant-numeric:tabular-nums}
.day-choice input:checked+.day-face{background:var(--ink);color:white;border-color:var(--ink)}
.day-choice input:checked+.day-face>span:last-child{color:#c3d1d9}
.day-choice:hover .day-face{border-color:#8295a0}
.day-choice input:focus-visible+.day-face,.focus-choice input:focus-visible+.focus-face{outline:3px solid #b3485a;outline-offset:3px}
.hours-line{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:0.8125rem;margin:12px 0 23px}
.hours-line svg{width:15px;height:15px}
.hours-line strong{font-weight:550;color:var(--ink)}
.time-zone{color:var(--muted)}
.focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.focus-face{border:1px solid var(--line);border-radius:3px;min-height:100px;padding:12px 4px;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;gap:9px;background:white;color:var(--muted);transition:all .18s}
.focus-face svg{width:21px;height:21px}
.focus-face>span{font-size:0.875rem;line-height:1.35;font-weight:500}
.focus-choice input:checked+.focus-face{border-color:var(--ruby);background:#faf3f4;color:#842436;box-shadow:inset 0 0 0 .5px var(--ruby)}
.focus-choice:hover .focus-face{border-color:var(--ruby)}
.visit-plan{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.plan-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.plan-heading .minor-label{color:var(--muted)}
.plan-day{font-size:0.75rem;letter-spacing:1px;font-weight:650;color:var(--ruby)}
.visit-plan h2{font-family:var(--serif);font-size:1.8125rem;font-weight:400;letter-spacing:-.25px;line-height:1.15;margin-bottom:16px}
.plan-stops{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:13px}
.plan-stops li{display:flex;gap:12px}
.stop-number{width:21px;height:21px;margin-top:1px;border:1px solid #cfdae0;border-radius:50%;font-size:0.75rem;font-weight:550;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--muted)}
.plan-stops h3{font-size:0.875rem;font-weight:600;line-height:1.4;margin-bottom:2px}
.plan-stops p{font-size:0.875rem;line-height:1.5;color:var(--muted);margin-bottom:0}
.conversation-prompt{margin:19px 0 15px;background:#f2f5f6;padding:13px 15px;font-size:0.875rem;line-height:1.5;border-left:2px solid var(--ruby)}
.conversation-prompt span{display:block;font-size:0.75rem;letter-spacing:1.1px;color:var(--muted);font-weight:550;margin-bottom:4px}
.plan-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center}
.plan-bottom>span{font-size:0.75rem;color:var(--muted)}
.copy-button{border:0;background:transparent;color:var(--ink);font-size:0.8125rem;font-weight:550;display:flex;align-items:center;gap:6px;padding:9px 0 9px 9px;min-height:40px;white-space:nowrap}
.copy-button:hover{color:var(--ruby)}
.copy-button svg{width:15px;height:15px}
.copy-fallback{margin-top:14px;font-size:0.875rem}
.copy-fallback textarea{width:100%;margin-top:8px;padding:10px;border:1px solid var(--line);font-size:0.875rem;resize:vertical}
.next-step{margin-top:32px;padding:31px 34px;background:var(--ink);color:white;border-radius:3px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.next-step .eyebrow{font-size:0.75rem;letter-spacing:1.8px;color:#b9c9d2;margin-bottom:9px}
.next-step h2{font-family:var(--serif);font-size:2.1875rem;line-height:1.1;font-weight:400;margin-bottom:10px}
.next-step p:last-child{font-size:0.875rem;color:#c4d1d9;max-width:560px;line-height:1.6;margin-bottom:0}
.next-step-action{display:flex;flex-direction:column;align-items:center;gap:10px;flex-shrink:0}
.primary-link{display:flex;align-items:center;justify-content:center;gap:24px;padding:16px 22px;text-decoration:none;background:white;color:var(--ink);font-size:0.875rem;font-weight:600;border-radius:2px;min-height:52px;transition:background .18s}
.primary-link:hover{background:#e5edf1}
.primary-link svg{width:18px;height:18px}
.next-step-action>span{font-size:0.75rem;color:#b4c5cf}
.practical-note{display:flex;align-items:flex-start;gap:9px;margin:22px 0 40px;color:var(--muted)}
.practical-note svg{width:17px;height:17px;margin-top:1px}
.practical-note p{font-size:0.75rem;line-height:1.6;margin:0}
.practical-note a{white-space:normal;margin-left:4px;color:var(--ink)}
footer{border-top:1px solid var(--line);max-width:1248px;margin:0 auto;padding:22px 0 28px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:0.75rem;letter-spacing:.35px}
.footer-divider{margin:0 10px;color:#a5b2ba}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;padding:0;margin:-1px;border:0}
.noscript-note{background:white;padding:20px;text-align:center}
@media(min-width:1440px){.photo-wrap{aspect-ratio:1.5}}
@media(max-width:1100px){.edition{display:none}.experience{gap:24px}.planner{padding:22px}.yacht-caption{padding:25px}.yacht-caption h2{font-size:1.875rem}.next-step{padding:28px}.next-step h2{font-size:1.9375rem}.next-step-action{flex-shrink:1}.primary-link{gap:15px}footer{margin-left:clamp(24px,4.7vw,64px);margin-right:clamp(24px,4.7vw,64px)}}
@media(max-width:850px){.site-header{height:92px}.intro{align-items:flex-start}.show-date{display:none}.experience{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:20px}.photo-wrap{aspect-ratio:1.5}.yacht-caption h2{font-size:1.8125rem}.yacht-caption p:last-child{font-size:0.875rem}.location-strip{padding:17px;gap:10px}.location-icon{display:none}.location-strip .berth{padding-left:15px}.planner{padding:20px 18px}.day-grid{gap:5px}.day-face strong{font-size:1.5625rem}.focus-grid{gap:5px}.focus-face>span{font-size:0.8125rem}.visit-plan h2{font-size:1.6875rem}.plan-stops{gap:11px}.plan-stops li{gap:8px}.next-step{align-items:flex-start}.next-step-action{padding-top:10px;flex-shrink:0}.primary-link{font-size:0.8125rem;padding:14px}.next-step-action>span{max-width:200px;text-align:center}.next-step h2{font-size:1.8125rem}.next-step p:last-child{font-size:0.8125rem}}
@media(max-width:700px){main{padding-top:32px}.site-header{height:87px}.wordmark-name{font-size:1.75rem}.wordmark-sub{font-size:0.75rem;letter-spacing:4.2px}.header-link{font-size:0.75rem;gap:4px}.header-link svg{width:14px;height:14px}.intro{margin-bottom:24px}.eyebrow{font-size:0.75rem;letter-spacing:1.4px;line-height:1.6;gap:8px}.ruby-line{width:16px;flex-shrink:0}h1{font-size:2.75rem;letter-spacing:-1px}.intro-copy{font-size:0.9375rem;max-width:340px}.experience{display:flex;flex-direction:column;gap:22px}.yacht-column{width:100%}.photo-wrap{aspect-ratio:1.5}.photo-label{top:15px;left:15px;font-size:0.75rem}.yacht-caption{padding:20px 22px}.yacht-caption h2{font-size:1.875rem;margin-bottom:8px}.caption-eyebrow{display:none}.yacht-caption p:last-child{max-width:360px;font-size:0.875rem}.model-number{font-size:7.875rem}.location-strip{margin-top:12px;padding:16px 20px}.location-icon{display:flex;width:35px;height:35px}.location-strip strong{font-size:1.0625rem}.location-strip .minor-label{font-size:0.75rem}.photo-credit{font-size:0.75rem}.planner{width:100%;padding:24px}.day-grid{gap:8px}.focus-grid{gap:8px}.focus-face>span{font-size:0.875rem}.day-face{padding:13px 4px}.day-face strong{font-size:1.875rem}.visit-plan h2{font-size:1.9375rem}.plan-stops{gap:15px}.plan-stops li{gap:12px}.plan-stops h3{font-size:0.9375rem}.plan-stops p{font-size:0.875rem}.next-step{flex-direction:column;padding:27px 24px;gap:20px;margin-top:24px}.next-step h2{font-size:2.0625rem}.next-step p:last-child{font-size:0.875rem}.next-step-action{width:100%;padding:0}.primary-link{width:100%;font-size:0.875rem;padding:16px;justify-content:space-between}.next-step-action>span{max-width:none;font-size:0.75rem}.practical-note{margin:20px 0 30px}.practical-note p{font-size:0.75rem}footer{flex-direction:column;gap:8px;font-size:0.75rem;padding:20px 0 24px}}
@media(max-width:390px){main{padding-left:18px;padding-right:18px}.site-header{padding-left:18px;padding-right:18px}.header-link{font-size:0.75rem}h1{font-size:2.375rem}.planner{padding:21px 17px}.day-grid,.focus-grid{gap:5px}.plan-bottom{flex-wrap:wrap;gap:3px}.focus-face>span{font-size:0.8125rem}.location-strip{padding:15px}.location-strip .berth{padding-left:18px}.location-strip .minor-label{letter-spacing:.8px}.next-step h2{font-size:1.875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
@media(forced-colors:active){.day-choice input:checked+.day-face,.focus-choice input:checked+.focus-face{outline:3px solid Highlight}.day-choice input:checked+.day-face{color:Highlight}.yacht-card,.next-step{border:1px solid CanvasText}}

/* Readable visitor controls and complete yacht framing. */
.day-face>span:first-child,.plan-day,.hours-line,.copy-button{font-size:.875rem}
.focus-face>span{font-size:.875rem}
.plan-stops h3,.plan-stops p,.conversation-prompt,.yacht-caption p:last-child,.next-step p:last-child,.intro-copy{font-size:1rem}
.minor-label,.plan-heading .minor-label,.plan-bottom>span,.next-step-action>span{font-size:.75rem}
.plan-heading{flex-wrap:wrap}
.day-face{min-height:100px}
.day-face strong{font-size:1.875rem}
.plan-stops{gap:15px}
.yacht-photo{object-fit:contain}
@media(min-width:701px){.yacht-column{position:sticky;top:24px}}
@media(max-width:700px){.planner{order:0}.yacht-column{order:1}.primary-link{font-size:.875rem}.header-link{font-size:.875rem}}
@media(max-width:390px){.plan-day{font-size:.75rem}.day-face>span:first-child{font-size:.75rem}.header-link{font-size:.75rem}}
