/* The live offering catalogue uses the same Cassini colours, type and photographs. */
.header .desktop-nav{gap:24px}.header .desktop-nav a{font-size:0.875rem}.offerings-site .header{position:relative;background:var(--paper);color:var(--navy)}.offerings-site .co-main{overflow:clip}.co-main{--co-ink:var(--navy);--co-blue:var(--blue);--co-wash:var(--wash);--co-line:var(--line);color:var(--co-ink);background:var(--paper)}.co-main [hidden]{display:none!important}.co-main h1,.co-main h2,.co-main h3{font-family:Manrope,sans-serif;font-weight:500;line-height:1.08;letter-spacing:-.04em;margin:0}.co-main h1{font-size:clamp(2.75rem,5.8vw,5.5rem)}.co-main h2{font-size:clamp(2.125rem,4.1vw,3.75rem)}.co-main h3{font-size:1.625rem;letter-spacing:-.03em}.co-main em{font-family:Georgia,serif;font-style:normal;font-weight:400}.co-main p{font-size:1.0625rem;line-height:1.65}.co-main .co-kicker{font-size:0.75rem;font-weight:700;letter-spacing:.15em;line-height:1.5;text-transform:uppercase;margin:0 0 20px}.co-main .button{font-size:0.875rem;min-height:50px;display:inline-flex;justify-content:center;align-items:center;gap:20px;text-decoration:none}.co-main a:focus-visible,.co-main button:focus-visible,.co-main input:focus-visible,.co-main select:focus-visible{outline:3px solid var(--focus);outline-offset:5px}.co-actions{display:flex;flex-wrap:wrap;gap:12px}.co-outline{border:1px solid #1b406550;background:transparent;color:var(--navy)}.co-light{background:#f7fbfff2;color:var(--navy)}.co-text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;color:var(--navy);font-size:0.875rem;font-weight:700;text-decoration:none;border-bottom:1px solid #1b406550;padding-bottom:7px}.co-text-link:hover{color:var(--link);border-color:currentColor}.co-main .co-small{font-size:0.875rem;line-height:1.65}.co-main .co-gap{margin-top:90px}.co-gap-link{margin-top:35px}
.co-home-hero{min-height:650px;height:min(760px,82vh);position:relative;isolation:isolate;display:flex;align-items:center;background:#153a50;color:#fff}.co-home-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#091f2eab 0%,#091f2e40 65%),linear-gradient(0deg,#091f2e70,transparent 35%);z-index:-1}.co-hero-poster,.co-home-hero .co-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.co-home-hero .co-hero-video{z-index:-2;opacity:0;transition:opacity .4s}.co-home-hero .co-hero-video.is-playing{opacity:1}.co-hero-copy{padding:60px 6% 100px;width:100%;max-width:1100px}.co-home-hero h1{font-size:clamp(3.75rem,7.8vw,6rem);line-height:1.02;color:#fff}.co-hero-copy>p:not(.co-kicker){margin:26px 0 32px;color:#f4f8fa;font-size:1.1875rem}.co-hero-foot{position:absolute;bottom:30px;left:6%;right:6%;display:flex;gap:30px;align-items:center;border-top:1px solid #ffffff45;padding-top:20px;font-size:0.75rem;letter-spacing:.12em}.co-hero-foot a{color:white;text-decoration:none;margin-left:auto;margin-right:130px}.co-video-toggle{position:absolute;right:6%;bottom:24px;display:flex;gap:12px;align-items:center;padding:9px 12px;border:1px solid #ffffff80;background:#12334880;color:#fff;font-size:0.75rem}.co-section{padding:88px 6%}.co-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:42px}.co-section-heading>p{max-width:390px;margin:0;font-size:1rem}.co-tinted{background:var(--co-wash)}
.co-pathways{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.co-pathway{position:relative;min-height:440px;overflow:hidden;color:white;text-decoration:none;display:flex;align-items:flex-end;background:var(--navy)}.co-pathway>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}.co-pathway:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#102a43f5,#102a431a 90%)}.co-pathway>div{position:relative;z-index:1;padding:30px 24px}.co-main .co-pathway h3{font-size:1.6875rem;color:white;line-height:1.15}.co-main .co-pathway p{font-size:0.875rem;color:#e7f0f5;line-height:1.6;min-height:68px}.co-path-number{display:block;font-size:0.8125rem;letter-spacing:.15em;margin-bottom:70px}.co-path-action{display:block;border-top:1px solid #ffffff50;padding-top:18px;margin-top:22px;font-size:0.8125rem;font-weight:600}.co-pathway:hover>img{transform:scale(1.035)}.co-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.co-card{min-width:0;background:white;border:1px solid var(--line);display:flex;flex-direction:column}.co-card-image{position:relative;display:block;overflow:hidden;background:#d3e4ea}.co-card-image img{display:block;width:100%;height:auto;object-fit:cover;transition:transform .45s}.co-card:hover .co-card-image img{transform:scale(1.025)}.co-pill{position:absolute;bottom:18px;left:18px;background:#f7fbfff2;padding:8px 12px;color:var(--navy);font-size:0.75rem;font-weight:700}.co-card-body{padding:28px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.co-card-body .co-kicker{font-size:0.75rem;margin-bottom:13px}.co-card h3 a{color:inherit;text-decoration:none}.co-card h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.co-main .co-card-body>p:not(.co-kicker){font-size:1rem;line-height:1.65;margin:18px 0 26px}.co-card .co-text-link{margin-top:auto;font-size:0.8125rem}.co-empty{display:flex;gap:30px;align-items:flex-start;padding:46px;background:white;border:1px solid var(--co-line)}.co-empty-icon{width:66px;height:66px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font:2.875rem Georgia,serif;background:#e7f4f7;color:var(--focus);border-radius:50%}.co-empty>div{max-width:730px}.co-empty .co-kicker{margin-bottom:15px}.co-empty p:not(.co-kicker){margin:16px 0 22px}.co-empty h3{font-size:2rem}.co-boat-panel{display:grid;grid-template-columns:1.1fr 1fr;background:var(--co-wash);color:var(--co-ink)}.co-boat-panel>img{width:100%;height:100%;min-height:490px;object-fit:cover}.co-boat-panel>div{padding:80px 12%;align-self:center}.co-boat-panel h2{color:var(--co-ink)}.co-boat-panel p:not(.co-kicker){color:var(--muted);margin:26px 0 30px}
.co-page-header{padding:75px 6% 65px;background:var(--co-wash);border-bottom:1px solid var(--co-line)}.co-page-header h1{font-size:clamp(2.75rem,5.5vw,5rem)}.co-page-header>p:last-child{max-width:610px;margin:26px 0 0}.co-hub-body{padding-top:55px}.co-filters{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:26px}.co-filters>label{display:flex;flex-direction:column;gap:9px;font-size:0.75rem;font-weight:700;letter-spacing:.04em;min-width:230px}.co-filters input,.co-filters select{min-height:48px;border:1px solid var(--line);background:white;padding:10px 14px;border-radius:0;color:var(--navy);font:400 1rem 'DM Sans',sans-serif;max-width:100%}.co-main .co-result-count{font-size:0.8125rem;color:var(--muted);margin:0 0 28px}.co-filter-empty{padding:40px;border:1px solid var(--line)}.co-filter-empty button{border:0;background:transparent;color:var(--focus);text-decoration:underline;font:inherit}.co-banner{display:flex;justify-content:space-between;gap:40px;align-items:center;background:var(--wash);padding:60px 6%}.co-banner h2{font-size:2.75rem}.co-banner p{margin-bottom:0}.co-banner .co-kicker{margin:0 0 12px}.co-banner .co-actions{flex-shrink:0}.co-departure{display:flex;gap:28px;align-items:center;background:white;border:1px solid var(--co-line);padding:26px;margin-bottom:16px}.co-date{width:85px;text-align:center;flex-shrink:0;border-right:1px solid var(--co-line);padding-right:25px}.co-date span{display:block;text-transform:uppercase;font-size:0.75rem;letter-spacing:.06em}.co-date strong{display:block;font-size:2.375rem;font-weight:500;line-height:1.25}.co-departure-copy{flex:1}.co-departure-copy .co-kicker{font-size:0.75rem;margin-bottom:8px}.co-departure-copy h3{font-size:1.625rem}.co-departure-copy a{text-decoration:none;color:inherit}.co-departure-copy p:last-child{font-size:0.8125rem;margin:10px 0 0}.co-departure-action{text-align:right;display:flex;flex-direction:column;gap:14px}.co-departure-action strong{font-size:1rem;font-weight:600}
.co-split-hero{display:grid;grid-template-columns:1fr 1fr;min-height:580px;background:var(--co-wash)}.co-split-hero>div{padding:65px 11% 65px 12%;align-self:center}.co-split-hero>img{height:100%;min-height:580px;width:100%;object-fit:cover}.co-split-hero h1{font-size:clamp(2.5rem,4.6vw,4.375rem)}.co-split-hero>div>p:not(.co-kicker){margin:25px 0 30px}.co-split-hero .button{margin-top:4px}.co-hero-note{display:block;font-size:0.8125rem;line-height:1.6;margin-top:20px}.co-back-link{display:inline-block;font-size:0.8125rem;color:var(--navy);text-decoration:none;margin-bottom:35px;border-bottom:1px solid #1b406550;padding-bottom:5px}.co-experience-hero .co-kicker{font-size:0.75rem}.co-three-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.co-three-notes article{border-top:1px solid var(--line);padding-top:20px}.co-three-notes span{font-size:0.8125rem;display:block;margin-bottom:30px}.co-three-notes p{font-size:1rem}.co-story{max-width:980px}.co-story p{line-height:1.8}.co-interest.cassini-booking-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:80px 6%;background:var(--paper)}.co-interest>div:first-child{align-self:center}.co-interest h2{font-size:clamp(2rem,3.8vw,3.375rem)}.co-interest p:not(.co-kicker){max-width:500px}.co-interest .gform_footer{margin-top:24px}.co-status{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.co-status strong{font-size:1.125rem}.co-status p{font-size:1rem}.co-main .co-ticket-price{font-size:1.5rem;font-weight:600;margin-bottom:0!important}.co-editor-content{margin-bottom:40px;max-width:900px}.co-interest .gform_wrapper .gform_validation_errors{margin-bottom:24px}
@media(min-width:801px) and (max-width:1150px){.header .desktop-nav{display:none}.header .menu-toggle{display:block}.header .mobile-nav{display:block}.header .mobile-nav[hidden]{display:none}.header .mobile-nav{top:100%}}
@media(max-width:1100px){.co-pathways{grid-template-columns:repeat(2,minmax(0,1fr))}.co-pathway{min-height:390px}.co-path-number{margin-bottom:50px}.co-pathway p{min-height:0!important}.co-grid{gap:20px}.co-card-body{padding:22px}.co-main .co-card h3{font-size:1.4375rem}.co-section-heading{align-items:flex-start;gap:25px}.co-section-heading>p{max-width:300px}.co-banner{align-items:flex-start;flex-direction:column}.co-filters{align-items:flex-start;flex-wrap:wrap}.co-interest.cassini-booking-section{gap:5%}.co-departure{gap:20px}}
@media(max-width:800px){.co-home-hero{height:700px;min-height:0;max-height:900px}.co-hero-copy{padding:60px 6% 120px}.co-home-hero h1{font-size:5rem}.co-section{padding:60px 6%}.co-section-heading{flex-direction:column;margin-bottom:32px}.co-section-heading>p{max-width:580px}.co-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.co-boat-panel{grid-template-columns:1fr}.co-boat-panel>img{height:400px;min-height:0}.co-boat-panel>div{padding:50px 6%}.co-page-header{padding:55px 6%}.co-split-hero{grid-template-columns:1fr}.co-split-hero>div{padding:45px 6%}.co-split-hero h1{max-width:650px;font-size:3.625rem}.co-split-hero>img{height:380px;min-height:0;object-position:center 40%}.co-split-hero .co-back-link{margin-bottom:24px}.co-interest.cassini-booking-section{grid-template-columns:1fr;padding:55px 6%;gap:25px}.co-interest .cb-panel{padding:28px}.co-departure{flex-wrap:wrap;align-items:flex-start}.co-departure-copy{min-width:180px}.co-departure-action{width:100%;flex-direction:row;justify-content:space-between;align-items:center;border-top:1px solid var(--co-line);padding-top:20px}.co-three-notes{gap:24px}.co-empty{padding:30px}.co-main .co-gap{margin-top:60px}.co-hero-foot>span{display:none}.co-hero-foot a{margin-left:0}.co-hero-copy>p:not(.co-kicker){font-size:1.0625rem}.co-three-notes h3{font-size:1.4375rem}}
@media(max-width:540px){.header .button.small{font-size:0.75rem;padding:11px;gap:9px}.header-actions{gap:14px}.co-home-hero{height:650px}.co-home-hero h1{font-size:3.8125rem;letter-spacing:-.04em}.co-main .co-kicker{font-size:0.75rem;letter-spacing:.12em}.co-hero-copy>p:not(.co-kicker){font-size:1rem}.co-home-hero .co-actions{flex-direction:column;align-items:flex-start}.co-home-hero .button{min-width:220px}.co-main .button{font-size:0.8125rem;min-height:48px}.co-pathways{grid-template-columns:1fr;gap:20px}.co-pathway{min-height:360px}.co-pathway>div{width:100%;padding:25px}.co-path-number{margin-bottom:45px}.co-main .co-pathway h3{max-width:260px;font-size:1.875rem}.co-main .co-pathway p{max-width:280px}.co-grid{grid-template-columns:1fr;gap:25px}.co-main .co-card h3{font-size:1.6875rem}.co-card-body{padding:26px}.co-empty{display:block;padding:26px}.co-empty-icon{margin-bottom:24px;width:50px;height:50px;font-size:2.375rem}.co-empty h3{font-size:1.75rem}.co-empty p:not(.co-kicker){font-size:1rem}.co-main .co-section-heading h2{font-size:2.375rem}.co-section-heading>p{font-size:1rem}.co-page-header h1,.co-split-hero h1{font-size:2.75rem}.co-page-header>p:last-child,.co-split-hero>div>p:not(.co-kicker){font-size:1rem}.co-filters{gap:22px}.co-filters>label{width:100%}.co-split-hero>img{height:300px}.co-banner{padding:45px 6%}.co-banner h2{font-size:2.3125rem}.co-banner .co-actions{flex-direction:column;align-items:flex-start}.co-banner p{font-size:1rem}.co-three-notes{grid-template-columns:1fr;gap:28px}.co-three-notes span{margin-bottom:20px}.co-three-notes p{margin-bottom:0}.co-departure{padding:20px;gap:16px}.co-date{width:64px;padding-right:15px}.co-date strong{font-size:2rem}.co-departure-copy{min-width:150px}.co-departure-copy h3{font-size:1.4375rem}.co-departure-action{flex-wrap:wrap;text-align:left;gap:12px}.co-interest .cb-panel{padding:24px 20px}.co-interest h2{font-size:2.375rem}.co-back-link{font-size:0.75rem}.co-main .co-hero-note{font-size:0.75rem}.co-main .co-empty .co-kicker{font-size:0.75rem}.co-home-hero .co-kicker{max-width:260px}.co-hero-foot{font-size:0.75rem}.co-hero-foot a{margin-right:80px}.co-video-toggle{font-size:0.75rem}.co-story{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.co-pathway:hover>img,.co-card:hover .co-card-image img{transform:none}}
/* Event listings and Brevo signups. */
@media(min-width:1101px){.co-pathways{grid-template-columns:repeat(3,minmax(0,1fr))}}
.co-interest{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding:85px 7%;background:var(--wash);align-items:center}
.co-interest>div{min-width:0}
.co-interest h2{font-size:clamp(2.25rem,4vw,3.5rem);line-height:1.12;margin:14px 0 22px}
.co-interest p{line-height:1.75}.co-signup-panel{padding:30px;background:#fff;border:1px solid var(--co-line);border-radius:5px}
.co-signup-panel h3{font-size:1.625rem}.co-signup-panel a,.co-small a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.co-signup-panel .co-kicker{font-size:0.75rem;margin-bottom:14px;letter-spacing:.11em}.co-signup-panel h3{font-size:2rem}.co-signup-form{position:relative;display:grid;gap:16px;margin-top:28px}.co-signup-label{font-size:0.8125rem;font-weight:700}.co-signup-email{width:100%;min-width:0;min-height:56px;padding:14px 16px;border:1px solid var(--control-border);border-radius:3px;background:var(--paper);color:var(--navy);font:inherit;font-size:1rem}.co-signup-email::placeholder{color:var(--muted);opacity:1}.co-signup-form .co-signup-email{margin:0}.co-signup-choice{display:flex;align-items:flex-start;gap:11px;font-size:0.8125rem;line-height:1.6;cursor:pointer}.co-signup-choice input{flex:none;width:18px;height:18px;min-height:0;margin:2px 0 0;accent-color:var(--navy)}.co-signup-form .co-signup-submit{width:100%;justify-content:space-between;min-height:54px;margin:4px 0 0;padding:14px 20px;border:0;border-radius:3px;background:var(--navy);color:#fff;font:inherit;font-size:0.875rem;font-weight:600;cursor:pointer}.co-signup-submit:hover{background:var(--navy-hover)}.co-signup-submit:disabled{opacity:.65;cursor:wait}.co-signup-form .co-signup-consent{margin:0;font-size:0.8125rem;line-height:1.7;color:var(--muted)}.co-signup-panel .co-signup-feedback{margin:24px 0 0;padding:18px;font-size:1rem;line-height:1.6;border:1px solid var(--line);background:var(--wash)}.co-signup-feedback.is-error{border-color:var(--error);background:var(--error-surface);color:var(--error)}.co-signup-panel .co-signup-preview{margin:18px 0 0;font-size:0.8125rem;color:var(--muted)}.co-signup-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.co-departure-action .co-small{font-size:0.8125rem}
#corporate,#updates{scroll-margin-top:105px}
@media(max-width:800px){.co-interest{grid-template-columns:1fr;gap:30px;padding:55px 6%}.co-signup-panel{padding:24px}}
@media(max-width:540px){.co-signup-panel{padding:18px 12px}}

.co-experience-charter .co-actions{flex-direction:column;align-items:flex-start;gap:22px}

/* Optional charter extras. */
.co-extras{margin-top:64px;padding:44px;background:var(--co-wash);border:1px solid var(--co-line)}
.co-extras-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:36px}
.co-extras-heading h2{font-size:clamp(2rem,3.2vw,2.875rem);line-height:1.12}
.co-extras-heading .co-kicker{margin-bottom:18px}
.co-extras-heading>p{max-width:330px;margin:0;font-size:1rem;color:var(--muted)}
.co-extras-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;list-style:none;margin:0;padding:0}
.co-extras-list>li{list-style:none;border-top:1px solid var(--line);padding-top:22px;min-width:0}
.co-extra-number{display:block;font-size:0.75rem;letter-spacing:.12em;color:var(--muted);margin-bottom:22px}
.co-extras-list h3{font-size:1.4375rem;line-height:1.25;letter-spacing:-.025em}
.co-extras-list p{font-size:1rem;line-height:1.65;margin:12px 0 0;color:var(--muted);max-width:290px}
.co-extras-footer{display:flex;justify-content:space-between;align-items:center;gap:28px;border-top:1px solid var(--co-line);padding-top:24px;margin-top:32px}
.co-extras-footer p{font-size:0.8125rem;line-height:1.6;margin:0;color:var(--muted)}
.co-extras-footer .co-text-link{flex-shrink:0;font-size:0.8125rem}
@media(max-width:800px){
  .co-extras{padding:32px;margin-top:48px}
  .co-extras-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:30px}
  .co-extras-heading>p{max-width:480px}
  .co-extras-list{gap:22px}
  .co-extras-list h3{font-size:1.3125rem}
}
@media(max-width:540px){
  .co-extras{padding:28px 24px;margin-top:36px}
  .co-extras-heading h2{font-size:2.25rem}
  .co-extras-heading>p{font-size:1rem}
  .co-extras-list{grid-template-columns:1fr;gap:24px}
  .co-extras-list>li{padding-top:20px}
  .co-extra-number{margin-bottom:12px}
  .co-extras-list h3{font-size:1.4375rem}
  .co-extras-footer{align-items:flex-start;flex-direction:column;gap:20px;margin-top:28px}
}

/* What's On: public dates and experiences, followed by private charters. */
.co-whats-on-hero{padding:64px 6%;background:var(--co-wash);border-bottom:1px solid var(--co-line)}
.co-whats-on-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:6%;align-items:center;min-width:0;padding:20px 0}
.co-whats-on-intro h1{font-size:clamp(2.875rem,5.4vw,5rem)}
.co-whats-on-summary>p:not(.co-whats-on-note){max-width:560px;margin:0 0 30px}
.co-whats-on-intro .co-actions{align-items:center;gap:22px}
.co-whats-on-intro .co-text-link{font-size:0.8125rem;gap:14px}
.co-whats-on-summary>p.co-whats-on-note{font-size:0.8125rem;line-height:1.7;margin:24px 0 0;color:var(--muted)}
#public-experiences,#public-dates,#past-events{scroll-margin-top:32px}
.co-past-events{border-top:1px solid var(--co-line)}
.co-departure-with-image{display:grid;grid-template-columns:minmax(180px,25%) 85px minmax(0,1fr);column-gap:28px;row-gap:20px}
.co-departure-image{grid-column:1;grid-row:1 / 3;min-width:0;background:var(--co-wash)}
.co-departure-image img{display:block;width:100%;height:auto;aspect-ratio:2 / 1;object-fit:contain}
.co-departure-with-image .co-date{grid-column:2;grid-row:1 / 3}
.co-departure-with-image .co-departure-copy{grid-column:3;min-width:0}
.co-departure-with-image .co-departure-action{grid-column:3;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;text-align:left}
@media(max-width:800px){
  .co-departure-with-image{grid-template-columns:64px minmax(0,1fr);gap:20px}
  .co-departure-image{grid-column:1 / -1;grid-row:1}
  .co-departure-with-image .co-date{grid-column:1;grid-row:2;width:64px;padding-right:15px}
  .co-departure-with-image .co-departure-copy{grid-column:2;grid-row:2}
  .co-departure-with-image .co-departure-action{grid-column:1 / -1;grid-row:3}
}
.co-public-experiences .co-section-heading{margin-bottom:32px}
.co-main .co-public-experience-total{font-size:0.8125rem;margin:0 0 24px;color:var(--muted)}
.co-public-experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--layout-grid-gap);list-style:none;padding:0;margin:0}
.co-public-experience-grid>li{display:flex;min-width:0;list-style:none;padding:0;margin:0}
.co-public-experience-grid .co-card{width:100%}
.co-public-experience-grid .co-card h3{font-size:1.625rem}
.co-public-dates{border-top:1px solid var(--co-line)}
@media(max-width:1100px){
  .co-whats-on-hero{padding-block:45px}
  .co-whats-on-intro .co-actions{align-items:flex-start;flex-direction:column;gap:20px}
}
@media(max-width:800px){
  .co-public-experience-grid{grid-template-columns:minmax(0,1fr)}
  .co-whats-on-hero{padding:40px 6%}
  .co-whats-on-intro{grid-template-columns:1fr;gap:26px;padding:0}
  .co-whats-on-intro h1{font-size:clamp(3rem,8vw,4rem)}
  .co-whats-on-summary>p:not(.co-kicker){font-size:1rem}
  .co-whats-on-summary>p.co-whats-on-note{font-size:0.8125rem}
  .co-whats-on-intro .co-actions{flex-direction:row;align-items:center}
}
@media(max-width:540px){
  .co-whats-on-hero{padding-block:36px}
  .co-whats-on-intro .co-actions{flex-direction:column;align-items:flex-start}
  .co-whats-on-summary>p:not(.co-whats-on-note){margin:0 0 26px}
  .co-whats-on-summary>p.co-whats-on-note{margin:22px 0 0}
  .co-public-experience-grid .co-card-body{padding:24px}
  .co-public-experience-grid .co-card h3{font-size:1.5625rem}
}

