.retreats-v2 { background: var(--livi-bg); color: var(--livi-text); isolation: isolate; overflow: hidden; position: relative; }
.retreats-v2 *, .retreats-v2 *::before, .retreats-v2 *::after { box-sizing: border-box; }
.retreats-v2 .container { width: min(var(--livi-content-max), calc(100% - var(--livi-page-pad) - var(--livi-page-pad))); max-width: none; margin-inline: auto; }
.retreats-v2 [hidden] { display: none !important; }
.retreats-v2 a:focus-visible, .retreats-v2 button:focus-visible, .retreats-v2 tr:focus-visible { outline: 2px solid var(--livi-text); outline-offset: 5px; }
.retreats-v2::before { background-image: url("../img/retreats/hero-global-routes.png"); background-position: 68% center; background-repeat: no-repeat; background-size: cover; content: ""; filter: brightness(.68) contrast(1.16); inset: -14%; opacity: .42; pointer-events: none; position: fixed; transform: translate3d(var(--retreat-parallax-x, 0px), var(--retreat-parallax-y, 0px), 0) scale(1.12); will-change: transform; z-index: 0; }
.retreats-v2 > section { position: relative; z-index: 1; }
.retreats-v2-principles, .retreats-v2-destinations, .retreats-v2-cases, .retreats-v2-contact { background-color: var(--livi-bg); }
.retreats-v2 .livi-arrow-link, .retreats-v2 .livi-arrow-link:visited { border-bottom: 1px solid var(--livi-rule-strong); color: var(--livi-text); font-size: 13px; font-weight: 500; gap: 0; letter-spacing: 0; min-height: 48px; opacity: 1; text-transform: uppercase; transition: border-color var(--livi-motion-fast) var(--livi-ease-ui), color var(--livi-motion-fast) var(--livi-ease-ui); }
.retreats-v2 .livi-arrow-link span { font-size: 20px; margin-left: 12px; }
.retreats-v2 .livi-arrow-link:hover, .retreats-v2 .livi-arrow-link:focus-visible { border-bottom-color: var(--livi-text); color: var(--livi-text); }
.retreats-v2-eyebrow { font-family: var(--livi-font-body); font-size: 10px; font-weight: 500; letter-spacing: .15em; line-height: 1.3; margin: 0 0 22px; text-transform: uppercase; }
.retreats-v2 h1, .retreats-v2 h2, .retreats-v2 h3 { font-family: var(--livi-font-display); font-weight: 400; letter-spacing: var(--livi-display-tracking); }
.retreats-v2 h2 { font-size: var(--livi-type-section); line-height: var(--livi-display-leading); margin: 0; }
.retreats-v2-button { align-items: center; background: rgba(5, 5, 5, .3); border: 1px solid var(--livi-rule-strong); border-radius: 2px; color: var(--livi-text); display: inline-flex; font-family: var(--livi-font-body); font-size: 13px; font-weight: 500; justify-content: center; letter-spacing: 0; min-height: 48px; min-width: 190px; padding: 14px 24px; text-decoration: none; text-transform: uppercase; transition: background-color var(--livi-motion-fast) var(--livi-ease-ui), border-color var(--livi-motion-fast) var(--livi-ease-ui), color var(--livi-motion-fast) var(--livi-ease-ui); }
.retreats-v2-button:hover, .retreats-v2-button:focus-visible { background: var(--livi-text); border-color: var(--livi-text); color: var(--livi-bg); }
.retreats-v2-reveal { opacity: 0; transform: translateY(16px); transition: opacity var(--livi-motion-reveal) var(--livi-ease-out), transform var(--livi-motion-reveal) var(--livi-ease-out); }
.retreats-v2-reveal.is-visible { opacity: 1; transform: none; }

