/* Enmile spacing system. One outer gutter, one vertical rhythm, three layouts. */
:root{
 --enmile-gutter:clamp(32px,4vw,56px); --enmile-content:1200px;
 --enmile-section-space:clamp(80px,7.4vw,112px); --enmile-hero-space:clamp(88px,8.2vw,124px);
 --enmile-layout-gap:30px; --enmile-card-pad:30px; --enmile-inner-space:44px;
 --enmile-flow-space:64px; --enmile-heading-space:20px;
}
@media(max-width:1024px){:root{
 --enmile-gutter:32px; --enmile-section-space:72px; --enmile-hero-space:80px;
 --enmile-layout-gap:24px; --enmile-card-pad:24px; --enmile-inner-space:32px; --enmile-flow-space:48px;
}}
@media(max-width:767px){:root{
 --enmile-gutter:20px; --enmile-section-space:56px; --enmile-hero-space:64px;
 --enmile-layout-gap:20px; --enmile-card-pad:22px; --enmile-inner-space:24px; --enmile-flow-space:40px;
 --enmile-heading-space:16px;
}}
@media(max-width:359px){:root{--enmile-gutter:16px;--enmile-card-pad:18px}}

/* Gutenberg sections: do not subtract a second gutter from the children. */
body.page .entry-content>.wp-block-group.alignfull{
 box-sizing:border-box;padding-inline:max(var(--enmile-gutter),calc((100% - var(--enmile-content))/2))!important;
 padding-block:var(--enmile-section-space)!important;margin-block:0!important;
}
body.page .entry-content>.wp-block-group.alignfull:first-child{padding-block:var(--enmile-hero-space)!important}
body.page .entry-content>.wp-block-group.alignfull>*{
 width:100%!important;max-width:none;margin-inline:0!important;box-sizing:border-box;
}
/* Editorial measure: prose stays readable while grids and media retain the full shell. */
body.page .entry-content>.wp-block-group.alignfull>p{max-width:720px}
body.page .entry-content>.wp-block-group.alignfull>h2{max-width:820px;text-wrap:balance}
body.page .entry-content>.wp-block-group.alignfull>h1{max-width:900px;text-wrap:balance}
body.page .entry-content>.wp-block-group.alignfull>h1 + p,
body.page .entry-content>.wp-block-group.alignfull>h2 + p{max-width:700px}
body.page .entry-content>.wp-block-group.alignfull>.wp-block-columns,
body.page .entry-content>.wp-block-group.alignfull>.wp-block-cover,
body.page .entry-content>.wp-block-group.alignfull>.enmile-product-visual-grid,
body.page .entry-content>.wp-block-group.alignfull>.enmile-spec-table{max-width:var(--enmile-content)}
body.page .entry-content a:focus-visible,
.enmile-button:focus-visible,
.enmile-resource-tab:focus-visible{
 outline:3px solid #19C3B1;outline-offset:3px;border-radius:4px;
}
body.page .entry-content>.wp-block-group.alignfull>h2:not(:first-child){margin-top:var(--enmile-flow-space)}
body.page .entry-content>.wp-block-group.alignfull>p:first-child+h2{margin-top:0}
body.page .entry-content>.wp-block-group.alignfull[style*="background-color:#FFFFFF"]:has(+.wp-block-group.alignfull[style*="background-color:#FFFFFF"]){padding-bottom:0!important}

