/*
Theme Name: Las Vegas Trip Guide
Theme URI: https://lasvegastripguide.com/
Author: Las Vegas Trip Guide
Description: An original Lumen Route editorial theme for Las Vegas planning, neighborhoods, culture, tours, and Mojave landscapes.
Version: 1.0.10
Requires at least: 7.1
Tested up to: 7.1
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: las-vegas-trip-guide
Tags: custom-logo, custom-menu, featured-images, accessibility-ready, translation-ready, blog, one-column, two-columns
*/

:root {
  --lvtg-ink: #171a2b;
  --lvtg-paper: #f4ebdd;
  --lvtg-paper-bright: #fffaf3;
  --lvtg-coral: #ff5a5f;
  --lvtg-gold: #e2ad55;
  --lvtg-calico: #a9473f;
  --lvtg-spring: #24736f;
  --lvtg-sage: #747c60;
  --lvtg-ice: #c8e8e3;
  --lvtg-rule: rgba(23, 26, 43, .2);
  --lvtg-dark-rule: rgba(244, 235, 221, .22);
  --lvtg-display: "Arial Narrow", "Roboto Condensed", "Aptos Display", sans-serif;
  --lvtg-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --lvtg-utility: ui-monospace, SFMono-Regular, Consolas, monospace;
  --lvtg-content: 1240px;
  --lvtg-reading: 760px;
  --lvtg-header: 88px;
  --lvtg-gutter: clamp(1rem, 3vw, 2.5rem);
  --lvtg-section: clamp(4.5rem, 9vw, 9rem);
}

*,
*::before,
*::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  overflow-x: clip;
  background: var(--lvtg-paper);
  color: var(--lvtg-ink);
  font-family: var(--lvtg-body);
  font-size: clamp(1rem, .96rem + .14vw, 1.075rem);
  line-height: 1.68;
  text-rendering: optimizeLegibility;
}

body.lvtg-nav-open { overflow: hidden; }
body.lvtg-nav-open .tsva-sticky-cta,
body.lvtg-nav-open .travelspark-tour-helper--sticky,
body.lvtg-nav-open .tsva-exit-cta { display: none !important; }

img,
svg,
video,
iframe {
  display: block;
  max-width: 100%;
}

img { height: auto; }

button,
input,
textarea,
select { font: inherit; }

a {
  color: var(--lvtg-spring);
  text-underline-offset: .22em;
  text-decoration-thickness: .08em;
}

a:hover { color: var(--lvtg-calico); }

:where(a, button, input, textarea, select, [tabindex]):focus-visible {
  outline: 3px solid var(--lvtg-gold);
  outline-offset: 4px;
}

h1,
h2,
h3,
h4 {
  margin: 0 0 .65em;
  color: inherit;
  font-family: var(--lvtg-display);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.04;
  text-wrap: balance;
}

h1 { font-size: clamp(2.9rem, 7vw, 7.6rem); }
h2 { font-size: clamp(2.1rem, 4.4vw, 4.6rem); }
h3 { font-size: clamp(1.35rem, 2vw, 2rem); }
h4 { font-size: 1.15rem; }
p { margin: 0 0 1.35em; }
ul,
ol { padding-left: 1.4em; }

::selection {
  background: var(--lvtg-coral);
  color: var(--lvtg-ink);
}

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.screen-reader-text:focus {
  top: .5rem;
  left: .5rem;
  z-index: 100000;
  width: auto;
  height: auto;
  padding: .8rem 1rem;
  clip: auto;
  background: var(--lvtg-paper-bright);
  color: var(--lvtg-ink);
  white-space: normal;
}

.lvtg-skip-link {
  position: fixed;
  top: .75rem;
  left: .75rem;
  z-index: 10000;
  padding: .75rem 1rem;
  transform: translateY(-180%);
  background: var(--lvtg-paper);
  color: var(--lvtg-ink);
  font-weight: 800;
}

.lvtg-skip-link:focus { transform: translateY(0); }

.lvtg-site-main { min-height: 60vh; }

.lvtg-section {
  width: min(var(--lvtg-content), calc(100% - 2 * var(--lvtg-gutter)));
  margin-inline: auto;
  padding-block: var(--lvtg-section);
}

.lvtg-site-header {
  position: relative;
  z-index: 1000;
  height: var(--lvtg-header);
  border-bottom: 1px solid var(--lvtg-dark-rule);
  background: var(--lvtg-ink);
  color: var(--lvtg-paper);
}

.lvtg-site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(1480px, calc(100% - 2 * var(--lvtg-gutter)));
  height: 100%;
  margin-inline: auto;
  gap: 2rem;
}

.lvtg-brand {
  flex: 0 1 272px;
  min-width: 200px;
}

