:root {
  --lm-primary: #34268f;
  --lm-primary-dark: #1d1059;
  --lm-secondary: #12a665;
  --lm-accent: #f5b942;
  --lm-ink: #17192a;
  --lm-muted: #66697a;
  --lm-soft: #f4f5fa;
  --lm-white: #fff;
  --lm-border: rgba(26, 29, 48, .11);
  --lm-shadow: 0 22px 55px rgba(23, 25, 42, .12);
  --lm-radius: 24px;
  --lm-container: 1280px;
  --lm-font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --lm-slider-title-size: 76px;
  --lm-slider-title-size-mobile: 50px;
  --lm-slider-title-weight: 600;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { margin: 0; overflow-x: hidden; color: var(--lm-ink); background: #fff; font-family: var(--lm-font); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.admin-bar .lm-site-header { top: 32px; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid var(--lm-accent); outline-offset: 3px; }
h1, h2, h3, h4 { margin: 0 0 .7em; line-height: 1.08; letter-spacing: -.035em; }
h1 { font-size: clamp(2.65rem, 6vw, 6rem); }
h2 { font-size: clamp(2rem, 4vw, 3.7rem); }
h3 { font-size: 1.35rem; }
p { margin: 0 0 1.35em; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.lm-icon { display: block; flex: 0 0 auto; width: 1.15em; height: 1.15em; }
.lm-container { width: min(calc(100% - 48px), var(--lm-container)); margin-inline: auto; }
.lm-skip-link { position: fixed; left: 16px; top: -100px; z-index: 10000; padding: 12px 18px; color: #fff; background: var(--lm-primary); border-radius: 8px; }
.lm-skip-link:focus { top: 16px; }
.lm-eyebrow, .lm-hero-eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 18px; color: var(--lm-secondary); font-size: .75rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.lm-eyebrow::before, .lm-hero-eyebrow::before { width: 30px; height: 2px; background: currentColor; content: ""; }

.lm-button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; padding: 0 25px; color: #fff; background: var(--lm-primary); border: 1px solid var(--lm-primary); border-radius: 999px; font-size: .86rem; font-weight: 800; letter-spacing: .025em; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.lm-button:hover { transform: translateY(-2px); background: var(--lm-primary-dark); box-shadow: 0 12px 28px rgba(52, 38, 143, .25); }
.lm-button--light { color: var(--lm-primary-dark); background: #fff; border-color: #fff; }
.lm-button--light:hover { color: #fff; background: var(--lm-secondary); border-color: var(--lm-secondary); }
.lm-button--ghost { color: var(--lm-primary); background: transparent; }
.lm-button--full { width: 100%; }
.lm-text-link { color: var(--lm-primary); font-weight: 800; white-space: nowrap; }

/* Header */
.lm-site-header { position: relative; z-index: 100; background: #fff; box-shadow: 0 5px 20px rgba(20, 20, 40, .06); }
.lm-topbar { color: #fff; background: var(--lm-primary); font-size: .8rem; font-weight: 650; }
.lm-topbar__inner { min-height: 46px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.lm-social-links, .lm-topbar__contact { display: flex; align-items: center; gap: 18px; }
.lm-topbar a { display: inline-flex; align-items: center; gap: 8px; opacity: .9; }
.lm-topbar a:hover { opacity: 1; }
.lm-social-links { gap: 9px; }
.lm-social-links a { width: 30px; height: 30px; justify-content: center; background: rgba(255,255,255,.11); border: 1px solid rgba(255,255,255,.2); border-radius: 50%; transition: background .2s ease, transform .2s ease; }
.lm-social-links a:hover { background: rgba(255,255,255,.22); transform: translateY(-1px); }
.lm-social-links .lm-icon { width: 17px; height: 17px; }
.lm-topbar__contact .lm-icon { width: 15px; height: 15px; color: rgba(255,255,255,.86); }
.lm-nav-wrap__inner { min-height: 108px; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.lm-brand { flex: 0 0 auto; }
.lm-brand .custom-logo { width: auto; max-width: 250px; max-height: 76px; }
.lm-brand__fallback { display: flex; flex-direction: column; color: var(--lm-primary); }
.lm-brand__fallback strong { font-size: 1.7rem; line-height: 1; }
.lm-brand__fallback span { margin-top: 5px; font-size: .75rem; font-weight: 750; text-transform: uppercase; letter-spacing: .12em; }
.lm-primary-nav .menu { display: flex; align-items: center; gap: 30px; margin: 0; padding: 0; list-style: none; }
.lm-primary-nav li { position: relative; }
.lm-primary-nav a { display: block; padding: 14px 0; color: #343545; font-size: .93rem; font-weight: 680; }
.lm-primary-nav a:hover, .lm-primary-nav .current-menu-item > a { color: var(--lm-primary); }
.lm-primary-nav .sub-menu { position: absolute; top: 100%; left: -18px; min-width: 220px; visibility: hidden; margin: 0; padding: 10px 18px; list-style: none; background: #fff; border-radius: 14px; box-shadow: var(--lm-shadow); opacity: 0; transform: translateY(8px); transition: .2s ease; }
.lm-primary-nav li:hover > .sub-menu, .lm-primary-nav li:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: none; }
.lm-menu-toggle { display: none; width: 48px; height: 48px; padding: 12px; background: transparent; border: 0; }
.lm-menu-toggle > span:not(.screen-reader-text) { display: block; height: 2px; margin: 5px 0; background: var(--lm-primary); transition: .2s ease; }

/* Hero */
.lm-hero { position: relative; min-height: clamp(600px, 72vh, 820px); overflow: hidden; color: #fff; background: var(--lm-primary-dark); }
.lm-slides, .lm-slide { position: absolute; inset: 0; }
.lm-slide { visibility: hidden; opacity: 0; transition: opacity .65s ease, visibility .65s ease; }
.lm-slide.is-active { visibility: visible; opacity: 1; }
.lm-slide picture { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.lm-slide img, .lm-slide__fallback { width: 100%; height: 100%; }
.lm-slide img { object-fit: cover; transform: scale(1.02); transition: transform 7s linear; }
.lm-slide.is-active img { transform: scale(1.08); }
.lm-slide__fallback, .lm-hero--fallback { display: block; background: radial-gradient(circle at 78% 28%, rgba(18, 166, 101, .62), transparent 30%), linear-gradient(125deg, var(--lm-primary-dark), var(--lm-primary)); }
.lm-slide__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15, 9, 49, .82) 0%, rgba(15, 9, 49, .54) 46%, rgba(15, 9, 49, .12) 75%), linear-gradient(0deg, rgba(15, 9, 49, .28), transparent 48%); }
.lm-slide__content { position: relative; z-index: 2; height: 100%; min-height: clamp(600px, 72vh, 820px); display: flex; align-items: flex-start; justify-content: center; flex-direction: column; padding-top: 60px; padding-bottom: 80px; }
.lm-slide__content :is(h1, h2) { max-width: 920px; margin-bottom: 22px; font-size: clamp(2.65rem, 6vw, var(--lm-slider-title-size)); font-weight: var(--lm-slider-title-weight); text-wrap: balance; }
.lm-slide__content p { max-width: 720px; margin-bottom: 32px; color: rgba(255,255,255,.88); font-size: clamp(1rem, 2vw, 1.3rem); line-height: 1.5; }
.lm-hero-eyebrow { color: #fff; }
.lm-hero-controls { position: absolute; right: max(24px, calc((100vw - var(--lm-container)) / 2)); bottom: 38px; z-index: 5; display: flex; align-items: center; gap: 10px; }
.lm-hero-controls button { min-width: 44px; height: 44px; padding: 0 14px; color: #fff; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.36); border-radius: 999px; backdrop-filter: blur(10px); }
.lm-hero-controls button:hover { background: rgba(255,255,255,.25); }
.lm-hero-controls [data-slide-dots] { display: flex; gap: 7px; }
.lm-hero-controls [data-slide-dots] button { min-width: 9px; width: 9px; height: 9px; padding: 0; background: rgba(255,255,255,.45); border: 0; }
.lm-hero-controls [data-slide-dots] button.is-active { width: 30px; background: #fff; }
.lm-hero--fallback { position: relative; }

/* Home blocks */
.lm-services-strip { position: relative; z-index: 10; margin-top: -36px; }
.lm-services-grid { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; background: #fff; border-radius: 22px; box-shadow: var(--lm-shadow); }
.lm-service-card { position: relative; display: flex; gap: 18px; align-items: flex-start; padding: 30px 62px 30px 30px; border-right: 1px solid var(--lm-border); transition: background .2s ease; }
.lm-service-card:last-child { border: 0; }
.lm-service-card:hover { background: var(--lm-soft); }
.lm-service-card > strong { position: absolute; right: 24px; top: 50%; color: var(--lm-primary); font-size: 1.1rem; transform: translateY(-50%); transition: transform .2s ease; }
.lm-service-card:hover > strong { transform: translate(4px, -50%); }
.lm-services-grid h2 { margin-bottom: 8px; font-size: 1.05rem; letter-spacing: -.02em; }
.lm-services-grid p { margin: 0; color: var(--lm-muted); font-size: .88rem; line-height: 1.55; }
.lm-service-icon { display: grid; flex: 0 0 45px; width: 45px; height: 45px; place-items: center; color: #fff; background: var(--lm-secondary); border-radius: 14px; font-weight: 900; }

.lm-campaign { position: relative; padding: 90px 0; overflow: hidden; color: #fff; background: linear-gradient(115deg, var(--campaign-overlay, rgba(29,16,89,.96)), var(--campaign-overlay-soft, rgba(29,16,89,.78))), var(--campaign-bg), var(--lm-primary); background-size: cover; background-position: center; }
.lm-campaign::before { position: absolute; top: -120px; right: -90px; width: 380px; height: 380px; background: var(--campaign-accent); border-radius: 50%; filter: blur(90px); opacity: .3; content: ""; }
.lm-campaign .lm-container { position: relative; }
.lm-home-banner { padding: 38px 0; background: #fff; }
.lm-home-banner--full { padding-inline: 0; }
.lm-home-banner__full { width: 100%; }
.lm-home-banner__media, .lm-home-banner__media picture { display: block; width: 100%; }
.lm-home-banner__media { overflow: hidden; background: var(--lm-soft); border-radius: 22px; box-shadow: 0 14px 36px rgba(23,25,42,.09); }
.lm-home-banner--full .lm-home-banner__media { border-radius: 0; box-shadow: none; }
.lm-home-banner__media img { width: 100%; height: auto; object-fit: cover; }
a.lm-home-banner__media { transition: transform .25s ease, box-shadow .25s ease; }
a.lm-home-banner__media:hover { transform: translateY(-2px); box-shadow: 0 18px 42px rgba(23,25,42,.14); }
.lm-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 40px; }
.lm-section-heading > div:first-child { max-width: 780px; }
.lm-section-heading h2 { margin-bottom: 12px; }
.lm-section-heading p, .lm-section-heading--light div { margin: 0; color: var(--lm-muted); }
.lm-section-heading--light { display: block; max-width: 820px; }
.lm-section-heading--light .lm-eyebrow, .lm-section-heading--light p, .lm-section-heading--light div { color: rgba(255,255,255,.82); }
.lm-section-heading--light h2 { color: #fff; }
.lm-trip-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.lm-trip-grid--campaign { margin-bottom: 34px; }
.lm-trip-grid--campaign .lm-trip-card { border: 1px solid rgba(255,255,255,.18); }

.lm-why { padding: 125px 0; }
.lm-why-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(60px, 8vw, 125px); align-items: center; }
.lm-why-visual { position: relative; min-height: 610px; overflow: hidden; background: linear-gradient(135deg, rgba(52,38,143,.08), rgba(18,166,101,.13)), radial-gradient(circle at 30% 25%, #f6d78a, transparent 28%), linear-gradient(150deg, #c8dfe6, #8dbab4); border-radius: 38px 150px 38px 38px; }
.lm-why-visual.has-image { background: linear-gradient(0deg, rgba(29,16,89,.24), rgba(29,16,89,.02)), var(--why-bg); background-position: center; background-size: cover; }
.lm-why-visual::before { position: absolute; inset: 8% 10%; border: 1px solid rgba(255,255,255,.65); border-radius: 28px 110px 28px 28px; content: ""; }
.lm-why-number { position: absolute; right: 0; bottom: 0; width: 235px; min-height: 200px; display: flex; flex-direction: column; justify-content: center; padding: 34px; color: #fff; background: var(--lm-primary); border-radius: 34px 0 0 0; }
.lm-why-number strong { font-size: 4rem; line-height: 1; }
.lm-why-number span { margin-top: 10px; font-size: .85rem; font-weight: 700; line-height: 1.4; text-transform: uppercase; }
.lm-feature-list { margin-top: 32px; }
.lm-feature-list article { display: grid; grid-template-columns: 48px 1fr; gap: 20px; padding: 23px 0; border-top: 1px solid var(--lm-border); }
.lm-feature-list article > span { color: var(--lm-secondary); font-weight: 850; }
.lm-feature-list h3 { margin-bottom: 6px; font-size: 1.12rem; }
.lm-feature-list p { margin: 0; color: var(--lm-muted); font-size: .94rem; }
.lm-why-link { display: inline-flex; margin-top: 28px; }

.lm-upcoming { padding: 115px 0; background: var(--lm-soft); }
.lm-trip-card { min-width: 0; overflow: hidden; color: var(--lm-ink); background: #fff; border: 1px solid var(--lm-border); border-radius: var(--lm-radius); box-shadow: 0 10px 30px rgba(23,25,42,.06); transition: transform .28s ease, box-shadow .28s ease; }
.lm-trip-card:hover { transform: translateY(-7px); box-shadow: var(--lm-shadow); }
.lm-trip-card__image { position: relative; display: block; aspect-ratio: 1.38; overflow: hidden; background: #dfe3ed; }
.lm-trip-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.lm-trip-card:hover .lm-trip-card__image img { transform: scale(1.045); }
.lm-image-placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, #d8e5e1, #aaa5cf); }
.lm-status-badge { position: absolute; top: 16px; right: 16px; display: inline-flex; padding: 7px 11px; color: #fff; background: var(--lm-secondary); border-radius: 999px; font-size: .66rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.lm-status-badge.is-alert { background: #d95252; }
.lm-trip-card__body { padding: 25px; }
.lm-trip-card__body .lm-eyebrow { margin-bottom: 10px; font-size: .68rem; }
.lm-trip-card__body .lm-eyebrow::before { width: 18px; }
.lm-trip-card h3 { min-height: 2.35em; margin-bottom: 18px; font-size: 1.3rem; }
.lm-trip-card h3 a:hover { color: var(--lm-primary); }
.lm-trip-card__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 15px 0; border-top: 1px solid var(--lm-border); border-bottom: 1px solid var(--lm-border); }
.lm-trip-card__facts span { display: flex; flex-direction: column; font-size: .8rem; font-weight: 750; line-height: 1.35; }
.lm-trip-card__facts small, .lm-card-price small { margin-bottom: 4px; color: var(--lm-muted); font-size: .64rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.lm-trip-card__footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 15px; padding-top: 18px; }
.lm-card-price { display: flex; flex-direction: column; line-height: 1.25; }
.lm-card-price strong { color: var(--lm-primary); font-size: 1.15rem; }
.lm-card-price span { margin-top: 5px; color: var(--lm-secondary); font-size: .75rem; font-weight: 800; }
.lm-round-link { display: grid; flex: 0 0 43px; width: 43px; height: 43px; place-items: center; color: #fff; background: var(--lm-primary); border-radius: 50%; font-size: 1.15rem; }

.lm-reviews { padding: 115px 0; overflow: hidden; }
.lm-review-controls { display: flex; gap: 10px; }
.lm-review-controls button { width: 48px; height: 48px; color: var(--lm-primary); background: #fff; border: 1px solid var(--lm-border); border-radius: 50%; font-size: 1.2rem; }
.lm-review-track { display: grid; grid-auto-columns: calc((100% - 48px) / 3); grid-auto-flow: column; gap: 24px; overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
.lm-review-track::-webkit-scrollbar { display: none; }
.lm-review-card { min-height: 365px; display: flex; flex-direction: column; justify-content: flex-start; padding: 32px; background: var(--lm-soft); border: 1px solid var(--lm-border); border-radius: var(--lm-radius); scroll-snap-align: start; }
.lm-stars { color: #f3a81c; font-size: 1rem; letter-spacing: .16em; }
.lm-review-text { margin: 25px 0 10px; font-size: 1.03rem; line-height: 1.65; }
.lm-review-text-content { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 7; }
.lm-review-text p:last-child { margin: 0; }
.lm-review-more { align-self: flex-start; margin: 0 0 24px; padding: 0 0 3px; color: var(--lm-primary); background: transparent; border: 0; border-bottom: 1px solid currentColor; font-size: .8rem; font-weight: 800; }
.lm-review-more:hover { color: var(--lm-secondary); }
.lm-review-card footer { display: flex; align-items: center; gap: 14px; margin-top: auto; }
.lm-review-card footer img { width: 48px; height: 48px; object-fit: cover; border-radius: 50%; }
.lm-review-card footer div { display: flex; flex-direction: column; }
.lm-review-card footer span, .lm-review-card footer a { color: var(--lm-muted); font-size: .75rem; }
.lm-review-card footer a:hover { color: var(--lm-primary); }
.lm-review-dialog { width: min(680px, calc(100% - 32px)); max-height: calc(100% - 40px); padding: 0; overflow: hidden; color: var(--lm-ink); background: #fff; border: 0; border-radius: 26px; box-shadow: 0 28px 90px rgba(18,12,55,.28); }
.lm-review-dialog::backdrop { background: rgba(12,8,36,.72); backdrop-filter: blur(8px); }
.lm-review-dialog__body { padding: 48px; }
.lm-review-dialog__close { position: absolute; top: 16px; right: 16px; z-index: 2; width: 42px; height: 42px; color: var(--lm-primary); background: var(--lm-soft); border: 1px solid var(--lm-border); border-radius: 50%; font-size: 1.45rem; line-height: 1; }
.lm-review-dialog h3 { margin: 14px 55px 22px 0; font-size: 1.8rem; }
.lm-review-dialog__text { max-height: 48vh; padding-right: 10px; overflow-y: auto; color: var(--lm-ink); font-size: 1.05rem; line-height: 1.75; }
.lm-review-dialog__text p:last-child { margin-bottom: 0; }
.lm-review-dialog__author { display: flex; align-items: center; gap: 14px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--lm-border); }
.lm-review-dialog__author img { width: 48px; height: 48px; object-fit: cover; border-radius: 50%; }
.lm-review-dialog__author > div { display: flex; flex-direction: column; }
.lm-review-dialog__author a, .lm-review-dialog__author span { color: var(--lm-muted); font-size: .75rem; }

.lm-business-lines { padding: 0 0 115px; }
.lm-business-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.lm-business-card { position: relative; isolation: isolate; min-height: 430px; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; overflow: hidden; padding: 45px; color: #fff; border-radius: 30px; }
.lm-business-card::before { position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(16,10,48,.9), rgba(16,10,48,.08)), linear-gradient(135deg, #7167b5, #b8cbd4); transition: transform .45s ease; content: ""; }
.lm-business-card--transport::before { background: linear-gradient(0deg, rgba(9,67,45,.92), rgba(9,67,45,.05)), linear-gradient(135deg, #4f8877, #b6d4c8); }
.lm-business-card.has-image::before { background: linear-gradient(0deg, rgba(16,10,48,.94), rgba(16,10,48,.13)), var(--business-bg); background-position: center; background-size: cover; }
.lm-business-card--transport.has-image::before { background: linear-gradient(0deg, rgba(7,62,42,.95), rgba(7,62,42,.1)), var(--business-bg); background-position: center; background-size: cover; }
.lm-business-card:hover::before { transform: scale(1.035); }
.lm-business-card .lm-eyebrow { color: #fff; }
.lm-business-card h2 { max-width: 600px; margin-bottom: 15px; font-size: clamp(2rem, 3.5vw, 3.4rem); }
.lm-business-card p { max-width: 530px; color: rgba(255,255,255,.82); }
.lm-business-card strong { margin-top: 10px; }

.lm-news { padding: 110px 0; background: var(--lm-soft); }
.lm-news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.lm-news-card { overflow: hidden; background: #fff; border-radius: var(--lm-radius); box-shadow: 0 10px 30px rgba(23,25,42,.05); }
.lm-news-card img { width: 100%; aspect-ratio: 1.55; object-fit: cover; }
.lm-news-card > a > div { padding: 25px; }
.lm-news-card time { color: var(--lm-secondary); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.lm-news-card h2, .lm-news-card h3 { margin: 10px 0 12px; font-size: 1.32rem; }
.lm-news-card p { color: var(--lm-muted); font-size: .9rem; }
.lm-news-card span { color: var(--lm-primary); font-size: .82rem; font-weight: 800; }
.lm-final-cta { padding: 85px 0; color: #fff; background: linear-gradient(120deg, var(--lm-primary-dark), var(--lm-primary)); }
.lm-final-cta .lm-container { display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.lm-final-cta .lm-eyebrow { color: #fff; }
.lm-final-cta h2 { margin-bottom: 12px; font-size: clamp(2rem, 4vw, 3.8rem); }
.lm-final-cta p { margin: 0; color: rgba(255,255,255,.8); }

/* Archive and pages */
.lm-page-hero { position: relative; min-height: 390px; display: flex; align-items: center; overflow: hidden; padding: 90px 0; color: #fff; background: radial-gradient(circle at 80% 25%, rgba(18,166,101,.6), transparent 25%), linear-gradient(125deg, var(--lm-primary-dark), var(--lm-primary)); }
.lm-page-hero.has-image { min-height: 520px; background: linear-gradient(90deg, rgba(20,11,65,.85), rgba(20,11,65,.2)), var(--page-bg); background-size: cover; background-position: center; }
.lm-page-hero .lm-container { position: relative; }
.lm-page-hero .lm-eyebrow { color: #fff; }
.lm-page-hero h1 { max-width: 940px; font-size: clamp(2.7rem, 6vw, 5.4rem); }
.lm-page-hero p { max-width: 680px; color: rgba(255,255,255,.84); font-size: 1.12rem; }
.lm-archive-section { min-height: 500px; padding: 90px 0 120px; }
.lm-filter-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 38px; }
.lm-filter-chips a { padding: 10px 18px; color: var(--lm-primary); background: #fff; border: 1px solid var(--lm-border); border-radius: 999px; font-size: .8rem; font-weight: 800; }
.lm-filter-chips a:hover, .lm-filter-chips a.is-active { color: #fff; background: var(--lm-primary); border-color: var(--lm-primary); }

/* Trip discovery and conversion */
.lm-trip-search { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)) auto; align-items: end; gap: 14px; margin: 0 0 42px; padding: 24px; background: #fff; border: 1px solid var(--lm-border); border-radius: 20px; box-shadow: 0 12px 34px rgba(23,25,42,.06); }
.lm-trip-search__heading { grid-column: 1/-1; display: flex; align-items: baseline; gap: 14px; }
.lm-trip-search__heading strong { font-size: 1.2rem; }
.lm-trip-search__heading span { color: var(--lm-muted); font-size: .88rem; }
.lm-trip-search label { min-width: 0; }
.lm-trip-search label > span { display: block; margin-bottom: 7px; color: var(--lm-muted); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.lm-trip-search input,.lm-trip-search select { width: 100%; min-height: 48px; padding: 0 12px; color: var(--lm-ink); background: #f6f7fb; border: 1px solid var(--lm-border); border-radius: 10px; }
.lm-trip-search .lm-button { min-height: 48px; padding-inline: 22px; }
.lm-search-reset { align-self: center; color: var(--lm-primary); font-size: .8rem; font-weight: 800; }
.lm-trip-search.is-compact { grid-template-columns: 1.3fr 1fr 1fr 1fr auto; margin-bottom: 56px; }
.lm-trip-search.is-compact .lm-trip-search__heading { display: none; }
.lm-alert-signup { padding: 88px 0; color: #fff; background: linear-gradient(120deg,#1d1059,var(--lm-primary)); }
.lm-alert-signup__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: center; }
.lm-alert-signup h2 { max-width: 620px; margin: 12px 0; font-size: clamp(2.2rem,4vw,4rem); }
.lm-alert-signup p { color: rgba(255,255,255,.78); }
.lm-alert-signup form { padding: 26px; color: var(--lm-ink); background: #fff; border-radius: 20px; }
.lm-alert-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.lm-alert-fields label span { display: block; margin-bottom: 7px; color: var(--lm-muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.lm-alert-fields input,.lm-alert-fields select { width: 100%; min-height: 48px; padding: 0 12px; border: 1px solid var(--lm-border); border-radius: 10px; }
.lm-consent { display: flex; gap: 9px; margin: 17px 0; color: var(--lm-muted); font-size: .78rem; }
.lm-consent input { margin-top: 3px; }
.lm-honeypot { position: absolute!important; left: -10000px!important; }
.lm-form-status { min-height: 1.2em; margin: 12px 0 0!important; color: var(--lm-primary)!important; font-weight: 750; }
.lm-trip-tools { display: flex; justify-content: center; gap: 16px; margin-top: 14px; }
.lm-trip-tools a,.lm-trip-tools button { padding: 0; color: var(--lm-primary); background: none; border: 0; border-bottom: 1px solid currentColor; font: inherit; font-size: .76rem; font-weight: 800; cursor: pointer; }
.lm-related-trips { padding: 90px 0; background: #fff; }
.lm-context-faq details { background: #f7f8fb; border-radius: 10px; padding-inline: 16px; }
.lm-404-search { width: min(1100px,calc(100vw - 30px)); margin: 48px auto 0; text-align: left; }

@media (max-width: 1100px) {
  .lm-trip-search,.lm-trip-search.is-compact { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .lm-trip-search .lm-button { width: 100%; }
}

@media (max-width: 760px) {
  .lm-trip-search,.lm-trip-search.is-compact { grid-template-columns: 1fr 1fr; gap: 11px; padding: 17px; }
  .lm-trip-search__heading { display: block; }
  .lm-trip-search__heading span { display: block; margin-top: 4px; }
  .lm-trip-search label:first-of-type,.lm-trip-search .lm-button { grid-column: 1/-1; }
  .lm-alert-signup { padding: 64px 0; }
  .lm-alert-signup__grid { grid-template-columns: 1fr; gap: 28px; }
  .lm-alert-fields { grid-template-columns: 1fr; }
  .lm-trip-tools { flex-direction: column; align-items: center; }
}
.pagination, .nav-links { margin-top: 45px; display: flex; gap: 8px; justify-content: center; }
.page-numbers { min-width: 42px; height: 42px; display: grid; place-items: center; padding: 0 12px; border: 1px solid var(--lm-border); border-radius: 999px; }
.page-numbers.current { color: #fff; background: var(--lm-primary); }
.lm-page-content { padding: 90px 0 120px; }
.lm-prose { max-width: 960px; font-size: 1.04rem; }
.lm-prose > * + * { margin-top: 1.25em; }
.lm-prose h2 { margin-top: 1.6em; font-size: clamp(1.8rem, 3vw, 2.7rem); }
.lm-prose h3 { margin-top: 1.45em; }
.lm-prose a { color: var(--lm-primary); text-decoration: underline; }
.lm-prose ul, .lm-prose ol { padding-left: 1.25em; }
.lm-prose .alignwide { width: min(1160px, 100vw - 48px); max-width: none; margin-left: 50%; transform: translateX(-50%); }

.lm-about-hero h1 { max-width: 820px; }
.lm-about-intro { padding: 110px 0; }
.lm-about-intro__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: start; }
.lm-about-intro h2 { max-width: 620px; margin: 16px 0 0; }
.lm-about-intro__copy { color: var(--lm-muted); font-size: 1.08rem; line-height: 1.8; }
.lm-about-intro__copy > *:first-child { margin-top: 0; }
.lm-about-intro__copy > *:last-child { margin-bottom: 0; }
.lm-about-facts { padding: 0 0 110px; }
.lm-about-facts__grid { display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; background: var(--lm-soft); border: 1px solid var(--lm-border); border-radius: 28px; }
.lm-about-facts article { min-height: 180px; display: flex; flex-direction: column; justify-content: center; padding: 32px; border-right: 1px solid var(--lm-border); }
.lm-about-facts article:last-child { border-right: 0; }
.lm-about-facts strong { color: var(--lm-primary); font-size: clamp(1.45rem, 2.4vw, 2.3rem); line-height: 1.05; }
.lm-about-facts span { margin-top: 12px; color: var(--lm-muted); font-size: .82rem; font-weight: 750; line-height: 1.45; }
.lm-about-video { padding: 0 0 110px; }
.lm-about-video__heading { display: grid; grid-template-columns: 1.05fr .95fr; gap: 70px; align-items: end; margin-bottom: 38px; }
.lm-about-video__heading h2 { max-width: 720px; margin: 15px 0 0; }
.lm-about-video__heading p { margin: 0 0 8px; color: var(--lm-muted); font-size: 1.05rem; line-height: 1.75; }
.lm-youtube-player { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; padding: 0; background: var(--video-poster), linear-gradient(125deg, var(--lm-primary-dark), var(--lm-primary)); background-position: center; background-size: cover; border: 0; border-radius: 30px; box-shadow: var(--lm-shadow); }
.lm-youtube-player__shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(15,9,49,.42), rgba(15,9,49,.08)); transition: background .25s ease; }
.lm-youtube-player__play { position: absolute; top: 50%; left: 50%; width: 84px; height: 84px; background: #fff; border-radius: 50%; box-shadow: 0 15px 35px rgba(15,9,49,.3); transform: translate(-50%, -50%); transition: transform .25s ease, background .25s ease; }
.lm-youtube-player__play::after { position: absolute; top: 50%; left: 53%; width: 0; height: 0; border-top: 11px solid transparent; border-bottom: 11px solid transparent; border-left: 17px solid var(--lm-primary); content: ""; transform: translate(-50%, -50%); }
.lm-youtube-player:hover .lm-youtube-player__shade { background: linear-gradient(0deg, rgba(15,9,49,.3), rgba(15,9,49,0)); }
.lm-youtube-player:hover .lm-youtube-player__play { background: var(--lm-secondary); transform: translate(-50%, -50%) scale(1.06); }
.lm-youtube-player:hover .lm-youtube-player__play::after { border-left-color: #fff; }
.lm-about-video iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 30px; box-shadow: var(--lm-shadow); }
.lm-about-values { padding: 110px 0; background: var(--lm-soft); }
.lm-about-values__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.lm-about-values__grid article { min-height: 285px; padding: 38px; background: #fff; border: 1px solid var(--lm-border); border-radius: 26px; }
.lm-about-values__grid article > span { display: inline-flex; margin-bottom: 50px; color: var(--lm-secondary); font-size: .78rem; font-weight: 850; letter-spacing: .1em; }
.lm-about-values__grid h3 { margin-bottom: 13px; font-size: 1.45rem; }
.lm-about-values__grid p { max-width: 520px; margin: 0; color: var(--lm-muted); line-height: 1.65; }
.lm-about-philosophy { padding: 120px 0; color: #fff; background: radial-gradient(circle at 90% 20%, rgba(18,166,101,.34), transparent 28%), linear-gradient(120deg, var(--lm-primary-dark), var(--lm-primary)); }
.lm-about-philosophy__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 90px; align-items: center; }
.lm-about-philosophy .lm-eyebrow { color: #fff; }
.lm-about-philosophy h2 { margin-top: 16px; color: #fff; }
.lm-about-philosophy p { color: rgba(255,255,255,.82); font-size: 1.05rem; line-height: 1.75; }
.lm-about-cta { padding: 85px 0; background: var(--lm-secondary); }
.lm-about-cta .lm-container { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.lm-about-cta h2 { margin: 10px 0 5px; color: #fff; }
.lm-about-cta p, .lm-about-cta .lm-eyebrow { margin: 0; color: rgba(255,255,255,.88); }
.lm-about-cta .lm-button { flex: 0 0 auto; }

.lm-education-hero .lm-button { margin-top: 24px; }
.lm-education-intro { padding: 110px 0 80px; }
.lm-education-intro__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: start; }
.lm-education-intro h2 { max-width: 600px; margin: 16px 0 0; }
.lm-education-intro__copy { color: var(--lm-muted); font-size: 1.08rem; line-height: 1.8; }
.lm-education-intro__copy > *:first-child { margin-top: 0; }
.lm-education-intro__copy > *:last-child { margin-bottom: 0; }
.lm-education-pillars { padding: 0 0 110px; }
.lm-education-pillars__grid { display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; background: var(--lm-soft); border: 1px solid var(--lm-border); border-radius: 28px; }
.lm-education-pillars article { min-height: 285px; padding: 34px; border-right: 1px solid var(--lm-border); }
.lm-education-pillars article:last-child { border-right: 0; }
.lm-education-pillars article > span { display: inline-flex; margin-bottom: 55px; color: var(--lm-secondary); font-size: .75rem; font-weight: 850; }
.lm-education-pillars h3 { margin-bottom: 12px; font-size: 1.22rem; }
.lm-education-pillars p { margin: 0; color: var(--lm-muted); font-size: .9rem; line-height: 1.6; }
.lm-education-plan { padding: 115px 0; background: var(--lm-soft); }
.lm-education-plan__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; align-items: start; }
.lm-education-plan h2 { margin-top: 16px; }
.lm-education-plan p { color: var(--lm-muted); line-height: 1.7; }
.lm-education-plan__items { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.lm-education-plan__items div { min-height: 145px; padding: 25px; background: #fff; border: 1px solid var(--lm-border); border-radius: 18px; }
.lm-education-plan__items div:last-child { grid-column: 1 / -1; }
.lm-education-plan__items strong, .lm-education-plan__items span { display: block; }
.lm-education-plan__items strong { margin-bottom: 9px; font-size: 1rem; }
.lm-education-plan__items span { color: var(--lm-muted); font-size: .82rem; line-height: 1.55; }
.lm-education-fleet { padding: 115px 0; color: #fff; background: radial-gradient(circle at 88% 16%, rgba(18,166,101,.35), transparent 27%), linear-gradient(120deg, var(--lm-primary-dark), var(--lm-primary)); }
.lm-education-fleet .lm-eyebrow, .lm-education-fleet h2 { color: #fff; }
.lm-education-fleet .lm-section-heading p { color: rgba(255,255,255,.76); }
.lm-education-fleet__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.lm-education-fleet__grid article { min-height: 220px; padding: 30px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15); border-radius: 22px; backdrop-filter: blur(10px); }
.lm-education-fleet__grid strong, .lm-education-fleet__grid span { display: block; }
.lm-education-fleet__grid strong { font-size: clamp(2.2rem, 4vw, 3.8rem); line-height: 1; }
.lm-education-fleet__grid span { margin-top: 5px; color: var(--lm-accent); font-size: .75rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.lm-education-fleet__grid p { margin: 48px 0 0; color: rgba(255,255,255,.78); font-size: .88rem; }
.lm-education-benefits { padding: 115px 0; }
.lm-education-benefits__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.lm-education-benefits h2 { margin-top: 16px; }
.lm-education-benefits p { color: var(--lm-muted); line-height: 1.7; }
.lm-education-benefits ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.lm-education-benefits li { position: relative; padding: 18px 22px 18px 55px; background: var(--lm-soft); border: 1px solid var(--lm-border); border-radius: 15px; font-weight: 750; }
.lm-education-benefits li::before { position: absolute; top: 16px; left: 18px; width: 25px; height: 25px; display: grid; place-items: center; color: #fff; background: var(--lm-secondary); border-radius: 50%; content: "✓"; font-size: .75rem; }
.lm-education-cta { padding: 85px 0; background: var(--lm-secondary); }
.lm-education-cta .lm-container { display: flex; align-items: center; justify-content: space-between; gap: 45px; }
.lm-education-cta h2 { max-width: 780px; margin: 10px 0 6px; color: #fff; }
.lm-education-cta p, .lm-education-cta .lm-eyebrow { margin: 0; color: rgba(255,255,255,.88); }
.lm-education-cta .lm-button { flex: 0 0 auto; }

.lm-transport-hero .lm-button { margin-top: 24px; }
.lm-transport-intro { padding: 110px 0; }
.lm-transport-intro__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: start; }
.lm-transport-intro h2 { max-width: 600px; margin: 16px 0 0; }
.lm-transport-intro__copy { color: var(--lm-muted); font-size: 1.08rem; line-height: 1.8; }
.lm-transport-intro__copy > *:first-child { margin-top: 0; }
.lm-transport-intro__copy > *:last-child { margin-bottom: 0; }
.lm-transport-services { padding: 110px 0; background: var(--lm-soft); }
.lm-transport-services__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.lm-transport-services__grid article { min-height: 280px; padding: 38px; background: #fff; border: 1px solid var(--lm-border); border-radius: 25px; }
.lm-transport-services__grid article > span { display: inline-flex; margin-bottom: 52px; color: var(--lm-secondary); font-size: .76rem; font-weight: 850; }
.lm-transport-services__grid h3 { max-width: 460px; margin-bottom: 13px; font-size: 1.45rem; }
.lm-transport-services__grid p { max-width: 520px; margin: 0; color: var(--lm-muted); line-height: 1.65; }
.lm-transport-fleet { padding: 115px 0; color: #fff; background: radial-gradient(circle at 12% 12%, rgba(18,166,101,.35), transparent 28%), linear-gradient(120deg, var(--lm-primary-dark), var(--lm-primary)); }
.lm-transport-fleet__layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 70px; align-items: center; }
.lm-transport-fleet .lm-eyebrow, .lm-transport-fleet h2 { color: #fff; }
.lm-transport-fleet h2 { margin-top: 16px; }
.lm-transport-fleet p { color: rgba(255,255,255,.76); line-height: 1.7; }
.lm-transport-fleet__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.lm-transport-fleet__grid article { min-height: 235px; padding: 27px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15); border-radius: 22px; }
.lm-transport-fleet__grid strong, .lm-transport-fleet__grid span { display: block; }
.lm-transport-fleet__grid strong { font-size: clamp(1.7rem, 2.5vw, 2.8rem); line-height: 1.05; }
.lm-transport-fleet__grid span { margin-top: 8px; color: var(--lm-accent); font-size: .7rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.lm-transport-fleet__grid article p { margin-top: 55px; font-size: .85rem; }
.lm-transport-safety { padding: 115px 0; }
.lm-transport-safety__grid { display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; background: var(--lm-soft); border: 1px solid var(--lm-border); border-radius: 26px; }
.lm-transport-safety__grid article { min-height: 210px; padding: 32px; border-right: 1px solid var(--lm-border); }
.lm-transport-safety__grid article:last-child { border-right: 0; }
.lm-transport-safety__grid strong { display: block; margin-bottom: 20px; font-size: 1.05rem; }
.lm-transport-safety__grid p { margin: 0; color: var(--lm-muted); font-size: .86rem; line-height: 1.6; }
.lm-transport-quote { padding: 115px 0; background: var(--lm-soft); }
.lm-transport-quote__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 85px; align-items: start; }
.lm-transport-quote h2 { margin-top: 16px; }
.lm-transport-quote p { color: var(--lm-muted); line-height: 1.7; }
.lm-transport-quote ol { margin: 0; padding: 0; list-style: none; }
.lm-transport-quote li { display: grid; grid-template-columns: 48px 1fr; gap: 18px; padding: 24px 0; border-top: 1px solid var(--lm-border); }
.lm-transport-quote li > span { color: var(--lm-secondary); font-size: .75rem; font-weight: 850; }
.lm-transport-quote li strong { display: block; margin-bottom: 5px; }
.lm-transport-quote li p { margin: 0; font-size: .86rem; }
.lm-transport-contact { padding: 100px 0; background: var(--lm-secondary); }
.lm-transport-contact__box { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.lm-transport-contact .lm-eyebrow, .lm-transport-contact h2 { color: #fff; }
.lm-transport-contact h2 { margin: 12px 0 8px; }
.lm-transport-contact p { margin: 0; color: rgba(255,255,255,.82); }
.lm-transport-contact__details { display: grid; gap: 12px; }
.lm-transport-contact__details > a:not(.lm-button) { display: flex; flex-direction: column; padding: 16px 20px; color: #fff; border: 1px solid rgba(255,255,255,.3); border-radius: 14px; }
.lm-transport-contact__details small { color: rgba(255,255,255,.7); font-size: .65rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.lm-transport-contact__details strong { margin-top: 3px; font-size: .95rem; overflow-wrap: anywhere; }

.lm-contact-intro { padding: 110px 0; }
.lm-contact-intro__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: start; }
.lm-contact-intro h2 { max-width: 590px; margin: 16px 0 0; }
.lm-contact-intro__copy { color: var(--lm-muted); font-size: 1.08rem; line-height: 1.8; }
.lm-contact-intro__copy > *:first-child { margin-top: 0; }
.lm-contact-intro__copy > *:last-child { margin-bottom: 0; }
.lm-contact-form-section { padding: 110px 0; background: var(--lm-soft); }
.lm-contact-form-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 75px; align-items: start; }
.lm-contact-form-heading h2 { margin-top: 16px; }
.lm-contact-form-heading > p { color: var(--lm-muted); line-height: 1.7; }
.lm-contact-privacy { margin-top: 35px; padding: 22px; background: rgba(18,166,101,.08); border: 1px solid rgba(18,166,101,.18); border-radius: 16px; }
.lm-contact-privacy strong, .lm-contact-privacy span { display: block; }
.lm-contact-privacy strong { margin-bottom: 5px; font-size: .9rem; }
.lm-contact-privacy span { color: var(--lm-muted); font-size: .78rem; }
.lm-contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 38px; background: #fff; border: 1px solid var(--lm-border); border-radius: 26px; box-shadow: var(--lm-shadow); }
.lm-form-field { display: flex; flex-direction: column; gap: 8px; }
.lm-form-field--wide, .lm-contact-form .lm-button { grid-column: 1 / -1; }
.lm-form-field label { font-size: .76rem; font-weight: 800; }
.lm-form-field input, .lm-form-field select, .lm-form-field textarea { width: 100%; min-height: 52px; padding: 12px 14px; color: var(--lm-ink); background: #fff; border: 1px solid var(--lm-border); border-radius: 12px; font: inherit; }
.lm-form-field textarea { min-height: 135px; resize: vertical; }
.lm-form-field input:focus, .lm-form-field select:focus, .lm-form-field textarea:focus { outline: 3px solid rgba(52,38,143,.13); border-color: var(--lm-primary); }
.lm-contact-areas { padding: 115px 0; }
.lm-contact-areas__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.lm-contact-areas__grid article { min-height: 365px; display: flex; flex-direction: column; padding: 34px; background: var(--lm-soft); border: 1px solid var(--lm-border); border-radius: 24px; }
.lm-contact-areas__grid article > span { margin-bottom: 52px; color: var(--lm-secondary); font-size: .72rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.lm-contact-areas__grid h3 { margin-bottom: 13px; font-size: 1.35rem; }
.lm-contact-areas__grid p { margin: 0 0 28px; color: var(--lm-muted); font-size: .9rem; line-height: 1.65; }
.lm-contact-areas__grid a { margin-top: auto; color: var(--lm-primary); font-size: .8rem; font-weight: 800; overflow-wrap: anywhere; }
.lm-contact-areas__grid a + a { margin-top: 9px; color: var(--lm-muted); font-size: .72rem; font-weight: 650; }
.lm-contact-location { padding: 115px 0; color: #fff; background: linear-gradient(120deg, var(--lm-primary-dark), var(--lm-primary)); }
.lm-contact-location__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: stretch; }
.lm-contact-location .lm-eyebrow, .lm-contact-location h2 { color: #fff; }
.lm-contact-location h2 { margin: 16px 0 34px; }
.lm-contact-location__info > div { padding: 17px 0; border-top: 1px solid rgba(255,255,255,.16); }
.lm-contact-location__info small, .lm-contact-location__info strong, .lm-contact-location__info a { display: block; }
.lm-contact-location__info small { margin-bottom: 5px; color: rgba(255,255,255,.64); font-size: .64rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.lm-contact-location__info strong, .lm-contact-location__info > div > a { color: #fff; font-size: .9rem; line-height: 1.5; }
.lm-contact-location__info > .lm-text-link { display: inline-flex; margin-top: 25px; color: #fff; }
.lm-contact-map { min-height: 520px; overflow: hidden; border: 5px solid rgba(255,255,255,.16); border-radius: 28px; }
.lm-contact-map iframe { width: 100%; height: 100%; min-height: 520px; border: 0; }

/* Frequently asked questions */
.lm-faq-intro { padding: 110px 0; }
.lm-faq-intro__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: start; }
.lm-faq-intro h2 { max-width: 610px; margin: 16px 0 0; }
.lm-faq-intro__copy { color: var(--lm-muted); font-size: 1.08rem; line-height: 1.8; }
.lm-faq-intro__copy > *:first-child { margin-top: 0; }
.lm-faq-intro__copy > *:last-child { margin-bottom: 0; }
.lm-faq-list-section { padding: 115px 0 125px; background: var(--lm-soft); }
.lm-faq-layout { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); gap: clamp(45px, 7vw, 100px); align-items: start; }
.lm-faq-aside { position: sticky; top: 28px; }
.lm-faq-aside h2 { margin: 16px 0 20px; font-size: clamp(2rem, 3.5vw, 3.35rem); }
.lm-faq-aside p { max-width: 470px; margin-bottom: 28px; color: var(--lm-muted); line-height: 1.75; }
.lm-faq-list { overflow: hidden; background: #fff; border: 1px solid var(--lm-border); border-radius: 28px; box-shadow: 0 18px 48px rgba(23,25,42,.06); }
.lm-faq-list details + details { border-top: 1px solid var(--lm-border); }
.lm-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 30px 32px; list-style: none; cursor: pointer; }
.lm-faq-list summary::-webkit-details-marker { display: none; }
.lm-faq-list summary > span { display: flex; align-items: center; gap: 20px; color: var(--lm-ink); font-size: 1.05rem; font-weight: 850; line-height: 1.35; }
.lm-faq-list summary small { flex: 0 0 auto; color: var(--lm-secondary); font-size: .68rem; letter-spacing: .06em; }
.lm-faq-list summary i { flex: 0 0 auto; display: grid; width: 36px; height: 36px; place-items: center; color: var(--lm-primary); background: var(--lm-soft); border-radius: 50%; font-size: 1.25rem; font-style: normal; transition: color .2s ease, background-color .2s ease, transform .2s ease; }
.lm-faq-list details[open] summary i { color: #fff; background: var(--lm-primary); transform: rotate(45deg); }
.lm-faq-list details > div { padding: 0 88px 30px 84px; color: var(--lm-muted); line-height: 1.75; }
.lm-faq-list details > div p { margin: 0; }
.lm-faq-cta { padding: 90px 0; color: #fff; background: var(--lm-secondary); }
.lm-faq-cta .lm-container { display: flex; align-items: center; justify-content: space-between; gap: 45px; }
.lm-faq-cta .lm-eyebrow, .lm-faq-cta h2 { color: #fff; }
.lm-faq-cta h2 { max-width: 760px; margin: 10px 0 6px; }
.lm-faq-cta p { margin: 0; color: rgba(255,255,255,.84); }
.lm-faq-cta .lm-button { flex: 0 0 auto; }

.lm-national-hero .lm-button { margin-top: 24px; }
.lm-national-intro { padding: 110px 0 75px; }
.lm-national-intro__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: start; }
.lm-national-intro h2 { max-width: 620px; margin: 16px 0 0; }
.lm-national-intro__copy { color: var(--lm-muted); font-size: 1.08rem; line-height: 1.8; }
.lm-national-intro__copy > *:first-child { margin-top: 0; }
.lm-national-intro__copy > *:last-child { margin-bottom: 0; }
.lm-national-benefits { padding: 0 0 110px; }
.lm-national-benefits__grid { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; background: var(--lm-soft); border: 1px solid var(--lm-border); border-radius: 26px; }
.lm-national-benefits article { min-height: 185px; display: grid; grid-template-columns: 40px 1fr; gap: 15px; padding: 32px; border-right: 1px solid var(--lm-border); }
.lm-national-benefits article:last-child { border-right: 0; }
.lm-national-benefits article > span { color: var(--lm-secondary); font-size: .72rem; font-weight: 850; }
.lm-national-benefits h3 { margin-bottom: 10px; font-size: 1.05rem; }
.lm-national-benefits p { margin: 0; color: var(--lm-muted); font-size: .84rem; line-height: 1.55; }
.lm-national-regions { padding: 115px 0; color: #fff; background: linear-gradient(125deg, var(--lm-primary-dark), var(--lm-primary)); }
.lm-national-regions .lm-eyebrow, .lm-national-regions h2 { color: #fff; }
.lm-national-regions .lm-section-heading p { color: rgba(255,255,255,.75); }
.lm-national-regions__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.lm-national-region { position: relative; min-height: 310px; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; padding: 30px; color: #fff; background: linear-gradient(145deg, rgba(18,166,101,.92), rgba(52,38,143,.98)); border: 1px solid rgba(255,255,255,.15); border-radius: 24px; }
.lm-national-region.has-image { background: linear-gradient(0deg, rgba(19,11,58,.9), rgba(19,11,58,.08)), var(--region-bg); background-position: center; background-size: cover; }
.lm-national-region::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(18,166,101,.22), transparent 48%); transition: opacity .25s ease; content: ""; }
.lm-national-region > * { position: relative; z-index: 1; }
.lm-national-region > span { margin-bottom: 10px; color: rgba(255,255,255,.72); font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.lm-national-region h3 { margin: 0; color: #fff; font-size: 1.65rem; }
.lm-national-region strong { position: absolute; right: 24px; bottom: 24px; display: grid; width: 43px; height: 43px; place-items: center; color: var(--lm-primary); background: #fff; border-radius: 50%; font-size: 1.15rem; transition: transform .2s ease; }
.lm-national-region:hover strong { transform: translateX(4px); }
.lm-national-trips { padding: 115px 0 125px; background: var(--lm-soft); scroll-margin-top: 120px; }
.lm-national-trips .lm-trip-card { background: #fff; }
.lm-national-cta { padding: 90px 0; color: #fff; background: var(--lm-secondary); }
.lm-national-cta .lm-container { display: flex; align-items: center; justify-content: space-between; gap: 45px; }
.lm-national-cta .lm-eyebrow, .lm-national-cta h2 { color: #fff; }
.lm-national-cta h2 { max-width: 760px; margin: 10px 0 6px; }
.lm-national-cta p { margin: 0; color: rgba(255,255,255,.84); }
.lm-national-cta .lm-button { flex: 0 0 auto; }
.lm-empty { max-width: 700px; margin: 50px auto; text-align: center; }
.lm-empty--page { min-height: 620px; display: flex; align-items: center; justify-content: center; flex-direction: column; padding: 90px 24px; }

/* News and articles */
.lm-news-hero h1 { max-width: 1020px; }
.lm-news-index { min-height: 620px; padding: 90px 0 120px; }
.lm-news-filters { margin-bottom: 50px; }
.lm-featured-story { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr); overflow: hidden; margin-bottom: 105px; background: var(--lm-soft); border: 1px solid var(--lm-border); border-radius: 32px; box-shadow: 0 18px 50px rgba(23,25,42,.07); }
.lm-featured-story__media { min-height: 520px; overflow: hidden; background: #dfe3ed; }
.lm-featured-story__media .lm-post-card__placeholder { min-height: 520px; }
.lm-featured-story__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.lm-featured-story:hover .lm-featured-story__media img { transform: scale(1.025); }
.lm-featured-story__body { display: flex; align-items: flex-start; justify-content: center; flex-direction: column; padding: clamp(36px, 5vw, 72px); }
.lm-featured-story__body h2 { margin: 14px 0 18px; font-size: clamp(2.1rem, 3.6vw, 3.6rem); }
.lm-featured-story__body h2 a:hover { color: var(--lm-primary); }
.lm-featured-story__body > p { color: var(--lm-muted); font-size: 1rem; line-height: 1.75; }
.lm-featured-story__body .lm-button { margin-top: 8px; }
.lm-news-index__heading { margin-bottom: 38px; }
.lm-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.lm-post-card { min-width: 0; display: flex; overflow: hidden; flex-direction: column; background: #fff; border: 1px solid var(--lm-border); border-radius: var(--lm-radius); box-shadow: 0 10px 30px rgba(23,25,42,.055); transition: transform .25s ease, box-shadow .25s ease; }
.lm-post-card:hover { transform: translateY(-6px); box-shadow: var(--lm-shadow); }
.lm-post-card__media { display: block; aspect-ratio: 1.45; overflow: hidden; background: #dfe3ed; }
.lm-post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.lm-post-card:hover .lm-post-card__media img { transform: scale(1.04); }
.lm-post-card__placeholder { min-height: 100%; display: flex; align-items: flex-start; justify-content: flex-end; flex-direction: column; padding: 30px; color: #fff; background: radial-gradient(circle at 78% 24%, rgba(18,166,101,.8), transparent 27%), linear-gradient(140deg, var(--lm-primary-dark), var(--lm-primary)); }
.lm-post-card__placeholder small { margin-bottom: 10px; font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.lm-post-card__placeholder strong { max-width: 340px; font-size: clamp(1.25rem, 2.2vw, 2rem); line-height: 1.08; }
.lm-post-card__body { flex: 1; display: flex; align-items: flex-start; flex-direction: column; padding: 28px; }
.lm-post-card__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 13px; color: var(--lm-muted); font-size: .7rem; font-weight: 750; text-transform: uppercase; letter-spacing: .045em; }
.lm-post-card__meta a { color: var(--lm-secondary); }
.lm-post-card__meta a:hover { text-decoration: underline; }
.lm-post-card h2 { margin: 15px 0 12px; font-size: 1.38rem; }
.lm-post-card h2 a:hover { color: var(--lm-primary); }
.lm-post-card__body > p { margin-bottom: 24px; color: var(--lm-muted); font-size: .9rem; }
.lm-post-card__link { margin-top: auto; color: var(--lm-primary); font-size: .82rem; font-weight: 850; }
.lm-post-card__link span { display: inline-block; margin-left: 5px; transition: transform .2s ease; }
.lm-post-card__link:hover span { transform: translateX(4px); }
.lm-news-empty { min-height: 390px; display: flex; align-items: center; justify-content: center; flex-direction: column; }
.lm-news-empty h2 { margin-bottom: 16px; }
.lm-news-empty p { max-width: 610px; color: var(--lm-muted); }
.lm-news-cta { padding: 90px 0; color: #fff; background: var(--lm-secondary); }
.lm-news-cta .lm-container { display: flex; align-items: center; justify-content: space-between; gap: 45px; }
.lm-news-cta .lm-eyebrow, .lm-news-cta h2 { color: #fff; }
.lm-news-cta h2 { max-width: 760px; margin: 10px 0 6px; }
.lm-news-cta p { margin: 0; color: rgba(255,255,255,.84); }
.lm-news-cta .lm-button { flex: 0 0 auto; }

.lm-article-hero { padding: 45px 0 145px; color: #fff; background: radial-gradient(circle at 84% 20%, rgba(18,166,101,.48), transparent 25%), linear-gradient(125deg, var(--lm-primary-dark), var(--lm-primary)); }
.lm-article-breadcrumbs { display: flex; align-items: center; gap: 10px; margin-bottom: 70px; color: rgba(255,255,255,.72); font-size: .75rem; }
.lm-article-breadcrumbs a:hover { color: #fff; text-decoration: underline; }
.lm-article-hero .lm-eyebrow { color: #fff; }
.lm-article-hero h1 { max-width: 1080px; margin-bottom: 24px; font-size: clamp(2.7rem, 5.8vw, 5.5rem); text-wrap: balance; }
.lm-article-hero > .lm-container > p { max-width: 850px; color: rgba(255,255,255,.8); font-size: 1.12rem; }
.lm-article-meta { display: flex; align-items: center; gap: 10px; margin-top: 30px; color: rgba(255,255,255,.72); font-size: .78rem; font-weight: 700; }
.lm-article-content { padding: 0 0 120px; background: var(--lm-soft); }
.lm-article-feature { position: relative; z-index: 2; overflow: hidden; margin: -75px 0 55px; background: #ddd; border: 8px solid #fff; border-radius: 32px; box-shadow: var(--lm-shadow); }
.lm-article-feature img { width: 100%; max-height: 720px; object-fit: cover; }
.lm-article-feature figcaption { padding: 10px 15px; color: var(--lm-muted); background: #fff; font-size: .72rem; }
.lm-article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 45px; align-items: start; }
.lm-article-prose { max-width: none; padding: clamp(30px, 4vw, 56px); background: #fff; border: 1px solid var(--lm-border); border-radius: var(--lm-radius); }
.lm-article-prose > *:first-child { margin-top: 0; }
.lm-article-prose img { border-radius: 18px; }
.lm-article-prose .alignwide { width: 100%; margin-left: 0; transform: none; }
.lm-article-tags { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--lm-border); font-size: .8rem; }
.lm-article-tags a { padding: 6px 11px; color: var(--lm-primary); background: var(--lm-soft); border-radius: 999px; text-decoration: none; }
.lm-article-share { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-top: 34px; padding: 28px; background: var(--lm-soft); border-radius: 18px; }
.lm-article-share > div { display: flex; flex-direction: column; }
.lm-article-share span { margin-top: 4px; color: var(--lm-muted); font-size: .8rem; }
.lm-article-share .lm-button { flex: 0 0 auto; text-decoration: none; }
.lm-article-aside { position: sticky; top: 24px; display: grid; gap: 24px; }
.lm-article-help { padding: 32px; color: #fff; background: linear-gradient(145deg, var(--lm-primary-dark), var(--lm-primary)); border-radius: var(--lm-radius); box-shadow: var(--lm-shadow); }
.lm-article-help .lm-eyebrow { color: #fff; }
.lm-article-help h2 { font-size: 1.85rem; }
.lm-article-help p { color: rgba(255,255,255,.8); font-size: .9rem; }
.lm-article-topics { padding: 28px; background: #fff; border: 1px solid var(--lm-border); border-radius: var(--lm-radius); }
.lm-article-topics h2 { margin-bottom: 16px; font-size: 1.2rem; }
.lm-article-topics ul { margin: 0; padding: 0; list-style: none; }
.lm-article-topics li + li { border-top: 1px solid var(--lm-border); }
.lm-article-topics a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; font-size: .84rem; font-weight: 750; }
.lm-article-topics a:hover { color: var(--lm-primary); }
.lm-article-topics small { display: grid; width: 26px; height: 26px; place-items: center; color: var(--lm-muted); background: var(--lm-soft); border-radius: 50%; }
.lm-related-posts { padding: 110px 0 120px; }

/* Trip detail */
.lm-breadcrumbs { display: flex; align-items: center; gap: 10px; padding-top: 26px; padding-bottom: 26px; color: var(--lm-muted); font-size: .76rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lm-breadcrumbs span:last-child { overflow: hidden; text-overflow: ellipsis; }
.lm-trip-hero { padding: 12px 0 65px; }
.lm-trip-hero__grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(330px, .75fr); gap: 25px; align-items: stretch; }
.lm-trip-gallery-feature { min-width: 0; display: grid; grid-template-columns: minmax(0, 3fr) minmax(150px, 1fr); gap: 10px; min-height: 610px; }
.lm-trip-gallery-feature button { position: relative; overflow: hidden; padding: 0; background: #ddd; border: 0; }
.lm-trip-gallery-feature img { width: 100%; height: 100%; object-fit: cover; }
.lm-trip-main-image { border-radius: 28px 8px 8px 28px; }
.lm-trip-main-image > span { position: absolute; left: 22px; bottom: 22px; padding: 9px 14px; color: #fff; background: rgba(20,15,44,.7); border-radius: 999px; font-size: .75rem; font-weight: 750; backdrop-filter: blur(8px); }
.lm-trip-thumbs { display: grid; grid-template-rows: repeat(3, 1fr); gap: 10px; }
.lm-trip-thumbs button:first-child { border-radius: 8px 28px 8px 8px; }
.lm-trip-thumbs button:last-child { border-radius: 8px 8px 28px 8px; }
.lm-trip-thumbs button span { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; background: rgba(22,15,62,.62); font-size: 1.3rem; font-weight: 850; }
.lm-trip-summary { position: relative; padding: 36px; background: #fff; border: 1px solid var(--lm-border); border-radius: 28px; box-shadow: var(--lm-shadow); }
.lm-trip-summary .lm-status-badge { position: static; margin-left: 8px; vertical-align: top; }
.lm-trip-summary h1 { margin-top: 12px; font-size: clamp(2.1rem, 3.6vw, 3.5rem); }
.lm-summary-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 27px 0; }
.lm-summary-facts div { padding: 15px; background: var(--lm-soft); border-radius: 14px; }
.lm-summary-facts small, .lm-summary-price small { display: block; margin-bottom: 5px; color: var(--lm-muted); font-size: .65rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.lm-summary-facts strong { font-size: .88rem; }
.lm-summary-price { display: grid; gap: 10px; margin: 0 0 22px; }
.lm-summary-price > div { padding: 16px 18px; background: #fff; border: 1px solid var(--lm-border); border-radius: 14px; }
.lm-summary-price > div.is-highlight { color: #fff; background: var(--lm-secondary); border-color: var(--lm-secondary); }
.lm-summary-price > div.is-highlight small { color: rgba(255,255,255,.75); }
.lm-summary-price strong { display: block; font-size: 1.45rem; }
.lm-summary-price span { color: var(--lm-muted); font-size: .78rem; }
.lm-summary-note { margin: 14px 0 0; color: var(--lm-muted); font-size: .74rem; text-align: center; }
.lm-trip-content { padding: 45px 0 120px; background: var(--lm-soft); }
.lm-trip-content__grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 55px; align-items: start; }
.lm-content-block { margin-bottom: 26px; padding: clamp(28px, 4vw, 48px); background: #fff; border: 1px solid var(--lm-border); border-radius: var(--lm-radius); }
.lm-content-block h2 { margin-bottom: 24px; font-size: clamp(1.9rem, 3vw, 2.75rem); }
.lm-inclusion-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.lm-inclusion-grid > :only-child { grid-column: 1 / -1; }
.lm-inclusion { padding: 26px; border-radius: 18px; }
.lm-inclusion--yes { background: rgba(18,166,101,.08); }
.lm-inclusion--no { background: rgba(217,82,82,.07); }
.lm-inclusion h3 { font-size: 1.12rem; }
.lm-check-list { margin: 0; padding: 0; list-style: none; }
.lm-check-list li { position: relative; padding: 8px 0 8px 29px; border-bottom: 1px solid rgba(20,20,40,.08); font-size: .9rem; }
.lm-check-list li::before { position: absolute; left: 0; top: 9px; width: 19px; height: 19px; display: grid; place-items: center; color: #fff; background: var(--lm-secondary); border-radius: 50%; content: "✓"; font-size: .65rem; font-weight: 900; }
.lm-inclusion--no .lm-check-list li::before { background: #d95252; content: "–"; }
.lm-itinerary { border-top: 1px solid var(--lm-border); }
.lm-itinerary details { border-bottom: 1px solid var(--lm-border); }
.lm-itinerary summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0; list-style: none; font-weight: 850; cursor: pointer; }
.lm-itinerary summary::-webkit-details-marker { display: none; }
.lm-itinerary summary i { display: grid; width: 32px; height: 32px; place-items: center; color: var(--lm-primary); background: var(--lm-soft); border-radius: 50%; font-style: normal; transition: transform .2s ease; }
.lm-itinerary details[open] summary i { transform: rotate(45deg); }
.lm-itinerary details > div { padding: 0 45px 22px 0; color: var(--lm-muted); }
.lm-trip-help { position: sticky; top: 25px; }
.lm-trip-help > div { padding: 30px; color: #fff; background: linear-gradient(145deg, var(--lm-primary-dark), var(--lm-primary)); border-radius: var(--lm-radius); box-shadow: var(--lm-shadow); }
.lm-trip-help .lm-eyebrow { color: #fff; }
.lm-trip-help h2 { font-size: 1.8rem; }
.lm-trip-help p { color: rgba(255,255,255,.8); font-size: .9rem; }
.lm-mobile-trip-cta { display: none; }

.lm-gallery-dialog { width: min(1180px, calc(100% - 40px)); height: min(850px, calc(100% - 40px)); padding: 0; overflow: hidden; background: #111; border: 0; border-radius: 22px; }
.lm-gallery-dialog::backdrop { background: rgba(6,5,12,.9); backdrop-filter: blur(10px); }
.lm-gallery-dialog figure { width: 100%; height: 100%; display: grid; place-items: center; margin: 0; }
.lm-gallery-dialog figure img { max-width: 100%; max-height: 100%; object-fit: contain; }
.lm-gallery-dialog figcaption { position: absolute; left: 20px; bottom: 15px; color: #fff; }
.lm-gallery-close, .lm-gallery-arrow { position: absolute; z-index: 2; display: grid; place-items: center; color: #fff; background: rgba(0,0,0,.5); border: 1px solid rgba(255,255,255,.25); border-radius: 50%; }
.lm-gallery-close { top: 16px; right: 16px; width: 44px; height: 44px; font-size: 1.6rem; }
.lm-gallery-arrow { top: 50%; width: 48px; height: 48px; transform: translateY(-50%); }
.lm-gallery-arrow.is-prev { left: 16px; }
.lm-gallery-arrow.is-next { right: 16px; }

/* Footer */
.lm-site-footer { color: rgba(255,255,255,.78); background: #15102f; }
.lm-footer-grid { display: grid; grid-template-columns: 1.25fr 1fr 1fr .8fr; gap: 55px; padding-top: 80px; padding-bottom: 70px; }
.lm-footer-grid h2 { margin-bottom: 18px; color: #fff; font-size: 1rem; letter-spacing: 0; }
.lm-footer-grid p { font-size: .86rem; }
.lm-footer-grid a:hover { color: #fff; }
.lm-footer-brand .custom-logo, .lm-footer-custom-logo { width: auto; max-width: 220px; max-height: 75px; margin-bottom: 24px; object-fit: contain; }
.lm-footer-brand .custom-logo { filter: brightness(0) invert(1); }
.lm-footer-logo-link { display: inline-block; }
.lm-footer-title { display: block; margin-bottom: 20px; color: #fff; font-size: 1.8rem; }
.lm-footer-info-row { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 10px; line-height: 1.5; }
.lm-footer-info-row .lm-icon { width: 17px; height: 17px; margin-top: 2px; color: var(--lm-secondary); }
.lm-footer-info-row span, .lm-footer-info-row a { min-width: 0; }
.lm-footer-grid ul { margin: 0; padding: 0; list-style: none; }
.lm-footer-grid li { margin-bottom: 7px; font-size: .86rem; }
.lm-footer-bottom { padding: 22px 0; border-top: 1px solid rgba(255,255,255,.1); font-size: .75rem; }
.lm-footer-bottom .lm-container { display: flex; justify-content: space-between; gap: 20px; }
.lm-floating-whatsapp { position: fixed; right: 22px; bottom: 22px; z-index: 80; display: grid; width: 58px; height: 58px; place-items: center; overflow: hidden; color: #fff; background: #20b965; border: 4px solid #fff; border-radius: 50%; box-shadow: 0 10px 28px rgba(0,0,0,.24); }
.lm-floating-whatsapp .lm-icon { width: 34px; height: 34px; }

@media (max-width: 1100px) {
  .lm-primary-nav .menu { gap: 18px; }
  .lm-primary-nav a { font-size: .84rem; }
  .lm-trip-grid { grid-template-columns: repeat(2, 1fr); }
  .lm-trip-hero__grid { grid-template-columns: 1fr; }
  .lm-trip-gallery-feature { min-height: 540px; }
  .lm-trip-summary { display: grid; grid-template-columns: 1.3fr 1fr; column-gap: 26px; align-items: start; }
  .lm-trip-summary h1, .lm-trip-summary > .lm-eyebrow, .lm-trip-summary > .lm-status-badge { grid-column: 1 / -1; }
  .lm-summary-facts { grid-column: 1; }
  .lm-summary-price, .lm-trip-summary > .lm-button, .lm-summary-note { grid-column: 2; }
  .lm-summary-price { grid-row: 4 / span 2; }
  .lm-trip-content__grid { grid-template-columns: 1fr; }
  .lm-trip-help { position: static; }
  .lm-article-layout { grid-template-columns: 1fr; }
  .lm-article-aside { position: static; grid-template-columns: 1fr 1fr; }
  .lm-footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 860px) {
  body.admin-bar .lm-site-header { top: 46px; }
  .lm-container { width: min(calc(100% - 34px), var(--lm-container)); }
  .lm-topbar__inner { min-height: 44px; gap: 12px; }
  .lm-topbar__contact { width: auto; justify-content: flex-end; }
  .lm-topbar__contact a:last-child { display: none; }
  .lm-nav-wrap__inner { min-height: 82px; }
  .lm-brand .custom-logo { max-width: 190px; max-height: 58px; }
  .lm-menu-toggle { display: block; }
  .lm-primary-nav { position: absolute; top: 100%; left: 0; width: 100%; max-height: 0; overflow: hidden; background: #fff; box-shadow: 0 16px 28px rgba(20,20,40,.12); transition: max-height .3s ease; }
  .lm-primary-nav.is-open { max-height: 80vh; overflow-y: auto; }
  .lm-primary-nav .menu { display: block; padding: 14px 24px 24px; }
  .lm-primary-nav a { padding: 12px 0; font-size: .95rem; border-bottom: 1px solid var(--lm-border); }
  .lm-primary-nav .sub-menu { position: static; visibility: visible; min-width: 0; padding: 0 0 0 18px; box-shadow: none; opacity: 1; transform: none; }
  .lm-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .lm-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .lm-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .lm-services-grid { grid-template-columns: 1fr; }
  .lm-service-card { border-right: 0; border-bottom: 1px solid var(--lm-border); }
  .lm-why { padding: 90px 0; }
  .lm-why-grid { grid-template-columns: 1fr; gap: 55px; }
  .lm-why-visual { min-height: 430px; border-radius: 28px 100px 28px 28px; }
  .lm-review-track { grid-auto-columns: calc((100% - 24px) / 2); }
  .lm-business-grid { grid-template-columns: 1fr; }
  .lm-news-grid { grid-template-columns: repeat(2, 1fr); }
  .lm-news-card:last-child { display: none; }
  .lm-about-intro__grid, .lm-about-philosophy__grid, .lm-about-video__heading { grid-template-columns: 1fr; gap: 45px; }
  .lm-about-facts__grid { grid-template-columns: repeat(2, 1fr); }
  .lm-about-facts article:nth-child(2) { border-right: 0; }
  .lm-about-facts article:nth-child(-n+2) { border-bottom: 1px solid var(--lm-border); }
  .lm-education-intro__grid, .lm-education-plan__grid, .lm-education-benefits__grid { grid-template-columns: 1fr; gap: 45px; }
  .lm-education-pillars__grid, .lm-education-fleet__grid { grid-template-columns: repeat(2, 1fr); }
  .lm-education-pillars article:nth-child(2) { border-right: 0; }
  .lm-education-pillars article:nth-child(-n+2) { border-bottom: 1px solid var(--lm-border); }
  .lm-transport-intro__grid, .lm-transport-fleet__layout, .lm-transport-quote__grid { grid-template-columns: 1fr; gap: 45px; }
  .lm-transport-safety__grid { grid-template-columns: repeat(2, 1fr); }
  .lm-transport-safety__grid article:nth-child(2) { border-right: 0; }
  .lm-transport-safety__grid article:nth-child(-n+2) { border-bottom: 1px solid var(--lm-border); }
  .lm-contact-intro__grid, .lm-contact-form-layout, .lm-contact-location__grid, .lm-faq-intro__grid, .lm-faq-layout { grid-template-columns: 1fr; gap: 45px; }
  .lm-contact-areas__grid { grid-template-columns: repeat(2, 1fr); }
  .lm-contact-areas__grid article:last-child { grid-column: 1 / -1; }
  .lm-faq-aside { position: static; }
  .lm-national-intro__grid { grid-template-columns: 1fr; gap: 45px; }
  .lm-national-regions__grid { grid-template-columns: repeat(2, 1fr); }
  .lm-featured-story { grid-template-columns: 1fr; }
  .lm-featured-story__media { min-height: 420px; }
  .lm-featured-story__media .lm-post-card__placeholder { min-height: 420px; }
  .lm-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lm-final-cta .lm-container { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 640px) {
  body { font-size: 15px; }
  h1 { font-size: clamp(2.45rem, 13vw, 4.2rem); }
  h2 { font-size: clamp(2rem, 10vw, 3rem); }
  .lm-hero, .lm-slide__content { min-height: 700px; }
  .lm-slide__shade { background: linear-gradient(0deg, rgba(15,9,49,.88) 0%, rgba(15,9,49,.42) 75%, rgba(15,9,49,.1)); }
  .lm-slide__content { justify-content: flex-end; padding-bottom: 115px; }
  .lm-slide__content :is(h1, h2) { font-size: clamp(2.25rem, 13vw, var(--lm-slider-title-size-mobile)); }
  .lm-slide__content p { font-size: 1rem; }
  .lm-hero-controls { right: 17px; bottom: 30px; left: 17px; justify-content: space-between; }
  .lm-hero-controls [data-slide-pause] { display: none; }
  .lm-services-strip { margin-top: 0; padding: 16px 0; background: var(--lm-soft); }
  .lm-services-grid { box-shadow: none; }
  .lm-service-card { padding: 22px 54px 22px 22px; }
  .lm-campaign { padding: 72px 0; }
  .lm-home-banner { padding: 24px 0; }
  .lm-home-banner__media { border-radius: 16px; }
  .lm-section-heading { align-items: flex-start; flex-direction: column; margin-bottom: 30px; }
  .lm-trip-grid { grid-template-columns: 1fr; }
  .lm-trip-card h3 { min-height: 0; }
  .lm-upcoming, .lm-reviews, .lm-news { padding: 80px 0; }
  .lm-review-track { grid-auto-columns: 88%; }
  .lm-review-card { min-height: 300px; padding: 25px; }
  .lm-review-dialog__body { padding: 38px 25px 28px; }
  .lm-review-dialog h3 { font-size: 1.5rem; }
  .lm-about-intro, .lm-about-values, .lm-about-philosophy { padding: 80px 0; }
  .lm-about-facts { padding-bottom: 80px; }
  .lm-about-video { padding-bottom: 80px; }
  .lm-about-video__heading { margin-bottom: 28px; }
  .lm-youtube-player, .lm-about-video iframe { border-radius: 18px; }
  .lm-youtube-player__play { width: 66px; height: 66px; }
  .lm-about-facts__grid, .lm-about-values__grid { grid-template-columns: 1fr; }
  .lm-about-facts article { min-height: 140px; border-right: 0; border-bottom: 1px solid var(--lm-border); }
  .lm-about-facts article:nth-child(3) { border-bottom: 1px solid var(--lm-border); }
  .lm-about-facts article:last-child { border-bottom: 0; }
  .lm-about-values__grid article { min-height: 0; padding: 30px; }
  .lm-about-values__grid article > span { margin-bottom: 34px; }
  .lm-about-cta .lm-container { align-items: flex-start; flex-direction: column; }
  .lm-education-intro, .lm-education-plan, .lm-education-fleet, .lm-education-benefits { padding: 80px 0; }
  .lm-education-pillars { padding-bottom: 80px; }
  .lm-education-pillars__grid, .lm-education-fleet__grid, .lm-education-plan__items { grid-template-columns: 1fr; }
  .lm-education-pillars article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--lm-border); }
  .lm-education-pillars article:nth-child(3) { border-bottom: 1px solid var(--lm-border); }
  .lm-education-pillars article:last-child { border-bottom: 0; }
  .lm-education-pillars article > span { margin-bottom: 32px; }
  .lm-education-plan__items div:last-child { grid-column: auto; }
  .lm-education-fleet__grid article { min-height: 190px; }
  .lm-education-cta .lm-container { align-items: flex-start; flex-direction: column; }
  .lm-transport-intro, .lm-transport-services, .lm-transport-fleet, .lm-transport-safety, .lm-transport-quote, .lm-transport-contact { padding: 80px 0; }
  .lm-transport-services__grid, .lm-transport-fleet__grid, .lm-transport-safety__grid, .lm-transport-contact__box { grid-template-columns: 1fr; }
  .lm-transport-services__grid article { min-height: 0; padding: 30px; }
  .lm-transport-services__grid article > span { margin-bottom: 34px; }
  .lm-transport-fleet__grid article { min-height: 190px; }
  .lm-transport-safety__grid article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--lm-border); }
  .lm-transport-safety__grid article:nth-child(3) { border-bottom: 1px solid var(--lm-border); }
  .lm-transport-safety__grid article:last-child { border-bottom: 0; }
  .lm-contact-intro, .lm-contact-form-section, .lm-contact-areas, .lm-contact-location, .lm-faq-intro, .lm-faq-list-section { padding: 80px 0; }
  .lm-contact-form { grid-template-columns: 1fr; padding: 25px; }
  .lm-form-field--wide, .lm-contact-form .lm-button { grid-column: auto; }
  .lm-contact-areas__grid { grid-template-columns: 1fr; }
  .lm-contact-areas__grid article, .lm-contact-areas__grid article:last-child { grid-column: auto; min-height: 320px; }
  .lm-contact-map, .lm-contact-map iframe { min-height: 390px; }
  .lm-faq-list summary { padding: 24px 20px; }
  .lm-faq-list summary > span { align-items: flex-start; gap: 12px; font-size: .98rem; }
  .lm-faq-list details > div { padding: 0 20px 25px 52px; }
  .lm-faq-cta .lm-container { align-items: flex-start; flex-direction: column; }
  .lm-national-intro, .lm-national-regions, .lm-national-trips { padding: 80px 0; }
  .lm-national-benefits { padding-bottom: 80px; }
  .lm-national-benefits__grid, .lm-national-regions__grid { grid-template-columns: 1fr; }
  .lm-national-benefits article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--lm-border); }
  .lm-national-benefits article:last-child { border-bottom: 0; }
  .lm-national-region { min-height: 280px; }
  .lm-national-cta .lm-container { align-items: flex-start; flex-direction: column; }
  .lm-news-index, .lm-related-posts { padding: 80px 0; }
  .lm-featured-story { margin-bottom: 75px; }
  .lm-featured-story__media { min-height: 310px; }
  .lm-featured-story__media .lm-post-card__placeholder { min-height: 310px; }
  .lm-featured-story__body { padding: 30px 24px 35px; }
  .lm-post-grid { grid-template-columns: 1fr; }
  .lm-news-cta .lm-container { align-items: flex-start; flex-direction: column; }
  .lm-article-hero { padding: 35px 0 115px; }
  .lm-article-breadcrumbs { margin-bottom: 48px; }
  .lm-article-feature { margin-top: -55px; border-width: 5px; border-radius: 22px; }
  .lm-article-prose { padding: 30px 22px; }
  .lm-article-share { align-items: flex-start; flex-direction: column; padding: 22px; }
  .lm-article-aside { grid-template-columns: 1fr; }
  .lm-business-lines { padding-bottom: 80px; }
  .lm-business-card { min-height: 390px; padding: 30px; }
  .lm-news-grid { grid-template-columns: 1fr; }
  .lm-news-card:last-child { display: block; }
  .lm-page-hero, .lm-page-hero.has-image { min-height: 430px; padding: 70px 0; }
  .lm-archive-section, .lm-page-content { padding: 70px 0 90px; }
  .lm-trip-hero { padding-bottom: 36px; }
  .lm-trip-gallery-feature { min-height: 430px; display: block; }
  .lm-trip-main-image { width: 100%; height: 430px; border-radius: 22px; }
  .lm-trip-thumbs { display: none; }
  .lm-trip-summary { display: block; margin-top: -45px; margin-right: 10px; margin-left: 10px; padding: 26px; border-radius: 22px; }
  .lm-trip-summary h1 { font-size: 2.35rem; }
  .lm-summary-facts { grid-template-columns: 1fr 1fr; }
  .lm-trip-content { padding: 30px 0 105px; }
  .lm-content-block { padding: 26px 20px; }
  .lm-inclusion-grid { grid-template-columns: 1fr; }
  .lm-trip-help { display: none; }
  .lm-mobile-trip-cta { position: fixed; right: 0; bottom: 0; left: 0; z-index: 90; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 16px; background: #fff; box-shadow: 0 -8px 25px rgba(20,20,40,.16); }
  .lm-mobile-trip-cta div { display: flex; flex-direction: column; line-height: 1.2; }
  .lm-mobile-trip-cta small { color: var(--lm-muted); font-size: .62rem; text-transform: uppercase; }
  .lm-mobile-trip-cta a { padding: 12px 20px; color: #fff; background: var(--lm-secondary); border-radius: 999px; font-weight: 850; }
  .lm-trip-single ~ .lm-floating-whatsapp { display: none; }
  .lm-trip-single ~ .lm-site-footer { padding-bottom: 76px; }
  .lm-footer-grid { grid-template-columns: 1fr; gap: 28px; padding-top: 60px; padding-bottom: 50px; }
  .lm-footer-bottom .lm-container { flex-direction: column; }
  .lm-floating-whatsapp { right: 16px; bottom: 16px; }
}

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