

:root {
  --color-ocean-950: #092f46;
  --color-ocean-800: #14516b;
  --color-ocean-600: #16708a;
  --color-turquoise-500: #20a7a0;
  --color-coral-500: #e87561;
  --color-gold-500: #b78a3e;
  --color-ivory-50: #fbf8f1;
  --color-ivory-100: #f3eee4;
  --color-white: #ffffff;
  --color-charcoal-900: #202d33;
  --color-charcoal-600: #53636a;
  --color-line-soft: #d8e1df;

  --color-page: var(--color-ivory-50);
  --color-surface: var(--color-white);
  --color-surface-muted: var(--color-ivory-100);
  --color-text: var(--color-charcoal-900);
  --color-text-muted: var(--color-charcoal-600);
  --color-heading: var(--color-ocean-800);
  --color-link: var(--color-ocean-600);
  --color-border: var(--color-line-soft);
  --color-focus: var(--color-ocean-600);
  --color-inverse: var(--color-white);
  --color-brand-dark: var(--color-ocean-950);

  --font-heading: "Fraunces", Georgia, serif;
  --font-body: "Inter", Arial, sans-serif;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.375rem;
  --text-2xl: clamp(1.625rem, 2vw, 1.875rem);
  --text-3xl: clamp(2rem, 3vw, 2.625rem);
  --text-display: clamp(2.5rem, 5vw, 3.75rem);

  --leading-tight: 1.07;
  --leading-heading: 1.2;
  --leading-body: 1.625;
  --leading-compact: 1.43;

  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 2.5rem;
  --space-8: 3rem;
  --space-9: 4rem;
  --space-10: 5rem;
  --space-11: 6rem;
  --space-12: 8rem;

  --radius-sm: 0.25rem;
  --radius-md: 0.625rem;
  --radius-lg: 1rem;
  --radius-xl: 1.5rem;
  --radius-pill: 999px;

  --shadow-float: 0 8px 24px rgba(9, 47, 70, 0.1);

  --container-max: 75rem;
  --container-wide: 70rem;
  --container-reading: 45rem;
  --gutter: 1rem;
  --section-space: clamp(2.5rem, 7vw, 6rem);
  --focus-ring: 0 0 0 2px var(--color-page), 0 0 0 4px var(--color-focus);
}

@media (min-width: 48rem) {
  :root {
    --gutter: 1.5rem;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  min-width: 320px;
  scroll-behavior: smooth;
  scroll-padding-top: var(--space-8);
  -webkit-text-size-adjust: 100%;
}

body {
  min-width: 0;
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  background: var(--color-page);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: var(--weight-regular);
  line-height: var(--leading-body);
  text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea {
  font-synthesis: none;
}

main,
header,
footer,
section,
article,
aside,
nav,
form,
fieldset,
figure,
blockquote,
table,
div {
  min-width: 0;
}

img,
picture,
svg,
canvas,
video,
audio,
iframe,
embed,
object {
  display: block;
  max-width: 100%;
}

img,
video {
  height: auto;
}

img {
  font-style: italic;
}

svg {
  fill: currentColor;
}

iframe {
  width: 100%;
  border: 0;
}

a {
  color: var(--color-link);
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}

a:hover {
  color: var(--color-ocean-800);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

button,
input,
select,
textarea {
  color: inherit;
  font: inherit;
}

button,
select {
  text-transform: none;
}

button {
  border: 0;
  cursor: pointer;
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
  cursor: not-allowed;
  opacity: 0.65;
}

input,
select,
textarea {
  width: 100%;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-white);
  font-size: 1rem;
  line-height: 1.5;
}

input,
select {
  min-height: 2.75rem;
  padding: 0.625rem 0.75rem;
}

textarea {
  min-height: 8rem;
  padding: 0.75rem;
  resize: vertical;
}

input[type="checkbox"],
input[type="radio"] {
  width: 1.125rem;
  min-height: 1.125rem;
  padding: 0;
  accent-color: var(--color-ocean-600);
}

input::placeholder,
textarea::placeholder {
  color: var(--color-charcoal-600);
  opacity: 1;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--color-ocean-600);
  outline: none;
  box-shadow: var(--focus-ring);
}

label {
  display: inline-block;
  margin-block-end: var(--space-2);
  color: var(--color-charcoal-900);
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
  line-height: var(--leading-compact);
}

fieldset {
  margin: 0 0 var(--space-5);
  padding: 0;
  border: 0;
}

legend {
  margin-block-end: var(--space-2);
  font-weight: var(--weight-semibold);
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  background: var(--color-white);
}

caption {
  margin-block-end: var(--space-3);
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  text-align: left;
}

th,
td {
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--color-border);
  text-align: left;
  vertical-align: top;
}

th {
  color: var(--color-ocean-800);
  font-weight: var(--weight-semibold);
}

tbody tr:nth-child(even) {
  background: var(--color-ivory-50);
}

ul,
ol {
  margin: 0 0 var(--space-5);
  padding-inline-start: 1.25rem;
}

ul ul,
ul ol,
ol ul,
ol ol {
  margin-block: var(--space-2) 0;
}

li::marker {
  color: var(--color-turquoise-500);
}

blockquote {
  margin: 0 0 var(--space-5);
  padding: var(--space-4) var(--space-5);
  border-inline-start: 3px solid var(--color-turquoise-500);
  background: var(--color-ivory-100);
  color: var(--color-ocean-800);
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  line-height: 1.55;
}

hr {
  height: 1px;
  margin: var(--space-6) 0;
  border: 0;
  background: var(--color-border);
}

figure {
  margin: 0 0 var(--space-5);
}

figcaption {
  margin-block-start: var(--space-2);
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 var(--space-4);
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-weight: var(--weight-semibold);
  letter-spacing: -0.02em;
  line-height: var(--leading-heading);
  text-wrap: balance;
}

h1 {
  font-size: var(--text-display);
  line-height: var(--leading-tight);
}

h2 {
  font-size: var(--text-3xl);
}

h3 {
  font-size: var(--text-2xl);
  line-height: 1.27;
}

h4 {
  font-family: var(--font-body);
  font-size: var(--text-lg);
  line-height: 1.35;
}

h5,
h6 {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.4;
}

p {
  margin: 0 0 var(--space-4);
}

small {
  font-size: var(--text-xs);
  line-height: 1.35;
}

strong,
b {
  font-weight: var(--weight-semibold);
}

em,
i {
  font-style: italic;
}

mark {
  padding-inline: 0.15em;
  background: color-mix(in srgb, var(--color-turquoise-500) 25%, transparent);
  color: inherit;
}

abbr[title] {
  cursor: help;
  text-decoration: underline dotted;
  text-underline-offset: 0.16em;
}

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

code,
kbd {
  padding: 0.1em 0.3em;
  border-radius: var(--radius-sm);
  background: var(--color-ivory-100);
  font-size: 0.9em;
}

pre {
  max-width: 100%;
  margin: 0 0 var(--space-5);
  padding: var(--space-4);
  overflow: auto;
  border-radius: var(--radius-md);
  background: var(--color-ocean-950);
  color: var(--color-white);
}

details {
  margin: 0 0 var(--space-4);
  border-bottom: 1px solid var(--color-border);
}

summary {
  display: flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3) 0;
  color: var(--color-ocean-800);
  cursor: pointer;
  font-weight: var(--weight-semibold);
}

summary::marker {
  color: var(--color-turquoise-500);
}

details > :not(summary) {
  margin-block: 0 var(--space-4);
}

::selection {
  background: color-mix(in srgb, var(--color-turquoise-500) 40%, var(--color-white));
  color: var(--color-ocean-950);
}

.container {
  width: min(100% - (var(--gutter) * 2), var(--container-max));
  margin-inline: auto;
}

.container--wide {
  width: min(100% - (var(--gutter) * 2), var(--container-wide));
  margin-inline: auto;
}

.container--reading {
  width: min(100% - (var(--gutter) * 2), var(--container-reading));
  margin-inline: auto;
}

.section {
  padding-block: var(--section-space);
}

.surface {
  background: var(--color-surface);
}

.surface--muted {
  background: var(--color-surface-muted);
}

.surface--dark {
  background: var(--color-brand-dark);
  color: var(--color-ivory-50);
}

.surface--dark :is(h1, h2, h3, h4, h5, h6) {
  color: var(--color-white);
}

.surface--dark a {
  color: var(--color-turquoise-500);
}

.stack {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.stack > * {
  min-width: 0;
}

.stack--2 {
  gap: var(--space-2);
}

.stack--3 {
  gap: var(--space-3);
}

.stack--4 {
  gap: var(--space-4);
}

.stack--5 {
  gap: var(--space-5);
}

.stack--6 {
  gap: var(--space-6);
}

.stack--8 {
  gap: var(--space-8);
}

.cluster {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
}

.cluster > * {
  min-width: 0;
}

.cluster--tight {
  gap: var(--space-2);
}

.cluster--loose {
  gap: var(--space-4);
}

.cluster--between {
  justify-content: space-between;
}

.card {
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.card--feature {
  border-radius: var(--radius-lg);
}

.card > :last-child,
.panel > :last-child,
.verified-info > :last-child,
.editorial-guidance > :last-child {
  margin-block-end: 0;
}

.panel {
  min-width: 0;
  padding: clamp(var(--space-5), 4vw, var(--space-7));
  border-radius: var(--radius-lg);
  background: var(--color-surface-muted);
}

.verified-info {
  min-width: 0;
  padding: var(--space-5);
  border-inline-start: 4px solid var(--color-ocean-800);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  background: var(--color-ivory-100);
}

.editorial-guidance {
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.eyebrow,
.status-label {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0 0 var(--space-3);
  color: var(--color-ocean-800);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.status-label {
  width: fit-content;
  margin-block-end: 0;
  padding: var(--space-1) var(--space-2);
  border-radius: var(--radius-pill);
  background: var(--color-ivory-100);
  letter-spacing: 0.08em;
}

.status-label--guidance {
  color: var(--color-ocean-950);
  background: color-mix(in srgb, var(--color-turquoise-500) 22%, var(--color-white));
}

.status-label--verified {
  color: var(--color-ocean-800);
  background: color-mix(in srgb, var(--color-ocean-600) 12%, var(--color-white));
}

.status-label--premium {
  color: var(--color-ocean-950);
  background: color-mix(in srgb, var(--color-gold-500) 24%, var(--color-white));
}

.button {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: 0.75rem 1.25rem;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  background: var(--color-ocean-800);
  color: var(--color-white);
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.02em;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.button:hover {
  background: #0b405c;
  color: var(--color-white);
}

.button:focus-visible {
  box-shadow: var(--focus-ring);
}

.button--secondary {
  border-color: var(--color-ocean-800);
  background: var(--color-white);
  color: var(--color-ocean-800);
}

.button--secondary:hover {
  border-color: var(--color-turquoise-500);
  background: var(--color-ivory-50);
  color: var(--color-ocean-800);
}

.button--quiet {
  padding-inline: 0;
  background: transparent;
  color: var(--color-ocean-600);
}

.button--quiet:hover {
  background: transparent;
  color: var(--color-ocean-800);
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.text-link {
  color: var(--color-ocean-600);
  font-weight: var(--weight-medium);
}

.text-link:hover,
.text-link:focus-visible {
  color: var(--color-ocean-800);
}

.muted {
  color: var(--color-text-muted);
}

.disclaimer {
  padding: var(--space-4);
  border-radius: var(--radius-md);
  background: var(--color-ivory-100);
  color: var(--color-charcoal-600);
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
}

.table-scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.table-scroll > table {
  min-width: 40rem;
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: var(--space-3);
  left: var(--space-3);
  padding: var(--space-3) var(--space-4);
  transform: translateY(-200%);
  border-radius: var(--radius-sm);
  background: var(--color-ocean-950);
  color: var(--color-white);
  font-weight: var(--weight-semibold);
  text-decoration: none;
}

.skip-link:focus {
  transform: translateY(0);
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 47.99rem) {
  h1 {
    font-size: clamp(2.25rem, 10vw, 3rem);
  }

  h2 {
    font-size: clamp(1.75rem, 7vw, 2.25rem);
  }

  .card,
  .verified-info,
  .editorial-guidance {
    padding: var(--space-4);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}


.site-header{position:sticky;z-index:100;top:0;border-bottom:1px solid var(--color-border);background:rgba(255,255,255,.97);box-shadow:0 1px 0 rgba(9,47,70,.02);backdrop-filter:blur(10px)}.site-header__inner{display:flex;min-height:4.75rem;align-items:center;gap:var(--space-5)}.site-header__brand{display:inline-flex;min-width:0;flex:0 0 auto;align-items:center;gap:.625rem;color:var(--color-ocean-950);text-decoration:none}.site-header__logo{width:2.375rem;height:2.375rem;flex:none;object-fit:contain}.site-header__brand-name{white-space:nowrap;font-family:var(--font-heading);font-size:1.25rem;font-weight:var(--weight-semibold);letter-spacing:-.02em;line-height:1.1}.site-header__nav{display:flex;min-width:0;flex:1;align-items:center;justify-content:center}.site-header__nav-list,.site-header__mobile-links ul{display:flex;margin:0;padding:0;list-style:none}.site-header__nav-list{align-items:center;gap:clamp(.75rem,1.6vw,1.5rem)}.site-header__nav-list li,.site-header__nav-list li+li,.site-header__mobile-links li,.site-header__mobile-links .site-header__nav a{color:var(--color-charcoal-900);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1.25;text-decoration:none;white-space:nowrap}.site-header__nav-list a{display:inline-flex;min-height:2.75rem;align-items:center;border-bottom:2px solid transparent}.site-header__nav-list a:hover,.site-header__nav-list a:focus-visible,.site-header__nav-list a[aria-current="page"]{border-color:var(--color-turquoise-500);color:var(--color-ocean-800)}.site-header__actions{display:flex;flex:0 0 auto;align-items:center;gap:var(--space-2)}.site-header__cta{white-space:nowrap}.site-header__toggle,.site-header__mobile-links,.site-header__mobile-cta{display:none}.site-header__toggle{min-width:2.75rem;min-height:2.75rem;align-items:center;justify-content:center;gap:.45rem;padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-white);color:var(--color-ocean-800);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:1}.site-header__toggle-lines{display:grid;gap:3px}.site-header__toggle-lines span{display:block;width:17px;height:2px;border-radius:2px;background:currentColor;transition:transform 160ms ease,opacity 160ms ease}.site-header__toggle[aria-expanded="true"] .site-header__toggle-lines span:first-child{transform:translateY(5px) rotate(45deg)}.site-header__toggle[aria-expanded="true"] .site-header__toggle-lines span:nth-child(2){opacity:0}.site-header__toggle[aria-expanded="true"] .site-header__toggle-lines span:last-child{transform:translateY(-5px) rotate(-45deg)}@media (max-width:56.24rem){.site-header__inner{min-height:4.25rem;justify-content:space-between;gap:var(--space-3)}.site-header__logo{width:2rem;height:2rem}.site-header__brand-name{font-size:1.0625rem}.site-header__cta{display:none}.site-header__toggle{display:inline-flex}.site-header__nav{position:fixed;top:4.3125rem;right:var(--gutter);left:var(--gutter);display:none;max-height:calc(100dvh - 5.3125rem);padding:var(--space-4);overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-float)}.site-header__nav.is-open{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:var(--space-4)}.site-header__nav-list,.site-header__mobile-links ul{display:grid;gap:0}.site-header__nav-list a{width:100%;min-height:2.75rem;padding:.625rem 0;border-bottom:1px solid var(--color-border)}.site-header__mobile-links{display:block;padding-top:var(--space-3);border-top:1px solid var(--color-border)}.site-header__mobile-links p {margin:0 0 var(--space-2);color:var(--color-charcoal-600);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.1em;text-transform:uppercase}.site-header__mobile-links a{display:flex;min-height:2.75rem;align-items:center;padding:.4rem 0}.site-header__mobile-cta{display:inline-flex;width:100%;margin-top:var(--space-2)}body:has(.site-header__nav.is-open){overflow:hidden}}@media (max-width:23.5rem){.site-header__brand{gap:.4rem}.site-header__brand-name{font-size:1rem}.site-header__toggle-text{display:none}.site-header__toggle{padding:.5rem}}


.site-footer{background:var(--color-ocean-950);color:var(--color-ivory-50)}.site-footer__inner{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,2.7fr) minmax(11rem,.9fr);gap:var(--space-7);padding-block:var(--space-9)}.site-footer__intro,.site-footer__group,.site-footer__contact{min-width:0}.site-footer__brand{display:inline-flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);color:var(--color-white);font-family:var(--font-heading);font-size:1.375rem;font-weight:var(--weight-semibold);line-height:1.1;text-decoration:none}.site-footer__brand img{width:3.5rem;height:3.5rem;object-fit:contain}.site-footer p {margin:0}.site-footer__intro{display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--text-sm);line-height:var(--leading-compact)}.site-footer__independence{color:#c5d9dd}.site-footer__domain{width:max-content;color:var(--color-turquoise-500);font-size:var(--text-sm);font-weight:var(--weight-medium)}.site-footer__groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6) var(--space-5)}.site-footer h2{margin:0 0 var(--space-3);color:var(--color-white);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.12em;line-height:1.35;text-transform:uppercase}.site-footer ul{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.site-footer li,.site-footer .site-footer a{color:#a8ddd8;text-decoration-color:rgba(168,221,216,.55)}.site-footer a:hover{color:var(--color-white)}.site-footer__contact{font-style:normal;font-size:var(--text-sm);line-height:var(--leading-compact)}.site-footer__contact p {margin-bottom:var(--space-3)}.site-footer__lower{border-top:1px solid rgba(216,225,223,.23)}.site-footer__lower .container{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);padding-block:var(--space-5)}.site-footer__disclaimer{max-width:52rem;color:#c5d9dd;font-size:var(--text-xs);line-height:1.5}.site-footer__copyright{flex:0 0 auto;color:#c5d9dd;font-size:var(--text-xs);line-height:1.5;white-space:nowrap}.consent-banner{position:fixed;z-index:200;right:var(--gutter);bottom:var(--gutter);left:var(--gutter);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-float)}.consent-banner[hidden]{display:none}.consent-banner.is-hiding{opacity:0;transform:translateY(1rem);transition:opacity 180ms ease,transform 180ms ease}.consent-banner__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);width:min(100%,70rem);margin-inline:auto;padding:var(--space-4) var(--space-5)}.consent-banner__copy{max-width:42rem}.consent-banner__copy h2{margin:0 0 var(--space-1);font-family:var(--font-body);font-size:var(--text-base);line-height:1.4}.consent-banner__copy p {margin:0;color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-compact)}.consent-banner__actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}@media (max-width:63.99rem){.site-footer__inner{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.site-footer__contact{grid-column:1/-1}.site-footer__lower .container{flex-direction:column}.site-footer__copyright{white-space:normal}}@media (max-width:47.99rem){.site-footer__inner{grid-template-columns:1fr;gap:var(--space-6);padding-block:var(--space-8)}.site-footer__groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5) var(--space-4)}.site-footer__contact{grid-column:auto}.consent-banner{right:var(--space-3);bottom:var(--space-3);left:var(--space-3)}.consent-banner__inner{flex-direction:column;align-items:stretch;padding:var(--space-4)}.consent-banner__actions{justify-content:stretch}.consent-banner__actions .button{flex:1 1 10rem}}@media (max-width:25rem){.site-footer__groups{grid-template-columns:1fr}}


.cookies-page {
  background: var(--color-page);
}

.cookies-page :is(h2, h3) {
  scroll-margin-top: var(--space-9);
}

.cookies-masthead {
  position: relative;
  overflow: hidden;
  padding-block: clamp(var(--space-7), 7vw, var(--space-10)) var(--space-8);
  border-bottom: 1px solid var(--color-border);
}

.cookies-masthead__container {
  position: relative;
}

.cookies-breadcrumbs {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-6);
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
}

.cookies-breadcrumbs > * {
  min-width: 0;
}

.cookies-masthead__copy {
  position: relative;
  z-index: 1;
  width: min(66.666%, 47.5rem);
  min-width: 0;
}

.cookies-masthead__lead {
  max-width: 42.5rem;
  margin-bottom: var(--space-5);
  font-size: var(--text-lg);
  line-height: 1.56;
}

.cookies-date {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: 0;
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-white);
  color: var(--color-charcoal-600);
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
}

.cookies-date > span {
  color: var(--color-ocean-600);
  font-size: 1rem;
}

.cookies-masthead__route {
  position: absolute;
  right: 3%;
  bottom: 10%;
  width: min(28vw, 20rem);
  height: 8rem;
  border-top: 2px solid color-mix(in srgb, var(--color-turquoise-500) 28%, transparent);
  border-right: 2px solid color-mix(in srgb, var(--color-turquoise-500) 28%, transparent);
  border-radius: 0 9rem 0 0;
  transform: rotate(-13deg);
}

.cookies-masthead__route::after {
  position: absolute;
  top: -0.42rem;
  right: -0.42rem;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-coral-500) 70%, transparent);
  content: "";
}

.cookies-choices {
  padding-block: clamp(var(--space-8), 7vw, var(--space-10));
}

.cookies-choices__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.cookies-choices__heading {
  grid-column: 1 / span 7;
  min-width: 0;
}

.cookies-choices__heading > :last-child {
  margin-bottom: 0;
}

.cookies-choice-grid {
  display: grid;
  grid-column: 1 / span 10;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
}

.cookies-choice-grid > * {
  min-width: 0;
}

.cookies-choice-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.cookies-choice-card > :is(h3, p) {
  margin: 0;
}

.cookies-choice-card p:not(.status-label) {
  max-width: 34rem;
}

.cookies-policy-layout {
  padding-top: var(--space-7);
}

.cookies-policy-layout__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
  gap: var(--space-6);
}

.cookies-contents {
  grid-column: 1 / span 3;
  min-width: 0;
  max-width: 15.625rem;
}

.cookies-contents__details {
  margin: 0;
  padding: var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.cookies-contents__details summary {
  min-height: 0;
  padding: 0;
}

.cookies-contents__details nav {
  margin-top: var(--space-3);
}

.cookies-contents__details ol {
  display: flex;
  margin: 0;
  padding-left: 1.15rem;
  flex-direction: column;
  gap: var(--space-2);
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
}

.cookies-reading-column {
  display: flex;
  grid-column: 4 / span 7;
  min-width: 0;
  max-width: 43.75rem;
  flex-direction: column;
  gap: clamp(var(--space-9), 8vw, var(--space-11));
}

.cookies-copy-section {
  position: relative;
  min-width: 0;
}

.cookies-copy-section > :last-child {
  margin-bottom: 0;
}

.cookies-definition {
  max-width: 43.75rem;
}

.cookies-similar-tech {
  display: flex;
  max-width: 41.25rem;
  margin-bottom: var(--space-5);
  padding: var(--space-5);
  flex-direction: column;
  gap: var(--space-3);
  border-left: 3px solid var(--color-turquoise-500);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  background: var(--color-white);
}

.cookies-similar-tech > :is(h3, p) {
  margin: 0;
}

.cookies-scope-note {
  display: flex;
  max-width: 41.25rem;
  min-width: 0;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-ivory-100);
}

.cookies-scope-note > span {
  flex: 0 0 auto;
  color: var(--color-ocean-600);
  font-weight: var(--weight-semibold);
}

.cookies-scope-note p {
  margin: 0;
}

.cookies-section-intro {
  max-width: 42.5rem;
}

.cookies-category-list {
  display: grid;
  width: min(100%, 56.25rem);
  grid-template-columns: 1fr;
  min-width: 0;
  margin-bottom: var(--space-5);
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-white);
}

.cookies-category-row {
  display: grid;
  grid-template-columns: minmax(10rem, 20%) minmax(0, 1fr);
  min-width: 0;
  border-bottom: 1px solid var(--color-border);
}

.cookies-category-row:last-child {
  border-bottom: 0;
}

