/* ==========================================================================
   TAYRONA VENTURES — Platform page scaffold.
   A sibling system to the maison pages (Qvinto et al.). Inherits homepage.css
   (type scale, nav, footer, reveal engine). This sheet carries the "origin /
   platform" register: the mine, not the jewel. Raw, mineral, sculptural.
   Built to be reused by every Ventures platform (Tayrona Emeralds, Tayrona
   MgO, Tayrona Entertainment Group): the structure is shared; each platform
   sets its own accent palette via a body class (see ACCENTS, bottom).
   Gold stays the hairline throughout.
   ========================================================================== */

:root {
  /* shared Ventures canvas — the warm near-black of the parent site */
  --v-bg:        #0B0907;
  --v-bg-raise:  #110E0A;
  --v-ink:       #0E0B08;

  /* accent defaults (overridden per platform, bottom of file) */
  --v-accent:       #2E8662;
  --v-accent-soft:  #54B791;
  --v-accent-deep:  #1E3F2E;
  --v-accent-abyss: #0A1C15;
  --v-accent-glow:  rgba(46, 134, 98, 0.30);
  --v-accent-line:  rgba(46, 134, 98, 0.44);
  --v-wash-from:    #173d2e;
  --v-wash-mid:     #0d2a20;
  --v-wash-to:      #08160f;
}

body { background-color: var(--v-bg); color: var(--text); }
::selection { background: var(--v-accent); color: var(--text); }
.vignette { box-shadow: inset 0 0 220px 40px rgba(0, 0, 0, 0.58); }

/* ==========================================================================
   MONO EYEBROW / LABEL  (matches the maison label spec)
   ========================================================================== */
.v-eyebrow {
  font-family: var(--mono);
  font-size: clamp(0.6rem, 0.72vw, 0.72rem);
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--gold);
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
}
.v-eyebrow::before {
  content: '';
  width: 26px;
  height: 1px;
  background: linear-gradient(to right, var(--gold), transparent);
}
.v-eyebrow--plain::before { display: none; }
.v-eyebrow--accent { color: var(--v-accent-soft); }
.v-eyebrow--accent::before { background: linear-gradient(to right, var(--v-accent), transparent); }

/* ==========================================================================
   GOLD SCROLL SPINE  (consistent with the maison pages / Our History)
   ========================================================================== */
.spine {
  position: fixed;
  top: 0;
  left: clamp(1rem, 3vw, 3.2rem);
  width: 1px;
  height: 100vh;
  background: rgba(236, 230, 216, 0.10);
  z-index: 6000;
  pointer-events: none;
}
.spine__fill {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 0;
  background: linear-gradient(to bottom, var(--gold), var(--gold-deep));
}

/* ==========================================================================
   HERO — the emerald seam in host rock.
   A deep schist field; a single seam of accent light runs through the stone
   with a glowing pocket at its heart. Baked, fixed framing — no parallax.
   ========================================================================== */
.vhero {
  position: relative;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  background: #060707;
}
.vhero__scene { position: absolute; inset: 0; z-index: 0; }

@keyframes vSeamBreath {
  0%, 100% { opacity: 0.82; }
  50%      { opacity: 1; }
}

.vhero__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to top,
    rgba(6,7,6,0.97) 0%,
    rgba(6,7,6,0.78) 15%,
    rgba(6,7,6,0.30) 34%,
    rgba(6,7,6,0.02) 54%,
    transparent 72%);
}
.vhero__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: var(--maxw);
  margin-inline: auto;
  padding: 0 var(--margin) clamp(4rem, 9vh, 7rem);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.vhero__eyebrow { margin-bottom: 1.9rem; }
.vhero__title {
  font-family: var(--serif);
  font-weight: 300;
  font-style: italic;
  font-size: clamp(3rem, 8vw, 7.5rem);
  line-height: 0.98;
  letter-spacing: -0.03em;
  color: var(--text);
  margin: 0;
}
.vhero__sub {
  font-family: var(--serif);
  font-style: italic;
  font-weight: 300;
  font-size: clamp(1.2rem, 2vw, 1.8rem);
  line-height: 1.32;
  color: var(--gold-soft);
  margin: 1.6rem 0 0;
}
.vhero__sub .em { color: var(--v-accent-soft); font-style: normal; }
.vhero__note {
  position: absolute;
  bottom: 1.8rem;
  right: var(--margin);
  z-index: 2;
  font-family: var(--mono);
  font-size: 0.56rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(236, 230, 216, 0.28);
  text-align: right;
  line-height: 1.8;
  max-width: 26ch;
  pointer-events: none;
}

/* ==========================================================================
   SECTION SCAFFOLD + DIVIDER
   ========================================================================== */
