*{box-sizing:border-box}
html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}
body{margin:0;max-width:100%;overflow-x:hidden;background:var(--zc-white);color:var(--zc-black);font-family:var(--zc-font);font-size:18px;line-height:1.58;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.zc-menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
main{display:block}
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.zc-skip-link{position:fixed;left:16px;top:-80px;z-index:200;background:#fff;color:#000;padding:12px 16px;border:1px solid #000}
.zc-skip-link:focus{top:16px}
.zc-shell,.zcx-wrap,.zc-footer-wrap{width:min(calc(100% - (var(--zc-pad)*2)),var(--zc-content));margin-inline:auto}
.zc-site-main{min-height:55vh}
.zc-site-main>*,.zc-page-content,.zc-archive,.zc-article-body{position:relative}

/* Elementor reset for ZMZ managed content only */
.zc-managed-container,.zc-managed-container>.e-con-inner,
.elementor-widget-zc-hero,.elementor-widget-zc-intent-grid,.elementor-widget-zc-editorial-list,
.elementor-widget-zc-market-bridge,.elementor-widget-zc-statement,.elementor-widget-zc-services,
.elementor-widget-zc-mandates,.elementor-widget-zc-industries,.elementor-widget-zc-process,
.elementor-widget-zc-insights,.elementor-widget-zc-wpforms,.elementor-widget-zc-closing-cta,
.elementor-widget-zc-hero>.elementor-widget-container,.elementor-widget-zc-intent-grid>.elementor-widget-container,
.elementor-widget-zc-editorial-list>.elementor-widget-container,.elementor-widget-zc-market-bridge>.elementor-widget-container,
.elementor-widget-zc-statement>.elementor-widget-container,.elementor-widget-zc-services>.elementor-widget-container,
.elementor-widget-zc-mandates>.elementor-widget-container,.elementor-widget-zc-industries>.elementor-widget-container,
.elementor-widget-zc-process>.elementor-widget-container,.elementor-widget-zc-insights>.elementor-widget-container,
.elementor-widget-zc-wpforms>.elementor-widget-container,.elementor-widget-zc-closing-cta>.elementor-widget-container{
  margin:0!important;padding:0!important;min-height:0!important;height:auto!important;overflow:visible!important;transform:none!important;clip-path:none!important;mask:none!important;opacity:1!important
}
.zc-managed-container{width:100%!important;max-width:none!important;gap:0!important}

/* Stable header in normal document flow, sticky without covering content */
.zc-site-header{position:sticky;top:0;z-index:50;height:var(--zc-header);background:#fff;color:#000;border-top:1px solid #000;border-bottom:1px solid var(--zc-line)}
.zc-front-page .zc-site-header:not(.zc-scrolled){background:#000;color:#fff;border-color:#202020}
.zc-header-inner{height:100%;width:min(calc(100% - (var(--zc-pad)*2)),var(--zc-content));margin-inline:auto;display:flex;align-items:center;gap:28px}
.zc-logo-link{display:flex;align-items:center;flex:0 0 auto}
.zc-brand{display:inline-flex;align-items:center}
.zc-brand-image{width:auto;max-width:220px;max-height:42px;object-fit:contain}
.zc-front-page .zc-site-header:not(.zc-scrolled) .zc-brand-image{filter:invert(1) grayscale(1)}
.zc-site-header.zc-scrolled .zc-brand-image,body:not(.zc-front-page) .zc-site-header .zc-brand-image{filter:none}
.zc-brand-text{font-size:31px;line-height:1;letter-spacing:-.045em}
.zc-brand-text strong{font-weight:400;margin-left:8px}
.zc-desktop-nav{margin-left:auto}
.zc-menu{display:flex;align-items:center;gap:clamp(15px,1.7vw,30px);list-style:none;margin:0;padding:0}
.zc-menu li{position:relative}
.zc-menu a{display:block;font-size:13px;line-height:1.2;font-weight:650;white-space:nowrap}
.zc-menu .sub-menu{display:none;position:absolute;top:calc(100% + 18px);left:-16px;min-width:230px;margin:0;padding:10px;list-style:none;background:#fff;color:#000;border:1px solid var(--zc-line)}
.zc-menu li:hover>.sub-menu,.zc-menu li:focus-within>.sub-menu{display:block}
.zc-menu .sub-menu a{padding:9px}
.zc-header-cta{flex:0 0 auto;font-size:12px;line-height:1.2;letter-spacing:.07em;font-weight:750;white-space:nowrap;border-bottom:1px solid currentColor;padding:8px 0}
.zc-menu-toggle{display:none;width:48px;height:48px;padding:11px;border:0;background:transparent;color:inherit;cursor:pointer}
.zc-menu-toggle span:not(.screen-reader-text){display:block;height:1px;background:currentColor;margin:7px 0}

/* The mobile panel is truly absent from layout when closed. */
.zc-mobile-menu{display:none;position:fixed;z-index:100;inset:0;background:#000;color:#fff;visibility:hidden;opacity:0;pointer-events:none}
.zc-mobile-menu[aria-hidden="false"]{display:block;visibility:visible;opacity:1;pointer-events:auto}
.zc-mobile-menu-inner{height:100%;min-height:100%;overflow:auto;padding:28px var(--zc-pad) 42px;display:flex;flex-direction:column}
.zc-mobile-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid #404040}
.zc-mobile-label{font-size:12px;letter-spacing:.16em;font-weight:700}
.zc-menu-close{border:0;background:transparent;color:#fff;font-size:40px;line-height:1;cursor:pointer}
.zc-mobile-links{list-style:none;margin:34px 0 28px;padding:0}
.zc-mobile-links>li>a{display:block;padding:14px 0;border-bottom:1px solid #404040;font-size:clamp(34px,8vw,56px);line-height:1.02;letter-spacing:-.045em}
.zc-mobile-links .sub-menu{list-style:none;margin:0;padding:8px 0 0 18px}
.zc-mobile-links .sub-menu a{display:block;padding:9px 0;color:#bdbdbd}
.zc-mobile-cta{margin-top:auto;padding-top:22px;border-top:1px solid #404040;font-size:13px;letter-spacing:.06em;font-weight:750}

/* Generic page structure */
.zc-page-hero{background:#000;color:#fff;padding:clamp(90px,10vw,150px) 0 clamp(72px,8vw,120px);border-bottom:1px solid #202020}
.zc-page-hero h1{margin:0;max-width:1120px;font-size:clamp(54px,7.2vw,110px);line-height:.94;letter-spacing:-.06em;font-weight:700;text-transform:uppercase;overflow:visible}
.zc-archive-desc{max-width:800px;margin-top:32px;color:#cfcfcf}.zc-archive-desc p{font-size:20px;line-height:1.55}
.zc-archive{padding:clamp(72px,8vw,120px) 0 clamp(100px,11vw,160px)}
.zc-page-content:not(.zc-elementor-page){width:min(calc(100% - (var(--zc-pad)*2)),980px);margin:0 auto;padding:72px 0 120px}
.zc-page-content:not(.zc-elementor-page)>*{max-width:800px}
.zc-page-content h2,.zc-prose h2{font-size:clamp(34px,4.2vw,58px);line-height:1;letter-spacing:-.045em;margin:64px 0 24px}
.zc-page-content h3,.zc-prose h3{font-size:clamp(25px,2.8vw,38px);line-height:1.08;letter-spacing:-.025em;margin:48px 0 18px}
.zc-page-content p,.zc-prose p,.zc-prose li{font-size:clamp(17px,1.4vw,20px);line-height:1.7}
.zc-page-content ul,.zc-prose ul{padding-left:1.2em}

/* Article */
.zc-article-hero{background:#000;color:#fff;padding:clamp(90px,10vw,150px) 0 72px}
.zc-article-hero-grid{width:min(calc(100% - (var(--zc-pad)*2)),var(--zc-content));margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:64px;align-items:end}
.zc-article-hero h1{margin:0;font-size:clamp(48px,7.2vw,106px);line-height:.94;letter-spacing:-.055em;text-transform:uppercase}
.zc-article-meta{display:flex;flex-direction:column;gap:10px;font-size:12px;letter-spacing:.09em;border-top:1px solid #404040;padding-top:18px}
.zc-article-image{margin-top:56px}
.zc-article-body{width:min(calc(100% - (var(--zc-pad)*2)),var(--zc-article));margin-inline:auto;padding:70px 0 110px}
.zc-prose{width:100%;margin:auto}
.zc-prose>p:first-child{font-size:clamp(21px,2vw,27px);line-height:1.5}
.zc-prose hr{border:0;border-top:1px solid #d8d8d8;margin:54px 0}
.zc-article-cta{background:var(--zc-soft);padding:80px 0}.zc-article-cta h2{font-size:clamp(38px,5.6vw,80px);line-height:.98;letter-spacing:-.05em;max-width:1050px;margin:0 0 34px;text-transform:uppercase}

/* Footer */
.zc-site-footer{background:#000;color:#fff;padding:clamp(80px,9vw,130px) 0 28px}
.zc-footer-brand{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-bottom:58px;border-bottom:1px solid #404040}
.zc-footer-brand .zc-brand-image{filter:invert(1) grayscale(1);max-width:280px;max-height:54px}
.zc-footer-brand p{margin:0;max-width:600px;font-size:clamp(20px,2vw,29px);line-height:1.25;letter-spacing:-.02em}
.zc-footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:44px;padding:58px 0}
.zc-footer-grid h2{margin:0 0 18px;font-size:11px;letter-spacing:.16em;color:#8f8f8f}.zc-footer-grid a{display:block;padding:5px 0;font-size:15px;color:#e9e9e9}
.zc-footer-bottom{display:flex;justify-content:space-between;gap:24px;padding-top:24px;border-top:1px solid #404040;font-size:12px;letter-spacing:.12em}

/* Search + 404 */
.zc-search-form{display:flex;max-width:760px;margin-top:40px;border-bottom:1px solid currentColor}.zc-search-form input{flex:1;background:transparent;border:0;color:inherit;padding:16px 0;outline:none}.zc-search-form button{border:0;background:none;color:inherit;font-size:12px;font-weight:700;cursor:pointer}
.zc-error{background:#000;color:#fff;min-height:calc(100svh - var(--zc-header));padding:clamp(90px,12vw,170px) 0 100px}.zc-error h1{font-size:clamp(62px,9vw,136px);line-height:.92;letter-spacing:-.065em;margin:0 0 36px}.zc-error p{font-size:20px;max-width:560px}

/* focus */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:4px}
