/* ===================================================================
   Unity Manufacture — site chrome (shared header + footer)
   Loaded on EVERY page. All classes / CSS vars are namespaced `um-`
   so nothing here can leak into Astra, Spectra/UAG or page-level CSS.
   Visual values are copied 1:1 from the approved homepage design.
   =================================================================== */

/* ---------- self-hosted fonts ---------- */
@font-face{font-family:"Manrope";font-style:normal;font-weight:600;font-display:swap;src:url(/wp-content/uploads/2026/09/um-home/fonts/manrope-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Manrope";font-style:normal;font-weight:600;font-display:swap;src:url(/wp-content/uploads/2026/09/um-home/fonts/manrope-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Manrope";font-style:normal;font-weight:700;font-display:swap;src:url(/wp-content/uploads/2026/09/um-home/fonts/manrope-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Manrope";font-style:normal;font-weight:700;font-display:swap;src:url(/wp-content/uploads/2026/09/um-home/fonts/manrope-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(/wp-content/uploads/2026/09/um-home/fonts/sourcesans3-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(/wp-content/uploads/2026/09/um-home/fonts/sourcesans3-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(/wp-content/uploads/2026/09/um-home/fonts/sourcesans3-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(/wp-content/uploads/2026/09/um-home/fonts/sourcesans3-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* ---------- tokens ---------- */
:root{
  --um-ink:#0A0E13; --um-ink-3:#141C25;
  --um-line-d:rgba(255,255,255,.09); --um-line-d2:rgba(255,255,255,.18);
  --um-steel:#8B97A5; --um-steel-2:#A7B1BC;
  --um-line-l:rgba(10,14,19,.10); --um-txt:#10151B; --um-body:#46515D;
  --um-orange:#FF4800; --um-orange-2:#E03D00;
  --um-font-d:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --um-font-b:'Source Sans 3','Segoe UI',system-ui,-apple-system,sans-serif;
  --um-radius:4px; --um-maxw:1200px; --um-headh:76px;
}
@media (min-width:1600px){:root{--um-maxw:1360px}}

/* ---------- Astra header / footer are replaced by this chrome ---------- */
#masthead,
header.site-header,
.ast-mobile-header-wrap,
.ast-above-header,
.ast-below-header,
footer#colophon,
footer.site-footer,
.ast-mobile-popup-drawer{display:none !important}

/* offset so page content clears the fixed header */
body.um-chrome{padding-top:var(--um-headh)}
body.page-id-3160.um-chrome{padding-top:0}
html{scroll-padding-top:calc(var(--um-headh) + 14px)}

/* ---------- scoped reset (chrome only — safe for the rest of the site) ---------- */
.um-head,.um-foot,.um-mmenu{font-family:var(--um-font-b);font-size:16px;line-height:1.65;color:var(--um-body);-webkit-font-smoothing:antialiased;text-align:left}
.um-head *,.um-head *::before,.um-head *::after,
.um-foot *,.um-foot *::before,.um-foot *::after,
.um-mmenu *,.um-mmenu *::before,.um-mmenu *::after{box-sizing:border-box}
.um-head ul,.um-foot ul,.um-mmenu ul{list-style:none;margin:0;padding:0}
/* :where() keeps these resets at ZERO specificity so component colours
   (.um-btn, .um-mlink, .um-mtog …) always win over the reset. */
:where(.um-head,.um-foot,.um-mmenu) a{text-decoration:none;color:inherit;box-shadow:none}
.um-head p,.um-foot p,.um-mmenu p{margin:0}
.um-head img,.um-foot img{display:block;max-width:100%}
:where(.um-head,.um-mmenu) button{font:inherit;cursor:pointer;border:0;background:none;color:inherit;padding:0;box-shadow:none}
.um-head svg,.um-foot svg,.um-mmenu svg{display:inline-block}
.um-wrap{width:100%;max-width:var(--um-maxw);margin:0 auto;padding:0 24px}

/* ---------- buttons ---------- */
.um-btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--um-font-d);font-size:15px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:15px 30px;border-radius:var(--um-radius);background:var(--um-orange);color:#fff;border:1px solid transparent;transition:background .25s,color .25s;white-space:nowrap}
.um-btn svg{width:15px;height:15px;transition:transform .25s}
.um-btn:hover{background:var(--um-orange-2);color:#fff}
.um-btn:hover svg{transform:translateX(4px)}
.um-nav .um-btn{padding:11px 22px;font-size:14px;align-self:center}

/* ===================================================================
   HEADER
   =================================================================== */
.um-head{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--um-line-l);transition:box-shadow .3s}
.um-head.scrolled{box-shadow:0 8px 30px rgba(10,14,19,.10)}
body.admin-bar .um-head{top:32px}
@media (max-width:782px){body.admin-bar .um-head{top:46px}}
.um-head-inner{display:flex;align-items:center;justify-content:space-between;height:var(--um-headh)}
.um-brand{display:flex;align-items:center;flex:none}
.um-brand img{height:46px;width:auto}
.um-nav{display:flex;align-items:stretch;gap:34px;height:var(--um-headh)}
.um-nav-links{display:flex;align-items:stretch;gap:30px}
.um-nav-links > li{display:flex;align-items:center}
.um-nav-links > li > a{display:inline-flex;align-items:center;gap:6px;font-family:var(--um-font-d);font-size:15px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--um-txt);position:relative;padding:6px 0;transition:color .25s}
.um-nav-links > li > a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--um-orange);transition:width .25s}
.um-nav-links > li > a:hover{color:var(--um-orange-2)}
.um-nav-links > li > a:hover::after,
.um-nav-links > li.is-current > a::after{width:100%}
.um-nav-links > li.is-current > a{color:var(--um-orange-2)}
.um-caret{width:11px;height:11px;opacity:.55;transition:transform .25s,opacity .25s}
.um-item:hover > a .um-caret,
.um-item:focus-within > a .um-caret{transform:rotate(180deg);opacity:1}