.v-section { background: var(--v-bg); border-top: 1px solid var(--line-soft); }
.v-section--accent {
  background: radial-gradient(135% 240% at 1% -14%, var(--v-wash-from) 0%, var(--v-wash-mid) 34%, var(--v-wash-to) 100%);
  position: relative;
  overflow: hidden;
}
.v-section--accent::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(70% 55% at 50% 0%, var(--v-accent-glow), transparent 64%);
  opacity: 0.5;
  pointer-events: none;
}

.v-divider {
  position: relative;
  height: 1px;
  width: 100%;
  max-width: var(--content);
  margin: 0 auto;
  background: var(--line-soft);
  overflow: hidden;
}
.v-divider::after {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 34%;
  height: 100%;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  transform: translateX(-110%);
  opacity: 0;
}
.v-divider.swept::after { animation: vRuleSweep 1.9s var(--ease-out) forwards; }
@keyframes vRuleSweep {
  0%   { transform: translateX(-110%); opacity: 0; }
  12%  { opacity: 1; }
  88%  { opacity: 1; }
  100% { transform: translateX(360%); opacity: 0; }
}

/* ==========================================================================
   POSITIONING  (centered statement of the platform)
   ========================================================================== */
.v-position { text-align: center; }
.v-position__inner { max-width: 58rem; margin-inline: auto; position: relative; }
.v-position__eyebrow { margin-bottom: 2.6rem; }
.v-position__title {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(2.4rem, 5.4vw, 5rem);
  line-height: 1.04;
  letter-spacing: -0.025em;
  color: var(--text);
  margin: 0;
}
.v-position__lede {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(1.35rem, 2vw, 1.85rem);
  line-height: 1.5;
  color: var(--text);
  max-width: 42ch;
  margin: clamp(2rem, 4vh, 3rem) auto 0;
  text-wrap: balance;
}
.v-position__note {
  font-family: var(--sans);
  font-weight: 400;
  font-size: clamp(1rem, 1.2vw, 1.12rem);
  line-height: 1.75;
  color: var(--text-dim);
  max-width: 50ch;
  margin: clamp(1.4rem, 2.6vh, 2rem) auto 0;
  text-wrap: pretty;
}
.v-position__accent {
  font-family: var(--serif);
  font-style: italic;
  font-weight: 300;
  font-size: clamp(1.2rem, 1.8vw, 1.6rem);
  color: var(--v-accent-soft);
  margin: clamp(2.2rem, 4vh, 3rem) 0 0;
  letter-spacing: 0.01em;
}
.v-position__accent .gold { color: var(--gold-soft); }

/* The Foundation — full-bleed image hero */
.v-foundation {
  position: relative;
  overflow: hidden;
  min-height: clamp(620px, 88vh, 940px);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-block: clamp(4rem, 10vh, 8rem);
  border-top: 1px solid var(--line-soft);
}
.v-foundation__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  display: block;
}
.v-foundation__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(120% 90% at 50% 50%, rgba(6,7,6,0.28) 0%, rgba(6,7,6,0.60) 60%, rgba(6,7,6,0.85) 100%),
    linear-gradient(to bottom, rgba(6,7,6,0.55) 0%, rgba(6,7,6,0.28) 30%, rgba(6,7,6,0.45) 68%, rgba(6,7,6,0.90) 100%);
}
.v-foundation__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 58rem;
  margin-inline: auto;
  padding-inline: var(--margin);
  pointer-events: none;
}
.v-foundation__inner .v-chain__title { color: var(--vellum); }
.v-foundation__inner .v-position__note { color: var(--text); }
.v-foundation__inner .v-chain__title,
.v-foundation__inner .v-position__note,
.v-foundation__inner .v-position__accent { text-shadow: 0 2px 30px rgba(0,0,0,0.6); }