/* Experience photo gallery */
.co-photo-gallery{background:var(--wash)}
.co-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.co-gallery-photo{margin:0;overflow:hidden;background:#dce8ee;aspect-ratio:4/3}
.co-gallery-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.co-gallery-photo:hover img{transform:scale(1.025)}
@media(max-width:700px){.co-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}}

/* Full-size photo viewer */
.co-gallery-open{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.co-gallery-open:focus-visible{outline:3px solid var(--focus);outline-offset:-4px}
.co-gallery-lightbox{width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:auto;padding:0;overflow:hidden;border:0;border-radius:0;background:#061725;color:#fff;box-shadow:none}
.co-gallery-lightbox::backdrop{background:rgba(2,10,17,.9);backdrop-filter:blur(10px)}
.co-lightbox-shell{display:grid;grid-template-rows:68px minmax(0,1fr) 48px;width:100%;height:100%;padding:0 max(28px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left));background:radial-gradient(ellipse at 50% 42%,#163149 0%,#0a1d2d 42%,#06121d 100%)}
.co-lightbox-header{display:grid;grid-template-columns:1fr auto 48px;align-items:center;gap:24px;border-bottom:1px solid #ffffff1c}
.co-lightbox-brand,.co-lightbox-location,.co-lightbox-count{margin:0}
.co-lightbox-brand{font-size:0.75rem;font-weight:700;letter-spacing:.18em;color:#fff}
.co-lightbox-brand span{font-size:0.75rem;font-weight:400;letter-spacing:.16em;color:#a9bfcc;margin-left:6px}
.co-lightbox-location{font-size:0.75rem;letter-spacing:.2em;color:#a9bfcc}
.co-lightbox-location i{font-style:normal;color:#78b9d4;margin:0 8px}
.co-lightbox-close,.co-lightbox-nav{display:grid;place-items:center;width:48px;height:48px;min-height:48px;padding:0;border:1px solid #ffffff50;border-radius:50%;background:#ffffff0b;color:#fff;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.co-lightbox-close:hover,.co-lightbox-nav:hover:not(:disabled){background:#ffffff20;border-color:#ffffffa0;transform:scale(1.04)}
.co-lightbox-close:focus-visible,.co-lightbox-nav:focus-visible{outline:3px solid #8dd2eb;outline-offset:3px}
.co-lightbox-close svg,.co-lightbox-nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.co-lightbox-stage{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden;padding:16px 72px}
.co-lightbox-stage figure{display:grid;place-items:center;width:100%;height:100%;margin:0;min-width:0;min-height:0}
.co-lightbox-image{display:block;box-sizing:border-box;width:auto;height:auto;max-width:min(100%,calc(100vw - 184px),1440px);max-height:calc(100vh - 208px);max-height:calc(100dvh - 208px);object-fit:contain;border:1px solid #ffffff24;border-radius:7px;box-shadow:0 22px 80px #0009;animation:co-lightbox-reveal .24s ease-out both}
.co-lightbox-nav{position:absolute;top:50%;z-index:1;transform:translateY(-50%);background:#0617258c;backdrop-filter:blur(8px)}
.co-lightbox-nav:hover:not(:disabled){transform:translateY(-50%) scale(1.04)}
.co-lightbox-previous{left:0}.co-lightbox-next{right:0}
.co-lightbox-nav:disabled{opacity:.3;cursor:default}
.co-lightbox-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;border-top:1px solid #ffffff1c}
.co-lightbox-progress{height:1px;background:#ffffff28;overflow:hidden}
.co-lightbox-progress span{display:block;height:100%;background:#8dc7df;transition:width .3s ease}
.co-lightbox-count{font:500 0.75rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;color:#e6f1f6}
@keyframes co-lightbox-reveal{from{opacity:.7;transform:scale(.992)}to{opacity:1;transform:scale(1)}}
@media(max-width:600px){.co-lightbox-shell{grid-template-rows:58px minmax(0,1fr) 48px;padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}.co-lightbox-header{grid-template-columns:1fr 44px;gap:10px}.co-lightbox-location{display:none}.co-lightbox-brand{font-size:0.75rem}.co-lightbox-brand span{font-size:0.75rem}.co-lightbox-close{width:42px;height:42px;min-height:42px}.co-lightbox-stage{grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr) 48px;gap:0 12px;padding:4px 0 16px}.co-lightbox-stage figure{grid-column:1/-1;grid-row:1}.co-lightbox-image{max-width:calc(100vw - 36px);max-height:calc(100vh - 190px);max-height:calc(100dvh - 190px)}.co-lightbox-nav{position:static;width:46px;height:46px;min-height:46px;transform:none}.co-lightbox-nav:hover:not(:disabled){transform:scale(1.04)}.co-lightbox-previous{grid-column:1;grid-row:2;justify-self:start}.co-lightbox-next{grid-column:2;grid-row:2;justify-self:end}.co-lightbox-nav svg{width:18px;height:18px}.co-lightbox-footer{gap:16px}}
@media(prefers-reduced-motion:reduce){.co-lightbox-image{animation:none}.co-lightbox-close,.co-lightbox-nav,.co-lightbox-progress span{transition:none}}
/* Experience pages use the existing photographs as full-bleed editorial covers. */
.co-experience-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);min-height:clamp(600px,50vw,720px);overflow:hidden;background:#071b2c;color:var(--paper)}
.co-experience-hero>img{position:absolute;inset:0;z-index:-1;display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:62% 42%}
.co-experience-hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,#061725ed 0%,#08253ee0 27%,#0a2b46a6 49%,#0a2b4636 76%,transparent 100%),linear-gradient(0deg,#061725a8 0%,transparent 30%)}
.co-experience-hero .co-experience-hero-copy{position:relative;z-index:1;align-self:stretch;width:100%;max-width:850px;min-height:0;padding:clamp(90px,10vw,145px) clamp(24px,7vw,104px) 125px;display:flex;flex-direction:column;align-items:flex-start}
.co-private-hero .co-experience-hero-copy{max-width:930px}
.co-private-hero .co-private-hero-video{z-index:-1;object-position:62% 42%}
.co-experience-hero .co-back-link{margin:0 0 30px;padding:0;border:0;color:#e0edf3;font-size:0.8125rem;transition:color .2s ease}
.co-experience-hero .co-back-link:hover{color:#fff}
.co-experience-hero .co-kicker{display:flex;align-items:center;gap:11px;margin:0 0 20px;color:#95d8ed;font-size:0.75rem;letter-spacing:.16em}
.co-experience-hero .co-kicker::before{content:"";display:block;width:27px;height:1px;background:currentColor}
.co-experience-hero h1{max-width:690px;color:#fff;font-size:clamp(3.25rem,5.8vw,5.25rem);line-height:.98;letter-spacing:-.04em;text-wrap:balance}
.co-private-hero h1{max-width:780px;font-size:clamp(3.25rem,5.1vw,4.625rem)}
.co-private-hero h1 em{color:#b8e2f0}
.co-experience-hero .co-experience-hero-intro{max-width:520px;margin:24px 0 30px;color:#e0ebf1;font-size:1rem;line-height:1.65;text-wrap:pretty}
.co-experience-hero .co-experience-hero-action{margin:0;min-height:52px;padding:15px 22px;gap:30px}
.co-experience-hero .co-experience-hero-action span{font-size:1.125rem;line-height:1}
.co-experience-hero-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px 15px;margin-top:20px;color:#e3eef3;font-size:0.8125rem;line-height:1.5}
.co-experience-hero-meta strong{display:inline-flex;align-items:center;gap:9px;font-weight:700}
.co-experience-hero-meta strong::before{content:"";width:6px;height:6px;border-radius:50%;background:#92d9ee}
.co-experience-hero-meta>span{color:#c9dce5}
.co-experience-hero-meta>span::before{content:"·";margin-right:15px;color:#9dc4d3}
.co-experience-hero .co-experience-hero-foot{position:absolute;left:clamp(24px,7vw,104px);right:clamp(24px,7vw,104px);bottom:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:73px;margin:0;padding:18px 0;border-top:1px solid #ffffff5c;align-self:auto}
.co-experience-hero-foot>span{color:#d9e8ef;font-size:0.75rem;font-weight:700;letter-spacing:.14em}
.co-experience-hero-foot>span span{margin:0 8px;color:#9fc8d7}
.co-experience-hero-foot a{display:inline-flex;align-items:center;gap:16px;color:#fff;font-size:0.8125rem;font-weight:700;text-decoration:none}
.co-experience-hero-foot a .co-experience-hero-explore-short{display:none}
.co-experience-hero-foot a:hover{text-decoration:underline;text-underline-offset:5px}
.co-experience-hero-foot a span[aria-hidden="true"]{font-size:1.125rem;line-height:1}
.co-experience-anchor{display:block;height:0;scroll-margin-top:24px}
@media(max-width:800px){
  .co-experience-hero{min-height:660px}
  .co-experience-hero .co-experience-hero-copy{padding:62px 6% 110px}
  .co-experience-hero h1{font-size:clamp(3rem,8vw,4.375rem)}
  .co-experience-hero>img{object-position:60% center}
  .co-experience-hero .co-experience-hero-foot{left:6%;right:6%}
}
@media(max-width:540px){
  :is(.single-cassini_experience,.co-private-charters-page) .header{height:108px}
  :is(.single-cassini_experience,.co-private-charters-page) .header .brand{width:96px;height:92px}
  :is(.single-cassini_experience,.co-private-charters-page) .header-contact-actions .button.small{display:none}
  :is(.single-cassini_experience,.co-private-charters-page) .header .menu-toggle{margin-bottom:0}
  :is(.single-cassini_experience,.co-private-charters-page) .mobile-nav{top:100%}
  .co-experience-hero{min-height:clamp(575px,70svh,630px)}
  .co-experience-hero::after{background:linear-gradient(90deg,#061725ed 0%,#08253ed1 48%,#0a2b4652 100%),linear-gradient(0deg,#061725b0 0%,transparent 38%)}
  .co-experience-hero .co-experience-hero-copy{padding:42px 6% 110px}
  .co-experience-hero .co-back-link{margin-bottom:25px;font-size:0.75rem}
  .co-experience-hero .co-kicker{margin-bottom:14px;font-size:0.75rem}
  .co-experience-hero h1{max-width:350px;font-size:clamp(2.375rem,10.8vw,3.125rem)}
  .co-experience-hero .co-experience-hero-intro{max-width:340px;margin:20px 0 26px;font-size:1rem;line-height:1.62}
  .co-experience-hero .co-experience-hero-action{min-height:50px}
  .co-experience-hero-meta{display:block;max-width:320px;margin-top:18px;font-size:0.75rem}
  .co-experience-hero-meta strong{display:flex}
  .co-experience-hero-meta>span{display:block;margin:4px 0 0 15px}
  .co-experience-hero-meta>span::before{display:none}
  .co-experience-hero .co-experience-hero-foot{min-height:64px;padding:16px 0}
  .co-experience-hero-foot>span{font-size:0.75rem;letter-spacing:.11em}
  .co-experience-hero-place .co-experience-hero-place-prefix{display:none}
  .co-experience-hero-foot a{gap:9px;font-size:0.75rem}
  .co-experience-hero-foot a .co-experience-hero-explore-long{display:none}
  .co-experience-hero-foot a .co-experience-hero-explore-short{display:inline}
  .co-experience-hero-foot a span[aria-hidden="true"]{font-size:1rem}
}

.co-gallery-carousel-controls{display:none}
@media(max-width:700px){
  .co-gallery-grid{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:2px}
  .co-gallery-grid::-webkit-scrollbar{display:none}
  .co-gallery-photo{flex:0 0 82%;width:82%;scroll-snap-align:start;scroll-snap-stop:always}
  .co-gallery-carousel-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:16px;margin-top:14px}
  .co-gallery-carousel-controls button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #1b406533;border-radius:50%;background:transparent;color:var(--navy);cursor:pointer;transition:background .2s ease,border-color .2s ease}
  .co-gallery-carousel-controls button:hover:not(:disabled){background:#fff;border-color:#1b406580}
  .co-gallery-carousel-controls button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
  .co-gallery-carousel-controls button:disabled{opacity:.35;cursor:default}
  .co-gallery-carousel-controls svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  .co-gallery-carousel-center{display:grid;grid-template-columns:auto minmax(36px,1fr);align-items:center;gap:12px}
  .co-gallery-carousel-center>[data-gallery-position]{font:500 0.75rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;white-space:nowrap;color:#31546a}
  .co-gallery-carousel-progress{height:1px;background:#1b406526;overflow:hidden}
  .co-gallery-carousel-progress span{display:block;width:0;height:100%;background:var(--blue);transition:width .25s ease}
}
@media(prefers-reduced-motion:reduce){.co-gallery-carousel-controls button,.co-gallery-carousel-progress span{transition:none}}
/* A restrained push-in keeps the hero photo moving without shifting its crop abruptly. */
.co-experience-hero>img{transform-origin:61% 45%;animation:co-experience-image-drift 36s ease-in-out infinite alternate;will-change:transform}
@keyframes co-experience-image-drift{from{transform:scale(1.015) translate3d(0,0,0)}to{transform:scale(1.065) translate3d(-.3%,-.2%,0)}}
@media(prefers-reduced-motion:reduce){.co-experience-hero>img{animation:none;transform:none;will-change:auto}}

.experience-detail .adventure-questions .faq-list summary{font-size:1.25rem}

/* Practical details in the private experience story need their own reading rhythm. */
.experience-detail .experience-practical{margin:0 0 2rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.experience-detail .experience-practical>h3{margin:0 0 .75rem;font-family:var(--display);font-size:1.375rem;font-weight:600;line-height:1.3;letter-spacing:-.02em}
.experience-detail .experience-practical>div{max-width:65ch;overflow-wrap:anywhere}
.experience-detail .experience-practical p,.experience-detail .experience-practical li{font-size:1.0625rem;line-height:1.8}
.experience-detail .experience-practical p{margin:0 0 1rem}
.experience-detail .experience-practical ul,.experience-detail .experience-practical ol{margin:0 0 1rem;padding-left:1.5em;list-style:disc outside}
.experience-detail .experience-practical ol{list-style-type:decimal}
.experience-detail .experience-practical li{margin:0 0 .5rem;padding:0}
.experience-detail .experience-practical>div>:last-child{margin-bottom:0}

/* Optional experience details: an editorial summary that also works with one saved fact. */
.co-experience-details{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(50px,7vw,120px);background:var(--wash)}
.co-experience-details-heading{max-width:380px}
.co-experience-details .co-kicker{color:var(--link);margin-bottom:21px}
.co-experience-details h2{font-size:clamp(2.625rem,4.2vw,3.875rem);line-height:1.05;max-width:360px}
.co-experience-details-heading>p:not(.co-kicker){max-width:340px;margin:21px 0 0;color:var(--muted);font-size:1rem;line-height:1.7}
.co-experience-details-heading .co-facts-editor-hint{display:none}
.co-experience-details .co-facts{display:block;min-width:0;margin:0;border-bottom:1px solid var(--line)}
.co-experience-details .co-fact{display:grid;grid-template-columns:minmax(120px, .38fr) minmax(0, 1fr);gap:24px;padding:26px 0 29px;border-top:1px solid var(--line)}
.co-experience-details .co-fact dt{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:0;border:0;color:#244e68;font-size:0.75rem;font-weight:700;letter-spacing:.11em;line-height:1.4;text-transform:uppercase}
.co-fact-number{color:var(--link);font:500 0.75rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em}
.co-experience-details .co-fact dd{min-width:0;margin:0;color:#173d5b;font:500 clamp(1.125rem,1.7vw,1.375rem)/1.5 Manrope,sans-serif;letter-spacing:-.025em;overflow-wrap:break-word}
.co-experience-details .co-fact dd p{font:inherit;letter-spacing:inherit;margin:0 0 .7em}
.co-experience-details .co-fact dd p:last-child{margin-bottom:0}
.co-experience-details .co-fact dd ul,.co-experience-details .co-fact dd ol{font:inherit;letter-spacing:inherit;list-style:disc outside;margin:.35em 0 .75em;padding-left:1.4em}
.co-experience-details .co-fact dd ol{list-style-type:decimal}
.co-experience-details .co-fact dd li{font:inherit;letter-spacing:inherit;list-style:inherit;margin:.2em 0;padding:0}
.co-experience-details .co-fact dd :last-child{margin-bottom:0}
@media(max-width:900px){.co-experience-details{grid-template-columns:1fr;gap:38px}.co-experience-details-heading{max-width:560px}.co-experience-details h2{max-width:none}}
@media(max-width:600px){.co-experience-details{gap:28px}.co-experience-details h2{font-size:2.375rem}.co-experience-details-heading>p:not(.co-kicker){font-size:1rem;margin-top:16px}.co-experience-details .co-fact{display:block;padding:22px 0 24px}.co-experience-details .co-fact dt{flex-direction:row;align-items:center;gap:14px}.co-experience-details .co-fact dd{margin-top:13px;font-size:1.1875rem}}

/* Reading, action and metadata roles stay consistent across the catalogue. */
.co-main p{font-size:var(--type-reading);text-wrap:pretty}
.co-main .co-kicker{font-size:var(--type-label);letter-spacing:.12em}
.co-main .co-card-body>.co-kicker,.co-signup-panel .co-kicker{font-size:var(--type-label)}
.co-main .co-card-body>p:not(.co-kicker),.co-main .co-pathway p,.co-extras-list p,.co-experience-details-heading>p:not(.co-kicker){font-size:var(--type-body);line-height:1.7}
.co-main .co-small,.co-main .co-whats-on-note,.co-signup-form .co-signup-consent,.co-signup-panel .co-signup-preview{font-size:var(--type-note);line-height:1.7}
.co-main .co-text-link,.co-main .co-back-link,.co-main .co-path-action,.co-main .button{font-size:var(--type-action);line-height:1.5}
.co-main :is(.co-text-link,.co-back-link){padding-block:10px}
.co-main .co-experience-hero .co-back-link{padding-block:4px}
.co-main .co-hero-foot,.co-main .co-experience-hero-foot>span{font-size:var(--type-label);line-height:1.6;letter-spacing:.08em}
.co-hero-foot a{padding-block:6px;letter-spacing:.04em}
.co-main .co-video-toggle{font-size:var(--type-label);line-height:1.5}
.co-main .co-hero-copy>p:not(.co-kicker){max-width:52ch;line-height:1.75;letter-spacing:.005em}
.co-main .co-experience-hero-intro{font-size:var(--type-body);line-height:1.75;letter-spacing:.005em}
/* Keep the introduction's entered line breaks and blank lines in both hero layouts. */
.co-experience-hero-intro,.experience-detail .adventure-hero-copy>p{white-space:pre-line}
.co-story :is(p,ul,ol),.co-editor-content :is(p,ul,ol){max-width:var(--type-measure);line-height:1.8}
.co-story p+p,.co-editor-content p+p{margin-top:1em}
.co-main .co-date,.co-main [data-gallery-position],.co-main .co-lightbox-count{font-variant-numeric:tabular-nums}
.co-main .co-filters>label,.co-signup-label,.co-signup-choice{font-size:var(--type-action);line-height:1.6}
.co-main .co-filters :is(input,select){font-size:var(--type-body)}
.co-signup-email::placeholder{color:var(--muted)}
.co-main .co-lightbox-brand,.co-main .co-lightbox-brand span,.co-main .co-lightbox-location{font-size:var(--type-label);line-height:1.5;letter-spacing:.08em}
@media(max-width:540px){
 .co-main .co-hero-copy>p:not(.co-kicker){font-size:var(--type-body)}
 .co-main .co-experience-hero-foot{flex-wrap:wrap;gap:10px 20px}
 .co-main .co-lightbox-brand span{display:block;margin-left:0}
}
/* Hero content grows with text settings; footer links keep their own row. */
.co-home-hero{display:grid;grid-template-rows:1fr auto;height:auto;min-height:clamp(650px,82vh,760px);max-height:none}
.co-hero-copy{align-self:center;padding-bottom:40px}
.co-hero-foot{position:relative;inset:auto;margin:0 6% 30px}
.co-experience-hero{grid-template-rows:1fr auto}
.co-experience-hero .co-experience-hero-copy{padding-bottom:40px}
.co-experience-hero .co-experience-hero-foot{position:relative;inset:auto;grid-row:2;margin-inline:clamp(24px,7vw,104px)}
@media(max-width:800px){.co-home-hero{min-height:700px}.co-experience-hero .co-experience-hero-foot{margin-inline:6%}}
@media(max-width:540px){
 .co-home-hero{min-height:650px}
 :is(.single-cassini_experience,.co-private-charters-page) .header{height:auto;min-height:108px}
}

/* Spatial roles: generous sections, grouped headings, compact card interiors. */
.co-section,
.co-interest,
.co-interest.cassini-booking-section{
  padding:var(--layout-section) var(--layout-gutter);
}
.co-main :is(h1,h2,h3){overflow-wrap:break-word}
.co-page-header,
.co-whats-on-hero{padding:var(--layout-section) var(--layout-gutter)}
.co-whats-on-intro{padding:0;gap:var(--layout-heading-gap)}
.co-section-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:var(--layout-heading-gap);
  margin-bottom:var(--layout-heading-gap);
}
.co-section-heading:has(>p){grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr)}
.co-section-heading>div{min-width:0}
.co-section-heading h2{max-width:22ch}
.co-section-heading>p{max-width:36ch}
.co-section-heading>.co-text-link{justify-self:end;max-width:100%}
.co-public-experiences .co-section-heading{margin-bottom:var(--layout-heading-gap)}
.co-grid{gap:var(--layout-grid-gap)}
.co-card-body{padding:var(--layout-panel)}
.co-card-body>*{max-width:100%}
.co-card h3 a{hyphens:auto}
.co-main .co-card-body>p:not(.co-kicker){margin:1rem 0 1.5rem}

/* Homepage sections retain clear boundaries when upcoming dates are absent. */
.co-home-pathways,.co-home-charters + .co-google-reviews{background:var(--surface)}
.co-home-upcoming{background:var(--paper);border-top:1px solid var(--line)}
.co-home-charters{background:var(--wash);border-block:1px solid var(--line)}

/* Experience cards keep one native link across their image and copy. */
.co-experience-rows{grid-template-columns:minmax(0,1fr)}
.co-charter-groups{display:grid;gap:var(--layout-section)}
.co-charter-group{min-width:0;scroll-margin-top:105px}
.co-main .co-charter-group>h2{margin:0 0 var(--layout-heading-gap);font-size:clamp(2rem,3.8vw,3.25rem);line-height:1.15}
.co-card-row{
  --card-wash:0;
  --card-zoom:1;
  --card-arrow-shift:0px;
  --card-arrow-surface:var(--wash);
  transition:border-color .2s ease-out;
}
.co-card-row .co-card-link{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(0,3fr);
  flex:1;
  color:inherit;
  text-decoration:none;
}
.co-card-row .co-card-image{min-height:0;height:auto}
.co-card-row .co-card-link .co-card-image img{
  transform:scale(var(--card-zoom));
  transition:transform .4s cubic-bezier(.16,1,.3,1);
}
.co-card-row .co-card-body{
  position:relative;
  isolation:isolate;
  justify-content:center;
  padding:clamp(2rem,4vw,3.5rem);
}
.co-card-row .co-card-body::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:var(--selected);
  transform:scaleX(var(--card-wash));
  transform-origin:left;
  transition:transform .35s cubic-bezier(.16,1,.3,1);
}
.co-card-row .co-text-link{margin-top:0;padding:0;border:0;gap:1rem}
/* Home and private charter lists pair photo-led cards in two columns. */
.co-experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.co-experience-grid .co-card-link{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}
.co-experience-grid .co-card-body{justify-content:flex-start;padding:var(--layout-panel)}
.co-experience-grid .co-text-link{margin-top:auto}
/* Charter photographs share a frame so card titles align across each row. */
.co-experience-grid .co-card-image{aspect-ratio:3/2}
.co-experience-grid .co-card-link .co-card-image img{height:100%;object-fit:cover}
.co-card-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  width:44px;
  height:44px;
  border-radius:50%;
  color:var(--ink);
  background:var(--card-arrow-surface);
  transition:background-color .2s ease-out;
}
.co-card-arrow svg{
  width:22px;
  height:22px;
  transform:translateX(var(--card-arrow-shift));
  transition:transform .3s cubic-bezier(.16,1,.3,1);
}
.co-card-row:focus-within{
  --card-wash:1;
  --card-zoom:1.04;
  --card-arrow-shift:3px;
  --card-arrow-surface:var(--blue);
  border-color:var(--link);
}
@media(hover:hover) and (pointer:fine){
  .co-card-row:hover{
    --card-wash:1;
    --card-zoom:1.04;
    --card-arrow-shift:3px;
    --card-arrow-surface:var(--blue);
    border-color:var(--link);
  }
}
@media(max-width:640px){
  .co-experience-grid{grid-template-columns:minmax(0,1fr)}
  .co-card-row .co-card-link{grid-template-columns:minmax(0,1fr)}
  .co-card-row .co-card-body{padding:var(--layout-panel)}
}
@media(prefers-reduced-motion:reduce){
  .co-card-row .co-card-link .co-card-image img,.co-card-row .co-card-arrow svg{transform:none;transition:none}
  .co-card-row .co-card-body::before{transform:none;opacity:var(--card-wash);transition:opacity .15s ease-out}
}

/* The two main ways aboard sit together, then stack on smaller screens. */
.co-pathways{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--layout-grid-gap)}
.co-pathway{min-height:28rem}
.co-pathway>div{
  width:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:var(--layout-panel);
}
.co-main .co-pathway p{min-height:0;max-width:42ch;margin:1rem 0 0}
.co-path-action{margin-top:1.5rem;padding-top:1rem}

/* Media and copy share the page edge; controls occupy their own layout space. */
.co-hero-copy{max-width:none;padding:var(--layout-section) var(--layout-gutter) 3rem}
.co-hero-foot{
  margin:0 var(--layout-gutter) 1.5rem;
  padding-top:1.5rem;
  gap:1.5rem;
  flex-wrap:wrap;
}
.co-hero-foot a{margin:0 0 0 auto}
.co-home-hero .co-video-toggle{
  position:static;
  flex-shrink:0;
  min-height:44px;
  padding:.625rem .75rem;
}
.co-experience-hero .co-experience-hero-copy{
  max-width:calc(43rem + var(--layout-gutter));
  padding-inline:var(--layout-gutter) 2rem;
}
.co-private-hero .co-experience-hero-copy{max-width:calc(49rem + var(--layout-gutter))}
.co-experience-hero .co-experience-hero-foot{margin-inline:var(--layout-gutter)}
.co-boat-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.co-boat-panel>div{
  min-width:0;
  padding:var(--layout-section) var(--layout-gutter) var(--layout-section) clamp(2rem,5vw,5rem);
}
.co-boat-panel .co-actions{align-items:center;gap:1rem 1.5rem}
.co-boat-panel .button{max-width:100%;white-space:normal}
.co-home-boat>.co-home-boat-copy{padding-block:clamp(3rem,5vw,4.5rem)}
.co-main .co-home-boat h2{max-width:20ch;font-size:clamp(2rem,3.5vw,3.25rem)}
.co-main .co-home-boat-copy>p{max-width:48ch;margin:1.25rem 0 0;line-height:1.75}
.co-home-boat-copy>.co-actions{margin-top:2rem;gap:.75rem 1.5rem}
.co-interest{gap:var(--layout-heading-gap);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.co-interest h2{margin:0 0 1.5rem}
.co-signup-panel{padding:var(--layout-panel)}

/* The calendar's empty state is a compact group, with both onward paths visible. */
.co-empty{padding:var(--layout-panel);gap:1.5rem}
.co-empty>div{min-width:0;max-width:65ch}
.co-empty .co-actions{align-items:center;gap:.5rem 1.5rem}
.co-filters{justify-content:flex-start;gap:1.5rem}
.co-filters>label{flex:1;min-width:min(100%,16rem);max-width:26rem}
.co-filters input,.co-filters select{width:100%;min-width:0}
.co-departure-copy{min-width:0}
.co-departure-copy h3{overflow-wrap:anywhere}
.co-departure-action{flex-shrink:0;max-width:100%}
.co-departure-action .button{max-width:100%;white-space:normal}
.co-extras{margin-top:var(--layout-section);padding:var(--layout-panel)}
.co-extras-heading{gap:var(--layout-heading-gap);margin-bottom:2rem}
.co-extras-list{gap:var(--layout-grid-gap)}

@media(max-width:1100px){
  .co-main .co-pathway h3{font-size:1.5rem}
  .co-main .co-pathway p{min-height:0}
}
@media(max-width:900px){
  .co-section-heading,
  .co-section-heading:has(>p){grid-template-columns:minmax(0,1fr);gap:1.5rem}
  .co-section-heading>p{max-width:60ch}
  .co-section-heading>.co-text-link{justify-self:start}
  .co-pathways{grid-template-columns:minmax(0,1fr)}
  .co-pathway{min-height:20rem}
  .co-main .co-pathway h3{font-size:1.875rem;max-width:24ch}
  .co-main .co-pathway p{min-height:0;max-width:42ch}
  .co-pathway>div{max-width:36rem}
}
@media(max-width:800px){
  .co-hero-copy{padding-block:3.5rem 2.5rem}
  .co-hero-foot a{margin:0 auto 0 0}
  .co-experience-hero .co-experience-hero-copy{padding-right:var(--layout-gutter)}
  .co-boat-panel,.co-interest{grid-template-columns:minmax(0,1fr)}
  .co-boat-panel>img{height:auto;aspect-ratio:1.6;min-height:0}
  .co-boat-panel>div{padding:var(--layout-section) var(--layout-gutter)}
  .co-departure-action{gap:1rem;flex-wrap:wrap}
}
@media(max-width:540px){
  .co-pathway{min-height:22rem}
  .co-pathway>div{max-width:none}
  .co-main .co-pathway h3{max-width:none}
  .co-home-hero .co-actions{align-items:stretch;max-width:24rem}
  .co-home-hero .co-actions .button{min-width:0}
  .co-empty{padding:1.5rem}
  .co-main .co-gap{margin-top:var(--layout-section)}
}

/* Navy marks the invitation to stay in touch; the form keeps its light surface. */
.co-interest{background:var(--navy);color:var(--on-dark);--focus:var(--accent-on-dark)}
.co-interest>div:first-child>p{color:var(--muted-on-dark)}
.co-signup-panel{background:var(--surface);color:var(--navy);border-color:var(--surface);--focus:var(--link)}
.co-signup-form .co-signup-submit{background:var(--blue);color:var(--ink);box-shadow:inset 0 0 0 1px var(--link)}
.co-signup-form .co-signup-submit:hover{background:var(--blue-hover)}
.co-signup-form .co-signup-submit:disabled{background:var(--selected);color:var(--navy);opacity:1;transform:none;box-shadow:inset 0 0 0 1px var(--control-border)}
.co-signup-panel .co-signup-feedback.is-success{color:var(--success);background:var(--success-surface);border-color:var(--success)}
.co-signup-panel .co-signup-feedback:focus{outline:3px solid var(--focus);outline-offset:4px}
.co-outline{border-color:var(--control-border)}
.co-outline:hover{background:var(--selected)}
.co-light:hover{background:var(--selected)}
.co-filters input::placeholder{color:var(--muted);opacity:1}
.co-filters :is(input,select){border-color:var(--control-border)}
.co-filter-empty button{color:var(--link)}
.co-text-link:hover{color:var(--link)}
.co-experience-hero .co-back-link:focus-visible{outline-color:var(--accent-on-dark)}

/* Formatting for the editable About this experience content. */
.co-public-events .co-story{max-width:none}
.co-public-events .co-story>div{max-width:72ch;margin-inline:auto;font-size:clamp(1rem,.95rem + .15vw,1.0625rem);line-height:1.75}
.co-public-events .co-story p{max-width:none;margin:0 0 1em;font-size:inherit;line-height:inherit}
.co-public-events .co-story>div>p:first-child{font-size:clamp(1.125rem,1.5vw,1.25rem);line-height:1.65;margin-bottom:1.2em}
.co-public-events .co-story h2{margin:2.5rem 0 1.25rem;padding-top:2rem;border-top:1px solid var(--line);font-size:clamp(1.75rem,2.8vw,2.5rem);line-height:1.2;letter-spacing:-.035em;text-wrap:balance}
.co-public-events .co-story h3{margin:1.75rem 0 .65rem;font-size:clamp(1.1875rem,1.8vw,1.375rem);font-weight:600;line-height:1.35;letter-spacing:-.02em}
.co-public-events .co-story h2+h3{margin-top:0}
.co-public-events .co-story :is(ul,ol){max-width:none;margin:.75rem 0 1.5rem;padding-left:1.4em;font-size:inherit;line-height:inherit;list-style:disc outside}
.co-public-events .co-story ol{list-style-type:decimal}
.co-public-events .co-story li{padding-left:.2em;margin:.45em 0;font-size:inherit;line-height:inherit}
.co-public-events .co-story :is(p,li) em{font-family:inherit;font-style:italic;font-weight:inherit}
.co-public-events .co-story a{color:var(--link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
.co-public-events .co-story>div>:first-child{margin-top:0;padding-top:0;border-top:0}
.co-public-events .co-story>div>:last-child{margin-bottom:0}
@media(max-width:600px){.co-public-events .co-story h2{margin-top:2rem;padding-top:1.5rem}}

/* An optional paragraph style from the experience WYSIWYG format menu. */
.single-cassini_experience #main p.cassini-feature-text{font-size:1.25rem;line-height:1.65}