/* Text grouping: headings belong to their copy; a new topic has a larger break. */
body.page .entry-content p{margin-block:0 16px}
body.page .entry-content h1{margin-block:0 24px!important}
body.page .entry-content h2{margin-bottom:var(--enmile-heading-space)!important}
body.page .entry-content h3{margin-block:0 12px}
body.page .entry-content .wp-block-group>p:first-child[style*="letter-spacing"]{margin-bottom:16px!important}
body.page .entry-content .wp-block-group>:last-child{margin-bottom:0!important}
body.page .entry-content .wp-block-buttons{gap:12px;margin-block:32px 0}
body.page .entry-content .wp-block-button__link{box-sizing:border-box;padding:14px 26px!important;min-height:48px;display:inline-flex;align-items:center;justify-content:center}
body.page .entry-content .wp-block-columns{gap:var(--enmile-layout-gap)!important;margin-block:36px 0}
body.page .entry-content .wp-block-columns>.wp-block-column{min-width:0;margin-block:0}
body.page .entry-content .wp-block-column>.wp-block-group:not(.enmile-visual-placeholder){
 padding:var(--enmile-card-pad)!important;box-sizing:border-box;min-width:0;
}
body.page .entry-content .wp-block-column>.wp-block-group>p:last-child:has(a){
 margin-top:auto;padding-top:20px!important;
}
body.page .entry-content .wp-block-column>.wp-block-group>p:last-child:not(:has(a)){padding-top:0!important;margin-top:0}
body.page .entry-content .wp-block-column>.wp-block-group>h3{margin-bottom:12px;font-size:22px;line-height:1.28}
body.page .entry-content .wp-block-column>.wp-block-group>p{font-size:16px}
body.page .entry-content .wp-block-column>.wp-block-group:not(.enmile-visual-placeholder)>.enmile-visual-placeholder--card{
 width:calc(100% + 2*var(--enmile-card-pad))!important;max-width:none;min-height:0!important;aspect-ratio:16/10;
 margin:calc(-1*var(--enmile-card-pad)) calc(-1*var(--enmile-card-pad)) 24px!important;
 border-radius:14px 14px 0 0!important;
}
body.page .entry-content .wp-block-column>.wp-block-group>p{margin-bottom:16px}
body.page .entry-content .wp-block-column>.wp-block-group>.wp-block-buttons{margin-top:auto;padding-top:20px}

/* Homepage: the range strip is compact; the nested positioning panel is not a second section shell. */
body.page-id-63 .entry-content>.wp-block-group.alignfull:nth-child(2){padding-block:32px!important}
body.page-id-63 .entry-content>.wp-block-group.alignfull:nth-child(2)>h2{font-size:28px;margin-bottom:20px!important}
body.page-id-63 .entry-content>.wp-block-group.alignfull:nth-child(2)>.wp-block-columns{margin-top:0}
body.page-id-63 .entry-content>.wp-block-group.alignfull:nth-child(2) h3{font-size:18px;margin:0}
body.page-id-63 .entry-content .enmile-home-why{padding:var(--enmile-inner-space)!important;margin-bottom:var(--enmile-flow-space)!important}
body.page-id-63 .enmile-home-why>.wp-block-group.has-background:not(.enmile-architecture-placeholder){
 padding:var(--enmile-inner-space)!important;margin-block:var(--enmile-flow-space)!important;
}
body.page-id-63 .entry-content .wp-block-cover{
 min-height:660px!important;padding-block:clamp(88px,9vw,132px)!important;
 padding-inline:max(var(--enmile-gutter),calc((100% - var(--enmile-content))/2))!important;
}
body.page-id-63 .wp-block-cover__inner-container{width:100%;max-width:1180px;margin-inline:auto}
body.page-id-63 .wp-block-cover__inner-container>*{margin-inline:0!important}
body.page-id-63 .wp-block-cover__inner-container>p{max-width:720px;margin:0 0 24px!important}
body.page-id-63 .wp-block-cover__inner-container>p:first-child{margin-bottom:20px!important}
body.page-id-63 .wp-block-cover .wp-block-buttons{margin-top:30px}

