/* Approved design: existing content, calmer spacing, clearer reading. */
body.design-refinement { --design-line: #536459; --design-muted: #c6d0c4; }
.design-refinement main { font-size: 1rem; }
.design-refinement .section-shell { max-width: 1440px; padding: 82px 7.5vw; }
.design-refinement .section-number { font-size: .75rem; letter-spacing: .16em; margin-bottom: 40px; padding-top: 14px; }
.design-refinement .eyebrow { font-size: .75rem; letter-spacing: .13em; line-height: 1.6; }
.design-refinement .primary-nav { gap: 24px; align-items: center; font-size: .875rem; letter-spacing: 0; }
.design-refinement .primary-nav .nav-contact { margin-left: 3px; padding: 10px 17px; border: 1px solid #bec9bb; border-radius: 2px; }
.design-refinement .nav-contact::after { display: none; }
.design-refinement .site-header { padding: 18px 3.5vw; }
.design-refinement .wordmark small { font-size: .6875rem; letter-spacing: .12em; }
.design-refinement .text-link { font-size: .9375rem; line-height: 1.6; letter-spacing: .01em; min-height: 44px; align-items: center; gap: 18px; }
.design-refinement main a:hover { text-decoration-thickness: 2px; }
.design-refinement a:focus-visible,.design-refinement button:focus-visible,.design-refinement summary:focus-visible { outline: 2px solid #eee5ad; outline-offset: 5px; }
.design-refinement main > section[id],.design-refinement main section[id] { scroll-margin-top: 100px; }
.design-refinement .intro h2,.design-refinement .section-heading h2,.design-refinement .technical h2 { font-size: clamp(38px,4.7vw,66px); line-height: 1.09; letter-spacing: -.035em; }
.design-refinement .intro-copy p:not(.lead),.design-refinement .section-heading > p,.design-refinement .editorial-note p,.design-refinement .home-story-copy p { font-size: 1rem; line-height: 1.75; }
.design-refinement .lead { font-size: clamp(22px,2vw,28px); }
.design-refinement .photo-frame { background: transparent; overflow: visible; }
.design-refinement main .photo-frame figcaption { position: static; margin: 12px 0 0; color: var(--design-muted); font: 400 .875rem/1.65 var(--sans); letter-spacing: 0; text-shadow: none; }
.design-refinement main .photo-frame::after { display: none; }
.design-refinement .owner-portrait figcaption,.design-refinement .owner-photo figcaption,.design-refinement .life-story-photo figcaption,.design-refinement .history-card figcaption,.design-refinement .season-photo figcaption,.design-refinement .memory-photo figcaption { font-size: .875rem !important; line-height: 1.65; letter-spacing: 0; color: var(--design-muted); }
.design-refinement .site-footer { padding: 48px 7.5vw; }
.design-refinement .site-footer p,.design-refinement .site-footer > a:last-child { font-size: .875rem; }
/* Home: preserve the opening and make supporting images subordinate. */
.design-refinement #introduction .intro-copy { column-gap: 6vw; row-gap: 24px; }
.design-refinement #introduction .owner-portrait { width: 100%; max-width: 425px; justify-self: end; }
.design-refinement .home-stories { margin-top: 48px; padding-top: 25px; }
.design-refinement .intro .home-stories > h2 { font: 500 .8125rem/1.5 var(--sans); letter-spacing: .14em; }
.design-refinement .home-story-copy { padding-top: 19px; }
.design-refinement .home-story-copy h3 { font-size: clamp(25px,2.5vw,34px); line-height: 1.17; }
.design-refinement .home-story-photo { aspect-ratio: 4/3; background: #142019; display: flex; align-items: center; }
.design-refinement .home-story-photo img { width: 100%; height: 100%; object-fit: contain; }
.design-refinement .home-story-copy .text-link { font-size: .9375rem; }
.design-refinement #introduction .feature-pair { grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 46px; margin-top: 52px; }
.design-refinement #introduction .feature-pair .editorial-prose { padding: 0; font-size: clamp(23px,2.1vw,30px); line-height: 1.45; }
/* All life-aboard photographs remain in this chapter. */
.design-refinement #life-aboard .section-heading { margin-left: 0; }
.design-refinement #life-aboard .editorial-grid { margin-top: 40px; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,.75fr); gap: 25px 38px; grid-template-areas: 'evening evening-note' 'saloon weather' '. weather-note'; align-items: start; }
.design-refinement #life-aboard .editorial-grid > * { min-width: 0; width: auto; height: auto; padding: 0; }
.design-refinement #life-aboard .design-evening-photo { grid-area: evening; }
.design-refinement #life-aboard .design-evening-note { grid-area: evening-note; align-self: center; max-width: 280px; }
.design-refinement #life-aboard .design-saloon-photo { grid-area: saloon; }
.design-refinement #life-aboard .design-weather-photo { grid-area: weather; }
.design-refinement #life-aboard .design-weather-note { grid-area: weather-note; max-width: none; }
.design-refinement .editorial-note span { font: 400 28px/1.2 var(--serif); }
.design-refinement #life-aboard .owner-interiors { max-width: 850px; margin: 38px auto 0; gap: 32px; }
.design-refinement #life-aboard .crew-detail { margin-top: 35px; }
.design-refinement #life-aboard .pull-quote { max-width: 850px; font-size: clamp(30px,3.2vw,45px); line-height: 1.25; margin: 55px auto 38px; }
.design-refinement #life-aboard .accommodation-plan { margin-top: 40px; }
.design-refinement .accommodation-plan-note { font-size: .875rem; }
/* Cruising: the existing year cards are the single story index. */
.design-refinement .cruising-layout { gap: 6vw; align-items: center; }
.design-refinement .journey-year-index { margin-top: 50px; }
.design-refinement .journey-year-index > h2 { margin-bottom: 28px; font-size: .8125rem; }
.design-refinement .journey-year-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 38px; }
.design-refinement .journey-year-card { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1fr); gap: 22px; align-items: center; padding-bottom: 27px; }
.design-refinement .journey-year-photo img { width: 100%; height: auto; max-height: 240px; object-fit: contain; }
.design-refinement .journey-year-copy { padding: 0; }
.design-refinement .journey-year-copy .eyebrow { font-size: .875rem; margin-bottom: 8px; }
.design-refinement .journey-year-copy h3 { font-size: clamp(23px,2.1vw,29px); line-height: 1.2; }
.design-refinement .journey-year-copy .journey-year-intro { font-size: 1rem; margin-top: 10px; }
.design-refinement .journey-year-copy .text-link { font-size: .875rem; margin-top: 9px; }
.design-refinement #journey-atlas { margin-top: 54px; padding: 42px 0 40px; }
.design-refinement .journey-atlas-heading { gap: 5vw; grid-template-columns: 1fr 1fr; }
.design-refinement .journey-atlas-heading h3 { font-size: clamp(34px,3.5vw,48px); line-height: 1.13; }
.design-refinement .journey-atlas-heading > p { font-size: 1rem; line-height: 1.75; }
.design-refinement .journey-stats { margin-top: 47px; }
.design-refinement .journey-stats::before { font-size: .75rem; }
.design-refinement .journey-stats span { display: block; font-size: .75rem; letter-spacing: .07em; padding: 18px; }
.design-refinement .journey-stats strong { display: block; font-size: 32px; margin-bottom: 6px; }
.design-refinement .journey-map-controls { gap: 8px; margin: 18px 0; }
.design-refinement .journey-map-controls button { font-size: .875rem; letter-spacing: 0; padding: 10px 15px; border-radius: 2px; }
.design-refinement #cruising .waterways-toggle { font-size: .875rem; padding: 12px 0; }
.design-refinement #cruising .waterways-list li { font-size: .9375rem; }
.design-refinement #cruising .waterways-years button,.design-refinement #cruising .waterways-count { font-size: .875rem; }
.design-refinement #journey-atlas .journey-map-note { font-size: .8125rem; gap: 18px; }
.design-refinement #journey-atlas .journey-map-note small { font-size: .75rem; line-height: 1.6; }
.design-refinement .cruising .close-quarters { margin-top: 40px; }
.design-refinement .cruising .cruising-atmosphere { width: min(700px,100%); margin-top: 40px; }
.design-refinement .aboard-moment p { font-size: 1rem; }
/* History, photographs and specifications keep their approved structure. */
.design-refinement .preview-history-stages { margin-top: 35px; gap: 30px; }
.design-refinement .preview-history-stages h3 { font-size: 25px; }
.design-refinement .preview-history-stages .preview-history-date { font-size: 24px; }
.design-refinement .preview-history-photos { gap: 30px; }
.design-refinement .preview-photo-grid { gap: 30px 24px; margin-top: 34px; }
.design-refinement .preview-photo-grid .photo img { aspect-ratio: auto; height: 230px; object-fit: contain; background: transparent; }
.design-refinement .preview-photo-grid .photo span { font-size: .9375rem; }
.design-refinement .technical-preview .technical-opening { gap: 5vw; }
.design-refinement .technical-preview .technical-facts dt,.design-refinement .technical-preview .technical-measure-note,.design-refinement .technical-preview .technical-evidence figcaption { font-size: .875rem; }
.design-refinement .technical-preview .technical-systems { gap: 30px; margin-top: 34px; }
.design-refinement .technical-preview .technical-care { margin-top: 40px; padding-top: 36px; }
.design-refinement .next-chapter .section-number { margin-bottom: 32px; }
.design-refinement .next-chapter h2 { font-size: clamp(36px,4vw,56px); }
/* Reading pages: shared comfortable body size and quieter supporting headings. */
.design-refinement .cruising-year-page .section-shell,.design-refinement .technical-document { padding-top: 118px; }
.design-refinement .cruising-year-page p,.design-refinement .history-chapters p { font-size: 1rem; line-height: 1.8; }
.design-refinement .cruising-year-page .eyebrow,.design-refinement .cruising-year-page .journey-page-label { font-size: .8125rem; }
.design-refinement .cruising-year-page figcaption { font-size: .875rem; line-height: 1.65; }
.design-refinement .history-chapters .owner-chapter { margin-top: 58px; padding-top: 40px; }
.design-refinement .history-chapters .owner-introduction { gap: 40px; }
.design-refinement .history-chapters .owner-introduction h3 { font-size: clamp(34px,3.8vw,50px); }
.design-refinement .history-chapters .owner-chapter h4 { font-size: clamp(26px,2.6vw,36px); }
.design-refinement .preview-archive-return .text-link,.design-refinement .journey-back-link,.design-refinement .technical-back { font-size: .9375rem; }
.design-refinement .filter-list button { min-height: 44px; font-size: .875rem; letter-spacing: 0; }
.design-refinement .lightbox p { font-size: .9375rem; line-height: 1.6; }
.design-refinement .document-actions button,.design-refinement .document-actions a,.design-refinement .document-actions span { font-size: .875rem; }
@media(max-width:1100px) {
 .design-refinement .primary-nav { gap: 15px; }
 .design-refinement .wordmark small { display: none; }
 .design-refinement .journey-year-grid { gap: 25px; }
 .design-refinement .journey-year-card { grid-template-columns: minmax(0,.7fr) minmax(0,1fr); gap: 17px; }
}
@media(max-width:800px) {
 .design-refinement .section-shell { padding: 58px 24px; }
 .design-refinement .section-number { margin-bottom: 30px; }
 .design-refinement .site-header { padding: 18px 24px; }
 .design-refinement .primary-nav { align-items: stretch; gap: 0; padding-top: 90px; padding-bottom: 90px; overflow-y: auto; }
 .design-refinement .primary-nav a { font-size: 28px; padding: 12px 0; }
 .design-refinement .primary-nav .nav-contact { margin: 20px 0 0; padding: 13px 17px; width: fit-content; font: 400 17px/1.5 var(--sans); }
 .design-refinement .menu-toggle { min-height: 44px; font-size: 15px; }
 .design-refinement #introduction .owner-portrait { max-width: 520px; justify-self: start; }
 .design-refinement .home-stories-grid { grid-template-columns: 1fr; gap: 27px; }
 .design-refinement .home-story { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1fr); gap: 23px; align-items: start; }
 .design-refinement .home-story-photo { aspect-ratio: auto; }
 .design-refinement .home-story-photo img { height: auto; }
 .design-refinement .home-story-copy { padding-top: 0; }
 .design-refinement .home-story-copy h3 { font-size: 27px; }
 .design-refinement .home-story-copy p { margin: 11px 0; }
 .design-refinement #introduction .feature-pair { grid-template-columns: 1fr; gap: 24px; margin-top: 36px; }
 .design-refinement #introduction .feature-pair .editorial-prose { max-width: 620px; font-size: 26px; }
 .design-refinement #life-aboard .editorial-grid { grid-template-columns: 1fr 1fr; grid-template-areas: 'evening evening' 'evening-note evening-note' 'saloon weather' '. weather-note'; gap: 24px; margin-top: 30px; }
 .design-refinement #life-aboard .design-evening-note { max-width: 580px; }
 .design-refinement #life-aboard .owner-interiors { gap: 24px; }
 .design-refinement #life-aboard .pull-quote { font-size: 34px; }
 .design-refinement .journey-year-grid { grid-template-columns: 1fr; }
 .design-refinement .journey-year-card { grid-template-columns: minmax(0,.65fr) minmax(0,1fr); gap: 25px; }
 .design-refinement .journey-year-copy h3 { font-size: 28px; }
 .design-refinement .journey-year-photo img { max-height: 220px; }
 .design-refinement .journey-atlas-heading { grid-template-columns: 1fr; gap: 22px; }
 .design-refinement #journey-atlas .journey-map-controls { display: flex; flex-wrap: wrap; }
 .design-refinement #journey-atlas .journey-map-note { display: block; }
 .design-refinement #journey-atlas .journey-map-note small { display: block; text-align: left; margin-top: 6px; }
 .design-refinement .preview-photo-grid .photo img { height: 220px; }
 .design-refinement .technical-preview .technical-care { gap: 27px; }
 .design-refinement .cruising-year-page .section-shell,.design-refinement .technical-document { padding-top: 108px; }
}
@media(max-width:520px) {
 .design-refinement .section-shell { padding-left: 21px; padding-right: 21px; }
 .design-refinement .site-header { padding: 12px 21px; }
 .design-refinement .home-story { grid-template-columns: 1fr; gap: 18px; }
 .design-refinement .home-story-photo { max-width: 100%; max-height: 260px; }
 .design-refinement .home-story-photo img { width: 100%; height: 250px; object-fit: contain; }
 .design-refinement .home-story-copy h3 { font-size: 28px; }
 .design-refinement #life-aboard .editorial-grid { grid-template-columns: 1fr; grid-template-areas: 'evening' 'evening-note' 'saloon' 'weather' 'weather-note'; gap: 24px; }
 .design-refinement #life-aboard .design-weather-photo { max-width: 290px; margin: 0 auto; }
 .design-refinement #life-aboard .owner-interiors { grid-template-columns: 1fr 1fr; gap: 18px; }
 .design-refinement #life-aboard .owner-photo img { width: 100%; height: auto; }
 .design-refinement #life-aboard .crew-detail { gap: 20px; max-width: 100%; }
 .design-refinement #life-aboard .crew-detail .life-story-photo { width: 100px; flex-basis: 100px; }
 .design-refinement #life-aboard .pull-quote { font-size: 30px; line-height: 1.25; margin-top: 40px; }
 .design-refinement .journey-year-card { grid-template-columns: minmax(0,.6fr) minmax(0,1fr); gap: 18px; }
 .design-refinement .journey-year-copy h3 { font-size: 24px; }
 .design-refinement .journey-year-copy .journey-year-intro { font-size: .9375rem; }
 .design-refinement .journey-stats span { padding: 17px 10px; }
 .design-refinement .journey-stats strong { font-size: 29px; }
 .design-refinement .journey-stats::before { line-height: 1.5; top: -35px; }
 .design-refinement .preview-photo-grid { grid-template-columns: 1fr 1fr; gap: 23px 17px; }
 .design-refinement .preview-photo-grid .photo img { height: 140px; }
 .design-refinement .preview-photo-grid .photo span { font-size: .875rem; }
 .design-refinement #story .preview-history-stages { gap: 25px; }
  }
@media(prefers-reduced-motion:reduce) { .design-refinement { scroll-behavior: auto; } .design-refinement .reveal { opacity: 1; transform: none; } }
/* Second pass, after desktop and phone review. */
.design-refinement .site-header:not(.scrolled):not(.menu-open) { background: linear-gradient(#101a1580,#101a1500); }
.design-refinement .design-photo-open { display: block; border: 0; padding: 0; width: 100%; background: transparent; color: inherit; cursor: zoom-in; }
.design-refinement .design-photo-open img { display: block; width: 100%; height: auto; }
.design-refinement .design-photo-open:hover img { filter: brightness(1.04); }
.design-refinement .design-page-title { font: 400 clamp(40px,5.4vw,76px)/1.09 var(--serif); letter-spacing: -.035em; margin: 0; }
.design-refinement .cruising-year-page .history-chapter-copy .design-page-title { font: 400 clamp(38px,4.6vw,66px)/1.1 var(--serif); letter-spacing: -.035em; }
.design-refinement .history-chapters .section-heading > .design-page-title { font-size: clamp(40px,5.4vw,72px); }
@media(max-width:520px) {
 .design-refinement #journey-atlas .journey-map::before { display: none; }
 .design-refinement #journey-atlas .map-mobile-hint { font-size: .875rem; line-height: 1.6; padding: 12px 14px; background: #101915; }
 .design-refinement #journey-atlas .journey-map svg { width: 900px; max-width: none; }
 .design-refinement #journey-atlas .journey-map svg text { transform: none; }
 .design-refinement #journey-atlas .map-places text { font-size: 18px; }
 .design-refinement #journey-atlas .waterway-labels text { font-size: 16px; }
 .design-refinement #journey-atlas .map-context text { font-size: 16px; letter-spacing: .14em; }
 .design-refinement .design-page-title { font-size: 40px; line-height: 1.1; }
}
@media(prefers-reduced-motion:reduce) { html:has(body.design-refinement) { scroll-behavior: auto; } }

/* A personal note before the invitation to Maria’s next chapter. */
.design-refinement .mikes-note { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.35fr); gap: 64px; border-top: 1px solid var(--design-line); }
.design-refinement .mikes-note h2 { margin: 14px 0 22px; max-width: 340px; font: 400 clamp(36px,4vw,54px)/1.12 var(--serif); letter-spacing: -.03em; }
.design-refinement .mikes-note-date { font-size: .875rem; line-height: 1.65; color: var(--design-muted); }
.design-refinement .mikes-note-copy { max-width: 680px; }
.design-refinement .mikes-note-copy p { margin: 0 0 20px; font-size: 1.0625rem; line-height: 1.8; }
.design-refinement .mikes-note-copy p:last-child { margin-bottom: 0; }
@media(max-width:800px) { .design-refinement .mikes-note { grid-template-columns: 1fr; gap: 30px; } .design-refinement .mikes-note h2 { max-width: none; } }
