/* Product gallery: alternating edge-to-edge images and overlapping white cards. */
body.lemay-site.lm-catalog-page { background: #fff; color: #45484a; }
.lmc-main { --lmc-accent: #bf1e2e; --lmc-ink: #34393c; --lmc-muted: #72777a; overflow: clip; }
.lmc-main *, .lmc-main *::before, .lmc-main *::after { box-sizing: border-box; }
.lmc-main a { text-decoration: none; }
.lmc-sr-only { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; margin: -1px!important; overflow: hidden!important; clip-path: inset(50%)!important; white-space: nowrap!important; border: 0!important; }
.lmc-main figure { margin: 0; }
.lmc-main svg { display: block; width: 24px; height: 24px; flex: none; }
.lemay-site .lmc-main h2 { font-family: Instrument, Arial, "Microsoft YaHei", sans-serif; color: var(--lmc-ink); font-weight: 500; letter-spacing: -.025em; max-width: none; }
.lmc-hero { position: relative; isolation: isolate; height: clamp(500px,39vw,750px); background: #f8f8f8; overflow: hidden; }
.lmc-slide { position: absolute; inset: 0; display: grid; align-items: center; background: #f8f8f8; }
.lmc-slide[hidden] { display: none!important; }
.lmc-hero-art { position: absolute; top: 0; left: 44%; height: 100%; width: 56%; overflow: hidden; }
.lmc-hero-art img { display: block; width: 100%; height: 100%; max-width: none; object-fit: contain; object-position: center center; }
.lmc-hero-copy { position: relative; z-index: 1; width: 32%; min-height: 340px; margin-left: 8%; padding: clamp(30px,3vw,58px); background: #fff; border-radius: 10px; box-shadow: 0 15px 38px #26323812; }
.lemay-site .lmc-kicker { color: #8b8e90; font-size: 10px; font-weight: 500; line-height: 1.5; letter-spacing: .13em; margin: 0 0 20px; max-width: none; }
.lemay-site .lmc-hero-copy h2 { font-size: clamp(24px,1.65vw,33px); line-height: 1.55; margin: 0 0 22px; text-wrap: balance; }
.lemay-site .lmc-hero-description { font-size: clamp(14px,1.02vw,19px); line-height: 1.85; color: var(--lmc-muted); margin: 0; max-width: none; text-wrap: balance; }
.lemay-site .lmc-more { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 46px; padding: 10px 24px; margin-top: 32px; border: 1px solid #d9dadd; border-radius: 30px; color: #595e61; font-size: 12px; transition: color .2s, border-color .2s, background-color .2s; }
.lmc-more svg { width: 16px; height: 16px; }
.lemay-site .lmc-more:hover { border-color: var(--lmc-accent); background: var(--lmc-accent); color: #fff; }
.lmc-carousel-controls { position: absolute; z-index: 4; left: 0; right: 0; bottom: 24px; display: flex; align-items: center; justify-content: center; gap: 13px; }
.lmc-carousel-controls button { display: grid; place-items: center; width: 36px; height: 36px; border: 0; padding: 0; color: #5e666a; background: transparent; border-radius: 50%; cursor: pointer; box-shadow: none; }
.lmc-carousel-controls button:hover { background: #ffffff7a; color: var(--lmc-accent); }
.lmc-carousel-controls .lmc-step svg { width: 19px; height: 19px; }
.lmc-dots { display: flex; gap: 1px; }
.lmc-dots button { width: 32px; }
.lmc-dots span { width: 7px; height: 7px; border-radius: 10px; background: #a7aaac; box-shadow: none; transition: background-color .25s, width .25s; }
.lmc-dots button[aria-pressed=true] span { width: 24px; background: var(--lmc-accent); box-shadow: none; }
.lmc-autoplay .lmc-play-icon, .lmc-autoplay.is-paused .lmc-pause-icon { display: none; }
.lmc-autoplay.is-paused .lmc-play-icon { display: block; }
.lmc-autoplay svg { width: 18px; height: 18px; }
.lmc-intro { padding: clamp(65px,5.2vw,100px) 10vw; text-align: center; }
.lemay-site .lmc-intro p { max-width: none; margin: 0; font-size: clamp(18px,1.65vw,30px); line-height: 1.8; color: #676b6e; }
.lmc-products { display: grid; gap: clamp(75px,6.5vw,125px); padding-bottom: clamp(70px,7vw,135px); }
.lmc-row { position: relative; }
.lmc-product-link { display: block; position: relative; min-height: min(36.5vw,720px); }
.lmc-photo { width: 73%; height: min(36.5vw,720px); overflow: hidden; border-radius: 0 22px 22px 0; background: #e5e4e0; }
.lmc-photo-inner { width: 100%; height: 100%; }
.lmc-photo img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.lmc-card { position: absolute; z-index: 2; left: 43.5%; top: 50%; translate: 0 -50%; width: 52.5%; display: flex; align-items: center; gap: clamp(24px,3vw,58px); min-height: clamp(210px,16.5vw,320px); padding: clamp(32px,3.4vw,65px); background: #fff; border-radius: 10px; box-shadow: 0 22px 55px #25343c0f; transition: box-shadow .35s; }
.lmc-card-copy { flex: 1; min-width: 0; }
.lemay-site .lmc-card h2 { font-size: clamp(25px,2.05vw,40px); line-height: 1.4; margin: 0 0 24px; }
.lemay-site .lmc-card p { font-size: clamp(14px,1.08vw,21px); line-height: 1.85; color: #757a7d; max-width: none; margin: 0; }
.lmc-card-arrow { color: #919699; flex: none; }
.lmc-product-link:hover .lmc-card, .lmc-product-link:focus-visible .lmc-card { box-shadow: 0 28px 65px #25343c19; }
.lmc-product-link:hover h2, .lmc-product-link:focus-visible h2 { color: var(--lmc-accent); }
.lmc-row-reverse .lmc-photo { margin-left: auto; border-radius: 22px 0 0 22px; }
.lmc-row-reverse .lmc-card { left: 4%; }
.lm-catalog-page .st-viewer {
  grid-template-columns: minmax(300px,.78fr) minmax(0,1.22fr);
  gap: clamp(54px,7vw,132px);
  min-height: clamp(700px,50vw,900px);
  padding: clamp(88px,7.5vw,145px) 8vw;
  background: #f5f5f2;
  border-color: #e1e2de;
}
.lm-catalog-page .st-viewer-copy { padding-left: min(3vw,52px); }
.lm-catalog-page .st-viewer-copy .st-label { color: #85898b; margin-bottom: 31px; }
.lm-catalog-page .st-viewer-copy .st-dot { background: var(--lmc-accent); }
.lemay-site.lm-catalog-page .st-viewer-copy h2 {
  margin: 0 0 28px!important;
  color: var(--lmc-ink);
  font-size: clamp(40px,3.2vw,58px);
  line-height: 1.18;
  letter-spacing: -.055em;
}
.lemay-site.lm-catalog-page .st-viewer-copy .st-description { max-width: 430px; color: #72777a; font-size: clamp(14px,1.05vw,18px); line-height: 1.9; }
.lm-catalog-page .st-finish-controls { margin-top: 38px; }
.lm-catalog-page .st-control-label { color: #7e8385; }
.lm-catalog-page .st-swatch { border-color: #f5f5f2; }
.lm-catalog-page .st-colour-name { color: #666b6e; }
.lm-catalog-page .st-viewer-copy > .st-text-link { margin-top: 31px; color: var(--lmc-ink); border-color: #c8cbcc; }
.lm-catalog-page .st-viewer-copy > .st-text-link:hover { color: var(--lmc-accent); border-color: var(--lmc-accent); }
.lm-catalog-page .st-viewer-panel {
  min-height: clamp(520px,35vw,660px);
  padding: clamp(20px,1.7vw,32px);
  border: 1px solid #d8dad8;
  border-radius: 14px;
  background: radial-gradient(ellipse at 47% 40%,#fff,#eceee9 82%);
  box-shadow: 0 24px 58px #25343c0b;
}
.lm-catalog-page .st-viewer-panel model-viewer,
.lm-catalog-page .st-viewer-panel .st-sequence { height: clamp(400px,29vw,545px); }
.lm-catalog-page .st-viewer-top { color: #7c8182; }
.lm-catalog-page .st-viewer-top > span:first-child { border-color: #c7caca; }
.lm-catalog-page .st-viewer-bottom { border-color: #d2d5d3; color: #6e7476; }
.lm-catalog-page .st-view-reset { border-color: #b9bdbd; }
.lemay-site.lm-catalog-page .st-concept-note { color: #858a8b; }
.lmc-finish { padding: clamp(48px,5vw,80px) 6vw clamp(60px,6vw,100px); }
.lmc-finish-heading { max-width: 1600px; margin: 0 auto clamp(32px,3vw,48px); text-align: center; }
.lemay-site .lmc-finish-heading .lmc-kicker { margin-bottom: 12px; }
.lemay-site .lmc-finish-heading h2 { margin: 0; font-size: clamp(28px,2.5vw,44px); line-height: 1.35; }
.lmc-finish-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(16px,1.6vw,28px); max-width: 1600px; margin: 0 auto; }
.lmc-finish-item { min-width: 0; text-align: center; }
.lmc-finish-image { position: relative; isolation: isolate; overflow: hidden; aspect-ratio: 1 / 1; border-radius: 8px; }
.lmc-finish-item img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 8px; background: #f2f1ed; }
.lmc-finish-lens { position: absolute; top: 0; left: 0; z-index: 1; width: clamp(112px,11vw,180px); max-width: 100%; aspect-ratio: 1 / 1; border-radius: 50%; pointer-events: none; background: #f2f1ed no-repeat; box-shadow: inset 0 0 0 2px rgba(255,255,255,.92), inset 0 0 0 3px rgba(35,32,27,.14), 0 4px 20px rgba(35,32,27,.24); opacity: 0; visibility: hidden; transition: opacity .12s ease, visibility .12s; }
.lmc-finish-image.is-magnifying { cursor: none; }
.lmc-finish-image.is-magnifying .lmc-finish-lens { opacity: 1; visibility: visible; }
@media (prefers-reduced-motion: reduce) {
  .lmc-finish-lens { transition: none; }
}
.lmc-finish-item figcaption { margin-top: 18px; color: var(--lmc-ink); font-size: clamp(18px,1.35vw,24px); font-weight: 500; line-height: 1.5; }
.lmc-project { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 45px; background: #f6f6f5; padding: 66px 8vw; }
.lmc-project .lmc-kicker { margin-bottom: 15px; }
.lemay-site .lmc-project h2 { font-size: clamp(26px,2.5vw,42px); line-height: 1.5; margin: 0 0 18px; }
.lemay-site .lmc-project p:not(.lmc-kicker) { max-width: none; font-size: 14px; color: var(--lmc-muted); line-height: 1.8; margin: 0; }
.lmc-project-actions { display: grid; justify-items: center; gap: 24px; flex: none; font-size: 13px; }
.lmc-project-actions a { display: inline-flex; align-items: center; gap: 28px; color: #5f6568; }
.lemay-site .lmc-project-primary { color: #fff; background: var(--lmc-accent); border-radius: 30px; padding: 17px 28px; }
.lmc-project-primary:hover { background: #a71928; }
.lmc-anchor { position: absolute; top: 0; }
.lmc-main :focus-visible { outline: 2px solid var(--lmc-accent); outline-offset: 5px; }
.lmc-product-link:focus-visible { outline-offset: -5px; }
@media (min-width: 2000px) { .lmc-photo { height: 36.5vw; } .lmc-product-link { min-height: 36.5vw; } }
@media (max-width: 1100px) and (min-width: 801px) {
  .lmc-hero-copy { width: 34%; margin-left: 6%; min-height: 325px; padding: 30px; }
  .lmc-card { width: 52.5%; padding: 30px; min-height: 210px; gap: 20px; }
  .lemay-site .lmc-card h2 { margin-bottom: 17px; }
  .lmc-project { padding-inline: 6vw; }
  .lm-catalog-page .st-viewer { grid-template-columns: minmax(260px,.75fr) minmax(0,1.25fr); gap: 42px; padding-inline: 6vw; }
  .lm-catalog-page .st-viewer-copy { padding-left: 0; }
}
@media (max-width: 800px) {
  .lmc-hero { height: auto; display: grid; }
  .lmc-slide { position: relative; grid-area: 1 / 1; min-height: 590px; display: grid; grid-template-rows: clamp(260px,45vw,360px) 1fr; align-items: start; padding-bottom: 70px; }
  .lmc-hero-art { position: relative; grid-row: 1; left: auto; width: 100%; height: clamp(260px,45vw,360px); }
  .lmc-hero-art { touch-action: pan-y; }
  .lmc-hero-art img { position: static; width: 100%; height: 100%; object-fit: contain; object-position: center; }
  .lmc-hero-copy { grid-row: 2; width: auto; min-height: 280px; margin: -10px 22px 0; padding: 29px; border-radius: 8px; }
  .lmc-hero-copy .lmc-kicker { margin-bottom: 13px; font-size: 8px; }
  .lemay-site .lmc-hero-copy h2 { font-size: 23px; line-height: 1.45; margin-bottom: 14px; }
  .lemay-site .lmc-hero-description { font-size: 13px; line-height: 1.85; }
  .lemay-site .lmc-more { margin-top: 21px; min-height: 42px; padding: 9px 21px; font-size: 11px; }
  .lmc-carousel-controls { bottom: 15px; gap: 5px; }
  .lmc-dots button { width: 24px; }
  .lmc-intro { padding: 52px 30px; }
  .lemay-site .lmc-intro p { font-size: 17px; line-height: 1.9; }
  .lmc-products { gap: 56px; padding-bottom: 65px; }
  .lmc-product-link { min-height: 0; }
  .lmc-photo { width: 93%; height: clamp(250px,70vw,440px); border-radius: 0 14px 14px 0; }
  .lmc-photo-inner { position: relative; }
  .lmc-photo img { position: absolute; left: 0; width: auto; height: 100%; object-fit: contain; }
  .lmc-row-reverse .lmc-photo { border-radius: 14px 0 0 14px; }
  .lmc-row-reverse .lmc-photo img { left: auto; right: 0; }
  .lmc-card, .lmc-row-reverse .lmc-card { position: relative; left: auto; top: auto; translate: none; width: 87%; min-height: 0; margin: -20px 4% 0 auto; padding: 29px 25px; gap: 16px; border-radius: 8px; }
  .lmc-row-reverse .lmc-card { margin-left: 4%; margin-right: auto; }
  .lemay-site .lmc-card h2 { font-size: 24px; line-height: 1.4; margin-bottom: 14px; }
  .lemay-site .lmc-card p { font-size: 13px; line-height: 1.85; }
  .lmc-card-arrow svg { width: 18px; height: 18px; }
  .lm-catalog-page .st-viewer { grid-template-columns: 1fr; gap: 38px; min-height: 0; padding: 68px 24px; }
  .lm-catalog-page .st-viewer-copy { padding-left: 0; }
  .lemay-site.lm-catalog-page .st-viewer-copy h2 { font-size: clamp(36px,9vw,44px); }
  .lemay-site.lm-catalog-page .st-viewer-copy .st-description { font-size: 13px; }
  .lm-catalog-page .st-viewer-panel { min-height: 430px; padding: 18px 16px; border-radius: 10px; }
  .lm-catalog-page .st-viewer-panel model-viewer,
  .lm-catalog-page .st-viewer-panel .st-sequence { height: 320px; }
  .lmc-finish { padding: 42px 24px 55px; }
  .lmc-finish-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px 14px; }
  .lmc-finish-image, .lmc-finish-item img { border-radius: 6px; }
  .lmc-finish-item figcaption { margin-top: 12px; font-size: 18px; }
  .lmc-project { display: block; padding: 45px 27px; }
  .lemay-site .lmc-project h2 { font-size: 27px; }
  .lmc-project-actions { justify-items: start; margin-top: 27px; gap: 20px; }
}
@media (max-width: 360px) {
  .lmc-slide { grid-template-rows: 240px auto; min-height: 570px; padding-bottom: 62px; }
  .lmc-hero-art { height: 240px; }
  .lmc-hero-copy { margin-inline: 18px; padding: 24px; min-height: 0; }
  .lm-catalog-page #lm-floating-inquiry { bottom: calc(12px + env(safe-area-inset-bottom, 0px)); }
  .lmc-card, .lmc-row-reverse .lmc-card { padding: 25px 21px; }
  .lmc-photo { height: 225px; }
}
@media (prefers-reduced-motion: reduce) { .lmc-main *, .lmc-main *::after { transition: none!important; } }