/* Detail page media, diagram and table spacing. */
body.page .entry-content .enmile-product-visual-grid{margin-block:32px var(--enmile-flow-space)!important}
body.page .entry-content .enmile-visual-placeholder{padding:24px!important}
body.page .entry-content .enmile-visual-placeholder p{margin:0!important;overflow-wrap:anywhere}
body.page .entry-content .enmile-visual-placeholder--solution{
 width:100%!important;max-width:none;margin:0!important;
}
body.page .entry-content .wp-block-column>.wp-block-group:not(.enmile-visual-placeholder)>.enmile-visual-placeholder--solution{
 width:calc(100% + 2*var(--enmile-card-pad))!important;
 margin:calc(-1*var(--enmile-card-pad)) calc(-1*var(--enmile-card-pad)) 24px!important;
}
body.page .entry-content .enmile-architecture-placeholder{
 padding:var(--enmile-inner-space)!important;min-height:140px;margin-block:28px var(--enmile-flow-space)!important;
}
body.page .entry-content .enmile-spec-table{margin-block:28px var(--enmile-flow-space)!important;overflow-x:auto}
@media(min-width:768px) and (max-width:1280px){
 body.page-id-63 .enmile-home-why>.enmile-card-grid:has(>.wp-block-column:nth-child(4)){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}
}
body.page .entry-content .enmile-architecture-placeholder:has(>h3,>figure){display:block}
body.page .entry-content .enmile-architecture-placeholder>p{width:100%;max-width:900px}
body.page .entry-content .enmile-architecture-placeholder>h3{margin-top:28px}
body.page .entry-content .enmile-architecture-placeholder>figure{width:100%}
body.page .entry-content .enmile-spec-table td{padding:16px 18px}
body.page .entry-content .enmile-document-grid{gap:16px;margin-top:28px}
body.page .entry-content>.wp-block-group.alignfull>h3{margin-top:32px}
body.page .entry-content .enmile-product-visual-grid+.wp-block-columns{margin-top:var(--enmile-flow-space)}