/* the model line — the five-word vertical-integration creed, understated */
.v-creedline {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.5rem 1.15rem;
  margin: clamp(2.6rem, 5vh, 3.6rem) auto 0;
  padding-top: clamp(1.8rem, 3.5vh, 2.6rem);
  border-top: 1px solid var(--line-soft);
  max-width: 52rem;
}
.v-creedline span {
  font-family: var(--mono);
  font-size: clamp(0.58rem, 0.78vw, 0.72rem);
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--text-dim);
}
.v-creedline .sep { color: var(--gold); }
.v-creedline .is-accent { color: var(--v-accent-soft); }
.v-creedline .is-sapphire { color: #5E92D8; }
.v-creedline .is-diamond { color: #C7D2D8; }
.v-creedline .is-gold { color: var(--gold-soft); }

/* Beyond-the-Emerald closing signature — gold italic, matching section closers */
.v-beyond__closer {
  text-align: center;
  font-family: var(--serif);
  font-style: italic;
  font-weight: 300;
  font-size: clamp(1.25rem, 2vw, 1.85rem);
  line-height: 1.4;
  color: var(--gold-soft);
  margin: clamp(2.4rem, 4.5vh, 3.4rem) auto 0;
  max-width: 34ch;
  text-wrap: balance;
}

/* ==========================================================================
   EDITORIAL SPLIT  (origin, ownership)
   ========================================================================== */
.v-split {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: stretch;
}
.v-split--reverse .v-split__media { order: 2; }
.v-split--reverse .v-split__text { order: 1; }
.v-split__text { max-width: 50ch; align-self: center; }
.v-split__eyebrow { margin-bottom: 1.8rem; }
.v-split__title {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(1.9rem, 3.4vw, 3.2rem);
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--text);
  margin: 0 0 1.8rem;
  text-wrap: balance;
}
.v-split__title .ln { display: block; }
.v-split__lead {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(1.3rem, 1.9vw, 1.7rem);
  line-height: 1.4;
  letter-spacing: -0.005em;
  color: var(--text);
  margin: 0 0 1.9rem;
  text-wrap: balance;
}
.v-split__body {
  font-size: 1.02rem;
  line-height: 1.8;
  color: var(--text-dim);
}
.v-split__body + .v-split__body { margin-top: 1.3rem; }
.v-split__accent {
  font-family: var(--serif);
  font-style: italic;
  font-weight: 300;
  font-size: clamp(1.15rem, 1.55vw, 1.45rem);
  color: var(--gold-soft);
  margin: 2rem 0 0;
}

/* ==========================================================================
   MAGNETIC, GEM-LIT FIGURE
   ========================================================================== */
.v-figure {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line-soft);
  background: radial-gradient(120% 105% at 50% 28%, #0c241b 0%, #08140F 46%, #060F0B 100%);
  transition: transform 0.85s var(--ease-out),
              box-shadow 0.85s var(--ease-out),
              border-color 0.85s var(--ease-out);
  will-change: transform;
}
.v-figure:hover {
  border-color: var(--v-accent-line);
  box-shadow:
    0 34px 90px -34px rgba(0, 0, 0, 0.78),
    0 0 52px -8px var(--v-accent-glow),
    inset 0 0 0 1px var(--v-accent-line);
}
.v-figure__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.v-figure image-slot,
.v-figure .image-slot { width: 100%; height: 100%; }
.v-figure__cap {
  position: absolute;
  left: 1.2rem;
  bottom: 1.1rem;
  z-index: 2;
  font-family: var(--mono);
  font-size: 0.56rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(236, 230, 216, 0.62);
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.8);
  pointer-events: none;
}
.v-figure__cap .dot { color: var(--gold); margin: 0 0.5rem; }
.v-origin .v-split__media { min-height: clamp(380px, 56vh, 600px); }

/* ==========================================================================
   THE CHAIN — traceability, rock to hand (the platform's signature strip)
   ========================================================================== */
.v-chain__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: clamp(2.6rem, 5vh, 4rem);
}
.v-chain__eyebrow { margin-bottom: 1.6rem; }
.v-chain__title {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(2.1rem, 4vw, 3.5rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--text);
  margin: 0;
  max-width: 22ch;
  text-wrap: balance;
}
.v-chain {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  border-top: 1px solid var(--line-gold);
}
.v-step {
  position: relative;
  padding: clamp(1.6rem, 2.4vw, 2.2rem) clamp(1.1rem, 1.6vw, 1.6rem) clamp(2rem, 3vh, 2.6rem);
  border-right: 1px solid var(--line-soft);
}
.v-step:last-child { border-right: 0; }
.v-step__num {
  font-family: var(--mono);
  font-size: 0.66rem;
  letter-spacing: 0.24em;
  color: var(--v-accent-soft);
  display: block;
  margin-bottom: 1rem;
}
.v-step__name {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(1.2rem, 1.7vw, 1.55rem);
  line-height: 1.12;
  color: var(--text);
  margin: 0 0 0.7rem;
  letter-spacing: -0.01em;
}
.v-step__desc {
  font-size: 0.92rem;
  line-height: 1.65;
  color: var(--text-dim);
  margin: 0;
  text-wrap: pretty;
}
.v-step::before {
  /* a small node marker sitting on the top rule */
  content: '';
  position: absolute;
  top: -3px; left: clamp(1.1rem, 1.6vw, 1.6rem);
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 8px 1px rgba(188, 165, 109, 0.6);
}

/* ==========================================================================
   BRIDGE — from origin to the maison downstream
   ========================================================================== */
