.lh-production { container-type:inline-size; }
.lh-production .lh-production-section { padding:72px max(24px,calc((100% - 1212px)/2)); }
.lh-production .lh-certificates { padding-block:80px; }
/* Reuse the Home contact component with the About full-width band treatment. */
.lh-production .lh-contact { padding-block:80px; }
.lh-production .lh-contact-panel { background:transparent; border-radius:8.58px; }
.lh-production .lh-contact-panel > figure { padding:0; min-height:281px; position:relative; overflow:hidden; border-radius:5.28px; }
.lh-production .lh-contact-panel > figure img { width:131.06%; max-width:none; height:100%; position:absolute; left:-6.26%; object-fit:cover; border-radius:0; }
.lh-production .lh-contact-panel > .lh-copy { padding:30px 50px 30px 30px; gap:24px; }
.lh-production .lh-production-hero { position:relative; isolation:isolate; height:min(640px,calc(100svh - 170px)); min-height:440px; padding-top:36px; padding-bottom:40px; display:flex; flex-direction:column; justify-content:end; }
.lh-production-hero-photo { position:absolute; inset:0; z-index:-2; }
.lh-production-hero-photo img { width:100%; height:100%; object-fit:cover; }
.lh-production-hero::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#0b164438 0%,transparent 40%,#0b16443d 63%,#091024e8 100%); }
.lh-production .lh-production-hero h1 { color:#fff;  text-shadow:0 2px 10px #0008; }
.lh-production-hero .lh-production-number { font-variant-numeric:tabular-nums; }
.lh-production-overview-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; align-items:center; }
.lh-production-overview-copy { max-width:530px; }
.lh-production-overview-copy .wp-block-buttons { margin-top:4px; }
.lh-production .lh-production-overview-gallery.wp-block-gallery {
 display:flex; flex-wrap:nowrap; gap:0; margin:0; width:100%; min-width:0;
 aspect-ratio:1.45; border-radius:8px; overflow-x:auto; overflow-y:hidden;
 scroll-snap-type:x mandatory; scrollbar-width:none;
}
.lh-production-overview-gallery::-webkit-scrollbar { display:none; }
.lh-production .lh-production-overview-gallery.wp-block-gallery > figure.wp-block-image {
 flex:0 0 100%; width:100%; max-width:none; height:100%; margin:0;
 aspect-ratio:auto; border-radius:0; scroll-snap-align:start; scroll-snap-stop:always;
}
.lh-production .lh-production-overview-gallery.wp-block-gallery > figure.wp-block-image img {
 display:block; width:100%; height:100%; flex:none; object-fit:cover; object-position:center 70%;
}
.lh-production-overview-grid > .lh-carousel-shell { border-radius:8px; overflow:hidden; }
.lh-production-overview-grid > .lh-carousel-shell .lh-carousel-controls {
 inset:50% 16px auto; transform:translateY(-50%); padding:0; gap:16px;
 background:transparent; backdrop-filter:none; border-radius:0;
}
.lh-production-overview-grid > .lh-carousel-shell .lh-carousel-controls button {
 display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px;
 padding:10px; background:#fff; box-shadow:0 2px 8px #0002;
}
.lh-production-overview-grid > .lh-carousel-shell .lh-carousel-controls button::before { filter:none; }
.lh-production-overview-gallery:focus-visible { outline:3px solid var(--lh-red); outline-offset:-3px; }
.lh-production-process { --lh-process-gutter:max(24px,calc((100cqw - 1212px)/2)); scroll-margin-top:110px; overflow:clip; }
/* Without runtime enhancement, all saved steps remain readable. */
.lh-process-stages { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.lh-process-stage > figure { aspect-ratio:4/3; margin-bottom:20px; }
.lh-production-process.is-ready { display:grid; grid-template-columns:minmax(0,.38fr) minmax(0,.62fr); column-gap:56px; }
.lh-production-process.is-ready > .lh-production-heading { grid-column:1 / -1; margin-bottom:36px; }
.lh-process-copy-column { min-width:0; display:flex; flex-direction:column; }
.lh-production-process.is-ready .lh-process-eyebrow { margin:0 0 20px; }
.lh-process-panels { display:grid; }
.lh-process-panels > .lh-process-stage-copy { grid-area:1 / 1; min-width:0; opacity:0; visibility:hidden; transform:translateY(12px); transition:opacity .28s ease,transform .45s ease,visibility 0s linear .28s; }
.lh-process-panels > .lh-process-stage-copy.is-current { opacity:1; visibility:visible; transform:translateY(0); transition-delay:0s; }
.lh-process-controls { display:flex; gap:12px; align-items:center; padding-top:32px; margin-top:auto; }
.lh-process-controls[hidden] { display:none; }
.lh-process-progress { height:2px; background:#d6dbe1; flex:1; overflow:hidden; margin-right:12px; }
.lh-process-progress span { display:block; width:100%; height:100%; background:var(--lh-navy); transform-origin:left; transform:scaleX(var(--lh-process-progress,0)); transition:transform .65s cubic-bezier(.22,1,.36,1); }
.lh-process-controls button { flex:0 0 44px; display:grid; place-items:center; width:44px; height:44px; padding:0; background:#fff; border:1px solid var(--lh-border); border-radius:50%; color:var(--lh-navy); cursor:pointer; }
.lh-process-controls button::before { content:''; width:20px; height:20px; background:url('../images/icons/arrow-right.svg') center/contain no-repeat; }
.lh-process-controls .lh-process-prev::before { transform:rotate(180deg); }
.lh-process-controls button:disabled { opacity:.35; cursor:default; }
.lh-process-viewport { min-width:0; overflow:hidden; padding:5px 0 5px 5px; margin:-5px calc(-1 * var(--lh-process-gutter)) -5px -5px; }
/* Keep slide sizing tied to the original column while the viewport bleeds right. */
.lh-process-stages.is-enhanced { --lh-process-open:58%; --lh-process-open-extra:12px; --lh-process-closed:16%; display:flex; width:calc(100% - var(--lh-process-gutter)); gap:12px; transform:translateX(var(--lh-process-offset,0px)); transition:transform .65s cubic-bezier(.22,1,.36,1); will-change:transform; }
.is-enhanced > .lh-process-stage { position:relative; flex:0 0 var(--lh-process-closed); height:400px; overflow:hidden; border-radius:8px; transition:flex-basis .65s cubic-bezier(.22,1,.36,1); }
.is-enhanced > .lh-process-stage.is-current { flex-basis:calc(var(--lh-process-open) + var(--lh-process-open-extra)); }
.lh-process-stages.is-enhanced.is-single { --lh-process-open:100%; --lh-process-open-extra:0px; width:100%; }
.is-enhanced > .lh-process-stage > figure { width:100%; height:100%; aspect-ratio:auto; margin:0; border-radius:0; }
.is-enhanced > .lh-process-stage img { max-width:none; object-position:center; }
.lh-process-select { position:absolute; inset:0; width:100%; height:100%; padding:0; border:0; border-radius:8px; cursor:pointer; color:#fff; background:linear-gradient(180deg,transparent 45%,#0b1644c4); text-align:left; }
.lh-process-select:hover,.lh-process-select:focus { color:#fff; background:linear-gradient(180deg,transparent 45%,#0b1644c4); }
.lh-process-select span { position:absolute; bottom:24px; left:50%; writing-mode:vertical-rl; transform:translateX(-50%) rotate(180deg); font-size:16px; font-weight:700; line-height:1.4; text-transform:uppercase; max-height:calc(100% - 48px); }
.is-current .lh-process-select span { left:20px; right:20px; writing-mode:horizontal-tb; transform:none; }
.is-current .lh-process-select span::before { content:''; display:inline-block; vertical-align:middle; width:20px; height:3px; background:var(--lh-red); margin-right:8px; }
.lh-process-select:focus-visible { outline-offset:-4px !important; }
@media (min-width:1101px) {
 .lh-production .lh-production-hero {
  height:calc(100vh - var(--lh-header-height,80px) - var(--wp-admin--admin-bar--height,0px));
  height:calc(100svh - var(--lh-header-height,80px) - var(--wp-admin--admin-bar--height,0px));
  min-height:0;
 }
}
@media (max-width:1100px) {
 .lh-production .lh-certificates-grid > * { flex-basis:calc((100% - 30px)/2); }
 .lh-production-overview-grid { gap:40px; }
 .lh-production-process.is-ready { grid-template-columns:minmax(0,.4fr) minmax(0,.6fr); gap:28px; }
 .lh-production-fact { padding-inline:12px; text-align: left; }
}
@media (max-width:1024px) {
 .lh-production .lh-contact { padding-block:50px; }
 .lh-production .lh-contact-panel > figure { min-height:0; aspect-ratio:405/281; }
 .lh-production .lh-contact-panel > .lh-copy { padding:30px 20px; }
 .lh-production .lh-certificates { padding-block:50px; }
 .lh-production .lh-certificates-grid > * { flex-basis:calc(100% - 40px); }
 .lh-production .lh-production-section { padding:50px 20px; }
 .lh-production .lh-production-hero { display:grid; grid-template-columns:minmax(0,1fr); height:auto; min-height:0; max-height:none; gap:0; padding:0; }
 .lh-production-hero-photo { position:relative; inset:auto; grid-area:1 / 1; z-index:0; }
 .lh-production-hero-photo img { height:100%; min-height: 300px;}
 .lh-production-hero::before { position:relative; inset:auto; grid-area:1 / 1; z-index:1; pointer-events:none; display: none;}
 .lh-production .lh-production-hero h1 { grid-area:1 / 1; z-index:2; align-self:end; padding:24px 20px;  max-width:none; }
 .lh-production .lh-production-facts { grid-area:2 / 1; grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:24px; padding:20px 20px; background:var(--lh-navy); }
 .lh-production-fact:nth-child(odd) { border-left:0; }
 .lh-production-fact::before { width:28px; height:28px; margin-bottom:10px; display: none;}
 .lh-production-overview-grid { grid-template-columns:1fr; gap:28px; }
 .lh-production-process.is-ready { display:flex; flex-direction:column; gap:0; }
 .lh-production-process { --lh-process-gutter:20px; }
 .lh-production-process .lh-process-eyebrow { display:none; }
 .lh-production-process.is-ready > .lh-production-heading { margin-bottom:28px; }
 .lh-process-copy-column { margin-bottom:28px; }
 .lh-process-controls { padding-top:24px; }
 .lh-process-stages { grid-template-columns:1fr; }
 .lh-process-stages.is-enhanced { --lh-process-open:70%; --lh-process-open-extra:0px; --lh-process-closed:18%; gap:10px; }
 .is-enhanced > .lh-process-stage { height:310px; }
 .lh-process-select span { bottom:20px; font-size:14px; }
 .is-current .lh-process-select span { left:16px; right:16px; }
}
@media (prefers-reduced-motion:reduce) {
 .lh-process-stages.is-enhanced,.is-enhanced > .lh-process-stage,.lh-process-panels > .lh-process-stage-copy,.lh-process-progress span { transition:none; }
}