/* Custom templates share the exact same content edges. */
.enmile-product-shell,.enmile-resource-shell,.enmile-enquiry-wrap,.enmile-review-wrap{
 width:min(var(--enmile-content),calc(100% - 2*var(--enmile-gutter)));margin-inline:auto;
}
.enmile-nav-shell{width:min(var(--enmile-content),calc(100% - 2*var(--enmile-gutter)))}
.enmile-footer{padding:72px var(--enmile-gutter) 30px}
.enmile-footer__inner,.enmile-footer__bottom{width:min(var(--enmile-content),100%)}
.enmile-footer__inner{gap:40px}
.enmile-footer__bottom{margin-top:48px}
.enmile-product-hero,.enmile-product-archive__hero,.enmile-resource-hero,
.enmile-enquiry-hero,.enmile-search-hero,.enmile-review-hero{padding-block:var(--enmile-hero-space)}
.enmile-product-section,.enmile-product-archive .enmile-product-section,
.enmile-product-cta,.enmile-enquiry-body,.enmile-enquiry-details,.enmile-enquiry-next,
.enmile-search-body,.enmile-review-body,.enmile-resource-cta,.enmile-article-related{padding-block:var(--enmile-section-space)}
.enmile-enquiry-hero-grid{gap:56px}
.enmile-enquiry-body-grid{gap:48px}
.enmile-enquiry-panel{padding:32px}
.enmile-enquiry-section-head{margin-bottom:32px}
.enmile-enquiry-location{padding-block:36px}
.enmile-product-grid,.enmile-resource-grid,.enmile-context-grid,.enmile-topic-article-grid{gap:var(--enmile-layout-gap)}
.enmile-product-card__body,.enmile-context-card,.enmile-topic-article{padding:var(--enmile-card-pad)}
.enmile-product-card__visual,.enmile-resource-card__visual{overflow:hidden}
.enmile-product-card__visual img,.enmile-resource-card__visual img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.enmile-product-card__placeholder{aspect-ratio:3/2}
.enmile-product-card__cta,.enmile-resource-card a{min-height:24px}
.enmile-product-section__intro{margin-bottom:32px}
.enmile-featured-story{gap:40px;margin-block:var(--enmile-flow-space);padding-bottom:var(--enmile-flow-space)}
.enmile-resource-section-heading{margin:var(--enmile-flow-space) 0 28px;padding-top:28px}
.enmile-resource-cta{margin-top:var(--enmile-section-space)}
.enmile-resource-empty{margin:var(--enmile-flow-space) 0;padding:var(--enmile-inner-space)}
.enmile-resource-tabs{padding-block:16px}
.enmile-topic-feed{padding:var(--enmile-section-space) 0}
.enmile-topic-feed .enmile-review-wrap{width:min(var(--enmile-content),calc(100% - 2*var(--enmile-gutter)))}
.enmile-topic-empty{padding:var(--enmile-card-pad)}
.enmile-search-empty{padding:var(--enmile-inner-space)}
.enmile-article-shell{width:min(760px,calc(100% - 2*var(--enmile-gutter)))}
.enmile-article-hero{width:min(1040px,calc(100% - 2*var(--enmile-gutter)));padding-top:var(--enmile-hero-space)}
.enmile-article-featured-media{width:min(var(--enmile-content),calc(100% - 2*var(--enmile-gutter)))}
@media(min-width:1050px){
 body:is(.page-id-79,.page-id-81,.page-id-82,.page-id-83,.page-id-84,.page-id-85,.page-id-86,.page-id-87,.page-id-88) .entry-content>.wp-block-group:first-child>*{max-width:56%!important}
 body:is(.page-id-79,.page-id-81,.page-id-82,.page-id-83,.page-id-84,.page-id-85,.page-id-86,.page-id-87,.page-id-88) .entry-content>.wp-block-group:first-child::after{
 right:max(var(--enmile-gutter),calc((100% - var(--enmile-content))/2));
 width:min(32%,400px);
 }
}
@media(min-width:768px) and (max-width:1024px){
 body.page .entry-content .wp-block-columns:not(.enmile-product-visual-grid):has(>.wp-block-column:nth-child(3)){
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));
 }
 body.page .entry-content .wp-block-columns>.wp-block-column{flex-basis:auto!important}
 .enmile-enquiry-hero-grid{gap:32px}.enmile-enquiry-body-grid{gap:28px}.enmile-enquiry-panel{padding:24px}
 .enmile-nav-shell{width:calc(100% - 2*var(--enmile-gutter))}
}
@media(max-width:767px){
 body.page .entry-content>.wp-block-group.alignfull:first-child h1{font-size:38px!important;line-height:1.12!important}
 body.page .entry-content>.wp-block-group.alignfull h2{font-size:30px;line-height:1.18}
 body.page .entry-content .wp-block-columns{display:grid!important;grid-template-columns:1fr!important;margin-top:28px}
 body.page .entry-content .wp-block-column>.wp-block-group{height:auto!important}
 body.page .entry-content .wp-block-buttons{margin-top:28px}
 body.page .entry-content .wp-block-button__link{width:100%;min-height:50px;padding:14px 20px!important}
 body.page-id-63 .entry-content>.wp-block-group.alignfull:nth-child(2){padding-block:30px!important}
 body.page-id-63 .entry-content>.wp-block-group.alignfull:nth-child(2)>.wp-block-columns{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;margin-top:0}
 body.page-id-63 .entry-content>.wp-block-group.alignfull:nth-child(2)>h2{font-size:24px}
 body.page-id-63 .entry-content .wp-block-cover{min-height:0!important;padding-block:64px!important}
 body.page-id-63 .wp-block-cover h1{font-size:44px!important;line-height:1.08}
 body.page-id-63 .wp-block-cover p:not(:first-child){font-size:17px!important;line-height:1.65}
 .enmile-enquiry-panel{padding:24px 20px}.enmile-enquiry-body-grid,.enmile-enquiry-hero-grid{gap:32px}
 .enmile-enquiry h1{font-size:38px;line-height:1.12}
 .enmile-resource-hero h1,.enmile-product-archive__hero h1{font-size:38px;line-height:1.12}
 .enmile-enquiry-inputs,.enmile-enquiry-steps{gap:24px}
 .enmile-featured-story{gap:24px}
 .enmile-resource-grid{row-gap:32px}
 .enmile-resource-card h3{min-height:0}
 .enmile-resource-section-heading{margin-top:40px}
 .enmile-resource-cta{margin-top:48px}
 .enmile-resource-tabs{padding-block:12px}
 .enmile-footer{padding-top:48px}
 .enmile-footer__inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
 .enmile-footer__brand,.enmile-footer__inner>div:last-child{grid-column:1/-1}
 .enmile-footer__brand p:last-child{max-width:520px}
 .enmile-footer h2{margin-bottom:14px}
 .enmile-footer__bottom{margin-top:32px}
 body.page .entry-content .enmile-spec-table td{padding:12px 14px}
 .enmile-document-card{padding:18px;min-height:76px}
 body.page-id-63 .enmile-home-why>.wp-block-group.has-background:not(.enmile-architecture-placeholder){
  width:calc(100% + 2*var(--enmile-inner-space));max-width:none;
  margin-inline:calc(-1*var(--enmile-inner-space))!important;box-sizing:border-box;
  border-radius:0!important;
 }
 body.page .entry-content .enmile-visual-placeholder--card{min-height:0;aspect-ratio:16/10}
}
@media(min-width:360px) and (max-width:767px){
 body.page-id-63 .entry-content .enmile-home-why>.enmile-product-visual-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;
 }
 body.page-id-63 .enmile-home-why>.enmile-product-visual-grid .enmile-visual-placeholder{
  min-height:110px!important;aspect-ratio:auto!important;padding:12px!important;
 }
}


