/* ==========================================================================
   VIARU 2.0 (v2 Reconciled Copy) - Stylesheet
   Mobile-First, Accessible, High-Contrast Caribbean Nautical Design
   ========================================================================== */

:root {
  --color-navy-darkest: #050E1A;
  --color-navy-deep: #0A192F;
  --color-navy-surface: #102A43;
  --color-navy-border: #1E3A5F;
  --color-turquoise-vibrant: #00D1B2;
  --color-turquoise-deep: #028090;
  --color-sand-warm: #F4F1EA;
  --color-sand-light: #FAF9F6;
  --color-sand-muted: #E2DDD5;
  --color-text-primary: #0F172A;
  --color-text-secondary: #334155;
  --color-text-muted: #64748B;
  --color-text-on-dark: #FFFFFF;
  --color-text-on-dark-muted: #CBD5E1;
  --color-warning-amber: #B45309;
  --color-warning-bg: #FEF3C7;
  --color-info-bg: #E0F2FE;
  --color-info-text: #0369A1;
  --color-whatsapp: #14783F;
  --color-whatsapp-hover: #106334;

  --container-max-width: 1220px;
  --header-height: 70px;
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 6px 16px rgba(0, 0, 0, 0.08);
  --shadow-xl: 0 20px 30px rgba(0, 0, 0, 0.16);
}

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

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  background-color: var(--color-sand-light);
  color: var(--color-text-primary);
  line-height: 1.6;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .btn, .experience-card, .boat-card, .modal-dialog { transition-property: color, background-color, border-color, opacity; }
  .btn:active, .experience-card:hover, .boat-card:hover { transform: none; }
}

.skip-link {
  position: absolute;
  top: -999px;
  left: 1rem;
  background: var(--color-navy-deep);
  color: #fff;
  padding: 0.75rem 1.25rem;
  border-radius: var(--radius-sm);
  z-index: 9999;
  text-decoration: none;
  font-weight: 700;
}
.skip-link:focus { top: 1rem; }

.container {
  width: 100%;
  max-width: var(--container-max-width);
  margin: 0 auto;
  padding: 0 1.25rem;
}

/* Header */
.site-header {
  position: sticky;
  top: 0;
  height: var(--header-height);
  background: rgba(10, 25, 47, 0.96);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--color-navy-border);
  z-index: 100;
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  gap: 1rem;
}

.brand-logo {
  color: #fff;
  text-decoration: none;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.brand-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-turquoise-vibrant);
}

.nav-links {
  display: none;
  list-style: none;
  gap: 1.25rem;
  align-items: center;
}

.nav-links a {
  color: var(--color-text-on-dark-muted);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
}
.nav-links a:hover { color: #fff; }

.header-actions {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.lang-select {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  border: 1px solid var(--color-navy-border);
  padding: 0.45rem 0.65rem;
  border-radius: var(--radius-sm);
  font-size: 0.85rem;
  font-weight: 700;
  cursor: pointer;
}
.lang-select option {
  background: var(--color-navy-deep);
  color: #fff;
}

.mobile-nav-toggle {
  background: transparent;
  border: 1px solid var(--color-navy-border);
  color: #fff;
  padding: 0.45rem 0.65rem;
  border-radius: var(--radius-sm);
  cursor: pointer;
  font-size: 0.9rem;
}

@media (min-width: 920px) {
  .nav-links { display: flex; }
  .mobile-nav-toggle { display: none; }
}

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0.75rem 1.25rem;
  border-radius: var(--radius-md);
  font-size: 0.925rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid transparent;
  transition: transform 0.15s ease, background-color 0.15s ease;
  min-height: 44px;
}

.btn-primary {
  background: var(--color-turquoise-deep);
  color: #fff;
}
.btn-primary:hover { background: #016977; }

.btn-whatsapp {
  background: var(--color-whatsapp);
  color: #fff;
}
.btn-whatsapp:hover { background: var(--color-whatsapp-hover); }

.btn-outline-light {
  background: rgba(10, 25, 47, 0.55);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.45);
}
.btn-outline-light:hover { background: rgba(255, 255, 255, 0.15); }

.btn-outline-dark {
  background: transparent;
  color: var(--color-navy-deep);
  border-color: var(--color-navy-deep);
}
.btn-outline-dark:hover {
  background: var(--color-navy-deep);
  color: #fff;
}

.btn-sm {
  padding: 0.45rem 0.85rem;
  font-size: 0.825rem;
  min-height: 38px;
}

/* Hero Section */
.hero-section {
  position: relative;
  min-height: 560px;
  background: var(--color-navy-darkest);
  color: #fff;
  display: flex;
  align-items: flex-end;
  padding: 4rem 0 3rem 0;
  overflow: hidden;
}

.hero-media-wrapper {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.hero-media-wrapper video,
.hero-media-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5,14,26,0.30) 0%, rgba(10,25,47,0.50) 55%, rgba(5,14,26,0.78) 100%);
  z-index: 2;
}

.hero-content {
  position: relative;
  z-index: 3;
  max-width: 820px;
}

.video-control-bar {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  z-index: 4;
}

.badge-tag {
  display: inline-block;
  background: rgba(0, 209, 178, 0.16);
  color: var(--color-turquoise-vibrant);
  border: 1px solid rgba(0, 209, 178, 0.35);
  padding: 0.3rem 0.8rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 1rem;
}

.hero-title {
  font-size: clamp(1.9rem, 4.2vw, 3.25rem);
  font-weight: 800;
  line-height: 1.15;
  margin-bottom: 1rem;
}

.hero-description {
  font-size: clamp(1rem, 1.8vw, 1.15rem);
  color: var(--color-text-on-dark-muted);
  margin-bottom: 1.75rem;
  max-width: 680px;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-bottom: 2.25rem;
}

.hero-trust-bar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.25rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.trust-item-title {
  font-weight: 700;
  font-size: 0.92rem;
  color: var(--color-turquoise-vibrant);
  margin-bottom: 0.2rem;
}
.trust-item-desc {
  font-size: 0.82rem;
  color: var(--color-text-on-dark-muted);
}

/* Sections */
.section { padding: 4.5rem 0; }
.section-dark { background: var(--color-navy-deep); color: #fff; }
.section-sand { background: var(--color-sand-warm); }

.section-header { margin-bottom: 2.5rem; }
.section-kicker {
  color: var(--color-turquoise-deep);
  font-size: 0.8rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  display: block;
  margin-bottom: 0.4rem;
}
.section-dark .section-kicker { color: var(--color-turquoise-vibrant); }

.section-title {
  font-size: clamp(1.65rem, 3.2vw, 2.35rem);
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 0.6rem;
}
.section-subtitle {
  font-size: 1rem;
  color: var(--color-text-secondary);
  max-width: 760px;
}
.section-dark .section-subtitle { color: var(--color-text-on-dark-muted); }

/* Value Proposition Grid (Connects HOME-VALUE-01) */
.value-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: center;
}
@media (min-width: 860px) {
  .value-grid { grid-template-columns: 1.05fr 0.95fr; }
}

.value-media-frame {
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--color-navy-surface);
  box-shadow: var(--shadow-md);
}
.value-media-frame img,
.value-media-frame video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.value-points {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-top: 1.5rem;
}
.value-point {
  background: #fff;
  padding: 1.15rem 1.35rem;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-sand-muted);
}
.value-point h3 {
  font-size: 1.05rem;
  color: var(--color-navy-deep);
  margin-bottom: 0.35rem;
}
.value-point p {
  font-size: 0.9rem;
  color: var(--color-text-secondary);
}

/* Experience Cards & Connected Galleries */
.experience-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr));
  gap: 2rem;
}

.experience-card {
  background: #fff;
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-sand-muted);
  box-shadow: var(--shadow-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.card-media-wrapper {
  position: relative;
  aspect-ratio: 16 / 9;
  background: var(--color-navy-surface);
  overflow: hidden;
}
.card-media-wrapper img,
.card-media-wrapper video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card-tag {
  position: absolute;
  top: 0.85rem;
  left: 0.85rem;
  background: rgba(10, 25, 47, 0.88);
  color: #fff;
  padding: 0.3rem 0.7rem;
  border-radius: var(--radius-sm);
  font-size: 0.75rem;
  font-weight: 700;
}

.card-gallery-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  padding: 4px;
  background: var(--color-sand-warm);
}
.card-gallery-strip[data-cols="2"] {
  grid-template-columns: repeat(2, 1fr);
}
.gallery-thumb {
  aspect-ratio: 4 / 3;
  background: var(--color-navy-surface);
  overflow: hidden;
  border-radius: 4px;
}
.gallery-thumb img,
.gallery-thumb video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card-body {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.card-title {
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--color-navy-deep);
  margin-bottom: 0.5rem;
}

.card-summary {
  font-size: 0.92rem;
  color: var(--color-text-secondary);
  margin-bottom: 1rem;
}