/* mega dropdown — full-width panel anchored to the header bottom */
.um-drop{position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid var(--um-line-l);box-shadow:0 30px 60px rgba(10,14,19,.13);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .22s ease,transform .22s ease,visibility .22s;z-index:5}
.um-item:hover > .um-drop,
.um-item:focus-within > .um-drop{opacity:1;visibility:visible;transform:none}
.um-drop-in{width:100%;max-width:var(--um-maxw);margin:0 auto;padding:34px 24px 40px;display:grid;grid-template-columns:repeat(var(--um-cols,3),minmax(0,1fr));gap:34px 40px}
.um-drop-flat{grid-template-columns:minmax(0,300px)}
.um-col-h{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--um-font-d);font-size:13.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--um-txt);padding-bottom:11px;border-bottom:1px solid var(--um-line-l);margin-bottom:14px;transition:color .25s}
.um-col-h svg{width:13px;height:13px;color:var(--um-orange);flex:none;transition:transform .25s}
.um-col-h:hover{color:var(--um-orange-2)}
.um-col-h:hover svg{transform:translateX(3px)}
.um-col-l a{display:block;font-size:14.5px;color:var(--um-body);padding:6px 0;transition:color .2s,transform .2s}
.um-col-l a:hover{color:var(--um-orange-2);transform:translateX(3px)}
.um-col-l-lg a{font-size:15px;padding:9px 0}
.um-col-l-lg li + li{border-top:1px solid var(--um-line-l)}
.um-burger{display:none;width:44px;height:44px;position:relative;flex:none;align-self:center;background:none;border:0;border-radius:0;box-shadow:none;-webkit-appearance:none;appearance:none;padding:0;line-height:0}
.um-burger span{position:absolute;left:10px;right:10px;height:2px;background:var(--um-txt);transition:transform .3s,opacity .3s}
.um-burger span:nth-child(1){top:16px}
.um-burger span:nth-child(2){top:22px}
.um-burger span:nth-child(3){top:28px}
.um-burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.um-burger.open span:nth-child(2){opacity:0}
.um-burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
/* Astra styles `button:hover/:focus` with its own accent — neutralise it here */
.um-burger:hover,.um-burger:focus,.um-burger:active,
.um-mtog:hover,.um-mtog:focus,.um-mtog:active{background:none;background-color:transparent;box-shadow:none;border:0}
.um-burger:focus-visible,.um-mtog:focus-visible,.um-btn:focus-visible,.um-nav-links a:focus-visible,.um-foot a:focus-visible{outline:2px solid var(--um-orange);outline-offset:3px}