/* Alignment pass: shared text rows instead of equal-height boxes with drifting copy. */
body.page-id-63 .wp-block-cover__inner-container{max-width:var(--enmile-content)}
body.page .entry-content .wp-block-column>.wp-block-group>p:last-child:has(a){text-wrap:balance}
body.page .entry-content .wp-block-column>.wp-block-group>p:last-child:not(:has(a)){
 margin-top:0!important;padding-top:0!important;align-self:start;
}
body.page .entry-content .wp-block-button__link{
 border-width:1px;border-style:solid;border-color:transparent;line-height:1.25;min-height:50px;
}
@media(max-width:767px){
 body.page .entry-content .wp-block-buttons{flex-direction:column;align-items:stretch!important}
 body.page .entry-content .wp-block-buttons>.wp-block-button{width:100%}
}
body.page .entry-content .wp-block-columns{--enmile-card-columns:2;--enmile-card-rows:2}
/* Multi-paragraph editorial columns must stay in normal document flow. */
body.page .entry-content .wp-block-columns:has(>.wp-block-column>.wp-block-group>h3):not(:has(>.wp-block-column>h3)):not(:has(>.wp-block-column>.enmile-visual-placeholder)):has(>.wp-block-column>p~p),
body.page .entry-content .wp-block-columns:has(>.wp-block-column>.wp-block-group>h3):not(:has(>.wp-block-column>h3)):not(:has(>.wp-block-column>.enmile-visual-placeholder)):has(>.wp-block-column>.wp-block-group>p~p){display:flex!important;gap:var(--enmile-layout-gap)!important}
@supports(grid-template-rows:subgrid){
 body.page .entry-content .wp-block-columns:has(>.wp-block-column>.wp-block-group>h3):not(:has(>.wp-block-column>h3)):not(:has(>.wp-block-column>.enmile-visual-placeholder)){
  display:grid!important;grid-template-columns:repeat(var(--enmile-card-columns),minmax(0,1fr))!important;
  column-gap:var(--enmile-layout-gap)!important;row-gap:0!important;align-items:stretch;
 }
 body.page .entry-content .wp-block-columns:has(>.wp-block-column:nth-child(3)){--enmile-card-columns:3}
 body.page .entry-content .wp-block-columns:has(>.wp-block-column:nth-child(4)){--enmile-card-columns:4}
 body.page .entry-content .wp-block-columns:has(>.wp-block-column>.wp-block-group>p:last-child a){--enmile-card-rows:3}
 body.page .entry-content .wp-block-columns:has(>.wp-block-column>.wp-block-group>.enmile-visual-placeholder):has(>.wp-block-column>.wp-block-group>h3){--enmile-card-rows:4}
 body.page .entry-content .wp-block-columns:has(>.wp-block-column>.wp-block-group>h3):not(:has(>.wp-block-column>h3)):not(:has(>.wp-block-column>.enmile-visual-placeholder))>.wp-block-column{
  display:grid!important;grid-row:span var(--enmile-card-rows);grid-template-rows:subgrid;row-gap:0;
  margin-bottom:var(--enmile-layout-gap)!important;
 }
 body.page .entry-content .wp-block-columns:has(>.wp-block-column>.wp-block-group>h3):not(:has(>.wp-block-column>h3)):not(:has(>.wp-block-column>.enmile-visual-placeholder))>.wp-block-column>.wp-block-group{
  display:grid!important;grid-row:span var(--enmile-card-rows);grid-template-rows:subgrid;row-gap:0;
  height:auto!important;align-items:start;
 }
 body.page .entry-content .wp-block-columns:has(>.wp-block-column>.wp-block-group>h3):not(:has(>.wp-block-column>h3)):not(:has(>.wp-block-column>.enmile-visual-placeholder))>.wp-block-column>.wp-block-group>p:last-child:has(a){
  margin-top:0!important;align-self:start;
 }
 body.page .entry-content .wp-block-columns:has(>.wp-block-column>h3):not(:has(>.wp-block-column>.wp-block-group)){
  display:grid!important;grid-template-columns:repeat(var(--enmile-card-columns),minmax(0,1fr))!important;
  column-gap:var(--enmile-layout-gap)!important;row-gap:0!important;
 }
 body.page .entry-content .wp-block-columns:has(>.wp-block-column>p:last-child a){--enmile-card-rows:3}
 body.page .entry-content .wp-block-columns:has(>.wp-block-column>h3):not(:has(>.wp-block-column>.wp-block-group))>.wp-block-column{
  display:grid!important;grid-row:span var(--enmile-card-rows);grid-template-rows:subgrid;row-gap:0;
  align-items:start;margin-bottom:var(--enmile-layout-gap)!important;
 }
 body.page .entry-content .wp-block-columns:has(>.wp-block-column>h3):not(:has(>.wp-block-column>.wp-block-group))>.wp-block-column>p:last-child:has(a){
  margin-top:0!important;padding-top:20px;
 }
 .enmile-resource-grid{row-gap:var(--enmile-layout-gap)}
 .enmile-resource-grid>.enmile-resource-card{
  display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0;align-items:start;min-width:0;
 }
 .enmile-resource-grid>.enmile-resource-card>h2,.enmile-resource-grid>.enmile-resource-card>h3{min-height:0}
 @media(min-width:768px) and (max-width:1024px){
  body.page .entry-content .wp-block-columns{--enmile-card-columns:2!important}
 }
 @media(min-width:1025px) and (max-width:1280px){
  body.page-id-63 .entry-content .enmile-home-why>.enmile-card-grid{--enmile-card-columns:2!important}
 }
 @media(max-width:767px){
  body.page .entry-content .wp-block-columns{--enmile-card-columns:1!important}
 }
}
/* Keep the outer review header from covering the page inside the device frame. */
body.enmile-review-mode:has(.enmile-device-review) .enmile-site-header{position:relative}
