
/* R25 · Phase 1 editorial refinement. Based on approved R24, not CLUBB design. */
:root{
  --ink:#26272a;
  --ink-soft:#57534d;
  --sand:#f5f0e8;
  --paper:#fcfaf6;
  --copper:#996e3d;
  --brown:#332c27;
  --hairline:#d7cfc2;
}
html{scroll-padding-top:106px}
body{background:var(--paper)}
.skip-link{position:absolute;top:-200px;left:14px;z-index:1000;background:#fff;padding:12px 17px;border:2px solid var(--ink);font-weight:750}
.skip-link:focus{top:8px}
.site-header{position:sticky;top:0;box-shadow:0 1px 9px rgba(33,28,22,.045)}
.header-inner{height:88px}
.brand img{box-shadow:0 0 0 1px #bda27a33}
.desktop-nav a[aria-current=page]{border-bottom:2px solid var(--copper);padding-bottom:5px}
.desktop-nav a:hover{text-decoration:underline;text-decoration-color:#9e7f52;text-underline-offset:5px}
.eyebrow{color:#886538}
h1,h2{font-feature-settings:"kern";text-wrap:balance}
.lede{color:#57534c}
.btn{transition:background-color .16s,border-color .16s,transform .16s}
.btn:hover{transform:translateY(-1px)}
.btn.inverse{background:transparent;color:var(--ink);border-color:#75706a}
.btn.inverse:hover{background:#ede7dd}
.hero-home{padding-top:22px}
.home-photo-wall{grid-template-columns:.89fr 1.58fr .88fr;gap:9px;height:min(39.3vw,522px)}
.home-photo-wall .tile-marina img{object-position:49% 52%}
.home-photo-wall .tile-jet img{object-position:50% 50%}
.home-photo-wall .tile-event img{object-position:49% 48%}
.photo-tile .tile-label{font-size:11px;letter-spacing:.15em}
.home-intro{grid-template-columns:1.18fr .82fr;gap:66px;padding-top:31px}
.home-intro h1{font-size:clamp(48px,5.05vw,82px);max-width:760px}
.home-intro .lede{max-width:400px;font-size:18px}
.event-band{background:#f3ede3}
.section-heading h2{line-height:1.08}
.experience-piece{box-shadow:0 3px 25px #2a21120a}
.experience-piece .overlay{background:linear-gradient(0deg,rgba(9,18,22,.83),rgba(9,18,22,.12) 63%,transparent 76%)}
.experience-piece .btn.light{border:1px solid #fff}
.experience-piece:hover .btn.light{background:#ebe3d9;border-color:#ebe3d9}
.photo-tile .media-tap,.gallery-split .media-tap,.three-photos .media-tap,
.private-photo-aside .media-tap,.corporate-mosaic .media-tap,
.jet-photo-grid .media-tap,.boat-photo-wall .media-tap,
.gallery-rail .media-tap,.compact-gallery .media-tap,
.cover .media-tap,.shot .media-tap{height:100%}
.media-tap{display:block;border:0;background:transparent;width:100%;padding:0;margin:0;overflow:hidden;position:relative;cursor:zoom-in;text-align:inherit}
.media-tap img{display:block;width:100%;height:100%}
.media-tap:focus-visible{outline:3px solid #b78b4e;outline-offset:-3px}
.media-tap:hover::after,.media-tap:focus-visible::after{content:"⤢";position:absolute;right:12px;bottom:12px;width:33px;height:33px;background:#fff;color:#242829;border-radius:50%;font:700 20px/33px var(--sans);text-align:center;box-shadow:0 1px 9px #0005}
.album-control{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #cfc5b6;padding:10px 0!important;margin:3px 0 13px!important;width:100%!important;max-width:none!important}
.album-control span{font-size:10px;text-transform:uppercase;font-weight:820;letter-spacing:.16em;color:#8b785c}
.album-control button{border:0;background:transparent;color:#272827;padding:9px 4px;font-weight:780;font-size:13px;white-space:nowrap;text-decoration:underline;text-underline-offset:5px}
.album-control button:hover{color:#977347}
.journey-strip{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--hairline);gap:0;margin:30px 0 8px}
.journey-item{padding:24px 24px 24px 0;display:flex;align-items:flex-start;gap:16px}
.journey-item+.journey-item{padding-left:22px;border-left:1px solid var(--hairline)}
.journey-num{font:400 32px/1 var(--serif);color:#9a7648}
.journey-item strong{display:block;font-size:15px;margin-bottom:3px;font-weight:780}
.journey-item small{display:block;color:var(--ink-soft);font-size:12px}
.duration-rail,.boat-preference{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 19px;padding:17px 21px;background:#fffaf3;border:1px solid #ded3c3}
.duration-rail>span,.boat-preference>span{font-size:12px;font-weight:780;white-space:nowrap;color:#70634f}
.duration-rail>div,.boat-preference>div{display:flex;flex-wrap:wrap;gap:6px}
.duration-rail a,.boat-preference a{border:1px solid #c9c0b3;text-decoration:none;font-size:12px;white-space:nowrap;padding:9px 14px;background:#fff;color:#272725;font-weight:750}
.duration-rail a:hover,.boat-preference a:hover{background:#262729;color:white;border-color:#262729}
.boat-preference{margin:25px 0 19px;background:#fffcf7}
.selector-panel{box-shadow:0 14px 40px #302a1b0b;border:1px solid #cfc6b7}
.selector-panel:target{scroll-margin-top:120px;border-color:#9d7845;box-shadow:0 0 0 3px #cfab7e33,0 14px 38px #302a1b0b}
.option-grid span{transition:background-color .15s,border-color .15s}
.option-grid input:checked+span{background:#2a2b2d}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid #b58b50;outline-offset:1px}
.form-submit{min-height:56px}
.form-hint{line-height:1.5}
.site-footer .signature{font-size:18px}
.mobile-conversion-bar{display:none}
.media-viewer{padding:0;border:1px solid #5b534b;background:#181a1c;color:white;width:min(1150px,96vw);max-width:96vw;max-height:95dvh;box-shadow:0 25px 80px #0008;flex-direction:column;border-radius:8px}
.media-viewer[open]{display:flex}
.media-viewer::backdrop{background:rgba(15,18,22,.92)}
.viewer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:55px;padding:10px 18px;border-bottom:1px solid #ffffff24}
.viewer-top strong{font-size:13px;font-weight:760}
.viewer-close{background:#323639;color:#fff;border:1px solid #8e8b85;border-radius:4px;padding:8px 14px;font-weight:750;font-size:13px}
.viewer-close:hover{background:#565758}
.viewer-stage{display:flex;align-items:center;justify-content:center;gap:12px;min-height:0;flex:1;padding:12px 12px 7px}
.viewer-stage img{display:block;object-fit:contain;max-width:calc(100% - 108px);max-height:min(64dvh,760px);width:auto;height:auto}
.viewer-arrow{min-width:42px;min-height:53px;border:1px solid #737773;background:#2c3337;color:#fff;font-size:33px;line-height:1;border-radius:4px;flex-shrink:0}
.viewer-arrow:hover{background:#51595e}
.viewer-foot{border-top:1px solid #ffffff29;padding:8px 16px 13px;text-align:center;min-height:70px}
.viewer-caption{color:#e2ddd3;font-size:13px;line-height:1.4;min-height:20px}
.viewer-thumbs{display:flex;align-items:center;justify-content:center;gap:7px;overflow-x:auto;padding:8px 0 0;scrollbar-width:thin;scrollbar-color:#888 #2c3030}
.viewer-thumb{padding:2px;background:transparent;border:2px solid transparent;flex-shrink:0;border-radius:3px;height:57px;width:60px;cursor:pointer}
.viewer-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.viewer-thumb[aria-current="true"]{border-color:#e7bb7e}
.viewer-counter{color:#bcb6aa;font-size:11px;white-space:nowrap}
@media(max-width:1100px){
 .home-photo-wall{height:490px}
 .desktop-nav{gap:15px}
 .home-intro{gap:40px}
 .duration-rail,.boat-preference{gap:10px}
}
@media(max-width:900px){
 .header-inner{height:76px}
 .journey-item{padding-right:13px;gap:10px}
 .journey-item+.journey-item{padding-left:12px}
 .journey-num{font-size:25px}
 .home-photo-wall{height:440px}
}
@media(max-width:700px){
 body{padding-bottom:calc(73px + env(safe-area-inset-bottom,0px))}
 .mobile-conversion-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:52;align-items:center;justify-content:space-between;gap:12px;padding:9px 15px calc(9px + env(safe-area-inset-bottom,0px));background:rgba(255,252,245,.98);box-shadow:0 -4px 23px #28231b1b;border-top:1px solid #c4b5a0}
 .mobile-conversion-bar div{min-width:0}
 .mobile-conversion-bar small{display:block;color:#8e7049;white-space:nowrap;font-weight:800;font-size:10px;letter-spacing:.06em;max-width:190px;overflow:hidden;text-overflow:ellipsis}
 .mobile-conversion-bar strong{font-size:13px;color:#262827;white-space:nowrap}
 .mobile-conversion-link{background:#25292d;color:white;padding:12px 16px;border-radius:3px;text-decoration:none;font-size:13px;font-weight:760;white-space:nowrap;min-height:45px;display:inline-flex;align-items:center;justify-content:center;gap:7px}
 .mobile-conversion-link:hover{background:#41474b}
 .site-header{top:0}
 .hero-home{padding:12px 0 36px}
 .home-photo-wall{grid-template-columns:1.28fr .86fr;grid-template-rows:1fr 1fr;gap:6px;height:345px}
 .home-photo-wall .tile-jet{grid-column:2;grid-row:1/2}
 .home-photo-wall .tile-marina{grid-column:1;grid-row:1/3}
 .home-photo-wall .tile-event{grid-column:2;grid-row:2/3}
 .home-photo-wall .tile-marina img{object-position:50% 49%}
 .photo-tile .tile-label{font-size:9px;left:8px;bottom:8px}
 .home-intro{padding-top:19px;gap:13px;display:grid;grid-template-columns:minmax(0,1fr)}
 .home-intro>div{min-width:0;width:100%}
 .home-intro h1{max-width:100%}
 .home-intro h1{font-size:clamp(40px,10.1vw,61px);letter-spacing:-.045em}
 .home-intro .lede{font-size:16px;margin-bottom:17px}
 .album-control{gap:8px;padding:7px 0!important;margin:8px 0 13px!important}
 .album-control span{font-size:9px;max-width:155px}
 .album-control button{font-size:12px;white-space:nowrap}
 .journey-strip{grid-template-columns:1fr;gap:0;margin:5px 0 15px}
 .journey-item{padding:11px 0;gap:12px;align-items:center}
 .journey-item+.journey-item{padding-left:0;border-left:0;border-top:1px solid #e2d7c9}
 .journey-num{font-size:25px;width:34px}
 .journey-item strong{font-size:13px;margin:0}
 .journey-item small{font-size:11px}
 .duration-rail,.boat-preference{display:block;padding:13px 12px;margin:13px 0}
 .duration-rail>span,.boat-preference>span{display:block;margin-bottom:9px}
 .duration-rail>div,.boat-preference>div{gap:5px}
 .duration-rail a,.boat-preference a{font-size:11px;padding:9px 9px;flex:1 1 auto;text-align:center}
 .home-intro .cta-row{gap:8px}
 .home-intro .cta-row .text-cta{width:100%;padding:5px 0}
 .selector-panel{box-shadow:none}
 .media-viewer{width:100vw;max-width:100vw;height:calc(100dvh - 3px);max-height:100dvh;border-radius:0}
 .viewer-stage{gap:7px;padding:10px 3px 6px}
 .viewer-stage img{max-width:calc(100% - 86px);max-height:68dvh}
 .viewer-arrow{min-width:37px;min-height:45px;font-size:28px}
 .viewer-foot{padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px))}
 .viewer-caption{font-size:12px}
 .viewer-thumb{width:52px;height:52px}
 .viewer-top{padding:9px 13px}
 .site-footer{padding-bottom:40px}
}
@media(max-width:390px){
 .home-photo-wall{height:320px}
 .mobile-conversion-bar small{max-width:145px}
 .mobile-conversion-link{padding:10px 12px;font-size:12px}
 .home-intro h1{font-size:40px}
 .duration-rail a,.boat-preference a{flex:1 0 calc(50% - 8px)}
}
@media(prefers-reduced-motion:reduce){
 .btn,.experience-piece img,.option-grid span{transition:none!important}
 html{scroll-behavior:auto}
}

.footer-extra{display:flex;flex-wrap:wrap;gap:21px;padding:23px 0 5px;font-size:13px;font-weight:730;border-top:1px solid #d8cfc0;margin-top:25px}
.footer-extra a{text-underline-offset:4px}
.footer-extra a:hover{color:#8f6c40}