.v-bridge {
  position: relative;
  overflow: hidden;
}
.v-bridge__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}
.v-bridge__eyebrow { margin-bottom: 1.7rem; }
.v-bridge__title {
  font-family: var(--serif);
  font-weight: 300;
  font-style: italic;
  font-size: clamp(2.1rem, 4.4vw, 4rem);
  line-height: 1.04;
  letter-spacing: -0.02em;
  color: var(--text);
  margin: 0 0 1.6rem;
  text-wrap: balance;
}
.v-bridge__body { max-width: 44ch; }
.v-bridge__flow {
  display: flex;
  align-items: center;
  gap: clamp(0.8rem, 1.6vw, 1.4rem);
  flex-wrap: wrap;
  margin-top: 2.4rem;
}
.v-bridge__node {
  font-family: var(--mono);
  font-size: 0.66rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--text);
}
.v-bridge__node.is-accent { color: var(--v-accent-soft); }
.v-bridge__node.is-gold { color: var(--gold); }
.v-bridge__arrow { color: var(--gold); font-size: 0.9rem; opacity: 0.7; }

/* ==========================================================================
   SPECIMEN PLATES
   ========================================================================== */
.v-plates__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: clamp(2.5rem, 5vh, 4rem);
}
.v-plates__eyebrow { margin-bottom: 1.6rem; }
.v-plates__title {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(2.1rem, 4vw, 3.6rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--text);
  margin: 0;
}
.v-plates {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.1rem, 1.8vw, 1.75rem);
}
.v-plate {
  display: flex;
  flex-direction: column;
}
.v-plate__frame { height: clamp(300px, 38vh, 420px); position: relative; }
.v-plate__caption {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  padding: 1.4rem 0.1rem 0;
}
.v-plate__title {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(1.3rem, 1.7vw, 1.7rem);
  line-height: 1.12;
  letter-spacing: -0.01em;
  color: var(--text);
  margin: 0;
}
.v-plate__desc {
  font-size: 0.98rem;
  line-height: 1.62;
  color: var(--text-dim);
  margin: 0;
  text-wrap: pretty;
}
.v-plate__award {
  font-family: var(--mono);
  font-size: clamp(0.58rem, 0.7vw, 0.68rem);
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--gold);
  margin-top: 0.15rem;
}

/* ---- Flip carousel (films reel) ---- */
.v-reel { position: relative; }
.v-reel__viewport {
  position: relative;
  height: clamp(440px, 62vh, 660px);
  perspective: 2000px;
  overflow: hidden;
  border: 1px solid var(--line-soft);
}
.v-reel__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transform: translateX(var(--reel-x, 6%)) rotateY(var(--reel-r, -8deg)) scale(0.975);
  transform-origin: center;
  transition: opacity 0.8s var(--ease-out), transform 0.9s var(--ease-out);
  will-change: transform, opacity;
  backface-visibility: hidden;
}
.v-reel__slide.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: none;
  z-index: 2;
}
.v-reel__media {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
  border: none;
}
.v-reel__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(to right, rgba(6,15,11,0) 34%, rgba(6,15,11,0.66) 66%, rgba(6,15,11,0.9) 100%),
    linear-gradient(to top, rgba(6,15,11,0.45) 0%, rgba(6,15,11,0) 40%);
}
.v-reel__info {
  position: absolute;
  z-index: 2;
  top: 50%;
  right: clamp(1.6rem, 5vw, 4.5rem);
  transform: translateY(-50%);
  width: min(42%, 460px);
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
  text-align: left;
}
.v-reel__title {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(1.9rem, 3vw, 3rem);
  line-height: 1.04;
  letter-spacing: -0.02em;
  color: var(--text);
  margin: 0;
  text-shadow: 0 2px 24px rgba(0,0,0,0.6);
}
.v-reel__alt { color: var(--gold-soft); font-style: italic; }
.v-reel__desc {
  font-size: clamp(1rem, 1.2vw, 1.12rem);
  line-height: 1.7;
  color: rgba(236, 230, 216, 0.86);
  margin: 0;
  text-wrap: pretty;
  text-shadow: 0 1px 16px rgba(0,0,0,0.6);
}
.v-reel__award { margin-top: 0.3rem; }