.cookies-category-row__label,
.cookies-category-row__copy {
  min-width: 0;
}

.cookies-category-row__label {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  padding: var(--space-5) var(--space-4);
  background: var(--color-ivory-100);
}

.cookies-category-row:nth-child(2) .cookies-category-row__label {
  background: color-mix(in srgb, var(--color-turquoise-500) 11%, var(--color-white));
}

.cookies-category-row__label > span {
  display: inline-flex;
  width: 1.5rem;
  min-width: 1.5rem;
  height: 1.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--color-ocean-800);
  color: var(--color-white);
  font-size: var(--text-sm);
  line-height: 1;
}

.cookies-category-row:nth-child(2) .cookies-category-row__label > span {
  background: var(--color-turquoise-500);
  color: var(--color-ocean-950);
}

.cookies-category-row__label h3,
.cookies-category-row__copy p {
  margin: 0;
}

.cookies-category-row__label h3 {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.4;
}

.cookies-category-row__copy {
  padding: var(--space-5);
}

.cookies-category-row__copy p {
  }

.cookies-clarification {
  max-width: 37.5rem;
  padding: var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.cookies-clarification p {
  margin: 0;
  color: var(--color-charcoal-600);
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
}

.cookies-management {
  padding-top: var(--space-2);
}

.cookies-control-route {
  position: absolute;
  top: var(--space-2);
  left: calc(-1 * (var(--space-6) + 8.75rem));
  width: 8.5rem;
  color: var(--color-turquoise-500);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.1em;
  line-height: 1.35;
  text-transform: uppercase;
}

.cookies-control-route::after {
  display: block;
  width: 4.5rem;
  height: 1px;
  margin-top: var(--space-2);
  background: var(--color-turquoise-500);
  content: "";
}

.cookies-management-card {
  display: flex;
  max-width: 43.75rem;
  flex-direction: column;
  gap: var(--space-3);
  margin-bottom: var(--space-5);
}

.cookies-management-card > :is(h3, p) {
  margin: 0;
}

.cookies-management-card p {
  }

.cookies-caution-note {
  display: flex;
  max-width: 35rem;
  min-width: 0;
  align-items: flex-start;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
  padding: var(--space-4);
  border-left: 3px solid var(--color-coral-500);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  background: color-mix(in srgb, var(--color-coral-500) 10%, var(--color-white));
}

.cookies-caution-note > span {
  display: inline-flex;
  width: 1.5rem;
  min-width: 1.5rem;
  height: 1.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--color-coral-500);
  color: var(--color-white);
  font-weight: var(--weight-semibold);
  line-height: 1;
}

.cookies-caution-note > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
}

.cookies-caution-note :is(h3, p) {
  margin: 0;
}

.cookies-caution-note h3 {
  font-family: var(--font-body);
  font-size: var(--text-base);
}

.cookies-advisory {
  max-width: 40rem;
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
}

.cookies-third-party-card {
  display: flex;
  max-width: 41.25rem;
  flex-direction: column;
  gap: var(--space-3);
  margin-bottom: var(--space-5);
}

.cookies-third-party-card > :is(h3, p) {
  margin: 0;
}

.cookies-revision-note {
  display: flex;
  max-width: 41.25rem;
  flex-direction: column;
  gap: var(--space-3);
}

.cookies-revision-note > :is(h3, p) {
  margin: 0;
}

.cookies-revision-date {
  color: var(--color-ocean-800);
}

.cookies-final-section {
  padding-bottom: var(--space-3);
}

.cookies-privacy-card {
  display: flex;
  max-width: 41.25rem;
  flex-direction: column;
  gap: var(--space-3);
  margin-bottom: var(--space-5);
}

.cookies-privacy-card > :is(h3, p) {
  margin: 0;
}

.cookies-question-panel {
  display: grid;
  width: min(100%, 50rem);
  grid-template-columns: auto minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-4);
  margin-bottom: var(--space-4);
  padding: clamp(var(--space-5), 4vw, var(--space-7));
  border-radius: var(--radius-lg);
  background: var(--color-ocean-950);
  color: var(--color-ivory-50);
}

.cookies-question-panel__marker {
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--color-turquoise-500);
  color: var(--color-ocean-950);
  font-weight: var(--weight-semibold);
}

.cookies-question-panel__copy {
  display: flex;
  min-width: 0;
  max-width: 37.5rem;
  flex-direction: column;
  gap: var(--space-3);
}

.cookies-question-panel__copy > :is(h3, p) {
  margin: 0;
}

.cookies-question-panel h3 {
  color: var(--color-white);
}

.cookies-question-panel a {
  color: var(--color-turquoise-500);
  font-weight: var(--weight-semibold);
}

.cookies-question-panel a:hover {
  color: var(--color-white);
}

.cookies-closing-reminder {
  max-width: 38.75rem;
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
}

@media (max-width: 63.99rem) {
  .cookies-masthead__copy {
    width: min(87.5%, 47.5rem);
  }

  .cookies-masthead__route {
    right: 0;
    width: 18rem;
    opacity: 0.72;
  }

  .cookies-policy-layout__container {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .cookies-contents {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 43.75rem;
  }

  .cookies-reading-column {
    grid-column: 1 / span 7;
  }

  .cookies-contents__details ol {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--space-5);
  }

  .cookies-control-route {
    display: none;
  }
}

@media (max-width: 51.24rem) {
  .cookies-choices__container {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .cookies-choices__heading {
    grid-column: 1 / span 8;
  }

  .cookies-choice-grid {
    grid-column: 1 / span 8;
    grid-template-columns: 1fr;
  }

  .cookies-choice-card p:not(.status-label) {
    max-width: none;
  }

  .cookies-category-row {
    grid-template-columns: 1fr;
  }

  .cookies-category-row__label {
    padding-bottom: var(--space-3);
  }

  .cookies-category-row__copy {
    padding-top: var(--space-3);
  }

  .cookies-category-row__copy p {
  }
}

@media (max-width: 47.99rem) {
  .cookies-masthead {
    padding-block: var(--space-6) var(--space-7);
  }

  .cookies-breadcrumbs {
    margin-bottom: var(--space-5);
  }

  .cookies-masthead__copy {
    width: 100%;
  }

  .cookies-masthead__lead {
    max-width: none;
    font-size: 1.0625rem;
    line-height: 1.58;
  }

  .cookies-masthead__route {
    right: -5rem;
    bottom: -4rem;
    width: 10rem;
    height: 5rem;
    opacity: 0.55;
  }

  .cookies-choices {
    padding-block: var(--space-8);
  }

  .cookies-choices__container,
  .cookies-policy-layout__container {
    grid-template-columns: 1fr;
  }

  .cookies-choices__heading,
  .cookies-choice-grid,
  .cookies-contents,
  .cookies-reading-column {
    grid-column: 1;
    width: 100%;
    max-width: none;
  }

  .cookies-choice-grid {
    gap: var(--space-4);
  }

  .cookies-policy-layout {
    padding-top: var(--space-5);
  }

  .cookies-policy-layout__container {
    gap: var(--space-6);
  }

  .cookies-reading-column {
    gap: var(--space-9);
  }

  .cookies-contents__details {
    padding: var(--space-3) var(--space-4);
  }

  .cookies-contents__details ol {
    grid-template-columns: 1fr;
  }

  .cookies-similar-tech,
  .cookies-scope-note,
  .cookies-clarification,
  .cookies-management-card,
  .cookies-caution-note,
  .cookies-third-party-card,
  .cookies-revision-note,
  .cookies-privacy-card {
    max-width: none;
  }

  .cookies-category-list {
    border-radius: var(--radius-md);
  }

  .cookies-category-row__label,
  .cookies-category-row__copy {
    padding: var(--space-4);
  }

  .cookies-question-panel {
    width: 100%;
    grid-template-columns: 1fr;
    gap: var(--space-3);
    padding: var(--space-5) var(--space-4);
  }

  .cookies-question-panel__marker {
    width: 1.75rem;
    height: 1.75rem;
  }

  .cookies-question-panel a {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
  }
}


.privacy-page {
  background: var(--color-ivory-50);
}

.privacy-hero {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-10);
  background: var(--color-ocean-950);
  color: var(--color-ivory-50);
}

.privacy-hero__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.privacy-hero__content {
  z-index: 1;
  grid-column: 1 / span 7;
  min-width: 0;
  max-width: 38.75rem;
}

.privacy-hero__eyebrow {
  color: var(--color-turquoise-500);
}

.privacy-hero h1 {
  color: var(--color-white);
}

.privacy-hero__lead {
  max-width: 38.75rem;
  font-size: var(--text-lg);
  line-height: 1.56;
}

.privacy-hero a {
  color: var(--color-turquoise-500);
}

.privacy-hero__date {
  display: flex;
  width: fit-content;
  min-width: 0;
  align-items: center;
  gap: var(--space-2);
  margin-block-end: 0;
  color: var(--color-ivory-100);
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
}

.privacy-hero__date span {
  color: var(--color-turquoise-500);
}

.privacy-hero__route {
  position: absolute;
  right: 5%;
  bottom: -2.5rem;
  width: 31rem;
  height: 15rem;
  opacity: 0.2;
  transform: rotate(-10deg);
}

.privacy-hero__route::before,
.privacy-hero__route::after,
.privacy-hero__route span {
  position: absolute;
  display: block;
  content: "";
}

.privacy-hero__route::before {
  inset: 3rem 0 auto auto;
  width: 24rem;
  height: 9rem;
  border-top: 2px solid var(--color-turquoise-500);
  border-radius: 50% 0 0 0;
}

.privacy-hero__route::after {
  right: 1.5rem;
  top: 1.95rem;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background: var(--color-coral-500);
}

.privacy-hero__route span {
  left: 3.5rem;
  bottom: 1.75rem;
  width: 1rem;
  height: 1rem;
  border: 2px solid var(--color-turquoise-500);
  border-radius: 50%;
}

.privacy-hero__route i,
.privacy-hero__route b {
  position: absolute;
  display: block;
  width: 1px;
  height: 3rem;
  background: var(--color-turquoise-500);
}

.privacy-hero__route i {
  right: 1.9rem;
  top: 0.8rem;
}

.privacy-hero__route b {
  right: 0.5rem;
  top: 1.95rem;
  width: 3rem;
  height: 1px;
}

.privacy-summary {
  padding-block: var(--space-9) var(--space-8);
}

.privacy-summary__layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.privacy-summary__content {
  grid-column: 1 / span 7;
  min-width: 0;
  max-width: 38.75rem;
}

.privacy-summary__marker {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-block-end: var(--space-4);
}

.privacy-summary__marker::before,
.privacy-summary__marker::after,
.privacy-summary__marker span {
  display: block;
  content: "";
}

.privacy-summary__marker::before {
  width: 3rem;
  height: 1px;
  background: var(--color-turquoise-500);
}

.privacy-summary__marker span {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--color-coral-500);
}

.privacy-summary__marker::after {
  width: 1.25rem;
  height: 1px;
  background: var(--color-line-soft);
}

.privacy-summary__content p:last-child {
  margin-block-end: 0;
}

.privacy-document__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
}

.privacy-index-rail {
  grid-column: 1 / span 2;
  min-width: 0;
  padding-top: 0.5rem;
  border-inline-start: 1px solid var(--color-line-soft);
}

.privacy-index-rail span {
  display: block;
  padding-inline-start: var(--space-3);
  color: var(--color-turquoise-500);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.12em;
}

.privacy-collection__content,
.privacy-cookies__content,
.privacy-sharing__content,
.privacy-contact__content,
.privacy-changes__content {
  grid-column: 3 / span 8;
  min-width: 0;
  max-width: 43.75rem;
}

.privacy-collection__intro,
.privacy-sharing__lead {
  max-width: 42.5rem;
}

.privacy-numbered-blocks {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-7);
  margin-top: var(--space-6);
}

.privacy-numbered-block {
  min-width: 0;
}

.privacy-numbered-block__heading {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  min-width: 0;
  margin-block-end: var(--space-3);
}

.privacy-numbered-block__number {
  display: inline-flex;
  width: 2rem;
  min-width: 2rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-turquoise-500);
  border-radius: 50%;
  color: var(--color-ocean-800);
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
}

.privacy-numbered-block__heading .status-label {
  min-width: 0;
}

.privacy-numbered-block h3,
.privacy-cookies__external h3,
.privacy-changes__copy h3,
.privacy-concern-note h3 {
  margin-block-end: var(--space-3);
}

.privacy-numbered-block p:last-child {
  margin-block-end: 0;
}

.privacy-use__container,
.privacy-handling__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6) var(--space-5);
}

.privacy-use__intro,
.privacy-handling__intro {
  grid-column: 3 / span 8;
  min-width: 0;
  max-width: 40rem;
}

.privacy-use__intro p,
.privacy-handling__intro p {
  margin-block-end: 0;
}

.privacy-purpose-cards {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
}

.privacy-purpose-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-5);
  border: 1px solid var(--color-line-soft);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.privacy-purpose-card > * {
  min-width: 0;
  margin: 0;
}

.privacy-purpose-card h3 {
  color: var(--color-ocean-800);
}

.privacy-purpose-card ul {
  padding-inline-start: 1.25rem;
}

.privacy-cookies__heading {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  min-width: 0;
}

.privacy-cookies__heading h2 {
  min-width: 0;
}

.privacy-cookies__motif {
  display: inline-flex;
  width: 1.75rem;
  min-width: 1.75rem;
  height: 1.75rem;
  align-items: center;
  justify-content: center;
  margin-top: 0.35rem;
  border: 1px solid var(--color-turquoise-500);
  border-radius: 50%;
  color: var(--color-turquoise-500);
}

.privacy-choice-panel {
  display: flex;
  max-width: 43.75rem;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-block: var(--space-6);
  padding: var(--space-5);
  border-radius: var(--radius-lg);
  background: var(--color-ivory-100);
}

.privacy-choice-panel > * {
  min-width: 0;
  margin: 0;
}

.privacy-choice-panel h3 {
  color: var(--color-ocean-800);
}

.privacy-choice-panel ul {
  padding-inline-start: 1.25rem;
}

.privacy-cookies__external {
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-line-soft);
}

.privacy-cookies__external p:last-child {
  margin-block-end: 0;
}

.privacy-disclosure-blocks {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-6);
  margin-top: var(--space-6);
}

.privacy-disclosure-block {
  min-width: 0;
  padding-bottom: var(--space-6);
  border-bottom: 1px solid var(--color-line-soft);
}

.privacy-disclosure-block h3 {
  margin-block-end: var(--space-3);
}

.privacy-disclosure-block p:last-child {
  margin-block-end: 0;
}

.privacy-non-sale {
  display: flex;
  width: min(100%, 38.75rem);
  min-width: 0;
  align-items: flex-start;
  gap: var(--space-3);
  margin-top: var(--space-6);
  padding: var(--space-5);
  border-radius: var(--radius-lg);
  background: var(--color-ocean-950);
  color: var(--color-ivory-50);
}

.privacy-non-sale span {
  flex: 0 0 auto;
  color: var(--color-turquoise-500);
}

.privacy-non-sale p {
  min-width: 0;
  margin: 0;
}

.privacy-handling__blocks {
  grid-column: 3 / span 8;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  max-width: 43.75rem;
}

.privacy-handling-block {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid var(--color-line-soft);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.privacy-handling-block__icon {
  display: inline-flex;
  width: 2.75rem;
  height: 2.75rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-turquoise-500) 15%, var(--color-white));
  color: var(--color-ocean-800);
  font-weight: var(--weight-semibold);
}

.privacy-handling-block__icon--route {
  color: var(--color-coral-500);
}

.privacy-handling-block__body {
  min-width: 0;
}

.privacy-handling-block h3 {
  margin-block-end: var(--space-3);
}

.privacy-handling-block p:last-child {
  margin-block-end: 0;
}

.privacy-request-copy {
  max-width: 42.5rem;
}

.privacy-request-copy .status-label {
  margin-block-end: var(--space-3);
}

.privacy-request-copy h3 {
  margin-block-end: var(--space-3);
}

.privacy-contact-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  margin-top: var(--space-6);
  padding: var(--space-5);
  border: 1px solid var(--color-line-soft);
  border-radius: var(--radius-lg);
  background: var(--color-white);
  box-shadow: var(--shadow-float);
}

.privacy-contact-card > * {
  min-width: 0;
  margin: 0;
}

.privacy-contact-card__heading {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
}

.privacy-contact-card__heading > span {
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-ocean-600) 12%, var(--color-white));
  color: var(--color-ocean-800);
}

.privacy-contact-card__heading > div {
  min-width: 0;
}

.privacy-contact-card__heading .status-label {
  margin-block-end: var(--space-2);
}

.privacy-contact-card__heading h3 {
  margin: 0;
}

.privacy-contact-card__details {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-4) var(--space-5);
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-line-soft);
}

.privacy-contact-card__details > * {
  min-width: 0;
}

.privacy-contact-card__primary,
.privacy-contact-card__secondary,
.privacy-contact-card__address {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-1);
  margin: 0;
  color: var(--color-charcoal-900);
  font-style: normal;
}

.privacy-contact-card__details span {
  color: var(--color-charcoal-600);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.privacy-contact-card__primary a,
.privacy-contact-card__secondary a {
  width: fit-content;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.privacy-contact-card__address {
  grid-column: 1 / -1;
}

.privacy-concern-note {
  max-width: 38.75rem;
  margin-top: var(--space-6);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-line-soft);
}

.privacy-concern-note p:last-child {
  margin-block-end: 0;
}

.privacy-changes {
  padding-bottom: var(--space-11);
}

.privacy-changes__content {
  position: relative;
}

.privacy-changes__content::before {
  display: block;
  width: 5rem;
  height: 1px;
  margin-bottom: var(--space-5);
  background: var(--color-turquoise-500);
  content: "";
}

.privacy-changes__copy {
  max-width: 40rem;
}

.privacy-changes__copy p:last-child {
  margin-block-end: 0;
}

.privacy-date-record {
  display: inline-flex;
  width: fit-content;
  min-width: 0;
  align-items: center;
  gap: var(--space-2);
  margin-top: var(--space-5);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md);
  background: var(--color-ivory-100);
  color: var(--color-ocean-800);
  font-size: var(--text-sm);
}

.privacy-date-record span {
  color: var(--color-turquoise-500);
}

@media (max-width: 59.99rem) {
  .privacy-hero {
    padding-block: var(--space-9);
  }

  .privacy-hero__content {
    grid-column: 1 / span 9;
  }

  .privacy-summary__content {
    grid-column: 1 / span 9;
  }

  .privacy-index-rail {
    display: none;
  }

  .privacy-collection__content,
  .privacy-cookies__content,
  .privacy-sharing__content,
  .privacy-contact__content,
  .privacy-changes__content,
  .privacy-use__intro,
  .privacy-handling__intro,
  .privacy-handling__blocks {
    grid-column: 2 / span 10;
  }

  .privacy-purpose-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .privacy-purpose-card:nth-child(3) {
    grid-column: 1 / span 2;
  }
}

@media (max-width: 49.99rem) {
  .privacy-hero__grid,
  .privacy-summary__layout,
  .privacy-document__grid,
  .privacy-use__container,
  .privacy-handling__container {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .privacy-hero__content,
  .privacy-summary__content,
  .privacy-collection__content,
  .privacy-cookies__content,
  .privacy-sharing__content,
  .privacy-contact__content,
  .privacy-changes__content,
  .privacy-use__intro,
  .privacy-handling__intro,
  .privacy-handling__blocks {
    grid-column: 2 / span 6;
  }

  .privacy-hero {
    padding-block: var(--space-8);
  }

  .privacy-hero__route {
    display: none;
  }

  .privacy-purpose-cards {
    grid-column: 1 / -1;
  }
}

@media (max-width: 42.49rem) {
  .privacy-hero {
    padding-block: var(--space-8);
  }

  .privacy-hero__grid,
  .privacy-summary__layout,
  .privacy-document__grid,
  .privacy-use__container,
  .privacy-handling__container {
    display: block;
  }

  .privacy-hero__content,
  .privacy-summary__content,
  .privacy-collection__content,
  .privacy-cookies__content,
  .privacy-sharing__content,
  .privacy-contact__content,
  .privacy-changes__content,
  .privacy-use__intro,
  .privacy-handling__intro,
  .privacy-handling__blocks {
    width: 100%;
    max-width: none;
  }

  .privacy-hero h1 {
    font-size: clamp(2.375rem, 11vw, 2.625rem);
    line-height: 1.1;
  }

  .privacy-hero__lead {
    font-size: var(--text-base);
    line-height: var(--leading-body);
  }

  .privacy-summary {
    padding-block: var(--space-7) var(--space-6);
  }

  .privacy-numbered-blocks {
    gap: var(--space-6);
  }

  .privacy-purpose-cards {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .privacy-purpose-card:nth-child(3) {
    grid-column: auto;
  }

  .privacy-purpose-card,
  .privacy-choice-panel,
  .privacy-handling-block,
  .privacy-contact-card,
  .privacy-non-sale {
    padding: var(--space-4);
  }

  .privacy-handling-block {
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: var(--space-3);
  }

  .privacy-handling-block__icon {
    width: 2.5rem;
    height: 2.5rem;
  }

  .privacy-contact-card__details {
    grid-template-columns: minmax(0, 1fr);
  }

  .privacy-contact-card__address {
    grid-column: auto;
  }

  .privacy-contact-card__primary a,
  .privacy-contact-card__secondary a {
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
  }

  .privacy-date-record {
    width: 100%;
  }

  .privacy-changes {
    padding-bottom: var(--space-8);
  }
}


.terms-page {
  overflow: hidden;
}

.terms-page__intro {
  padding-block-end: var(--space-8);
}

.terms-page__intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  gap: var(--space-6);
  min-width: 0;
}

.terms-page__title-block {
  grid-column: 1;
  width: 100%;
  max-width: 42.5rem;
  min-width: 0;
}

.terms-page__intro-space {
  grid-column: 2;
  min-width: 0;
}

.terms-page__lead {
  max-width: 42.5rem;
  font-size: var(--text-lg);
  line-height: 1.56;
}

.terms-page__effective-date {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-5);
  color: var(--color-charcoal-600);
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
}

.terms-page__independent-note {
  display: grid;
  grid-template-columns: 0.5rem minmax(0, 1fr);
  gap: var(--space-3);
  width: 100%;
  min-width: 0;
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-line-soft);
}

.terms-page__independent-note > * {
  min-width: 0;
}

.terms-page__independent-note p {
  margin-bottom: 0;
}

.terms-page__route-marker {
  width: 0.5rem;
  min-width: 0;
  height: 2.5rem;
  margin-top: 0.25rem;
  border-radius: var(--radius-pill);
  background: var(--color-turquoise-500);
}

.terms-page__confirmation {
  padding-block: 0 var(--section-space);
}

.terms-page__confirmation-panel {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-6);
  align-items: start;
  min-width: 0;
  padding: var(--space-6);
  border-radius: var(--radius-lg);
  background: var(--color-ocean-950);
  color: var(--color-ivory-50);
}

.terms-page__confirmation-panel > * {
  min-width: 0;
}

.terms-page__confirmation-copy {
  grid-column: 1;
  width: 100%;
  max-width: 45rem;
}

.terms-page__confirmation-copy h2 {
  color: var(--color-white);
}

.terms-page__confirmation-copy p:last-child {
  margin-bottom: 0;
}

.terms-page__checkpoint {
  margin-bottom: var(--space-3);
  color: var(--color-turquoise-500);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.terms-page__status-legend {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  grid-column: 2;
  min-width: 0;
}

.terms-page__legend-card {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  gap: var(--space-2);
  min-width: 0;
  padding: var(--space-4);
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.08);
}

.terms-page__legend-card > * {
  min-width: 0;
}

.terms-page__legend-card .status-label {
  margin-bottom: var(--space-2);
}

.terms-page__legend-card p:last-child {
  margin-bottom: 0;
  color: var(--color-ivory-50);
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
}

