.lbp{--lbp-count:var(--lbp-desktop);margin:40px auto;padding:12px 0 26px;width:100%;max-width:1600px;box-sizing:border-box;text-align:var(--lbp-align);color:var(--lbp-text)}.lbp *{box-sizing:border-box}.lbp .lbp-title{font-size:clamp(22px,4vw,var(--lbp-title-size));line-height:1.2;color:var(--lbp-title);font-weight:500;letter-spacing:.025em;margin:0 0 26px}.lbp .lbp-viewport{overflow-x:auto;scrollbar-width:thin;padding:12px 0 18px}.lbp.lbp-ready .lbp-viewport{overflow:hidden}.lbp .lbp-track{display:flex;gap:var(--lbp-gap);will-change:transform}.lbp .lbp-photo{flex:0 0 calc((100% - (var(--lbp-count) - 1)*var(--lbp-gap))/var(--lbp-count));min-width:0;height:var(--lbp-height);display:block;overflow:hidden;border-radius:var(--lbp-radius);background:var(--lbp-bg);outline-offset:3px}.lbp .lbp-shadow .lbp-photo{box-shadow:0 5px 13px #24191c18}.lbp .lbp-photo img{display:block;width:100%;height:100%;object-fit:var(--lbp-fit);transition:transform .35s}@media(hover:hover) and (pointer:fine){.lbp .lbp-photo:hover img{transform:scale(1.015)}}.lbp .lbp-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin:12px 0 22px}.lbp [hidden]{display:none!important}.lbp button{font:inherit;cursor:pointer;touch-action:manipulation}.lbp .lbp-controls>button{width:44px;height:44px;border:1px solid #d5cdd0;border-radius:50%;background:white;color:var(--lbp-title);font-size:28px;line-height:1;padding:0;flex-shrink:0}.lbp .lbp-controls>button:disabled{opacity:.3;cursor:default}.lbp .lbp-controls>.lbp-play{font-size:16px}.lbp .lbp-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:2px;max-width:70%}.lbp .lbp-dot{border:0;width:28px;height:38px;padding:0;background:transparent;display:grid;place-items:center}.lbp .lbp-dot:before{content:'';display:block;width:7px;height:7px;border-radius:20px;background:#c7bfc2;transition:width .2s}.lbp .lbp-dot[aria-current=true]:before{width:20px;background:var(--lbp-title)}.lbp .lbp-caption{max-width:850px;margin:20px auto 0;padding:0 14px;font-size:var(--lbp-text-size);line-height:1.8;white-space:normal}.lbp .lbp-caption a{color:var(--lbp-title);white-space:nowrap;text-decoration:underline;text-underline-offset:4px;font-weight:600}.lbp .lbp-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lbp .lbp-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:60px 64px 24px;border:0;background:#100d10f5;color:white;overflow:hidden;margin:0}.lbp .lbp-dialog::backdrop{background:#000c}.lbp .lbp-dialog[open]{display:flex;align-items:center;justify-content:center;gap:12px}.lbp .lbp-dialog figure{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;height:100%;width:100%}.lbp .lbp-large{display:block;max-width:100%;min-height:0;max-height:calc(100% - 42px);object-fit:contain;flex:1}.lbp .lbp-counter{font-size:14px;text-align:center;padding:12px 0 0;min-height:35px}.lbp .lbp-dialog button{background:#ffffff15;border:1px solid #ffffff50;color:white;border-radius:50%;width:46px;height:46px;font-size:30px;flex-shrink:0;position:absolute;z-index:1}.lbp .lbp-close{right:18px;top:14px}.lbp .lbp-light-prev{left:12px;top:50%}.lbp .lbp-light-next{right:12px;top:50%}.lbp button:focus-visible,.lbp a:focus-visible{outline:3px solid #a06f44;outline-offset:3px}@media(max-width:1023px){.lbp{--lbp-count:var(--lbp-tablet)}.lbp .lbp-photo{height:var(--lbp-height-tablet)}}@media(max-width:599px){.lbp{--lbp-count:var(--lbp-mobile);margin:24px auto}.lbp .lbp-photo{height:var(--lbp-height-mobile)}.lbp .lbp-dialog{padding:64px 48px 18px}.lbp .lbp-dialog button{width:40px;height:40px}.lbp .lbp-light-prev{left:4px}.lbp .lbp-light-next{right:4px}.lbp .lbp-controls{gap:8px}}@media(prefers-reduced-motion:reduce){.lbp *{transition:none!important;animation:none!important}}

/* General panel background and decorative layer, shared by title and caption. */
.lbp{position:relative;isolation:isolate;background-color:var(--lbp-module-bg,transparent);border-radius:var(--lbp-module-radius,0px);padding:var(--lbp-padding,24px)}
.lbp::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:.12}
.lbp.lbp-pattern-dots::before{background-image:radial-gradient(circle,var(--lbp-pattern-color) 1px,transparent 1.3px);background-size:14px 14px}
.lbp.lbp-pattern-diagonal::before{background-image:repeating-linear-gradient(135deg,var(--lbp-pattern-color) 0,var(--lbp-pattern-color) 1px,transparent 1px,transparent 12px)}
.lbp.lbp-pattern-grid::before{background-image:linear-gradient(var(--lbp-pattern-color) 1px,transparent 1px),linear-gradient(90deg,var(--lbp-pattern-color) 1px,transparent 1px);background-size:24px 24px}
@media(max-width:599px){.lbp{padding:min(var(--lbp-padding,24px),20px)}}

