/* LABMODUL Nordic Frame v1.0 - approved local-only global card standard. */
:root {
  --lm-nf-ink: #24302e;
  --lm-nf-paper: #fff;
  --lm-nf-line: #d9ddda;
  --lm-nf-orange: #f36f21;
  --lm-nf-corner-width: 92px;
  --lm-nf-corner-height: 38px;
}

body :is(.lm-video-library-card,.lm-news-card,.lm-contact-card,.lm-services-section .icon-box,.lm-products-c.page-id-4167 .projects-box) {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  border: 1px solid var(--lm-nf-line) !important;
  border-radius: 0 !important;
  background-color: var(--lm-nf-paper) !important;
  box-shadow: none !important;
}

body :is(.lm-video-library-card,.lm-news-card,.lm-contact-card,.lm-services-section .icon-box,.lm-products-c.page-id-4167 .projects-box)::before {
  content: "" !important;
  position: absolute !important;
  z-index: 12 !important;
  right: -1px !important;
  bottom: -1px !important;
  left: auto !important;
  top: auto !important;
  width: var(--lm-nf-corner-width) !important;
  height: 2px !important;
  display: block !important;
  border: 0 !important;
  background: var(--lm-nf-orange) !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: none !important;
}

body :is(.lm-video-library-card,.lm-news-card,.lm-contact-card,.lm-services-section .icon-box,.lm-products-c.page-id-4167 .projects-box)::after {
  content: "" !important;
  position: absolute !important;
  z-index: 12 !important;
  right: -1px !important;
  bottom: -1px !important;
  left: auto !important;
  top: auto !important;
  width: 2px !important;
  height: var(--lm-nf-corner-height) !important;
  display: block !important;
  border: 0 !important;
  background: var(--lm-nf-orange) !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: none !important;
}

body :is(.lm-video-library-card,.lm-news-card,.lm-contact-card,.lm-services-section .icon-box,.lm-products-c.page-id-4167 .projects-box):is(:hover,:focus-within) {
  border-color: rgba(243,111,33,.55) !important;
  box-shadow: 0 18px 42px rgba(36,48,46,.07) !important;
}

body :is(.lm-video-library-card,.lm-news-card,.lm-contact-card,.lm-services-section .icon-box,.lm-products-c.page-id-4167 .projects-box):focus-within {
  outline: 2px solid rgba(243,111,33,.58);
  outline-offset: 3px;
}

body.home .lm-contact-card,
body.home .lm-contact-card:hover { background-color: #f7f8f6 !important; }
body.home .lm-services-section .icon-box { min-height: 100%; }

html.lm-products-c body.page-id-4167 .projects-box::before {
  width: var(--lm-nf-corner-width) !important;
  height: 2px !important;
}
html.lm-products-c body.page-id-4167 .projects-box::after {
  width: 2px !important;
  height: var(--lm-nf-corner-height) !important;
}

body.page-id-5593 .lm-video-media { aspect-ratio: 16 / 10 !important; }
body.page-id-5593 .lm-video-poster {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.82) contrast(.96) brightness(1.03);
  transition: transform .45s ease, filter .3s ease;
}

