@font-face {
  font-family: "Manrope";
  src: url("/public/fonts/manrope-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}

@font-face {
  font-family: "Space Mono";
  src: url("/public/fonts/space-mono-regular-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  --v2-ink: #102a27;
  --v2-ink-soft: #4f6560;
  --v2-deep: #071c19;
  --v2-sea: #167477;
  --v2-sea-soft: #d9ece8;
  --v2-sand: #f6f1e7;
  --v2-paper: #fffdf7;
  --v2-gold: #d8af3d;
  --v2-coral: #d96c55;
  --v2-line: rgba(16, 42, 39, 0.14);
  --v2-shadow: 0 26px 70px -46px rgba(7, 28, 25, 0.58);

  /* The generated inner pages use the V1 token names. Keep them as aliases
     rather than introducing a second palette or changing the contract. */
  --ink-900: var(--v2-ink);
  --ink-800: #23423d;
  --ink-700: var(--v2-ink-soft);
  --ink-600: #667873;
  --mangrove-950: var(--v2-deep);
  --mangrove-900: #0b2722;
  --forest-700: #174936;
  --lagoon-700: var(--v2-sea);
  --lagoon-500: #258b8a;
  --lagoon-300: #79c9c0;
  --lagoon-100: #d7e5dc;
  --sea-700: var(--v2-sea);
  --sea-600: var(--v2-sea);
  --sea-500: #258b8a;
  --shell-50: var(--v2-paper);
  --sand-50: var(--v2-sand);
  --sand-100: #e8d5ab;
  --ylang-300: #f0d995;
  --ylang-400: var(--v2-gold);
  --coral-500: var(--v2-coral);
  --font-body: "Manrope", system-ui, sans-serif;
  --font-display: Georgia, "Times New Roman", serif;
  --font-code: "Space Mono", monospace;
  --shadow-lift: 0 34px 76px -34px rgba(7, 28, 25, 0.48);
  --spacing: 0.25rem;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: var(--v2-sand);
}

body.v2-page {
  min-width: 320px;
  margin: 0;
  overflow-x: clip;
  background:
    radial-gradient(circle at 92% 5%, rgba(216, 175, 61, 0.13), transparent 24rem),
    var(--v2-sand);
  color: var(--v2-ink);
  font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  min-height: 100vh;
  text-rendering: optimizeLegibility;
}

body.v2-page a {
  color: inherit;
}

body.v2-page a:focus-visible,
body.v2-page button:focus-visible,
body.v2-page input:focus-visible,
body.v2-page select:focus-visible,
body.v2-page textarea:focus-visible {
  outline: 3px solid var(--v2-gold);
  outline-offset: 3px;
}

.v2-skip-link {
  position: absolute;
  z-index: 100;
  top: 0.65rem;
  left: 0.85rem;
  min-height: 2.75rem;
  padding: 0.65rem 0.9rem;
  border-radius: 999px;
  background: var(--v2-gold);
  color: var(--v2-deep) !important;
  font-size: 0.78rem;
  font-weight: 800;
  transform: translateY(-180%);
  transition: transform 180ms ease;
}

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

.v2-site-header {
  position: sticky;
  z-index: 40;
  top: 0;
  border-bottom: 1px solid rgba(16, 42, 39, 0.11);
  background: rgba(246, 241, 231, 0.9);
  box-shadow: 0 14px 44px -38px rgba(7, 28, 25, 0.7);
  backdrop-filter: blur(18px);
}

.v2-header-inner,
.v2-nav-inner,
.v2-footer-inner {
  width: min(100% - 2rem, 90rem);
  margin-inline: auto;
}

.v2-header-inner {
  display: flex;
  min-width: 0;
  min-height: 4.5rem;
  align-items: center;
  gap: 1rem;
}

.v2-brand,
.v2-footer-logo {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: 0.55rem;
  color: var(--v2-ink) !important;
  text-decoration: none;
}

.v2-brand {
  flex: 0 0 auto;
  min-width: 0;
  letter-spacing: -0.045em;
}

.v2-brand-mark {
  display: block;
  flex: 0 0 auto;
  width: auto;
  height: 3.25rem;
  aspect-ratio: 1103 / 1426;
  object-fit: contain;
}

.v2-brand-name {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.35rem, 2.1vw, 1.8rem);
  font-weight: 700;
  white-space: nowrap;
}

.v2-brand-place {
  padding-left: 0.7rem;
  border-left: 1px solid var(--v2-line);
  color: var(--v2-ink-soft);
  font-family: "Space Mono", monospace;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.v2-header-actions {
  display: flex;
  flex-shrink: 1;
  flex-wrap: nowrap;
  min-width: 0;
  align-items: center;
  gap: 0.55rem;
  margin-left: auto;
}

.v2-language-switcher {
  display: inline-flex;
  align-items: center;
  gap: 0.18rem;
  padding: 0.18rem;
  border: 1px solid var(--v2-line);
  border-radius: 999px;
  background: rgba(255, 253, 247, 0.7);
}

.v2-language {
  display: inline-flex;
  min-width: 2.45rem;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding: 0.35rem 0.55rem;
  border-radius: 999px;
  color: var(--v2-ink-soft) !important;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-decoration: none;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.v2-language:hover {
  color: var(--v2-ink) !important;
  transform: translateY(-1px);
}

.v2-language--active {
  background: var(--v2-deep);
  color: #fffdf7 !important;
  box-shadow: 0 7px 16px -12px rgba(7, 28, 25, 0.9);
}

.v2-header-cta,
.v2-call-cta,
.v2-menu-contact a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 800;
  text-decoration: none;
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease;
}

.v2-header-cta {
  gap: 0.5rem;
  padding: 0.65rem 1rem;
  background: var(--v2-deep);
  color: #fffdf7 !important;
}

.v2-call-cta {
  gap: 0.4rem;
  padding: 0.55rem 0.85rem;
  border: 1px solid var(--v2-line);
}

.v2-header-cta:hover,
.v2-call-cta:hover,
.v2-menu-contact a:hover {
  transform: translateY(-1px);
}

.v2-call-cta span {
  display: none;
}

.v2-menu-toggle {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 0.85rem;
  border: 1px solid var(--v2-line);
  border-radius: 999px;
  background: rgba(255, 253, 247, 0.7);
  color: var(--v2-ink);
  cursor: pointer;
  font: inherit;
  font-size: 0.75rem;
  font-weight: 800;
}

.v2-direct-nav {
  border-top: 1px solid rgba(16, 42, 39, 0.08);
  background: rgba(255, 253, 247, 0.56);
}

.v2-nav-inner {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 0.15rem;
  overflow-x: auto;
  scrollbar-width: none;
}

.v2-nav-inner::-webkit-scrollbar {
  display: none;
}

.v2-nav-link {
  display: inline-flex;
  min-height: 2.85rem;
  flex: 1 0 auto;
  align-items: center;
  justify-content: center;
  padding: 0.45rem 0.55rem;
  border-bottom: 2px solid transparent;
  color: var(--v2-ink-soft) !important;
  font-size: 0.71rem;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}

.v2-nav-link:hover,
.v2-nav-link.is-active {
  border-bottom-color: var(--v2-sea);
  color: var(--v2-ink) !important;
}

.v2-menu-panel {
  border-top: 1px solid rgba(16, 42, 39, 0.1);
  background: rgba(255, 253, 247, 0.98);
  box-shadow: 0 30px 70px -48px rgba(7, 28, 25, 0.76);
}

.v2-menu-grid {
  display: grid;
  width: min(100% - 2rem, 90rem);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.6rem;
  margin-inline: auto;
  padding-block: 1rem;
}

.v2-menu-group {
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid var(--v2-line);
  border-radius: 1rem;
  background: rgba(246, 241, 231, 0.42);
}

.v2-menu-group-title {
  margin: 0 0 0.65rem;
  color: var(--v2-sea);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.v2-menu-group-links {
  display: grid;
  gap: 0.4rem;
}

.v2-menu-link {
  display: flex;
  min-height: 3rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 1rem;
  border: 1px solid var(--v2-line);
  border-radius: 1rem;
  background: rgba(246, 241, 231, 0.5);
  color: var(--v2-ink) !important;
  font-size: 0.83rem;
  font-weight: 800;
  text-decoration: none;
}

.v2-menu-link:hover,
.v2-menu-link.is-active {
  border-color: rgba(22, 116, 119, 0.5);
  background: var(--v2-sea-soft);
}

.v2-menu-contact {
  display: flex;
  width: min(100% - 2rem, 90rem);
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-inline: auto;
  padding: 0 0 1rem;
}

.v2-menu-languages {
  display: flex;
  width: min(100% - 2rem, 90rem);
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-inline: auto;
  padding: 0 0 0.8rem;
}

.v2-menu-languages > span {
  color: var(--v2-ink-soft);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.v2-menu-contact a {
  min-height: 2.4rem;
  padding: 0.4rem 0.8rem;
  border: 1px solid var(--v2-line);
  background: var(--v2-paper);
  color: var(--v2-ink) !important;
}

.v2-page > #main-content {
  min-height: 50vh;
}

/* The V1 main keeps its semantic structure and copy. These rules give its
   Tailwind class names a Light Cinematic baseline when no V1 stylesheet is
   shipped with the generated branch. */
.v2-page main {
  min-width: 0;
  max-width: 100%;
  width: min(100% - 2rem, 90rem);
  margin-inline: auto;
  padding-block: clamp(3rem, 7vw, 7rem);
}

.v2-page main > section,
.v2-page main > article,
.v2-page main > div {
  margin-inline: auto;
}

.v2-page main h1,
.v2-page main h2,
.v2-page main h3,
.v2-page main h4 {
  max-width: 21ch;
  margin: 0.7em 0 0.35em;
  color: var(--v2-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 0.98;
  text-wrap: balance;
}

.v2-page main h1 {
  font-size: clamp(2.5rem, 6vw, 5.7rem);
}

.v2-page main h2 {
  font-size: clamp(2rem, 4.2vw, 4rem);
}

.v2-page main h3 {
  font-size: clamp(1.4rem, 2.4vw, 2.2rem);
}

.v2-page main p,
.v2-page main li {
  color: var(--v2-ink-soft);
}

.v2-page main p {
  max-width: 72ch;
}

.v2-page main a:not(.v2-brand) {
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.16em;
}

.v2-page main a:hover {
  color: var(--v2-sea) !important;
}

.v2-page main img {
  max-width: 100%;
  height: auto;
  border-radius: 1rem;
}

.v2-page main figure {
  margin: 1.5rem 0;
}

.v2-page main figcaption {
  margin-top: 0.6rem;
  color: var(--v2-ink-soft);
  font-size: 0.78rem;
}

.v2-page main .relative {
  position: relative;
}

.v2-page main .absolute {
  position: absolute;
}

.v2-page main .inset-0 {
  inset: 0;
}

.v2-page main .object-cover {
  object-fit: cover;
}

.v2-page main .h-full {
  height: 100%;
}

.v2-page main .w-full {
  width: 100%;
}

.v2-page main .overflow-hidden {
  overflow: hidden;
}

.v2-page main .surface-card {
  border: 1px solid rgba(16, 42, 39, 0.11);
  border-radius: 1.35rem;
  background: rgba(255, 253, 247, 0.78);
  box-shadow: var(--v2-shadow);
}

.v2-page main [class~="grid"] {
  display: grid;
}

.v2-page main [class~="flex"] {
  display: flex;
}

/* Imported V1 actions often arrive as a bare flex row. Keep adjacent calls
   readable and keep every link comfortably tappable without relying on the
   original utility stylesheet. */
.v2-page main [class~="flex"]:not([class~="overflow-x-auto"]):has(> a + a) {
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8rem;
}

.v2-page main [class~="flex"]:not([class~="overflow-x-auto"]):has(> a + a) > a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 1rem;
  border: 1px solid rgba(16, 42, 39, 0.16);
  border-radius: 999px;
  text-decoration: none;
}

.v2-page main [class~="flex"]:not([class~="overflow-x-auto"]):has(> a + a) > a:hover {
  border-color: rgba(22, 116, 119, 0.55);
  background: var(--v2-sea-soft);
}

/* The about/portrait hero is intentionally one column through tablet and
   laptop widths. It gets its editorial split only once there is real room
   for both the copy and the tall portrait. */
.v2-page main > section:first-of-type:has(> div:nth-child(2) > div > img) {
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 90rem) {
  .v2-page main > section:first-of-type:has(> div:nth-child(2) > div > img) {
    grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.95fr);
    align-items: center;
  }
}

.v2-page main table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--v2-line);
  border-radius: 1rem;
  background: rgba(255, 253, 247, 0.65);
}

.v2-page main th,
.v2-page main td {
  padding: 0.8rem 0.9rem;
  border-bottom: 1px solid var(--v2-line);
  text-align: left;
  vertical-align: top;
}

.v2-page main th {
  color: var(--v2-ink);
  font-size: 0.77rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.v2-page main blockquote {
  margin: 2rem 0;
  padding: 1rem 1.3rem;
  border-left: 3px solid var(--v2-gold);
  background: rgba(216, 175, 61, 0.08);
  color: var(--v2-ink);
}

.v2-page main hr {
  margin-block: 2.2rem;
  border: 0;
  border-top: 1px solid var(--v2-line);
}

.v2-page main form {
  display: grid;
  gap: 1rem;
  max-width: 52rem;
  padding: clamp(1.2rem, 3vw, 2rem);
  border: 1px solid var(--v2-line);
  border-radius: 1.3rem;
  background: rgba(255, 253, 247, 0.7);
}

.v2-page main input,
.v2-page main select,
.v2-page main textarea {
  width: 100%;
  min-height: 2.8rem;
  padding: 0.7rem 0.8rem;
  border: 1px solid var(--v2-line);
  border-radius: 0.75rem;
  background: var(--v2-paper);
  color: var(--v2-ink);
  font: inherit;
}

/* Importantly, server-rendered V1 utility classes must not leave the primary
   copy hidden or off-canvas in this standalone front. */
.v2-page main [class*="opacity-0"],
.v2-page main [style*="opacity: 0"],
.v2-page main [style*="opacity:0"] {
  opacity: 1 !important;
  visibility: visible !important;
}

.v2-page main [class*="translate-x"],
.v2-page main [class*="translate-y"],
.v2-page main [class*="-translate"] {
  transform: none !important;
}

.v2-site-footer {
  position: relative;
  padding: clamp(3rem, 6vw, 5.5rem) 0 2rem;
  border-top: 1px solid var(--v2-line);
  background: var(--v2-paper);
}

.v2-sticky-cta {
  position: static;
  z-index: 35;
  display: flex;
  width: min(calc(100% - 2rem), 22rem);
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  margin: 1rem auto 1.25rem;
  padding: 0.65rem 0.95rem;
  border: 1px solid rgba(255, 253, 247, 0.2);
  border-radius: 999px;
  background: var(--v2-deep);
  box-shadow: 0 18px 36px -22px rgba(7, 28, 25, 0.88);
  color: #fffdf7 !important;
  font-size: 0.72rem;
  font-weight: 800;
  text-decoration: none;
}

.v2-sticky-cta:hover {
  background: var(--v2-sea);
  transform: translateY(-1px);
}

.v2-footer-inner {
  display: grid;
  grid-template-columns: minmax(15rem, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(2.5rem, 7vw, 7rem);
}

.v2-footer-logo {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.5rem;
  font-weight: 700;
}

.v2-footer-logo span {
  margin-inline: 0.25rem;
  color: var(--v2-coral);
}

.v2-footer-brand p {
  max-width: 24ch;
  color: var(--v2-ink-soft);
}

.v2-footer-contact {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
  margin: 1.1rem 0 1.5rem;
  font-size: 0.79rem;
  font-weight: 800;
}

.v2-footer-contact a,
.v2-footer-nav a {
  text-decoration: none;
}

.v2-footer-contact a:hover,
.v2-footer-nav a:hover {
  color: var(--v2-sea) !important;
}

.v2-footer-brand small {
  color: var(--v2-ink-soft);
  font-size: 0.7rem;
}

.v2-footer-nav > p {
  margin: 0 0 0.75rem;
  color: var(--v2-sea);
  font-family: "Space Mono", monospace;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.v2-footer-nav > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 1rem;
}

.v2-footer-nav a {
  display: inline-flex;
  min-height: 2.8rem;
  align-items: center;
  border-bottom: 1px solid rgba(16, 42, 39, 0.1);
  color: var(--v2-ink) !important;
  font-size: 0.79rem;
  font-weight: 800;
}

@media (min-width: 82rem) {
  .v2-call-cta span {
    display: inline;
  }
}

@media (max-width: 62rem) {
  .v2-nav-link {
    font-size: 0.66rem;
  }

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

@media (max-width: 72rem) {
  .v2-brand-place,
  .v2-desktop-only,
  .v2-direct-nav {
    display: none;
  }

  .v2-menu-toggle {
    display: inline-flex;
  }
}

@media (max-width: 48rem) {
  .v2-header-inner,
  .v2-nav-inner,
  .v2-footer-inner,
  .v2-menu-grid,
  .v2-menu-languages,
  .v2-menu-contact {
    width: min(100% - 1.25rem, 90rem);
  }

  .v2-site-header {
    position: relative;
  }

  .v2-brand-place,
  .v2-desktop-only,
  .v2-direct-nav {
    display: none;
  }

  .v2-menu-toggle {
    display: inline-flex;
  }

  .v2-language {
    min-width: 2.1rem;
    padding-inline: 0.4rem;
  }

  .v2-menu-grid {
    grid-template-columns: 1fr;
  }

  .v2-footer-inner {
    grid-template-columns: 1fr;
    gap: 2.3rem;
  }

  .v2-footer-nav > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 30rem) {
  .v2-header-actions > .v2-language-switcher {
    display: none;
  }
}

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

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

/* Editorial architecture: purpose-built pages instead of generic card stacks. */
body.v2-page main.v2-editorial-flow {
  display: block !important;
  width: min(calc(100% - 2rem), 72rem);
  margin-inline: auto;
  padding: clamp(2.5rem, 6vw, 5.5rem) 0 clamp(4rem, 8vw, 7rem);
}

body.v2-page main.v2-editorial-flow > section {
  width: 100%;
  max-width: none;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.v2-page main.v2-editorial-flow > section.v2-media-spread {
  display: grid;
  grid-template-columns: minmax(17rem, 0.72fr) minmax(0, 1.08fr);
  align-items: center;
  gap: clamp(2rem, 7vw, 6rem);
  overflow: visible;
  padding: 0;
}

body.v2-page main.v2-editorial-flow > .v2-media-spread > figure {
  width: 100%;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 2 / 3;
  background: #d9e5e2;
}

body.v2-page main.v2-editorial-flow > .v2-media-spread > figure img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0 !important;
  object-fit: cover;
}

body.v2-page main.v2-editorial-flow > .v2-profile-lead > figure img,
body.v2-page main.v2-editorial-flow > .v2-about-lead > figure img {
  object-position: 50% 12%;
}

body.v2-page main.v2-editorial-flow > .v2-gift-lead > figure img {
  object-position: center;
}

body.v2-page main.v2-editorial-flow > .v2-media-spread > .v2-media-spread__copy {
  display: block;
  min-width: 0;
}

.v2-editorial-kicker {
  margin: 0 0 1rem;
  color: var(--v2-sea) !important;
  font-family: "Space Mono", monospace;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

body.v2-page main.v2-editorial-flow h1 {
  max-width: 12ch;
  margin: 0;
  color: var(--v2-ink);
  font-size: clamp(3rem, 6.2vw, 6rem);
  font-weight: 500;
  letter-spacing: -0.055em;
  line-height: 0.92;
}

body.v2-page main.v2-editorial-flow .v2-editorial-lead {
  max-width: 58ch;
  margin: clamp(1.4rem, 3vw, 2.2rem) 0 0;
  color: var(--v2-ink-soft) !important;
  font-size: clamp(1.05rem, 1.7vw, 1.27rem);
  line-height: 1.78;
}

.v2-editorial-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: clamp(1.6rem, 4vw, 2.8rem);
}

.v2-action-primary,
.v2-action-secondary {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  padding: 0.78rem 1.05rem;
  border: 1px solid var(--v2-deep);
  border-radius: 0.25rem;
  font-size: 0.78rem;
  font-weight: 800;
  text-decoration: none !important;
}

.v2-action-primary {
  background: var(--v2-deep);
  color: var(--v2-paper) !important;
}

.v2-action-secondary {
  background: transparent;
  color: var(--v2-deep) !important;
}

body.v2-page main.v2-editorial-flow > .v2-editorial-section {
  display: grid;
  grid-template-columns: minmax(12rem, 0.45fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 6vw, 5rem);
  margin-top: clamp(3.5rem, 8vw, 7rem);
  padding-top: clamp(2rem, 5vw, 4rem);
  border-top: 1px solid rgba(16, 42, 39, 0.18);
}

body.v2-page main.v2-editorial-flow > .v2-editorial-section h2 {
  margin: 0;
  color: var(--v2-ink);
  font-size: clamp(2.2rem, 4.6vw, 4.4rem);
  font-weight: 500;
  line-height: 0.98;
}

body.v2-page main.v2-editorial-flow > .v2-editorial-section > p:last-child {
  max-width: 58ch;
  margin: 0;
  color: var(--v2-ink-soft) !important;
  font-size: 1.05rem;
  line-height: 1.8;
}

.v2-fact-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(16, 42, 39, 0.16);
}

.v2-fact-list li {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1.1rem 0;
  border-bottom: 1px solid rgba(16, 42, 39, 0.14);
}

.v2-fact-list span {
  color: var(--v2-sea);
  font-family: "Space Mono", monospace;
  font-size: 0.68rem;
}

.v2-fact-list p {
  margin: 0;
  color: var(--v2-ink) !important;
}

body.v2-page main[data-v2-page-type="review"] > section.v2-review-contribution {
  display: block !important;
  width: min(100%, 56rem);
  margin: 0;
  padding: clamp(2.5rem, 7vw, 6rem) 0;
  border-block: 1px solid rgba(16, 42, 39, 0.18);
}

.v2-review-prompts {
  display: grid;
  margin: clamp(2rem, 5vw, 4rem) 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(16, 42, 39, 0.16);
}

.v2-review-prompts li {
  display: grid;
  min-height: 4rem;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  border-bottom: 1px solid rgba(16, 42, 39, 0.14);
  color: var(--v2-ink);
}

.v2-review-prompts span {
  color: var(--v2-sea);
  font-family: "Space Mono", monospace;
  font-size: 0.68rem;
}

.v2-excursion-groups {
  display: grid;
  gap: clamp(4rem, 8vw, 7rem);
  margin-top: clamp(3.5rem, 7vw, 6rem);
}

.v2-page main[data-v2-page-type="excursion-index"] .v2-hub-group {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.v2-page main[data-v2-page-type="excursion-index"] .v2-hub-group > h2 {
  margin: 0 0 clamp(1.5rem, 3vw, 2.5rem);
  padding-top: 1rem;
  border-top: 1px solid rgba(16, 42, 39, 0.2);
  color: var(--v2-ink);
  font-size: clamp(2.3rem, 4.5vw, 4.2rem);
  font-weight: 500;
}

.v2-hub-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.25rem, 2.5vw, 2rem);
}

.v2-hub-card {
  display: block;
  min-width: 0;
  color: var(--v2-ink) !important;
  text-decoration: none !important;
}

.v2-hub-card figure {
  position: relative;
  width: 100%;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #d9e5e2;
}

.v2-hub-card img {
  width: 100%;
  height: 100%;
  border-radius: 0 !important;
  object-fit: cover;
  transition: transform 420ms ease;
}

.v2-hub-card:hover img {
  transform: scale(1.025);
}

.v2-hub-card__price {
  position: absolute;
  top: 0.8rem;
  left: 0.8rem;
  max-width: calc(100% - 1.6rem);
  padding: 0.45rem 0.6rem;
  border-radius: 0.2rem;
  background: rgba(7, 28, 25, 0.84);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 800;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.v2-hub-card > div {
  padding-top: 1rem;
}

.v2-hub-card h3 {
  margin: 0;
  color: var(--v2-ink);
  font-size: clamp(1.45rem, 2.3vw, 2.1rem);
  font-weight: 500;
  line-height: 1.05;
}

.v2-hub-card__action {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 0.45rem;
  margin-top: 0.55rem;
  color: var(--v2-sea);
  font-size: 0.74rem;
  font-weight: 800;
}

.v2-page [data-v2-nature-nav] {
  position: static !important;
  inset: auto !important;
  z-index: auto;
  background: transparent;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.v2-page [data-v2-nature-nav] > div {
  display: flex !important;
  overflow-x: auto !important;
  padding-block: 0.6rem !important;
  scrollbar-width: thin;
}

.v2-page [data-v2-nature-nav] a {
  display: inline-flex;
  min-height: 44px;
  flex: 0 0 auto;
  align-items: center;
  padding: 0.65rem 1rem;
  border-right: 1px solid rgba(16, 42, 39, 0.14);
  color: var(--v2-ink) !important;
  font-size: 0.76rem;
  font-weight: 700;
  text-decoration: none;
}

.v2-calendar-range {
  display: none;
}

.v2-calendar-range-status {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

/* Shorter excursion pages: retain facts, remove repetitive depth. */
.v2-page main .v2-excursion-content {
  padding-block: clamp(3.25rem, 6vw, 5.5rem) clamp(3.75rem, 7vw, 6rem) !important;
}

.v2-page main :is(.v2-excursion-overview, .v2-excursion-facts, .v2-excursion-inclusions, .v2-excursion-contact, .v2-excursion-faq) {
  margin-top: clamp(2.75rem, 5vw, 4.5rem);
}

.v2-page main > .v2-excursion-related {
  padding-block: clamp(3.5rem, 6vw, 5.5rem) !important;
}

.v2-page main > .v2-excursion-related [class~="grid"]:has(> a.group.surface-card) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.v2-page main > .v2-excursion-related a.group.surface-card:nth-child(n + 3) {
  display: none;
}

body.v2-page:has(main:is([data-v2-page-type="excursion-detail"], [data-v2-page-type="north-expedition"])) .v2-sticky-cta {
  display: none;
}

@media (max-width: 48rem) {
  body.v2-page main.v2-editorial-flow {
    width: calc(100% - 1.5rem);
    padding-top: 1.5rem;
  }

  body.v2-page main.v2-editorial-flow > section.v2-media-spread,
  body.v2-page main.v2-editorial-flow > .v2-editorial-section {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }

  body.v2-page main.v2-editorial-flow > .v2-media-spread > figure {
    max-height: 32rem;
    aspect-ratio: 4 / 5;
  }

  body.v2-page main.v2-editorial-flow h1 {
    font-size: clamp(2.7rem, 14vw, 4.4rem);
  }

  .v2-hub-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.5rem;
  }

  .v2-calendar-range {
    position: relative;
    display: flex;
    gap: 0.5rem;
    padding: 0.75rem;
    border-bottom: 1px solid rgba(16, 42, 39, 0.14);
  }

  .v2-calendar-range button {
    min-height: 44px;
    flex: 1 1 0;
    border: 1px solid rgba(16, 42, 39, 0.18);
    border-radius: 0.2rem;
    background: transparent;
    color: var(--v2-ink);
    font: inherit;
    font-size: 0.75rem;
    font-weight: 800;
  }

  .v2-calendar-range button[aria-pressed="true"] {
    border-color: var(--v2-sea);
    background: var(--v2-sea);
    color: #fff;
  }

  .v2-page .nature-guide-page #calendrier table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
  }

  .v2-page .nature-guide-page #calendrier thead th:first-child,
  .v2-page .nature-guide-page #calendrier tbody th {
    width: 7.5rem;
    min-width: 7.5rem;
    padding-inline: 0.55rem;
  }

  .v2-page .nature-guide-page #calendrier :is(th, td)[data-calendar-half] {
    width: auto;
    min-width: 0;
    padding-inline: 0.1rem;
  }

  .v2-page .nature-guide-page #calendrier tbody td > span:not(.v2-calendar-mark) {
    width: 0.72rem;
    height: 0.72rem;
    min-width: 0.72rem;
    overflow: hidden;
    color: transparent !important;
  }

  .v2-page main > .v2-excursion-related [class~="grid"]:has(> a.group.surface-card) {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* -------------------------------------------------------------------------
   Tailwind V1 compatibility layer

   The internal pages are static exports whose utility class names are still
   present, but whose generated utility stylesheet is intentionally not
   shipped. This small, explicit layer restores the layout primitives used
   by those pages while keeping the Light Cinematic tokens above authoritative.
   ------------------------------------------------------------------------- */

.v2-page,
.v2-page main,
.v2-page main > *,
.v2-page main > * > * {
  min-width: 0;
}

.v2-page img,
.v2-page video,
.v2-page iframe,
.v2-page svg {
  display: block;
  max-width: 100%;
}

.v2-page [hidden],
.v2-page [class~="hidden"] {
  display: none;
}

.v2-page [class~="block"] {
  display: block;
}

.v2-page [class~="inline-flex"] {
  display: inline-flex;
}

.v2-page [class~="flex"] {
  display: flex;
}

.v2-page [class~="grid"] {
  display: grid;
}

.v2-page [class~="relative"] {
  position: relative;
}

.v2-page [class~="absolute"] {
  position: absolute;
}

.v2-page [class~="sticky"] {
  position: sticky;
}

.v2-page [class~="inset-0"] {
  inset: 0;
}

.v2-page [class~="inset-x-0"] {
  right: 0;
  left: 0;
}

.v2-page [class~="top-4"] {
  top: 1rem;
}

.v2-page [class~="top-5"] {
  top: 1.25rem;
}

.v2-page [class~="top-16"] {
  top: 4rem;
}

.v2-page [class~="left-0"] {
  left: 0;
}

.v2-page [class~="left-4"] {
  left: 1rem;
}

.v2-page [class~="left-5"] {
  left: 1.25rem;
}

.v2-page [class~="bottom-0"] {
  bottom: 0;
}

.v2-page [class~="z-10"] {
  z-index: 10;
}

.v2-page [class~="z-30"] {
  z-index: 30;
}

.v2-page [class~="flex-col"] {
  flex-direction: column;
}

.v2-page [class~="flex-wrap"] {
  flex-wrap: wrap;
}

.v2-page [class~="flex-1"] {
  flex: 1 1 0%;
}

.v2-page [class~="shrink-0"] {
  flex-shrink: 0;
}

.v2-page [class~="items-center"] {
  align-items: center;
}

.v2-page [class~="items-start"] {
  align-items: flex-start;
}

.v2-page [class~="items-stretch"] {
  align-items: stretch;
}

.v2-page [class~="justify-between"] {
  justify-content: space-between;
}

.v2-page [class~="justify-center"] {
  justify-content: center;
}

.v2-page [class~="self-center"] {
  align-self: center;
}

.v2-page [class~="order-1"] {
  order: 1;
}

.v2-page [class~="order-2"] {
  order: 2;
}

.v2-page [class~="mx-auto"] {
  margin-inline: auto;
}

.v2-page [class~="mt-0"] {
  margin-top: 0;
}

.v2-page [class~="mt-1"] {
  margin-top: 0.25rem;
}

.v2-page [class~="mt-2"] {
  margin-top: 0.5rem;
}

.v2-page [class~="mt-3"] {
  margin-top: 0.75rem;
}

.v2-page [class~="mt-4"] {
  margin-top: 1rem;
}

.v2-page [class~="mt-5"] {
  margin-top: 1.25rem;
}

.v2-page [class~="mt-6"] {
  margin-top: 1.5rem;
}

.v2-page [class~="mt-7"] {
  margin-top: 1.75rem;
}

.v2-page [class~="mt-8"] {
  margin-top: 2rem;
}

.v2-page [class~="mt-10"] {
  margin-top: 2.5rem;
}

.v2-page [class~="mt-12"] {
  margin-top: 3rem;
}

.v2-page [class~="mt-14"] {
  margin-top: 3.5rem;
}

.v2-page [class~="mb-1"] {
  margin-bottom: 0.25rem;
}

.v2-page [class~="mb-3"] {
  margin-bottom: 0.75rem;
}

.v2-page [class~="mb-4"] {
  margin-bottom: 1rem;
}

.v2-page [class~="mb-6"] {
  margin-bottom: 1.5rem;
}

.v2-page [class~="mb-7"] {
  margin-bottom: 1.75rem;
}

.v2-page [class~="mb-8"] {
  margin-bottom: 2rem;
}

.v2-page [class~="mb-10"] {
  margin-bottom: 2.5rem;
}

.v2-page [class~="mb-12"] {
  margin-bottom: 3rem;
}

.v2-page [class~="ml-1"] {
  margin-left: 0.25rem;
}

.v2-page [class~="ml-2"] {
  margin-left: 0.5rem;
}

.v2-page [class~="pl-4"] {
  padding-left: 1rem;
}

.v2-page [class~="pl-5"] {
  padding-left: 1.25rem;
}

.v2-page [class~="pr-0"] {
  padding-right: 0;
}

.v2-page [class~="pr-2"] {
  padding-right: 0.5rem;
}

.v2-page [class~="p-3"] {
  padding: 0.75rem;
}

.v2-page [class~="p-4"] {
  padding: 1rem;
}

.v2-page [class~="p-5"] {
  padding: 1.25rem;
}

.v2-page [class~="p-6"] {
  padding: 1.5rem;
}

.v2-page [class~="p-8"] {
  padding: 2rem;
}

.v2-page [class~="px-1"] {
  padding-right: 0.25rem;
  padding-left: 0.25rem;
}

.v2-page [class~="px-2.5"] {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}

.v2-page [class~="px-3"] {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}

.v2-page [class~="px-4"] {
  padding-right: 1rem;
  padding-left: 1rem;
}

.v2-page [class~="px-5"] {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
}

.v2-page [class~="px-6"] {
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}

.v2-page [class~="px-7"] {
  padding-right: 1.75rem;
  padding-left: 1.75rem;
}

.v2-page [class~="py-1"] {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.v2-page [class~="py-2"] {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.v2-page [class~="py-3"] {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.v2-page [class~="py-4"] {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.v2-page [class~="py-10"] {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.v2-page [class~="py-16"] {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.v2-page [class~="py-20"] {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.v2-page [class~="pt-1"] {
  padding-top: 0.25rem;
}

.v2-page [class~="pt-3"] {
  padding-top: 0.75rem;
}

.v2-page [class~="pt-4"] {
  padding-top: 1rem;
}

.v2-page [class~="pt-6"] {
  padding-top: 1.5rem;
}

.v2-page [class~="gap-px"] {
  gap: 1px;
}

.v2-page [class~="gap-2"] {
  gap: 0.5rem;
}

.v2-page [class~="gap-3"] {
  gap: 0.75rem;
}

.v2-page [class~="gap-4"] {
  gap: 1rem;
}

.v2-page [class~="gap-5"] {
  gap: 1.25rem;
}

.v2-page [class~="gap-6"] {
  gap: 1.5rem;
}

.v2-page [class~="gap-8"] {
  gap: 2rem;
}

.v2-page [class~="gap-10"] {
  gap: 2.5rem;
}

.v2-page [class~="gap-12"] {
  gap: 3rem;
}

.v2-page [class~="space-y-0.5"] > :not(:last-child) {
  margin-block-end: 0.125rem;
}

.v2-page [class~="space-y-1"] > :not(:last-child) {
  margin-block-end: 0.25rem;
}

.v2-page [class~="space-y-2"] > :not(:last-child) {
  margin-block-end: 0.5rem;
}

.v2-page [class~="space-y-3"] > :not(:last-child) {
  margin-block-end: 0.75rem;
}

.v2-page [class~="space-y-4"] > :not(:last-child) {
  margin-block-end: 1rem;
}

.v2-page [class~="space-y-6"] > :not(:last-child) {
  margin-block-end: 1.5rem;
}

.v2-page [class~="space-y-8"] > :not(:last-child) {
  margin-block-end: 2rem;
}

.v2-page [class~="space-y-16"] > :not(:last-child) {
  margin-block-end: 4rem;
}

.v2-page [class~="max-w-xl"] {
  max-width: 36rem;
}

.v2-page [class~="max-w-2xl"] {
  max-width: 42rem;
}

.v2-page [class~="max-w-3xl"] {
  max-width: 48rem;
}

.v2-page [class~="max-w-4xl"] {
  max-width: 56rem;
}

.v2-page [class~="max-w-5xl"] {
  max-width: 64rem;
}

.v2-page [class~="max-w-6xl"] {
  max-width: 72rem;
}

.v2-page [class~="max-w-[1440px]"] {
  max-width: 90rem;
}

.v2-page [class~="w-full"] {
  width: 100%;
}

.v2-page [class~="w-auto"] {
  width: auto;
}

.v2-page [class~="min-w-14"] {
  min-width: 3.5rem;
}

.v2-page [class~="min-w-64"] {
  min-width: 16rem;
}

/* The original table width is useful inside its own scroller, but must not
   widen the page at the 354 px mobile acceptance width. */
.v2-page [class~="min-w-[980px]"] {
  min-width: min(61.25rem, 100%);
}

.v2-page [class~="h-1.5"] {
  height: 0.375rem;
}

.v2-page [class~="h-5"] {
  height: 1.25rem;
}

.v2-page [class~="h-6"] {
  height: 1.5rem;
}

.v2-page [class~="h-8"] {
  height: 2rem;
}

.v2-page [class~="h-9"] {
  height: 2.25rem;
}

.v2-page [class~="h-56"] {
  height: 14rem;
}

.v2-page [class~="h-72"] {
  height: 18rem;
}

.v2-page [class~="h-[470px]"] {
  height: 29.375rem;
}

.v2-page [class~="h-full"] {
  height: 100%;
}

.v2-page [class~="min-h-11"] {
  min-height: 2.75rem;
}

.v2-page [class~="min-h-12"],
.v2-page [class~="min-h-[3rem]"] {
  min-height: 3rem;
}

.v2-page [class~="min-h-56"] {
  min-height: 14rem;
}

.v2-page [class~="min-h-64"] {
  min-height: 16rem;
}

.v2-page [class~="min-h-80"] {
  min-height: 20rem;
}

.v2-page [class~="min-h-[17rem]"] {
  min-height: 17rem;
}

.v2-page [class~="min-h-[240px]"] {
  min-height: 15rem;
}

.v2-page [class~="min-h-[280px]"] {
  min-height: 17.5rem;
}

.v2-page [class~="min-h-[330px]"] {
  min-height: 20.625rem;
}

.v2-page [class~="min-h-[440px]"] {
  min-height: 27.5rem;
}

.v2-page [class~="min-h-[520px]"] {
  min-height: 32.5rem;
}

.v2-page [class~="min-h-screen"] {
  min-height: 100vh;
}

.v2-page [class~="aspect-[2/3]"] {
  aspect-ratio: 2 / 3;
}

.v2-page [class~="aspect-[4/3]"] {
  aspect-ratio: 4 / 3;
}

.v2-page [class~="object-cover"] {
  object-fit: cover;
}

.v2-page [class~="object-contain"] {
  object-fit: contain;
}

.v2-page [class~="object-center"] {
  object-position: center;
}

.v2-page [class~="object-top"] {
  object-position: top;
}

.v2-page [class~="object-[68%_45%]"] {
  object-position: 68% 45%;
}

.v2-page [class~="overflow-hidden"] {
  overflow: hidden;
}

.v2-page [class~="overflow-x-auto"] {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.v2-page [class~="rounded-lg"] {
  border-radius: 0.5rem;
}

.v2-page [class~="rounded-xl"] {
  border-radius: 0.75rem;
}

.v2-page [class~="rounded-2xl"] {
  border-radius: 1rem;
}

.v2-page [class~="rounded-full"] {
  border-radius: 9999px;
}

.v2-page [class~="rounded-[34px]"] {
  border-radius: 34px;
}

.v2-page [class~="rounded-[4px_28px_4px_28px]"] {
  border-radius: 4px 28px;
}

.v2-page [class~="rounded-[4px_34px_4px_34px]"] {
  border-radius: 4px 34px;
}

.v2-page [class~="rounded-[4px_38px_4px_38px]"] {
  border-radius: 4px 38px;
}

.v2-page [class~="rounded-[4px_44px_4px_44px]"] {
  border-radius: 4px 44px;
}

.v2-page [class~="border"] {
  border: 1px solid var(--v2-line);
}

.v2-page [class~="border-0"] {
  border-width: 0;
}

.v2-page [class~="border-b"] {
  border-bottom: 1px solid var(--v2-line);
}

.v2-page [class~="border-t"] {
  border-top: 1px solid var(--v2-line);
}

.v2-page [class~="border-y"] {
  border-top: 1px solid var(--v2-line);
  border-bottom: 1px solid var(--v2-line);
}

.v2-page [class~="border-dashed"] {
  border-style: dashed;
}

.v2-page [class~="border-collapse"] {
  border-collapse: collapse;
}

.v2-page [class~="border-white/10"] {
  border-color: rgb(255 255 255 / 0.1);
}

.v2-page [class~="border-white/12"] {
  border-color: rgb(255 255 255 / 0.12);
}

.v2-page [class~="border-white/18"] {
  border-color: rgb(255 255 255 / 0.18);
}

.v2-page [class~="border-white/20"] {
  border-color: rgb(255 255 255 / 0.2);
}

.v2-page [class~="border-white/70"] {
  border-color: rgb(255 255 255 / 0.7);
}

.v2-page [class*="border-[rgba"] {
  border-color: rgba(15, 45, 58, 0.14);
}

.v2-page [class~="bg-white"] {
  background-color: #fff;
}

.v2-page [class~="bg-white/55"] {
  background-color: rgb(255 255 255 / 0.55);
}

.v2-page [class~="bg-white/60"] {
  background-color: rgb(255 255 255 / 0.6);
}

.v2-page [class~="bg-white/62"] {
  background-color: rgb(255 255 255 / 0.62);
}

.v2-page [class~="bg-white/65"] {
  background-color: rgb(255 255 255 / 0.65);
}

.v2-page [class~="bg-white/70"] {
  background-color: rgb(255 255 255 / 0.7);
}

.v2-page [class~="bg-white/75"] {
  background-color: rgb(255 255 255 / 0.75);
}

.v2-page [class~="bg-white/80"] {
  background-color: rgb(255 255 255 / 0.8);
}

.v2-page [class~="bg-white/85"] {
  background-color: rgb(255 255 255 / 0.85);
}

.v2-page [class~="bg-white/90"] {
  background-color: rgb(255 255 255 / 0.9);
}

.v2-page [class~="bg-white/8"] {
  background-color: rgb(255 255 255 / 0.08);
}

.v2-page [class~="bg-white/[0.06]"] {
  background-color: rgb(255 255 255 / 0.06);
}

.v2-page [class~="bg-[color:var(--ink-900)]"] {
  background-color: var(--ink-900);
}

.v2-page [class~="bg-[color:var(--lagoon-100)]"] {
  background-color: var(--lagoon-100);
}

.v2-page [class~="bg-[color:var(--mangrove-900)]"] {
  background-color: var(--mangrove-900);
}

.v2-page [class~="bg-[color:var(--mangrove-950)]"] {
  background-color: var(--mangrove-950);
}

.v2-page [class~="bg-[color:var(--sand-100)]"] {
  background-color: var(--sand-100);
}

.v2-page [class~="bg-[color:var(--sand-50)]"] {
  background-color: var(--sand-50);
}

.v2-page [class~="bg-[color:var(--shell-50)]"] {
  background-color: var(--shell-50);
}

.v2-page [class~="bg-[color:var(--ylang-400)]"] {
  background-color: var(--ylang-400);
}

.v2-page [class~="bg-[#176b4f]"] {
  background-color: #176b4f;
}

.v2-page [class~="bg-[#eee2c9]"] {
  background-color: #eee2c9;
}

.v2-page [class~="bg-[#f0ece3]"] {
  background-color: #f0ece3;
}

.v2-page [class*="bg-[rgba"] {
  background-color: rgb(255 253 247 / 0.78);
}

.v2-page [class~="bg-[rgba(15,102,106,0.08)]"] {
  background-color: rgba(15, 102, 106, 0.08);
}

.v2-page [class~="bg-[rgba(15,45,58,0.05)]"] {
  background-color: rgba(15, 45, 58, 0.05);
}

.v2-page [class~="bg-[rgba(15,45,58,0.06)]"] {
  background-color: rgba(15, 45, 58, 0.06);
}

.v2-page [class~="bg-[rgba(16,42,39,0.08)]"] {
  background-color: rgba(16, 42, 39, 0.08);
}

.v2-page [class~="bg-[rgba(229,119,53,0.08)]"] {
  background-color: rgba(229, 119, 53, 0.08);
}

.v2-page [class~="bg-[rgba(229,119,53,0.18)]"] {
  background-color: rgba(229, 119, 53, 0.18);
}

.v2-page [class~="bg-[rgba(23,107,79,0.08)]"] {
  background-color: rgba(23, 107, 79, 0.08);
}

.v2-page [class~="bg-[rgba(232,213,171,0.32)]"] {
  background-color: rgba(232, 213, 171, 0.32);
}

.v2-page [class~="bg-[rgba(255,250,240,0.07)]"] {
  background-color: rgba(255, 250, 240, 0.07);
}

.v2-page [class~="bg-[rgba(255,250,240,0.72)]"] {
  background-color: rgba(255, 250, 240, 0.72);
}

.v2-page [class~="bg-[rgba(255,250,240,0.9)]"] {
  background-color: rgba(255, 250, 240, 0.9);
}

.v2-page [class~="bg-gradient-to-t"] {
  background-image: linear-gradient(to top, var(--v2-deep), transparent);
}

.v2-page [class~="from-black/45"] {
  --v2-gradient-from: rgb(0 0 0 / 0.45);
}

.v2-page [class~="via-black/5"] {
  --v2-gradient-via: rgb(0 0 0 / 0.05);
}

.v2-page [class~="to-transparent"] {
  --v2-gradient-to: transparent;
}

.v2-page [class~="bg-gradient-to-t"][class~="from-black/45"] {
  background-image: linear-gradient(to top, var(--v2-gradient-from), var(--v2-gradient-via), var(--v2-gradient-to));
}

.v2-page [class*="bg-[linear-gradient"] {
  background-image: linear-gradient(180deg, rgba(4, 22, 20, 0.02), rgba(4, 22, 20, 0.2));
}

.v2-page [class~="shadow-sm"] {
  box-shadow: 0 4px 10px -7px rgba(7, 28, 25, 0.42);
}

.v2-page [class~="shadow"] {
  box-shadow: var(--shadow-lift);
}

.v2-page [class~="shadow-[var(--shadow-lift)]"] {
  box-shadow: var(--shadow-lift);
}

.v2-page [class*="shadow-[0_32px"] {
  box-shadow: 0 32px 80px -52px rgba(0, 0, 0, 0.9);
}

.v2-page [class~="backdrop-blur"],
.v2-page [class~="backdrop-blur-xl"] {
  backdrop-filter: blur(12px);
}

.v2-page [class~="text-xs"] {
  font-size: 0.75rem;
  line-height: 1rem;
}

.v2-page [class~="text-sm"] {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.v2-page [class~="text-base"] {
  font-size: 1rem;
  line-height: 1.5rem;
}

.v2-page [class~="text-lg"] {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.v2-page [class~="text-xl"] {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.v2-page [class~="text-2xl"] {
  font-size: 1.5rem;
  line-height: 2rem;
}

.v2-page [class~="text-3xl"] {
  font-size: 1.875rem;
  line-height: 2.25rem;
}

.v2-page [class~="text-4xl"] {
  font-size: 2.25rem;
  line-height: 2.5rem;
}

.v2-page [class~="text-5xl"] {
  font-size: 3rem;
  line-height: 1;
}

.v2-page [class~="text-[0.65rem]"] {
  font-size: 0.65rem;
}

.v2-page [class~="text-[0.7rem]"] {
  font-size: 0.7rem;
}

.v2-page [class~="text-[0.72rem]"] {
  font-size: 0.72rem;
}

.v2-page [class~="text-[rgba(154,79,49,0.24)]"] {
  color: rgba(154, 79, 49, 0.24);
}

.v2-page [class~="text-[#176b4f]"] {
  color: #176b4f;
}

.v2-page [class~="text-[#90887b]"] {
  color: #90887b;
}

.v2-page [class~="text-[#a84c1f]"] {
  color: #a84c1f;
}

.v2-page [class~="text-[#e88a4a]"] {
  color: #e88a4a;
}

.v2-page [class~="text-[color:var(--ink-600)]"] {
  color: var(--ink-600);
}

.v2-page [class~="text-[color:var(--ink-700)]"] {
  color: var(--ink-700);
}

.v2-page [class~="text-[color:var(--ink-800)]"] {
  color: var(--ink-800);
}

.v2-page [class~="text-[color:var(--ink-900)]"] {
  color: var(--ink-900);
}

.v2-page [class~="text-[color:var(--lagoon-300)]"] {
  color: var(--lagoon-300);
}

.v2-page [class~="text-[color:var(--mangrove-950)]"] {
  color: var(--mangrove-950);
}

.v2-page [class~="text-[color:var(--sea-600)]"] {
  color: var(--sea-600);
}

.v2-page [class~="text-[color:var(--sea-700)]"] {
  color: var(--sea-700);
}

.v2-page [class~="text-[color:var(--v2-sea)]"] {
  color: var(--v2-sea);
}

.v2-page [class~="text-[color:var(--ylang-300)]"] {
  color: var(--ylang-300);
}

.v2-page [class~="text-[color:var(--ylang-400)]"] {
  color: var(--ylang-400);
}

.v2-page [class~="text-white"] {
  color: #fff;
}

.v2-page [class~="!text-white"] {
  color: #fff !important;
}

.v2-page [class~="!text-3xl"] {
  font-size: 1.875rem !important;
  line-height: 2.25rem !important;
}

.v2-page [class~="text-white/18"] {
  color: rgb(255 255 255 / 0.18);
}

.v2-page [class~="text-white/52"] {
  color: rgb(255 255 255 / 0.52);
}

.v2-page [class~="text-white/58"] {
  color: rgb(255 255 255 / 0.58);
}

.v2-page [class~="text-white/62"] {
  color: rgb(255 255 255 / 0.62);
}

.v2-page [class~="text-white/64"] {
  color: rgb(255 255 255 / 0.64);
}

.v2-page [class~="text-white/68"] {
  color: rgb(255 255 255 / 0.68);
}

.v2-page [class~="text-white/74"] {
  color: rgb(255 255 255 / 0.74);
}

.v2-page [class~="text-white/76"] {
  color: rgb(255 255 255 / 0.76);
}

.v2-page [class~="text-white/78"] {
  color: rgb(255 255 255 / 0.78);
}

.v2-page [class~="text-white/82"] {
  color: rgb(255 255 255 / 0.82);
}

.v2-page [class~="text-white/86"] {
  color: rgb(255 255 255 / 0.86);
}

.v2-page [class~="text-white/88"] {
  color: rgb(255 255 255 / 0.88);
}

.v2-page [class~="text-white/92"] {
  color: rgb(255 255 255 / 0.92);
}

.v2-page [class~="font-normal"] {
  font-weight: 400;
}

.v2-page [class~="font-medium"] {
  font-weight: 500;
}

.v2-page [class~="font-semibold"] {
  font-weight: 600;
}

.v2-page [class~="font-bold"] {
  font-weight: 700;
}

.v2-page [class~="font-[family-name:var(--font-display)]"] {
  font-family: var(--font-display);
}

.v2-page [class~="font-[family-name:var(--font-code)]"] {
  font-family: var(--font-code);
}

.v2-page [class~="font-[family:var(--font-body)]"] {
  font-family: var(--font-body);
}

.v2-page [class~="leading-relaxed"] {
  line-height: 1.625;
}

.v2-page [class~="leading-snug"] {
  line-height: 1.375;
}

.v2-page [class~="leading-[0.94]"] {
  line-height: 0.94;
}

.v2-page [class~="leading-[1.04]"] {
  line-height: 1.04;
}

.v2-page [class~="tracking-tight"] {
  letter-spacing: -0.025em;
}

.v2-page [class~="tracking-wide"] {
  letter-spacing: 0.025em;
}

.v2-page [class~="tracking-[-0.045em]"] {
  letter-spacing: -0.045em;
}

.v2-page [class~="tracking-[-0.04em]"] {
  letter-spacing: -0.04em;
}

.v2-page [class~="tracking-[0.08em]"] {
  letter-spacing: 0.08em;
}

.v2-page [class~="tracking-[0.12em]"] {
  letter-spacing: 0.12em;
}

.v2-page [class~="tracking-[0.14em]"] {
  letter-spacing: 0.14em;
}

.v2-page [class~="tracking-[0.16em]"] {
  letter-spacing: 0.16em;
}

.v2-page [class~="tracking-[0.18em]"] {
  letter-spacing: 0.18em;
}

.v2-page [class~="tracking-[0.2em]"] {
  letter-spacing: 0.2em;
}

.v2-page [class~="tracking-[0.22em]"] {
  letter-spacing: 0.22em;
}

.v2-page [class~="tracking-[0.24em]"] {
  letter-spacing: 0.24em;
}

.v2-page [class~="tracking-[0.25em]"] {
  letter-spacing: 0.25em;
}

.v2-page [class~="uppercase"] {
  text-transform: uppercase;
}

.v2-page [class~="text-center"] {
  text-align: center;
}

/* Constrained headings and paragraphs must share the buttons' center line.
   Editorial callouts may wrap this copy in a reveal-animation container. */
.v2-page main [class~="text-center"] > :is(h1, h2, h3, h4, p),
.v2-page main [class~="text-center"] > [class~="will-change-transform"] > :is(h1, h2, h3, h4, p) {
  margin-inline: auto;
}

.v2-page [class~="text-left"] {
  text-align: left;
}

.v2-page [class~="text-balance"] {
  text-wrap: balance;
}

.v2-page [class~="list-none"] {
  list-style: none;
}

.v2-page [class~="list-disc"] {
  list-style-type: disc;
}

.v2-page [class~="list-decimal"] {
  list-style-type: decimal;
}

.v2-page [class~="underline"] {
  text-decoration-line: underline;
}

.v2-page [class~="underline-offset-4"] {
  text-underline-offset: 4px;
}

.v2-page [class~="visually-hidden"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.v2-page [class~="cursor-pointer"] {
  cursor: pointer;
}

.v2-page [class~="align-middle"] {
  vertical-align: middle;
}

.v2-page [class~="will-change-transform"] {
  will-change: transform;
}

.v2-page [class~="transition"],
.v2-page [class~="transition-opacity"],
.v2-page [class~="transition-transform"] {
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, opacity 180ms ease, transform 180ms ease;
}

.v2-page [class~="duration-500"] {
  transition-duration: 500ms;
}

.v2-page [class~="duration-700"] {
  transition-duration: 700ms;
}

.v2-page [class~="first:border-none"]:first-child {
  border: 0;
}

.v2-page [class~="first:pt-0"]:first-child {
  padding-top: 0;
}

.v2-page [class~="group-open:rotate-45"] {
  transform: rotate(0deg);
}

.v2-page details[open] [class~="group-open:rotate-45"] {
  transform: rotate(45deg);
}

.v2-page [class~="open:border-[rgba(15,102,106,0.34)]"][open] {
  border-color: rgba(15, 102, 106, 0.34);
}

.v2-page main [class~="surface-card"] {
  display: block;
  color: var(--v2-ink);
  text-decoration: none;
}

.v2-page main a:has(> .relative),
.v2-page main a[class~="surface-card"] {
  text-decoration: none;
}

/* The blog index uses article cards with a linked heading and a linked
   "Lire le guide" action. Keep those links visually block-like; prose links
   outside cards retain their explicit underline. */
.v2-page main article.surface-card h2 > a,
.v2-page main article.surface-card h3 > a,
.v2-page main article.surface-card > a {
  text-decoration: none;
}

.v2-page main article.surface-card h2 > a:hover,
.v2-page main article.surface-card h3 > a:hover,
.v2-page main article.surface-card > a:hover {
  color: var(--v2-sea) !important;
}

.v2-page main [class~="btn-primary"],
.v2-page main [class~="btn-secondary"] {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0.7rem 1.2rem;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.v2-page main [class~="btn-primary"] {
  background: var(--v2-deep);
  color: var(--v2-paper) !important;
}

.v2-page main [class~="btn-secondary"] {
  border: 1px solid var(--v2-line);
  background: rgba(255, 253, 247, 0.74);
  color: var(--v2-ink) !important;
}

.v2-page main [class~="btn-primary"]:hover,
.v2-page main [class~="btn-secondary"]:hover {
  border-color: rgba(22, 116, 119, 0.55);
  background: var(--v2-sea);
  color: #fff !important;
  transform: translateY(-1px);
}

.v2-page main summary {
  min-height: 2.75rem;
  align-items: center;
  cursor: pointer;
}

.v2-page main details summary {
  display: flex;
}

.v2-page main strong {
  color: var(--v2-ink);
  font-weight: 800;
}

.v2-page main [class~="group"]:hover [class~="group-hover:scale-[1.04]"] {
  transform: scale(1.04);
}

.v2-page main [class~="group-hover:scale-[1.025]"]:hover {
  transform: scale(1.025);
}

.v2-page [class~="hover:bg-[color:var(--ylang-300)]"]:hover {
  background-color: var(--ylang-300);
}

.v2-page [class~="hover:bg-white"]:hover {
  background-color: #fff;
}

.v2-page [class~="hover:bg-white/14"]:hover {
  background-color: rgb(255 255 255 / 0.14);
}

.v2-page [class~="hover:bg-white/85"]:hover {
  background-color: rgb(255 255 255 / 0.85);
}

.v2-page [class~="hover:border-[color:var(--sea-500)]"]:hover {
  border-color: var(--sea-500);
}

.v2-page [class~="hover:border-[rgba(15,102,106,0.34)]"]:hover {
  border-color: rgba(15, 102, 106, 0.34);
}

.v2-page [class~="hover:border-[rgba(15,28,28,0.3)]"]:hover {
  border-color: rgba(15, 28, 28, 0.3);
}

.v2-page [class~="hover:border-white/34"]:hover {
  border-color: rgb(255 255 255 / 0.34);
}

.v2-page [class~="hover:border-white/36"]:hover {
  border-color: rgb(255 255 255 / 0.36);
}

.v2-page [class~="hover:brightness-105"]:hover {
  filter: brightness(1.05);
}

.v2-page [class~="hover:scale-[1.025]"]:hover {
  transform: scale(1.025);
}

.v2-page [class~="hover:text-[color:var(--sea-600)]"]:hover {
  color: var(--sea-600) !important;
}

.v2-page [class~="hover:text-[color:var(--ylang-300)]"]:hover {
  color: var(--ylang-300) !important;
}

.v2-page [class~="hover:text-white"]:hover {
  color: #fff !important;
}

.v2-page [class~="hover:translate-y-[-1px]"]:hover {
  transform: translateY(-1px);
}

.v2-page main [class~="flex"][class~="flex-col"] {
  flex-wrap: nowrap;
}

.v2-page main [class~="opacity-70"] {
  opacity: 0.7;
}

.v2-page main [class~="opacity-0"] {
  opacity: 1;
}

.v2-page main [class~="focus:outline-none"]:focus {
  outline: none;
}

.v2-page main [class~="focus-visible:ring-2"]:focus-visible {
  outline: 3px solid var(--v2-gold);
  outline-offset: 3px;
}

.v2-page main [class~="focus-visible:ring-offset-2"]:focus-visible {
  outline-offset: 5px;
}

.v2-page main [class~="focus-visible:border-[color:var(--sea-600)]"]:focus-visible {
  border-color: var(--sea-600);
}

.v2-page main [class~="focus-visible:ring-[color:var(--sea-600)]"]:focus-visible {
  outline-color: var(--sea-600);
}

.v2-page main [class~="focus-visible:ring-[rgba(27,86,111,0.15)]"]:focus-visible {
  box-shadow: 0 0 0 4px rgba(27, 86, 111, 0.15);
}

.v2-page main [class~="outline-none"] {
  outline: none;
}

/* Semantic page groups used by the blog, reviews and the nature guide. */
.v2-page main > .breadcrumbs,
.v2-page main > .lang-switch,
.v2-page main > #toc {
  width: min(100%, 72rem);
  margin-inline: auto;
}

.v2-page main > .breadcrumbs {
  margin-bottom: 1rem;
  color: var(--v2-ink-soft);
  font-size: 0.82rem;
}

.v2-page main > .breadcrumbs a,
.v2-page main > .lang-switch a {
  color: var(--v2-sea);
  font-weight: 800;
}

.v2-page main > #toc,
.v2-page main > .lang-switch {
  margin-block: 1rem;
  padding: 1rem 1.2rem;
  border: 1px solid var(--v2-line);
  border-radius: 1rem;
  background: rgba(255, 253, 247, 0.62);
}

.v2-page main > #toc ul {
  display: grid;
  gap: 0.4rem;
  margin: 0;
  padding-left: 1.2rem;
}

.v2-page main > article:not([class]) {
  width: min(100%, 72rem);
  margin-inline: auto;
}

.v2-page main > h1,
.v2-page main > .article-meta,
.v2-page main > .intro {
  width: min(100%, 72rem);
  margin-inline: auto;
}

.v2-page main:not(.nature-guide-page) > section[id],
.v2-page main:not(.nature-guide-page) > aside#cta {
  width: min(100%, 72rem);
  margin-block: 2rem;
  margin-inline: auto;
  padding: clamp(1.1rem, 3vw, 2rem);
  border: 1px solid var(--v2-line);
  border-radius: 1.25rem;
  background: rgba(255, 253, 247, 0.65);
}

.v2-page main:not(.nature-guide-page) > aside#cta a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.2rem;
  border-radius: 999px;
  background: var(--v2-deep);
  color: var(--v2-paper) !important;
  font-weight: 800;
  text-decoration: none;
}

.v2-page main:not(.nature-guide-page) > article:not([class]) > section,
.v2-page main:not(.nature-guide-page) > article:not([class]) > aside {
  margin-block: 2rem;
  padding: clamp(1.1rem, 3vw, 2rem);
  border: 1px solid var(--v2-line);
  border-radius: 1.25rem;
  background: rgba(255, 253, 247, 0.65);
}

.v2-page main .article-meta,
.v2-page main .byline {
  color: var(--v2-ink-soft);
  font-size: 0.86rem;
}

.v2-page main .intro {
  max-width: 68ch;
  margin-block: 1.5rem 2rem;
  color: var(--v2-ink-soft);
  font-size: clamp(1.06rem, 1.8vw, 1.25rem);
}

.v2-page main.nature-guide-page {
  background: var(--sand-50);
}

.v2-page main .marine-ticket,
.v2-page main .marine-chip {
  display: inline-flex;
  min-height: 2.25rem;
  align-items: center;
  border: 1px solid rgba(22, 116, 119, 0.28);
  border-radius: 999px;
  background: var(--v2-sea-soft);
  color: var(--v2-ink);
  padding: 0.4rem 0.75rem;
  font-size: 0.76rem;
  font-weight: 800;
  text-decoration: none;
}

.v2-page main .nosy-iranja-feature {
  overflow: hidden;
  border: 1px solid rgba(16, 42, 39, 0.11);
  border-radius: 1.35rem;
  background: var(--v2-deep);
  box-shadow: var(--v2-shadow);
}

.v2-page main .nosy-iranja-feature h1,
.v2-page main .nosy-iranja-feature h2,
.v2-page main .nosy-iranja-feature h3,
.v2-page main .nosy-iranja-feature h4 {
  color: var(--v2-paper);
}

.v2-page main .nosy-iranja-feature p,
.v2-page main .nosy-iranja-feature li {
  color: rgb(255 253 247 / 0.82);
}

.v2-page main .scroll-mt-52 {
  scroll-margin-top: 13rem;
}

.v2-page main [class~="lg:sticky"] {
  position: sticky;
}

.v2-page main [class~="lg:top-[9.3rem]"] {
  top: 9.3rem;
}

.v2-sticky-cta {
  min-height: 2.75rem;
}

@media (min-width: 40rem) {
  .v2-page [class~="sm:grid-cols-2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v2-page [class~="sm:flex-row"] {
    flex-direction: row;
  }

  .v2-page [class~="sm:items-center"] {
    align-items: center;
  }

  .v2-page [class~="sm:min-h-[360px]"] {
    min-height: 22.5rem;
  }

  .v2-page [class~="sm:min-h-[520px]"] {
    min-height: 32.5rem;
  }

  .v2-page [class~="sm:p-8"] {
    padding: 2rem;
  }

  .v2-page [class~="sm:p-9"] {
    padding: 2.25rem;
  }

  .v2-page [class~="sm:px-8"] {
    padding-inline: 2rem;
  }

  .v2-page [class~="sm:w-auto"] {
    width: auto;
  }

  .v2-page [class~="sm:static"] {
    position: static;
  }

  .v2-page [class~="sm:text-base"] {
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .v2-page [class~="sm:text-5xl"] {
    font-size: 3rem;
    line-height: 1;
  }

  .v2-page [class~="sm:text-6xl"] {
    font-size: 3.75rem;
    line-height: 1;
  }

  .v2-page [class~="sm:!text-4xl"] {
    font-size: 2.25rem !important;
    line-height: 2.5rem !important;
  }
}

@media (min-width: 48rem) {
  .v2-page [class~="md:grid-cols-2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v2-page [class~="md:grid-cols-3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .v2-page [class~="md:grid-cols-[1.05fr_0.95fr]"] {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  }

  .v2-page [class~="md:grid-cols-[1.1fr_0.9fr]"] {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  }

  .v2-page [class~="md:col-span-2"] {
    grid-column: span 2 / span 2;
  }

  .v2-page [class~="md:gap-12"] {
    gap: 3rem;
  }

  .v2-page [class~="md:items-start"] {
    align-items: flex-start;
  }

  .v2-page [class~="md:left-7"] {
    left: 1.75rem;
  }

  .v2-page [class~="md:top-7"] {
    top: 1.75rem;
  }

  .v2-page [class~="md:order-1"] {
    order: 1;
  }

  .v2-page [class~="md:order-2"] {
    order: 2;
  }

  .v2-page [class~="md:p-7"] {
    padding: 1.75rem;
  }

  .v2-page [class~="md:p-8"] {
    padding: 2rem;
  }

  .v2-page [class~="md:p-10"] {
    padding: 2.5rem;
  }

  .v2-page [class~="md:p-12"] {
    padding: 3rem;
  }

  .v2-page [class~="md:p-14"] {
    padding: 3.5rem;
  }

  .v2-page [class~="md:px-6"] {
    padding-inline: 1.5rem;
  }

  .v2-page [class~="md:px-10"] {
    padding-inline: 2.5rem;
  }

  .v2-page [class~="md:px-16"] {
    padding-inline: 4rem;
  }

  .v2-page [class~="md:py-14"] {
    padding-block: 3.5rem;
  }

  .v2-page [class~="md:py-20"] {
    padding-block: 5rem;
  }

  .v2-page [class~="md:py-28"] {
    padding-block: 7rem;
  }

  .v2-page [class~="md:space-y-24"] > :not(:last-child) {
    margin-block-end: 6rem;
  }

  .v2-page [class~="md:h-96"] {
    height: 24rem;
  }

  .v2-page [class~="md:text-base"] {
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .v2-page [class~="md:text-xl"] {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .v2-page [class~="md:text-2xl"] {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .v2-page [class~="md:text-3xl"] {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .v2-page [class~="md:text-4xl"] {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .v2-page [class~="md:text-5xl"] {
    font-size: 3rem;
    line-height: 1;
  }

  .v2-page [class~="md:text-[0.95rem]"] {
    font-size: 0.95rem;
  }
}

@media (min-width: 64rem) {
  .v2-page [class~="lg:grid-cols-3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .v2-page [class~="lg:grid-cols-4"] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .v2-page [class~="lg:grid-cols-5"] {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .v2-page [class~="lg:grid-cols-[0.82fr_1.18fr]"] {
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  }

  .v2-page [class~="lg:grid-cols-[0.88fr_1.12fr]"] {
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  }

  .v2-page [class~="lg:grid-cols-[1.12fr_0.88fr]"] {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
  }

  .v2-page [class~="lg:grid-cols-[1.15fr_0.95fr]"] {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr);
  }

  .v2-page [class~="lg:grid-cols-[1.2fr_0.8fr_0.8fr]"] {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr) minmax(0, 0.8fr);
  }

  .v2-page [class~="lg:flex-row"] {
    flex-direction: row;
  }

  .v2-page [class~="lg:items-center"] {
    align-items: center;
  }

  .v2-page [class~="lg:items-stretch"] {
    align-items: stretch;
  }

  .v2-page [class~="lg:order-1"] {
    order: 1;
  }

  .v2-page [class~="lg:order-2"] {
    order: 2;
  }

  .v2-page [class~="lg:inline-flex"] {
    display: inline-flex;
  }

  .v2-page [class~="lg:p-10"] {
    padding: 2.5rem;
  }

  .v2-page [class~="lg:p-12"] {
    padding: 3rem;
  }

  .v2-page [class~="lg:pr-8"] {
    padding-right: 2rem;
  }

  .v2-page [class~="lg:px-12"] {
    padding-inline: 3rem;
  }

  .v2-page [class~="lg:py-20"] {
    padding-block: 5rem;
  }

  .v2-page [class~="lg:min-h-[330px]"] {
    min-height: 20.625rem;
  }

  .v2-page [class~="lg:min-h-[480px]"] {
    min-height: 30rem;
  }

  .v2-page [class~="lg:min-h-[610px]"] {
    min-height: 38.125rem;
  }

  .v2-page [class~="lg:min-h-[620px]"] {
    min-height: 38.75rem;
  }

  .v2-page [class~="lg:text-2xl"] {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .v2-page [class~="lg:text-7xl"] {
    font-size: 4.5rem;
    line-height: 1;
  }

  .v2-page [class~="lg:object-[62%_center]"] {
    object-position: 62% center;
  }

  .v2-page [class~="lg:top-[9.3rem]"] {
    top: 9.3rem;
  }

  .v2-page [class~="lg:bg-[linear-gradient(90deg,rgba(4,22,20,0.98)_0%,rgba(4,22,20,0.22)_20%,rgba(4,22,20,0)_48%)]"] {
    background-image: linear-gradient(90deg, rgba(4, 22, 20, 0.98) 0%, rgba(4, 22, 20, 0.22) 20%, rgba(4, 22, 20, 0) 48%);
  }
}

/* Phase 2 interior refinements: compact, touch-safe controls and honest
   conversion surfaces added by the static generator. */
.v2-menu-panel {
  max-height: min(42rem, calc(100dvh - 4rem));
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}

.v2-menu-contact a,
.v2-menu-toggle,
.v2-language,
.v2-nav-link,
.v2-menu-link {
  min-height: 44px;
}

.v2-language {
  min-width: 44px;
}

.v2-menu-contact a {
  display: inline-flex;
  align-items: center;
}

.v2-contact-prep {
  width: min(100%, 52rem);
  margin: 1.35rem auto 0;
  padding: clamp(1.1rem, 3vw, 1.6rem);
  border: 1px solid rgba(22, 116, 119, 0.22);
  border-radius: 1.1rem;
  background: rgba(217, 236, 232, 0.34);
  text-align: left;
}

.v2-contact-prep-heading {
  margin-bottom: 1rem;
}

.v2-page main .v2-contact-prep-heading h2 {
  max-width: 30ch;
  margin: 0.35rem 0 0;
  font-size: clamp(1.35rem, 3vw, 2rem);
  line-height: 1.08;
}

.v2-contact-prep-kicker,
.v2-review-empty-kicker {
  margin: 0;
  color: var(--v2-sea) !important;
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  line-height: 1.3;
  text-transform: uppercase;
}

.v2-contact-prep-intro {
  max-width: 60ch !important;
  margin: 0.45rem 0 0;
  color: var(--v2-ink-soft) !important;
  font-size: 0.9rem;
}

.v2-contact-prep form {
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.v2-contact-prep-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem 1rem;
}

.v2-form-field {
  display: grid;
  min-width: 0;
  gap: 0.35rem;
}

.v2-form-field--wide {
  grid-column: 1 / -1;
}

.v2-form-field label {
  color: var(--v2-ink);
  font-size: 0.78rem;
  font-weight: 800;
}

.v2-contact-prep input,
.v2-contact-prep select,
.v2-contact-prep textarea {
  min-height: 44px;
  border-color: rgba(16, 42, 39, 0.2);
  background: var(--v2-paper);
}

.v2-contact-prep textarea {
  min-height: 6.2rem;
  resize: vertical;
}

.v2-contact-prep-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.7rem 0.9rem;
  margin-top: 1rem;
}

.v2-contact-prep-actions button,
.v2-contact-prep-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.7rem 1.05rem;
  border: 1px solid rgba(159, 119, 24, 0.7);
  border-radius: 999px;
  background: var(--v2-gold);
  color: var(--v2-deep) !important;
  font-size: 0.78rem;
  font-weight: 900;
  text-decoration: none;
}

.v2-contact-prep-actions button {
  cursor: pointer;
  font: inherit;
}

.v2-contact-prep-actions button:hover,
.v2-contact-prep-link:hover {
  border-color: var(--v2-deep);
  background: #edca61;
  color: var(--v2-deep) !important;
  transform: translateY(-1px);
}

.v2-contact-prep-status,
.v2-contact-prep-hint {
  flex: 1 1 14rem;
  margin: 0;
  color: var(--v2-ink-soft) !important;
  font-size: 0.76rem;
}

.v2-contact-prep-hint {
  margin-top: 0.55rem;
}

.v2-page main .v2-excursion-booking {
  width: 100%;
  scroll-margin-top: 6rem;
  margin: clamp(4.5rem, 8vw, 7rem) 0 0;
  padding: clamp(2.25rem, 5vw, 4.25rem) 0;
  border: 0;
  border-block: 1px solid rgba(16, 42, 39, 0.2);
  border-radius: 0;
  background: transparent;
}

.v2-page main .v2-excursion-booking .v2-contact-prep-heading {
  display: grid;
  grid-template-columns: minmax(10rem, 0.42fr) minmax(0, 1fr);
  gap: 0.45rem clamp(1.5rem, 5vw, 5rem);
  align-items: start;
  margin-bottom: clamp(1.8rem, 4vw, 3rem);
}

.v2-page main .v2-excursion-booking .v2-contact-prep-kicker {
  grid-row: 1 / span 2;
  padding-top: 0.45rem;
}

.v2-page main .v2-excursion-booking .v2-contact-prep-heading h2 {
  max-width: 18ch;
  margin: 0;
  font-size: clamp(2.25rem, 5vw, 4.75rem);
  font-weight: 500;
  letter-spacing: -0.045em;
  line-height: 0.95;
}

.v2-page main .v2-excursion-booking .v2-contact-prep-intro {
  max-width: 58ch !important;
  margin-top: 0.8rem;
  font-size: 0.95rem;
  line-height: 1.7;
}

.v2-page main .v2-excursion-booking .v2-contact-prep-grid {
  gap: 1rem clamp(1rem, 3vw, 2.25rem);
}

.v2-page main .v2-excursion-booking-switcher {
  margin-bottom: 0.7rem;
  padding: clamp(1rem, 2.5vw, 1.35rem);
  border-left: 3px solid var(--v2-gold);
  background: rgba(216, 175, 61, 0.1);
}

.v2-page main .v2-excursion-booking-switcher label {
  color: #6d5311;
  font-family: "Space Mono", monospace;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.v2-page main .v2-excursion-booking-switcher select {
  min-height: 3.55rem;
  border: 1px solid rgba(109, 83, 17, 0.34);
  background: #fffdf7;
  padding-inline: 0.9rem;
  color: var(--v2-ink);
  font-weight: 800;
  cursor: pointer;
}

.v2-page main .v2-excursion-booking-switcher:focus-within {
  box-shadow: 0 0 0 3px rgba(216, 175, 61, 0.2);
}

.v2-review-empty-card {
  width: min(calc(100% - 2rem), 72rem);
  margin: clamp(1.1rem, 3vw, 2rem) auto 0;
  padding: clamp(1.2rem, 3vw, 2rem) clamp(1.15rem, 4vw, 2.4rem);
  border: 1px solid rgba(216, 175, 61, 0.45);
  border-left: 4px solid var(--v2-gold);
  border-radius: 1.2rem;
  background: rgba(255, 253, 247, 0.95);
  box-shadow: var(--v2-shadow);
}

.v2-review-empty-card h2 {
  max-width: 28ch;
  margin: 0.45rem 0 0;
  color: var(--v2-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.45rem, 3vw, 2.2rem);
  line-height: 1.05;
}

.v2-review-empty-card p:not(.v2-review-empty-kicker) {
  max-width: 68ch;
  margin: 0.75rem 0 0;
  color: var(--v2-ink-soft);
  font-size: 0.92rem;
}

.v2-review-empty-cta {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 0.35rem;
  margin-top: 1rem;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  background: var(--v2-deep);
  color: var(--v2-paper) !important;
  font-size: 0.78rem;
  font-weight: 900;
  text-decoration: none;
}

.v2-review-empty-cta:hover {
  background: var(--v2-sea);
  color: #fff !important;
  transform: translateY(-1px);
}

.v2-page main[data-v2-page-type="blog-article"] h1,
.v2-page main[data-v2-page-type="blog-article"] h2,
.v2-page main[data-v2-page-type="blog-article"] h3,
.v2-page main[data-v2-page-type="review"] h1,
.v2-page main[data-v2-page-type="review"] h2,
.v2-page main[data-v2-page-type="review"] h3,
.v2-page main [id] {
  scroll-margin-top: 6rem;
}

.v2-blog-hero {
  width: min(100%, 72rem);
  margin: 1.25rem auto clamp(1.4rem, 3vw, 2.5rem);
  overflow: hidden;
  border: 1px solid rgba(16, 42, 39, 0.12);
  border-radius: 1.35rem;
  background: var(--v2-deep);
  box-shadow: var(--v2-shadow);
}

.v2-blog-hero img {
  display: block;
  width: 100%;
  max-height: 25rem;
  aspect-ratio: 16 / 7;
  object-fit: cover;
}

.v2-page main > #toc {
  margin-block: 0.8rem 1.2rem;
  padding: 0.85rem 1.05rem;
}

.v2-page main > #toc h2 {
  max-width: none;
  margin: 0 0 0.55rem;
  font-size: clamp(1.05rem, 2.5vw, 1.3rem);
  letter-spacing: -0.025em;
}

.v2-page main > #toc ul {
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: 0.2rem 1rem;
  padding-left: 1.15rem;
}

.v2-page main > #toc li {
  min-width: 0;
  line-height: 1.35;
}

.v2-page main > #toc a {
  display: inline-block;
  padding-block: 0.2rem;
}

.v2-page main[data-v2-page-type="review"] > #toc {
  margin-block: 0.6rem 0.9rem;
  padding-block: 0.65rem;
}

.v2-page main[data-v2-page-type="review"] > #toc ul {
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0.1rem 0.8rem;
}

.v2-page main[data-v2-page-type="review"] > #toc li {
  font-size: 0.9rem;
  line-height: 1.15;
}

.v2-page main[data-v2-page-type="review"] > #toc a {
  padding-block: 0.05rem;
}

.v2-excursion-primary-cta,
.v2-page main a.v2-excursion-primary-cta {
  display: inline-flex !important;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(159, 119, 24, 0.7);
  border-radius: 999px;
  background: var(--v2-gold) !important;
  color: var(--v2-deep) !important;
  font-weight: 900;
  text-decoration: none !important;
}

.v2-page main a.v2-excursion-primary-cta:hover {
  border-color: var(--v2-deep);
  background: #edca61 !important;
  color: var(--v2-deep) !important;
  transform: translateY(-1px);
}

.v2-page main a.v2-excursion-primary-cta:focus-visible,
.v2-contact-prep-actions button:focus-visible,
.v2-contact-prep-link:focus-visible,
.v2-review-empty-cta:focus-visible {
  outline: 3px solid var(--v2-sea);
  outline-offset: 3px;
}

.v2-calendar-swipe-hint {
  display: none;
}

/* Nature calendar: treat the monthly matrix as an editorial heatmap rather
   than a compressed spreadsheet. The first column stays readable while the
   months scroll as one calm, regular rhythm on small screens. */
.v2-page .nature-guide-page > article > nav[class~="sticky"] > div {
  flex-wrap: nowrap;
}

.v2-page .nature-guide-page section[id] {
  scroll-margin-top: 6rem;
}

.v2-page .nature-guide-page #calendrier .surface-card {
  border-color: rgba(16, 42, 39, 0.13);
  border-radius: 1.25rem;
  background: var(--v2-paper);
  box-shadow: 0 30px 70px -52px rgba(7, 28, 25, 0.72);
}

.v2-page .nature-guide-page #calendrier .overflow-x-auto {
  background: var(--v2-paper);
  scrollbar-color: rgba(22, 116, 119, 0.55) rgba(16, 42, 39, 0.07);
  scrollbar-width: thin;
}

.v2-page .nature-guide-page #calendrier table {
  min-width: 64rem;
  table-layout: fixed;
  border: 0;
  border-radius: 0;
  background: var(--v2-paper);
}

.v2-page .nature-guide-page #calendrier thead th {
  padding: 1rem 0.35rem;
  border-bottom: 1px solid rgba(16, 42, 39, 0.16);
  background: #e6efec;
  color: var(--v2-ink);
  font-size: 0.68rem;
  letter-spacing: 0.07em;
  text-align: center;
}

.v2-page .nature-guide-page #calendrier thead th:first-child,
.v2-page .nature-guide-page #calendrier tbody th {
  width: 18rem;
  min-width: 18rem;
  position: sticky;
  left: 0;
  z-index: 2;
  text-align: left;
  box-shadow: 18px 0 28px -28px rgba(7, 28, 25, 0.75);
}

.v2-page .nature-guide-page #calendrier thead th:first-child {
  z-index: 3;
  background: #eadfc4;
}

.v2-page .nature-guide-page #calendrier tbody th {
  padding: 1rem 1.15rem;
  background: #fffaf0;
  text-transform: none;
  letter-spacing: 0;
  vertical-align: middle;
}