.lvtg-brand .custom-logo-link { display: inline-flex; }
.lvtg-brand .custom-logo {
  width: min(272px, 100%);
  max-height: 58px;
  object-fit: contain;
  object-position: left center;
}

.lvtg-primary-navigation {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: clamp(1rem, 2vw, 2rem);
}

.lvtg-menu,
.lvtg-menu ul,
.lvtg-footer-menu {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  gap: clamp(.85rem, 1.6vw, 1.6rem);
  list-style: none;
}

.lvtg-menu a {
  position: relative;
  display: inline-flex;
  padding-block: .9rem;
  color: var(--lvtg-paper);
  font-family: var(--lvtg-utility);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
}

.lvtg-menu a::after {
  position: absolute;
  right: 0;
  bottom: .45rem;
  left: 0;
  height: 2px;
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  background: var(--lvtg-coral);
  transition: transform .2s ease;
}

.lvtg-menu a:hover,
.lvtg-menu .current-menu-item > a,
.lvtg-menu .current-menu-ancestor > a { color: #fff; }
.lvtg-menu a:hover::after,
.lvtg-menu .current-menu-item > a::after,
.lvtg-menu .current-menu-ancestor > a::after { transform: scaleX(1); }

.lvtg-header-cta,
.lvtg-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: .78rem 1.15rem;
  border: 2px solid var(--lvtg-coral);
  border-radius: 0;
  background: var(--lvtg-coral);
  color: var(--lvtg-ink);
  font-family: var(--lvtg-utility);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .045em;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}

.lvtg-header-cta svg,
.lvtg-button svg,
.lvtg-text-link svg {
  width: 1.1rem;
  height: 1.1rem;
  margin-left: .55rem;
}

.lvtg-header-cta:hover,
.lvtg-button:hover {
  transform: translateY(-2px);
  background: var(--lvtg-gold);
  border-color: var(--lvtg-gold);
  color: var(--lvtg-ink);
}

.lvtg-button--ghost {
  border-color: var(--lvtg-paper);
  background: transparent;
  color: var(--lvtg-paper);
}

.lvtg-button--ghost:hover {
  background: var(--lvtg-paper);
  border-color: var(--lvtg-paper);
  color: var(--lvtg-ink);
}

.lvtg-button--dark {
  border-color: var(--lvtg-ink);
  background: var(--lvtg-ink);
  color: var(--lvtg-paper);
}

.lvtg-button.is-disabled,
.lvtg-button[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .65;
  transform: none;
}

.lvtg-menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid var(--lvtg-dark-rule);
  background: transparent;
  color: var(--lvtg-paper);
}

.lvtg-menu-toggle svg { width: 24px; height: 24px; }
.lvtg-menu-toggle__close { display: none; }
.is-menu-open .lvtg-menu-toggle__open { display: none; }
.is-menu-open .lvtg-menu-toggle__close { display: block; }

.lvtg-route-label,
.lvtg-section__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin: 0 0 .9rem;
  color: var(--lvtg-spring);
  font-family: var(--lvtg-utility);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .085em;
  line-height: 1.35;
  text-decoration: none;
  text-transform: uppercase;
}

.lvtg-route-label::before,
.lvtg-section__eyebrow::before {
  width: 1.75rem;
  height: 2px;
  content: "";
  background: currentColor;
}

.lvtg-route-label--light { color: var(--lvtg-ice); }

.lvtg-hero {
  position: relative;
  display: grid;
  min-height: min(820px, calc(100svh - var(--lvtg-header)));
  overflow: hidden;
  background: var(--lvtg-ink);
  color: var(--lvtg-paper);
  isolation: isolate;
}

.lvtg-hero__media,
.lvtg-hero__media img,
.lvtg-hero__scrim {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.lvtg-hero__media img { object-fit: cover; object-position: center 44%; }

.lvtg-hero__scrim {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(23, 26, 43, .96) 0%, rgba(23, 26, 43, .76) 42%, rgba(23, 26, 43, .22) 76%, rgba(23, 26, 43, .38) 100%),
    linear-gradient(0deg, rgba(23, 26, 43, .7) 0%, transparent 48%);
}

.lvtg-hero__inner {
  position: relative;
  z-index: 2;
  align-self: center;
  width: min(var(--lvtg-content), calc(100% - 2 * var(--lvtg-gutter)));
  margin-inline: auto;
  padding-block: 5rem 7rem;
}

.lvtg-hero h1 {
  max-width: 9.6ch;
  margin-bottom: .24em;
  font-size: clamp(4rem, 8.7vw, 9rem);
  letter-spacing: -.055em;
}

