/* Loaded only for listings with owner feature slots. */
.business-breadcrumbs{padding-block:22px}
.business-breadcrumbs .breadcrumbs{margin:0}
.business-hero{position:relative;isolation:isolate;min-height:620px;display:flex;align-items:flex-end;background:var(--deep);color:white;overflow:hidden;margin:0 24px;border-radius:18px}
.business-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%;z-index:-2}
.business-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 15%,rgba(5,35,40,.25) 40%,rgba(5,35,40,.94) 100%)}
.business-hero-inner{width:1160px;margin:0 auto;padding:64px 40px 40px}
.business-kicker{font-size:13px;letter-spacing:.15em;text-transform:uppercase;color:#e1efeb;margin:0 0 18px}
.business-hero h1{font-size:clamp(48px,6.4vw,92px);line-height:1;letter-spacing:-.045em;max-width:900px;color:white;font-weight:600}
.business-logo{display:inline-flex;background:white;padding:12px;border-radius:12px;margin-bottom:24px}
.business-logo img{width:68px;height:68px;object-fit:contain}
.business-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:32px}
.business-hero .listing-actions{margin:0;gap:20px}
.business-hero .listing-actions a{background:none;color:white;border:0;padding:12px 0;font-size:13px;min-height:44px}
.owner-booking-cta a{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 26px;border-radius:7px;background:var(--coral);color:white;font-weight:700;text-decoration:none}
.business-editorial{max-width:1080px;padding-top:28px}
.business-editorial>p.fine:first-child{max-width:760px;margin:0 auto 48px;font-size:11px}
.business-editorial .owner-about{max-width:780px;margin:64px auto 36px;padding-left:28px;border-left:2px solid var(--lagoon)}
.owner-about h2{font-size:16px;font-family:var(--sans);margin-bottom:16px}
.owner-about p{font-family:var(--serif);font-size:28px;line-height:1.5;color:var(--deep)}
.business-gallery,.business-video{margin:64px 0}
.business-gallery h2,.business-video h2{font-size:38px;margin:10px 0 24px}
.business-gallery>div{display:grid;grid-template-columns:1.65fr 1fr;gap:16px;align-items:end}
.prose .business-gallery img{width:100%;height:380px;object-fit:cover;border-radius:10px;margin:0}
.prose .business-gallery img:first-child{height:500px}
.prose .business-gallery img:nth-child(2){object-position:55% 45%;height:340px}
.business-video>p{font-size:13px}
.business-video button{width:100%;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px;background:radial-gradient(ellipse at 70% 0,#327a7d,transparent 65%),var(--deep);color:white;border-radius:12px;white-space:normal}
.play-mark{display:grid;place-items:center;width:70px;height:70px;border:1px solid #a7ceca;border-radius:50%;font-size:34px}
.business-video button>span:last-child{max-width:420px;font-size:14px}
.business-video iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:12px}
.featured-review{margin:72px auto;max-width:780px;text-align:center}
.featured-review blockquote{border:0;margin:24px 0;padding:0}
.featured-review blockquote p{font-family:var(--serif);font-size:34px;line-height:1.35;color:var(--deep)}
.featured-review cite{display:block;font:500 12px var(--sans);letter-spacing:.08em;color:var(--lagoon);margin-top:22px}
.business-social-row{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:32px 0 64px}
.business-social-row a{display:flex;align-items:center;gap:10px;min-width:48px;min-height:48px;padding:12px 18px;border:1px solid #b9ceca;border-radius:999px;text-decoration:none;color:var(--deep);font-size:13px}
.business-social-row a:hover{background:var(--foam)}
.business-promo{position:relative;background:var(--deep);color:#e0efeb;border-radius:14px;padding:48px;margin:64px 0;overflow:hidden}
.business-promo:before{content:"";position:absolute;right:-70px;top:-100px;width:280px;height:280px;border:1px solid #427477;border-radius:50%;pointer-events:none}
.business-promo .eyebrow{color:#9cd7ce}
.business-promo h2{font-family:var(--serif);font-size:44px;line-height:1.12;color:white;max-width:560px;margin:20px 0}
.business-promo>p{max-width:600px}
.business-promo .subform{display:flex;flex-direction:column;gap:12px;max-width:560px;background:#f5f5ee;padding:20px;border-radius:9px;color:var(--deep);margin-top:28px}
.business-promo input{width:100%;min-width:0;box-sizing:border-box;min-height:48px}
.business-promo button{min-height:48px;white-space:normal}
.business-promo .fine{font-size:11px;color:#c2d8d4;max-width:560px}
.business-promo a{color:#c2e8df}
.business-promo [hidden]{display:none}
.promo-code strong{display:block;margin-top:12px;width:fit-content;max-width:100%;padding:16px 24px;background:#e4f3ed;color:var(--deep);border-radius:6px;font:600 26px var(--sans);letter-spacing:.08em;overflow-wrap:anywhere}
.pricing-verified{font-size:12px;color:var(--deep);padding:12px 0;border-top:1px solid #cfddd8}
.business-editorial>.quick-facts{font-size:13px}
.business-editorial>h2{font-size:25px}
.business-editorial>.price-table,.business-editorial table{font-size:12px}
.business-editorial>.source-note{margin-top:32px}

@media(max-width:600px){.business-breadcrumbs{padding-block:14px}
.business-hero{margin:0 10px;min-height:570px;border-radius:10px}
.business-hero-photo{object-position:49% 35%}
.business-hero-inner{padding:210px 22px 26px}
.business-kicker{font-size:10px;letter-spacing:.1em;line-height:1.7}
.business-hero h1{font-size:52px}
.business-hero-actions{gap:10px;margin-top:24px;display:block}
.business-hero .owner-booking-cta a{width:100%;box-sizing:border-box}
.business-hero .listing-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px}
.business-hero .listing-actions a{font-size:11px}
.business-editorial{padding-top:20px}
.business-editorial>p.fine:first-child{margin-bottom:36px}
.business-editorial .owner-about{margin:40px 0;padding-left:18px}
.owner-about h2{font-size:13px}
.owner-about p{font-size:23px}
.business-gallery,.business-video{margin:44px 0}
.business-gallery h2,.business-video h2{font-size:30px}
.business-gallery>div{grid-template-columns:1fr;gap:12px}
.prose .business-gallery img:first-child{height:330px}
.prose .business-gallery img:nth-child(2){height:190px;object-position:50% 40%}
.business-video button{min-height:240px;padding:24px}
.featured-review{margin:48px 0}
.featured-review blockquote p{font-size:27px}
.business-social-row{gap:8px;margin-bottom:44px}
.business-social-row a{padding:12px}
.business-promo{padding:28px 22px;margin:44px 0}
.business-promo h2{font-size:36px}
.business-promo .subform{padding:14px}
.business-promo>p{font-size:14px}
.business-promo .fine{font-size:11px}
}

.prose .business-promo>p{color:#e0efeb}
.prose .business-promo>.fine{color:#c2d8d4}
.prose .business-promo a{color:#c2e8df}
.prose .business-promo h2{font-size:44px;color:white}
.prose .owner-about h2{font:600 14px var(--sans);letter-spacing:.04em}
.prose .business-gallery h2,.prose .business-video h2{font-size:38px}
@media(max-width:600px){.prose .business-promo h2{font-size:36px}
.prose .business-gallery h2,.prose .business-video h2{font-size:30px}
}

@media(min-width:800px){.business-promo{display:grid;grid-template-columns:1fr 1fr;column-gap:48px;align-items:start}
.business-promo>.eyebrow{grid-column:1/-1}
.business-promo>h2,.business-promo>p:not(.fine){grid-column:1}
.business-promo>.subform{grid-column:2;grid-row:2/5;margin-top:24px;width:100%;box-sizing:border-box}
.business-promo>.fine{grid-column:2}
.business-promo>p.promo-code{grid-column:1;grid-row:5}
}

.listing-feature {
  --feature-deep: #0d3446;
  --feature-ink: #153d45;
  --feature-water: #d9efeb;
  --feature-accent: #5ad0c6;
  --feature-sand: #f6e7cf;
  --feature-cream: #fcf5e9;
  --feature-rule: #153d4530;
  --feature-gutter: clamp(20px, 5vw, 72px);
  --feature-pad: clamp(56px, 8vw, 120px);
  --feature-shadow: 0 16px 32px #0d34461a;
  color: var(--feature-ink);
  background: var(--feature-cream);
}
.listing-feature .business-breadcrumbs { padding-block: 14px; }
.listing-feature .breadcrumbs ol { margin-bottom: 0; font-size: 12px; }
.feature-inner {
  width: min(100%, 1360px);
  margin-inline: auto;
  padding-inline: var(--feature-gutter);
}
.feature-section, .feature-content > .feature-close { padding-block: var(--feature-pad); }
.feature-kicker {
  color: #295b62;
  font: 700 .72rem/1.5 var(--sans);
  letter-spacing: .2em;
  text-transform: uppercase;
  margin: 0 0 14px;
}
.feature-section h2, .feature-close h2 {
  color: inherit;
  font: 600 clamp(2.45rem, 5vw, 4.9rem)/.99 var(--serif);
  letter-spacing: -.055em;
  margin: 0 0 28px;
}
.feature-credit { color: #36535a; font-size: 12px; margin: 16px 0 0; }
.feature-source, .feature-claim a { color: inherit; text-decoration: underline; text-underline-offset: .24em; }
.listing-feature .feature-book {
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 12px 30px;
  border-radius: 999px;
  background: var(--feature-accent);
  color: #103544;
  font-weight: 700;
  white-space: nowrap;
}
.listing-feature .feature-book:hover { background: #86ded3; }
.listing-feature .business-hero {
  min-height: clamp(675px, max(77svh, 53vw), 1100px);
  margin: 0;
  border-radius: 0;
  align-items: stretch;
}
.listing-feature .business-hero-photo { object-position: 53% top; }
.listing-feature .business-hero:after {
  background:
    radial-gradient(ellipse 90% 44% at 10% 30%, #081f2b82, transparent 96%),
    linear-gradient(180deg, #0b293b74 0%, #081f2b54 31%, #081f2b4a 40%, transparent 59%, transparent 92%, #081f2b83 100%);
}
.listing-feature .business-hero-inner {
  width: min(100%, 1360px);
  padding: clamp(18px, 3svh, 34px) var(--feature-gutter) 36px;
}
.feature-hero-copy { margin-top: clamp(40px, 5.5svh, 66px); }
.listing-feature .business-hero h1 {
  max-width: 1100px;
  margin: 0;
  font-size: clamp(3.5rem, 6.25vw, 6.9rem);
  letter-spacing: -.058em;
  line-height: .97;
  text-shadow: 0 2px 24px #081f2b8c;
}
.listing-feature .business-kicker {
  color: var(--feature-sand);
  font: 700 clamp(1.12rem, 1.65vw, 1.55rem)/1.4 var(--sans);
  letter-spacing: .18em;
  margin: 0 0 16px;
  text-shadow: 0 2px 8px #081f2b, 0 0 28px #081f2b;
}
.listing-feature .business-kicker:after {
  content: "";
  display: block;
  width: 44px;
  height: 2px;
  margin-top: 13px;
  background: #f6e7cf;
}
.feature-hero-logo {
  display: block;
  width: clamp(216px, 21vw, 304px);
  height: auto;
  filter: drop-shadow(0 2px 5px #081f2b80);
}
.feature-deck { color: #fff8ec; font: 500 clamp(1.2rem, 2.25vw, 1.7rem)/1.3 var(--serif); margin: 14px 0 0; text-shadow: 0 2px 12px #081f2b; }
.feature-hero-booking { background: #0d3446; padding-block: 14px; }
.feature-actions, .feature-actions > div { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 20px; }
.feature-actions > div a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #fff9ef;
  font-size: 14px;
  text-decoration: underline;
  text-decoration-color: #fff9ef8c;
  text-underline-offset: .25em;
}
.feature-actions > div a:hover { text-decoration-color: currentColor; }
.feature-hero-credit {
  position: absolute;
  z-index: 1;
  right: var(--feature-gutter);
  bottom: 18px;
  color: #e3eeec;
  font-size: 11px;
  margin: 0;
  text-shadow: 0 1px 6px #081f2b;
}
.feature-quick {
  background: linear-gradient(110deg, #0d3446, #164a50);
  border-top: 1px solid #71b7ae55;
  padding-block: 32px 38px;
}
.feature-quick .feature-kicker { color: #b7e3da; margin-bottom: 20px; }
.feature-quick dl {
  display: grid;
  grid-template-columns: .85fr 1fr 1.12fr .9fr 1.35fr;
  gap: 20px 24px;
  margin: 0;
}
.feature-quick dl > div { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 11px; align-items: start; }
.feature-quick svg { color: #8bd9cd; margin-top: 3px; }
.feature-quick dt { color: #bce2dd; font-size: 12px; font-weight: 600; }
.feature-quick dd { color: #fff7e9; font-size: clamp(.84rem, 1.3vw, 1.05rem); font-weight: 700; line-height: 1.45; margin: 2px 0 0; }

.feature-about {
  background: radial-gradient(ellipse at 13% 10%, #fff6e6, transparent 72%),
              linear-gradient(126deg, #f5e6cd, #f2e2c9);
}
.feature-details {
  background: radial-gradient(ellipse at 10% 10%, #fff9ef, transparent 65%),
              radial-gradient(ellipse at 96% 83%, #e8d5b764, transparent 75%), var(--feature-cream);
}
.feature-story {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(40px, 8vw, 112px);
}
.feature-story h2 { max-width: 9.5em; }
.feature-story blockquote {
  color: #285961;
  max-width: 23ch;
  border-left: 2px solid #287478;
  padding-left: 24px;
  margin: 34px 0 0;
  font: italic 500 clamp(1.55rem, 2.5vw, 2.55rem)/1.19 var(--serif);
  letter-spacing: -.025em;
}
.feature-story-copy { max-width: 65ch; }
.feature-story-copy p { font-size: clamp(1rem, 1.35vw, 1.16rem); line-height: 1.68; margin: 0 0 18px; }
.feature-story-copy p:first-child { color: #173f48; font: 500 clamp(1.25rem, 1.85vw, 1.66rem)/1.46 var(--serif); }
.feature-audience { margin-top: 28px; }
.feature-audience h3 { color: #295b62; font: 700 .72rem/1.5 var(--sans); letter-spacing: .17em; text-transform: uppercase; margin: 0 0 10px; }
.feature-audience ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.feature-audience li { padding: 6px 12px; border: 1px solid var(--feature-rule); border-radius: 999px; font-size: 12px; font-weight: 600; }

.feature-captain { background: linear-gradient(133deg, #dcece5, #edf3e7 80%); }
.feature-captain-with-photo {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(32px, 6vw, 88px);
}
.feature-captain-with-photo > figure { margin: 0; }
.feature-captain-photo {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 24px;
  box-shadow: var(--feature-shadow);
}
.feature-captain h2 { font-size: clamp(2.5rem, 5.1vw, 5rem); margin-bottom: 12px; }
.feature-captain-role { margin: 0 0 24px; color: #295b62; font-weight: 700; }
.feature-captain-story { max-width: 52ch; font-size: clamp(1rem, 1.3vw, 1.15rem); line-height: 1.65; margin: 0; }
.feature-captain-quote { margin: 26px 0 0; border-left: 2px solid #287478; padding-left: 20px; }
.feature-captain-quote blockquote { margin: 0; }
.feature-captain-quote blockquote p { margin: 0; font: italic 500 clamp(1.24rem, 2vw, 1.8rem)/1.25 var(--serif); }
.feature-captain-quote figcaption { color: #295b62; font-size: .8rem; font-weight: 700; margin-top: 12px; }

.feature-tours {
  background: radial-gradient(ellipse at 25% 0%, #fcf3e1, transparent 70%), var(--feature-sand);
}
.feature-tours ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; list-style: none; margin: 36px 0 0; padding: 0; }
.feature-tour {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  background: #fffbf3;
  border-radius: 20px;
  box-shadow: var(--feature-shadow);
}
.feature-tour-photo { display: block; width: 100%; height: auto; aspect-ratio: 1.18; object-fit: cover; object-position: 50% 55%; }
.feature-tour:first-child img { object-position: 50% 72%; }
.feature-tour-copy { display: flex; flex: 1; flex-direction: column; padding: clamp(15px, 2vw, 24px); }
.feature-tour h3 { color: inherit; font: 600 clamp(1.3rem, 2vw, 1.88rem)/1.12 var(--serif); letter-spacing: -.027em; margin: 0; }
.feature-tour p { color: #46636a; font-size: 14px; margin: 9px 0 17px; }
.feature-tour-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin-top: auto;
  padding-top: 8px;
  border-top: 1px solid var(--feature-rule);
}
.feature-tour-bottom strong { font-size: 14px; }
.feature-tour-link { display: inline-flex; align-items: center; min-height: 44px; gap: 5px; color: #185962; font-size: 13px; font-weight: 700; text-decoration: none; }
.feature-tour-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.feature-tour-link svg { width: 17px; height: 17px; }

.feature-water { background: linear-gradient(140deg, #e8f3ec, var(--feature-water) 76%); }
.feature-photos {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  grid-auto-rows: clamp(164px, 22vw, 296px);
  gap: 12px;
  margin-top: 36px;
}
.feature-photos a { display: block; position: relative; overflow: hidden; border-radius: 20px; background: #aacfc9; }
.feature-photos a:first-child:not(:only-child) { grid-row: span 2; }
.feature-photos:has(a:nth-child(2):last-child) a:last-child { grid-row: span 2; }
.feature-photos a:hover { z-index: 1; box-shadow: 0 16px 28px #0d344634; }
.feature-photos img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 53%; }
.feature-photos a:first-child img { object-position: 50% 57%; }
.feature-lightbox { border: 0; padding: 0; color: #fff; background: #0d3446; border-radius: 20px; max-width: 94vw; max-height: 92vh; }
.feature-lightbox::backdrop { background: rgb(0 21 24 / .88); }
.feature-lightbox > div { position: relative; display: grid; place-items: center; min-width: min(420px, 90vw); }
.feature-lightbox img { max-width: min(88vw, 1050px); max-height: 85vh; display: block; }
.feature-lightbox button {
  position: absolute;
  z-index: 1;
  display: grid;
  place-items: center;
  padding: 0;
  width: 44px;
  height: 44px;
  border: 1px solid #ffffffa0;
  border-radius: 50%;
  background: var(--feature-deep);
  color: #fff;
  font: 30px/1 var(--sans);
  cursor: pointer;
}
.feature-lightbox [data-gallery-close] { top: 10px; right: 10px; }
.feature-lightbox [data-gallery-prev] { left: 10px; top: calc(50% - 22px); }
.feature-lightbox [data-gallery-next] { right: 10px; top: calc(50% - 22px); }

.feature-instagram {
  background: radial-gradient(ellipse at 85% 15%, #b8e4db, transparent 70%), #d0eae1;
  padding-block: clamp(40px, 6vw, 80px);
}
.feature-profile {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 24px 32px;
}
.feature-profile > div { min-width: 0; }
.feature-profile-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 18px; font-size: .88rem; }
.feature-profile h2 {
  font-size: clamp(1.9rem, 4.7vw, 4.6rem);
  margin: 0;
  overflow-wrap: anywhere;
}
.feature-profile-follow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 10px 18px;
  border-radius: 999px;
  color: var(--feature-deep);
  border: 1px solid #24585d;
  background: #f5faf3;
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
}
.feature-profile-follow:hover { background: #fffdf5; }
.feature-profile-follow img { display: block; width: 24px; height: auto; }
.feature-profile-follow svg { width: 20px; height: 20px; }
.feature-instagram h3 { margin: 32px 0 12px; }
.feature-instagram-posts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 12px; }
.feature-instagram-posts iframe { width: 100%; height: 470px; border: 0; }
.feature-instagram-posts img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 16px; }

.feature-reviews { background: radial-gradient(ellipse at 92% 10%, #205764, transparent 66%), var(--feature-deep); color: #fff7e9; }
.feature-reviews .feature-kicker { color: #aee5de; }
.feature-review-layout { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); align-items: center; gap: clamp(24px, 6vw, 84px); margin-block: 24px; }
.feature-review { margin: 0; }
.feature-review blockquote, .feature-review p { margin: 0; }
.feature-review p { font: 500 clamp(1.45rem, 2.55vw, 2.2rem)/1.16 var(--serif); }
.feature-callout p { font: italic 500 clamp(2.55rem, 5.6vw, 5.3rem)/.99 var(--serif); letter-spacing: -.045em; }
.feature-review figcaption { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 10px; margin-top: 20px; font-size: 13px; }
.feature-review figcaption a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.feature-stars { color: var(--feature-accent); letter-spacing: .12em; }
.feature-review-support { display: grid; gap: 26px; padding-left: clamp(24px, 4vw, 56px); border-left: 1px solid #d4f2ea55; }
.feature-reviews .feature-source { display: inline-flex; align-items: center; min-height: 44px; color: #c0efe7; font-size: 14px; }

.feature-details > .feature-inner { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(32px, 7vw, 92px); }
.feature-details h2 { font-size: clamp(2.2rem, 4vw, 3.85rem); margin-bottom: 24px; }
.feature-faq details { border-top: 1px solid var(--feature-rule); }
.feature-faq details:last-child { border-bottom: 1px solid var(--feature-rule); }
.feature-faq summary { padding: 14px 22px 14px 0; min-height: 48px; cursor: pointer; font-weight: 650; }
.feature-faq details p { margin: 0 0 16px; line-height: 1.65; }
.feature-faq details a { display: inline-block; font-size: 13px; white-space: nowrap; }
.feature-map { border-radius: 24px; overflow: hidden; background: #fff9ef; box-shadow: var(--feature-shadow); }
.feature-map-view { position: relative; background: #d6e4db; height: clamp(130px, 15vw, 205px); }
.feature-map-cover, .feature-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.feature-map-cover {
  display: grid;
  place-items: center;
  background: radial-gradient(ellipse at 65% 12%, #c5e7de, transparent 76%), linear-gradient(128deg, #efe9d8, #d5e6dd);
}
.feature-map-pin {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border: 2px solid #e1faf2;
  border-radius: 50%;
  background: var(--feature-deep);
  color: var(--feature-accent);
  box-shadow: 0 5px 15px #0d344654;
}
.feature-map iframe { border: 0; filter: saturate(.45); }
.feature-map-intro { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 4px 16px; padding: 12px 18px; }
.feature-map-intro p { margin: 0; font-size: 14px; font-weight: 700; }
.feature-map-intro > div { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; }
.feature-map-intro a, .feature-map button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; font-size: 13px; }
.feature-map button { cursor: pointer; background: var(--feature-water); color: var(--feature-ink); border: 0; border-radius: 999px; padding: 0 14px; font-family: var(--sans); font-weight: 700; }
.feature-map button[hidden], .feature-map-cover[hidden] { display: none; }

.feature-close {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: clamp(400px, 49vw, 650px);
  align-items: end;
  overflow: hidden;
  color: #fffaf1;
  background: var(--feature-deep);
}
.feature-close-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 80%; z-index: -2; }
.feature-close:after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, #081f2bf5 0%, #081f2b9e 36%, transparent 89%); }
.feature-close .feature-kicker { color: #c0efe7; }
.feature-close h2 { max-width: 16ch; font-size: clamp(2.7rem, 6vw, 5.9rem); }
.feature-claim { margin: 0; padding: 16px var(--feature-gutter); text-align: center; font-size: 12px; }
.feature-sticky { display: none; }

@media (prefers-reduced-motion: no-preference) {
  .listing-feature .business-hero-photo { animation: feature-photo-zoom 17s ease-out both; transform-origin: center top; }
  @keyframes feature-photo-zoom { from { transform: scale(1.01); } to { transform: scale(1.075); } }
  [data-feature-reveal].feature-entered { animation: feature-reveal .65s ease-out both; }
  @keyframes feature-reveal { from { opacity: .7; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
  .feature-photos a { transition: transform .22s ease, box-shadow .22s ease; }
  .feature-photos a:hover { transform: translateY(-4px); }
}
@media (max-width: 950px) {
  .feature-tours ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .feature-quick dl { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .feature-story, .feature-captain-with-photo, .feature-details > .feature-inner, .feature-review-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .feature-story h2 { margin-bottom: 18px; }
  .feature-story blockquote { margin-top: 18px; }
  .feature-review-support { padding: 24px 0 0; border-left: 0; border-top: 1px solid #d4f2ea55; }
}
@media (max-width: 600px) {
  .listing-feature .business-hero { min-height: clamp(520px, 67svh, 660px); }
  .listing-feature .business-hero-photo { object-position: 56% top; }
  .listing-feature .business-hero:after {
    background: radial-gradient(ellipse 100% 40% at 14% 34%, #081f2baa, transparent 100%),
                linear-gradient(180deg, #0b293b65, #081f2b38 43%, transparent 59%, transparent 90%, #081f2b7a);
  }
  .listing-feature .business-hero-inner { padding: 14px var(--feature-gutter) 30px; }
  .listing-feature .business-hero h1 { font-size: clamp(2.5rem, 10.5vw, 4.4rem); }
  .feature-hero-copy { margin-top: clamp(41px, 6.5svh, 60px); }
  .listing-feature .business-kicker { font-size: 1rem; letter-spacing: .14em; margin-bottom: 10px; }
  .listing-feature .business-kicker:after { margin-top: 8px; width: 32px; }
  .feature-hero-logo { width: 138px; }
  .feature-hero-credit { bottom: 14px; }
  .feature-deck { margin-top: 10px; }
  .feature-actions { gap: 4px 14px; }
  .feature-actions > div { gap: 0 12px; }
  .feature-actions > div a { font-size: 12px; }
  .feature-quick dl { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 13px; }
  .feature-quick dl > div { gap: 8px; }
  .feature-quick svg { width: 20px; height: 20px; }
  .feature-quick dl > div:last-child:nth-child(odd) { grid-column: span 2; }
  .feature-story, .feature-details > .feature-inner { gap: 36px; }
  .feature-tours ul, .feature-photos { margin-top: 24px; }
  .feature-tours ul { grid-template-columns: minmax(0, 1fr); }
  .feature-tour-photo { aspect-ratio: 1.62; }
  .feature-tour h3 { font-size: 1.65rem; }
  .feature-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 154px; gap: 8px; }
  .feature-photos a:first-child:not(:only-child) { grid-column: 1 / -1; grid-row: span 2; }
  .feature-photos:has(a:nth-child(2):last-child) a:last-child { grid-column: 1 / -1; grid-row: span 1; }
  .feature-profile { gap: 20px; }
  .feature-profile h2 { font-size: clamp(1.5rem, 8vw, 2.9rem); }
  .feature-close-photo { object-position: 56% 60%; }
  .feature-sticky:not([hidden]) {
    position: fixed;
    z-index: 45;
    inset: auto 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px var(--feature-gutter) max(9px, env(safe-area-inset-bottom));
    background: var(--feature-deep);
    color: #fff9ec;
    box-shadow: 0 -5px 28px #0d344633;
  }
  .feature-sticky span { font: 600 1rem/1.15 var(--serif); }
  .feature-sticky .feature-book { min-height: 46px; padding-inline: 21px; font-size: 14px; }
  html:has(.listing-feature) { scroll-padding-bottom: 76px; }
}
