/* Generated by php scripts/build-home-css.php; preserve cascade order. */

/* assets/css/tokens.css */
:root {
  --ncrc-color-river: #075a9e;
  --ncrc-color-river-deep: #041b36;
  --ncrc-color-river-night: #041b36;
  --ncrc-color-blue: #075a9e;
  --ncrc-color-sun: #f5b942;
  --ncrc-color-sun-bright: #ffca60;
  --ncrc-color-sand: #f2f6f7;
  --ncrc-color-mist: #f2f6f7;
  --ncrc-color-river-blue: #0f76b8;
  --ncrc-color-canvas: #ffffff;
  --ncrc-color-surface: #ffffff;
  --ncrc-color-ink: #041b36;
  --ncrc-color-copy: #38516c;
  --ncrc-color-muted: #6f8193;
  --ncrc-color-line: #d7e0e8;
  --ncrc-color-success: #0f8b70;
  --ncrc-color-focus: #ffd45c;
  --ncrc-font-display: "NCRC Inter", sans-serif;
  --ncrc-font-body: "NCRC Inter", sans-serif;
  --ncrc-step--1: clamp(.78rem, .75rem + .12vw, .88rem);
  --ncrc-step-0: clamp(.96rem, .92rem + .18vw, 1.08rem);
  --ncrc-step-1: clamp(1.12rem, 1.02rem + .42vw, 1.35rem);
  --ncrc-step-2: clamp(1.38rem, 1.15rem + .9vw, 1.9rem);
  --ncrc-step-3: clamp(1.75rem, 1.38rem + 1.45vw, 2.65rem);
  --ncrc-step-4: clamp(2.25rem, 1.65rem + 2.45vw, 4rem);
  --ncrc-step-5: clamp(3rem, 2.05rem + 3.6vw, 5.6rem);
  --ncrc-space-1: .4rem;
  --ncrc-space-2: .75rem;
  --ncrc-space-3: 1rem;
  --ncrc-space-4: 1.5rem;
  --ncrc-space-5: 2rem;
  --ncrc-space-6: 3rem;
  --ncrc-space-7: 4.5rem;
  --ncrc-space-section: clamp(5rem, 8vw, 8.5rem);
  --ncrc-container: 1240px;
  --ncrc-container-wide: 1440px;
  --ncrc-radius-sm: .65rem;
  --ncrc-radius-md: 1rem;
  --ncrc-radius-lg: 1.5rem;
  --ncrc-radius-pill: 999px;
  --ncrc-shadow-sm: 0 10px 30px rgba(2, 39, 70, .08);
  --ncrc-shadow-lg: 0 28px 80px rgba(1, 27, 49, .18);
  --ncrc-ease: cubic-bezier(.22, 1, .36, 1);
  --ncrc-duration: 260ms;
}



/* assets/css/base.css */
@font-face { font-family: "NCRC Inter"; src: url("../fonts/inter-variable.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "NCRC Inter"; src: url("../fonts/inter-latin-variable.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F, U+2190-21FF, U+2212, U+FEFF, U+FFFD; }
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ncrc-color-canvas);
  color: var(--ncrc-color-copy);
  font-family: var(--ncrc-font-body);
  font-size: var(--ncrc-step-0);
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}
body.admin-bar { --ncrc-admin-bar: 32px; }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-underline-offset: .2em; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, h4, p { margin-block-start: 0; }
h1, h2, h3, h4, h5, h6 {
  color: var(--ncrc-color-ink);
  font-family: var(--ncrc-font-display);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.04;
}
h1 { font-size: var(--ncrc-step-5); }
h2 { font-size: var(--ncrc-step-4); }
h3 { font-size: var(--ncrc-step-2); }
:focus-visible { outline: 3px solid var(--ncrc-color-focus); outline-offset: 4px; }
::selection { background: var(--ncrc-color-sun); color: var(--ncrc-color-river-night); }
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  clip: auto !important;
  clip-path: none;
  height: auto;
  left: 1rem;
  padding: .75rem 1rem;
  top: 1rem;
  width: auto;
  z-index: 100000;
}