.lvtg-hero__dek {
  max-width: 620px;
  color: rgba(244, 235, 221, .88);
  font-size: clamp(1.08rem, 1.8vw, 1.4rem);
  line-height: 1.52;
}

.lvtg-button-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin-top: 2rem;
}

.lvtg-hero__ledger {
  position: absolute;
  right: var(--lvtg-gutter);
  bottom: 2rem;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 1rem;
  color: rgba(244, 235, 221, .72);
  font-family: var(--lvtg-utility);
  font-size: .67rem;
  letter-spacing: .07em;
}

.lvtg-hero__ledger i {
  width: 5rem;
  height: 3px;
  background: linear-gradient(90deg, var(--lvtg-coral) 0 76%, var(--lvtg-gold) 76%);
  clip-path: polygon(0 0, 84% 0, 100% 100%, 0 100%);
}

.lvtg-intro__heading,
.lvtg-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  align-items: end;
  gap: clamp(2rem, 7vw, 7rem);
  margin-bottom: clamp(2rem, 5vw, 4.5rem);
}

.lvtg-intro__heading h2,
.lvtg-section-heading h2 { margin-bottom: 0; }
.lvtg-intro__heading p,
.lvtg-section-heading > p { margin: 0; color: rgba(23, 26, 43, .74); }

.lvtg-route-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  border-top: 1px solid var(--lvtg-rule);
  border-left: 1px solid var(--lvtg-rule);
}

.lvtg-route-card {
  position: relative;
  grid-column: span 3;
  min-width: 0;
  border-right: 1px solid var(--lvtg-rule);
  border-bottom: 1px solid var(--lvtg-rule);
  background: rgba(255, 250, 243, .35);
}

.lvtg-route-card__image {
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--lvtg-ink);
}

.lvtg-route-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.86) contrast(1.04);
  transition: transform .45s ease, filter .3s ease;
}

.lvtg-route-card:hover .lvtg-route-card__image img {
  transform: scale(1.035);
  filter: saturate(1) contrast(1.03);
}

.lvtg-route-card__body { position: relative; min-height: 250px; padding: 1.55rem; }
.lvtg-route-card__number {
  display: block;
  margin-bottom: 1.3rem;
  color: var(--lvtg-calico);
  font-family: var(--lvtg-utility);
  font-size: .72rem;
  letter-spacing: .1em;
}

.lvtg-route-card h3 { font-size: clamp(1.45rem, 2.1vw, 2.15rem); }
.lvtg-route-card h3 a { color: var(--lvtg-ink); text-decoration: none; }
.lvtg-route-card p { margin: 0; color: rgba(23, 26, 43, .68); font-size: .94rem; }
.lvtg-route-card__body::after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 2.6rem;
  height: .42rem;
  content: "";
  background: var(--lvtg-gold);
  clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%);
}

.lvtg-feature-band {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  width: 100%;
  max-width: none;
  padding: 0;
  background: var(--lvtg-ink);
  color: var(--lvtg-paper);
}

.lvtg-feature-band__media { min-height: 610px; overflow: hidden; }
.lvtg-feature-band__media img { width: 100%; height: 100%; object-fit: cover; }
.lvtg-feature-band__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(3rem, 7vw, 7rem);
}

.lvtg-feature-band__copy p:not(.lvtg-route-label) { color: rgba(244, 235, 221, .78); }

.lvtg-text-link {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  color: inherit;
  font-family: var(--lvtg-utility);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-decoration-color: var(--lvtg-coral);
  text-transform: uppercase;
}

.lvtg-text-link:hover { color: var(--lvtg-coral); }

.lvtg-provider-section { position: relative; }
.lvtg-provider-section::before {
  position: absolute;
  top: 0;
  left: 0;
  width: min(22vw, 270px);
  height: 5px;
  content: "";
  background: linear-gradient(90deg, var(--lvtg-coral) 0 80%, var(--lvtg-gold) 80%);
}

.lvtg-provider-empty,
.lvtg-empty-state {
  padding: clamp(2rem, 5vw, 4rem);
  border: 1px solid var(--lvtg-rule);
  background: var(--lvtg-paper-bright);
}

.lvtg-provider-empty h3,
.lvtg-empty-state h2 { max-width: 18ch; }

.lvtg-story-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2.3vw, 2rem);
}

.lvtg-story-card {
  min-width: 0;
  border-top: 1px solid var(--lvtg-ink);
  background: rgba(255, 250, 243, .42);
}

.lvtg-story-card__media {
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: rgba(23, 26, 43, .1);
}

