/* Theme-specific additions and hardening. */
:root{ --admin-bar-offset:0px; }
body.admin-bar{ --admin-bar-offset:32px; }
.header{ top:var(--admin-bar-offset); }
.nav__logo img,.footer__logo--image img{ max-height:44px; width:auto; }
.mobile-toggle{ display:none; border:0; background:transparent; color:var(--ink); padding:8px; cursor:pointer; }
.mobile-toggle svg{ width:25px; height:25px; }
.mobile-panel{ position:fixed; inset:0; z-index:100; background:var(--surface); padding:24px; transform:translateX(100%); transition:transform .32s ease; overflow:auto; visibility:hidden; }
.mobile-panel.is-open{ transform:translateX(0); visibility:visible; }
.mobile-panel__head{ display:flex; align-items:center; justify-content:space-between; padding-bottom:20px; border-bottom:1px solid var(--line); }
.mobile-panel__head button{ border:0; background:transparent; padding:8px; cursor:pointer; }
.mobile-panel__head svg{ width:26px; height:26px; }
.mobile-nav{ display:grid; padding-block:20px; }
.mobile-nav>a,.mobile-nav summary{ padding:15px 4px; border-bottom:1px solid var(--line); text-decoration:none; font-family:var(--font-display); font-size:22px; cursor:pointer; list-style:none; }
.mobile-nav details>a{ display:block; padding:11px 20px; color:var(--ink-soft); text-decoration:none; }
.mobile-nav summary::-webkit-details-marker{ display:none; }
.mobile-nav summary::after{ content:'+'; float:right; font-family:var(--font-body); }
.mobile-nav details[open] summary::after{ content:'−'; }
.mobile-panel__contact{ padding-top:24px; }
body.menu-open{ overflow:hidden; }
.search-overlay{ position:fixed; inset:0; z-index:120; background:rgba(34,38,31,.97); color:#fff; display:grid; place-items:center; opacity:0; visibility:hidden; transition:.25s; padding:30px; }
.search-overlay.is-open{ opacity:1; visibility:visible; }
.search-overlay__close{ position:absolute; top:28px; right:28px; color:#fff; border:0; background:transparent; cursor:pointer; }
.search-overlay__close svg{ width:30px; height:30px; }
.search-overlay__form{ width:min(760px,100%); }
.search-overlay__form .eyebrow{ color:#A9C0A0; display:block; }
.search-overlay__form>div{ display:flex; border-bottom:1px solid rgba(255,255,255,.5); }
.search-overlay__form input{ flex:1; background:transparent; border:0; color:#fff; font-family:var(--font-display); font-size:clamp(28px,5vw,56px); padding:12px 0; outline:0; }
.search-overlay__form button{ border:0; background:transparent; color:#fff; cursor:pointer; }
.search-overlay__form button svg{ width:34px; height:34px; }
.mega__subwrap{ min-width:0; }
.back-to-top{ position:fixed; right:24px; bottom:24px; z-index:40; width:46px; height:46px; border-radius:50%; border:1px solid var(--line); background:var(--surface); color:var(--ink); box-shadow:0 10px 30px rgba(0,0,0,.1); opacity:0; visibility:hidden; transform:translateY(12px); transition:.25s; cursor:pointer; }
.back-to-top.is-visible{ opacity:1; visibility:visible; transform:none; }
.mg-form-placeholder{ border:1px dashed var(--line); padding:18px; color:var(--ink-soft); background:var(--bg-alt); }
.wpcf7 form{ margin:0; }
.wpcf7 .form{ display:grid; }
.wpcf7-form-control-wrap{ display:block; }
.wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]),.wpcf7 textarea,.wpcf7 select{ width:100%; background:var(--surface); border:1px solid var(--line); border-radius:4px; padding:13px 15px; color:var(--ink); font:inherit; }
.wpcf7 input:focus,.wpcf7 textarea:focus,.wpcf7 select:focus{ outline:0; border-color:var(--brand); }
.wpcf7 .wpcf7-submit{ display:inline-block; padding:16px 32px; border-radius:4px; border:0; background:var(--brand); color:#fff; font-weight:600; cursor:pointer; }
.wpcf7-not-valid-tip{ font-size:12px; margin-top:4px; }
.wpcf7-response-output{ margin:16px 0 0!important; }
.wp-block-image img{ border-radius:6px; }
.prose{ max-width:820px; }
.prose h2,.prose h3{ margin-top:1.7em; margin-bottom:.6em; }
.prose p,.prose ul,.prose ol{ margin:0 0 1.2em; }
.prose a{ color:var(--brand); }
.archive-empty{ text-align:center; padding:60px 0; color:var(--ink-soft); }
.term-description{ color:var(--ink-soft); max-width:70ch; }
.post-nav{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:50px; border-top:1px solid var(--line); padding-top:26px; }
.post-nav a{ text-decoration:none; }
.post-nav .next{ text-align:right; }
.card__body{ min-height:190px; }
.card__media img{ width:100%; height:100%; object-fit:cover; }
.banner__bg picture{display:block;width:100%;height:100%}.banner__bg img{ width:100%; height:100%; object-fit:cover; }
.contact-list svg,.cta__contacts svg{ width:22px; height:22px; }
.service__ic svg{ width:26px; height:26px; }
.product-meta-list{ list-style:none; margin:24px 0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.product-meta-list li{ padding:14px; background:var(--bg-alt); border-radius:4px; }
.spec-table{ width:100%; border-collapse:collapse; }
.spec-table th,.spec-table td{ border-bottom:1px solid var(--line); padding:14px 10px; text-align:left; }
.spec-table th{ width:34%; color:var(--ink-soft); font-weight:500; }
.faq-item{ border-bottom:1px solid var(--line); }
.faq-item summary{ cursor:pointer; padding:20px 0; font-family:var(--font-display); font-size:18px; }
.faq-item__answer{ padding:0 0 20px; color:var(--ink-soft); }
@media (max-width:1024px){ .nav__menu{ gap:20px; } .nav__cta{ display:none; } }
@media (max-width:860px){
  body.admin-bar{ --admin-bar-offset:46px; }
  .topbar{ display:none; }
  .desktop-nav,.nav__cta{ display:none; }
  .mobile-toggle{ display:block; }
  .nav__inner{ height:68px; }
  .header{ box-shadow:0 6px 20px rgba(0,0,0,.06); }
  .product-meta-list{ grid-template-columns:1fr; }
  .post-nav{ grid-template-columns:1fr; }
  .post-nav .next{ text-align:left; }
}
@media (max-width:782px){ body.admin-bar{ --admin-bar-offset:46px; } }
@media (max-width:520px){ .back-to-top{ right:14px; bottom:14px; } }
@media (prefers-reduced-motion:reduce){ .mobile-panel,.search-overlay,.back-to-top{ transition:none; } }
.case-cell__media{ position:absolute; inset:0; }
.pd__highlights li::before{ content:'✓'; color:var(--brand); font-weight:700; flex:none; }
.navigation.post-navigation{ margin-top:50px; border-top:1px solid var(--line); padding-top:26px; }
.navigation.post-navigation .nav-links{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.navigation.post-navigation a{ text-decoration:none; display:grid; gap:4px; }
.navigation.post-navigation .nav-next{ text-align:right; }
.navigation.post-navigation small{ color:var(--ink-soft); }
.navigation.post-navigation b{ font-family:var(--font-display); }
@media (max-width:600px){ .navigation.post-navigation .nav-links{grid-template-columns:1fr}.navigation.post-navigation .nav-next{text-align:left} }
/* Dynamic-template layouts not present verbatim in the static source. */
.about-story{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,6vw,88px); align-items:center; }
.about-story__media{ aspect-ratio:4/5; overflow:hidden; border-radius:8px; }
.about-story__media img{ width:100%; height:100%; object-fit:cover; }
.about-metrics{ display:grid; grid-template-columns:repeat(4,1fr); gap:32px; text-align:center; }
.about-metric__num{ font-family:var(--font-display); font-size:clamp(34px,4vw,52px); color:#A9C0A0; font-weight:600; }
.about-metric__label{ font-size:var(--fs-small); color:#C9C4BC; text-transform:uppercase; letter-spacing:.06em; }
.value-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.value{ position:relative; padding:30px 24px; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
.value__num{ font-family:var(--font-display); color:var(--brand); font-size:14px; margin-bottom:20px; }
.value p{ color:var(--ink-soft); margin-bottom:0; }
.timeline__item{ position:relative; padding-bottom:40px; }
.timeline__item:last-child{ padding-bottom:0; }
.timeline__item::before{ content:""; position:absolute; left:-49px; top:4px; width:16px; height:16px; border-radius:50%; background:var(--brand); border:3px solid var(--bg-alt); }
.timeline__year{ font-family:var(--font-display); font-size:22px; color:var(--brand); font-weight:600; }
.timeline__item p{ color:var(--ink-soft); margin:6px 0 0; }
.facility-grid{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:16px; }
.facility-grid>div{ border-radius:8px; overflow:hidden; min-height:280px; }
.facility-grid img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.facility-grid>div:hover img{ transform:scale(1.04); }
.cert-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:20px; }
.cert-grid .cert{ aspect-ratio:3/4; }
.cert-grid .cert b{ font-family:var(--font-display); font-size:18px; }
.cert-grid .cert span{ color:var(--ink-soft); font-size:13px; }
@media (max-width:860px){
  .about-story{grid-template-columns:1fr}
  .about-metrics,.value-grid{grid-template-columns:repeat(2,1fr)}
  .facility-grid{grid-template-columns:1fr 1fr}
  .cert-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:520px){
  .about-metrics,.value-grid,.facility-grid,.cert-grid{grid-template-columns:1fr}
  .facility-grid>div{min-height:220px}
}

/* Meridian 1.1 form variants and embedded map */
.wpcf7 form .mg-form{display:grid;gap:18px;margin:0}
.wpcf7 form .mg-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.wpcf7 form .mg-form__field{min-width:0}
.wpcf7 form .mg-form__field--full{grid-column:1/-1}
.wpcf7 form .mg-form label{display:block;margin:0 0 7px;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--ink)}
.wpcf7 form .mg-form input:not([type=submit]),.wpcf7 form .mg-form textarea,.wpcf7 form .mg-form select{display:block;width:100%;min-height:48px;border:1px solid var(--line);border-radius:3px;background:#fff;padding:12px 14px;color:var(--ink);font:inherit;box-sizing:border-box}
.wpcf7 form .mg-form textarea{min-height:132px;resize:vertical}
.wpcf7 form .mg-form input:focus,.wpcf7 form .mg-form textarea:focus,.wpcf7 form .mg-form select:focus{outline:2px solid rgba(61,94,66,.18);border-color:var(--brand)}
.wpcf7 form .mg-form input[type=submit]{width:100%;min-height:50px;border:1px solid var(--brand);background:var(--brand);color:#fff;font-weight:700;cursor:pointer}
.wpcf7 form .mg-form input[type=submit]:hover{background:#294a31}
.wpcf7 form .mg-form--home .mg-form__grid{gap:13px 14px}
.wpcf7 form .mg-form--home textarea{min-height:104px}
.wpcf7 form .mg-form--contact{gap:20px}
.wpcf7 form .mg-form--inquiry .mg-form__intro{margin:0 0 2px;color:var(--ink-soft);font-size:14px}
.wpcf7 form .wpcf7-not-valid-tip{display:block;margin-top:5px;font-size:12px;color:#b42318}
.wpcf7 form .wpcf7-response-output{margin:18px 0 0!important;padding:12px 14px!important;border-width:1px!important;font-size:13px}
.map--embed{aspect-ratio:21/9;background:#ddd}
.map--embed iframe{display:block;width:100%!important;height:100%!important;border:0!important}
@media(max-width:720px){.wpcf7 form .mg-form__grid{grid-template-columns:1fr}.wpcf7 form .mg-form__field--full{grid-column:auto}.map--embed{aspect-ratio:4/3}}

/* Meridian 1.2 archive UX, server-side pagination and full-width map */
.archive-list-section{scroll-margin-top:132px}
.cat-tab{font-family:inherit;line-height:1.2}
.filter-item[hidden]{display:none!important}
.filter-item>.card{height:100%}
.carousel__item{min-width:0}
.carousel__item>.card{height:100%}
.listing__content{min-width:0}
.product-filter{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:24px}
.product-filter .filter__head{padding-bottom:8px}
.product-filter .filter__title{margin-bottom:8px}
.filter__tree--flat a{padding:14px 6px}
.filter__note{margin:18px 0 0;color:var(--ink-soft);font-size:12px;line-height:1.65}
.product-archive-grid .card{height:100%}
.map-section--full{padding:0;background:var(--bg-alt)}
.map--full{width:100%;height:clamp(420px,52vw,680px);border:0;border-radius:0;overflow:hidden;background:#ddd}
.map--full iframe{display:block;width:100%!important;height:100%!important;border:0!important}
@media(max-width:860px){
  .product-filter{position:static;padding:18px}
  .filter__tree--flat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .filter__tree--flat li{border:0}
  .filter__tree--flat a{border:1px solid var(--line);border-radius:4px;padding:10px 12px}
  .filter__note{display:none}
}
@media(max-width:560px){
  .filter__tree--flat{grid-template-columns:1fr}
  .cat-tabs{gap:6px;margin-bottom:28px}
  .cat-tab{padding:8px 12px;font-size:13px}
  .map--full{height:420px}
}

/* Meridian 1.3 dedicated Blog and list-first archive architecture */
.archive-first{padding-block:0;background:var(--bg)}
.archive-first.section--alt{background:var(--bg-alt)}
.archive-first>.wrap{padding-block:clamp(64px,9vw,120px)}
.archive-first>.crumb{background:transparent;border-top:0;border-bottom:1px solid var(--line)}
.archive-first>.crumb .crumb__inner{padding-block:16px}
.archive-heading{margin-bottom:clamp(38px,5vw,68px)}
.archive-heading--wide{display:grid;grid-template-columns:minmax(0,.85fr) minmax(320px,1fr);gap:clamp(32px,7vw,110px);align-items:end;max-width:none}
.archive-heading--wide .lead{margin:0;max-width:68ch}
.archive-heading .h2{max-width:14ch}

.product-category-library{display:grid;gap:clamp(42px,7vw,88px)}
.product-category-feature{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:clamp(30px,5vw,72px);align-items:stretch;padding-bottom:clamp(42px,7vw,88px);border-bottom:1px solid var(--line)}
.product-category-feature:last-child{padding-bottom:0;border-bottom:0}
.product-category-feature:nth-child(even) .product-category-feature__media{order:2}
.product-category-feature__media{position:relative;min-height:420px;border-radius:10px;overflow:hidden;background:var(--bg-alt)}
.product-category-feature__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.2,1)}
.product-category-feature:hover .product-category-feature__media img{transform:scale(1.035)}
.product-category-feature__number{position:absolute;left:22px;top:22px;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:rgba(251,250,247,.92);font-family:var(--font-display);font-weight:700;color:var(--brand)}
.product-category-feature__body{align-self:center}
.product-category-feature__body .h2 a{text-decoration:none}
.product-category-feature__children{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0}
.product-category-feature__children a{padding:8px 12px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--ink-soft);font-size:13px;transition:color .2s,border-color .2s,background .2s}
.product-category-feature__children a:hover{color:var(--brand);border-color:var(--brand);background:rgba(61,90,61,.05)}
.product-category-feature__meta{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid var(--line);color:var(--ink-soft);font-size:14px}

.product-category-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:clamp(34px,5vw,72px);align-items:start}
.category-accordion{position:sticky;top:132px;border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}
.category-accordion__head{padding:24px 24px 18px;border-bottom:1px solid var(--line)}
.category-accordion__head .eyebrow{margin-bottom:7px}
.category-accordion__head h2{font-family:var(--font-display);font-size:23px}
.category-accordion__group{border-bottom:1px solid var(--line)}
.category-accordion__group summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 22px;cursor:pointer;font-weight:700;color:var(--ink);transition:background .2s,color .2s}
.category-accordion__group summary::-webkit-details-marker{display:none}
.category-accordion__group summary svg{width:16px;height:16px;transition:transform .25s}
.category-accordion__group[open] summary{background:var(--bg-alt);color:var(--brand)}
.category-accordion__group[open] summary svg{transform:rotate(180deg)}
.category-accordion__links{display:grid;padding:8px 12px 14px}
.category-accordion__links a{display:flex;justify-content:space-between;gap:12px;padding:10px 11px;border-radius:4px;text-decoration:none;color:var(--ink-soft);font-size:13px;transition:background .2s,color .2s,padding-left .2s}
.category-accordion__links a:hover,.category-accordion__links a[aria-current]{background:rgba(61,90,61,.08);color:var(--brand);padding-left:15px}
.category-accordion__links a span{color:var(--ink-soft);font-variant-numeric:tabular-nums}
.category-accordion__all{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 22px;text-decoration:none;color:var(--brand);font-weight:700;font-size:13px}
.category-accordion__all svg{width:17px;height:17px}
.product-category-results{min-width:0}
.product-category-results__bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:26px;padding:14px 18px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font-size:13px;color:var(--ink-soft)}
.product-category-results__bar>div{display:flex;align-items:baseline;gap:6px}
.product-category-results__bar b{font-family:var(--font-display);font-size:21px;color:var(--ink)}
.product-category-results__bar>a{color:var(--brand);font-weight:700;text-decoration:none}
.product-category-grid .card{height:100%}

.service-archive-list{display:grid;gap:0}
.service-archive-list .svc-row{padding-block:clamp(38px,5vw,72px);margin:0;border-top:1px solid var(--line)}
.service-archive-list .svc-row:last-child{border-bottom:1px solid var(--line)}
.service-archive-list .svc-row__media{display:block}
.service-archive-list .svc-row h2 a{text-decoration:none}

.case-cell__summary{margin:12px 0 0;color:var(--ink-soft);font-size:14px;line-height:1.6}

.blog-archive-list{display:grid;border-top:1px solid var(--line)}
.blog-list-card{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(28px,5vw,68px);align-items:center;padding-block:clamp(34px,5vw,62px);border-bottom:1px solid var(--line)}
.blog-list-card__media{display:block;aspect-ratio:16/10;border-radius:8px;overflow:hidden;background:var(--bg-alt)}
.blog-list-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.6,.2,1)}
.blog-list-card:hover .blog-list-card__media img{transform:scale(1.04)}
.blog-list-card__body .h3{font-size:clamp(24px,3vw,36px);margin:14px 0}
.blog-list-card__body .h3 a{text-decoration:none}
.blog-list-card__body>p{margin:0 0 22px;color:var(--ink-soft);max-width:68ch}
.blog-list-card__meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--ink-soft);font-size:12px;letter-spacing:.04em;text-transform:uppercase}
.blog-list-card__meta a{color:var(--brand);font-weight:700;text-decoration:none}
.blog-topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.blog-topic-card{display:flex;flex-direction:column;min-height:270px;padding:28px;border:1px solid var(--line);border-radius:8px;background:var(--surface);text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s}
.blog-topic-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.06);border-color:rgba(61,90,61,.45)}
.blog-topic-card>span{font-size:12px;color:var(--brand);text-transform:uppercase;letter-spacing:.08em}
.blog-topic-card h3{font-size:24px;margin:20px 0 12px}
.blog-topic-card p{color:var(--ink-soft);margin:0 0 24px}
.blog-topic-card b{margin-top:auto;color:var(--brand);font-size:13px}