.retreats-v2-hero { min-height: var(--livi-scene-min); position: relative; }
.retreats-v2-hero__media { height: 100%; inset: 0; object-fit: cover; object-position: 65% center; position: absolute; width: 100%; }
.retreats-v2-hero__shade { background: linear-gradient(90deg, rgba(5,5,5,.96) 0%, rgba(5,5,5,.8) 34%, rgba(5,5,5,.16) 73%, rgba(5,5,5,.34) 100%); inset: 0; position: absolute; }
.retreats-v2-hero__container { align-items: center; display: flex; min-height: var(--livi-scene-min); padding-block: 132px 64px; position: relative; }
.retreats-v2-hero__content { max-width: 760px; }
.retreats-v2-hero h1 { font-size: clamp(44px, 3.7vw, 62px); line-height: var(--livi-display-leading); margin: 0 0 31px; max-width: 690px; }
.retreats-v2-hero__content > p:not(.retreats-v2-eyebrow) { color: var(--livi-muted); font-family: var(--livi-font-body); font-size: clamp(16px, 1.2vw, 19px); line-height: 1.55; margin: 0 0 36px; max-width: 52ch; }

.retreats-v2-principles { align-items: center; display: flex; }
.retreats-v2-principles__grid { align-items: center; display: grid; gap: clamp(64px, 6vw, 104px); grid-template-columns: minmax(300px, .62fr) minmax(0, 1.38fr); width: 100%; }
.retreats-v2-principles__grid > div { max-width: 370px; }
.retreats-v2-principles ol { display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; margin: 0; padding: 0; }
.retreats-v2-principles li { border-left: 1px solid var(--livi-rule); min-height: 250px; padding: 6px clamp(18px, 1.8vw, 30px); }
.retreats-v2-principles li:first-child { border-left: 0; padding-left: 0; }
.retreats-v2-principles span, .retreats-v2-sequence__copy > p:first-child { color: var(--livi-muted); display: block; font-family: var(--livi-font-body); font-size: 10px; letter-spacing: .1em; margin-bottom: 25px; }
.retreats-v2-principles h3 { font-size: clamp(21px, 1.55vw, 27px); line-height: 1.08; margin: 0 0 18px; }
.retreats-v2-principles li p, .retreats-v2-sequence__intro > p:not(.retreats-v2-eyebrow), .retreats-v2-types__copy > p:not(.retreats-v2-eyebrow), .retreats-v2-destinations__grid > div > p, .retreats-v2-close__grid > div > p { color: var(--livi-muted); font-family: var(--livi-font-body); font-size: 14px; line-height: 1.58; margin: 0; }