.v-reel__arrow {
  position: absolute;
  top: 50%;
  z-index: 3;
  transform: translateY(-50%);
  width: 56px;
  height: 56px;
  border: 1px solid rgba(236, 230, 216, 0.4);
  border-radius: 50%;
  background: rgba(6, 15, 11, 0.35);
  backdrop-filter: blur(3px);
  color: var(--text);
  font-size: 1.1rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.45s var(--ease-out), border-color 0.4s var(--ease-out),
              color 0.4s var(--ease-out), background 0.4s var(--ease-out);
}
.v-reel__arrow--prev { left: clamp(1rem, 2vw, 1.8rem); }
.v-reel__arrow--next { right: clamp(1rem, 2vw, 1.8rem); }
.v-reel__viewport:hover .v-reel__arrow,
.v-reel__arrow:focus-visible { opacity: 1; }
.v-reel__arrow:hover {
  border-color: var(--v-accent-soft);
  color: var(--v-accent-soft);
  background: rgba(6, 15, 11, 0.6);
}
@media (hover: none) {
  .v-reel__arrow { opacity: 1; }
}
.v-plates__foot {
  text-align: center;
  font-family: var(--serif);
  font-style: italic;
  font-weight: 300;
  font-size: clamp(1.25rem, 2vw, 1.85rem);
  color: var(--gold-soft);
  margin: clamp(2.6rem, 5vh, 4rem) auto 0;
  max-width: 32ch;
  text-wrap: balance;
}

/* ==========================================================================
   LEGACY CLOSE
   ========================================================================== */
.v-legacy {
  text-align: center;
  border-top: 1px solid var(--line-gold);
}
.v-legacy__eyebrow { margin-bottom: 2.4rem; }
.v-legacy__wordmark {
  position: relative;
  display: inline-block;
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(2.4rem, 4.4vw, 3.6rem);
  line-height: 1;
  letter-spacing: 0.01em;
  color: var(--vellum);
  margin: 0 auto 2.4rem;
  padding-bottom: 0.5rem;
}
.v-legacy__wordmark::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--gold) 20%, var(--gold-soft) 50%, var(--gold) 80%, transparent);
  box-shadow: 0 0 5px rgba(188, 165, 109, 0.45);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.5s var(--ease-out);
}
.v-legacy__wordmark:hover::after { transform: scaleX(1); }
.v-legacy__logo {
  width: 196px;
  height: 82px;
  object-fit: contain;
  display: block;
  margin: 0 auto 2.4rem;
  opacity: 0.95;
}
.v-legacy__line {
  font-family: var(--serif);
  font-style: italic;
  font-weight: 300;
  font-size: clamp(1.7rem, 3.2vw, 2.8rem);
  line-height: 1.45;
  color: var(--gold-soft);
  margin: 0 auto;
  text-wrap: balance;
}

/* ==========================================================================
   INQUIRE band
   ========================================================================== */