.lvtg-story-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.lvtg-story-card:hover .lvtg-story-card__media img { transform: scale(1.025); }
.lvtg-story-card__placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, var(--lvtg-ink) 0 49%, var(--lvtg-coral) 49% 68%, var(--lvtg-gold) 68%); }
.lvtg-story-card__body { padding: 1.35rem .2rem 1rem; }
.lvtg-story-card__title { font-size: clamp(1.45rem, 2.25vw, 2.15rem); }
.lvtg-story-card__title a { color: var(--lvtg-ink); text-decoration: none; }
.lvtg-story-card__body > p { color: rgba(23, 26, 43, .7); font-size: .95rem; }
.lvtg-story-card__meta { color: rgba(23, 26, 43, .6); font-family: var(--lvtg-utility); font-size: .72rem; }

.lvtg-stays {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  width: 100%;
  max-width: none;
  padding: 0;
  background: var(--lvtg-ice);
}

.lvtg-stays__copy { padding: clamp(3rem, 7vw, 7rem); }
.lvtg-stays__visual { position: relative; min-height: 540px; background: var(--lvtg-ink); }
.lvtg-stays__visual img { width: 100%; height: 100%; object-fit: cover; opacity: .84; }
.lvtg-stays__options {
  position: absolute;
  right: var(--lvtg-gutter);
  bottom: var(--lvtg-gutter);
  left: var(--lvtg-gutter);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background: rgba(23, 26, 43, .9);
  color: var(--lvtg-paper);
}

.lvtg-stays__options span { padding: 1rem; border-right: 1px solid var(--lvtg-dark-rule); font-family: var(--lvtg-utility); font-size: .72rem; text-align: center; text-transform: uppercase; }
.lvtg-stays__options span:last-child { border-right: 0; }

.lvtg-newsletter {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: end;
  gap: clamp(2rem, 7vw, 7rem);
}

.lvtg-newsletter__inactive,
.lvtg-inactive-form {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  min-height: 60px;
  border: 1px solid var(--lvtg-rule);
  background: rgba(255, 250, 243, .5);
}

.lvtg-newsletter__inactive > span:first-child,
.lvtg-inactive-form > span:not(.lvtg-button) { padding: 1rem; color: rgba(23, 26, 43, .58); }

.lvtg-archive-hero,
.lvtg-tours-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  min-height: 580px;
  background: var(--lvtg-ink);
  color: var(--lvtg-paper);
}

.lvtg-archive-hero__media,
.lvtg-tours-hero__media { min-height: 580px; overflow: hidden; order: 2; }
.lvtg-archive-hero__media img,
.lvtg-tours-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.lvtg-archive-hero__copy,
.lvtg-tours-hero__copy { align-self: center; padding: clamp(3rem, 7vw, 7rem); }
.lvtg-archive-hero h1,
.lvtg-tours-hero h1 { font-size: clamp(3.4rem, 7vw, 7.2rem); }
.lvtg-tours-display-title {
  max-width: 10ch;
  margin: 0 0 .25em;
  color: var(--lvtg-paper);
  font-family: var(--lvtg-display);
  font-size: clamp(3.4rem, 7vw, 7.2rem);
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: 1.04;
}
.lvtg-archive-hero__copy > p:not(.lvtg-route-label),
.lvtg-tours-hero__copy > p:not(.lvtg-route-label) { color: rgba(244, 235, 221, .78); font-size: 1.15rem; }

.lvtg-category-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .5rem;
  padding: 1rem var(--lvtg-gutter);
  border-bottom: 1px solid var(--lvtg-rule);
  background: var(--lvtg-paper-bright);
}

.lvtg-category-nav a {
  padding: .55rem .75rem;
  color: var(--lvtg-ink);
  font-family: var(--lvtg-utility);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-decoration: none;
  text-transform: uppercase;
}

.lvtg-category-nav a:hover { background: var(--lvtg-ice); }

.lvtg-category-hero {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: stretch;
  min-height: 520px;
  background: var(--lvtg-paper-bright);
}

.lvtg-category-hero > div { align-self: center; padding: clamp(3rem, 7vw, 7rem); }
.lvtg-category-hero > img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%); }
.lvtg-category-hero h1 { font-size: clamp(3.3rem, 6vw, 6.4rem); }
.lvtg-category-hero p { color: rgba(23, 26, 43, .7); }

.lvtg-breadcrumbs { margin-bottom: 1.2rem; }
.lvtg-breadcrumbs ol { display: flex; flex-wrap: wrap; padding: 0; margin: 0; gap: .45rem; list-style: none; }
.lvtg-breadcrumbs li { display: inline-flex; align-items: center; color: inherit; font-family: var(--lvtg-utility); font-size: .68rem; letter-spacing: .045em; }
.lvtg-breadcrumbs li:not(:last-child)::after { margin-left: .45rem; content: "/"; opacity: .55; }
.lvtg-breadcrumbs a { color: inherit; }