.retreats-v2-sequence { background: var(--livi-bg); }
.retreats-v2-sequence__grid { align-items: stretch; display: grid; gap: clamp(28px, 3vw, 48px); grid-template-columns: minmax(270px, .52fr) minmax(120px, .2fr) minmax(0, 1.28fr); min-height: calc(var(--livi-scene-min) - 2 * var(--livi-scene-pad-y)); }
.retreats-v2-sequence__intro { display: flex; flex-direction: column; }
.retreats-v2-sequence__intro > p:not(.retreats-v2-eyebrow) { margin: 24px 0 38px; }
.retreats-v2-sequence__intro .livi-arrow-link { margin-top: auto; }
.retreats-v2-sequence__selector { border-left: 1px solid var(--livi-rule-strong); display: flex; flex-direction: column; justify-content: space-around; position: relative; }
.retreats-v2-sequence__selector button { align-items: center; background: var(--livi-surface); border: 0; color: var(--livi-muted); cursor: pointer; display: flex; font-family: var(--livi-font-body); font-size: 10px; gap: 12px; justify-content: flex-start; letter-spacing: .08em; margin-left: -11px; padding: 11px 0; text-align: left; }
.retreats-v2-sequence__selector button::before { background: var(--livi-surface); border: 1px solid currentColor; border-radius: 50%; content: ""; height: 21px; width: 21px; }
.retreats-v2-sequence__selector button[aria-selected="true"] { color: var(--livi-text); }
.retreats-v2-sequence__selector button[aria-selected="true"]::before { background: var(--livi-text); box-shadow: inset 0 0 0 6px var(--livi-surface); }
.retreats-v2-sequence__selector span { display: none; }
.retreats-v2-sequence__selector b { font-weight: 500; }
.retreats-v2-sequence__panels { display: grid; min-width: 0; }
.retreats-v2-sequence__panels article { display: grid; grid-area: 1 / 1; grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr); min-height: 100%; opacity: 1; position: relative; transform: none; transition: opacity var(--livi-motion-panel) var(--livi-ease-ui), transform var(--livi-motion-panel) var(--livi-ease-out); visibility: visible; z-index: 1; }
.retreats-v2 .retreats-v2-sequence__panels article[hidden] { display: grid !important; opacity: 0; pointer-events: none; transform: translateY(8px); visibility: hidden; z-index: 0; }
.retreats-v2-sequence__media { aspect-ratio: 2 / 3; background: #111; min-height: 0; overflow: hidden; }
.retreats-v2-sequence__media img { display: block; height: 100%; object-fit: cover; width: 100%; }
.retreats-v2-sequence__copy { align-self: center; padding: clamp(28px, 3.2vw, 52px); }
.retreats-v2-sequence__copy h3 { font-size: var(--livi-type-panel); line-height: 1.06; margin: 0 0 21px; }
.retreats-v2-sequence__copy > p:not(:first-child) { color: var(--livi-muted); font-family: var(--livi-font-body); font-size: 14px; line-height: 1.58; margin: 0 0 30px; }

.retreats-v2-types { background: var(--livi-bg); }
.retreats-v2-types__grid { align-items: center; display: grid; gap: clamp(46px, 5vw, 82px); grid-template-columns: minmax(290px, .55fr) minmax(0, 1.45fr); }
.retreats-v2-types__intro { max-width: 380px; }
.retreats-v2-types__intro [role="tablist"] { border-top: 1px solid var(--livi-rule); margin-top: 46px; }
.retreats-v2-types__intro button { align-items: center; background: transparent; border: 0; border-bottom: 1px solid var(--livi-rule); color: var(--livi-muted); cursor: pointer; display: grid; font-family: var(--livi-font-display); font-size: 19px; gap: 13px; grid-template-columns: 28px 1fr 18px; min-height: 58px; padding: 9px 0; text-align: left; transition: color var(--livi-motion-fast) var(--livi-ease-ui), padding var(--livi-motion-fast) var(--livi-ease-ui); width: 100%; }
.retreats-v2-types__intro button span { color: var(--livi-text); font-family: var(--livi-font-body); font-size: 10px; letter-spacing: .08em; }
.retreats-v2-types__intro button b { font-family: var(--livi-font-body); font-size: 18px; font-weight: 400; }
.retreats-v2-types__intro button[aria-selected="true"], .retreats-v2-types__intro button:hover { color: var(--livi-text); padding-left: 6px; }
.retreats-v2-types__panels { display: grid; min-width: 0; }
.retreats-v2-types__panels article { align-items: stretch; display: grid; grid-area: 1 / 1; grid-template-columns: minmax(300px, 1.08fr) minmax(300px, .92fr); opacity: 1; position: relative; transform: none; transition: opacity var(--livi-motion-panel) var(--livi-ease-ui), transform var(--livi-motion-panel) var(--livi-ease-out); visibility: visible; z-index: 1; }
.retreats-v2 .retreats-v2-types__panels article[hidden] { display: grid !important; opacity: 0; pointer-events: none; transform: translateY(8px); visibility: hidden; z-index: 0; }
.retreats-v2-types__media { aspect-ratio: 4 / 5; min-width: 0; overflow: hidden; }
.retreats-v2-types__media img { display: block; height: 100%; object-fit: cover; width: 100%; }
.retreats-v2-types__copy { align-self: center; min-width: 0; padding: clamp(28px, 3.1vw, 50px); }
.retreats-v2-types__copy h3 { font-size: var(--livi-type-panel); line-height: 1.06; margin: 0 0 21px; }
.retreats-v2-types__copy > p { margin-bottom: 34px !important; }
.retreats-v2-types__copy dl { border-top: 1px solid var(--livi-rule); display: grid; gap: 20px; margin: 0 0 34px; }
.retreats-v2-types__copy dl div { border-bottom: 1px solid var(--livi-rule); display: grid; gap: 15px; grid-template-columns: 85px 1fr; padding: 12px 0; }
.retreats-v2-types__copy dt { font-family: var(--livi-font-body); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.retreats-v2-types__copy dd { color: var(--livi-muted); font-family: var(--livi-font-body); font-size: 12px; line-height: 1.55; margin: 0; }

.retreats-v2-destinations { padding-block: var(--livi-scene-pad-y); }
.retreats-v2-destinations__grid { align-items: start; display: grid; gap: clamp(60px, 6vw, 110px); grid-template-columns: minmax(280px, .52fr) minmax(0, 1.48fr); }
.retreats-v2-destinations__grid > div > p { margin-top: 28px; max-width: 300px; }
.retreats-v2-table-wrap { overflow-x: auto; padding: 8px 0; }
.retreats-v2 table { border-collapse: separate; border-spacing: 0; min-width: 720px; table-layout: fixed; width: 100%; }
.retreats-v2 table caption.screen-reader-text { clip: rect(0 0 0 0); clip-path: inset(100%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; white-space: nowrap; width: 1px; }
.retreats-v2 th, .retreats-v2 td { border-bottom: 1px solid var(--livi-rule); padding: 19px 16px; text-align: left; vertical-align: top; }
.retreats-v2 thead th { color: var(--livi-muted); font-family: var(--livi-font-body); font-size: 10px; font-weight: 500; letter-spacing: .1em; padding-block: 12px 16px; text-transform: uppercase; }
.retreats-v2 thead th:nth-child(1) { width: 29%; }
.retreats-v2 thead th:nth-child(2) { width: 29%; }
.retreats-v2 thead th:nth-child(3) { width: 21%; }
.retreats-v2 thead th:nth-child(4) { width: 21%; }
.retreats-v2 tbody tr { cursor: pointer; }
.retreats-v2 tbody tr > * { background: transparent; transition: background-color var(--livi-motion-ui) var(--livi-ease-ui), color var(--livi-motion-ui) var(--livi-ease-ui), transform var(--livi-motion-ui) var(--livi-ease-out); }
.retreats-v2 tbody tr:hover > *, .retreats-v2 tbody tr:focus > *, .retreats-v2 tbody tr.is-active > * { background: rgba(240, 237, 232, .055); }
.retreats-v2 tbody tr:hover > th, .retreats-v2 tbody tr:focus > th, .retreats-v2 tbody tr.is-active > th { box-shadow: inset 2px 0 0 var(--livi-text); }
.retreats-v2 tbody th { font-family: var(--livi-font-display); font-size: 19px; font-weight: 400; line-height: 1.12; }
.retreats-v2-destination-index { color: var(--livi-muted); display: inline-block; font-family: var(--livi-font-body); font-size: 9px; letter-spacing: .1em; margin-right: 12px; padding-top: 4px; vertical-align: top; width: 22px; }
.retreats-v2 td { color: var(--livi-muted); font-family: var(--livi-font-body); font-size: 12px; line-height: 1.5; }
.retreats-v2 tbody tr:hover td, .retreats-v2 tbody tr:focus td, .retreats-v2 tbody tr.is-active td { color: rgba(240, 237, 232, .82); }

.retreats-v2-cases { padding-block: var(--livi-scene-pad-y); }
.retreats-v2-cases > .container { box-sizing: border-box; padding-inline: var(--livi-case-inline-inset); }
.retreats-v2-cases__header { align-items: end; display: grid; gap: var(--livi-gap-md); grid-template-columns: minmax(420px, 1.08fr) minmax(280px, .92fr); margin-bottom: clamp(56px, 6vw, 92px); }
.retreats-v2-cases__header > div:first-child { max-width: 680px; }
.retreats-v2-cases__intro { justify-self: end; max-width: 450px; }
.retreats-v2-cases__intro > p { color: var(--livi-muted); font-family: var(--livi-font-body); font-size: 14px; line-height: 1.62; margin: 0 0 24px; }
.retreats-v2-cases__intro > .livi-arrow-link { justify-self: start; }

.retreats-v2-contact { background-color: var(--livi-bg); }

@media (max-width: 1023px) {
  .retreats-v2-principles__grid, .retreats-v2-destinations__grid { grid-template-columns: 1fr; }
  .retreats-v2-principles ol { max-width: 900px; }
  .retreats-v2-sequence__grid { gap: 24px; grid-template-columns: minmax(220px, .45fr) minmax(104px, .2fr) minmax(0, 1.35fr); }
  .retreats-v2-types__grid { grid-template-columns: 1fr; }
  .retreats-v2-types__intro { display: grid; gap: 36px; grid-template-columns: .7fr 1.3fr; max-width: none; }
  .retreats-v2-types__intro [role="tablist"] { margin: 0; }
}

@media (max-width: 1199px) {
}

@media (max-width: 767px) {
  .retreats-v2-hero, .retreats-v2-hero__container { min-height: 760px; }
  .retreats-v2-hero__container { align-items: flex-start; padding-block: 132px 76px; }
  .retreats-v2-hero__shade { background: linear-gradient(180deg, rgba(5,5,5,.78), rgba(5,5,5,.93) 68%, #050505); }
  .retreats-v2-hero__media { object-position: 62% center; }
  .retreats-v2-principles { display: block; }
  .retreats-v2-principles ol { grid-template-columns: 1fr 1fr; margin-top: 10px; }
  .retreats-v2-principles li, .retreats-v2-principles li:first-child { border-left: 0; border-top: 1px solid var(--livi-rule); min-height: 0; padding: 22px 12px 22px 0; }
  .retreats-v2-principles li:nth-child(even) { padding-left: 12px; }
  .retreats-v2-principles li:nth-child(odd) { border-right: 1px solid var(--livi-rule); }
  .retreats-v2-sequence__grid { display: block; }
  .retreats-v2-sequence__intro .livi-arrow-link { margin-top: 34px; }
  .retreats-v2-sequence__selector { border-left: 0; border-top: 1px solid var(--livi-rule); flex-direction: row; margin: 38px 0 28px; overflow-x: auto; }
  .retreats-v2-sequence__selector button { flex: 0 0 auto; margin: 0; padding: 14px 16px 14px 0; }
  .retreats-v2-sequence__selector button::before { display: none; }
  .retreats-v2-sequence__selector span { display: inline; }
  .retreats-v2-sequence__panels article, .retreats-v2-types__panels article { display: block; }
  .retreats-v2-sequence__media { min-height: 0; }
  .retreats-v2-sequence__copy, .retreats-v2-types__copy { padding: 30px 0 0; }
  .retreats-v2-types__intro { display: block; }
  .retreats-v2-types__intro [role="tablist"] { margin-top: 36px; }
  .retreats-v2-types__media { aspect-ratio: 4 / 3; }
  .retreats-v2-types__copy dl div { display: block; }
  .retreats-v2-types__copy dt { margin-bottom: 8px; }
  .retreats-v2::before { background-position: 74% center; filter: brightness(.58) contrast(1.12); opacity: .28; transform: translate3d(var(--retreat-parallax-x, 0px), var(--retreat-parallax-y, 0px), 0) scale(1.18); }
  .retreats-v2-principles, .retreats-v2-destinations, .retreats-v2-cases, .retreats-v2-contact { background-color: var(--livi-bg); }
  .retreats-v2-cases__header { align-items: start; grid-template-columns: 1fr; }
  .retreats-v2-cases__intro { justify-self: start; max-width: 52ch; }
}

@media (prefers-reduced-motion: reduce) {
  .retreats-v2 *, .retreats-v2 *::before, .retreats-v2 *::after { animation-duration: .01ms !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .retreats-v2::before { background-position: 68% center; will-change: auto; }
  .retreats-v2-reveal { opacity: 1; transform: none; }
}