.v2-page .nature-guide-page #calendrier tbody tr:nth-child(even) > th {
  background: #f8f2e6;
}

.v2-page .nature-guide-page #calendrier tbody th > span:first-child {
  color: var(--v2-ink);
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.32;
}

.v2-page .nature-guide-page #calendrier tbody th > span + span {
  color: var(--v2-ink-soft);
  font-size: 0.68rem;
  line-height: 1.4;
}

.v2-page .nature-guide-page #calendrier tbody td {
  padding: 1rem 0.35rem;
  border-left: 1px solid rgba(16, 42, 39, 0.055);
  text-align: center;
  vertical-align: middle;
}

.v2-page .nature-guide-page #calendrier tbody tr:nth-child(even) > td {
  background-color: rgba(16, 42, 39, 0.018);
}

.v2-page .nature-guide-page #calendrier [class~="mt-8"] > span > [class~="bg-[#176b4f]"] {
  width: 0.75rem;
  height: 0.75rem;
  border: 0;
  background: #176b4f;
  color: transparent;
  font-size: 0;
  box-shadow: 0 0 0 4px rgba(23, 107, 79, 0.14);
}

.v2-page .nature-guide-page #calendrier [class~="mt-8"] > span > [class~="bg-[rgba(229,119,53,0.18)]"] {
  width: 0.75rem;
  height: 0.75rem;
  border: 2px solid #c96d35;
  background: transparent;
  color: transparent;
  font-size: 0;
  box-shadow: 0 0 0 3px rgba(201, 109, 53, 0.1);
}