.v-inquire {
  text-align: center;
  background: var(--v-bg);
  border-top: 1px solid var(--line-soft);
  padding-block: clamp(4.5rem, 9vh, 8rem);
}
.v-inquire__wordmark {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  text-decoration: none;
  margin-bottom: 2.8rem;
}
.v-inquire__title {
  position: relative;
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(2rem, 3.6vw, 3.2rem);
  line-height: 1.1;
  color: var(--text);
  margin: 0;
  text-wrap: balance;
  transition: color 0.4s ease;
}
.v-inquire__title::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.18em;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--gold) 20%, var(--gold-soft) 50%, var(--gold) 80%, transparent);
  box-shadow: 0 0 5px rgba(188, 165, 109, 0.45);
  transform: scaleX(1);
  transform-origin: center;
}
.v-inquire__caption {
  font-family: var(--mono);
  font-size: clamp(0.6rem, 0.72vw, 0.72rem);
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--gold);
  transition: color 0.4s ease;
}
.v-inquire .text-link { font-size: 0.8rem; }
.v-inquire .text-link:hover { color: var(--v-accent-soft); }
body.v-ventures .v-inquire .text-link:hover { color: #C8853A; } /* Signal Amber, official Ventures palette */
body.v-maisons .v-inquire .text-link:hover { color: #B98FA8; } /* Atelier Aubergine, lifted to read on black */
.v-inquire .text-link::after {
  right: 0;
  background: linear-gradient(to right, transparent, var(--gold) 20%, var(--gold-soft) 50%, var(--gold) 80%, transparent);
  box-shadow: 0 0 5px rgba(188, 165, 109, 0.45);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.5s var(--ease-out);
}
.v-inquire .text-link:hover::after { right: 0; transform: scaleX(1); }

/* Bridge enquiry link — match the gold-gradient underline of the inquire band */
.v-bridge .text-link::after {
  background: linear-gradient(to right, transparent, var(--gold) 20%, var(--gold-soft) 50%, var(--gold) 80%, transparent);
  box-shadow: 0 0 5px rgba(188, 165, 109, 0.45);
}

/* Pillar / Maison "Explore" links — gold-gradient special underline */
.pillar-row__text .text-link::after {
  background: linear-gradient(to right, transparent, var(--gold) 20%, var(--gold-soft) 50%, var(--gold) 80%, transparent);
  box-shadow: 0 0 5px rgba(188, 165, 109, 0.45);
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1024px) {
  .v-split { grid-template-columns: 1fr; gap: 2.5rem; }
  .v-split--reverse .v-split__media { order: 0; }
  .v-split--reverse .v-split__text { order: 0; }
  .v-split__text { max-width: none; }
  .v-origin .v-split__media { min-height: clamp(340px, 52vh, 520px); }
  .v-chain { grid-template-columns: repeat(2, 1fr); }
  .v-step:nth-child(2n) { border-right: 0; }
  .v-step { border-bottom: 1px solid var(--line-soft); }
  .v-bridge__inner { grid-template-columns: 1fr; gap: 2.4rem; }
  .v-plates { grid-template-columns: 1fr; }
  .v-plate__frame { height: clamp(300px, 56vh, 420px); }
  .v-reel__viewport { height: clamp(440px, 70vh, 600px); }
  .v-reel__info {
    top: auto;
    bottom: clamp(1.4rem, 4vh, 2.4rem);
    right: clamp(1.2rem, 5vw, 2rem);
    left: clamp(1.2rem, 5vw, 2rem);
    transform: none;
    width: auto;
  }
  .v-reel__scrim {
    background:
      linear-gradient(to top, rgba(6,15,11,0.92) 0%, rgba(6,15,11,0.5) 38%, rgba(6,15,11,0) 68%);
  }
}
@media (max-width: 600px) {
  .v-chain { grid-template-columns: 1fr; }
  .v-step { border-right: 0; }
  .spine { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .v-divider.swept::after { animation: none !important; opacity: 0 !important; }
}

/* ==========================================================================
   ACCENTS — per-platform palettes (set via a body class).
   Add .v-mgo and .v-teg blocks here when those pages are built.
   ========================================================================== */
body.v-emeralds {
  --v-accent:       #2E8662;   /* raw emerald, more mineral than Qvinto's glow */
  --v-accent-soft:  #58BC95;
  --v-accent-deep:  #1E3F2E;   /* palette "Raw Emerald" */
  --v-accent-abyss: #0A1C15;
  --v-accent-glow:  rgba(46, 134, 98, 0.30);
  --v-accent-line:  rgba(46, 134, 98, 0.46);
  --v-wash-from:    #173d2e;
  --v-wash-mid:     #0d2a20;
  --v-wash-to:      #08160f;
}

body.v-mgo {
  --v-accent:       #7F8C99;   /* Tempered Steel (Colour System: Steel & Magnesia) */
  --v-accent-soft:  #DDD6C6;   /* Refractory White */
  --v-accent-deep:  #3A3E44;   /* Structural Steel */
  --v-accent-abyss: #111316;   /* Slag Black */
  --v-accent-glow:  rgba(127, 140, 153, 0.30);
  --v-accent-line:  rgba(127, 140, 153, 0.46);
  --v-wash-from:    #262b31;
  --v-wash-mid:     #1a1e23;
  --v-wash-to:      #0e1013;
}

body.v-teg {
  --v-accent:       #A23B36;   /* cinema garnet, the marquee and the curtain */
  --v-accent-soft:  #D2877D;
  --v-accent-deep:  #4A1C1A;
  --v-accent-abyss: #1A0A09;
  --v-accent-glow:  rgba(162, 59, 54, 0.30);
  --v-accent-line:  rgba(162, 59, 54, 0.46);
  --v-wash-from:    #3a1614;
  --v-wash-mid:     #2a0f0d;
  --v-wash-to:      #160807;
}
/* On the cultural platform, figures matte to a warm filmic dark rather than
   the mineral green of the origin pages. */
body.v-teg .v-figure {
  background: radial-gradient(120% 105% at 50% 28%, #241310 0%, #150b09 46%, #0e0706 100%);
}

/* Global Finance & Development — the sovereign-navy register of the capital
   core. The division page reuses the Ventures scaffold (hero, position,
   chain, legacy, inquire); only the accent and a four-column chain modifier
   are GFD-specific. Gold stays the hairline. */
body.v-gfd {
  --v-accent:       #36639E;   /* sovereign navy-blue, the depth of capital */
  --v-accent-soft:  #7FA6D2;
  --v-accent-deep:  #1B3252;
  --v-accent-abyss: #0A1526;
  --v-accent-glow:  rgba(54, 99, 158, 0.30);
  --v-accent-line:  rgba(54, 99, 158, 0.46);
  --v-wash-from:    #16283f;
  --v-wash-mid:     #0e1c2d;
  --v-wash-to:      #080f1a;
}
/* Tayrona Maisons division — Tayrona Blue accent, gold hairline */
body.v-maisons {
  --v-accent:       #082E6B;   /* Tayrona Blue */
  --v-accent-soft:  #6E86B8;
  --v-accent-deep:  #0A1E47;
  --v-accent-abyss: #060E22;
  --v-accent-glow:  rgba(8, 46, 107, 0.30);
  --v-accent-line:  rgba(8, 46, 107, 0.46);
  --v-wash-from:    #13243f;
  --v-wash-mid:     #0c1730;
  --v-wash-to:      #070d1d;
}
/* Tayrona Ventures division — Tayrona Blue accent, gold hairline */
body.v-ventures {
  --v-accent:       #082E6B;   /* Tayrona Blue */
  --v-accent-soft:  #6E86B8;
  --v-accent-deep:  #0A1E47;
  --v-accent-abyss: #060E22;
  --v-accent-glow:  rgba(8, 46, 107, 0.30);
  --v-accent-line:  rgba(8, 46, 107, 0.46);
  --v-wash-from:    #13243f;
  --v-wash-mid:     #0c1730;
  --v-wash-to:      #070d1d;
}
/* four-column chain for the four project pillars */
.v-chain--four { grid-template-columns: repeat(4, 1fr); }
.v-chain--four .v-step__name { min-height: 2.24em; }
@media (max-width: 1024px) {
  .v-chain--four { grid-template-columns: repeat(2, 1fr); }
  .v-chain--four .v-step:nth-child(2n) { border-right: 0; }
}
@media (max-width: 600px) {
  .v-chain--four { grid-template-columns: 1fr; }
  .v-chain--four .v-step { border-right: 0; }
}
/* closing slogan beneath the legacy line */
.v-legacy__slogan {
  font-family: var(--mono);
  font-size: clamp(0.62rem, 0.82vw, 0.76rem);
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--gold);
  margin: clamp(2.4rem, 4.5vh, 3.4rem) auto 0;
}

/* ==========================================================================
   ENTERTAINMENT — archival film treatment + supporting blocks
   (generic, reusable; carried by the TEG page)
   ========================================================================== */
.v-figure--archival .v-figure__bg { filter: grayscale(1) contrast(1.06) brightness(0.98); }
.v-figure__bg--contain { background-size: contain; background-repeat: no-repeat; background-position: center; }

/* THE TRIO — three delivery pillars, sibling to the five-step chain */
.v-trio {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--line-gold);
}
.v-trio__item {
  position: relative;
  padding: clamp(1.8rem, 2.6vw, 2.4rem) clamp(1.2rem, 1.8vw, 1.8rem) clamp(2rem, 3vh, 2.6rem);
  border-right: 1px solid var(--line-soft);
}
.v-trio__item:last-child { border-right: 0; }
.v-trio__item::before {
  content: '';
  position: absolute;
  top: -3px; left: clamp(1.2rem, 1.8vw, 1.8rem);
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 8px 1px rgba(188, 165, 109, 0.6);
}
.v-trio__num {
  font-family: var(--mono);
  font-size: 0.66rem;
  letter-spacing: 0.24em;
  color: var(--v-accent-soft);
  display: block;
  margin-bottom: 1rem;
}
.v-trio__name {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(1.3rem, 1.9vw, 1.7rem);
  line-height: 1.12;
  color: var(--text);
  margin: 0 0 0.9rem;
  letter-spacing: -0.01em;
}
.v-trio__desc {
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--text-dim);
  margin: 0;
  text-wrap: pretty;
}
.v-trio__foot {
  text-align: center;
  font-family: var(--mono);
  font-size: clamp(0.58rem, 0.78vw, 0.72rem);
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--text-dim);
  margin: clamp(2.2rem, 4vh, 3rem) auto 0;
}
.v-trio__foot .is-accent { color: var(--v-accent-soft); }
@media (max-width: 1024px) {
  .v-trio { grid-template-columns: 1fr; }
  .v-trio__item { border-right: 0; border-bottom: 1px solid var(--line-soft); }
}