@media(max-width:980px){
  .archive-heading--wide{grid-template-columns:1fr;gap:18px}
  .archive-heading .h2{max-width:none}
  .product-category-feature{grid-template-columns:1fr}
  .product-category-feature:nth-child(even) .product-category-feature__media{order:0}
  .product-category-feature__media{min-height:360px}
  .product-category-layout{grid-template-columns:250px minmax(0,1fr);gap:30px}
  .blog-topic-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .archive-first>.wrap{padding-block:64px}
  .product-category-layout{grid-template-columns:1fr}
  .category-accordion{position:static}
  .product-category-feature__media{min-height:280px}
  .product-category-feature__meta{align-items:flex-start;flex-direction:column}
  .blog-list-card{grid-template-columns:1fr;gap:22px}
  .blog-topic-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .product-category-feature__media{min-height:230px}
  .product-category-results__bar{align-items:flex-start;flex-direction:column}
  .blog-list-card__body .h3{font-size:25px}
}

/* Meridian 1.4 reusable form-section presentation */
.cta__grid{grid-template-columns:minmax(0,.88fr) minmax(480px,1.12fr);gap:clamp(48px,7vw,104px);align-items:start;}
.cta__info{padding-top:18px;}
.cta__info .h2{max-width:13ch;}
.cta__lead{max-width:58ch;font-size:clamp(16px,1.55vw,19px);line-height:1.75;}
.cta__benefits{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:14px;}
.cta__benefits li{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;color:var(--ink);font-size:14px;line-height:1.6;}
.cta__benefits svg{width:19px;height:19px;margin-top:2px;color:var(--brand);padding:4px;border:1px solid rgba(61,90,61,.3);border-radius:50%;box-sizing:content-box;}
.cta__note{margin-top:30px;padding:20px 22px;border-left:3px solid var(--brand);background:rgba(61,90,61,.055);}
.cta__note strong{display:block;margin-bottom:6px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);}
.cta__note p{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.65;}
.form-card{border-radius:12px;padding:clamp(26px,3.3vw,42px);box-shadow:0 24px 60px rgba(28,32,25,.08);}
.form-card .wpcf7{margin:0;}
.wpcf7 form .mg-form{gap:16px;}
.wpcf7 form .mg-form__grid{gap:15px 16px;}
.wpcf7 form .mg-form label{margin-bottom:8px;font-size:11px;letter-spacing:.075em;text-transform:uppercase;color:#343831;}
.wpcf7 form .mg-form input:not([type=submit]),.wpcf7 form .mg-form textarea,.wpcf7 form .mg-form select{min-height:52px;border-radius:5px;border-color:#dedbd3;background:#fcfbf8;padding:13px 15px;font-size:14px;transition:border-color .2s,box-shadow .2s,background .2s;}
.wpcf7 form .mg-form input:not([type=submit]):hover,.wpcf7 form .mg-form textarea:hover,.wpcf7 form .mg-form select:hover{border-color:#bcb8ae;background:#fff;}
.wpcf7 form .mg-form textarea{min-height:140px;line-height:1.55;}
.wpcf7 form .mg-form--home textarea{min-height:126px;}
.wpcf7 form .mg-form input[type=submit]{min-height:54px;border-radius:5px;letter-spacing:.02em;transition:transform .2s,background .2s,box-shadow .2s;}
.wpcf7 form .mg-form input[type=submit]:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(42,72,47,.18);}
.wpcf7 form .wpcf7-not-valid-tip{margin-top:6px;font-size:12px;}
.section--dark .cta__benefits li{color:#f4f2ec;}
.section--dark .cta__benefits svg{color:#bcd0b4;border-color:rgba(188,208,180,.38);}
.section--dark .cta__note{background:rgba(255,255,255,.055);border-left-color:#bcd0b4;}
.section--dark .cta__note strong{color:#bcd0b4;}
.section--dark .cta__note p{color:#c8c4bd;}
@media(max-width:980px){
  .cta__grid{grid-template-columns:1fr;gap:38px;}
  .cta__info{padding-top:0;}
  .cta__info .h2{max-width:18ch;}
  .form-card{max-width:720px;width:100%;}
}
@media(max-width:620px){
  .form-card{padding:22px 18px;border-radius:8px;}
  .cta__benefits{gap:12px;margin-top:24px;}
  .cta__note{margin-top:24px;padding:17px 18px;}
}

/* Meridian 1.5 product archive experience */
.product-library-hero{overflow:hidden;position:relative}
.product-library-hero::before{content:"";position:absolute;right:-14vw;top:8%;width:42vw;height:42vw;border-radius:50%;background:radial-gradient(circle,rgba(61,90,61,.08),rgba(61,90,61,0) 68%);pointer-events:none}
.product-library-heading{position:relative;z-index:1}
.product-library-heading__copy{display:grid;gap:22px}
.product-library-heading__meta{display:flex;flex-wrap:wrap;gap:12px}
.product-library-heading__meta span{display:flex;align-items:baseline;gap:7px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.54);font-size:12px;color:var(--ink-soft)}
.product-library-heading__meta b{font-family:var(--font-display);font-size:17px;color:var(--brand)}
.product-category-feature{position:relative}
.product-category-feature__media{box-shadow:0 22px 60px rgba(35,39,31,.08);transform:translateZ(0)}
.product-category-feature__media::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.14),transparent 36%,rgba(22,35,22,.12));opacity:0;transition:opacity .45s}
.product-category-feature:hover .product-category-feature__media::after{opacity:1}
.product-category-feature__signal{position:absolute;right:22px;bottom:22px;display:flex;align-items:flex-end;gap:4px;height:24px;padding:8px 10px;border-radius:999px;background:rgba(34,38,31,.72);backdrop-filter:blur(8px)}
.product-category-feature__signal i{display:block;width:3px;border-radius:99px;background:#dce8d7;animation:mg-category-signal 1.25s ease-in-out infinite}
.product-category-feature__signal i:nth-child(1){height:7px}
.product-category-feature__signal i:nth-child(2){height:14px;animation-delay:.16s}
.product-category-feature__signal i:nth-child(3){height:10px;animation-delay:.32s}
@keyframes mg-category-signal{0%,100%{transform:scaleY(.55);opacity:.55}50%{transform:scaleY(1.25);opacity:1}}
.product-category-feature__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:28px 0 22px}
.product-category-feature__facts span{min-height:82px;padding:15px;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.62);color:var(--ink-soft);font-size:11px;line-height:1.45;text-transform:uppercase;letter-spacing:.05em;transition:transform .25s,box-shadow .25s,border-color .25s}
.product-category-feature__facts span:hover{transform:translateY(-3px);border-color:rgba(61,90,61,.42);box-shadow:0 12px 24px rgba(35,39,31,.06)}
.product-category-feature__facts b{display:block;margin-bottom:6px;color:var(--brand);font-family:var(--font-display);font-size:20px;letter-spacing:0;text-transform:none}
.product-category-feature__meta>span{max-width:48ch}
.product-category-pager{position:relative;z-index:2;margin-top:clamp(42px,7vw,78px)}
.product-category-pager .current{background:var(--brand);color:#fff;border-color:var(--brand)}
.product-category-pager .prev,.product-category-pager .next{min-width:max-content}

.product-overview-section{position:relative;overflow:hidden}
.product-overview-section::after{content:"";position:absolute;left:-120px;bottom:-180px;width:440px;height:440px;border:1px solid rgba(61,90,61,.12);border-radius:50%;box-shadow:0 0 0 70px rgba(61,90,61,.025),0 0 0 140px rgba(61,90,61,.018);pointer-events:none}
.product-overview-shell{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(420px,.94fr);gap:clamp(50px,8vw,120px);align-items:center;position:relative;z-index:1}
.product-overview-copy .h2{max-width:15ch}
.product-overview-copy>.lead{max-width:66ch;font-size:clamp(16px,1.5vw,19px);line-height:1.75}
.product-overview-copy__support{max-width:68ch;margin:20px 0 0;color:var(--ink-soft);line-height:1.8}
.product-overview-highlights{display:grid;gap:12px;margin-top:34px}
.product-overview-highlight{display:grid;grid-template-columns:44px 1fr;gap:17px;padding:17px 18px;border:1px solid transparent;border-radius:8px;transition:background .25s,border-color .25s,transform .25s}
.product-overview-highlight:hover{background:rgba(255,255,255,.72);border-color:var(--line);transform:translateX(6px)}
.product-overview-highlight>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(61,90,61,.3);color:var(--brand);font-size:11px;font-weight:700}
.product-overview-highlight h3{font-family:var(--font-body);font-size:15px;margin:0 0 5px;letter-spacing:0}
.product-overview-highlight p{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.65}
.product-overview-dashboard{position:relative;min-height:520px;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(28px,4vw,48px);overflow:hidden;border-radius:14px;background:linear-gradient(155deg,#273126,#182019);color:#f5f2eb;box-shadow:0 30px 70px rgba(21,29,22,.18)}
.product-overview-dashboard::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.08),transparent 28%,transparent 72%,rgba(169,192,160,.05));pointer-events:none}
.product-overview-dashboard__orbit{position:absolute;left:50%;top:44%;width:270px;height:270px;transform:translate(-50%,-50%);border:1px solid rgba(185,210,176,.24);border-radius:50%;animation:mg-orbit-spin 18s linear infinite}
.product-overview-dashboard__orbit::before,.product-overview-dashboard__orbit::after{content:"";position:absolute;border:1px solid rgba(185,210,176,.13);border-radius:50%;inset:30px}
.product-overview-dashboard__orbit::after{inset:75px;background:radial-gradient(circle,rgba(169,192,160,.32),rgba(169,192,160,.02) 62%,transparent 64%)}
.product-overview-dashboard__orbit i{position:absolute;width:11px;height:11px;border-radius:50%;background:#bfd5b7;box-shadow:0 0 18px rgba(191,213,183,.85)}
.product-overview-dashboard__orbit i:nth-child(1){left:17%;top:16%}
.product-overview-dashboard__orbit i:nth-child(2){right:3%;top:48%}
.product-overview-dashboard__orbit i:nth-child(3){left:38%;bottom:-5%}
.product-overview-dashboard__orbit span{position:absolute;inset:50%;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 30px #fff}
@keyframes mg-orbit-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.product-overview-dashboard__label{position:absolute;left:28px;top:26px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#b9cbb2}
.product-overview-stats{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.product-overview-stat{padding:16px 12px;border-top:1px solid rgba(255,255,255,.17)}
.product-overview-stat b{display:block;font-family:var(--font-display);font-size:clamp(28px,3.1vw,44px);line-height:1;color:#f7f4ed}
.product-overview-stat span{display:block;margin-top:8px;color:#bfc4bb;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.product-overview-dashboard__status{position:relative;z-index:2;display:flex;gap:10px;align-items:center;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:12px;line-height:1.55;color:#cbd1c7}
.product-overview-dashboard__status>span{width:8px;height:8px;flex:none;border-radius:50%;background:#a9c0a0;box-shadow:0 0 0 5px rgba(169,192,160,.1);animation:mg-status-pulse 1.8s ease-in-out infinite}
@keyframes mg-status-pulse{50%{box-shadow:0 0 0 10px rgba(169,192,160,0)}}

.product-process-section{position:relative;overflow:hidden}
.product-process-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 24%,rgba(145,179,134,.16),transparent 28%),linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.035) 50%,transparent 50.1%);background-size:auto,70px 70px;pointer-events:none}
.product-process{position:relative;z-index:1}
.product-process__head{display:grid;grid-template-columns:minmax(0,.8fr) minmax(360px,1.2fr);column-gap:clamp(40px,8vw,120px);align-items:end;margin-bottom:clamp(45px,7vw,80px)}
.product-process__head .eyebrow{grid-column:1/-1}
.product-process__head .h2{max-width:14ch}
.product-process__head .lead{margin:0;max-width:62ch}
.product-process__experience{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);gap:clamp(28px,5vw,68px);align-items:stretch}
.product-process__tabs{display:grid;align-content:start;border-top:1px solid rgba(255,255,255,.16)}
.product-process__tab{display:grid;grid-template-columns:42px 1fr;gap:15px;align-items:center;width:100%;padding:19px 8px;border:0;border-bottom:1px solid rgba(255,255,255,.13);background:transparent;color:#c8cec5;text-align:left;cursor:pointer;transition:background .25s,color .25s,padding-left .25s}
.product-process__tab span{font-size:10px;letter-spacing:.12em;color:#9eb395}
.product-process__tab b{font-family:var(--font-body);font-size:14px}
.product-process__tab:hover,.product-process__tab.is-active{padding-left:18px;background:rgba(255,255,255,.055);color:#fff}
.product-process__tab.is-active span{color:#d5e4ce}
.product-process__panels{position:relative;min-height:430px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.045);backdrop-filter:blur(12px);overflow:hidden}
.product-process__panels::after{content:"";position:absolute;right:-80px;bottom:-100px;width:260px;height:260px;border:1px solid rgba(181,205,172,.18);border-radius:50%;box-shadow:0 0 0 45px rgba(181,205,172,.025),0 0 0 90px rgba(181,205,172,.018)}
.product-process__panel{position:relative;z-index:1;display:grid;grid-template-columns:130px minmax(0,1fr);gap:clamp(30px,5vw,70px);align-items:center;min-height:430px;padding:clamp(34px,6vw,74px);animation:mg-panel-reveal .42s ease both}
.product-process__panel[hidden]{display:none}
@keyframes mg-panel-reveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.product-process__panel-number{font-family:var(--font-display);font-size:clamp(74px,9vw,132px);line-height:.8;color:rgba(217,232,211,.2)}
.product-process__panel .eyebrow{margin-bottom:12px}
.product-process__panel h3{font-size:clamp(28px,4vw,48px);margin:0 0 20px;color:#fff}
.product-process__panel p:not(.eyebrow){max-width:58ch;color:#c9cec6;line-height:1.8}
.product-process__panel strong{display:block;margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.13);color:#d8e5d3;font-size:13px;font-weight:600}

.product-faq-section{position:relative;overflow:hidden;background:var(--bg)}
.product-faq-section::before{content:"FAQ";position:absolute;right:-1vw;top:4%;font-family:var(--font-display);font-size:clamp(120px,22vw,360px);line-height:1;color:rgba(61,90,61,.028);pointer-events:none}
.product-faq-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(310px,.75fr) minmax(0,1.25fr);gap:clamp(48px,8vw,120px);align-items:start}
.product-faq-intro{position:sticky;top:150px}
.product-faq-intro .h2{max-width:12ch}
.product-faq-intro>.lead{font-size:17px;line-height:1.75}
.product-faq-intro__prompt{display:flex;gap:14px;margin-top:30px;padding:18px 20px;border-left:2px solid var(--brand);background:var(--bg-alt)}
.product-faq-intro__prompt span{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:var(--brand);color:#fff}
.product-faq-intro__prompt svg{width:14px;height:14px}
.product-faq-intro__prompt p{margin:0;color:var(--ink-soft);font-size:12px;line-height:1.65}
.faq__list--interactive{max-width:none;margin:0;border-top:1px solid var(--line)}
.faq__list--interactive .faq__item{border-bottom:1px solid var(--line);transition:background .25s}
.faq__list--interactive .faq__item:hover,.faq__list--interactive .faq__item.is-open{background:rgba(242,239,233,.72)}
.faq__list--interactive .faq__q{display:grid;grid-template-columns:48px minmax(0,1fr);gap:18px;align-items:center;padding:25px 52px 25px 18px;font-size:clamp(17px,1.7vw,21px)}
.faq__list--interactive .faq__q::after{right:18px;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-family:var(--font-body);font-size:18px;line-height:1}
.faq__index{font-family:var(--font-body);font-size:10px;letter-spacing:.1em;color:var(--brand)}
.faq__list--interactive .faq__a{display:grid;grid-template-rows:0fr;max-height:none;overflow:hidden;padding:0 70px 0 84px;transition:grid-template-rows .4s ease,padding-bottom .4s ease}
.faq__list--interactive .faq__a>div{min-height:0;overflow:hidden;color:var(--ink-soft)}
.faq__list--interactive .faq__a p{max-width:72ch;margin:0;padding:0 0 24px;line-height:1.8}
.faq__list--interactive .faq__item.is-open .faq__a{grid-template-rows:1fr;padding-bottom:10px}

/* Global form-section height and visual alignment. */
.cta__grid{align-items:stretch}
.cta__info{display:flex;flex-direction:column;justify-content:center;height:100%;padding:clamp(28px,4vw,52px) 0}
.form-card{display:flex;flex-direction:column;justify-content:center;height:100%;min-height:100%;padding:clamp(26px,3vw,38px)}
.form-card>.wpcf7{width:100%}
.wpcf7 form .mg-form{gap:13px}
.wpcf7 form .mg-form__grid{gap:12px 14px}
.wpcf7 form .mg-form input:not([type=submit]),.wpcf7 form .mg-form textarea,.wpcf7 form .mg-form select{min-height:49px;padding:11px 14px}
.wpcf7 form .mg-form textarea{min-height:108px}
.wpcf7 form .mg-form--home textarea{min-height:96px}

@media(max-width:1100px){
  .product-overview-shell{grid-template-columns:1fr 430px;gap:46px}
  .product-process__panel{grid-template-columns:100px 1fr}
}
@media(max-width:900px){
  .product-category-feature__facts{grid-template-columns:1fr}
  .product-category-feature__facts span{min-height:auto}
  .product-overview-shell,.product-faq-layout{grid-template-columns:1fr}
  .product-overview-dashboard{min-height:480px}
  .product-process__head{grid-template-columns:1fr;gap:22px}
  .product-process__experience{grid-template-columns:1fr}
  .product-process__tabs{grid-template-columns:repeat(2,1fr)}
  .product-process__tab{border-right:1px solid rgba(255,255,255,.12)}
  .product-faq-intro{position:static;max-width:720px}
  .cta__info{padding:0}
  .form-card{height:auto}
}
@media(max-width:620px){
  .product-library-heading__meta{display:grid;grid-template-columns:1fr}
  .product-category-feature__signal{display:none}
  .product-category-pager{flex-wrap:wrap}
  .product-category-pager .prev,.product-category-pager .next{order:2;width:calc(50% - 4px)}
  .product-overview-dashboard{min-height:430px;padding:24px 18px}
  .product-overview-dashboard__orbit{width:220px;height:220px}
  .product-overview-stats{gap:2px}
  .product-overview-stat{padding:14px 6px}
  .product-overview-stat b{font-size:28px}
  .product-process__tabs{grid-template-columns:1fr}
  .product-process__panel{grid-template-columns:1fr;min-height:410px;padding:32px 24px}
  .product-process__panel-number{font-size:74px}
  .faq__list--interactive .faq__q{grid-template-columns:34px 1fr;gap:10px;padding:20px 45px 20px 8px}
  .faq__list--interactive .faq__a{padding-left:52px;padding-right:20px}
  .form-card{padding:22px 18px}
}
@media(prefers-reduced-motion:reduce){
  .product-category-feature__signal i,.product-overview-dashboard__orbit,.product-overview-dashboard__status>span{animation:none}
}

/* Meridian 1.6.0: unified FAQ, separated inquiry sections and equal-height forms */
.faq-section{position:relative;overflow:hidden;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.faq-section::before{content:"";position:absolute;right:-8vw;top:-14vw;width:34vw;height:34vw;min-width:320px;min-height:320px;border:1px solid rgba(61,90,61,.12);border-radius:50%;box-shadow:0 0 0 38px rgba(61,90,61,.025),0 0 0 76px rgba(61,90,61,.018);pointer-events:none}
.faq-layout{position:relative;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(44px,7vw,104px);align-items:start}
.faq-intro{position:sticky;top:120px}
.faq-intro .h2{max-width:12ch}.faq-intro .lead{max-width:48ch}
.faq-intro__hint{display:grid;grid-template-columns:32px 1fr;gap:14px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line);color:var(--ink-soft);font-size:13px;line-height:1.65}
.faq-intro__hint span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(61,90,61,.08);color:var(--brand)}
.faq-intro__hint svg{width:15px;height:15px}.faq-intro__hint p{margin:0}
.faq__list--interactive{border-top:1px solid var(--line)}
.faq__item{border-bottom:1px solid var(--line)}
.faq__q{display:grid;grid-template-columns:52px minmax(0,1fr) 28px;gap:18px;align-items:center;width:100%;padding:24px 0;border:0;background:transparent;color:var(--ink);text-align:left;font:inherit;cursor:pointer}
.faq__index{font-family:var(--font-display);font-size:13px;color:var(--brand);letter-spacing:.08em}.faq__question{font-weight:700;font-size:clamp(17px,1.5vw,21px);line-height:1.35}
.faq__icon{position:relative;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;transition:transform .3s,border-color .3s,background .3s}
.faq__icon::before,.faq__icon::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1px;background:currentColor;transform:translate(-50%,-50%);transition:transform .3s}
.faq__icon::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq__item.is-open .faq__icon{transform:rotate(180deg);border-color:var(--brand);background:rgba(61,90,61,.08)}
.faq__item.is-open .faq__icon::after{transform:translate(-50%,-50%) rotate(0)}
.faq__a{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .38s ease,opacity .3s ease}
.faq__a>div{overflow:hidden;padding:0 46px 0 70px;color:var(--ink-soft);line-height:1.8}
.faq__a p:first-child{margin-top:0}.faq__item.is-open .faq__a{grid-template-rows:1fr;opacity:1}.faq__item.is-open .faq__a>div{padding-bottom:26px}
.faq-section + .cta{margin-top:clamp(22px,4vw,54px);border-top:1px solid var(--line)}
.cta__grid{align-items:stretch}.cta__info,.form-card{height:100%}.cta__info{display:flex;flex-direction:column}.cta__note{margin-top:auto}.form-card{display:flex;flex-direction:column;justify-content:center}
.archive-list-section .card,.ov-stat,.blog-topic-card,.product-overview-highlight{will-change:transform;transition:transform .35s cubic-bezier(.2,.6,.2,1),box-shadow .35s,border-color .35s}
.archive-list-section .card:hover,.product-overview-highlight:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(28,32,25,.08)}
[data-section-tone]{isolation:isolate}
@media(max-width:900px){.faq-layout{grid-template-columns:1fr}.faq-intro{position:static}.cta__info,.form-card{height:auto}.cta__note{margin-top:30px}}
@media(max-width:600px){.faq__q{grid-template-columns:38px minmax(0,1fr) 28px;gap:10px;padding:20px 0}.faq__a>div{padding-left:48px;padding-right:10px}.faq-section::before{display:none}}
@media(prefers-reduced-motion:reduce){.faq__a,.faq__icon,.archive-list-section .card,.ov-stat,.blog-topic-card,.product-overview-highlight{transition:none!important}}

/* About page 1.6.1 editorial redesign */
.about-story-section{overflow:hidden}.about-story__copy .prose p{margin:0 0 1.15em}.about-story__signature{display:flex;align-items:center;gap:18px;margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}.about-story__signature span{padding:7px 10px;background:var(--brand);color:#fff;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.about-story__signature b{font-family:var(--font-display);font-size:17px}.about-story__media{position:relative;box-shadow:0 30px 70px rgba(32,39,30,.14)}.about-story__media:before{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.55);z-index:1;pointer-events:none}.about-story__caption{position:absolute;left:0;right:0;bottom:0;padding:70px 28px 28px;background:linear-gradient(transparent,rgba(18,23,17,.86));color:#fff;z-index:2}.about-story__caption span{display:block;font-size:11px;letter-spacing:.13em;text-transform:uppercase;opacity:.75}.about-story__caption b{display:block;margin-top:5px;font-family:var(--font-display);font-size:20px;line-height:1.25}
.about-purpose__grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(48px,8vw,120px);align-items:center}.about-purpose__visual{position:relative}.about-purpose__visual img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:8px}.about-purpose__stamp{position:absolute;right:-28px;bottom:36px;width:138px;height:138px;display:grid;place-content:center;text-align:center;border-radius:50%;background:var(--dark);color:#fff;text-transform:uppercase;font-size:10px;letter-spacing:.12em;line-height:1.5;box-shadow:0 20px 45px rgba(0,0,0,.22)}.about-purpose__stamp span{display:block;font-family:var(--font-display);font-size:34px;letter-spacing:0;color:#b9cbb2}.about-principles{margin-top:40px;border-top:1px solid var(--line)}.about-principle{display:grid;grid-template-columns:46px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--line);transition:padding-left .3s ease,background .3s ease}.about-principle:hover{padding-left:12px}.about-principle>span{font-family:var(--font-display);color:var(--brand);font-size:13px}.about-principle h3{font-size:18px}.about-principle p{margin:6px 0 0;color:var(--ink-soft);font-size:14px}
.about-metrics-section{position:relative;overflow:hidden}.about-metrics-section:after{content:"MERIDIAN";position:absolute;right:-2vw;bottom:-.32em;font-family:var(--font-display);font-size:clamp(90px,17vw,270px);line-height:1;color:rgba(255,255,255,.025);pointer-events:none}.about-metrics-intro{max-width:760px;margin:0 auto 65px;text-align:center}.about-metric{position:relative;padding:22px 10px}.about-metric:not(:last-child):after{content:"";position:absolute;right:-16px;top:10%;height:80%;width:1px;background:rgba(255,255,255,.12)}
.value{overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.value:hover{transform:translateY(-8px);box-shadow:0 24px 55px rgba(28,37,27,.1);border-color:rgba(61,90,61,.35)}.value__line{position:absolute;left:0;bottom:0;width:100%;height:3px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}.value:hover .value__line{transform:scaleX(1)}
.about-process{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about-process__item{position:relative;padding:30px 24px;min-height:255px;border-right:1px solid var(--line);outline:none;cursor:default;transition:background .35s ease,color .35s ease,transform .35s ease}.about-process__item:last-child{border-right:0}.about-process__item:before{content:"";position:absolute;left:0;right:0;top:-2px;height:3px;background:var(--brand);transform:scaleX(0);transition:transform .35s}.about-process__item.is-active,.about-process__item:hover,.about-process__item:focus-visible{background:var(--dark);color:#fff;transform:translateY(-10px)}.about-process__item.is-active:before,.about-process__item:hover:before,.about-process__item:focus-visible:before{transform:scaleX(1)}.about-process__number{display:block;margin-bottom:65px;font-family:var(--font-display);font-size:14px;color:var(--brand)}.about-process__item.is-active .about-process__number,.about-process__item:hover .about-process__number{color:#b7c9b0}.about-process__item h3{font-size:18px}.about-process__item p{margin:10px 0 0;color:var(--ink-soft);font-size:13px}.about-process__item.is-active p,.about-process__item:hover p{color:#c9c4bc}
.about-journey__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,9vw,140px);align-items:start}.about-journey__intro{position:sticky;top:150px}.timeline{max-width:none}.timeline__item{padding:0 0 58px 26px}.timeline__item:before{left:-49px;box-shadow:0 0 0 7px var(--bg)}.timeline__year{font-size:clamp(25px,3vw,38px);line-height:1;margin-bottom:12px}
.about-gallery-section .facility-grid{grid-template-columns:1.7fr 1fr 1fr}.facility-grid figure{position:relative;margin:0;border-radius:8px;overflow:hidden;min-height:420px}.facility-grid figure:nth-child(2){margin-top:70px}.facility-grid figure:nth-child(3){margin-bottom:70px}.facility-grid figure:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(14,18,13,.8));pointer-events:none}.facility-grid figure img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s}.facility-grid figure:hover img{transform:scale(1.07);filter:saturate(1.08)}.facility-grid figcaption{position:absolute;left:24px;right:24px;bottom:22px;z-index:2;color:#fff;font-family:var(--font-display);font-size:18px}.facility-grid figcaption span{display:block;margin-bottom:7px;font-family:var(--font-body);font-size:10px;letter-spacing:.15em;opacity:.7}
.cert-grid .cert{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.cert-grid .cert:hover{transform:translateY(-6px);box-shadow:0 20px 45px rgba(28,37,27,.08)}.cert__mark{position:absolute;top:20px;right:20px;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--brand)}
@media(max-width:1050px){.about-process{grid-template-columns:repeat(2,1fr)}.about-process__item{border-bottom:1px solid var(--line)}.about-gallery-section .facility-grid{grid-template-columns:1.4fr 1fr}.facility-grid figure:nth-child(3){grid-column:1/-1;min-height:300px;margin:0}.about-metric:not(:last-child):after{display:none}}
@media(max-width:860px){.about-purpose__grid,.about-journey__grid{grid-template-columns:1fr}.about-purpose__visual{max-width:620px}.about-journey__intro{position:static}.about-process{grid-template-columns:1fr}.about-process__item{min-height:0;border-right:0}.about-process__number{margin-bottom:22px}.about-gallery-section .facility-grid{grid-template-columns:1fr 1fr}.facility-grid figure,.facility-grid figure:nth-child(2),.facility-grid figure:nth-child(3){min-height:320px;margin:0;grid-column:auto}.facility-grid figure:first-child{grid-column:1/-1}.sec-head--split{align-items:start}}
@media(max-width:520px){.about-story__signature{align-items:flex-start;flex-direction:column}.about-purpose__stamp{right:12px;bottom:-28px;width:112px;height:112px}.about-purpose__stamp span{font-size:27px}.about-gallery-section .facility-grid{grid-template-columns:1fr}.facility-grid figure,.facility-grid figure:first-child{grid-column:auto;min-height:280px}.about-process__item.is-active,.about-process__item:hover{transform:none}.about-metrics-intro{text-align:left}}
@media(prefers-reduced-motion:reduce){.value,.value__line,.about-process__item,.about-principle,.facility-grid figure img,.cert-grid .cert{transition:none!important}.value:hover,.about-process__item.is-active,.about-process__item:hover,.cert-grid .cert:hover{transform:none}}


/* About 1.6.2 — media-rich modules with consistent proportions */
.about-module-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:clamp(44px,7vw,110px);align-items:center;margin-bottom:clamp(48px,6vw,82px)}
.about-module-intro--reverse{grid-template-columns:minmax(360px,.82fr) minmax(0,1fr)}
.about-module-intro>figure{margin:0;aspect-ratio:16/10;overflow:hidden;border-radius:10px;background:var(--line)}
.about-module-intro>figure img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.about-module-intro:hover>figure img{transform:scale(1.035)}
.about-module-intro .lead{max-width:650px}
.value-grid--media{align-items:stretch}.value--media{padding:0;overflow:hidden;display:flex;flex-direction:column;min-height:100%;background:var(--surface)}
.value__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--line)}.value__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.value--media:hover .value__media img{transform:scale(1.055)}
.value__media span{position:absolute;left:18px;top:18px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.92);font-size:11px;font-weight:700;color:var(--brand)}
.value__body{padding:26px 24px 30px}.value__body p{margin-bottom:0}
.about-process{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;border:0}
.about-process__item{padding:0;min-height:390px;border:1px solid var(--line)!important;border-radius:9px;overflow:hidden;background:var(--surface);display:flex;flex-direction:column;transform:none}
.about-process__item:before{display:none}.about-process__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--line)}.about-process__media img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease,filter .35s ease}
.about-process__number{position:absolute;left:16px;top:16px;margin:0;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.94);color:var(--brand);font-size:11px}
.about-process__body{padding:23px 20px 27px}.about-process__body h3{margin:0;font-size:18px}.about-process__body p{margin:10px 0 0;font-size:13px;color:var(--ink-soft)}
.about-process__item.is-active,.about-process__item:hover,.about-process__item:focus-visible{background:var(--dark);color:#fff;transform:translateY(-7px);box-shadow:0 22px 42px rgba(20,27,20,.16)}
.about-process__item.is-active img,.about-process__item:hover img,.about-process__item:focus-visible img{transform:scale(1.055);filter:saturate(1.08)}
.about-process__item.is-active p,.about-process__item:hover p,.about-process__item:focus-visible p{color:#d0cdc6}.about-process__item.is-active .about-process__number,.about-process__item:hover .about-process__number{color:var(--brand)}
.about-journey__head{max-width:820px;margin:0 auto clamp(50px,7vw,90px)}.timeline--media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:none;border:0}
.timeline-card{display:grid;grid-template-columns:42% 58%;min-height:280px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--surface);transition:transform .35s ease,box-shadow .35s ease}.timeline-card:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(28,37,27,.09)}
.timeline-card figure{margin:0;overflow:hidden;background:var(--line)}.timeline-card figure img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.timeline-card:hover figure img{transform:scale(1.05)}
.timeline-card__body{padding:30px}.timeline-card .timeline__year{display:block;margin:0 0 28px;color:var(--brand);font-size:clamp(26px,3vw,42px)}.timeline-card p{margin-bottom:0;color:var(--ink-soft)}
.facility-grid figcaption{display:flex;flex-direction:column;align-items:flex-start}.facility-grid figcaption b{font-size:18px}.facility-grid figcaption small{display:block;margin-top:8px;max-width:330px;font-family:var(--font-body);font-size:12px;line-height:1.55;color:rgba(255,255,255,.78)}
.cert-grid--media .cert{aspect-ratio:auto;padding:0;justify-content:flex-start;min-height:330px}.cert__image{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--line)}.cert__image img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.cert:hover .cert__image img{transform:scale(1.05)}
.cert__image .cert__mark{top:16px;right:16px;background:rgba(255,255,255,.94)}.cert__body{display:flex;flex-direction:column;gap:7px;padding:22px 20px 25px}.cert-grid--media .cert b{font-size:19px}.cert-grid--media .cert span{font-size:13px;line-height:1.55}
@media(max-width:1100px){.about-process{grid-template-columns:repeat(3,1fr)}.cert-grid--media{grid-template-columns:repeat(3,1fr)}.timeline--media{gap:20px}}
@media(max-width:860px){.about-module-intro,.about-module-intro--reverse{grid-template-columns:1fr}.about-module-intro--reverse figure{order:2}.about-process{grid-template-columns:repeat(2,1fr)}.timeline--media{grid-template-columns:1fr}.timeline-card{min-height:250px}}
@media(max-width:600px){.about-process,.cert-grid--media{grid-template-columns:1fr}.about-process__item{min-height:0}.timeline-card{grid-template-columns:1fr}.timeline-card figure{aspect-ratio:16/10}.about-module-intro>figure{min-width:0}.value-grid--media{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.about-module-intro img,.value__media img,.about-process__item,.about-process__media img,.timeline-card,.timeline-card img,.cert__image img{transition:none!important}.about-module-intro:hover img,.value--media:hover img,.about-process__item:hover,.timeline-card:hover,.timeline-card:hover img,.cert:hover img{transform:none!important}}

/* ===== Article detail 1.6.3 ===== */
.article-section{padding-top:clamp(52px,7vw,92px)}
.article-progress{position:fixed;z-index:80;top:0;left:0;right:0;height:3px;pointer-events:none}
.admin-bar .article-progress{top:32px}
.article-progress span{display:block;width:0;height:100%;background:var(--brand);transition:width .08s linear}
.blogwrap{grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:clamp(44px,6vw,88px)}
.article-body{min-width:0}
.post-head{padding-bottom:22px;margin-bottom:34px;border-bottom:1px solid var(--line)}
.post-head__meta{margin:0;gap:10px;flex-wrap:wrap;font-size:13px;letter-spacing:.02em}
.article-prose{max-width:780px;font-size:17px;line-height:1.82}
.article-prose>p:first-child{font-size:clamp(19px,2vw,22px);line-height:1.65;color:var(--ink)}
.article-prose h2,.article-prose h3,.article-prose h4{position:relative;scroll-margin-top:150px}
.article-prose h2{font-size:clamp(28px,3.2vw,38px);margin:1.9em 0 .65em;padding-top:.25em}
.article-prose h2:before{content:"";display:block;width:42px;height:2px;background:var(--brand);margin-bottom:18px}
.article-prose h3{font-size:clamp(22px,2.5vw,28px);margin:1.65em 0 .55em}
.article-prose h4{font-size:18px;margin:1.5em 0 .5em}
.article-prose blockquote{margin:34px 0;padding:26px 30px;border-left:3px solid var(--brand);background:var(--bg-alt);font-family:var(--font-display);font-size:clamp(20px,2.3vw,26px);line-height:1.45}
.article-prose img{border-radius:8px;margin:14px 0 30px}
.article-prose figure{margin:34px 0}
.article-prose figcaption{margin-top:10px;color:var(--ink-soft);font-size:13px;text-align:center}
.article-prose table{width:100%;border-collapse:collapse;margin:30px 0;font-size:15px}
.article-prose th,.article-prose td{padding:14px 16px;border:1px solid var(--line);text-align:left}
.article-prose th{background:var(--bg-alt);color:var(--ink)}
.article-social{justify-content:space-between;gap:24px;margin:54px 0 36px;padding:26px 0}
.article-social__copy{display:grid;gap:4px}
.article-social__copy span{color:var(--ink);font-weight:700;letter-spacing:.09em}
.article-social__copy small{color:var(--ink-soft);font-size:13px}
.article-social__links{display:flex;gap:10px}
.article-social a{width:42px;height:42px;border-radius:50%}
.article-social a:hover,.article-social a:focus-visible{transform:translateY(-3px);box-shadow:0 10px 24px rgba(35,50,34,.16)}
.author-card{position:relative;padding:28px 30px;border:1px solid var(--line);background:linear-gradient(135deg,var(--bg-alt),var(--surface));overflow:hidden}
.author-card:after{content:"";position:absolute;right:-38px;bottom:-58px;width:140px;height:140px;border:1px solid var(--line);border-radius:50%}
.author-card img{width:72px;height:72px}
.author-card span{display:block;margin-bottom:4px;color:var(--ink-soft);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.author-card b{display:block;font-size:20px}
.article-sidebar{top:118px;gap:24px}
.side__box{padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 12px 36px rgba(31,38,29,.045)}
.side__box h4,.side__heading{font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin:0 0 16px;padding-bottom:13px;border-bottom:1px solid var(--line)}
.side__heading{display:flex;justify-content:space-between;align-items:center}
.side__heading small{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:20px;background:var(--bg-alt);color:var(--ink-soft);font-size:11px;letter-spacing:0}
.toc{counter-reset:toc;gap:2px}
.toc__item{counter-increment:toc}
.toc a{position:relative;display:block;padding:9px 10px 9px 29px;border-left:2px solid transparent;border-radius:0 4px 4px 0;line-height:1.4}
.toc a:before{content:counter(toc,decimal-leading-zero);position:absolute;left:4px;top:10px;font-size:9px;letter-spacing:.05em;color:var(--ink-soft)}
.toc__item--h3 a{padding-left:40px;font-size:13px}
.toc__item--h4 a{padding-left:52px;font-size:12px}
.toc a:hover,.toc a.is-active{color:var(--brand);background:var(--bg-alt);border-left-color:var(--brand)}
.side__list{gap:0}
.side__list li+li{border-top:1px solid var(--line)}
.side__list a{display:block;padding:12px 0}
.side__list--categories a{display:flex;align-items:center;justify-content:space-between}
.side__list--categories a span{transition:transform .2s}
.side__list--categories a:hover span{transform:translateX(4px)}
.side__list--recent b{display:block;font-family:var(--font-display);font-size:15px;font-weight:600}
.side__list--recent small{margin-top:6px}
.navigation.post-navigation a{padding:22px;border:1px solid var(--line);border-radius:6px;transition:transform .2s,border-color .2s,box-shadow .2s}
.navigation.post-navigation a:hover{transform:translateY(-3px);border-color:var(--brand);box-shadow:0 12px 30px rgba(31,38,29,.08)}
@media(max-width:960px){.article-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.side__box--toc{grid-column:1/-1}.blogwrap{gap:48px}}
@media(max-width:680px){.admin-bar .article-progress{top:46px}.article-prose{font-size:16px}.article-sidebar{grid-template-columns:1fr}.article-social{align-items:flex-start;flex-direction:column}.side__box{padding:20px}.post-head__meta span[aria-hidden="true"]{display:none}.post-head__meta{display:grid;gap:5px}.navigation.post-navigation a{padding:18px}}
@media(prefers-reduced-motion:reduce){.article-progress span,.article-social a,.navigation.post-navigation a,.side__list--categories a span{transition:none}}


/* Meridian 1.6.4 archive isolation, media cards and clean pagination */
.case-archive{position:relative;isolation:isolate;overflow:clip;background:var(--bg-alt)}
.case-archive::before{content:"";position:absolute;inset:0 0 auto;height:clamp(220px,28vw,420px);z-index:-1;background:linear-gradient(180deg,rgba(61,90,61,.065),transparent);pointer-events:none}
.case-archive>.wrap{position:relative}
.case-archive__grid{align-items:stretch}
.case-archive .case-cell{position:relative;display:flex;min-height:430px;overflow:hidden;border-radius:10px;background:#252a23;color:#fff;isolation:isolate;box-shadow:0 18px 44px rgba(28,32,25,.08);transition:transform .35s ease,box-shadow .35s ease}
.case-archive .case-cell__media{position:absolute;inset:0;z-index:-2;background:linear-gradient(145deg,#d8d8d2,#797b74)}
.case-archive .case-cell__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,rgba(23,27,22,.9) 100%)}
.case-archive .case-cell__media img{width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.6,.2,1)}
.case-archive .case-cell__body{align-self:flex-end;width:100%;padding:28px;position:relative;z-index:1}
.case-archive .case-cell__cat,.case-archive .case-cell__summary{color:rgba(255,255,255,.76)}
.case-archive .case-cell__title{color:#fff}
.case-archive .case-cell:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(28,32,25,.18)}
.case-archive .case-cell:hover .case-cell__media img{transform:scale(1.045)}
.case-archive + .banner,.case-archive ~ .section{position:relative;isolation:isolate;background:var(--bg)}

.sol-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sol-card{position:relative;display:flex;flex-direction:column;min-height:100%;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface);text-decoration:none;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.sol-card__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(145deg,#deded8,#74766f)}
.sol-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(24,28,23,.32))}
.sol-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.6,.2,1)}
.sol-card__no{position:absolute;left:18px;top:18px;z-index:1;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(251,250,247,.92);color:var(--brand);font-family:var(--font-display);font-weight:700}
.sol-card__body{display:flex;flex:1;flex-direction:column;padding:25px}
.sol-card__eye{margin:0 0 10px;color:var(--brand);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.sol-card__title{margin:0 0 12px;font-family:var(--font-display);font-size:clamp(22px,2vw,29px);line-height:1.15;color:var(--ink)}
.sol-card__desc{margin:0 0 22px;color:var(--ink-soft);line-height:1.7}
.sol-card .link{margin-top:auto}
.sol-card:hover{transform:translateY(-6px);border-color:rgba(61,90,61,.38);box-shadow:0 22px 48px rgba(28,32,25,.1)}
.sol-card:hover .sol-card__media img{transform:scale(1.045)}
.pager a{scroll-behavior:auto}
@media(max-width:980px){.sol-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.sol-grid{grid-template-columns:1fr}.case-archive .case-cell{min-height:390px}}
@media(prefers-reduced-motion:reduce){.case-archive .case-cell,.case-archive .case-cell__media img,.sol-card,.sol-card__media img{transition:none!important}}


/* Meridian 1.6.5 FAQ cleanup, case archive repair and clearer solution cards */
.faq-section{background:var(--bg);border-top:0;border-bottom:0}
.faq-section::before{display:none}
.faq__list--interactive{border-top:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.faq__item:first-child{border-top:0}
.faq-section + .cta{margin-top:0;border-top:0;padding-top:clamp(48px,7vw,92px)}

.case-archive{background:var(--bg)}
.case-archive::before{display:none}
.case-archive__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch}
.case-archive .case-cell{aspect-ratio:auto;min-height:410px;height:100%;display:flex;flex-direction:column;justify-content:flex-end}
.case-archive .case-cell::after{display:none}
.case-archive .case-cell__body{position:relative;left:auto;right:auto;bottom:auto;padding:28px}
.case-archive .case-cell__cat{margin:0 0 10px}
.case-archive .case-cell__title{margin:0 0 10px;font-size:clamp(24px,2.2vw,32px);line-height:1.14}
.case-archive .case-cell__summary{display:block;max-width:44ch}
.case-archive + .banner,.case-archive ~ .section{background:var(--bg)}
.case-archive + .section.cta{padding-top:clamp(60px,8vw,110px)}

.sol-card{aspect-ratio:auto;color:var(--ink)}
.sol-card::after{display:none}
.sol-card__body{position:relative;left:auto;right:auto;bottom:auto;z-index:1;background:var(--surface)}
.sol-card__eye{position:static;top:auto;right:auto;z-index:auto;width:auto;height:auto;border-radius:0;background:none;backdrop-filter:none;display:block;opacity:1;transform:none}
.sol-card__desc{max-height:none;overflow:visible;opacity:1;transition:none}
.sol-card:hover .sol-card__desc{max-height:none;opacity:1;margin-top:0}

@media(max-width:980px){.case-archive__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.case-archive__grid{grid-template-columns:1fr}.case-archive .case-cell{min-height:360px}}
@media(prefers-reduced-motion:reduce){.faq-section + .cta,.faq__list--interactive,.faq__item,.case-archive .case-cell,.sol-card{transition:none!important}}


/* Meridian 1.6.7 section isolation and unified form transitions */
main{overflow:clip}
.section{position:relative;isolation:isolate;background-color:var(--bg)}
.section--alt{background-color:var(--bg-alt)}
.section--dark{background-color:var(--dark)}
.form-section,.contact-form-section{margin-block:clamp(26px,4vw,64px);overflow:hidden;background:var(--bg-alt)}
.form-section::before,.contact-form-section::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(135deg,rgba(61,90,61,.045),transparent 42%,rgba(255,255,255,.42));pointer-events:none}
.form-section::after,.contact-form-section::after{content:"";position:absolute;right:-12vw;top:-18vw;z-index:-1;width:42vw;height:42vw;min-width:360px;min-height:360px;border-radius:50%;background:radial-gradient(circle,rgba(61,90,61,.075),rgba(61,90,61,0) 68%);pointer-events:none}
.form-section .cta__grid,.contact-form-section .contact-grid{position:relative;z-index:1}
.form-section .form-card,.contact-form-section .form-card{background:rgba(255,255,255,.96);border-color:rgba(61,90,61,.14);box-shadow:0 24px 70px rgba(28,32,25,.09)}
.form-section + .section,.contact-form-section + .section{isolation:isolate}
.footer{position:relative;isolation:isolate}
@media(max-width:700px){.form-section,.contact-form-section{margin-block:20px}.form-section::after,.contact-form-section::after{display:none}}


