.location-section { max-width: 1320px; padding: 45px 20px 30px; margin: 20px auto 30px; border-top: 1px solid var(--line); scroll-margin-top: 80px; }
.lo-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; padding: 0 6px 25px; }
.lo-eyebrow { color: var(--gold); font-size: 11px; letter-spacing: .3em; text-transform: uppercase; margin: 0 0 10px; }
.lo-heading h2 { font: 400 clamp(32px,4.3vw,53px)/1.07 var(--serif); letter-spacing: -.025em; }
.lo-intro { max-width: 420px; color: var(--muted); font-size: 15px; line-height: 1.8; padding-bottom: 3px; }
.lo-intro strong { display: block; color: var(--gold); font-size: 1.08em; font-weight: 600; margin-bottom: 8px; text-wrap: balance; }
.lo-atlas { display: grid; grid-template-columns: minmax(0,1fr) 202px; align-items: start; gap: 5px; }
.lo-figure { grid-column: 1; grid-row: 1; margin: 0; min-width: 0; }
.lo-map-window { overflow: hidden; aspect-ratio: 3 / 2; position: relative; }
.lo-map-canvas { position: relative; width: 100%; aspect-ratio: 3 / 2; }
.lo-map-art { display: block; width: 100%; height: 100%; }
.lo-cartouche { position: absolute; left: 74%; top: 7%; width: 21.5%; text-align: center; color: #37291b; font: 400 clamp(11px,1.55vw,20px)/1.5 var(--serif); text-transform: uppercase; letter-spacing: .04em; pointer-events: none; }
.lo-cartouche span { display: block; }
.lo-cartouche span + span { font-size: .8em; letter-spacing: .055em; }
.lo-sea-name { position: absolute; top: 80%; left: 12%; text-align: center; color: #fff5df; font: italic 400 clamp(15px,1.6vw,21px)/1.8 var(--serif); letter-spacing: .2em; text-shadow: 0 1px 3px #183e4a; pointer-events: none; }
.lo-pin { position: absolute; transform: translate(-50%,-50%); min-height: 44px; padding: 9px 2px; z-index: 2; max-width: 190px; white-space: nowrap; }
.lo-pin-label { display: block; color: #352a1b; font: 400 13px/1.25 var(--serif); background: #f9e8c7; padding: 5px 9px; border: 1px solid #99753b; border-radius: 3px; box-shadow: 0 2px 3px #3c281459, inset 0 0 0 2px #fff3db; }
.lo-pin[aria-pressed="true"] .lo-pin-label { color: #fff3d7; background: #3a3328; box-shadow: 0 0 0 2px #e9c778,0 3px 10px #0005; border-color: #e9c778; }
.lo-pin:hover .lo-pin-label { box-shadow: 0 0 0 2px #fcde9e,0 4px 12px #0006; }
.lo-pin:focus-visible { outline: 3px solid #fff3d7; outline-offset: 1px; z-index: 5; border-radius: 5px; }
.lo-pin-home { z-index: 3; }
.lo-pin-home .lo-pin-label { font-size: 14px; text-transform: uppercase; padding: 7px 13px; border: 2px solid #a47c38; }
.lo-short-label { display: none; }
.lo-legend { grid-column: 2; grid-row: 1; align-self: stretch; margin-bottom: 25px; background: #f4e1bd; color: #352b1d; border: 4px double #b48c4a; padding: 14px 11px 16px; position: relative; overflow: hidden; }
.lo-categories { display: grid; position: relative; z-index: 1; }
.lo-categories button { display: flex; align-items: center; gap: 11px; min-height: 66px; padding: 10px 2px; border-bottom: 1px solid #b491584d; color: #372d20; font: 400 14px/1.3 var(--serif); text-align: left; }
.lo-category-icon { display: grid; place-items: center; width: 35px; height: 35px; flex: 0 0 35px; border: 1px solid #86704c; border-radius: 50%; }
.lo-category-icon svg { width: 21px; height: 21px; stroke: currentColor; fill: none; stroke-width: 1.5; stroke-linejoin: round; stroke-linecap: round; }
.lo-category-chevron { margin-left: auto; font-size: 24px; }
.lo-categories button[aria-pressed="true"] .lo-category-icon { background: #373125; color: #f1c66a; border-color: #373125; box-shadow: 0 0 0 2px #d0a654; }
.lo-categories button[aria-pressed="true"] { font-weight: 600; }
.lo-categories button:hover { background: #ceab6819; }
.lo-subcategories { display: grid; gap: 5px; margin-top: 12px; position: relative; z-index: 1; }
.lo-subcategories button { min-height: 44px; padding: 6px 5px; border: 1px solid #a38961; border-radius: 3px; color: #4b3c25; font-size: 12px; background: #f9eacb; }
.lo-subcategories button[aria-pressed="true"] { background: #3b3529; border-color: #3b3529; color: #f8e9c9; }
.lo-legend-leaf { position: absolute; width: 120px; bottom: -3px; right: -10px; opacity: .52; transform: rotate(180deg); pointer-events: none; }
.lo-below { display: grid; grid-template-columns: minmax(220px,.7fr) minmax(0,1.3fr); gap: 35px; margin-top: 10px; align-items: center; }
.lo-card-region { grid-column: 2; grid-row: 1; }
.lo-card { display: grid; grid-template-columns: minmax(105px,31%) minmax(0,1fr); gap: 18px; align-items: start; }
.lo-card-art { display: block; width: 100%; aspect-ratio: 1; border: 1px solid #ba9d6e; object-fit: cover; }
.lo-card-kicker { font-size: 9px; text-transform: uppercase; letter-spacing: .1em; margin: 1px 0 6px; color: #695233; }
.lo-card h3 { font: 400 clamp(22px,2vw,28px)/1.15 var(--serif); margin: 0 0 8px; text-wrap: balance; }
.lo-card-copy > p:not(.lo-card-kicker) { font-size: 13px; line-height: 1.5; }
.lo-card-copy .lo-drive { margin-top: 10px; font-weight: 600; }
.lo-card-copy .lo-drive-note { color: #6c5737; font-size: 10px !important; margin-top: 3px; }
.lo-map-link { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; padding: 10px 14px; margin-top: 12px; border: 1px solid #a47e3e; border-radius: 3px; background: #dcc08a; color: #36270f; font-size: 12px; text-decoration: none; }
.lo-map-link:hover { background: #c9a563; color: #231a0e; }
.lo-arrival { grid-column: 1; grid-row: 1; border-top: 1px solid var(--line); padding-top: 20px; display: flex; gap: 15px; color: var(--muted); font-size: 12px; }
.lo-arrival > svg { color: var(--gold); width: 24px; height: 28px; }
.lo-arrival h3 { font: 500 10px/1.5 var(--body); letter-spacing: .22em; text-transform: uppercase; color: var(--gold); margin: 1px 0 9px; }
.lo-arrival p { line-height: 1.7; max-width: 330px; }
.lo-arrival a { display: inline-flex; gap: 10px; align-items: center; min-height: 44px; font-size: 12px; }
.location-explorer:not(.lo-ready) .lo-legend, .location-explorer:not(.lo-ready) .lo-pins { display: none; }
.location-explorer:not(.lo-ready) .lo-atlas { display: block; }
.location-explorer:not(.lo-ready) .lo-card + .lo-card { margin-top: 18px; }
.lo-noscript { color: var(--muted); margin-top: 15px; }
.practical-intro-single { grid-template-columns: 1fr; }
@media (max-width: 1049px) {
 .location-section { padding: 30px 16px 15px; margin-top: 10px; }
 .lo-heading { display: block; padding: 0 2px 20px; }
 .lo-heading h2 { font-size: clamp(31px,5vw,43px); }
 .lo-intro { margin-top: 15px; font-size: 13px; max-width: 490px; line-height: 1.7; }
 .lo-atlas { display: flex; flex-direction: column; gap: 12px; }
 .lo-legend { order: 0; padding: 0; margin: 0; width: 100%; background: none; border: 0; color: var(--ink); }
 .lo-legend-leaf, .lo-category-chevron { display: none; }
 .lo-categories { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; }
 .lo-categories button { justify-content: center; flex-direction: column; gap: 5px; min-height: 67px; padding: 8px 2px; border: 1px solid #65553a; border-radius: 4px; color: var(--ink); font-size: 12px; background: #20221f; }
 .lo-categories button[aria-pressed="true"] { background: #39352b; border-color: #c7aa70; color: #e4c17d; font-weight: 400; }
 .lo-category-icon { width: 26px; height: 26px; flex-basis: 26px; border: 0; }
 .lo-category-icon svg { width: 23px; height: 23px; }
 .lo-categories button[aria-pressed="true"] .lo-category-icon { background: none; border: 0; box-shadow: none; color: #e4c17d; }
 .lo-subcategories { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; margin-top: 9px; }
 .lo-subcategories button { color: #dfcfb4; background: #292b26; border-color: #736044; font-size: 11px; }
 .lo-subcategories button[aria-pressed="true"] { background: #d3b67d; border-color: #d3b67d; color: #2b251b; }
 .lo-legend :focus-visible { outline-color: var(--gold); }
 .lo-figure { order: 1; width: 100%; }
 .lo-map-window { aspect-ratio: 1336 / 1024; border: 2px solid #b39559; border-radius: 2px; }
 .lo-map-canvas { width: 114.97006%; margin-left: -14.97006%; }
 .lo-cartouche { font-size: clamp(10px,1.9vw,16px); top: 7.3%; }
 .lo-sea-name { display: none; }
 .lo-pin { max-width: 160px; }
 .lo-pin-label { font-size: 12px; padding: 5px 7px; }
 .lo-pin-home .lo-pin-label { font-size: 12px; padding: 7px 8px; }
 .lo-long-label { display: none; }
 .lo-short-label { display: block; }
 .lo-below { display: flex; flex-direction: column; align-items: stretch; gap: 20px; margin-top: 12px; }
 .lo-card { gap: 12px; padding: 11px; grid-template-columns: 28% minmax(0,1fr); }
 .lo-card h3 { font-size: 23px; }
 .lo-card-kicker { font-size: 8px; line-height: 1.5; }
 .lo-card-copy > p:not(.lo-card-kicker) { font-size: 12px; }
 .lo-map-link { width: 100%; font-size: 11px; padding-inline: 9px; }
 .lo-arrival { padding-top: 16px; }
}
@media (prefers-reduced-motion: reduce) { .location-section * { scroll-behavior: auto; } }


/* Named labels share the map with the illustration, without hidden clusters. */
.lo-pins,.lo-leaders { position: absolute; inset: 0; width: 100%; height: 100%; }
.lo-pins { pointer-events: none; }
.lo-pin { pointer-events: auto; width: max-content; min-height: 34px; padding: 3px 0; }
.lo-pin-label { font-size: 12px; padding: 4px 7px; }
.lo-pin-home .lo-pin-label { font-size: 12px; padding: 5px 8px; }
.lo-leaders { pointer-events: none; stroke: #6d552d; stroke-width: 1; opacity: .65; }
.lo-arrival { border-top: 0; border-bottom: 1px solid var(--line); padding: 0 2px 16px; margin: 0 0 20px; align-items: center; gap: 10px; }
.lo-arrival h3 { margin: 0 0 2px; font-size: 9px; }
.lo-arrival a { margin-left: auto; color: var(--gold); white-space: nowrap; }
.lo-below { display: block; margin-top: 14px; }
.lo-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
/* Category names stay on the map; reveal a full card only after a place is chosen. */
.lo-ready:not(.lo-focused) .lo-cards { display: none; }
.lo-focused .lo-cards { grid-template-columns: minmax(0,780px); justify-content: center; }
.lo-all-link { min-height: 44px; color: var(--gold); margin-bottom: 4px; font-size: 12px; }
.lo-card { color: #3a2c1b; background: #f5e3bf; border: 4px double #b48c4a; border-radius: 3px; padding: 13px; grid-template-columns: 30% minmax(0,1fr); gap: 14px; }
.lo-card-art { height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.lo-card-copy > p.lo-drive { font-size: 16px; line-height: 1.45; margin: 0 0 10px; color: #513b1e; font-weight: 600; }
.lo-card-copy > .lo-drive-note { margin-top: 9px; }
.lo-card h3 { margin-bottom: 5px; text-wrap: pretty; }
.lo-legend { margin-bottom: 0; padding-bottom: 80px; }
@media (max-width: 1049px) {
 .lo-heading { padding-bottom: 15px; }
 .lo-arrival { padding: 0 2px 12px; margin-bottom: 18px; font-size: 11px; }
 .lo-arrival > svg { width: 18px; }
 .lo-arrival a { font-size: 11px; }
 .lo-legend { padding: 0; }
 .lo-pin { min-height: 30px; padding: 3px 0; max-width: 145px; }
 .lo-pin-label { font-size: 11.5px; padding: 3px 5px; }
 .lo-pin-home .lo-pin-label { font-size: 11px; padding: 4px 6px; }
 .lo-cards,.lo-focused .lo-cards { grid-template-columns: 1fr; gap: 12px; }
 .lo-card { padding: 11px; gap: 11px; grid-template-columns: 28% minmax(0,1fr); }
 .lo-card h3 { font-size: 23px; }
 .lo-card-copy > p.lo-drive { font-size: 15px; }
}
@media (max-width: 359px) { .lo-pin-label { font-size: 11px; } .lo-card { grid-template-columns: 25% minmax(0,1fr); gap: 9px; } .lo-card h3 { font-size: 21px; } }

/* Desktop: browse, explore, then read – all in one view. */
.lo-place-list,.lo-list-heading,.lo-arrival-marker { display: none; }
.lo-below { order: 2; width: 100%; min-width: 0; }
.lo-card-copy > p.lo-business-name { color: #695233; font-size: 11px; margin-bottom: 8px; }
@media (min-width: 1050px) {
 .location-section { max-width: 1500px; padding: 24px 24px 30px; }
 .lo-heading { display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: 40px; padding: 0 0 14px; }
 .lo-heading h2 { font-size: clamp(37px,3.5vw,53px); }
 .lo-intro { max-width: none; font-size: clamp(13px,1.05vw,16px); line-height: 1.75; padding: 0; }
 .lo-intro strong { font-size: clamp(13px,1.07vw,16px); line-height: 1.5; margin-bottom: 10px; text-wrap: pretty; }
 .lo-arrival { display: grid; grid-template-columns: 1fr auto 1fr; column-gap: 28px; padding: 0 0 4px; margin-bottom: 14px; min-height: 45px; }
 .lo-arrival > svg { display: none; }
 .lo-arrival > div { display: contents; }
 .lo-arrival h3 { justify-self: end; display: flex; align-items: center; gap: 9px; font-size: 10px; letter-spacing: .12em; margin: 0; }
 .lo-arrival-marker { display: block; width: 18px; height: 22px; }
 .lo-arrival p { justify-self: center; max-width: none; font-size: 13px; }
 .lo-arrival a { justify-self: start; margin: 0; }
 .lo-atlas { grid-template-columns: clamp(154px,13vw,194px) minmax(0,1fr) clamp(246px,20vw,298px); gap: 9px; align-items: stretch; }
 .lo-legend { grid-column: 1; padding: 10px 10px 40px; }
 .lo-figure { grid-column: 2; align-self: start; }
 .lo-map-window { border: 3px double #b48c4a; }
 .lo-cartouche { font-size: clamp(10px,1.1vw,16px); }
 .lo-sea-name { font-size: 15px; }
 .lo-categories button { min-height: 51px; gap: 8px; padding: 8px 0; font-size: 14px; }
 .lo-category-icon { width: 29px; height: 29px; flex-basis: 29px; }
 .lo-category-icon svg { width: 19px; height: 19px; }
 .lo-subcategories { gap: 6px; margin-top: 10px; }
 .lo-subcategories button { min-height: 35px; font-size: 11px; }
 .lo-legend-leaf { width: 95px; opacity: .4; }
 .lo-below { grid-column: 3; grid-row: 1; margin: 0; background: #f5e3bf; color: #3a2c1b; border: 4px double #b48c4a; border-radius: 2px; padding: 12px; }
 .lo-list-heading { display: block; padding-bottom: 9px; border-bottom: 1px solid #b4915866; }
 .lo-list-heading h3 { font: 400 24px/1.15 var(--serif); margin: 0 0 5px; }
 .lo-list-heading p { color: #745c39; font-size: 10px; line-height: 1.4; }
 .lo-ready .lo-place-list { display: grid; }
 .lo-place-row { display: flex; gap: 10px; align-items: center; min-height: 49px; padding: 6px 0; border-bottom: 1px solid #b491584d; text-align: left; color: #3a2c1b; }
 .lo-place-row:last-child { border-bottom: 0; }
 .lo-place-row img { width: 42px; height: 32px; object-fit: cover; border: 1px solid #bca579; border-radius: 2px; flex-shrink: 0; }
 .lo-place-row > span { min-width: 0; }
 .lo-row-name { display: block; font: 400 16px/1.15 var(--serif); text-wrap: pretty; }
 .lo-row-drive { display: block; font-size: 11px; line-height: 1.3; margin-top: 3px; color: #685032; }
 .lo-row-chevron { margin-left: auto; font-size: 20px; color: #8d6e3e; transform: rotate(90deg); }
 .lo-place-row:hover { background: #c3a06425; }
 .lo-below :focus-visible { outline: 2px solid #85652d; outline-offset: 2px; }
 .lo-cards,.lo-focused .lo-cards { display: block; }
 .lo-card { display: flex; flex-direction: column; gap: 0; padding: 0; border: 0; border-radius: 0; background: none; }
 .lo-card-copy { display: contents; }
 .lo-card-kicker { order: 1; margin: 3px 0 6px; font-size: 9px; }
 .lo-card h3 { order: 2; font-size: 28px; margin-bottom: 6px; }
 .lo-card-copy > p.lo-drive { order: 3; font-size: 16px; margin-bottom: 10px; }
 .lo-card-copy > p.lo-business-name { order: 4; font-size: 11px; line-height: 1.4; margin: 0 0 10px; }
 .lo-card-art,.lo-card-symbol { order: 5; width: 100%; max-height: 150px; aspect-ratio: 16 / 9; object-fit: cover; margin-bottom: 12px; }
 .lo-description { order: 6; }
 .lo-card-copy > p.lo-description { font-size: 12px; line-height: 1.55; }
 .lo-drive-note { order: 7; }
 .lo-map-link { order: 8; width: 100%; font-size: 11px; padding-inline: 6px; }
 .lo-all-link { min-height: 30px; color: #795c30; font-size: 11px; margin-bottom: 6px; text-align: left; }
 .location-explorer:not(.lo-ready) .lo-below { margin-top: 15px; }
 .location-explorer:not(.lo-ready) .lo-list-heading { display: none; }
 .location-explorer:not(.lo-ready) .lo-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; }
 .location-explorer:not(.lo-ready) .lo-card + .lo-card { margin-top: 0; }
}
@media (min-width: 1050px) {
 .lo-heading { align-items: end; padding-inline: 24px; }
 .lo-intro { font-size: 16px; }
 .lo-intro strong { font: 600 clamp(18px,1.45vw,22px)/1.35 var(--serif); }
 .lo-atlas { max-width: calc(clamp(470px,100svh - 330px,620px) * 1.5 + clamp(154px,13vw,194px) + clamp(246px,20vw,298px) + 18px); margin-inline: auto; }
 .lo-categories button[aria-pressed="true"] { background: #80602d; color: #fff1d2; margin-inline: -10px; padding-inline: 10px; }
 .lo-categories button[aria-pressed="true"] .lo-category-icon { background: transparent; border-color: #e0c99c; color: #fff1d2; box-shadow: none; }
 .lo-legend-leaf { height: auto; }
 .lo-place-row { min-height: 47px; }
 .lo-row-drive { font-size: 12px; }
 .lo-arrival-marker { fill: none; stroke: currentColor; stroke-width: 1.6; }
}
@media (min-width: 1050px) and (max-height: 820px) {
 .location-section { padding-top: 14px; }
 .lo-heading h2 { font-size: 44px; }
 .lo-intro { font-size: 14px; line-height: 1.65; }
 .lo-intro strong { font-size: 19px; }
}
@media (min-width: 1050px) {
 .lo-place-row { padding-block: 4px; }
}
@media (min-width: 1050px) and (max-height: 820px) {
 .location-section { padding-top: 8px; }
 .lo-heading { padding-bottom: 10px; }
}
@media (max-width: 1049px) {
 .lo-below { margin-top: 2px; }
}
@media (min-width: 1050px) {
 .lo-legend { display: flex; flex-direction: column; }
 .lo-categories { flex: 1; grid-auto-rows: minmax(51px,1fr); }
 .lo-card-region { display: flex; flex-direction: column; min-height: 100%; }
 .lo-ready .lo-place-list { flex: 1; grid-auto-rows: minmax(47px,1fr); }
 .lo-list-heading h3 { font-size: 27px; }
 .lo-card-art { aspect-ratio: 4 / 3; max-height: clamp(150px,100svh - 660px,230px); }
 .lo-below { position: relative; }
 .lo-below::after { content: ''; position: absolute; right: 0; bottom: 0; width: 70px; height: 70px; background: url('assets/welcome/corner-botanical-69ee2a91.webp') center / contain no-repeat; transform: rotate(180deg); opacity: .2; pointer-events: none; }
 .lo-card-region { position: relative; z-index: 1; }
}
@media (min-width: 1050px) {
 .lo-card-kicker { display: none; }
}
@media (min-width: 1050px) and (max-height: 820px) {
 .lo-card-art { max-height: 140px; margin-bottom: 10px; }
}
@media (min-width: 1400px) and (min-height: 850px) {
 .lo-categories button { font-size: 16px; }
 .lo-row-name { font-size: 17px; }
 .lo-row-drive { font-size: 13px; }
 .lo-card h3 { font-size: 32px; }
 .lo-card-copy > p.lo-drive { font-size: 18px; }
 .lo-card-copy > p.lo-business-name { font-size: 12px; }
 .lo-card-copy > p.lo-description { font-size: 14px; }
 .lo-card-copy > p.lo-drive-note { font-size: 11px !important; }
 .lo-map-link { font-size: 12px; }
}
@media (min-width: 1050px) {
 .location-explorer[data-category="restaurants"] .lo-legend { padding-bottom: 16px; }
}
@media (min-width: 1050px) and (pointer: coarse) {
 .lo-subcategories button,.lo-all-link { min-height: 44px; }
}

/* Very small screens: preserve the visible nameplates, trim only their outer padding. */
@media (max-width:359px){
 .location-explorer[data-category="essentials"] .lo-pin:not(.lo-pin-home){min-height:24px;padding:1px 0;}
}

.lo-compact-map-label{display:none;}
@media(max-width:1049px){
 .lo-wide-map-label{display:none;}
 .lo-compact-map-label{display:inline;}
}
@media(max-width:359px){.lo-cartouche{font-size:9px;}}

/* Owner-selected centered invitation; the established phone layout stays intact. */
.lo-heading-divider { display: none; }
@media (min-width: 1050px) {
 .lo-heading { display: block; max-width: 1160px; margin-inline: auto; padding: 0 24px 8px; text-align: center; }
 .lo-eyebrow { display: flex; justify-content: center; align-items: center; gap: 16px; margin-bottom: 12px; line-height: 1.4; }
 .lo-eyebrow::before,.lo-eyebrow::after { content: ''; width: 70px; border-top: 1px solid var(--line); }
 .lo-heading h2 { font-size: clamp(36px,3.6vw,52px); line-height: 1.13; }
 .lo-title-break { display: none; }
 .lo-intro { max-width: 850px; margin: 14px auto 0; font-size: 16px; line-height: 1.6; text-wrap: balance; }
 .lo-intro strong { margin-bottom: 8px; font: 400 clamp(19px,1.6vw,23px)/1.35 var(--serif); text-wrap: balance; }
 .lo-heading-divider { display: flex; align-items: center; gap: 8px; max-width: 1060px; height: 30px; margin: 4px auto 0; }
 .lo-heading-divider::before,.lo-heading-divider::after { content: ''; flex: 1; border-top: 1px solid var(--line); }
 .lo-heading-divider img { flex: 0 0 32px; width: 32px; height: 32px; opacity: .8; }
 .lo-arrival { display: flex; justify-content: center; gap: 25px; border: 0; padding: 0; margin: 0 auto 14px; min-height: 44px; }
 .lo-arrival h3 { gap: 8px; letter-spacing: .16em; }
 .lo-arrival p { padding-inline: 25px; border-inline: 1px solid var(--line); line-height: 1.5; }
 .lo-arrival a { font-size: 13px; }
}
@media (min-width: 1050px) and (max-height: 820px) {
 .lo-eyebrow { margin-bottom: 8px; }
 .lo-heading h2 { font-size: clamp(36px,3.4vw,48px); }
 .lo-intro { margin-top: 11px; font-size: 16px; line-height: 1.55; }
 .lo-intro strong { font-size: 22px; margin-bottom: 6px; }
 .lo-heading-divider { margin-top: 0; }
 .lo-arrival { margin-bottom: 10px; }
}

/* Keep the phone invitation inside the frame, clear of every map label. */
.lo-map-hint { display: none; }
@media (max-width: 1049px) {
 .lo-ready .lo-map-frame { border: 2px solid #b39559; border-radius: 2px; background: #242424; padding-bottom: 8px; }
 .lo-ready .lo-map-window { border: 0; }
 .lo-ready .lo-map-hint { display: block; width: fit-content; max-width: calc(100% - 20px); margin: 8px auto 0; padding: 6px 10px; border: 1px solid #8f794b; border-radius: 3px; color: #f4efe3; background: #242424; font: 400 12px/1.4 var(--body); text-align: center; text-wrap: balance; }
}
