/* The catalog shares the photographic palette, type and container of the home page. */
.na-catalog :is(.page-hero, .services-page-hero) {
  width:calc(100% - 120px);
  max-width:1320px;
  min-height:360px;
  margin:20px auto 0;
  padding:54px 48px;
  overflow:hidden;
  isolation:isolate;
  border:1px solid var(--na-line);
  border-radius:24px;
  background:linear-gradient(90deg,rgba(3,23,34,.93),rgba(3,23,34,.56) 48%,rgba(3,23,34,.06) 78%),url('/media/concept/island-aerial.jpg') center 46% / cover;
  color:#f1f5f9;
  text-align:left;
}
.na-catalog :is(.page-hero, .services-page-hero)::before,
.na-catalog :is(.page-hero, .services-page-hero)::after {display:none;}
.na-catalog :is(.page-hero, .services-page-hero)>.container {width:100%; margin:0; position:relative; z-index:1;}
.na-catalog :is(.na-eyebrow, .services-page-hero__eyebrow) {
  display:flex;
  align-items:center;
  gap:12px;
  padding:0;
  margin:0 0 18px;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  color:#82d1ff;
  font-family:Oswald,Arial,sans-serif;
  font-size:11px;
  font-weight:500;
  line-height:1.6;
  letter-spacing:2.4px;
  text-transform:uppercase;
}
.na-catalog :is(.na-eyebrow, .services-page-hero__eyebrow)::before {content:""; width:28px; height:1px; background:currentColor; flex:none;}
.na-catalog :is(.page-hero h1, .services-page-hero__title) {
  max-width:680px;
  margin:0 0 20px;
  color:#f1f5f9;
  font-size:clamp(44px,5.6vw,76px);
  font-weight:600;
  line-height:1.08;
  letter-spacing:-1px;
  text-transform:uppercase;
  text-wrap:balance;
}
.na-catalog :is(.page-hero p:not(.na-eyebrow), .services-page-hero__lead) {
  max-width:490px;
  margin:0 0 26px;
  color:#d3e2eb;
  font-size:14px;
  line-height:1.7;
  font-weight:400;
  text-wrap:pretty;
}
.na-catalog .catalog-hero-link {font-size:12px; min-height:46px; padding:12px 24px;}
.na-catalog .catalog-hero-link svg {width:19px; height:19px;}
.na-catalog :is(.tour-block--services-grid, .services-catalog-section) {padding:40px 0 0; background:none; border:0; scroll-margin-top:88px;}
.na-catalog .catalog-heading {font-size:32px; line-height:1.2; font-weight:500; text-transform:uppercase; margin:0 0 22px; color:var(--na-ink);}
.na-catalog .services-catalog-toolbar {display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px 24px; padding:0 0 26px; margin:0; border:0; background:none; box-shadow:none;}
.na-catalog .services-filters {display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0; overflow:visible;}
html .na-catalog .services-filter {
  display:inline-flex; align-items:center; gap:8px; min-height:44px;
  padding:10px 16px; margin:0; border:1px solid var(--na-line); border-radius:24px;
  background:transparent; color:var(--na-muted); font-family:inherit; font-size:12px; font-weight:600;
  cursor:pointer; transition:background .2s,border-color .2s,color .2s;
}
.na-catalog .services-filter .hint {font-size:10px; font-weight:500; opacity:.8;}
html .na-catalog .services-filter:hover {border-color:var(--na-sky); color:var(--na-ink); background:var(--bg-soft);}
html .na-catalog .services-filter.is-active {background:var(--na-blue); border-color:var(--na-blue); color:white; box-shadow:none;}
.na-catalog .services-sort {display:flex; align-items:center; gap:10px; margin-left:auto; flex-shrink:0;}
.na-catalog .services-sort__label {font-size:12px; color:var(--na-muted); font-weight:400;}
html .na-catalog .services-sort select {min-height:44px; max-width:100%; padding:10px 34px 10px 14px; border:1px solid var(--na-line); border-radius:24px; background-color:var(--na-bg); color:var(--na-ink); font-family:inherit; font-size:12px; cursor:pointer;}
.na-catalog :is(.services-filter, .services-sort select):focus-visible {outline:2px solid var(--na-sky); outline-offset:4px;}
.na-catalog .services-catalog {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:24px; margin:0;}
html .na-catalog .service-tile {
  display:flex; flex-direction:column; min-width:0; position:relative; overflow:hidden;
  border:1px solid var(--na-line); border-radius:16px; background:var(--na-panel); color:var(--na-ink);
  text-decoration:none; box-shadow:none; transform:none;
  transition:border-color .2s,background .2s;
}
html .na-catalog .service-tile[hidden] {display:none;}
html .na-catalog .service-tile:hover {border-color:var(--na-sky); box-shadow:none; transform:none;}
.na-catalog .service-tile:focus-visible {outline:2px solid var(--na-sky); outline-offset:4px;}
.na-catalog .service-tile__media {height:auto; aspect-ratio:16/10; margin:0; flex:none; overflow:hidden; background:var(--bg-soft); border-radius:0;}
.na-catalog .service-tile__media img {display:block; width:100%; height:100%; object-fit:cover; object-position:center; transform:none; transition:transform .35s;}
.na-catalog .service-tile:hover .service-tile__media img {transform:scale(1.035);}
.na-catalog .service-tile__overlay {background:linear-gradient(0deg,rgba(3,23,34,.2),transparent 45%);}
.na-catalog .service-tile__price {inset:14px 14px auto auto; display:flex; align-items:center; min-height:36px; padding:7px 15px; border:1px solid rgba(185,218,239,.35); border-radius:24px; background:rgba(3,23,34,.82); backdrop-filter:blur(8px); box-shadow:none; color:#fff; font:500 17px/1.2 Oswald,Arial,sans-serif;}
.na-catalog .service-tile__price .card-price-single {font:inherit; color:inherit;}
.na-catalog .service-tile__body {display:flex; flex-direction:column; gap:0; flex:1; padding:22px 22px 0;}
.na-catalog .service-tile__title {margin:0 0 12px; color:var(--na-ink); font:500 25px/1.25 Oswald,Arial,sans-serif; letter-spacing:0; text-transform:uppercase;}
.na-catalog .service-tile__summary {display:block; overflow:visible; margin:0 0 20px; color:var(--na-muted); font-size:13px; line-height:1.75; -webkit-line-clamp:unset;}
.na-catalog .service-tile__meta {display:flex; flex-wrap:wrap; gap:10px 18px; padding:0; margin:auto 0 0; list-style:none; border:0;}
.na-catalog .service-tile__meta li {display:flex; align-items:center; gap:8px; padding:0; margin:0; border:0; background:none; color:var(--na-muted); font-size:12px; line-height:1.6;}
.na-catalog .service-tile__meta svg {width:19px; height:19px; flex:none; color:var(--na-sky);}
.na-catalog .service-tile__footer {display:flex; align-items:center; justify-content:space-between; gap:16px; margin:18px 22px 0; padding:14px 0 18px; border-top:1px solid var(--na-line); background:none;}
.na-catalog .service-tile__cta {flex:none; padding:0; background:none; border-radius:0; color:var(--na-ink); font-size:12px; font-weight:600; transform:none;}
.na-catalog .service-tile__arrow {display:grid; place-items:center; flex:none; width:36px; height:36px; border:1px solid var(--na-line); border-radius:50%; color:var(--na-sky); transition:background .2s,color .2s,border-color .2s;}
.na-catalog .service-tile__arrow svg {width:18px; height:18px;}
.na-catalog .service-tile:hover .service-tile__arrow {background:var(--na-blue); border-color:var(--na-blue); color:white;}
.na-catalog .service-tile.is-edit .service-tile__body {padding-bottom:22px;}
.na-catalog .services-catalog__empty {grid-column:1/-1; min-height:200px; padding:36px; color:var(--na-muted); border:1px solid var(--na-line); border-radius:16px; background:var(--na-panel);}
.na-catalog .services-catalog__no-results {padding:30px 0; color:var(--na-muted);}
.na-catalog #cms-main>:is(.section, .tour-block):last-child {padding:44px 0 48px; background:none; border:0;}
.na-catalog :is(.block-cta, .cta-join-us) {
  position:relative; isolation:isolate; overflow:hidden; min-height:330px; width:100%; max-width:none;
  padding:48px; margin:0; border:1px solid var(--na-line); border-radius:24px;
  background:linear-gradient(90deg,rgba(3,23,34,.95),rgba(3,23,34,.78) 38%,rgba(3,23,34,.05) 75%),url('/media/concept/boat-blue-hour.jpg') center 58% / cover;
  color:#f1f5f9; text-align:left; box-shadow:none;
}
.na-catalog :is(.block-cta, .cta-join-us)::before,
.na-catalog :is(.block-cta, .cta-join-us)::after {display:none;}
.na-catalog .cta-join-content {position:relative; padding:0; max-width:none; text-align:left;}
.na-catalog :is(.block-cta h2, .cta-join-title) {max-width:460px; margin:0 0 16px; color:#f1f5f9; font:500 44px/1.15 Oswald,Arial,sans-serif; text-transform:uppercase; text-wrap:balance;}
.na-catalog :is(.block-cta>p, .cta-join-text) {max-width:440px; margin:0 0 26px; color:#c9dce8; font-size:14px; line-height:1.7;}
.na-catalog :is(.block-cta-actions, .cta-join-actions) {justify-content:flex-start; gap:12px; margin:0;}
.na-catalog :is(.block-cta, .cta-join-us) .btn-secondary {color:#fff; background:rgba(3,23,34,.5); border-color:#6b9db7;}
.na-catalog .floating-buttons {display:none;}
.na-catalog .site-footer {background:var(--na-bg); border-top:1px solid var(--na-line); padding:28px 0;}
.na-catalog .footer-inner {display:flex; flex-direction:row; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px; font-size:11px; color:var(--na-muted);}
.na-catalog .footer-inner .brand {display:flex; align-items:center; gap:10px; color:var(--na-ink); font-size:15px; font-weight:800;}
.na-catalog .footer-inner .brand img {width:32px; height:32px; object-fit:contain;}
.na-catalog .footer-inner .brand span {display:inline;}
.na-catalog .footer-inner nav {margin:0; display:flex; flex-wrap:wrap; gap:22px;}
.na-catalog .footer-inner nav a {color:var(--na-muted); font-size:12px;}
.na-catalog .footer-inner nav a:hover {color:var(--na-sky);}
@media(min-width:1101px) {
  .na-catalog .catalog-heading {margin-bottom:26px;}
  .na-catalog .services-sort {position:relative;}
}
@media(max-width:1100px) {
  .na-catalog .services-catalog {gap:20px;}
  .na-catalog .service-tile__body {padding:20px 18px 0;}
  .na-catalog .service-tile__title {font-size:23px;}
  .na-catalog .service-tile__footer {margin-inline:18px;}
  .na-catalog .services-sort {margin-left:0;}
}
@media(max-width:900px) {
  .na-catalog :is(.page-hero, .services-page-hero) {width:calc(100% - 48px); padding:40px 32px; min-height:340px;}
  .na-catalog .services-catalog {grid-template-columns:repeat(2,minmax(0,1fr));}
  .na-catalog :is(.block-cta, .cta-join-us) {padding:36px;}
  .na-catalog :is(.block-cta h2, .cta-join-title) {font-size:38px; max-width:370px;}
  .na-catalog :is(.block-cta>p, .cta-join-text) {max-width:350px;}
}
@media(max-width:600px) {
  .na-catalog :is(.page-hero, .services-page-hero) {width:calc(100% - 36px); margin-top:14px; border-radius:20px; padding:30px 22px 34px; min-height:350px; background-position:64% center; background-image:linear-gradient(90deg,rgba(3,23,34,.9),rgba(3,23,34,.42)),url('/media/concept/island-aerial.jpg');}
  .na-catalog :is(.na-eyebrow, .services-page-hero__eyebrow) {font-size:10px; letter-spacing:1.7px; margin-bottom:24px;}
  .na-catalog :is(.page-hero h1, .services-page-hero__title) {font-size:42px; letter-spacing:0; margin-bottom:18px; overflow-wrap:break-word;}
  .na-catalog :is(.page-hero p:not(.na-eyebrow), .services-page-hero__lead) {font-size:15px; line-height:1.65; margin-bottom:24px;}
  .na-catalog .catalog-hero-link {min-height:48px; font-size:12px; padding-inline:20px;}
  .na-catalog :is(.tour-block--services-grid, .services-catalog-section) {padding-top:30px;}
  .na-catalog .catalog-heading {font-size:29px; margin-bottom:20px;}
  .na-catalog .services-catalog-toolbar {gap:18px; padding-bottom:22px;}
  .na-catalog .services-filters {gap:8px; width:100%;}
  html .na-catalog .services-filter {padding:10px 14px; font-size:12px;}
  .na-catalog .services-sort {width:100%; justify-content:space-between;}
  html .na-catalog .services-sort select {font-size:16px; width:205px;}
  .na-catalog .services-catalog {grid-template-columns:minmax(0,1fr); gap:20px;}
  .na-catalog .service-tile__media {aspect-ratio:16/10;}
  .na-catalog .service-tile__body {padding:22px 20px 0;}
  .na-catalog .service-tile__title {font-size:26px;}
  .na-catalog .service-tile__summary {font-size:16px; line-height:1.65;}
  .na-catalog .service-tile__meta li {font-size:13px;}
  .na-catalog .service-tile__footer {margin-inline:20px;}
  .na-catalog .service-tile__cta {font-size:13px;}
  .na-catalog #cms-main>:is(.section, .tour-block):last-child {padding:30px 0;}
  .na-catalog :is(.block-cta, .cta-join-us) {padding:210px 22px 28px; min-height:0; border-radius:20px; background-color:#031722; background-image:linear-gradient(0deg,#031722 42%,rgba(3,23,34,0) 75%),url('/media/concept/boat-blue-hour.jpg'); background-position:center,72% top; background-size:cover,auto 290px; background-repeat:no-repeat;}
  .na-catalog :is(.block-cta h2, .cta-join-title) {font-size:34px; max-width:100%;}
  .na-catalog :is(.block-cta>p, .cta-join-text) {font-size:16px; max-width:100%;}
  .na-catalog :is(.block-cta-actions, .cta-join-actions) {display:grid; grid-template-columns:1fr;}
  .na-catalog :is(.block-cta, .cta-join-us) .btn {width:100%;}
  .na-catalog .footer-inner {display:flex; flex-wrap:wrap; justify-content:center; gap:24px; text-align:center;}
}
@media(prefers-reduced-motion:reduce) {
  .na-catalog .service-tile__media img,.na-catalog .service-tile__arrow,.na-catalog .services-filter {transition:none;}
  .na-catalog .service-tile:hover .service-tile__media img {transform:none;}
}