/* ==========================================================================
   SELECTABLE COPY  (GFD pages)
   Full-bleed bands stack copy over image slots, scrims and grain. Several of
   those wrappers carry pointer-events: none, which stops a selection drag from
   ever starting on the words. Here the decorative layers are made pass-through
   and the copy wrappers are handed their pointer events back, so every line on
   a GFD page can be highlighted and copied. Image slots keep their own pointer
   events, so images can still be dropped in.
   ========================================================================== */
body.v-gfd, body.v-gfd * { -webkit-user-select: text; user-select: text; }
body.v-gfd .grain,
body.v-gfd .vignette,
body.v-gfd .v-divider,
body.v-gfd .fb-tick,
body.v-gfd .vhero__scrim,
body.v-gfd .fb-maison__scrim,
body.v-gfd .v-foundation__scrim,
body.v-gfd .v-reel__scrim,
body.v-gfd .v-position::before,
body.v-gfd .v-position::after { pointer-events: none; }
body.v-gfd .vhero__inner,
body.v-gfd .vhero__note,
body.v-gfd .v-position__inner,
body.v-gfd .fb-maison__content,
body.v-gfd .fb-maison__inner,
body.v-gfd .v-foundation__inner,
body.v-gfd .v-figure__cap,
body.v-gfd .v-reel__slide.is-active { pointer-events: auto !important; }
body.v-gfd .fb-maison__content,
body.v-gfd .v-foundation__inner { position: relative; z-index: 3; }