.terms-page__legend-icon {
  display: flex;
  width: 1.75rem;
  height: 1.75rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--color-turquoise-500);
  color: var(--color-ocean-950);
  font-weight: var(--weight-semibold);
}

.terms-page__content-shell {
  display: grid;
  grid-template-columns: minmax(10rem, 2fr) minmax(0, 10fr);
  gap: var(--space-6);
  align-items: start;
  min-width: 0;
  padding-bottom: var(--section-space);
}

.terms-page__contents {
  grid-column: 1;
  width: 100%;
  min-width: 0;
  padding-top: var(--space-2);
}

.terms-page__contents nav {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
}

.terms-page__contents a {
  display: flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  padding: var(--space-2) 0;
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
}

.terms-page__legal-content {
  grid-column: 2;
  width: 100%;
  min-width: 0;
}

.terms-page__legal-section {
  width: 100%;
  min-width: 0;
  padding-block: var(--section-space);
  border-top: 1px solid var(--color-line-soft);
}

.terms-page__legal-content > .terms-page__legal-section:first-child {
  padding-top: 0;
  border-top: 0;
}

.terms-page__legal-section > h2,
.terms-page__section-introduction,
.terms-page__ownership-unit,
.terms-page__changes-copy {
  width: min(100%, 43.75rem);
  min-width: 0;
}

.terms-page__clauses {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  width: min(100%, 46.25rem);
  min-width: 0;
}

.terms-page__clause {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-line-soft);
}

.terms-page__clause:first-child {
  padding-top: 0;
  border-top: 0;
}

.terms-page__clause > * {
  min-width: 0;
}

.terms-page__clause-number {
  grid-column: 1;
  display: flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--color-ivory-100);
  color: var(--color-ocean-800);
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
}

.terms-page__clause-copy {
  grid-column: 2;
  width: 100%;
  min-width: 0;
}

.terms-page__clause-copy > :last-child {
  margin-bottom: 0;
}

.terms-page__inline-reminder {
  margin-top: var(--space-4);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-sm);
  background: var(--color-ivory-100);
  color: var(--color-charcoal-600);
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
}

.terms-page__conduct-section {
  width: min(100%, 70rem);
}

.terms-page__section-introduction p {
  }

.terms-page__conduct-cards {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 4fr) minmax(0, 5fr);
  gap: var(--space-4);
  min-width: 0;
  margin-top: var(--space-6);
}

.terms-page__conduct-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid var(--color-line-soft);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.terms-page__conduct-card > * {
  min-width: 0;
}

.terms-page__conduct-card > :last-child {
  margin-bottom: 0;
}

.terms-page__conduct-card--relationship {
  grid-column: 1;
}

.terms-page__conduct-card--conduct {
  grid-column: 2;
}

.terms-page__conduct-card--submission {
  grid-column: 3;
}

.terms-page__conduct-card h3 {
  font-family: var(--font-body);
  font-size: var(--text-lg);
}

.terms-page__conduct-card ul {
  margin-bottom: var(--space-4);
  padding-inline-start: 1.1rem;
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
}

.terms-page__card-route {
  display: block;
  width: 2.25rem;
  height: 0.25rem;
  margin-bottom: var(--space-4);
  border-radius: var(--radius-pill);
  background: var(--color-turquoise-500);
}

.terms-page__ownership-unit {
  position: relative;
  padding-top: var(--space-4);
}

.terms-page__ownership-unit--sharing {
  margin-top: var(--space-6);
  padding-top: var(--space-6);
  border-top: 1px solid var(--color-line-soft);
}

.terms-page__ownership-unit > :last-child {
  margin-bottom: 0;
}

.terms-page__section-marker {
  display: block;
  width: 3rem;
  height: 1px;
  margin-bottom: var(--space-4);
  background: var(--color-gold-500);
}

.terms-page__permission-line {
  color: var(--color-ocean-800);
}

.terms-page__external-callouts {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: min(100%, 56.25rem);
  min-width: 0;
}

.terms-page__external-card {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding: var(--space-5);
  border-radius: var(--radius-md);
}

.terms-page__external-card > * {
  min-width: 0;
}

.terms-page__external-card--editorial {
  border: 1px solid var(--color-line-soft);
  background: var(--color-white);
}

.terms-page__external-card--provider {
  background: var(--color-ivory-100);
}

.terms-page__marker-rail {
  display: flex;
  width: 3rem;
  height: 3rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-turquoise-500) 20%, var(--color-white));
  color: var(--color-ocean-800);
  font-size: var(--text-xl);
  font-weight: var(--weight-semibold);
}

.terms-page__external-copy > :last-child {
  margin-bottom: 0;
}

.terms-page__clauses--liability {
  margin-bottom: var(--space-6);
}

.terms-page__final-reminder {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-4);
  width: min(100%, 56.25rem);
  min-width: 0;
  padding: var(--space-5);
  border-radius: var(--radius-md);
  background: var(--color-ivory-100);
}

.terms-page__final-reminder > * {
  min-width: 0;
}

.terms-page__final-reminder h3 {
  font-family: var(--font-body);
  font-size: var(--text-lg);
}

.terms-page__final-reminder p {
  margin-bottom: 0;
}

.terms-page__final-reminder-icon {
  display: flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--color-ocean-800);
  color: var(--color-white);
  font-weight: var(--weight-semibold);
}

.terms-page__changes-copy > :last-child {
  margin-bottom: 0;
}

.terms-page__date-repeat {
  color: var(--color-charcoal-600);
  font-size: var(--text-sm);
}

.terms-page__contact-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  width: min(100%, 26.25rem);
  min-width: 0;
  margin-top: var(--space-6);
  padding: var(--space-5);
  border: 1px solid var(--color-line-soft);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.terms-page__contact-card > * {
  min-width: 0;
  margin: 0;
}

.terms-page__contact-card h3 {
  font-family: var(--font-body);
  font-size: var(--text-lg);
}

.terms-page__contact-card a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
}

.terms-page__agreement-panel {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: var(--space-4);
  width: min(100%, 50rem);
  min-width: 0;
  margin-top: var(--space-6);
  padding: var(--space-6);
  border-radius: var(--radius-lg);
  background: var(--color-ocean-950);
  color: var(--color-ivory-50);
}

.terms-page__agreement-panel > * {
  min-width: 0;
}

.terms-page__agreement-panel h3 {
  color: var(--color-white);
  font-family: var(--font-heading);
  font-size: var(--text-xl);
}

.terms-page__agreement-panel p {
  width: min(100%, 38.75rem);
  margin-bottom: 0;
}

.terms-page__agreement-route {
  display: block;
  width: 2rem;
  height: 2rem;
  margin-top: 0.25rem;
  border: 2px solid var(--color-turquoise-500);
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
}

@media (max-width: 63.99rem) {
  .terms-page__confirmation-panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-page__confirmation-copy,
  .terms-page__status-legend {
    grid-column: 1;
  }

  .terms-page__content-shell {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-page__contents {
    grid-column: 1;
    display: grid;
    grid-template-columns: 8rem minmax(0, 1fr);
    gap: var(--space-4);
    padding: var(--space-4);
    border: 1px solid var(--color-line-soft);
    border-radius: var(--radius-md);
    background: var(--color-white);
  }

  .terms-page__contents .eyebrow {
    margin: 0;
  }

  .terms-page__contents nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-2) var(--space-3);
  }

  .terms-page__legal-content {
    grid-column: 1;
  }

  .terms-page__conduct-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .terms-page__conduct-card--relationship {
    grid-column: 1;
  }

  .terms-page__conduct-card--conduct {
    grid-column: 2;
  }

  .terms-page__conduct-card--submission {
    grid-column: 1 / span 2;
  }
}

@media (max-width: 56.24rem) {
  .terms-page__intro-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-page__title-block,
  .terms-page__intro-space {
    grid-column: 1;
  }

  .terms-page__intro-space {
    display: none;
  }

  .terms-page__external-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-page__marker-rail {
    width: 2.5rem;
    height: 2.5rem;
  }
}

@media (max-width: 47.99rem) {
  .terms-page__intro {
    padding-block-end: var(--space-6);
  }

  .terms-page__lead {
    font-size: var(--text-lg);
    line-height: 1.56;
  }

  .terms-page__confirmation-panel {
    gap: var(--space-5);
    padding: var(--space-4);
  }

  .terms-page__status-legend {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-page__legend-card {
    padding: var(--space-3);
  }

  .terms-page__content-shell {
    gap: var(--space-5);
  }

  .terms-page__contents {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .terms-page__contents nav {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-page__legal-section {
    padding-block: clamp(2.5rem, 12vw, 3.5rem);
  }

  .terms-page__clause {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
  }

  .terms-page__clause-number,
  .terms-page__clause-copy {
    grid-column: 1;
  }

  .terms-page__clause-number {
    width: max-content;
    min-width: 2rem;
    height: 2rem;
  }

  .terms-page__conduct-cards {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
  }

  .terms-page__conduct-card--relationship,
  .terms-page__conduct-card--conduct,
  .terms-page__conduct-card--submission {
    grid-column: 1;
  }

  .terms-page__conduct-card,
  .terms-page__external-card,
  .terms-page__final-reminder,
  .terms-page__contact-card {
    padding: var(--space-4);
  }

  .terms-page__final-reminder,
  .terms-page__agreement-panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-page__agreement-panel {
    gap: var(--space-3);
    padding: var(--space-5);
  }

  .terms-page__agreement-route {
    margin-top: 0;
  }
}


.contact-page {
  overflow: hidden;
}

.contact-page .section {
  position: relative;
}

.contact-intro {
  padding-block: clamp(var(--space-7), 7vw, var(--space-11));
  background: var(--color-page);
}

.contact-intro::before {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(20, 81, 107, 0.055) 1px, transparent 1px), linear-gradient(90deg, rgba(20, 81, 107, 0.055) 1px, transparent 1px);
  background-size: 32px 32px;
  content: "";
  pointer-events: none;
}

.contact-intro__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.contact-breadcrumbs {
  grid-column: 1 / -1;
  display: flex;
  width: fit-content;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-text-muted);
  font-size: var(--text-sm);
}

.contact-intro__copy {
  grid-column: 1 / span 7;
  width: 100%;
  max-width: 42.5rem;
  min-width: 0;
}

.contact-intro__lead {
  max-width: 42.5rem;
  font-size: var(--text-lg);
  line-height: 1.56;
}

.contact-intro__scope {
  display: flex;
  max-width: 40rem;
  align-items: flex-start;
  gap: var(--space-3);
  color: var(--color-text-muted);
}

.contact-intro__scope > span {
  flex: 0 0 auto;
  color: var(--color-turquoise-500);
  font-weight: var(--weight-semibold);
}

.contact-intro__motif {
  position: absolute;
  top: 6.5rem;
  right: 8%;
  width: min(25vw, 20rem);
  height: 11rem;
  opacity: 0.75;
  pointer-events: none;
}

.contact-intro__motif span {
  position: absolute;
  top: 48%;
  left: 0;
  width: 88%;
  border-top: 2px solid var(--color-turquoise-500);
  transform: rotate(-18deg);
}

.contact-intro__motif i {
  position: absolute;
  top: calc(48% - 8px);
  right: 6%;
  width: 16px;
  height: 16px;
  border: 3px solid var(--color-coral-500);
  border-radius: 50%;
  background: var(--color-page);
}

.contact-details__layout,
.contact-boundaries__grid,
.contact-information__grid,
.contact-preparation__layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.contact-details__heading {
  grid-column: 1 / span 4;
  width: 100%;
  max-width: 30rem;
  min-width: 0;
}

.contact-details__cards {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
}

.contact-method {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: flex-start;
  gap: var(--space-4);
}

.contact-method__icon {
  display: grid;
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-turquoise-500) 15%, var(--color-white));
  color: var(--color-ocean-800);
  font-size: 1.2rem;
}

.contact-method__content {
  min-width: 0;
}

.contact-method h3 {
  overflow-wrap: anywhere;
}

.contact-method h3 a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
}

.contact-method address {
  margin: 0 0 var(--space-4);
  color: var(--color-ocean-800);
  font-size: var(--text-lg);
  font-style: normal;
  font-weight: var(--weight-semibold);
  line-height: 1.45;
}

.contact-details__reminder {
  grid-column: 1 / -1;
  display: flex;
  width: 100%;
  max-width: 47.5rem;
  min-width: 0;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-4);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--color-turquoise-500) 14%, var(--color-white));
}

.contact-details__reminder > span {
  flex: 0 0 auto;
  color: var(--color-ocean-800);
  font-weight: var(--weight-semibold);
}

.contact-details__reminder p {
  margin: 0;
}

.contact-enquiry__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.contact-form-panel {
  grid-column: 1 / span 7;
  display: flex;
  width: 100%;
  max-width: 45rem;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  padding: clamp(var(--space-5), 4vw, var(--space-7));
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-white);
  box-shadow: var(--shadow-float);
}

.contact-form-panel__intro {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.contact-form-panel__intro > * {
  margin: 0;
}

.contact-form-panel__intro p {
  }

.contact-form-panel__intro h2:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.contact-form {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
}

.contact-field {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
}

.contact-field label,
.contact-field p {
  margin: 0;
}

.contact-field input,
.contact-field textarea {
  min-height: 3rem;
  font-size: 1rem;
}

.contact-field textarea {
  min-height: 10rem;
}

.field-help {
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
}

.field-error {
  display: none;
  color: var(--color-ocean-950);
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
  line-height: var(--leading-compact);
}

.field-error.is-visible {
  display: block;
}

.contact-field input[aria-invalid="true"],
.contact-field textarea[aria-invalid="true"] {
  border-color: var(--color-coral-500);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-coral-500) 24%, transparent);
}

.form-summary {
  display: none;
  padding: var(--space-3) var(--space-4);
  border-left: 4px solid var(--color-coral-500);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  background: color-mix(in srgb, var(--color-coral-500) 13%, var(--color-white));
  color: var(--color-ocean-950);
  font-weight: var(--weight-medium);
}

.form-summary.is-visible {
  display: block;
}

.contact-form__action {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.contact-form__action p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
}

.form-success {
  padding: var(--space-4);
  border-left: 4px solid var(--color-turquoise-500);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  background: color-mix(in srgb, var(--color-turquoise-500) 16%, var(--color-white));
  color: var(--color-ocean-950);
  font-weight: var(--weight-medium);
}

.contact-enquiry__aside {
  grid-column: 9 / span 4;
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  align-self: start;
}

.contact-enquiry__aside > * {
  margin: 0;
}

.contact-scope-card {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.contact-scope-card > * {
  margin: 0;
}

.contact-scope-card ul {
  padding-inline-start: 1.25rem;
}

.contact-scope-card--dark {
  padding: var(--space-5);
  border-radius: var(--radius-md);
  background: var(--color-ocean-950);
  color: var(--color-ivory-50);
}

.contact-scope-card--dark h3 {
  color: var(--color-white);
}

.contact-scope-card--dark .status-label {
  color: var(--color-ocean-950);
  background: var(--color-ivory-100);
}

.contact-boundaries__heading {
  grid-column: 1 / span 6;
  width: 100%;
  max-width: 42rem;
  min-width: 0;
}

.contact-boundary-card {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border-radius: var(--radius-lg);
}

.contact-boundary-card > * {
  margin: 0;
}

.contact-boundary-card:nth-of-type(1) {
  grid-column: 1 / span 6;
}

.contact-boundary-card--dark {
  grid-column: 7 / span 6;
  background: var(--color-ocean-950);
  color: var(--color-ivory-50);
}

.contact-boundary-card--dark h3 {
  color: var(--color-white);
}

.contact-boundary-card--dark .status-label {
  color: var(--color-ocean-950);
  background: var(--color-ivory-100);
}

.contact-verification-note {
  grid-column: 1 / -1;
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.contact-verification-note > * {
  margin: 0;
}

.contact-verification-note p {
  }

.contact-preparation__heading {
  grid-column: 1 / span 5;
  width: 100%;
  max-width: 38.75rem;
  min-width: 0;
}

.contact-steps {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
}

.contact-step {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  column-gap: var(--space-3);
  padding-top: var(--space-4);
  border-top: 2px solid color-mix(in srgb, var(--color-turquoise-500) 50%, var(--color-line-soft));
}

.contact-step__number {
  width: 2.5rem;
  min-width: 2.5rem;
  color: var(--color-turquoise-500);
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.08em;
}

.contact-step__content {
  min-width: 0;
}

.contact-caution {
  margin-top: var(--space-4);
  padding: var(--space-3);
  border-left: 3px solid var(--color-coral-500);
  background: color-mix(in srgb, var(--color-coral-500) 10%, var(--color-white));
  color: var(--color-ocean-950);
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
}

.contact-preparation__closing {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 40rem;
  min-width: 0;
}

.contact-information__heading {
  grid-column: 1 / span 7;
  width: 100%;
  max-width: 42.5rem;
  min-width: 0;
}

.contact-information__panel {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.contact-information__panel > * {
  margin: 0;
}

.contact-information__panel:nth-of-type(1) {
  grid-column: 1 / span 6;
}

.contact-information__panel:nth-of-type(2) {
  grid-column: 7 / span 6;
}

.contact-information__callout {
  grid-column: 1 / -1;
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: flex-start;
  gap: var(--space-4);
  padding: clamp(var(--space-5), 4vw, var(--space-7));
  border-radius: var(--radius-lg);
}

.contact-information__callout > span {
  flex: 0 0 auto;
  color: var(--color-turquoise-500);
  font-size: 1.5rem;
}

.contact-information__callout p {
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  line-height: 1.5;
}

.contact-check__panel {
  display: flex;
  width: min(100%, 51.25rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
}

.contact-check__panel > * {
  margin: 0;
}

.contact-check__rows {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
}

.contact-check__row {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  gap: var(--space-3);
  padding: var(--space-4) 0;
  border-top: 1px solid var(--color-border);
}

.contact-check__row > span {
  display: grid;
  width: 1.75rem;
  min-width: 1.75rem;
  height: 1.75rem;
  place-items: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-turquoise-500) 16%, var(--color-white));
  color: var(--color-ocean-800);
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
}

.contact-check__row > div {
  min-width: 0;
}

.contact-check__row h3 {
  margin-bottom: var(--space-2);
  font-family: var(--font-body);
  font-size: var(--text-base);
}

.contact-check__row p {
  margin: 0;
}

.contact-check__row--tinted {
  margin-top: var(--space-2);
  padding: var(--space-4);
  border-radius: var(--radius-md);
  background: var(--color-ivory-100);
}

.contact-check__action {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.contact-check__action p {
  margin: 0;
  color: var(--color-text-muted);
}

.contact-signoff {
  padding-block: clamp(var(--space-7), 6vw, var(--space-10));
  background: var(--color-ivory-100);
}

.contact-signoff__content {
  display: flex;
  width: min(100%, 45rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  margin-inline: auto;
}

.contact-signoff__statement,
.contact-signoff__disclaimer {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: flex-start;
  gap: var(--space-3);
}

.contact-signoff__statement > span,
.contact-signoff__disclaimer > span {
  flex: 0 0 auto;
  color: var(--color-turquoise-500);
  font-size: 1.2rem;
}

.contact-signoff__statement p,
.contact-signoff__disclaimer p {
  margin: 0;
}

.contact-signoff__statement p {
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  line-height: 1.5;
}

.contact-signoff__disclaimer {
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
}

@media (max-width: 61.24rem) {
  .contact-enquiry__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .contact-form-panel {
    grid-column: 1 / span 8;
    max-width: 45rem;
  }

  .contact-enquiry__aside {
    grid-column: 1 / span 8;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-enquiry__aside > :first-child {
    grid-column: 1 / -1;
  }

  .contact-enquiry__aside > :nth-child(2),
  .contact-enquiry__aside > :nth-child(3) {
    grid-column: span 1;
  }
}

@media (max-width: 56.24rem) {
  .contact-details__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-details__cards > :nth-child(3) {
    grid-column: 1 / -1;
  }

  .contact-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-steps > :nth-child(3) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 53.74rem) {
  .contact-boundary-card:nth-of-type(1),
  .contact-boundary-card--dark,
  .contact-information__panel:nth-of-type(1),
  .contact-information__panel:nth-of-type(2) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 47.99rem) {
  .contact-intro::before {
    background-size: 24px 24px;
  }

  .contact-intro__grid,
  .contact-details__layout,
  .contact-boundaries__grid,
  .contact-information__grid,
  .contact-preparation__layout,
  .contact-enquiry__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .contact-intro__copy,
  .contact-details__heading,
  .contact-details__cards,
  .contact-details__reminder,
  .contact-form-panel,
  .contact-enquiry__aside,
  .contact-boundaries__heading,
  .contact-boundary-card:nth-of-type(1),
  .contact-boundary-card--dark,
  .contact-verification-note,
  .contact-preparation__heading,
  .contact-steps,
  .contact-preparation__closing,
  .contact-information__heading,
  .contact-information__panel:nth-of-type(1),
  .contact-information__panel:nth-of-type(2),
  .contact-information__callout {
    grid-column: 1;
  }

  .contact-intro__lead {
    font-size: var(--text-base);
    line-height: var(--leading-body);
  }

  .contact-intro__motif {
    display: none;
  }

  .contact-intro__copy .eyebrow::after {
    width: 3rem;
    height: 2px;
    margin-left: var(--space-2);
    background: var(--color-turquoise-500);
    content: "";
  }

  .contact-details__cards,
  .contact-enquiry__aside,
  .contact-steps {
    grid-template-columns: 1fr;
  }

  .contact-details__cards > :nth-child(3),
  .contact-enquiry__aside > :first-child,
  .contact-enquiry__aside > :nth-child(2),
  .contact-enquiry__aside > :nth-child(3),
  .contact-steps > :nth-child(3) {
    grid-column: 1;
  }

  .contact-method {
    padding: var(--space-4);
  }

  .contact-method h3 a {
    font-size: var(--text-lg);
  }

  .contact-form-panel {
    padding: var(--space-4);
  }

  .contact-form__action .button,
  .contact-check__action .button {
    width: 100%;
  }

  .contact-boundary-card,
  .contact-information__callout {
    padding: var(--space-4);
  }

  .contact-step {
    grid-template-columns: 2.5rem minmax(0, 1fr);
  }

  .contact-information__callout p {
    font-size: var(--text-base);
  }

  .contact-check__panel {
    width: 100%;
  }

  .contact-signoff__content {
    width: 100%;
  }
}

@media (max-width: 26.24rem) {
  .contact-signoff__statement,
  .contact-signoff__disclaimer {
    flex-direction: column;
    gap: var(--space-2);
  }
}


.cabins-page { overflow: hidden; }
.cabins-page section[id] { scroll-margin-top: var(--space-9); }
.cabins-breadcrumbs { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-5); color: var(--color-text-muted); font-size: var(--text-sm); }
.cabins-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) 40px minmax(0, 6fr); align-items: center; gap: var(--space-5); }
.cabins-hero__copy { min-width: 0; max-width: 38.75rem; }
.cabins-hero__lead { max-width: 38.75rem; font-size: var(--text-lg); }
.cabins-hero__independence { max-width: 36rem; color: var(--color-text-muted); font-size: var(--text-sm); }
.cabins-hero__divider { width: 1px; min-width: 1px; height: 72%; justify-self: center; background: linear-gradient(var(--color-turquoise-500), transparent); }
.cabins-hero__media { width: 100%; margin: 0; }
.cabins-hero__media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--radius-md); }
.cabins-hero__links, .cabins-checklist__links, .cabins-closing__links { display: flex; flex-wrap: wrap; gap: var(--space-4); align-items: center; }
.cabins-route-link { display: inline-flex; min-height: 2.75rem; align-items: center; gap: var(--space-2); font-weight: var(--weight-medium); text-decoration: none; }
.cabins-route-link:hover, .cabins-route-link:focus-visible { text-decoration: underline; text-underline-offset: .16em; }
.cabins-priorities__intro { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--space-7); align-items: end; margin-bottom: var(--space-7); }
.cabins-priorities__intro > * { min-width: 0; }
.cabins-priorities__intro > p {
  }
