/* Postal Searcher - lgx theme (owner 2026-10-22, step C; Logistip style). Navy #22214D + orange #F26B2A,
   Urbanist (headings) + Yantramanav (text), both SIL OFL 1.1 (fonts/OFL-*.txt), latin subset. */
@font-face { font-family: "Urbanist"; src: url("../fonts/urbanist-latin.woff2") format("woff2"); font-weight: 600 800; font-display: swap; }
@font-face { font-family: "Yantramanav"; src: url("../fonts/yantramanav-400-latin.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Yantramanav"; src: url("../fonts/yantramanav-500-latin.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Yantramanav"; src: url("../fonts/yantramanav-700-latin.woff2") format("woff2"); font-weight: 700; font-display: swap; }

:root {
	--lgx-navy: #22214D;
	--lgx-navy-2: #2E2C66;
	--lgx-navy-3: #3B3980;
	--lgx-orange: #F26B2A;
	--lgx-orange-2: #D85618;
	--lgx-ink: #1F1E45;
	--lgx-text: #5F5E73;
	--lgx-soft: #9897AB;
	--lgx-line: #EBEBF0;
	--lgx-chip: #F2F2F7;
	--lgx-tint: #FFF8F4;
	--lgx-white: #FFFFFF;
	--lgx-green: #1F9D5B;
	--lgx-red: #D43D3D;
	--lgx-radius: 10px;
	--lgx-shadow: 0 12px 34px rgba(34, 33, 77, .08);
	--lgx-head: "Urbanist", "Segoe UI", system-ui, sans-serif;
	--lgx-body: "Yantramanav", "Segoe UI", system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 96px; }
html.lgx-noscroll { overflow: hidden; }
body { margin: 0; background: var(--lgx-white); color: var(--lgx-text); font: 400 17px/1.65 var(--lgx-body); }
img, svg, iframe { max-width: 100%; }
img { height: auto; display: block; }
a { color: var(--lgx-navy); text-decoration: none; transition: color .2s; }
a:hover { color: var(--lgx-orange); }
h1, h2, h3, h4 { margin: 0 0 .5em; color: var(--lgx-ink); font-family: var(--lgx-head); font-weight: 700; line-height: 1.2; }
h1 { font-size: clamp(30px, 4.6vw, 50px); font-weight: 800; }
h2 { font-size: clamp(24px, 3vw, 34px); }
h3 { font-size: 20px; }
p { margin: 0 0 1em; }
address { font-style: normal; }
menu, ol, ul { margin: 0; padding: 0; list-style: none; }
mark { background: none; color: var(--lgx-orange); }
q { quotes: none; }
search, hgroup { display: block; }
.lgx-c, lgx-c { display: contents; }
.lgx-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
svg:not(.lgx-lost__art) { flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
:focus-visible { outline: 3px solid var(--lgx-orange); outline-offset: 2px; }
[hidden] { display: none !important; }
.lgx-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.lgx-skip { position: absolute; left: 12px; top: -60px; z-index: 50; padding: 10px 16px; background: var(--lgx-orange); color: #fff; border-radius: 6px; }
.lgx-skip:focus { top: 12px; color: #fff; }

.lgx-shell { width: min(1200px, 100% - 32px); margin-inline: auto; }

/* buttons, kicker, section titles */
.lgx-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 26px; border: 0; border-radius: 6px; background: var(--lgx-orange); color: #fff; font: 600 15px/1 var(--lgx-head); letter-spacing: .03em; text-transform: uppercase; cursor: pointer; transition: background .2s, transform .2s; }
.lgx-btn:hover { background: var(--lgx-orange-2); color: #fff; transform: translateY(-1px); }
.lgx-btn--wide { width: 100%; }
.lgx-kicker { margin: 0 0 10px; color: var(--lgx-orange); font: 600 15px/1.3 var(--lgx-head); letter-spacing: .04em; }
.lgx-title { margin-bottom: 34px; }
.lgx-title h2 { margin: 0; }
.lgx-title--row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 8px 24px; }
.lgx-title--row p { margin: 0; color: var(--lgx-soft); }
.lgx-arrow { display: inline-flex; align-items: center; gap: 10px; color: var(--lgx-orange); font: 600 16px/1.3 var(--lgx-head); }
.lgx-arrow svg { transition: transform .2s; }
.lgx-arrow:hover svg { transform: translate(3px, -3px); }

/* header */
.lgx-top { position: sticky; top: 0; z-index: 30; background: var(--lgx-white); box-shadow: 0 2px 18px rgba(34, 33, 77, .07); }
.lgx-top__row { display: flex; align-items: center; gap: 20px; min-height: 84px; }
.lgx-logo { display: inline-flex; align-items: center; margin-right: auto; color: var(--lgx-navy); font: 800 26px/1 var(--lgx-head); }
.lgx-logo img { max-height: 46px; width: auto; }
.lgx-logo--light { color: #fff; }
.lgx-logo--light img { filter: brightness(0) invert(1); }
.lgx-menu__list { display: flex; gap: 6px 26px; }
.lgx-menu a { position: relative; display: block; padding: 8px 0; color: var(--lgx-ink); font: 500 15px/1.2 var(--lgx-body); text-transform: uppercase; letter-spacing: .02em; }
.lgx-menu a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 2px; height: 2px; background: var(--lgx-orange); transition: right .25s; }
.lgx-menu a:hover::after, .lgx-menu a.is-here::after { right: 0; }
.lgx-menu a.is-here { color: var(--lgx-orange); }
.lgx-findbtn { min-height: 48px; padding: 0 24px; border: 0; border-radius: 6px; background: var(--lgx-orange); color: #fff; font: 700 15px/1 var(--lgx-head); letter-spacing: .03em; text-transform: uppercase; cursor: pointer; }
.lgx-findbtn:hover, .lgx-findbtn[aria-expanded="true"] { background: var(--lgx-navy); }
.lgx-burger { display: none; place-items: center; width: 46px; height: 46px; border: 1px solid var(--lgx-line); border-radius: 6px; background: #fff; color: var(--lgx-navy); cursor: pointer; }
.lgx-find { background: var(--lgx-navy); }
.lgx-find__form { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding-block: 18px; }
.lgx-find__form label { color: #fff; font: 600 16px/1 var(--lgx-head); }
.lgx-find__form input, .lgx-hero__find input { flex: 1 1 260px; min-height: 48px; padding: 0 16px; border: 1px solid transparent; border-radius: 6px; background: #fff; color: var(--lgx-ink); font: 400 16px/1 var(--lgx-body); }
.lgx-find__note { flex-basis: 100%; color: #FFD3BD; font-size: 15px; }

/* hero (home) and banner (other pages) */
.lgx-hero, .lgx-banner { position: relative; isolation: isolate; overflow: hidden; background: var(--lgx-navy); color: rgba(255, 255, 255, .86); }
.lgx-hero::before, .lgx-banner::before { content: ""; position: absolute; inset: 0; z-index: -2; background: var(--lgx-banner, none) center / cover no-repeat; opacity: .32; }
.lgx-hero::after, .lgx-banner::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(100deg, var(--lgx-navy) 35%, rgba(34, 33, 77, .55)), repeating-linear-gradient(135deg, transparent 0 26px, rgba(255, 255, 255, .025) 26px 52px); }
.lgx-hero .lgx-shell { padding-block: clamp(70px, 10vw, 140px); }
.lgx-hero h1 { max-width: 760px; color: #fff; }
.lgx-hero__lead { max-width: 640px; }
.lgx-hero__lead p:last-child { margin-bottom: 0; }
.lgx-hero__find { display: flex; flex-wrap: wrap; gap: 12px; max-width: 640px; margin-top: 30px; padding: 12px; border-radius: var(--lgx-radius); background: rgba(255, 255, 255, .1); }
.lgx-banner .lgx-shell { padding-block: clamp(50px, 7vw, 86px); }
.lgx-banner h1 { max-width: 880px; margin-bottom: 14px; color: #fff; font-size: clamp(28px, 4vw, 42px); }
.lgx-crumbs ol { display: flex; flex-wrap: wrap; gap: 4px 0; font: 500 15px/1.4 var(--lgx-body); }
.lgx-crumbs li { color: var(--lgx-orange); }
.lgx-crumbs li + li::before { content: "|"; margin: 0 10px; color: rgba(255, 255, 255, .5); }
.lgx-crumbs a { color: #fff; }
.lgx-crumbs a:hover { color: var(--lgx-orange); }

/* blocks */
.lgx-block { padding-block: clamp(56px, 8vw, 100px); }
.lgx-block--tint { background: var(--lgx-tint); }
.lgx-lead { max-width: 820px; margin-bottom: 44px; font-size: 18px; }
.lgx-empty { padding: 24px; border: 1px dashed var(--lgx-line); border-radius: var(--lgx-radius); }

/* towns */
.lgx-towns { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 22px; }
.lgx-town { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 26px 26px 24px; border: 1px solid var(--lgx-line); border-radius: var(--lgx-radius); background: #fff; transition: box-shadow .25s, transform .25s, border-color .25s; }
.lgx-town > svg { width: 50px; height: 50px; margin-bottom: 10px; padding: 12px; border-radius: 50%; background: var(--lgx-tint); color: var(--lgx-orange); }
.lgx-town:hover { border-color: transparent; box-shadow: var(--lgx-shadow); transform: translateY(-3px); }
.lgx-town img { order: -1; margin: -26px -26px 12px; width: calc(100% + 52px); max-width: none; aspect-ratio: 20 / 13; object-fit: cover; border-radius: var(--lgx-radius) var(--lgx-radius) 0 0; }
.lgx-town a { display: flex; flex-direction: column; gap: 4px; color: var(--lgx-ink); }
.lgx-town a::after { content: ""; position: absolute; inset: 0; }
.lgx-town strong { font: 700 21px/1.25 var(--lgx-head); }
.lgx-town data { color: var(--lgx-orange); font-weight: 500; font-size: 15px; }
.lgx-town q { font-size: 15px; }
.lgx-towns--plain .lgx-town { padding: 18px 20px; }
.lgx-towns--plain .lgx-town > svg, .lgx-towns--plain q { display: none; }

/* listing cards */
.lgx-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 24px; }
.lgx-card { position: relative; display: flex; flex-direction: column; border-radius: var(--lgx-radius); background: #fff; box-shadow: var(--lgx-shadow); overflow: hidden; transition: transform .25s; }
.lgx-card:hover { transform: translateY(-4px); }
.lgx-card__media { margin: 0; aspect-ratio: 4 / 3; background: var(--lgx-navy-2); overflow: hidden; }
.lgx-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.lgx-card:hover .lgx-card__media img { transform: scale(1.05); }
.lgx-card__media abbr { display: grid; place-items: center; height: 100%; color: #fff; font: 800 44px/1 var(--lgx-head); text-decoration: none; letter-spacing: .04em; background: linear-gradient(135deg, var(--lgx-navy), var(--lgx-navy-3)); }
.lgx-card__title { margin: 20px 22px 6px; font-size: 19px; }
.lgx-card__title a { color: var(--lgx-ink); }
.lgx-card__title a::after { content: ""; position: absolute; inset: 0; }
.lgx-card__title a:hover { color: var(--lgx-orange); }
.lgx-card address { display: flex; gap: 8px; margin: 0 22px 16px; font-size: 15px; line-height: 1.5; }
.lgx-card address svg { margin-top: 3px; color: var(--lgx-orange); }
.lgx-card__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding: 14px 22px; border-top: 1px solid var(--lgx-line); font-size: 15px; }
.lgx-card__foot data { display: inline-flex; align-items: center; gap: 6px; color: var(--lgx-ink); }
.lgx-card__foot small { color: var(--lgx-soft); }

/* stars, open status */
.lgx-stars { --lgx-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 1.5l2.6 5.4 5.9.8-4.3 4.1 1 5.8L10 14.8l-5.2 2.8 1-5.8L1.5 7.7l5.9-.8z'/%3E%3C/svg%3E"); display: inline-block; width: 90px; height: 18px; vertical-align: -3px; background: linear-gradient(90deg, #FFB020 calc(var(--lgx-stars, 0) * 20%), #D9D9E3 0); -webkit-mask: var(--lgx-star) 0 0 / 18px 18px repeat-x; mask: var(--lgx-star) 0 0 / 18px 18px repeat-x; }
.lgx-status { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 15px; font-weight: 500; }
.lgx-status__dot { width: 9px; height: 9px; border-radius: 50%; background: currentColor; }
.lgx-status--open { color: var(--lgx-green); }
.lgx-status--closed { color: var(--lgx-red); }
.lgx-status__more { color: var(--lgx-text); font-weight: 400; }

/* pagination */
.lgx-pager { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 46px; }
.lgx-pager a, .lgx-pager b { display: grid; place-items: center; min-width: 46px; height: 46px; padding: 0 14px; border-radius: 6px; background: var(--lgx-chip); color: var(--lgx-ink); font: 600 15px/1 var(--lgx-head); }
.lgx-pager b, .lgx-pager a:hover { background: var(--lgx-orange); color: #fff; }

/* Brand page */
.lgx-brand { display: grid; grid-template-columns: minmax(0, 1fr) 380px; grid-template-areas: "main contact" "main near" "main ."; gap: 0 40px; align-items: start; padding-block: clamp(50px, 7vw, 90px); }
.lgx-brand__main { grid-area: main; min-width: 0; }
.lgx-contact { grid-area: contact; }
.lgx-near { grid-area: near; }
.lgx-brand__card { margin-bottom: 30px; padding: 30px; border-radius: var(--lgx-radius); background: var(--lgx-chip); }
.lgx-brand__card h2 { position: relative; margin-bottom: 22px; padding-bottom: 14px; font-size: 22px; }
.lgx-brand__card h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 46px; height: 3px; background: var(--lgx-orange); }
.lgx-contact { background: var(--lgx-navy); color: rgba(255, 255, 255, .85); } /* not sticky (owner 2026-10-29: it ran over "Nearby" on scroll) */
.lgx-contact h2 { color: #fff; }
.lgx-contact hgroup { position: relative; margin-bottom: 22px; padding-bottom: 14px; }
.lgx-contact hgroup::after { content: ""; position: absolute; left: 0; bottom: 0; width: 46px; height: 3px; background: var(--lgx-orange); }
.lgx-contact hgroup h2 { margin: 0 0 4px; padding: 0; }
.lgx-contact hgroup h2::after { display: none; }
.lgx-contact hgroup p { margin: 0; color: rgba(255, 255, 255, .65); font-size: 15px; }
.lgx-contact__rows { margin: 0 0 24px; }
.lgx-contact__rows menu { display: grid; gap: 12px; }
.lgx-contact__rows li { display: grid; grid-template-columns: 112px 1fr; gap: 12px; align-items: start; }
.lgx-contact__rows em { display: inline-flex; align-items: center; gap: 10px; }
.lgx-contact__rows svg { color: var(--lgx-orange); }
.lgx-contact__go { margin: 0; }
.lgx-contact__map { margin: 0 0 20px; }
.lgx-contact__map iframe { display: block; width: 100%; height: 240px; border: 0; border-radius: 8px; background: var(--lgx-navy-2); }
.lgx-btn svg, .lgx-findbtn svg { margin-right: 2px; }
.lgx-findbtn { display: inline-flex; align-items: center; gap: 8px; }
.lgx-contact__rows em { color: var(--lgx-orange); font: normal 600 14px/1.75 var(--lgx-head); text-transform: uppercase; letter-spacing: .04em; }
.lgx-contact a { color: #fff; }
.lgx-contact a:hover { color: var(--lgx-orange); }
.lgx-contact .lgx-btn { color: #fff; }
.lgx-contact .lgx-status--closed { color: #FF8C8C; }
.lgx-contact .lgx-status--open { color: #5FE09A; }
.lgx-contact .lgx-status__more { color: rgba(255, 255, 255, .75); }
.lgx-near ol { counter-reset: lgx-near; display: grid; gap: 10px; }
.lgx-near li { position: relative; padding: 14px 16px 14px 52px; border-radius: 6px; background: #fff; font-size: 15px; line-height: 1.45; }
.lgx-near li::before { counter-increment: lgx-near; content: counter(lgx-near); position: absolute; left: 14px; top: 14px; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--lgx-tint); color: var(--lgx-orange); font: 700 13px/1 var(--lgx-head); }
.lgx-near a { display: block; color: var(--lgx-ink); font: 700 16px/1.3 var(--lgx-head); }
.lgx-near cite { font-style: normal; }
.lgx-near a:hover { color: var(--lgx-orange); }
.lgx-near data { display: block; color: var(--lgx-orange); font-weight: 500; }
.lgx-near address { color: var(--lgx-text); }
.lgx-brand__photo { margin: 0 0 26px; }
.lgx-brand__photo > a img { width: 100%; max-height: 520px; object-fit: cover; border-radius: var(--lgx-radius); }
.lgx-brand__photo figcaption { margin-top: 12px; }
.lgx-strip { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 10px; margin: 0; }
.lgx-strip img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; transition: opacity .2s; }
.lgx-strip a:hover img { opacity: .8; }
.lgx-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 24px; }
.lgx-tags data { display: inline-flex; align-items: center; gap: 6px; margin-right: 6px; color: var(--lgx-ink); }
.lgx-tags small { padding: 5px 12px; border-radius: 50px; background: var(--lgx-tint); color: var(--lgx-orange-2); font-size: 14px; font-weight: 500; }
.lgx-jump { position: sticky; top: 84px; z-index: 5; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 34px; padding: 10px 0; background: #fff; }
.lgx-jump a { padding: 9px 18px; border-radius: 6px; background: var(--lgx-chip); color: var(--lgx-ink); font: 600 14px/1.2 var(--lgx-head); }
.lgx-jump a:hover, .lgx-jump a.is-active { background: var(--lgx-orange); color: #fff; }
.lgx-part { margin-bottom: 44px; }
.lgx-part h2 { display: flex; align-items: center; gap: 12px; font-size: clamp(22px, 2.4vw, 28px); }
.lgx-part h2 svg, .lgx-near h2 svg { color: var(--lgx-orange); }
.lgx-brand__card h2 { display: flex; align-items: center; gap: 10px; }
.lgx-contact h2 svg { color: var(--lgx-orange); }
.lgx-crumbs a { display: inline-flex; align-items: center; gap: 6px; }
.lgx-prose > :last-child { margin-bottom: 0; }
.lgx-week { border: 1px solid var(--lgx-line); border-radius: var(--lgx-radius); overflow: hidden; }
.lgx-week li { display: flex; justify-content: space-between; gap: 16px; padding: 13px 20px; border-bottom: 1px solid var(--lgx-line); }
.lgx-week li:last-child { border-bottom: 0; }
.lgx-week li:nth-child(even) { background: #FAFAFC; }
.lgx-week b { color: var(--lgx-ink); font-weight: 500; }
.lgx-week samp { font: inherit; text-align: right; }
.lgx-week li.is-today { background: var(--lgx-tint); }
.lgx-week .is-today b, .lgx-week .is-today samp { color: var(--lgx-orange-2); font-weight: 700; }
.lgx-services details { margin-bottom: 12px; border: 1px solid var(--lgx-line); border-radius: var(--lgx-radius); }
.lgx-services summary { padding: 16px 20px; color: var(--lgx-ink); font: 700 17px/1.3 var(--lgx-head); cursor: pointer; }
.lgx-services summary::marker { color: var(--lgx-orange); }
.lgx-services menu { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px 22px; padding: 0 20px 18px; }
.lgx-services li { position: relative; padding-left: 22px; }
.lgx-services li::before { content: "\00BB"; position: absolute; left: 0; color: var(--lgx-orange); font-weight: 700; }
.lgx-services var { color: var(--lgx-soft); font-style: normal; }
.lgx-services .lgx-strip { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
.lgx-reviews { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; padding: 28px 30px; border-radius: var(--lgx-radius); background: var(--lgx-tint); }
.lgx-reviews h2 { flex-basis: 100%; margin-bottom: 0; }
.lgx-reviews__score { display: flex; align-items: center; gap: 16px; margin: 0; }
.lgx-reviews__score data { color: var(--lgx-navy); font: 800 48px/1 var(--lgx-head); }
.lgx-reviews__score figcaption { display: grid; gap: 4px; }
.lgx-reviews__score small { color: var(--lgx-text); }
.lgx-map iframe { display: block; width: 100%; height: 380px; border: 0; border-radius: var(--lgx-radius); background: var(--lgx-chip); }

/* pages */
.lgx-article { max-width: 900px; padding-block: clamp(50px, 7vw, 90px); }
.lgx-prose h2 { margin-top: 1.4em; font-size: 26px; }
.lgx-prose h3 { margin-top: 1.2em; }
.lgx-prose ul, .lgx-prose ol { margin: 0 0 1em; padding-left: 1.3em; list-style: revert; }
.lgx-prose a { color: var(--lgx-orange-2); text-decoration: underline; text-underline-offset: 3px; }
/* contact form of the page content (classes set in the page HTML, 2026-10-22) */
.lgx-form { margin-top: 26px; padding: 30px; border-radius: var(--lgx-radius); background: var(--lgx-chip); }
.lgx-form__field { margin-bottom: 18px; }
.lgx-form__label { display: block; margin-bottom: 6px; color: var(--lgx-ink); font-weight: 500; }
.lgx-form__input { width: 100%; padding: 12px 14px; border: 1px solid var(--lgx-line); border-radius: 6px; background: #fff; font: inherit; color: var(--lgx-ink); }
.lgx-form__text { min-height: 150px; resize: vertical; }
.lgx-form__thanks { color: var(--lgx-green); font-weight: 500; }

/* 404 */
.lgx-lost { display: grid; justify-items: center; max-width: 760px; padding-block: clamp(60px, 9vw, 120px); text-align: center; }
.lgx-lost__art { width: 220px; height: auto; color: var(--lgx-navy); }
.lgx-lost__code { margin: 18px 0 0; color: var(--lgx-orange); font: 800 clamp(72px, 14vw, 130px)/1 var(--lgx-head); }
.lgx-lost nav { margin: 10px 0 30px; }
.lgx-lost h2 { font-size: 20px; }
.lgx-lost menu { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.lgx-lost menu a { display: block; padding: 8px 16px; border-radius: 50px; background: var(--lgx-chip); color: var(--lgx-ink); font-weight: 500; }
.lgx-lost menu a:hover { background: var(--lgx-orange); color: #fff; }

/* call to action + footer */
.lgx-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 40px; margin-block: 30px -60px; position: relative; z-index: 2; padding: 38px clamp(24px, 5vw, 60px); border-radius: var(--lgx-radius); background: linear-gradient(110deg, var(--lgx-navy-2), var(--lgx-navy) 60%); color: rgba(255, 255, 255, .85); }
.lgx-cta__text { max-width: 720px; margin: 0; }
.lgx-cta__text b { display: block; margin-bottom: 6px; color: #fff; font: 700 clamp(22px, 2.6vw, 30px)/1.2 var(--lgx-head); }
.lgx-cta__text em { color: var(--lgx-orange); font-style: normal; }
.lgx-foot { background: var(--lgx-navy); color: rgba(255, 255, 255, .78); font-size: 16px; }
.lgx-foot__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding-block: 70px 60px; }
.lgx-cta + .lgx-foot .lgx-foot__grid { padding-top: 120px; }
.lgx-foot__about .lgx-logo { margin-bottom: 18px; }
.lgx-foot h2 { margin-bottom: 22px; color: #fff; font-size: 21px; }
.lgx-foot menu { display: grid; gap: 10px; }
.lgx-foot menu a { color: rgba(255, 255, 255, .82); }
.lgx-foot menu a::before { content: "\203A"; margin-right: 8px; color: var(--lgx-orange); }
.lgx-foot menu a:hover { color: var(--lgx-orange); }
.lgx-foot__base { margin: 0; padding: 22px 16px; border-top: 1px solid rgba(255, 255, 255, .12); text-align: center; }
.lgx-up { position: fixed; right: 18px; bottom: 18px; z-index: 20; display: grid; place-items: center; width: 46px; height: 46px; border: 0; border-radius: 6px; background: var(--lgx-orange); color: #fff; cursor: pointer; }
.lgx-up svg { stroke-width: 2.4; }

/* photo viewer */
.lgx-viewer { width: 100vw; max-width: 100vw; height: 100vh; max-height: 100vh; margin: 0; padding: 50px 60px; border: 0; background: rgba(20, 19, 48, .94); }
.lgx-viewer::backdrop { background: transparent; }
.lgx-viewer__img { max-width: 100%; max-height: 100%; margin: auto; object-fit: contain; height: 100%; }
.lgx-viewer__btn { position: absolute; display: grid; place-items: center; width: 46px; height: 46px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .14); color: #fff; font-size: 30px; line-height: 1; cursor: pointer; }
.lgx-viewer__btn:hover { background: var(--lgx-orange); }
.lgx-viewer__close { top: 14px; right: 14px; }
.lgx-viewer__prev { left: 8px; top: 50%; translate: 0 -50%; }
.lgx-viewer__next { right: 8px; top: 50%; translate: 0 -50%; }

/* tablet / phone */
@media (max-width: 1100px) {
	.lgx-brand { grid-template-columns: minmax(0, 1fr) 320px; gap: 0 28px; }
	.lgx-foot__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 991px) {
	.lgx-top__row { min-height: 72px; flex-wrap: wrap; gap: 12px; }
	.lgx-burger { display: grid; order: 3; }
	.lgx-findbtn { order: 2; min-height: 44px; padding: 0 16px; font-size: 14px; }
	.lgx-menu { order: 4; flex-basis: 100%; display: none; padding-bottom: 14px; }
	.lgx-menu.is-open { display: block; }
	.lgx-menu__list { flex-direction: column; gap: 0; }
	.lgx-menu a { padding: 12px 0; border-bottom: 1px solid var(--lgx-line); }
	.lgx-brand { grid-template-columns: minmax(0, 1fr); grid-template-areas: "contact" "main" "near"; }
	.lgx-contact { position: static; }
	.lgx-jump { top: 72px; }
	html { scroll-padding-top: 84px; }
}
@media (max-width: 600px) {
	body { font-size: 16px; }
	.lgx-logo { font-size: 22px; }
	.lgx-logo img { max-height: 38px; }
	.lgx-foot__grid { grid-template-columns: 1fr; }
	.lgx-brand__card { padding: 24px 20px; }
	.lgx-contact__rows li { grid-template-columns: 1fr; gap: 2px; }
	.lgx-contact__rows li > :last-child { padding-left: 30px; }
	.lgx-week li { padding: 11px 14px; }
	.lgx-map iframe { height: 300px; }
	.lgx-viewer { padding: 60px 10px; }
	.lgx-cta { margin-bottom: -50px; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; scroll-behavior: auto !important; }
}