.price-box {
  background: var(--color-sand-light);
  border: 1px solid var(--color-sand-muted);
  padding: 0.85rem 1rem;
  border-radius: var(--radius-sm);
  margin-bottom: 1rem;
}
.price-box strong {
  display: block;
  color: var(--color-navy-deep);
  font-size: 0.95rem;
}
.price-box small {
  display: block;
  color: var(--color-warning-amber);
  font-size: 0.8rem;
  margin-top: 0.35rem;
  font-weight: 600;
}

.card-list-title {
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin: 0.5rem 0 0.35rem 0;
}

.card-highlights {
  list-style: none;
  margin-bottom: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.card-highlights li {
  font-size: 0.86rem;
  color: var(--color-text-primary);
  padding-left: 1.1rem;
  position: relative;
}
.card-highlights li::before {
  content: "•";
  color: var(--color-turquoise-deep);
  font-weight: 900;
  position: absolute;
  left: 0;
}

.card-actions {
  margin-top: auto;
  padding-top: 1rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.6rem;
}

/* 8 Boats Grid */
.boats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(275px, 1fr));
  gap: 1.5rem;
}

.boat-card {
  background: var(--color-navy-surface);
  border: 1px solid var(--color-navy-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.boat-media {
  aspect-ratio: 4 / 3;
  background: var(--color-navy-darkest);
  overflow: hidden;
}
.boat-media img,
.boat-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.boat-body {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.boat-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.45rem;
}
.boat-code {
  font-family: monospace;
  font-size: 0.78rem;
  color: var(--color-turquoise-vibrant);
  font-weight: 700;
}
.boat-badge {
  font-size: 0.75rem;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  padding: 0.15rem 0.5rem;
  border-radius: var(--radius-sm);
}

.boat-title {
  font-size: 1.15rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: 0.5rem;
}

.boat-meta-list {
  list-style: none;
  font-size: 0.83rem;
  color: var(--color-text-on-dark-muted);
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-bottom: 1rem;
}

.boat-actions {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* Boarding Timeline */
.journey-timeline {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.75rem;
}

.journey-step {
  background: #fff;
  border: 1px solid var(--color-sand-muted);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}

.journey-media {
  aspect-ratio: 16 / 10;
  background: var(--color-navy-surface);
  overflow: hidden;
}
.journey-media img,
.journey-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.journey-content { padding: 1.35rem; }
.journey-step-num {
  font-size: 0.75rem;
  font-weight: 800;
  color: var(--color-turquoise-deep);
  letter-spacing: 0.06em;
  display: block;
  margin-bottom: 0.3rem;
}
.journey-step-title {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--color-navy-deep);
  margin-bottom: 0.45rem;
}
.journey-step-text {
  font-size: 0.88rem;
  color: var(--color-text-secondary);
}

/* Process 4 Stages */
.process-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 1.25rem;
}
.process-card {
  background: #fff;
  border: 1px solid var(--color-sand-muted);
  border-radius: var(--radius-md);
  padding: 1.35rem;
}
.process-card h3 {
  font-size: 1rem;
  color: var(--color-navy-deep);
  margin-bottom: 0.4rem;
}
.process-card p {
  font-size: 0.875rem;
  color: var(--color-text-secondary);
}

/* FAQ */
.faq-grid {
  max-width: 840px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.faq-item {
  background: #fff;
  border: 1px solid var(--color-sand-muted);
  border-radius: var(--radius-md);
}
.faq-question {
  width: 100%;
  padding: 1.15rem 1.35rem;
  background: transparent;
  border: none;
  text-align: left;
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-navy-deep);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.faq-answer {
  padding: 0 1.35rem 1.15rem 1.35rem;
  font-size: 0.92rem;
  color: var(--color-text-secondary);
  display: none;
}
.faq-item.active .faq-answer { display: block; }
.faq-question { gap:1rem; }
.faq-chevron { width:18px;height:18px;flex-shrink:0;transition:transform var(--motion-interface) var(--ease-arrival); }
.faq-question[aria-expanded="true"] .faq-chevron { transform:rotate(180deg); }
@media (prefers-reduced-motion:reduce) { .faq-chevron { transition:none; } }

/* Modals */
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(5, 14, 26, 0.76);
  backdrop-filter: blur(4px);
  z-index: 1000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.modal-overlay.active { display: flex; }

.modal-dialog {
  background: #fff;
  width: 100%;
  max-width: 680px;
  max-height: 92vh;
  border-radius: var(--radius-lg);
  overflow-y: auto;
  box-shadow: var(--shadow-xl);
}

.modal-header {
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--color-sand-muted);
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 2;
}
.modal-title {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--color-navy-deep);
}
.modal-close {
  background: transparent;
  border: none;
  font-size: 1.6rem;
  cursor: pointer;
  color: var(--color-text-muted);
  padding: 0.25rem 0.5rem;
}
.modal-body { padding: 1.5rem; }

.form-group { margin-bottom: 1rem; }
.form-label {
  display: block;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--color-navy-deep);
  margin-bottom: 0.35rem;
}
.form-control {
  width: 100%;
  padding: 0.7rem 0.9rem;
  border: 1px solid #CBD5E1;
  border-radius: var(--radius-sm);
  font-size: 0.95rem;
  font-family: inherit;
}

.notice-box {
  background: var(--color-info-bg);
  color: var(--color-info-text);
  border-left: 0;
  border-top: 1px solid var(--color-info-text);
  padding: 0.95rem 1.1rem;
  border-radius: var(--radius-sm);
  font-size: 0.86rem;
  margin-bottom: 1.1rem;
}
.notice-box.warning {
  background: var(--color-warning-bg);
  color: #78350F;
  border-left-color: var(--color-warning-amber);
}

.table-responsive {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.86rem;
}
.table-responsive th,
.table-responsive td {
  padding: 0.85rem;
  border-bottom: 1px solid var(--color-sand-muted);
  text-align: left;
  vertical-align: top;
}
.table-responsive th {
  background: var(--color-sand-warm);
  font-weight: 800;
  color: var(--color-navy-deep);
}