.cabins-priorities__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.cabins-priority-card { display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); }
.cabins-priority-card > * { margin: 0; }
.cabins-types__intro, .cabins-compare__intro, .cabins-location__intro, .cabins-steps__intro, .cabins-scenarios__intro, .cabins-checklist__intro { max-width: 42.5rem; margin-bottom: var(--space-7); }
.cabins-types__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.cabins-type-card { display: grid; grid-template-columns: minmax(9rem, 34%) minmax(0, 1fr); min-width: 0; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-white); }
.cabins-type-card__diagram { position: relative; display: flex; min-width: 0; min-height: 15rem; align-items: center; justify-content: center; padding: var(--space-5); background: var(--color-ocean-950); color: var(--color-white); }
.cabins-type-card__number { position: absolute; top: var(--space-3); left: var(--space-3); font-size: var(--text-sm); font-weight: var(--weight-semibold); letter-spacing: .1em; }
.cabin-shape { position: relative; display: block; width: 6.5rem; height: 8.5rem; border: 2px solid currentColor; border-radius: .5rem; }
.cabin-shape--oceanview i { position: absolute; top: 1.3rem; left: 50%; width: 2.5rem; height: 2.5rem; transform: translateX(-50%); border: 2px solid var(--color-turquoise-500); border-radius: 50%; }
.cabin-shape--balcony { width: 5.5rem; border-right: 0; }
.cabin-shape--balcony i { position: absolute; top: 1.25rem; right: -3.25rem; width: 3.25rem; height: 6rem; border: 2px solid var(--color-coral-500); border-left: 0; }
.cabin-shape--suite { width: 7.5rem; }
.cabin-shape--suite i { position: absolute; inset: 1.2rem; border: 1px solid var(--color-gold-500); }
.cabins-type-card--oceanview .cabins-type-card__diagram { color: var(--color-turquoise-500); }
.cabins-type-card--balcony .cabins-type-card__diagram { color: var(--color-coral-500); }
.cabins-type-card--suite .cabins-type-card__diagram { color: var(--color-gold-500); }
.cabins-type-card__content { display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); padding: var(--space-5); }
.cabins-type-card__content > * { margin: 0; }
.cabins-disclosure { margin: 0; }
.cabins-disclosure summary { min-height: 2.25rem; }
.cabins-disclosure p { margin: 0 0 var(--space-2); color: var(--color-text-muted); font-size: var(--text-sm); }
.cabins-compare__desktop { overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-white); }
.cabins-compare__head, .cabins-compare__row { display: grid; grid-template-columns: minmax(13rem, 3fr) repeat(4, minmax(10rem, 1fr)); min-width: 0; }
.cabins-compare__head > *, .cabins-compare__row > * { min-width: 0; padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--color-border); }
.cabins-compare__head { background: var(--color-ocean-950); color: var(--color-white); font-size: var(--text-sm); font-weight: var(--weight-semibold); }
.cabins-compare__row h3, .cabins-compare__row p { margin: 0; font-family: var(--font-body); font-size: var(--text-sm); line-height: var(--leading-compact); }
.cabins-compare__row h3 { color: var(--color-ocean-800); font-weight: var(--weight-semibold); }
.cabins-compare__note { max-width: 43rem; margin: 0; padding: var(--space-4); background: var(--color-ivory-50); color: var(--color-text-muted); font-size: var(--text-sm); }
.cabins-compare__mobile { display: none; }
.cabins-location__band { display: grid; grid-template-columns: minmax(0, 8fr) minmax(16rem, 4fr); gap: var(--space-5); padding: var(--space-5); border-radius: var(--radius-lg); background: var(--color-ocean-950); }
.cabins-location__scroll { min-width: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ship-diagram { position: relative; min-width: 42.5rem; height: 20rem; color: var(--color-white); }
.ship-diagram__hull { position: absolute; right: 3rem; bottom: 3rem; left: 3rem; height: 6rem; border: 2px solid var(--color-turquoise-500); border-radius: 0 0 6rem 4rem; }
.ship-diagram__deck { position: absolute; right: 6rem; left: 8rem; height: 2.5rem; border: 1px solid rgba(255,255,255,.65); }
.ship-diagram__deck--high { bottom: 10.5rem; background: rgba(32,167,160,.24); }
.ship-diagram__deck--lower { bottom: 6.5rem; background: rgba(255,255,255,.1); }
.ship-diagram__label, .ship-diagram__height { position: absolute; padding: var(--space-2); border-radius: var(--radius-sm); font-size: var(--text-xs); font-weight: var(--weight-semibold); letter-spacing: .08em; }
.ship-diagram__label { top: 2rem; border-bottom: 2px solid var(--color-coral-500); }
.ship-diagram__label--forward { left: 3rem; }
.ship-diagram__label--midship { left: 47%; border-color: var(--color-turquoise-500); }
.ship-diagram__label--aft { right: 3rem; }
.ship-diagram__height { right: 10rem; color: var(--color-ocean-950); background: var(--color-ivory-100); }
.ship-diagram__height--high { bottom: 13rem; }
.ship-diagram__height--lower { bottom: 8.5rem; }
.cabins-location__scroll-note { display: none; }
.cabins-location__rail { display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); padding: var(--space-4); border-radius: var(--radius-md); background: var(--color-ivory-50); }
.cabins-location__rail article { min-width: 0; }
.cabins-location__rail h3, .cabins-location__rail p { margin: 0; }
.cabins-location__rail h3 { font-family: var(--font-body); font-size: var(--text-sm); letter-spacing: .08em; }
.cabins-location__rail p { color: var(--color-text-muted); font-size: var(--text-sm); line-height: var(--leading-compact); }
.cabins-steps__grid { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); }
.cabins-step { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); min-width: 0; gap: var(--space-4); padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-white); }
.cabins-step > span { display: flex; width: 2.75rem; height: 2.75rem; align-items: center; justify-content: center; border-radius: 50%; background: var(--color-turquoise-500); color: var(--color-ocean-950); font-weight: var(--weight-semibold); }
.cabins-step > div { min-width: 0; }
.cabins-step h3 { margin-bottom: var(--space-3); }
.cabins-step p:last-child { margin-bottom: 0; }
.cabins-step--one { grid-column: 1 / span 5; }
.cabins-step--two { grid-column: 8 / span 5; }
.cabins-step--three { grid-column: 4 / span 6; }
.cabins-step--four { grid-column: 1 / span 5; }
.cabins-step--five { grid-column: 8 / span 5; }
.cabins-confirm__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(17.5rem, 4fr); gap: var(--space-7); align-items: start; }
.cabins-confirm__panel, .cabins-confirm__sequence { min-width: 0; }
.cabins-confirm__panel > * { max-width: 40rem; }
.cabins-confirm__sequence { padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-white); }
.cabins-confirm__sequence ol { margin-bottom: 0; }
.cabins-confirm__sequence li { margin-bottom: var(--space-2); }
.cabins-disclaimer-dark { display: flex; align-items: flex-start; gap: var(--space-3); margin-top: var(--space-5); padding: var(--space-5); border-radius: var(--radius-lg); background: var(--color-ocean-950); color: var(--color-white); }
.cabins-disclaimer-dark > span { flex: 0 0 1.5rem; color: var(--color-turquoise-500); font-weight: var(--weight-semibold); }
.cabins-disclaimer-dark p {
  margin: 0; }
.cabins-scenarios__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.cabins-scenario { display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); }
.cabins-scenario > * { margin: 0; }
.cabins-scenario--ease { border-top: 3px solid var(--color-ocean-600); }
.cabins-scenario--sharing { border-top: 3px solid var(--color-gold-500); }
.cabins-checklist__panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2) var(--space-6); width: min(100%, 68rem); margin-bottom: var(--space-5); padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-white); }
.cabins-checklist__panel label { display: flex; min-height: 2.75rem; align-items: flex-start; gap: var(--space-3); margin: 0; padding: var(--space-2) 0; font-size: var(--text-base); font-weight: var(--weight-regular); }
.cabins-checklist__panel input { flex: 0 0 1.125rem; margin-top: .35rem; }
.cabins-closing__content { width: min(100%, 43.75rem); margin-inline: auto; }
.cabins-closing__content > p:not(.eyebrow) { max-width: 38.75rem; }

@media (max-width: 61.24rem) {
  .cabins-hero__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .cabins-hero__divider { display: none; }
  .cabins-hero__copy, .cabins-hero__lead, .cabins-hero__independence { max-width: none; }
  .cabins-priorities__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cabins-location__band { grid-template-columns: 1fr; }
  .cabins-location__rail { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cabins-steps__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cabins-step--one, .cabins-step--two, .cabins-step--three, .cabins-step--four, .cabins-step--five { grid-column: auto; }
}
@media (max-width: 57.49rem) {
  .cabins-type-card { grid-template-columns: 1fr; }
  .cabins-type-card__diagram { min-height: 9rem; }
  .cabins-compare__desktop { display: none; }
  .cabins-compare__mobile { display: block; }
  .cabins-compare__mobile details { margin-bottom: var(--space-3); padding: 0 var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-white); }
  .cabins-compare__mobile summary { min-height: 2.75rem; }
  .cabins-compare__mobile p { font-size: var(--text-sm); }
  .cabins-confirm__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .cabins-scenarios__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 53.74rem) {
  .cabins-priorities__intro { grid-template-columns: 1fr; gap: var(--space-3); }
  .cabins-location__rail { grid-template-columns: 1fr; }
}
@media (max-width: 47.49rem) {
  .cabins-hero__media img { border-radius: var(--radius-md); }
  .cabins-priorities__cards, .cabins-types__grid, .cabins-steps__grid, .cabins-scenarios__grid, .cabins-checklist__panel { grid-template-columns: 1fr; }
  .cabins-types__intro, .cabins-compare__intro, .cabins-location__intro, .cabins-steps__intro, .cabins-scenarios__intro, .cabins-checklist__intro { margin-bottom: var(--space-5); }
  .cabins-location__band { padding: var(--space-4); }
  .cabins-location__scroll-note { display: block; margin: 0; color: var(--color-ivory-100); font-size: var(--text-sm); }
  .cabins-location__rail { padding: 0; background: transparent; }
  .cabins-location__rail article { padding: var(--space-4); border-radius: var(--radius-md); background: var(--color-ivory-50); }
  .cabins-step { padding: var(--space-4); }
  .cabins-checklist__panel { padding: var(--space-4); }
  .cabins-checklist__links, .cabins-closing__links { flex-direction: column; align-items: flex-start; gap: var(--space-2); }
  .cabins-disclaimer-dark { padding: var(--space-4); }
}


.onboard-page { overflow: clip; }
.onboard-page .eyebrow { margin-bottom: var(--space-3); }
.onboard-page .status-label { margin-bottom: var(--space-3); }
.onboard-page .section { position: relative; }
.onboard-page h3 { margin-bottom: var(--space-3); }

.onboard-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin-bottom: var(--space-5); color: var(--color-text-muted); font-size: var(--text-sm); line-height: var(--leading-compact); }
.onboard-breadcrumbs span { color: var(--color-charcoal-600); }
.onboard-hero { padding-top: clamp(var(--space-6), 6vw, var(--space-10)); background: var(--color-ivory-50); }
.onboard-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr); align-items: center; }
.onboard-hero__copy { grid-column: 1 / 2; min-width: 0; }
.onboard-hero__copy h1 { max-width: 610px; }
.onboard-hero__standfirst { max-width: 600px; font-size: var(--text-lg); line-height: 1.56; }
.onboard-route-marker { display: flex; width: 140px; height: 18px; align-items: center; margin: var(--space-5) 0; color: var(--color-turquoise-500); }
.onboard-route-marker span { width: 112px; border-top: 2px solid currentColor; }
.onboard-route-marker i { width: 13px; height: 13px; margin-left: -1px; border: 2px solid currentColor; border-radius: 50%; background: var(--color-ivory-50); }
.onboard-route-marker b { width: 8px; height: 8px; margin-left: 4px; border-radius: 50%; background: var(--color-coral-500); }
.onboard-hero__callout { display: flex; max-width: 610px; flex-direction: column; gap: var(--space-3); }
.onboard-hero__callout > * { min-width: 0; margin: 0; }
.onboard-hero__callout h2 { font-size: var(--text-xl); }
.onboard-hero__media { grid-column: 3 / 4; width: 100%; min-width: 0; margin: 0; }
.onboard-hero__media img { width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: var(--radius-lg); object-fit: cover; object-position: 68% center; }

.onboard-rhythm__layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); }
.onboard-rhythm__intro { grid-column: 1 / span 6; min-width: 0; max-width: 640px; }
.onboard-rhythm__key { grid-column: 10 / span 3; display: flex; min-width: 0; align-items: center; gap: var(--space-3); align-self: end; padding-bottom: var(--space-2); color: var(--color-text-muted); font-size: var(--text-sm); line-height: var(--leading-compact); }
.onboard-rhythm__key p { margin: 0; }
.onboard-rhythm__key span { color: var(--color-turquoise-500); font-size: 1.5rem; }
.onboard-profile-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; }
.onboard-profile { position: relative; display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); padding: var(--space-5); overflow: hidden; }
.onboard-profile > * { min-width: 0; margin: 0; }
.onboard-profile__mark { position: absolute; top: var(--space-4); right: var(--space-4); color: var(--color-turquoise-500); font-size: 1.5rem; }
.onboard-profile--social .onboard-profile__mark { color: var(--color-coral-500); }
.onboard-profile--adult::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: var(--color-gold-500); content: ""; }
.onboard-profile__check { padding-top: var(--space-3); border-top: 1px solid var(--color-border); color: var(--color-text-muted); font-size: var(--text-sm); line-height: var(--leading-compact); }

.onboard-outdoors__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: stretch; }
.onboard-outdoors__content { grid-column: 1 / span 7; display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); max-width: 680px; }
.onboard-outdoors__content > * { min-width: 0; margin: 0; }
.onboard-outdoors__content > h2 { margin-bottom: var(--space-1); }
.onboard-outdoors__checklist { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); margin-top: var(--space-3); }
.onboard-outdoors__checklist > * { min-width: 0; margin: 0; }
.onboard-outdoors__checklist li { margin-bottom: var(--space-2); }
.onboard-outdoors__media { grid-column: 8 / -1; width: 100%; min-width: 0; margin: 0; }
.onboard-outdoors__media img { width: 100%; height: 100%; min-height: 460px; border-radius: var(--radius-lg); object-fit: cover; object-position: center; }

.onboard-entertainment__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); }
.onboard-entertainment__left { grid-column: 1 / span 8; min-width: 0; }
.onboard-entertainment__intro { max-width: 680px; }
.onboard-entertainment__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; margin-top: var(--space-6); }
.onboard-venue-card { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.onboard-venue-card > * { min-width: 0; margin: 0; }
.onboard-venue-card:first-child { border-top: 3px solid var(--color-ocean-800); }
.onboard-entertainment__note { grid-column: 1 / -1; display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border-radius: var(--radius-lg); background: var(--color-ocean-950); color: var(--color-ivory-50); }
.onboard-entertainment__note > * { min-width: 0; margin: 0; }
.onboard-entertainment__note h3 { color: var(--color-white); }
.onboard-entertainment__note .eyebrow { color: var(--color-turquoise-500); }
.onboard-entertainment__media { grid-column: 9 / -1; width: 100%; min-width: 0; margin: 0; }
.onboard-entertainment__media img { width: 100%; height: 100%; min-height: 560px; border-radius: var(--radius-lg); object-fit: cover; object-position: 62% center; }

.onboard-wellness__layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); }
.onboard-wellness__intro { grid-column: 1 / span 6; min-width: 0; max-width: 580px; }
.onboard-wellness__cards { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; margin-top: var(--space-3); }
.onboard-wellness-card { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.onboard-wellness-card > * { min-width: 0; margin: 0; }
.onboard-wellness-card--gold { border-top: 3px solid var(--color-gold-500); }
.onboard-wellness-card--route { margin-top: var(--space-7); border-top: 3px solid var(--color-turquoise-500); }
.onboard-wellness-card--recommend { border-inline-start: 3px solid var(--color-turquoise-500); }

.onboard-family__layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); }
.onboard-family__intro { grid-column: 1 / span 7; min-width: 0; max-width: 680px; }
.onboard-family__side-label { grid-column: 10 / span 3; display: flex; min-width: 0; align-items: center; gap: var(--space-3); align-self: end; color: var(--color-text-muted); font-size: var(--text-sm); line-height: var(--leading-compact); }
.onboard-family__side-label span { display: grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--color-turquoise-500) 20%, var(--color-white)); color: var(--color-ocean-950); }
.onboard-family__side-label p { margin: 0; }
.onboard-family__board { grid-column: 1 / span 10; min-width: 0; padding: var(--space-6); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-ivory-100); }
.onboard-family__prompts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: var(--space-5); background: var(--color-line-soft); border: 1px solid var(--color-line-soft); }
.onboard-family__prompts > div { display: flex; min-width: 0; align-items: center; gap: var(--space-3); padding: var(--space-4); background: var(--color-ivory-50); }
.onboard-family__prompts span { color: var(--color-turquoise-500); font-size: var(--text-sm); font-weight: var(--weight-semibold); }
.onboard-family__prompts p { min-width: 0; margin: 0; line-height: var(--leading-compact); }
.onboard-family__recommend { grid-column: 1 / span 6; display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border: 1px solid var(--color-border); border-inline-start: 4px solid var(--color-coral-500); border-radius: var(--radius-md); background: var(--color-white); }
.onboard-family__recommend > * { min-width: 0; margin: 0; }

.onboard-adult { background: var(--color-ivory-50); }
.onboard-adult__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.onboard-adult__explanation { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); padding: clamp(var(--space-5), 4vw, var(--space-7)); border-top: 3px solid var(--color-gold-500); background: var(--color-ivory-100); }
.onboard-adult__explanation > * { min-width: 0; margin: 0; }
.onboard-adult__recommend { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); padding: clamp(var(--space-5), 4vw, var(--space-7)); border-radius: var(--radius-lg); background: var(--color-ocean-950); color: var(--color-ivory-50); }
.onboard-adult__recommend > * { min-width: 0; margin: 0; }
.onboard-adult__recommend h3 { color: var(--color-white); }
.onboard-adult__recommend li { margin-bottom: var(--space-2); }

.onboard-shopping__layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); }
.onboard-shopping__heading { grid-column: 1 / span 5; min-width: 0; max-width: 560px; }
.onboard-shopping__card { grid-column: 1 / span 5; display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.onboard-shopping__card > * { min-width: 0; margin: 0; }
.onboard-shopping__confirm { grid-column: 8 / span 5; display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border-radius: var(--radius-lg); background: var(--color-ocean-950); color: var(--color-ivory-50); }
.onboard-shopping__confirm > * { min-width: 0; margin: 0; }
.onboard-shopping__confirm h3 { color: var(--color-white); }
.onboard-shopping__confirm .eyebrow { color: var(--color-turquoise-500); }

.onboard-activities__layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); }
.onboard-activities__intro { grid-column: 1 / span 7; min-width: 0; max-width: 660px; }
.onboard-activity-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; }
.onboard-activity-card { position: relative; display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); padding-top: var(--space-6); }
.onboard-activity-card > * { min-width: 0; margin: 0; }
.onboard-activity-card::before { position: absolute; top: 0; left: var(--space-5); width: calc(100% - var(--space-5)); border-top: 2px solid color-mix(in srgb, var(--color-turquoise-500) 45%, transparent); content: ""; }
.onboard-activity-card__cue { position: absolute; top: -13px; left: var(--space-4); display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: var(--color-white); color: var(--color-turquoise-500); font-size: var(--text-sm); }
.onboard-activity-card--muted { background: var(--color-ivory-100); }
.onboard-activity-card--coral .onboard-activity-card__cue { color: var(--color-coral-500); }
.onboard-activities__recommend { grid-column: 1 / span 9; display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); margin-top: var(--space-2); }
.onboard-activities__recommend > * { min-width: 0; margin: 0; }

.onboard-compare__layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); }
.onboard-compare__intro { grid-column: 1 / span 8; min-width: 0; max-width: 680px; }
.onboard-status-legend { grid-column: 10 / span 3; min-width: 0; padding: var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-white); }
.onboard-status-legend h3 { font-size: var(--text-lg); }
.onboard-status-legend__row { display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; padding: var(--space-3) 0; font-size: var(--text-sm); line-height: var(--leading-compact); }
.onboard-status-legend__row + .onboard-status-legend__row { border-top: 1px solid var(--color-border); }
.onboard-status-legend__row strong { color: var(--color-ocean-800); }
.onboard-status-legend__row strong span { margin-right: var(--space-1); }
.onboard-status-legend__row p { margin: 0; color: var(--color-text-muted); }
.onboard-steps { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); min-width: 0; padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-white); }
.onboard-steps article { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.onboard-steps article > * { min-width: 0; margin: 0; }
.onboard-steps span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--color-turquoise-500) 20%, var(--color-white)); color: var(--color-ocean-950); font-weight: var(--weight-semibold); }
.onboard-steps h3 { font-size: var(--text-lg); }

.onboard-closing__inner { display: flex; min-width: 0; flex-direction: column; gap: var(--space-6); width: min(100%, 700px); margin-inline: auto; }
.onboard-closing__message { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); }
.onboard-closing__message > * { min-width: 0; margin: 0; }
.onboard-closing__message .eyebrow { color: var(--color-turquoise-500); }
.onboard-closing__message p {
  }
.onboard-closing__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); min-width: 0; }
.onboard-closing__actions > * { min-width: 0; }
.onboard-closing .button--secondary { border-color: var(--color-ivory-50); background: transparent; color: var(--color-ivory-50); }
.onboard-closing .button--secondary:hover { border-color: var(--color-turquoise-500); background: color-mix(in srgb, var(--color-white) 8%, transparent); color: var(--color-white); }
.onboard-closing__disclaimer { display: flex; min-width: 0; align-items: flex-start; gap: var(--space-3); padding-top: var(--space-5); border-top: 1px solid rgba(251, 248, 241, 0.35); color: var(--color-ivory-50); font-size: var(--text-sm); line-height: var(--leading-compact); }
.onboard-closing__disclaimer span { color: var(--color-turquoise-500); font-size: 1.125rem; }
.onboard-closing__disclaimer p { min-width: 0;
  margin: 0; }

@media (max-width: 63.99rem) {
  .onboard-hero__grid { grid-template-columns: minmax(0, 45fr) minmax(0, 55fr); gap: var(--space-5); }
  .onboard-hero__copy, .onboard-hero__media { grid-column: auto; }
  .onboard-hero__copy h1 { font-size: clamp(3rem, 6vw, 3.75rem); }
  .onboard-rhythm__key { display: none; }
  .onboard-rhythm__intro { grid-column: 1 / -1; }
  .onboard-outdoors__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
  .onboard-outdoors__content, .onboard-outdoors__media { grid-column: auto; }
  .onboard-entertainment__grid { grid-template-columns: minmax(0, 1fr); }
  .onboard-entertainment__left, .onboard-entertainment__media { grid-column: auto; }
  .onboard-entertainment__media { display: grid; grid-template-columns: minmax(0, 1fr); }
  .onboard-entertainment__media img { min-height: 360px; max-height: 480px; }
  .onboard-family__side-label { display: none; }
  .onboard-family__intro { grid-column: 1 / span 8; }
  .onboard-family__board { grid-column: 1 / -1; }
}

@media (max-width: 61.24rem) {
  .onboard-activity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 59.99rem) {
  .onboard-entertainment__grid { grid-template-columns: minmax(0, 1fr); }
  .onboard-entertainment__left, .onboard-entertainment__media { grid-column: auto; }
  .onboard-entertainment__media { order: -1; }
  .onboard-entertainment__cards { margin-top: var(--space-5); }
}