/* assets/css/components.css */
.ncrc-container { margin-inline: auto; max-width: var(--ncrc-container); padding-inline: clamp(1.1rem, 4vw, 3rem); width: 100%; }
.ncrc-container--wide { max-width: var(--ncrc-container-wide); }
.ncrc-section { padding-block: var(--ncrc-space-section); position: relative; }
.ncrc-eyebrow {
  color: var(--ncrc-color-blue);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .24em;
  margin-bottom: 1rem;
  text-transform: uppercase;
}
.ncrc-heading-mark { color: var(--ncrc-color-sun); }
.ncrc-heading-mark:not(.ncrc-heading-mark--question) { background: var(--ncrc-color-sun); border-radius: 50%; color: transparent; display: inline-block; height: .15em; width: .15em; margin-left: .025em; overflow: hidden; }
.ncrc-button {
  align-items: center;
  background: var(--ncrc-color-sun);
  border: 1px solid var(--ncrc-color-sun);
  border-radius: var(--ncrc-radius-sm);
  color: var(--ncrc-color-river-night);
  display: inline-flex;
  font-weight: 800;
  gap: .85rem;
  justify-content: center;
  min-height: 3.35rem;
  padding: .85rem 1.45rem;
  text-decoration: none;
  transition: transform var(--ncrc-duration) var(--ncrc-ease), background var(--ncrc-duration) ease, box-shadow var(--ncrc-duration) ease;
}
.ncrc-button:hover { background: var(--ncrc-color-sun-bright); box-shadow: 0 14px 30px rgba(246, 184, 47, .24); transform: translateY(-2px); }
.ncrc-button--outline { background: transparent; border-color: currentColor; color: inherit; }
.ncrc-card { background: var(--ncrc-color-surface); border: 1px solid var(--ncrc-color-line); border-radius: var(--ncrc-radius-md); overflow: hidden; }
.ncrc-tag { border: 1px solid currentColor; border-radius: var(--ncrc-radius-pill); display: inline-flex; font-size: var(--ncrc-step--1); font-weight: 750; line-height: 1; padding: .48rem .78rem; }
.ncrc-surface-dark { background: var(--ncrc-color-river-deep); color: #fff; }
.ncrc-surface-dark h2, .ncrc-surface-dark h3 { color: #fff; }
.ncrc-field label { display: block; font-size: .72rem; font-weight: 800; letter-spacing: .06em; margin-bottom: .35rem; text-transform: uppercase; }
.ncrc-control {
  appearance: none;
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(8,40,79,.16);
  border-radius: .7rem;
  color: var(--ncrc-color-ink);
  min-height: 3.4rem;
  padding: .75rem 1rem;
  width: 100%;
}
.ncrc-price-slider__label { align-items: center; display: flex !important; justify-content: space-between; }
.ncrc-price-slider__label output { color: var(--ncrc-color-blue); font-size: .72rem; font-weight: 850; letter-spacing: 0; text-transform: none; }
.ncrc-price-slider {
  --ncrc-range-progress: 100%;
  appearance: none;
  background: linear-gradient(90deg,var(--ncrc-color-sun) 0 var(--ncrc-range-progress),rgba(8,40,79,.17) var(--ncrc-range-progress) 100%);
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  height: .3rem;
  margin: .9rem 0 .35rem;
  padding: 0;
  width: 100%;
}
.ncrc-price-slider::-webkit-slider-thumb { appearance: none; background: #fff; border: 3px solid var(--ncrc-color-sun); border-radius: 50%; box-shadow: 0 2px 9px rgba(1,27,49,.22); height: 1.15rem; width: 1.15rem; }
.ncrc-price-slider::-moz-range-thumb { background: #fff; border: 3px solid var(--ncrc-color-sun); border-radius: 50%; box-shadow: 0 2px 9px rgba(1,27,49,.22); height: .85rem; width: .85rem; }
.ncrc-price-slider:focus-visible { outline: 3px solid rgba(42,111,194,.35); outline-offset: .45rem; }
.ncrc-price-slider__limits { color: var(--ncrc-color-muted); display: flex; font-size: .65rem; font-weight: 650; justify-content: space-between; }
.ncrc-cruise-search .ncrc-price-slider__label output { color: #fff; }
.ncrc-cruise-search .ncrc-price-slider { background: linear-gradient(90deg,var(--ncrc-color-sun) 0 var(--ncrc-range-progress),rgba(255,255,255,.28) var(--ncrc-range-progress) 100%); }
.ncrc-cruise-search .ncrc-price-slider__limits { color: rgba(255,255,255,.7); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
.ncrc-site-header { background: var(--ncrc-color-river-night); border-bottom: 1px solid rgba(255,255,255,.12); color: #fff; position: relative; z-index: 50; }
.ncrc-site-header--overlay { background: linear-gradient(180deg, rgba(1,27,49,.7), transparent); border-bottom: 0; color: #fff; left: 0; position: absolute; right: 0; top: var(--ncrc-admin-bar, 0); }
.ncrc-site-header__inner { align-items: center; display: flex; justify-content: space-between; min-height: 6.1rem; }
.ncrc-brand { align-items: center; display: inline-flex; gap: .8rem; text-decoration: none; }
.ncrc-brand__mark { height: 3rem; width: 4rem; }
.ncrc-brand__image { height: auto; max-height: 4.25rem; width: clamp(210px, 19vw, 310px); }
.ncrc-brand__text { display: grid; line-height: 1; text-transform: uppercase; }
.ncrc-brand__text strong { font-family: var(--ncrc-font-display); font-size: 1.15rem; letter-spacing: .08em; }
.ncrc-brand__text small { font-size: .57rem; font-weight: 800; letter-spacing: .25em; margin-top: .4rem; }
.ncrc-primary-nav { align-items: center; display: flex; gap: 2.4rem; }
.ncrc-primary-nav__list, .ncrc-footer__menu, .ncrc-footer__legal { align-items: center; display: flex; gap: clamp(1.1rem, 2.5vw, 2.3rem); list-style: none; margin: 0; padding: 0; }
.ncrc-primary-nav__list a { font-size: .82rem; font-weight: 750; letter-spacing: .05em; text-decoration: none; text-transform: uppercase; }
.ncrc-primary-nav__list a:hover { color: var(--ncrc-color-sun); }
.ncrc-primary-nav__list > .menu-item { position: relative; }
.ncrc-primary-nav__list > .menu-item-has-children > a::after { border-bottom: 1.5px solid currentColor; border-right: 1.5px solid currentColor; content: ""; display: inline-block; height: .42rem; margin: 0 0 .22rem .55rem; transform: rotate(45deg); width: .42rem; }
.ncrc-primary-nav__list > .menu-item-has-children > .sub-menu { background: rgba(251,250,246,.98); border: 1px solid rgba(8,40,79,.1); border-radius: .85rem; box-shadow: 0 18px 45px rgba(1,27,49,.18); color: var(--ncrc-color-ink); left: 50%; list-style: none; margin: 0; min-width: 13.5rem; opacity: 0; padding: .65rem; pointer-events: none; position: absolute; top: calc(100% + 1rem); transform: translate(-50%, -.45rem); transition: opacity var(--ncrc-duration), transform var(--ncrc-duration), visibility var(--ncrc-duration); visibility: hidden; }
.ncrc-primary-nav__list > .menu-item-has-children > .sub-menu::before { content: ""; height: 1rem; inset: -1rem 0 auto; position: absolute; }
.ncrc-primary-nav__list > .menu-item-has-children:hover > .sub-menu,
.ncrc-primary-nav__list > .menu-item-has-children:focus-within > .sub-menu { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); visibility: visible; }
.ncrc-primary-nav__list .sub-menu a { border-radius: .55rem; display: block; padding: .72rem .8rem; white-space: nowrap; }
.ncrc-primary-nav__list .sub-menu a:hover,
.ncrc-primary-nav__list .sub-menu a:focus-visible { background: rgba(246,184,47,.14); color: var(--ncrc-color-blue); }
.ncrc-primary-nav__cta { min-height: 2.85rem; padding: .6rem 1rem; }
.ncrc-menu-toggle { background: transparent; border: 0; color: inherit; display: none; padding: .75rem; }
.ncrc-menu-toggle__label { font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ncrc-menu-toggle__icon { display: inline-grid; gap: 5px; margin-left: .6rem; }
.ncrc-menu-toggle__icon i { background: currentColor; display: block; height: 2px; width: 23px; }
.ncrc-footer { overflow: hidden; padding: clamp(5rem, 8vw, 8rem) 0 2rem; position: relative; }
.ncrc-footer__current { background: linear-gradient(rgba(1,27,49,.3), rgba(1,27,49,.58)), url("../images/footer-river.webp") center / cover no-repeat; inset: 0; opacity: .72; position: absolute; }
.ncrc-footer .ncrc-container { position: relative; }
.ncrc-footer__top, .ncrc-footer__bottom { align-items: center; display: flex; gap: 2rem; justify-content: space-between; }
.ncrc-footer__top { border-bottom: 1px solid rgba(255,255,255,.16); padding-bottom: 3.5rem; }
.ncrc-footer__bottom { color: rgba(255,255,255,.65); font-size: .78rem; padding-top: 1.5rem; }
.ncrc-footer__bottom p { margin: 0; }
.ncrc-footer a { text-decoration: none; }
.ncrc-page-hero { color: #fff; min-height: clamp(340px, 42vw, 520px); overflow: hidden; position: relative; }
.ncrc-page-hero__image, .ncrc-page-hero__shade { height: 100%; inset: 0; position: absolute; width: 100%; }
.ncrc-page-hero__image { object-fit: cover; }
.ncrc-page-hero__shade { background: linear-gradient(90deg, rgba(1,27,49,.88), rgba(1,27,49,.35) 58%, rgba(1,27,49,.08)); }
.ncrc-page-hero__content { align-content: end; display: grid; min-height: inherit; padding-bottom: clamp(3rem, 7vw, 6rem); padding-top: 8rem; position: relative; }
.ncrc-page-hero .ncrc-eyebrow { color: rgba(255,255,255,.72); }
.ncrc-page-hero h1 { color: #fff; margin: 0; max-width: 14ch; }
.ncrc-page-hero__intro { color: rgba(255,255,255,.76); font-size: var(--ncrc-step-1); margin: 1.25rem 0 0; max-width: 56ch; }
.ncrc-content-shell { padding-block: var(--ncrc-space-section); }
@media (max-width: 900px) {
  .ncrc-menu-toggle { align-items: center; display: inline-flex; }
  .ncrc-primary-nav { align-items: stretch; background: var(--ncrc-color-river-night); color: #fff; flex-direction: column; inset: 5.5rem 1rem auto; opacity: 0; padding: 1.5rem; pointer-events: none; position: absolute; transform: translateY(-.75rem); transition: opacity var(--ncrc-duration), transform var(--ncrc-duration); }
  .ncrc-primary-nav[data-open="true"] { opacity: 1; pointer-events: auto; transform: none; }
  .ncrc-primary-nav__list { align-items: stretch; flex-direction: column; gap: 0; }
  .ncrc-primary-nav__list a { display: block; padding: 1rem .25rem; }
  .ncrc-primary-nav__list > .menu-item-has-children > .sub-menu { background: transparent; border: 0; box-shadow: none; color: inherit; left: auto; margin: -.35rem 0 .4rem 1rem; min-width: 0; opacity: 1; padding: 0 0 0 1rem; pointer-events: auto; position: static; transform: none; visibility: visible; }
  .ncrc-primary-nav__list > .menu-item-has-children > .sub-menu::before { display: none; }
  .ncrc-primary-nav__list .sub-menu a { padding: .7rem .25rem; white-space: normal; }
  .ncrc-footer__top, .ncrc-footer__bottom { align-items: flex-start; flex-direction: column; }
  .ncrc-footer__menu, .ncrc-footer__legal { align-items: flex-start; flex-wrap: wrap; }
}


/* Shared chrome follows the approved photographic header and compact river footer. */
.ncrc-site-header__inner { min-height: 88px; }
.ncrc-brand__image { max-height: 64px; width: clamp(210px,19vw,270px); }
.ncrc-primary-nav__list a { font-size: 14px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.ncrc-primary-nav__list a[aria-current] { text-decoration: underline; text-decoration-color: var(--ncrc-color-sun); text-decoration-thickness: 2px; text-underline-offset: 10px; }
.ncrc-footer { padding: 48px 0 22px; }
.ncrc-footer::before { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 30' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0H1440V13Q1260 30 1080 15T720 15T360 15T0 17Z'/%3E%3C/svg%3E") center / 100% 100%; content: ''; height: 26px; inset: -1px 0 auto; position: absolute; width: 100%; z-index: 1; }
.ncrc-footer__current { opacity: 1; background: linear-gradient(rgba(1,27,49,.12),rgba(1,27,49,.25)),url("../images/footer-river.webp") center / cover no-repeat; }
.ncrc-footer__top { gap: 28px; padding-bottom: 24px; }
.ncrc-footer__menu { font-size: 14px; }
.ncrc-footer .ncrc-button { border-color: var(--ncrc-color-sun); border-radius: 5px; color: var(--ncrc-color-sun); font-size: 14px; min-height: 42px; }
.ncrc-footer__bottom { font-size: 12px; padding-top: 18px; }
.ncrc-destination-hero__content { padding-top: 120px; }
@media(max-width:900px) { .ncrc-primary-nav { inset: 88px 16px auto; } .ncrc-primary-nav[data-open="false"] { visibility: hidden; } .ncrc-primary-nav[data-open="true"] { visibility: visible; } .ncrc-footer__top { display: grid; grid-template-columns: 1fr 1fr; } .ncrc-footer__top > nav { grid-column: 1 / -1; grid-row: 2; } }
@media(max-width:580px) { .ncrc-site-header__inner { min-height: 78px; } .ncrc-footer__top { grid-template-columns: 1fr; } .ncrc-footer__top > nav { grid-row: auto; } .ncrc-brand__image { width: 205px; } }
.ncrc-site-header--light { background: #fff; color: var(--ncrc-color-ink); position: relative; }
.ncrc-breadcrumbs { color: #506d86; display: block; font-size: 14px; line-height: 1.5; margin: 0 0 22px; }
.ncrc-breadcrumbs ol { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.ncrc-breadcrumbs li { align-items: center; display: inline-flex; gap: 8px; }
.ncrc-breadcrumbs a { color: inherit; font-weight: 400; text-decoration: none; }
.ncrc-breadcrumbs a:hover { text-decoration: underline; }
.ncrc-breadcrumbs__separator { opacity: .7; }
.ncrc-breadcrumbs--inverse,.ncrc-breadcrumbs--inverse a { color: #fff; }
.ncrc-primary-nav { gap: 24px; }
.ncrc-primary-nav__cta { font-size: 13px; min-height: 40px; padding: 8px 15px; }
.ncrc-site-header--light .ncrc-brand__image { max-height: 58px; }
.ncrc-footer { background-color: #023569; }
.ncrc-footer__current { background-image: linear-gradient(rgba(0,52,103,.25),rgba(0,37,78,.3)),url('../images/footer-river.webp'); }
@media(max-width:900px) { .ncrc-site-header--light .ncrc-primary-nav { color: #fff; } .ncrc-primary-nav__cta { align-self: start; } }

.ncrc-footer__current { background-image: linear-gradient(rgba(0,35,76,.15),rgba(0,24,53,.4)),url('../images/blue-water.webp'); }
/* Raster brand artwork; never substitute the old traced SVG. */
.ncrc-brand { flex-shrink: 0; }
.ncrc-brand__image { max-height: 76px; object-fit: contain; width: clamp(220px,21vw,280px); }
/* Recolor the existing raster alpha for the white lockup; retain its sail colors. */
.ncrc-brand--white { position: relative; }
.ncrc-brand--white .ncrc-brand__image { clip-path: polygon(0 0,32% 0,32% 69%,0 82%); }
.ncrc-brand--white::after { background: #fff; clip-path: polygon(32% 0,100% 0,100% 100%,0 100%,0 82%,32% 69%); content: ''; inset: 0; mask: url('../images/logo-ncrc-720.webp') center / 100% 100% no-repeat; -webkit-mask: url('../images/logo-ncrc-720.webp') center / 100% 100% no-repeat; pointer-events: none; position: absolute; }
.ncrc-site-header--light .ncrc-brand__image { max-height: 70px; }
@media(max-width:580px) { .ncrc-brand__image { max-height: 66px; width: 205px; } }
.ncrc-brand { width: fit-content; }
.ncrc-brand__image { height: auto; max-height: none; object-fit: fill; width: clamp(220px,19vw,250px); }
.ncrc-site-header--light .ncrc-brand__image { max-height: none; }
@media(max-width:580px) { .ncrc-brand__image { width: 205px; } }


/* assets/css/utilities.css */
.ncrc-grid { display: grid; gap: var(--ncrc-space-4); }
.ncrc-cluster { align-items: center; display: flex; flex-wrap: wrap; gap: var(--ncrc-space-3); }
.ncrc-stack > * + * { margin-block-start: var(--ncrc-space-4); }
.ncrc-prose { max-width: 68ch; }
.ncrc-text-center { text-align: center; }
.ncrc-visually-hidden { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }



/* style.css */
/*
Theme Name: NCRC Living Nile
Theme URI: https://nilecruisereservationcenter.com/
Author: Nile Cruise Reservation Center
Description: A fast, specialist booking theme for Nile cruises.
Version: 0.5.17
Text Domain: ncrc-living-nile
Requires at least: 6.4
Requires PHP: 8.0
*/



/* assets/css/front-page.css */
.ncrc-section-heading { align-items: end; display: grid; gap: 2rem; grid-template-columns: minmax(0,1.2fr) minmax(260px,.7fr); margin-bottom: clamp(2.4rem, 5vw, 4rem); }
.ncrc-section-heading h2 { margin-bottom: 0; max-width: 13ch; }
.ncrc-section-heading > p { margin-bottom: .5rem; max-width: 48ch; }
.ncrc-featured__grid { display: grid; gap: clamp(1rem, 2vw, 1.6rem); grid-template-columns: repeat(4, minmax(0,1fr)); }
.ncrc-cruise-card { box-shadow: 0 10px 30px rgba(5,41,76,.055); display: flex; flex-direction: column; min-width: 0; transition: border-color var(--ncrc-duration), box-shadow var(--ncrc-duration), transform var(--ncrc-duration); }
.ncrc-cruise-card:hover { box-shadow: var(--ncrc-shadow-sm); transform: translateY(-4px); }
.ncrc-cruise-card__media { aspect-ratio: 8 / 5; background: radial-gradient(circle at 72% 24%,rgba(246,184,47,.25),transparent 26%), linear-gradient(145deg,#dcecf3,#75a7bf); display: block; overflow: hidden; }
.ncrc-cruise-card__media img { height: 100%; object-fit: cover; transition: transform 700ms var(--ncrc-ease); width: 100%; }
.ncrc-cruise-card:hover .ncrc-cruise-card__media img { transform: scale(1.035); }
.ncrc-image-placeholder { align-items: center; color: rgba(7,58,105,.55); display: flex; height: 100%; justify-content: center; width: 100%; }
.ncrc-image-placeholder svg { filter: drop-shadow(0 6px 10px rgba(1,27,49,.08)); width: 24%; }
.ncrc-cruise-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.15rem 1.15rem 1rem; }
.ncrc-cruise-card__labels { color: var(--ncrc-color-blue); display: flex; flex-wrap: wrap; font-size: .59rem; font-weight: 850; gap: .45rem; letter-spacing: .14em; margin-bottom: .8rem; min-height: 1.2rem; text-transform: uppercase; }
.ncrc-cruise-card__labels span + span::before { color: var(--ncrc-color-sun); content: "|"; margin-right: .45rem; }
.ncrc-cruise-card h3 { display: -webkit-box; font-size: clamp(1.05rem,1.35vw,1.3rem); letter-spacing: -.02em; line-height: 1.15; margin-bottom: .5rem; min-height: 2.3em; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.ncrc-cruise-card h3 a { text-decoration: none; }
.ncrc-cruise-card__programs { color: var(--ncrc-color-blue); font-size: .7rem; font-weight: 720; margin-bottom: .65rem; min-height: 1.05rem; }
.ncrc-cruise-card__summary { display: -webkit-box; font-size: .83rem; line-height: 1.55; min-height: 2.6em; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ncrc-cruise-card__footer { align-items: center; border-top: 1px solid var(--ncrc-color-line); display: grid; gap: .7rem; grid-template-columns: minmax(0,1fr) auto; margin-top: auto; padding-top: 1rem; }
.ncrc-cruise-card__price { color: var(--ncrc-color-ink); font-size: .8rem; font-weight: 800; line-height: 1.35; margin: 0; max-width: 15ch; }
.ncrc-cruise-card__link { align-items: center; background: var(--ncrc-color-sun); border-radius: .45rem; color: var(--ncrc-color-river-night); display: inline-flex; flex: 0 0 auto; font-size: .74rem; font-weight: 850; gap: .4rem; justify-content: center; min-height: 2.45rem; padding: .5rem .75rem; text-decoration: none; }
@media (max-width: 1050px) { .ncrc-featured__grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 720px) { .ncrc-section-heading { align-items: start; grid-template-columns: 1fr; } }
@media (max-width: 560px) { .ncrc-featured__grid { grid-template-columns: 1fr; } }
.ncrc-how { background: linear-gradient(90deg, rgba(1,27,49,.93), rgba(1,27,49,.72)), url("../images/how-it-works.webp") center / cover no-repeat; overflow: hidden; }
.ncrc-how__glow { background: radial-gradient(circle, rgba(246,184,47,.2), transparent 64%); height: 500px; position: absolute; right: -100px; top: -200px; width: 500px; }
.ncrc-how .ncrc-container { position: relative; z-index: 1; }
.ncrc-how .ncrc-eyebrow { color: rgba(255,255,255,.7); }
.ncrc-how h2 { font-size: clamp(2.2rem, 4.2vw, 4.2rem); max-width: 13ch; }
.ncrc-how__route { height: clamp(110px, 11vw, 155px); margin-top: 1.25rem; overflow: visible; width: 100%; }
.ncrc-how__route path { fill: none; filter: drop-shadow(0 0 7px rgba(246,184,47,.65)); stroke: var(--ncrc-color-sun); stroke-linecap: round; stroke-width: 4; vector-effect: non-scaling-stroke; }
.ncrc-how__steps { display: grid; gap: clamp(2rem, 5vw, 5rem); grid-template-columns: repeat(3, 1fr); margin-top: -4.7rem; }
.ncrc-how__steps article { padding-top: 0; position: relative; }
.ncrc-how__number { align-items: center; background: var(--ncrc-color-river-deep); border: 2px solid var(--ncrc-color-sun); border-radius: 50%; box-shadow: 0 0 0 7px rgba(1,27,49,.45), 0 0 24px rgba(246,184,47,.38); color: #fff; display: flex; font-size: .73rem; font-weight: 850; height: 3.2rem; justify-content: center; margin: 0 auto 2rem; width: 3.2rem; }
.ncrc-how__steps h3 { font-size: var(--ncrc-step-1); }
.ncrc-how__steps p { color: rgba(255,255,255,.72); max-width: 32ch; }
.ncrc-types__grid { display: grid; gap: 1.25rem; grid-template-columns: 1.25fr 1fr 1fr; }
.ncrc-type-card { background: linear-gradient(145deg, #0b568a, #032746); border-radius: var(--ncrc-radius-md); color: #fff; min-height: 430px; overflow: hidden; position: relative; }
.ncrc-type-card:first-child { grid-row: span 2; min-height: 680px; }
.ncrc-type-card--evening { background: linear-gradient(145deg, #1b244c, #09162f 58%, #553827); grid-column: 2 / 4; min-height: 245px; }
.ncrc-type-card__image { height: 100%; inset: 0; object-fit: cover; position: absolute; transition: transform 900ms var(--ncrc-ease); width: 100%; }
.ncrc-type-card:hover .ncrc-type-card__image { transform: scale(1.035); }
.ncrc-type-card__body { background: linear-gradient(0deg, rgba(1,27,49,.92), transparent); bottom: 0; left: 0; padding: clamp(1.4rem, 3vw, 2.5rem); position: absolute; right: 0; }
.ncrc-type-card__body > p:first-child { color: var(--ncrc-color-sun); font-size: .65rem; font-weight: 850; letter-spacing: .16em; margin-bottom: .75rem; text-transform: uppercase; }
.ncrc-type-card__body h3 { color: #fff; margin-bottom: .75rem; }
.ncrc-type-card__body > p:not(:first-child) { color: rgba(255,255,255,.74); font-size: .88rem; max-width: 44ch; }
.ncrc-type-card__body a { color: #fff; font-size: .8rem; font-weight: 800; text-decoration: none; }
.ncrc-destinations { background: var(--ncrc-color-river-night); color: #fff; overflow: hidden; }
.ncrc-destinations h2 { color: #fff; max-width: 12ch; }
.ncrc-destinations__intro { max-width: 680px; }
.ncrc-destinations__intro > p:last-child { color: rgba(255,255,255,.7); max-width: 56ch; }
.ncrc-destinations__route { background: url("../svg/route-line.svg") center / 100% auto no-repeat; height: clamp(70px, 10vw, 130px); margin-block: 2rem 1rem; }
.ncrc-destinations__grid { display: grid; gap: 1rem; grid-template-columns: repeat(4, 1fr); }
.ncrc-destination-card { border-radius: var(--ncrc-radius-md); min-height: 340px; overflow: hidden; position: relative; }
.ncrc-destination-card a { color: #fff; display: block; height: 100%; min-height: inherit; text-decoration: none; }
.ncrc-destination-card img, .ncrc-destination-card .ncrc-image-placeholder { height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; }
.ncrc-destination-card__shade { background: linear-gradient(0deg, rgba(1,27,49,.94), transparent 65%); inset: 0; position: absolute; }
.ncrc-destination-card__number { bottom: 1.4rem; color: var(--ncrc-color-sun); font-size: .72rem; font-weight: 850; left: 1.4rem; position: absolute; }
.ncrc-destination-card__title { bottom: 1.25rem; font-family: var(--ncrc-font-display); font-size: 1.35rem; font-weight: 750; left: 3.6rem; position: absolute; }
@media (max-width: 900px) {
  .ncrc-how__steps, .ncrc-destinations__grid { grid-template-columns: repeat(2, 1fr); }
  .ncrc-types__grid { grid-template-columns: 1fr 1fr; }
  .ncrc-type-card:first-child { grid-row: auto; min-height: 430px; }
  .ncrc-type-card--evening { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .ncrc-how__steps, .ncrc-types__grid, .ncrc-destinations__grid { grid-template-columns: 1fr; }
  .ncrc-type-card--evening { grid-column: auto; min-height: 390px; }
  .ncrc-how__route { display: none; }
	.ncrc-how__steps { border-left: 1px solid rgba(246,184,47,.5); margin-left: 1.55rem; margin-top: 3rem; padding-left: 2rem; }
	.ncrc-how__number { margin: 0 0 1.25rem -3.65rem; transform: none; }
}
.ncrc-specialist { background: #fff; }
.ncrc-specialist__layout { align-items: start; display: grid; gap: clamp(3rem, 8vw, 8rem); grid-template-columns: minmax(280px,.8fr) minmax(0,1.2fr); }
.ncrc-specialist h2 { max-width: 9ch; }
.ncrc-specialist__proof { margin: 0; }
.ncrc-specialist__proof div { border-bottom: 1px solid var(--ncrc-color-line); display: grid; gap: 1.25rem; grid-template-columns: minmax(140px,.55fr) 1fr; padding: 1.15rem 0; }
.ncrc-specialist__proof dt { color: var(--ncrc-color-blue); font-size: .82rem; font-weight: 850; }
.ncrc-specialist__proof dd { color: var(--ncrc-color-muted); font-size: .88rem; margin: 0; }
.ncrc-accreditations { background: linear-gradient(145deg, #fff, #f3f7fa); border-top: 1px solid var(--ncrc-color-line); padding-block: var(--ncrc-space-section); }
.ncrc-accreditations__inner { align-items: center; display: grid; gap: clamp(3rem, 7vw, 7rem); grid-template-columns: minmax(240px,.62fr) minmax(0,1.38fr); }
.ncrc-accreditations__copy h2 { font-size: var(--ncrc-step-3); margin-bottom: 1rem; max-width: 10ch; }
.ncrc-accreditations__copy > p:last-child { color: var(--ncrc-color-muted); max-width: 39ch; }
.ncrc-accreditations__logos { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0,1fr)); }
.ncrc-accreditation-card { align-items: center; background: rgba(255,255,255,.84); border: 1px solid rgba(8,40,79,.09); border-radius: var(--ncrc-radius-md); display: flex; justify-content: center; min-height: 132px; padding: .4rem; transition: border-color var(--ncrc-duration), transform var(--ncrc-duration); }
.ncrc-accreditation-card:hover { border-color: rgba(23,105,180,.28); transform: translateY(-3px); }
.ncrc-accreditation-card img { height: auto; max-height: 120px; width: 100%; }
.ncrc-reviews { background: #0b0603; }
.ncrc-reviews .ncrc-eyebrow { color: var(--ncrc-color-sun); }
.ncrc-reviews .ncrc-section-heading > p { color: rgba(255,255,255,.67); }
.ncrc-reviews__widget { color: var(--ncrc-color-ink); }
.ncrc-reviews__widget > div, .ncrc-reviews__empty { background: #f8f8f7; border-radius: var(--ncrc-radius-md); padding: clamp(1.25rem, 3vw, 2.25rem); }
.ncrc-reviews__empty { color: var(--ncrc-color-muted); }
@media (max-width: 760px) {
  .ncrc-specialist__layout { grid-template-columns: 1fr; }
  .ncrc-specialist__proof div { grid-template-columns: 1fr; gap: .35rem; }
	.ncrc-accreditations__inner { grid-template-columns: 1fr; }
}
@media (max-width: 520px) { .ncrc-accreditations__logos { grid-template-columns: 1fr; } }
.ncrc-custom-trip { background: linear-gradient(90deg, rgba(1,27,49,.82), rgba(1,27,49,.2)), url("../images/custom-trip.webp") center / cover no-repeat; color: #fff; overflow: hidden; padding-block: clamp(3.5rem, 7vw, 6rem); position: relative; }
.ncrc-custom-trip::before { background: var(--ncrc-color-river-deep); border-radius: 50% 50% 0 0 / 100% 100% 0 0; bottom: -70px; content: ""; height: 135px; left: -5%; opacity: .92; position: absolute; width: 110%; }
.ncrc-custom-trip__sun { background: radial-gradient(circle, rgba(246,184,47,.3), transparent 68%); height: 540px; position: absolute; right: 4%; top: -250px; width: 540px; }
.ncrc-custom-trip__inner { align-items: end; display: grid; gap: clamp(2.5rem, 7vw, 7rem); grid-template-columns: minmax(0,.9fr) minmax(520px,1.1fr); position: relative; }
.ncrc-custom-trip h2 { font-size: var(--ncrc-step-3); max-width: 17ch; }
.ncrc-custom-trip h2 { color: #fff; }
.ncrc-custom-trip__inner > div > p:last-child { color: rgba(255,255,255,.78); max-width: 52ch; }
.ncrc-custom-trip__form { align-items: end; background: rgba(255,255,255,.78); border: 1px solid rgba(255,255,255,.8); border-radius: var(--ncrc-radius-md); box-shadow: var(--ncrc-shadow-sm); display: grid; gap: .9rem; grid-template-columns: 1fr .8fr auto; padding: 1rem; }
.ncrc-custom-trip__form .ncrc-button { white-space: nowrap; }
.ncrc-faq { background: #fff; }
.ncrc-faq__layout { display: grid; gap: clamp(3rem, 8vw, 8rem); grid-template-columns: minmax(270px,.65fr) minmax(0,1.35fr); }
.ncrc-faq h2 { max-width: 9ch; }
.ncrc-faq__items { border-top: 1px solid var(--ncrc-color-line); }
.ncrc-faq details { border-bottom: 1px solid var(--ncrc-color-line); }
.ncrc-faq summary { align-items: center; color: var(--ncrc-color-ink); cursor: pointer; display: flex; font-weight: 800; gap: 2rem; justify-content: space-between; list-style: none; padding: 1.35rem .25rem; }
.ncrc-faq summary::-webkit-details-marker { display: none; }
.ncrc-faq summary span { color: var(--ncrc-color-blue); font-size: 1.35rem; transition: transform var(--ncrc-duration); }
.ncrc-faq details[open] summary span { transform: rotate(45deg); }
.ncrc-faq details div { color: var(--ncrc-color-muted); max-width: 68ch; padding: 0 2rem 1.25rem .25rem; }
@media (max-width: 960px) {
  .ncrc-custom-trip__inner, .ncrc-faq__layout { grid-template-columns: 1fr; }
  .ncrc-custom-trip__form { grid-template-columns: 1fr 1fr; }
  .ncrc-custom-trip__form .ncrc-button { grid-column: 1 / -1; }
}
@media (max-width: 560px) { .ncrc-custom-trip__form { grid-template-columns: 1fr; } }
.has-ncrc-motion .ncrc-section, .has-ncrc-motion .ncrc-custom-trip { opacity: 1; transform: none; }
.has-ncrc-motion .ncrc-section.is-in-view, .has-ncrc-motion .ncrc-custom-trip.is-in-view { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .has-ncrc-motion .ncrc-section, .has-ncrc-motion .ncrc-custom-trip { opacity: 1; transform: none; }
}


.ncrc-cruise-card__price small { display: block; font-size: 11px; font-weight: 600; }
.ncrc-cruise-card__price strong { display: inline-block; font-size: 27px; font-family: var(--ncrc-font-display); line-height: 1.2; }
.ncrc-cruise-card__price span { font-size: 11px; font-weight: 400; margin-left: 5px; }


/* assets/css/home-hero.css */
/* Homepage hero owns its geometry; these selectors do not style inner-page headers. */
.ncrc-home-hero { background: #073a69; color: #fff; isolation: isolate; min-height: clamp(580px,46.5vw,720px); overflow: clip; padding: clamp(180px,16vw,250px) 0 90px; position: relative; }
.ncrc-home-hero__media,.ncrc-home-hero__shade { inset: 0; position: absolute; z-index: -2; }
.ncrc-home-hero__media { overflow: hidden; }
.ncrc-home-hero__image { height: 100%; object-fit: cover; object-position: 50% 50%; width: 100%; transform: scale(1.04); }
.ncrc-home-hero__shade { background: linear-gradient(90deg,rgba(0,33,65,.46),rgba(0,33,65,.08) 65%),linear-gradient(0deg,rgba(0,31,61,.48),transparent 45%); z-index: -1; }
.ncrc-home-hero__content { display: grid; gap: clamp(36px,3.7vw,56px); position: relative; z-index: 2; }
.ncrc-home-hero__copy { max-width: 740px; }
.ncrc-home-hero__copy > .ncrc-eyebrow { color: #fff; font-size: 11px; font-weight: 600; letter-spacing: .28em; line-height: 1.4; margin: 0 0 8px; }
.ncrc-home-hero__copy h1 { color: #fff; font-family: var(--ncrc-font-display); font-size: clamp(50px,6.05vw,88px); font-weight: 800; letter-spacing: -.04em; line-height: .99; margin: 0; max-width: none; }
.ncrc-home-hero__copy > p:last-child { display: none; }
.ncrc-home-hero__route { bottom: auto; display: flex; flex-direction: column; height: 230px; justify-content: space-between; list-style: none; margin: 0; padding: 0; position: absolute; right: clamp(18px,4vw,48px); top: -38px; width: 100px; }
.ncrc-home-hero__route::before { background: rgba(255,255,255,.9); bottom: 8px; content: ''; position: absolute; right: 6px; top: 8px; width: 1px; }
.ncrc-home-hero__route li { align-items: center; display: flex; gap: 14px; justify-content: end; position: relative; }
.ncrc-home-hero__route li > span { color: #fff; font-size: 11px; font-weight: 700; line-height: 1.3; text-align: right; text-transform: uppercase; }
.ncrc-home-hero__route small { color: #fff; display: block; font-size: 10px; font-weight: 500; }
.ncrc-home-hero__route i { background: #073a69; border: 2px solid #fff; border-radius: 50%; flex: 0 0 13px; height: 13px; position: relative; width: 13px; }
.ncrc-home-hero__route li:first-child > span,.ncrc-home-hero__route li:first-child small { color: #ffd165; }
.ncrc-home-hero__route li:first-child i { background: #836328; border-color: #ffe8a1; box-shadow: 0 0 6px #ffd165,0 0 18px #ffc947,0 0 28px rgba(255,201,71,.55); }
.ncrc-home-hero__wave { bottom: -1px; height: clamp(55px,6.4vw,96px); left: 0; max-width: none; pointer-events: none; position: absolute; width: 100%; z-index: 3; }
.ncrc-home-hero__discover { align-items: center; bottom: 12px; color: #fff; display: flex; flex-direction: column; font-size: 9px; font-weight: 600; gap: 7px; left: 50%; letter-spacing: .18em; line-height: 1.3; position: absolute; text-decoration: none; text-transform: uppercase; transform: translateX(-50%); white-space: nowrap; z-index: 4; }
.ncrc-home-hero__discover > span { background: #fff; height: 27px; width: 1px; }
.ncrc-home-hero__discover > svg { fill: none; height: 12px; stroke: #fff; stroke-width: 1.5; width: 20px; }
.ncrc-home-search { align-items: center; backdrop-filter: blur(8px); background: rgba(0,34,67,.56); border: 1px solid rgba(255,255,255,.7); border-radius: 7px; box-shadow: 0 8px 24px rgba(0,20,50,.16); display: grid; gap: 0; grid-template-columns: repeat(4,minmax(0,1fr)) 215px; min-height: 73px; padding: 4px; position: relative; }
.ncrc-home-search__field { border-right: 1px solid rgba(255,255,255,.45); margin: 0; min-width: 0; padding: 2px 26px 2px 55px; position: relative; }
.ncrc-home-search__field[hidden] { display: none; }
.ncrc-home-search__field label,.ncrc-home-search__price-toggle > span:not(.ncrc-home-search__icon) { color: #fff; display: block; font-size: 12px; font-weight: 600; letter-spacing: 0; line-height: 1.4; margin: 0; text-transform: none; }
.ncrc-home-search__icon { color: #fff; height: 24px; left: 18px; position: absolute; top: 10px; width: 24px; }
.ncrc-home-search__icon svg { height: 100%; width: 100%; }
.ncrc-home-search .ncrc-control { appearance: none; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='white' stroke-width='1.4'/%3E%3C/svg%3E") right center / 10px no-repeat; border: 0; border-radius: 0; color: #fff; font-size: 12px; font-weight: 400; height: 24px; line-height: 1.4; min-height: 24px; padding: 2px 16px 2px 0; width: 100%; }
.ncrc-home-search .ncrc-control option { background: #fff; color: var(--ncrc-color-ink); }
.ncrc-home-search__submit { align-self: stretch; background: linear-gradient(110deg,#ffcb56,#ffdc85); border: 1px solid #ffe3a0; border-radius: 6px; box-shadow: 0 0 9px rgba(255,207,94,.8),0 0 22px rgba(255,201,71,.35); color: var(--ncrc-color-ink); font-size: 15px; font-weight: 700; min-height: 62px; padding: 12px 18px; }
.ncrc-home-search__price { border: 0; padding-block: 2px; }
.ncrc-home-search__price-toggle { cursor: pointer; display: block; list-style: none; }
.ncrc-home-search__price-toggle::-webkit-details-marker { display: none; }
.ncrc-home-search__price output { color: #fff; display: block; font-size: 12px; font-weight: 400; height: 24px; line-height: 24px; }
.ncrc-home-search__chevron { fill: none; height: 9px; position: absolute; right: 19px; stroke: #fff; stroke-width: 1.5; top: 18px; width: 12px; }
.ncrc-home-search__price-panel { background: #fff; border: 1px solid #d7e5ee; border-radius: 6px; box-shadow: 0 10px 28px rgba(0,20,50,.2); color: var(--ncrc-color-ink); left: 0; padding: 20px; position: absolute; top: calc(100% + 20px); width: 260px; z-index: 8; }
.ncrc-home-search__price-panel label { color: var(--ncrc-color-ink); font-size: 13px; }
.ncrc-home-hero:has([data-price-menu][data-open]) { overflow: visible; z-index: 5; }
.ncrc-home-hero__reflection { background: linear-gradient(105deg,transparent 50%,rgba(255,229,165,.13) 54%,transparent 61%); bottom: 18%; height: 30%; opacity: .5; pointer-events: none; position: absolute; right: 0; width: 70%; z-index: 0; }
@media(prefers-reduced-motion:no-preference) { .ncrc-home-hero__image { animation: ncrc-sailing-drift 32s ease-in-out infinite alternate; will-change: transform; } .ncrc-home-hero__reflection { animation: ncrc-river-reflection 16s ease-in-out infinite alternate; } .ncrc-home-hero__route li:first-child i { animation: ncrc-stop-glow 5s ease-in-out infinite; } }
@keyframes ncrc-sailing-drift { from { transform: scale(1.045) translate3d(.5%,.2%,0); } to { transform: scale(1.09) translate3d(-.8%,-.4%,0); } }
@keyframes ncrc-river-reflection { from { transform: translateX(-2%); opacity: .25; } to { transform: translateX(3%); opacity: .6; } }
@keyframes ncrc-stop-glow { 0%,100% { box-shadow: 0 0 6px #ffd165,0 0 18px #ffc947; } 50% { box-shadow: 0 0 10px #fff0bd,0 0 25px #ffc947,0 0 34px rgba(255,201,71,.4); } }
@media(max-width:1100px) { .ncrc-home-search { grid-template-columns: repeat(4,minmax(0,1fr)) 180px; } .ncrc-home-search__field { padding-left: 40px; padding-right: 15px; } .ncrc-home-search__icon { left: 10px; height: 20px; width: 20px; } .ncrc-home-hero__route { right: 30px; } }
@media(max-width:850px) { .ncrc-home-hero { min-height: 640px; padding-top: 170px; padding-bottom: 110px; } .ncrc-home-hero__copy h1 { font-size: clamp(43px,7.2vw,60px); } .ncrc-home-hero__content { gap: 42px; } .ncrc-home-search { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 0; padding: 12px; } .ncrc-home-search__field:nth-of-type(2),.ncrc-home-search__price { border-right: 0; } .ncrc-home-search__submit { grid-column: 1 / -1; min-height: 48px; } .ncrc-home-hero__route { height: 175px; top: -5px; } .ncrc-home-hero__wave { height: 60px; } }
@media(max-width:520px) { .ncrc-home-hero { min-height: 760px; padding-top: 150px; } .ncrc-home-hero__copy h1 { font-size: clamp(37px,9.8vw,49px); } .ncrc-home-hero__copy > .ncrc-eyebrow { font-size: 9px; } .ncrc-home-hero__route { display: none; } .ncrc-home-search { grid-template-columns: 1fr; gap: 0; } .ncrc-home-search__field { border-bottom: 1px solid rgba(255,255,255,.25); border-right: 0; margin-bottom: 10px; padding-bottom: 8px; } .ncrc-home-search__price { min-height: 46px; } .ncrc-home-search__price-panel { left: -1px; top: calc(100% + 8px); width: calc(100% + 2px); } .ncrc-home-search__submit { grid-column: 1; } .ncrc-home-hero__image { object-position: 62% center; } }
.ncrc-home-hero:has([data-price-menu][data-open]) .ncrc-home-hero__content { z-index: 6; }

.ncrc-home-hero .ncrc-container { padding-inline: 5.4vw; }
.ncrc-home-hero .ncrc-hero-title__mark { color: #ffc947; }
.ncrc-home-search .ncrc-home-search__submit { box-shadow: 0 0 9px rgba(255,207,94,.8),0 0 22px rgba(255,201,71,.35); }
@media(max-width:520px) { .ncrc-home-hero .ncrc-container { padding-inline: 20px; } }

.ncrc-home-hero .ncrc-hero-title__mark { background: #ffc947; border-radius: 50%; color: transparent; display: inline-block; height: .15em; line-height: 0; margin-left: .025em; overflow: hidden; width: .15em; }

.ncrc-home-search__price-toggle { appearance: none; background: transparent; border: 0; color: inherit; font: inherit; padding: 0; text-align: left; width: 100%; }
.ncrc-home-search__price-panel[hidden] { display: none; }

.ncrc-home-hero__video { height: 100%; inset: 0; object-fit: cover; object-position: center; opacity: 0; position: absolute; width: 100%; transition: opacity .6s ease; }
.ncrc-home-hero__video.is-playing { opacity: 1; }
.ncrc-home-hero:has(.ncrc-home-hero__video.is-playing) .ncrc-home-hero__image { animation: none; }
.ncrc-home-hero:has(.ncrc-home-hero__video.is-playing) .ncrc-home-hero__reflection { display: none; }
.ncrc-home-hero__video-toggle { background: #073055; border: 1px solid #b9cede; border-radius: 4px; bottom: 67px; color: #fff; font: inherit; font-size: 11px; padding: 7px 10px; position: absolute; right: 20px; z-index: 4; }
.ncrc-home-hero__video-toggle[hidden] { display: none; }
@media(prefers-reduced-motion:reduce) { .ncrc-home-hero__video { transition: none; } }

.ncrc-home-hero__media > picture { display: block; height: 100%; width: 100%; }


/* assets/css/home-reference.css */
.ncrc-homepage .ncrc-section { padding-block: clamp(36px,4vw,60px); }
.ncrc-homepage h2 { font-size: clamp(28px,2.8vw,38px); line-height: 1.1; }
.ncrc-homepage .ncrc-eyebrow { font-size: 11px; margin-bottom: 10px; }
.ncrc-homepage .ncrc-section-heading { gap: 24px; grid-template-columns: 1.65fr 1fr; margin-bottom: 24px; }
.ncrc-homepage .ncrc-section-heading h2 { max-width: 30ch; }
.ncrc-homepage .ncrc-section-heading > p { font-size: 15px; line-height: 1.5; }
.ncrc-homepage .ncrc-hero { min-height: 590px; padding: 142px 0 75px; }
.ncrc-homepage .ncrc-hero__content { gap: 36px; }
.ncrc-homepage .ncrc-hero__copy h1 { font-size: clamp(46px,5.3vw,76px); max-width: 13ch; margin-bottom: 0; }
.ncrc-homepage .ncrc-hero__copy > p:last-child { display: none; }
.ncrc-homepage .ncrc-hero__route { display: flex; flex-direction: column; gap: 24px; right: 35px; top: -10px; writing-mode: horizontal-tb; }
.ncrc-homepage .ncrc-hero__route i { display: none; }
.ncrc-homepage .ncrc-hero__route span { flex-direction: column-reverse; font-size: 11px; gap: 2px; padding-right: 22px; position: relative; }
.ncrc-homepage .ncrc-hero__route span::after { background: #082d50; border: 1px solid #fff; border-radius: 50%; content: ''; height: 10px; position: absolute; right: 0; top: 7px; width: 10px; }
.ncrc-homepage .ncrc-hero__route::after { background: rgba(255,255,255,.7); content: ''; inset: 12px 4px 15px auto; position: absolute; width: 1px; z-index: -1; }
.ncrc-homepage .ncrc-hero__route span:first-child::after { border-color: #ffc947; box-shadow: 0 0 12px #ffc947; }
.ncrc-homepage .ncrc-hero__route span:first-child { color: #ffc947; }
.ncrc-homepage .ncrc-cruise-search { border-radius: 7px; padding: 8px; }
.ncrc-homepage .ncrc-cruise-search__submit { min-height: 60px; }
.ncrc-homepage .ncrc-hero__wave { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 50' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 20Q180 0 360 25T720 28T1080 25T1440 18V50H0Z'/%3E%3C/svg%3E") center / 100% 100%; border-radius: 0; bottom: -1px; height: 36px; left: 0; width: 100%; }
.ncrc-homepage .ncrc-featured__grid { gap: 16px; }
.ncrc-homepage .ncrc-cruise-card { border-radius: 6px; box-shadow: none; }
.ncrc-homepage .ncrc-cruise-card__body { padding: 12px; }
.ncrc-homepage .ncrc-cruise-card__summary { display: none; }
.ncrc-homepage .ncrc-cruise-card__body > h3 { order: 1; font-size: 18px; min-height: 2.3em; }
.ncrc-homepage .ncrc-cruise-card__labels { order: 2; font-size: 9px; font-weight: 600; letter-spacing: .1em; margin-bottom: 9px; }
.ncrc-homepage .ncrc-cruise-card__programs { order: 3; font-size: 12px; }
.ncrc-homepage .ncrc-cruise-card__footer { border: 0; grid-template-columns: 1fr; order: 4; padding-top: 0; }
.ncrc-homepage .ncrc-cruise-card__link { border-radius: 4px; width: 100%; }
.ncrc-homepage .ncrc-how { background-image: linear-gradient(90deg,rgba(1,27,49,.85),rgba(1,27,49,.3)),url('../images/how-it-works.webp'); }
.ncrc-homepage .ncrc-how h2 { max-width: none; }
.ncrc-how__process { margin-top: 25px; position: relative; }
.ncrc-homepage .ncrc-how__route { height: 76px; inset: 0; margin: 0; position: absolute; }
.ncrc-homepage .ncrc-how__steps { gap: 0; margin-top: 0; padding-top: 14px; position: relative; text-align: center; }
.ncrc-homepage .ncrc-how__number { box-shadow: 0 0 0 5px rgba(1,27,49,.5),0 0 20px rgba(255,201,71,.65); height: 48px; margin-bottom: 14px; width: 48px; }
.ncrc-homepage .ncrc-how__steps h3 { font-size: 18px; }
.ncrc-homepage .ncrc-how__steps p { font-size: 15px; line-height: 1.45; margin: 0 auto; max-width: 25ch; }
.ncrc-types__layout { display: grid; gap: 28px; grid-template-columns: .8fr 1.8fr; }
.ncrc-types__intro p:not(.ncrc-eyebrow) { font-size: 16px; line-height: 1.5; max-width: 28ch; }
.ncrc-types__intro a { color: var(--ncrc-color-blue); font-size: 14px; font-weight: 700; }
.ncrc-homepage .ncrc-types__grid { gap: 10px; grid-template-columns: 1.1fr 1fr; grid-template-rows: repeat(3,140px); }
.ncrc-homepage .ncrc-type-card { border-radius: 5px; grid-column: 2; min-height: 0; }
.ncrc-homepage .ncrc-type-card:first-child { grid-column: 1; grid-row: 1 / 4; min-height: 0; }
.ncrc-homepage .ncrc-type-card--evening { grid-column: 2; min-height: 0; }
.ncrc-homepage .ncrc-type-card > a { color: #fff; display: block; height: 100%; text-decoration: none; }
.ncrc-homepage .ncrc-type-card__body { display: flex; gap: 12px; padding: 18px; }
.ncrc-type-card__number { color: #fff; font-size: 27px; line-height: 1.1; }
.ncrc-homepage .ncrc-type-card__body h3 { font-size: 20px; margin-bottom: 5px; }
.ncrc-homepage .ncrc-type-card__body p { color: #fff; font-size: 12px; line-height: 1.35; margin: 0; max-width: 22ch; }
/* Homepage destination banner: labels sit beside the glowing route nodes. */
.ncrc-homepage .ncrc-destinations { background: linear-gradient(90deg,rgba(0,27,56,.7),rgba(0,27,56,.18) 65%),url('../images/luxor-nile-photograph.webp') center 18% / cover; color: #fff; padding-block: 38px 32px; }
.ncrc-destinations__layout { align-items: end; display: grid; gap: 24px; grid-template-columns: .85fr 1.15fr; min-height: 235px; }
.ncrc-homepage .ncrc-destinations__intro h2 { font-size: clamp(28px,3vw,40px); line-height: 1.04; margin-bottom: 10px; }
.ncrc-homepage .ncrc-destinations__intro p { font-size: 15px; line-height: 1.35; max-width: 35ch; margin-bottom: 16px; }
.ncrc-destinations__intro .ncrc-button { border-radius: 5px; font-size: 13px; min-height: 43px; padding: 8px 18px; box-shadow: 0 0 7px #ffd165,0 0 18px #ffc94777; }
.ncrc-destinations__map { height: 158px; position: relative; margin-right: -4vw; }
.ncrc-destinations__map svg { height: 100px; inset: 16px 0 auto; overflow: visible; position: absolute; width: 100%; }
.ncrc-destinations__map path { fill: none; filter: drop-shadow(0 0 3px #ffe0a0) drop-shadow(0 0 7px #ffc947); stroke: #ffe6aa; stroke-width: 2; vector-effect: non-scaling-stroke; }
.ncrc-destinations__map ol { list-style: none; margin: 0; padding: 0; position: absolute; inset: 0; }
.ncrc-destinations__map li { position: absolute; left: 12.5%; top: 16px; }
.ncrc-destinations__map li:nth-child(2) { left: 37.5%; top: 56px; }
.ncrc-destinations__map li:nth-child(3) { left: 62.5%; top: 86px; }
.ncrc-destinations__map li:nth-child(4) { left: 87.5%; top: 106px; }
.ncrc-destinations__map a { align-items: center; justify-items: center; height: 32px; width: 32px; color: #fff; display: grid; font-size: 11px; line-height: 1.3; position: relative; text-align: center; text-decoration: none; text-transform: uppercase; transform: translate(-50%,-50%); }
.ncrc-map-dot { background: #073357; border: 2px solid #fff; border-radius: 50%; display: block; height: 14px; width: 14px; }
.ncrc-destinations__map strong,.ncrc-destinations__map small { position: absolute; left: 50%; transform: translateX(-50%); white-space: nowrap; }
.ncrc-destinations__map strong { top: 35px; font-size: 11px; font-weight: 700; }
.ncrc-destinations__map small { top: 48px; font-size: 10px; }
.ncrc-destinations__map li:first-child .ncrc-map-dot { border-color: #ffe6aa; box-shadow: 0 0 7px #ffd165,0 0 17px #ffc947; height: 18px; width: 18px; }
.ncrc-destinations__map li:first-child strong,.ncrc-destinations__map li:first-child small { color: #ffd165; left: 50%; transform: translateX(-50%); }
.ncrc-destinations__map li:first-child strong { top: -24px; }
.ncrc-destinations__map li:first-child small { top: -11px; }
.ncrc-destinations__map li:nth-child(3) strong,.ncrc-destinations__map li:nth-child(4) strong { top: -32px; }
.ncrc-destinations__map li:nth-child(3) small,.ncrc-destinations__map li:nth-child(4) small { top: -19px; }
.ncrc-homepage .ncrc-specialist__layout { gap: 36px; grid-template-columns: .8fr 1.5fr; }
.ncrc-homepage .ncrc-specialist h2 { max-width: 18ch; }
.ncrc-homepage .ncrc-specialist__proof div { padding: 12px 0; }
.ncrc-homepage .ncrc-specialist__proof dd { color: #456582; font-size: 14px; }
.ncrc-homepage .ncrc-accreditations { padding-block: 32px; }
.ncrc-homepage .ncrc-accreditations__inner { gap: 28px; grid-template-columns: 1.1fr 1fr; }
.ncrc-homepage .ncrc-accreditations__copy h2 { max-width: 24ch; font-size: 32px; }
.ncrc-homepage .ncrc-accreditations__copy > p:last-child { display: none; }
.ncrc-homepage .ncrc-accreditation-card { min-height: 125px; }
.ncrc-homepage .ncrc-reviews { background: #fff; color: var(--ncrc-color-copy); }
.ncrc-homepage .ncrc-reviews h2 { color: var(--ncrc-color-ink); }
.ncrc-homepage .ncrc-reviews .ncrc-eyebrow { color: var(--ncrc-color-blue); }
.ncrc-homepage .ncrc-reviews .ncrc-section-heading > p { color: var(--ncrc-color-copy); }
.ncrc-homepage .ncrc-reviews__widget > div { background: #fff; padding: 0; }
.ncrc-custom-trip { background: linear-gradient(90deg,rgba(0,44,87,.42),rgba(0,44,87,.12)),url('../images/blue-water.webp') center / cover; padding: 38px 0; }
.ncrc-custom-trip::before,.ncrc-custom-trip__sun { display: none; }
.ncrc-custom-trip__inner { align-items: center; gap: 28px; grid-template-columns: .7fr 1.6fr; }
.ncrc-custom-trip h2 { font-size: 32px; line-height: 1.04; margin: 0; max-width: 16ch; }
.ncrc-custom-trip__form { align-items: start; background: transparent; border: 0; border-radius: 0; box-shadow: none; gap: 20px; grid-template-columns: repeat(3,minmax(0,1fr)); padding: 8px 0 0; position: relative; }
.ncrc-custom-trip__line { height: 68px; inset: 0 0 auto; overflow: visible; position: absolute; width: 100%; }
.ncrc-custom-trip__line path { fill: none; filter: drop-shadow(0 0 8px #ffc947); stroke: #ffd165; stroke-width: 2; }
.ncrc-custom-trip__step { min-width: 0; position: relative; text-align: center; }
.ncrc-custom-trip__number { align-items: center; background: #04335a; border: 2px solid #ffd165; border-radius: 50%; box-shadow: 0 0 15px rgba(255,201,71,.8); display: flex; font-size: 14px; height: 44px; justify-content: center; margin: 0 auto 12px; width: 44px; }
.ncrc-custom-trip__step label,.ncrc-custom-trip__label { color: #fff; display: block; font-size: 11px; font-weight: 600; letter-spacing: .18em; margin-bottom: 7px; text-transform: uppercase; }
.ncrc-custom-trip__step .ncrc-control,.ncrc-custom-trip__step .ncrc-button { border-radius: 5px; font-size: 14px; min-height: 43px; padding: 9px 12px; width: 100%; }
.ncrc-custom-trip__step small { color: #fff; display: block; font-size: 10px; line-height: 1.4; margin-top: 6px; }
.ncrc-homepage .ncrc-faq { padding-block: 30px; }
.ncrc-homepage .ncrc-faq__layout { gap: 28px; grid-template-columns: .8fr 1.5fr; }
.ncrc-homepage .ncrc-faq h2 { max-width: 12ch; }
.ncrc-homepage .ncrc-faq summary { font-size: 14px; padding: 10px 12px; }
.ncrc-homepage .ncrc-faq details { border: 1px solid #d7e5ee; border-radius: 4px; margin-bottom: 5px; }
.ncrc-homepage .ncrc-faq__items { border: 0; }
@media(max-width:1000px) { .ncrc-homepage .ncrc-hero__route { display: none; } .ncrc-custom-trip__inner { grid-template-columns: 1fr; } .ncrc-custom-trip h2 br { display: none; } .ncrc-custom-trip h2 { max-width: none; } .ncrc-homepage .ncrc-cruise-search { grid-template-columns: repeat(2,1fr); } }
@media(max-width:760px) { .ncrc-types__layout,.ncrc-destinations__layout,.ncrc-homepage .ncrc-specialist__layout,.ncrc-homepage .ncrc-accreditations__inner,.ncrc-homepage .ncrc-faq__layout,.ncrc-homepage .ncrc-section-heading { grid-template-columns: 1fr; } .ncrc-homepage .ncrc-hero { padding-top: 120px; } .ncrc-homepage .ncrc-hero__copy h1 { font-size: 48px; } .ncrc-types__intro p:not(.ncrc-eyebrow) { max-width: 50ch; } }
@media(max-width:600px) { .ncrc-homepage .ncrc-how__route { display: none; } .ncrc-homepage .ncrc-how__steps { gap: 24px; grid-template-columns: 1fr; padding-left: 25px; text-align: left; } .ncrc-homepage .ncrc-how__number { margin-left: -48px; } .ncrc-homepage .ncrc-how__steps p { margin-left: 0; } .ncrc-homepage .ncrc-types__grid { grid-template-columns: 1fr; grid-template-rows: none; } .ncrc-homepage .ncrc-type-card,.ncrc-homepage .ncrc-type-card:first-child,.ncrc-homepage .ncrc-type-card--evening { grid-column: 1; grid-row: auto; min-height: 230px; } .ncrc-custom-trip__form { gap: 16px; grid-template-columns: 1fr; } .ncrc-custom-trip__line { display: none; } .ncrc-custom-trip__step { display: grid; gap: 5px 16px; grid-template-columns: 44px 1fr; text-align: left; } .ncrc-custom-trip__number { grid-row: 1 / 4; margin: 0; } .ncrc-custom-trip__step .ncrc-button { grid-column: 2; } .ncrc-custom-trip__step small { grid-column: 2; } .ncrc-homepage .ncrc-cruise-search { grid-template-columns: 1fr; } }

/* Reference waves define the transitions between photographic and white sections. */
.ncrc-homepage .ncrc-how,.ncrc-homepage .ncrc-destinations,.ncrc-custom-trip { position: relative; isolation: isolate; }
.ncrc-homepage .ncrc-how::before,.ncrc-homepage .ncrc-destinations::before,.ncrc-custom-trip::before,.ncrc-homepage .ncrc-how::after,.ncrc-homepage .ncrc-destinations::after,.ncrc-custom-trip::after { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 35' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 14Q180 0 360 15T720 18T1080 15T1440 10V35H0Z'/%3E%3C/svg%3E") center / 100% 100%; content: ''; display: block; height: 24px; inset: auto 0 -1px; pointer-events: none; position: absolute; z-index: 2; }
.ncrc-homepage .ncrc-how::before,.ncrc-homepage .ncrc-destinations::before,.ncrc-custom-trip::before { inset: -1px 0 auto; transform: rotate(180deg); }
.ncrc-homepage .ncrc-destinations .ncrc-eyebrow { color: #fff; }
.ncrc-homepage .ncrc-cruise-card__price { max-width: none; }
.ncrc-homepage .ncrc-cruise-card__price span { white-space: nowrap; }
.ncrc-homepage .ncrc-accreditation-card { border-radius: 6px; }

/* Process geometry is scoped to the homepage reference composition. */
.ncrc-homepage .ncrc-how { padding-block: 48px 44px; }
.ncrc-homepage .ncrc-how__process { margin-top: 24px; }
.ncrc-homepage .ncrc-how__route path { stroke: #ffe2a0; stroke-width: 2; filter: drop-shadow(0 0 3px #ffc947) drop-shadow(0 0 8px #ffc947); }
.ncrc-homepage .ncrc-how__steps { border: 0; margin-left: 0; padding-left: 0; }
.ncrc-homepage .ncrc-how__steps h3 { font-weight: 700; margin: 0 0 6px; }
.ncrc-homepage .ncrc-how__steps p { color: #f3f7ff; }
.ncrc-homepage .ncrc-how__steps article:not(:last-child)::after { content: '→'; color: #ffc947; position: absolute; right: -9px; top: 85px; font-size: 24px; }
.ncrc-homepage .ncrc-type-card:first-child .ncrc-type-card__image { object-position: 100% center; }
@media(min-width:601px) { .ncrc-homepage .ncrc-how__steps { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:600px) { .ncrc-homepage .ncrc-how__steps { gap: 28px; padding-left: 0; text-align: center; } .ncrc-homepage .ncrc-how__number { margin-inline: auto; } .ncrc-homepage .ncrc-how__steps p { margin-inline: auto; } .ncrc-homepage .ncrc-how__steps article:not(:last-child)::after { display: none; } }

/* Accreditation band follows the supplied pale-blue, two-plaque reference. */
.ncrc-homepage .ncrc-accreditations { background: linear-gradient(105deg,#f1faff,#f8fcff 60%,#f0f8ff); border: 0; padding-block: 34px 26px; position: relative; isolation: isolate; }
.ncrc-homepage .ncrc-accreditations__inner { align-items: start; column-gap: 40px; row-gap: 10px; grid-template-columns: 1.1fr 1fr; }
.ncrc-homepage .ncrc-accreditations .ncrc-accreditations__copy h2 { font-size: clamp(26px,2.9vw,38px); line-height: 1.08; max-width: none; margin: 0; }
.ncrc-homepage .ncrc-accreditations__logos { gap: 16px; }
.ncrc-homepage .ncrc-accreditation-card--prototype { min-height: 154px; padding: 12px 10px; gap: 4px; border: 1px solid #e1edf6; background: #ffffffb8; }
.ncrc-homepage .ncrc-accreditation-mark { width: 64px; height: 64px; overflow: visible; }
.ncrc-homepage .ncrc-accreditation-mark img { width: 64px; height: 64px; max-width: 100%; max-height: none; position: static; }
.ncrc-homepage .ncrc-accreditation-card--prototype strong { font-family: var(--ncrc-font-display); font-size: 18px; line-height: 1.3; color: #061848; }
.ncrc-homepage .ncrc-accreditation-card--prototype small { font-size: 12px; color: #4b6592; line-height: 1.25; max-width: 20ch; }
.ncrc-homepage .ncrc-accreditation-note { margin: 0; font-size: 10px; color: #4b6592; }
.ncrc-homepage .ncrc-accreditations::before,.ncrc-homepage .ncrc-accreditations::after { content: ''; position: absolute; left: 0; right: 0; height: 20px; pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 35' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 14Q180 0 360 15T720 18T1080 15T1440 10V35H0Z'/%3E%3C/svg%3E") center / 100% 100%; z-index: -1; }
.ncrc-homepage .ncrc-accreditations::before { top: -1px; transform: rotate(180deg); }
.ncrc-homepage .ncrc-accreditations::after { bottom: -1px; }
@media(max-width:760px) { .ncrc-homepage .ncrc-destinations { padding-block: 38px 26px; } .ncrc-destinations__layout { grid-template-columns: 1fr; gap: 16px; } .ncrc-destinations__map { margin: 0; height: 158px; } .ncrc-homepage .ncrc-accreditations__inner { grid-template-columns: 1fr; gap: 20px; } .ncrc-homepage .ncrc-accreditation-note { grid-column: 1; } }
@media(max-width:520px) { .ncrc-homepage .ncrc-accreditations__logos { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; } .ncrc-homepage .ncrc-accreditation-card--prototype { padding: 12px 8px; } .ncrc-homepage .ncrc-accreditation-card--prototype strong { font-size: 16px; } }

.ncrc-homepage .ncrc-destinations .ncrc-heading-mark,.ncrc-homepage .ncrc-accreditations .ncrc-heading-mark { background: #ffc947; border-radius: 50%; color: transparent; display: inline-block; height: .15em; width: .15em; margin-left: .025em; overflow: hidden; }
@media(max-width:760px) { .ncrc-destinations__map li:first-child strong,.ncrc-destinations__map li:first-child small { left: 50%; transform: translateX(-50%); } .ncrc-destinations__map li:first-child strong { top: -32px; } .ncrc-destinations__map li:first-child small { top: -19px; } .ncrc-destinations__map { margin-top: 22px; } }

.ncrc-destinations__credit { position: absolute; right: 20px; bottom: 19px; color: #fff; background: var(--ncrc-color-ink)b8; border-radius: 3px; font-size: 9px; line-height: 1.4; padding: 2px 5px; z-index: 3; }
/* Compact planning band and FAQ match the pinned homepage footer reference. */
.ncrc-homepage .ncrc-custom-trip { padding-block: 36px 30px; }
.ncrc-homepage .ncrc-custom-trip__inner { grid-template-columns: .8fr 1.65fr; gap: 38px; }
.ncrc-homepage .ncrc-custom-trip__copy > p { display: none; }
.ncrc-homepage .ncrc-custom-trip h2 { font-size: clamp(30px,3.1vw,44px); font-weight: 700; max-width: none; }
.ncrc-homepage .ncrc-custom-trip__form { gap: 22px; padding-top: 0; }
.ncrc-homepage .ncrc-custom-trip__line { top: 0; height: 44px; }
.ncrc-homepage .ncrc-custom-trip__number { height: 44px; width: 44px; margin: 0 auto 10px; }
.ncrc-homepage .ncrc-custom-trip__line path { stroke: #ffe6aa; filter: drop-shadow(0 0 3px #ffd165) drop-shadow(0 0 8px #ffc947); }
.ncrc-homepage .ncrc-custom-trip__step .ncrc-control,.ncrc-homepage .ncrc-custom-trip__step .ncrc-button { height: 49px; min-height: 49px; font-size: 13px; font-weight: 600; }
.ncrc-homepage .ncrc-custom-trip__step .ncrc-button { background: linear-gradient(110deg,#ffcc5f,#ffd986); border: 1px solid #ffe6a7; box-shadow: 0 0 7px #ffd165,0 0 16px #ffc94777; padding-inline: 8px; white-space: nowrap; }
.ncrc-homepage .ncrc-custom-trip__step small { white-space: nowrap; font-size: 9px; }
.ncrc-homepage .ncrc-custom-trip__control > svg { top: 14px; }
.ncrc-custom-trip__date-prompt { color: var(--ncrc-color-ink); font-size: 13px; font-weight: 600; position: absolute; left: 40px; top: 50%; transform: translateY(-50%); pointer-events: none; }
.ncrc-custom-trip__control::after { content: ''; height: 7px; width: 7px; border-right: 1.5px solid var(--ncrc-color-ink); border-bottom: 1.5px solid var(--ncrc-color-ink); position: absolute; right: 16px; top: 18px; transform: rotate(45deg); pointer-events: none; }
.ncrc-custom-trip__control:not([data-filled]):not(:focus-within) input[type="date"]::-webkit-datetime-edit { opacity: 0; }
.ncrc-custom-trip__control[data-filled] .ncrc-custom-trip__date-prompt,.ncrc-custom-trip__control:focus-within .ncrc-custom-trip__date-prompt { display: none; }
.ncrc-homepage .ncrc-faq { padding-block: 22px 24px; }
.ncrc-homepage .ncrc-faq__layout { grid-template-columns: 1fr 1.15fr; gap: 40px; }
.ncrc-homepage .ncrc-faq h2 { font-size: clamp(30px,3.1vw,44px); font-weight: 700; max-width: none; margin-bottom: 0; }
.ncrc-homepage .ncrc-faq .ncrc-eyebrow { margin-bottom: 6px; }
.ncrc-homepage .ncrc-faq details { margin-bottom: 0; border-radius: 0; }
.ncrc-homepage .ncrc-faq details + details { border-top: 0; }
.ncrc-homepage .ncrc-faq details:first-child { border-radius: 4px 4px 0 0; }
.ncrc-homepage .ncrc-faq details:last-child { border-radius: 0 0 4px 4px; }
.ncrc-homepage .ncrc-faq summary { color: var(--ncrc-color-blue); font-family: var(--ncrc-font-display); font-size: 14px; font-weight: 600; line-height: 1.4; gap: 18px; padding: 9px 14px; }
.ncrc-homepage .ncrc-faq summary > span { display: none; }
.ncrc-homepage .ncrc-faq summary::after { content: ''; flex: 0 0 6px; width: 6px; height: 6px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); }
.ncrc-homepage .ncrc-faq details[open] summary::after { transform: rotate(135deg); }
@media(max-width:1000px) and (min-width:761px) { .ncrc-homepage .ncrc-custom-trip__inner { grid-template-columns: .8fr 1.65fr; gap: 24px; } .ncrc-homepage .ncrc-custom-trip h2 br { display: block; } .ncrc-homepage .ncrc-custom-trip__form { gap: 12px; } .ncrc-homepage .ncrc-custom-trip__step small { white-space: normal; } }
@media(max-width:760px) { .ncrc-homepage .ncrc-custom-trip__inner,.ncrc-homepage .ncrc-faq__layout { grid-template-columns: 1fr; gap: 24px; } .ncrc-homepage .ncrc-custom-trip__form { grid-template-columns: 1fr; } .ncrc-homepage .ncrc-custom-trip__step { display: grid; grid-template-columns: 44px 1fr; text-align: left; gap: 5px 16px; } .ncrc-homepage .ncrc-custom-trip__number { grid-row: 1 / 4; margin: 0; } .ncrc-homepage .ncrc-custom-trip__line { display: none; } .ncrc-homepage .ncrc-custom-trip__step small { white-space: normal; } .ncrc-homepage .ncrc-custom-trip__step .ncrc-button { grid-column: 2; } .ncrc-homepage .ncrc-custom-trip__step small { grid-column: 2; } }

@media(min-width:761px) { .ncrc-homepage .ncrc-custom-trip__form { gap: 0; } .ncrc-homepage .ncrc-custom-trip__step { padding-inline: 11px; } }

.ncrc-homepage .ncrc-faq__layout { align-items: start; }
.ncrc-homepage .ncrc-faq details > div { color: #3f5c7b; font-family: var(--ncrc-font-display); font-size: 14px; font-weight: 500; line-height: 1.55; max-width: none; padding: 0 40px 14px 14px; }
.ncrc-homepage .ncrc-faq details > div > p { font: inherit; margin: 0; }
.ncrc-homepage .ncrc-faq details[open] { background: #f5faff; }
.ncrc-homepage .ncrc-faq summary:focus-visible { outline: 2px solid var(--ncrc-color-blue); outline-offset: -3px; }

/* Match mobile texture detail to the visible area, keeping the same source framing. */
@media (max-width: 700px) {
 .ncrc-homepage .ncrc-destinations { background-image: linear-gradient(90deg,rgba(0,27,56,.7),rgba(0,27,56,.18) 65%),url('../images/luxor-nile-photograph-1280.webp'); }
 .ncrc-homepage .ncrc-custom-trip { background-image: linear-gradient(90deg,rgba(0,44,87,.42),rgba(0,44,87,.12)),url('../images/blue-water-1280.webp'); }
}


/* assets/css/inner-pages.css */
.ncrc-archive-results, .ncrc-destination-archive, .ncrc-static-page { background: var(--ncrc-color-canvas); }
.ncrc-archive-results { padding-block: var(--ncrc-space-section); }
.ncrc-archive-results__layout { align-items: start; display: grid; gap: clamp(2rem,5vw,5rem); grid-template-columns: 300px minmax(0,1fr); }
.ncrc-cruise-filters { background: #fff; border: 1px solid var(--ncrc-color-line); border-radius: var(--ncrc-radius-lg); display: grid; gap: 1rem; padding: 1.5rem; position: sticky; top: 1.5rem; }
.ncrc-cruise-filters__heading { align-items: start; display: flex; gap: 1rem; justify-content: space-between; }
.ncrc-cruise-filters__heading h2 { font-size: var(--ncrc-step-2); }
.ncrc-cruise-filters__heading a { color: var(--ncrc-color-blue); font-size: .72rem; white-space: nowrap; }
.ncrc-cruise-filters label { color: var(--ncrc-color-ink); font-size: .76rem; font-weight: 800; }
.ncrc-cruise-filters .ncrc-control { margin-top: .4rem; }
.ncrc-cruise-filters .ncrc-button svg { width: 1.15rem; }
.ncrc-archive-results__count { color: var(--ncrc-color-muted); margin-bottom: 1.5rem; }
.ncrc-archive-results__count strong { color: var(--ncrc-color-ink); }
.ncrc-archive-results__grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(3,minmax(0,1fr)); }
.ncrc-empty-state { background: #fff; border: 1px solid var(--ncrc-color-line); border-radius: var(--ncrc-radius-lg); grid-column: 1 / -1; padding: 3rem; text-align: center; }
.navigation.pagination { margin-top: 3rem; }
.nav-links { display: flex; flex-wrap: wrap; gap: .5rem; }
.nav-links .page-numbers { align-items: center; border: 1px solid var(--ncrc-color-line); border-radius: .5rem; display: inline-flex; min-height: 2.6rem; padding: .45rem .8rem; text-decoration: none; }
.nav-links .current { background: var(--ncrc-color-river-deep); color: #fff; }
.ncrc-destination-hero { color: #fff; min-height: min(720px,75vh); overflow: hidden; position: relative; }
.ncrc-destination-hero__image, .ncrc-destination-hero__shade { height: 100%; inset: 0; position: absolute; width: 100%; }
.ncrc-destination-hero__image { object-fit: cover; }
.ncrc-destination-hero__shade { background: linear-gradient(90deg,rgba(1,27,49,.9),rgba(1,27,49,.2)); }
.ncrc-destination-hero__content { align-content: end; display: grid; min-height: inherit; padding-bottom: clamp(4rem,8vw,7rem); position: relative; }
.ncrc-destination-hero h1 { color: #fff; max-width: 12ch; }
.ncrc-destination-hero__content > p:last-child { color: rgba(255,255,255,.78); font-size: var(--ncrc-step-1); max-width: 48ch; }
.ncrc-destination-story__layout { display: grid; gap: clamp(3rem,8vw,8rem); grid-template-columns: minmax(240px,.6fr) minmax(0,1.4fr); }
.ncrc-destination-story h2 { font-size: var(--ncrc-step-3); }
.ncrc-destination-gallery { background: var(--ncrc-color-river-night); padding-block: clamp(2rem,5vw,4rem); }
.ncrc-destination-gallery .ncrc-container { display: grid; gap: 1rem; grid-template-columns: repeat(4,1fr); }
.ncrc-destination-gallery figure { aspect-ratio: 1; border-radius: var(--ncrc-radius-md); margin: 0; overflow: hidden; }
.ncrc-destination-gallery img { height: 100%; object-fit: cover; width: 100%; }
.ncrc-destination-cruises { background: #fff; }
.ncrc-destination-archive__grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(2,1fr); }
.ncrc-destination-list-card a { color: inherit; display: grid; grid-template-columns: minmax(220px,.85fr) 1fr; min-height: 330px; text-decoration: none; }
.ncrc-destination-list-card img { height: 100%; object-fit: cover; width: 100%; }
.ncrc-destination-list-card a > div { padding: clamp(1.5rem,4vw,3rem); }
.ncrc-destination-list-card h2 { font-size: var(--ncrc-step-2); }
.ncrc-destination-list-card span { color: var(--ncrc-color-blue); font-weight: 800; }
.ncrc-static-page__layout { margin-inline: auto; max-width: 840px; }
.ncrc-static-page__layout--contact { align-items: start; display: grid; gap: clamp(3rem,7vw,7rem); grid-template-columns: minmax(0,.75fr) minmax(380px,1.25fr); max-width: 1180px; }
.ncrc-contact-form { background: #fff; border: 1px solid var(--ncrc-color-line); border-radius: var(--ncrc-radius-lg); box-shadow: var(--ncrc-shadow-sm); padding: clamp(1.5rem,4vw,3rem); }
.ncrc-contact-form .ff-btn-submit { background: var(--ncrc-color-sun) !important; border-color: var(--ncrc-color-sun) !important; color: var(--ncrc-color-river-night) !important; font-weight: 800; }
@media (max-width:1100px) { .ncrc-archive-results__grid { grid-template-columns: repeat(2,1fr); } .ncrc-destination-archive__grid { grid-template-columns: 1fr; } }
@media (max-width:840px) { .ncrc-archive-results__layout, .ncrc-destination-story__layout, .ncrc-static-page__layout--contact { grid-template-columns: 1fr; } .ncrc-cruise-filters { position: static; } .ncrc-destination-gallery .ncrc-container { grid-template-columns: repeat(2,1fr); } }
@media (max-width:580px) { .ncrc-archive-results__grid { grid-template-columns: 1fr; } .ncrc-destination-list-card a { grid-template-columns: 1fr; } .ncrc-destination-list-card img { aspect-ratio: 1.5; } }


/* assets/css/reference-system.css */
/* Shared reference composition used by every page. */
.ncrc-custom-trip { background: linear-gradient(90deg,rgba(0,44,87,.42),rgba(0,44,87,.12)),url('../images/blue-water.webp') center / cover; padding: 38px 0; }
.ncrc-custom-trip::before,.ncrc-custom-trip__sun { display: none; }
.ncrc-custom-trip__inner { align-items: center; gap: 28px; grid-template-columns: .7fr 1.6fr; }
.ncrc-custom-trip h2 { font-size: 32px; line-height: 1.04; margin: 0; max-width: 16ch; }
.ncrc-custom-trip__form { align-items: start; background: transparent; border: 0; border-radius: 0; box-shadow: none; gap: 20px; grid-template-columns: repeat(3,minmax(0,1fr)); padding: 8px 0 0; position: relative; }
.ncrc-custom-trip__line { height: 68px; inset: 0 0 auto; overflow: visible; position: absolute; width: 100%; }
.ncrc-custom-trip__line path { fill: none; filter: drop-shadow(0 0 8px #ffc947); stroke: #ffd165; stroke-width: 2; }
.ncrc-custom-trip__step { min-width: 0; position: relative; text-align: center; }
.ncrc-custom-trip__number { align-items: center; background: #04335a; border: 2px solid #ffd165; border-radius: 50%; box-shadow: 0 0 15px rgba(255,201,71,.8); display: flex; font-size: 14px; height: 44px; justify-content: center; margin: 0 auto 12px; width: 44px; }
.ncrc-custom-trip__step label,.ncrc-custom-trip__label { color: #fff; display: block; font-size: 11px; font-weight: 600; letter-spacing: .18em; margin-bottom: 7px; text-transform: uppercase; }
.ncrc-custom-trip__step .ncrc-control,.ncrc-custom-trip__step .ncrc-button { border-radius: 5px; font-size: 14px; min-height: 43px; padding: 9px 12px; width: 100%; }
.ncrc-custom-trip__step small { color: #fff; display: block; font-size: 10px; line-height: 1.4; margin-top: 6px; }
.ncrc-custom-trip { padding-block: 48px; position: relative; isolation: isolate; color: #fff; }
.ncrc-custom-trip__inner { display: grid; grid-template-columns: .85fr 1.65fr; }
.ncrc-custom-trip h2,.ncrc-homepage .ncrc-custom-trip h2 { color: #fff; font-size: clamp(30px,3.1vw,44px); line-height: 1.05; letter-spacing: -.03em; max-width: 16ch; }
.ncrc-custom-trip__copy > p { color: #fff; font-size: 16px; line-height: 1.45; margin: 16px 0 0; max-width: 28ch; }
.ncrc-custom-trip__control { display: block; position: relative; }
.ncrc-custom-trip__control > svg { color: var(--ncrc-color-ink); height: 20px; left: 12px; pointer-events: none; position: absolute; top: 12px; width: 20px; }
.ncrc-custom-trip__control .ncrc-control { background: #fff; color: var(--ncrc-color-ink); padding-left: 40px; width: 100%; }
.ncrc-custom-trip__form { display: grid; }
.ncrc-custom-trip::before,.ncrc-custom-trip::after { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 35' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 14Q180 0 360 15T720 18T1080 15T1440 10V35H0Z'/%3E%3C/svg%3E") center / 100% 100%; content: ''; display: block; height: 24px; inset: auto 0 -1px; position: absolute; pointer-events: none; z-index: 2; }
.ncrc-custom-trip::before { inset: -1px 0 auto; transform: rotate(180deg); }
.ncrc-button,.ncrc-cruise-card__link { box-shadow: 0 0 13px rgba(255,201,71,.18); transition: box-shadow .28s ease,background-color .28s ease,transform .28s ease; }
.ncrc-button:hover,.ncrc-button:focus-visible,.ncrc-cruise-card__link:hover,.ncrc-cruise-card__link:focus-visible { box-shadow: 0 0 8px #ffce62,0 0 24px rgba(255,188,48,.42); transform: translateY(-2px); }
.ncrc-glow-visible .ncrc-custom-trip__number,.ncrc-glow-visible .ncrc-how__number,.ncrc-glow-visible .ncrc-about-process__steps article > span { animation: ncrc-glow-breathe 5s ease-in-out infinite; }
.ncrc-custom-trip__step:nth-of-type(2) .ncrc-custom-trip__number { animation-delay: .5s; }
.ncrc-custom-trip__step:nth-of-type(3) .ncrc-custom-trip__number { animation-delay: 1s; }
@keyframes ncrc-glow-breathe { 0%,100% { box-shadow: 0 0 8px rgba(255,201,71,.3); } 50% { box-shadow: 0 0 8px #ffd165,0 0 23px rgba(255,201,71,.7); } }
.ncrc-cruise-card { border-radius: 6px; box-shadow: none; }
.ncrc-cruise-card__media { aspect-ratio: 16 / 9; }
.ncrc-cruise-card__body { padding: 12px; }
.ncrc-cruise-card__body > h3 { order: 1; font-size: 18px; font-weight: 600; }
.ncrc-cruise-card__labels { order: 2; font-weight: 600; letter-spacing: .1em; margin-bottom: 9px; }
.ncrc-cruise-card__programs { order: 3; font-weight: 400; }
.ncrc-cruise-card__summary { display: none; }
.ncrc-cruise-card__footer { border: 0; grid-template-columns: 1fr; order: 4; padding-top: 0; }
.ncrc-cruise-card__price { max-width: none; }
.ncrc-cruise-card__price span { white-space: nowrap; }
.ncrc-cruise-card__link { border-radius: 4px; width: 100%; }
.ncrc-breadcrumbs { display: block; font-size: 13px; font-weight: 400; line-height: 1.4; margin: 0 0 20px; padding: 0; }
.ncrc-breadcrumbs ol { align-items: baseline; display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; }
.ncrc-breadcrumbs li { align-items: baseline; display: inline-flex; gap: 6px; }
.ncrc-breadcrumbs--inverse,.ncrc-breadcrumbs--inverse a { color: #fff; }
.ncrc-breadcrumbs [aria-current] { color: inherit; }
.ncrc-breadcrumbs__separator { color: currentColor; opacity: .75; }
.ncrc-destination-archive { padding-block: 46px; }
.ncrc-destination-archive__grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.ncrc-destination-list-card { border-radius: 6px; overflow: hidden; }
.ncrc-destination-list-card a { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.ncrc-destination-list-card img { aspect-ratio: 16 / 10; flex: 0 0 auto; height: auto; object-fit: cover; width: 100%; }
.ncrc-destination-list-card a > div { display: flex; flex: 1; flex-direction: column; padding: 20px; }
.ncrc-destination-list-card h2 { font-size: 26px; }
.ncrc-destination-list-card a > div > p:not(.ncrc-eyebrow) { flex: 1; font-size: 15px; line-height: 1.5; }
.ncrc-destination-hero { min-height: 480px; }
.ncrc-destination-hero__content { display: block; padding-block: 145px 65px; }
.ncrc-destination-hero h1 { font-size: clamp(44px,5vw,70px); line-height: 1.05; margin-bottom: 14px; }
.ncrc-destination-hero__content > p { font-size: 18px; max-width: 42ch; margin-bottom: 15px; }
.ncrc-destination-hero__link { color: #ffd165; font-size: 15px; font-weight: 600; }
.ncrc-destination-single .ncrc-section { padding-block: 48px; }
.ncrc-destination-single h2 { font-size: clamp(28px,3vw,38px); line-height: 1.1; max-width: 28ch; }
.ncrc-destination-story__layout { grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); gap: 50px; }
.ncrc-destination-story .ncrc-rich-text { font-size: 16px; line-height: 1.6; }
.ncrc-destination-facts { align-self: start; background: #f2f8fc; border-radius: 6px; padding: 24px; }
.ncrc-destination-facts h3 { font-size: 22px; }
.ncrc-destination-facts dl { margin: 0; }
.ncrc-destination-facts dl > div { border-bottom: 1px solid #d7e5ee; display: grid; gap: 12px; grid-template-columns: 100px 1fr; padding: 16px 0; }
.ncrc-destination-facts dt { font-size: 13px; color: #456582; }
.ncrc-destination-facts dd { font-size: 15px; font-weight: 600; margin: 0; }
.ncrc-destination-journey { background: linear-gradient(90deg,rgba(1,27,49,.75),rgba(1,27,49,.2)),url('../images/destinations/luxor.webp') center / cover; padding-block: 48px; color: #fff; }
.ncrc-destination-journey > div { display: grid; grid-template-columns: .9fr 1.1fr; gap: 36px; align-items: center; }
.ncrc-destination-journey h2 { color: #fff; }
.ncrc-destination-journey p { color: #fff; max-width: 40ch; }
.ncrc-destination-journey__route { position: relative; }
.ncrc-destination-journey__route svg { height: 64px; width: 100%; }
.ncrc-destination-journey__route path { fill: none; stroke: #ffd165; stroke-width: 2; filter: drop-shadow(0 0 6px #ffd165); }
.ncrc-destination-journey__route ol { display: flex; flex-wrap: wrap; gap: 20px; padding: 0; list-style: none; }
.ncrc-destination-journey__route a { color: #fff; text-decoration: none; font-size: 13px; }
.ncrc-destination-journey__route .is-current a { color: #ffd165; }
.ncrc-destination-no-cruises { padding: 24px; background: #f2f8fc; border-radius: 6px; }
.ncrc-nearby__grid { display: grid; gap: 18px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.ncrc-nearby__grid a { aspect-ratio: 16 / 9; border-radius: 6px; display: block; overflow: hidden; position: relative; }
.ncrc-nearby__grid img { width: 100%; height: 100%; object-fit: cover; }
.ncrc-nearby__grid span { position: absolute; inset: auto 0 0; padding: 24px 16px 16px; color: #fff; background: linear-gradient(transparent,rgba(0,23,50,.9)); }
@media(max-width:1000px) { .ncrc-custom-trip__inner { grid-template-columns: 1fr; } .ncrc-custom-trip h2 br { display: none; } .ncrc-custom-trip h2 { max-width: none; } .ncrc-destination-archive__grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .ncrc-destination-story__layout,.ncrc-destination-journey > div { grid-template-columns: 1fr; } .ncrc-destination-hero__content { padding-top: 125px; } .ncrc-destination-hero { min-height: 420px; } .ncrc-destination-list-card h2 { font-size: 24px; } }
@media(max-width:600px) { .ncrc-destination-archive__grid,.ncrc-nearby__grid { grid-template-columns: 1fr; } .ncrc-custom-trip__form { gap: 16px; grid-template-columns: 1fr; } .ncrc-custom-trip__line { display: none; } .ncrc-custom-trip__step { display: grid; gap: 5px 16px; grid-template-columns: 44px 1fr; text-align: left; } .ncrc-custom-trip__number { grid-row: 1 / 4; margin: 0; } .ncrc-custom-trip__step .ncrc-button,.ncrc-custom-trip__step small { grid-column: 2; } }
@media(prefers-reduced-motion:reduce) { .ncrc-glow-visible .ncrc-custom-trip__number,.ncrc-glow-visible .ncrc-how__number,.ncrc-glow-visible .ncrc-about-process__steps article > span { animation: none; } .ncrc-button,.ncrc-cruise-card__link { transition: none; } }
.ncrc-cruise-overview { grid-template-columns: minmax(0,1fr) minmax(290px,340px); gap: 28px; }
.ncrc-cruise-single__top { padding-bottom: 28px; }
.ncrc-cruise-gallery { min-height: 0; max-height: 390px; aspect-ratio: 16 / 8; grid-template-columns: 1.9fr 1fr; gap: 7px; }
.ncrc-cruise-gallery__item { border-radius: 5px; }
.ncrc-cruise-intro h1 { font-size: clamp(28px,2.7vw,38px); font-weight: 700; line-height: 1.12; margin-top: 12px; }
.ncrc-cruise-intro__tags { gap: 12px; margin-bottom: 15px; }
.ncrc-cruise-intro__tags .ncrc-tag { background: transparent; border: 0; border-radius: 0; color: var(--ncrc-color-blue); font-size: 10px; font-weight: 600; letter-spacing: .14em; min-height: 0; padding: 0; text-transform: uppercase; }
.ncrc-cruise-intro__tags .ncrc-tag + .ncrc-tag { border-left: 1px solid #d7e5ee; padding-left: 12px; }
.ncrc-cruise-intro__meta { font-weight: 400; }
.ncrc-cruise-intro__price { font-weight: 400; }
.ncrc-cruise-intro__price small { display: block; font-size: 13px; }
.ncrc-cruise-intro__price strong { font-size: 32px; font-family: var(--ncrc-font-display); }
.ncrc-cruise-intro__price > span { color: #456582; font-size: 14px; margin-left: 8px; }
.ncrc-cruise-overview__main .ncrc-cruise-fit { border-radius: 6px; margin-top: 24px; padding: 24px; }
.ncrc-cruise-overview__main .ncrc-cruise-fit .ncrc-container { padding: 0; width: 100%; }
.ncrc-cruise-fit__layout { grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); gap: 24px; }
.ncrc-cruise-fit h2 { font-size: 25px; font-weight: 600; }
.ncrc-cruise-fit .ncrc-rich-text { font-size: 14px; line-height: 1.55; }
.ncrc-cruise-fit dt,.ncrc-cruise-fit dd { font-weight: 500; font-size: 13px; }
.ncrc-cruise-fit dl div { grid-template-columns: 75px 1fr; gap: 10px; }
.ncrc-enquiry-card { border-radius: 6px; padding: 20px; box-shadow: 0 8px 24px rgba(8,40,79,.06); }
.ncrc-enquiry-card h2 { font-size: 25px; font-weight: 600; }
.ncrc-enquiry-card .ncrc-enquiry-section { font-size: 15px; color: var(--ncrc-color-blue); margin: 14px 0 10px; }
.ncrc-enquiry-card form fieldset { display: block; }
.ncrc-enquiry-card .ff-t-container { display: flex; gap: 10px; margin-bottom: 10px; }
.ncrc-enquiry-card .ff-t-cell { flex: 1 1 0; min-width: 0; padding: 0 !important; }
.ncrc-enquiry-card .ff-el-input--label label { font-size: 12px; font-weight: 500; }
.ncrc-enquiry-card .ff-el-form-control { border: 1px solid #d7e5ee; border-radius: 4px; font-size: 12px; padding: 8px; height: 36px; min-height: 36px; width: 100%; }
.ncrc-enquiry-card textarea.ff-el-form-control { min-height: 65px; height: 65px; }
.ncrc-enquiry-card .ff-el-group { margin-bottom: 12px; }
.ncrc-enquiry-card .ff-el-form-check-label { font-size: 11px; line-height: 1.4; }
.ncrc-enquiry-context { display: none; }
.ncrc-cruise-single .ncrc-section-heading { grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 22px; }
.ncrc-cruise-single .ncrc-section-heading h2 { max-width: none; }
.ncrc-cruise-single h2 { font-weight: 700; }
.ncrc-cruise-single .ncrc-similar-cruises .ncrc-section-heading { align-items: center; grid-template-columns: minmax(0,1fr) auto; }
.ncrc-cruise-single .ncrc-similar-cruises .ncrc-section-heading > a { color: var(--ncrc-color-blue); justify-self: end; text-align: right; }
@media(max-width:700px) { .ncrc-cruise-single .ncrc-similar-cruises .ncrc-section-heading { grid-template-columns: 1fr; gap: 12px; } }
@media(max-width:560px) { .ncrc-similar-cruises .ncrc-featured__grid { grid-template-columns: 1fr; } }
.ncrc-cruise-route { clip-path: none; position: relative; padding-block: 34px; background-image: linear-gradient(90deg,rgba(1,27,49,.55),rgba(1,27,49,.2)),url('../images/destinations/luxor.webp'); }
.ncrc-cruise-route__heading p { font-size: 14px; }
.ncrc-cruise-route__map path { stroke-width: 2; filter: drop-shadow(0 0 7px #ffd165); }
.ncrc-cruise-route__map circle { fill: #073a69; stroke: #fff; stroke-width: 2; }
.ncrc-cruise-route__map circle:first-child { stroke: #ffd165; filter: drop-shadow(0 0 7px #ffd165); }
.ncrc-cruise-route__map > svg { height: 65px; }
.ncrc-cruise-route__stops a { font-size: 13px; }
.ncrc-cruise-route__stops small { font-size: 11px; }
.ncrc-cruise-single .ncrc-similar-cruises .ncrc-cruise-card__footer { grid-template-columns: 1fr; }
.ncrc-cruise-final-cta .ncrc-container { grid-template-columns: 1fr auto 1fr; }
.ncrc-cruise-final-cta { min-height: 135px; }
.ncrc-cruise-final-cta::after { background: linear-gradient(90deg,#003365 0%,rgba(0,51,101,.65) 45%,rgba(0,51,101,.1)); }
.ncrc-about-process__steps::before { background: none; }
.ncrc-about-process__steps { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 55' preserveAspectRatio='none'%3E%3Cpath fill='none' stroke='%23ffd165' stroke-width='2' d='M0 25C45 0 70 15 100 25S240 45 300 25S450 5 500 25S640 45 700 25S840 5 900 25S965 40 1000 25'/%3E%3C/svg%3E") center top / 100% 48px no-repeat; }
@media(max-width:1050px) { .ncrc-cruise-overview { grid-template-columns: minmax(0,1fr) 310px; } }
@media(max-width:850px) { .ncrc-cruise-overview,.ncrc-cruise-fit__layout { grid-template-columns: 1fr; } .ncrc-enquiry-card { position: static; } }
@media(max-width:700px) { .ncrc-cruise-single .ncrc-section-heading { grid-template-columns: 1fr; } .ncrc-cruise-gallery { aspect-ratio: auto; grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: 220px 80px; max-height: none; } .ncrc-cruise-gallery__item--main { grid-column: 1 / -1; grid-row: 1; } .ncrc-cruise-final-cta .ncrc-container { display: flex; } .ncrc-about-process__steps { background: none; } }
.ncrc-accreditation-card--prototype { flex-direction: column; gap: 7px; text-align: center; border-radius: 6px; padding: 20px; }
.ncrc-accreditation-mark { height: 64px; overflow: visible; width: 64px; display: block; }
.ncrc-accreditation-mark img { height: 64px; max-width: 100%; max-height: none; object-fit: contain; position: static; width: 64px; }
.ncrc-accreditation-card--prototype strong { font-size: 18px; }
.ncrc-accreditation-card--prototype small { font-size: 14px; line-height: 1.4; max-width: 22ch; }
.ncrc-accreditation-note { color: #456582; font-size: 11px; grid-column: 2; text-align: center; margin-top: -14px; }
.ncrc-homepage .ncrc-specialist h2 { font-size: clamp(32px,4.4vw,58px); max-width: 11ch; }
.ncrc-homepage .ncrc-accreditations__copy h2 { font-size: clamp(30px,3.5vw,46px); max-width: 20ch; }
.ncrc-homepage .ncrc-specialist__proof > div { grid-template-columns: 190px 1fr; }
.ncrc-specialist__proof dd { border-left: 1px solid #d7e5ee; padding-left: 16px; }
@media(max-width:700px) { .ncrc-accreditation-note { grid-column: 1; } .ncrc-homepage .ncrc-specialist__proof > div { grid-template-columns: 1fr; } .ncrc-specialist__proof dd { border: 0; padding-left: 0; } }
.ncrc-page-hero { min-height: 430px; }
.ncrc-page-hero__content { padding-top: 145px; padding-bottom: 65px; }
.ncrc-page-hero h1 { font-size: clamp(40px,4.8vw,66px); line-height: 1.08; letter-spacing: -.03em; }
.ncrc-page-hero__intro { font-size: 18px; line-height: 1.5; max-width: 48ch; }
@media(max-width:700px) { .ncrc-page-hero { min-height: 390px; } .ncrc-page-hero__content { padding-top: 125px; padding-bottom: 50px; } }
.ncrc-enquiry-card .ff-t-cell .ff-el-group { margin: 0 !important; }
.ncrc-enquiry-card .ff-el-group:has(.ncrc-enquiry-section) { margin-bottom: 0; }
.ncrc-enquiry-card .ncrc-enquiry-section { margin-block: 10px 8px; }
.ncrc-enquiry-card .ff-el-input--label { margin-bottom: 4px; }
.ncrc-mini-route { float: right; height: 210px; margin: 0 0 12px 22px; position: relative; width: 140px; }
.ncrc-mini-route svg { height: 210px; width: 80px; }
.ncrc-mini-route path { fill: none; stroke: #ffc947; stroke-width: 2; }
.ncrc-mini-route circle { fill: #fff; stroke: #ffc947; stroke-width: 2; }
.ncrc-mini-route ol { display: flex; flex-direction: column; justify-content: space-between; inset: 6px 0 9px 45px; list-style: none; margin: 0; padding: 0; position: absolute; }
.ncrc-mini-route li { color: var(--ncrc-color-blue); font-size: 10px; font-weight: 600; text-transform: uppercase; }
.ncrc-cruise-facts { clear: both; }
.ncrc-cruise-single h2 { font-size: clamp(26px,2.5vw,34px); }
.ncrc-cruise-single .ncrc-section { padding-block: 36px; }
.ncrc-cruise-overview__main .ncrc-cruise-fit { padding: 24px; }
.ncrc-cruise-fit h2 { font-size: 25px; }
.ncrc-program-itinerary article > span small { display: block; font-size: 11px; font-weight: 400; text-transform: none; }
.ncrc-program-itinerary article > span strong { display: block; font-family: var(--ncrc-font-display); font-size: 22px; line-height: 1.2; }
.ncrc-cruise-route__map svg g { display: none; }
.ncrc-cruise-route__stops a { position: relative; }
.ncrc-cruise-route__stops a::before { background: #073a69; border: 2px solid #fff; border-radius: 50%; content: ''; height: 14px; left: 50%; position: absolute; top: -35px; transform: translateX(-50%); width: 14px; }
.ncrc-cruise-route__stops a:first-child::before { border-color: #ffd165; box-shadow: 0 0 12px #ffd165; }
.ncrc-cruise-route__stops a:nth-child(2)::before { top: -34px; }
.ncrc-cruise-route__stops a:nth-child(3)::before { top: -33px; }
.ncrc-footer__current { background-image: linear-gradient(rgba(0,31,66,.58),rgba(0,22,48,.7)),url('../images/blue-water.webp'); }
.ncrc-custom-trip__control input[type="date"]::-webkit-calendar-picker-indicator { opacity: 0; }
.ncrc-reviews .ti-widget,.ncrc-reviews .ti-widget * { font-family: var(--ncrc-font-body) !important; }
@media(max-width:600px) { .ncrc-mini-route { display: none; } .ncrc-enquiry-card .ff-t-container { flex-direction: column; } .ncrc-enquiry-card .ff-t-cell { width: 100% !important; } .ncrc-enquiry-card .ff-t-cell + .ff-t-cell { margin-top: 10px; } }
.ncrc-destination-journey { background-image: linear-gradient(90deg,rgba(1,27,49,.75),rgba(1,27,49,.2)),var(--ncrc-destination-background); }
.ncrc-fit-details summary { color: var(--ncrc-color-blue); cursor: pointer; font-size: 13px; font-weight: 500; margin-top: 10px; }
.ncrc-fit-details[open] summary { margin-bottom: 12px; }
.ncrc-accreditations { padding-block: 36px; }
.ncrc-accreditations__inner { gap: 24px; grid-template-columns: 1.1fr 1fr; }
.ncrc-accreditations__copy h2 { font-size: clamp(28px,3vw,38px); max-width: 20ch; }
.ncrc-about-page .ncrc-accreditations { background: linear-gradient(90deg,#f2f8fc 35%,rgba(242,248,252,.88)),url('../images/custom-trip.webp') center / cover; }
.ncrc-about-approach article { padding-left: 50px; position: relative; }
.ncrc-criterion-icon { align-items: center; background: #edf7fc; border-radius: 50%; color: var(--ncrc-color-ink); display: flex; height: 36px; justify-content: center; left: 0; position: absolute; top: 0; width: 36px; }
.ncrc-criterion-icon svg { height: 20px; width: 20px; }
@media(max-width:700px) { .ncrc-accreditations__inner { grid-template-columns: 1fr; } }


/* assets/css/brand-system.css */
/* Global contract from the supplied Living Nile design-system reference.
   Shared hover rules intentionally override component and
   Fluent Forms inline/important colors so every primary action behaves alike. */
.ncrc-site-header .ncrc-primary-nav__list a { color: inherit; }
.ncrc-breadcrumbs ol a { color: var(--ncrc-color-blue); }
.ncrc-breadcrumbs--inverse ol a { color: #fff; }
.ncrc-footer .ncrc-footer__menu a,.ncrc-footer .ncrc-footer__legal a { color: #fff; }
.ncrc-site-header .ncrc-primary-nav__list a:is(:hover,:focus-visible),.ncrc-footer .ncrc-footer__menu a:is(:hover,:focus-visible),.ncrc-footer .ncrc-footer__legal a:is(:hover,:focus-visible) { color: var(--ncrc-color-sun); }
.ncrc-site-header,.ncrc-footer { font-family: var(--ncrc-font-body); }
.ncrc-button[href] { color: var(--ncrc-color-ink); font-family: var(--ncrc-font-body); font-weight: 600; }
.ncrc-button--outline[href] { color: inherit; }
.ncrc-button,.ncrc-home-search__submit,.ncrc-cruise-card__link,.fluentform .ff-btn-submit { font-family: var(--ncrc-font-body); font-weight: 600; }
:is(.ncrc-button,.ncrc-home-search__submit,.ncrc-cruise-card__link,.fluentform .ff-btn-submit):is(:hover,:focus-visible):not(:disabled):not([aria-disabled="true"]) { background: var(--ncrc-color-blue) !important; background-image: none !important; border-color: var(--ncrc-color-blue) !important; color: #fff !important; box-shadow: 0 4px 16px rgba(7,90,158,.24) !important; }
.ncrc-primary-nav__list a:is(:hover,:focus-visible),.ncrc-footer__menu a:is(:hover,:focus-visible),.ncrc-footer__legal a:is(:hover,:focus-visible) { color: var(--ncrc-color-sun); }
.ncrc-homepage .ncrc-faq summary,.ncrc-contact-faq summary { color: var(--ncrc-color-ink); }
:where(input,select,textarea):focus-visible,:where(button,a):focus-visible { outline: 2px solid var(--ncrc-color-sun); outline-offset: 3px; }
.ncrc-footer { background: var(--ncrc-color-river-night); padding: 24px 0 12px; color: #fff; }
.ncrc-footer__current { background: linear-gradient(90deg,rgba(4,27,54,.25),rgba(0,61,120,.46)),url('../images/footer-river.webp') center 70% / cover no-repeat; opacity: 1; }
.ncrc-footer::before { height: 16px; }
.ncrc-footer__top { gap: 40px; padding-bottom: 10px; border-bottom: 1px solid #ffffff55; }
.ncrc-footer .ncrc-brand__image { width: 230px; }
.ncrc-footer__top > nav { display: flex; flex: 1; justify-content: center; padding-right: 38px; border-right: 1px solid #ffffff66; }
.ncrc-footer__menu { font-size: 13px; gap: clamp(20px,3.3vw,48px); }
.ncrc-footer .ncrc-button { background: transparent; border: 1px solid var(--ncrc-color-sun); border-radius: 5px; box-shadow: none; color: var(--ncrc-color-sun); font-size: 13px; font-weight: 600; min-height: 44px; min-width: 200px; padding: 9px 22px; }
.ncrc-footer__bottom { color: #e0e9f3; font-size: 10px; line-height: 1.4; padding-top: 8px; }
.ncrc-footer__legal { gap: 18px; }
.ncrc-footer__legal li + li { border-left: 1px solid #ffffff77; padding-left: 18px; }
@media(max-width:900px) { .ncrc-footer__top { gap: 20px; } .ncrc-footer__top > nav { border-right: 0; padding-right: 0; justify-content: start; } .ncrc-footer__top > .ncrc-button { justify-self: end; } .ncrc-footer__menu { flex-wrap: wrap; gap: 22px; } }
@media(max-width:580px) { .ncrc-footer { padding-top: 30px; } .ncrc-footer__top > .ncrc-button { justify-self: start; } .ncrc-footer .ncrc-brand__image { width: 205px; } .ncrc-footer__bottom { gap: 14px; padding-top: 14px; } }

.fluentform { font-family: var(--ncrc-font-body); }
.ncrc-primary-nav__list .sub-menu a:is(:hover,:focus-visible) { background: var(--ncrc-color-river-deep); color: var(--ncrc-color-sun); }
input[type="radio"],input[type="checkbox"],input[type="range"] { accent-color: var(--ncrc-color-blue); }

/* Keep native navigation and action icons independent of old builder button defaults. */
.ncrc-site-header .ncrc-menu-toggle { background: transparent; border: 0; border-radius: 0; box-shadow: none; color: inherit; font-family: var(--ncrc-font-body); min-height: 44px; padding: 12px; }
.ncrc-site-header .ncrc-menu-toggle:is(:hover,:focus-visible) { background: transparent; color: var(--ncrc-color-sun); }
.ncrc-button > svg { height: 20px; width: 20px; flex: 0 0 20px; }


/* assets/css/cruise-cards.css */
/* One comparison card across home, archive, destinations and related vessels. */
.ncrc-cruise-card.ncrc-card { background:#fff; border:1px solid var(--ncrc-color-line); border-radius:16px; box-shadow:none; display:flex; flex-direction:column; min-width:0; overflow:hidden; }
.ncrc-cruise-card.ncrc-card:hover { border-color:#88aac5; box-shadow:none; transform:none; }
.ncrc-cruise-card__visual { flex:0 0 auto; padding:0; position:relative; }
.ncrc-cruise-card .ncrc-cruise-card__media { aspect-ratio:16 / 9; background:var(--ncrc-color-mist); border-radius:0; display:block; overflow:hidden; }
.ncrc-cruise-card .ncrc-cruise-card__media img { display:block; height:100%; object-fit:cover; object-position:center; width:100%; }
.ncrc-cruise-card .ncrc-cruise-card__class { align-items:center; background:var(--ncrc-color-ink); border:1px solid #c3a366; border-radius:5px; color:#fff; display:inline-flex; font-size:11px; font-weight:600; gap:5px; left:14px; line-height:1.4; max-width:42%; padding:6px 9px; position:absolute; top:14px; }
.ncrc-cruise-card .ncrc-cruise-card__class[data-class="elite"] { background:#123e72; }
.ncrc-cruise-card .ncrc-cruise-card__class[data-class="prestige"] { background:#352652; }
.ncrc-cruise-card__class > span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ncrc-cruise-card .ncrc-cruise-card__class > svg { color:var(--ncrc-color-sun); flex:0 0 12px; height:12px; width:12px; }
.ncrc-cruise-card__ribbons { align-items:flex-end; display:flex; flex-direction:column; gap:6px; max-width:47%; position:absolute; right:0; top:14px; }
.ncrc-cruise-card__ribbons > span { background:var(--ncrc-color-ink); border-radius:4px 0 0 4px; color:#fff; font-size:11px; font-weight:600; line-height:1.4; max-width:100%; overflow:hidden; padding:7px 12px; text-overflow:ellipsis; white-space:nowrap; }
.ncrc-cruise-card__ribbons > [data-tone="gold"] { background:var(--ncrc-color-sun); color:var(--ncrc-color-ink); }
.ncrc-cruise-card__ribbons > [data-tone="plum"] { background:#352652; }
.ncrc-cruise-card .ncrc-cruise-card__body { display:flex; flex:1; flex-direction:column; gap:8px; padding:16px; }
.ncrc-cruise-card .ncrc-cruise-card__body > h3 { display:-webkit-box; font-family:var(--ncrc-font-display); font-size:19px; font-weight:700; letter-spacing:-.025em; line-height:1.25; margin:0; min-height:0; order:0; overflow:hidden; text-wrap:pretty; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.ncrc-cruise-card .ncrc-cruise-card__body > h3 a { color:var(--ncrc-color-ink); text-decoration:none; }
.ncrc-cruise-card .ncrc-cruise-card__body > h3 a:hover { color:var(--ncrc-color-blue); }
.ncrc-cruise-card__meta { align-items:center; display:flex; flex-wrap:wrap; gap:6px 12px; justify-content:space-between; min-width:0; }
.ncrc-cruise-card .ncrc-cruise-card__labels { display:flex; flex-wrap:wrap; font-size:11px; font-weight:500; gap:6px; letter-spacing:0; margin:0; min-height:0; order:0; text-transform:none; }
.ncrc-cruise-card .ncrc-cruise-card__labels span { color:var(--ncrc-color-blue); line-height:1.4; }
.ncrc-cruise-card .ncrc-cruise-card__labels span + span::before { content:none; }
.ncrc-cruise-card .ncrc-cruise-card__facts { display:flex; flex-wrap:wrap; gap:8px 14px; min-width:0; }
.ncrc-cruise-card .ncrc-cruise-card__facts p { align-items:center; color:#3c5873; display:flex; font-size:12px; font-weight:400; gap:5px; line-height:1.4; margin:0; min-height:0; order:0; }
.ncrc-cruise-card .ncrc-cruise-card__facts svg { color:var(--ncrc-color-blue); flex:0 0 15px; height:15px; width:15px; }
.ncrc-cruise-card .ncrc-cruise-card__rating { align-items:center; color:var(--ncrc-color-ink); display:flex; flex-wrap:wrap; font-size:12px; gap:5px; line-height:1.4; text-decoration:none; width:fit-content; }
.ncrc-cruise-card__rating svg,.ncrc-cruise-card__recommendation svg { color:var(--ncrc-color-sun); flex:0 0 15px; height:15px; width:15px; }
.ncrc-cruise-card__rating strong { font-size:14px; }
.ncrc-cruise-card__rating span { color:#3c5873; }
.ncrc-cruise-card .ncrc-cruise-card__rating:hover { text-decoration:underline; text-underline-offset:3px; }
.ncrc-cruise-card .ncrc-cruise-card__recommendation { align-items:center; color:var(--ncrc-color-blue); display:flex; font-size:11px; font-weight:500; gap:6px; line-height:1.4; margin:0; }
.ncrc-cruise-card .ncrc-cruise-card__summary { color:#3c5873; display:-webkit-box; font-size:13px; font-weight:400; line-height:1.55; margin:0; min-height:0; order:0; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.ncrc-cruise-card.ncrc-card .ncrc-cruise-card__footer { background:#fff; border:0; border-top:1px solid #dce6ec; align-items:center; display:grid; gap:12px; grid-template-columns:minmax(0,1fr) auto; margin:auto 0 0; order:0; padding:12px 0 0; }
.ncrc-cruise-card .ncrc-cruise-card__price { color:var(--ncrc-color-ink); font-size:16px; font-weight:600; line-height:1.3; margin:0; min-height:0; }
.ncrc-cruise-card__price-top { align-items:center; display:flex; gap:8px; }
.ncrc-cruise-card .ncrc-cruise-card__price small { color:#3c5873; font-size:11px; font-weight:400; }
.ncrc-cruise-card__price del { color:#3c5873; font-size:12px; font-weight:400; }
.ncrc-cruise-card__price-main { align-items:baseline; display:flex; flex-wrap:wrap; gap:7px; margin-top:2px; }
.ncrc-cruise-card .ncrc-cruise-card__price strong { font-family:var(--ncrc-font-display); font-size:27px; font-variant-numeric:tabular-nums; font-weight:700; letter-spacing:-.025em; line-height:1.15; }
.ncrc-cruise-card__price-main > span { color:#3c5873; font-size:11px; font-weight:400; }
.ncrc-cruise-card .ncrc-cruise-card__price span { margin-left:0; white-space:normal; }
.ncrc-cruise-card .ncrc-cruise-card__link { align-items:center; background:var(--ncrc-color-sun); border:1px solid var(--ncrc-color-sun); border-radius:7px; box-shadow:none; color:var(--ncrc-color-ink); display:flex; font-size:13px; font-weight:600; gap:12px; justify-content:space-between; margin:0; min-height:44px; padding:10px 12px; text-decoration:none; white-space:nowrap; width:auto; }
.ncrc-cruise-card .ncrc-cruise-card__link:hover,.ncrc-cruise-card .ncrc-cruise-card__link:focus-visible { background:var(--ncrc-color-blue); border-color:var(--ncrc-color-blue); color:#fff; transform:none; }
.ncrc-cruise-card a:focus-visible { outline:2px solid var(--ncrc-color-blue); outline-offset:3px; }
@media(max-width:560px) { .ncrc-cruise-card .ncrc-cruise-card__body { padding:16px; } }


/* assets/css/trust-section.css */
/* Shared specialist proof. The image and factual benefits lead; evidence follows. */
.ncrc-trust { background:#fff; color:var(--ncrc-color-ink); padding-block:64px; }
.ncrc-trust__heading { align-items:end; display:flex; gap:40px; justify-content:space-between; margin-bottom:28px; }
.ncrc-trust .ncrc-trust__heading h2 { color:var(--ncrc-color-ink); font-family:var(--ncrc-font-display); font-size:clamp(30px,3.5vw,46px); font-weight:700; letter-spacing:-.03em; line-height:1.1; margin:0; max-width:18ch; }
.ncrc-trust__heading > p { color:#3c5873; font-size:16px; line-height:1.65; margin:0; max-width:45ch; }
.ncrc-trust__layout { align-items:stretch; display:grid; gap:24px; grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr); }
.ncrc-trust__layout.ncrc-trust__layout--feature-only { grid-template-columns:1fr; }
.ncrc-trust__benefits { display:grid; gap:18px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.ncrc-trust__benefits article { background:var(--ncrc-color-mist); border-radius:14px; padding:22px; }
.ncrc-trust__icon { align-items:center; background:#fff; border-radius:50%; color:var(--ncrc-color-blue); display:inline-flex; flex:0 0 48px; height:48px; justify-content:center; width:48px; }
.ncrc-trust__icon svg { height:25px; width:25px; }
.ncrc-trust .ncrc-trust__benefits h3 { color:var(--ncrc-color-ink); font-size:17px; font-weight:700; letter-spacing:-.02em; line-height:1.25; margin:18px 0 7px; }
.ncrc-trust .ncrc-trust__benefits p { color:#3c5873; font-size:13px; line-height:1.55; margin:0; }
.ncrc-trust__feature { background:var(--ncrc-color-mist); border-radius:14px; display:grid; gap:24px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-width:0; overflow:hidden; padding:22px; }
.ncrc-trust__feature.ncrc-trust__feature--no-image { grid-template-columns:1fr; }
.ncrc-trust__feature-copy { align-items:start; display:flex; flex-direction:column; padding-block:12px; }
.ncrc-trust .ncrc-trust__feature h3 { color:var(--ncrc-color-ink); font-size:clamp(22px,2.1vw,28px); font-weight:700; letter-spacing:-.025em; line-height:1.15; margin:0 0 18px; }
.ncrc-trust .ncrc-trust__feature p { color:#3c5873; font-size:15px; line-height:1.65; margin:0 0 28px; }
.ncrc-trust__feature .ncrc-button { font-size:13px; gap:10px; margin-top:auto; min-height:44px; padding:11px 14px; }
.ncrc-trust__feature .ncrc-button svg { flex:0 0 18px; height:18px; width:18px; }
.ncrc-trust__feature figure { border-radius:9px; margin:0; min-width:0; overflow:hidden; }
.ncrc-trust__feature figure img { display:block; height:100%; min-height:310px; object-fit:cover; object-position:center; width:100%; }
.ncrc-trust__credentials { display:grid; gap:32px; grid-template-columns:1fr 1fr; margin-top:28px; }
.ncrc-trust .ncrc-trust__credential { align-items:center; border-top:1px solid var(--ncrc-color-line); color:var(--ncrc-color-ink); display:flex; gap:18px; min-width:0; padding-top:22px; text-decoration:none; }
.ncrc-trust__credential > img { flex:0 0 64px; height:64px; object-fit:contain; width:64px; }
.ncrc-trust__credential > .ncrc-trust__icon { background:var(--ncrc-color-mist); flex-basis:64px; height:64px; width:64px; }
.ncrc-trust__credential > span:not(.ncrc-trust__icon) { display:flex; flex-direction:column; gap:4px; }
.ncrc-trust__credential strong { font-size:17px; font-weight:700; }
.ncrc-trust__credential small { color:#3c5873; font-size:13px; line-height:1.5; }
.ncrc-trust .ncrc-trust__text-link { color:var(--ncrc-color-blue); font-size:13px; font-weight:600; margin-top:4px; text-decoration:underline; text-underline-offset:4px; }
.ncrc-trust a:focus-visible { outline:2px solid var(--ncrc-color-blue); outline-offset:4px; }
.ncrc-trust a.ncrc-trust__credential:hover .ncrc-trust__text-link,.ncrc-trust .ncrc-trust__text-link:hover { color:var(--ncrc-color-ink); }
@media(max-width:1050px) {
 .ncrc-trust__layout { grid-template-columns:1fr; }
 .ncrc-trust__benefits { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .ncrc-trust__feature figure img { max-height:380px; }
}
@media(max-width:700px) {
 .ncrc-trust { padding-block:40px; }
 .ncrc-trust__heading { align-items:start; flex-direction:column; gap:16px; }
 .ncrc-trust__heading > p { font-size:15px; }
 .ncrc-trust__benefits { gap:12px; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ncrc-trust__benefits article { padding:18px; }
 .ncrc-trust .ncrc-trust__benefits h3 { font-size:16px; }
 .ncrc-trust__feature { gap:20px; grid-template-columns:1fr; padding:20px; }
 .ncrc-trust__feature-copy { padding:0; }
 .ncrc-trust__feature figure img { aspect-ratio:4 / 3; min-height:0; }
 .ncrc-trust__credentials { gap:20px; grid-template-columns:1fr; }
}

