:root {
  --bg: #FFFAF5;
  --card: #FFFFFF;
  --sand: #F6EBDD;
  --dune: #EFD9C2;
  --ink: #2A1E1A;
  --ink-2: #5A4A43;
  --mute: #9C8E86;
  --orange: #E8743B;
  --orange-deep: #C9561F;
  --blue: #3E7CB1;
  --blue-ink: #2F6496;
  --line: #EADFD3;
  --r: 8px;
  --lift: 0 1px 2px rgba(42, 30, 26, .06), 0 20px 44px -26px rgba(42, 30, 26, .45);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 88px; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 400 18px/1.62 "Petrona", Georgia, serif; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--blue-ink); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--orange-deep); }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; }
.lv-vh { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.lv-skip { position: absolute; left: 16px; top: -64px; z-index: 100; background: var(--orange); color: var(--ink); padding: 10px 16px; border-radius: var(--r); font: 600 1rem "Familjen Grotesk", sans-serif; text-decoration: none; }
.lv-skip:focus { top: 12px; }

h1, h2, h3, h4, .lv-g { font-family: "Familjen Grotesk", "Helvetica Neue", Arial, sans-serif; color: var(--ink); margin: 0; text-wrap: balance; }
h1 { font-size: clamp(2.6rem, 1.4rem + 4vw, 5rem); line-height: .98; font-weight: 700; letter-spacing: -.035em; }
h2 { font-size: clamp(2rem, 1.3rem + 2.3vw, 3.2rem); line-height: 1.02; font-weight: 700; letter-spacing: -.03em; }
h3 { font-size: 1.3rem; line-height: 1.2; font-weight: 600; letter-spacing: -.015em; }
p { margin: 0 0 1em; }
.lv-box { width: min(1280px, calc(100% - 48px)); margin-inline: auto; }
.lv-over { display: block; margin-bottom: 14px; font: 600 .8rem/1.2 "Familjen Grotesk", sans-serif; letter-spacing: .16em; text-transform: uppercase; color: var(--orange-deep); }
.lv-intro { font-size: 1.2rem; line-height: 1.55; color: var(--ink-2); }
.lv-quiet { color: var(--ink-2); }
.lv-tiny { font-size: .88rem; }
.lv-zone { padding-block: clamp(72px, 8vw, 128px); }
.lv-zone--sand { background: var(--sand); }
.lv-zone--dark { background: var(--ink); color: #F3E7DC; }
.lv-zone--dark h2, .lv-zone--dark h3 { color: #fff; }
.lv-zone--card { background: var(--card); }
.lv-lead-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 72px; align-items: end; margin-bottom: 52px; }
.lv-lead-in p { margin: 0; color: var(--ink-2); font-size: 1.1rem; }

.lv-act { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 24px; border-radius: var(--r); border: 1.5px solid transparent; font: 600 1rem/1 "Familjen Grotesk", sans-serif; letter-spacing: .01em; text-decoration: none; cursor: pointer; transition: background-color .18s, color .18s, border-color .18s, transform .18s; }
.lv-act svg { width: 18px; height: 18px; flex: none; }
.lv-act--sun { background: var(--orange); color: var(--ink); }
.lv-act--sun:hover { background: #F0864F; color: var(--ink); transform: translateY(-1px); }
.lv-act--sun:disabled { opacity: .7; cursor: progress; transform: none; }
.lv-act--ink { background: var(--ink); color: #fff; }
.lv-act--ink:hover { background: #45332D; color: #fff; }
.lv-act--ghost { border-color: rgba(42, 30, 26, .3); color: var(--ink); background: transparent; }
.lv-act--ghost:hover { border-color: var(--ink); color: var(--ink); }
.lv-act--light { background: #fff; color: var(--ink); border-color: var(--line); }
.lv-arrow-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font: 600 1rem "Familjen Grotesk", sans-serif; color: var(--ink); text-decoration: none; border-bottom: 2px solid var(--orange); }
.lv-arrow-link svg { width: 18px; height: 18px; transition: transform .18s; }
.lv-arrow-link:hover { color: var(--orange-deep); }
.lv-arrow-link:hover svg { transform: translateX(3px); }

/* Masthead */
.lv-mast { position: sticky; top: 0; z-index: 60; background: var(--ink); color: #fff; transition: box-shadow .2s; }
.lv-mast[data-scrolled="true"] { box-shadow: 0 12px 30px -18px rgba(0, 0, 0, .7); }
.lv-mast-row { display: flex; align-items: center; gap: 28px; height: 74px; }
.lv-brand { display: inline-flex; align-items: center; min-height: 44px; color: #fff; text-decoration: none; flex: none; }
.lv-brand svg { height: 42px; width: auto; overflow: visible; }
.lv-menu { display: flex; align-items: center; gap: 28px; margin-left: auto; }
.lv-menu a { color: #F3E7DC; text-decoration: none; font: 500 .98rem "Familjen Grotesk", sans-serif; padding: 6px 0; border-bottom: 2px solid transparent; }
.lv-menu a:hover, .lv-menu a[aria-current="page"] { color: #fff; border-bottom-color: var(--orange); }
.lv-menu .lv-menu-quote { display: none; }
.lv-mast-quote { min-height: 44px; padding: 0 18px; }
.lv-burger { display: none; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: var(--r); border: 1.5px solid rgba(255, 255, 255, .28); background: transparent; color: #fff; cursor: pointer; }
.lv-burger svg { width: 22px; height: 22px; }
.lv-burger .lv-x { display: none; }
[data-menu="open"] .lv-burger .lv-x { display: block; }
[data-menu="open"] .lv-burger .lv-bars { display: none; }

/* Hero */
.lv-stage { position: relative; isolation: isolate; min-height: min(92vh, 860px); display: flex; align-items: flex-end; color: #fff; background: #1D2738; overflow: hidden; }
.lv-stage-img { position: absolute; inset: 0; z-index: -2; }
.lv-stage-img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; }
.lv-stage::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(20, 14, 12, .15) 0%, rgba(20, 14, 12, .1) 30%, rgba(20, 14, 12, .62) 62%, rgba(20, 14, 12, .9) 100%), linear-gradient(90deg, rgba(20, 14, 12, .55) 0%, rgba(20, 14, 12, 0) 60%); }
.lv-stage-copy { padding: 140px 0 28px; }
.lv-stage h1 { color: #fff; max-width: 13ch; }
.lv-stage .lv-intro { color: rgba(255, 255, 255, .88); max-width: 36rem; margin: 22px 0 0; }
.lv-stage-facts { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 0; padding: 0; list-style: none; }
.lv-stage-facts li { padding: 8px 14px; border-radius: var(--r); background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .22); font: 500 .92rem "Familjen Grotesk", sans-serif; backdrop-filter: blur(6px); }
.lv-stage-form { padding: 0 0 40px; }

/* Booking forms */
.lv-bk { position: relative; }
.lv-bk-trip { display: inline-flex; gap: 2px; margin: 0 0 12px; padding: 0; border: 0; }
.lv-bk-trip label { position: relative; }
.lv-bk-trip input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.lv-bk-trip span { display: inline-flex; align-items: center; min-height: 38px; padding: 0 14px; border-radius: var(--r); font: 600 .92rem "Familjen Grotesk", sans-serif; color: var(--ink-2); }
.lv-bk-trip input:checked + span { background: var(--ink); color: #fff; }
.lv-bk-trip input:focus-visible + span { outline: 3px solid var(--blue); outline-offset: 2px; }
.lv-bk-row { display: grid; gap: 12px; }
.lv-bk-cell { display: grid; gap: 6px; align-content: start; min-width: 0; margin: 0; }
.lv-bk-go { align-self: end; }
.lv-bk-cell > label { font: 600 .78rem/1.2 "Familjen Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); }
.lv-bk-cell input, .lv-bk-cell select, .lv-bk-cell textarea { width: 100%; min-height: 50px; padding: 12px 14px; border-radius: var(--r); border: 1.5px solid #DCCDBE; background: #fff; color: var(--ink); font: 500 1rem/1.3 "Familjen Grotesk", sans-serif; -webkit-appearance: none; appearance: none; transition: border-color .15s, box-shadow .15s; }
.lv-bk-cell select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%232A1E1A' stroke-width='1.8'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 38px; }
.lv-bk-cell textarea { min-height: 96px; resize: vertical; font-family: "Petrona", Georgia, serif; font-size: 1.02rem; }
.lv-bk-cell input::placeholder, .lv-bk-cell textarea::placeholder { color: #9C8E86; }
.lv-bk-cell input:focus, .lv-bk-cell select:focus, .lv-bk-cell textarea:focus { outline: none; border-color: var(--orange); box-shadow: 0 0 0 4px rgba(232, 116, 59, .22); }
.lv-bk-cell input[aria-invalid="true"] { border-color: #B42318; box-shadow: 0 0 0 4px rgba(180, 35, 24, .14); }
.lv-bk-err { margin: 0; font: 600 .86rem/1.35 "Familjen Grotesk", sans-serif; color: #B42318; }
.lv-bk-opt { text-transform: none; letter-spacing: 0; font-weight: 500; color: var(--mute); }
.lv-bk-tick { display: flex; gap: 12px; align-items: flex-start; margin: 4px 0; font-size: .95rem; color: var(--ink-2); cursor: pointer; }
.lv-bk-tick input { flex: none; width: 20px; height: 20px; margin: 3px 0 0; accent-color: var(--orange-deep); }
.lv-bk-pot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.lv-bk-multi { margin: 10px 0 0; font-size: .95rem; color: var(--ink-2); }
.lv-bk-legal { margin-top: 16px; font-size: .84rem; line-height: 1.5; color: var(--ink-2); }
.lv-bk-legal p { margin: 0 0 6px; }
.lv-bk-stop { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; justify-content: space-between; padding: 14px 16px; border-radius: var(--r); background: #FDECE6; border: 1px solid #F5C2B0; color: #7A2414; }
.lv-bk-stop p { margin: 0; flex: 1 1 240px; font-size: .97rem; }
.lv-bk-ok { padding: 26px; border-radius: var(--r); background: #fff; border-left: 4px solid var(--orange); }
.lv-bk-ok:focus { outline: none; }
.lv-bk-ok-h { font: 700 1.6rem/1.1 "Familjen Grotesk", sans-serif; letter-spacing: -.02em; margin: 0 0 8px; }
.lv-bk-ok p:last-child { margin: 0; color: var(--ink-2); }
.lv-bk-send { width: 100%; min-height: 54px; font-size: 1.04rem; }

/* Hero widget: dark glass */
.lv-bk--glass { padding: 16px; border-radius: var(--r); background: rgba(24, 17, 15, .62); border: 1px solid rgba(255, 255, 255, .16); backdrop-filter: blur(14px) saturate(1.2); -webkit-backdrop-filter: blur(14px) saturate(1.2); }
.lv-bk--glass .lv-bk-trip span { color: rgba(255, 255, 255, .78); }
.lv-bk--glass .lv-bk-trip input:checked + span { background: #fff; color: var(--ink); }
.lv-bk--glass .lv-bk-row--route { grid-template-columns: 1.3fr 1.3fr 1fr .9fr auto; align-items: end; }
.lv-bk--glass[data-rt="true"] .lv-bk-row--route { grid-template-columns: 1.2fr 1.2fr 1fr 1fr .9fr auto; }
.lv-bk--glass .lv-bk-cell > label { color: rgba(255, 255, 255, .78); }
.lv-bk--glass .lv-bk-cell input, .lv-bk--glass .lv-bk-cell select, .lv-bk--glass .lv-bk-cell textarea { background-color: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .28); color: #fff; color-scheme: dark; }
.lv-bk--glass .lv-bk-cell select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23ffffff' stroke-width='1.8'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E"); }
.lv-bk--glass .lv-bk-cell select option { color: var(--ink); background: #fff; }
.lv-bk--glass .lv-bk-cell input::placeholder, .lv-bk--glass .lv-bk-cell textarea::placeholder { color: rgba(255, 255, 255, .62); }
.lv-bk--glass .lv-bk-cell input:focus, .lv-bk--glass .lv-bk-cell select:focus, .lv-bk--glass .lv-bk-cell textarea:focus { border-color: var(--orange); background-color: rgba(255, 255, 255, .16); }
.lv-bk--glass .lv-bk-err { color: #FFB4A1; }
.lv-bk--glass .lv-bk-go .lv-act { min-height: 50px; padding: 0 26px; white-space: nowrap; }
.lv-bk--glass .lv-bk-who { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .16); }
.lv-bk--glass .lv-bk-row--who { grid-template-columns: 1fr 1fr 1fr; }
.lv-bk--glass .lv-bk-notes { grid-column: 1 / 3; }
.lv-bk--glass .lv-bk-row--who .lv-bk-send-cell { align-self: end; }
.lv-bk--glass .lv-bk-tick { grid-column: 1 / -1; color: rgba(255, 255, 255, .85); }
.lv-bk--glass .lv-bk-legal { color: rgba(255, 255, 255, .72); font-size: .8rem; }
.lv-bk--glass .lv-bk-legal a { color: #fff; }
.lv-bk--glass .lv-bk-multi { color: rgba(255, 255, 255, .8); }
.lv-bk--glass .lv-bk-stop { margin-top: 12px; }

/* Full form */
.lv-bk--sheet .lv-bk-row--route { grid-template-columns: 1fr 1fr; }
.lv-bk--sheet .lv-bk-row--who { grid-template-columns: 1fr 1fr; margin-top: 12px; }
.lv-bk--sheet .lv-bk-phone, .lv-bk--sheet .lv-bk-notes, .lv-bk--sheet .lv-bk-send-cell, .lv-bk--sheet .lv-bk-tick { grid-column: 1 / -1; }
.lv-bk--sheet[data-rt="true"] .lv-bk-pax { grid-column: 1 / -1; }
.lv-bk--sheet .lv-bk-stop { margin-top: 12px; }
.lv-panel-form { padding: clamp(22px, 3vw, 34px); border-radius: var(--r); background: #fff; box-shadow: var(--lift); }

/* Benefits */
.lv-perks { background: var(--card); border-bottom: 1px solid var(--line); }
.lv-perks ol { list-style: none; margin: 0; padding: 36px 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
.lv-perks li { padding: 0 28px; border-left: 1px solid var(--line); }
.lv-perks li:first-child { padding-left: 0; border-left: 0; }
.lv-perks b { display: block; font: 700 1.08rem/1.25 "Familjen Grotesk", sans-serif; margin: 12px 0 6px; }
.lv-perks span { color: var(--ink-2); font-size: .98rem; line-height: 1.5; }
.lv-glyph { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; border-radius: var(--r); background: var(--sand); color: var(--orange-deep); }
.lv-glyph svg { width: 22px; height: 22px; }

/* Drive vs fly */
.lv-duel { display: grid; gap: 22px; }
.lv-lane { display: grid; grid-template-columns: 200px 1fr 160px; gap: 24px; align-items: center; }
.lv-lane-name { font: 700 1.2rem "Familjen Grotesk", sans-serif; }
.lv-lane-name small { display: block; font: 400 .92rem "Petrona", serif; color: var(--ink-2); }
.lv-track { position: relative; display: flex; height: 52px; border-radius: var(--r); overflow: hidden; background: #fff; border: 1px solid var(--line); }
.lv-seg { display: flex; align-items: center; padding: 0 12px; font: 600 .82rem/1.1 "Familjen Grotesk", sans-serif; white-space: nowrap; overflow: hidden; }
.lv-seg--road { background: repeating-linear-gradient(135deg, #D9C3AC 0 10px, #E4D2BF 10px 20px); color: var(--ink); }
.lv-seg--jam { background: repeating-linear-gradient(135deg, #C98A6A 0 10px, #D49B7D 10px 20px); color: var(--ink); }
.lv-seg--ground { background: #E9DCCF; color: var(--ink); }
.lv-seg--air { background: var(--orange); color: var(--ink); }
.lv-seg--wait { background: #F3C9A8; color: var(--ink); }
.lv-lane-total { font: 700 1.5rem/1 "Familjen Grotesk", sans-serif; letter-spacing: -.02em; text-align: right; }
.lv-lane-total small { display: block; margin-top: 4px; font: 400 .88rem "Petrona", serif; color: var(--ink-2); letter-spacing: 0; }
.lv-duel-foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px 32px; align-items: center; margin-top: 30px; padding-top: 24px; border-top: 1px solid #E2CDB6; }
.lv-duel-foot p { margin: 0; max-width: 680px; color: var(--ink-2); font-size: .98rem; }

/* Airports */
.lv-ports { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.lv-port { display: flex; flex-direction: column; border-radius: var(--r); overflow: hidden; background: #fff; box-shadow: var(--lift); }
.lv-port-ph { position: relative; aspect-ratio: 4 / 4.2; overflow: hidden; }
.lv-port-ph img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.lv-port:hover .lv-port-ph img { transform: scale(1.04); }
.lv-port-code { position: absolute; left: 14px; top: 14px; padding: 6px 10px; border-radius: 6px; background: var(--ink); color: #fff; font: 700 .95rem "Familjen Grotesk", sans-serif; letter-spacing: .08em; }
.lv-port-bd { padding: 18px 18px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.lv-port-bd h3 { font-size: 1.2rem; }
.lv-port-bd p { margin: 0; font-size: .97rem; color: var(--ink-2); line-height: 1.5; }
.lv-port-bd .lv-arrow-link { margin-top: auto; align-self: flex-start; font-size: .95rem; }
.lv-lands { margin-top: 28px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.lv-land { padding: 18px 20px; border-radius: var(--r); background: #fff; border: 1px solid var(--line); }
.lv-land b { display: block; font: 700 1.05rem "Familjen Grotesk", sans-serif; margin-bottom: 4px; }
.lv-land p { margin: 0; font-size: .96rem; color: var(--ink-2); }

/* Aircraft */
.lv-fleetlist { display: grid; gap: 14px; }
.lv-craft { display: grid; grid-template-columns: 240px minmax(0, 1fr) 90px 150px 190px; gap: 24px; align-items: center; padding: 14px; border-radius: var(--r); background: #fff; border: 1px solid var(--line); transition: box-shadow .2s; }
.lv-craft:hover { box-shadow: var(--lift); }
.lv-craft-ph { aspect-ratio: 3 / 2; border-radius: 6px; overflow: hidden; }
.lv-craft-ph img { width: 100%; height: 100%; object-fit: cover; }
.lv-craft h3 { margin-bottom: 4px; }
.lv-craft p { margin: 0; font-size: .96rem; color: var(--ink-2); }
.lv-stat b { display: block; font: 700 1.12rem "Familjen Grotesk", sans-serif; }
.lv-stat span { font: 600 .74rem "Familjen Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--mute); }
.lv-footnote { margin-top: 20px; font-size: .92rem; color: var(--ink-2); }

/* Groups */
.lv-groups { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.lv-groups-ph { position: relative; }
.lv-groups-ph .lv-a { border-radius: var(--r); overflow: hidden; aspect-ratio: 4 / 3; }
.lv-groups-ph .lv-b { position: absolute; right: -18px; bottom: -36px; width: 46%; border-radius: var(--r); overflow: hidden; aspect-ratio: 1; border: 6px solid var(--sand); }
.lv-groups-ph img { width: 100%; height: 100%; object-fit: cover; }
.lv-grid-table { overflow-x: auto; margin: 26px 0 0; border-radius: var(--r); border: 1px solid #E2CDB6; background: #fff; }
.lv-grid-table table { width: 100%; min-width: 520px; border-collapse: collapse; font: 500 .98rem "Familjen Grotesk", sans-serif; }
.lv-grid-table th, .lv-grid-table td { padding: 13px 16px; text-align: left; border-bottom: 1px solid var(--line); }
.lv-grid-table thead th { background: var(--ink); color: #fff; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }
.lv-grid-table tbody tr:last-child td { border-bottom: 0; }
.lv-grid-table caption { caption-side: bottom; text-align: left; padding: 12px 16px; font: 400 .88rem "Petrona", serif; color: var(--ink-2); }

/* Steps */
.lv-path { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; counter-reset: p; position: relative; }
.lv-path::before { content: ""; position: absolute; left: 0; right: 0; top: 22px; border-top: 2px dashed #D9B99B; }
.lv-path li { position: relative; padding: 0 24px 0 0; counter-increment: p; }
.lv-path li::before { content: counter(p); position: relative; display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin-bottom: 20px; border-radius: 50%; background: var(--bg); border: 2px solid var(--orange); font: 700 1.1rem "Familjen Grotesk", sans-serif; color: var(--ink); }
.lv-zone--sand .lv-path li::before { background: var(--sand); }
.lv-path h3 { margin-bottom: 8px; }
.lv-path p { margin: 0; color: var(--ink-2); font-size: 1rem; }

/* Routes */
.lv-trips { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.lv-trip-card { display: grid; grid-template-rows: auto 1fr; border-radius: var(--r); overflow: hidden; background: #fff; text-decoration: none; color: var(--ink); border: 1px solid var(--line); transition: box-shadow .2s, transform .2s; }
.lv-trip-card:hover { box-shadow: var(--lift); transform: translateY(-2px); color: var(--ink); }
.lv-trip-ph { position: relative; aspect-ratio: 16 / 11; overflow: hidden; }
.lv-trip-ph img { width: 100%; height: 100%; object-fit: cover; }
.lv-trip-tag { position: absolute; left: 14px; bottom: 14px; display: inline-flex; align-items: center; gap: 8px; padding: 7px 11px; border-radius: 6px; background: rgba(255, 250, 245, .95); font: 700 .9rem "Familjen Grotesk", sans-serif; letter-spacing: .06em; }
.lv-trip-tag svg { width: 22px; height: 10px; color: var(--orange-deep); }
.lv-trip-bd { padding: 18px 20px 22px; }
.lv-trip-bd h3 { margin-bottom: 6px; }
.lv-trip-bd p { margin: 0 0 12px; font-size: .97rem; color: var(--ink-2); line-height: 1.5; }
.lv-trip-meta { display: flex; justify-content: space-between; gap: 12px; font: 600 .9rem "Familjen Grotesk", sans-serif; padding-top: 12px; border-top: 1px solid var(--line); }
.lv-trip-meta span:last-child { color: var(--orange-deep); }

/* Standards */
.lv-rules { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-top: 44px; border-top: 1px solid rgba(255, 255, 255, .16); }
.lv-rule { padding: 28px 26px 0 0; }
.lv-rule + .lv-rule { padding-left: 26px; border-left: 1px solid rgba(255, 255, 255, .16); }
.lv-rule h3 { font-size: 1.15rem; margin-bottom: 10px; }
.lv-rule p { margin: 0; color: #D9C9BC; font-size: .98rem; line-height: 1.55; }
.lv-zone--dark .lv-intro { color: #E3D3C6; }
.lv-zone--dark .lv-over { color: #F3A57C; }

/* FAQ */
.lv-asks { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; }
.lv-ask { border-top: 1px solid #E2CDB6; }
.lv-ask summary { display: flex; gap: 16px; justify-content: space-between; align-items: flex-start; padding: 20px 0; cursor: pointer; list-style: none; font: 600 1.1rem/1.35 "Familjen Grotesk", sans-serif; }
.lv-ask summary::-webkit-details-marker { display: none; }
.lv-ask summary::after { content: "+"; flex: none; width: 28px; height: 28px; border-radius: 6px; display: grid; place-items: center; background: var(--orange); color: var(--ink); font: 700 1.1rem/1 "Familjen Grotesk", sans-serif; transition: transform .2s; }
.lv-ask[open] summary::after { transform: rotate(45deg); }
.lv-ask-body { padding: 0 0 22px; color: var(--ink-2); }
.lv-ask-body p:last-child { margin: 0; }

/* Stops (journal) */
.lv-mag { display: grid; grid-template-columns: 1.3fr 1fr; grid-template-rows: auto auto; gap: 24px; }
.lv-story { display: grid; gap: 14px; align-content: start; text-decoration: none; color: var(--ink); }
.lv-story:first-child { grid-row: span 2; }
.lv-story-ph { border-radius: var(--r); overflow: hidden; aspect-ratio: 16 / 10; }
.lv-story:first-child .lv-story-ph { aspect-ratio: 4 / 3.3; }
.lv-story-ph img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.lv-story:hover .lv-story-ph img { transform: scale(1.03); }
.lv-story-k { font: 600 .78rem "Familjen Grotesk", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--orange-deep); }
.lv-story h3 { font-size: 1.45rem; }
.lv-story:first-child h3 { font-size: 2rem; }
.lv-story:hover h3 { color: var(--orange-deep); }
.lv-story p { margin: 0; color: var(--ink-2); }

/* Closing */
.lv-finale { position: relative; isolation: isolate; color: #fff; }
.lv-finale-img { position: absolute; inset: 0; z-index: -2; }
.lv-finale-img img { width: 100%; height: 100%; object-fit: cover; }
.lv-finale::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(20, 14, 12, .9) 0%, rgba(20, 14, 12, .72) 45%, rgba(20, 14, 12, .45) 100%); }
.lv-finale-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.lv-finale h2 { color: #fff; }
.lv-finale .lv-intro { color: rgba(255, 255, 255, .86); margin-top: 18px; }
.lv-finale ul { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 10px; font: 500 1rem "Familjen Grotesk", sans-serif; }
.lv-finale li { display: flex; gap: 10px; align-items: center; }
.lv-finale li svg { width: 20px; height: 20px; color: var(--orange); flex: none; }

/* Inner pages */
.lv-banner { padding: clamp(56px, 7vw, 100px) 0 clamp(36px, 4vw, 56px); background: var(--sand); border-bottom: 1px solid #E2CDB6; }
.lv-banner h1 { font-size: clamp(2.4rem, 1.4rem + 3.2vw, 4rem); max-width: 18ch; }
.lv-banner .lv-intro { margin-top: 18px; max-width: 46rem; }
.lv-trail { font: 500 .9rem "Familjen Grotesk", sans-serif; color: var(--ink-2); margin-bottom: 18px; }
.lv-trail a { color: var(--ink-2); }
.lv-copy { max-width: 720px; }
.lv-copy h2 { font-size: clamp(1.7rem, 1.3rem + 1.2vw, 2.25rem); margin: 48px 0 14px; }
.lv-copy h3 { margin: 30px 0 10px; }
.lv-copy p, .lv-copy li { color: #3D2F2A; }
.lv-copy ul, .lv-copy ol { padding-left: 22px; margin: 0 0 1.2em; }
.lv-copy li { margin-bottom: .45em; }
.lv-split-aside { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: clamp(28px, 5vw, 88px); align-items: start; }
.lv-sticky-card { position: sticky; top: 100px; padding: 26px; border-radius: var(--r); background: #fff; box-shadow: var(--lift); }
.lv-sticky-card h2 { font-size: 1.5rem; margin-bottom: 10px; }
.lv-sticky-card p, .lv-sticky-card li { font-size: .98rem; color: var(--ink-2); }
.lv-sticky-card .lv-act { width: 100%; }
.lv-cover-wide { margin-top: 36px; border-radius: var(--r); overflow: hidden; aspect-ratio: 16 / 7; }
.lv-cover-wide img { width: 100%; height: 100%; object-fit: cover; }
.lv-essay { padding-block: 56px 24px; }
.lv-essay .lv-copy { margin-inline: auto; font-size: 1.1rem; }
.lv-essay .lv-copy > p:first-of-type::first-letter { float: left; font: 700 3.6em/.82 "Familjen Grotesk", sans-serif; margin: .06em .1em 0 0; color: var(--orange-deep); }
.lv-essay-head { max-width: 760px; }
.lv-pull { margin: 30px 0; padding: 4px 0 4px 22px; border-left: 4px solid var(--orange); font-size: 1.15rem; color: var(--ink); }
.lv-pull p:last-child { margin: 0; }
.lv-ending { margin: 48px 0 0; padding: 30px; border-radius: var(--r); background: var(--ink); color: #F3E7DC; display: flex; flex-wrap: wrap; gap: 18px 30px; align-items: center; justify-content: space-between; }
.lv-ending h2 { color: #fff; font-size: 1.65rem; margin: 0 0 6px; }
.lv-ending p { margin: 0; color: #D9C9BC; }
.lv-more-reading { margin-top: 40px; }
.lv-more-reading h2 { font-size: 1.35rem; margin: 0 0 12px; }
.lv-more-reading ul { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line); }
.lv-more-reading li { border-bottom: 1px solid var(--line); }
.lv-more-reading a { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 52px; font: 600 1rem "Familjen Grotesk", sans-serif; color: var(--ink); text-decoration: none; }
.lv-more-reading a:hover { color: var(--orange-deep); }
.lv-more-reading svg { width: 18px; height: 18px; }
.lv-dateline { margin: 16px 0 0; font: 500 .92rem "Familjen Grotesk", sans-serif; color: var(--ink-2); }

/* Planner tool */
.lv-calc { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(24px, 4vw, 56px); align-items: start; }
.lv-calc-in { display: grid; gap: 18px; padding: clamp(20px, 3vw, 30px); border-radius: var(--r); background: #fff; box-shadow: var(--lift); }
.lv-calc-in fieldset { border: 0; margin: 0; padding: 0; }
.lv-calc-in legend { font: 600 .8rem "Familjen Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); margin-bottom: 8px; }
.lv-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.lv-chips label { position: relative; }
.lv-chips input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.lv-chips span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border-radius: var(--r); border: 1.5px solid var(--line); font: 600 .95rem "Familjen Grotesk", sans-serif; }
.lv-chips input:checked + span { background: var(--ink); border-color: var(--ink); color: #fff; }
.lv-chips input:focus-visible + span { outline: 3px solid var(--blue); outline-offset: 2px; }
.lv-calc-out { position: sticky; top: 100px; padding: clamp(22px, 3vw, 32px); border-radius: var(--r); background: var(--ink); color: #F3E7DC; }
.lv-calc-out h2 { color: #fff; font-size: 1.4rem; margin-bottom: 16px; }
.lv-bars { display: grid; gap: 14px; }
.lv-bar-row { display: grid; gap: 6px; }
.lv-bar-row .lv-lbl { display: flex; justify-content: space-between; font: 600 .95rem "Familjen Grotesk", sans-serif; }
.lv-bar-rail { height: 14px; border-radius: 99px; background: rgba(255, 255, 255, .1); overflow: hidden; }
.lv-bar-fill { height: 100%; border-radius: 99px; transition: width .35s; }
.lv-bar-fill--drive { background: repeating-linear-gradient(135deg, #C98A6A 0 8px, #D9A386 8px 16px); }
.lv-bar-fill--fly { background: var(--orange); }
.lv-band { display: inline-block; margin-top: 2px; padding: 3px 9px; border-radius: 6px; font: 700 .78rem "Familjen Grotesk", sans-serif; letter-spacing: .08em; text-transform: uppercase; background: rgba(255, 255, 255, .12); color: #fff; }
.lv-calc-figs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 20px; }
.lv-fig { padding: 14px 16px; border-radius: var(--r); background: rgba(255, 255, 255, .07); }
.lv-fig span { display: block; font: 600 .74rem "Familjen Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #BFAEA2; }
.lv-fig b { display: block; margin-top: 4px; font: 700 1.35rem/1.15 "Familjen Grotesk", sans-serif; color: #fff; }
.lv-calc-out p { color: #D9C9BC; font-size: .97rem; }
.lv-calc-out .lv-act { width: 100%; margin-top: 8px; }
.lv-calc-in .lv-bk-cell select { min-height: 48px; }

.lv-lost { padding: clamp(80px, 12vw, 160px) 0; text-align: center; }
.lv-lost h1 { margin: 0 auto 16px; max-width: 15ch; }
.lv-lost .lv-intro { margin: 0 auto 30px; max-width: 34rem; }
.lv-lost .lv-row { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* Footer */
.lv-base { background: var(--ink); color: #D9C9BC; border-top: 4px solid var(--orange); padding: 64px 0 34px; font-size: .97rem; }
.lv-base-top { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, .7fr)); gap: 36px; padding-bottom: 40px; }
.lv-base-top p { margin: 16px 0 0; max-width: 28rem; }
.lv-base h2 { font: 600 .8rem "Familjen Grotesk", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #fff; margin: 0 0 14px; }
.lv-base ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.lv-base a { color: #EBDDD1; text-decoration: none; font-family: "Familjen Grotesk", sans-serif; }
.lv-base a:hover { color: var(--orange); }
.lv-base-legal { padding-top: 26px; border-top: 1px solid rgba(255, 255, 255, .14); display: grid; gap: 12px; font-size: .88rem; color: #BFAEA2; }
.lv-base-legal p { margin: 0; max-width: 1000px; }
.lv-base-legal .lv-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; }

@media (max-width: 1180px) {
  .lv-menu { display: none; }
  .lv-mast-quote { margin-left: auto; }
  .lv-burger { display: inline-flex; }
  [data-menu="open"] .lv-menu { display: flex; position: fixed; inset: 74px 0 0; flex-direction: column; align-items: stretch; gap: 0; margin: 0; padding: 12px 24px 32px; background: var(--ink); overflow-y: auto; }
  [data-menu="open"] .lv-menu a { font-size: 1.3rem; padding: 18px 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
  [data-menu="open"] .lv-menu .lv-menu-quote { display: flex; margin-top: 24px; border: 0; color: var(--ink); }
  .lv-bk--glass .lv-bk-row--route, .lv-bk--glass[data-rt="true"] .lv-bk-row--route { grid-template-columns: 1fr 1fr 1fr 1fr; }
  .lv-bk--glass .lv-bk-from, .lv-bk--glass .lv-bk-to { grid-column: span 2; }
  .lv-bk--glass .lv-bk-go { grid-column: 1 / -1; }
  .lv-bk--glass .lv-bk-go .lv-act { width: 100%; }
  .lv-craft { grid-template-columns: 200px minmax(0, 1fr) 80px 130px 160px; gap: 18px; }
}
@media (max-width: 1024px) {
  .lv-lead-in, .lv-groups, .lv-finale-grid, .lv-split-aside, .lv-calc { grid-template-columns: minmax(0, 1fr); }
  .lv-perks ol { grid-template-columns: 1fr 1fr; gap: 28px 0; }
  .lv-perks li:nth-child(3) { padding-left: 0; border-left: 0; }
  .lv-lane { grid-template-columns: 1fr; gap: 10px; }
  .lv-lane-total { text-align: left; }
  .lv-ports { grid-template-columns: 1fr 1fr; }
  .lv-lands { grid-template-columns: 1fr; }
  .lv-craft { grid-template-columns: 180px minmax(0, 1fr); }
  .lv-craft .lv-stat { grid-column: auto; }
  .lv-path { grid-template-columns: 1fr 1fr; gap: 32px 0; }
  .lv-path::before { display: none; }
  .lv-trips { grid-template-columns: 1fr 1fr; }
  .lv-rules { grid-template-columns: 1fr 1fr; }
  .lv-rule:nth-child(3) { padding-left: 0; border-left: 0; }
  .lv-asks { grid-template-columns: 1fr; }
  .lv-mag { grid-template-columns: 1fr 1fr; }
  .lv-story:first-child { grid-column: 1 / -1; grid-row: auto; }
  .lv-sticky-card, .lv-calc-out { position: static; }
  .lv-base-top { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lv-base-top > div:first-child { grid-column: 1 / -1; }
  .lv-groups-ph .lv-b { right: 12px; }
}
@media (max-width: 720px) {
  body { font-size: 17.5px; }
  .lv-box { width: calc(100% - 32px); }
  .lv-mast-row { height: 66px; gap: 12px; }
  .lv-brand svg { height: 36px; }
  .lv-mast-quote { display: none; }
  .lv-burger { margin-left: auto; }
  [data-menu="open"] .lv-menu { inset: 66px 0 0; }
  .lv-stage { min-height: 0; }
  .lv-stage-copy { padding: 72px 0 22px; }
  .lv-stage .lv-intro { font-size: 1.06rem; }
  .lv-stage-facts li { font-size: .85rem; padding: 6px 10px; }
  .lv-bk--glass { padding: 12px; }
  .lv-bk--glass .lv-bk-row--route, .lv-bk--glass[data-rt="true"] .lv-bk-row--route, .lv-bk--glass .lv-bk-row--who { grid-template-columns: 1fr 1fr; }
  .lv-bk--glass .lv-bk-from, .lv-bk--glass .lv-bk-to, .lv-bk--glass .lv-bk-notes, .lv-bk--glass .lv-bk-name, .lv-bk--glass .lv-bk-mail, .lv-bk--glass .lv-bk-phone, .lv-bk--glass .lv-bk-send-cell { grid-column: 1 / -1; }
  .lv-bk--glass[data-rt="true"] .lv-bk-pax { grid-column: 1 / -1; }
  .lv-bk--sheet .lv-bk-row--route, .lv-bk--sheet .lv-bk-row--who { grid-template-columns: minmax(0, 1fr); }
  .lv-perks ol { grid-template-columns: minmax(0, 1fr); padding: 28px 0; gap: 22px; }
  .lv-perks li { padding: 0; border-left: 0; }
  .lv-track { height: auto; flex-wrap: wrap; }
  .lv-seg { min-height: 40px; flex: 1 1 auto; }
  .lv-ports, .lv-trips, .lv-rules, .lv-mag, .lv-path { grid-template-columns: minmax(0, 1fr); }
  .lv-rule, .lv-rule + .lv-rule { padding: 22px 0 0; border-left: 0; }
  .lv-craft { grid-template-columns: minmax(0, 1fr); }
  .lv-groups-ph .lv-b { display: none; }
  .lv-base-top { grid-template-columns: 1fr 1fr; }
  .lv-ending { padding: 24px 20px; }
  .lv-cover-wide { aspect-ratio: 4 / 3; }
  .lv-calc-figs { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