@media (max-width: 56.24rem) {
  .onboard-outdoors__grid { grid-template-columns: minmax(0, 1fr); }
  .onboard-outdoors__content, .onboard-outdoors__media { grid-column: auto; }
  .onboard-outdoors__media { order: 2; }
  .onboard-outdoors__content { order: 1; max-width: none; }
  .onboard-outdoors__checklist { order: 3; }
  .onboard-outdoors__media img { min-height: 0; height: auto; aspect-ratio: 4 / 3; }
  .onboard-family__intro { grid-column: 1 / -1; }
}

@media (max-width: 53.74rem) {
  .onboard-wellness__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .onboard-wellness-card--route { margin-top: 0; }
  .onboard-wellness-card--recommend { grid-column: 1 / -1; }
  .onboard-compare__intro { grid-column: 1 / span 8; }
  .onboard-status-legend { grid-column: 9 / -1; }
  .onboard-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 51.19rem) {
  .onboard-profile-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 47.49rem) {
  .onboard-adult__grid { grid-template-columns: minmax(0, 1fr); }
  .onboard-shopping__layout { grid-template-columns: minmax(0, 1fr); }
  .onboard-shopping__heading, .onboard-shopping__card, .onboard-shopping__confirm { grid-column: auto; }
}

@media (max-width: 43.74rem) {
  .onboard-hero { padding-top: var(--space-6); }
  .onboard-hero__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .onboard-hero__copy, .onboard-hero__media { grid-column: auto; }
  .onboard-hero__copy h1 { font-size: 2.625rem; line-height: 1.14; }
  .onboard-hero__standfirst { font-size: var(--text-lg); }
  .onboard-hero__media { order: 2; }
  .onboard-hero__callout { max-width: none; }
  .onboard-hero__media img { aspect-ratio: 4 / 3; }
  .onboard-wellness__intro { grid-column: 1 / -1; }
  .onboard-wellness__cards { grid-template-columns: minmax(0, 1fr); }
  .onboard-wellness-card--recommend { grid-column: auto; }
  .onboard-family__prompts { grid-template-columns: minmax(0, 1fr); }
  .onboard-family__board { padding: var(--space-4); }
  .onboard-activity-grid { grid-template-columns: minmax(0, 1fr); }
  .onboard-activities__intro, .onboard-activities__recommend { grid-column: 1 / -1; }
  .onboard-activity-card::before { width: 2px; height: 28px; border-top: 0; border-left: 2px solid color-mix(in srgb, var(--color-turquoise-500) 45%, transparent); }
  .onboard-compare__intro, .onboard-status-legend { grid-column: 1 / -1; }
  .onboard-steps { grid-template-columns: minmax(0, 1fr); padding: var(--space-4); }
  .onboard-steps article { display: grid; grid-template-columns: 32px minmax(0, 1fr); column-gap: var(--space-3); }
  .onboard-steps article span { grid-row: 1 / span 2; }
  .onboard-steps article h3, .onboard-steps article p { grid-column: 2; }
  .onboard-closing__actions { flex-direction: column; }
  .onboard-closing__actions .button { width: 100%; }
}

@media (max-width: 37.49rem) {
  .onboard-entertainment__cards { grid-template-columns: minmax(0, 1fr); }
  .onboard-entertainment__note { grid-column: auto; }
  .onboard-entertainment__media img { aspect-ratio: 3 / 2; min-height: 0; }
  .onboard-profile, .onboard-venue-card { padding: var(--space-4); }
  .onboard-adult__explanation, .onboard-adult__recommend { padding: var(--space-5); }
}


.itineraries-page {
  overflow: clip;
}

.itineraries-page .section {
  position: relative;
}

.itineraries-page .eyebrow {
  position: relative;
  z-index: 1;
}

.it-icon {
  display: inline-flex;
  width: 1rem;
  height: 1rem;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  line-height: 1;
}

.it-page-intro {
  padding-block: clamp(3.5rem, 8vw, 6rem) clamp(3rem, 6vw, 5rem);
}

.it-page-intro__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.it-page-intro__copy {
  grid-column: 1 / span 7;
  width: 100%;
  max-width: 38.75rem;
  min-width: 0;
}

.it-page-intro__standfirst {
  max-width: 38.75rem;
  font-size: var(--text-lg);
  line-height: 1.56;
}

.it-page-intro__status {
  display: flex;
  width: 100%;
  max-width: 32.5rem;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-5);
}

.it-page-intro__status p {
  margin: 0;
}

.it-page-intro__motif {
  position: relative;
  grid-column: 9 / span 4;
  min-width: 0;
}

.it-page-intro__motif span {
  position: absolute;
  top: 48%;
  right: 0;
  width: 105%;
  height: 8rem;
  border-top: 2px solid color-mix(in srgb, var(--color-turquoise-500) 35%, transparent);
  border-radius: 50%;
  transform: rotate(-25deg);
}

.it-page-intro__motif b {
  position: absolute;
  top: 23%;
  right: 7%;
  width: 0.85rem;
  height: 0.85rem;
  border: 3px solid var(--color-coral-500);
  border-radius: 50% 50% 50% 0;
  background: var(--color-page);
  transform: rotate(-45deg);
}

.it-section-intro {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.it-section-intro > :is(h2, p) {
  margin: 0;
}

.it-reading__intro {
  width: 100%;
  max-width: 40.625rem;
}

.it-reading__cards {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.it-reading__cards::before {
  position: absolute;
  z-index: 0;
  top: 2.6rem;
  right: 10%;
  left: 10%;
  height: 1px;
  background: color-mix(in srgb, var(--color-turquoise-500) 28%, transparent);
  content: "";
}

.it-reading-card {
  position: relative;
  z-index: 1;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin: 0;
  padding: var(--space-5);
}

.it-reading-card > * {
  margin: 0;
}

.it-reading-card__top {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: flex-start;
  gap: var(--space-3);
}

.it-reading-card__top h3 {
  min-width: 0;
  margin: 0;
}

.it-card-icon {
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  flex: 0 0 2rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-turquoise-500) 18%, var(--color-white));
  color: var(--color-ocean-800);
  font-weight: var(--weight-semibold);
}

.it-card-icon--coral {
  background: color-mix(in srgb, var(--color-coral-500) 18%, var(--color-white));
  color: var(--color-coral-500);
}

.it-reading-card .status-label,
.it-reading-card .text-link {
  margin-top: auto;
}

.it-atlas__intro {
  width: 100%;
  max-width: 42.5rem;
}

.it-atlas__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.it-route-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.it-route-card > * {
  min-width: 0;
  margin: 0;
}

.it-route-card--standard {
  grid-column: span 4;
}

.it-route-card--feature,
.it-route-card--wide {
  grid-column: span 6;
}

.it-route-card--feature {
  border-radius: var(--radius-lg);
}

.it-route-card__header {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.it-route-number {
  color: var(--color-ocean-800);
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.08em;
}

.it-route-line,
.it-gold-route {
  width: 42%;
  min-width: 3rem;
  height: 1px;
  background: var(--color-turquoise-500);
}

.it-route-line--long {
  width: 62%;
}

.it-route-stops,
.it-island-route,
.it-arrow-route {
  color: var(--color-turquoise-500);
  font-size: var(--text-sm);
  letter-spacing: 0.15em;
  white-space: nowrap;
}

.it-tasman-route {
  display: flex;
  width: 52%;
  min-width: 5rem;
  align-items: center;
  justify-content: space-between;
  color: var(--color-coral-500);
}

.it-tasman-route i {
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  flex: 0 0 0.5rem;
  border-radius: 50%;
  background: currentColor;
}

.it-tasman-route b {
  width: 100%;
  height: 1px;
  margin-inline: 0.35rem;
  background: var(--color-turquoise-500);
}

.it-route-card__subline {
  color: var(--color-charcoal-600);
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
  line-height: var(--leading-compact);
}

.it-confirm-note {
  display: flex;
  width: 100%;
  align-items: flex-start;
  gap: var(--space-2);
  margin-top: auto;
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-border);
  color: var(--color-charcoal-600);
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
}

.it-confirm-note span {
  color: var(--color-ocean-800);
  font-weight: var(--weight-semibold);
}

.it-route-card--image {
  overflow: hidden;
  padding: 0;
}

.it-route-card__figure {
  width: 100%;
  margin: 0;
}

.it-route-card__figure img {
  width: 100%;
  height: 13rem;
  object-fit: cover;
  object-position: right center;
}

.it-route-card__figure figcaption {
  padding-inline: var(--space-5);
}

.it-route-card__content {
  display: flex;
  width: 100%;
  min-width: 0;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-5);
}

.it-route-card__content > * {
  min-width: 0;
  margin: 0;
}

.it-route-card--gold {
  border-color: color-mix(in srgb, var(--color-gold-500) 45%, var(--color-border));
}

.it-route-card--gold .it-route-number {
  color: var(--color-gold-500);
}

.it-gold-route {
  background: var(--color-gold-500);
}

.it-compare__intro {
  width: 100%;
  max-width: 40rem;
}

.it-compare__panel {
  position: relative;
  width: 100%;
  margin-top: var(--space-7);
  padding: var(--space-5);
  border-radius: var(--radius-lg);
  background: var(--color-ivory-100);
}

.it-scroll-hint {
  display: none;
  margin: 0 0 var(--space-2);
  color: var(--color-ocean-800);
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
}

.it-scroll-hint span {
  color: var(--color-turquoise-500);
}

.it-comparison-scroll {
  position: relative;
}

.it-comparison-scroll table {
  table-layout: fixed;
}

.it-comparison-scroll th:nth-child(1) { width: 18%; }
.it-comparison-scroll th:nth-child(2) { width: 21%; }
.it-comparison-scroll th:nth-child(3) { width: 27%; }
.it-comparison-scroll th:nth-child(4) { width: 34%; }

.it-comparison-scroll tbody th span {
  display: inline-block;
  margin-right: var(--space-2);
  color: var(--color-coral-500);
  font-size: var(--text-xs);
  letter-spacing: 0.06em;
}

.it-nz-context {
  overflow: hidden;
}

.it-nz-context::before {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(color-mix(in srgb, var(--color-turquoise-500) 10%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--color-turquoise-500) 10%, transparent) 1px, transparent 1px);
  background-size: 3rem 3rem;
  content: "";
  opacity: 0.55;
  pointer-events: none;
}

.it-nz-context::after {
  position: absolute;
  top: 16%;
  right: -10%;
  width: 52%;
  height: 1px;
  background: var(--color-turquoise-500);
  content: "";
  opacity: 0.32;
  transform: rotate(-21deg);
}

.it-nz-context .container {
  position: relative;
  z-index: 1;
}

.it-nz-context__intro {
  width: 100%;
  max-width: 42.5rem;
}

.it-nz-context .eyebrow {
  color: var(--color-turquoise-500);
}

.it-nz-context__panels {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.it-nz-panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: clamp(var(--space-5), 4vw, var(--space-7));
  border: 1px solid color-mix(in srgb, var(--color-white) 25%, transparent);
  border-radius: var(--radius-lg);
  background: color-mix(in srgb, var(--color-white) 6%, transparent);
}

.it-nz-panel > * {
  min-width: 0;
  margin: 0;
}

.it-nz-panel .status-label {
  color: var(--color-ocean-950);
  background: var(--color-ivory-100);
}

.it-nz-panel p {
  }

.it-nz-diagram {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-ivory-50);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  line-height: 1.35;
}

.it-nz-diagram i {
  display: block;
  min-width: 1.5rem;
  height: 1px;
  flex: 1 1 auto;
  background: var(--color-turquoise-500);
}

.it-nz-diagram strong {
  color: var(--color-turquoise-500);
}

.it-port-day__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.it-port-day__figure {
  grid-column: 1 / span 5;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.it-port-day__figure img {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-lg);
  object-fit: cover;
  object-position: right center;
}

.it-port-day__rail {
  display: flex;
  grid-column: 7 / span 6;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.it-port-day__rail > * {
  min-width: 0;
  margin: 0;
}

.it-port-day__rail > h2 {
  width: 100%;
  max-width: 35rem;
}

.it-port-day__guidance {
  display: flex;
  width: 100%;
  max-width: 35rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.it-port-day__guidance > * {
  margin: 0;
}

.it-port-day__guidance h3 {
  width: 100%;
}

.it-port-day__callouts {
  display: flex;
  width: 100%;
  max-width: 35rem;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
}

.it-port-callout {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.it-port-callout > * {
  margin: 0;
}

.current-details-confirmation {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-5);
  border-inline-start: 4px solid var(--color-ocean-800);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  background: var(--color-ivory-100);
}

.current-details-confirmation > * {
  margin: 0;
}

.it-preferences__intro {
  width: 100%;
  max-width: 38.75rem;
}

.it-preferences__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: repeat(2, auto);
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.it-preference-card {
  display: flex;
  grid-column: 8 / span 5;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.it-preference-card--lead {
  grid-column: 1 / span 7;
  grid-row: 1 / span 2;
  padding: clamp(var(--space-5), 4vw, var(--space-7));
  border-radius: var(--radius-lg);
}

.it-preference-card > * {
  min-width: 0;
  margin: 0;
}

.it-preference-card--lead p:last-child {
  max-width: 31.25rem;
}

.it-checklist__intro {
  width: 100%;
  max-width: 40.625rem;
}

.it-checklist__groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-7);
  margin-top: var(--space-7);
}

.it-checklist-list {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  margin: 0;
  padding: 0;
  list-style: none;
}

.it-checklist-list li {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
}

.it-checklist-list li > span {
  display: inline-flex;
  width: 2.75rem;
  height: 2.75rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-turquoise-500) 18%, var(--color-white));
  color: var(--color-ocean-800);
  font-weight: var(--weight-semibold);
}

.it-checklist-list li > div {
  min-width: 0;
}

.it-checklist-list h3 {
  margin-bottom: var(--space-2);
}

.it-checklist-list p {
  margin: 0;
}

.it-checklist__second {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
}

.it-checklist__confirmation {
  width: 100%;
}

.it-checklist__next {
  display: flex;
  width: 100%;
  max-width: 31.25rem;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-top: var(--space-7);
}

.it-checklist__next > * {
  margin: 0;
}

.it-checklist__actions {
  width: 100%;
}

.it-related__intro {
  width: 100%;
  max-width: 35rem;
}

.it-related__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.it-related__grid::before {
  position: absolute;
  z-index: 0;
  top: 2.5rem;
  right: 8%;
  left: 8%;
  height: 1px;
  background: color-mix(in srgb, var(--color-turquoise-500) 30%, transparent);
  content: "";
}

.it-related-card {
  position: relative;
  z-index: 1;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.it-related-card > * {
  min-width: 0;
  margin: 0;
}

.it-related-card .text-link:last-child {
  margin-top: auto;
}

.it-related-card__mark {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-ocean-800);
  font-weight: var(--weight-semibold);
}

.it-related-card__mark span {
  color: var(--color-turquoise-500);
  font-size: var(--text-xs);
  letter-spacing: 0.08em;
}

.it-related-card--gold {
  border-color: color-mix(in srgb, var(--color-gold-500) 42%, var(--color-border));
}

.it-related-card--gold .it-related-card__mark {
  color: var(--color-gold-500);
}

.it-related-card__mark--coral {
  color: var(--color-coral-500);
}

.it-final {
  padding-top: 0;
}

.it-final__panel {
  width: calc((100% - (11 * var(--space-5))) / 12 * 8 + (7 * var(--space-5)));
  max-width: 50rem;
  margin-inline: auto;
}

.it-final__panel h2 {
  margin: 0;
}

@media (max-width: 63.74rem) {
  .it-atlas__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .it-route-card--standard,
  .it-route-card--feature,
  .it-route-card--wide {
    grid-column: auto;
  }

  .it-route-card--image {
    grid-row: auto;
  }

  .it-preferences__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
  }

  .it-preference-card,
  .it-preference-card--lead {
    grid-column: auto;
    grid-row: auto;
  }

  .it-preference-card--lead {
    grid-column: span 2;
  }
}

@media (max-width: 61.24rem) {
  .it-preferences__grid {
    grid-template-columns: 1fr;
  }

  .it-preference-card--lead {
    grid-column: auto;
  }

  .it-related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 56.24rem) {
  .it-port-day__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .it-port-day__figure,
  .it-port-day__rail {
    grid-column: auto;
  }

  .it-port-day__rail,
  .it-port-day__guidance,
  .it-port-day__callouts {
    max-width: none;
  }

  .it-port-day__figure img {
    aspect-ratio: 3 / 2;
  }
}

@media (max-width: 56.24rem) {
  .it-scroll-hint {
    display: block;
  }

  .it-comparison-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .it-comparison-scroll::after {
    position: sticky;
    right: 0;
    display: block;
    width: 3rem;
    height: 100%;
    margin-top: -100%;
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--color-ivory-100) 92%, transparent));
    content: "";
    pointer-events: none;
  }

  .it-comparison-scroll > table {
    min-width: 47.5rem;
  }
}

@media (max-width: 51.24rem) {
  .it-nz-context__panels,
  .it-checklist__groups {
    grid-template-columns: 1fr;
  }

  .it-nz-panel p {
  }
}

@media (max-width: 47.99rem) {
  .it-page-intro__grid {
    grid-template-columns: 1fr;
  }

  .it-page-intro__copy {
    grid-column: auto;
    max-width: none;
  }

  .it-page-intro__standfirst {
    max-width: none;
  }

  .it-page-intro__motif {
    display: none;
  }

  .it-reading__cards,
  .it-atlas__grid,
  .it-related__grid {
    grid-template-columns: 1fr;
  }

  .it-reading__cards::before,
  .it-related__grid::before {
    display: none;
  }

  .it-reading-card,
  .it-route-card,
  .it-related-card {
    padding: var(--space-4);
  }

  .it-route-card--image {
    padding: 0;
  }

  .it-route-card__content {
    padding: var(--space-4);
  }

  .it-route-card__figure figcaption {
    padding-inline: var(--space-4);
  }

  .it-route-card__figure img {
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .it-compare__panel {
    padding: var(--space-4);
  }

  .it-nz-context::before,
  .it-nz-context::after {
    display: none;
  }

  .it-nz-diagram {
    flex-wrap: wrap;
  }

  .it-nz-diagram i {
    min-width: 1rem;
  }

  .it-checklist-list li {
    grid-template-columns: 2.75rem minmax(0, 1fr);
  }

  .it-final__panel {
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 26.24rem) {
  .it-checklist__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .it-checklist__actions .button {
    width: 100%;
  }
}


.destinations-page { overflow: clip; }
.destinations-page .section { position: relative; }
.destinations-page .eyebrow { color: var(--color-ocean-800); }
.destinations-breadcrumbs { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-4); color: var(--color-text-muted); font-size: var(--text-sm); }
.destinations-breadcrumbs span { min-width: 0; }
.destinations-hero { padding-top: clamp(2.5rem, 6vw, 5rem); }
.destinations-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(2rem, 1fr) minmax(0, 6fr); align-items: center; }
.destinations-hero__copy { grid-column: 1; min-width: 0; max-width: 35rem; }
.destinations-hero__deck { max-width: 34rem; font-size: var(--text-lg); line-height: 1.56; }
.destinations-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: stretch; }
.destinations-hero__actions > * { min-width: 0; }
.destinations-hero__media { grid-column: 3; position: relative; width: 100%; margin: 0; }
.destinations-hero__media::before { position: absolute; z-index: 1; right: 7%; bottom: 13%; width: 44%; height: 22%; border-top: 2px solid var(--color-turquoise-500); border-radius: 50%; content: ""; opacity: .7; pointer-events: none; transform: rotate(-18deg); }
.destinations-hero__media img { width: 100%; aspect-ratio: 16 / 9; border-radius: var(--radius-lg); object-fit: cover; object-position: 72% center; }
.destinations-route-legend { position: absolute; z-index: 2; bottom: var(--space-4); left: var(--space-4); display: flex; width: fit-content; max-width: calc(100% - 2rem); flex-wrap: wrap; align-items: center; gap: var(--space-2); margin: 0; padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm); background: rgba(251, 248, 241, .94); color: var(--color-ocean-950); font-size: var(--text-xs); font-weight: var(--weight-medium); line-height: 1.35; }
.destinations-route-legend__line { width: 1.5rem; height: 2px; background: var(--color-turquoise-500); }
.destinations-route-legend__pin, .destinations-pin { display: inline-block; width: .7rem; height: .7rem; border-radius: 50% 50% 50% 0; background: var(--color-coral-500); transform: rotate(-45deg); }
.destinations-compare__intro { width: min(100%, 38.75rem); }
.destinations-compare__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.destinations-compare__card { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; }
.destinations-compare__card > :last-child { margin-bottom: 0; }
.destinations-compare__card p:not(.status-label) { max-width: 18.75rem; }
.destinations-nz__intro { width: min(100%, 40.625rem); }
.destinations-nz__grid { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.destinations-nz__grid::before { position: absolute; z-index: 0; top: 7%; left: 5%; width: 72%; border-top: 1px dashed color-mix(in srgb, var(--color-turquoise-500) 45%, transparent); content: ""; pointer-events: none; }
.destinations-nz__grid > * { position: relative; z-index: 1; min-width: 0; }
.destinations-hub-card { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-white); }
.destinations-hub-card > :last-child { margin-bottom: 0; }
.destinations-hub-card h3 { font-size: var(--text-xl); }
.destinations-hub-card h3 a { color: inherit; text-decoration: none; }
.destinations-hub-card h3 a:hover, .destinations-hub-card h3 a:focus-visible { color: var(--color-ocean-600); text-decoration: underline; }
.destinations-hub-card p:not(.destinations-meta) { max-width: 15.625rem; }
.destinations-meta { margin-top: auto; color: var(--color-text-muted); font-size: var(--text-sm); line-height: var(--leading-compact); }
.destinations-route-marker { display: block; width: 1.75rem; height: .25rem; margin-bottom: var(--space-3); background: var(--color-turquoise-500); }
.destinations-hub-card > .destinations-pin { margin-bottom: var(--space-3); }
.destinations-nz__card--auckland, .destinations-nz__card--bay, .destinations-nz__card--tauranga, .destinations-nz__card--napier { grid-column: span 3; }
.destinations-nz__card--wellington, .destinations-nz__card--picton, .destinations-nz__card--christchurch, .destinations-nz__card--dunedin { grid-column: span 3; }
.destinations-fiordland { display: grid; grid-column: span 6; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-white); }
.destinations-fiordland img { width: 100%; height: 100%; min-height: 20rem; object-fit: cover; object-position: center; }
.destinations-fiordland__content { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; padding: var(--space-5); }
.destinations-fiordland__content > :last-child { margin-bottom: 0; }
.destinations-fiordland__content p:not(.destinations-meta) { max-width: 15.625rem; }
.destinations-fiordland__content .destinations-pin { margin-bottom: var(--space-3); }
.destinations-australia__intro { width: min(100%, 37.5rem); }
.destinations-australia__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.destinations-australia__grid > * { min-width: 0; }
.destinations-australia__grid > .destinations-hub-card { grid-column: span 4; }
.destinations-australia__grid > .destinations-tasmania { grid-column: 5 / span 8; }
.destinations-tasmania { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; padding: clamp(var(--space-5), 4vw, var(--space-7)); border-left: 4px solid var(--color-gold-500); border-radius: var(--radius-lg); background: var(--color-ivory-100); }
.destinations-tasmania p:not(.status-label) { max-width: 27.5rem; }
.destinations-tasmania > :last-child { margin-bottom: 0; }
.destinations-pacific__top { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: center; }
.destinations-pacific__intro { grid-column: span 5; min-width: 0; max-width: 32.5rem; }
.destinations-pacific__media { grid-column: span 7; width: 100%; margin: 0; }
.destinations-pacific__media img { width: 100%; aspect-ratio: 3 / 2; border-radius: var(--radius-lg); object-fit: cover; }
.destinations-pacific__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.destinations-pacific__grid > * { min-width: 0; }
.destinations-confirm { width: min(100%, 42rem); margin-top: var(--space-6); padding: var(--space-5); border-inline-start: 4px solid var(--color-ocean-800); border-radius: 0 var(--radius-md) var(--radius-md) 0; background: var(--color-ivory-100); }
.destinations-confirm > :last-child { margin-bottom: 0; }
.destinations-asia__lead { width: min(100%, 42.5rem); padding: var(--space-5); background-image: linear-gradient(90deg, color-mix(in srgb, var(--color-turquoise-500) 13%, transparent) 1px, transparent 1px), linear-gradient(color-mix(in srgb, var(--color-turquoise-500) 13%, transparent) 1px, transparent 1px); background-size: 1.5rem 1.5rem; }
.destinations-asia__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.destinations-asia__grid > * { min-width: 0; }
.destinations-asia__grid > .destinations-hub-card { grid-column: span 4; }
.destinations-asia__feature { display: flex; grid-column: span 6; min-width: 0; flex-direction: column; align-items: flex-start; padding: var(--space-6); border-radius: var(--radius-lg); background: var(--color-white); }
.destinations-asia__feature p {
  }