/* Mobile: height follows each card width, including two or three visible photos. */
@media(max-width:599px){
 .lbp .lbp-track{align-items:flex-start}
 .lbp .lbp-photo{height:auto;aspect-ratio:3 / 4;max-height:min(var(--lbp-height-mobile,260px),280px);align-self:flex-start}
 .lbp .lbp-photo img{height:100%;max-width:100%;object-fit:var(--lbp-fit);object-position:center}
}

/* Uniform-height groups, natural photo widths, no empty portrait-sized landscape slots. */
.lbp.lbp-ready .lbp-track{gap:0;align-items:flex-start}
.lbp .lbp-group{display:flex;flex:0 0 auto;justify-content:center;align-items:center;min-width:0}
.lbp.lbp-ready .lbp-group .lbp-photo{flex:0 0 auto;aspect-ratio:auto;max-height:none;align-self:center}
.lbp.lbp-ready .lbp-group .lbp-photo img{width:100%;height:100%;object-fit:contain;max-width:none;max-height:none}

/* One-line navigation: a compact numeric indicator replaces dots on phones. */
.lbp .lbp-page-count{display:none}
.lbp .lbp-dots{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;min-width:0}
.lbp .lbp-dot{flex:0 0 28px}
@media(max-width:599px){
 .lbp .lbp-viewport{padding-bottom:8px}
 .lbp .lbp-controls{flex-wrap:nowrap;gap:4px;margin:4px auto 10px;min-height:40px;width:max-content;max-width:100%}
 .lbp .lbp-dots{display:none!important}
 .lbp .lbp-page-count{display:inline-flex;align-items:center;justify-content:center;min-width:58px;min-height:40px;padding:0 4px;color:var(--lbp-title);font-size:13px;line-height:1;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;flex:0 0 auto}
 .lbp .lbp-controls>button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;min-height:40px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;color:var(--lbp-title);font-size:23px;line-height:1;flex:0 0 40px}
 .lbp .lbp-controls>.lbp-play{font-size:14px}
 .lbp .lbp-controls>button:active{background:#8882}
}

.lbp .lbp-caption p{margin:0 0 .7em}.lbp .lbp-caption p:last-child{margin-bottom:0}.lbp .lbp-caption ul,.lbp .lbp-caption ol{display:table;max-width:100%;margin:.6em auto;padding-left:1.5em;text-align:left}.lbp .lbp-caption a{white-space:normal}.lbp .lbp-caption>a[href^="tel:"]{white-space:nowrap}

/* Compact phone layout, independently adjustable from desktop and tablet. */
@media(max-width:599px){
 .lbp.lbp-mobile-compact{padding:12px var(--lbp-mobile-padding,8px) 12px;margin-top:12px;margin-bottom:12px;border-radius:min(var(--lbp-module-radius,16px),12px);--lbp-gap:var(--lbp-mobile-gap,6px)}
 .lbp.lbp-mobile-compact .lbp-title{font-size:min(var(--lbp-title-size,30px),21px);line-height:1.15;letter-spacing:0;margin:0 0 8px;padding:0 2px}
 .lbp.lbp-mobile-compact .lbp-viewport{padding-top:4px;padding-bottom:4px}
 .lbp.lbp-mobile-compact .lbp-controls{gap:2px;margin:0 auto 2px}
 .lbp.lbp-mobile-compact .lbp-page-count{min-width:50px;font-size:12px}
 .lbp.lbp-mobile-compact .lbp-caption{width:100%;max-width:none;margin:6px 0 0;padding:0 2px;font-size:var(--lbp-mobile-text,14px);line-height:1.45;overflow-wrap:anywhere}
 .lbp.lbp-mobile-compact .lbp-caption p,.lbp.lbp-mobile-compact .lbp-caption span,.lbp.lbp-mobile-compact .lbp-caption a,.lbp.lbp-mobile-compact .lbp-caption li{font-size:inherit!important;line-height:inherit!important}
 .lbp.lbp-mobile-compact .lbp-caption p{margin:0 0 .35em!important;padding:0!important}
 .lbp.lbp-mobile-compact .lbp-caption p:last-child{margin-bottom:0!important}
 .lbp.lbp-mobile-compact .lbp-caption h3,.lbp.lbp-mobile-compact .lbp-caption h4{font-size:1.08em!important;line-height:1.3!important;margin:.4em 0!important}
 .lbp.lbp-mobile-compact .lbp-caption ul,.lbp.lbp-mobile-compact .lbp-caption ol{margin:.3em auto;padding-left:1.3em}
 .lbp.lbp-mobile-compact .lbp-caption blockquote{margin:.4em 0;padding:.3em .6em;font-size:inherit;line-height:inherit}
}
