/* Lucean Bay local elevator prototype. Scope every rule to this renderer. */
.lb-html { scroll-behavior: smooth; }
.lb-page {
    --lb-ivory: #fcfcfc;
    --lb-white: #fff;
    --lb-ink: #242321;
    --lb-text: #464441;
    --lb-muted: #666;
    --lb-line: #d6d1ca;
    --lb-soft-line: #e9e5df;
    --lb-orange: #ee8012;
    --lb-orange-dark: #d96f08;
    --lb-gold: #a8885b;
    --lb-metal-deep: #6d5543;
    --lb-metal-mid: #b39a82;
    --lb-metal-light: #eee7df;
    --lb-metal-texture: url('../img/bronze-v3.png');
    --lb-container: 1360px;
    margin: 0;
    background: var(--lb-ivory);
    color: var(--lb-ink);
    font-family: "Noto Sans", sans-serif;
    font-size: 16px;
    line-height: 1.6;
    scroll-behavior: smooth;
}

@supports (background-image: image-set(url('x') type('image/webp'))) {
    .lb-page {
        --lb-metal-texture: image-set(url('../img/bronze-v3.webp') type('image/webp'), url('../img/bronze-v3.png') type('image/png'));
    }
}

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

.lb-page img { display: block; max-width: 100%; }
.lb-page button,
.lb-page input,
.lb-page select { font: inherit; }
.lb-page a { color: inherit; text-decoration: none; }
.lb-page button { color: inherit; }
.lb-page button:focus-visible,
.lb-page a:focus-visible,
.lb-page input:focus-visible,
.lb-page select:focus-visible,
.lb-page summary:focus-visible {
    outline: 3px solid var(--lb-orange);
    outline-offset: 3px;
}

.lb-landing { position: relative; overflow: clip; }
.lb-skip-link {
    position: fixed;
    z-index: 1000;
    top: 12px;
    left: 12px;
    padding: 10px 16px;
    transform: translateY(-160%);
    border-radius: 3px;
    background: var(--lb-ink);
    color: white !important;
}
.lb-skip-link:focus { transform: translateY(0); }