/* ---------- mobile / tablet menu ---------- */
.um-mmenu{position:fixed;inset:0;background:var(--um-ink);z-index:990;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:calc(var(--um-headh) + 16px) 28px 44px;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.um-mmenu.open{opacity:1;visibility:visible}
.um-mrow{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--um-line-d)}
.um-mlink{flex:1;font-family:var(--um-font-d);font-size:24px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#fff;padding:14px 0;transition:color .25s}
.um-mlink:hover{color:var(--um-orange)}
.um-mtog{width:44px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;background:none;border:0;border-radius:0;box-shadow:none;-webkit-appearance:none;appearance:none;padding:0;line-height:0}
.um-mtog svg{width:18px;height:18px;transition:transform .3s}
.um-mgroup.open .um-mtog svg{transform:rotate(180deg)}
.um-mpanel{display:none;padding:2px 0 18px}
.um-mgroup.open .um-mpanel{display:block}
.um-ml2{display:block;font-family:var(--um-font-d);font-size:15px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#fff;padding:11px 0 4px}
.um-ml2:hover{color:var(--um-orange)}
.um-ml3{display:block;font-size:14.5px;color:var(--um-steel-2);padding:5px 0 5px 14px}
.um-ml3:hover{color:var(--um-orange)}
.um-mmenu-cta{margin-top:34px;display:flex;justify-content:center}
.um-mmenu-cta .um-btn{width:100%;justify-content:center}

/* ===================================================================
   FOOTER
   =================================================================== */
.um-foot{background:var(--um-ink);color:var(--um-steel-2);border-top:1px solid var(--um-line-d)}
.um-foot-main{display:grid;grid-template-columns:1.35fr 1fr 1fr 1.2fr;gap:48px;padding:76px 0 56px}
.um-foot-brand .um-brand{background:#fff;border-radius:8px;padding:10px 12px;width:fit-content}
.um-foot-brand .um-brand img{height:34px}
.um-foot-brand p{font-size:14.5px;margin-top:20px;max-width:300px;line-height:1.75}
.um-foot-col h4{color:#fff;font-family:var(--um-font-d);font-size:15px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0 0 20px}
.um-foot-col li{margin-bottom:11px}
.um-foot-col a{font-size:14.5px;color:var(--um-steel-2);transition:color .25s}
.um-foot-col a:hover{color:var(--um-orange)}
.um-foot-contact li{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;font-size:14.5px;line-height:1.55}
.um-foot-contact svg{width:16px;height:16px;flex:none;color:var(--um-orange);margin-top:3px}
.um-foot-contact a:hover{color:var(--um-orange)}
.um-foot-bottom{border-top:1px solid var(--um-line-d);padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13.5px}
.um-foot-bottom a{color:var(--um-steel-2)}
.um-foot-bottom a:hover{color:var(--um-orange)}

/* back-to-top */
.um-top{position:fixed;right:24px;bottom:24px;width:46px;height:46px;background:var(--um-orange);color:#fff;display:flex;align-items:center;justify-content:center;border-radius:var(--um-radius);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s,background .25s;z-index:900;padding:0;border:0;cursor:pointer}
.um-top.show{opacity:1;visibility:visible}
.um-top:hover{background:var(--um-orange-2)}
.um-top svg{width:18px;height:18px;display:block}

/* ===================================================================
   Responsive
   =================================================================== */
@media (max-width:1180px){
  .um-nav{gap:22px}
  .um-nav-links{gap:20px}
  .um-nav-links > li > a{font-size:14px}
}
@media (max-width:1024px){
  .um-foot-main{grid-template-columns:1fr 1fr;gap:40px}
}
@media (max-width:980px){
  :root{--um-headh:64px}
  .um-nav-links{display:none}
  .um-nav .um-btn{display:none}
  .um-burger{display:block}
  .um-brand img{height:40px}
}
@media (max-width:860px){
  .um-foot-main{padding:64px 0 48px}
}
@media (max-width:560px){
  .um-foot-main{grid-template-columns:1fr;gap:34px;padding:56px 0 40px}
  .um-foot-bottom{justify-content:flex-start}
  .um-mlink{font-size:21px}
  .um-top{right:16px;bottom:16px;width:42px;height:42px}
}
@media (prefers-reduced-motion:reduce){
  .um-head,.um-head *,.um-foot,.um-foot *,.um-mmenu,.um-mmenu *{transition:none!important;animation:none!important}
}