body.page-id-5593 .lm-video-play {
  position: absolute;
  z-index: 4;
  top: 50%;
  left: 50%;
  display: grid;
  width: 76px;
  height: 76px;
  padding: 0;
  place-items: center;
  transform: translate(-50%,-50%);
  border: 1px solid rgba(36,48,46,.22);
  border-radius: 50%;
  background: rgba(255,255,255,.93);
  color: var(--lm-nf-ink);
  box-shadow: 0 12px 34px rgba(36,48,46,.12);
  cursor: pointer;
  transition: background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease;
}
body.page-id-5593 .lm-video-play::before {
  content: "";
  margin-left: 5px;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-left: 14px solid currentColor;
}
body.page-id-5593 .lm-video-play::after {
  content: "";
  position: absolute;
  top: 6px;
  right: 6px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--lm-nf-orange);
  box-shadow: 0 0 0 7px rgba(243,111,33,.12);
}
body.page-id-5593 .lm-video-play:is(:hover,:focus-visible) {
  border-color: var(--lm-nf-orange);
  outline: 0;
  background: var(--lm-nf-orange);
  color: #fff;
  transform: translate(-50%,-50%) scale(1.06);
}
body.page-id-5593 .lm-video-library-card:has(.lm-video-play:is(:hover,:focus-visible)) .lm-video-poster {
  filter: saturate(.9) contrast(1) brightness(.92);
  transform: scale(1.025);
}
body.page-id-5593 .lm-video-card-info {
  min-height: 160px !important;
  padding: 26px 28px 32px !important;
}
body.page-id-5593 .lm-video-card-info h3 {
  font-size: clamp(23px,1.65vw,31px) !important;
  font-weight: 400 !important;
  line-height: 1.16 !important;
  letter-spacing: -.025em !important;
}

.lm-video-dialog {
  width: min(1080px,calc(100vw - 40px));
  max-width: 1080px;
  padding: 0;
  border: 0;
  background: #111;
  color: #fff;
  box-shadow: 0 30px 90px rgba(0,0,0,.45);
}
.lm-video-dialog::backdrop { background: rgba(20,28,26,.84); backdrop-filter: blur(4px); }
.lm-video-dialog video { display: block; width: 100%; max-height: 70vh; background: #000; }
.lm-video-dialog-copy { padding: 22px 72px 20px 26px; border-bottom: 2px solid var(--lm-nf-orange); background: #1f2c29; }
.lm-video-dialog-copy span { color: var(--lm-nf-orange); font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.lm-video-dialog-copy h2 { margin: 8px 0 0; color: #fff; font-size: clamp(23px,2.4vw,34px); font-weight: 400; line-height: 1.2; }
.lm-video-dialog-close {
  position: absolute;
  z-index: 3;
  top: 17px;
  right: 18px;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.38);
  background: rgba(31,44,41,.82);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.lm-video-dialog-close:is(:hover,:focus-visible) { border-color: var(--lm-nf-orange); outline: 0; color: var(--lm-nf-orange); }

@media (max-width: 767px) {
  :root { --lm-nf-corner-width: 72px; --lm-nf-corner-height: 30px; }
  body.page-id-5593 .lm-video-play { width: 64px; height: 64px; }
  body.page-id-5593 .lm-video-card-info { min-height: 0 !important; padding: 22px 22px 28px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body :is(.lm-video-library-card,.lm-news-card,.lm-contact-card,.lm-services-section .icon-box,.lm-products-c.page-id-4167 .projects-box),
  body.page-id-5593 .lm-video-poster,
  body.page-id-5593 .lm-video-play { transition: none !important; }
}
/* Product cards: explicit Nordic Frame target. Kept separate because html/body carry distinct proposal classes. */
html.lm-products-c body.page-id-4167 .projects-box {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  border: 1px solid var(--lm-nf-line) !important;
  border-radius: 0 !important;
  background-color: var(--lm-nf-paper) !important;
  box-shadow: none !important;
}
html.lm-products-c body.page-id-4167 .elementor .projects-box::before {
  content: "" !important;
  position: absolute !important;
  z-index: 12 !important;
  right: -1px !important;
  bottom: -1px !important;
  left: auto !important;
  top: auto !important;
  width: var(--lm-nf-corner-width) !important;
  height: 2px !important;
  display: block !important;
  border: 0 !important;
  background: var(--lm-nf-orange) !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: none !important;
}
html.lm-products-c body.page-id-4167 .elementor .projects-box::after {
  content: "" !important;
  position: absolute !important;
  z-index: 12 !important;
  right: -1px !important;
  bottom: -1px !important;
  left: auto !important;
  top: auto !important;
  width: 2px !important;
  height: var(--lm-nf-corner-height) !important;
  display: block !important;
  border: 0 !important;
  background: var(--lm-nf-orange) !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: none !important;
}