.lvtg-pagination { margin-top: 3rem; }
.lvtg-pagination ul { display: flex; flex-wrap: wrap; padding: 0; gap: .45rem; list-style: none; }
.lvtg-pagination a,
.lvtg-pagination span {
  display: grid;
  min-width: 44px;
  min-height: 44px;
  padding: .6rem;
  place-items: center;
  border: 1px solid var(--lvtg-rule);
  color: var(--lvtg-ink);
  font-family: var(--lvtg-utility);
  text-decoration: none;
}
.lvtg-pagination .current { background: var(--lvtg-ink); color: var(--lvtg-paper); }

.lvtg-article-hero {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
  min-height: 650px;
  background: var(--lvtg-paper-bright);
}

.lvtg-article-hero__copy { align-self: center; min-width: 0; padding: clamp(3rem, 7vw, 7rem); }
.lvtg-article-hero h1 { max-width: 14ch; font-size: clamp(3rem, 6vw, 6.4rem); }
.lvtg-article-hero__dek { max-width: 720px; color: rgba(23, 26, 43, .72); font-size: 1.14rem; }
.lvtg-article-hero__media { min-height: 650px; margin: 0; overflow: hidden; }
.lvtg-article-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.lvtg-article-meta { display: flex; flex-wrap: wrap; gap: 1rem; color: rgba(23, 26, 43, .65); font-family: var(--lvtg-utility); font-size: .7rem; text-transform: uppercase; }

.lvtg-article-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 350px);
  align-items: start;
  gap: clamp(2rem, 7vw, 6rem);
}

.lvtg-article-content { min-width: 0; max-width: var(--lvtg-reading); }
.lvtg-article-content > *:first-child { margin-top: 0; }
.lvtg-article-content h2 { margin-top: 2.1em; font-size: clamp(2rem, 3.7vw, 3.35rem); }
.lvtg-article-content h3 { margin-top: 1.8em; }
.lvtg-article-content p,
.lvtg-article-content li { color: #262a3b; }
.lvtg-article-content .lvtg-dek { padding-left: 1.25rem; border-left: .35rem solid var(--lvtg-coral); color: var(--lvtg-ink); font-size: 1.2rem; }
.lvtg-article-content ul,
.lvtg-article-content ol { margin-block: 1.4rem; }
.lvtg-article-content li + li { margin-top: .55rem; }
.lvtg-article-content blockquote,
.lvtg-page-content blockquote { margin: 2rem 0; padding: 1.5rem 0 1.5rem 1.5rem; border-left: .4rem solid var(--lvtg-coral); font-family: var(--lvtg-display); font-size: 1.45rem; font-weight: 700; }

.wp-block-image,
.lvtg-article-content figure { margin: 2.25rem 0; }
.wp-block-image img { width: 100%; }
figcaption,
.wp-element-caption { margin-top: .65rem; color: rgba(23, 26, 43, .65); font-family: var(--lvtg-utility); font-size: .72rem; line-height: 1.5; }

.wp-block-table { max-width: 100%; overflow-x: auto; }
.wp-block-table table { width: 100%; min-width: 620px; border-collapse: collapse; background: var(--lvtg-paper-bright); }
.wp-block-table th,
.wp-block-table td { padding: .85rem 1rem; border: 1px solid var(--lvtg-rule); text-align: left; vertical-align: top; }
.wp-block-table th { background: var(--lvtg-ink); color: var(--lvtg-paper); font-family: var(--lvtg-utility); font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; }

.lvtg-article-sidebar { position: sticky; top: 1.25rem; min-width: 0; }
.admin-bar .lvtg-article-sidebar { top: 3.5rem; }
.lvtg-sidebar-intro { margin-bottom: 1rem; padding: 1.25rem; border-top: 4px solid var(--lvtg-gold); background: var(--lvtg-ice); }
.lvtg-sidebar-intro p:last-child { margin: 0; font-size: .9rem; }
.lvtg-sidebar-fallback { display: flex; flex-direction: column; padding: 1.25rem; margin-bottom: .75rem; border: 1px solid var(--lvtg-rule); color: var(--lvtg-ink); text-decoration: none; }
.lvtg-sidebar-fallback:hover { border-color: var(--lvtg-coral); color: var(--lvtg-ink); }
.lvtg-sidebar-fallback span { color: rgba(23, 26, 43, .66); font-size: .9rem; }

.lvtg-related { border-top: 1px solid var(--lvtg-rule); }

.lvtg-page-hero {
  position: relative;
  display: grid;
  min-height: 520px;
  overflow: hidden;
  background: var(--lvtg-ink);
  color: var(--lvtg-paper);
  isolation: isolate;
}
.lvtg-page-hero > img,
.lvtg-page-hero__scrim { position: absolute; inset: 0; width: 100%; height: 100%; }
.lvtg-page-hero > img { object-fit: cover; }
.lvtg-page-hero__scrim { z-index: 1; background: linear-gradient(90deg, rgba(23, 26, 43, .95), rgba(23, 26, 43, .4)); }
.lvtg-page-hero__copy { position: relative; z-index: 2; align-self: end; width: min(var(--lvtg-content), calc(100% - 2 * var(--lvtg-gutter))); margin-inline: auto; padding-block: 5rem; }
.lvtg-page-hero h1 { max-width: 12ch; font-size: clamp(3.4rem, 7vw, 7rem); }
.lvtg-page-hero__copy > p:not(.lvtg-route-label) { max-width: 650px; color: rgba(244, 235, 221, .82); }
.lvtg-page-content { max-width: var(--lvtg-reading); }
.lvtg-page-content h2 { margin-top: 1.8em; font-size: clamp(2rem, 3.7vw, 3.35rem); }
.lvtg-page-content > *:first-child { margin-top: 0; }

.lvtg-contact-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(320px, 1.2fr); gap: clamp(2rem, 8vw, 8rem); }
.lvtg-contact-panel { padding: clamp(1.5rem, 4vw, 3rem); border-top: 5px solid var(--lvtg-coral); background: var(--lvtg-paper-bright); }
.lvtg-inactive-form { grid-template-columns: 1fr 1fr; margin-top: 1.5rem; }
.lvtg-inactive-form > span { min-height: 56px; border-right: 1px solid var(--lvtg-rule); border-bottom: 1px solid var(--lvtg-rule); }
.lvtg-inactive-form__message { grid-column: 1 / -1; min-height: 110px !important; }
.lvtg-inactive-form .lvtg-button { grid-column: 1 / -1; border: 0; }