.v2-page .nature-guide-page #calendrier [class~="mt-8"] > span > [class~="bg-[#f0ece3]"] {
  width: 1rem;
  height: 2px;
  border: 0;
  border-radius: 999px;
  background: #777169;
  color: transparent;
  font-size: 0;
}

.v2-page .nature-guide-page #calendrier tbody td:has(> [class~="bg-[#176b4f]"]) {
  background-color: rgba(23, 107, 79, 0.075);
}

.v2-page .nature-guide-page #calendrier tbody td:has(> [class~="bg-[rgba(229,119,53,0.18)]"]) {
  background-color: rgba(229, 119, 53, 0.065);
}

.v2-page .nature-guide-page #calendrier tbody td > span:not(.v2-calendar-mark) {
  width: 0.7rem;
  height: 0.7rem;
  border: 0;
  color: transparent;
  font-size: 0;
}

.v2-page .nature-guide-page #calendrier tbody td > [class~="bg-[#176b4f]"] {
  background: #176b4f;
  box-shadow: 0 0 0 4px rgba(23, 107, 79, 0.14);
}

.v2-page .nature-guide-page #calendrier tbody td > [class~="bg-[rgba(229,119,53,0.18)]"] {
  border: 2px solid #c96d35;
  background: transparent;
  box-shadow: 0 0 0 3px rgba(201, 109, 53, 0.1);
}

