.intro { padding-top: clamp(56px, 7vw, 112px); }
.intro__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(20px, 4vw, 64px); align-items: start; }
.intro__h { margin: 0; font: 600 clamp(24px, 2.6vw, 38px)/1.12 var(--disp); letter-spacing: -0.03em; text-wrap: balance; }
.intro__txt { display: grid; gap: 12px; color: var(--ink-2); font-size: 17px; }
.intro__txt p { margin: 0; }
.intro__links { grid-column: 1 / -1; list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.intro__links a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 999px; background: var(--card); color: var(--ink); font-weight: 600; font-size: 15px; text-decoration: none; box-shadow: inset 0 0 0 1px rgba(6, 34, 42, .1); transition: background-color .2s, color .2s; }
.intro__links a:hover { background: var(--ink); color: #fff; }
.half__link { font-weight: 600; color: var(--ink); text-underline-offset: 4px; }
.half__row { display: flex; align-items: center; gap: 20px; }
.fleet .lead a, .route__more a { color: inherit; font-weight: 600; text-underline-offset: 4px; }
.route__more { margin: 18px 0 0; }
.faqs { padding-top: var(--gap); }
.faqs .h2 { max-width: 22ch; }
.faqs__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; align-items: start; }
.faqs details, .lp__faq details { background: var(--card); border-radius: 18px; }
.faqs summary, .lp__faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 18px 22px; font-weight: 600; font-size: 17px; line-height: 1.35; }
.faqs summary::-webkit-details-marker, .lp__faq summary::-webkit-details-marker { display: none; }
.faqs summary::after, .lp__faq summary::after { content: '+'; flex: none; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--ground); font: 500 20px/1 var(--text); transition: transform .3s var(--ease); }
.faqs details[open] summary::after, .lp__faq details[open] summary::after { transform: rotate(45deg); }
.faqs details p, .lp__faq details p { margin: 0; padding: 0 22px 20px; color: var(--ink-2); font-size: 16px; line-height: 1.6; }
.faqs summary:focus-visible, .lp__faq summary:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; border-radius: 18px; }
.lp-page { background: var(--ground); }
.lp__hero { position: relative; min-height: min(78svh, 760px); display: grid; align-items: end; color: #fff; background: var(--deep); overflow: hidden; }
.lp__pic { position: absolute; inset: 0; }
.lp__pic img { width: 100%; height: 100%; object-fit: cover; }
.lp__pic::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(3, 26, 33, .86) 0%, rgba(3, 26, 33, .45) 45%, rgba(3, 26, 33, .15) 75%, rgba(3, 26, 33, .35) 100%); }
.lp__head { position: relative; z-index: 1; display: grid; gap: 16px; padding-top: 120px; padding-bottom: clamp(32px, 5vw, 64px); max-width: 1100px; }
.lp__head--plain { color: var(--ink); padding-top: 132px; }
.lp__crumbs { font-size: 14px; opacity: .85; }
.lp__crumbs a { color: inherit; text-underline-offset: 3px; }
.lp__h1 { margin: 0; font: 700 clamp(36px, 5.6vw, 84px)/.98 var(--disp); letter-spacing: -0.045em; text-wrap: balance; max-width: 16ch; }
.lp__lead { margin: 0; max-width: 60ch; font-size: clamp(17px, 1.4vw, 20px); line-height: 1.55; opacity: .94; }
.lp__acts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.lp__body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 340px); gap: clamp(28px, 4vw, 72px); padding-top: clamp(40px, 5vw, 80px); padding-bottom: var(--gap); align-items: start; }
.lp__text { min-width: 0; max-width: 820px; color: var(--ink-2); font-size: 18px; line-height: 1.65; }
.lp__text > * { margin: 0 0 18px; }
.lp__text h2 { margin: clamp(40px, 4vw, 56px) 0 16px; color: var(--ink); font: 600 clamp(26px, 2.6vw, 38px)/1.1 var(--disp); letter-spacing: -0.03em; text-wrap: balance; scroll-margin-top: 90px; }
.lp__text > h2:first-child { margin-top: 0; }
.lp__text h3 { margin: 28px 0 10px; color: var(--ink); font: 600 20px/1.25 var(--disp); letter-spacing: -0.02em; }
.lp__list { padding-left: 1.2em; display: grid; gap: 8px; }
.lp__list li::marker { color: var(--blue); }
.lp__prices { display: grid; gap: 0; background: var(--card); border-radius: 18px; padding: 6px 22px; }
.lp__prices div { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; padding: 14px 0; border-bottom: 1px solid rgba(6, 34, 42, .08); }
.lp__prices div:last-child { border-bottom: 0; }
.lp__prices dt { color: var(--ink); font-weight: 600; display: grid; gap: 2px; }
.lp__prices dt small { font-weight: 400; font-size: 14px; color: var(--ink-3); }
.lp__prices dd { margin: 0; color: var(--ink); font: 700 clamp(20px, 1.8vw, 26px)/1 var(--disp); letter-spacing: -0.03em; white-space: nowrap; }
.lp__table { overflow-x: auto; background: var(--card); border-radius: 18px; -webkit-overflow-scrolling: touch; }
.lp__table:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; }
.lp__table table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.35; min-width: 640px; }
.lp__table th, .lp__table td { text-align: left; padding: 12px 14px; border-bottom: 1px solid rgba(6, 34, 42, .08); vertical-align: top; }
.lp__table thead th { color: var(--ink-3); font-weight: 600; font-size: 13px; white-space: nowrap; }
.lp__table tbody th { color: var(--ink); font-weight: 700; white-space: nowrap; }
.lp__table tr:last-child > * { border-bottom: 0; }
.lp__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.lp__card { background: var(--card); border-radius: 18px; padding: 18px 20px; }
.lp__card h3 { margin: 0 0 6px; font-size: 18px; }
.lp__card p { margin: 0; font-size: 16px; line-height: 1.55; }
.lp__cta { margin: 26px 0 8px; }
.lp__more a { color: var(--ink); font-weight: 600; text-underline-offset: 4px; }
.lp__gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 36px; }
.lp__gallery--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 4px 0 18px; }
.lp__gallery figure { margin: 0; }
.lp__gallery img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 16px; background: var(--sand); display: block; }
.lp__gallery figcaption { margin-top: 6px; font-size: 14px; color: var(--ink-3); }
.lp__boat { padding-top: 8px; }
.lp__boatprice { font-size: 16px; color: var(--ink); }
.lp__fish { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; }
.lp__fish li { background: linear-gradient(180deg, #2f8f9c, #0b4652); border-radius: 16px; padding: 8px 10px 12px; color: #fff; display: grid; gap: 2px; }
.lp__fish img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.lp__fish b { font-size: 15px; } .lp__fish i { font-size: 12px; opacity: .8; }
.lp__faq { margin-top: clamp(40px, 4vw, 56px); display: grid; gap: 10px; }
.lp__faq h2 { margin-top: 0 !important; }
.lp__side { position: sticky; top: 96px; display: grid; gap: 14px; }
.lp__book { background: var(--sea); color: #fff; border-radius: 22px; padding: 22px; display: grid; gap: 10px; }
.lp__book p { margin: 0; font-size: 15px; line-height: 1.5; opacity: .9; }
.lp__book-h { font: 600 18px/1.2 var(--disp) !important; opacity: 1 !important; letter-spacing: -0.02em; }
.lp__book .btn--ink { background: rgba(255, 255, 255, .12); }
.lp__rel { background: var(--card); border-radius: 22px; padding: 20px 22px; }
.lp__rel .lp__book-h { margin: 0 0 8px; color: var(--ink); }
.lp__rel ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 15px; }
.lp__rel a { color: var(--ink); text-underline-offset: 3px; }
.catchpg .lp__head--plain { padding-bottom: clamp(20px, 3vw, 36px); }
.catchpg .lp__lead { max-width: 62ch; }
.catch { list-style: none; margin: 0; padding: 0; columns: 3 300px; column-gap: 14px; }
.catch__it { break-inside: avoid; margin: 0 0 14px; }
.catch__a { display: block; position: relative; border-radius: 18px; overflow: hidden; background: var(--sand); cursor: zoom-in; box-shadow: 0 1px 0 rgba(6, 34, 42, .04), 0 10px 30px -18px rgba(6, 34, 42, .35); }
.catch__a img { display: block; width: 100%; height: auto; transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.catch__a:hover img { transform: scale(1.025); }
.catch__a:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.catch__tag { position: absolute; left: 10px; bottom: 10px; padding: 6px 11px; border-radius: 999px; background: rgba(3, 26, 33, .62); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); color: #fff; font-size: 13px; font-weight: 600; line-height: 1.1; }
.catch__more { padding: clamp(28px, 4vw, 48px) 0 var(--gap); display: grid; gap: 14px; }
.catch__more h2 { margin: 0; font: 600 clamp(24px, 3vw, 34px)/1.15 var(--disp); letter-spacing: -0.02em; }
.catch__more .lp__cta { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 0; }
html.catch-open { overflow: hidden; }
.catch__view { border: 0; padding: 0; margin: 0; max-width: 100vw; max-height: 100dvh; width: 100vw; height: 100dvh; background: rgba(3, 18, 24, .96); color: #fff; overscroll-behavior: contain; }
.catch__view::backdrop { background: rgba(3, 18, 24, .7); }
.catch__view[open] { display: grid; grid-template-columns: 64px minmax(0, 1fr) 64px; align-items: center; }
.catch__view figure { margin: 0; height: 100dvh; padding: 64px 0 56px; box-sizing: border-box; display: grid; grid-template-rows: minmax(0, 1fr) auto; gap: 12px; justify-items: center; align-items: center; }
.catch__view img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; border-radius: 12px; }
.catch__view figcaption { font-size: 15px; line-height: 1.4; text-align: center; opacity: .9; padding: 0 12px; max-width: 70ch; }
.catch__count { position: absolute; top: 22px; left: 22px; margin: 0; font-size: 14px; opacity: .75; font-variant-numeric: tabular-nums; }
.catch__close { position: absolute; top: max(12px, env(safe-area-inset-top)); right: 12px; width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .16); color: #fff; font-size: 28px; line-height: 1; cursor: pointer; z-index: 2; }
.catch__nav { width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .16); color: #fff; font-size: 30px; line-height: 1; cursor: pointer; justify-self: center; z-index: 2; }
.catch__close:hover, .catch__nav:hover { background: rgba(255, 255, 255, .28); }
.cpv { padding: var(--gap) 0 0; }
.cpv__head { display: grid; gap: 8px; margin-bottom: 22px; max-width: 760px; }
.cpv__head .h2, .cpv__head .lead { margin: 0; }
.cpv__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.cpv__grid a { display: block; border-radius: 18px; overflow: hidden; background: var(--sand); }
.cpv__grid img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.cpv__grid a:hover img { transform: scale(1.03); }
.cpv__act { margin: 20px 0 0; }
@media (max-width: 1000px) and (min-width: 761px) { .cpv__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.lp__fig { margin: 22px 0 6px; }
.lp__fig img { display: block; width: 100%; height: auto; border-radius: 18px; background: var(--sand); }
.lp__fig figcaption { margin-top: 8px; font-size: 14px; color: var(--ink-3); }
.cmp { display: grid; gap: 10px; margin: 8px 0 6px; }
.cmp__row { display: grid; grid-template-columns: 170px minmax(0, 1fr) minmax(0, 1fr); gap: 0; background: var(--card); border-radius: 18px; overflow: hidden; }
.cmp__row > * { margin: 0; padding: 16px 18px; font-size: 16px; line-height: 1.5; }
.cmp__row > p + p { border-left: 1px solid rgba(6, 34, 42, .08); }
.cmp__row--head { background: transparent; }
.cmp__row--head span { padding: 0 18px; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3); }
.cmp__k { font-size: 16px !important; font-weight: 700; color: var(--ink); margin: 0 !important; }
.cmp__row p b { display: none; }
.sp { display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: clamp(18px, 3vw, 32px); align-items: start; padding: clamp(22px, 3vw, 32px) 0; border-top: 1px solid rgba(6, 34, 42, .1); }
.sp:first-child { border-top: 0; padding-top: 0; }
.sp__pic { margin: 0; }
.sp__pic img { display: block; width: 100%; height: auto; border-radius: 18px; background: var(--sand); }
.sp__pic figcaption { margin-top: 8px; font-size: 13px; color: var(--ink-3); }
.sp__pic--none { aspect-ratio: 4 / 3; border-radius: 18px; background: linear-gradient(160deg, #2f8f9c, #0b4652); color: #fff; display: grid; align-content: end; gap: 2px; padding: 20px; box-sizing: border-box; }
.sp__pic--none b { font: 600 clamp(22px, 2.4vw, 28px)/1.1 var(--disp); letter-spacing: -0.02em; }
.sp__pic--none i { font-size: 14px; opacity: .8; }
.sp__txt h2 { margin: 0 0 12px !important; }
.sp__txt h2 small { display: block; margin-top: 6px; font-family: var(--text); font-size: 15px; font-weight: 500; line-height: 1.3; color: var(--ink-3); letter-spacing: .01em; text-transform: none; }
.sp__txt h2 { font-size: clamp(26px, 3vw, 36px); }
.sp__dl { margin: 0; display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 8px 16px; font-size: 16px; line-height: 1.55; }
.sp__dl dt { font-weight: 700; color: var(--ink); }
.sp__dl dd { margin: 0; }
@media (max-width: 960px) {
.lp__body { grid-template-columns: minmax(0, 1fr); }
.lp__side { position: static; }
}
@media (max-width: 760px) {
.intro__in { grid-template-columns: minmax(0, 1fr); }
.intro__txt { font-size: 16px; }
.faqs__list { grid-template-columns: minmax(0, 1fr); }
.faqs summary, .lp__faq summary { padding: 16px 18px; font-size: 16px; }
.faqs details p, .lp__faq details p { padding: 0 18px 18px; }
.lp__hero { min-height: 76svh; }
.lp__head { padding-top: 96px; }
.lp__text { font-size: 17px; }
.lp__cards, .lp__gallery { grid-template-columns: minmax(0, 1fr); }
.lp__gallery--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.lp__gallery--3 img { border-radius: 10px; }
.lp__prices { padding: 4px 16px; }
.lp__prices div { flex-wrap: wrap; gap: 4px 12px; }
.catch__view[open] { grid-template-columns: 0 minmax(0, 1fr) 0; }
.catch__view figure { padding: 60px 8px 76px; }
.catch__nav { position: absolute; bottom: max(14px, env(safe-area-inset-bottom)); }
.catch__nav--prev { left: calc(50% - 64px); } .catch__nav--next { right: calc(50% - 64px); }
.catch { columns: 2 160px; column-gap: 10px; }
.catch__it { margin-bottom: 10px; }
.catch__a { border-radius: 14px; }
.catch__tag { left: 6px; bottom: 6px; font-size: 11px; padding: 4px 8px; }
.cpv__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cpv__grid a { border-radius: 14px; }
.cmp__row--head { display: none; }
.cmp__row { grid-template-columns: minmax(0, 1fr); }
.cmp__row > p + p { border-left: 0; border-top: 1px solid rgba(6, 34, 42, .08); }
.cmp__k { padding-bottom: 0 !important; }
.cmp__row p b { display: block; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3); margin-bottom: 2px; }
.sp { grid-template-columns: minmax(0, 1fr); }
.sp__dl { grid-template-columns: minmax(0, 1fr); gap: 2px; }
.sp__dl dd { margin-bottom: 10px; }
}
@media (max-width: 420px) { .catch { columns: 1; } }
.lp__bprices { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 16px; margin: 8px 0 4px; }
.lp__bpc { display: grid; align-content: start; gap: 8px; min-width: 0; }
.lp__bpc h3 { margin: 0; font: 700 clamp(22px, 2vw, 28px)/1.1 var(--disp); letter-spacing: -0.03em; color: var(--ink); }
.lp__bpspec { margin: 0; font-size: 15px; line-height: 1.45; color: var(--ink-3); }
.lp__bpc .lp__prices { margin: 0; }
.lp__rt { display: inline-flex; align-items: baseline; gap: 8px; }
.lp__rt i { flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--rc); align-self: center; }
.lp__bpc .lp__prices dt { min-width: 0; }
.lp__table { overflow-x: visible; }
.lp__table table { min-width: 0; table-layout: fixed; }
.lp__table th, .lp__table td { overflow-wrap: anywhere; }
.lp__table thead th, .lp__table tbody th { white-space: normal; }
@media (max-width: 520px) { .lp__table table { font-size: 14px; } .lp__table th, .lp__table td { padding: 10px 8px; } }
.lp__bpc .lp__prices div { flex-wrap: nowrap; align-items: center; }
.lp__bpc .lp__prices dt { flex: 1 1 auto; }
.lp__bpc .lp__prices dd { flex: none; }
@media (max-width: 760px) { .lp__bpc .lp__prices dd { font-size: 20px; } .lp__bpc .lp__prices dt { font-size: 15px; } }
.faqs__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: stretch; }
.lp__faq .faqs__list { margin-top: 4px; }
.faq { background: var(--card); border-radius: 18px; min-width: 0; overflow: hidden; }
.faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 84px; box-sizing: border-box;
padding: 16px 20px 16px 22px; font-weight: 600; font-size: 17px; line-height: 1.35; color: var(--ink); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ''; flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--ground) center / 14px 14px no-repeat;
background-image: linear-gradient(var(--ink), var(--ink)), linear-gradient(var(--ink), var(--ink)); background-size: 14px 2px, 2px 14px; transition: transform .3s var(--ease, ease); }
.faq[open] summary::after { transform: rotate(45deg); }
.faq summary:focus-visible { outline: 3px solid var(--blue); outline-offset: -3px; border-radius: 18px; }
.faq__a { overflow: hidden; }
.faq__a p { margin: 0; padding: 0 22px 20px; color: var(--ink-2); font-size: 16px; line-height: 1.6; }
.faqs details p, .lp__faq details p { padding: 0 22px 20px; }
@media (max-width: 760px) {
.faqs__list { grid-template-columns: minmax(0, 1fr); gap: 10px; }
.faq summary { min-height: 68px; padding: 14px 16px 14px 18px; font-size: 16px; }
.faq__a p, .faqs details p, .lp__faq details p { padding: 0 18px 18px; }
}
.boathero--photo .boathero__v { object-fit: cover; }
.boathero__h1 .boathero__sub { display: block; margin: 14px 0 0 .06em; font: 600 clamp(20px, 2.2vw, 32px)/1.15 var(--disp); letter-spacing: -0.02em; }
.boathero__facts { margin: 14px 0 0; font-size: 16px; opacity: .9; max-width: 46ch; }
.boathero__crumb a { color: inherit; }
.deck__item img { aspect-ratio: 16 / 9; object-fit: cover; }   
.deck__a { display: block; border-radius: 22px; overflow: hidden; cursor: zoom-in; }
.deck__a:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.deck__n { align-self: center; min-width: 64px; font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--ink-3); text-align: right; }
.deck__hint { margin: 10px auto 0; font-size: 14px; color: var(--ink-3); }
.bp--static { cursor: default; grid-template-columns: minmax(0, 1fr) auto; }
.bx { padding-top: var(--gap); }
.bx__cards { margin-top: 28px; }
.bx__note, .bx__lead { margin: 18px 0 0; max-width: 70ch; font-size: 17px; line-height: 1.55; color: var(--ink-2); }
.bx--split { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 24px 48px; align-items: start; }
.bx__inc { margin-top: 18px; }
.bx__h3 { margin: 6px 0 14px; font: 600 22px/1.2 var(--disp); letter-spacing: -0.02em; }
.bx__routes { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 10px; }
.bx__routes a { display: grid; gap: 4px; height: 100%; box-sizing: border-box; padding: 16px 18px; border-radius: 18px; background: var(--card); color: var(--ink); text-decoration: none; transition: background-color .2s; }
.bx__routes a:hover { background: #fff; }
.bx__routes i { width: 28px; height: 4px; border-radius: 2px; background: var(--rc); }
.bx__routes b { font: 600 18px/1.2 var(--disp); letter-spacing: -0.02em; }
.bx__routes span { font-size: 15px; color: var(--ink-3); }
.bx__more { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; }
.bx__more a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px; background: var(--card); color: var(--ink); font-size: 15px; font-weight: 600; text-decoration: none; box-shadow: inset 0 0 0 1px rgba(6, 34, 42, .1); }
.bx__more a:hover { background: #fff; }
.lp__map { margin: 18px 0 8px; max-width: 560px; }
.lp__map img { display: block; width: 100%; height: auto; border-radius: 18px; background: #0f5a66; }
.lp__map figcaption { margin-top: 8px; font-size: 14px; color: var(--ink-3); }
.lp__maps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.lp__maps .lp__map { margin: 8px 0; }
.lp__note { font-size: 15px; color: var(--ink-3); }
.lp__cta--row { display: flex; flex-wrap: wrap; gap: 10px; }
.lp__rbtn i { width: 12px; height: 12px; border-radius: 50%; background: var(--rc); margin-right: 8px; box-shadow: 0 0 0 2px rgba(255, 255, 255, .7); }
.lp__bpc h3 a { color: inherit; text-underline-offset: 4px; }
.lp__picks { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 4px 0 0; font-size: 15px; }
.lp__pick { font-weight: 700; color: var(--ink); text-underline-offset: 4px; }
.lp__boatlink { color: var(--ink-3); text-underline-offset: 4px; }
.day { list-style: none; counter-reset: d; margin: 14px 0 6px; padding: 0; display: grid; gap: 0; }
.day li { counter-increment: d; position: relative; display: grid; gap: 2px; padding: 0 0 18px 52px; }
.day li::before { content: counter(d); position: absolute; left: 0; top: -2px; width: 34px; height: 34px; border-radius: 50%; background: var(--sea); color: #fff; display: grid; place-items: center; font: 700 15px/1 var(--disp); }
.day li::after { content: ''; position: absolute; left: 16px; top: 34px; bottom: 2px; width: 2px; background: rgba(6, 34, 42, .12); }
.day li:last-child::after { display: none; }
.day b { font-size: 17px; }
.day span { font-size: 16px; line-height: 1.5; color: var(--ink-2); }
.months { list-style: none; margin: 14px 0 8px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: 10px; }
.months li { background: var(--card); border-radius: 18px; padding: 16px 18px; display: grid; align-content: start; gap: 8px; }
.months h3 { margin: 0 !important; font-size: 19px; }
.months p { margin: 0; font-size: 15px; line-height: 1.5; }
.months__rain { position: relative; display: flex; justify-content: space-between; gap: 8px; padding-bottom: 10px; color: var(--ink-3); font-size: 14px !important; }
.months__rain b { color: var(--ink); font-size: 17px; }
.months__rain i { position: absolute; left: 0; right: 0; bottom: 0; height: 5px; border-radius: 3px; background: rgba(6, 34, 42, .08); overflow: hidden; }
.months__rain i::after { content: ''; position: absolute; inset: 0 auto 0 0; width: calc(var(--v) * 100%); background: #2f8f9c; border-radius: 3px; }
.months__tip { color: var(--ink-2); }
.why { padding: var(--gap) 0 0; }
.why__grid { list-style: none; margin: 26px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid rgba(6, 34, 42, .12); }
.why__grid li { display: grid; gap: 4px; align-content: start; padding: 18px 22px 18px 0; border-bottom: 1px solid rgba(6, 34, 42, .12); }
.why__grid b { font: 600 19px/1.2 var(--disp); letter-spacing: -0.02em; }
.why__grid span { font-size: 16px; line-height: 1.5; color: var(--ink-2); }
.crew { margin-top: 18px; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 20px 36px; align-items: center; background: var(--card); border-radius: 26px; padding: clamp(20px, 2.6vw, 34px); box-sizing: border-box; }
.wrap.crew { width: auto; margin-left: max(var(--pad), env(safe-area-inset-left, 0px)); margin-right: max(var(--pad), env(safe-area-inset-right, 0px)); }
.crew__h { margin: 0 0 10px; font: 600 clamp(21px, 2vw, 28px)/1.15 var(--disp); letter-spacing: -0.02em; }
.crew__txt p { margin: 0; font-size: 16px; line-height: 1.55; color: var(--ink-2); }
.crew__calc { display: grid; gap: 12px; }
.crew__step { display: flex; align-items: center; gap: 10px; font-weight: 600; }
.crew__step span { margin-right: auto; }
.crew__step button { width: 44px; height: 44px; border-radius: 50%; border: 0; background: #fff; font-size: 22px; cursor: pointer; }
.crew__step output { min-width: 34px; text-align: center; font: 700 22px/1 var(--disp); }
.crew__res { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 15px; }
.crew__res li { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 6px; border-bottom: 1px solid rgba(6, 34, 42, .1); }
.crew__res b { white-space: nowrap; }
.crew__per { color: var(--ink-3); border-bottom: 0 !important; }
.crew .btn { justify-self: start; }
.sheet__list--row { display: flex; flex-wrap: wrap; gap: 4px 16px; }
.sp__pic img { aspect-ratio: 4 / 3; object-fit: contain; background: linear-gradient(160deg, #2f8f9c, #0b4652); }
@media (max-width: 960px) { .why__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .crew { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 760px) {
.bx--split, .lp__maps { grid-template-columns: minmax(0, 1fr); }
.why__grid { grid-template-columns: minmax(0, 1fr); }
.why__grid li { padding-right: 0; }
.boathero__facts { font-size: 15px; }
.bp--static { padding: 14px 16px; }
}
.faq__more { margin: -6px 0 0; padding: 0 22px 18px; font-size: 15px; }
.faq__more a { color: var(--ink); font-weight: 600; text-underline-offset: 4px; }
.format__proof { margin: 14px 0 0; font-size: 16px; }
.format__proof a { color: var(--ink); font-weight: 600; text-underline-offset: 4px; }
.half__pic--real img { object-position: 50% 42%; }
.voices__next { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 22px; }
.capts { padding: var(--gap) 0 0; }
.capt { display: grid; gap: 12px; }
.capt--row { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.capt--one { max-width: 860px; margin-top: 24px; }
.cap { background: var(--card); border-radius: 20px; overflow: hidden; display: grid; grid-template-rows: auto 1fr; min-width: 0; }
.cap__pic { position: relative; aspect-ratio: 16 / 9; background: var(--sand); }
.cap__pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cap__boat { position: absolute; left: 10px; bottom: 10px; padding: 4px 10px; border-radius: 999px; background: rgba(3, 26, 33, .66); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .02em; }
.cap__txt { padding: 14px 16px 18px; display: grid; gap: 6px; align-content: start; }
.cap__txt h3 { margin: 0 !important; font: 600 20px/1.15 var(--disp) !important; letter-spacing: -0.02em; }
.cap__meta, .cap__spec, .cap__lang { margin: 0 !important; font-size: 14px !important; line-height: 1.45 !important; }
.cap__meta { color: var(--ink-2); } .cap__meta b { color: var(--ink); }
.cap__meta a { color: inherit; text-underline-offset: 3px; }
.cap__spec { color: var(--ink); font-weight: 600; }
.cap__lang { color: var(--ink-3); }
.cap__txt > p:not([class]) { margin: 4px 0 !important; font-size: 16px !important; line-height: 1.55 !important; color: var(--ink-2); }
.capt--one .cap, .lp__text .capt .cap { grid-template-columns: minmax(0, 260px) minmax(0, 1fr); grid-template-rows: none; }
.capt--one .cap__pic, .lp__text .capt .cap__pic { aspect-ratio: auto; min-height: 100%; }
@media (max-width: 1100px) { .capt--row { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) {
.capt--row { grid-template-columns: minmax(0, 1fr); }
.capt--row .cap { grid-template-columns: 120px minmax(0, 1fr); grid-template-rows: none; }
.capt--row .cap__pic { aspect-ratio: auto; }
.capt--one .cap, .lp__text .capt .cap { grid-template-columns: minmax(0, 1fr); }
.capt--one .cap__pic, .lp__text .capt .cap__pic { aspect-ratio: 16 / 9; }
.faq__more { padding: 0 18px 16px; }
}
.cap__pic--portrait { aspect-ratio: 4 / 5; background: var(--sand); }
.cap__pic--portrait img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; display: block; }
.capt--row .cap__pic--portrait { aspect-ratio: 4 / 5; }
@media (max-width: 760px) {
.capt--one .cap__pic--portrait, .lp__text .capt .cap__pic--portrait, .capt:not(.capt--row) .cap__pic--portrait { aspect-ratio: 1 / 1; }
.cap__pic--portrait img { object-position: 50% 28%; }
}
.deck__head { align-items: end; }
.deck__stage { position: relative; margin-top: 32px; }
.deck .deck__track { margin: 0; padding: 0; gap: 0; scroll-padding-inline: 0; overscroll-behavior-x: contain; }
.deck .deck__item { flex: 0 0 100%; width: 100%; scroll-snap-align: center; scroll-snap-stop: always; }
.deck .deck__a { position: relative; aspect-ratio: 16 / 9; border-radius: 22px; overflow: hidden;
background: radial-gradient(120% 90% at 50% 40%, #0b3a45 0%, #052630 70%); }
.deck .deck__item img { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; object-fit: contain; object-position: 50% 50%; border-radius: 0; }
.deck .deck__item figcaption { margin-top: 12px; font-size: 16px; color: var(--ink-2); }
.deck__arr { position: absolute; top: calc((100% - 40px) / 2); translate: 0 -50%; z-index: 2; width: 56px; height: 56px; border: 0; border-radius: 50%;
display: grid; place-items: center; background: rgba(255, 255, 255, .92); color: var(--ink); cursor: pointer; box-shadow: 0 6px 22px rgba(3, 26, 33, .22);
transition: transform .3s var(--spring, ease), background-color .2s; }
.deck__arr svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.deck__arr:hover { background: var(--buoy); transform: scale(1.06); }
.deck__arr:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.deck__arr--prev { left: max(calc(var(--pad) + 16px), env(safe-area-inset-left, 0px)); }
.deck__arr--next { right: max(calc(var(--pad) + 16px), env(safe-area-inset-right, 0px)); }
.deck .deck__n { font-size: 17px; }
@media (max-width: 900px) {
.deck .deck__item { flex-basis: 100%; }
.deck__arr { width: 44px; height: 44px; }
.deck__arr svg { width: 20px; height: 20px; }
.deck__arr--prev { left: calc(var(--pad) + 8px); } .deck__arr--next { right: calc(var(--pad) + 8px); }
.deck .deck__a { border-radius: 16px; }
.deck__stage { margin-top: 22px; }
}
.others__row { align-items: stretch; }
.others__row a { flex: 1 1 0; }
.others__pic { display: block; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; background: radial-gradient(120% 90% at 50% 40%, #0b3a45 0%, #052630 70%); }
.others__row .others__pic img { width: 100%; height: 100%; object-fit: contain; object-position: 50% 50%; border-radius: 0; transition: transform .8s var(--ease); }
.others__row a:hover .others__pic img { transform: scale(1.03); }
@media (max-width: 900px) {
.others__row a { flex: 0 0 min(72vw, 320px); }
}
.boathero__vid { opacity: 0; transition: opacity .3s ease; }
.boathero__vid.is-on { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .boathero__vid { display: none; } }
.fleet__side { grid-area: berth; display: grid; gap: clamp(22px, 2.4vw, 32px); align-content: start; min-width: 0; }
.fleet .fleet__side .berth { grid-area: auto; }
.seaday { background: var(--card); border-radius: 22px; padding: clamp(18px, 2vw, 24px); display: grid; gap: 14px; }
.seaday__h { margin: 0; font: 700 clamp(20px, 1.7vw, 24px)/1.1 var(--disp); letter-spacing: -0.03em; }
.seaday__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.seaday__it { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 8px 10px; align-content: start; align-items: center; background: var(--ground); border-radius: 16px; padding: 14px 16px 16px; }
.seaday__it > div { display: contents; }
.seaday__it p { grid-column: 1 / -1; }
.seaday__ico { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--sea); color: var(--buoy); }
.seaday__ico svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.seaday__it h4 { margin: 0; font: 700 14px/1.2 var(--text); letter-spacing: .02em; text-transform: uppercase; color: var(--ink); }
.seaday__it p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--ink-2); }
.seaday__btn { justify-self: start; }
@media (max-width: 1100px) { .seaday__list { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 900px) {
.fleet .wrap:last-child { grid-template-areas: 'armada' 'berth' 'info' 'seaday'; }
.fleet__side { display: contents; }
.fleet .fleet__side .berth { grid-area: berth; }
.seaday { grid-area: seaday; }
.seaday__btn { justify-self: stretch; text-align: center; }
}
.intro__in { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }
.intro__brand { display: grid; justify-items: center; gap: clamp(14px, 1.6vw, 22px); }
.intro__logo { display: block; width: clamp(120px, 12vw, 180px); height: auto; aspect-ratio: 1; object-fit: contain; filter: drop-shadow(0 8px 18px rgba(3, 26, 33, .16)); }
.intro__h { max-width: 24ch; }
.intro__txt { max-width: 78ch; }
.intro__links { justify-content: center; }
.home :is(.head, .head--row, .cpv__head) { grid-template-columns: minmax(0, 1fr) !important; justify-items: center; text-align: center; margin-left: auto; margin-right: auto; }
.home .head--row { row-gap: 18px; }
.home :is(.head, .cpv__head) .lead { margin-left: auto; margin-right: auto; max-width: 62ch; }
.home .cpv__head { max-width: 860px; }
.home .cpv__act { text-align: center; }
.home :is(.why > .wrap, .head, .cpv__head) > .h2 { text-align: center; margin-left: auto; margin-right: auto; }
@media (max-width: 760px) {
.dive__copy[data-copy-top] { padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
.dive__copy[data-copy-top] .dive__acts { margin-top: auto; padding-top: 18px; gap: 10px; }
.dive__scrim { background: linear-gradient(to bottom, rgba(3, 26, 33, .74) 0%, rgba(3, 26, 33, .3) 40%, rgba(3, 26, 33, 0) 58%, rgba(3, 26, 33, 0) 72%, rgba(3, 26, 33, .45) 100%); }
.dive__hint { bottom: calc(14px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 760px) and (max-height: 700px) {
.dive__copy[data-copy-top] { padding-top: calc(84px + env(safe-area-inset-top, 0px)); padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px)); }
.dive__h1 { font-size: clamp(30px, 9vw, 40px); }
.dive__lead { font-size: 15px; line-height: 1.4; margin-top: 10px; }
.dive__copy[data-copy-top] .dive__acts .btn { min-height: 48px; }
.dive__hint { display: none; }
}
.top__brand { display: grid; gap: 3px; line-height: 1; }
.top__tat { font: 600 10.5px/1 var(--text); letter-spacing: .04em; opacity: .78; white-space: nowrap; }
.top__ig { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; color: inherit; background: rgba(255, 255, 255, .16); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transition: background-color .2s; }
.top[data-solid] .top__ig { background: rgba(6, 34, 42, .07); }
.top__ig:hover { background: var(--buoy); color: var(--ink); }
.top__ig svg { width: 19px; height: 19px; }
@media (max-width: 760px) { .top__tat { font-size: 9px; letter-spacing: .02em; } .top__ig { width: 40px; height: 40px; } }
@media (max-width: 359px) { .top__ig { display: none; } }   
.chip--ig { display: inline-flex; align-items: center; gap: 8px; }
.chip--ig svg { width: 16px; height: 16px; }
.office__meta { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.evt { padding-top: var(--gap); }
.evt__card { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 0; background: var(--sea); color: #fff; border-radius: 26px; overflow: hidden; }
.evt__pic img { display: block; width: 100%; height: 100%; min-height: 280px; object-fit: cover; }
.evt__body { padding: clamp(24px, 3.4vw, 52px); display: grid; gap: 14px; align-content: center; }
.evt__kicker { margin: 0; font-size: 14px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--buoy); }
.evt__h { margin: 0; font: 700 clamp(30px, 3.4vw, 52px)/1 var(--disp); letter-spacing: -0.04em; }
.evt__p { margin: 0; font-size: 17px; line-height: 1.55; color: rgba(255, 255, 255, .86); max-width: 52ch; }
.evt__acts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.evt .btn--ink { background: rgba(255, 255, 255, .12); color: #fff; }
@media (max-width: 760px) { .evt__card { grid-template-columns: minmax(0, 1fr); } .evt__pic img { min-height: 0; aspect-ratio: 16 / 9; } .evt__acts .btn { flex: 1 1 100%; justify-content: center; } }
.igm { padding-top: var(--gap); }
.igm__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.igm__grid a { position: relative; display: block; border-radius: 18px; overflow: hidden; background: var(--sand); aspect-ratio: 3 / 4; }
.igm__grid img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.igm__grid a:hover img { transform: scale(1.04); }
.igm__cap { position: absolute; left: 10px; right: 10px; bottom: 10px; display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 12px; background: rgba(3, 26, 33, .62); color: #fff; font-size: 14px; font-weight: 600; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.igm__cap svg { flex: none; width: 16px; height: 16px; }
.igm__act { margin: 22px 0 0; text-align: center; }
.igm__act .btn svg { width: 18px; height: 18px; margin-right: 8px; }
@media (max-width: 760px) { .igm__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } .igm__cap { font-size: 12px; padding: 6px 8px; } }
.svc { list-style: none; margin: 18px 0 8px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.svc__it { background: var(--card); border-radius: 18px; padding: 18px 20px; display: grid; gap: 8px; align-content: start; }
.svc__ico { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--sea); color: var(--buoy); }
.svc__ico svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.svc__it h3 { margin: 4px 0 0; font: 700 18px/1.2 var(--disp); letter-spacing: -0.02em; }
.svc__it p { margin: 0; font-size: 15.5px; line-height: 1.5; color: var(--ink-2); }
.svc__it .svc__price { font-size: 14px; font-weight: 600; color: var(--ink); }
@media (max-width: 560px) { .svc { grid-template-columns: minmax(0, 1fr); } }
.fleet__evt { margin-top: 6px; }
.capts, .why, .cpv, .faqs, .evt, .igm { padding-top: var(--sp-sec); }
.pass + .igm, .pass + .reels[hidden] + .igm { padding-top: 0; }          
.evt { padding-bottom: var(--sp-sec); }                                   
.cpv__head { gap: 18px; margin-bottom: var(--sp-head); }
.why__grid { margin-top: var(--sp-head); }
.igm__act, .cpv__act { margin: var(--sp-in) 0 0; text-align: center; }
.faqs .head { margin-bottom: var(--sp-head); }
.why__grid { border-top: 0; gap: 12px; }
.why__grid li { padding: 20px 22px; border-bottom: 0; background: var(--card); border-radius: 18px; }
@media (max-width: 960px) { .why__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) { .why__grid { grid-template-columns: minmax(0, 1fr); gap: 10px; } .why__grid li { padding: 18px 20px; } }
.evt__card { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); }
.evt__pic { position: relative; margin: 0; min-width: 0; }
.evt__pic img { object-position: 50% 45%; }
@media (max-width: 1100px) { .evt__card { grid-template-columns: minmax(0, 1fr); } .evt__pic img { min-height: 0; aspect-ratio: 16 / 9; } }
.btn--ig { position: relative; isolation: isolate; overflow: hidden; color: #fff; padding: 0 28px; min-height: 56px;
background: linear-gradient(90deg, #833ab4 0%, #c13584 28%, #e1306c 48%, #fd1d1d 66%, #f77737 82%, #fcaf45 100%);
background-size: 125% 100%; background-position: 0% 50%;
box-shadow: 0 10px 26px -12px rgba(193, 53, 132, .65);
transition: transform .35s var(--spring), background-position .6s ease, box-shadow .3s; }
.btn--ig svg { width: 20px; height: 20px; flex: none; }
.btn--ig span { text-shadow: 0 1px 2px rgba(80, 10, 50, .25); }
.btn--ig:hover { background-position: 100% 50%; box-shadow: 0 14px 32px -12px rgba(225, 48, 108, .75); }
.btn--ig:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
@media (max-width: 760px) { .btn--ig { width: 100%; max-width: 420px; } }
@media (prefers-reduced-motion: reduce) { .btn--ig { transition: none; } }
body:not(.home) .top::before { content: ''; position: absolute; inset: 0 0 -28px; z-index: -1; pointer-events: none;
background: linear-gradient(to bottom, rgba(3, 26, 33, .62), rgba(3, 26, 33, .28) 60%, rgba(3, 26, 33, 0)); transition: opacity .4s; }
body:not(.home) .top:is([data-solid], [data-dark])::before { opacity: 0; }
body:not(.home) .top:not([data-solid]) { text-shadow: 0 1px 6px rgba(3, 26, 33, .35); }
.igm { padding-bottom: var(--sp-sec); }
.top__ig, .top__wa { height: 44px; width: auto; padding: 0 16px 0 14px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
font: 600 15px/1 var(--text); text-decoration: none; backdrop-filter: none; -webkit-backdrop-filter: none;
transition: transform .3s var(--spring, ease), box-shadow .3s, filter .2s, background-position .5s ease; }
.top__ig { color: #fff; background: linear-gradient(90deg, #833ab4 0%, #c13584 35%, #e1306c 60%, #fd1d1d 80%, #f77737 100%); background-size: 130% 100%; background-position: 0% 50%; }
.top__wa { color: #052e1c; background: #25d366; }
.top__ig svg, .top__wa svg { width: 18px; height: 18px; flex: none; }
.top__ig span { text-shadow: 0 1px 2px rgba(80, 10, 50, .25); }
.top[data-solid] .top__ig { background: linear-gradient(90deg, #833ab4 0%, #c13584 35%, #e1306c 60%, #fd1d1d 80%, #f77737 100%); background-size: 130% 100%; }
.top[data-solid] .top__wa { background: #25d366; }
.top__ig:hover { background-position: 100% 50%; color: #fff; transform: translateY(-1px); box-shadow: 0 8px 20px -10px rgba(225, 48, 108, .8); }
.top__wa:hover { background: #2ee374; transform: translateY(-1px); box-shadow: 0 8px 20px -10px rgba(18, 140, 70, .8); }
.top__ig:focus-visible, .top__wa:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
@media (max-width: 760px) {
.top__ig span, .top__wa span { display: none; }
.top__ig, .top__wa { width: 44px; padding: 0; }
.top__ig { background-size: 100% 100%; }
}
@media (max-width: 1240px) { .top__links { display: none; } .top__act { margin-left: auto; } }   
@media (max-width: 359px) { .top__ig { display: none; } }   
@media (prefers-reduced-motion: reduce) { .top__ig, .top__wa { transition: none; } }
.sp__pic img { height: auto; object-fit: cover; background: none; }   
.lp__pic img { object-position: var(--hp, 50% 50%); }
@media (min-width: 900px) {
.lp__hero--split .lp__pic { left: 50%; }
.lp__hero--split .lp__pic::after { background: linear-gradient(to right, var(--deep) 0%, rgba(3, 26, 33, .55) 14%, rgba(3, 26, 33, 0) 40%), linear-gradient(to top, rgba(3, 26, 33, .55) 0%, rgba(3, 26, 33, 0) 35%); }
.lp__hero--split > .wrap, .lp__hero--split .lp__head { max-width: 50%; margin-left: 0; }
}
@media (max-width: 760px) {
.lp__hero--stack { display: block; min-height: 0; }
.lp__hero--stack .lp__pic { position: relative; aspect-ratio: 4 / 3; }
.lp__hero--stack .lp__pic img { object-position: 50% 50%; }
.lp__hero--stack .lp__pic::after { background: linear-gradient(to top, rgba(3, 26, 33, .9) 0%, rgba(3, 26, 33, 0) 30%), linear-gradient(to bottom, rgba(3, 26, 33, .45) 0%, rgba(3, 26, 33, 0) 28%); }
}
@media (max-width: 760px) {
.lp__hero--stack .lp__head { padding-top: 22px; }
.lp__hero--split.lp__hero--stack .lp__pic { aspect-ratio: 4 / 5; }
.lp__hero--split.lp__hero--stack .lp__pic img { object-position: var(--hp, 50% 30%); }
}
@media (max-width: 899px) {
.lp__hero--split.lp__hero--stack { display: block; min-height: 0; }
.lp__hero--split.lp__hero--stack .lp__pic { position: relative; aspect-ratio: 4 / 3; max-height: 62svh; }
.lp__hero--split.lp__hero--stack .lp__pic img { object-position: 50% 45%; }
.lp__hero--split.lp__hero--stack .lp__pic::after { background: linear-gradient(to top, rgba(3, 26, 33, .9) 0%, rgba(3, 26, 33, 0) 26%), linear-gradient(to bottom, rgba(3, 26, 33, .45) 0%, rgba(3, 26, 33, 0) 26%); }
.lp__hero--split.lp__hero--stack .lp__head { padding-top: 14px; padding-bottom: 28px; gap: 12px; max-width: none; }
}
.sheet__head { position: sticky; top: -24px; z-index: 2; background: var(--sea); margin: -24px calc(-1 * max(var(--pad), env(safe-area-inset-right, 0px))) 0 calc(-1 * max(var(--pad), env(safe-area-inset-left, 0px))); padding: 24px max(var(--pad), env(safe-area-inset-right, 0px)) 12px max(var(--pad), env(safe-area-inset-left, 0px)); border-radius: 28px 28px 0 0; }
.sheet__list { gap: 0; }
.sheet__list a, .sheet__list--big a { font: 500 clamp(18px, 1.45vw, 21px)/1.3 var(--text); letter-spacing: -0.005em; padding: 6px 0; color: #fff; border-bottom: 2px solid transparent; transition: border-color .2s, color .2s; }
.sheet__list a:hover, .sheet__list a:focus-visible { color: #fff; border-bottom-color: var(--buoy); }
.sheet__list a[aria-current="page"] { border-bottom-color: rgba(255, 255, 255, .45); }
.sheet__cap { font-size: 12px; letter-spacing: .1em; color: rgba(255, 255, 255, .55); margin-bottom: 2px; }
.sheet__cap ~ .sheet__cap { margin-top: 18px; }
.sheet__list--row { gap: 0 18px; }
.sheet__contact { display: grid; gap: 10px; margin-top: 4px; }
.cbtn { display: flex; align-items: center; gap: 10px; min-height: 50px; padding: 0 18px; border-radius: 999px; font: 600 16px/1.2 var(--text); text-decoration: none; box-sizing: border-box; min-width: 0;
transition: transform .25s var(--spring, ease), box-shadow .25s, filter .2s, background-color .2s, border-color .2s; }
.cbtn span { min-width: 0; overflow-wrap: anywhere; }
.cbtn svg { width: 20px; height: 20px; flex: none; fill: currentColor; }
.cbtn:hover { transform: translateY(-1px); filter: brightness(1.06); }
.cbtn:active { transform: translateY(1px) scale(.99); }
.cbtn:focus-visible { outline: 3px solid var(--buoy); outline-offset: 2px; }
.cbtn--wa { background: #25d366; color: #052e1c; }
.cbtn--ig { background: linear-gradient(90deg, #833ab4 0%, #c13584 38%, #e1306c 62%, #f56040 84%, #fcaf45 100%); color: #fff; }
.cbtn--tg { background: #229ed9; color: #fff; }
.cbtn--tel { background: transparent; color: #fff; border: 1.5px solid rgba(255, 255, 255, .6); }
.cbtn--tel:hover { border-color: #fff; background: rgba(255, 255, 255, .06); filter: none; }
.cbtn--ig span, .cbtn--tg span { text-shadow: 0 1px 2px rgba(0, 0, 0, .18); }
@media (max-width: 760px) {
.sheet__list a, .sheet__list--big a { font-size: 18px; padding: 8px 0; }   
.sheet__contact { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .cbtn { transition: none; } }
.sheet__menu { grid-template-columns: repeat(3, minmax(0, 1fr)); }   
@media (max-width: 760px) {   
.sheet__menu { grid-template-columns: minmax(0, 1fr); gap: 22px; }
.sheet__list--big { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 359px) { .cbtn { padding: 0 14px; gap: 8px; font-size: 15px; } .cbtn span { white-space: nowrap; } }