.lvtg-tours-hero { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); }
.lvtg-tours-hero__facts { position: absolute; right: var(--lvtg-gutter); bottom: var(--lvtg-gutter); z-index: 2; display: flex; flex-wrap: wrap; background: rgba(23, 26, 43, .9); }
.lvtg-tours-hero__facts span { padding: .75rem 1rem; border-right: 1px solid var(--lvtg-dark-rule); font-family: var(--lvtg-utility); font-size: .68rem; text-transform: uppercase; }
.lvtg-tours-intro { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 3rem; padding-bottom: 3rem; margin-bottom: 3rem; border-bottom: 1px solid var(--lvtg-rule); }

.lvtg-simple-hero { padding: clamp(4rem, 10vw, 9rem) var(--lvtg-gutter); background: var(--lvtg-paper-bright); }
.lvtg-simple-hero > div { width: min(var(--lvtg-content), 100%); margin-inline: auto; }
.lvtg-simple-hero h1 { max-width: 14ch; font-size: clamp(3rem, 6vw, 6rem); }

.search-form { display: flex; width: min(620px, 100%); margin-top: 1.5rem; }
.search-form label { flex: 1; }
.search-field { width: 100%; min-height: 52px; padding: .8rem 1rem; border: 2px solid var(--lvtg-ink); border-right: 0; border-radius: 0; background: var(--lvtg-paper-bright); color: var(--lvtg-ink); }
.search-submit { min-height: 52px; padding: .8rem 1.2rem; border: 2px solid var(--lvtg-coral); border-radius: 0; background: var(--lvtg-coral); color: var(--lvtg-ink); font-family: var(--lvtg-utility); font-weight: 800; text-transform: uppercase; }

.lvtg-not-found { position: relative; display: grid; min-height: calc(100svh - var(--lvtg-header)); overflow: hidden; background: var(--lvtg-ink); color: var(--lvtg-paper); isolation: isolate; }
.lvtg-not-found > img,
.lvtg-not-found__scrim { position: absolute; inset: 0; width: 100%; height: 100%; }
.lvtg-not-found > img { object-fit: cover; }
.lvtg-not-found__scrim { z-index: 1; background: linear-gradient(90deg, rgba(23, 26, 43, .96), rgba(23, 26, 43, .35)); }
.lvtg-not-found__content { position: relative; z-index: 2; align-self: center; width: min(var(--lvtg-content), calc(100% - 2 * var(--lvtg-gutter))); margin-inline: auto; padding-block: 5rem; }
.lvtg-not-found h1 { max-width: 10ch; }
.lvtg-not-found p { max-width: 600px; color: rgba(244, 235, 221, .8); }
.lvtg-not-found .search-field { border-color: var(--lvtg-paper); }