.v2-page .nature-guide-page #calendrier tbody td > [class~="bg-[#f0ece3]"] {
  width: 1rem;
  height: 2px;
  border-radius: 999px;
  background: #777169;
  box-shadow: none;
}

/* Presence is not a weather forecast: four shapes keep the calendar readable
   without relying on colour, and separate residents from seasonal encounters. */
.v2-page .nature-guide-page #calendrier .v2-calendar-mark {
  display: inline-flex;
  width: 1.15rem;
  height: 1.15rem;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #176b4f;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
}

.v2-page .nature-guide-page #calendrier .v2-calendar-mark[data-calendar-state="season"] { color: #0b5458; }
.v2-page .nature-guide-page #calendrier .v2-calendar-mark[data-calendar-state="possible"] { color: #a84c1f; }
.v2-page .nature-guide-page #calendrier .v2-calendar-mark[data-calendar-state="off"] { color: #777169; }
.v2-page .nature-guide-page #calendrier td[data-calendar-state="annual"] { background-color: rgba(23, 107, 79, 0.055); }
.v2-page .nature-guide-page #calendrier td[data-calendar-state="season"] { background-color: rgba(11, 84, 88, 0.08); }
.v2-page .nature-guide-page #calendrier td[data-calendar-state="possible"] { background-color: rgba(229, 119, 53, 0.035); }
.v2-page .nature-guide-page #calendrier [data-v2-calendar-legend] { gap: 0.8rem 1.4rem; }
.v2-page .nature-guide-page #calendrier [data-v2-season-summary] { font-weight: 600; }

.v2-page .nature-guide-page > article > section:last-child [class~="text-[color:var(--ink-700)]"] {
  color: rgb(255 253 247 / 0.72) !important;
}

@media (max-width: 48rem) {
  .v2-page .nature-guide-page #calendrier .surface-card {
    border-radius: 1rem;
  }

  .v2-page .nature-guide-page #calendrier table {
    min-width: 56rem;
  }

  .v2-page .nature-guide-page #calendrier thead th:first-child,
  .v2-page .nature-guide-page #calendrier tbody th {
    width: 10rem;
    min-width: 10rem;
  }

  .v2-page .nature-guide-page #calendrier tbody th {
    padding-inline: 0.9rem;
  }
}

@media (max-width: 48rem) {
  .v2-menu-panel {
    max-height: calc(100dvh - 4rem);
  }

  .v2-contact-prep-grid {
    grid-template-columns: 1fr;
  }

  .v2-form-field--wide {
    grid-column: auto;
  }

  .v2-contact-prep-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .v2-contact-prep-actions button,
  .v2-contact-prep-link {
    width: 100%;
  }

  .v2-contact-prep-status,
  .v2-contact-prep-hint {
    flex: none;
    width: 100%;
  }

  .v2-page main[data-v2-page-type="review"] > #toc ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v2-calendar-swipe-hint {
    display: block;
    margin: 0;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--v2-line);
    color: var(--v2-ink-soft) !important;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.02em;
  }
}

