:root {
  --lv-ink: #171311;
  --lv-muted: #6f6762;
  --lv-line: #e9e4df;
  --lv-soft: #f7f5f2;
  --lv-blush: #fff3ec;
  --lv-gold: #c98736;
  --lv-gold-dark: #986024;
  --lv-white: #fff;
  --lv-shadow: 0 18px 48px rgba(37, 28, 23, .10);
  --lv-radius: 24px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--lv-ink);
  background: var(--lv-white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }

.lv-container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.lv-site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid var(--lv-line);
  backdrop-filter: blur(16px);
}
.lv-header-inner { min-height: 76px; display: flex; align-items: center; gap: 30px; }
.lv-brand { display: inline-flex; align-items: center; gap: 11px; flex: 0 0 auto; }
.lv-brand img { width: 34px; height: 34px; object-fit: contain; }
.lv-brand span { font-size: 20px; font-weight: 800; letter-spacing: -.03em; }
.lv-main-nav { display: flex; align-items: center; gap: 27px; margin-left: auto; }
.lv-main-nav a { color: #4e4743; font-size: 14px; font-weight: 650; }
.lv-main-nav a:hover, .lv-main-nav a[aria-current="page"] { color: var(--lv-ink); }
.lv-header-actions { display: flex; align-items: center; gap: 10px; }
.lv-header-link, .lv-header-button {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 750;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.lv-header-link { border: 1px solid var(--lv-line); background: #fff; }
.lv-header-link:hover { border-color: #cfc6be; }
.lv-header-button { background: var(--lv-ink); color: #fff; }
.lv-header-button:hover { background: #342b27; }

.lv-eyebrow {
  margin: 0 0 14px;
  color: var(--lv-gold-dark);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.lv-display {
  margin: 0;
  max-width: 760px;
  font-size: clamp(42px, 6vw, 74px);
  line-height: .99;
  letter-spacing: -.055em;
  font-weight: 850;
}
.lv-lead {
  margin: 24px 0 0;
  max-width: 650px;
  color: var(--lv-muted);
  font-size: clamp(17px, 2vw, 20px);
  line-height: 1.55;
}

.lv-destination-hero { padding: 54px 0 34px; }
.lv-destination-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
  align-items: center;
  gap: 54px;
}
.lv-hero-media { position: relative; min-height: 555px; overflow: hidden; border-radius: 34px; background: var(--lv-soft); }
.lv-hero-media img { width: 100%; height: 100%; min-height: 555px; object-fit: cover; }
.lv-hero-media::after { content: ""; position: absolute; inset: 48% 0 0; background: linear-gradient(transparent, rgba(13,9,7,.68)); }
.lv-hero-caption { position: absolute; z-index: 1; left: 28px; right: 28px; bottom: 25px; color: #fff; }
.lv-hero-caption strong { display: block; font-size: 18px; }
.lv-hero-caption span { display: block; margin-top: 4px; color: rgba(255,255,255,.78); font-size: 13px; }

.lv-search-card { margin-top: 30px; border: 1px solid #ddd6d0; border-radius: 20px; background: #fff; box-shadow: var(--lv-shadow); overflow: hidden; }
.lv-search-grid { display: grid; grid-template-columns: 1.45fr 1fr 1fr .82fr .78fr; }
.lv-search-field { min-width: 0; padding: 15px 17px; border-right: 1px solid var(--lv-line); }
.lv-search-field label { display: block; margin-bottom: 7px; font-size: 11px; font-weight: 800; }
.lv-search-field input, .lv-search-field select {
  width: 100%;
  min-height: 27px;
  padding: 0;
  border: 0;
  outline: 0;
  color: var(--lv-ink);
  background: transparent;
  font-size: 14px;
}
.lv-search-field input::placeholder { color: #908782; }
.lv-search-action { padding: 11px; }
.lv-search-action button {
  width: 100%;
  min-height: 52px;
  border: 0;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  background: var(--lv-ink);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}
.lv-search-action button:hover { background: #342b27; }
.lv-search-action svg { width: 18px; height: 18px; }
.lv-search-note { margin: 13px 2px 0; color: #8a817c; font-size: 12px; }
.lv-quick-searches { margin-top: 22px; display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.lv-quick-searches > span { color: var(--lv-muted); font-size: 13px; }
.lv-quick-searches a { border: 1px solid var(--lv-line); border-radius: 999px; padding: 8px 12px; font-size: 12px; font-weight: 700; }
.lv-quick-searches a:hover { border-color: #cfc6be; background: var(--lv-soft); }

.lv-section { padding: 74px 0; }
.lv-section--soft { background: var(--lv-soft); }
.lv-section--blush { background: var(--lv-blush); }
.lv-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 30px; }
.lv-section-heading > div { max-width: 700px; }
.lv-section-heading h2 { margin: 0; font-size: clamp(30px, 4vw, 46px); line-height: 1.08; letter-spacing: -.04em; }
.lv-section-heading p:not(.lv-eyebrow) { margin: 14px 0 0; color: var(--lv-muted); line-height: 1.6; }
.lv-text-link { flex: 0 0 auto; border-bottom: 1px solid var(--lv-ink); font-size: 14px; font-weight: 750; }

.lv-destination-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.lv-destination-card { display: block; min-width: 0; }
.lv-destination-card-media { aspect-ratio: .98; overflow: hidden; border-radius: 20px; background: #eee9e5; }
.lv-destination-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.lv-destination-card:hover img { transform: scale(1.025); }
.lv-destination-card h3 { margin: 14px 0 5px; font-size: 17px; letter-spacing: -.02em; }
.lv-destination-card p { margin: 0; color: var(--lv-muted); font-size: 13px; }

.lv-region-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.lv-region-link {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 20px;
  border: 1px solid var(--lv-line);
  border-radius: 16px;
  background: #fff;
  font-weight: 750;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.lv-region-link:hover { border-color: #cfc6be; box-shadow: 0 8px 24px rgba(35,27,22,.07); }
.lv-region-link svg { width: 18px; flex: 0 0 auto; }

.lv-intent-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.lv-intent-card { min-height: 220px; padding: 27px; border-radius: 24px; background: #fff; border: 1px solid var(--lv-line); }
.lv-intent-icon { width: 47px; height: 47px; display: grid; place-items: center; border-radius: 15px; background: var(--lv-blush); color: var(--lv-gold-dark); }
.lv-intent-icon svg { width: 24px; height: 24px; }
.lv-intent-card h3 { margin: 24px 0 9px; font-size: 20px; }
.lv-intent-card p { margin: 0 0 18px; color: var(--lv-muted); font-size: 14px; line-height: 1.55; }
.lv-intent-card a { font-size: 13px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }

.lv-city-index { columns: 4; column-gap: 34px; }
.lv-city-index a { display: block; break-inside: avoid; padding: 9px 0; color: #4f4742; font-size: 14px; }
.lv-city-index a:hover { color: var(--lv-gold-dark); text-decoration: underline; }

.lv-trust-band { padding: 43px 0; background: var(--lv-ink); color: #fff; }
.lv-trust-grid { display: grid; grid-template-columns: 1.35fr repeat(3, 1fr); gap: 34px; align-items: center; }
.lv-trust-grid h2 { margin: 0; font-size: 30px; letter-spacing: -.035em; }
.lv-trust-item { border-left: 1px solid rgba(255,255,255,.18); padding-left: 22px; }
.lv-trust-item strong { display: block; margin-bottom: 5px; font-size: 16px; }
.lv-trust-item span { color: rgba(255,255,255,.65); font-size: 13px; line-height: 1.45; }

.lv-faq { max-width: 850px; }
.lv-faq details { border-top: 1px solid var(--lv-line); }
.lv-faq details:last-child { border-bottom: 1px solid var(--lv-line); }
.lv-faq summary { position: relative; padding: 23px 42px 23px 0; list-style: none; cursor: pointer; font-weight: 750; }
.lv-faq summary::-webkit-details-marker { display: none; }
.lv-faq summary::after { content: "+"; position: absolute; right: 8px; top: 17px; font-size: 27px; font-weight: 400; }
.lv-faq details[open] summary::after { content: "−"; }
.lv-faq details p { margin: -5px 0 24px; max-width: 730px; color: var(--lv-muted); line-height: 1.65; }

/* Presse */
.lv-press-hero { padding: 65px 0 72px; }
.lv-press-title-row { display: grid; grid-template-columns: 1.15fr .85fr; gap: 60px; align-items: end; margin-bottom: 42px; }
.lv-press-title-row .lv-lead { margin: 0; }
.lv-feature-story { display: grid; grid-template-columns: 1.35fr .65fr; min-height: 520px; overflow: hidden; border-radius: 30px; background: var(--lv-soft); }
.lv-feature-media { min-height: 520px; overflow: hidden; }
.lv-feature-media img { width: 100%; height: 100%; object-fit: cover; }
.lv-feature-copy { padding: 45px; display: flex; flex-direction: column; justify-content: center; }
.lv-story-label { color: var(--lv-gold-dark); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.lv-feature-copy h2 { margin: 17px 0; font-size: clamp(30px, 4vw, 47px); line-height: 1.06; letter-spacing: -.045em; }
.lv-feature-copy p { margin: 0; color: var(--lv-muted); line-height: 1.65; }
.lv-feature-copy a { margin-top: 26px; font-size: 14px; font-weight: 800; text-decoration: underline; text-underline-offset: 5px; }

.lv-press-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.lv-press-card { min-height: 285px; padding: 27px; display: flex; flex-direction: column; border: 1px solid var(--lv-line); border-radius: 22px; background: #fff; }
.lv-press-card h3 { margin: 17px 0 10px; font-size: 22px; line-height: 1.15; letter-spacing: -.025em; }
.lv-press-card p { margin: 0; color: var(--lv-muted); font-size: 14px; line-height: 1.58; }
.lv-press-card a { margin-top: auto; padding-top: 20px; font-size: 13px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }

.lv-facts { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid var(--lv-line); }
.lv-fact { padding: 30px 26px; border-right: 1px solid var(--lv-line); }
.lv-fact:first-child { padding-left: 0; }
.lv-fact:last-child { border-right: 0; }
.lv-fact strong { display: block; margin-bottom: 7px; font-size: 21px; }
.lv-fact span { color: var(--lv-muted); font-size: 13px; line-height: 1.45; }

.lv-press-split { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.lv-panel { padding: 34px; border-radius: 26px; border: 1px solid var(--lv-line); background: #fff; }
.lv-panel--dark { background: var(--lv-ink); color: #fff; border-color: var(--lv-ink); }
.lv-panel h2 { margin: 0 0 18px; font-size: 31px; letter-spacing: -.035em; }
.lv-panel p { color: var(--lv-muted); line-height: 1.65; }
.lv-panel--dark p { color: rgba(255,255,255,.7); }
.lv-download-list { margin-top: 24px; display: grid; gap: 10px; }
.lv-download {
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  border: 1px solid var(--lv-line);
  border-radius: 14px;
  padding: 0 16px;
  font-size: 14px;
  font-weight: 750;
}
.lv-download span:last-child { color: var(--lv-muted); font-size: 12px; font-weight: 600; }
.lv-contact-box { padding: 55px; border-radius: 30px; background: var(--lv-blush); text-align: center; }
.lv-contact-box h2 { margin: 0; font-size: clamp(32px, 5vw, 52px); letter-spacing: -.045em; }
.lv-contact-box p { max-width: 660px; margin: 17px auto 27px; color: var(--lv-muted); line-height: 1.6; }
.lv-primary-cta { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: 0 22px; border-radius: 999px; background: var(--lv-ink); color: #fff; font-size: 14px; font-weight: 800; }

/* Pages éditoriales et transactionnelles */
.lv-page-hero { padding: 56px 0 42px; }
.lv-page-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(390px, .82fr); gap: 58px; align-items: center; }
.lv-page-hero-media { position: relative; min-height: 470px; overflow: hidden; border-radius: 30px; background: var(--lv-soft); }
.lv-page-hero-media img { width: 100%; height: 100%; min-height: 470px; object-fit: cover; }
.lv-page-hero-media::after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent, rgba(20,14,11,.58)); pointer-events: none; }
.lv-page-hero-caption { position: absolute; z-index: 1; right: 24px; bottom: 22px; left: 24px; color: #fff; font-size: 13px; }
.lv-breadcrumb { margin: 0 0 25px; display: flex; flex-wrap: wrap; gap: 8px; color: var(--lv-muted); font-size: 13px; }
.lv-breadcrumb a:hover { text-decoration: underline; }
.lv-action-row { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 11px; }
.lv-secondary-cta { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: 0 22px; border: 1px solid var(--lv-line); border-radius: 999px; background: #fff; font-size: 14px; font-weight: 800; }
.lv-secondary-cta:hover { border-color: #cfc6be; background: var(--lv-soft); }
.lv-reading-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 72px; align-items: start; }
.lv-reading-main { min-width: 0; }
.lv-reading-main > section + section { margin-top: 58px; }
.lv-reading-main h2 { margin: 0 0 18px; font-size: clamp(28px, 3.5vw, 42px); line-height: 1.12; letter-spacing: -.035em; }
.lv-reading-main h3 { margin: 28px 0 10px; font-size: 22px; letter-spacing: -.02em; }
.lv-reading-main p, .lv-reading-main li { color: #554d48; font-size: 16px; line-height: 1.75; }
.lv-reading-main a:not(.lv-primary-cta):not(.lv-secondary-cta) { color: var(--lv-gold-dark); font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.lv-reading-main ul { margin: 18px 0; padding-left: 22px; }
.lv-sidebar { position: sticky; top: 104px; display: grid; gap: 16px; }
.lv-sidebar-card { padding: 23px; border: 1px solid var(--lv-line); border-radius: 20px; background: #fff; }
.lv-sidebar-card--dark { border-color: var(--lv-ink); background: var(--lv-ink); color: #fff; }
.lv-sidebar-card h2, .lv-sidebar-card h3 { margin: 0 0 10px; font-size: 20px; }
.lv-sidebar-card p { margin: 0 0 17px; color: var(--lv-muted); font-size: 13px; line-height: 1.55; }
.lv-sidebar-card--dark p { color: rgba(255,255,255,.68); }
.lv-sidebar-card a { display: inline-flex; font-size: 13px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.lv-step-grid, .lv-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.lv-step-card, .lv-content-card { padding: 28px; border: 1px solid var(--lv-line); border-radius: 22px; background: #fff; }
.lv-step-card span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: var(--lv-blush); color: var(--lv-gold-dark); font-weight: 850; }
.lv-step-card h2, .lv-step-card h3, .lv-content-card h2, .lv-content-card h3 { margin: 22px 0 10px; font-size: 21px; line-height: 1.18; }
.lv-step-card p, .lv-content-card p { margin: 0; color: var(--lv-muted); font-size: 14px; line-height: 1.6; }
.lv-callout { margin-top: 34px; padding: 30px; border-radius: 24px; background: var(--lv-blush); }
.lv-callout h2, .lv-callout h3 { margin-top: 0; }
.lv-rank-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.lv-rank-card { min-height: 250px; display: flex; flex-direction: column; padding: 28px; border: 1px solid var(--lv-line); border-radius: 24px; background: #fff; }
.lv-rank-number { color: var(--lv-gold-dark); font-size: 13px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.lv-rank-card h2, .lv-rank-card h3 { margin: 18px 0 10px; font-size: 29px; letter-spacing: -.035em; }
.lv-rank-card p { margin: 0; color: var(--lv-muted); line-height: 1.6; }
.lv-rank-card a { margin-top: auto; padding-top: 22px; font-size: 13px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.lv-code-card { padding: 27px; border: 1px solid var(--lv-line); border-radius: 22px; background: #fff; }
.lv-code-card h2, .lv-code-card h3 { margin: 0 0 12px; }
.lv-code-card pre { overflow-x: auto; margin: 18px 0 0; padding: 18px; border-radius: 14px; background: #1c1816; color: #fff; font: 12px/1.65 ui-monospace, SFMono-Regular, Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.lv-badge-preview { min-height: 150px; display: grid; place-items: center; margin-bottom: 18px; border-radius: 18px; background: var(--lv-soft); }
.lv-partner-badge { display: inline-flex; align-items: center; gap: 10px; padding: 12px 17px; border: 1px solid var(--lv-line); border-radius: 999px; background: #fff; box-shadow: 0 8px 22px rgba(37,28,23,.08); font-size: 14px; font-weight: 800; }
.lv-partner-badge img { width: 25px; height: 25px; }
.lv-badge-showcase {
  min-height: 470px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 18px;
  padding: 42px;
  overflow: hidden;
  border-radius: 30px;
  background:
    radial-gradient(circle at 80% 12%, rgba(255,255,255,.95), transparent 28%),
    linear-gradient(145deg, #f2d8bf 0%, #fff8f1 46%, #d6a978 100%);
  box-shadow: inset 0 0 0 1px rgba(145,91,42,.12);
}
.lv-badge-showcase::before { content: ""; position: absolute; width: 250px; height: 250px; right: -85px; top: -90px; border: 1px solid rgba(151,92,40,.18); border-radius: 50%; }
.lv-badge-showcase::after { content: ""; position: absolute; width: 150px; height: 150px; left: -65px; bottom: -70px; border: 1px solid rgba(151,92,40,.16); border-radius: 50%; }
.lv-badge-showcase { position: relative; }
.lv-badge-showcase img { position: relative; z-index: 1; width: 100%; height: auto; filter: drop-shadow(0 18px 22px rgba(72,41,22,.18)); }
.lv-badge-showcase img + img { width: 78%; margin-left: auto; }
.lv-badge-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.lv-badge-option { overflow: hidden; border: 1px solid var(--lv-line); border-radius: 26px; background: #fff; }
.lv-badge-stage { min-height: 260px; display: grid; place-items: center; padding: 34px; background: linear-gradient(145deg, #fffaf6, #ecd4bd); }
.lv-badge-stage--dark { background: radial-gradient(circle at 20% 12%, #554032, transparent 42%), #15100e; }
.lv-badge-stage img { width: min(100%, 420px); height: auto; filter: drop-shadow(0 16px 20px rgba(65,39,24,.18)); }
.lv-badge-option-copy { padding: 27px; }
.lv-badge-option-copy h3 { margin: 0 0 9px; font-size: 23px; }
.lv-badge-option-copy p { margin: 0; color: var(--lv-muted); font-size: 14px; line-height: 1.55; }
.lv-badge-downloads { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 10px; }
.lv-download-button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 16px; border-radius: 999px; background: var(--lv-ink); color: #fff; font-size: 13px; font-weight: 800; }
.lv-download-button--ghost { border: 1px solid var(--lv-line); background: #fff; color: var(--lv-ink); }
.lv-download-button:hover { background: #342b27; }
.lv-download-button--ghost:hover { background: var(--lv-soft); }
.lv-badge-code-grid { margin-top: 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.lv-link-list { display: grid; gap: 1px; border-block: 1px solid var(--lv-line); }
.lv-link-list a { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--lv-line); font-weight: 750; }
.lv-link-list a:last-child { border-bottom: 0; }
.lv-link-list span { color: var(--lv-muted); font-size: 13px; font-weight: 500; }
.lv-note { color: var(--lv-muted); font-size: 13px; line-height: 1.6; }

/* Centre d'aide, contact et pages de confiance */
.lv-utility-hero { padding: 64px 0 50px; background: linear-gradient(180deg, #fff8f3 0%, #fff 100%); }
.lv-utility-hero .lv-display { max-width: 900px; }
.lv-help-search { position: relative; max-width: 720px; margin-top: 30px; }
.lv-help-search svg { position: absolute; top: 50%; left: 19px; width: 21px; height: 21px; color: var(--lv-muted); transform: translateY(-50%); pointer-events: none; }
.lv-help-search input { width: 100%; min-height: 62px; padding: 0 22px 0 54px; border: 1px solid #dcd4cd; border-radius: 18px; background: #fff; box-shadow: var(--lv-shadow); color: var(--lv-ink); font-size: 16px; outline: none; }
.lv-help-search input:focus { border-color: var(--lv-gold); box-shadow: 0 0 0 4px rgba(201,135,54,.13), var(--lv-shadow); }
.lv-help-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 58px; align-items: start; }
.lv-help-nav { position: sticky; top: 106px; display: grid; gap: 7px; }
.lv-help-nav a { padding: 11px 13px; border-radius: 11px; color: #5b524c; font-size: 14px; font-weight: 700; }
.lv-help-nav a:hover, .lv-help-nav a[aria-current="true"] { background: var(--lv-soft); color: var(--lv-ink); }
.lv-help-group + .lv-help-group { margin-top: 52px; }
.lv-help-group h2 { margin: 0 0 18px; font-size: clamp(27px, 3.4vw, 40px); letter-spacing: -.035em; }
.lv-help-group > p { margin: -7px 0 20px; color: var(--lv-muted); line-height: 1.65; }
.lv-help-group details { border-top: 1px solid var(--lv-line); }
.lv-help-group details:last-child { border-bottom: 1px solid var(--lv-line); }
.lv-help-group summary { position: relative; padding: 22px 44px 22px 0; list-style: none; cursor: pointer; font-weight: 780; }
.lv-help-group summary::-webkit-details-marker { display: none; }
.lv-help-group summary::after { content: "+"; position: absolute; top: 15px; right: 7px; color: var(--lv-gold-dark); font-size: 28px; font-weight: 400; }
.lv-help-group details[open] summary::after { content: "−"; }
.lv-help-answer { max-width: 760px; padding: 0 35px 22px 0; color: var(--lv-muted); line-height: 1.7; }
.lv-help-answer a { color: var(--lv-gold-dark); font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.lv-empty-filter { display: none; padding: 24px; border-radius: 18px; background: var(--lv-soft); color: var(--lv-muted); }

.lv-contact-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 28px; align-items: start; }
.lv-form-card { padding: clamp(24px, 4vw, 40px); border: 1px solid var(--lv-line); border-radius: 26px; background: #fff; box-shadow: 0 16px 44px rgba(47,35,28,.07); }
.lv-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.lv-field { display: grid; gap: 8px; }
.lv-field--wide { grid-column: 1 / -1; }
.lv-field label { font-size: 13px; font-weight: 800; }
.lv-field input, .lv-field select, .lv-field textarea { width: 100%; min-height: 52px; padding: 13px 15px; border: 1px solid #dcd6d1; border-radius: 13px; background: #fff; color: var(--lv-ink); outline: none; }
.lv-field textarea { min-height: 150px; resize: vertical; }
.lv-field input:focus, .lv-field select:focus, .lv-field textarea:focus { border-color: var(--lv-gold); box-shadow: 0 0 0 4px rgba(201,135,54,.13); }
.lv-submit { width: 100%; min-height: 54px; margin-top: 22px; border: 0; border-radius: 999px; background: var(--lv-ink); color: #fff; cursor: pointer; font-weight: 820; }
.lv-submit:hover { background: #342b27; }
.lv-submit:disabled { cursor: wait; opacity: .65; }
.lv-form-status { display: none; margin: 18px 0 0; padding: 14px 16px; border-radius: 13px; font-size: 14px; line-height: 1.5; }
.lv-form-status[data-state="success"] { display: block; background: #edf8f1; color: #1d6137; }
.lv-form-status[data-state="error"] { display: block; background: #fff0ee; color: #8b3028; }
.lv-contact-aside { display: grid; gap: 15px; }
.lv-contact-method { padding: 23px; border: 1px solid var(--lv-line); border-radius: 20px; background: var(--lv-soft); }
.lv-contact-method svg { width: 24px; height: 24px; color: var(--lv-gold-dark); }
.lv-contact-method h2, .lv-contact-method h3 { margin: 17px 0 8px; font-size: 18px; }
.lv-contact-method p { margin: 0; color: var(--lv-muted); font-size: 14px; line-height: 1.55; }
.lv-contact-method a { display: inline-block; margin-top: 13px; font-size: 13px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }

.lv-proof-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.lv-proof-card { padding: 28px; border: 1px solid var(--lv-line); border-radius: 22px; background: #fff; }
.lv-proof-card svg { width: 28px; height: 28px; color: var(--lv-gold-dark); }
.lv-proof-card h2, .lv-proof-card h3 { margin: 20px 0 9px; font-size: 21px; }
.lv-proof-card p { margin: 0; color: var(--lv-muted); font-size: 14px; line-height: 1.65; }
.lv-review-example { padding: 29px; border: 1px solid var(--lv-line); border-radius: 24px; background: var(--lv-soft); }
.lv-review-example blockquote { margin: 0; font-size: clamp(21px, 3vw, 29px); line-height: 1.35; letter-spacing: -.025em; }
.lv-review-example p { margin: 17px 0 0; color: var(--lv-muted); font-size: 13px; }

.lv-alpha-tools { position: sticky; top: 76px; z-index: 20; padding: 16px 0; background: rgba(255,255,255,.94); border-bottom: 1px solid var(--lv-line); backdrop-filter: blur(14px); }
.lv-alpha-row { display: flex; gap: 7px; overflow-x: auto; scrollbar-width: none; }
.lv-alpha-row::-webkit-scrollbar { display: none; }
.lv-alpha-row a { min-width: 36px; min-height: 36px; display: grid; place-items: center; border: 1px solid var(--lv-line); border-radius: 50%; font-size: 12px; font-weight: 800; }
.lv-alpha-row a:hover { border-color: var(--lv-ink); background: var(--lv-ink); color: #fff; }
.lv-alpha-group { padding-top: 26px; scroll-margin-top: 140px; }
.lv-alpha-group + .lv-alpha-group { margin-top: 25px; border-top: 1px solid var(--lv-line); }
.lv-alpha-group h2 { margin: 0 0 18px; font-size: 34px; letter-spacing: -.04em; }
.lv-alpha-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px 24px; }
.lv-alpha-grid a { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #4f4742; font-size: 14px; }
.lv-alpha-grid a:hover { color: var(--lv-gold-dark); text-decoration: underline; }
.lv-alpha-grid a::after { content: "→"; color: #b4aaa4; }

.lv-site-footer { padding: 58px 0 26px; background: #f3f1ef; }
.lv-footer-grid { display: grid; grid-template-columns: 1.2fr repeat(3, 1fr); gap: 48px; padding-bottom: 38px; }
.lv-footer-brand p { max-width: 300px; color: var(--lv-muted); font-size: 13px; line-height: 1.55; }
.lv-footer-col h2 { margin: 0 0 16px; font-size: 13px; }
.lv-footer-col a { display: block; margin: 11px 0; color: #5c544f; font-size: 13px; }
.lv-footer-col a:hover { text-decoration: underline; }
.lv-footer-bottom { padding-top: 22px; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid #ded8d3; color: var(--lv-muted); font-size: 12px; }

:focus-visible { outline: 3px solid rgba(201,135,54,.42); outline-offset: 3px; }

@media (max-width: 980px) {
  .lv-main-nav { display: none; }
  .lv-header-actions { margin-left: auto; }
  .lv-destination-hero-grid, .lv-press-title-row { grid-template-columns: 1fr; }
  .lv-destination-hero-grid { gap: 36px; }
  .lv-hero-media, .lv-hero-media img { min-height: 440px; }
  .lv-search-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .lv-search-field--guests { border-top: 1px solid var(--lv-line); }
  .lv-search-action { grid-column: span 2; border-top: 1px solid var(--lv-line); }
  .lv-destination-grid { grid-template-columns: repeat(2, 1fr); }
  .lv-region-grid, .lv-intent-grid { grid-template-columns: repeat(2, 1fr); }
  .lv-city-index { columns: 3; }
  .lv-trust-grid { grid-template-columns: 1fr 1fr; }
  .lv-trust-item { border-left: 0; padding-left: 0; }
  .lv-feature-story { grid-template-columns: 1fr; }
  .lv-feature-media { min-height: 420px; }
  .lv-press-grid { grid-template-columns: repeat(2, 1fr); }
  .lv-facts { grid-template-columns: 1fr 1fr; }
  .lv-fact:nth-child(2) { border-right: 0; }
  .lv-fact:nth-child(-n+2) { border-bottom: 1px solid var(--lv-line); }
  .lv-press-split { grid-template-columns: 1fr; }
  .lv-footer-grid { grid-template-columns: 1fr 1fr; }
  .lv-page-hero-grid { grid-template-columns: 1fr; }
  .lv-reading-layout { grid-template-columns: 1fr; gap: 44px; }
  .lv-sidebar { position: static; grid-template-columns: 1fr 1fr; }
  .lv-step-grid, .lv-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lv-badge-options, .lv-badge-code-grid { grid-template-columns: 1fr; }
  .lv-help-layout { grid-template-columns: 1fr; gap: 34px; }
  .lv-help-nav { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lv-contact-layout { grid-template-columns: 1fr; }
  .lv-contact-aside { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lv-proof-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lv-alpha-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .lv-container { width: min(100% - 28px, 1180px); }
  .lv-header-inner { min-height: 66px; }
  .lv-brand img { width: 30px; height: 30px; }
  .lv-brand span { font-size: 18px; }
  .lv-header-link { display: none; }
  .lv-header-button { min-height: 40px; padding-inline: 15px; }
  .lv-destination-hero, .lv-press-hero { padding-top: 34px; }
  .lv-display { font-size: 40px; }
  .lv-lead { font-size: 16px; }
  .lv-destination-hero-grid { display: flex; flex-direction: column-reverse; }
  .lv-hero-media, .lv-hero-media img { min-height: 320px; }
  .lv-hero-media { width: 100%; border-radius: 24px; }
  .lv-search-grid { display: block; }
  .lv-search-field { border-right: 0; border-bottom: 1px solid var(--lv-line); }
  .lv-search-action { border-top: 0; }
  .lv-section { padding: 54px 0; }
  .lv-section-heading { align-items: start; flex-direction: column; }
  .lv-destination-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
  .lv-destination-card h3 { font-size: 15px; }
  .lv-region-grid, .lv-intent-grid { grid-template-columns: 1fr; }
  .lv-city-index { columns: 2; column-gap: 22px; }
  .lv-trust-grid { grid-template-columns: 1fr; gap: 23px; }
  .lv-trust-item { padding-top: 20px; border-top: 1px solid rgba(255,255,255,.16); }
  .lv-press-title-row { gap: 22px; }
  .lv-feature-story { min-height: 0; border-radius: 23px; }
  .lv-feature-media { min-height: 300px; }
  .lv-feature-copy { padding: 28px 23px; }
  .lv-press-grid { grid-template-columns: 1fr; }
  .lv-facts { grid-template-columns: 1fr; }
  .lv-fact, .lv-fact:first-child { padding: 23px 0; border-right: 0; border-bottom: 1px solid var(--lv-line); }
  .lv-fact:last-child { border-bottom: 0; }
  .lv-panel { padding: 26px 22px; }
  .lv-contact-box { padding: 38px 22px; }
  .lv-footer-grid { grid-template-columns: 1fr 1fr; gap: 30px 20px; }
  .lv-footer-brand { grid-column: 1 / -1; }
  .lv-footer-bottom { flex-direction: column; }
  .lv-page-hero { padding-top: 34px; }
  .lv-page-hero-grid { gap: 30px; }
  .lv-page-hero-media, .lv-page-hero-media img { min-height: 310px; }
  .lv-page-hero-media { border-radius: 23px; }
  .lv-sidebar, .lv-step-grid, .lv-card-grid, .lv-rank-grid { grid-template-columns: 1fr; }
  .lv-step-card, .lv-content-card, .lv-rank-card, .lv-code-card { padding: 23px; }
  .lv-badge-showcase { min-height: 330px; padding: 24px; border-radius: 23px; }
  .lv-badge-showcase img + img { width: 88%; }
  .lv-badge-stage { min-height: 200px; padding: 22px; }
  .lv-utility-hero { padding: 40px 0 34px; }
  .lv-help-search input { min-height: 56px; }
  .lv-help-nav { display: flex; overflow-x: auto; padding-bottom: 5px; }
  .lv-help-nav a { flex: 0 0 auto; border: 1px solid var(--lv-line); }
  .lv-form-grid { grid-template-columns: 1fr; }
  .lv-field--wide { grid-column: auto; }
  .lv-contact-aside, .lv-proof-grid { grid-template-columns: 1fr; }
  .lv-alpha-tools { top: 66px; }
  .lv-alpha-grid { grid-template-columns: 1fr 1fr; gap-inline: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