.destinations-asia__feature > :last-child { margin-bottom: 0; }
.destinations-asia__note { display: flex; grid-column: span 3; min-width: 0; flex-direction: column; align-items: flex-start; padding: var(--space-4) 0; }
.destinations-asia__note p:not(.eyebrow) { margin-bottom: 0; }
.destinations-longhaul > .container > h2 { width: min(100%, 37.5rem); }
.destinations-longhaul__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); align-items: stretch; }
.destinations-alaska { display: grid; grid-column: span 7; grid-template-columns: minmax(0, 4fr) minmax(0, 3fr); overflow: hidden; border-radius: var(--radius-lg); background: var(--color-ivory-100); }
.destinations-alaska img { width: 100%; height: 100%; min-height: 25rem; object-fit: cover; }
.destinations-alaska__copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; padding: var(--space-5); }
.destinations-alaska__copy p {
  }
.destinations-alaska__copy > :last-child { margin-bottom: 0; }
.destinations-longhaul__cards { display: grid; grid-column: span 5; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
.destinations-longhaul__cards > * { min-width: 0; }
.destinations-style__intro { width: min(100%, 37.5rem); }
.destinations-style__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.destinations-style__card { min-width: 0; padding: var(--space-5); border-left: 3px solid var(--color-turquoise-500); background: var(--color-white); }
.destinations-style__card > span { display: block; margin-bottom: var(--space-3); color: var(--color-turquoise-500); font-size: var(--text-xl); line-height: 1; }
.destinations-style__card:nth-child(3) { border-left-color: var(--color-coral-500); }
.destinations-style__card:nth-child(3) > span { color: var(--color-coral-500); }
.destinations-style__card h3 { font-size: var(--text-xl); }
.destinations-style__card p {
  margin-bottom: 0; }
.destinations-confirmation__panel { padding: clamp(var(--space-6), 6vw, var(--space-9)); border-radius: var(--radius-lg); background: var(--color-ocean-950); color: var(--color-ivory-50); }
.destinations-confirmation__content { width: min(100%, 45rem); }
.destinations-confirmation__content h2 { color: var(--color-white); }
.destinations-confirmation__content .status-label { color: var(--color-ocean-950); background: var(--color-ivory-100); }
.destinations-confirmation__checklist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3) var(--space-6); margin-top: var(--space-5); padding-left: 1.25rem; }
.destinations-confirmation__checklist li { min-width: 0; }
.destinations-confirmation__checklist li::marker { color: var(--color-turquoise-500); }
.destinations-confirmation__disclaimer { margin-bottom: 0; padding-top: var(--space-4); border-top: 1px solid color-mix(in srgb, var(--color-ivory-50) 30%, transparent); color: var(--color-ivory-100); font-size: var(--text-sm); line-height: var(--leading-compact); }
.destinations-next__intro { width: min(100%, 35rem); }
.destinations-next__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(100%, 50rem); gap: var(--space-5); margin-top: var(--space-7); }
.destinations-next__card { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-white); }
.destinations-next__card::before { width: 3rem; height: 3px; margin-bottom: var(--space-4); background: var(--color-turquoise-500); content: ""; }
.destinations-next__card > :last-child { margin-bottom: 0; }
@media (max-width: 63.99rem) { .destinations-nz__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .destinations-nz__grid > .destinations-hub-card { grid-column: span 1; } .destinations-fiordland { grid-column: span 3; } }
@media (max-width: 56.24rem) { .destinations-hero__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); } .destinations-hero__copy, .destinations-hero__media { grid-column: 1; max-width: none; } .destinations-hero__deck { max-width: 35rem; } .destinations-compare__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .destinations-compare__grid > :last-child { grid-column: span 2; } .destinations-compare__card p:not(.status-label) { max-width: none; } .destinations-australia__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .destinations-australia__grid > .destinations-hub-card, .destinations-australia__grid > .destinations-tasmania { grid-column: span 1; } .destinations-australia__grid > .destinations-tasmania { grid-column: span 2; } .destinations-pacific__top { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); } .destinations-pacific__intro, .destinations-pacific__media { grid-column: 1; max-width: none; } .destinations-pacific__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .destinations-asia__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .destinations-asia__grid > .destinations-hub-card { grid-column: span 1; } .destinations-asia__feature, .destinations-asia__note { grid-column: span 2; } .destinations-longhaul__grid { grid-template-columns: minmax(0, 1fr); } .destinations-alaska, .destinations-longhaul__cards { grid-column: 1; } .destinations-longhaul__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } .destinations-longhaul__cards .destinations-hub-card p:not(.destinations-meta) { max-width: none; } .destinations-style__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .destinations-style__card p {
  } }
@media (max-width: 47.99rem) { .destinations-hero { padding-top: var(--space-6); } .destinations-hero__actions { flex-direction: column; align-items: stretch; } .destinations-hero__actions .button { width: 100%; } .destinations-hero__media img { aspect-ratio: 4 / 3; } .destinations-route-legend { position: static; max-width: none; margin-top: var(--space-2); padding: 0; background: transparent; } .destinations-hero__media::before { width: 2.75rem; height: 0; right: auto; bottom: 1.8rem; left: 0; border-top-width: 3px; border-radius: 0; transform: none; } .destinations-compare__grid, .destinations-nz__grid, .destinations-australia__grid, .destinations-pacific__grid, .destinations-asia__grid, .destinations-style__grid, .destinations-next__grid { grid-template-columns: minmax(0, 1fr); } .destinations-compare__grid > :last-child, .destinations-nz__grid > .destinations-hub-card, .destinations-fiordland, .destinations-australia__grid > .destinations-hub-card, .destinations-australia__grid > .destinations-tasmania, .destinations-asia__grid > .destinations-hub-card, .destinations-asia__feature, .destinations-asia__note { grid-column: 1; } .destinations-nz__grid { gap: var(--space-4); padding-left: var(--space-4); } .destinations-nz__grid::before { top: 0; bottom: 0; left: .4rem; width: 0; border-top: 0; border-left: 1px dashed color-mix(in srgb, var(--color-turquoise-500) 55%, transparent); } .destinations-hub-card p:not(.destinations-meta), .destinations-fiordland__content p:not(.destinations-meta) { max-width: none; } .destinations-fiordland { grid-template-columns: minmax(0, 1fr); } .destinations-fiordland img { min-height: 14rem; aspect-ratio: 3 / 2; } .destinations-pacific__media img { aspect-ratio: 4 / 3; } .destinations-confirm { width: 100%; } .destinations-asia__lead { padding: var(--space-4); } .destinations-asia__feature { padding: var(--space-5); } .destinations-longhaul__cards { grid-template-columns: minmax(0, 1fr); } .destinations-alaska { grid-template-columns: minmax(0, 1fr); } .destinations-alaska img { min-height: 15rem; aspect-ratio: 4 / 3; } .destinations-confirmation__panel { padding: var(--space-5); } .destinations-confirmation__checklist { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); } }


.dining-page { overflow: hidden; }
.dining-page .eyebrow { color: var(--color-ocean-800); }
.dining-page .text-link { text-decoration: underline; text-underline-offset: .16em; }
.dining-page :is(.dining-hero__grid,.dining-bars__top,.dining-dietary__grid) > * { min-width: 0; }
.dining-hero { position: relative; padding-block: var(--space-8) var(--space-10); background: var(--color-ivory-50); }
.dining-hero::before { position: absolute; width: 34rem; height: 11rem; top: 5.5rem; left: -8rem; border-top: 2px solid color-mix(in srgb, var(--color-ocean-800) 18%, transparent); border-radius: 50%; content: ""; pointer-events: none; }
.dining-hero__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 1fr) minmax(0, 5fr); align-items: center; gap: var(--space-5); }
.dining-hero__copy { grid-column: 1 / span 1; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-width: 0; }
.dining-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); color: var(--color-text-muted); font-size: var(--text-sm); line-height: 1.43; }
.dining-hero__copy .eyebrow, .dining-hero__copy h1, .dining-hero__copy p { margin: 0; }
.dining-hero__lead { max-width: 36.875rem; font-size: var(--text-lg); line-height: 1.56; }
.dining-guidance { display: flex; flex-direction: column; gap: var(--space-3); width: min(100%, 35rem); padding: var(--space-4); border: 1px solid color-mix(in srgb, var(--color-turquoise-500) 45%, var(--color-border)); border-radius: var(--radius-md); background: var(--color-white); }
.dining-guidance p { margin: 0; font-size: var(--text-sm); line-height: var(--leading-compact); }
.dining-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-5); }
.dining-hero__media { grid-column: 3 / span 1; width: 100%; margin: 0; }
.dining-hero__media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: right bottom; border: 1px solid var(--color-border); border-radius: var(--radius-lg); }
.dining-hero__media figcaption { max-width: 32rem; }
.dining-landscape { background: var(--color-ivory-100); }
.dining-landscape__intro { width: min(100%, 40.625rem); }
.dining-waypoints { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5) var(--space-4); margin: var(--space-7) 0 0; padding: var(--space-6); list-style: none; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-ivory-50); }
.dining-waypoints > li { min-width: 0; }
.dining-waypoints a { display: flex; align-items: flex-start; gap: var(--space-3); min-width: 0; height: 100%; color: var(--color-text); text-decoration: none; }
.dining-waypoints a:hover strong, .dining-waypoints a:focus-visible strong { text-decoration: underline; text-underline-offset: .16em; }
.dining-waypoints a > span:last-child { display: flex; flex-direction: column; gap: var(--space-1); min-width: 0; }
.dining-waypoints small { color: var(--color-text-muted); font-size: var(--text-sm); line-height: 1.43; }
.dining-waypoints__icon { display: inline-flex; flex: 0 0 2.25rem; width: 2.25rem; min-height: 2.25rem; align-items: center; justify-content: center; border-radius: 50%; color: var(--color-ocean-950); font-size: var(--text-xs); font-weight: var(--weight-semibold); }
.dining-waypoints__icon--practical { background: color-mix(in srgb, var(--color-turquoise-500) 30%, var(--color-white)); }
.dining-waypoints__icon--coral { background: color-mix(in srgb, var(--color-coral-500) 29%, var(--color-white)); }
.dining-waypoints__icon--gold { background: color-mix(in srgb, var(--color-gold-500) 29%, var(--color-white)); }
.dining-sitdown__intro { width: min(100%, 41.25rem); }
.dining-sitdown__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.dining-venue-card { display: flex; flex-direction: column; min-width: 0; padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-white); }
.dining-venue-card > :last-child { margin-bottom: 0; }
.dining-venue-card .status-label { align-self: flex-start; }
.dining-marker { display: inline-flex; width: 1.7rem; min-height: 1.7rem; align-items: center; justify-content: center; margin-bottom: var(--space-3); color: var(--color-ocean-950); border-radius: 50%; background: color-mix(in srgb, var(--color-turquoise-500) 29%, var(--color-white)); font-size: var(--text-sm); font-weight: var(--weight-semibold); }
.dining-marker--coral { background: color-mix(in srgb, var(--color-coral-500) 28%, var(--color-white)); }
.dining-marker--gold { background: color-mix(in srgb, var(--color-gold-500) 30%, var(--color-white)); }
.dining-question { margin-top: auto; padding-top: var(--space-3); border-top: 1px solid var(--color-border); color: var(--color-text-muted); font-size: var(--text-sm); line-height: 1.43; }
.dining-venue-card--speciality { border-top: 3px solid var(--color-gold-500); background: var(--color-ivory-100); }
.dining-flexible__intro { width: min(100%, 38.75rem); }
.dining-flexible__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.dining-flex-card { display: flex; flex-direction: column; min-width: 0; padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-white); }
.dining-flex-card > :last-child { margin-bottom: 0; }
.dining-flex-card--muted { background: var(--color-ivory-50); }
.dining-poolside-media { width: min(100%, 34rem); margin: var(--space-6) 0 0 auto; }
.dining-poolside-media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: center; border: 1px solid var(--color-border); border-radius: var(--radius-md); }
.dining-bars__top { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; gap: var(--space-7); }
.dining-bars__copy { width: min(100%, 35.625rem); }
.dining-bars__media { width: 100%; margin: 0; }
.dining-bars__media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; object-position: center; border: 1px solid var(--color-border); border-radius: var(--radius-lg); }
.dining-package-panel { display: flex; flex-direction: column; gap: var(--space-3); width: min(100%, 50rem); margin: var(--space-7) auto 0; padding: var(--space-6); border-radius: var(--radius-lg); background: var(--color-ivory-100); }
.dining-package-panel > * { margin: 0; }
.dining-package-panel__check { display: flex; align-items: flex-start; gap: var(--space-3); margin: 0; padding-top: var(--space-3); border-top: 1px solid var(--color-border); font-size: var(--text-sm); }
.dining-package-panel__check input { flex: 0 0 1.125rem; margin-top: .2rem; }
.dining-confirm-band { margin-top: var(--space-8); padding-block: var(--space-5); background: var(--color-ocean-950); color: var(--color-ivory-50); }
.dining-confirm-band__content { display: flex; align-items: flex-start; gap: var(--space-3); width: min(100%, 43.75rem); }
.dining-confirm-band__content > span { display: inline-flex; flex: 0 0 1.75rem; width: 1.75rem; min-height: 1.75rem; align-items: center; justify-content: center; border: 1px solid var(--color-turquoise-500); border-radius: 50%; color: var(--color-turquoise-500); }
.dining-confirm-band p { margin: 0; }
.dining-operational__intro { width: min(100%, 40rem); }
.dining-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.dining-steps > article { position: relative; min-width: 0; padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-white); }
.dining-steps > article:nth-child(2) { margin-top: var(--space-4); }
.dining-steps > article:nth-child(3) { margin-top: var(--space-6); }
.dining-steps > article > :last-child { margin-bottom: 0; }
.dining-step__number { display: inline-flex; width: 2.25rem; min-height: 2.25rem; align-items: center; justify-content: center; margin-bottom: var(--space-3); border-radius: 50%; background: var(--color-ocean-800); color: var(--color-white); font-weight: var(--weight-semibold); }
.dining-dietary__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: start; gap: var(--space-7); }
.dining-dietary__content { width: min(100%, 38.75rem); }
.dining-dietary__lead { max-width: 38.75rem; }
.dining-dietary__checklist { display: flex; flex-direction: column; gap: var(--space-3); width: min(100%, 27.5rem); margin-top: var(--space-5); padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-white); }
.dining-dietary__checklist > * { margin: 0; }
.dining-dietary__checklist ul { padding-inline-start: 1.25rem; }
.dining-boundary { max-width: 38.75rem; color: var(--color-text-muted); font-size: var(--text-sm); line-height: var(--leading-compact); }
.dining-dietary__media { width: 100%; margin: 0; }
.dining-dietary__media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; object-position: center; border: 1px solid var(--color-border); border-radius: var(--radius-lg); }
.dining-inclusions__intro { width: min(100%, 43.125rem); }
.dining-lanes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin-top: var(--space-7); border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; }
.dining-lane { display: flex; flex-direction: column; min-width: 0; padding: var(--space-6); background: var(--color-white); }
.dining-lane--extra { border-left: 1px solid var(--color-border); background: var(--color-ivory-100); }
.dining-lane > :last-child { margin-bottom: 0; }
.dining-verified-specimen { width: min(100%, 30rem); margin-top: var(--space-6); }
.dining-verified-specimen dl { display: grid; grid-template-columns: 1fr; gap: var(--space-2); margin: var(--space-4) 0 0; }
.dining-verified-specimen dl > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: var(--space-3); padding-top: var(--space-2); border-top: 1px solid var(--color-border); }
.dining-verified-specimen dt { color: var(--color-ocean-800); font-weight: var(--weight-semibold); }
.dining-verified-specimen dd { margin: 0; color: var(--color-text-muted); }
.dining-checklist-section { position: relative; }
.dining-checklist-section .eyebrow { color: var(--color-turquoise-500); }
.dining-checklist-section__intro { width: min(100%, 40.625rem); }
.dining-checklist-section__intro h2 { color: var(--color-white); }
.dining-checklist-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.dining-checklist-cards > article { display: flex; flex-direction: column; min-width: 0; padding: var(--space-5); border-radius: var(--radius-md); background: var(--color-ivory-50); color: var(--color-text); }
.dining-checklist-cards h3 { color: var(--color-ocean-800); }
.dining-checklist-cards ul { margin-bottom: 0; }
.dining-checklist-section__bottom { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-5); margin-top: var(--space-6); }
.dining-independent-note { width: min(100%, 43.75rem); padding: var(--space-5); border: 1px solid color-mix(in srgb, var(--color-ivory-50) 45%, transparent); border-radius: var(--radius-md); background: var(--color-white); color: var(--color-text); }
.dining-independent-note > :last-child { margin-bottom: 0; }
.dining-print { flex: 0 0 auto; border-color: var(--color-ivory-50); background: transparent; color: var(--color-ivory-50); }
.dining-print:hover { border-color: var(--color-turquoise-500); background: transparent; color: var(--color-white); }
.dining-next__intro { width: min(100%, 37.5rem); }
.dining-next__links { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) minmax(0, 4fr); gap: var(--space-5); width: min(100%, 50rem); margin-top: var(--space-6); }
.dining-next__links > article:first-child { grid-column: 1 / span 2; }
.dining-next__links > article:last-child { grid-column: 3 / span 1; }
.dining-next__links .card { display: flex; flex-direction: column; min-width: 0; }
.dining-next__links .card > :last-child { margin-bottom: 0; }
.dining-final-note { display: flex; align-items: flex-start; gap: var(--space-3); width: min(100%, 45rem); margin-top: var(--space-6); padding: var(--space-4); border-radius: var(--radius-md); background: var(--color-ivory-100); color: var(--color-text-muted); font-size: var(--text-sm); line-height: var(--leading-compact); }
.dining-final-note span { color: var(--color-ocean-800); font-weight: var(--weight-semibold); }
.dining-final-note p { margin: 0; }
@media (max-width: 63.75rem) { .dining-hero__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(0, 5fr); } .dining-bars__top, .dining-dietary__grid { grid-template-columns: 1fr; gap: var(--space-5); } .dining-bars__copy, .dining-dietary__content { width: 100%; max-width: 38.75rem; } .dining-bars__media { width: 100%; max-width: 44rem; } .dining-dietary__media { width: 100%; max-width: 44rem; } }
@media (max-width: 58.75rem) { .dining-hero__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); } .dining-hero__copy, .dining-hero__media { grid-column: 1; } .dining-hero__media { max-width: 48rem; } .dining-sitdown__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dining-sitdown__cards > article:last-child { grid-column: 1 / span 2; } .dining-steps > article:nth-child(2), .dining-steps > article:nth-child(3) { margin-top: 0; } .dining-checklist-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dining-checklist-cards > article:last-child { grid-column: 1 / span 2; } }
@media (max-width: 56.25rem) { .dining-waypoints { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 53.75rem) { .dining-lanes { grid-template-columns: 1fr; } .dining-lane--extra { border-top: 1px solid var(--color-border); border-left: 0; } .dining-next__links { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; } .dining-next__links > article:first-child, .dining-next__links > article:last-child { grid-column: auto; } }
@media (max-width: 45rem) { .dining-hero { padding-block: var(--space-6) var(--space-8); } .dining-hero::before { width: 5rem; height: 0; top: 2rem; left: var(--gutter); border-top-color: var(--color-turquoise-500); } .dining-hero__copy { padding-top: var(--space-4); } .dining-sitdown__cards, .dining-flexible__grid, .dining-steps, .dining-checklist-cards, .dining-next__links { grid-template-columns: 1fr; } .dining-sitdown__cards > article:last-child, .dining-checklist-cards > article:last-child { grid-column: auto; } .dining-waypoints { padding: var(--space-4); } .dining-package-panel { margin-top: var(--space-6); padding: var(--space-5); } .dining-checklist-section__bottom { flex-direction: column; align-items: stretch; } .dining-independent-note { width: 100%; } .dining-print { width: 100%; } }
@media (max-width: 40rem) { .dining-waypoints { grid-template-columns: 1fr; gap: var(--space-4); } .dining-waypoints > li:nth-child(5) { padding-top: var(--space-4); border-top: 1px solid var(--color-border); } .dining-lane { padding: var(--space-5); } .dining-venue-card, .dining-flex-card, .dining-steps > article { padding: var(--space-4); } .dining-verified-specimen { width: 100%; } }
@media print { .dining-page > section:not(.dining-checklist-section) { display: none; } .dining-checklist-section { background: var(--color-white) !important; color: var(--color-text) !important; } .dining-checklist-section h2 { color: var(--color-ocean-800) !important; } .dining-checklist-section .eyebrow { color: var(--color-ocean-800) !important; } .dining-print { display: none; } }


.home-page {
  background: var(--color-page);
}

.home-page .section {
  position: relative;
}

.home-page .eyebrow {
  margin-block-end: var(--space-3);
}

.home-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  inline-size: 1.1em;
  color: var(--color-turquoise-500);
}

.home-hero {
  padding-block: var(--space-6) var(--space-10);
}

.home-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr);
  align-items: center;
  gap: var(--space-6);
}

.home-hero__copy {
  grid-column: 1 / 2;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-inline-size: 37.5rem;
}

.home-hero__copy > * {
  min-width: 0;
  margin: 0;
}

.home-breadcrumb {
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
}

.home-hero__eyebrow {
  color: var(--color-ocean-800);
}

.home-hero h1 {
  font-size: clamp(3rem, 4.7vw, 3.75rem);
}

.home-hero__lead {
  color: var(--color-charcoal-900);
  font-size: var(--text-lg);
  line-height: 1.56;
}

.home-hero__support {
  color: var(--color-text-muted);
}

.home-hero__actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
}

.home-hero__actions > * {
  min-width: 0;
}

.home-hero__destination-link {
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
}

.home-hero__independence {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
}

.home-hero__independence span {
  color: var(--color-turquoise-500);
}

.home-hero__media {
  position: relative;
  grid-column: 3 / 4;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: var(--color-ivory-100);
}

.home-hero__media img {
  inline-size: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.home-hero__media figcaption {
  position: absolute;
  inset-inline: var(--space-4);
  inset-block-end: var(--space-3);
  max-inline-size: 23rem;
  margin: 0;
  color: var(--color-white);
  font-size: var(--text-xs);
  text-shadow: 0 1px 3px rgba(9, 47, 70, 0.75);
}

.home-hero__route {
  position: absolute;
  inset-inline-end: 9%;
  inset-block-start: 13%;
  inline-size: 48%;
  block-size: 50%;
  border-block-start: 2px solid var(--color-turquoise-500);
  border-inline-end: 2px solid var(--color-turquoise-500);
  border-radius: 0 100% 0 0;
  opacity: 0.85;
  transform: rotate(-13deg);
}

.home-categories {
  background: var(--color-white);
}

.home-categories__intro,
.home-standards__intro,
.home-lenses__intro,
.home-onboard__intro,
.home-itinerary__intro,
.home-checklist__intro,
.home-nz__intro {
  max-inline-size: 40.625rem;
}

.home-categories__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-7);
}