.lvtg-site-footer { position: relative; overflow: hidden; background: var(--lvtg-ink); color: var(--lvtg-paper); }
.lvtg-site-footer__route { display: flex; height: 7px; }
.lvtg-site-footer__route span { width: 82%; background: var(--lvtg-coral); }
.lvtg-site-footer__route i { width: 18%; background: var(--lvtg-gold); clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%); }
.lvtg-site-footer__inner {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(240px, 1fr) minmax(220px, .65fr);
  width: min(var(--lvtg-content), calc(100% - 2 * var(--lvtg-gutter)));
  margin-inline: auto;
  padding-block: clamp(4rem, 8vw, 7rem);
  gap: clamp(2rem, 6vw, 6rem);
}
.lvtg-site-footer__brand img { width: min(360px, 100%); }
.lvtg-site-footer__brand > p { margin: 1rem 0 .45rem; font-family: var(--lvtg-display); font-size: 1.5rem; font-weight: 800; }
.lvtg-site-footer__brand .lvtg-site-footer__independent { color: rgba(244, 235, 221, .62); font-family: var(--lvtg-body); font-size: .9rem; font-weight: 400; }
.lvtg-footer-menu { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: .65rem 1.4rem; }
.lvtg-footer-menu a { color: var(--lvtg-paper); font-size: .9rem; }
.lvtg-site-footer__meta { color: rgba(244, 235, 221, .58); font-family: var(--lvtg-utility); font-size: .68rem; }

.alignwide { width: min(1100px, calc(100vw - 2 * var(--lvtg-gutter))); max-width: none; margin-right: calc((min(1100px, calc(100vw - 2 * var(--lvtg-gutter))) - 100%) / -2); margin-left: calc((min(1100px, calc(100vw - 2 * var(--lvtg-gutter))) - 100%) / -2); }
.alignfull { width: 100vw; max-width: none; margin-right: calc(50% - 50vw); margin-left: calc(50% - 50vw); }
.wp-caption,
.wp-block-embed { max-width: 100%; }