/* Meridian 1.6.9 global quick-contact rail and mobile bottom navigation */
.contact-rail{position:fixed;right:18px;top:50%;z-index:45;display:grid;gap:8px;transform:translateY(-50%)}
.contact-rail__item{position:relative;display:flex;align-items:center;justify-content:flex-end;text-decoration:none;color:var(--brand-ink)}
.contact-rail__icon{position:relative;z-index:2;display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(61,90,61,.18);border-radius:50%;background:rgba(251,250,247,.96);box-shadow:0 10px 28px rgba(28,32,25,.12);transition:background .25s,color .25s,transform .25s,border-color .25s}
.contact-rail__icon svg{width:20px;height:20px}
.contact-rail__label{position:absolute;right:24px;max-width:0;overflow:hidden;white-space:nowrap;padding:12px 25px 12px 16px;border:1px solid var(--line);border-radius:999px 0 0 999px;background:rgba(251,250,247,.98);box-shadow:0 10px 28px rgba(28,32,25,.1);font-size:12px;font-weight:600;opacity:0;transform:translateX(8px);transition:max-width .35s ease,opacity .25s,transform .25s,padding .35s}
.contact-rail__item:hover .contact-rail__icon,.contact-rail__item:focus-visible .contact-rail__icon{background:var(--brand);border-color:var(--brand);color:#fff;transform:translateX(-2px)}
.contact-rail__item:hover .contact-rail__label,.contact-rail__item:focus-visible .contact-rail__label{max-width:320px;opacity:1;transform:translateX(0);padding-right:34px}
.contact-rail__item:focus-visible{outline:none}
.mobile-contact-nav{display:none}

@media(max-width:767px){
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  .contact-rail{display:none}
  .mobile-contact-nav{position:fixed;left:0;right:0;bottom:0;z-index:90;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:7px 8px calc(7px + env(safe-area-inset-bottom));border-top:1px solid rgba(61,90,61,.14);background:rgba(251,250,247,.96);box-shadow:0 -10px 30px rgba(28,32,25,.1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .mobile-contact-nav a{display:grid;place-items:center;gap:3px;min-height:48px;border-radius:8px;color:var(--ink-soft);text-decoration:none;font-size:10px;line-height:1;transition:background .2s,color .2s,transform .2s}
  .mobile-contact-nav a span{display:grid;place-items:center}
  .mobile-contact-nav a svg{width:20px;height:20px}
  .mobile-contact-nav a small{font-size:10px;font-weight:600;letter-spacing:.01em}
  .mobile-contact-nav a:hover,.mobile-contact-nav a:focus-visible{background:rgba(61,90,61,.08);color:var(--brand);outline:none}
  .mobile-contact-nav a:active{transform:scale(.96)}
  .back-to-top{bottom:calc(82px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){.contact-rail__icon,.contact-rail__label,.mobile-contact-nav a{transition:none!important}}


/* Meridian 1.6.10 configurable theme-aware contact and social icons */
.topbar__contact a,.topbar__social a{color:#A9C0A0}
.topbar__contact a:hover,.topbar__social a:hover{color:#fff}
.contact-list a>svg,.contact-social a,.contact-rail__item,.mobile-contact-nav a{color:var(--brand)}
.contact-list a>svg{flex:none}
.contact-social a:hover,.contact-social a:focus-visible{background:var(--brand);border-color:var(--brand);color:#fff}
.footer__social a{color:#A9C0A0}
.footer__social a:hover,.footer__social a:focus-visible{background:var(--brand);border-color:var(--brand);color:#fff}

.footer__contact a{display:flex;align-items:flex-start;gap:9px}
.footer__contact a span{display:grid;place-items:center;flex:none;margin-top:3px;color:#A9C0A0}
.footer__contact a svg{width:16px;height:16px}
.footer__contact a:hover span{color:#fff}


/* Meridian 1.6.12 product-detail rich tabs and SVG-owned colors */
.topbar__contact a,.topbar__social a,.contact-list a>svg,.contact-social a,.contact-rail__item,.mobile-contact-nav a,.footer__social a,.footer__contact a span{color:inherit}
.contact-rail__item:hover .contact-rail__icon,.contact-rail__item:focus-visible .contact-rail__icon{background:rgba(251,250,247,.98);border-color:var(--line);color:inherit}
.contact-social a:hover,.contact-social a:focus-visible,.footer__social a:hover,.footer__social a:focus-visible{color:inherit}

.product-details-btns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}
.product-details-btns .btn{display:flex;align-items:center;justify-content:center;min-height:54px;padding:13px 18px;text-align:center}
.product-details-content{position:relative;isolation:isolate}
.product-details-content .wrap{max-width:1320px}
.product-details-row{margin-bottom:0;border-bottom:1px solid var(--line)}
.product-details-row .ptab{padding:18px 24px}
.product-details-panels{padding-top:clamp(32px,5vw,64px)}
.details-card{display:none}
.details-card.is-active{display:block;animation:fadeIn .35s ease}
.product-detail-richtext{max-width:none}
.product-detail-richtext>h2:first-child,.product-detail-richtext>h3:first-child{margin-top:0}
.product-detail-richtext img{border-radius:10px}
.product-detail-richtext .wp-block-columns{gap:clamp(28px,5vw,72px);align-items:center}
.product-detail-richtext table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line)}
.product-detail-richtext th,.product-detail-richtext td{padding:15px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.product-detail-richtext th{font-weight:700;color:var(--ink);background:var(--bg-alt)}
.product-detail-richtext .wp-block-button__link,.product-detail-richtext a.button,.product-detail-richtext a.download-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:4px;background:var(--brand);color:#fff;text-decoration:none;font-weight:700}
@media(max-width:720px){.product-details-btns{grid-template-columns:1fr}.product-details-row{overflow-x:auto;flex-wrap:nowrap}.product-details-row .ptab{white-space:nowrap;padding-inline:18px}.product-detail-richtext th,.product-detail-richtext td{padding:12px}}

.product-detail-feature-list{display:grid;gap:clamp(44px,7vw,88px)}
.product-detail-feature-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:clamp(32px,6vw,84px);align-items:center}
.product-detail-feature-row.is-reversed>div:first-child{order:2}
.product-detail-feature-row img{width:100%;aspect-ratio:4/3;object-fit:cover}
.product-download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.product-download-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:center;padding:22px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.product-download-card img{width:150px;height:120px;object-fit:cover;border-radius:7px}
.product-download-card h3{margin:0 0 8px}.product-download-card p{margin:0 0 16px;color:var(--ink-soft)}
@media(max-width:760px){.product-detail-feature-row{grid-template-columns:1fr}.product-detail-feature-row.is-reversed>div:first-child{order:0}.product-download-grid{grid-template-columns:1fr}.product-download-card{grid-template-columns:100px 1fr}.product-download-card img{width:100px;height:100px}}


/* Meridian 1.6.13 SVG visibility fix */
.topbar__contact svg,.topbar__social svg,.footer__social svg,.contact-social svg,.contact-list svg,.contact-rail svg,.mobile-contact-nav svg,.article-social svg{display:block;flex:none;overflow:visible}
.contact-list a>svg{width:22px;height:22px;min-width:22px}
.contact-rail__icon svg{width:20px;height:20px}
.mobile-contact-nav svg{width:20px;height:20px}


/* Meridian 1.6.14 Contact layout matched to the standard reference */
.contact-form-section{position:relative;isolation:isolate;background:var(--bg-alt)}
.contact-form-section::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 18% 36%,rgba(255,255,255,.72),transparent 34%),radial-gradient(circle at 78% 30%,rgba(255,255,255,.5),transparent 30%);pointer-events:none}
.contact-form-section .contact-grid{grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:clamp(48px,7vw,96px);align-items:start}
.contact-info-panel{min-width:0;padding-top:4px}
.contact-info-panel>.lead{margin:16px 0 0;max-width:56ch;line-height:1.72}
.contact-info-panel .contact-list{margin:24px 0 0;gap:0;border-bottom:1px solid var(--line)}
.contact-info-panel .contact-list li{margin:0;border-top:1px solid var(--line)}
.contact-info-panel .contact-list a{display:grid;grid-template-columns:24px minmax(0,1fr);gap:16px;align-items:center;padding:17px 4px;color:var(--ink);transition:padding-left .25s ease,color .2s ease}
.contact-info-panel .contact-list a:hover,.contact-info-panel .contact-list a:focus-visible{padding-left:8px;color:var(--ink);outline:none}
.contact-info-panel .contact-list a>svg{width:20px;height:20px;min-width:20px;max-width:20px;color:inherit}
.contact-info-panel .contact-list a>span{display:block;min-width:0}
.contact-info-panel .contact-list small{display:block;margin:0 0 3px;color:var(--ink-soft);font-size:11px;font-weight:500;line-height:1.35;letter-spacing:.075em;text-transform:uppercase}
.contact-info-panel .contact-list b{display:block;color:var(--ink);font-size:14px;font-weight:700;line-height:1.55;overflow-wrap:anywhere}
.contact-info-panel .contact-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.contact-info-panel .contact-social a{width:36px;height:36px;border:1px solid var(--line);border-radius:4px;background:rgba(255,255,255,.25);color:var(--ink-soft);box-shadow:none;transition:background .2s,border-color .2s,transform .2s}
.contact-info-panel .contact-social a:hover,.contact-info-panel .contact-social a:focus-visible{background:var(--surface);border-color:#cfc9bf;color:var(--ink);transform:translateY(-2px);outline:none}
.contact-info-panel .contact-social svg{width:16px;height:16px}
.contact-form-section .form-card{margin:0;min-height:100%;border:1px solid rgba(229,224,216,.82);border-radius:10px;background:var(--surface);box-shadow:0 22px 58px rgba(34,38,31,.075)}
@media(max-width:960px){.contact-form-section .contact-grid{grid-template-columns:1fr}.contact-info-panel{max-width:720px}.contact-form-section .form-card{max-width:none}}
@media(max-width:600px){.contact-form-section .contact-grid{gap:34px}.contact-info-panel .contact-list a{grid-template-columns:22px minmax(0,1fr);gap:13px;padding-block:15px}.contact-info-panel .contact-list a>svg{width:18px;height:18px;min-width:18px}.contact-form-section .form-card{border-radius:8px}}
@media(prefers-reduced-motion:reduce){.contact-info-panel .contact-list a,.contact-info-panel .contact-social a{transition:none!important}}

/* Meridian 1.6.19 source-SVG presentation: sizing and context color only. */
:root{
  --mg-icon-on-dark:#c8cec5;
  --mg-icon-on-light:#566158;
  --mg-icon-on-light-hover:#2f3830;
}
.topbar__contact a,.topbar__social a{color:var(--mg-icon-on-dark)}
.topbar__contact a:hover,.topbar__social a:hover{color:#fff}
.topbar__contact svg{width:13px;height:13px;min-width:13px}
.topbar__social svg{width:14px;height:14px}
.contact-info-panel .contact-list a{grid-template-columns:20px minmax(0,1fr);gap:14px}
.contact-info-panel .contact-list a>svg{width:18px;height:18px;min-width:18px;max-width:18px;color:var(--mg-icon-on-light)}
.contact-info-panel .contact-social a{color:var(--mg-icon-on-light)}
.contact-info-panel .contact-social svg{width:15px;height:15px}
.contact-info-panel .contact-social a:hover,.contact-info-panel .contact-social a:focus-visible{color:var(--mg-icon-on-light-hover)}
.contact-rail__icon{color:var(--mg-icon-on-light)}
.contact-rail__icon svg{width:18px;height:18px}
.contact-rail__item:hover .contact-rail__icon,.contact-rail__item:focus-visible .contact-rail__icon{color:var(--mg-icon-on-light-hover)}
.article-social a{color:var(--mg-icon-on-light)}
.mobile-contact-nav a{color:#5f665f}
@media(max-width:600px){
  .contact-info-panel .contact-list a{grid-template-columns:18px minmax(0,1fr);gap:12px}
  .contact-info-panel .contact-list a>svg{width:17px;height:17px;min-width:17px;max-width:17px}
}

/* Meridian 1.6.17 compact mobile rhythm and overflow fixes */
@media(max-width:767px){
  :root{
    --section-y:56px;
    --gutter:20px;
    --fs-h2:clamp(29px,8.8vw,38px);
  }
  html,body{max-width:100%;overflow-x:hidden}
  .section{padding-block:56px}
  .section>.wrap,.archive-first>.wrap{padding-block:0}
  .sec-head{margin-bottom:30px}
  .sec-head--split{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}
  .sec-head--split .link{font-size:13px;line-height:1.45;text-align:right;max-width:76px}
  .eyebrow{margin-bottom:10px;font-size:11px}
  .lead{font-size:15px;line-height:1.7}

  .hero{min-height:560px}
  .hero__inner{width:auto;max-width:none;padding:72px 20px 112px}
  .hero__title{font-size:clamp(38px,11vw,50px)}
  .hero__desc{margin-bottom:26px}
  .hero__controls{bottom:20px}

  .trust__inner{padding-block:30px;gap:22px 16px}
  .trust__num{font-size:30px}

  #products .sec-head{margin-bottom:24px}
  #products .cat-tabs{margin:0 0 18px;gap:7px}
  #products .cat-tab{padding:8px 11px;font-size:12px}
  .carousel{position:relative;min-width:0}
  .carousel__nav{position:static;display:flex;justify-content:flex-end;gap:8px;margin:0 0 14px}
  .carousel__btn{width:40px;height:40px}
  .carousel__track{grid-auto-columns:100%;gap:14px;scroll-padding-inline:0;padding-bottom:2px}
  .carousel__item{min-width:0}
  .carousel__item .card{width:100%}

  #service{padding-block:56px}
  #service .sec-head{margin-bottom:28px}
  .service__grid{gap:16px}
  .service__item--visual{min-height:0}
  .service__media{aspect-ratio:16/9}
  .service__content{padding:0 22px 24px}
  .service__item--visual .service__ic{margin-top:-24px;margin-bottom:16px}
  .service__name{font-size:21px}
  .service__desc{margin-bottom:16px}

  #case{padding-block:56px}
  #case .sec-head{margin-bottom:32px}
  .case-row{margin-bottom:48px;gap:20px}
  .case-row:last-child{margin-bottom:0}
  .case-row__media{aspect-ratio:16/10}
  .case-row .h2{font-size:28px!important}

  .solution-visual-grid{gap:16px}
  .solution-visual-card{min-height:0}
  .solution-visual-card__body{padding:22px}
  .solution-visual-card__body .sol-desc{margin-bottom:16px}

  .about{gap:28px}
  .about__media{aspect-ratio:16/11}
  .about__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}

  .grid-3,.grid-4,.grid-2{gap:16px}
  .cta,.form-section,.contact-form-section{padding-block:56px;margin-block:0}
  .cta__grid{gap:30px}
  .form-card{padding:22px 18px}

  .footer{margin-top:0}
  .back-to-top{bottom:calc(78px + env(safe-area-inset-bottom))}
  .mobile-contact-nav{padding-top:5px}
  .mobile-contact-nav a{min-height:46px}
}
@media(max-width:480px){
  .section{padding-block:48px}
  #service,#case,.cta,.form-section,.contact-form-section{padding-block:48px}
  .sec-head--split{grid-template-columns:1fr}
  .sec-head--split .link{text-align:left;max-width:none}
  .carousel__track{grid-auto-columns:100%}
  .hero{min-height:520px}
  .hero__inner{padding-top:60px}
  .case-row{margin-bottom:40px}
}


/* Meridian 1.6.18 fixed mobile header, refined desktop dropdowns and source SVG restoration */
@media (max-width:860px){
  .header{position:fixed;left:0;right:0;top:var(--admin-bar-offset);z-index:95;width:100%;transform:translateZ(0)}
  body{padding-top:68px}
  body.admin-bar{padding-top:68px}
  .mobile-panel{top:var(--admin-bar-offset)}
}
@media (min-width:861px){
  .header{position:sticky;top:var(--admin-bar-offset);z-index:95}
  .nav{overflow:visible;transition:background .28s ease,box-shadow .28s ease,border-color .28s ease}
  .nav__menu>li>a{transition:color .22s ease}
  .drop,.mega{display:block;pointer-events:none;opacity:0;visibility:hidden;transform:translateY(14px) scale(.985);transform-origin:top center;transition:opacity .22s ease,transform .3s cubic-bezier(.2,.7,.2,1),visibility 0s linear .3s;will-change:opacity,transform}
  .has-drop:hover>.drop,.has-drop:focus-within>.drop,.has-mega:hover>.mega,.has-mega:focus-within>.mega{pointer-events:auto;opacity:1;visibility:visible;transform:translateY(0) scale(1);transition-delay:0s}
  .has-drop:hover .drop-ic,.has-drop:focus-within .drop-ic,.has-mega:hover .drop-ic,.has-mega:focus-within .drop-ic{transform:rotate(180deg)}
  .drop{padding:10px;border-top:2px solid var(--brand);border-radius:0 0 10px 10px;box-shadow:0 22px 52px rgba(24,29,23,.13)}
  .drop a{transform:translateY(3px);opacity:.88;transition:background .2s,color .2s,transform .2s,opacity .2s}
  .drop a:hover,.drop a:focus-visible{transform:none;opacity:1}
  .mega{border-top:2px solid var(--brand);box-shadow:0 26px 64px rgba(24,29,23,.14)}
  .mega__inner{padding-top:34px;padding-bottom:38px}
  .mega__cats>a,.mega__subs a{transition:background .2s,color .2s,padding-left .2s,transform .2s}
  .mega__cats>a:hover,.mega__cats>a:focus-visible{transform:translateX(3px)}
  .mega__visual img{transition:opacity .42s ease,transform .65s cubic-bezier(.2,.6,.2,1)}
  .mega__visual:hover img.is-shown{transform:scale(1.035)}
}
/* Source SVGs keep their own fill/stroke definitions; containers only set currentColor and size. */
.related-content-section .sec-head{margin-bottom:34px}
.related-content-grid>*{height:100%}
@media(max-width:640px){.related-content-grid{grid-template-columns:1fr}}


/* Meridian 1.6.19 Contact seams and SVG cascade correction */
.contact-form-section{
  margin-block:0!important;
  border:0;
  overflow:hidden;
  background:var(--bg-alt);
  box-shadow:inset 0 1px 0 rgba(229,224,216,.48),inset 0 -1px 0 rgba(229,224,216,.38);
}
.contact-form-section + .map-section--full{margin-top:0}
.contact-form-section::before{inset:0}
/* Do not set fill or stroke on shared SVG roots or descendants here. ACF/source SVG attributes are authoritative. */
.topbar__contact svg,.topbar__social svg,
.contact-info-panel .contact-list svg,.contact-info-panel .contact-social svg,
.contact-rail svg,.mobile-contact-nav svg,.article-social svg{
  display:block;
  flex:none;
  overflow:visible;
}
@media(max-width:767px){
  .contact-form-section{margin-block:0!important;padding-block:48px}
  .contact-form-section .contact-grid{gap:30px}
}


/* Meridian 1.6.20 full-screen home hero and refined carousel controls */
.home .hero{
  width:100%;
  min-height:calc(100svh - 114px);
  min-height:calc(100dvh - 114px);
}
.home .hero__frame{background-position:center center}
.home .hero__controls{
  right:max(var(--gutter),calc((100vw - 1440px)/2));
  bottom:30px;
  gap:8px;
  padding:7px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  background:rgba(18,23,18,.38);
  box-shadow:0 12px 34px rgba(0,0,0,.2);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.home .hero__status{display:flex;align-items:center;gap:12px;padding-inline:8px}
.home .hero__count{display:flex;align-items:center;gap:5px;min-width:54px;color:rgba(255,255,255,.6);font-size:10px;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.home .hero__count [data-hero-current]{color:#fff;font-weight:700}
.home .hero__dots{gap:5px}
.home .hero__dot{width:30px;height:32px;padding:0 4px;border-radius:999px;background:transparent}
.home .hero__dot span{height:2px;border-radius:999px;background:rgba(255,255,255,.28);transform:none}
.home .hero__dot:hover span,.home .hero__dot:focus-visible span{height:2px;background:rgba(255,255,255,.75);transform:none}
.home .hero__dot.is-active span{height:2px;background:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.home .hero__arrow{width:38px;height:38px;background:transparent;border-color:rgba(255,255,255,.2);box-shadow:none}
.home .hero__arrow:hover,.home .hero__arrow:focus-visible{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.62);color:#fff;transform:none}
.home .hero__arrow svg{width:16px;height:16px}
@media(max-width:860px){
  .home .hero{min-height:calc(100svh - 68px);min-height:calc(100dvh - 68px)}
  .home .hero__controls{left:50%;right:auto;bottom:18px;transform:translateX(-50%);max-width:calc(100% - 28px)}
}
@media(max-width:520px){
  .home .hero{min-height:calc(100svh - 68px);min-height:calc(100dvh - 68px)}
  .home .hero__inner{padding-bottom:132px}
  .home .hero__status{gap:6px;padding-inline:4px}
  .home .hero__count{display:none}
  .home .hero__dot{width:24px}
  .home .hero__arrow{width:36px;height:36px}
}


/* Meridian 1.6.21 stable desktop mega-menu interaction */
@media (min-width:861px){
  .header,.nav,.nav__inner,.desktop-nav,.nav__menu{overflow:visible}
  .has-mega{position:static}
  .has-mega>.mega{
    top:calc(100% - 2px);
    z-index:120;
    transform:translateY(8px) scale(.992);
  }
  .has-mega:hover>.mega,
  .has-mega:focus-within>.mega,
  .has-mega.is-open>.mega{
    pointer-events:auto;
    opacity:1;
    visibility:visible;
    transform:translateY(0) scale(1);
    transition-delay:0s;
  }
  .has-mega.is-open .drop-ic{transform:rotate(180deg)}
  .has-mega>.mega::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-14px;
    height:16px;
    background:transparent;
  }
  .mega__inner{position:relative;z-index:1}
}
@media (prefers-reduced-motion:reduce){
  .has-mega>.mega{transition:none!important}
}


/* Meridian 1.6.23 mobile-specific imagery and independent home content sections */
.home-section{position:relative;isolation:isolate;overflow:hidden}
.home-section__head{align-items:flex-end}
.home-section__head .lead{margin:18px 0 0;max-width:62ch}
.home-section--services{background:#22261f}
.home-section--services::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 88% 12%,rgba(169,192,160,.12),transparent 32%);pointer-events:none}
.home-section--cases{background:var(--bg-alt)}
.home-section--cases::before{content:"";position:absolute;left:-12vw;top:12%;width:30vw;height:30vw;border-radius:50%;background:rgba(61,90,61,.045);pointer-events:none}
.home-section--solutions{background:var(--surface)}
.home-section--solutions::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:var(--line)}
@media(max-width:767px){
  .hero__frame{background-image:var(--hero-mobile-image)!important;background-position:center center}
  .banner__bg picture,.banner__bg img{width:100%;height:100%}
  .banner__bg img{object-fit:cover;object-position:center}
  .home-section__head{display:block}
  .home-section__head>.link{display:inline-block;margin-top:20px}
}


/* Meridian 1.6.24 proportion-based mobile hero and banner media */
@media(max-width:767px){
  .home .hero{
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:4/5;
    max-height:680px;
    background:#20251f;
  }
  .home .hero__frames,.home .hero__frame{inset:0}
  .home .hero__frame{
    background-image:var(--hero-mobile-image)!important;
    background-size:contain;
    background-repeat:no-repeat;
    background-position:center center;
    transform:none;
  }
  .home .hero__frame.is-active{animation:none}
  .home .hero__mask{background:linear-gradient(180deg,rgba(18,22,18,.08) 0%,rgba(18,22,18,.22) 42%,rgba(18,22,18,.82) 100%)}
  .home .hero__inner{padding:clamp(26px,7vw,38px) 20px 92px;align-self:flex-end;max-width:100%}
  .home .hero__title{font-size:clamp(34px,9.5vw,46px);line-height:1.02;max-width:10ch;margin-bottom:16px}
  .home .hero__desc{font-size:14px;line-height:1.55;margin-bottom:22px;max-width:34ch}
  .home .hero__actions{gap:10px}
  .home .hero__actions .btn{padding:12px 18px;font-size:13px}
  .home .hero__controls{bottom:14px}
  .home .hero__scroll{display:none}

  .banner{
    width:100%;
    min-height:0;
    height:auto;
    aspect-ratio:5/3;
    max-height:360px;
    background:#252a23;
  }
  .banner__bg picture,.banner__bg img{width:100%;height:100%}
  .banner__bg img{object-fit:contain;object-position:center center}
  .banner__mask{background:linear-gradient(90deg,rgba(20,22,17,.72),rgba(20,22,17,.3) 70%,rgba(20,22,17,.1))}
  .banner__inner{padding-block:28px}
  .banner__tit{font-size:clamp(30px,8vw,40px);margin-bottom:10px}
  .banner__desc{font-size:14px;line-height:1.55;max-width:34ch}
}
@media(max-width:420px){
  .home .hero{max-height:620px}
  .banner{max-height:330px}
}