@media (min-width: 80rem) {
  .v2-page [class~="xl:p-12"] {
    padding: 3rem;
  }

  .v2-page [class~="xl:px-20"] {
    padding-inline: 5rem;
  }

  .v2-page [class~="xl:grid-cols-3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 47.999rem) {
  .v2-page main {
    width: min(100% - 1.25rem, 90rem);
  }

  .v2-page main [class~="min-w-64"] {
    min-width: 0;
  }

  .v2-page main [class~="text-5xl"],
  .v2-page main [class~="text-6xl"] {
    font-size: clamp(2.3rem, 12vw, 3rem);
  }

  .v2-page main [class~="p-8"] {
    padding: clamp(1.1rem, 5vw, 2rem);
  }

  .v2-page main [class~="py-20"] {
    padding-block: 3.5rem;
  }
}

@media (max-width: 30rem) {
  .v2-page main {
    width: calc(100% - 1rem);
  }

  .v2-page main [class~="px-6"],
  .v2-page main [class~="md:px-6"] {
    padding-inline: 1rem;
  }

  .v2-page main [class~="px-7"] {
    padding-inline: 1rem;
  }

  .v2-page main [class~="flex"][class~="flex-col"]:has(> a + a) > a {
    width: 100%;
    flex: 0 1 auto;
  }

  .v2-page main [class~="h-[470px]"] {
    height: min(29.375rem, 72vw);
  }

  .v2-page main [class~="min-h-[240px]"] {
    min-height: 15rem;
  }
}

@media (max-width: 48rem) {
  /* On narrow screens the persistent CTA joins document flow so it cannot
     cover the hero, gallery or the last paragraph while scrolling. */
  .v2-sticky-cta {
    position: static;
    display: flex;
    width: min(calc(100% - 1rem), 22rem);
    margin: 1rem auto 1.25rem;
    justify-content: center;
  }

}

@media (prefers-contrast: more) {
  .v2-page {
    --v2-line: rgba(16, 42, 39, 0.34);
  }

  .v2-page a,
  .v2-page button {
    text-decoration-thickness: 0.12em;
  }
}

@media (forced-colors: active) {
  .v2-page *,
  .v2-page *::before,
  .v2-page *::after {
    border-color: CanvasText;
  }

  .v2-page a,
  .v2-page button {
    forced-color-adjust: auto;
  }

  .v2-page *:focus-visible {
    outline: 2px solid Highlight;
    outline-offset: 3px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .v2-page [class~="transition"],
  .v2-page [class~="transition-opacity"],
  .v2-page [class~="transition-transform"] {
    transition: none;
  }

  .v2-page main [class~="group-hover:scale-[1.04]"]:hover,
  .v2-page main [class~="group-hover:scale-[1.025]"]:hover {
    transform: none;
  }

  .v2-page [class~="motion-reduce:opacity-100"] {
    opacity: 1;
  }

  .v2-page [class~="motion-reduce:translate-y-0"] {
    transform: translateY(0);
  }
}

/* Keep the lexicon progressive-disclosure control touch-safe after the
   generated utility classes and narrow-screen rules have been applied. */
.v2-page [data-lexicon-toggle] {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.v2-catamaran-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(0.85rem, 2vw, 1.5rem);
  margin: 0;
}

.v2-catamaran-gallery__item {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border: 1px solid rgba(16, 42, 39, 0.12);
  border-radius: 1rem;
  background: #dce8e5;
  box-shadow: 0 1.2rem 2.8rem rgba(5, 29, 25, 0.11);
}

.v2-catamaran-gallery__item--cover {
  grid-column: 1 / -1;
}

.v2-catamaran-gallery__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 42rem) {
  .v2-catamaran-gallery {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-catamaran-gallery__item--cover {
    grid-column: auto;
  }
}

/* -------------------------------------------------------------------------
   Inner-page editorial system

   Presentation pages should read like a field guide, not a stack of floating
   interface cards. This first slice establishes the rhythm on the practical
   guide before the same rules are shared by the other internal templates.
   ------------------------------------------------------------------------- */

.v2-page main.practical-guide-page {
  padding-block: clamp(3rem, 6vw, 5.5rem);
}

.v2-page main.practical-guide-page > article {
  width: min(100%, 72rem);
}

.v2-page main.practical-guide-page > article > section.surface-card {
  margin: 0;
  padding: clamp(3rem, 7vw, 6.5rem) 0;
  border: 0;
  border-top: 1px solid rgba(16, 42, 39, 0.18);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.v2-page main.practical-guide-page > article > section.surface-card:first-child {
  padding-top: 0;
  border-top: 0;
}

.v2-page main.practical-guide-page [class~="rounded-2xl"] {
  border-radius: 0.3rem;
}

.v2-page main.practical-guide-page .btn-primary,
.v2-page main.practical-guide-page .btn-secondary {
  border-radius: 0.3rem;
}

/* Shared editorial treatment for every generated inner-page family. The
   homepage uses styles.css and is intentionally outside this system. */
body.v2-page {
  background: var(--v2-sand);
}

.v2-site-header {
  box-shadow: none;
}

.v2-language-switcher {
  padding: 0 0 0 0.35rem;
  border: 0;
  border-left: 1px solid var(--v2-line);
  border-radius: 0;
  background: transparent;
}

.v2-language,
.v2-menu-toggle,
.v2-header-cta,
.v2-call-cta,
.v2-menu-contact a,
.v2-sticky-cta {
  border-radius: 0.3rem;
}

.v2-sticky-cta {
  box-shadow: none;
}

.v2-menu-group {
  padding: 0.4rem 1rem 1rem;
  border: 0;
  border-left: 1px solid var(--v2-line);
  border-radius: 0;
  background: transparent;
}

.v2-menu-link {
  padding-inline: 0;
  border: 0;
  border-bottom: 1px solid var(--v2-line);
  border-radius: 0;
  background: transparent;
}

.v2-page main:not(.nature-guide-page) {
  padding-block: clamp(3rem, 5vw, 5rem);
}

.v2-page main:not(.nature-guide-page) > section:first-child {
  padding-top: 0;
  border-top: 0;
}

.v2-page main:not(.nature-guide-page) img,
.v2-page main:not(.nature-guide-page) [class~="rounded-lg"],
.v2-page main:not(.nature-guide-page) [class~="rounded-xl"],
.v2-page main:not(.nature-guide-page) [class~="rounded-2xl"],
.v2-page main:not(.nature-guide-page) [class~="rounded-[34px]"],
.v2-page main:not(.nature-guide-page) [class~="rounded-[4px_28px_4px_28px]"],
.v2-page main:not(.nature-guide-page) [class~="rounded-[4px_34px_4px_34px]"],
.v2-page main:not(.nature-guide-page) [class~="rounded-[4px_38px_4px_38px]"],
.v2-page main:not(.nature-guide-page) [class~="rounded-[4px_44px_4px_44px]"] {
  border-radius: 0.3rem !important;
}

.v2-page main:not(.nature-guide-page) table,
.v2-page main:not(.nature-guide-page) form,
.v2-page main:not(.nature-guide-page) input,
.v2-page main:not(.nature-guide-page) select,
.v2-page main:not(.nature-guide-page) textarea {
  border-radius: 0.25rem;
}

.v2-page main:not(.nature-guide-page) .surface-card {
  box-shadow: none;
}

.v2-page main:not(.nature-guide-page) :is([class~="shadow"], [class~="shadow-sm"]),
.v2-page main .nosy-iranja-feature {
  box-shadow: none !important;
}

.v2-page main .nosy-iranja-feature {
  border-radius: 0.3rem;
}

.v2-page main:not(.nature-guide-page) [class~="surface-card"][class~="grid"] {
  display: grid;
}

.v2-page main:not(.nature-guide-page) a.surface-card,
.v2-page main:not(.nature-guide-page) article.surface-card {
  border-radius: 0.35rem;
  background: rgba(255, 253, 247, 0.62);
}

.v2-page main:not(.nature-guide-page) :is(section, div).surface-card {
  border-width: 1px 0 0;
  border-radius: 0;
  background: transparent;
}

.v2-page main:not(.nature-guide-page) > :is(section, article) > :is(section, div).surface-card:first-child,
.v2-page main:not(.nature-guide-page) > section.surface-card:first-child {
  border-top: 0;
}

.v2-page main:not(.nature-guide-page) > section[id],
.v2-page main:not(.nature-guide-page) > aside#cta,
.v2-page main:not(.nature-guide-page) > article:not([class]) > section,
.v2-page main:not(.nature-guide-page) > article:not([class]) > aside {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.v2-page main:not(.nature-guide-page) details.surface-card {
  border-width: 0 0 1px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.v2-page main:not(.nature-guide-page) [class~="grid"] > div[class~="rounded-2xl"][class~="border"] {
  padding-inline: 0;
  border-width: 1px 0 0;
  border-radius: 0 !important;
  background: transparent;
  box-shadow: none;
}

.v2-page main:not(.nature-guide-page) :is(span, div)[class~="rounded-full"],
.v2-page main:not(.nature-guide-page) .marine-ticket,
.v2-page main:not(.nature-guide-page) .marine-chip {
  border-radius: 0.2rem;
}

.v2-page main:not(.nature-guide-page) a[class~="rounded-full"][class~="bg-white/80"] {
  padding-inline: 0;
  border: 0;
  border-bottom: 1px solid rgba(16, 42, 39, 0.3);
  border-radius: 0;
  background: transparent;
}

.v2-page main:not(.nature-guide-page) [class~="btn-primary"],
.v2-page main:not(.nature-guide-page) [class~="btn-secondary"],
.v2-page main:not(.nature-guide-page) .v2-excursion-primary-cta,
.v2-page main:not(.nature-guide-page) .v2-contact-prep-actions button,
.v2-page main:not(.nature-guide-page) .v2-contact-prep-link,
.v2-page main:not(.nature-guide-page) .v2-review-empty-cta,
.v2-page main:not(.nature-guide-page) [class~="flex"]:not([class~="overflow-x-auto"]):has(> a + a) > a {
  border-radius: 0.3rem !important;
}

.v2-page main > #toc,
.v2-page main > .lang-switch {
  padding-inline: 0;
  border-right: 0;
  border-left: 0;
  border-radius: 0;
  background: transparent;
}

.v2-blog-hero,
.v2-catamaran-gallery__item {
  border-radius: 0.3rem;
  box-shadow: none;
}

/* Keep V1's exact source order for parity while presenting the title before
   utility navigation on editorial pages. */
.v2-page main:is([data-v2-page-type="blog-article"], [data-v2-page-type="review"]) {
  display: flex;
  flex-direction: column;
}

.v2-page main:is([data-v2-page-type="blog-article"], [data-v2-page-type="review"]) > .breadcrumbs {
  order: -50;
}

.v2-page main:is([data-v2-page-type="blog-article"], [data-v2-page-type="review"]) > h1 {
  order: -40;
}

.v2-page main[data-v2-page-type="blog-article"] > .article-meta {
  order: -39;
}

.v2-page main[data-v2-page-type="blog-article"] > .intro {
  order: -38;
}

.v2-page main[data-v2-page-type="blog-article"] > .v2-blog-hero {
  order: -37;
  margin-inline: auto;
}

.v2-page main[data-v2-page-type="review"] > .v2-review-empty-card {
  order: -39;
}

.v2-page main:is([data-v2-page-type="blog-article"], [data-v2-page-type="review"]) > #toc {
  order: -36;
}

.v2-page main:is([data-v2-page-type="blog-article"], [data-v2-page-type="review"]) > .lang-switch {
  order: -35;
}

.v2-review-empty-card {
  width: min(100%, 72rem);
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  border-radius: 0;
  box-shadow: none;
}

.v2-contact-prep {
  width: 100%;
  max-width: none;
  padding: clamp(1.25rem, 3vw, 2rem) 0;
  border-right: 0;
  border-left: 0;
  border-radius: 0;
  background: transparent;
}

.v2-contact-prep form {
  width: 100%;
}

.v2-page main:is([data-v2-page-type="excursion-index"], [data-v2-page-type="pricing"]) a.group.surface-card [class~="mt-3"][class~="grid"] {
  display: none;
}

.v2-page main:is([data-v2-page-type="excursion-index"], [data-v2-page-type="pricing"]) a.group.surface-card [class~="min-h-[17rem]"] {
  min-height: 10.5rem;
}

.v2-page main:is([data-v2-page-type="excursion-index"], [data-v2-page-type="pricing"]) a.group.surface-card > [class~="relative"] img {
  border-radius: 0 !important;
}

.v2-page main[data-v2-page-type="pricing"] > section:first-child [class~="grid"] > div[class~="rounded-2xl"] {
  padding: 1.25rem 0 0;
}

.v2-page main[data-v2-page-type="contact"] [class~="rounded-2xl"][class~="bg-white/70"] {
  padding-inline: 0;
  border-width: 0 0 1px;
  border-radius: 0 !important;
  background: transparent;
  box-shadow: none;
}

.v2-page main[data-v2-page-type="excursion-detail"] > section.surface-card > [class~="bg-white/70"] {
  background: transparent;
}

.v2-page main[data-v2-page-type="excursion-detail"] > section.surface-card [class~="shadow-sm"] {
  box-shadow: none;
}

.v2-page main[data-v2-page-type="pricing"] [class~="grid"]:has(> div > a.group.surface-card) {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

.v2-page main[data-v2-page-type="pricing"] [class~="grid"]:has(> div > a.group.surface-card) > div {
  border-top: 1px solid rgba(16, 42, 39, 0.16);
}

.v2-page main[data-v2-page-type="pricing"] a.group.surface-card {
  display: grid;
  grid-template-columns: minmax(14rem, 0.38fr) minmax(0, 0.62fr);
  border: 0;
  border-radius: 0;
  background: transparent;
}

.v2-page main[data-v2-page-type="pricing"] a.group.surface-card > [class~="relative"] {
  height: 100%;
  min-height: 12rem;
}

.v2-page main[data-v2-page-type="pricing"] a.group.surface-card > [class~="flex"] {
  min-height: 0;
  background: transparent;
}

@media (min-width: 64rem) {
  .v2-page main[data-v2-page-type="about"] > section:first-of-type:has(> div:nth-child(2) > div > img) {
    grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.95fr);
    align-items: center;
  }

  .v2-page main[data-v2-page-type="about"] > section:first-of-type > div:nth-child(2) {
    max-height: min(46rem, 75vh);
    overflow: hidden;
  }

  .v2-page main[data-v2-page-type="about"] > section:first-of-type > div:nth-child(2) img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

@media (max-width: 48rem) {
  .v2-page main:not(.nature-guide-page) {
    width: calc(100% - 1rem);
    padding-inline: 0 !important;
  }

  .v2-page main:not(.nature-guide-page) > section[class~="px-6"],
  .v2-page main:not(.nature-guide-page) > section[class~="md:px-16"] {
    padding-inline: 0;
  }

  .v2-page main:not(.nature-guide-page) > section,
  .v2-page main:not(.nature-guide-page) > article > section.surface-card {
    padding-block: clamp(3rem, 12vw, 4.5rem);
  }

  .v2-page main:not(.nature-guide-page) > section:first-child,
  .v2-page main:not(.nature-guide-page) > article > section.surface-card:first-child {
    padding-top: 0;
  }

  .v2-contact-prep {
    padding-inline: 0;
  }

  .v2-page main[data-v2-page-type="pricing"] a.group.surface-card {
    grid-template-columns: minmax(6.75rem, 0.35fr) minmax(0, 0.65fr);
  }

  .v2-page main[data-v2-page-type="pricing"] a.group.surface-card > [class~="relative"] {
    min-height: 10rem;
  }

  .v2-page main[data-v2-page-type="pricing"] a.group.surface-card > [class~="flex"] {
    padding: 1rem;
  }

  .v2-page main[data-v2-page-type="pricing"] a.group.surface-card > [class~="flex"] > p {
    font-size: 0.875rem;
    line-height: 1.5;
  }

  .v2-page main[data-v2-page-type="pricing"] a.group.surface-card > [class~="flex"] > [class~="mt-3"][class~="flex"] {
    gap: 0.3rem;
  }

  .v2-page main[data-v2-page-type="pricing"] a.group.surface-card > [class~="flex"] > [class~="mt-3"][class~="flex"] > span {
    display: block;
    width: fit-content;
    padding: 0.15rem 0;
    border: 0;
    background: transparent;
    font-size: 0.75rem;
    line-height: 1.4;
  }

  .v2-contact-prep-actions button {
    width: 100%;
    min-height: 3.25rem;
    padding-inline: 0.75rem;
    font-size: 0.82rem;
    line-height: 1.2;
    white-space: nowrap;
  }
}

/* Nature contents: a quiet in-flow index. It keeps the useful anchors without
   following the reader or competing with the page header. */
.v2-page .nature-guide-page > article > nav[class~="sticky"] {
  position: static !important;
  inset: auto !important;
  z-index: auto;
  border-top: 0;
  border-bottom: 1px solid rgba(16, 42, 39, 0.14);
  background: transparent;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.v2-page .nature-guide-page > article > nav[class~="sticky"] > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  overflow: visible;
  padding-block: 1.15rem;
}

.v2-page .nature-guide-page > article > nav[class~="sticky"] > div > span {
  display: block !important;
  grid-column: 1 / -1;
  padding: 0 0 0.75rem;
  color: var(--v2-ink-soft);
}

.v2-page .nature-guide-page > article > nav[class~="sticky"] .marine-chip {
  display: flex;
  min-height: 44px;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.8rem 1rem;
  border: 0;
  border-top: 1px solid rgba(16, 42, 39, 0.13);
  border-radius: 0;
  background: transparent;
  color: var(--v2-ink);
  font-size: 0.78rem;
  line-height: 1.35;
}

.v2-page .nature-guide-page > article > nav[class~="sticky"] .marine-chip::after {
  content: "↘";
  flex: 0 0 auto;
  color: var(--v2-sea);
  font-weight: 800;
}

.v2-page .nature-guide-page > article > nav[class~="sticky"] .marine-chip:hover {
  background: rgba(22, 116, 119, 0.055);
}

@media (max-width: 48rem) {
  .v2-page .nature-guide-page > article > nav[class~="sticky"] > div {
    grid-template-columns: minmax(0, 1fr);
    padding: 1rem 1.25rem;
  }

  .v2-page .nature-guide-page > article > nav[class~="sticky"] .marine-chip {
    padding-inline: 0;
    font-size: 0.82rem;
  }
}

/* -------------------------------------------------------------------------
   Weak-page rebuild — editorial, image-led and deliberately card-light.
   These selectors are route-scoped so the homepage and the stronger inner
   templates keep their established composition.
   ------------------------------------------------------------------------- */

/* Ginot profile and gift guide: keep the portrait assets in their native
   vertical format and let copy and photography share one editorial spread. */
.v2-page main:is([data-v2-page-type="profile"], [data-v2-page-type="gift-guide"]) > section:first-child {
  display: grid;
  width: min(100%, 72rem);
  max-width: none;
  margin-inline: auto;
  grid-template-columns: minmax(0, 1.08fr) minmax(18rem, 0.72fr);
  column-gap: clamp(2.5rem, 7vw, 6.5rem);
  align-items: start;
  overflow: visible;
  border: 0;
  background: transparent;
}

.v2-page main:is([data-v2-page-type="profile"], [data-v2-page-type="gift-guide"]) > section:first-child > div {
  display: contents;
}

.v2-page main:is([data-v2-page-type="profile"], [data-v2-page-type="gift-guide"]) > section:first-child > div:first-child > h1 {
  grid-column: 1;
  grid-row: 1;
  align-self: end;
  margin: 0;
  padding-top: clamp(1rem, 4vw, 3.5rem);
  font-size: clamp(2.8rem, 5.4vw, 5.5rem);
  line-height: 0.96;
  letter-spacing: -0.045em;
}

.v2-page main:is([data-v2-page-type="profile"], [data-v2-page-type="gift-guide"]) > section:first-child > div:nth-child(2) > .grid {
  grid-column: 2;
  grid-row: 1 / span 8;
  align-self: start;
  display: block;
  width: 100%;
  margin: 0;
}

.v2-page main:is([data-v2-page-type="profile"], [data-v2-page-type="gift-guide"]) > section:first-child > div:nth-child(2) > .grid > div {
  width: 100%;
  aspect-ratio: 2 / 3 !important;
  overflow: hidden;
  border: 0;
  background: transparent;
}

.v2-page main:is([data-v2-page-type="profile"], [data-v2-page-type="gift-guide"]) > section:first-child > div:nth-child(2) > .grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 16%;
}

.v2-page main:is([data-v2-page-type="profile"], [data-v2-page-type="gift-guide"]) > section:first-child > div:nth-child(2) > :not(.grid) {
  grid-column: 1;
  min-width: 0;
}

.v2-page main:is([data-v2-page-type="profile"], [data-v2-page-type="gift-guide"]) > section:first-child > div:nth-child(2) > h2 {
  margin-top: clamp(2rem, 5vw, 4rem);
  padding-top: 1.1rem;
  border-top: 1px solid rgba(16, 42, 39, 0.18);
}

.v2-page main:is([data-v2-page-type="profile"], [data-v2-page-type="gift-guide"]) > section:first-child > div:nth-child(2) > p {
  max-width: 62ch;
  font-size: clamp(1rem, 1.5vw, 1.12rem);
  line-height: 1.8;
}

.v2-page main:is([data-v2-page-type="profile"], [data-v2-page-type="gift-guide"], [data-v2-page-type="north-expedition"]) > section:nth-of-type(2) {
  width: min(100%, 72rem);
  margin: clamp(4rem, 8vw, 7rem) auto 0;
  padding: clamp(3rem, 6vw, 5rem) 0 0;
  border-top: 1px solid rgba(16, 42, 39, 0.18);
}

.v2-page main:is([data-v2-page-type="profile"], [data-v2-page-type="gift-guide"], [data-v2-page-type="north-expedition"]) > section:nth-of-type(2) > div {
  width: 100%;
  max-width: none;
}

.v2-page main:is([data-v2-page-type="profile"], [data-v2-page-type="gift-guide"], [data-v2-page-type="north-expedition"]) > section:nth-of-type(2) [class~="grid"]:has(> a.group.surface-card) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

.v2-page main:is([data-v2-page-type="profile"], [data-v2-page-type="gift-guide"], [data-v2-page-type="north-expedition"]) > section:nth-of-type(2) a.group.surface-card {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.v2-page main:is([data-v2-page-type="profile"], [data-v2-page-type="gift-guide"], [data-v2-page-type="north-expedition"]) > section:nth-of-type(2) a.group.surface-card > [class~="relative"] {
  height: auto;
  aspect-ratio: 3 / 2;
}

.v2-page main:is([data-v2-page-type="profile"], [data-v2-page-type="gift-guide"], [data-v2-page-type="north-expedition"]) > section:nth-of-type(2) a.group.surface-card > [class~="flex"] {
  min-height: 0;
  padding: 1rem 0 0;
  background: transparent;
}

.v2-page main:is([data-v2-page-type="profile"], [data-v2-page-type="gift-guide"], [data-v2-page-type="north-expedition"]) > section:nth-of-type(2) a.group.surface-card > [class~="flex"] > p,
.v2-page main:is([data-v2-page-type="profile"], [data-v2-page-type="gift-guide"], [data-v2-page-type="north-expedition"]) > section:nth-of-type(2) a.group.surface-card > [class~="flex"] > div {
  display: none;
}

/* Expedition North: real geographic subjects, one calm gallery, and facts
   expressed as editorial rules instead of nested interface panels. */
.v2-page main[data-v2-page-type="north-expedition"] > section:first-child {
  width: min(100%, 72rem);
  max-width: none;
  margin-inline: auto;
  overflow: visible;
  border: 0;
  background: transparent;
}

.v2-page main[data-v2-page-type="north-expedition"] > section:first-child > div:first-child,
.v2-page main[data-v2-page-type="north-expedition"] > section:first-child > div:nth-child(2) {
  padding-inline: 0;
  background: transparent;
}

.v2-page main[data-v2-page-type="north-expedition"] > section:first-child > div:first-child {
  padding-block: 0 clamp(1.5rem, 4vw, 3rem);
  border-bottom: 0;
}

.v2-page main[data-v2-page-type="north-expedition"] > section:first-child h1 {
  max-width: 18ch;
  font-size: clamp(2.45rem, 4.7vw, 4.9rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.v2-page main[data-v2-page-type="north-expedition"] > section:first-child > div:first-child [class~="inline-flex"] {
  padding: 0.65rem 0 0;
  border: 0;
  border-top: 1px solid rgba(16, 42, 39, 0.2);
  border-radius: 0;
  background: transparent;
}

.v2-north-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.75rem, 2vw, 1.4rem);
  margin: 0 0 clamp(2.5rem, 5vw, 4.5rem);
}

.v2-north-gallery__item {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 3 / 2;
  background: #dbe5dc;
}

.v2-page main .v2-north-gallery__item {
  margin: 0;
}

.v2-north-gallery__item--cover {
  grid-column: 1 / -1;
  aspect-ratio: 16 / 9;
}

.v2-page main .v2-north-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.v2-page main[data-v2-page-type="north-expedition"] > section:first-child .surface-card {
  padding-inline: 0;
  border-width: 1px 0 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.v2-page main[data-v2-page-type="north-expedition"] > section:first-child [class~="grid"]:has(> .surface-card) {
  gap: 0 clamp(1.5rem, 4vw, 3.5rem);
}

.v2-page main[data-v2-page-type="north-expedition"] > section:first-child details.surface-card {
  padding-block: 0;
  border-width: 0 0 1px;
}

/* Blog hub: one lead story and five concise image-led rows. */
.v2-page main[data-v2-page-type="blog-index"] > article {
  width: min(100%, 72rem);
  max-width: none;
}

.v2-page main[data-v2-page-type="blog-index"] [data-v2-blog-lead] {
  display: block;
  margin: 0;
  padding: 0 0 clamp(2.8rem, 6vw, 5rem);
  border: 0;
  border-bottom: 1px solid rgba(16, 42, 39, 0.18);
  background: transparent;
}

.v2-page main[data-v2-page-type="blog-index"] [data-v2-blog-lead] h1 {
  max-width: 18ch;
  font-size: clamp(2.8rem, 5.5vw, 5.6rem);
  line-height: 0.96;
  letter-spacing: -0.045em;
}

.v2-page main[data-v2-page-type="blog-index"] [data-v2-blog-grid] {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

.v2-page main[data-v2-page-type="blog-index"] .v2-blog-index-card {
  display: grid;
  grid-template-columns: minmax(12rem, 0.34fr) minmax(0, 0.66fr);
  gap: 0 clamp(1.5rem, 4vw, 3.5rem);
  align-items: center;
  min-height: 0;
  margin: 0;
  padding: clamp(1.6rem, 4vw, 3rem) 0;
  border: 0;
  border-bottom: 1px solid rgba(16, 42, 39, 0.16);
  background: transparent;
}

.v2-page main[data-v2-page-type="blog-index"] .v2-blog-index-card:first-child {
  grid-template-columns: minmax(0, 1.25fr) minmax(19rem, 0.75fr);
  padding-block: clamp(2.5rem, 6vw, 5rem);
}

.v2-blog-index-media {
  grid-column: 1;
  grid-row: 1 / span 5;
  display: block;
  min-width: 0;
  overflow: hidden;
  aspect-ratio: 3 / 2;
}

.v2-blog-index-card:first-child .v2-blog-index-media {
  aspect-ratio: 16 / 10;
}

.v2-page main .v2-blog-index-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.v2-page main[data-v2-page-type="blog-index"] .v2-blog-index-card > :not(.v2-blog-index-media) {
  grid-column: 2;
  min-width: 0;
}

.v2-page main[data-v2-page-type="blog-index"] .v2-blog-index-card > p:first-of-type {
  align-self: end;
  margin-top: 0;
}

.v2-page main[data-v2-page-type="blog-index"] .v2-blog-index-card h2 {
  margin-top: 0.45rem;
  font-size: clamp(1.6rem, 3vw, 2.7rem);
  line-height: 1.03;
}

.v2-page main[data-v2-page-type="blog-index"] .v2-blog-index-card > a:last-child {
  width: fit-content;
  min-height: 44px;
  align-items: center;
  border-bottom: 1px solid currentColor;
  text-decoration: none;
}

/* Reviews: honest empty state, now human and concise rather than a large
   anonymous white panel. */
.v2-page main[data-v2-page-type="review"] {
  display: grid !important;
  width: min(calc(100% - 2rem), 72rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(2rem, 5vw, 5rem);
}

.v2-page main[data-v2-page-type="review"] > :not(#links-infos):not(#links-meteo) {
  grid-column: 1 / -1;
}

.v2-page main[data-v2-page-type="review"] > #toc,
.v2-page main[data-v2-page-type="review"] > .lang-switch,
.v2-page main[data-v2-page-type="review"] > p,
.v2-page main[data-v2-page-type="review"] > section:not(#links-infos):not(#links-meteo) {
  display: none;
}

.v2-page main[data-v2-page-type="review"] > h1 {
  max-width: 17ch;
  margin: clamp(1.25rem, 3vw, 2.5rem) 0 0;
  font-size: clamp(2.6rem, 4.8vw, 4.9rem);
  line-height: 0.97;
  letter-spacing: -0.045em;
}

.v2-page main[data-v2-page-type="review"] > .v2-review-empty-card {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(15rem, 0.55fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: center;
  width: 100%;
  margin: clamp(2.5rem, 6vw, 5rem) 0;
  padding: clamp(2.5rem, 6vw, 5rem) 0;
  border: 0;
  border-top: 1px solid rgba(16, 42, 39, 0.18);
  border-bottom: 1px solid rgba(16, 42, 39, 0.18);
  background: transparent;
}

.v2-review-empty-media {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 2 / 3;
}

.v2-page main .v2-review-empty-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 14%;
}

.v2-page main[data-v2-page-type="review"] > #links-infos,
.v2-page main[data-v2-page-type="review"] > #links-meteo {
  grid-column: auto;
  margin: 0;
  padding: clamp(2rem, 5vw, 4rem) 0;
  border-top: 1px solid rgba(16, 42, 39, 0.17);
}

.v2-page main[data-v2-page-type="review"] > #links-infos ul {
  padding-left: 1.15rem;
}

/* Tips: a photographed opening, a flat chapter index and optional mobile
   disclosure. All original chapter text remains in the document. */
.v2-page main[data-v2-page-type="tips"] > article {
  width: min(100%, 72rem);
  max-width: none;
}

.v2-page main[data-v2-page-type="tips"] [data-v2-tips-lead] {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(22rem, 1.1fr);
  gap: 0 clamp(2.5rem, 6vw, 5rem);
  align-items: center;
  margin: 0;
  padding: 0 0 clamp(3rem, 7vw, 6rem);
  border: 0;
  background: transparent;
}

.v2-page main[data-v2-page-type="tips"] [data-v2-tips-lead] > :not(.v2-tips-hero) {
  grid-column: 1;
  min-width: 0;
}

.v2-page main[data-v2-page-type="tips"] [data-v2-tips-lead] h1 {
  font-size: clamp(2.7rem, 5vw, 5.2rem);
  line-height: 0.96;
  letter-spacing: -0.045em;
}

.v2-tips-hero {
  grid-column: 2;
  grid-row: 1 / span 7;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 4 / 5;
}

.v2-page main .v2-tips-hero img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.v2-tips-index {
  margin: 0 0 clamp(2.5rem, 6vw, 5rem);
  border-top: 1px solid rgba(16, 42, 39, 0.18);
  border-bottom: 1px solid rgba(16, 42, 39, 0.18);
}

.v2-tips-index ol {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.v2-tips-index li {
  min-width: 0;
  border-bottom: 1px solid rgba(16, 42, 39, 0.12);
}

.v2-tips-index a {
  display: grid;
  min-height: 4.25rem;
  grid-template-columns: 2rem minmax(0, 1fr);
  align-items: center;
  gap: 0.45rem;
  padding: 0.75rem;
  color: var(--v2-ink) !important;
  font-size: 0.76rem;
  line-height: 1.3;
  text-decoration: none;
}

.v2-tips-index a span {
  color: var(--v2-sea);
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.v2-page main[data-v2-page-type="tips"] [data-v2-tips-chapter] {
  position: relative;
  margin: 0;
  padding: clamp(3.5rem, 7vw, 6rem) 0;
  border: 0;
  border-top: 1px solid rgba(16, 42, 39, 0.18);
  background: transparent;
}

.v2-page main[data-v2-page-type="tips"] [data-v2-tips-chapter] > h2 {
  max-width: 24ch;
  margin: 0 0 clamp(1.5rem, 4vw, 3rem);
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1;
  letter-spacing: -0.035em;
}

.v2-page main[data-v2-page-type="tips"] [data-v2-tips-chapter] article[class~="rounded-2xl"] {
  padding: 0;
  overflow: hidden;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.v2-page main[data-v2-page-type="tips"] [data-v2-tips-chapter] article[class~="rounded-2xl"] > div:first-child:not(:last-child) {
  padding: 0;
  border: 0;
  background: transparent;
}

.v2-page main[data-v2-page-type="tips"] [data-v2-tips-chapter] article img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.v2-page main[data-v2-page-type="tips"] [data-v2-tips-chapter] [class~="border-dashed"] {
  border-style: solid;
  border-width: 1px 0 0;
  background: transparent;
}

.v2-tips-chapter-toggle {
  display: none;
}

[data-v2-tips-content] {
  display: contents;
}

/* Lexicon: a living-language photograph followed by compact bilingual rows. */
.v2-page main[data-v2-page-type="lexicon"] > article {
  width: min(100%, 72rem);
  max-width: none;
}

.v2-page main[data-v2-page-type="lexicon"] [data-v2-lexicon-lead] {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(24rem, 1.15fr);
  gap: 0 clamp(2.5rem, 7vw, 6rem);
  align-items: center;
  margin: 0;
  padding: 0 0 clamp(3rem, 7vw, 6rem);
  border: 0;
  background: transparent;
}

.v2-page main[data-v2-page-type="lexicon"] [data-v2-lexicon-lead] > :not(.v2-lexicon-hero) {
  grid-column: 1;
  min-width: 0;
}

.v2-page main[data-v2-page-type="lexicon"] [data-v2-lexicon-lead] h1 {
  font-size: clamp(2.7rem, 5vw, 5.2rem);
  line-height: 0.96;
  letter-spacing: -0.045em;
}

.v2-lexicon-hero {
  grid-column: 2;
  grid-row: 1 / span 7;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 4 / 5;
}

.v2-page main .v2-lexicon-hero img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.v2-page main[data-v2-page-type="lexicon"] [data-v2-lexicon] {
  display: block;
  margin: 0;
}

.v2-page main[data-v2-page-type="lexicon"] [data-v2-lexicon] > div:first-child {
  margin: 0 0 clamp(2rem, 5vw, 4rem);
  padding: clamp(1.4rem, 3vw, 2.2rem) 0;
  border: 1px solid rgba(16, 42, 39, 0.18);
  border-right: 0;
  border-left: 0;
  border-radius: 0;
  background: transparent;
}

.v2-page main[data-v2-page-type="lexicon"] [data-lexicon-theme] {
  display: grid;
  grid-template-columns: minmax(11rem, 0.3fr) minmax(0, 0.7fr);
  gap: 0 clamp(1.5rem, 4vw, 4rem);
  margin: 0;
  padding: clamp(2.5rem, 5vw, 4.5rem) 0;
  border: 0;
  border-top: 1px solid rgba(16, 42, 39, 0.18);
  background: transparent;
}

.v2-page main[data-v2-page-type="lexicon"] [data-lexicon-theme] > div:first-child {
  grid-column: 1;
  align-content: start;
}

.v2-page main[data-v2-page-type="lexicon"] [data-lexicon-list] {
  grid-column: 2;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 1.4rem;
  margin: 0;
}

.v2-page main[data-v2-page-type="lexicon"] [data-lexicon-entry] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 0.15rem 0.8rem;
  min-width: 0;
  margin: 0;
  padding: 0.9rem 0;
  border: 0;
  border-top: 1px solid rgba(16, 42, 39, 0.14);
  border-radius: 0;
  background: transparent;
}

.v2-page main[data-v2-page-type="lexicon"] [data-lexicon-entry] p {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.v2-page main[data-v2-page-type="lexicon"] [data-lexicon-entry] p:nth-child(3) {
  grid-column: 1 / -1;
}

.v2-page main[data-v2-page-type="lexicon"] [data-lexicon-toggle] {
  grid-column: 2;
  width: fit-content;
  margin-top: 1rem;
  padding-inline: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  border-radius: 0;
  background: transparent;
}

.v2-page main[data-v2-page-type="lexicon"] [data-lexicon-theme] .marine-chip {
  padding: 0.3rem 0;
  border: 0;
  border-top: 1px solid rgba(16, 42, 39, 0.18);
  border-radius: 0;
  background: transparent;
}

/* Nature guide: retain the strong immersive hero and turn everything below
   it into a field-guide rhythm. */
.v2-page .nature-guide-page > article > section {
  color: var(--v2-ink);
}

.v2-page .nature-guide-page > article > section:not(#parcs):not(#observer) :is(h1, h2, h3, h4) {
  color: var(--v2-ink);
}

.v2-page .nature-guide-page > article > header,
.v2-page .nature-guide-page #parcs,
.v2-page .nature-guide-page #observer,
.v2-page .nature-guide-page [class*="bg-[color:var(--mangrove-9"] {
  color: #fff;
}

.v2-page .nature-guide-page > article > header :is(h1, h2, h3, p),
.v2-page .nature-guide-page #parcs :is(h1, h2, h3, h4),
.v2-page .nature-guide-page #observer :is(h1, h2, h3, h4),
.v2-page .nature-guide-page [class*="bg-[color:var(--mangrove-9"] :is(h1, h2, h3, h4) {
  color: #fff !important;
}

.v2-page .nature-guide-page > article > header p,
.v2-page .nature-guide-page #parcs p,
.v2-page .nature-guide-page #observer p,
.v2-page .nature-guide-page [class*="bg-[color:var(--mangrove-9"] p {
  color: rgba(255, 255, 255, 0.78) !important;
}

.v2-page .nature-guide-page > article > section {
  padding-block: clamp(4rem, 8vw, 7rem);
}

.v2-page .nature-guide-page [class*="rounded-"] {
  border-radius: 0.35rem !important;
  box-shadow: none !important;
}

.v2-page .nature-guide-page #parcs [class~="grid"] > article,
.v2-page .nature-guide-page #parcs [class~="grid"] > div,
.v2-page .nature-guide-page #observer [class~="grid"] > article,
.v2-page .nature-guide-page #observer [class~="grid"] > div {
  padding: 1.25rem 0;
  border-width: 1px 0 0;
  border-color: rgba(255, 255, 255, 0.22);
  border-radius: 0 !important;
  background: transparent;
  box-shadow: none;
}

.v2-page .nature-guide-page #habitats img {
  border-radius: 0.35rem;
  box-shadow: none;
}

.v2-page .nature-guide-page section.border-y [class~="lg:grid-cols-5"] > * {
  padding: 1.1rem 0;
  border-width: 1px 0 0;
  border-radius: 0 !important;
  background: transparent;
  box-shadow: none;
}

.v2-page .nature-guide-page [data-v2-calendar-scroll]:focus-visible {
  outline: 3px solid var(--v2-sea);
  outline-offset: -3px;
}

.v2-nature-disclosure {
  border-top: 1px solid rgba(16, 42, 39, 0.16);
}

.v2-nature-disclosure > summary {
  display: flex;
  min-height: 3.4rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.8rem 1rem;
  color: var(--v2-ink);
  font-size: 0.78rem;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}

.v2-nature-disclosure > summary::-webkit-details-marker {
  display: none;
}

.v2-nature-disclosure > summary::after {
  content: "+";
  color: var(--v2-sea);
  font-size: 1.15rem;
}

.v2-nature-disclosure[open] > summary::after {
  content: "−";
}

.v2-page .nature-guide-page #calendrier .v2-nature-disclosure > div {
  display: block;
  border: 0;
  background: transparent;
}

.v2-page .nature-guide-page #calendrier .v2-nature-disclosure > div > p {
  padding: 1rem;
  border-top: 1px solid rgba(16, 42, 39, 0.11);
  background: transparent;
  font-size: 0.78rem;
}

.v2-page .nature-guide-page details.group.surface-card {
  margin: 0;
  padding: 0;
  border-width: 1px 0 0;
  border-color: rgba(16, 42, 39, 0.16);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.v2-page .nature-guide-page details.group.surface-card > summary {
  min-height: 4.5rem;
  padding: 1rem 0;
}

.v2-page .nature-guide-page details.group.surface-card[open] {
  padding-bottom: 1.25rem;
}

.v2-nature-disclosure--sources {
  margin-top: 1.5rem;
}

.v2-nature-disclosure--sources > summary {
  padding-inline: 0;
  border-bottom: 1px solid rgba(16, 42, 39, 0.14);
}

.v2-nature-disclosure--sources ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 2rem;
  margin-top: 0;
}

.v2-nature-disclosure--sources li {
  padding: 0.85rem 0;
  border-bottom: 1px solid rgba(16, 42, 39, 0.12);
  border-radius: 0 !important;
  background: transparent !important;
}

.v2-nature-habitat {
  border: 0;
}

.v2-nature-habitat > summary {
  display: none;
}

@media (max-width: 48rem) {
  .v2-page main:is([data-v2-page-type="profile"], [data-v2-page-type="gift-guide"]) > section:first-child {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0;
  }

  .v2-page main:is([data-v2-page-type="profile"], [data-v2-page-type="gift-guide"]) > section:first-child > div:first-child > h1 {
    grid-column: 1;
    grid-row: 1;
    padding-top: 0;
  }

  .v2-page main:is([data-v2-page-type="profile"], [data-v2-page-type="gift-guide"]) > section:first-child > div:nth-child(2) > .grid {
    grid-column: 1;
    grid-row: 2;
    width: min(100%, 25rem);
    margin: 2rem auto 0;
  }

  .v2-page main:is([data-v2-page-type="profile"], [data-v2-page-type="gift-guide"]) > section:first-child > div:nth-child(2) > :not(.grid) {
    grid-column: 1;
  }

  .v2-page main:is([data-v2-page-type="profile"], [data-v2-page-type="gift-guide"], [data-v2-page-type="north-expedition"]) > section:nth-of-type(2) [class~="grid"]:has(> a.group.surface-card) {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-north-gallery {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-north-gallery__item--cover {
    grid-column: auto;
    aspect-ratio: 3 / 2;
  }

  .v2-page main[data-v2-page-type="blog-index"] .v2-blog-index-card,
  .v2-page main[data-v2-page-type="blog-index"] .v2-blog-index-card:first-child {
    grid-template-columns: minmax(7.5rem, 0.34fr) minmax(0, 0.66fr);
    gap: 0 1rem;
    padding-block: 1.35rem;
  }

  .v2-page main[data-v2-page-type="blog-index"] .v2-blog-index-card:first-child {
    grid-template-columns: minmax(0, 1fr);
    padding-block: 2rem;
  }

  .v2-page main[data-v2-page-type="blog-index"] .v2-blog-index-card:first-child .v2-blog-index-media,
  .v2-page main[data-v2-page-type="blog-index"] .v2-blog-index-card:first-child > :not(.v2-blog-index-media) {
    grid-column: 1;
  }

  .v2-page main[data-v2-page-type="blog-index"] .v2-blog-index-card:first-child .v2-blog-index-media {
    grid-row: auto;
    margin-bottom: 1.2rem;
  }

  .v2-page main[data-v2-page-type="blog-index"] .v2-blog-index-card:not(:first-child) > p:nth-of-type(2) {
    display: none;
  }

  .v2-page main[data-v2-page-type="blog-index"] .v2-blog-index-card h2 {
    font-size: clamp(1.2rem, 6vw, 1.65rem);
  }

  .v2-page main[data-v2-page-type="review"] {
    width: calc(100% - 1rem);
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-page main[data-v2-page-type="review"] > .v2-review-empty-card {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }

  .v2-review-empty-media {
    width: min(100%, 22rem);
    margin-inline: auto;
  }

  .v2-page main[data-v2-page-type="review"] > #links-infos,
  .v2-page main[data-v2-page-type="review"] > #links-meteo {
    grid-column: 1;
  }

  .v2-page main[data-v2-page-type="tips"] [data-v2-tips-lead],
  .v2-page main[data-v2-page-type="lexicon"] [data-v2-lexicon-lead] {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }

  .v2-tips-hero,
  .v2-lexicon-hero {
    grid-column: 1;
    grid-row: auto;
    width: 100%;
    margin-block: 1rem 0.5rem;
    aspect-ratio: 4 / 3;
  }

  .v2-page main[data-v2-page-type="tips"] [data-v2-tips-lead] > :not(.v2-tips-hero),
  .v2-page main[data-v2-page-type="lexicon"] [data-v2-lexicon-lead] > :not(.v2-lexicon-hero) {
    grid-column: 1;
  }

  .v2-tips-index ol {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-tips-index li:last-child {
    border-bottom: 0;
  }

  .v2-page main[data-v2-page-type="tips"] [data-v2-tips-chapter] {
    padding-block: 2rem;
  }

  .v2-page main[data-v2-page-type="tips"] [data-v2-tips-chapter] > h2 {
    max-width: calc(100% - 3.5rem);
    margin-bottom: 0;
    font-size: clamp(1.65rem, 8vw, 2.35rem);
  }

  .v2-tips-chapter-toggle {
    position: absolute;
    top: 1.55rem;
    right: 0;
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-bottom: 1px solid var(--v2-ink);
    background: transparent;
    color: var(--v2-ink);
    cursor: pointer;
  }

  .v2-tips-chapter-toggle span:first-child {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .v2-tips-chapter-toggle span:last-child {
    font-size: 1.4rem;
  }

  [data-v2-tips-content]:not([hidden]) {
    display: block;
    padding-top: 1.5rem;
  }

  .v2-page main[data-v2-page-type="lexicon"] [data-lexicon-theme] {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.2rem;
    padding-block: 2.5rem;
  }

  .v2-page main[data-v2-page-type="lexicon"] [data-lexicon-theme] > div:first-child,
  .v2-page main[data-v2-page-type="lexicon"] [data-lexicon-list],
  .v2-page main[data-v2-page-type="lexicon"] [data-lexicon-toggle] {
    grid-column: 1;
  }

  .v2-page main[data-v2-page-type="lexicon"] [data-lexicon-list] {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-page .nature-guide-page > article > section {
    padding-block: 4rem;
  }

  .v2-page .nature-guide-page #calendrier table {
    min-width: 52rem;
  }

  .v2-page .nature-guide-page #calendrier thead th:first-child,
  .v2-page .nature-guide-page #calendrier tbody th {
    width: 8.5rem;
    min-width: 8.5rem;
  }

  .v2-nature-disclosure--sources ol {
    grid-template-columns: minmax(0, 1fr);
    padding-left: 1.25rem;
  }

  .v2-nature-habitat {
    border-top: 1px solid rgba(16, 42, 39, 0.16);
  }

  .v2-nature-habitat > summary {
    display: flex;
    min-height: 3.75rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: var(--v2-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.15rem;
    line-height: 1.15;
    cursor: pointer;
    list-style: none;
  }

  .v2-nature-habitat > summary::-webkit-details-marker {
    display: none;
  }

  .v2-nature-habitat > summary::after {
    content: "+";
    color: var(--v2-sea);
    font-family: Arial, sans-serif;
    font-size: 1.2rem;
  }

  .v2-nature-habitat[open] > summary::after {
    content: "−";
  }

  .v2-nature-habitat > section {
    padding-block: 1.25rem 2.5rem;
  }

  .v2-nature-habitat > section h3 {
    display: none;
  }
}

/* -------------------------------------------------------------------------
   Excursion field notes

   The detail pages use the homepage's light-cinematic language: one strong
   landscape, quiet paper, editorial rules and a single dominant conversion
   action. The selectors are intentionally scoped to excursion routes so the
   rest of the generated guide keeps its own page rhythm.
   ------------------------------------------------------------------------- */

.v2-page main:is([data-v2-page-type="excursion-detail"], [data-v2-page-type="north-expedition"]) {
  width: 100%;
  max-width: none;
  padding: 0 !important;
  background: var(--v2-sand);
}

.v2-page main:is([data-v2-page-type="excursion-detail"], [data-v2-page-type="north-expedition"]) > .v2-excursion-shell {
  width: 100%;
  max-width: none;
  margin: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.v2-page main[data-v2-page-type="north-expedition"] > section.v2-excursion-shell {
  width: 100%;
  max-width: none;
  margin: 0;
}

.v2-page main .v2-excursion-title-panel,
.v2-page main .v2-excursion-visual-hero {
  isolation: isolate;
  position: relative;
  display: flex;
  min-height: clamp(32rem, 72svh, 48rem);
  flex-direction: column;
  justify-content: flex-end;
  margin: 0;
  padding: clamp(2rem, 5vw, 5.5rem) max(1rem, calc((100vw - 80rem) / 2)) !important;
  overflow: hidden;
  border: 0;
  border-radius: 0 !important;
  background: var(--v2-deep) !important;
  color: var(--v2-paper);
}

.v2-page main .v2-excursion-title-panel::after,
.v2-page main .v2-excursion-visual-hero::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(3, 18, 16, 0.06) 10%, rgba(3, 18, 16, 0.22) 47%, rgba(3, 18, 16, 0.94) 100%),
    linear-gradient(90deg, rgba(3, 18, 16, 0.54), transparent 68%);
  content: "";
  pointer-events: none;
}

.v2-page main .v2-excursion-title-media,
.v2-page main .v2-excursion-title-media img,
.v2-page main .v2-excursion-visual-hero > img:first-child {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: 0 !important;
  object-fit: cover;
}

.v2-page main .v2-excursion-title-media img,
.v2-page main .v2-excursion-visual-hero > img:first-child {
  transform: scale(1.002);
  transition: transform 1.2s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.v2-page main .v2-excursion-title-panel:hover .v2-excursion-title-media img,
.v2-page main .v2-excursion-visual-hero:hover > img:first-child {
  transform: scale(1.018);
}

.v2-page main .v2-excursion-title-panel > :not(.v2-excursion-title-media),
.v2-page main .v2-excursion-visual-hero > :last-child {
  position: relative;
  z-index: 2;
}

.v2-page main .v2-excursion-visual-hero > div[class~="absolute"][class~="inset-0"] {
  z-index: 0;
}

.v2-page main .v2-excursion-visual-hero > [class~="absolute"][class~="inset-x-0"] {
  z-index: 2;
  right: auto;
  bottom: clamp(2rem, 5vw, 5.5rem);
  left: max(1rem, calc((100vw - 80rem) / 2));
  width: min(calc(100% - 2rem), 80rem);
  padding: 0 !important;
}

.v2-page main .v2-excursion-kicker {
  max-width: none;
  margin: 0 0 1rem;
  color: #f0d995 !important;
  font-family: "Space Mono", monospace;
  font-size: clamp(0.64rem, 0.9vw, 0.76rem) !important;
  font-weight: 700;
  letter-spacing: 0.18em !important;
  line-height: 1.5;
  text-transform: uppercase;
}

.v2-page main .v2-excursion-title-panel h1,
.v2-page main .v2-excursion-visual-hero h1 {
  max-width: 15ch;
  margin: 0;
  color: #fffdf7 !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3rem, 7vw, 7rem);
  font-weight: 500;
  letter-spacing: -0.055em;
  line-height: 0.88;
  text-wrap: balance;
}

.v2-page main .v2-excursion-visual-hero h1 {
  max-width: 13ch;
}

.v2-page main .v2-excursion-title-panel > [class~="mt-4"] {
  margin-top: clamp(1.5rem, 3vw, 2.4rem);
}

.v2-page main .v2-excursion-title-actions {
  position: relative;
  z-index: 2;
  margin-top: 1rem;
}

.v2-page main .v2-excursion-title-actions .v2-excursion-title-cta {
  width: auto !important;
  min-width: min(100%, 15rem);
  min-height: 3.2rem;
  padding: 0.85rem 1.4rem;
  border: 1px solid var(--v2-gold);
  border-radius: 0.3rem !important;
  background: var(--v2-gold);
  color: var(--v2-deep) !important;
  font-size: 0.82rem;
  font-weight: 800;
  text-decoration: none;
}

.v2-page main .v2-excursion-title-panel > [class~="mt-4"] > [class~="inline-flex"],
.v2-page main .v2-excursion-visual-hero [class~="rounded-full"]:not(.v2-excursion-primary-cta) {
  min-height: 0;
  padding: 0.75rem 0;
  border: 0;
  border-top: 1px solid rgba(255, 253, 247, 0.42);
  border-radius: 0 !important;
  background: transparent;
  box-shadow: none;
  color: #fffdf7 !important;
  font-family: "Space Mono", monospace;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.v2-page main .v2-excursion-visual-hero p:not(.v2-excursion-kicker) {
  color: rgba(255, 253, 247, 0.82) !important;
}

.v2-page main .v2-excursion-content {
  width: min(calc(100% - 2rem), 80rem);
  margin-inline: auto;
  padding: clamp(4rem, 8vw, 7.5rem) 0 clamp(5rem, 9vw, 8rem) !important;
}

.v2-page main .v2-excursion-gallery,
.v2-page main .v2-catamaran-gallery,
.v2-page main .v2-north-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(0.8rem, 2vw, 1.5rem);
  margin: 0 0 clamp(4rem, 7vw, 6.5rem);
}

.v2-page main .v2-excursion-gallery > :first-child,
.v2-page main .v2-catamaran-gallery__item--cover,
.v2-page main .v2-north-gallery__item--cover {
  display: none;
}

.v2-page main .v2-north-gallery:has(> :only-child) {
  display: none;
}

.v2-page main .v2-excursion-gallery--single-source {
  display: none;
}

.v2-page main .v2-excursion-gallery--story-source {
  display: none !important;
}

.v2-page main h1.v2-excursion-title--place-nowrap {
  max-width: min(18ch, 100%);
  text-wrap: wrap;
}

.v2-page main .v2-nowrap-place {
  white-space: nowrap;
}

.v2-page main .v2-excursion-story {
  margin: clamp(4rem, 8vw, 7.5rem) 0 clamp(3.5rem, 7vw, 6.5rem);
  border-top: 1px solid rgba(12, 55, 49, 0.2);
}

.v2-page main .v2-story-lead {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  column-gap: clamp(1.5rem, 5vw, 5rem);
  row-gap: 0;
  align-items: end;
  padding: clamp(3.5rem, 7vw, 6.5rem) 0 clamp(3rem, 6vw, 5rem);
}

.v2-page main .v2-story-kicker {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: start;
  margin: 0;
  color: #8d6b18 !important;
  font-family: "Space Mono", monospace;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.5;
  text-transform: uppercase;
}

.v2-page main .v2-story-lead h2 {
  grid-column: 2;
  grid-row: 1;
  max-width: 15ch;
  margin: 0;
  color: var(--v2-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.7rem, 5.5vw, 5.4rem);
  font-weight: 500;
  letter-spacing: -0.05em;
  line-height: 0.95;
  text-wrap: balance;
}

.v2-page main .v2-story-lead > p:last-child {
  grid-column: 2;
  grid-row: 2;
  max-width: 58ch;
  margin: clamp(1rem, 2vw, 1.5rem) 0 0;
  color: var(--v2-ink-soft) !important;
  font-size: clamp(1.02rem, 1.4vw, 1.2rem);
  line-height: 1.75;
}

.v2-page main .v2-story-flow {
  border-top: 1px solid rgba(12, 55, 49, 0.16);
}

.v2-page main .v2-story-chapter {
  display: grid;
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
  padding: clamp(3.75rem, 8vw, 7.5rem) 0;
  border-bottom: 1px solid rgba(12, 55, 49, 0.16);
}

.v2-page main .v2-story-chapter--with-media {
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
}

.v2-page main .v2-story-chapter--text-only {
  grid-template-columns: minmax(0, 1fr);
}

.v2-page main .v2-story-chapter--text-only .v2-story-copy {
  width: min(100%, 48rem);
  margin-left: auto;
}

.v2-page main .v2-story-chapter--reverse .v2-story-copy {
  order: 2;
}

.v2-page main .v2-story-chapter--reverse .v2-story-media {
  order: 1;
}

.v2-page main .v2-story-copy {
  min-width: 0;
}

.v2-page main .v2-story-index {
  display: block;
  margin-bottom: clamp(1.2rem, 2vw, 1.8rem);
  color: #a47b15;
  font-family: "Space Mono", monospace;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.v2-page main .v2-story-copy h3 {
  max-width: 18ch;
  margin: 0 0 clamp(1.2rem, 2vw, 1.75rem);
  color: var(--v2-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 3.8vw, 3.65rem);
  font-weight: 500;
  letter-spacing: -0.045em;
  line-height: 1;
  text-wrap: balance;
}

.v2-page main .v2-story-copy p {
  max-width: 58ch;
  margin: 0;
  color: var(--v2-ink-soft) !important;
  font-size: clamp(1rem, 1.25vw, 1.12rem);
  line-height: 1.78;
}

.v2-page main .v2-story-copy p + p {
  margin-top: 1rem;
}

.v2-page main .v2-story-media {
  display: grid;
  min-width: 0;
  gap: 0.8rem;
}

.v2-page main .v2-story-media--pair {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.v2-page main .v2-story-media figure {
  min-width: 0;
  margin: 0;
}

.v2-page main .v2-story-media img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  height: auto;
  object-fit: cover;
  background: #dce8e5;
  transform: scale(1.001);
  transition: transform 900ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.v2-page main .v2-story-media--pair img {
  aspect-ratio: 4 / 3;
}

.v2-page main .v2-story-media figure:hover img {
  transform: scale(1.012);
}

.v2-page main .v2-story-media figcaption {
  margin-top: 0.72rem;
  color: rgba(22, 57, 52, 0.72);
  font-family: "Space Mono", monospace;
  font-size: 0.66rem;
  letter-spacing: 0.035em;
  line-height: 1.55;
}

.v2-page main .v2-excursion-gallery > div,
.v2-page main .v2-catamaran-gallery__item {
  aspect-ratio: 4 / 3 !important;
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0.3rem !important;
  background: #dce8e5;
  box-shadow: none;
}

.v2-page main .v2-excursion-gallery img,
.v2-page main .v2-catamaran-gallery img {
  width: 100%;
  height: 100%;
  border-radius: 0.3rem !important;
  object-fit: cover;
}

.v2-page main .v2-excursion-content > h2 {
  max-width: 18ch;
  margin: 0;
  color: var(--v2-ink);
  font-size: clamp(2.6rem, 5vw, 5.2rem);
  font-weight: 500;
  line-height: 0.94;
}

.v2-page main .v2-excursion-content > h2 + p {
  max-width: 60ch;
  margin: clamp(1.4rem, 3vw, 2.25rem) 0 0;
  color: var(--v2-ink-soft) !important;
  font-size: clamp(1.05rem, 1.6vw, 1.28rem);
  line-height: 1.82;
}

.v2-page main .v2-excursion-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(2rem, 5vw, 5rem);
  margin-top: clamp(4rem, 8vw, 7rem);
  padding-top: 0;
  border-top: 1px solid rgba(16, 42, 39, 0.2);
}

.v2-page main .v2-excursion-overview > [class~="flex"] {
  grid-column: 1 / -1;
  gap: 0.65rem;
  padding: 1rem 0 2rem;
}

.v2-page main .v2-excursion-overview .marine-ticket {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--v2-sea) !important;
  font-family: "Space Mono", monospace;
  font-size: 0.67rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.v2-page main .v2-excursion-overview > .surface-card {
  padding: 1.6rem 0 0;
  border: 0;
  border-top: 1px solid rgba(16, 42, 39, 0.14);
  background: transparent;
}

.v2-page main .v2-excursion-overview > .surface-card > p:first-child {
  margin: 0;
  color: var(--v2-sea) !important;
  font-family: "Space Mono", monospace;
  font-size: 0.66rem;
  letter-spacing: 0.11em;
}

.v2-page main .v2-excursion-overview > .surface-card > p:last-child {
  max-width: 45ch;
  margin-top: 0.9rem;
  color: var(--v2-ink) !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.24;
}

.v2-page main [data-v2-practical-copy] > .v2-practical-title {
  grid-column: 1 / -1;
  margin: 0;
  padding-block: 1.8rem 1.4rem;
  color: var(--v2-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.9rem, 3vw, 2.7rem);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.v2-page main [data-v2-practical-copy] .v2-practical-subtitle {
  margin: 0;
  color: var(--v2-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.4rem, 2vw, 1.75rem);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -.025em;
  text-transform: none;
  text-wrap: balance;
}

.v2-page main .v2-excursion-overview[data-v2-practical-copy] > .surface-card > p:last-child {
  max-width: 58ch;
  margin-top: 1rem;
  font-family: inherit;
  font-size: clamp(1rem, 1.25vw, 1.125rem);
  line-height: 1.75;
}

.v2-page main .v2-excursion-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
  gap: 0;
  margin-top: clamp(4rem, 7vw, 6rem);
  border-block: 1px solid rgba(16, 42, 39, 0.2);
}

.v2-page main .v2-excursion-facts > .surface-card {
  min-height: 8.5rem;
  padding: 1.4rem clamp(1rem, 2.5vw, 2.4rem);
  border: 0;
  border-left: 1px solid rgba(16, 42, 39, 0.14);
  background: transparent;
}

.v2-page main .v2-excursion-facts > .surface-card:first-child {
  padding-left: 0;
  border-left: 0;
}

.v2-page main .v2-excursion-facts > .surface-card p:first-child {
  margin: 0;
  color: var(--v2-sea) !important;
  font-family: "Space Mono", monospace;
  font-size: 0.65rem;
  letter-spacing: 0.12em;
}

.v2-page main .v2-excursion-facts > .surface-card p:last-child {
  margin-top: 0.8rem;
  color: var(--v2-ink) !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.1rem, 1.8vw, 1.45rem);
  font-weight: 500;
  line-height: 1.3;
}

.v2-page main .v2-excursion-inclusions {
  margin-top: clamp(4rem, 8vw, 7rem);
}

.v2-page main .v2-excursion-inclusions > [class~="grid"] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
  gap: 0 clamp(1.5rem, 4vw, 4rem);
  border-top: 1px solid rgba(16, 42, 39, 0.2);
}

.v2-page main .v2-excursion-inclusions .surface-card {
  padding: 1.8rem 0 0;
  border: 0;
  background: transparent;
}

.v2-page main .v2-excursion-inclusions h3 {
  margin: 0 0 1.4rem;
  color: var(--v2-ink);
  font-family: "Space Mono", monospace;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-transform: uppercase;
}

.v2-page main .v2-excursion-inclusions ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.v2-page main .v2-excursion-inclusions h3[data-v2-inclusion-field] {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.35rem, 1.8vw, 1.65rem);
  font-weight: 500;
  letter-spacing: -.02em;
  line-height: 1.25;
  text-transform: none;
}

.v2-page main .v2-excursion-inclusions li {
  position: relative;
  padding: 0.75rem 0 0.75rem 1.15rem;
  border-bottom: 1px solid rgba(16, 42, 39, 0.1);
  color: var(--v2-ink-soft);
}

.v2-page main .v2-excursion-inclusions li::before {
  position: absolute;
  top: 1.35rem;
  left: 0;
  width: 0.32rem;
  height: 0.32rem;
  border-radius: 50%;
  background: var(--v2-gold);
  content: "";
}

.v2-page main .v2-excursion-inclusions > p:last-child {
  margin-top: 1.5rem;
  color: var(--v2-ink-soft) !important;
  font-size: 0.82rem;
}

.v2-page main .v2-excursion-contact {
  margin-top: clamp(4rem, 8vw, 7rem);
  padding: clamp(2rem, 5vw, 4.5rem);
  background:
    radial-gradient(circle at 92% 0%, rgba(37, 139, 138, 0.28), transparent 22rem),
    var(--v2-deep);
  color: var(--v2-paper);
}

.v2-page main .v2-excursion-contact > [class~="flex"] {
  justify-content: flex-start;
  gap: 1.2rem;
}

.v2-page main .v2-excursion-contact > [class~="flex"] > [class~="flex"] {
  justify-content: flex-start;
}

.v2-page main .v2-excursion-contact .v2-excursion-primary-cta,
.v2-page main .v2-excursion-visual-hero .v2-excursion-primary-cta {
  width: auto !important;
  min-width: min(100%, 15rem);
  min-height: 3.2rem;
  padding: 0.85rem 1.4rem;
  border: 1px solid var(--v2-gold);
  border-radius: 0.3rem !important;
  background: var(--v2-gold);
  color: var(--v2-deep) !important;
  font-size: 0.82rem;
  font-weight: 800;
  text-decoration: none;
}

.v2-page main .v2-excursion-contact [data-cta="tel"] {
  min-height: 3.2rem;
  border-color: rgba(255, 253, 247, 0.38) !important;
  background: transparent !important;
  color: var(--v2-paper) !important;
  text-decoration: none;
}

.v2-page main .v2-excursion-contact > [class~="flex"] > p {
  flex-basis: 100%;
  max-width: 58ch;
  margin: 0;
  color: rgba(255, 253, 247, 0.72) !important;
  text-align: left;
}

.v2-page main .v2-excursion-faq {
  width: min(100%, 60rem);
  margin: clamp(4rem, 8vw, 7rem) 0 0;
  padding-top: 0;
}

.v2-page main .v2-excursion-faq > h3 {
  max-width: 18ch;
  margin: 0 0 1.6rem;
  color: var(--v2-ink);
  font-size: clamp(2.2rem, 4vw, 3.8rem);
  font-weight: 500;
}

.v2-page main .v2-excursion-faq details.surface-card {
  margin: 0;
  padding: 0;
  border: 0;
  border-bottom: 1px solid rgba(16, 42, 39, 0.18);
  background: transparent;
}

.v2-page main .v2-excursion-faq summary {
  position: relative;
  display: flex;
  min-height: 4rem;
  align-items: center;
  padding: 1rem 3rem 1rem 0;
  color: var(--v2-ink) !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 500;
  list-style: none;
}

.v2-page main .v2-excursion-faq summary::-webkit-details-marker {
  display: none;
}

.v2-page main .v2-excursion-faq summary::after {
  position: absolute;
  right: 0.25rem;
  color: var(--v2-sea);
  font-family: "Manrope", sans-serif;
  font-size: 1.15rem;
  content: "+";
}

.v2-page main .v2-excursion-faq details[open] summary::after {
  content: "−";
}

.v2-page main .v2-excursion-faq details > p {
  max-width: 62ch;
  margin: 0;
  padding: 0 3rem 1.4rem 0;
  color: var(--v2-ink-soft) !important;
}

.v2-page main > .v2-excursion-related {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(4rem, 8vw, 7.5rem) max(1rem, calc((100vw - 80rem) / 2)) !important;
  border: 0;
  background: var(--v2-deep);
}

.v2-page main > .v2-excursion-related > div {
  width: 100%;
  max-width: 80rem;
  margin: 0;
}

.v2-page main > .v2-excursion-related h2 {
  max-width: 14ch;
  margin: 0 0 clamp(2rem, 5vw, 4rem);
  color: var(--v2-paper) !important;
  font-size: clamp(2.5rem, 5vw, 5rem);
  font-weight: 500;
}

.v2-page main > .v2-excursion-related [class~="grid"]:has(> a.group.surface-card) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

.v2-page main > .v2-excursion-related a.group.surface-card {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--v2-paper) !important;
  text-decoration: none;
}

.v2-page main > .v2-excursion-related a.group.surface-card > [class~="relative"] {
  height: auto;
  aspect-ratio: 4 / 3;
  border-radius: 0.3rem;
}

.v2-page main > .v2-excursion-related a.group.surface-card img {
  width: 100%;
  height: 100%;
  border-radius: 0.3rem !important;
  object-fit: cover;
}

.v2-page main > .v2-excursion-related a.group.surface-card > [class~="flex"] {
  min-height: 0;
  padding: 1rem 0 0;
  background: transparent;
}

.v2-page main > .v2-excursion-related a.group.surface-card h3 {
  margin: 0 0 0.5rem;
  color: var(--v2-paper) !important;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  font-weight: 500;
}

.v2-page main > .v2-excursion-related a.group.surface-card > [class~="flex"] > p {
  min-height: 0;
  margin: 0;
  color: rgba(255, 253, 247, 0.68) !important;
  line-height: 1.6;
}

.v2-page main > .v2-excursion-related a.group.surface-card > [class~="flex"] > [class~="mt-3"] {
  display: none;
}

.v2-page main > .v2-excursion-related a.group.surface-card > [class~="relative"] > [class~="absolute"][class~="left-4"] > [class~="inline-flex"] {
  padding: 0.4rem 0.55rem;
  border: 0;
  border-radius: 0.2rem;
  background: rgba(7, 28, 25, 0.82);
  box-shadow: none;
  color: #fffdf7 !important;
  font-family: "Space Mono", monospace;
  font-size: 0.62rem;
  letter-spacing: 0.04em;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

@media (max-width: 64rem) {
  .v2-page main .v2-excursion-title-panel,
  .v2-page main .v2-excursion-visual-hero {
    min-height: clamp(29rem, 68svh, 40rem);
  }

  .v2-page main .v2-excursion-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v2-page main .v2-excursion-facts > .surface-card:nth-child(odd) {
    padding-left: 0;
    border-left: 0;
  }
}

@media (max-width: 48rem) {
  .v2-page main:is([data-v2-page-type="excursion-detail"], [data-v2-page-type="north-expedition"]) {
    width: 100%;
  }

  .v2-page main .v2-excursion-title-panel,
  .v2-page main .v2-excursion-visual-hero {
    min-height: 31rem;
    padding: 2rem 1rem !important;
  }

  .v2-page main .v2-excursion-visual-hero > [class~="absolute"][class~="inset-x-0"] {
    bottom: 2rem;
    left: 1rem;
    width: calc(100% - 2rem);
  }

  .v2-page main .v2-excursion-title-panel h1,
  .v2-page main .v2-excursion-visual-hero h1 {
    max-width: 13ch;
    font-size: clamp(2.7rem, 14vw, 4.5rem);
    line-height: 0.91;
  }

  .v2-page main .v2-excursion-content {
    width: calc(100% - 1.5rem);
    padding-block: 4rem 5rem !important;
  }

  .v2-page main h1.v2-excursion-title--place-nowrap {
    max-width: 100%;
    font-size: clamp(2.55rem, 13vw, 4.25rem);
  }

  .v2-page main .v2-excursion-story {
    margin-block: 3.75rem 3rem;
  }

  .v2-page main .v2-story-lead {
    display: block;
    padding-block: 3.5rem 3rem;
  }

  .v2-page main .v2-story-lead h2 {
    max-width: 12ch;
    margin-top: 1.2rem;
    font-size: clamp(2.45rem, 12vw, 3.8rem);
  }

  .v2-page main .v2-story-lead > p:last-child {
    margin-top: 1.25rem;
  }

  .v2-page main .v2-story-chapter,
  .v2-page main .v2-story-chapter--with-media,
  .v2-page main .v2-story-chapter--text-only {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.25rem;
    padding-block: 3.75rem;
  }

  .v2-page main .v2-story-chapter--reverse .v2-story-copy,
  .v2-page main .v2-story-chapter--text-only .v2-story-copy {
    order: 1;
    width: 100%;
    margin: 0;
  }

  .v2-page main .v2-story-chapter--reverse .v2-story-media {
    order: 2;
  }

  .v2-page main .v2-story-copy h3 {
    font-size: clamp(2rem, 9.5vw, 3rem);
  }

  .v2-page main .v2-story-media--pair {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }

  .v2-page main .v2-story-media img,
  .v2-page main .v2-story-media--pair img {
    aspect-ratio: 16 / 10;
  }

  .v2-page main .v2-excursion-gallery,
  .v2-page main .v2-catamaran-gallery {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
    margin-bottom: 3.75rem;
  }

  .v2-page main .v2-excursion-gallery > div,
  .v2-page main .v2-catamaran-gallery__item {
    aspect-ratio: 3 / 2 !important;
  }

  .v2-page main .v2-excursion-content > h2 {
    font-size: clamp(2.35rem, 12vw, 3.5rem);
  }

  .v2-page main .v2-excursion-overview,
  .v2-page main .v2-excursion-inclusions > [class~="grid"] {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .v2-page main .v2-excursion-overview > .surface-card {
    padding-block: 1.5rem 2rem;
  }

  .v2-page main .v2-excursion-facts {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-page main .v2-excursion-facts > .surface-card,
  .v2-page main .v2-excursion-facts > .surface-card:nth-child(odd),
  .v2-page main .v2-excursion-facts > .surface-card:first-child {
    min-height: 0;
    padding: 1.25rem 0;
    border-left: 0;
    border-bottom: 1px solid rgba(16, 42, 39, 0.12);
  }

  .v2-page main .v2-excursion-facts > .surface-card:last-child {
    border-bottom: 0;
  }

  .v2-page main .v2-excursion-inclusions .surface-card {
    padding-block: 1.8rem 1rem;
    border-bottom: 1px solid rgba(16, 42, 39, 0.14);
  }

  .v2-page main .v2-excursion-inclusions .surface-card:last-child {
    border-bottom: 0;
  }

  .v2-page main .v2-excursion-contact {
    padding: 1.75rem 1.25rem;
  }

  .v2-page main .v2-excursion-contact > [class~="flex"],
  .v2-page main .v2-excursion-contact > [class~="flex"] > [class~="flex"] {
    align-items: stretch;
    flex-direction: column;
  }

  .v2-page main .v2-excursion-contact a,
  .v2-page main .v2-excursion-visual-hero .v2-excursion-primary-cta,
  .v2-page main .v2-excursion-title-actions .v2-excursion-title-cta {
    width: 100% !important;
  }

  .v2-page main .v2-excursion-faq summary {
    padding-right: 2.5rem;
  }

  .v2-page main > .v2-excursion-related {
    padding: 4.5rem 0.75rem !important;
  }

  .v2-page main > .v2-excursion-related [class~="grid"]:has(> a.group.surface-card) {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.5rem;
  }

  .v2-page main > .v2-excursion-related a.group.surface-card > [class~="relative"] {
    aspect-ratio: 3 / 2;
  }
}

@media (prefers-reduced-motion: reduce) {
  .v2-page main .v2-story-media img {
    transition: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .v2-page main .v2-excursion-title-media img,
  .v2-page main .v2-excursion-visual-hero > img:first-child {
    transform: none;
    transition: none;
  }
}

/* Final route-scoped layout decisions, kept after imported compatibility CSS. */
body.v2-page main.v2-editorial-flow {
  display: block !important;
  width: min(calc(100% - 2rem), 72rem) !important;
  margin-inline: auto !important;
  padding: clamp(2.5rem, 6vw, 5.5rem) 0 clamp(4rem, 8vw, 7rem) !important;
}

body.v2-page main.v2-editorial-flow > section.v2-media-spread {
  display: grid !important;
  grid-template-columns: minmax(17rem, 0.72fr) minmax(0, 1.08fr) !important;
  gap: clamp(2rem, 7vw, 6rem) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.v2-page main.v2-editorial-flow > .v2-media-spread > .v2-media-spread__copy {
  display: block !important;
  grid-column: auto !important;
}

body.v2-page main[data-v2-page-type="review"] > section.v2-review-contribution {
  display: block !important;
}

.v2-page main .v2-excursion-content {
  padding-block: clamp(3.25rem, 6vw, 5.5rem) clamp(3.75rem, 7vw, 6rem) !important;
}

.v2-page main :is(.v2-excursion-overview, .v2-excursion-facts, .v2-excursion-inclusions, .v2-excursion-contact, .v2-excursion-faq) {
  margin-top: clamp(2.75rem, 5vw, 4.5rem) !important;
}

.v2-page main > .v2-excursion-related {
  padding-block: clamp(3.5rem, 6vw, 5.5rem) !important;
}

.v2-page main > .v2-excursion-related [class~="grid"]:has(> a.group.surface-card) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.v2-page main > .v2-excursion-related a.group.surface-card:nth-child(n + 3) {
  display: none !important;
}

@media (max-width: 48rem) {
  body.v2-page main.v2-editorial-flow > section.v2-media-spread {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .v2-page main .v2-excursion-booking .v2-contact-prep-heading,
  .v2-page main .v2-excursion-booking .v2-contact-prep-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-page main .v2-excursion-booking .v2-contact-prep-kicker {
    grid-row: auto;
    padding-top: 0;
  }

  .v2-page main .v2-excursion-booking {
    padding-block: 2rem;
  }

  .v2-page .nature-guide-page #calendrier table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed;
  }

  .v2-page .nature-guide-page #calendrier thead th:first-child,
  .v2-page .nature-guide-page #calendrier tbody th {
    width: 7.5rem !important;
    min-width: 7.5rem !important;
    padding-inline: 0.55rem !important;
  }

  .v2-page .nature-guide-page #calendrier :is(th, td)[data-calendar-half] {
    width: auto !important;
    min-width: 0 !important;
    padding-inline: 0.1rem !important;
  }

  .v2-page main > .v2-excursion-related [class~="grid"]:has(> a.group.surface-card) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Film journal: real YouTube images, four visible films and one native archive. */
.v2-page main[data-v2-page-type="blog-index"] .v2-film-journal {
  margin: 0;
  padding: clamp(2.5rem, 6vw, 4.5rem) 0;
  border: 0;
  border-bottom: 1px solid var(--v2-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.v2-film-journal__intro {
  max-width: 48rem;
  margin-bottom: clamp(1.75rem, 4vw, 3rem);
}

.v2-film-journal__kicker {
  margin: 0 0 0.85rem;
  color: var(--v2-sea);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}

.v2-film-journal__intro h2 {
  margin: 0;
  font-size: clamp(2.1rem, 4vw, 3.7rem);
  line-height: 1.04;
  letter-spacing: -0.035em;
}

.v2-film-journal__intro > p:not(.v2-film-journal__kicker) {
  max-width: 62ch;
  margin: 1.1rem 0 0;
  color: var(--v2-ink-soft);
  line-height: 1.75;
}

.v2-film-journal__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(2rem, 4vw, 3.5rem) clamp(1.4rem, 3vw, 2.5rem);
}

.v2-page main .v2-film-journal__entry {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
  padding: 0 0 1.5rem;
  border: 0;
  border-bottom: 1px solid var(--v2-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.v2-film-journal__media {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: var(--v2-deep);
}

.v2-page main .v2-film-journal__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 220ms ease;
}

.v2-page main [data-v2-film-format="short"] .v2-film-journal__media img {
  object-fit: contain;
}

.v2-film-journal__play {
  position: absolute;
  right: 0.9rem;
  bottom: 0.9rem;
  display: grid;
  width: 2.7rem;
  height: 2.7rem;
  place-items: center;
  border: 1px solid rgba(255, 253, 247, 0.55);
  border-radius: 50%;
  background: rgba(7, 28, 25, 0.88);
  color: var(--v2-paper);
  font-size: 0.85rem;
  line-height: 1;
}

.v2-film-journal__meta {
  margin: 1rem 0 0;
  color: var(--v2-ink-soft);
  font-size: 0.7rem;
  line-height: 1.55;
}

.v2-page main .v2-film-journal__title {
  margin: 0.5rem 0 0;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  line-height: 1.17;
  letter-spacing: -0.022em;
  overflow-wrap: anywhere;
}

.v2-film-journal__title a {
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
  transition: text-decoration-color 180ms ease;
}

.v2-film-journal__summary {
  flex: 1;
  margin: 0.85rem 0 0;
  color: var(--v2-ink-soft);
  font-size: 0.92rem;
  line-height: 1.75;
}

.v2-film-journal__watch,
.v2-film-journal__channel {
  display: inline-flex;
  width: fit-content;
  min-height: 44px;
  align-items: center;
  gap: 0.55rem;
  margin-top: 0.75rem;
  border-bottom: 1px solid currentColor;
  color: var(--v2-ink) !important;
  font-size: 0.78rem;
  font-weight: 800;
  text-decoration: none;
}

.v2-film-journal__watch span,
.v2-film-journal__channel span {
  transition: transform 180ms ease;
}

.v2-film-journal__more {
  margin-top: clamp(1.75rem, 4vw, 3rem);
  border: 0;
  border-radius: 0;
  background: transparent;
}

.v2-film-journal__more > summary {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-block: 1rem;
  border-block: 1px solid var(--v2-line);
  color: var(--v2-ink);
  font-size: 0.9rem;
  font-weight: 800;
  list-style: none;
  cursor: pointer;
}

.v2-film-journal__more > summary::-webkit-details-marker {
  display: none;
}

.v2-film-journal__more > summary > span {
  flex-shrink: 0;
  margin-inline-end: 0.5rem;
  font-size: 1.4rem;
  line-height: 1;
  transition: transform 180ms ease;
}

.v2-film-journal__more[open] > summary > span {
  transform: rotate(45deg);
}

.v2-film-journal__archive {
  padding-top: clamp(1.75rem, 4vw, 3rem);
}

.v2-film-journal__shorts {
  margin-top: clamp(2rem, 5vw, 4rem);
}

.v2-film-journal__shorts > h3 {
  margin: 0 0 1.4rem;
  font-size: clamp(1.65rem, 3vw, 2.3rem);
}

.v2-film-journal :is(a, summary):focus-visible {
  outline: 3px solid var(--v2-sea);
  outline-offset: 5px;
}

@media (hover: hover) {
  .v2-film-journal__media:hover img {
    transform: scale(1.018);
  }

  .v2-film-journal__title a:hover {
    text-decoration-color: currentColor;
  }

  .v2-film-journal :is(.v2-film-journal__watch, .v2-film-journal__channel):hover span {
    transform: translate(2px, -2px);
  }
}

@media (max-width: 48rem) {
  .v2-film-journal__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-film-journal__intro h2 {
    max-width: 18ch;
  }
}

@media (prefers-reduced-motion: reduce) {
  .v2-film-journal *,
  .v2-film-journal *::before,
  .v2-film-journal *::after {
    transition: none !important;
    transform: none !important;
  }
}

/* September 2026: close subjects and editorial image rhythm. */
.v2-page main [data-image-refresh] .v2-excursion-story {
  margin-block: clamp(2.5rem, 6vw, 5rem);
}
.v2-page main [data-image-refresh] .v2-story-lead {
  padding-block: clamp(2.5rem, 5vw, 4.5rem);
}
.v2-page main [data-image-refresh] .v2-story-chapter {
  padding-block: clamp(2.75rem, 6vw, 5.5rem);
}
.v2-page main [data-image-refresh] .v2-story-media img {
  aspect-ratio: 7 / 4;
}
.v2-page main .v2-image-note {
  max-width: 70ch;
  margin: 1.5rem 0 3rem;
  color: var(--v2-ink-soft);
  font-size: .75rem;
  line-height: 1.6;
}
.v2-page main [data-image-refresh="nosy-iranja"] .v2-story-media img[src*="iranja-vue-reelle"],
.v2-page main [data-image-refresh="nosy-iranja"] [data-v2-iranja-beach] img {
  aspect-ratio: auto;
  height: auto;
}
.v2-page main .v2-image-source-caption {
  display: block;
  margin-top: .45rem;
  font-size: .65rem;
  line-height: 1.6;
}
.v2-page main .v2-image-source-caption a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: .15em;
}
.v2-page main .v2-credited-image {
  position: relative;
}
.v2-page main .v2-image-credit,
.v2-page main .v2-excursion-title-panel > .v2-image-credit {
  position: absolute;
  z-index: 3;
  right: .6rem;
  bottom: .6rem;
  max-width: calc(100% - 1.2rem);
  padding: .3rem .45rem;
  color: #fff;
  background: rgba(9, 27, 24, .78);
  border-radius: 2px;
  font: 400 .625rem/1.45 system-ui, sans-serif;
  letter-spacing: 0;
  text-transform: none;
  pointer-events: none;
}
.v2-page main .v2-source-attribution {
  width: min(80rem, calc(100% - 2rem));
  margin: 2rem auto;
  color: var(--v2-ink-soft);
  font-size: .7rem;
  line-height: 1.6;
}
.v2-page main .v2-source-attribution a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: .15em;
}
.v2-page main [data-image-refresh="lokobe"] .v2-excursion-title-media img {
  object-position: 58% 45%;
}
.v2-page main [data-image-refresh="nosy-komba"] .v2-excursion-title-media img {
  object-position: 60% 48%;
}
.v2-page main [data-image-refresh="mont-passot"] .v2-excursion-title-media img {
  object-position: 40% 56%;
}
@media (max-width: 48rem) {
  .v2-page main [data-image-refresh="lokobe"] .v2-excursion-title-media img {
    object-position: 56% 45%;
  }
  .v2-page main [data-image-refresh="nosy-komba"] .v2-excursion-title-media img {
    object-position: 60% 48%;
  }
  .v2-page main [data-image-refresh="peche-trad"] .v2-excursion-title-media img {
    object-position: 68% 50%;
  }
  html[data-v2-route$="/excursions/expeditions-catamaran/"] .v2-excursion-title-media img {
    object-position: 68% 50%;
  }
}

/* Keep the card frame and the actual photo at the same size. The generic
   article image rule above intentionally uses auto height, unlike these cards. */
.v2-page main[data-v2-page-type="excursion-index"] .v2-hub-grid {
  row-gap: clamp(2.25rem, 4vw, 3.75rem);
}
.v2-page main[data-v2-page-type="excursion-index"] .v2-hub-card {
  display: grid;
  grid-template-rows: auto 1fr;
}
.v2-page main[data-v2-page-type="excursion-index"] .v2-hub-card figure {
  aspect-ratio: 16 / 11;
  margin: 0;
}
.v2-page main[data-v2-page-type="excursion-index"] .v2-hub-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0 !important;
}
.v2-page main[data-v2-page-type="excursion-index"] .v2-hub-card img[src*="lokobe-lemur"] {
  object-position: 65% 40%;
}
.v2-page main[data-v2-page-type="excursion-index"] .v2-hub-card > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-top: 1.15rem;
}
.v2-page main[data-v2-page-type="excursion-index"] .v2-hub-card h3 {
  margin: 0;
  font-size: clamp(1.4rem, 2.3vw, 2rem);
  font-weight: 500;
  line-height: 1.1;
}
.v2-page main[data-v2-page-type="excursion-index"] .v2-hub-card__action {
  margin-top: auto;
  padding-top: .75rem;
}

/* Real reference photographs: keep the coastline and the sacred tree in frame. */
.v2-page main .v2-guide-photo {
  display: block;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
  aspect-ratio: auto;
  border: 0;
  background: transparent;
}
.v2-page main .v2-guide-photo > img {
  position: static;
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 1rem;
}
.v2-page main .v2-guide-photo > figcaption {
  margin-top: .6rem;
  color: var(--v2-ink-soft);
  font-size: .72rem;
  line-height: 1.55;
}
.v2-page main .v2-guide-photo > figcaption a {
  color: inherit;
  text-underline-offset: .16em;
}

/* Candeur gift selection, October 2026. All overrides stay inside this route. */
/* Explicit resets retire the older portrait/contents layout on this route. */
body.v2-page main[data-v2-gifts] > section { width: 100% !important; }
body.v2-page main.v2-gift-page[data-v2-gifts] {
  width: min(calc(100% - 2rem), 76rem) !important;
  padding-top: clamp(2.25rem, 5vw, 4.5rem) !important;
}
.v2-page main[data-v2-gifts] .v2-gift-hero {
  display: grid !important;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr) !important;
  align-items: center !important;
  gap: clamp(2rem, 4vw, 4rem) !important;
}
body.v2-page main[data-v2-gifts] > .v2-gift-hero > .v2-gift-hero-copy { min-width: 0; display: block !important; }
body.v2-page main[data-v2-gifts] > .v2-gift-hero h1 {
  max-width: 11ch;
  margin: 0;
  padding-top: 0 !important;
  font: 500 clamp(3.2rem, 5.4vw, 4.8rem)/1.02 Georgia, serif !important;
  letter-spacing: -.045em;
}
body.v2-page main[data-v2-gifts] .v2-editorial-lead { font-size: 1.05rem; line-height: 1.8; margin-top: 1.6rem; }
body.v2-page main[data-v2-gifts] h1 .v2-gift-place { display: inline; white-space: nowrap; }
body.v2-page main[data-v2-gifts] > .v2-gift-recommendation { display: grid; grid-template-columns: 12rem minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3rem); margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--v2-line); }
body.v2-page main[data-v2-gifts] .v2-gift-quote-label { margin: .4rem 0 0; color: var(--v2-sea); font: 400 .75rem/1.6 "Space Mono", monospace; }
body.v2-page main[data-v2-gifts] .v2-gift-recommendation blockquote { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
body.v2-page main[data-v2-gifts] .v2-gift-recommendation blockquote p { max-width: 63ch; margin: 0; color: var(--v2-ink); font: 400 clamp(1.15rem, 1.8vw, 1.5rem)/1.55 Georgia, serif; }
body.v2-page main[data-v2-gifts] .v2-gift-recommendation cite { display: block; margin-top: .6rem; color: var(--v2-ink-soft); font: 700 .8rem/1.6 "Manrope", sans-serif; }
.v2-page main[data-v2-gifts] .v2-gift-hero figure { margin: 0; width: 100%; aspect-ratio: 3 / 2; overflow: hidden; }
.v2-page main[data-v2-gifts] .v2-gift-hero figure img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 28% center; }
.v2-page main[data-v2-gifts] svg { flex: 0 0 auto; vertical-align: middle; }
body.v2-page main[data-v2-gifts] > .v2-gift-collection {
  margin-top: clamp(3.5rem, 7vw, 6rem);
  padding-top: clamp(2rem, 4vw, 3.5rem);
  border-top: 1px solid var(--v2-line);
  scroll-margin-top: 7rem;
}
.v2-page main[data-v2-gifts] .v2-gift-section-heading,
.v2-page main[data-v2-gifts] .v2-gift-order {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}
body.v2-page main[data-v2-gifts] h2 { margin: 0; font: 500 clamp(2.2rem, 3.6vw, 3.2rem)/1.08 Georgia, serif; letter-spacing: -.03em; }
body.v2-page main[data-v2-gifts] h3 { color: var(--v2-ink); }
.v2-page main[data-v2-gifts] p { color: var(--v2-ink-soft); }
.v2-page main[data-v2-gifts] .v2-gift-section-heading p { margin: 0 0 1rem; max-width: 57ch; }
.v2-gift-link { display: inline-flex; align-items: center; gap: .6rem; min-height: 44px; font-size: .85rem; font-weight: 800; text-underline-offset: .3em; text-decoration-thickness: 1px; }
.v2-page main[data-v2-gifts] .v2-gift-products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 3vw, 2rem); margin-top: 2.25rem; }
.v2-gift-product { min-width: 0; display: flex; flex-direction: column; }
.v2-gift-product-image { display: block; overflow: hidden; aspect-ratio: 1; background: var(--v2-paper); }
.v2-gift-product-image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform 250ms ease; }
.v2-gift-product-image:hover img { transform: scale(1.025); }
body.v2-page main[data-v2-gifts] .v2-gift-product h3 { margin: 1.15rem 0 .55rem; font: 500 clamp(1.4rem, 2vw, 1.7rem)/1.2 Georgia, serif; letter-spacing: -.02em; }
.v2-gift-product p { margin: 0 0 .75rem; font-size: .9rem; }
.v2-gift-product .v2-gift-format { margin-top: auto; padding-top: .35rem; font-size: .78rem; }
body.v2-page main[data-v2-gifts] .v2-gift-product .v2-gift-price { margin-bottom: .4rem; color: var(--v2-ink); font-size: 1.02rem; font-weight: 800; }
.v2-gift-product .v2-gift-link { align-self: flex-start; }
.v2-gift-price-note { max-width: 85ch; margin: 1.8rem 0 0; font-size: .77rem; }
body.v2-page main[data-v2-gifts] > .v2-gift-shop { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 4vw, 4rem); align-items: center; margin-top: clamp(3.5rem, 7vw, 6rem); padding: clamp(1.25rem, 3vw, 2.5rem); background: var(--v2-sea-soft); }
.v2-gift-shop figure { margin: 0; }
.v2-gift-shop img { display: block; width: 100%; height: auto; }
.v2-gift-shop-copy > p { font-size: .92rem; margin: 1.3rem 0; }
body.v2-page main[data-v2-gifts] .v2-gift-shop h3 { margin: 1.75rem 0 .75rem; font: 800 .85rem/1.5 "Manrope", sans-serif; letter-spacing: 0; }
.v2-gift-hours { margin: 0; font-size: .8rem; }
.v2-gift-hours > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem; padding: .6rem 0; border-top: 1px solid var(--v2-line); }
.v2-gift-hours dt { font-weight: 700; }
.v2-gift-hours dd { margin: 0; }
.v2-gift-shop .v2-editorial-actions { margin-top: 1.5rem; }
.v2-gift-map { grid-column: 1 / -1; min-width: 0; scroll-margin-top: 6rem; }
.v2-gift-map-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
body.v2-page main[data-v2-gifts] .v2-gift-map-heading h3 { margin: 0; font-size: 1.05rem; }
.v2-gift-map iframe { display: block; width: 100%; max-width: 100%; height: clamp(20rem, 32vw, 26rem); border: 0; background: var(--v2-paper); }
body.v2-page main[data-v2-gifts] > .v2-gift-order { margin-top: 3.5rem; padding-top: 2.5rem; border-top: 1px solid var(--v2-line); }
.v2-gift-order p { margin: 0 0 .75rem; }
.v2-gift-other { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--v2-line); display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.v2-gift-other p { max-width: 65ch; font-size: .83rem; margin: 0; }
.v2-gift-other > a { flex-shrink: 0; }
@media (max-width: 48rem) {
  body.v2-page main[data-v2-gifts] > .v2-gift-recommendation { grid-template-columns: minmax(0, 1fr); gap: .8rem; margin-top: 2rem; padding-top: 1.5rem; }
  .v2-page main[data-v2-gifts] .v2-gift-hero { grid-template-columns: minmax(0, 1fr) !important; gap: 1.8rem !important; }
  body.v2-page main[data-v2-gifts] > .v2-gift-hero h1 { font-size: clamp(3rem, 9vw, 4.2rem) !important; max-width: 14ch; }
  .v2-page main[data-v2-gifts] .v2-gift-hero figure { aspect-ratio: 16 / 9; }
  .v2-page main[data-v2-gifts] .v2-gift-section-heading,
  body.v2-page main[data-v2-gifts] > .v2-gift-shop,
  body.v2-page main[data-v2-gifts] > .v2-gift-order { grid-template-columns: minmax(0, 1fr); gap: 1.3rem; }
  .v2-page main[data-v2-gifts] .v2-gift-products { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 2rem; }
  .v2-gift-other { display: block; }
  .v2-gift-other > a { margin-top: 1rem; }
}
@media (max-width: 34rem) {
  .v2-page main[data-v2-gifts] .v2-gift-products { grid-template-columns: minmax(0, 1fr); }
  .v2-gift-product { display: grid; grid-template-columns: minmax(0, 1fr); }
  .v2-gift-product .v2-gift-format { margin-top: 0; }
  .v2-gift-hours > div { grid-template-columns: minmax(0, 1fr); gap: .15rem; }
}
@media (prefers-reduced-motion: reduce) { .v2-gift-product-image img { transition: none; } }