body.v-hbk {
  --v-accent:       #9C8350;   /* Partnership Bronze (Colour System, Nation Building) */
  --v-accent-soft:  #CDB98A;
  --v-accent-deep:  #4A3E25;
  --v-accent-abyss: #15110A;
  --v-accent-glow:  rgba(156, 131, 80, 0.30);
  --v-accent-line:  rgba(156, 131, 80, 0.46);
  --v-wash-from:    #33291a;
  --v-wash-mid:     #231c11;
  --v-wash-to:      #120e08;
}
body.v-energy {
  --v-accent:       #2F7C83;   /* Petrol Teal (Colour System, Nation Building) */
  --v-accent-soft:  #7DB9BC;
  --v-accent-deep:  #17393D;
  --v-accent-abyss: #081518;
  --v-accent-glow:  rgba(47, 124, 131, 0.30);
  --v-accent-line:  rgba(47, 124, 131, 0.46);
  --v-wash-from:    #163236;
  --v-wash-mid:     #0f2427;
  --v-wash-to:      #091416;
}
body.v-mobility {
  --v-accent:       #8FA846;   /* Volt Chartreuse (Colour System, Nation Building) */
  --v-accent-soft:  #C3D58A;
  --v-accent-deep:  #3F4A1E;
  --v-accent-abyss: #12160A;
  --v-accent-glow:  rgba(143, 168, 70, 0.28);
  --v-accent-line:  rgba(143, 168, 70, 0.44);
  --v-wash-from:    #283016;
  --v-wash-mid:     #1b210f;
  --v-wash-to:      #0f1309;
}
body.v-korea {
  --v-accent:       #7FA79A;   /* Celadon (Colour System, Nation Building) */
  --v-accent-soft:  #B5D0C5;
  --v-accent-deep:  #2F4A43;
  --v-accent-abyss: #0C1714;
  --v-accent-glow:  rgba(127, 167, 154, 0.28);
  --v-accent-line:  rgba(127, 167, 154, 0.44);
  --v-wash-from:    #1f3530;
  --v-wash-mid:     #152520;
  --v-wash-to:      #0c1613;
}
body.v-africa {
  --v-accent:       #B0643C;   /* Laterite (Colour System, Nation Building) */
  --v-accent-soft:  #DA9A70;
  --v-accent-deep:  #4F2A18;
  --v-accent-abyss: #1A0D07;
  --v-accent-glow:  rgba(176, 100, 60, 0.28);
  --v-accent-line:  rgba(176, 100, 60, 0.44);
  --v-wash-from:    #3a2015;
  --v-wash-mid:     #27150d;
  --v-wash-to:      #150b06;
}

/* Narrow phones: step number sits on the same line as the step name, saving a line per step. */
@media (max-width: 600px) {
  .v-step__num { display: inline-block; margin: 0 .9rem 0 0; vertical-align: .35em; }
  .v-step__name { display: inline-block; }
}
/* Stacked chains: the rule between steps is the same gold line as the top rule, so every node sits on gold. */
@media (max-width: 1024px) {
  .v-step { border-bottom-color: var(--line-gold); }
  .v-step:last-child { border-bottom: 0; }
}
/* Two-column chains (tablets, Fold open): inset vertical divider so it never notches the gold rules; an odd last step spans the row. */
@media (min-width: 601px) and (max-width: 1024px) {
  .v-chain .v-step { border-right: 0; }
  .v-chain .v-step:nth-child(odd):not(:last-child)::after { content: ''; position: absolute; right: 0; top: 12px; bottom: 12px; width: 1px; background: var(--line-soft); }
  .v-chain .v-step:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .v-chain .v-step:last-child:nth-child(odd) .v-step__desc { max-width: 34rem; }
}
/* Stacked trio (phones, open Fold, tablets): as stacked chains, gold rules between items, none under the last, and no padding of its own so the section's 64px is the true gap. */
@media (max-width: 1024px) {
  .v-trio__item { border-bottom-color: var(--line-gold); }
  .v-trio__item:last-child { border-bottom: 0; padding-bottom: 0; }
}
/* Stacked chains: the last step adds no padding of its own, so the section's 64px is the true gap. */
@media (max-width: 1024px) {
  .v-chain .v-step:last-child { padding-bottom: 0; }
}