.home-categories__grid > * {
  min-width: 0;
}

.home-category-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.home-category-card > * {
  min-width: 0;
  margin: 0;
}

.home-category-card:hover {
  border-color: var(--color-turquoise-500);
}

.home-category-card h3 {
  margin-block-start: var(--space-2);
}

.home-category-card__marker {
  display: flex;
  inline-size: 2rem;
  block-size: 2rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-turquoise-500) 17%, var(--color-white));
  color: var(--color-ocean-800);
  font-weight: var(--weight-semibold);
}

.home-category-card--cabins .home-category-card__marker {
  background: color-mix(in srgb, var(--color-gold-500) 22%, var(--color-white));
  color: var(--color-ocean-950);
}

.home-category-card--destinations .home-category-card__marker {
  position: absolute;
  inset-inline-start: var(--space-5);
  inset-block-start: var(--space-5);
  background: color-mix(in srgb, var(--color-coral-500) 24%, var(--color-white));
  color: var(--color-coral-500);
}

.home-category-card--destinations img {
  inline-size: calc(100% + var(--space-10));
  max-inline-size: none;
  block-size: 8rem;
  margin: calc(var(--space-5) * -1) calc(var(--space-5) * -1) 0;
  object-fit: cover;
}

.home-category-card__descriptor {
  color: var(--color-ocean-800);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-compact);
}

.home-category-card p:not(.home-category-card__descriptor) {
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  line-height: var(--leading-body);
}

.home-card-link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  margin-block-start: auto;
}

.home-standards__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-7);
}

.home-standards__cards > * {
  min-width: 0;
}

.home-standard-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
}

.home-standard-card > * {
  min-width: 0;
  margin: 0;
}

.home-standard-card p:not(.status-label) {
  color: var(--color-text-muted);
}

.home-standards__notice {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  margin-block-start: var(--space-5);
}

.home-lenses__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-7);
}

.home-lenses__grid::before {
  position: absolute;
  z-index: 0;
  inset-inline: 14%;
  inset-block-start: 50%;
  block-size: 1px;
  background: color-mix(in srgb, var(--color-turquoise-500) 40%, transparent);
  content: "";
}

.home-lenses__grid > * {
  z-index: 1;
  min-width: 0;
}

.home-lens-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.home-lens-card > * {
  min-width: 0;
  margin: 0;
}

.home-lens-card p:not(.status-label) {
  color: var(--color-text-muted);
}

.home-step {
  display: inline-flex;
  inline-size: 2.5rem;
  block-size: 2.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--color-ocean-800);
  color: var(--color-white);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.08em;
}

.home-lens-card--gold .home-step,
.home-prompt--gold .home-step {
  background: var(--color-gold-500);
}

.home-lens-card--coral .home-step {
  background: var(--color-coral-500);
}

.home-nz {
  background: var(--color-white);
}

.home-nz__grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  align-items: start;
  gap: var(--space-6);
  margin-block-start: var(--space-7);
}

.home-nz__grid > * {
  min-width: 0;
}

.home-nz__main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-5);
  min-width: 0;
}

.home-nz__main > * {
  min-width: 0;
}

.home-nz__media {
  margin: 0;
}

.home-nz__media img {
  inline-size: 100%;
  aspect-ratio: 3 / 2;
  border-radius: var(--radius-md);
  object-fit: cover;
}

.home-nz__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  max-inline-size: 35rem;
}

.home-nz__copy > * {
  min-width: 0;
  margin: 0;
}

.home-nz__rail {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
}

.home-nz__rail > * {
  min-width: 0;
}

.home-rail-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.home-rail-card > * {
  min-width: 0;
  margin: 0;
}

.home-rail-card p {
  color: var(--color-text-muted);
  font-size: var(--text-sm);
}

.home-rail-card__icon {
  color: var(--color-turquoise-500);
}

.home-rail-card__icon--coral {
  color: var(--color-coral-500);
}

.home-onboard__feature {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-white);
}

.home-onboard__feature > * {
  min-width: 0;
}

.home-onboard__media {
  margin: 0;
}

.home-onboard__media img {
  inline-size: 100%;
  block-size: 100%;
  min-block-size: 21rem;
  object-fit: cover;
}

.home-onboard__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: clamp(var(--space-5), 4vw, var(--space-7));
  max-inline-size: 39rem;
}

.home-onboard__copy > * {
  min-width: 0;
  margin: 0;
}

.home-onboard__links {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-4);
}

.home-onboard__links > * {
  min-width: 0;
}

.home-onboard__prompts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-5);
}

.home-onboard__prompts > * {
  min-width: 0;
}

.home-prompt {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border-block-start: 2px solid var(--color-turquoise-500);
  background: var(--color-ivory-100);
}

.home-prompt > * {
  min-width: 0;
  margin: 0;
}

.home-prompt--gold {
  border-color: var(--color-gold-500);
}

.home-prompt p {
  color: var(--color-text-muted);
}

.home-itinerary__intro {
  max-inline-size: 40.625rem;
}

.home-route-scroll {
  position: relative;
  margin-block-start: var(--space-7);
}

.home-route-ribbon {
  display: grid;
  grid-template-columns: minmax(9rem, 1fr) minmax(4rem, 1fr) minmax(9rem, 1fr) minmax(4rem, 1fr) minmax(9rem, 1fr);
  min-inline-size: 42rem;
  align-items: center;
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-white);
}

.home-route-ribbon > * {
  min-width: 0;
}

.home-route-ribbon__step {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: var(--space-1);
  text-align: center;
}

.home-route-ribbon__step span {
  display: inline-flex;
  inline-size: 2.5rem;
  block-size: 2.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--color-ocean-800);
  color: var(--color-white);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
}

.home-route-ribbon__step--port span {
  background: var(--color-coral-500);
}

.home-route-ribbon__step small {
  color: var(--color-text-muted);
  font-size: var(--text-sm);
}

.home-route-ribbon__line {
  block-size: 2px;
  background: var(--color-turquoise-500);
  opacity: 0.75;
}

.home-route-scroll__cue {
  display: none;
  color: var(--color-text-muted);
  font-size: var(--text-sm);
}

.home-itinerary__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-5);
}

.home-itinerary__cards > * {
  min-width: 0;
}

.home-itinerary-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.home-itinerary-card > * {
  min-width: 0;
  margin: 0;
}

.home-itinerary-card p:not(.status-label) {
  color: var(--color-text-muted);
}

.home-itinerary-card--port {
  border-block-start: 4px solid var(--color-coral-500);
}

.home-checklist__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-7);
}

.home-checklist__grid > * {
  min-width: 0;
}

.home-check-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background-color: var(--color-ivory-100);
  background-image: linear-gradient(to right, rgba(20, 81, 107, 0.06) 1px, transparent 1px), linear-gradient(to bottom, rgba(20, 81, 107, 0.06) 1px, transparent 1px);
  background-size: 1.5rem 1.5rem;
}

.home-check-card > * {
  min-width: 0;
  margin: 0;
}

.home-check-card p:not(.status-label) {
  color: var(--color-text-muted);
}

.home-check-card__icon {
  color: var(--color-turquoise-500);
  font-size: var(--text-xl);
}

.home-check-card--port .home-check-card__icon {
  color: var(--color-coral-500);
}

.home-check-card--verified {
  border-inline-start: 4px solid var(--color-ocean-800);
}

.home-closing {
  overflow: hidden;
}

.home-closing__grid {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
  min-height: 24rem;
}

.home-closing__grid > * {
  min-width: 0;
}

.home-closing__content {
  z-index: 1;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-inline-size: 35rem;
}

.home-closing__content > * {
  min-width: 0;
  margin: 0;
}

.home-closing__eyebrow {
  color: var(--color-turquoise-500);
}

.home-closing__content p {
  color: var(--color-ivory-50);
}

.home-closing__button {
  border-color: var(--color-ivory-50);
  background: var(--color-ivory-50);
  color: var(--color-ocean-800);
}

.home-closing__button:hover {
  background: var(--color-turquoise-500);
  color: var(--color-ocean-950);
}

.home-closing__links {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-4);
}

.home-closing__links > * {
  min-width: 0;
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  color: var(--color-turquoise-500);
}

.home-closing__note {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  padding-block-start: var(--space-4);
  border-block-start: 1px solid color-mix(in srgb, var(--color-turquoise-500) 42%, transparent);
  color: var(--color-ivory-50);
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
}

.home-closing__note span {
  color: var(--color-turquoise-500);
}

.home-closing__art {
  position: relative;
  min-block-size: 18rem;
}

.home-closing__art span {
  position: absolute;
  inset-inline-end: -4%;
  inset-block-start: 18%;
  inline-size: 78%;
  block-size: 66%;
  border-block-start: 2px solid var(--color-turquoise-500);
  border-inline-end: 2px solid var(--color-turquoise-500);
  border-radius: 0 100% 0 0;
  opacity: 0.8;
  transform: rotate(-16deg);
}

.home-closing__art span::after {
  position: absolute;
  inset-inline-end: -0.45rem;
  inset-block-start: -0.5rem;
  inline-size: 0.75rem;
  block-size: 0.75rem;
  border-radius: 50%;
  background: var(--color-coral-500);
  content: "";
}

.home-endnote {
  padding-block-start: var(--space-10);
  padding-block-end: var(--space-11);
}

.home-endnote__notice {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  max-inline-size: 42.5rem;
  margin-inline: auto;
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.home-endnote__notice > * {
  min-width: 0;
  margin: 0;
}

.home-endnote__notice h2 {
  font-size: var(--text-xl);
}

.home-endnote__confirmation {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding-inline-start: var(--space-4);
  border-inline-start: 4px solid var(--color-ocean-800);
}

.home-endnote__confirmation > * {
  min-width: 0;
  margin: 0;
}

@media (max-width: 65.625rem) {
  .home-categories__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 61.25rem) {
  .home-hero__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .home-hero__copy {
    grid-column: 1 / -1;
    max-inline-size: 37.5rem;
  }

  .home-hero__media {
    grid-column: 1 / -1;
  }

  .home-nz__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-nz__rail {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-onboard__feature {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-onboard__media img {
    min-block-size: 0;
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 55rem) {
  .home-lenses__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-lenses__grid::before {
    inset-inline-start: 1.25rem;
    inset-inline-end: auto;
    inset-block: 8% 8%;
    inline-size: 1px;
    block-size: auto;
  }

  .home-checklist__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-closing__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .home-closing__content {
    grid-column: 1 / 9;
    max-inline-size: 35rem;
  }

  .home-closing__art {
    display: none;
  }
}

@media (max-width: 50rem) {
  .home-standards__cards,
  .home-nz__main {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-itinerary__cards {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 48.75rem) {
  .home-route-scroll {
    overflow-x: auto;
    padding-block-end: var(--space-2);
    -webkit-overflow-scrolling: touch;
  }

  .home-route-scroll::after {
    position: sticky;
    inset-inline-end: 0;
    display: block;
    inline-size: 3rem;
    block-size: 100%;
    margin-inline-start: auto;
    background: linear-gradient(90deg, transparent, var(--color-ivory-100));
    content: "";
    pointer-events: none;
  }

  .home-route-scroll__cue {
    display: block;
    margin-block-start: var(--space-2);
  }
}

@media (max-width: 45rem) {
  .home-onboard__prompts {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 42.5rem) {
  .home-categories__grid,
  .home-nz__rail {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 40rem) {
  .home-hero {
    padding-block: var(--space-5) var(--space-8);
  }

  .home-hero__grid {
    gap: var(--space-5);
  }

  .home-hero h1 {
    font-size: clamp(2.625rem, 11vw, 3rem);
    line-height: 1.1;
  }

  .home-hero__lead {
    font-size: var(--text-lg);
    line-height: 1.56;
  }

  .home-hero__media figcaption,
  .home-hero__route {
    display: none;
  }

  .home-hero__actions {
    inline-size: 100%;
  }

  .home-hero__actions .button,
  .home-hero__destination-link {
    inline-size: 100%;
  }

  .home-hero__destination-link {
    justify-content: center;
  }

  .home-categories__grid,
  .home-standards__cards,
  .home-lenses__grid,
  .home-nz__grid,
  .home-onboard__prompts,
  .home-itinerary__cards,
  .home-checklist__grid {
    gap: var(--space-4);
  }

  .home-category-card--destinations img {
    block-size: 9rem;
  }

  .home-closing__links {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-2);
    inline-size: 100%;
  }

  .home-closing__links a {
    inline-size: 100%;
  }

  .home-closing__button {
    inline-size: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-category-card {
    transition: none;
  }
}


.cruise-ships-page {
  overflow: clip;
}

.cruise-ships-page .cs-hero {
  padding-block: var(--space-8) var(--space-10);
  background: var(--color-ivory-50);
}

.cruise-ships-page .cs-hero__grid,
.cruise-ships-page .cs-browser__top,
.cruise-ships-page .cs-directory__top,
.cruise-ships-page .cs-nz__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.cruise-ships-page .cs-hero__copy {
  grid-column: 1 / span 5;
  min-width: 0;
  align-self: center;
  max-width: 36.875rem;
}

.cruise-ships-page .cs-hero__deck {
  max-width: 36.25rem;
  color: var(--color-charcoal-900);
  font-size: var(--text-lg);
  line-height: 1.56;
}

.cruise-ships-page .cs-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  min-width: 0;
}

.cruise-ships-page .cs-hero__actions > * {
  min-width: 0;
  width: auto;
}

.cruise-ships-page .cs-hero__media {
  grid-column: 7 / span 6;
  min-width: 0;
  margin: 0;
}

.cruise-ships-page .cs-hero__media img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: right center;
  border-radius: var(--radius-lg);
}

.cruise-ships-page .cs-framework__intro,
.cruise-ships-page .cs-size__intro,
.cruise-ships-page .cs-spaces__intro,
.cruise-ships-page .cs-related__intro {
  max-width: 39.375rem;
}

.cruise-ships-page .cs-framework__cards {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  margin-top: var(--space-7);
}

.cruise-ships-page .cs-guide-card {
  display: flex;
  grid-column: span 3;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
  margin: 0;
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.cruise-ships-page .cs-guide-card > * {
  min-width: 0;
  margin: 0;
}

.cruise-ships-page .cs-guide-card--sea {
  border-inline-start: 4px solid var(--color-turquoise-500);
}

.cruise-ships-page .cs-guide-card--cabin {
  border-block-start: 3px solid var(--color-gold-500);
  background: var(--color-ivory-100);
}

.cruise-ships-page .cs-guide-card--itinerary {
  grid-column: span 6;
  border-inline-start: 4px solid var(--color-coral-500);
}

.cruise-ships-page .cs-browser {
  position: relative;
}

.cruise-ships-page .cs-browser__intro {
  grid-column: 1 / span 7;
  min-width: 0;
  max-width: 40.625rem;
}

.cruise-ships-page .cs-browser__rail {
  grid-column: 8 / span 5;
  min-width: 0;
  align-self: start;
  padding: var(--space-5);
  border-radius: var(--radius-lg);
  background: var(--color-ivory-100);
}

.cruise-ships-page .cs-browser__rail > :last-child {
  margin-bottom: 0;
}

.cruise-ships-page .cs-filter-panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  min-width: 0;
  margin-top: var(--space-7);
  padding: clamp(var(--space-5), 4vw, var(--space-7));
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-white);
  box-shadow: var(--shadow-float);
}

.cruise-ships-page .cs-filter-panel__heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  min-width: 0;
}

.cruise-ships-page .cs-filter-panel__heading > * {
  min-width: 0;
}

.cruise-ships-page .cs-filter-panel__heading h3,
.cruise-ships-page .cs-filter-panel__heading p {
  margin: 0;
}

.cruise-ships-page .cs-filter-panel__heading p {
  margin-top: var(--space-2);
  color: var(--color-text-muted);
}

.cruise-ships-page .cs-filter-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
  min-width: 0;
}

.cruise-ships-page .cs-filter {
  display: inline-flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-ivory-50);
  color: var(--color-ocean-800);
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
  line-height: 1.25;
  text-align: left;
}

.cruise-ships-page .cs-filter span {
  display: grid;
  width: 1rem;
  height: 1rem;
  flex: 0 0 1rem;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  color: transparent;
  font-size: 0.65rem;
}

.cruise-ships-page .cs-filter[aria-pressed="true"] {
  border-color: var(--color-turquoise-500);
  background: color-mix(in srgb, var(--color-turquoise-500) 16%, var(--color-white));
  color: var(--color-ocean-950);
}

.cruise-ships-page .cs-filter[aria-pressed="true"] span {
  border-color: var(--color-ocean-800);
  background: var(--color-ocean-800);
  color: var(--color-white);
}

.cruise-ships-page .cs-filter:hover {
  border-color: var(--color-turquoise-500);
}

.cruise-ships-page .cs-results-summary {
  margin: 0;
  color: var(--color-charcoal-600);
  font-size: var(--text-sm);
}

.cruise-ships-page .cs-directory__intro {
  grid-column: 1 / span 7;
  min-width: 0;
  max-width: 43.125rem;
}

.cruise-ships-page .cs-directory__legend {
  grid-column: 8 / span 5;
  min-width: 0;
  align-self: start;
}

.cruise-ships-page .cs-directory__legend > :last-child {
  margin-bottom: 0;
}

.cruise-ships-page .cs-profile-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  margin-top: var(--space-7);
}

.cruise-ships-page .cs-profile {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  margin: 0;
}

.cruise-ships-page .cs-profile > * {
  min-width: 0;
  margin: 0;
}

.cruise-ships-page .cs-profile__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
}

.cruise-ships-page .cs-profile__header > * {
  margin: 0;
}

.cruise-ships-page .cs-profile__line {
  color: var(--color-text-muted);
  font-size: var(--text-sm);
}

.cruise-ships-page .cs-fact-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  margin: 0;
}

.cruise-ships-page .cs-fact-list > div {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: var(--space-3);
  min-width: 0;
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--color-border);
}

.cruise-ships-page .cs-fact-list dt,
.cruise-ships-page .cs-fact-list dd {
  min-width: 0;
  margin: 0;
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
}

.cruise-ships-page .cs-fact-list dt {
  color: var(--color-ocean-800);
  font-weight: var(--weight-semibold);
}

.cruise-ships-page .cs-fact-list dd {
  color: var(--color-charcoal-600);
}

.cruise-ships-page .cs-profile__note {
  color: var(--color-charcoal-600);
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
}

.cruise-ships-page .cs-profile__source {
  margin-top: auto;
}

.cruise-ships-page .cs-empty-state {
  max-width: 43.75rem;
  margin-top: var(--space-6);
  padding: var(--space-6);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-ivory-100);
}

.cruise-ships-page .cs-empty-state > :last-child {
  margin-bottom: 0;
}

.cruise-ships-page .cs-size__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  margin-top: var(--space-7);
}

.cruise-ships-page .cs-size-panel {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
  margin: 0;
  padding: var(--space-6);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-white);
}

.cruise-ships-page .cs-size-panel > * {
  min-width: 0;
  margin: 0;
}

.cruise-ships-page .cs-size-panel--large {
  border-block-start: 4px solid var(--color-turquoise-500);
}

.cruise-ships-page .cs-size-panel--small {
  background: var(--color-ivory-50);
}

.cruise-ships-page .cs-size-panel--expedition {
  border-color: var(--color-ocean-950);
  background: var(--color-ocean-950);
  color: var(--color-ivory-50);
}

.cruise-ships-page .cs-size-panel--expedition .status-label {
  color: var(--color-ocean-950);
  background: var(--color-turquoise-500);
}

.cruise-ships-page .cs-size-panel--expedition .text-link {
  color: var(--color-turquoise-500);
}

.cruise-ships-page .cs-spaces__intro {
  max-width: 41.25rem;
}

.cruise-ships-page .cs-stations {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  margin-top: var(--space-7);
}

.cruise-ships-page .cs-station {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
  margin: 0;
}

.cruise-ships-page .cs-station > * {
  min-width: 0;
  margin: 0;
}

.cruise-ships-page .cs-station .text-link {
  margin-top: auto;
}

.cruise-ships-page .cs-station--cabin {
  border-block-start: 3px solid var(--color-gold-500);
}

.cruise-ships-page .cs-station--activity {
  border-inline-start: 4px solid var(--color-coral-500);
}

.cruise-ships-page .cs-nz__heading {
  max-width: 40rem;
}

.cruise-ships-page .cs-nz__feature {
  grid-column: 1 / span 8;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-5);
  min-width: 0;
}

.cruise-ships-page .cs-nz__feature-copy {
  min-width: 0;
  max-width: 35rem;
}

.cruise-ships-page .cs-nz__image {
  min-width: 0;
  margin: 0;
}

.cruise-ships-page .cs-nz__image img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center right;
  border-radius: var(--radius-md);
}

.cruise-ships-page .cs-nz__checklist {
  grid-column: 9 / span 4;
  min-width: 0;
  align-self: stretch;
}

.cruise-ships-page .cs-nz__checklist ul {
  margin-bottom: var(--space-4);
}

.cruise-ships-page .cs-confirmation-strip {
  margin: var(--space-5) auto 0;
  padding: var(--space-5);
  border-radius: var(--radius-lg);
  background: var(--color-ocean-950);
  color: var(--color-ivory-50);
}

.cruise-ships-page .cs-confirmation-strip > * {
  margin: 0;
}

.cruise-ships-page .cs-confirmation-strip p + p {
  margin-top: var(--space-3);
}

.cruise-ships-page .cs-confirmation-strip .status-label {
  color: var(--color-ocean-950);
  background: var(--color-turquoise-500);
}

.cruise-ships-page .cs-steps__intro {
  max-width: 37.5rem;
}

.cruise-ships-page .cs-steps__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  margin-top: var(--space-7);
}

.cruise-ships-page .cs-step {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
  margin: 0;
  padding: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.cruise-ships-page .cs-step > * {
  min-width: 0;
  margin: 0;
}

.cruise-ships-page .cs-step__number {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-turquoise-500) 20%, var(--color-white));
  color: var(--color-ocean-950);
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-weight: var(--weight-semibold);
}

.cruise-ships-page .cs-step--final {
  border-radius: var(--radius-lg);
  border-top: 0;
  background: var(--color-ocean-950);
  color: var(--color-ivory-50);
}

.cruise-ships-page .cs-step--final .cs-step__number {
  background: var(--color-turquoise-500);
}

.cruise-ships-page .cs-step--final .text-link {
  margin-top: auto;
  color: var(--color-turquoise-500);
}

.cruise-ships-page .cs-related__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  margin-top: var(--space-7);
}

.cruise-ships-page .cs-related-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100%;
  gap: var(--space-3);
  color: inherit;
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.cruise-ships-page .cs-related-card > * {
  min-width: 0;
  margin: 0;
}

.cruise-ships-page .cs-related-card span {
  margin-top: auto;
  color: var(--color-ocean-600);
  font-weight: var(--weight-medium);
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.cruise-ships-page .cs-related-card:hover {
  transform: translateY(-2px);
  border-color: var(--color-turquoise-500);
  box-shadow: var(--shadow-float);
}

.cruise-ships-page .cs-related-card--cabin {
  border-block-start: 3px solid var(--color-gold-500);
}

.cruise-ships-page .cs-related-card--itinerary {
  border-inline-start: 4px solid var(--color-coral-500);
}

.cruise-ships-page .cs-endnote {
  padding-top: 0;
}

.cruise-ships-page .cs-endnote__panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  width: min(100%, 50rem);
  min-width: 0;
  margin-inline: auto;
}

.cruise-ships-page .cs-endnote__independence {
  min-width: 0;
  max-width: 47.5rem;
}

.cruise-ships-page .cs-endnote__disclaimer {
  min-width: 0;
  max-width: 40.625rem;
}

.cruise-ships-page .cs-endnote__disclaimer > :last-child,
.cruise-ships-page .cs-endnote__independence > :last-child {
  margin-bottom: 0;
}

