:root{--paper:#f7f5ef;--white:#fff;--ink:#242d2c;--muted:#59635f;--line:#dedfd7;--accent:#965a3e;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Montserrat',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p,ul{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05}em{font-weight:400}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #17829a;outline-offset:4px}.eyebrow{display:block;font-size:10px;font-weight:500;letter-spacing:.18em;line-height:1.7;color:var(--accent);text-transform:uppercase;margin-bottom:18px}header{background:var(--white);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.header-inner{min-height:100px;max-width:1480px;margin:auto;padding:18px 5%;display:flex;align-items:center;gap:28px}.wordmark{font-family:var(--serif);font-size:31px;line-height:1.05;white-space:nowrap}.wordmark em{display:block;font-size:23px;letter-spacing:.08em}.menu-toggle{display:none}#site-nav{display:flex;gap:24px;margin-left:auto;align-items:center}#site-nav a{font-size:12px;min-height:44px;display:flex;align-items:center}#site-nav a:hover,#site-nav a[aria-current=page]{color:var(--accent)}.header-note{display:none;font-size:9px;letter-spacing:.1em}.hero{position:relative;height:calc(100svh - 100px);min-height:600px;max-height:880px;background:#172a33;display:flex;align-items:center;justify-content:center;color:white;text-align:center}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,#15292985,#15292950)}.hero>div:last-child{position:relative;padding:70px 24px}.hero .eyebrow{color:#f2e6d5;letter-spacing:.23em}.hero h1{font-size:clamp(64px,8vw,116px)}.hero p{font-size:14px;line-height:1.8;margin:30px 0;color:#f8f9f6}.hero a{display:inline-flex;gap:30px;align-items:center;font-size:12px;min-height:48px;border-bottom:1px solid #dadbd0}.hero a span{font-size:25px}.intro{text-align:center;padding:100px 24px;max-width:900px;margin:auto}.intro h2{font-size:clamp(42px,5vw,67px)}.intro em{color:var(--accent)}.intro p{font-size:14px;max-width:570px;margin:24px auto 0;color:var(--muted);line-height:1.9}.boat-mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr);aspect-ratio:2/1;max-width:1480px;margin:0 auto;min-width:0;background:var(--white)}.boat-mosaic.reverse .large-photo{order:2}.boat-mosaic.reverse .small-grid{order:1}.large-photo{position:relative;height:100%;min-width:0;min-height:0;overflow:hidden}.large-photo>.tile-photo{width:100%;height:100%}.tile-photo{position:relative;padding:0;border:0;background:#dfe6e2;display:block;overflow:hidden;width:100%;height:100%;min-width:0;cursor:zoom-in}.tile-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s}.tile-photo:hover img{transform:scale(1.025)}.tile-photo:focus-visible{outline-offset:-5px;z-index:4}.photo-caption{position:absolute;bottom:0;left:0;right:0;color:white;padding:100px 40px 36px;background:linear-gradient(transparent,#14232bce);pointer-events:none}.photo-caption a{pointer-events:auto}.photo-caption h2{font-size:clamp(32px,3.5vw,55px);line-height:1.04}.photo-caption>span{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}.small-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr);min-width:0;min-height:0}.text-tile{padding:clamp(24px,2.2vw,34px);background:white;display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:0;position:relative}.text-tile.primary{order:0}.secondary{order:1}.text-tile.extras{order:3}.tertiary{order:2}.text-tile h3{font-size:clamp(25px,2.4vw,35px);line-height:1.06}.text-tile p{font-size:16px;line-height:1.8;color:var(--muted);margin-top:14px}.text-tile .capacity{font-size:14px;color:var(--ink);margin-top:20px;font-weight:500}.text-tile .eyebrow{font-size:9px;margin-bottom:14px}.text-tile ul{list-style:none;padding:0;font-size:15px;line-height:1.7}.text-tile li{padding:7px 0;border-bottom:1px solid #eaebe5}.text-tile.primary:after{content:'';position:absolute;right:-12px;top:50%;border:12px solid transparent;border-left-color:white;border-right:0;z-index:2}.text-tile.extras:after{content:'';position:absolute;left:-12px;top:50%;border:12px solid transparent;border-right-color:white;border-left:0;z-index:2}.detail-link{font-size:11px;display:inline-flex;align-items:center;min-height:44px;margin-top:13px;color:var(--accent)}.expand{position:absolute;right:14px;top:14px;width:36px;height:36px;border:1px solid #ffffffc9;display:grid;place-items:center;color:white;background:#1c30365e;font-size:21px;pointer-events:none}.all-link{text-align:center;padding:60px 24px}.all-link a{display:inline-flex;align-items:center;gap:35px;min-height:48px;border-bottom:1px solid var(--accent);font-size:13px}.all-link span{font-size:23px}.services-intro{padding:90px 24px 55px;text-align:center}.services-intro h2{font-size:clamp(42px,4.7vw,65px)}.services-intro em{color:var(--accent)}.service-split{display:grid;grid-template-columns:1fr 1fr;max-width:1480px;margin:auto}.service-split a{position:relative;aspect-ratio:1.25;overflow:hidden;background:#d7d9d0}.service-split img{width:100%;height:100%;object-fit:cover}.service-split span{position:absolute;inset:auto 0 0;padding:80px 35px 30px;background:linear-gradient(transparent,#192e38c9);color:white;font:36px/1.1 var(--serif)}footer{padding:75px 24px 40px;text-align:center;background:#25302f;color:#f8f8f0;margin-top:70px}footer .wordmark{display:inline-block;font-size:40px}footer .wordmark em{font-size:28px}footer p{font-size:12px;margin:26px 0;color:#e0e5de}footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 30px;margin:30px auto}footer nav a{font-size:11px;min-height:44px;display:inline-flex;align-items:center}footer small{font-size:10px;color:#c4cfc7;letter-spacing:.12em}.page-heading{max-width:980px;margin:0 auto;text-align:center;padding:80px 24px 65px}.page-heading h1{font-size:clamp(46px,5.7vw,80px)}.page-heading h1 em{color:var(--accent)}.page-heading p{max-width:680px;margin:25px auto 0;font-size:15px;color:var(--muted);line-height:1.8}.filters{max-width:1280px;margin:0 auto 40px;padding:0 28px;display:flex;align-items:flex-end;gap:30px}.filters label{display:grid;gap:10px;font-size:11px;letter-spacing:.05em}.filters input,.filters select{background:transparent;border:0;border-bottom:1px solid #a8b4aa;border-radius:0;min-height:48px;padding:10px 0;width:260px;color:var(--ink);font-size:15px}.filters p{margin-left:auto;font-size:12px;padding-bottom:10px;color:var(--muted)}#empty,.pending-link{text-align:center;min-height:200px;padding:45px 24px}.pending-link a{display:inline-flex;min-height:48px;align-items:center;border-bottom:1px solid var(--accent)}.details-copy{max-width:940px;padding:80px 30px;margin:auto}.details-copy h2{font-size:47px}.details-copy p{color:var(--muted);font-size:16px;line-height:1.8;margin:25px 0}.details-copy ul{columns:2;column-gap:60px;padding-left:20px;margin:30px 0;font-size:16px}.details-copy li{padding:7px 0;break-inside:avoid}.details-copy>a{display:inline-flex;min-height:44px;align-items:center;font-size:13px;border-bottom:1px solid var(--accent)}.service-gallery{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr;gap:10px;padding:0 24px}.service-gallery .tile-photo{aspect-ratio:1.35}.service-gallery .tile-photo:first-child{grid-row:span 2;aspect-ratio:auto}.service-gallery .tile-photo:last-child:nth-child(4){grid-column:1/-1;aspect-ratio:2.2}.service-gallery>.tile-photo:only-child{grid-column:1/-1;aspect-ratio:1.7;max-height:740px}.menu-grid{max-width:1100px;margin:70px auto;display:grid;grid-template-columns:1fr 1fr;gap:55px 75px;padding:0 30px}.menu-group{border-top:1px solid var(--line);padding-top:28px}.menu-group h2{font-size:38px;margin-bottom:24px}.menu-group ul{padding-left:18px;font-size:15px;color:var(--muted)}.menu-group li{padding-bottom:10px}.editor-note{max-width:850px;margin:45px auto;padding:0 28px;font-size:12px;color:var(--muted);line-height:1.9}dialog{border:0;padding:0;color:var(--ink);width:min(1280px,calc(100% - 40px));max-height:calc(100dvh - 40px);background:var(--white);overscroll-behavior:contain}dialog::backdrop{background:#112323d9;backdrop-filter:blur(5px)}.gallery-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:23px 30px;border-bottom:1px solid var(--line)}.gallery-top .eyebrow{margin-bottom:6px;font-size:9px}.gallery-top h2{font-size:36px;line-height:1.05}.gallery-close{border:1px solid var(--line);width:48px;height:48px;flex-shrink:0;font-size:32px;background:white}.gallery-content{display:grid;grid-template-columns:minmax(0,1fr) 310px;min-width:0}.gallery-stage{position:relative;height:62dvh;min-height:300px;overflow:hidden;background:#111c20}.gallery-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.gallery-prev,.gallery-next{position:absolute;top:calc(50% - 25px);border:1px solid #dce7e4;background:#172c36d9;width:48px;height:50px;color:white;font-size:35px}.gallery-prev{left:15px}.gallery-next{right:15px}#photo-counter{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);background:#152e39cb;color:white;font-size:12px;padding:6px 14px}.gallery-info{padding:30px;overflow:auto;max-height:62dvh}.gallery-info p{font-size:14px;line-height:1.8;margin:18px 0;color:var(--muted)}#gallery-capacity{color:var(--ink);font-size:16px;font-weight:500}.gallery-info ul{padding-left:18px;font-size:13px;line-height:1.8}.gallery-info>a{display:inline-flex;align-items:center;min-height:48px;border-bottom:1px solid var(--accent);font-size:12px;margin-top:22px}.gallery-thumbs{display:flex;gap:8px;overflow:auto;padding:15px 25px;border-top:1px solid var(--line)}.gallery-thumbs button{min-width:64px;width:64px;height:52px;background:transparent;padding:3px;border:2px solid transparent;flex-shrink:0}.gallery-thumbs button[aria-pressed=true]{border-color:var(--accent)}.gallery-thumbs img{width:100%;height:100%;object-fit:cover}.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip:focus{position:fixed;top:8px;left:8px;background:white;color:var(--ink);padding:15px;z-index:100}[hidden]{display:none!important}a,button{transition:color .2s,background-color .2s}
@media(min-width:1600px){.header-note{display:block}.header-inner{gap:45px}.boat-mosaic{border-inline:1px solid var(--line)}}
@media(max-width:1100px){.header-inner{padding-inline:30px}#site-nav{gap:20px}.text-tile{padding:25px}.text-tile h3{font-size:27px}.text-tile p{font-size:16px;line-height:1.65}.text-tile .eyebrow{font-size:8px}.text-tile ul{font-size:15px}.text-tile li{padding:4px 0}.photo-caption{padding:75px 28px 25px}.photo-caption h2{font-size:38px}.gallery-content{grid-template-columns:minmax(0,1fr) 260px}.gallery-info{padding:23px}}
@media(max-width:1100px){.header-inner{min-height:88px}.wordmark{font-size:29px}.wordmark em{font-size:21px}.menu-toggle{margin-left:auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:48px;height:48px;background:transparent;border:1px solid var(--line)}.menu-toggle span{height:1px;background:var(--ink);width:20px}#site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 30px;background:white;margin:0;box-shadow:0 15px 20px #15282315}#site-nav.open{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}#site-nav a{font-size:14px}.hero{height:calc(100svh - 88px);min-height:570px;max-height:850px}.boat-mosaic{grid-template-columns:1fr;grid-template-rows:auto auto;aspect-ratio:auto;align-items:stretch}.large-photo{height:auto;aspect-ratio:1.4}.boat-mosaic.reverse .large-photo{order:0}.boat-mosaic.reverse .small-grid{order:1}.small-grid{grid-template-columns:1fr 1fr;grid-template-rows:minmax(300px,auto) minmax(300px,auto)}.text-tile.primary{order:0;padding:25px 28px}.secondary{order:1;aspect-ratio:auto}.text-tile.extras{order:3;padding:25px 28px}.tertiary{order:2;aspect-ratio:auto}.text-tile h3{font-size:31px}.text-tile p{font-size:16px;line-height:1.7}.text-tile ul{font-size:14px}.text-tile .eyebrow{font-size:9px}.text-tile.primary:after,.text-tile.extras:after{display:none}.photo-caption h2{font-size:40px}.intro{padding:70px 25px}.gallery-top h2{font-size:30px}.gallery-content{grid-template-columns:1fr}.gallery-stage{height:58dvh}.gallery-info{max-height:none;padding:25px 30px}.gallery-info .eyebrow{margin-bottom:12px}.gallery-info ul{columns:2}.gallery-thumbs{order:-1}.gallery-info p{margin:14px 0}.gallery-info #gallery-capacity{font-size:16px}}
@media(max-width:600px){html{scroll-padding-top:90px}.header-inner{padding:14px 20px;min-height:84px}.wordmark{font-size:28px}.wordmark em{font-size:20px;letter-spacing:.04em}.hero{height:calc(100svh - 84px);min-height:570px;max-height:800px}.hero>div:last-child{padding:60px 20px}.hero h1{font-size:64px}.hero .eyebrow{font-size:9px;letter-spacing:.15em}.hero p{font-size:15px;line-height:1.8;margin:28px 0}.hero p br{display:none}.hero a{font-size:13px;gap:25px}.hero-image{object-position:60% center}.intro{padding:65px 24px}.intro h2{font-size:44px}.intro p{font-size:16px;line-height:1.7}.eyebrow{font-size:10px}.boat-mosaic,.boat-mosaic.reverse{display:flex;flex-direction:column;margin-bottom:28px}.boat-mosaic .large-photo,.boat-mosaic.reverse .large-photo{order:0;width:100%;aspect-ratio:1.05}.boat-mosaic .small-grid,.boat-mosaic.reverse .small-grid{order:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto}.text-tile.primary{order:0;grid-column:1/-1;padding:30px 25px 24px}.text-tile.primary h3{font-size:37px}.text-tile.primary p{font-size:16px;line-height:1.7;margin-top:16px}.text-tile.primary .capacity{font-size:17px;margin-top:18px}.secondary{grid-column:1;order:1;aspect-ratio:1}.tertiary{grid-column:2;order:2;aspect-ratio:1}.text-tile.extras{order:3;grid-column:1/-1;padding:26px 25px}.text-tile.extras ul{display:grid;grid-template-columns:1fr 1fr;gap:8px 25px;font-size:15px}.text-tile.extras li{padding:7px 0}.text-tile .eyebrow{font-size:10px}.photo-caption{padding:85px 25px 27px}.photo-caption h2{font-size:42px}.photo-caption>span{font-size:10px}.expand{right:12px;top:12px}.detail-link{font-size:13px;margin-top:20px}.all-link{padding:30px 25px 45px}.all-link a{font-size:14px;gap:20px}.services-intro{padding:50px 25px 40px}.services-intro h2{font-size:43px}.service-split{grid-template-columns:1fr;gap:12px}.service-split a{aspect-ratio:1.2}.service-split span{font-size:34px;padding:70px 25px 25px}.page-heading{padding:55px 25px 45px}.page-heading h1{font-size:49px}.page-heading p{font-size:16px;line-height:1.75;margin-top:22px}.filters{padding:0 24px;margin-bottom:30px;gap:18px;flex-wrap:wrap}.filters label{font-size:12px;width:100%}.filters input,.filters select{font-size:16px;width:100%;height:50px}.filters p{margin-left:0;font-size:13px;padding:0}.details-copy{padding:50px 25px}.details-copy h2{font-size:41px}.details-copy ul{columns:1}.service-gallery{padding:0 12px;gap:8px;grid-template-columns:1fr 1fr}.service-gallery .tile-photo:first-child{grid-column:1/-1;grid-row:auto;aspect-ratio:1.1}.service-gallery .tile-photo:last-child:nth-child(4){grid-column:auto;aspect-ratio:1}.service-gallery>.tile-photo:only-child{aspect-ratio:1.2}.menu-grid{grid-template-columns:1fr;gap:35px;margin-block:45px;padding-inline:25px}.menu-group h2{font-size:36px}.menu-group ul{font-size:16px;line-height:1.7}.editor-note{font-size:13px;padding-inline:25px}footer{margin-top:40px;padding:55px 25px 35px}footer p{font-size:14px;line-height:1.8}footer nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;text-align:left;max-width:300px}footer nav a{font-size:13px}footer small{font-size:10px;letter-spacing:.06em}dialog{width:100%;height:100dvh;max-height:100dvh;margin:0;max-width:100%;padding-bottom:env(safe-area-inset-bottom);overflow:auto}.gallery-top{padding:16px 16px 16px 20px;gap:14px;position:sticky;top:0;background:white;z-index:5}.gallery-top h2{font-size:28px}.gallery-top .eyebrow{font-size:8px;margin-bottom:6px}.gallery-close{width:48px;height:48px}.gallery-stage{height:52dvh;min-height:250px}.gallery-prev,.gallery-next{width:48px;height:50px;top:calc(50% - 25px)}.gallery-prev{left:8px}.gallery-next{right:8px}#photo-counter{font-size:12px;bottom:12px}.gallery-info{padding:25px}.gallery-info p{font-size:16px}.gallery-info ul{font-size:15px;columns:1}.gallery-info>a{font-size:14px}.gallery-thumbs{padding:12px 20px;gap:10px}.gallery-thumbs button{min-width:62px;height:52px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* A complete boat is one visual group, separated from the next vessel. */
.boat-entry{max-width:1480px;margin:0 auto 56px;min-width:0}
.boat-divider{display:flex;align-items:center;gap:18px;margin:0 30px 20px;padding-top:22px;border-top:1px solid #aab3ac;min-height:70px}
.boat-number{font:500 14px/1 var(--sans);letter-spacing:.08em;color:var(--accent);padding-right:18px;border-right:1px solid var(--line);flex-shrink:0}
.boat-divider p{font:400 clamp(25px,2.5vw,34px)/1.15 var(--serif);text-wrap:balance}
.divider-category{margin-left:auto;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);flex-shrink:0}
@media(max-width:1100px){.boat-entry{margin-bottom:44px}.boat-divider{margin-inline:28px;gap:16px}}
@media(max-width:600px){.boat-entry{margin-bottom:32px}.boat-divider{margin:0 24px 16px;padding-top:20px;gap:12px;align-items:baseline}.boat-number{padding-right:12px;font-size:13px}.boat-divider p{font-size:28px}.divider-category{display:none}.boat-entry .boat-mosaic{margin-bottom:0}}