@media (max-width: 1120px) {
  :root { --lvtg-header: 78px; }
  .lvtg-brand { flex-basis: 225px; min-width: 180px; }
  .lvtg-brand .custom-logo { max-height: 50px; }
  .lvtg-menu { gap: .75rem; }
  .lvtg-menu a { font-size: .68rem; }
  .lvtg-header-cta { padding-inline: .8rem; }
  .lvtg-route-card { grid-column: span 6; }
  .lvtg-route-card__body { min-height: 200px; }
  .lvtg-article-hero { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .lvtg-site-footer__inner { grid-template-columns: 1fr 1fr; }
  .lvtg-site-footer__meta { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
  .lvtg-menu-toggle { display: inline-flex; }
  .lvtg-primary-navigation {
    position: fixed;
    top: var(--lvtg-header);
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 999;
    display: flex;
    visibility: hidden;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    padding: 2rem var(--lvtg-gutter) 3rem;
    overflow-y: auto;
    transform: translateY(-1rem);
    opacity: 0;
    background: var(--lvtg-ink);
    transition: visibility 0s linear .2s, opacity .2s ease, transform .2s ease;
  }
  .is-menu-open .lvtg-primary-navigation { visibility: visible; transform: translateY(0); opacity: 1; transition-delay: 0s; }
  .lvtg-primary-navigation .lvtg-menu { display: grid; align-items: stretch; gap: 0; }
  .lvtg-primary-navigation .lvtg-menu li { border-bottom: 1px solid var(--lvtg-dark-rule); }
  .lvtg-primary-navigation .lvtg-menu a { display: flex; min-height: 54px; align-items: center; font-family: var(--lvtg-display); font-size: clamp(1.45rem, 6vw, 2.2rem); letter-spacing: -.02em; text-transform: none; }
  .lvtg-header-cta { margin-top: 1.25rem; }
  .lvtg-hero { min-height: 760px; }
  .lvtg-hero__scrim { background: linear-gradient(0deg, rgba(23, 26, 43, .98) 0%, rgba(23, 26, 43, .72) 68%, rgba(23, 26, 43, .3) 100%); }
  .lvtg-hero__inner { align-self: end; padding-bottom: 7rem; }
  .lvtg-hero__ledger { right: auto; left: var(--lvtg-gutter); }
  .lvtg-intro__heading,
  .lvtg-section-heading,
  .lvtg-newsletter,
  .lvtg-tours-intro { grid-template-columns: 1fr; align-items: start; gap: 1.25rem; }
  .lvtg-feature-band,
  .lvtg-stays,
  .lvtg-archive-hero,
  .lvtg-category-hero,
  .lvtg-article-hero,
  .lvtg-contact-layout,
  .lvtg-tours-hero { grid-template-columns: 1fr; }
  .lvtg-feature-band__media,
  .lvtg-archive-hero__media,
  .lvtg-tours-hero__media,
  .lvtg-category-hero > img,
  .lvtg-article-hero__media { min-height: 420px; }
  .lvtg-archive-hero__media,
  .lvtg-tours-hero__media { order: 0; }
  .lvtg-stays__visual { min-height: 420px; }
  .lvtg-category-hero > img { clip-path: none; }
  .lvtg-article-hero__copy { order: 2; }
  .lvtg-article-layout { grid-template-columns: 1fr; }
  .lvtg-article-content { max-width: none; }
  .lvtg-article-sidebar { position: static; }
  .lvtg-story-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lvtg-site-footer__inner { grid-template-columns: 1fr; }
  .lvtg-site-footer__meta { grid-column: auto; }
}

@media (max-width: 620px) {
  :root { --lvtg-header: 72px; --lvtg-gutter: 1rem; --lvtg-section: 4rem; }
  .lvtg-site-header__inner { gap: .75rem; }
  .lvtg-brand { flex-basis: min(230px, calc(100vw - 84px)); min-width: 0; }
  .lvtg-brand .custom-logo { max-height: 48px; }
  .lvtg-hero { min-height: 772px; }
  .lvtg-hero h1 { font-size: clamp(3.6rem, 17vw, 5.25rem); }
  .lvtg-hero__dek { font-size: 1rem; }
  .lvtg-button-row { align-items: stretch; }
  .lvtg-button-row .lvtg-button { flex: 1 1 100%; }
  .lvtg-hero__ledger span:nth-child(2) { display: none; }
  .lvtg-route-grid { grid-template-columns: 1fr; }
  .lvtg-route-card { grid-column: auto; }
  .lvtg-route-card__body { min-height: 0; }
  .lvtg-feature-band__media,
  .lvtg-archive-hero__media,
  .lvtg-tours-hero__media,
  .lvtg-category-hero > img,
  .lvtg-article-hero__media { min-height: 330px; }
  .lvtg-feature-band__copy,
  .lvtg-archive-hero__copy,
  .lvtg-tours-hero__copy,
  .lvtg-category-hero > div,
  .lvtg-article-hero__copy,
  .lvtg-stays__copy { padding: 2.4rem 1rem; }
  .lvtg-archive-hero h1,
  .lvtg-tours-hero h1,
  .lvtg-tours-display-title,
  .lvtg-category-hero h1,
  .lvtg-article-hero h1,
  .lvtg-page-hero h1 { font-size: clamp(2.8rem, 14vw, 4.4rem); }
  .lvtg-story-grid { grid-template-columns: 1fr; }
  .lvtg-stays__visual { min-height: 360px; }
  .lvtg-stays__options { grid-template-columns: 1fr; }
  .lvtg-stays__options span { border-right: 0; border-bottom: 1px solid var(--lvtg-dark-rule); }
  .lvtg-stays__options span:last-child { border-bottom: 0; }
  .lvtg-newsletter__inactive,
  .lvtg-inactive-form { grid-template-columns: 1fr; }
  .lvtg-inactive-form__message { grid-column: auto; }
  .lvtg-inactive-form .lvtg-button { grid-column: auto; }
  .lvtg-tours-hero__facts { position: static; display: grid; grid-template-columns: 1fr; }
  .lvtg-tours-hero__facts span { border-right: 0; border-bottom: 1px solid var(--lvtg-dark-rule); }
  .wp-block-table table { min-width: 560px; }
  .lvtg-footer-menu { grid-template-columns: 1fr; }
  .search-form { flex-direction: column; }
  .search-field { border-right: 2px solid var(--lvtg-ink); }
  .alignwide,
  .alignfull { width: 100%; margin-right: 0; margin-left: 0; }
}

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

@media (max-width: 600px) {
  .tsva-sticky-cta {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) minmax(96px, 120px);
    gap: 0.55rem;
    padding: 0.65rem 0.75rem;
  }

  .tsva-sticky-cta span {
    display: -webkit-box;
    overflow: hidden;
    font-size: 0.78rem;
    line-height: 1.2;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .tsva-sticky-cta a {
    padding: 0.65rem 0.7rem;
    font-size: 0.7rem;
    line-height: 1.1;
    text-align: center;
    white-space: normal;
  }
}

@media (forced-colors: active) {
  .lvtg-button,
  .lvtg-header-cta,
  .lvtg-menu-toggle { border: 2px solid ButtonText; }
  .lvtg-route-label::before,
  .lvtg-section__eyebrow::before { background: currentColor; }
}
