/* The photographed Casa Blu collection. */
.catalog-opening{background:#d8e8e2;padding-bottom:28px}
.catalog-opening .page-heading{padding-bottom:30px}
.catalog-opening .page-heading p:not(.eyebrow){max-width:640px}
.catalog-intro-line{display:flex;gap:32px;flex-wrap:wrap;color:#345c60;font-size:13px;padding-top:22px;border-top:1px solid #49727135}
.fleet-catalog{padding-top:36px;padding-bottom:64px}
.fleet-count{font-size:13px;color:#547173;margin:14px 0 25px}
.catalog-card{display:flex;flex-direction:column;background:#e6eeea;border:0;border-radius:26px;overflow:hidden;box-shadow:none}
.catalog-card:nth-child(3n+2){background:#ede0cd}
.catalog-card:nth-child(3n){background:#dbe8ed}
.catalog-photo{display:block;position:relative;overflow:hidden;aspect-ratio:16/10;background:#c4d8d7}
.catalog-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.catalog-card:hover img{transform:none}
@media(hover:hover){.catalog-photo:hover img{transform:scale(1.025)}}
.boat-length{position:absolute;bottom:18px;left:20px;background:#f8f4e9ed;color:#183a46;border-radius:30px;padding:6px 14px;font-size:13px}
.catalog-card .vessel-info{display:flex;flex-direction:column;flex:1;padding:28px}
.catalog-card .boat-maker{font-size:12px;letter-spacing:.08em;color:#426267;margin:0 0 12px}
.catalog-card h3{font-size:37px;line-height:1.12}
.catalog-card .boat-description{font-size:15px;line-height:1.75;color:#3d5b61;margin:18px 0 24px}
.rate-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:auto 0 0;border-top:1px solid #52737630;border-bottom:1px solid #52737630;padding:17px 0;gap:10px}
.rate-strip dt{font-size:12px;color:#4a686d;margin-bottom:4px}
.rate-strip dd{font-size:21px;font-weight:600;letter-spacing:-.02em;margin:0;color:#153b48}
.price-note{font-size:13px!important;color:#49636b!important;margin:12px 0 0!important}
.card-details{margin-top:14px;font-size:14px}
.card-details summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:48px;cursor:pointer;color:#1b4c56}
.card-details summary::-webkit-details-marker{display:none}
.card-details summary span{font-size:22px;transition:transform .2s}
.card-details[open] summary span{transform:rotate(45deg)}
.card-details h4{font-size:14px;margin:16px 0 8px;font-weight:700;color:#214953}
.catalog-link{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #52737630;margin-top:16px;padding-top:20px;min-height:52px;font-weight:600;font-size:15px;color:#154e57}
.catalog-link span{font-size:26px}
.catalog-card .included-list{grid-template-columns:1fr;gap:6px;margin:12px 0}
.included-list{display:grid;grid-template-columns:1fr 1fr;list-style:none;padding:0;margin:20px 0;gap:14px 28px}
.included-list li{position:relative;padding-left:19px;font-size:15px;color:#36565d}
.included-list li:before{content:'✓';position:absolute;left:0;color:#367970}
.addon-list{list-style:none;padding:0;margin:12px 0}
.addon-list li{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #52737625;font-size:15px}
.addon-list strong{white-space:nowrap;font-weight:600}
.addon-list small{display:block;color:#5b7477;font-size:12px;margin-top:3px}
.boat-heading{padding-bottom:38px}
.boat-heading>p:last-child{max-width:710px;font-size:18px;line-height:1.8}
.boat-hero{overflow:hidden;border-radius:28px;background:#d8e6e2}
.boat-hero img{width:100%;height:auto;max-height:680px;object-fit:cover}
.boat-details section{margin:32px 0}
.boat-details h3{font-size:26px;margin-bottom:18px}
.boat-details .muted{color:#567077}
.boat-details .boarding-panel{background:#d8e8e2;border-radius:22px;padding:28px}
.boat-details .boarding-panel p{margin-bottom:12px}
.boat-rate{align-self:start;position:sticky;top:25px;background:#103b49;color:white;border:none;padding:32px}
.boat-rate h3{font-size:33px}
.boat-rate .eyebrow{color:#e9c58e}
.boat-rate .summary-row{border-color:#ffffff26;font-size:17px}
.boat-rate .aside-note{color:#c5dada;font-size:13px}
.boat-rate .price-note{color:#edcfa6!important}
.rate-back{display:block;text-align:center;margin-top:17px;font-size:13px;color:#d4e4e5}
.boat-gallery-band{padding:65px 0;background:#e9ddc9}
.boat-gallery-band h2{font-size:43px;line-height:1.2;margin:18px 0 30px}
.boat-gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.boat-gallery figure{margin:0;min-width:0}
.boat-gallery img{width:100%;height:440px;object-fit:cover;border-radius:24px}
.boat-gallery figcaption{font-size:13px;color:#53696a;margin-top:13px}
.related-title{font-size:38px;margin:15px 0 28px}
.related-links{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.related-links a{display:flex;justify-content:space-between;align-items:center;border-radius:22px;background:#dbe8e2;padding:26px;font-size:13px}
.related-links strong{display:block;font-family:Fraunces,serif;font-size:29px;font-weight:400;margin:7px 0}
.related-links small{font-size:13px}
.related-links>a>span:last-child{font-size:28px}
.boat-extras #boat-addon-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.boat-extras .addon-option{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid #71938d60;border-radius:16px;background:#e0ede5}
.boat-extras .addon-option input{width:20px;min-height:20px;height:20px;flex-shrink:0;accent-color:#155c64}
.boat-extras .addon-option span{padding:0;border:0;background:none;display:block;font-size:14px}
.boat-extras .addon-option small{display:block;font-size:12px;color:#526d6d;margin-top:4px}
.boat-extras .addon-option.unavailable{background:#eeeae1;color:#6a716d;border-color:#d4d6cc}
.boat-extras .small-note{margin-top:15px}
.booking-aside .summary-row.total{font-size:22px;flex-wrap:wrap}
.featured-fleet .catalog-card h3{font-size:30px}
.featured-fleet .catalog-card .vessel-info{padding:24px}
.featured-fleet .rate-strip dd{font-size:18px}
@media(max-width:760px){
 .catalog-opening .page-heading{padding-top:38px}.catalog-opening h1{font-size:clamp(36px,10vw,51px)}
 .catalog-intro-line{gap:10px 20px;font-size:12px}.catalog-intro-line span:last-child{flex-basis:100%}
 .fleet-catalog{padding-top:25px}.fleet-filter{gap:8px;flex-wrap:wrap}.fleet-filter button{font-size:12px;min-height:44px;padding:9px 13px}
 .catalog-card .vessel-info,.fleet-catalog .catalog-card .vessel-info{padding:23px}
 .catalog-card h3{font-size:32px}.catalog-photo{aspect-ratio:4/3}.catalog-card .boat-description{font-size:14px;margin:15px 0 20px}
 .rate-strip dd{font-size:20px}.rate-strip{gap:6px}.boat-length{bottom:14px;left:16px}
 .boat-heading h1{font-size:46px}.boat-heading>p:last-child{font-size:16px}
 .boat-hero{border-radius:20px}.boat-hero img{height:auto;aspect-ratio:4/3;object-fit:cover}
 .detail-layout{display:flex;flex-direction:column;gap:30px}.boat-rate{order:-1;position:static;width:100%;padding:26px}
 .boat-details section{margin:28px 0}.included-list{grid-template-columns:1fr;gap:10px}.boat-details .boarding-panel{padding:23px}
 .boat-gallery-band{padding:45px 0}.boat-gallery-band h2{font-size:34px}.boat-gallery{grid-template-columns:1fr;gap:26px}.boat-gallery img{height:auto;max-height:480px;aspect-ratio:4/3}
 .related-links{grid-template-columns:1fr}.related-links a{padding:23px}.related-title{font-size:33px}
 .boat-extras #boat-addon-options{grid-template-columns:1fr}.booking-aside .summary-row.total{font-size:21px}
}
@media(prefers-reduced-motion:reduce){.catalog-photo img,.card-details summary span{transition:none}}
.catalog-card.reveal{animation:none;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.catalog-link span{transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.catalog-card:focus-within .catalog-link span{transform:translate(3px,-3px)}
.fleet-filter button{transition:background .25s,color .25s,transform .2s}
.fleet-filter button:active{transform:scale(.97)}
.card-details[open]>.included-list,.card-details[open]>.addon-list,.card-details[open]>p{animation:fleet-details-in .25s ease-out both}
@keyframes fleet-details-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(min-width:761px) and (hover:hover) and (pointer:fine){
 .catalog-card:hover{transform:translateY(-6px)}
 .catalog-card .catalog-photo img{transform:translate3d(0,var(--photo-drift,0px),0) scale(1.08);transition:scale .45s cubic-bezier(.2,.7,.2,1);scale:1}
 .catalog-card:hover .catalog-photo img{transform:translate3d(0,var(--photo-drift,0px),0) scale(1.08);scale:1.035}
 .catalog-card:hover .catalog-link span{transform:translate(4px,-4px)}
 .fleet-filter button:hover:not([aria-pressed=true]){background:#d8e8e2;transform:translateY(-2px)}
}
@media(prefers-reduced-motion:reduce){
 .catalog-card.reveal,.catalog-card:hover,.catalog-card .catalog-photo img,.catalog-card:hover .catalog-photo img,.catalog-link span,.catalog-card:hover .catalog-link span,.catalog-card:focus-within .catalog-link span,.fleet-filter button:hover,.fleet-filter button:active{transform:none;scale:1;transition:none}
 .card-details[open]>.included-list,.card-details[open]>.addon-list,.card-details[open]>p{animation:none}
}
.catalog-opening{position:relative;isolation:isolate;overflow:hidden;background:#0d3948;color:#f5f0df}
.catalog-opening .page-heading,.catalog-opening .catalog-intro-line{position:relative;z-index:1}
.catalog-opening .page-heading h1{max-width:980px;text-shadow:0 2px 40px #031a2630}
.catalog-opening .page-heading em{color:#edcf97}
.catalog-opening .page-heading p:not(.eyebrow){color:#d2e7e3}
.catalog-opening .eyebrow{color:#e8c78c}
.catalog-opening .catalog-intro-line{color:#cee3df;border-color:#d2e7e330}
.fleet-atmosphere{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 78% 100%,#27898155,transparent 65%)}
.fleet-halo{position:absolute;border-radius:50%;opacity:.6;animation:fleet-tide 14s ease-in-out infinite alternate;animation-play-state:paused}
.halo-sea{width:80%;height:170%;right:-20%;top:-65%;background:radial-gradient(ellipse,#4db3a550,transparent 67%)}
.halo-sun{width:65%;height:140%;left:-24%;bottom:-100%;background:radial-gradient(ellipse,#dcb87955,transparent 67%);animation-direction:alternate-reverse;animation-duration:18s}
.fleet-orbit{position:absolute;width:740px;height:740px;right:-220px;top:-310px;border:1px solid #e4ca9324;border-radius:50%;transform:rotate(-25deg) scaleX(.72);animation:fleet-orbit-drift 22s ease-in-out infinite alternate;animation-play-state:paused}
.fleet-orbit:after{content:'';position:absolute;inset:34px;border:1px solid #83c4bb25;border-radius:50%}
.orbit-inner{width:540px;height:540px;right:-120px;top:-215px;animation-direction:alternate-reverse}
.atmosphere-visible .fleet-halo,.atmosphere-visible .fleet-orbit{animation-play-state:running}
@keyframes fleet-tide{from{transform:translate3d(-4%,2%,0) scale(.92)}to{transform:translate3d(10%,-9%,0) scale(1.16)}}
@keyframes fleet-orbit-drift{from{transform:rotate(-25deg) scaleX(.72) translateY(0)}to{transform:rotate(15deg) scaleX(.85) translateY(30px)}}
.fleet-scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#78bcb2,#e9c78a);z-index:60;pointer-events:none;transform:scaleX(0);transform-origin:left}
.catalog-card.reveal{position:relative;isolation:isolate;transform-origin:center 70%;transition:transform .55s cubic-bezier(.16,1,.3,1)}
.catalog-card:before{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(ellipse 450px 350px at var(--glare-x,50%) var(--glare-y,30%),#fff9df28,transparent 70%);opacity:0;transition:opacity .3s;border-radius:inherit}
.catalog-card.pointer-active:before{opacity:1}
.catalog-photo:after{content:'';position:absolute;inset:-30% -60%;pointer-events:none;background:linear-gradient(110deg,transparent 35%,#fff9db30 49%,transparent 62%);transform:translate3d(-65%,0,0);opacity:0;z-index:1}
.catalog-card.is-arriving .catalog-photo:after{animation:fleet-sun-sweep .85s cubic-bezier(.22,.6,.3,1) both}
@keyframes fleet-sun-sweep{0%{opacity:0;transform:translate3d(-65%,0,0)}25%{opacity:.85}100%{opacity:0;transform:translate3d(65%,0,0)}}
.catalog-link span{display:grid;place-items:center;width:42px;height:42px;border:1px solid #315f6330;border-radius:50%;transition:transform .4s cubic-bezier(.16,1,.3,1),background .3s,color .3s}
@media(min-width:761px) and (hover:hover) and (pointer:fine){
 .catalog-card:hover{transform:perspective(1500px) translate3d(0,-10px,0) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
 .catalog-card .catalog-photo img,.catalog-card:hover .catalog-photo img{transform:translate3d(0,var(--photo-drift,0px),0) scale(1.11)}
 .catalog-card:hover .catalog-link span{background:#174e57;color:#fff7e5;transform:translate(3px,-3px) rotate(5deg)}
}
@media(max-width:760px){
 .fleet-orbit{right:-450px;top:-290px}.orbit-inner{right:-350px;top:-190px}
 .halo-sea{width:160%;right:-65%}.halo-sun{width:150%;left:-70%}
 .catalog-card.is-arriving .catalog-photo:after{animation-duration:.65s}
 .catalog-link:active span{transform:scale(.92);background:#174e57;color:#fff7e5}
}
@media(prefers-reduced-motion:reduce){
 .fleet-halo,.fleet-orbit,.catalog-card.is-arriving .catalog-photo:after{animation:none}
 .catalog-card.reveal,.catalog-card:hover,.catalog-card .catalog-photo img,.catalog-card:hover .catalog-photo img,.catalog-card:hover .catalog-link span,.catalog-link:active span{transform:none;scale:1;transition:none}
 .catalog-card:before,.catalog-photo:after,.fleet-scroll-progress{display:none}
}