/* Footer */
.site-footer {
  background: var(--color-navy-darkest);
  color: var(--color-text-on-dark-muted);
  padding: 3.5rem 0 2rem 0;
  margin-top: auto;
  border-top: 1px solid var(--color-navy-border);
}
.footer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 2rem;
  margin-bottom: 2.25rem;
}
.footer-col-title {
  color: #fff;
  font-size: 0.95rem;
  font-weight: 800;
  margin-bottom: 0.85rem;
}
.footer-links {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 0.86rem;
}
.footer-links a {
  color: var(--color-text-on-dark-muted);
  text-decoration: none;
}
.footer-links a:hover { color: #fff; }

.floating-whatsapp {
  position: fixed;
  bottom: 1.25rem;
  right: 1.25rem;
  background: var(--color-whatsapp);
  color: #fff;
  padding: 0.75rem 1.15rem;
  border-radius: 999px;
  font-weight: 800;
  font-size: 0.88rem;
  text-decoration: none;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.28);
  z-index: 95;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

/* Commercial/legal review, 2026-10-20 */
.payment-reservation {display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;border-top:1px solid #64748b;padding:1.5rem 0;margin-top:1rem;scroll-margin-top:9rem;}
.payment-reservation > div {flex:1 1 24rem;min-width:0;max-width:68ch;}
.payment-reservation h3 {margin:0 0 .5rem;color:#fff;font-size:1.1rem;}
.payment-reservation p {margin:0;font-size:.95rem;line-height:1.65;}
.payment-reservation p a {color:#6ee7db;text-decoration:underline;text-underline-offset:.2em;}
.payment-reservation > .btn {flex:0 1 auto;min-height:44px;}
.legal-information {border-top:1px solid #64748b; padding:1.5rem 0; margin-top:1rem; font-size:.9rem; overflow-wrap:anywhere;}
.legal-information h3, .legal-information h4 {color:#fff; margin:1rem 0 .5rem;}
.legal-information p {margin:.65rem 0; max-width:80ch;}
.legal-information summary {cursor:pointer; color:#6ee7db; padding:.75rem 0;}
.legal-information a {color:#6ee7db; text-decoration:underline;}
.legal-draft {color:#fcd34d; font-weight:700;}
.consent-draft {border:1px solid #cbd5e1; border-radius:8px; padding:1rem; color:#334155;}
.consent-draft label {display:flex; align-items:flex-start; gap:.6rem; margin:.8rem 0; font-size:.86rem;}
.consent-draft input {flex-shrink:0; margin-top:.3rem;}
.consent-draft a {color:#006b70; text-decoration:underline;}
.modal-overlay {overflow-y:auto;}
.modal-dialog {max-height:90dvh; overflow-y:auto;}
@media(max-width:600px){ .header-actions {gap:.35rem;} .header-inner {gap:.4rem;} .lang-select {max-width:85px;} #nav-book {font-size:.7rem; padding:.5rem;} .modal-dialog {width:calc(100% - 1rem); margin:.5rem;} .footer-links {overflow-wrap:anywhere;} }

@media(max-width:600px){.site-footer{padding-bottom:6rem;}}


/* Impeccable 4.7 refinement: preserve VIARU's navy, sea-green and sand identity. */
@font-face {
  font-family: "Manrope";
  src: url("../assets/fonts/Manrope-variable.ttf") format("truetype");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}
:root {
  --font-brand: "Manrope", sans-serif;
  --motion-fast: 140ms;
  --motion-interface: 240ms;
  --ease-arrival: cubic-bezier(0.16, 1, 0.3, 1);
  --color-surface: #fff;
  --color-focus: #007C76;
}
body { font-family: var(--font-brand); -webkit-font-smoothing: antialiased; }
::selection { background: var(--color-turquoise-deep); color: var(--color-text-on-dark); }
input, textarea { caret-color: var(--color-turquoise-deep); }
* { scrollbar-color: var(--color-turquoise-deep) var(--color-sand-warm); scrollbar-width: thin; }
a { text-underline-offset: .22em; }
:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 4px; }
.site-header :focus-visible, .hero-section :focus-visible, .section-dark :focus-visible { outline-color: var(--color-turquoise-vibrant); }
body.modal-open { overflow: hidden; }
.container { padding-inline: clamp(1.1rem, 3.2vw, 2.5rem); }
.site-header { background: var(--color-navy-deep); backdrop-filter: none; }
.brand-logo { font-size: 1.3rem; letter-spacing: .075em; flex-shrink: 0; }
.nav-links { gap: clamp(.7rem, 1.4vw, 1.25rem); }
.nav-links a { font-size: .8rem; }
.lang-select, .mobile-nav-toggle, .btn-sm, .modal-close { min-height: 44px; }
.mobile-nav-toggle, .modal-close { min-width: 44px; }
.btn { transition: background-color var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast), transform var(--motion-fast) var(--ease-arrival); }
.btn:active { transform: scale(.98); }
.btn:disabled { opacity: .5; cursor: not-allowed; }
.btn-primary { box-shadow: none; }
.hero-section { min-height: clamp(640px, 87svh, 900px); padding-block: clamp(2.5rem, 6vh, 5rem); scroll-margin-top: var(--header-height); }
.hero-content { max-width: 880px; }
.hero-title { font-size: clamp(2.15rem, 4.5vw, 4.25rem); font-weight: 650; line-height: 1.075; letter-spacing: -.03em; text-wrap: balance; max-width: 23ch; }
.hero-description { font-size: clamp(1rem, 1.25vw, 1.1rem); line-height: 1.7; max-width: 65ch; color: #E0E8EE; }
.hero-actions { align-items: center; gap: .75rem; margin-bottom: 0; }
#hero-cta-pri { order: 1; min-height: 52px; }
#hero-cta-wa { order: 2; background: rgba(5,14,26,.3); border-color: rgba(255,255,255,.65); }
#hero-video-toggle { order: 3; font-size: .82rem; min-height: 44px; }
#hero-cta-boats { order: 4; flex-basis: 100%; justify-content: flex-start; width: fit-content; padding-inline: 0; border: 0; background: transparent; text-decoration: underline; font-size: .85rem; }
.hero-section video { display: block; }
.trust-ribbon { background: var(--color-sand-warm); }
.trust-ribbon .hero-trust-bar { grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; padding-block: 1.8rem; border: 0; gap: 2rem; }
.trust-item-title { color: var(--color-navy-deep); font-weight: 750; font-size: .9rem; }
.trust-item-desc { color: var(--color-text-secondary); font-size: .8rem; line-height: 1.6; }
.section { padding-block: clamp(3.5rem, 7vw, 6rem); }
.section-kicker, #hero-badge { display: none; }
.section-title { font-weight: 650; letter-spacing: -.025em; text-wrap: balance; font-size: clamp(1.65rem, 3.3vw, 2.65rem); }
.section-subtitle { max-width: 65ch; line-height: 1.7; }
.value-point { border: 0; border-radius: 0; background: transparent; padding: .9rem 0; border-bottom: 1px solid var(--color-sand-muted); }
.value-point h3 { font-weight: 700; }
.experience-card { border: 0; box-shadow: var(--shadow-md); border-radius: var(--radius-lg); }
.card-title { font-weight: 700; letter-spacing: -.02em; }
.card-body { padding: clamp(1.15rem, 2vw, 1.8rem); }
.card-summary { line-height: 1.7; }
.card-tag { max-width: calc(100% - 1.7rem); font-size: .7rem; font-weight: 650; }
.card-media-wrapper video { object-fit: contain; background: var(--color-navy-darkest); }
.card-gallery-strip { background: var(--color-surface); gap: 6px; padding: 6px; }
.price-box { border-radius: var(--radius-sm); }
.journey-step { box-shadow: none; }
.boat-code { font-family: var(--font-brand); font-variant-numeric: tabular-nums; letter-spacing: .025em; }
.notice-box { border-left: 0; border-top: 1px solid var(--color-info-text); }
.notice-box.warning { border-left: 0; border-top-color: var(--color-warning-amber); }
.modal-overlay { backdrop-filter: none; background: rgba(5,14,26,.74); }
.modal-dialog { animation: modal-arrival var(--motion-interface) var(--ease-arrival); }
@keyframes modal-arrival { from { opacity: .65; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.modal-header { padding: 1rem 1.5rem; }
.form-control { min-height: 48px; border-radius: var(--radius-sm); font: inherit; }
.form-control:focus { border-color: var(--color-turquoise-deep); }
.form-control:disabled, fieldset:disabled { opacity: .65; }
.faq-question { min-height: 52px; }
.floating-whatsapp { min-width: 48px; min-height: 48px; border-radius: 12px; font-size: .82rem; padding: .7rem 1rem; box-shadow: var(--shadow-md); }
.floating-whatsapp svg { width: 22px; height: 22px; flex-shrink: 0; }
#rosario-instalaciones-pagina { margin-top: 4rem !important; }
#rosario-instalaciones-pagina h2 { font-size: clamp(1.5rem, 3vw, 2.3rem); letter-spacing: -.025em; font-weight: 650; text-wrap: balance; }
#rosario-instalaciones-pagina figcaption, #rosario-instalaciones figcaption { font-size: .83rem; line-height: 1.6; }
#rosario-instalaciones-pagina img { border-radius: var(--radius-md) !important; }
.media-placeholder { width:100%;height:100%;min-height:110px;display:grid;place-content:center;justify-items:center;gap:.65rem;background:var(--color-navy-surface);color:var(--color-text-on-dark-muted);padding:1rem;text-align:center;font-size:.8rem; }
.media-placeholder svg { width:28px;height:28px; }
@media (max-width: 1080px) {
  .nav-links { display: none; }
  .mobile-nav-toggle { display: inline-flex; align-items:center; justify-content:center; }
  .nav-links.is-open { display:flex;flex-direction:column;position:absolute;top:var(--header-height);inset-inline:0;background:var(--color-navy-deep);padding:1rem 1.5rem;gap:0;border-bottom:1px solid var(--color-navy-border);align-items:stretch; }
  .nav-links.is-open a { display:block;padding:.75rem 0;font-size:.95rem; }
}
@media (max-width: 600px) {
  :root { --header-height: 68px; }
  .brand-logo { font-size: 1.06rem; gap:.25rem; letter-spacing:.045em; }
  .header-inner { gap: .5rem; }
  .header-actions { gap:.4rem; }
  .lang-select { width:66px;max-width:66px;padding-inline:.4rem;font-size:.78rem; }
  #nav-book { font-size:.75rem;padding:.5rem .65rem;max-width:135px;line-height:1.2; }
  .hero-section { min-height:calc(100svh - var(--header-height));padding-block:2.5rem; }
  .hero-title { max-width:22ch;font-size:clamp(2rem,7.5vw,2.65rem);line-height:1.13; }
  .hero-actions { gap:.65rem; }
  #hero-cta-pri { flex-basis:100%; }
  #hero-cta-wa { flex:1;font-size:.8rem;padding-inline:.7rem; }
  #hero-video-toggle { flex:1;padding-inline:.6rem; }
  #hero-cta-boats { min-height:44px; }
  .trust-ribbon .hero-trust-bar { grid-template-columns:1fr;gap:1.1rem;padding-block:1.6rem; }
  .card-tag { top:.65rem;left:.65rem;max-width:calc(100% - 1.3rem);font-size:.75rem; }
  .experience-grid, .boat-grid, .journey-timeline { grid-template-columns:minmax(0,1fr); }
  .floating-whatsapp { width:48px;height:48px;padding:0;justify-content:center;right:1rem;bottom:max(1rem,env(safe-area-inset-bottom)); }
  .floating-whatsapp #floating-wa-label { display:none; }
  .modal-overlay { padding:.5rem; }
  .modal-dialog { width:100%;margin:0;max-height:calc(100dvh - 1rem); }
  .modal-header,.modal-body { padding:1rem; }
  .modal-title { font-size:1.02rem; }
  .card-actions { gap:.65rem; }
  .card-actions .btn { width:100%; }
  .site-footer { padding-bottom:5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .modal-dialog { animation:none; }
  .btn, .experience-card, .boat-card { transition-duration:100ms; }
  .btn:active { transform:none; }
}

p,li { text-wrap: pretty; }
/* Kairo: approved photographs retain 4:3, including on mobile. */
.kairo-picture { display:block;width:100%;height:100%; }
.kairo-picture img { display:block;width:100%;height:100%;object-fit:cover; }
.kairo-gallery { margin:1rem 0 1.5rem; }
.kairo-gallery-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem; }
.kairo-gallery figure { margin:0;min-width:0;scroll-margin-top:1rem; }
.kairo-gallery-image { aspect-ratio:4/3;border-radius:8px;overflow:hidden; }
.kairo-gallery figcaption { margin-top:.4rem;font-size:.9rem;color:#334155; }
[data-kairo-slot] { cursor:pointer; }
[data-kairo-slot]:focus-visible { outline:3px solid var(--color-navy-deep);outline-offset:-3px; }

.kairo-page-gallery { margin-top:4rem;scroll-margin-top:6rem; }
.destination-gallery-heading { display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem; }
.destination-gallery-heading h2 { color:var(--color-navy-deep);font-size:clamp(1.5rem,2.8vw,2rem);line-height:1.25; }
.destination-gallery-heading p { max-width:65ch;margin-top:.7rem;color:var(--color-text-secondary); }
.destination-gallery-heading .btn { flex-shrink:0; }
.destination-gallery-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem; }
.destination-gallery-grid figure { min-width:0; }
.destination-photo { display:block;width:100%;aspect-ratio:4/3;overflow:hidden;border:0;border-radius:var(--radius-md);background:var(--color-sand-muted);cursor:pointer; }
.destination-gallery-grid figcaption { margin-top:.65rem;font-size:.9rem;line-height:1.5;color:var(--color-text-secondary); }
.destination-photo img { transition:transform 420ms var(--ease-arrival); }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .destination-photo:hover img { transform:scale(1.025); }
}
@media (prefers-reduced-motion:no-preference) {
  .kairo-page-gallery.is-in-view .destination-gallery-grid { animation:kairo-arrival 650ms var(--ease-arrival) both; }
  @keyframes kairo-arrival { from { clip-path:inset(0 0 6% 0);transform:translateY(10px); } to { clip-path:inset(0);transform:none; } }
}
.reservation-policy-layout { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:clamp(2rem,5vw,5rem); }
.reservation-policy-layout h2 { font-size:clamp(1.6rem,2.6vw,2.25rem);line-height:1.25;color:var(--color-navy-deep);max-width:18ch; }
.reservation-policy-scope { color:var(--color-text-secondary);max-width:65ch;margin-bottom:1.25rem; }
.reservation-policy-list > div { padding:1.2rem 0;border-top:1px solid var(--color-sand-muted); }
.reservation-policy-list dt { font-weight:750;color:var(--color-navy-deep);margin-bottom:.4rem; }
.reservation-policy-list dd { color:var(--color-text-secondary);max-width:70ch; }
.reservation-policy-contact { margin-top:1.25rem;color:var(--color-text-secondary);font-size:.9rem; }
.reservation-policy-disclosure { margin:1rem 0 1.5rem; }
.reservation-policy-disclosure > summary { min-height:44px;padding:.6rem 0;cursor:pointer;color:var(--color-navy-deep);font-weight:700; }
.reservation-policy-disclosure[open] > summary { margin-bottom:1rem; }
.booking-intro { margin-bottom:1rem;color:var(--color-text-secondary); }
@media (max-width:760px) {
  .destination-gallery-heading { align-items:start;flex-direction:column;gap:1rem; }
  .destination-gallery-grid { grid-template-columns:1fr;gap:1.5rem; }
  .reservation-policy-layout { grid-template-columns:1fr;gap:1.5rem; }
  .reservation-policy-layout h2 { max-width:100%; }
}
h2,h3,h4 { text-wrap: balance; }
.price-box { border:0; border-radius:0; background:transparent; padding:1.1rem 0; border-block:1px solid var(--color-sand-muted); }
.mobile-nav-toggle svg,.modal-close svg { width:20px;height:20px;display:block; }

/* Supplied Rosario facilities: six actionable previews in the existing card. */
.installation-previews .gallery-thumb { border:0;padding:0;background:transparent;cursor:pointer;aspect-ratio:4/3;min-height:0; }
.installation-previews .gallery-thumb:focus-visible { outline-offset:-3px; }

/* Concise browsing: full conditions remain in product details and request forms. */
.section-subtitle:empty,.trust-item-desc:empty { display:none; }
.trust-ribbon .hero-trust-bar { padding-block:1.2rem; }
.value-grid { gap:clamp(1.5rem,4vw,4rem); }
.value-points { gap:.4rem;margin-top:1.25rem; }
.value-point { padding-block:.75rem; }
.value-point h3 { font-size:.95rem;margin-bottom:.15rem; }
.value-point p { font-size:.9rem;line-height:1.55; }
.value-visual { margin:0;min-width:0; }
.value-media-frame { box-shadow:none;border-radius:14px; }
.value-media-frame picture { display:block;width:100%;height:100%; }
.value-visual figcaption { margin-top:.65rem;color:var(--color-text-secondary);font-size:.8rem; }
.card-inclusions { margin-block:1rem 1.25rem; }
.card-inclusions summary { cursor:pointer;font-size:.875rem;font-weight:650;color:var(--color-navy-deep);padding-block:.55rem;min-height:44px; }
.card-inclusions .card-highlights,.card-inclusions .boat-meta-list { margin-block:.75rem 0; }
.boat-card .card-inclusions { color:var(--color-text-on-dark); }
.boat-card .card-inclusions summary { color:inherit; }
.hero-title { max-width:18ch; }
@media (max-width:859px) {
 .value-visual { order:-1; }
 #propuesta-valor .section-title { margin-bottom:.65rem; }
}

/* Named VIARU fleet: full-frame media, deliberate playback and a quiet browsing rhythm. */
#embarcaciones { scroll-margin-top:var(--header-height); }
#embarcaciones .section-title { max-width:24ch; }
#embarcaciones .section-header { align-items:end;margin-bottom:1.5rem; }
.fleet-toolbar { display:flex;align-items:end;gap:1.25rem;flex-wrap:wrap; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0; }
.fleet-field { display:flex;flex-direction:column;gap:.5rem;min-width:0;flex:1 1 220px; }
.fleet-field label { color:var(--color-text-on-dark-muted);font-size:.85rem;font-weight:600; }
.fleet-field input,.fleet-field select { font:inherit;line-height:1.4;min-height:48px;padding:.7rem .9rem;border:1px solid #5e788e;border-radius:var(--radius-sm);color:white;background:var(--color-navy-surface);width:100%; }
.fleet-field input::placeholder { color:#bacad4;opacity:1; }
.fleet-field input { color-scheme:dark;caret-color:var(--color-turquoise-vibrant); }
.fleet-reset { font:inherit;font-size:.85rem;color:white;background:transparent;border:0;text-decoration:underline;text-underline-offset:4px;min-height:48px;padding:.6rem 0;cursor:pointer; }
.fleet-reference { font-size:.82rem;color:var(--color-text-on-dark-muted);line-height:1.6;max-width:85ch;margin:1rem 0 2rem; }
.boats-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:2.75rem 2rem; }
.boat-card { border:0;box-shadow:none;border-radius:0;background:transparent;overflow:visible;min-width:0; }
.boat-preview { position:relative;display:block;border:0;padding:0;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:var(--radius-md);background:var(--color-navy-surface);cursor:pointer;color:white; }
.boat-preview img { display:block;width:100%;height:100%;object-fit:contain; }
.boat-watch { position:absolute;inset:auto 0 0;display:flex;align-items:center;gap:.55rem;padding:.65rem 1rem;background:rgba(5,14,26,.91);font:600 .85rem/1.4 Manrope,sans-serif;min-height:44px; }
.boat-watch svg { width:22px;height:22px;flex-shrink:0; }
.boat-duration { margin-left:auto;font-variant-numeric:tabular-nums;font-weight:400;color:var(--color-text-on-dark-muted); }
.boat-preview:hover .boat-watch { background:var(--color-navy-darkest); }
.boat-body { padding:1.25rem 0 0; }
.fleet-card-heading { display:flex;gap:1rem;justify-content:space-between;align-items:center;flex-wrap:wrap; }
.fleet-card-heading .boat-title { font-size:clamp(1.5rem,2vw,1.85rem);line-height:1.2;margin:0;letter-spacing:-.025em; }
.boat-badge { color:#b8e5df;background:transparent;padding:0;font-size:.8rem; }
.fleet-specs { display:flex;align-items:baseline;gap:.7rem 1.25rem;flex-wrap:wrap;color:#e7efef;font-size:.95rem;line-height:1.6;margin:.8rem 0 1.2rem; }
.fleet-specs small { font-size:.75rem;color:var(--color-text-on-dark-muted); }
.boat-actions { display:flex;flex-direction:row;gap:.75rem;flex-wrap:wrap; }
.boat-actions .btn { width:auto;flex:1; }
.boat-actions .btn { min-height:44px; }
.fleet-empty { grid-column:1/-1;padding:2rem 0 3rem; }
.fleet-empty p { margin-bottom:1.25rem; }
.fleet-details .modal-dialog { background:var(--color-sand-light); }
.fleet-details .modal-header { position:sticky;top:0;background:var(--color-sand-light);z-index:2; }
.fleet-details .modal-body { padding:0 1.5rem 1.75rem; }
.fleet-video-wrap { width:100%;position:relative;aspect-ratio:16/9;background:var(--color-navy-darkest);border-radius:var(--radius-md);overflow:hidden; }
.fleet-video-wrap video { display:block;width:100%;height:100%;object-fit:contain; }
.fleet-start { position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;background:transparent;color:white;border:0;cursor:pointer;font:600 .9rem Manrope,sans-serif; }
.fleet-start svg { width:64px;height:64px;background:rgba(5,14,26,.9);border-radius:50%;padding:16px; }
.fleet-start span { padding:.35rem .75rem;background:rgba(5,14,26,.9);border-radius:var(--radius-sm); }
.fleet-start[hidden] { display:none; }
.fleet-music { margin:.7rem 0 1.3rem;font-size:.75rem;color:var(--color-text-secondary); }
.fleet-music summary { cursor:pointer;min-height:44px;display:list-item;align-content:center; }
.fleet-music p { max-width:75ch;padding-bottom:.7rem; }
.fleet-music a { color:var(--color-turquoise-deep);text-decoration:underline;text-underline-offset:3px; }
.fleet-detail-summary { display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:2rem; }
.fleet-detail-summary>div { max-width:68ch; }
.fleet-detail-summary p { font-size:.85rem;line-height:1.65;color:var(--color-text-secondary);margin-top:.6rem; }
.fleet-detail-summary>.btn { flex-shrink:0; }
.fleet-detail-specs { display:flex;flex-wrap:wrap;gap:.5rem 2rem;font-size:1.25rem;font-weight:650; }
.fleet-gallery h4 { font-size:1.15rem;margin:0 0 1rem; }
.fleet-gallery-stage { position:relative;height:clamp(250px,50vw,590px);background:#e4e6e1;border-radius:var(--radius-md);overflow:hidden; }
.fleet-gallery-stage>img { width:100%;height:100%;object-fit:contain;display:block; }
.fleet-gallery-navigation { display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:1rem 0; }
.fleet-gallery-navigation p { font-size:.85rem;font-variant-numeric:tabular-nums; }
.fleet-thumbnails { display:flex;gap:.65rem;overflow-x:auto;padding:.25rem .2rem .7rem;scrollbar-color:var(--color-turquoise-deep) #e4e6e1; }
.fleet-thumbnails button { width:104px;min-width:104px;aspect-ratio:4/3;border:2px solid transparent;border-radius:var(--radius-sm);padding:2px;background:#e4e6e1;cursor:pointer; }
.fleet-thumbnails button[aria-pressed=true] { border-color:var(--color-turquoise-deep); }
.fleet-thumbnails img { width:100%;height:100%;object-fit:contain;display:block; }
.fleet-media-error { position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:1rem;text-align:center;background:var(--color-sand-warm);color:var(--color-text-primary);font-size:.85rem;line-height:1.6; }
.fleet-media-error p { max-width:45ch; }
.fleet-comparison-note { font-size:.9rem;line-height:1.65;margin-bottom:1.2rem;color:var(--color-text-secondary); }
.fleet-comparison-scroll { overflow-x:auto;scrollbar-color:var(--color-turquoise-deep) var(--color-sand-muted); }
.fleet-comparison { width:100%;border-collapse:collapse;min-width:620px;text-align:left;font-size:.9rem; }
.fleet-comparison th,.fleet-comparison td { border-bottom:1px solid var(--color-sand-muted);padding:.8rem;vertical-align:middle; }
.fleet-comparison thead { background:var(--color-sand-warm); }
.fleet-compare-image { position:relative;display:flex;flex-direction:column;gap:.5rem;width:155px;text-align:left;font:650 .95rem Manrope,sans-serif;color:var(--color-navy-deep);padding:0;background:none;border:0;cursor:pointer; }
.fleet-compare-image img { display:block;width:155px;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:var(--radius-sm);background:var(--color-navy-surface); }
#embarcaciones :focus-visible { outline:3px solid var(--color-turquoise-vibrant);outline-offset:4px; }
.fleet-details :focus-visible,.fleet-comparison-scroll:focus-visible { outline:3px solid var(--color-turquoise-deep);outline-offset:3px; }
#embarcaciones ::selection { color:var(--color-navy-darkest);background:#8ee9d9; }
@media(max-width:700px) {
  .boats-grid { grid-template-columns:minmax(0,1fr);gap:2.5rem; }
  .fleet-toolbar { gap:1rem; }
  .fleet-field { flex-basis:100%; }
  .fleet-reset { min-height:44px; }
  .fleet-reference { margin:.5rem 0 1.7rem; }
  .fleet-specs { gap:.35rem .9rem; }
  .boat-body { padding-top:1rem; }
  .boat-actions .btn { flex:1; }
  .fleet-detail-summary { flex-direction:column;align-items:stretch;gap:1rem; }
  .fleet-details .modal-body { padding:0 .75rem 1.25rem; }
  .fleet-details .modal-header { padding:1rem .75rem; }
  .fleet-video-wrap { border-radius:var(--radius-sm); }
  .fleet-start svg { width:48px;height:48px;padding:11px; }
  .fleet-start span { font-size:.8rem; }
  .fleet-thumbnails button { min-width:80px;width:80px; }
  .fleet-comparison { min-width:0;display:block; }
  .fleet-comparison thead { display:none; }
  .fleet-comparison tbody { display:block; }
  .fleet-comparison tr { display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem;padding:1rem 0;border-bottom:1px solid var(--color-sand-muted); }
  .fleet-comparison th,.fleet-comparison td { padding:0;border:0; }
  .fleet-comparison th,.fleet-comparison td:last-child { grid-column:1/-1; }
  .fleet-comparison td[data-label]::before { content:attr(data-label);display:block;font-size:.75rem;color:var(--color-text-secondary);margin-bottom:.25rem; }
  .fleet-compare-image { display:grid;grid-template-columns:128px 1fr;align-items:center;gap:1rem;width:100%; }
  .fleet-compare-image img { width:128px; }
  .fleet-comparison .btn { width:100%; }
}

/* Continuous exploration, grouped by product; the category bar stays below the header. */
.browse-nav { position:sticky;top:var(--header-height);z-index:30;background:var(--color-sand-light);border-bottom:1px solid var(--color-sand-muted); }
.browse-nav-inner { display:flex;align-items:center;gap:2.25rem;min-height:60px; }
.browse-nav a { display:flex;align-items:center;justify-content:center;min-height:60px;padding:.6rem .2rem;color:var(--color-text-secondary);font-weight:650;font-size:.95rem;border-bottom:3px solid transparent; }
.browse-nav a[aria-current] { color:var(--color-navy-deep);border-bottom-color:var(--color-turquoise-deep); }
.browse-nav a:hover { color:var(--color-turquoise-deep); }
.browse-nav a:focus-visible { outline:3px solid var(--color-turquoise-deep);outline-offset:-4px; }
#experiencias,#embarcaciones,#bahia { scroll-margin-top:calc(var(--header-height) + 76px); }
#inicio.hero-section { min-height:480px;padding-block:3.5rem; }
#inicio .hero-title { max-width:19ch;font-size:clamp(2.2rem,4.5vw,4rem); }
#inicio .hero-description { max-width:48ch; }
#hero-cta-pri,#hero-cta-boats { min-height:56px;padding:1rem 1.4rem;font-size:1rem; }
#hero-cta-pri { order:0; }
#hero-cta-boats { order:1;flex-basis:auto;border:1px solid rgba(255,255,255,.8);text-decoration:none;padding:1rem 1.4rem;justify-content:center; }
#hero-cta-wa { order:2; }
#hero-video-toggle { order:3; }
#hero-video-toggle { font-size:.8rem; }
#experiences-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
#experiences-grid .card-media-wrapper { aspect-ratio:16/9; }
.bay-grid { display:block; }
.bay-grid .experience-card { display:grid;grid-template-columns:1fr 1.15fr; }
.bay-grid .card-media-wrapper { height:100%;aspect-ratio:auto;min-height:280px; }
.fleet-section-actions { display:flex;flex-direction:column;align-items:flex-end;gap:.5rem; }
.fleet-motion-toggle { min-height:44px;max-width:100%;padding:.5rem 0;background:none;border:0;color:var(--color-text-on-dark-muted);font:600 .8rem Manrope,sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer; }
.boat-preview { isolation:isolate; }
.boat-preview video[data-fleet-preview] { position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;opacity:0;pointer-events:none; }
.boat-preview.is-previewing video[data-fleet-preview] { opacity:1; }
.boat-watch { z-index:1; }
@media(max-width:700px) {
  .browse-nav-inner { gap:0;justify-content:space-between;min-height:54px; }
  .browse-nav a { min-height:54px;flex:1;font-size:.9rem; }
  #inicio.hero-section { min-height:420px;padding-block:2.25rem; }
  #inicio .hero-title { font-size:clamp(2.1rem,8vw,3rem);max-width:19ch; }
  #hero-cta-pri,#hero-cta-boats { flex-basis:100%;width:100%;min-height:52px;font-size:.95rem;padding:.85rem 1rem; }
  #hero-cta-wa { flex-basis:auto; }
  #experiences-grid { grid-template-columns:minmax(0,1fr); }
  .bay-grid .experience-card { display:flex; }
  .bay-grid .card-media-wrapper { min-height:0;aspect-ratio:16/9; }
  .fleet-section-actions { align-items:flex-start; }
  #experiencias,#embarcaciones,#bahia { scroll-margin-top:calc(var(--header-height) + 68px); }
}

/* The party video keeps its complete 16:9 composition on every screen. */
.rumba-player { position:relative;width:100%;aspect-ratio:16/9;background:var(--color-navy-darkest); }
.rumba-player video { display:block;width:100%;height:100%;object-fit:contain; }
.rumba-media-toggle { position:absolute;right:.65rem;bottom:.65rem;min-height:44px;padding:.5rem .8rem;border:1px solid rgba(255,255,255,.6);border-radius:24px;background:rgba(10,25,47,.86);color:white;font:600 .78rem Manrope,sans-serif;cursor:pointer; }
.rumba-media-toggle[hidden] { display:none; }
.video-sound-host,.boat-preview-wrap { position:relative; }
.video-sound-toggle { position:absolute;top:.65rem;right:.65rem;z-index:4;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;max-width:calc(100% - 1.3rem);padding:.55rem .8rem;border:1px solid rgba(255,255,255,.7);border-radius:24px;background:#0a192f;color:#fff;font:600 .78rem Manrope,sans-serif;cursor:pointer; }
.video-sound-toggle svg { width:18px;height:18px;flex:none; }
.video-sound-toggle:hover { background:#153b52; }
.video-sound-toggle:focus-visible { outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 5px #007c89; }
.video-sound-toggle[aria-pressed="true"] { background:#006570; }
.video-sound-inline { position:relative;top:auto;right:auto;order:4; }
.sound-credit-link { display:inline-block;margin-block:1rem;color:inherit;text-underline-offset:.2em; }
.sound-credit-link:focus-visible { outline:3px solid var(--color-turquoise-deep);outline-offset:4px; }
.experience-comparison-scroll { overflow-x:auto;margin-block:1.5rem; }
.experience-comparison-scroll:focus-visible { outline:3px solid var(--color-turquoise-deep);outline-offset:4px; }
.experience-comparison { width:100%;min-width:44rem;border-collapse:collapse;font-size:.9rem;line-height:1.6; }
.experience-comparison caption { text-align:left;font-weight:700;padding-block:.75rem; }
.experience-comparison th,.experience-comparison td { padding:1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--color-sand-muted); }
.experience-comparison thead { background:var(--color-navy-deep);color:#fff; }
.experience-comparison th:first-child { min-width:10rem; }
.experience-comparison td { min-width:12rem; }
.experience-comparison ul { margin:0;padding-left:1rem; }
.rumba-media-toggle:focus-visible { outline:3px solid var(--color-turquoise-deep);outline-offset:3px; }
.bay-grid [data-item-id="rumba-bahia"] .card-media-wrapper { display:grid;align-items:center; }
.rumba-experience-media { margin:1.5rem 0;overflow:hidden;border-radius:var(--radius-lg); }

/* One preference choice, a useful route and no repeated questionnaire. */
.trip-planner { color:var(--color-navy-deep);background:var(--color-sand-light);padding:clamp(1.1rem,3vw,2rem);border-radius:var(--radius-md);margin:1.5rem 0 2rem;scroll-margin-top:calc(var(--header-height) + 76px); }
.trip-heading h3 { font-size:clamp(1.35rem,2.2vw,1.8rem);letter-spacing:-.025em;line-height:1.25;margin-bottom:.65rem; }
.trip-heading>p { max-width:65ch;color:var(--color-text-secondary);font-size:.9rem;line-height:1.65; }
.trip-moods { display:flex;flex-wrap:wrap;gap:.65rem;margin:1.25rem 0; }
.trip-moods button { min-height:46px;padding:.65rem 1rem;border:1px solid var(--color-navy-border);border-radius:var(--radius-sm);color:var(--color-navy-deep);background:transparent;font:650 .9rem Manrope,sans-serif;cursor:pointer; }
.trip-moods button[aria-pressed=true] { color:white;background:var(--color-navy-deep); }
.trip-moods button:hover { border-color:var(--color-turquoise-deep); }
#embarcaciones .trip-planner :focus-visible { outline:3px solid var(--color-turquoise-deep);outline-offset:3px; }
.trip-empty { color:var(--color-text-secondary);font-size:.85rem; }
.trip-result-heading { display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap; }
.trip-result-heading h4 { font-size:1.15rem; }
.trip-result-heading button,.booking-selection button,.booking-trip button { min-height:44px;border:0;background:none;text-decoration:underline;text-underline-offset:4px;font:600 .8rem Manrope,sans-serif;color:var(--color-navy-deep);cursor:pointer;padding:.5rem 0; }
.trip-description { max-width:70ch;margin:.4rem 0 1.25rem;font-size:.9rem;color:var(--color-text-secondary);line-height:1.65; }
.trip-stops { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;list-style:none;counter-reset:trip-step;padding:0; }
.trip-stops li { counter-increment:trip-step;padding-top:1rem;border-top:1px solid var(--color-sand-muted);min-width:0; }
.trip-stops li::before { content:counter(trip-step);font-weight:650;color:var(--color-turquoise-deep);display:block;margin-bottom:.6rem; }
.trip-stops strong { display:block;font-size:.95rem; }
.trip-stops p { font-size:.85rem;line-height:1.65;color:var(--color-text-secondary);margin-top:.5rem; }
.trip-note { font-size:.78rem;color:var(--color-text-secondary);line-height:1.65;max-width:100ch;margin-top:1.5rem; }
.booking-selection { display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem; }
.booking-selection>strong { font-size:1.2rem; }
.booking-trip { margin:0 0 1rem;padding:1rem 0;border-block:1px solid var(--color-sand-muted); }
.booking-trip p { margin-top:.5rem;font-size:.85rem;line-height:1.65;color:var(--color-text-secondary); }
.booking-extras { margin:1.25rem 0; }
.booking-extras>summary { min-height:44px;padding:.6rem 0;cursor:pointer;color:var(--color-navy-deep);font-size:.9rem;font-weight:650; }
.booking-contact-fields { display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-top:.75rem; }
.faq-answer a { color:var(--color-turquoise-deep);text-decoration:underline;text-underline-offset:3px; }
#condiciones-rosario { scroll-margin-top:calc(var(--header-height) + 76px); }
@media(max-width:700px) {
 .trip-stops { grid-template-columns:minmax(0,1fr);gap:1rem; }
 .trip-moods { display:grid;grid-template-columns:1fr 1fr; }
 .trip-moods button { min-width:0;font-size:.83rem;padding:.65rem .5rem; }
 .booking-contact-fields { grid-template-columns:minmax(0,1fr); }
}

.booking-conditions { color:var(--color-text-secondary);font-size:.85rem;line-height:1.65;margin:1rem 0; }

/* Legal detail is available on demand, at reading size rather than display scale. */
.policy-compact { padding:1rem 0;background:var(--color-sand-light); }
.policy-compact details { border-block:1px solid var(--color-sand-muted); }
.policy-compact summary { list-style:none;display:flex;align-items:center;gap:1rem;min-height:56px;padding:.75rem 0;cursor:pointer;color:var(--color-text-secondary); }
.policy-compact summary::-webkit-details-marker { display:none; }
#reservation-policy-title { font-size:.9rem;font-weight:650;line-height:1.5; }
.policy-read { margin-left:auto;font-size:.8rem;text-decoration:underline;text-underline-offset:4px;color:var(--color-turquoise-deep);white-space:nowrap; }
.policy-compact summary svg { width:18px;height:18px;flex-shrink:0; }
.policy-compact details[open]>summary svg { transform:rotate(180deg); }
#reservation-policy-body { max-width:850px;padding:.5rem 0 1.5rem;font-size:.875rem;line-height:1.65; }
.policy-compact .reservation-policy-list>div { padding:.8rem 0; }
.policy-compact .reservation-policy-list dt { font-weight:650;font-size:.875rem; }
.policy-compact .reservation-policy-contact { font-size:.8rem; }
.experience-conditions { margin:1rem 0; }
.experience-conditions summary { min-height:44px;padding:.6rem 0;font-size:.9rem;font-weight:650;cursor:pointer; }
.experience-conditions p { color:var(--color-text-secondary);font-size:.875rem;line-height:1.65;margin:.5rem 0 1rem; }
.fleet-card-price { display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;color:white;margin:.2rem 0 .4rem; }
.fleet-card-price strong { font-size:1.3rem;letter-spacing:-.02em; }
.fleet-card-price span { font-size:.8rem;color:var(--color-text-on-dark-muted); }
.fleet-card-price-note { font-size:.76rem;line-height:1.6;color:var(--color-text-on-dark-muted);margin-bottom:1.2rem;max-width:70ch; }
.fleet-detail-price { font-size:1.5rem;font-weight:700;color:var(--color-navy-deep);margin-bottom:.9rem; }
.fleet-detail-price small { font-size:.8rem;font-weight:500; }
.fleet-commercial { display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:1.6rem;margin:1rem 0 2rem;padding-block:1.5rem;border-block:1px solid var(--color-sand-muted); }
.fleet-commercial h4 { font-size:1rem;margin-bottom:.75rem; }
.fleet-commercial ul { padding-left:1.1rem;font-size:.85rem;line-height:1.75;color:var(--color-text-secondary); }
.fleet-bonus { margin-top:1rem;font-size:.85rem;line-height:1.7;color:var(--color-navy-deep); }
.fleet-source,.fleet-pending-equipment { font-size:.75rem;line-height:1.6;color:var(--color-text-secondary);margin:.5rem 0; }
.booking-price { margin:1rem 0;font-size:.85rem; }
.booking-price>strong { font-size:1.3rem; }
.booking-price p { margin-top:.5rem;font-size:.8rem;line-height:1.6;color:var(--color-text-secondary); }
.trip-duration { display:flex;gap:.5rem;flex-wrap:wrap;margin:1.2rem 0 0; }
.trip-duration button { min-height:44px;padding:.55rem 1rem;font:650 .85rem Manrope,sans-serif;border:1px solid var(--color-sand-muted);border-radius:var(--radius-sm);color:var(--color-navy-deep);background:transparent;cursor:pointer; }
.trip-duration button[aria-pressed=true] { border-color:var(--color-turquoise-deep);box-shadow:inset 0 -2px var(--color-turquoise-deep); }
.trip-plan-conditions { font-size:.78rem;color:var(--color-text-secondary);margin-top:.35rem; }
.trip-plan-conditions summary { min-height:44px;cursor:pointer;padding:.6rem 0; }
.trip-plan-conditions p { max-width:90ch;line-height:1.65;margin-bottom:.5rem; }
@media(max-width:700px) {
 .fleet-commercial { grid-template-columns:1fr;gap:1.5rem; }
 .fleet-compare-price { grid-column:1/-1;font-weight:650; }
 .trip-duration button { flex:1; }
}
@media(max-width:500px) {
 .policy-compact summary { flex-wrap:wrap;gap:.4rem .75rem; }
 #reservation-policy-title { flex:1 1 65%;font-size:.85rem; }
 .policy-read { font-size:.75rem;white-space:normal; }
}

/* Direct consultation and readable product pages. */
.fleet-price-label { font-size:.8rem;font-weight:650;margin:.9rem 0 .2rem; }
.fleet-contact-actions { display:flex;flex-wrap:wrap;gap:.65rem; }
.boat-title a,.card-title a { color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em; }
.booking-local-note { font-size:.8rem;line-height:1.6;margin:.75rem 0;color:var(--color-text-secondary); }
.browse-nav-inner { overflow-x:auto; }
.discovery-page { background:var(--color-sand-soft,#faf8f3);color:var(--color-navy-deep); }
.discovery-header { background:var(--color-navy-deep);color:white;padding:1.2rem 0; }
.discovery-header .container { display:flex;gap:1rem;flex-wrap:wrap;align-items:center;justify-content:space-between; }
.discovery-header a { color:inherit; }
.discovery-main { padding-block:2.5rem;max-width:1140px; }
.discovery-main h1 { font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.2;max-width:26ch;margin:1rem 0; }
.discovery-main h2 { font-size:1.5rem;margin:2rem 0 .9rem; }
.discovery-main h3 { font-size:1.1rem;margin:1.4rem 0 .6rem; }
.discovery-main p,.discovery-main li { max-width:74ch;line-height:1.75; }
.discovery-main ul,.discovery-main ol { padding-left:1.3rem; }
.discovery-main a { color:var(--color-navy-deep);text-underline-offset:.2em; }
.discovery-main .btn-primary { color:white; }
.discovery-actions { display:flex;gap:.8rem;flex-wrap:wrap;margin:1.5rem 0; }
.discovery-reference { font-size:1.3rem;font-weight:700;margin:.5rem 0; }
.discovery-picture { width:100%;max-width:768px;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:12px;margin:1rem 0; }
.discovery-facts { display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1.5rem;margin:1rem 0; }
.discovery-facts dt { font-weight:700; }.discovery-facts dd { margin:0; }
.discovery-links { display:flex;flex-wrap:wrap;gap:.7rem 1.4rem;margin:1rem 0; }
.discovery-item { padding-block:1rem 1.5rem;border-bottom:1px solid var(--color-sand-muted); }
.discovery-footer { padding:2rem 0;background:var(--color-navy-deep);color:white; }.discovery-footer a { color:white; }
@media(max-width:600px){.discovery-main{padding-block:1.5rem}.discovery-facts{grid-template-columns:1fr;gap:.2rem}.discovery-facts dd{margin-bottom:.6rem}.fleet-contact-actions{width:100%}.fleet-contact-actions .btn{width:100%}}

@media(max-width:600px){.discovery-header .container{gap:.75rem}.discovery-header nav{order:3;flex-basis:100%;margin:0;gap:.5rem 1rem}.discovery-header nav a{min-height:32px;display:inline-flex;align-items:center}}

.island-booking-note{font-size:.82rem;line-height:1.65;color:var(--color-text-secondary);margin:1rem 0;}

/* Selected island facilities, activities and food; same content in interactive and static profiles. */
.island-photo-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:.8rem 0 1rem}
.island-photo-preview a{display:block;aspect-ratio:4/3;min-width:0;overflow:hidden;border-radius:8px;background:var(--color-sand-warm)}
.island-photo-preview picture,.island-photo-preview img{display:block;width:100%;height:100%;object-fit:cover}
.island-details-gallery{margin:1.6rem 0;scroll-margin-top:1rem}
.island-details-gallery h2,.island-menu h2{font-size:1.5rem;margin:2rem 0 .9rem}
.island-details-gallery h3,.island-menu h3{font-size:1.2rem;margin:1.6rem 0 .8rem}
.island-details-gallery h4{font-size:1rem;margin:1.4rem 0 .8rem}
.island-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.island-photo-grid figure{min-width:0;margin:0}
.island-photo-frame{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:12px;background:var(--color-sand-warm)}
.island-photo-frame picture,.island-photo-frame img{width:100%;height:100%;display:block;object-fit:contain}
.island-food-grid[data-island="rosario-beach"] .island-photo-frame{aspect-ratio:3/2}
.island-food-grid[data-island="kairo"] .island-photo-frame{aspect-ratio:3/4}
.island-photo-grid figcaption{font-size:.8rem;line-height:1.55;color:var(--color-text-secondary);margin-top:.4rem}
.island-menu{margin:1.5rem 0;scroll-margin-top:1rem}
.island-menu-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem 1.5rem;padding-left:1.2rem;margin:1rem 0;font-size:.9rem}
.island-menu p,.island-food-note{font-size:.85rem;line-height:1.7;color:var(--color-text-secondary);margin:1rem 0}
@media(max-width:600px){.island-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.island-menu-options{grid-template-columns:1fr}}

/* Optional measurement controls follow the existing VIARU palette. */
#footer-rnt{font-size:.82rem;line-height:1.6;margin-top:1rem;max-width:65ch;}
.privacy-preferences{background:none;border:0;color:inherit;font:inherit;text-align:left;text-decoration:underline;text-underline-offset:.2em;cursor:pointer;min-height:44px;padding:.35rem 0;}
.consent-panel{position:fixed;z-index:1300;bottom:1rem;left:1rem;right:1rem;max-width:48rem;margin:auto;background:#fffdf8;color:#102033;border:1px solid #536977;border-radius:12px;padding:1rem 1.25rem;box-shadow:0 8px 32px rgba(4,18,28,.25);max-height:75dvh;overflow:auto;}
.consent-panel h2{font-size:1.2rem;margin:0 0 .5rem;}
.consent-panel p{font-size:.9rem;line-height:1.55;margin:0 0 .75rem;max-width:68ch;}
.consent-options,.consent-actions{display:flex;gap:.6rem 1rem;flex-wrap:wrap;}
.consent-options label{display:flex;align-items:center;gap:.5rem;min-height:44px;font-size:.9rem;}
.consent-options input{accent-color:#016977;width:18px;height:18px;}
.consent-actions{margin-top:.5rem;}
.consent-actions button{font:inherit;font-size:.86rem;min-height:44px;border:1px solid #016977;border-radius:8px;color:#fff;background:#016977;padding:.55rem .85rem;cursor:pointer;}
.consent-actions button:hover{background:#064951;}
.has-consent-panel .floating-whatsapp{visibility:hidden;}
@media(max-width:440px){.consent-panel{padding:.85rem;left:.5rem;right:.5rem;bottom:.5rem;}.consent-actions{gap:.5rem;}.consent-actions button{flex:1 1 8rem;}}
.checkout-main{padding-top:2.5rem;padding-bottom:4rem;max-width:72rem;min-height:65dvh;}
.checkout-main h1{font-size:2rem;margin:0 0 1rem;}
.checkout-main>p{max-width:65ch;margin-bottom:2rem;}
.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:start;}
.checkout-layout .form-group{margin-bottom:1.2rem;}
.checkout-layout label{display:block;font-weight:600;margin-bottom:.4rem;}
.checkout-summary{border-top:1px solid #536977;padding-top:1rem;min-height:12rem;}
.checkout-summary h2{font-size:1.35rem;margin:0 0 .5rem;}
.checkout-summary p{max-width:65ch;line-height:1.65;}
.checkout-summary .checkout-amount{font-size:2rem;font-weight:700;line-height:1.3;margin:.3rem 0 1rem;}
.checkout-amount-label{font-size:.9rem;margin-bottom:0;}
.checkout-contact{display:inline-block;margin-top:.5rem;text-decoration:underline;text-underline-offset:.2em;}
.checkout-under-four{font-size:.95rem;font-weight:400!important;margin-bottom:1.25rem;}
.checkout-layout button:disabled{opacity:.62;cursor:not-allowed;}
@media(max-width:700px){.checkout-layout{grid-template-columns:1fr;gap:2rem;}.checkout-main{padding-top:1.5rem;}.checkout-main h1{font-size:1.7rem;}}
.measurement-main{max-width:72rem;}
.measurement-main>p{max-width:72ch;}
.measurement-main h2{margin:2rem 0 .75rem;font-size:1.35rem;}
.measurement-main dt{font-weight:700;margin-top:1rem;}
.measurement-main dd{margin:.3rem 0 1rem;max-width:72ch;}
.measurement-actions{display:flex;gap:1rem;flex-wrap:wrap;margin:1rem 0;}
.measurement-table-wrap{overflow-x:auto;}
.measurement-table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem;}
.measurement-table caption{text-align:left;font-weight:700;padding:.8rem 0;}
.measurement-table th,.measurement-table td{padding:.75rem;border-bottom:1px solid #64748b;vertical-align:top;overflow-wrap:anywhere;}
.measurement-table td{max-width:55ch;}
#measurement-server-form{max-width:34rem;}
#measurement-server-form label{display:block;margin:.75rem 0 .35rem;font-weight:600;}
#measurement-server-form button{margin-top:.75rem;}
.checkout-test-notice {padding:1rem;border:2px solid currentColor;border-radius:.5rem;font-weight:700;}
.checkout-test-notice[hidden] {display:none;}

/* Bay fares: compare the individual rate with the complete price for two. */
.rumba-pricing { --rumba-price-accent:#086574;margin:1.25rem 0 1rem;padding:1.2rem 0;border-block:1px solid var(--color-sand-muted);color:var(--color-navy-deep); }
.rumba-fares { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin:0; }
.rumba-fare { min-width:0; }
.rumba-fare + .rumba-fare { padding-left:1.5rem;border-left:1px solid var(--color-sand-muted); }
.rumba-fare dt { font-size:.9rem;font-weight:650;margin-bottom:.4rem; }
.rumba-fare dd { margin:0;line-height:1.25; }
.rumba-fare-amount { font-size:clamp(1.55rem,2.7vw,2rem);font-weight:750;letter-spacing:-.035em;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap; }
.rumba-fare-currency { display:inline-block;font-size:.7rem;font-weight:650; }
.rumba-fare-unit { display:block;font-size:.78rem;margin-top:.35rem;color:var(--color-text-secondary); }
.rumba-fare-couple dt,.rumba-fare-couple .rumba-fare-amount { color:var(--rumba-price-accent); }
.rumba-fare-saving { color:var(--rumba-price-accent);font-size:.8rem;font-weight:650;line-height:1.5;margin:.9rem 0 0; }
.rumba-fare-note { color:var(--color-text-secondary);font-size:.75rem;line-height:1.55;margin:.45rem 0 0; }
.bay-grid .card-actions { flex-wrap:wrap; }
.bay-grid .card-actions .btn-primary { order:-1;flex:1 1 100%;min-height:48px; }
@media(max-width:400px) {
  .rumba-fares { gap:.9rem; }
  .rumba-fare + .rumba-fare { padding-left:.9rem; }
  .rumba-fare-amount { font-size:1.4rem; }
  .rumba-fare-currency { display:block;margin-top:.2rem; }
}
.rumba-trip-facts { font-size:.82rem;line-height:1.65;color:var(--color-navy-deep);margin:.8rem 0 0; }
.rumba-trip-facts span { display:block;margin-top:.35rem;font-weight:650; }

/* We Got It: illustrative presentation, then separate real videos on request. */
.bay-grid > .experience-card + .experience-card { margin-top:2.5rem; }
.wgi-card { scroll-margin-top:calc(var(--header-height) + 76px); }
.wgi-card .card-media-wrapper { background:var(--color-navy-darkest); }
.wgi-commercial { width:100%; }
.wgi-illustration { padding:.55rem 1rem;color:#e0e8ed;background:var(--color-navy-darkest);font-size:.72rem;margin:0; }
.wgi-duration { margin:1rem 0 .8rem;font-size:1rem;font-weight:700;color:var(--color-navy-deep); }
.wgi-inclusions { padding-left:1.15rem;margin:0 0 1.5rem;line-height:1.8;font-size:.9rem; }
.wgi-card .card-actions .btn-primary { flex-basis:100%; }
.wgi-evidence { grid-column:1/-1;padding:1.25rem clamp(1.15rem,2vw,1.8rem);border-top:1px solid var(--color-sand-muted); }
.wgi-evidence > summary { cursor:pointer;font-weight:700;color:var(--color-navy-deep);min-height:44px;line-height:1.5;padding:.55rem 0; }
.wgi-evidence > summary:focus-visible { outline:3px solid #086574;outline-offset:4px; }
.wgi-evidence-body > p { color:var(--color-text-secondary);font-size:.9rem;line-height:1.6;margin:0 0 1rem; }
.wgi-evidence-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem; }
.wgi-evidence-grid figure { min-width:0;margin:0; }
.wgi-evidence-grid video { display:block;width:100%;height:320px;object-fit:contain;background:var(--color-navy-darkest); }
.wgi-evidence-grid figcaption { padding:.65rem 0;font-size:.85rem;font-weight:650;color:var(--color-navy-deep); }
.wgi-static-hero { max-width:1050px;margin:1.5rem 0; }
@media(max-width:700px) {
 .wgi-evidence-grid { grid-template-columns:minmax(0,1fr); }
 .wgi-evidence-grid video { height:280px; }
 .wgi-card { scroll-margin-top:calc(var(--header-height) + 68px); }
}
.wgi-card .card-media-wrapper { display:grid;align-items:center; }
.bay-grid .wgi-card .card-media-wrapper { aspect-ratio:auto;height:auto;min-height:0;overflow:visible; }

/* Un solo montaje debajo del anuncio de We Got It. */
.wgi-montage > h4 { margin:0 0 .5rem;color:var(--color-navy-deep);font-size:1.15rem;line-height:1.4; }
.wgi-montage .wgi-evidence-body > video { display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:var(--color-navy-darkest);border-radius:8px; }

/* Punto de encuentro: una sola ubicación, sin etapas ficticias. */
#el-abordaje .journey-timeline { display:block; }
#el-abordaje .journey-step { display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center; }
#el-abordaje .journey-media { aspect-ratio:16/10; }
#el-abordaje .journey-content { padding:clamp(1.25rem,3vw,2.5rem); }
@media(max-width:700px){ #el-abordaje .journey-step { grid-template-columns:minmax(0,1fr); } }

.meeting-video-link { margin-top:1rem; }
.meeting-credit { margin:.65rem 0 0;font-size:.75rem;color:var(--color-text-secondary); }

#el-abordaje .meeting-access-card { display:block; max-width:760px; margin-inline:auto; }