.cruise-ships-page :is(.cs-filter, .cs-related-card):focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

@media (max-width: 67.49rem) {
  .cruise-ships-page .cs-hero__grid,
  .cruise-ships-page .cs-browser__top,
  .cruise-ships-page .cs-directory__top,
  .cruise-ships-page .cs-nz__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .cruise-ships-page .cs-hero__copy {
    grid-column: 1 / span 5;
    min-width: 0;
  }

  .cruise-ships-page .cs-hero__media {
    grid-column: 6 / span 3;
  }

  .cruise-ships-page .cs-hero__media img {
    aspect-ratio: 3 / 4;
  }

  .cruise-ships-page .cs-framework__cards {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .cruise-ships-page .cs-guide-card {
    grid-column: span 4;
  }

  .cruise-ships-page .cs-guide-card--cabin,
  .cruise-ships-page .cs-guide-card--itinerary {
    grid-column: 1 / -1;
  }

  .cruise-ships-page .cs-browser__intro,
  .cruise-ships-page .cs-directory__intro {
    grid-column: 1 / span 8;
  }

  .cruise-ships-page .cs-browser__rail,
  .cruise-ships-page .cs-directory__legend {
    grid-column: 1 / span 8;
  }

  .cruise-ships-page .cs-filter-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cruise-ships-page .cs-profile-grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .cruise-ships-page .cs-profile:nth-child(1),
  .cruise-ships-page .cs-profile:nth-child(2) {
    grid-column: span 4;
  }

  .cruise-ships-page .cs-profile:nth-child(3) {
    grid-column: 1 / -1;
  }

  .cruise-ships-page .cs-size__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .cruise-ships-page .cs-size-panel:nth-child(1),
  .cruise-ships-page .cs-size-panel:nth-child(2) {
    grid-column: span 4;
  }

  .cruise-ships-page .cs-size-panel:nth-child(3) {
    grid-column: 1 / -1;
  }

  .cruise-ships-page .cs-stations {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cruise-ships-page .cs-nz__feature {
    grid-column: 1 / -1;
  }

  .cruise-ships-page .cs-nz__checklist {
    grid-column: 1 / -1;
  }

  .cruise-ships-page .cs-steps__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .cruise-ships-page .cs-step:nth-child(1),
  .cruise-ships-page .cs-step:nth-child(2) {
    grid-column: span 4;
  }

  .cruise-ships-page .cs-step:nth-child(3) {
    grid-column: 1 / -1;
  }

  .cruise-ships-page .cs-related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 59.99rem) {
  .cruise-ships-page .cs-hero__grid {
    grid-template-columns: 1fr;
  }

  .cruise-ships-page .cs-hero__copy,
  .cruise-ships-page .cs-hero__media {
    grid-column: 1;
    width: 100%;
  }

  .cruise-ships-page .cs-hero__media img {
    aspect-ratio: 3 / 2;
    object-position: center;
  }
}

@media (max-width: 47.99rem) {
  .cruise-ships-page .cs-hero {
    padding-block: var(--space-6) var(--space-8);
  }

  .cruise-ships-page .cs-hero__grid,
  .cruise-ships-page .cs-browser__top,
  .cruise-ships-page .cs-directory__top,
  .cruise-ships-page .cs-nz__grid,
  .cruise-ships-page .cs-framework__cards,
  .cruise-ships-page .cs-profile-grid,
  .cruise-ships-page .cs-size__grid,
  .cruise-ships-page .cs-stations,
  .cruise-ships-page .cs-steps__grid,
  .cruise-ships-page .cs-related__grid {
    grid-template-columns: 1fr;
  }

  .cruise-ships-page .cs-hero__copy,
  .cruise-ships-page .cs-hero__media,
  .cruise-ships-page .cs-browser__intro,
  .cruise-ships-page .cs-browser__rail,
  .cruise-ships-page .cs-directory__intro,
  .cruise-ships-page .cs-directory__legend,
  .cruise-ships-page .cs-guide-card,
  .cruise-ships-page .cs-guide-card--cabin,
  .cruise-ships-page .cs-guide-card--itinerary,
  .cruise-ships-page .cs-profile:nth-child(1),
  .cruise-ships-page .cs-profile:nth-child(2),
  .cruise-ships-page .cs-profile:nth-child(3),
  .cruise-ships-page .cs-size-panel:nth-child(1),
  .cruise-ships-page .cs-size-panel:nth-child(2),
  .cruise-ships-page .cs-size-panel:nth-child(3),
  .cruise-ships-page .cs-nz__feature,
  .cruise-ships-page .cs-nz__checklist,
  .cruise-ships-page .cs-step:nth-child(1),
  .cruise-ships-page .cs-step:nth-child(2),
  .cruise-ships-page .cs-step:nth-child(3) {
    grid-column: 1;
  }

  .cruise-ships-page .cs-hero__actions {
    align-items: stretch;
  }

  .cruise-ships-page .cs-framework__cards,
  .cruise-ships-page .cs-profile-grid,
  .cruise-ships-page .cs-size__grid,
  .cruise-ships-page .cs-stations,
  .cruise-ships-page .cs-steps__grid,
  .cruise-ships-page .cs-related__grid {
    gap: var(--space-4);
  }

  .cruise-ships-page .cs-filter-panel__heading {
    flex-direction: column;
  }

  .cruise-ships-page .cs-filter-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cruise-ships-page .cs-filter {
    justify-content: flex-start;
    min-height: 2.75rem;
  }

  .cruise-ships-page .cs-profile,
  .cruise-ships-page .cs-size-panel,
  .cruise-ships-page .cs-step {
    padding: var(--space-4);
  }

  .cruise-ships-page .cs-fact-list > div {
    grid-template-columns: 1fr;
    gap: var(--space-1);
  }

  .cruise-ships-page .cs-nz__feature {
    grid-template-columns: 1fr;
    padding: var(--space-4);
  }

  .cruise-ships-page .cs-nz__feature-copy {
    order: 1;
  }

  .cruise-ships-page .cs-nz__image {
    order: 2;
  }

  .cruise-ships-page .cs-confirmation-strip,
  .cruise-ships-page .cs-endnote__panel {
    padding: var(--space-4);
  }
}

@media (max-width: 26.24rem) {
  .cruise-ships-page .cs-hero__actions > * {
    width: 100%;
  }

  .cruise-ships-page .cs-filter-list {
    grid-template-columns: 1fr;
  }
}


.nz-cruises-page {
  background: var(--color-page);
}

.nz-cruises-page .section {
  position: relative;
}

.nz-breadcrumbs {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-bottom: var(--space-6);
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
}

.nz-breadcrumbs > * { min-width: 0; }
.nz-breadcrumbs span[aria-hidden="true"] { color: var(--color-turquoise-500); }

.nz-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(2rem, 1fr) minmax(0, 6fr);
  gap: var(--space-5);
  align-items: start;
}

.nz-hero__copy { grid-column: 1; min-width: 0; max-width: 35rem; }
.nz-hero__copy h1 { margin-bottom: var(--space-5); }
.nz-hero__deck { max-width: 35rem; font-size: var(--text-lg); line-height: 1.56; }
.nz-hero__notes { display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); margin-top: var(--space-5); }
.nz-hero__notes p { margin: 0; display: flex; min-width: 0; gap: var(--space-3); align-items: flex-start; }
.nz-route-dot { flex: 0 0 0.65rem; width: 0.65rem; height: 0.65rem; margin-top: 0.6rem; border-radius: 50%; background: var(--color-turquoise-500); }
.nz-hero__actions { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-6); }
.nz-hero__rail { grid-column: 2; display: flex; min-width: 0; min-height: 22rem; align-items: center; justify-content: center; }
.nz-hero__rail span { width: 2px; height: 72%; background: var(--color-turquoise-500); opacity: .55; }
.nz-hero__rail i { position: absolute; width: .8rem; height: .8rem; border-radius: 50%; background: var(--color-coral-500); }
.nz-hero__media { grid-column: 3; width: 100%; min-width: 0; margin: 0; }
.nz-hero__media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: 65% 50%; border-radius: var(--radius-lg); }
.nz-hero__assurance { grid-column: 1; display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); max-width: 38.75rem; margin-top: var(--space-5); padding: var(--space-5); border-left: 4px solid var(--color-ocean-800); border-radius: 0 var(--radius-md) var(--radius-md) 0; background: var(--color-ivory-100); }
.nz-hero__assurance p { margin: 0; }
.nz-hero__assurance-note { color: var(--color-text-muted); font-size: var(--text-sm); line-height: var(--leading-compact); }

.nz-eyebrow--guidance { color: var(--color-turquoise-500); }
.nz-eyebrow--coral { color: var(--color-coral-500); }

.nz-patterns__intro { max-width: 40rem; }
.nz-patterns__cards { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-7); }
.nz-patterns__cards::before { position: absolute; z-index: 0; top: 1.65rem; left: 6%; width: 88%; height: 2px; background: var(--color-turquoise-500); content: ""; opacity: .15; }
.nz-route-card { position: relative; z-index: 1; display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-white); transition: border-color 160ms ease; }
.nz-route-card:hover { border-color: var(--color-ocean-800); }
.nz-route-card > * { min-width: 0; }
.nz-route-card h3, .nz-route-card p { margin: 0; }
.nz-route-card .text-link { margin-top: auto; }
.nz-route-card--auckland, .nz-route-card--coastal { grid-column: span 3; }
.nz-route-card--tasman, .nz-route-card--pacific, .nz-route-card--australia { grid-column: span 2; }
.nz-card-marker { display: block; flex: 0 0 auto; width: .8rem; height: .8rem; border-radius: 50%; }
.nz-card-marker--turquoise { background: var(--color-turquoise-500); }
.nz-card-marker--coral { background: var(--color-coral-500); }
.nz-card-marker--paired { position: relative; background: var(--color-coral-500); }
.nz-card-marker--paired::after { position: absolute; top: .18rem; left: 1.05rem; width: .45rem; height: .45rem; border-radius: 50%; background: var(--color-turquoise-500); content: ""; }

.nz-embarkation__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.nz-embarkation__content { grid-column: 1 / span 7; min-width: 0; max-width: 41.875rem; }
.nz-embarkation__lead { max-width: 41.875rem; font-size: var(--text-lg); }
.nz-embarkation__media { grid-column: 9 / span 4; width: 100%; min-width: 0; margin: 0; }
.nz-embarkation__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-lg); }
.nz-steps { display: flex; min-width: 0; flex-direction: column; gap: var(--space-6); margin: var(--space-6) 0 0; padding: 0; list-style: none; border-left: 2px solid color-mix(in srgb, var(--color-turquoise-500) 45%, transparent); }
.nz-steps > li { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); gap: var(--space-4); min-width: 0; padding-left: var(--space-4); }
.nz-step-number { display: flex; width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center; border-radius: 50%; background: var(--color-turquoise-500); color: var(--color-ocean-950); font-weight: var(--weight-semibold); }
.nz-steps h3 { margin-bottom: var(--space-3); }
.nz-steps p:last-child { margin-bottom: 0; }
.nz-embarkation__checklist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); margin-top: var(--space-4); padding: var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-white); font-size: var(--text-sm); }
.nz-embarkation__checklist span { min-width: 0; }
.nz-embarkation__checklist span::before { margin-right: var(--space-2); color: var(--color-turquoise-500); content: "✓"; }

.nz-coastal { background: var(--color-white); }
.nz-coastal > .container { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6) var(--space-5); align-items: start; }
.nz-coastal__heading { grid-column: 1 / span 7; min-width: 0; max-width: 38.75rem; }
.nz-coastal__media { grid-column: 8 / span 5; width: 100%; min-width: 0; margin: 0; }
.nz-coastal__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-lg); }
.nz-coastal__lenses { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); min-width: 0; }
.nz-lens-card { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.nz-lens-card h3, .nz-lens-card p { margin: 0; }
.nz-category-tags { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-2); }
.nz-category-tags span { padding: var(--space-1) var(--space-2); border-radius: var(--radius-pill); background: var(--color-ivory-100); font-size: var(--text-xs); }
.nz-coastal__reflection { grid-column: 1 / span 8; display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); padding: var(--space-6); border-radius: var(--radius-lg); background: var(--color-ivory-100); }
.nz-coastal__reflection h3, .nz-coastal__reflection p { margin: 0; }
.nz-coastal__reflection p {
  }

.nz-tasman__intro { max-width: 40rem; }
.nz-tasman__columns { display: grid; grid-template-columns: minmax(0, 5fr) minmax(4rem, 2fr) minmax(0, 5fr); gap: var(--space-5); align-items: stretch; margin-top: var(--space-7); }
.nz-tasman__panel { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); max-width: 26.25rem; }
.nz-tasman__panel h3, .nz-tasman__panel p { margin: 0; }
.nz-tasman__motif { display: flex; min-width: 0; align-items: center; justify-content: center; gap: var(--space-2); }
.nz-tasman__motif span { width: .7rem; height: .7rem; border-radius: 50%; background: var(--color-coral-500); }
.nz-tasman__motif i { width: 50%; height: 2px; background: var(--color-turquoise-500); opacity: .55; }
.nz-tasman__confirm { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-6); min-width: 0; margin-top: var(--space-7); padding: var(--space-6); border-radius: var(--radius-lg); }
.nz-tasman__confirm > * { min-width: 0; }
.nz-tasman__confirm h3 { margin-bottom: var(--space-3); }
.nz-tasman__confirm p { margin-bottom: 0; }
.nz-tasman__confirm ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2) var(--space-5); margin: 0; padding-left: 1.2rem; }

.nz-pacific { background: var(--color-white); }
.nz-pacific__feature { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: center; }
.nz-pacific__feature figure { grid-column: 1 / span 7; width: 100%; min-width: 0; margin: 0; }
.nz-pacific__feature figure img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; object-position: 50% 62%; border-radius: var(--radius-lg); }
.nz-pacific__feature > div { grid-column: 8 / span 5; display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); max-width: 32.5rem; }
.nz-pacific__feature h2, .nz-pacific__feature p { margin: 0; }
.nz-pacific__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); min-width: 0; margin-top: var(--space-7); }
.nz-pacific__cards article { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.nz-pacific__cards h3, .nz-pacific__cards p { margin: 0; }
.nz-document-icon { display: flex; width: 2rem; height: 2rem; align-items: center; justify-content: center; border: 1px solid var(--color-turquoise-500); border-radius: 50%; color: var(--color-ocean-800); font-weight: var(--weight-semibold); }
.nz-pacific__reflection { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); margin-top: var(--space-4); padding: var(--space-5); border-radius: var(--radius-md); background: var(--color-ivory-100); }
.nz-pacific__reflection h3, .nz-pacific__reflection p { margin: 0; }

.nz-fiordland__heading { max-width: 40rem; }
.nz-fiordland__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: start; margin-top: var(--space-6); }
.nz-fiordland__media { grid-column: 1 / span 7; width: 100%; min-width: 0; margin: 0; }
.nz-fiordland__media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--radius-lg); }
.nz-fiordland__stack { grid-column: 8 / span 5; display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); }
.nz-fiordland__stack > * { min-width: 0; }
.nz-fiordland__stack .panel, .nz-fiordland__stack .card { display: flex; flex-direction: column; gap: var(--space-3); }
.nz-fiordland__stack h3, .nz-fiordland__stack p { margin: 0; }

.nz-port-planning { background: var(--color-white); }
.nz-port-planning__intro { max-width: 38.75rem; }
.nz-port-planning__cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); min-width: 0; margin-top: var(--space-7); }
.nz-port-planning__cards article { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.nz-port-planning__cards h3, .nz-port-planning__cards p { margin: 0; }
.nz-port-planning__reminder { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-3) var(--space-5); align-items: center; margin-top: var(--space-5); padding: var(--space-4) var(--space-5); border-radius: var(--radius-md); background: var(--color-ivory-100); font-size: var(--text-sm); }
.nz-port-planning__reminder > * { min-width: 0; }
.nz-port-planning__reminder span::before { margin-right: var(--space-2); color: var(--color-turquoise-500); content: "✓"; }

.nz-sequence__intro { max-width: 40rem; }
.nz-sequence__stages { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; margin-top: var(--space-7); }
.nz-stage { position: relative; display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); max-width: 27.5rem; padding: var(--space-6); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-white); }
.nz-stage h3, .nz-stage p { margin: 0; }
.nz-stage--one { grid-column: 1 / span 5; }
.nz-stage--two { grid-column: 5 / span 5; margin-top: var(--space-7); }
.nz-stage--three { grid-column: 8 / span 5; margin-top: var(--space-9); background: var(--color-ivory-100); }
.nz-stage__number { display: flex; width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center; border-radius: 50%; background: var(--color-turquoise-500); color: var(--color-ocean-950); font-weight: var(--weight-semibold); }
.nz-stage__links { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-2) var(--space-3); }
.nz-stage__links a { display: inline-flex; min-height: 2.75rem; align-items: center; }

.nz-confirmation { background: var(--color-white); }
.nz-confirmation__intro { max-width: 40rem; }
.nz-confirmation__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; margin-top: var(--space-7); }
.nz-confirmation__checklist { grid-column: 1 / span 7; display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.nz-confirmation__checklist h3, .nz-confirmation__checklist p, .nz-confirmation__checklist ul { margin: 0; }
.nz-confirmation__checklist ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2) var(--space-5); padding-left: 1.2rem; }
.nz-confirmation__editorial { grid-column: 8 / span 5; display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.nz-confirmation__editorial h3, .nz-confirmation__editorial p { margin: 0; }
.nz-confirmation__disclaimer { max-width: 47.5rem; margin-top: var(--space-5); }

@media (max-width: 67.5rem) {
  .nz-patterns__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nz-patterns__cards::before { display: none; }
  .nz-route-card--auckland, .nz-route-card--coastal, .nz-route-card--tasman, .nz-route-card--pacific { grid-column: auto; }
  .nz-route-card--australia { grid-column: 1 / -1; }
  .nz-port-planning__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 61.25rem) {
  .nz-hero__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .nz-hero__copy { grid-column: 1 / span 4; }
  .nz-hero__rail { display: none; }
  .nz-hero__media { grid-column: 5 / span 4; }
  .nz-hero__assurance { grid-column: 1 / span 4; }
  .nz-embarkation__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .nz-embarkation__media { grid-column: 1 / -1; grid-row: 1; max-width: 31rem; }
  .nz-embarkation__content { grid-column: 1 / -1; grid-row: 2; max-width: 100%; }
  .nz-coastal > .container { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .nz-coastal__heading { grid-column: 1 / span 5; }
  .nz-coastal__media { grid-column: 6 / span 3; }
  .nz-coastal__lenses { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nz-coastal__lenses > :nth-child(3) { grid-column: 1 / -1; }
  .nz-coastal__reflection { grid-column: 1 / -1; }
  .nz-tasman__columns { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .nz-tasman__panel { max-width: 100%; }
  .nz-tasman__motif { height: 2rem; }
  .nz-tasman__motif i { width: 5rem; }
  .nz-pacific__feature { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .nz-pacific__feature figure { grid-column: 1 / -1; }
  .nz-pacific__feature > div { grid-column: 1 / -1; max-width: 40rem; }
  .nz-pacific__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nz-pacific__cards > :nth-child(3) { grid-column: 1 / -1; }
  .nz-fiordland__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .nz-fiordland__media { grid-column: 1 / -1; }
  .nz-fiordland__stack { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nz-fiordland__stack .verified-info { grid-column: 1 / -1; }
  .nz-sequence__stages { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .nz-stage--one, .nz-stage--two { grid-column: 1 / span 6; margin-top: 0; }
  .nz-stage--two { grid-column: 3 / span 6; }
  .nz-stage--three { grid-column: 1 / span 6; margin-top: 0; }
  .nz-confirmation__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .nz-confirmation__checklist { grid-column: 1 / -1; }
  .nz-confirmation__editorial { grid-column: 1 / -1; max-width: 40rem; }
}

@media (max-width: 45rem) {
  .nz-hero__grid { display: flex; flex-direction: column; gap: var(--space-5); }
  .nz-hero__copy, .nz-hero__media, .nz-hero__assurance { width: 100%; max-width: none; }
  .nz-hero__media { order: 2; }
  .nz-hero__assurance { order: 3; margin-top: 0; }
  .nz-hero__copy { order: 1; }
  .nz-hero__deck { max-width: none; }
  .nz-hero__actions > * { flex: 1 1 12rem; }
  .nz-patterns__cards, .nz-coastal__lenses, .nz-pacific__cards, .nz-port-planning__cards { grid-template-columns: minmax(0, 1fr); }
  .nz-route-card--australia, .nz-coastal__lenses > :nth-child(3), .nz-pacific__cards > :nth-child(3) { grid-column: auto; }
  .nz-embarkation__checklist, .nz-tasman__confirm, .nz-tasman__confirm ul, .nz-confirmation__checklist ul { grid-template-columns: minmax(0, 1fr); }
  .nz-coastal > .container { display: flex; flex-direction: column; gap: var(--space-5); }
  .nz-coastal__heading, .nz-coastal__media, .nz-coastal__lenses, .nz-coastal__reflection { width: 100%; max-width: none; }
  .nz-tasman__confirm { padding: var(--space-5); }
  .nz-fiordland__grid { display: flex; flex-direction: column; gap: var(--space-5); }
  .nz-fiordland__media, .nz-fiordland__stack { width: 100%; }
  .nz-fiordland__stack { display: flex; }
  .nz-port-planning__reminder { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2); }
  .nz-sequence__stages { display: flex; flex-direction: column; gap: var(--space-4); }
  .nz-stage, .nz-stage--one, .nz-stage--two, .nz-stage--three { width: 100%; max-width: none; margin-top: 0; }
  .nz-confirmation__grid { display: flex; flex-direction: column; gap: var(--space-4); }
  .nz-confirmation__checklist, .nz-confirmation__editorial { width: 100%; max-width: none; }
}

@media print {
  .nz-hero__actions, .nz-breadcrumbs { display: none; }
  .nz-embarkation__media { display: none; }
  .nz-embarkation__content { grid-column: 1 / -1; }
}


.thank-you {
  display: flex;
  min-height: clamp(30rem, 66vh, 44rem);
  align-items: center;
}

.thank-you__section {
  width: 100%;
  padding-block: clamp(var(--space-8), 10vw, var(--space-11));
}

.thank-you__panel {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: clamp(var(--space-6), 6vw, var(--space-10));
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  background: var(--color-white);
  box-shadow: var(--shadow-float);
  text-align: center;
}

.thank-you__panel::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: min(28rem, 78%);
  height: 3px;
  transform: translateX(-50%);
  background: var(--color-turquoise-500);
  content: "";
}

.thank-you__route-mark {
  display: grid;
  width: 4rem;
  height: 4rem;
  place-items: center;
  margin-block-end: var(--space-5);
  border-radius: 50%;
  background: var(--color-ivory-100);
  color: var(--color-ocean-800);
}

.thank-you__route-mark svg {
  width: 2.5rem;
  height: 2.5rem;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.75;
}

.thank-you__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: min(100%, 43rem);
  margin-inline: auto;
  text-align: center;
}

.thank-you__content .eyebrow {
  justify-content: center;
  margin: 0;
  color: var(--color-ocean-800);
}

.thank-you__content h1,
.thank-you__content p {
  margin: 0;
}

.thank-you__intro {
  color: var(--color-ocean-800);
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-heading);
}

.thank-you__copy {
  max-width: 38rem;
  margin-inline: auto;
  color: var(--color-text-muted);
}

.thank-you__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
  margin-block-start: var(--space-6);
}

@media (max-width: 47.99rem) {
  .thank-you {
    min-height: 0;
    align-items: stretch;
  }

  .thank-you__section {
    padding-block: var(--space-8);
  }

  .thank-you__panel {
    padding: var(--space-6) var(--space-4);
    border-radius: var(--radius-lg);
  }

  .thank-you__actions {
    width: 100%;
  }

  .thank-you__actions .button {
    width: 100%;
  }
}