.lb-journey {
    display: grid;
    grid-template-columns: clamp(80px, 7.5vw, 128px) minmax(0, 1fr) clamp(180px, 14.5vw, 230px);
    align-items: stretch;
    width: 100%;
    background: #b29b83;
}
.lb-journey__left-rail,
.lb-journey__right-rail {
    position: relative;
    min-width: 0;
    background-color: #62462e;
    background-image: linear-gradient(110deg,rgba(35,27,21,.46) 0%,rgba(99,77,57,.34) 44%,rgba(43,32,24,.5) 100%),var(--lb-metal-texture,none);
    background-position: center;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    box-shadow: inset 1px 0 rgba(255,255,255,.36), inset -5px 0 10px rgba(31,20,12,.28), 0 0 13px rgba(46,32,20,.14);
}
.lb-journey__left-rail::before,
.lb-journey__right-rail::before {
    position: absolute;
    top: 0;
    right: 8%;
    bottom: 0;
    width: 1px;
    content: "";
    background: rgba(255,249,237,.58);
    box-shadow: 2px 0 rgba(44,29,17,.22);
}
.lb-journey__left-rail::after,
.lb-journey__right-rail::after {
    position: absolute;
    top: 0;
    right: 5%;
    bottom: 0;
    width: 1px;
    content: "";
    background: rgba(230,209,182,.32);
}
.lb-journey__center { min-width: 0; background: #f3f0eb; }
.lb-header {
    position: absolute;
    z-index: 5;
    top: 0;
    right: 0;
    left: 0;
    display: flex;
    min-height: 84px;
    align-items: center;
    justify-content: space-between;
    gap: clamp(12px, 2vw, 30px);
    padding: 12px clamp(20px, 3vw, 48px);
    color: var(--lb-ink);
    background: linear-gradient(180deg, rgba(250,247,241,.78), rgba(250,247,241,.45) 68%, rgba(250,247,241,0));
}
.lb-header__wordmark { display: grid; flex: 0 0 auto; gap: 3px; color: #33271d; font-family: "Tenor Sans", sans-serif; font-size: 20px; letter-spacing: .17em; line-height: 1.1; }
.lb-header__wordmark small { font-family: "Noto Sans", sans-serif; font-size: 8px; font-weight: 600; letter-spacing: .2em; }
.lb-header__nav,
.lb-header__actions { display: flex; align-items: center; }
.lb-header__nav { justify-content: center; gap: clamp(14px, 2vw, 34px); margin-inline: auto; }
.lb-header__nav a { color: #43372c; font-size: 12px; text-shadow: 0 1px 8px rgba(255,255,255,.45); transition: color .2s ease; }
.lb-header__nav a:hover { color: #1f1914; }
.lb-header__actions { gap: 16px; }
.lb-language { position: relative; display: inline-flex; align-items: center; color: #766657; font-size: 13px; letter-spacing: 0; }
.lb-language__dropdown { position: relative; }
.lb-language__summary { display: inline-flex; min-width: 94px; min-height: 44px; align-items: center; justify-content: center; gap: 9px; padding: 7px 11px; border: 1px solid rgba(128,99,69,.42); border-radius: 999px; background: rgba(255,253,249,.76); color: #493a2a; cursor: pointer; font-size: 13px; font-weight: 600; line-height: 1; list-style: none; white-space: nowrap; transition: background-color .16s ease, border-color .16s ease; }
.lb-language__summary::-webkit-details-marker { display: none; }
.lb-language__summary:hover,
.lb-language__dropdown[open] > .lb-language__summary { border-color: rgba(128,99,69,.72); background: #fffdf9; }
.lb-language__globe { width: 17px; height: 17px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.35; }
.lb-language__chevron { width: 13px; height: 13px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; transition: transform .16s ease; }
.lb-language__dropdown[open] .lb-language__chevron { transform: rotate(180deg); }
.lb-language__options { position: absolute; z-index: 60; top: calc(100% + 8px); inset-inline-end: 0; display: grid; width: max-content; min-width: 208px; max-width: min(280px,calc(100vw - 24px)); max-height: min(60svh,420px); overflow: auto; padding: 6px; border: 1px solid rgba(128,99,69,.38); border-radius: 14px; background: #fffdf9; color: #40372e; box-shadow: 0 12px 30px rgba(38,29,19,.18); letter-spacing: 0; }
.lb-language__option { display: flex; min-height: 44px; align-items: center; padding: 9px 12px; border-radius: 9px; color: inherit; font-size: 14px; line-height: 1.3; text-decoration: none; white-space: nowrap; }
.lb-language__option:hover,
.lb-language__option[aria-current="page"] { background: #f3eee6; color: #493a2a; }
.lb-language__option[aria-current="page"] { font-weight: 700; }
.lb-language__option[aria-current="page"]::after { margin-inline-start: auto; padding-inline-start: 20px; color: #a46c2b; content: "✓"; }
.lb-page[dir="rtl"] .lb-language__options { direction: rtl; inset-inline-start: auto; inset-inline-end: 0; text-align: right; }
.lb-button {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 12px 25px;
    border: 1px solid transparent;
    border-radius: 50px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.lb-button:hover { transform: translateY(-1px); }
.lb-button--primary { background: var(--lb-orange); color: #211b15 !important; }
.lb-page .lb-button--primary { color: #fff !important; }
.lb-button--primary:hover { background: var(--lb-orange-dark); }
.lb-text-link {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    gap: 8px;
    padding: 7px 0;
    border: 0;
    background: transparent;
    color: var(--lb-text);
    cursor: pointer;
    font-size: 13px;
    text-align: left;
}
.lb-text-link:hover { color: var(--lb-orange-dark); }
.lb-eyebrow { margin: 0 0 15px; color: var(--lb-gold); font-size: 11px; font-weight: 600; letter-spacing: .16em; line-height: 1.5; text-transform: uppercase; }
.lb-hero {
    position: relative;
    display: flex;
    min-height: clamp(680px, 52vw, 810px);
    align-items: center;
    isolation: isolate;
    overflow: hidden;
    background: #eee9e1;
    color: var(--lb-ink);
}
.lb-hero__image,
.lb-hero__wash { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; }
.lb-hero__image { object-fit: cover; object-position: 58% 48%; }
.lb-hero__wash { z-index: -1; background: linear-gradient(90deg, rgba(250,248,243,.96) 0%, rgba(250,248,243,.92) 21%, rgba(250,248,243,.7) 39%, rgba(250,248,243,.22) 55%, rgba(250,248,243,0) 67%), linear-gradient(180deg, rgba(250,248,243,.42), transparent 22%); }
.lb-hero__content { position: relative; z-index: 1; width: min(100%, 760px); padding: 130px clamp(38px, 4.5vw, 68px) 92px; }
.lb-hero .lb-eyebrow { color: #806648; }
.lb-display { margin: 0; color: inherit; font-family: "Tenor Sans", sans-serif; font-size: clamp(43px, 4.05vw, 60px); font-weight: 400; letter-spacing: -.025em; line-height: 1.14; }
.lb-hero__title-line { color: #805b34; }
.lb-hero__lead { max-width: 345px; margin: 18px 0 22px; color: #413a33; font-size: 15px; line-height: 1.7; }
.lb-page .lb-hero .lb-button--primary { min-height: 48px; padding-inline: 24px; border-radius: 50px; color: #fff !important; }
.lb-scroll-cue { display: flex; width: fit-content; align-items: center; gap: 11px; margin: 20px 0 0; color: #554b41; font-size: 11px; letter-spacing: .025em; }
.lb-scroll-cue__icon { position: relative; display: grid; width: 1px; height: 27px; place-items: center; margin-right: 4px; background: #a8885b; color: transparent; font-size: 0; animation: lb-scroll-nudge 1.8s ease-in-out infinite; }
.lb-scroll-cue__icon::after { position: absolute; top: 19px; left: -3px; content: "↓"; color: #725735; font-size: 11px; }
.lb-hero__facts { position: absolute; z-index: 1; right: 30px; bottom: 0; left: 0; display: flex; align-items: center; gap: clamp(22px, 4vw, 58px); min-height: 82px; margin: 0; padding: 12px clamp(38px, 4.5vw, 68px); border-top: 1px solid rgba(101,77,53,.24); background: linear-gradient(90deg,rgba(250,248,243,.97),rgba(250,248,243,.87) 61%,rgba(250,248,243,0)); }
.lb-hero__facts > div { display: grid; gap: 1px; }
.lb-hero__facts dd { margin: 0; color: #302820; font-family: "Tenor Sans", sans-serif; font-size: clamp(22px, 2vw, 29px); line-height: 1.1; }
.lb-hero__facts dt { color: #6c6258; font-size: 9px; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.lb-floor-intro { padding: 44px clamp(32px, 4.5vw, 68px) 42px; border-bottom: 1px solid #d8d0c5; background: #f5f2ed; }
.lb-floor-intro .lb-eyebrow { margin-bottom: 11px; }
.lb-floor-intro__content { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,.72fr); align-items: end; gap: 30px; }
.lb-floor-intro h2 { max-width: 560px; margin: 0; color: #292723; font-family: "Tenor Sans", sans-serif; font-size: clamp(30px,3vw,42px); font-weight: 400; line-height: 1.15; }
.lb-floor-intro__content p { max-width: 370px; margin: 0; color: #625c54; font-size: 14px; line-height: 1.65; }
@keyframes lb-scroll-nudge { 50% { transform: translateY(3px); } }
.lb-floor-block { position: relative; isolation: isolate; contain: paint; overflow: hidden; padding-bottom: 40px; scroll-margin-top: 16px; background: #f2eee8; }
.lb-floor-scene {
    position: relative;
    display: flex;
    min-height: clamp(580px, 44vw, 660px);
    align-items: center;
    isolation: isolate;
    contain: paint;
    overflow: hidden;
    padding: 64px clamp(30px, 4.5vw, 68px);
    background: #eae5dc;
    scroll-margin-top: 20px;
}
.lb-floor-scene__photo,
.lb-floor-scene__wash { position: absolute; z-index: -2; inset: 0; margin: 0; }
.lb-floor-scene__photo { overflow: hidden; }
.lb-floor-scene__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 54%; transition: opacity .28s ease; }
.lb-floor-scene__wash { z-index: -1; background: linear-gradient(90deg, rgba(250,248,244,.96) 0%, rgba(250,248,244,.9) 25%, rgba(250,248,244,.66) 39%, rgba(250,248,244,.16) 56%, transparent 68%); }
.lb-floor-scene--sky .lb-floor-scene__wash { background: linear-gradient(90deg, rgba(250,248,244,.96) 0%, rgba(250,248,244,.88) 26%, rgba(250,248,244,.6) 40%, rgba(250,248,244,.12) 57%, transparent 68%); }
.lb-floor-scene__content { position: relative; z-index: 1; width: 100%; max-width: 1040px; margin: 0 auto; }
.lb-floor-scene__copy { width: min(46%, 350px); }
.lb-floor-scene__copy h2.lb-display { max-width: 420px; font-size: clamp(36px, 3.15vw, 48px); line-height: 1.16; }
.lb-floor-scene__lead { max-width: 350px; margin: 16px 0 18px; color: #504e4b; font-size: 15px; line-height: 1.65; }
.lb-floor-scene__location { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; clip-path: inset(50%); }
.lb-floor-number { display: block; margin: 0 0 8px; color: rgba(128,91,52,.8); font-family: "Tenor Sans", sans-serif; font-size: 24px; line-height: 1; }
.lb-location-tray {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto auto;
    grid-template-rows: auto;
    align-items: center;
    gap: 7px 20px;
    padding: 17px clamp(20px, 4.5vw, 68px) 19px;
    border-bottom: 1px solid #e1dcd4;
    background: #f7f5f1;
}
.lb-location-tray__heading { display: contents; }
.lb-location-tray__heading > span { grid-column: 1; grid-row: 1; color: #766c61; font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.lb-location-tray__heading .lb-text-link { grid-column: 3; grid-row: 1; min-height: 30px; padding: 2px 0 2px 12px; color: #51483e; font-size: 12px; white-space: nowrap; }
.lb-location-tray__views { display: flex; min-height: 30px; align-items: center; justify-content: center; gap: 8px; grid-column: 2; grid-row: 1; color: #766c61; font-size: 10px; white-space: nowrap; }
.lb-location-tray__views button { display: grid; width: 28px; height: 28px; flex: 0 0 auto; place-items: center; padding: 0; border: 1px solid #d5cec5; border-radius: 50%; background: #fffdfa; color: #51483e; cursor: pointer; font-size: 17px; line-height: 1; }
.lb-location-tray__views button:disabled { opacity: .35; cursor: default; }
.lb-location-tray__views button:not(:disabled):hover { border-color: var(--lb-orange); color: var(--lb-orange-dark); }
.lb-location-tray__items { display: flex; min-width: 0; align-items: stretch; gap: 14px; grid-column: 1/-1; grid-row: 2; overflow-x: auto; padding: 2px 0 4px; scrollbar-width: thin; scrollbar-color: #c7b69f transparent; }
.lb-location-card { display: grid; flex: 0 0 150px; gap: 2px; }
.lb-location-choice { display: grid; width: 100%; gap: 6px; padding: 0; border: 0; background: transparent; cursor: pointer; text-align: left; }
.lb-location-choice:hover .lb-location-choice__image,
.lb-location-choice.is-selected .lb-location-choice__image { outline: 1px solid #a8885b; outline-offset: 2px; }
.lb-location-choice__image { display: block; overflow: hidden; height: 90px; background: #e6e1da; }
.lb-location-choice__image img { width: 100%; height: 100%; object-fit: cover; }
.lb-location-choice__label { overflow: hidden; color: #544b42; font-size: 11px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.lb-location-card__count { color: #766c61; font-size: 9px; line-height: 1.3; }
.lb-elevator-panel {
    position: sticky;
    top: calc(50vh - 116px);
    display: grid;
    gap: 10px;
    width: min(100% - 30px, 164px);
    margin-inline: auto;
    padding: 12px 10px 13px;
    border: 1px solid rgba(44,34,26,.62);
    border-radius: 8px;
    background: linear-gradient(110deg,rgba(236,228,218,.95),rgba(174,151,129,.98) 44%,rgba(224,211,194,.96)),var(--lb-metal-texture,none);
    background-size: cover;
    box-shadow: inset 0 1px 1px rgba(255,255,255,.78), inset 0 -2px 5px rgba(35,25,17,.34), 0 4px 12px rgba(25,17,11,.27), 0 0 0 3px rgba(56,42,30,.22);
    transform: none;
}
.lb-elevator-panel__display { display: grid; gap: 4px; padding: 6px 8px 7px; border: 1px solid #1e1e1b; border-radius: 3px; background: linear-gradient(180deg,#181a18,#292a25); box-shadow: inset 0 1px 5px rgba(0,0,0,.8), 0 1px rgba(255,255,255,.58); color: #e2a34a; }
.lb-elevator-panel__screen-label { color: #b7a58f; font-size: 8px; font-weight: 600; letter-spacing: .18em; line-height: 1; }
.lb-elevator-panel__screen-readout { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-family: Consolas, "SFMono-Regular", monospace; font-size: 24px; line-height: 1; text-shadow: 0 0 8px rgba(230,158,62,.24); }
.lb-elevator-panel__direction { min-width: 14px; color: #f0b04c; font-family: sans-serif; font-size: 18px; text-align: center; }
.lb-elevator-panel__keys { display: grid; gap: 7px; }
.lb-floor-key { display: grid; min-height: 44px; grid-template-columns: 44px minmax(0,1fr); align-items: center; gap: 7px; color: #3d332a; font-size: 9px; line-height: 1.15; text-decoration: none; }
.lb-floor-key__button { display: grid; width: 42px; height: 42px; place-items: center; padding: 3px; border: 1px solid #6e6257; border-radius: 50%; background: linear-gradient(145deg,#eee8e1,#bcb2a7 49%,#f8f5f0 52%,#d7cec3); box-shadow: inset 0 1px 1px rgba(255,255,255,.9), inset 0 -2px 3px rgba(42,33,25,.32), 0 2px 3px rgba(44,33,23,.3); transition: box-shadow .14s ease, border-color .14s ease; }
.lb-floor-key__button > span { display: grid; width: 100%; height: 100%; place-items: center; border: 1px solid #c5b9aa; border-radius: 50%; background: linear-gradient(145deg,#f8f5f0,#d8cfc3); color: #3c342d; font-family: "Tenor Sans", sans-serif; font-size: 12px; line-height: 1; box-shadow: inset 0 1px 2px rgba(255,255,255,.95), 0 1px 1px rgba(43,31,19,.22); }
.lb-floor-key__label { max-width: 83px; color: #352b23; font-size: 9px; }
.lb-floor-key:hover .lb-floor-key__button { border-color: #4d3d2e; box-shadow: inset 0 1px 1px rgba(255,255,255,.9), inset 0 -2px 3px rgba(42,33,25,.32), 0 2px 3px rgba(44,33,23,.3), 0 0 0 1px rgba(255,255,255,.4); }
.lb-floor-key:active .lb-floor-key__button { transform: translateY(1px); }
.lb-floor-key.is-current .lb-floor-key__button { border-color: #bf7a23; box-shadow: inset 0 1px 1px rgba(255,255,255,.85), inset 0 -2px 3px rgba(42,33,25,.28), 0 1px 3px rgba(44,33,23,.25), 0 0 0 2px rgba(230,150,48,.68), 0 0 8px rgba(236,153,48,.46); }
.lb-floor-key.is-current .lb-floor-key__button > span { color: #9b5b12; }
.lb-door-transition { --lb-door-gap: 10px; --lb-door-close-duration: 180ms; position: absolute; z-index: 1000; inset: 0; overflow: hidden; pointer-events: none; visibility: hidden; transition: visibility .36s linear; }
.lb-elevator-shaft { position: absolute; z-index: 1; top: 0; bottom: 0; left: 50%; width: calc(var(--lb-door-gap) * 2 + 4px); overflow: hidden; transform: translateX(-50%); background: linear-gradient(90deg,#51473b 0%,#c6b49b 24%,#726758 48%,#d4c3aa 57%,#645949 100%); opacity: 0; transition: opacity .12s ease; }
.lb-elevator-shaft::before,
.lb-elevator-shaft::after { position: absolute; z-index: 1; top: 0; bottom: 0; width: 3px; content: ""; background: linear-gradient(90deg,#514a40,#d1c4b3 42%,#423b32); }
.lb-elevator-shaft::before { left: 0; }
.lb-elevator-shaft::after { right: 0; }
.lb-elevator-shaft__track { position: absolute; inset: -100% 0; background: repeating-linear-gradient(to bottom,transparent 0,transparent 12%,rgba(239,230,212,.95) 12.3%,rgba(118,101,80,.9) 13%,rgba(74,64,52,.88) 14%,rgba(74,64,52,.88) 22%,rgba(240,230,212,.92) 22.5%,rgba(198,177,149,.86) 23%,transparent 24%,transparent 49%); background-size: 100% 132px; filter: blur(1px); }
.lb-door-transition.is-shaft-live .lb-elevator-shaft { opacity: 1; }
.lb-door-transition::before,
.lb-door-transition::after { position: absolute; z-index: 2; top: 0; bottom: 0; width: 50%; content: ""; background-color: #62462e; background-image: linear-gradient(110deg,rgba(35,27,21,.46) 0%,rgba(99,77,57,.34) 44%,rgba(43,32,24,.5) 100%),var(--lb-metal-texture,none); background-position: center; background-size: 100% 100%; background-repeat: no-repeat; box-shadow: inset 0 0 28px rgba(62,45,31,.13); transition: transform .36s cubic-bezier(.22,.7,.2,1); }
.lb-door-transition::before { z-index: 2; left: 0; transform: translateX(-101%); }
.lb-door-transition::after { right: 0; transform: translateX(101%); background-position: right center; }
.lb-door-transition.is-active { visibility: visible; }
.lb-door-transition.is-closed::before { transform: translateX(calc(var(--lb-door-gap) * -1)); transition-duration: var(--lb-door-close-duration); }
.lb-door-transition.is-closed::after { transform: translateX(var(--lb-door-gap)); transition-duration: var(--lb-door-close-duration); }
.lb-section { padding: 88px 20px; }
.lb-section__inner { width: min(100%, var(--lb-container)); margin: 0 auto; }
.lb-section__intro { max-width: 680px; margin-bottom: 40px; }
.lb-section__intro h2,
.lb-dialog__head h2,
.lb-request__inner h2 {
    margin: 0;
    font-family: "Tenor Sans", sans-serif;
    font-size: clamp(38px, 4vw, 52px);
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.18;
}
.lb-section__lead { max-width: 660px; margin: 18px 0 0; color: var(--lb-muted); font-size: 16px; line-height: 1.65; }

.lb-residences { padding-top: 100px; padding-bottom: 100px; background: var(--lb-ivory); }
.lb-residences__intro { margin-bottom: 38px; }
.lb-residence-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
.lb-residence-card { overflow: hidden; border: 1px solid var(--lb-soft-line); border-radius: 20px; background: white; }
.lb-residence-card__plan {
    position: relative;
    display: grid;
    width: 100%;
    min-height: 250px;
    place-items: center;
    padding: 18px;
    border: 0;
    background: #f8f6f2;
    cursor: zoom-in;
}
.lb-residence-card__plan img { width: 100%; height: 240px; object-fit: contain; }
.lb-residence-card__plan > span {
    position: absolute;
    right: 16px;
    bottom: 14px;
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    border-radius: 20px;
    background: rgba(252,252,252,.93);
    color: var(--lb-ink);
    font-size: 11px;
}
.lb-residence-card__body { padding: 19px 21px 21px; }
.lb-residence-card__type { margin: 0 0 3px; color: var(--lb-muted); font-size: 12px; }
.lb-residence-card h3 { margin: 0 0 5px; font-family: "Tenor Sans", sans-serif; font-size: 28px; font-weight: 400; line-height: 1.2; }
.lb-residence-card__body .lb-text-link { margin-top: 8px; color: var(--lb-orange-dark); }
.lb-residences__note { margin: 20px 0 0; color: var(--lb-muted); font-size: 12px; line-height: 1.6; }

.lb-about { padding-top: 96px; padding-bottom: 96px; background: #f4f1ec; }
.lb-about .lb-section__intro { max-width: 750px; }
.lb-about__image { overflow: hidden; margin: 38px 0 34px; background: #ded8ce; }
.lb-about__image img { width: 100%; aspect-ratio: 4/3; object-fit: cover; object-position: center 54%; }
.lb-facts { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin: 42px 0 0; }
.lb-fact { min-height: 124px; padding: 20px; border: 1px solid #e0d9d0; border-radius: 14px; background: rgba(255,255,255,.54); }
.lb-fact dt { color: var(--lb-muted); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.lb-fact dd { margin: 12px 0 0; color: var(--lb-ink); font-family: "Tenor Sans", sans-serif; font-size: clamp(20px,2vw,28px); line-height: 1.25; }
.lb-fact:nth-child(n+3) dd { font-family: "Noto Sans", sans-serif; font-size: 15px; font-weight: 600; line-height: 1.5; }
.lb-about__ownership { margin: 18px 0 40px; color: var(--lb-muted); font-size: 12px; }
.lb-about__notes { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; border-top: 1px solid var(--lb-line); }
.lb-about__notes article { display: grid; grid-template-columns: 42px 1fr; gap: 12px; padding-top: 24px; }
.lb-about__index { color: var(--lb-gold); font-family: "Tenor Sans", sans-serif; font-size: 15px; }
.lb-about__notes h3 { margin: 0 0 8px; font-family: "Tenor Sans", sans-serif; font-size: 22px; font-weight: 400; line-height: 1.3; }
.lb-about__notes p { margin: 0; color: var(--lb-muted); font-size: 13px; line-height: 1.65; }
.lb-about__notes small { display: block; margin-top: 12px; color: var(--lb-muted); font-size: 11px; line-height: 1.6; }
.lb-about__wellness { padding-left: 28px; border-left: 1px solid var(--lb-line); }

.lb-faq { padding-top: 96px; padding-bottom: 100px; background: #fff; }
.lb-faq__inner { display: grid; grid-template-columns: minmax(250px,.75fr) minmax(0,1.25fr); gap: clamp(36px,8vw,130px); }
.lb-faq__list { border-top: 1px solid var(--lb-line); }
.lb-faq__item { border-bottom: 1px solid var(--lb-line); }
.lb-faq__item summary { display: flex; min-height: 64px; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; font-size: 14px; font-weight: 600; }
.lb-faq__item summary::-webkit-details-marker { display: none; }
.lb-faq__plus { display: grid; width: 28px; height: 28px; flex: 0 0 auto; place-items: center; border: 1px solid var(--lb-line); border-radius: 50%; color: var(--lb-gold); font-size: 18px; font-weight: 400; transition: transform .18s ease; }
.lb-faq__item[open] .lb-faq__plus { transform: rotate(45deg); }
.lb-faq__item p { max-width: 660px; margin: -2px 38px 20px 0; color: var(--lb-muted); font-size: 13px; line-height: 1.65; }

.lb-request { position: relative; overflow: hidden; padding-top: 100px; padding-bottom: 100px; background: #e9e3da; }
.lb-request__inner { position: relative; z-index: 1; width: min(100%, var(--lb-container)); margin: 0 auto; }
.lb-request__inner h2 { max-width: 770px; font-size: clamp(42px,5vw,64px); }
.lb-request__inner > p:not(.lb-eyebrow) { max-width: 590px; margin: 20px 0 26px; color: var(--lb-text); font-size: 15px; line-height: 1.65; }
.lb-request__mark { position: absolute; right: 5vw; bottom: -40px; color: rgba(168,136,91,.1); font-family: "Tenor Sans", sans-serif; font-size: clamp(72px,15vw,210px); letter-spacing: .08em; line-height: .8; text-align: right; }
.lb-footer { display: flex; min-height: 88px; align-items: center; justify-content: space-between; gap: 18px; width: min(100% - 40px,var(--lb-container)); margin: 0 auto; color: var(--lb-muted); font-size: 11px; }
.lb-footer__brand { color: var(--lb-ink); font-family: "Tenor Sans", sans-serif; letter-spacing: .14em; }
.lb-footer__brand span { display: block; margin-top: 2px; color: var(--lb-muted); font-family: "Noto Sans", sans-serif; font-size: 8px; letter-spacing: .17em; }
.lb-footer__agency { display: inline-flex; align-items: center; gap: 9px; color: var(--lb-muted); font-size: 10px; }
.lb-footer__agency img { width: 96px; height: auto; }
.lb-footer > a:last-child:hover { color: var(--lb-orange-dark); }

.lb-dialog {
    width: min(100% - 32px, 1120px);
    max-width: 1120px;
    max-height: min(92svh, 980px);
    padding: 0;
    overflow: auto;
    border: 1px solid rgba(168,136,91,.36);
    border-radius: 20px;
    background: var(--lb-ivory);
    color: var(--lb-ink);
    box-shadow: 0 25px 90px rgba(23,19,14,.28);
}
.lb-dialog::backdrop { background: rgba(24,22,19,.64); backdrop-filter: blur(3px); }
.lb-dialog__shell { padding: 24px; }
.lb-dialog__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.lb-dialog__head .lb-eyebrow { margin-bottom: 6px; }
.lb-dialog__head h2 { font-size: clamp(24px,3vw,34px); line-height: 1.25; }
.lb-icon-button,
.lb-gallery-arrow {
    display: grid;
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--lb-line);
    border-radius: 50%;
    background: white;
    cursor: pointer;
    font-size: 25px;
    line-height: 1;
}
.lb-icon-button:hover,
.lb-gallery-arrow:hover { border-color: var(--lb-orange); color: var(--lb-orange-dark); }
.lb-gallery-filters { display: flex; gap: 8px; overflow-x: auto; margin: 0 0 14px; padding: 2px 0 8px; }
.lb-gallery-filters button { min-height: 40px; flex: 0 0 auto; padding: 8px 15px; border: 1px solid var(--lb-line); border-radius: 24px; background: white; cursor: pointer; color: var(--lb-text); font-size: 11px; }
.lb-gallery-filters button[aria-pressed="true"] { border-color: var(--lb-orange); background: var(--lb-orange); color: white; }
.lb-gallery-viewer { display: grid; grid-template-columns: 46px minmax(0,1fr) 46px; align-items: center; gap: 16px; }
.lb-gallery-viewer figure { min-width: 0; margin: 0; }
.lb-gallery-viewer img { width: 100%; max-height: 66svh; aspect-ratio: 16/9; object-fit: contain; background: #eeeae4; }
.lb-gallery-viewer figcaption { display: flex; justify-content: space-between; gap: 20px; padding-top: 10px; color: var(--lb-muted); font-size: 12px; }
.lb-plan-dialog { width: min(100% - 32px, 900px); }
.lb-plan-dialog__figure { display: grid; min-height: 280px; place-items: center; margin: 0; padding: 14px; border-radius: 12px; background: #f5f2ed; }
.lb-plan-dialog__figure img { width: 100%; max-height: 70svh; object-fit: contain; }
.lb-plan-dialog__figure figcaption { margin-top: 12px; color: var(--lb-muted); font-size: 13px; }
.lb-plan-dialog__full-size { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; align-self: center; margin: 8px auto 0; padding: 8px 16px; border: 1px solid var(--lb-line); border-radius: 9px; color: #5c452d; font-size: 15px; font-weight: 600; text-underline-offset: 3px; }
.lb-plan-dialog__full-size:hover { border-color: var(--lb-orange); color: var(--lb-orange-dark); }
.lb-request-dialog { width: min(100% - 32px, 690px); }
.lb-request-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.lb-form-field { display: grid; gap: 6px; color: var(--lb-text); font-size: 12px; }
.lb-form-field input,
.lb-form-field select { width: 100%; min-height: 48px; padding: 10px 13px; border: 1px solid var(--lb-line); border-radius: 9px; background: white; color: var(--lb-ink); font-size: 13px; }
.lb-form-field input::placeholder { color: #89857f; }
.lb-request-form__notice,
.lb-request-form__result { grid-column: 1 / -1; margin: 0; color: var(--lb-muted); font-size: 12px; line-height: 1.55; }
.lb-request-form .lb-button { grid-column: 1 / -1; justify-self: start; }
.lb-request-form__result { padding: 14px; border: 1px solid var(--lb-line); border-radius: 10px; background: #f4f1ec; color: var(--lb-text); }
.lb-request-form__result strong { display: block; margin-bottom: 5px; color: var(--lb-ink); }

@media (max-width: 1199px) {
    .lb-journey { grid-template-columns: clamp(54px, 5.5vw, 70px) minmax(0,1fr) clamp(145px, 13vw, 160px); }
    .lb-header { gap: 14px; padding-inline: 22px; }
    .lb-header__nav { gap: 15px; }
    .lb-header__wordmark { font-size: 17px; }
    .lb-elevator-panel { width: min(100% - 20px, 150px); padding-inline: 8px; }
    .lb-floor-key { grid-template-columns: 42px minmax(0,1fr); gap: 5px; }
    .lb-floor-key__label { font-size: 8px; }
    .lb-floor-scene__copy { width: min(46%, 350px); }
    .lb-hero { min-height: clamp(660px, 66vw, 740px); }
    .lb-hero__content { max-width: 700px; }
    .lb-display { font-size: clamp(43px, 4.2vw, 50px); }
    .lb-floor-intro__content { grid-template-columns: minmax(0,1fr) minmax(220px,.65fr); }
    .lb-floor-scene { min-height: 600px; }
}
@media (max-width: 759px) {
    .lb-door-transition { --lb-door-gap: 4px; }
    .lb-journey { grid-template-columns: 7px minmax(0,1fr) 7px; }
    .lb-journey__left-rail,
    .lb-journey__right-rail { background-color: #62462e; background-image: linear-gradient(110deg,rgba(35,27,21,.46) 0%,rgba(99,77,57,.34) 44%,rgba(43,32,24,.5) 100%),var(--lb-metal-texture,none); background-position: center; background-size: 100% 100%; background-repeat: no-repeat; box-shadow: inset 1px 0 rgba(255,255,255,.32), inset -3px 0 rgba(37,23,13,.3); }
    .lb-journey__left-rail::before,
    .lb-journey__right-rail::before,
    .lb-journey__left-rail::after,
    .lb-journey__right-rail::after { display: none; }
    .lb-header { min-height: 66px; flex-wrap: nowrap; gap: 10px; padding: 10px 15px; }
    .lb-header__wordmark { font-size: 14px; letter-spacing: .12em; }
    .lb-header__wordmark small { font-size: 6px; letter-spacing: .14em; }
    .lb-header { justify-content: space-between; }
    .lb-header__nav { display: none; }
    .lb-header__actions { flex: 0 0 auto; }
    .lb-hero { min-height: 0; flex-direction: column; align-items: stretch; }
    .lb-hero__image { position: relative; z-index: 0; inset: auto; order: 2; width: 100%; height: 300px; flex: 0 0 300px; object-position: center 45%; }
    .lb-hero__wash { display: none; }
    .lb-hero__content { order: 1; width: 100%; max-width: none; padding: 94px 22px 26px; background: #f4f1ec; }
    .lb-hero .lb-display { max-width: 430px; font-size: clamp(29px,7.3vw,32px); line-height: 1.17; }
    .lb-hero__lead { max-width: 440px; margin: 12px 0 18px; font-size: 15px; }
    .lb-hero .lb-button { min-height: 46px; padding: 10px 16px; font-size: 11px; }
    .lb-scroll-cue { display: none; }
    .lb-hero__facts { position: relative; right: auto; bottom: auto; left: auto; order: 3; min-height: 70px; gap: 0; justify-content: space-between; padding: 10px 18px; border-top: 1px solid rgba(101,77,53,.2); background: #f4f1ec; }
    .lb-hero__facts dd { font-size: 22px; }
    .lb-hero__facts dt { font-size: 8px; letter-spacing: .08em; }
    .lb-floor-intro { padding: 32px 22px 30px; }
    .lb-floor-intro__content { grid-template-columns: 1fr; gap: 10px; }
    .lb-floor-intro h2 { font-size: clamp(28px,6vw,34px); }
    .lb-floor-intro__content p { font-size: 13px; }
    .lb-scroll-cue__icon { width: 30px; height: 30px; }
    .lb-elevator-panel { position: fixed; z-index: 1002; top: auto; right: 12px; bottom: calc(6px + env(safe-area-inset-bottom)); left: 12px; display: grid; width: auto; max-height: 70px; grid-template-columns: 62px minmax(0,1fr); align-items: center; gap: 7px; padding: 5px 7px; border-radius: 7px; box-shadow: inset 0 1px 1px rgba(255,255,255,.78), inset 0 -2px 5px rgba(35,25,17,.34), 0 3px 10px rgba(25,17,11,.28), 0 0 0 2px rgba(56,42,30,.22); }
    .lb-elevator-panel__display { min-width: 0; gap: 3px; padding: 4px 5px; }
    .lb-elevator-panel__screen-label { font-size: 6px; }
    .lb-elevator-panel__screen-readout { font-size: 20px; }
    .lb-elevator-panel__direction { font-size: 15px; }
    .lb-elevator-panel__keys { display: flex; min-width: 0; justify-content: space-around; gap: 3px; }
    .lb-floor-key { display: grid; min-width: 35px; min-height: 38px; flex: 1 1 25%; grid-template-columns: 1fr; justify-items: center; gap: 0; }
    .lb-floor-key__button { width: 36px; height: 36px; }
    .lb-floor-key__button > span { font-size: 10px; }
    .lb-floor-key__label { display: none; }
    .lb-floor-scene { display: flex; min-height: 0; flex-direction: column; align-items: stretch; padding: 0; background: var(--lb-ivory); }
    .lb-floor-scene__photo { position: relative; z-index: 0; order: 2; height: 250px; flex: 0 0 auto; }
    .lb-floor-scene__photo img { object-position: center center; }
    .lb-floor-scene__wash { display: none; }
    .lb-floor-scene__content { order: 1; width: 100%; max-width: none; padding: 25px 22px 18px; background: var(--lb-ivory); }
    .lb-floor-scene__copy { width: 100%; }
    .lb-floor-scene__copy h2.lb-display { font-size: clamp(27px,5.5vw,38px); }
    .lb-floor-scene__lead { margin: 12px 0 15px; font-size: 14px; }
    .lb-location-tray { gap: 6px 10px; grid-template-columns: minmax(0,1fr) auto; padding: 12px 14px 14px; }
    .lb-location-tray__views { grid-column: 1/-1; grid-row: 2; justify-self: center; }
    .lb-location-tray__heading > span { font-size: 9px; }
    .lb-location-tray__heading .lb-text-link { grid-column: 2; grid-row: 1; min-height: 30px; max-width: 140px; padding-left: 5px; font-size: 10px; white-space: nowrap; }
    .lb-location-tray__items { gap: 12px; max-width: 100%; grid-row: 3; }
    .lb-location-card { flex-basis: 150px; }
    .lb-location-choice__image { height: 90px; }
    .lb-location-choice__label { font-size: 10px; }
    .lb-section { padding: 60px 22px; }
    .lb-section__intro h2 { font-size: 32px; }
    .lb-section__lead { font-size: 14px; }
    .lb-residence-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
    .lb-residence-card:last-child:nth-child(odd) { grid-column: 1/-1; }
    .lb-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .lb-faq__inner { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 560px) {
    .lb-header { align-items: center; padding: 9px 11px; }
    .lb-header__wordmark { font-size: 13px; }
    .lb-header__wordmark small { font-size: 6px; }
    .lb-hero__content { padding: 102px 18px 24px; }
    .lb-hero__lead { font-size: 14px; }
    .lb-floor-scene__photo { height: 250px; }
    .lb-floor-scene__content { padding: 22px 17px 16px; }
    .lb-floor-scene__copy h2.lb-display { font-size: 27px; }
    .lb-eyebrow { margin-bottom: 10px; font-size: 9px; letter-spacing: .12em; }
    .lb-floor-scene__lead { font-size: 13px; }
    .lb-location-tray { grid-template-columns: minmax(0,1fr) auto; gap: 5px 8px; padding: 10px 10px 12px; }
    .lb-location-tray__heading .lb-text-link { grid-column: 2; grid-row: 1; max-width: 140px; font-size: 9px; }
    .lb-location-tray__views { grid-row: 2; }
    .lb-location-tray__items { gap: 10px; }
    .lb-location-card { flex-basis: 150px; }
    .lb-location-choice__image { height: 90px; }
    .lb-location-choice__label { font-size: 9px; }
    .lb-section { padding: 46px 18px; }
    .lb-section__intro { margin-bottom: 25px; }
    .lb-section__intro h2 { font-size: 29px; line-height: 1.22; }
    .lb-section__lead { margin-top: 13px; font-size: 14px; }
    .lb-residences { padding-top: 56px; padding-bottom: 54px; }
    .lb-residence-grid { grid-template-columns: 1fr; gap: 13px; }
    .lb-residence-card:last-child:nth-child(odd) { grid-column: auto; }
    .lb-residence-card__plan { min-height: 220px; padding: 14px; }
    .lb-residence-card__plan img { height: 205px; }
    .lb-residence-card__body { padding: 15px 17px 17px; }
    .lb-fact { min-height: 98px; padding: 13px; }
    .lb-fact dt { font-size: 9px; }
    .lb-fact dd { margin-top: 8px; font-size: 22px; }
    .lb-fact:nth-child(n+3) dd { font-size: 12px; }
    .lb-about__notes { grid-template-columns: 1fr; gap: 18px; }
    .lb-about__image { margin: 26px 0 26px; }
    .lb-about__image img { aspect-ratio: 1.3/1; }
    .lb-about__notes article { padding-top: 19px; }
    .lb-about__wellness { padding-left: 0; border-left: 0; border-top: 1px solid var(--lb-line); }
    .lb-about__notes h3 { font-size: 20px; }
    .lb-faq__item summary { min-height: 62px; font-size: 13px; }
    .lb-request { padding-top: 58px; padding-bottom: 60px; }
    .lb-request__inner h2 { font-size: 36px; }
    .lb-request__inner > p:not(.lb-eyebrow) { font-size: 14px; }
    .lb-request__mark { right: 10px; bottom: -16px; font-size: 78px; }
    .lb-footer { width: calc(100% - 36px); min-height: 76px; font-size: 9px; }
    .lb-footer__brand { font-size: 10px; letter-spacing: .08em; }
    .lb-footer__brand span { font-size: 6px; }
    .lb-footer__agency { gap: 5px; font-size: 8px; }
    .lb-footer__agency img { width: 72px; }
    .lb-dialog { width: calc(100% - 18px); max-height: calc(100svh - 24px); border-radius: 15px; }
    .lb-dialog__shell { padding: 16px 14px; }
    .lb-dialog__head { gap: 12px; margin-bottom: 12px; }
    .lb-dialog__head h2 { font-size: 23px; }
    .lb-icon-button { width: 42px; height: 42px; }
    .lb-gallery-viewer { grid-template-columns: 38px minmax(0,1fr) 38px; gap: 5px; }
    .lb-gallery-arrow { width: 38px; height: 42px; border-radius: 12px; font-size: 19px; }
    .lb-gallery-viewer { align-items: start; }
    .lb-gallery-viewer figure { display: grid; justify-items: center; }
    .lb-gallery-viewer img { width: 100%; height: auto; max-height: 55svh; aspect-ratio: auto; background: transparent; }
    .lb-gallery-viewer figcaption { gap: 8px; font-size: 10px; }
    .lb-plan-dialog__figure { display: grid; min-height: 0; padding: 4px; background: transparent; }
    .lb-plan-dialog__figure img { width: 100%; height: auto; max-height: 60svh; aspect-ratio: auto; }
    .lb-request-form { grid-template-columns: 1fr; gap: 13px; }
    .lb-request-form__notice,
    .lb-request-form__result,
    .lb-request-form .lb-button { grid-column: 1; }
    .lb-request-form .lb-button { justify-self: stretch; }
    .lb-floor-block { padding-bottom: 24px; }
}

/* V5 progressive floor portal. The document keeps four native scroll stops. */
.lb-floor-tour { --lb-portal-tray-reserve: 184px; --lb-portal-chrome-height: 0px; }
.lb-tour-window { display: none; }
.lb-floor-tour.is-enhanced .lb-tour-window {
    position: sticky;
    z-index: 12;
    top: 0;
    display: grid;
    width: 100%;
    height: 100svh;
    min-height: 0;
    grid-template-columns: clamp(80px, 7.5vw, 128px) minmax(0, 1fr) clamp(180px, 14.5vw, 230px);
    align-items: stretch;
    margin-bottom: 0;
    background: #b29b83;
}
.lb-floor-tour.is-enhanced .lb-floor-markers { margin-top: -100svh; }
.lb-floor-tour.is-enhanced { overflow-anchor: none; }
.lb-floor-tour.is-enhanced .lb-tour-window__center { min-width: 0; min-height: 0; padding: 0; background: #f3f0eb; }
.lb-tour-window__center { min-width: 0; min-height: 0; }
.lb-portal-frame {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    background: #eae5dc;
    box-shadow: inset 0 0 0 1px rgba(68,48,31,.32);
}
.lb-portal-content { width: 100%; height: 100%; min-height: 0; }
.lb-portal-content > [data-floor-content] { display: grid; width: 100%; height: 100%; min-height: 0; grid-template-rows: minmax(0,1fr) 184px; background: var(--lb-ivory); }
.lb-portal-content > [hidden] { display: none !important; }
.lb-portal-content .lb-floor-scene { width: 100%; height: 100%; min-height: 0; padding: clamp(22px, 4vw, 58px) clamp(24px, 4vw, 58px); }
.lb-portal-content .lb-floor-scene__copy { width: min(46%, 390px); }
.lb-portal-content .lb-floor-scene__copy h2.lb-display { overflow-wrap: anywhere; font-size: clamp(30px, 3.1vw, 46px); line-height: 1.13; }
.lb-portal-content .lb-floor-scene__lead { overflow-wrap: anywhere; margin: 12px 0 0; font-size: clamp(13px, 1.2vw, 15px); line-height: 1.5; }
.lb-portal-content .lb-floor-number { margin-bottom: 5px; font-size: 18px; }
.lb-portal-content .lb-location-tray { min-height: 0; grid-template-columns: minmax(0,1fr) auto auto; grid-template-rows: minmax(34px,auto) minmax(0,1fr); gap: 4px 16px; overflow: hidden; padding: 8px clamp(16px, 3vw, 42px) 9px; }
.lb-portal-content .lb-location-tray__items { min-height: 0; gap: 12px; overflow-x: auto; overflow-y: hidden; padding: 1px 2px 4px; }
.lb-portal-content .lb-location-card { flex-basis: 138px; min-width: 0; }
.lb-portal-content .lb-location-choice__image { height: 82px; }
.lb-portal-content .lb-location-choice__label { overflow: visible; white-space: normal; }
.lb-portal-content .lb-location-tray__heading .lb-text-link { max-width: 190px; overflow-wrap: anywhere; white-space: normal; }
.lb-portal-content .lb-location-tray__views { grid-column: 2; grid-row: 1; }
.lb-portal-content .lb-floor-scene__content { max-width: 1120px; }
.lb-portal-content .lb-floor-scene__photo img { object-position: center 54%; }
.lb-tour-window .lb-elevator-panel { position: absolute; z-index: 20; top: 50%; right: 0; bottom: auto; left: 0; flex-shrink: 0; width: min(100% - 14px, 220px); margin: 0 auto; transform: translateY(-50%); }
.lb-page.is-floor-moving .lb-tour-window .lb-elevator-panel { position: absolute; top: 50%; right: 0; bottom: auto; left: 0; width: min(100% - 14px, 220px); margin: 0 auto; transform: translateY(-50%); }
.lb-portal-frame .lb-door-transition { --lb-door-gap: 10px; position: absolute; z-index: 4; inset: 0; overflow: hidden; }
.lb-portal-frame .lb-elevator-shaft { width: calc(var(--lb-door-gap) * 2 + 4px); }
.lb-portal-frame .lb-portal-edge { position: absolute; z-index: 5; inset: 0; pointer-events: none; border: 1px solid rgba(68,48,31,.38); box-shadow: inset 0 0 0 2px rgba(247,239,228,.28); }
.lb-floor-tour.is-enhanced .lb-floor-block { height: 100svh; min-height: 0; overflow: visible; contain: none; padding: 0; scroll-margin-top: 0; background: transparent; }
.lb-floor-tour.is-enhanced .lb-floor-block > .lb-floor-content { display: none; }

@media (min-width: 1600px) {
    .lb-portal-frame .lb-door-transition { --lb-door-gap: 12px; }
}

@media (max-width: 1199px) {
    .lb-floor-tour { --lb-portal-tray-reserve: 180px; }
    .lb-floor-tour.is-enhanced .lb-tour-window { grid-template-columns: clamp(54px, 5.5vw, 70px) minmax(0,1fr) clamp(145px, 13vw, 160px); }
    .lb-portal-content > [data-floor-content] { grid-template-rows: minmax(0,1fr) 180px; }
    .lb-portal-content .lb-location-tray { gap: 4px 9px; padding-inline: 18px; }
    .lb-portal-content .lb-location-card { flex-basis: 126px; }
}
@media (max-width: 759px) {
    .lb-floor-tour { --lb-portal-tray-reserve: 220px; --lb-portal-chrome-height: 72px; }
    .lb-floor-tour.is-enhanced .lb-tour-window { grid-template-columns: 7px minmax(0,1fr) 7px; }
    .lb-tour-window .lb-journey__right-rail { position: static; }
    .lb-floor-tour.is-enhanced .lb-tour-window .lb-journey__left-rail,
    .lb-floor-tour.is-enhanced .lb-tour-window .lb-journey__right-rail { background-color: #62462e; background-image: linear-gradient(110deg,rgba(35,27,21,.46) 0%,rgba(99,77,57,.34) 44%,rgba(43,32,24,.5) 100%),var(--lb-metal-texture,none); background-size: 100% 100%; }
    .lb-tour-window__center { padding: 0; }
    .lb-tour-window__center .lb-portal-frame { height: calc(100svh - 72px - env(safe-area-inset-bottom)); }
    .lb-tour-window .lb-elevator-panel,
    .lb-page.is-floor-moving .lb-tour-window .lb-elevator-panel { position: absolute; z-index: 20; top: auto; right: 12px; bottom: calc(6px + env(safe-area-inset-bottom)); left: 12px; display: grid; width: auto; height: 54px; max-height: none; grid-template-columns: 62px minmax(0,1fr); align-items: center; gap: 7px; margin: 0; padding: 4px 7px; border-radius: 7px; transform: none; }
    .lb-tour-window .lb-elevator-panel__display { min-width: 0; gap: 3px; padding: 4px 5px; }
    .lb-tour-window .lb-elevator-panel__screen-label { font-size: 6px; }
    .lb-tour-window .lb-elevator-panel__screen-readout { font-size: 20px; }
    .lb-tour-window .lb-elevator-panel__direction { font-size: 15px; }
    .lb-tour-window .lb-elevator-panel__keys { display: flex; min-width: 0; justify-content: space-around; gap: 3px; }
    .lb-tour-window .lb-floor-key { display: grid; min-width: 35px; min-height: 40px; flex: 1 1 25%; grid-template-columns: 1fr; justify-items: center; gap: 0; }
    .lb-tour-window .lb-floor-key__button { width: 36px; height: 36px; }
    .lb-tour-window .lb-floor-key__label { display: none; }
    .lb-portal-content > [data-floor-content] { grid-template-rows: minmax(0,1fr) 220px; }
    .lb-portal-content .lb-floor-scene { display: grid; height: auto; min-height: 0; grid-template-rows: minmax(0,1fr); align-items: stretch; padding: 0; background: var(--lb-ivory); }
    .lb-portal-content .lb-floor-scene__photo { position: absolute; z-index: 0; inset: 0; height: auto; min-height: 0; }
    .lb-portal-content .lb-floor-scene__wash { display: none; }
    .lb-portal-content .lb-floor-scene__content { z-index: 1; align-self: start; width: 100%; max-width: none; margin: 0; padding: 15px 18px 12px; background: var(--lb-ivory); }
    .lb-portal-content .lb-floor-scene__copy { width: 100%; }
    .lb-portal-content .lb-floor-scene__copy h2.lb-display { max-width: 100%; font-size: clamp(23px,6vw,28px); line-height: 1.12; }
    .lb-portal-content .lb-floor-scene__lead { max-width: 100%; margin-top: 7px; font-size: 12px; line-height: 1.35; }
    .lb-portal-content .lb-floor-number { display: none; }
    .lb-portal-content .lb-floor-scene .lb-eyebrow { margin-bottom: 5px; font-size: 8px; }
    .lb-portal-content .lb-location-tray { display: grid; grid-template-columns: minmax(0,1fr) auto; grid-template-rows: 30px minmax(0,1fr); align-content: start; gap: 3px 7px; overflow: hidden; padding: 4px 10px 6px; }
    .lb-portal-content .lb-location-tray__heading > span { grid-column: 1; grid-row: 1; align-self: center; font-size: 8px; }
    .lb-portal-content .lb-location-tray__heading .lb-text-link { grid-column: 2; grid-row: 1; align-self: center; max-width: 145px; min-height: 26px; padding: 1px 0 1px 4px; font-size: 9px; }
    .lb-portal-content .lb-location-tray__views { grid-column: 1/-1; grid-row: 1; justify-self: center; min-height: 26px; gap: 4px; padding-inline: 78px; font-size: 8px; }
    .lb-portal-content .lb-location-tray__views button { width: 24px; height: 24px; }
    .lb-portal-content .lb-location-tray__items { grid-column: 1/-1; grid-row: 3; gap: 8px; padding: 1px 2px 3px; }
    .lb-portal-content .lb-location-card { flex: 0 0 112px; gap: 1px; }
    .lb-portal-content .lb-location-choice { gap: 3px; }
    .lb-portal-content .lb-location-choice__image { height: 66px; }
    .lb-portal-content .lb-location-choice__label { font-size: 9px; line-height: 1.2; }
    .lb-portal-content .lb-location-card__count { font-size: 8px; }
    .lb-portal-frame .lb-door-transition { --lb-door-gap: 6px; }
}
@media (max-width: 759px) and (max-height: 700px) {
    .lb-floor-tour { --lb-portal-tray-reserve: 164px; --lb-portal-chrome-height: 126px; }
    .lb-portal-content > [data-floor-content] { height: 100%; overflow-y: auto; grid-template-rows: minmax(160px,auto) minmax(142px,164px); }
    .lb-portal-content .lb-floor-scene { min-height: 350px; }
    .lb-portal-content .lb-floor-scene__photo { height: 190px; }
}

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

/* V6 reading scale and controls. The portal transition geometry above stays intact. */
.lb-page { font-size: 18px; }
.lb-header__wordmark small { font-size: 12px; }
.lb-header__nav a,
.lb-scroll-cue { font-size: 14px; }
.lb-hero__lead { max-width: 560px; font-size: clamp(18px, 1.1vw, 21px); line-height: 1.55; }
.lb-hero__facts dt { font-size: 14px; letter-spacing: .06em; }
.lb-eyebrow { font-size: 14px; }
.lb-floor-intro__content p { max-width: 560px; font-size: 18px; line-height: 1.55; }
.lb-floor-scene__copy h2.lb-display { max-width: 620px; font-size: clamp(40px, 3.5vw, 64px); line-height: 1.08; }
.lb-floor-scene__copy { width: min(58%, 620px); }
.lb-floor-scene__lead { max-width: 620px; margin: 18px 0 16px; font-size: clamp(17px, 1.05vw, 20px); line-height: 1.5; }
.lb-portal-content .lb-floor-scene__copy { width: min(62%, 680px); }
.lb-portal-content .lb-floor-scene__copy h2.lb-display { max-width: 680px; font-size: clamp(40px, 3.1vw, 64px); line-height: 1.08; }
.lb-portal-content .lb-floor-scene__lead { max-width: 560px; font-size: clamp(18px, 1.2vw, 20px); line-height: 1.5; }
.lb-portal-content .lb-floor-scene__photo { z-index: 0; }
.lb-portal-content .lb-floor-scene__wash { z-index: 1; pointer-events: none; }
.lb-portal-content .lb-floor-scene__content { z-index: 2; }
.lb-portal-content > [data-floor-content] { grid-template-rows: minmax(0,1fr) 220px; }
.lb-floor-scene__enlarge { display: inline-flex; min-height: 46px; align-items: center; gap: 9px; padding: 8px 0; border: 0; background: transparent; color: #5c452d; cursor: zoom-in; font: inherit; font-size: 15px; font-weight: 600; text-decoration: underline; text-decoration-color: rgba(128,91,52,.45); text-underline-offset: 4px; }
.lb-floor-scene__enlarge:hover { color: var(--lb-orange-dark); }
.lb-floor-scene__image-open { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.lb-floor-scene__image-open:focus-visible,
.lb-floor-scene__enlarge:focus-visible,
.lb-gallery-arrow:focus-visible,
.lb-gallery-filters button:focus-visible,
.lb-plan-card__open:focus-visible,
.lb-interior-preview .lb-text-link:focus-visible,
.lb-amenity-card .lb-text-link:focus-visible { outline: 3px solid var(--lb-orange); outline-offset: 3px; }
.lb-location-tray__heading > span { font-size: 14px; }
.lb-location-tray__heading .lb-text-link { min-height: 48px; font-size: 14px; }
.lb-location-tray__views { font-size: 14px; }
.lb-location-tray__views button { display: inline-flex; min-width: 48px; min-height: 48px; align-items: center; justify-content: center; gap: 8px; width: auto; height: auto; padding: 8px 11px; border-radius: 12px; font-size: 21px; }
.lb-location-tray__control-label { font-size: 14px; white-space: nowrap; }
.lb-location-card { flex-basis: 168px; }
.lb-location-choice__image { height: 98px; }
.lb-location-choice__label { font-size: 16px; line-height: 1.3; }
.lb-location-card__count { font-size: 14px; }
.lb-elevator-panel { width: min(100% - 14px, 220px); gap: 11px; }
.lb-elevator-panel__screen-label { font-size: 11px; letter-spacing: .13em; }
.lb-floor-key { min-height: 58px; grid-template-columns: 58px minmax(0,1fr); gap: 8px; font-size: 14px; }
.lb-floor-key__button { width: 56px; height: 56px; }
.lb-floor-key__button > span { font-size: 16px; }
.lb-floor-key__label { max-width: 118px; font-size: 14px; line-height: 1.2; }
.lb-section__lead { font-size: 18px; line-height: 1.55; }
.lb-residence-card__type,
.lb-residences__note,
.lb-about__ownership,
.lb-about__notes p,
.lb-faq__item p,
.lb-request__inner > p:not(.lb-eyebrow) { font-size: 15px; line-height: 1.6; }
.lb-fact dt { font-size: 14px; }
.lb-fact:nth-child(n+3) dd { font-size: 17px; }
.lb-faq__item summary { font-size: 17px; }
.lb-footer { font-size: 14px; }
.lb-footer__brand span { font-size: 11px; }
.lb-footer__agency { font-size: 13px; }

.lb-gallery-dialog { width: min(100% - 40px, 1280px); max-width: 1280px; height: min(92svh, 980px); max-height: min(92svh, 980px); overflow: hidden; }
.lb-gallery-dialog[open] { display: flex; flex-direction: column; }
.lb-gallery-dialog .lb-dialog__shell { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; overflow: hidden; padding: 24px; }
.lb-gallery-dialog .lb-dialog__head { position: relative; z-index: 4; top: auto; flex: 0 0 auto; align-items: center; margin: 0; padding: 0 0 14px; background: var(--lb-ivory); }
.lb-gallery-dialog .lb-dialog__head h2 { font-size: clamp(28px, 2.6vw, 38px); }
.lb-gallery-dialog .lb-icon-button { width: 52px; height: 52px; }
.lb-gallery-filters { position: relative; z-index: 3; top: auto; flex: 0 0 auto; gap: 10px; margin: 0 -2px 12px; padding: 4px 2px 8px; background: var(--lb-ivory); scrollbar-width: thin; }
.lb-gallery-filters button { min-height: 46px; padding: 9px 17px; font-size: 15px; white-space: nowrap; }
.lb-gallery-viewer { display: flex; min-height: 0; flex: 1 1 auto; align-items: stretch; }
.lb-gallery-viewer figure { display: flex; width: 100%; min-height: 0; flex: 1 1 auto; flex-direction: column; }
.lb-gallery-viewer img { display: block; width: 100%; height: 100%; min-height: 0; max-height: none; flex: 1 1 auto; object-fit: contain; }
.lb-gallery-viewer figcaption { min-height: 32px; flex: 0 0 auto; align-items: center; gap: 14px; padding-top: 10px; font-size: 15px; }
.lb-gallery-keyboard-hint { color: #746b61; font-size: 14px; }
.lb-gallery-controls { display: grid; grid-template-columns: 190px auto 190px; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 16px; margin-top: 10px; }
.lb-gallery-arrow { display: inline-flex; width: auto; min-width: 170px; min-height: 56px; align-items: center; justify-content: center; gap: 12px; padding: 10px 18px; border-color: #95836f; border-radius: 12px; color: #33271d; font-size: 16px; font-weight: 600; }
.lb-gallery-arrow:first-child,
.lb-gallery-arrow:last-child { width: 190px; }
.lb-gallery-arrow:last-child { justify-self: end; }
.lb-gallery-arrow__icon { font-size: 24px; font-weight: 400; }
.lb-gallery-count { color: #544b42; font-size: 16px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lb-plan-dialog .lb-icon-button,
.lb-request-dialog .lb-icon-button { width: 52px; height: 52px; }
.lb-plan-dialog__figure figcaption { font-size: 15px; }
.lb-plan-dialog__full-size { width: min(100%, 420px); }
.lb-request-dialog__lead { margin: 0 0 20px; color: var(--lb-muted); font-size: 17px; line-height: 1.6; }
.lb-form-field { gap: 8px; font-size: 15px; font-weight: 600; }
.lb-form-field select { min-height: 52px; font-size: 16px; }
.lb-request-dialog__channels { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 18px; }
.lb-request-dialog__channel { display: inline-flex; min-height: 44px; align-items: center; color: #574632; font-size: 15px; text-underline-offset: 3px; }
.lb-request-dialog__channel:hover { color: var(--lb-orange-dark); }

.lb-amenity-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; }
.lb-amenity-card { display: flex; min-height: 100%; flex-direction: column; padding: 26px 24px 22px; border: 1px solid #dfd7cc; border-radius: 16px; background: rgba(255,255,255,.72); }
.lb-amenity-card .lb-eyebrow { margin-bottom: 12px; color: #766653; }
.lb-amenity-card h3 { margin: 0 0 14px; color: var(--lb-ink); font-family: "Tenor Sans",sans-serif; font-size: clamp(23px, 1.8vw, 30px); font-weight: 400; line-height: 1.2; }
.lb-amenity-card ul { display: grid; gap: 9px; margin: 0; padding-left: 20px; color: var(--lb-text); font-size: 16px; line-height: 1.45; }
.lb-amenity-card li::marker { color: var(--lb-orange-dark); }
.lb-amenity-card__plans { display: grid; gap: 2px; margin-top: auto; padding-top: 16px; }
.lb-amenity-card__plans .lb-text-link { min-height: 42px; font-size: 14px; }
.lb-plan-library { background: #f4f1ec; }
.lb-plan-library__details { margin-top: 14px; border: 1px solid #ddd4c8; border-radius: 14px; background: rgba(255,255,255,.72); }
.lb-plan-library__details > summary,
.lb-plan-library__category > summary { display: flex; min-height: 62px; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 20px; cursor: pointer; color: var(--lb-ink); font-size: 18px; font-weight: 600; list-style: none; }
.lb-plan-library__details > summary::-webkit-details-marker,
.lb-plan-library__category > summary::-webkit-details-marker { display: none; }
.lb-plan-library__details > summary::after,
.lb-plan-library__category > summary::after { content: "+"; color: var(--lb-orange-dark); font-size: 24px; font-weight: 400; }
.lb-plan-library__details[open] > summary::after,
.lb-plan-library__category[open] > summary::after { content: "−"; }
.lb-plan-library__details > p { margin: 0 20px 16px; color: var(--lb-muted); font-size: 16px; line-height: 1.55; }
.lb-plan-library__categories { padding: 0 14px 14px; }
.lb-plan-library__category { margin-top: 10px; border-top: 1px solid #e5ded4; }
.lb-plan-library__category > summary { min-height: 54px; padding-inline: 8px; font-size: 16px; }
.lb-plan-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; padding: 8px 8px 18px; }
.lb-plan-card { min-width: 0; }
.lb-plan-card__open { position: relative; display: grid; width: 100%; min-height: 190px; place-items: center; padding: 14px; border: 1px solid #e1dace; border-radius: 10px; background: #fff; cursor: zoom-in; }
.lb-plan-card__open img { width: 100%; height: 180px; object-fit: contain; }
.lb-plan-card__open > span { position: absolute; right: 10px; bottom: 10px; display: inline-flex; min-height: 38px; align-items: center; gap: 6px; padding: 7px 11px; border-radius: 20px; background: rgba(255,255,255,.96); color: var(--lb-ink); font-size: 14px; }
.lb-plan-card__caption { margin: 10px 2px 0; color: var(--lb-text); font-size: 15px; line-height: 1.4; }
.lb-interiors { background: #fff; }
.lb-interior-preview-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.lb-interior-preview { overflow: hidden; border: 1px solid #e2dbd2; border-radius: 14px; background: #f8f6f2; }
.lb-interior-preview > img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.lb-interior-preview h3 { margin: 18px 20px 4px; color: var(--lb-ink); font-family: "Tenor Sans",sans-serif; font-size: 24px; font-weight: 400; }
.lb-interior-preview .lb-text-link { margin: 0 20px 14px; font-size: 15px; }
.lb-interiors__note { margin: 24px 0 0; color: var(--lb-muted); font-size: 15px; line-height: 1.55; }
.lb-contacts { background: #eae4db; }
.lb-contacts__card { width: min(100%, 920px); margin-inline: auto; padding: clamp(28px, 5vw, 64px); border: 1px solid rgba(128,103,77,.25); border-radius: 22px; background: rgba(255,255,255,.74); box-shadow: 0 18px 50px rgba(62,45,28,.07); }
.lb-contacts__card h2 { max-width: 700px; margin: 0; color: var(--lb-ink); font-family: "Tenor Sans",sans-serif; font-size: clamp(36px, 4vw, 56px); font-weight: 400; line-height: 1.15; }
.lb-contacts__card .lb-section__lead { margin-top: 15px; }
.lb-contacts__phone { display: grid; width: fit-content; gap: 4px; margin-top: 26px; color: var(--lb-ink); text-decoration: none; }
.lb-contacts__phone span { color: var(--lb-muted); font-size: 14px; }
.lb-contacts__phone strong { font-family: "Tenor Sans",sans-serif; font-size: clamp(24px, 2.2vw, 30px); font-weight: 400; }
.lb-contacts__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.lb-contacts__actions .lb-button { min-height: 52px; font-size: 15px; }
.lb-button--secondary { border-color: #b9aa98; background: #fff; color: var(--lb-text); }
.lb-button--secondary:hover { border-color: var(--lb-orange); }
.lb-contacts__office { margin-top: 10px; font-size: 15px; }

@media (min-width: 2560px) {
    .lb-portal-content .lb-floor-scene__copy { width: min(64%, 760px); }
    .lb-portal-content .lb-floor-scene__copy h2.lb-display { max-width: 760px; font-size: clamp(64px, 2.8vw, 72px); }
    .lb-portal-content .lb-floor-scene__lead { max-width: 640px; font-size: 22px; line-height: 1.5; }
    .lb-location-card { flex-basis: 180px; }
    .lb-plan-grid { grid-template-columns: repeat(5, minmax(0,1fr)); }
}

@media (max-width: 1199px) {
    .lb-portal-content .lb-floor-scene__copy { width: min(62%, 420px); }
    .lb-portal-content .lb-floor-scene__copy h2.lb-display { max-width: 420px; font-size: 40px; }
    .lb-portal-content .lb-floor-scene__lead { max-width: 420px; font-size: 18px; }
    .lb-tour-window .lb-floor-key { min-height: 58px; grid-template-columns: 54px minmax(0,1fr); gap: 6px; font-size: 13px; }
    .lb-tour-window .lb-floor-key__button { width: 52px; height: 52px; }
    .lb-tour-window .lb-floor-key__label { max-width: 76px; font-size: 13px; }
    .lb-amenity-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .lb-plan-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (min-width: 1600px) and (max-width: 2559px) {
    .lb-portal-content .lb-floor-scene__copy { width: min(62%, 680px); }
    .lb-portal-content .lb-floor-scene__copy h2.lb-display { max-width: 680px; font-size: clamp(56px, 3.1vw, 64px); }
    .lb-portal-content .lb-floor-scene__lead { max-width: 560px; font-size: 20px; }
}

@media (max-width: 759px) {
    .lb-page { font-size: 16px; }
    .lb-hero__lead { max-width: 100%; font-size: 16px; line-height: 1.5; }
    .lb-hero__facts dt { font-size: 13px; }
    .lb-floor-intro__content p { font-size: 16px; }
    .lb-portal-content .lb-floor-scene__copy { width: 100%; }
    .lb-portal-content .lb-floor-scene__copy h2.lb-display { max-width: 100%; font-size: 28px; line-height: 1.12; }
    .lb-portal-content .lb-floor-scene__lead { max-width: 100%; margin: 8px 0 4px; font-size: 16px; line-height: 1.4; }
    .lb-portal-content .lb-floor-scene__enlarge { min-height: 44px; padding-block: 6px; font-size: 14px; }
    .lb-portal-content .lb-floor-scene .lb-eyebrow { margin-bottom: 5px; font-size: 13px; }
    .lb-portal-content .lb-location-tray { grid-template-rows: 34px 48px minmax(0,1fr); }
    .lb-portal-content .lb-location-tray__heading > span { font-size: 13px; }
    .lb-portal-content .lb-location-tray__heading .lb-text-link { grid-column: 2; grid-row: 1; max-width: 160px; min-height: 44px; font-size: 13px; }
    .lb-portal-content .lb-location-tray__views { grid-column: 1/-1; grid-row: 2; justify-self: center; min-height: 48px; gap: 8px; padding: 0; font-size: 13px; }
    .lb-portal-content .lb-location-tray__views button { min-width: 44px; min-height: 44px; padding: 5px; border-radius: 50%; }
    .lb-portal-content .lb-location-tray__control-label { display: none; }
    .lb-portal-content .lb-location-card { flex-basis: 132px; }
    .lb-portal-content .lb-location-choice__image { height: 72px; }
    .lb-portal-content .lb-location-choice__label { font-size: 13px; line-height: 1.25; }
    .lb-portal-content .lb-location-card__count { font-size: 12px; }
    .lb-tour-window .lb-elevator-panel { height: 54px; grid-template-columns: 62px minmax(0,1fr); }
    .lb-tour-window .lb-elevator-panel__screen-label { font-size: 12px; }
    .lb-tour-window .lb-floor-key { min-width: 44px; min-height: 44px; grid-template-columns: 1fr; gap: 0; }
    .lb-tour-window .lb-floor-key__button { width: 44px; height: 44px; }
    .lb-tour-window .lb-floor-key__button > span { font-size: 15px; }
    .lb-section { padding: 58px 20px; }
    .lb-section__intro h2 { font-size: 32px; }
    .lb-section__lead { font-size: 16px; line-height: 1.5; }
    .lb-amenity-grid { grid-template-columns: 1fr; gap: 12px; }
    .lb-amenity-card { padding: 22px 20px; }
    .lb-amenity-card h3 { font-size: 25px; }
    .lb-amenity-card ul { font-size: 16px; }
    .lb-plan-library__details > summary { min-height: 58px; padding-inline: 15px; font-size: 16px; }
    .lb-plan-library__details > p { margin-inline: 15px; font-size: 15px; }
    .lb-plan-library__categories { padding-inline: 10px; }
    .lb-plan-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; padding-inline: 2px; }
    .lb-plan-card__open { min-height: 140px; padding: 8px; }
    .lb-plan-card__open img { height: 130px; }
    .lb-plan-card__open > span { right: 6px; bottom: 6px; min-height: 34px; padding: 6px 8px; font-size: 13px; }
    .lb-plan-card__caption { font-size: 13px; }
    .lb-interior-preview-grid { grid-template-columns: 1fr; gap: 14px; }
    .lb-interior-preview h3 { font-size: 23px; }
    .lb-interiors__note { font-size: 14px; }
    .lb-contacts__card { padding: 26px 20px; border-radius: 16px; }
    .lb-contacts__card h2 { font-size: 34px; }
    .lb-contacts__phone strong { font-size: 26px; }
    .lb-contacts__actions { display: grid; grid-template-columns: 1fr; gap: 8px; }
    .lb-contacts__actions .lb-button { width: 100%; }
    .lb-footer { flex-wrap: wrap; padding-block: 18px; font-size: 13px; }
    .lb-footer__brand span { font-size: 10px; }
    .lb-gallery-dialog { width: calc(100% - 18px); height: calc(100svh - 20px); max-height: calc(100svh - 20px); border-radius: 15px; }
    .lb-gallery-dialog .lb-dialog__shell { padding: 14px; }
    .lb-gallery-dialog .lb-dialog__head { position: relative; top: auto; gap: 12px; padding: 0 0 10px; }
    .lb-gallery-dialog .lb-dialog__head h2 { font-size: 25px; }
    .lb-gallery-dialog .lb-icon-button,
    .lb-plan-dialog .lb-icon-button,
    .lb-request-dialog .lb-icon-button { width: 48px; height: 48px; }
    .lb-gallery-filters { position: relative; top: auto; gap: 7px; margin-bottom: 10px; padding: 2px 1px 8px; }
    .lb-gallery-filters button { min-height: 44px; padding-inline: 13px; font-size: 14px; }
    .lb-gallery-viewer img { max-height: none; aspect-ratio: auto; background: transparent; }
    .lb-gallery-viewer figcaption { display: grid; gap: 4px; padding-top: 8px; font-size: 15px; }
    .lb-gallery-keyboard-hint { font-size: 13px; }
    .lb-gallery-controls { grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 7px; margin-top: 8px; }
    .lb-gallery-arrow,
    .lb-gallery-arrow:first-child,
    .lb-gallery-arrow:last-child { width: 100%; min-width: 0; min-height: 48px; gap: 6px; padding: 7px 9px; border-radius: 10px; font-size: 14px; }
    .lb-gallery-arrow__icon { font-size: 20px; }
    .lb-gallery-count { font-size: 14px; }
    .lb-request-dialog__lead { font-size: 16px; }
    .lb-request-dialog__channels { align-items: stretch; flex-direction: column; gap: 4px; }
    .lb-request-dialog__channels .lb-button { width: 100%; }
    .lb-request-dialog__channel { min-height: 44px; font-size: 15px; }
    .lb-hero .lb-button { font-size: 13px; }
}

@media (max-width: 759px) and (max-height: 700px) {
    .lb-portal-content .lb-floor-scene__content { padding-top: 10px; }
    .lb-portal-content .lb-floor-scene__copy h2.lb-display { font-size: 26px; }
    .lb-portal-content .lb-floor-scene__lead { font-size: 15px; line-height: 1.35; }
}

@media (min-width: 1600px) {
    .lb-hero { min-height: min(88svh, 1100px); }
    .lb-hero__content { width: min(100%, 1250px); padding: 150px clamp(58px, 4.5vw, 110px) 112px; }
    .lb-hero .lb-display { max-width: 1000px; font-size: clamp(72px, 3.75vw, 96px); line-height: 1.06; }
    .lb-hero__lead { max-width: 660px; font-size: 22px; line-height: 1.55; }
    .lb-header__nav a { font-size: 16px; }
    .lb-hero .lb-button--primary { min-height: 56px; font-size: 17px; }
    .lb-floor-intro h2,
    .lb-section__intro h2 { font-size: 58px; }
    .lb-floor-intro__content p,
    .lb-section__lead { font-size: 20px; line-height: 1.55; }
    .lb-amenity-card__plans .lb-text-link,
    .lb-plan-library__details > summary,
    .lb-plan-library__category > summary,
    .lb-plan-card__caption,
    .lb-plan-card__open > span,
    .lb-interior-preview .lb-text-link,
    .lb-contacts__actions .lb-button { font-size: 16px; }
    .lb-amenity-card ul,
    .lb-amenity-card__plans .lb-text-link { font-size: 18px; }
}

@media (min-width: 2400px) {
    .lb-hero__lead { font-size: 24px; }
    .lb-header__nav a { font-size: 18px; }
    .lb-hero .lb-button--primary { font-size: 18px; }
    .lb-floor-intro h2,
    .lb-section__intro h2 { font-size: 64px; }
    .lb-floor-intro__content p,
    .lb-section__lead { font-size: 22px; line-height: 1.55; }
    .lb-amenity-card ul,
    .lb-amenity-card__plans .lb-text-link { font-size: 20px; }
}

/* Wheel changes use an open panoramic lift; button navigation keeps its door trip. */
.lb-portal-content { --lb-floor-tray-height: 220px; }
.lb-portal-content.is-panorama-moving {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
.lb-portal-content.is-panorama-moving > [data-floor-content].is-panorama-outgoing { position: relative; z-index: 1; }
.lb-portal-content.is-panorama-moving > [data-floor-content].is-panorama-incoming {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: grid !important;
    width: 100%;
    height: 100%;
    min-height: 0;
    grid-template-rows: minmax(0, 1fr) var(--lb-floor-tray-height);
    background: transparent;
    pointer-events: none;
}
.lb-portal-content.is-panorama-moving .is-panorama-incoming .lb-floor-scene { background: transparent; }
.lb-portal-content.is-panorama-moving .is-panorama-incoming .lb-location-tray { visibility: hidden; }
.lb-portal-content.is-panorama-moving .lb-floor-scene__photo { will-change: transform; }
.lb-portal-content.is-panorama-wheel-up .is-panorama-outgoing .lb-floor-scene__photo,
.lb-portal-content.is-panorama-wheel-down .is-panorama-incoming .lb-floor-scene__photo {
    animation: lb-panorama-photo-down 760ms cubic-bezier(.22,.68,.2,1) both;
}
.lb-portal-content.is-panorama-wheel-down .is-panorama-outgoing .lb-floor-scene__photo,
.lb-portal-content.is-panorama-wheel-up .is-panorama-incoming .lb-floor-scene__photo {
    animation: lb-panorama-photo-up 760ms cubic-bezier(.22,.68,.2,1) both;
}
.lb-portal-content.is-panorama-wheel-down .is-panorama-outgoing .lb-floor-scene__content,
.lb-portal-content.is-panorama-wheel-up .is-panorama-outgoing .lb-floor-scene__content {
    animation: lb-panorama-copy-out 180ms ease-in both;
}
.lb-portal-content.is-panorama-wheel-down .is-panorama-incoming .lb-floor-scene__content,
.lb-portal-content.is-panorama-wheel-up .is-panorama-incoming .lb-floor-scene__content {
    animation: lb-panorama-copy-in 320ms ease-out 250ms both;
}
.lb-portal-content.is-panorama-moving .lb-floor-scene__photo img {
    transform: scale(1.025);
    will-change: transform;
}
.lb-floor-tour.is-panorama-moving .lb-tour-window .lb-journey__left-rail::after,
.lb-floor-tour.is-panorama-moving .lb-tour-window .lb-journey__right-rail::after {
    top: 0;
    right: 5%;
    bottom: auto;
    width: 2px;
    height: 24%;
    background: linear-gradient(180deg, transparent, rgba(255,244,223,.88) 48%, rgba(238,128,18,.72), transparent);
    box-shadow: 0 0 7px rgba(255,226,180,.52);
    animation: lb-rail-panorama-glint 760ms cubic-bezier(.35,.04,.56,.96) infinite;
}
@keyframes lb-panorama-photo-down {
    from { transform: translate3d(0,0,0) scale(1); }
    to { transform: translate3d(0,100%,0) scale(.99); }
}
@keyframes lb-panorama-photo-up {
    from { transform: translate3d(0,0,0) scale(1); }
    to { transform: translate3d(0,-100%,0) scale(.99); }
}
@keyframes lb-panorama-photo-from-top {
    from { transform: translate3d(0,-100%,0) scale(.99); }
    to { transform: translate3d(0,0,0) scale(1); }
}
@keyframes lb-panorama-photo-from-bottom {
    from { transform: translate3d(0,100%,0) scale(.99); }
    to { transform: translate3d(0,0,0) scale(1); }
}
@keyframes lb-panorama-copy-out {
    from { opacity: 1; transform: translate3d(0,0,0); }
    to { opacity: 0; transform: translate3d(0,10px,0); }
}
@keyframes lb-panorama-copy-in {
    from { opacity: 0; transform: translate3d(0,-14px,0); }
    to { opacity: 1; transform: translate3d(0,0,0); }
}
@keyframes lb-rail-panorama-glint {
    from { transform: translateY(0); }
    to { transform: translateY(316%); }
}
.lb-portal-content.is-panorama-wheel-down .is-panorama-incoming .lb-floor-scene__photo { animation-name: lb-panorama-photo-from-bottom; }
.lb-portal-content.is-panorama-wheel-up .is-panorama-incoming .lb-floor-scene__photo { animation-name: lb-panorama-photo-from-top; }
.lb-portal-content .lb-location-tray__items.is-arrival-prepared { pointer-events: none; }
.lb-portal-content .lb-location-tray__items.is-arrival-prepared > .lb-location-card {
    opacity: 0;
    transform: translate3d(var(--lb-arrival-from-x, 0),0,0) scale(.985);
    will-change: transform, opacity;
}
.lb-portal-content .lb-location-tray__items.is-arriving { pointer-events: none; }
.lb-portal-content .lb-location-tray__items.is-arriving > .lb-location-card { will-change: transform, opacity; }
.lb-portal-content .lb-location-tray__items.is-arriving > .lb-location-card.is-arrival-origin { animation: lb-tray-origin 180ms ease-out both; }
.lb-portal-content .lb-location-tray__items.is-arriving > .lb-location-card:not(.is-arrival-origin) {
    animation: lb-tray-emerge 250ms cubic-bezier(.2,.72,.25,1) var(--lb-arrival-delay, 170ms) both;
}
.lb-portal-content .lb-location-tray__items.is-arriving > .lb-location-card:not(.is-arrival-origin) .lb-location-choice__label,
.lb-portal-content .lb-location-tray__items.is-arriving > .lb-location-card:not(.is-arrival-origin) .lb-location-card__count {
    animation: lb-tray-label-in 45ms ease-out calc(var(--lb-arrival-delay, 180ms) + 205ms) both;
}
@keyframes lb-tray-origin {
    from { opacity: .15; transform: scale(.985); }
    to { opacity: 1; transform: scale(1); }
}
@keyframes lb-tray-emerge {
    from { opacity: .18; transform: translate3d(var(--lb-arrival-from-x, -20px),0,0) scale(.985); }
    to { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}
@keyframes lb-tray-label-in {
    from { opacity: 0; }
    to { opacity: 1; }
}
@media (max-width: 1199px) {
    .lb-portal-content { --lb-floor-tray-height: 180px; }
}
@media (max-width: 759px) {
    .lb-portal-content { --lb-floor-tray-height: 220px; }
}
@media (max-width: 759px) and (max-height: 700px) {
    .lb-portal-content { --lb-floor-tray-height: 164px; }
}
@media (prefers-reduced-motion: reduce) {
    .lb-portal-content.is-panorama-moving .lb-floor-scene__photo,
    .lb-portal-content.is-panorama-moving .lb-floor-scene__content,
    .lb-floor-tour.is-panorama-moving .lb-tour-window .lb-journey__left-rail::after,
    .lb-floor-tour.is-panorama-moving .lb-tour-window .lb-journey__right-rail::after,
    .lb-portal-content .lb-location-tray__items.is-arrival-prepared > .lb-location-card,
    .lb-portal-content .lb-location-tray__items.is-arriving > .lb-location-card { animation: none !important; }
    .lb-portal-content .lb-location-tray__items.is-arrival-prepared > .lb-location-card { opacity: 1; transform: none; }
}

/* Direct My Thai Home contacts stay reachable from the hero header. */
.lb-header__actions { gap: 12px; }
.lb-header__contacts { display: flex; min-width: 0; align-items: center; gap: 3px; }
.lb-header__contact {
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid rgba(105,79,53,.28);
    border-radius: 8px;
    color: #46372b;
    background: rgba(255,253,249,.72);
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
.lb-header__contact:hover { border-color: rgba(166,106,47,.62); color: #8f5317; background: #fff; }
.lb-header__contact svg { width: 17px; height: 17px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.65; }
.lb-header__contact--phone { padding-inline: 9px; }
.lb-header__contact-label { display: none; }

/* The intercom row belongs to the panel and opens the existing enquiry dialog. */
.lb-tour-window .lb-elevator-panel { flex: 0 0 auto; }
.lb-floor-call {
    position: relative;
    display: flex;
    width: 100%;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    gap: 5px;
    overflow: visible;
    padding: 6px 5px;
    border: 1px solid #b9680b;
    border-radius: 10px;
    color: #332316;
    background: linear-gradient(135deg,#ffc66b 0%,#f39b28 44%,#e77a10 100%);
    box-shadow: inset 0 1px rgba(255,255,255,.68), inset 0 -2px 3px rgba(116,63,13,.22), 0 2px 5px rgba(72,45,21,.2);
    cursor: pointer;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.15;
    text-align: center;
    white-space: nowrap;
    flex-wrap: nowrap;
    animation: lb-agent-call-glow 1.7s ease-in-out 3 both;
}
.lb-floor-call:hover { background: linear-gradient(135deg,#ffd58d 0%,#f5a333 48%,#eb851a 100%); box-shadow: inset 0 1px rgba(255,255,255,.78), 0 3px 8px rgba(72,45,21,.28); }
.lb-floor-call:active { transform: translateY(1px); }
.lb-floor-call > span:not(.lb-floor-call__signal) { min-width: 0; white-space: nowrap; }
.lb-floor-call__icon { width: 16px; height: 16px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
@keyframes lb-agent-call-glow {
    0%, 100% { box-shadow: inset 0 1px rgba(255,255,255,.68), inset 0 -2px 3px rgba(116,63,13,.22), 0 2px 5px rgba(72,45,21,.2); }
    52% { box-shadow: inset 0 1px rgba(255,255,255,.78), inset 0 -2px 3px rgba(116,63,13,.18), 0 0 0 5px rgba(235,137,31,.12), 0 5px 18px rgba(221,119,18,.43); }
}
@media (min-width: 1600px) {
    .lb-header__contact-label { display: inline; }
    .lb-header__contact:not(.lb-header__contact--phone) { padding-inline: 10px; }
}
@media (max-width: 1199px) {
    .lb-tour-window .lb-floor-call { width: calc(100% + 16px); min-height: 50px; gap: 4px; margin-inline: -8px; padding-inline: 3px; font-size: 14px; }
    .lb-tour-window .lb-floor-call__icon { width: 16px; height: 16px; }
}
@media (max-width: 759px) {
    .lb-header__actions { gap: 4px; }
    .lb-header__contacts { gap: 1px; }
    .lb-header__contact { width: 44px; min-width: 44px; min-height: 44px; border-color: transparent; background: rgba(255,253,249,.58); }
    .lb-header__contact--phone { width: auto; padding-inline: 2px; gap: 4px; font-size: 9.5px; }
    .lb-header__contact svg { width: 15px; height: 15px; }
    .lb-tour-window .lb-elevator-panel,
    .lb-page.is-floor-moving .lb-tour-window .lb-elevator-panel { height: auto; max-height: none; grid-template-rows: 54px 48px; row-gap: 6px; }
    .lb-tour-window .lb-floor-call { grid-column: 1 / -1; grid-row: 2; min-height: 48px; gap: 8px; padding: 5px 10px; font-size: 15px; }
    .lb-tour-window .lb-floor-call__icon { width: 18px; height: 18px; }
    .lb-tour-window__center .lb-portal-frame { height: calc(100svh - 126px - env(safe-area-inset-bottom)); }
}
@media (max-width: 759px) and (max-width: 380px) {
    .lb-header__contact--phone { gap: 2px; font-size: 8.5px; }
    .lb-header__contact--phone svg { width: 13px; height: 13px; }
}
@media (prefers-reduced-motion: reduce) {
    .lb-floor-call { animation: none; }
}

/* Two deliberate mobile header rows keep every language and contact reachable. */
@media (max-width: 759px) {
    .lb-header {
        display: grid;
        min-height: 108px;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-rows: 44px 44px;
        column-gap: 8px;
        row-gap: 0;
        align-content: start;
        padding: 10px 14px;
    }
    .lb-header__wordmark { grid-column: 1; grid-row: 1; min-width: 0; }
    .lb-header__actions { display: contents; }
    .lb-header__contacts { grid-column: 1; grid-row: 2; justify-self: start; }
    .lb-header__contact--phone { padding-inline: 3px; }
    .lb-language { grid-column: 2; grid-row: 1; justify-self: end; }
    .lb-header__wordmark,
    .lb-header__wordmark > span,
    .lb-header__wordmark > small { white-space: nowrap; }
    .lb-language { display: block; position: relative; min-width: 90px; }
    .lb-language__summary { min-width: 90px; min-height: 44px; gap: 7px; padding-inline: 8px; font-size: 12px; }
    .lb-language__options { min-width: 208px; max-width: min(260px,calc(100vw - 24px)); }
    .lb-hero__content { padding-top: 124px; }
}
@media (max-width: 380px) {
    .lb-header { padding-inline: 11px; column-gap: 6px; }
    .lb-header__wordmark { font-size: 12.5px; letter-spacing: .1em; }
    .lb-header__wordmark small { font-size: 5.5px; }
    .lb-header__contact--phone { gap: 2px; padding-inline: 2px; font-size: 8.5px; }
    .lb-header__contact--phone svg { width: 13px; height: 13px; }
    .lb-hero__content { padding-inline: 18px; }
}

/* Thai uses one Thai-capable family consistently, including display headings. */
.lb-landing[data-lang="th"] * {
    font-family: "Noto Sans Thai", "Noto Sans", Tahoma, sans-serif;
}
.lb-landing[data-lang="th"] .lb-display,
.lb-landing[data-lang="th"] h1,
.lb-landing[data-lang="th"] h2,
.lb-landing[data-lang="th"] h3 { line-height: 1.3; }
.lb-landing[data-lang="th"] .lb-hero__lead,
.lb-landing[data-lang="th"] .lb-floor-scene__lead,
.lb-landing[data-lang="th"] .lb-section__lead { line-height: 1.75; }

/* Payment terms use a single locale-selected quota, with stages and fees kept scanable. */
.lb-payments { background: #f4f1ec; }
.lb-payments .lb-section__inner { width: min(100%, 1360px); }
.lb-payments .lb-section__intro { max-width: 820px; }
.lb-payments .lb-section__lead { font-size: 18px; }
.lb-payment-grid { min-width: 0; }
.lb-payment-card {
    min-width: 0;
    padding: clamp(22px, 3vw, 42px);
    border: 1px solid rgba(142, 105, 63, .34);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(255,255,255,.88), rgba(250,247,241,.96));
    box-shadow: 0 12px 32px rgba(73, 54, 35, .08), inset 0 1px rgba(255,255,255,.9);
}
.lb-payment-card__quota {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    padding: 5px 12px;
    border: 1px solid rgba(148, 104, 53, .38);
    border-radius: 999px;
    color: #76512b;
    background: #f4eadb;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .08em;
    margin: 0 0 10px;
    text-transform: uppercase;
}
.lb-payment-card__price-label { display: block; color: #76512b; font-size: 15px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.lb-payment-card__price-block { min-width: 0; }
.lb-payment-card__price {
    max-width: 100%;
    margin: 14px 0 4px;
    color: #30251b;
    font-size: clamp(42px, 4.4vw, 64px);
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    letter-spacing: -.045em;
    line-height: 1.08;
    white-space: nowrap;
}
.lb-payment-card__example { color: #6e6255; font-size: 16px; line-height: 1.55; }
.lb-payment-stages { margin-top: 30px; }
.lb-payment-stages__title,
.lb-payment-bookings > h3,
.lb-payment-fees > h3 { margin: 0 0 16px; color: #3b2d20; font-size: 22px; line-height: 1.3; }
.lb-payment-stages__grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.lb-payment-stages__grid::before {
    position: absolute;
    z-index: 0;
    top: 17px;
    right: 16.5%;
    left: 16.5%;
    height: 1px;
    content: "";
    background: linear-gradient(90deg, rgba(149,106,59,.25), #b58a55 50%, rgba(149,106,59,.25));
}
.lb-payment-stage {
    position: relative;
    z-index: 1;
    min-width: 0;
    padding: 18px 20px 20px;
    border: 1px solid rgba(142, 105, 63, .23);
    border-radius: 12px;
    background: rgba(255,255,255,.88);
}
.lb-payment-stage__number {
    display: grid;
    width: 35px;
    height: 35px;
    margin-inline: auto;
    place-items: center;
    border: 1px solid #b58a55;
    border-radius: 50%;
    color: #76512b;
    background: #f8f1e7;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    line-height: 1;
}
.lb-payment-stage__percent {
    display: block;
    margin-top: 16px;
    color: #33271d;
    font-size: clamp(52px, 5vw, 68px);
    font-variant-numeric: tabular-nums;
    font-weight: 500;
    letter-spacing: -.045em;
    line-height: 1;
}
.lb-payment-stage__label { display: block; margin-top: 12px; color: #43372c; font-size: 18px; font-weight: 700; line-height: 1.35; }
.lb-payment-stage__body { margin: 8px 0 0; color: #6e6255; font-size: 18px; line-height: 1.55; }
.lb-payment-bookings { margin-top: 24px; }
.lb-payment-bookings__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    border: 1px solid rgba(142, 105, 63, .25);
    border-radius: 12px;
    background: rgba(246, 241, 233, .8);
}
.lb-payment-booking { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 16px 18px; }
.lb-payment-booking + .lb-payment-booking { border-left: 1px solid rgba(142, 105, 63, .22); }
.lb-payment-booking__label { display: block; color: #6e6255; font-size: 16px; line-height: 1.35; }
.lb-payment-booking__value { display: block; margin-top: 6px; color: #33271d; font-size: 24px; font-variant-numeric: tabular-nums; font-weight: 700; line-height: 1.2; }
.lb-payment-fees { margin-top: 20px; }
.lb-payment-fee { display: flex; min-width: 0; align-items: baseline; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px solid rgba(142, 105, 63, .2); color: #615548; font-size: 16px; line-height: 1.4; }
.lb-payment-fee__value { flex: 0 0 auto; color: #33271d; font-weight: 700; font-variant-numeric: tabular-nums; }
.lb-payments__footnote { max-width: 980px; margin: 18px 0 0; color: #74695e; font-size: 15px; line-height: 1.6; }
.lb-payments .lb-button { min-height: 56px; margin-top: 24px; padding-inline: 28px; font-size: 16px; }
.lb-request-dialog [data-request-plan-field][hidden] { display: none !important; }
.lb-residence-card__price { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin: 13px 0 0; padding-top: 11px; border-top: 1px solid rgba(142,105,63,.2); }
.lb-residence-card__price-label { color: #74695e; font-size: 13px; line-height: 1.35; }
.lb-residence-card__price strong { color: #60451f; font-size: 17px; font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 759px) {
    .lb-payment-card { padding: 20px 18px; border-radius: 14px; }
    .lb-payment-card__price { margin-top: 12px; font-size: clamp(30px, 8.8vw, 38px); letter-spacing: -.035em; line-height: 1.15; }
    .lb-payment-card__example { font-size: 16px; }
    .lb-payments .lb-section__lead { font-size: 16px; }
    .lb-payment-stages { margin-top: 22px; }
    .lb-payment-stages__title,
    .lb-payment-bookings > h3,
    .lb-payment-fees > h3 { margin-bottom: 12px; font-size: 18px; }
    .lb-payment-stages__grid { grid-template-columns: 1fr; gap: 10px; }
    .lb-payment-stages__grid::before { top: 17px; bottom: 17px; left: 31px; width: 1px; height: auto; background: linear-gradient(180deg, rgba(149,106,59,.25), #b58a55 50%, rgba(149,106,59,.25)); }
    .lb-payment-stage { display: grid; grid-template-columns: 44px minmax(0,1fr); column-gap: 10px; padding: 13px 14px; }
    .lb-payment-stage__number { grid-column: 1; grid-row: 1 / span 3; align-self: start; width: 35px; height: 35px; }
    .lb-payment-stage__percent { grid-column: 2; grid-row: 1; margin: 0; font-size: 44px; }
    .lb-payment-stage__label { grid-column: 2; grid-row: 2; margin-top: 5px; font-size: 16px; }
    .lb-payment-stage__body { grid-column: 2; grid-row: 3; margin-top: 5px; font-size: 16px; }
    .lb-payment-bookings { margin-top: 18px; }
    .lb-payment-bookings__grid { grid-template-columns: 1fr; }
    .lb-payment-booking { min-height: 0; gap: 8px; padding: 12px 14px; }
    .lb-payment-booking + .lb-payment-booking { border-left: 0; }
    .lb-payment-booking:nth-child(n+2) { border-top: 1px solid rgba(142, 105, 63, .22); }
    .lb-payment-booking__label { font-size: 16px; }
    .lb-payment-booking__value { margin-top: 0; font-size: 20px; }
    .lb-payment-fees { margin-top: 14px; }
    .lb-payment-fee { padding: 10px 0; font-size: 16px; }
    .lb-payments__footnote { margin-top: 14px; font-size: 14px; }
    .lb-payments .lb-button { width: 100%; min-height: 52px; margin-top: 20px; }
}

@media (max-width: 759px) {
    .lb-header__contact--phone { gap: 6px; padding-inline: 3px; font-size: 14px; }
    .lb-header__contact--phone svg { width: 15px; height: 15px; }
    .lb-hero__facts {
        display: grid;
        grid-template-columns: max-content max-content minmax(0,1fr);
        align-items: start;
        justify-content: start;
        column-gap: 12px;
        row-gap: 0;
    }
    .lb-hero__facts > div { min-width: 0; align-content: start; align-items: start; }
    .lb-hero__facts dt { font-size: 13px; line-height: 1.2; letter-spacing: .02em; }
    .lb-hero__facts dd { font-size: 20px; line-height: 1.15; }
    .lb-hero__facts > div:last-child dd { font-size: 18px; line-height: 1.2; overflow-wrap: anywhere; }
}
@media (max-width: 380px) {
    .lb-header__contact--phone { gap: 3px; padding-inline: 2px; font-size: 14px; }
    .lb-header__contact--phone svg { width: 13px; height: 13px; }
    .lb-hero__facts { column-gap: 10px; padding-inline: 14px; }
    .lb-hero__facts dt { font-size: 12px; }
    .lb-hero__facts dd { font-size: 18px; }
    .lb-hero__facts > div:last-child dd { font-size: 17px; }
}

/* Desktop gallery controls occupy separate tracks without crowding the thumbnail rail. */
@media (min-width: 760px) {
    .lb-portal-content .lb-location-tray {
        grid-template-columns: minmax(130px,1fr) max-content max-content;
        grid-template-rows: minmax(48px,auto) minmax(0,1fr);
        gap: 4px clamp(10px,1.2vw,18px);
        padding-inline: clamp(12px,1.4vw,20px);
    }
    .lb-portal-content .lb-location-tray__heading { display: contents; }
    .lb-portal-content .lb-location-tray__heading > span { grid-column: 1; grid-row: 1; min-width: 0; align-self: center; }
    .lb-portal-content .lb-location-tray__views { grid-column: 2; grid-row: 1; width: max-content; max-width: 100%; min-height: 48px; justify-self: center; gap: 6px; padding-inline: 0; }
    .lb-portal-content .lb-location-tray__views button { min-width: 48px; min-height: 48px; padding: 6px 8px; font-size: 18px; }
    .lb-portal-content .lb-location-tray__control-label { font-size: 13px; }
    .lb-portal-content .lb-location-tray__heading .lb-text-link { grid-column: 3; grid-row: 1; max-width: 205px; min-height: 44px; justify-self: end; padding-inline: 6px 0; font-size: 13px; line-height: 1.25; white-space: normal; }
    .lb-portal-content .lb-location-tray__items { grid-column: 1/-1; grid-row: 2; }
}
@media (min-width: 760px) and (max-width: 1199px) {
    .lb-tour-window .lb-floor-call { width: calc(100% + 16px); margin-inline: -8px; }
}

/* The lead form keeps the visitor's local number visible while JS submits E.164. */
.lb-request-form { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 16px; }
.lb-request-form__name,
.lb-request-form__phone,
.lb-request-form__messenger,
.lb-request-form__layout { min-width: 0; }
.lb-request-form__comment,
.lb-request-form__submit,
.lb-request-form__status,
.lb-request-form__consent,
.lb-request-form .form-success,
.lb-request-form .form-error { grid-column: 1 / -1; }
.lb-request-form .lb-form-field { gap: 8px; font-size: 15px; }
.lb-request-form input,
.lb-request-form select,
.lb-request-form textarea { min-height: 52px; padding: 12px 14px; border-color: #cfc4b4; border-radius: 9px; font-size: 16px; line-height: 1.4; }
.lb-request-form textarea { min-height: 88px; resize: vertical; }
.lb-request-form input:focus,
.lb-request-form select:focus,
.lb-request-form textarea:focus { outline: 3px solid rgba(213, 126, 45, .23); border-color: var(--lb-orange); }
.lb-request-form input[aria-invalid="true"],
.lb-request-form textarea[aria-invalid="true"],
.lb-request-form select[aria-invalid="true"] { border-color: #b64e38; }
.lb-request-form .iti { display: block; width: 100%; min-width: 0; }
.lb-request-form .iti input[type="tel"] { width: 100%; min-height: 52px; padding-top: 12px; padding-bottom: 12px; }
.lb-request-form .iti__selected-flag { min-width: 68px; padding-inline: 10px 7px; border-radius: 8px 0 0 8px; }
.lb-request-dialog .iti__country-list { z-index: 2; left: 0; width: var(--lb-iti-list-width, min(360px, calc(100vw - 32px))); max-width: calc(100vw - 32px); max-height: min(300px, 42svh); overflow-x: hidden; overflow-y: auto; box-sizing: border-box; border-color: #cfc4b4; border-radius: 10px; box-shadow: 0 12px 36px rgba(36, 30, 23, .2); white-space: normal; }
.lb-request-dialog .iti__country { display: flex; min-height: 40px; align-items: center; gap: 6px; padding: 9px 10px; white-space: normal; }
.lb-request-dialog .iti__flag-box { flex: 0 0 20px; }
.lb-request-dialog .iti__country-name { min-width: 0; flex: 1 1 auto; white-space: normal; overflow-wrap: anywhere; }
.lb-request-dialog .iti__dial-code { flex: 0 0 auto; white-space: nowrap; }
.lb-request-dialog .iti__country { font-size: 14px; }
.lb-request-form__hint { color: var(--lb-muted); font-size: 13px; font-weight: 400; line-height: 1.45; }
.lb-request-form__status:empty { display: none; }
.lb-request-form__status:not(:empty) { display: block; grid-column: 1 / -1; padding: 11px 13px; border: 1px solid rgba(181, 73, 49, .35); border-radius: 8px; background: #fff7f3; color: #8f3828; font-size: 14px; line-height: 1.45; }
.lb-request-form .field-error { display: block; margin-top: 2px; color: #9a3b2d; font-size: 13px; line-height: 1.4; }
.lb-request-form__submit { min-height: 52px; justify-self: start; padding-inline: 23px; }
.lb-request-form__consent { margin: 0; color: var(--lb-muted); font-size: 12px; line-height: 1.5; }
.lb-request-form .form-success,
.lb-request-form .form-error { margin: 0; font-size: 14px; line-height: 1.5; }
.lb-request-form .form-success { color: #356b4e; }
.lb-request-form .form-error { color: #9a3b2d; }
.lb-request-form [data-lb-form-submit].is-loading { opacity: .72; cursor: progress; }

@media (max-width: 759px) {
    .lb-request-dialog { width: calc(100% - 20px); max-height: calc(100svh - 20px); }
    .lb-request-dialog .lb-dialog__shell { max-height: calc(100svh - 48px); overflow-x: visible; overflow-y: auto; }
    .lb-request-form { grid-template-columns: minmax(0, 1fr); gap: 13px; }
    .lb-request-form__name,
    .lb-request-form__phone,
    .lb-request-form__messenger,
    .lb-request-form__layout,
    .lb-request-form__comment,
    .lb-request-form__submit,
    .lb-request-form__status,
    .lb-request-form__consent,
    .lb-request-form .form-success,
    .lb-request-form .form-error { grid-column: 1; }
    .lb-request-form__submit { width: 100%; justify-self: stretch; }
    .lb-request-dialog .iti__country-list { max-height: min(280px, 38svh); }
}

/* Review pass: accessible locale typography, CTA contrast, and resilient imagery. */
.lb-page .lb-button--primary,
.lb-page .lb-hero .lb-button--primary { color: #211b15 !important; }
.lb-hero__content:focus { outline: 3px solid var(--lb-orange); outline-offset: -6px; }
.lb-floor-scene__copy h2[tabindex="-1"]:focus { outline: 3px solid rgba(168,136,91,.72); outline-offset: 6px; }
.lb-floor-intro__aside { display: grid; gap: 12px; }
.lb-render-notice { margin: 0; color: #62594f; font-size: 14px; line-height: 1.55; }
.lb-motion-toggle { display: inline-flex; width: fit-content; min-height: 44px; align-items: center; gap: 9px; padding: 8px 13px; border: 1px solid rgba(142,105,63,.48); border-radius: 999px; background: rgba(255,255,255,.55); color: #493a2a; cursor: pointer; font-size: 14px; line-height: 1.3; }
.lb-motion-toggle:hover { border-color: #956a3b; background: #fff; }
.lb-motion-toggle:disabled { cursor: default; opacity: .8; }
.lb-payments__quota-note,
.lb-contacts__support-note { max-width: 780px; color: #615a51; font-size: 15px; line-height: 1.6; }
.lb-amenity-card__source-note { color: #665e55; font-size: 13px; line-height: 1.45; }
.lb-interiors__note { color: #62594f; font-size: 14px; line-height: 1.55; }
.lb-floor-scene__photo { background: #e9e3d9; }
.lb-floor-scene__loading-indicator { position: absolute; z-index: 2; inset: 50% 24px auto auto; display: grid; width: 48px; height: 48px; place-items: center; transform: translateY(-50%); border: 1px solid rgba(120,91,58,.28); border-radius: 50%; background: rgba(250,248,243,.9); box-shadow: 0 6px 18px rgba(38,29,19,.14); pointer-events: none; }
.lb-floor-scene__loading-indicator[hidden] { display: none; }
.lb-floor-scene__loading-indicator::before { width: 23px; height: 23px; border: 2px solid rgba(105,79,51,.24); border-top-color: #694f33; border-radius: 50%; content: ""; animation: lb-floor-image-spin .8s linear infinite; }
@keyframes lb-floor-image-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .lb-floor-scene__loading-indicator::before { animation: none; } }
.lb-hero__image-fallback,
.lb-floor-scene__image-fallback,
.lb-image-load-fallback { position: absolute; z-index: 3; inset: auto 18px 18px; display: grid; justify-items: start; gap: 10px; max-width: min(420px,calc(100% - 36px)); padding: 14px 16px; border: 1px solid rgba(120,91,58,.42); border-radius: 10px; background: rgba(250,248,243,.96); color: #332d26; box-shadow: 0 10px 28px rgba(38,29,19,.13); font-size: 14px; line-height: 1.5; }
.lb-hero__image-fallback { inset: auto 24px 104px auto; }
.lb-hero__image-fallback[hidden],
.lb-floor-scene__image-fallback[hidden],
.lb-image-load-fallback[hidden] { display: none; }
.lb-floor-scene__image-fallback p,
.lb-image-load-fallback p { margin: 0; }
.lb-floor-scene__image-fallback button,
.lb-image-load-fallback button { min-height: 44px; padding: 8px 14px; border: 1px solid #956a3b; border-radius: 999px; background: #fffaf3; color: #493a2a; cursor: pointer; }
.lb-gallery-viewer figure,
.lb-plan-dialog__figure { position: relative; }
.lb-plan-dialog__figure { background: #f4f0e9; }
.lb-request-dialog .iti,
.lb-request-dialog input[type="tel"] { direction: ltr; text-align: left; }
.lb-payment-card__price,
.lb-payment-booking__value,
.lb-payment-fee__value,
.lb-residence-card__price strong,
.lb-floor-number,
.lb-elevator-panel__screen-readout { unicode-bidi: isolate; }
.lb-payment-card__price bdi,
.lb-payment-booking__value bdi,
.lb-payment-fee__value bdi,
.lb-residence-card__price bdi { direction: ltr; unicode-bidi: isolate; }
.lb-gallery-count,
.lb-location-tray__views [data-selected-view-count] { unicode-bidi: plaintext; }

/* Do not mirror photographs or elevator travel; only mirror reading layout. */
.lb-page[dir="rtl"] { text-align: start; }
.lb-page[dir="rtl"] .lb-hero__wash { background: linear-gradient(270deg,rgba(250,248,243,.96) 0%,rgba(250,248,243,.92) 21%,rgba(250,248,243,.7) 39%,rgba(250,248,243,.22) 55%,rgba(250,248,243,0) 67%),linear-gradient(180deg,rgba(250,248,243,.42),transparent 22%); }
.lb-page[dir="rtl"] .lb-floor-scene__wash { background: linear-gradient(270deg,rgba(250,248,244,.96) 0%,rgba(250,248,244,.9) 25%,rgba(250,248,244,.66) 39%,rgba(250,248,244,.16) 56%,transparent 68%); }
.lb-page[dir="rtl"] .lb-floor-scene--sky .lb-floor-scene__wash { background: linear-gradient(270deg,rgba(250,248,244,.96) 0%,rgba(250,248,244,.88) 26%,rgba(250,248,244,.6) 40%,rgba(250,248,244,.12) 57%,transparent 68%); }
.lb-page[dir="rtl"] .lb-hero__lead,
.lb-page[dir="rtl"] .lb-floor-scene__lead,
.lb-page[dir="rtl"] .lb-floor-intro__content p { text-align: start; }
.lb-page[dir="rtl"] .lb-header__contacts,
.lb-page[dir="rtl"] .lb-language,
.lb-page[dir="rtl"] .lb-gallery-controls,
.lb-page[dir="rtl"] .lb-location-tray__views { direction: ltr; }
.lb-page[dir="rtl"] .lb-gallery-viewer figcaption,
.lb-page[dir="rtl"] .lb-plan-dialog__figure figcaption { direction: rtl; }

html[lang="th"] .lb-page,
html[lang="th"] .lb-page .lb-display,
html[lang="th"] .lb-page .lb-eyebrow { font-family: "Noto Sans Thai","Noto Sans",Tahoma,sans-serif; }
html[lang="he"] .lb-page,
html[lang="he"] .lb-page .lb-display,
html[lang="he"] .lb-page .lb-eyebrow { font-family: "Noto Sans Hebrew","Noto Sans",Arial,sans-serif; }
html[lang="zh-Hans"] .lb-page,
html[lang="zh-Hans"] .lb-page .lb-display,
html[lang="zh-Hans"] .lb-page .lb-eyebrow { font-family: "Noto Sans SC","Noto Sans",Arial,sans-serif; }
html[lang="es"] .lb-page { font-family: "Noto Sans",Arial,sans-serif; }

@media (max-width: 759px) {
    .lb-render-notice { font-size: 13px; }
    .lb-motion-toggle { min-height: 44px; font-size: 13px; }
    .lb-payments__quota-note,
    .lb-contacts__support-note { font-size: 14px; }
    .lb-floor-scene__image-fallback,
    .lb-hero__image-fallback,
    .lb-image-load-fallback { inset-inline: 12px; bottom: 12px; max-width: calc(100% - 24px); padding: 11px 12px; }
}
@media (max-height: 559px) {
    .lb-page .lb-floor-tour:not(.is-enhanced) .lb-floor-block { scroll-margin-top: 8px; }
}
@media (prefers-reduced-motion: reduce) {
    .lb-page *,
    .lb-page *::before,
    .lb-page *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

.lb-html.lb-motion-reduced,
.lb-html.lb-motion-reduced .lb-page { scroll-behavior: auto !important; }

/* In the short-viewport native-flow fallback, keep the scene readable above
   its photo. Later desktop typography rules otherwise narrow this copy column. */
@media (max-width: 759px) {
    .lb-page .lb-floor-tour:not(.is-enhanced) .lb-floor-scene {
        display: flex;
        min-height: 0;
        flex-direction: column;
        align-items: stretch;
        padding: 0;
        overflow: hidden;
        background: var(--lb-ivory);
    }
    .lb-page .lb-floor-tour:not(.is-enhanced) .lb-floor-scene__photo {
        position: relative;
        z-index: 0;
        order: 2;
        width: 100%;
        height: clamp(220px, 70vw, 300px);
        flex: 0 0 auto;
        inset: auto;
        margin: 0;
    }
    .lb-page .lb-floor-tour:not(.is-enhanced) .lb-floor-scene__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
    .lb-page .lb-floor-tour:not(.is-enhanced) .lb-floor-scene__wash { display: none; }
    .lb-page .lb-floor-tour:not(.is-enhanced) .lb-floor-scene__content {
        order: 1;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 18px clamp(16px, 5vw, 22px) 14px;
        background: var(--lb-ivory);
    }
    .lb-page .lb-floor-tour:not(.is-enhanced) .lb-floor-scene__copy,
    .lb-page .lb-floor-tour:not(.is-enhanced) .lb-floor-scene__copy h2.lb-display,
    .lb-page .lb-floor-tour:not(.is-enhanced) .lb-floor-scene__lead {
        width: 100%;
        max-width: 100%;
    }
    .lb-page .lb-floor-tour:not(.is-enhanced) .lb-floor-scene__copy h2.lb-display {
        font-size: clamp(26px, 7vw, 32px);
        line-height: 1.15;
        overflow-wrap: break-word;
        word-break: normal;
    }
    .lb-page .lb-floor-tour:not(.is-enhanced) .lb-floor-scene__lead { font-size: 16px; line-height: 1.48; overflow-wrap: break-word; word-break: normal; }
    .lb-page .lb-floor-tour:not(.is-enhanced) .lb-floor-scene__enlarge { min-height: 44px; }
}

@media (max-height: 500px) {
    .lb-page .lb-gallery-dialog {
        width: min(calc(100vw - 12px), 1280px);
        height: calc(100svh - 12px);
        max-height: calc(100svh - 12px);
        border-radius: 12px;
    }
    .lb-page .lb-gallery-dialog .lb-dialog__shell { padding: 8px 16px; }
    .lb-page .lb-gallery-dialog .lb-dialog__head { gap: 10px; padding-bottom: 4px; }
    .lb-page .lb-gallery-dialog .lb-dialog__head .lb-eyebrow { margin-bottom: 2px; font-size: 11px; }
    .lb-page .lb-gallery-dialog .lb-dialog__head h2 { font-size: clamp(20px, 2.1vw, 26px); line-height: 1.12; }
    .lb-page .lb-gallery-dialog .lb-icon-button { width: 44px; height: 44px; }
    .lb-page .lb-gallery-dialog .lb-gallery-filters { gap: 7px; margin-bottom: 4px; padding: 0 1px 4px; }
    .lb-page .lb-gallery-dialog .lb-gallery-filters button { min-height: 40px; padding: 7px 12px; font-size: 13px; }
    .lb-page .lb-gallery-dialog .lb-gallery-viewer { min-height: 0; flex: 1 1 0; align-items: stretch; }
    .lb-page .lb-gallery-dialog .lb-gallery-viewer figure { display: grid; min-height: 0; grid-template-rows: minmax(0, 1fr) auto; justify-items: stretch; }
    .lb-page .lb-gallery-dialog .lb-gallery-viewer img { width: 100%; height: 100%; min-height: 0; max-height: none; aspect-ratio: auto; object-fit: contain; background: transparent; }
    .lb-page .lb-gallery-dialog .lb-gallery-viewer figcaption { display: flex; min-height: 22px; align-items: center; gap: 8px; padding-top: 4px; font-size: 12px; line-height: 1.2; }
    .lb-page .lb-gallery-dialog .lb-gallery-keyboard-hint { font-size: 11px; }
    .lb-page .lb-gallery-dialog .lb-gallery-controls { grid-template-columns: minmax(120px, 190px) auto minmax(120px, 190px); gap: 8px; margin-top: 4px; }
    .lb-page .lb-gallery-dialog .lb-gallery-arrow,
    .lb-page .lb-gallery-dialog .lb-gallery-arrow:first-child,
    .lb-page .lb-gallery-dialog .lb-gallery-arrow:last-child { width: 100%; min-width: 0; min-height: 44px; gap: 7px; padding: 5px 10px; border-radius: 10px; font-size: 14px; }
    .lb-page .lb-gallery-dialog .lb-gallery-arrow__icon { font-size: 20px; }
    .lb-page .lb-gallery-dialog .lb-gallery-count { font-size: 13px; }
}

@media (max-width: 759px) and (max-height: 500px) {
    .lb-page .lb-gallery-dialog .lb-dialog__shell { padding: 6px 8px; }
    .lb-page .lb-gallery-dialog .lb-dialog__head { padding-bottom: 2px; }
    .lb-page .lb-gallery-dialog .lb-dialog__head h2 { font-size: 19px; }
    .lb-page .lb-gallery-dialog .lb-gallery-filters { gap: 5px; margin-bottom: 3px; padding-bottom: 3px; }
    .lb-page .lb-gallery-dialog .lb-gallery-filters button { min-height: 38px; padding-inline: 10px; font-size: 12px; }
    .lb-page .lb-gallery-dialog .lb-gallery-controls { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 5px; }
    .lb-page .lb-gallery-dialog .lb-gallery-arrow,
    .lb-page .lb-gallery-dialog .lb-gallery-arrow:first-child,
    .lb-page .lb-gallery-dialog .lb-gallery-arrow:last-child { padding-inline: 5px; font-size: 12px; }
    .lb-page .lb-gallery-dialog .lb-gallery-viewer figcaption { gap: 4px; font-size: 11px; }
    .lb-page .lb-gallery-dialog .lb-gallery-keyboard-hint { font-size: 10px; }
}

@media (min-width: 500px) and (max-height: 280px) {
    .lb-page .lb-gallery-dialog .lb-dialog__shell {
        display: flex;
        min-height: 0;
        flex: 1 1 auto;
        flex-direction: column;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 6px 10px;
    }
    .lb-page .lb-gallery-dialog .lb-dialog__head {
        position: sticky;
        z-index: 5;
        top: 0;
        min-width: 0;
        flex: 0 0 auto;
        align-items: center;
        padding-bottom: 4px;
        background: var(--lb-ivory);
    }
    .lb-page .lb-gallery-dialog .lb-dialog__head h2 { font-size: 18px; line-height: 1.1; }
    .lb-page .lb-gallery-dialog .lb-dialog__head .lb-icon-button { width: 44px; height: 44px; }
    .lb-page .lb-gallery-dialog .lb-gallery-filters {
        min-width: 0;
        max-width: 100%;
        flex: 0 0 auto;
        gap: 5px;
        margin: 0 0 4px;
        padding: 2px 1px;
    }
    .lb-page .lb-gallery-dialog .lb-gallery-filters button { min-height: 40px; padding: 6px 10px; font-size: 12px; }
    .lb-page .lb-gallery-dialog .lb-gallery-viewer {
        min-height: 0;
        flex: 0 0 auto;
    }
    .lb-page .lb-gallery-dialog .lb-gallery-viewer figure {
        display: flex;
        min-height: 0;
        flex: 0 0 auto;
        flex-direction: column;
    }
    .lb-page .lb-gallery-dialog .lb-gallery-viewer img {
        width: 100%;
        height: 200px;
        min-height: 200px;
        max-height: none;
        flex: 0 0 auto;
        aspect-ratio: auto;
        object-fit: contain;
        background: transparent;
    }
    .lb-page .lb-gallery-dialog .lb-gallery-viewer figcaption { min-height: 20px; gap: 6px; padding-top: 2px; font-size: 11px; }
    .lb-page .lb-gallery-dialog .lb-gallery-keyboard-hint { font-size: 10px; }
    .lb-page .lb-gallery-dialog .lb-gallery-controls {
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        gap: 6px;
        margin: 4px 0;
    }
    .lb-page .lb-gallery-dialog .lb-gallery-arrow,
    .lb-page .lb-gallery-dialog .lb-gallery-arrow:first-child,
    .lb-page .lb-gallery-dialog .lb-gallery-arrow:last-child { min-height: 44px; padding-block: 4px; }
}

.lb-page .lb-gallery-dialog .lb-gallery-filters button[aria-pressed="true"],
.lb-page .lb-gallery-dialog .lb-gallery-filters button:hover { color: #211b15; }
.lb-page .lb-gallery-dialog .lb-gallery-filters button:focus-visible { outline: 3px solid #211b15; outline-offset: 2px; }


/* Keep desktop floor text over a soft wash that follows its actual copy box. */
@media (min-width: 760px) {
    .lb-page .lb-floor-scene__copy { position: relative; isolation: isolate; }
    .lb-page .lb-floor-scene__copy::before {
        position: absolute;
        z-index: -1;
        inset-block: -24px;
        inset-inline-start: -54px;
        inset-inline-end: -64px;
        content: "";
        pointer-events: none;
        background: linear-gradient(90deg, rgba(250, 248, 244, .97) 0%, rgba(250, 248, 244, .94) calc(100% - 64px), transparent 100%);
        -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
        mask-image: linear-gradient(180deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
    }
    .lb-page .lb-floor-scene__copy h2.lb-display,
    .lb-page .lb-floor-scene__lead { max-width: 100%; }
    .lb-page[dir="rtl"] .lb-floor-scene__copy::before {
        background: linear-gradient(270deg, rgba(250, 248, 244, .97) 0%, rgba(250, 248, 244, .94) calc(100% - 64px), transparent 100%);
    }
}

.lb-page .lb-floor-scene .lb-eyebrow,
.lb-page .lb-floor-scene .lb-floor-number { color: var(--lb-metal-deep); }

@media (max-width: 380px) {
    .lb-page .lb-gallery-dialog .lb-gallery-controls {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        grid-template-areas: "count count" "previous next";
        gap: 6px 8px;
        justify-content: stretch;
    }
    .lb-page .lb-gallery-dialog .lb-gallery-count {
        grid-area: count;
        justify-self: center;
        max-width: 100%;
        text-align: center;
        white-space: normal;
        overflow-wrap: anywhere;
    }
    .lb-page .lb-gallery-dialog [data-gallery-previous] { grid-area: previous; }
    .lb-page .lb-gallery-dialog [data-gallery-next] { grid-area: next; }
    .lb-page .lb-gallery-dialog .lb-gallery-arrow,
    .lb-page .lb-gallery-dialog .lb-gallery-arrow:first-child,
    .lb-page .lb-gallery-dialog .lb-gallery-arrow:last-child {
        width: 100%;
        min-width: 0;
        height: auto;
        min-height: 44px;
        flex-wrap: wrap;
        align-content: center;
        gap: 6px;
        padding: 6px 8px;
        font-size: 14px;
        line-height: 1.2;
        text-align: center;
        white-space: normal;
    }
}
