/* Reusable wrappers and editor parity; static layout remains available as a separate template. */
.mie-home-component { --home-paper:#f2eeeb; --home-radius:clamp(22px,2.6vw,48px); color:#fff; overflow:visible; background:transparent; display:flow-root; isolation:auto; }
.mie-home-composition { --home-paper:#f2eeeb; --home-radius:clamp(22px,2.6vw,48px); }
.mie-home-composition > *, .mie-home-block-page > * { margin-block:0; max-width:none; }
.mie-home-composition > .wp-block-group__inner-container > * { margin-block:0; }
.mie-home-block-page .wp-block-group, .mie-home-component .wp-block-group { box-sizing:border-box; }
.mie-home-component .home-light, .mie-home-component .mie-section-light { color:var(--mie-navy); }
.mie-home-component .mie-section-dark { background:var(--mie-navy); }
.mie-home-component .mie-section-transparent { background:transparent; }
.mie-home-component .home-light > .acf-innerblocks-container { position:relative; }
.mie-home-component .home-light .mie-home-component { color:var(--mie-navy); }
.mie-home-component .home-hero-description { font-size:clamp(19px,1.85vw,34px); line-height:1.4; max-width:58%; margin-bottom:22px; }
.mie-home-component .home-hero-description p { margin:0; }
.mie-home-component .home-hero-subtitle p { margin:0; }
.mie-home-component .home-intro { margin-top:0; }
.mie-home-component .home-intro.mie-section-overlap { margin-top:-10vw; }
.mie-home-component .home-intro .wp-block-buttons { display:flex; flex-wrap:wrap; justify-content:center; gap:22px; }
.mie-home-component .home-intro .wp-block-button { min-width:23%; }
.mie-home-component .home-intro .wp-block-button__link { width:100%; }
.mie-home-component .home-intro-copy { padding:0; }
.mie-home-component .home-intro-copy > * { max-width:none; }
.mie-home-component .home-intro-copy > p { max-width:850px; }
.mie-home-component .home-erp .home-product-copy { grid-column:2; grid-row:1; }
.mie-home-component .home-erp .home-tablet-motion { grid-column:1; grid-row:1; }
.mie-home-component .home-tablet { transform:none; }
.mie-home-component .home-product-text p { font-size:clamp(16px,1.2vw,22px); line-height:1.48; }
.mie-home-component .mie-feature-actions { display:flex; flex-wrap:wrap; gap:16px; }
.mie-home-component .home-product-story::before { display:none; }
.mie-home-component .home-product-story.mie-decoration-halftone::before, .mie-home-component .home-product-story.mie-decoration-both::before { display:block; }
.mie-home-component .home-industries::before { display:none; }
.mie-home-component .home-industries.mie-decoration-flow::before, .mie-home-component .home-industries.mie-decoration-both::before { display:block; }
.mie-home-component .home-product-line { pointer-events:none; }
/* Flow decoration belongs to explicitly enabled sections, not individual content. */
.mie-home-component .home-intro-copy::after { display:none; }
/* Optional block class for suppressing flow artwork throughout a section. */
.mie-no-flow .home-product-line,
.mie-no-flow .home-industries::before { display:none; }
.mie-home-component .home-section { position:relative; padding:clamp(40px,6vw,100px) 3%; }
.mie-home-component .home-section.mie-decoration-halftone::before, .mie-home-component .home-section.mie-decoration-both::before { content:''; position:absolute; z-index:-1; inset:0 auto 0 50%; width:100vw; transform:translateX(-50%); background:url('../assets/home/halftone.svg') top center/100% auto no-repeat; pointer-events:none; }
.mie-home-component .mie-showcase .home-cloud-device { left:var(--device-x); top:var(--device-y); width:var(--device-width); }
.mie-home-component .home-industry-intro h3 { font-size:clamp(43px,7.8vw,145px); letter-spacing:.018em; line-height:1.04; text-wrap:initial; }
.mie-home-component .mie-heading-normal :is(h2,h3) { font-size:clamp(30px,3.35vw,64px); }
.mie-home-component .home-heading-text { font-size:clamp(21px,2.25vw,40px); line-height:1.22; font-weight:600; }
.mie-home-component .home-industry-caption > div { max-width:530px; }

/* Keep the transition artwork behind the panel and neighbouring product blocks. */
.mie-home-block-page,
.editor-styles-wrapper:has(.mie-home-component) { isolation:isolate; }











/* The compact variant uses the existing logo block, without modifying shared logo options. */
.mie-logotypes.mie-logotypes-compact { padding:0; background:transparent; margin:clamp(100px,11vw,200px) 0 0; color:inherit; }
.mie-logotypes-compact .mie-logotypes-viewport { overflow-x:auto; padding:0; }
.mie-logotypes-compact .mie-logotypes-group { display:flex !important; flex-wrap:nowrap !important; justify-content:space-between; align-items:center; gap:clamp(24px,3vw,55px); margin:0; padding:10px 0; width:100%; }
.mie-logotypes-compact .mie-logotypes-item { flex:0 0 7%; min-width:85px; padding:0; height:48px; }
.mie-logotypes-compact .mie-logotypes-image { width:100%; height:48px; object-fit:contain; mix-blend-mode:multiply; }
/* Ready state belongs to each component, never to the entire document. */
.home-motion-ready[data-home-reveal] [data-home-motion] { transition:transform 1250ms cubic-bezier(.16,1,.3,1),opacity 850ms ease; transition-delay:var(--home-delay,0ms); }
.home-motion-ready[data-home-reveal]:not(.is-visible) [data-home-motion] { opacity:0; }
.home-motion-ready[data-home-reveal]:not(.is-visible) [data-home-motion="left"] { transform:translate3d(-160px,55px,0) rotate(-5deg); }
.home-motion-ready[data-home-reveal]:not(.is-visible) [data-home-motion="right"] { transform:translate3d(180px,55px,0) rotate(3deg); }
.home-motion-ready[data-home-reveal]:not(.is-visible) [data-home-motion="tablet"] { transform:translate3d(-18vw,110px,0) rotate(-22deg); }
.home-motion-ready[data-home-words] .home-word { transition:opacity 210ms ease,transform 325ms cubic-bezier(.16,1,.3,1); transition-delay:var(--word-delay,0ms); }
.home-motion-ready[data-home-words]:not(.is-visible) .home-word { opacity:0; transform:translateY(.25em); }
/* Editor previews show final positions, so fields remain usable while editing. */
/* Match the full-width homepage canvas without widening nested text blocks. */
.editor-styles-wrapper:has(.mie-home-component) .is-root-container {
 max-width:none;
 width:100%;
}
.editor-styles-wrapper:has(.mie-home-component) .is-root-container > .wp-block {
 max-width:none;
 width:100%;
 margin-inline:0;
}
.mie-hb-preview [data-home-motion], .mie-hb-preview .home-word { opacity:1 !important; }
.mie-hb-preview .home-intro.mie-section-overlap { margin-top:0; }
.editor-styles-wrapper .mie-home-component { font-size:18px; }
.editor-styles-wrapper .mie-home-component .home-hero h1 { font-size:clamp(36px,5vw,80px); }
@media(max-width:767px) {
 .mie-home-component .home-hero-description { max-width:90%; font-size:20px; }
 .mie-home-component .home-intro.mie-section-overlap { margin-top:-60px; }
 .mie-home-component .home-erp .home-product-copy { grid-column:1; grid-row:2; }
 .mie-home-component .home-erp .home-tablet-motion { grid-column:1; grid-row:1; }
 .mie-home-component .mie-showcase .home-cloud-device { left:var(--mobile-x); top:2%; width:24%; }
 .mie-home-component .mie-showcase .mie-cloud-bottom { top:81%; }
 .mie-home-component .mie-showcase .mie-cloud-hidden { display:none; }
 .mie-home-component .home-heading-text { font-size:22px; }
 .mie-home-component .home-industry-intro h3 { font-size:clamp(36px,7.2vw,58px); }
 .mie-home-component .home-industry-caption > div { display:none; }




 .mie-logotypes-compact .mie-logotypes-group { gap:36px; padding-inline:20px; }
 .mie-logotypes-compact .mie-logotypes-item { flex-basis:110px; }
}
@media(prefers-reduced-motion:reduce) {
 .home-motion-ready[data-home-reveal] [data-home-motion], .home-motion-ready[data-home-words] .home-word { opacity:1 !important; transform:none !important; transition:none !important; }
}

/* Connectors share the sections' layout container so block clipping cannot cut them off. */
.mie-connector-scope { position:relative; isolation:isolate; }
.mie-connector-scope .home-product-line,
.mie-connector-scope .mie-text-media-flow { display:none; }
.mie-section-connector { position:absolute; left:0; max-width:none; pointer-events:none; z-index:0; fill:none; stroke:var(--mie-cyan,#00D9FF); stroke-width:1; overflow:visible; }
.mie-section-connector path { vector-effect:non-scaling-stroke; }
/* Reserve room above the copy for the circle inside its text column. */
.mie-workflow-node :is(.mie-feature-copy, .home-product-copy) { padding-top:296px; }
@media(max-width:781px) {
 .mie-workflow-node :is(.mie-feature-copy, .home-product-copy) { padding-top:160px; }
}
.mie-section-connector { display:block; }
@media(max-width:781px) { .mie-section-connector { opacity:.55; } }

/* Allow inline product suffixes in the editable homepage headline. */
.mie-home-component .home-hero h1 sup {
 display:inline-block;
 vertical-align:super;
 color:var(--mie-cyan, #00d9ff);
 font-size:max(14px, .5em);
 line-height:0;
 letter-spacing:inherit;
 margin-left:0;
}

/* Showcase appearance is independent of its surrounding section. */
.mie-home-component.mie-showcase-theme-dark { background:var(--mie-navy); color:#fff; }
.mie-home-component.mie-showcase-theme-light { background:var(--mie-paper, #f2eeeb); color:var(--mie-navy); }
.mie-home-component:is(.mie-showcase-theme-light, .mie-showcase-theme-dark) .home-product-copy h2 { color:inherit; }
.mie-home-component:is(.mie-showcase-theme-light, .mie-showcase-theme-dark) .home-eyebrow { color:var(--mie-cyan); }
.mie-home-component.mie-showcase-theme-light .mie-button-outline { color:var(--mie-navy); }
.mie-home-component.mie-showcase-theme-light .mie-button-outline:is(:hover, :focus-visible) { color:#fff; }

/* Inactive image cards are static half-width surfaces, including on touch devices. */
.mie-image-cards .home-industry-card.is-static {
 grid-column:span 1;
 min-height:calc(var(--industry-closed) / 2);
 padding:16px 5%;
 cursor:default;
 transition:none;
}
.mie-image-cards .home-industry-card.is-static::after { display:none; }
.mie-home-component .mie-image-cards .home-industry-card.is-static h3 { font-size:clamp(17px,2.7vw,50px); }
@media(max-width:767px) {
 .mie-home-component .mie-image-cards .home-industry-card.is-static h3 { font-size:clamp(14px,2.5vw,18.5px); }
}

/* Keep workflow artwork above section surfaces but below copy and media. */
.mie-connector-scope .mie-workflow-node { isolation:auto; }
.mie-workflow-node :is(.mie-feature-copy, .mie-feature-media, .home-product-copy, .home-tablet-motion, .home-schedule-screen) { position:relative; z-index:1; }
.mie-workflow-node .home-device-cloud { z-index:1; }

/* Wrapper stacking contexts must not trap the foreground below the shared SVG.
   These wrappers only carry layout/backgrounds; copy and media keep layer 1. */
.mie-connector-scope :is(.mie-home-component, .acf-innerblocks-container, .wp-block-group, .wp-block-group__inner-container, .mie-home-composition, .mie-section-scope > section, .entry-content, .mie-page-content, .wp-block-post-content):has(.mie-workflow-node) {
 isolation:auto;
 z-index:auto;
}
.mie-connector-scope .mie-workflow-node {
 isolation:auto;
 z-index:auto;
}
.mie-connector-scope .mie-workflow-node > :is(.mie-feature-copy, .mie-feature-media, .home-product-copy, .home-tablet-motion, .home-schedule-screen, .home-device-cloud) {
 z-index:2;
}

/* Match Columns/Groups: halve section whitespace in short browser viewports. */
@media (max-height:900px) and (min-width:768px) {
 .mie-home-component .home-erp { min-height:clamp(380px,37.5vw,685px); padding-block:3vw 3.5vw; }
 .mie-home-component .home-schedule { min-height:clamp(290px,26.5vw,485px); padding-block:2.5vw 4.5vw; }
 .mie-home-component .mie-showcase { min-height:clamp(325px,32.5vw,590px); padding-block:6vw 9vw; }
}
@media (max-height:900px) and (min-width:2000px) {
 .mie-home-component .home-erp { padding-block:57.5px 65px; }
 .mie-home-component .home-schedule { padding-block:47.5px 85px; }
 .mie-home-component .mie-showcase { padding-block:115px 170px; }
}
@media (max-height:900px) and (max-width:767px) {
 .mie-home-component .home-erp { padding-block:32.5px 45px; }
 .mie-home-component .home-schedule { padding-block:15px 50px; }
 /* Keep room for the devices above and below the copy on stacked layouts. */
 .mie-home-component .mie-showcase { padding-block:90px 85px; min-height:580px; }
}
