/* Veloura Editorial System 1.3 — coded sections outside Page Builder's visual limits. */

:root {
  --vl2-ivory: #f3efe7;
  --vl2-ink: #171714;
  --vl2-red: #8f2425;
  --vl2-sand: #c8a27d;
  --vl2-shell: min(1480px, calc(100vw - 80px));
  --vl2-ease: cubic-bezier(.22,.78,.2,1);
}

/* ---------- Global header ---------- */
.site-header {
  min-height: 92px;
  background: color-mix(in srgb, var(--vl-bg) 94%, transparent);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.site-header__inner {
  width: var(--vl2-shell);
  min-height: 92px;
}
.brand__wordmark {
  font-size: clamp(27px, 2.1vw, 35px);
  letter-spacing: .17em;
}
.brand__tagline {
  margin-top: 8px;
  font-size: 9px;
  letter-spacing: .16em;
}
.primary-navigation a,
.primary-navigation .nav-header,
.primary-navigation .separator {
  font-size: 12px;
  letter-spacing: .13em;
}
.header-cta {
  min-height: 48px;
  padding: 0 22px;
  font-size: 11px;
  letter-spacing: .12em;
}

:is(body.is-home,body.has-vl2-hero) .announcement { display: none !important; }
:is(body.is-home,body.has-vl2-hero) .site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 80;
  min-height: 92px;
  border-color: rgba(255,255,255,.28);
  color: #fff;
  background: linear-gradient(180deg, rgba(15,14,12,.58), rgba(15,14,12,.24));
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
:is(body.is-home,body.has-vl2-hero) .site-header .brand__tagline { color: rgba(255,255,255,.62); }
:is(body.is-home,body.has-vl2-hero) .site-header .header-cta {
  --button-bg: rgba(255,255,255,.06);
  --button-color: #fff;
  border-color: rgba(255,255,255,.5);
  background: rgba(255,255,255,.06);
}
:is(body.is-home,body.has-vl2-hero) .site-header .header-cta:hover { color: var(--vl2-ink); background: #fff; }
:is(body.is-home,body.has-vl2-hero) .site-header.is-scrolled {
  position: fixed;
  color: var(--vl2-ink);
  border-color: rgba(23,23,20,.13);
  background: color-mix(in srgb, var(--vl2-ivory) 90%, transparent);
  box-shadow: 0 12px 44px rgba(18,17,15,.08);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  animation: vl2HeaderIn .45s var(--vl2-ease) both;
}
:is(body.is-home,body.has-vl2-hero) .site-header.is-scrolled .brand__tagline { color: var(--vl-muted); }
:is(body.is-home,body.has-vl2-hero) .site-header.is-scrolled .header-cta {
  --button-bg: var(--vl2-ink);
  --button-color: #fff;
  border-color: var(--vl2-ink);
  color: #fff;
  background: var(--vl2-ink);
}
@keyframes vl2HeaderIn { from { opacity:0; transform:translateY(-100%); } to { opacity:1; transform:none; } }

/* ---------- Stable full-width bridge between SP Page Builder and coded sections ---------- */
:is(body.is-home, body.has-vl2-hero) .site-main > * + * { margin-top: 0 !important; }
.is-page-builder .sppb-section:has(.vl2-html-addon),
.is-page-builder .sppb-section:has(.vl2-html-addon) > .sppb-row-container,
.is-page-builder .sppb-section:has(.vl2-html-addon) > .sppb-row-container > .sppb-row,
.is-page-builder .sppb-section:has(.vl2-html-addon) .sppb-row-column,
.is-page-builder .sppb-section:has(.vl2-html-addon) .sppb-column,
.is-page-builder .sppb-section:has(.vl2-html-addon) .sppb-column-addons,
.is-page-builder .sppb-section:has(.vl2-html-addon) .sppb-addon-wrapper,
.is-page-builder .sppb-section:has(.vl2-html-addon) .vl2-html-addon,
.is-page-builder .sppb-section:has(.vl2-html-addon) .vl2-html-addon > .sppb-addon-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.is-page-builder .sppb-section:has(.vl2-html-addon) > .sppb-row-container > .sppb-row { display: flex; }
.vl2-html-addon,
.vl2-html-addon > .sppb-addon-content { margin: 0 !important; padding: 0 !important; }
.vl2-bleed { position: relative; left: auto; width: 100%; margin-left: 0; }
.vl2-shell { width: min(var(--vl2-shell), calc(100% - 40px)); margin-inline: auto; }

/* ---------- Editorial hero slider ---------- */
.vl2-hero {
  position: relative;
  width: 100%;
  height: 100svh;
  min-height: 650px;
  overflow: hidden;
  color: #fff;
  background: #24211e;
  isolation: isolate;
  touch-action: pan-y;
}
.vl2-hero__viewport,
.vl2-hero__slide,
.vl2-hero__media,
.vl2-hero__veil { position: absolute; inset: 0; }
.vl2-hero__viewport { z-index: 0; width: 100%; height: 100%; overflow: hidden; }
#sp-page-builder .vl2-hero article.vl2-hero__slide,
.site-main .vl2-hero article.vl2-hero__slide {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
}
.vl2-hero__slide {
  z-index: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: opacity .9s ease, visibility 0s linear .9s;
}
.vl2-hero__slide.is-active {
  z-index: 2;
  opacity: 1;
  visibility: visible;
  transition: opacity .9s ease, visibility 0s linear 0s;
}
.vl2-hero__slide.is-before { opacity: 0; }
.vl2-hero__media picture,
.vl2-hero__media img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
}
.vl2-hero__media img {
  object-fit: cover;
  transform: scale(1.035);
  transition: transform 8s ease-out;
}
.vl2-hero__slide.is-active .vl2-hero__media img { transform: scale(1); }
.vl2-hero__slide--01 .vl2-hero__media img { object-position: 48% 44%; }
.vl2-hero__slide--02 .vl2-hero__media img { object-position: 50% 30%; }
.vl2-hero__slide--03 .vl2-hero__media img { object-position: 50% 47%; }
.vl2-hero__veil {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(17,16,14,.62) 0%, rgba(17,16,14,.18) 48%, rgba(17,16,14,.58) 100%),
    linear-gradient(0deg, rgba(16,15,13,.66) 0%, transparent 48%, rgba(16,15,13,.22) 100%);
}
.vl2-hero__slide--02 .vl2-hero__veil {
  background: linear-gradient(90deg, rgba(21,19,17,.7) 0%, rgba(21,19,17,.16) 52%, rgba(21,19,17,.3)), linear-gradient(0deg,rgba(21,19,17,.5),transparent 48%);
}
.vl2-hero__slide--03 .vl2-hero__veil {
  background: linear-gradient(90deg, rgba(39,12,12,.32), rgba(24,13,12,.76)), linear-gradient(0deg,rgba(19,13,12,.62),transparent 55%);
}
.vl2-hero__content {
  position: relative;
  z-index: 3;
  display: flex;
  width: var(--vl2-shell);
  height: 100%;
  min-height: 650px;
  align-items: flex-end;
  padding: clamp(9rem, 17vh, 13rem) 0 clamp(8rem, 14vh, 10rem);
}
.vl2-hero__copy { width: min(46rem, 62%); }
.vl2-hero__slide--01 .vl2-hero__copy,
.vl2-hero__slide--03 .vl2-hero__copy { margin-left: auto; }
.vl2-hero__eyebrow {
  display: flex;
  align-items: center;
  gap: .8rem;
  margin-bottom: 1.4rem;
  font: 650 10px/1.3 var(--vl-sans, Arial, sans-serif);
  letter-spacing: .17em;
  text-transform: uppercase;
  color: rgba(255,255,255,.76);
}
.vl2-hero__eyebrow::before { width: 2.6rem; height: 1px; background: #d6aa80; content: ""; }
.vl2-hero h1 {
  max-width: 11ch;
  margin: 0;
  color: #fff;
  font-family: var(--vl-serif, Georgia, serif);
  font-size: clamp(54px, 6.8vw, 112px) !important;
  font-weight: 400;
  line-height: .84 !important;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.vl2-hero h1 em { display: block; color: #e4b98f; font-weight: 400; }
.vl2-hero__lead {
  max-width: 37rem;
  margin: 1.8rem 0 0;
  color: rgba(255,255,255,.72);
  font: 400 clamp(14px, 1.15vw, 17px)/1.65 var(--vl-sans, Arial, sans-serif);
}
.vl2-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.8rem; margin-top: 2rem; }
.vl2-hero__link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.5rem;
  min-width: 13rem;
  padding: .95rem 0;
  border-bottom: 1px solid rgba(255,255,255,.65);
  color: #fff;
  font: 650 10px/1 var(--vl-sans, Arial, sans-serif);
  letter-spacing: .14em;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: border-color .25s ease, color .25s ease;
}
.vl2-hero__link:hover { border-color: #e4b98f; color: #e4b98f; }
.vl2-hero__link svg { width: 17px; fill: none; stroke: currentColor; stroke-width: 1.5; transition: transform .3s var(--vl2-ease); }
.vl2-hero__link:hover svg { transform: translateX(5px); }
.vl2-hero__copy > * { opacity: 0; transform: translateY(24px); }
.vl2-hero__slide.is-active .vl2-hero__copy > * { animation: vl2CopyIn .8s var(--vl2-ease) forwards; }
.vl2-hero__slide.is-active .vl2-hero__copy > :nth-child(2) { animation-delay: .1s; }
.vl2-hero__slide.is-active .vl2-hero__copy > :nth-child(3) { animation-delay: .2s; }
.vl2-hero__slide.is-active .vl2-hero__copy > :nth-child(4) { animation-delay: .3s; }
@keyframes vl2CopyIn { to { opacity: 1; transform: none; } }

.vl2-hero__chrome {
  position: absolute;
  z-index: 5;
  right: 0;
  bottom: 0;
  left: 0;
  pointer-events: none;
}
.vl2-hero__chrome-inner {
  display: grid;
  grid-template-columns: auto minmax(10rem, 1fr) auto;
  align-items: center;
  gap: clamp(1.5rem, 4vw, 4rem);
  padding-bottom: 2rem;
  pointer-events: auto;
}
.vl2-hero__count { display: flex; align-items: baseline; gap: .35rem; min-width: 4rem; font-family: var(--vl-serif, Georgia, serif); }
.vl2-hero__count-current { font-size: 25px; }
.vl2-hero__count-total { color: rgba(255,255,255,.55); font-size: 13px; }
.vl2-hero__progress { position: relative; height: 1px; overflow: hidden; background: rgba(255,255,255,.28); }
.vl2-hero__progress-bar { position: absolute; inset: 0; background: #fff; transform: scaleX(0); transform-origin: left; }
.vl2-hero__controls { display: flex; gap: .55rem; }
.vl2-hero__control {
  display: grid;
  width: 44px;
  height: 44px;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 50%;
  color: #fff;
  background: rgba(20,18,16,.08);
  backdrop-filter: blur(8px);
  cursor: pointer;
  transition: color .25s ease, background .25s ease, transform .25s ease;
}
.vl2-hero__control:hover { color: var(--vl2-ink); background: #fff; transform: scale(1.04); }
.vl2-hero__control svg { width: 17px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.vl2-hero__live { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

@media (max-width: 1060px) {
  :root { --vl2-shell: min(1480px, calc(100vw - 40px)); }
  :is(body.is-home,body.has-vl2-hero) .site-header .menu-toggle { color: #fff; }
  :is(body.is-home,body.has-vl2-hero) .site-header.is-scrolled .menu-toggle { color: var(--vl2-ink); }
  .vl2-hero__copy { width: min(42rem, 76%); }
  .vl2-hero h1 { font-size: clamp(52px, 9vw, 88px) !important; }
}

@media (max-width: 720px) {
  :root { --vl2-shell: calc(100vw - 32px); }
  .site-header,
  .site-header__inner { min-height: 76px; }
  :is(body.is-home,body.has-vl2-hero) .site-header { min-height: 76px; }
  .brand__wordmark { font-size: 23px; }
  .vl2-hero { height: 100svh; min-height: 640px; }
  .vl2-hero__slide--01 .vl2-hero__media img { object-position: 43% center; }
  .vl2-hero__slide--02 .vl2-hero__media img { object-position: 52% 34%; }
  .vl2-hero__slide--03 .vl2-hero__media img { object-position: 48% center; }
  .vl2-hero__veil,
  .vl2-hero__slide--02 .vl2-hero__veil,
  .vl2-hero__slide--03 .vl2-hero__veil {
    background: linear-gradient(0deg,rgba(16,14,13,.9) 0%,rgba(16,14,13,.52) 44%,rgba(16,14,13,.16) 78%), linear-gradient(90deg,rgba(16,14,13,.24),rgba(16,14,13,.2));
  }
  .vl2-hero__content { height: 100%; min-height: 640px; padding: 7rem 0 7.25rem; }
  .vl2-hero__copy,
  .vl2-hero__slide--01 .vl2-hero__copy,
  .vl2-hero__slide--03 .vl2-hero__copy { width: 100%; margin-left: 0; }
  .vl2-hero h1 { max-width: 10ch; font-size: clamp(44px, 15vw, 66px) !important; }
  .vl2-hero__lead { max-width: 31rem; font-size: 14px; }
  .vl2-hero__actions { margin-top: 1.4rem; }
  .vl2-hero__chrome-inner { grid-template-columns: auto 1fr auto; gap: 1rem; padding-bottom: 1.35rem; }
  .vl2-hero__control { width: 40px; height: 40px; }
}

@media (prefers-reduced-motion: reduce) {
  .vl2-hero__slide,
  .vl2-hero__media img,
  .vl2-hero__copy > *,
  :is(body.is-home,body.has-vl2-hero) .site-header.is-scrolled { transition: none; animation: none !important; }
  .vl2-hero__copy > * { opacity: 1; transform: none; }
}

/* ---------- Section 02: manifesto and principles ---------- */
.vl2-manifest {
  position: relative;
  overflow: hidden;
  padding-top: clamp(6rem, 10vw, 10rem);
  color: var(--vl2-ink);
  background: var(--vl2-ivory);
}
.vl2-manifest__intro {
  display: grid;
  grid-template-columns: minmax(10rem,.48fr) minmax(0,1.52fr);
  gap: clamp(2rem,7vw,8rem);
  align-items: start;
}
.vl2-manifest__index { display:flex;align-items:center;gap:.8rem;padding-top:.65rem;font:650 10px/1 var(--vl-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--vl-muted); }
.vl2-manifest__index i { width:2.5rem;height:1px;background:var(--vl-line); }
.vl2-manifest__heading { display:grid;grid-template-columns:minmax(0,1.2fr) minmax(16rem,.8fr);gap:clamp(2rem,5vw,6rem);align-items:end; }
.vl2-manifest__heading h2 { max-width:13ch;margin:0;font-family:var(--vl-serif);font-size:clamp(40px,5vw,70px)!important;font-weight:400;line-height:.93!important;letter-spacing:-.035em;color:var(--vl2-ink); }
.vl2-manifest__heading h2 em { display:block;color:var(--vl2-red);font-weight:400; }
.vl2-manifest__heading>p { max-width:34rem;margin:0 0 .35rem;font:400 15px/1.7 var(--vl-sans);color:var(--vl-muted); }
.vl2-manifest__workspace { display:grid;grid-template-columns:minmax(0,1.16fr) minmax(20rem,.84fr);gap:clamp(2rem,6vw,7rem);align-items:center;margin-top:clamp(4rem,8vw,8rem); }
.vl2-manifest__visual { --tx:0px;--ty:0px;position:relative;height:clamp(600px,60vw,850px);overflow:hidden;background:#d7cec0;isolation:isolate; }
.vl2-manifest__visual:after { position:absolute;z-index:4;inset:1rem;border:1px solid rgba(255,255,255,.32);content:"";pointer-events:none; }
.vl2-manifest__image { position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transform:scale(1.025);transition:opacity .65s ease,visibility 0s .65s,transform 1s var(--vl2-ease); }
.vl2-manifest__image.is-active { opacity:1;visibility:visible;transform:scale(1);transition:opacity .65s ease,visibility 0s,transform 1s var(--vl2-ease); }
.vl2-manifest__image img { display:block;width:100%!important;max-width:none!important;height:100%!important;object-fit:cover;transform:translate3d(var(--tx),var(--ty),0) scale(1.045);transition:transform .7s var(--vl2-ease); }
.vl2-manifest__image:nth-child(1) img { object-position:50% 48%; }
.vl2-manifest__image:nth-child(2) img { object-position:52% 45%; }
.vl2-manifest__image:nth-child(3) img { object-position:50% 34%; }
.vl2-manifest__visual-meta { position:absolute;z-index:5;right:2rem;bottom:2rem;left:2rem;display:flex;justify-content:space-between;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.55);font:650 9px/1.3 var(--vl-sans);letter-spacing:.14em;text-transform:uppercase;color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.25); }
.vl2-manifest__principles { border-top:1px solid var(--vl-line); }
.vl2-manifest__principle { display:grid;width:100%;grid-template-columns:3rem minmax(0,1fr) 2rem;gap:1rem;align-items:start;padding:1.8rem 1.25rem;border:0;border-bottom:1px solid var(--vl-line);color:var(--vl2-ink);background:transparent;text-align:left;transition:color .35s ease,background .35s ease,padding .35s ease; }
.vl2-manifest__principle:hover { background:rgba(143,36,37,.055); }
.vl2-manifest__principle.is-active { padding-top:2.2rem;padding-bottom:2.2rem;color:#fff;background:var(--vl2-ink); }
.vl2-manifest__principle-num { padding-top:.35rem;font:650 10px/1 var(--vl-sans);letter-spacing:.12em;color:var(--vl2-red); }
.vl2-manifest__principle.is-active .vl2-manifest__principle-num { color:#dfa77a; }
.vl2-manifest__principle-body { display:grid;gap:.8rem; }
.vl2-manifest__principle-body b { font:400 clamp(27px,2.7vw,40px)/1 var(--vl-serif);letter-spacing:-.025em; }
.vl2-manifest__principle-body>span { max-width:31rem;max-height:0;overflow:hidden;opacity:0;font:400 14px/1.65 var(--vl-sans);color:rgba(255,255,255,.65);transition:max-height .45s ease,opacity .35s ease; }
.vl2-manifest__principle.is-active .vl2-manifest__principle-body>span { max-height:8rem;opacity:1; }
.vl2-manifest__principle-mark { font:400 18px/1 var(--vl-sans);transition:transform .35s var(--vl2-ease); }
.vl2-manifest__principle.is-active .vl2-manifest__principle-mark { transform:rotate(90deg); }
.vl2-manifest__statement { display:grid;grid-template-columns:1fr minmax(20rem,1.5fr) 1fr;gap:2rem;align-items:end;margin-top:clamp(6rem,10vw,10rem);padding:2rem 0;border-top:1px solid var(--vl-line);border-bottom:1px solid var(--vl-line); }
.vl2-manifest__statement>span { font:650 9px/1.4 var(--vl-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--vl-muted); }
.vl2-manifest__statement>span:last-child { text-align:right; }
.vl2-manifest__statement p { margin:0;text-align:center;font:400 clamp(30px,3.6vw,52px)/1.02 var(--vl-serif);letter-spacing:-.025em;color:var(--vl2-ink); }
.vl2-manifest__rail { margin-top:clamp(5rem,8vw,8rem);overflow:hidden;color:#fff;background:var(--vl2-red); }
.vl2-manifest__rail-track { display:flex;width:max-content;animation:vl2ManifestRail 32s linear infinite; }
.vl2-manifest__rail-track span { padding:1.4rem 0;white-space:nowrap;font:400 clamp(32px,4.2vw,64px)/1 var(--vl-serif);letter-spacing:-.02em; }
.vl2-manifest__rail-track i { margin:0 1.1rem;color:#e8bb93;font-style:normal;font-size:.45em;vertical-align:middle; }
@keyframes vl2ManifestRail { to { transform:translateX(-50%); } }
.vl2-manifest.is-ready .vl2-manifest__intro>* { opacity:0;transform:translateY(26px);transition:opacity .8s var(--vl2-ease),transform .8s var(--vl2-ease); }
.vl2-manifest.is-ready .vl2-manifest__workspace { opacity:0;transform:translateY(36px);transition:opacity .9s .12s var(--vl2-ease),transform .9s .12s var(--vl2-ease); }
.vl2-manifest.is-ready.is-inview .vl2-manifest__intro>*,.vl2-manifest.is-ready.is-inview .vl2-manifest__workspace { opacity:1;transform:none; }
.vl2-manifest.is-ready.is-inview .vl2-manifest__intro>*:nth-child(2) { transition-delay:.08s; }

@media (max-width: 960px) {
  .vl2-manifest__intro { grid-template-columns:1fr;gap:2.2rem; }
  .vl2-manifest__heading { grid-template-columns:1fr;gap:1.5rem; }
  .vl2-manifest__workspace { grid-template-columns:1fr; }
  .vl2-manifest__visual { height:min(82vw,760px);min-height:560px; }
  .vl2-manifest__principles { margin-top:1rem; }
  .vl2-manifest__statement { grid-template-columns:1fr;align-items:start; }
  .vl2-manifest__statement p { order:-1;text-align:left; }
  .vl2-manifest__statement>span:last-child { text-align:left; }
}
@media (max-width: 640px) {
  .vl2-manifest { padding-top:5.5rem; }
  .vl2-manifest__heading h2 { font-size:clamp(38px,12vw,52px)!important; }
  .vl2-manifest__workspace { margin-top:3.5rem; }
  .vl2-manifest__visual { height:125vw;min-height:460px;max-height:650px; }
  .vl2-manifest__visual-meta { right:1.25rem;bottom:1.25rem;left:1.25rem; }
  .vl2-manifest__principle { grid-template-columns:2rem minmax(0,1fr) 1.2rem;padding:1.35rem .25rem; }
  .vl2-manifest__principle.is-active { padding:1.6rem 1rem; }
  .vl2-manifest__principle-body b { font-size:28px; }
  .vl2-manifest__statement { margin-top:5rem; }
  .vl2-manifest__statement p { font-size:32px; }
  .vl2-manifest__rail { margin-top:4rem; }
}
@media (prefers-reduced-motion: reduce) {
  .vl2-manifest__rail-track { animation:none; }
  .vl2-manifest__image,.vl2-manifest__image img,.vl2-manifest__intro>*,.vl2-manifest__workspace { transition:none!important;transform:none!important; }
}
