/* Site-wide layout: one content width shared by the header, every section and the footer. */
:root{--site-width:1240px;--site-gutter:24px}
@media (max-width:640px){:root{--site-gutter:20px}}

.site-header .header-navbar>.container-fluid,
.header-mobilebar>.container{width:min(var(--site-width),calc(100% - var(--site-gutter)*2));max-width:none;padding-left:0;padding-right:0;margin-left:auto;margin-right:auto}
.mait-mobile-header-logo{height:40px;width:auto;max-width:none;display:block}
/* logo left, menu centred, actions right: always on one line */
.site-header .header-navbar>.container-fluid{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:24px}
.site-header .header-navbar .navbar-ul{flex-wrap:nowrap;flex:0 0 auto;margin:0}
.site-header .header-navbar .navbar-ul.pull-center{flex:1 1 auto;justify-content:center}
.site-header .header-navbar .navbar-ul.pull-right{align-items:center;gap:18px}
.site-header .header-navbar .cea-button,.site-header .header-navbar .cea-button-text{white-space:nowrap}
/* the header floats over the first section, so page heroes start below it */
:root{--header-space:120px}
/* at 1024px and below the theme swaps in its own in-flow mobile bar */
@media (max-width:1024px){:root{--header-space:56px}}

/* footer */
.sf{--ink:#100A08;--orange:#DD7109;background:var(--ink);color:rgba(255,255,255,.72);font-family:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;position:relative;overflow:hidden}
.sf *,.sf *:before,.sf *:after{box-sizing:border-box}
.sf:before{content:"";position:absolute;width:640px;height:640px;right:-220px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(221,113,9,.18),transparent 65%);pointer-events:none}
.sf-wrap{width:min(var(--site-width),calc(100% - var(--site-gutter)*2));margin:0 auto;position:relative}
.sf a{text-decoration:none;font-family:inherit}
.sf h2,.sf h3{margin:0;font-family:"Roboto Slab",Georgia,serif;color:#fff}
.sf p{margin:0}

.sf-cta{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;padding:56px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.sf-kicker{display:inline-flex;align-items:center;gap:10px;color:var(--orange);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px!important}
.sf-kicker:before{content:"";width:24px;height:2px;background:currentColor}
.sf-cta h2{font-size:clamp(26px,3vw,38px);line-height:1.15;margin-bottom:10px}
.sf-cta-actions{display:flex;flex-wrap:wrap;gap:12px}
.sf-btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;background:var(--orange);border:1px solid var(--orange);color:#fff!important;font-weight:700;font-size:15px;transition:transform .25s ease,background .25s ease}
.sf-btn:hover{background:#c46208;transform:translateY(-2px)}
.sf-btn-ghost{background:transparent;border-color:rgba(255,255,255,.3)}
.sf-btn-ghost:hover{background:#fff;color:var(--ink)!important}

.sf-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding:56px 0 44px}
.sf-brand img{display:block;height:44px;width:auto;margin:0 0 20px}
.sf-brand>p{line-height:1.7;font-size:15px;max-width:36ch;margin-bottom:24px}
.sf-contact{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.sf-contact a{display:flex;gap:12px;align-items:flex-start;color:#fff!important;font-size:15px;line-height:1.5}
.sf-contact i{color:var(--orange);font-size:16px;line-height:1.5}
.sf-col h3{font-size:18px;margin-bottom:18px}
.sf-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.sf-col a{color:rgba(255,255,255,.72)!important;font-size:15px;transition:color .2s ease,padding .2s ease}
.sf-col a:hover{color:#fff!important;padding-left:4px}

.sf-partners{display:flex;align-items:center;gap:10px;padding:0 0 32px;font-size:14px}
.sf-partners i{color:var(--orange)}
.sf-bottom{border-top:1px solid rgba(255,255,255,.1);position:relative}
.sf-bottom-row{display:flex;align-items:center;justify-content:space-between;gap:16px 28px;flex-wrap:wrap;padding:22px 0;font-size:14px}
.sf-bottom nav{display:flex;flex-wrap:wrap;gap:8px 22px}
.sf-bottom nav a{color:rgba(255,255,255,.6)!important}
.sf-bottom nav a:hover{color:#fff!important}

@media (max-width:991px){.sf-grid{grid-template-columns:1fr 1fr}.sf-brand{grid-column:1/-1}}
@media (max-width:560px){.sf-grid{grid-template-columns:1fr}.sf-cta{padding:44px 0}.sf-cta-actions,.sf-btn{width:100%;justify-content:center}}

/* header menus: Services mega panel and AI dropdown */
.site-header .header-navbar{position:relative}
.site-header .wp-menu>li.mm-has-panel{position:static}
.site-header .wp-menu>li.mm-has-drop{position:relative}
.mm-panel,.mm-drop{position:absolute;z-index:99;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .22s ease,transform .22s ease,visibility .22s;font-family:"DM Sans",system-ui,sans-serif;line-height:1.4;text-align:left}
.mm-panel{top:100%;left:50%;width:min(var(--site-width),calc(100vw - var(--site-gutter)*2));margin-left:calc(min(var(--site-width),calc(100vw - var(--site-gutter)*2))/-2);padding-top:10px}
.mm-has-panel:hover>.mm-panel,.mm-has-panel:focus-within>.mm-panel,.mm-has-drop:hover>.mm-drop,.mm-has-drop:focus-within>.mm-drop{opacity:1;visibility:visible;transform:none}
.mm-panel-inner{display:grid;grid-template-columns:repeat(4,1fr) 1.1fr;gap:6px;padding:22px;background:#fff;border-radius:22px;box-shadow:0 30px 70px rgba(16,10,8,.25);border:1px solid #ece7e1}
.mm-col{display:flex;flex-direction:column;padding:4px 6px}
.mm-title{display:flex;align-items:center;gap:8px;margin:0 0 8px;padding:0 10px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#797979}
.mm-title i{color:#DD7109;font-size:15px}
.site-header .mm-col a{display:block;padding:7px 10px;border-radius:10px;color:#100A08!important;transition:background .15s ease}
.mm-col a strong{display:block;font-size:14.5px;font-weight:700;color:#100A08}
.mm-col a span{display:block;font-size:12.5px;color:#797979;font-weight:500}
.site-header .mm-col a:hover{background:#F6F4F1}
.site-header .mm-col a:hover strong{color:#DD7109}
.mm-cta{display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:16px;background:#100A08;color:#fff;position:relative;overflow:hidden}
.mm-cta:after{content:"";position:absolute;right:-60px;bottom:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(221,113,9,.4),transparent 70%)}
.mm-cta-kicker{margin:0;color:#ffb35c;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.mm-cta-title{margin:0 0 6px;font-family:"Roboto Slab",Georgia,serif;font-size:19px;line-height:1.3;color:#fff}
.site-header .mm-cta a,.mm-mobile-cta a{position:relative;z-index:1}
.site-header a.mm-cta-btn,.mm-mobile-cta a.mm-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:999px;background:#DD7109;color:#fff!important;font-weight:700;font-size:14px;transition:background .2s ease}
.site-header a.mm-cta-btn:hover,.mm-mobile-cta a.mm-cta-btn:hover{background:#c46208}
.site-header a.mm-cta-link{color:#fff!important;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.site-header a.mm-cta-phone{display:flex;align-items:center;gap:8px;margin-top:auto;color:rgba(255,255,255,.8)!important;font-size:14px}
.mm-drop{top:100%;left:-16px;width:340px;padding:10px;margin-top:10px;background:#fff;border-radius:18px;box-shadow:0 24px 60px rgba(16,10,8,.22);border:1px solid #ece7e1}
.site-header .mm-drop a{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:12px;color:#100A08!important;transition:background .15s ease}
.mm-drop a i{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#F6F4F1;color:#DD7109;font-size:17px;flex:none}
.mm-drop a strong{display:block;font-size:14.5px;color:#100A08}
.mm-drop a small{display:block;font-size:12.5px;color:#797979;line-height:1.4}
.site-header .mm-drop a:hover{background:#F6F4F1}
.site-header .mm-drop a:hover i{background:#DD7109;color:#fff}
@media (max-width:1240px){.mm-panel-inner{grid-template-columns:repeat(4,1fr)}.mm-cta{display:none}}

/* side panel (hamburger) */
.sp{display:flex;flex-direction:column;gap:20px;font-family:"DM Sans",system-ui,sans-serif}
.sp-logo img{height:44px;width:auto;margin:0}
.sp .sp-text{margin:0;color:#5c564f;font-size:15px;line-height:1.7}
.sp a.sp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border-radius:999px;background:#DD7109;color:#fff!important;font-weight:700;font-size:15px}
.sp a.sp-btn:hover{background:#c46208}
.sp-contact{list-style:none;margin:0;padding:20px 0 0;border-top:1px solid #ece7e1;display:flex;flex-direction:column;gap:14px}
.sp-contact a{display:flex;gap:12px;align-items:flex-start;color:#100A08!important;font-weight:600;font-size:14.5px;line-height:1.5}
.sp-contact i{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#F6F4F1;color:#DD7109;font-size:17px;flex:none}
.sp-contact small{display:block;color:#797979;font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.sp-links{display:flex;flex-wrap:wrap;gap:8px;padding-top:20px;border-top:1px solid #ece7e1}
.sp-links a{padding:8px 14px;border-radius:999px;background:#F6F4F1;color:#100A08!important;font-size:13px;font-weight:600}
.sp-links a:hover{background:#100A08;color:#fff!important}

/* mobile menu */
.mobile-menu-floating .wp-menu.mobile-menu a{font-family:"DM Sans",system-ui,sans-serif!important;text-transform:none!important;font-size:16px!important;font-weight:600!important;letter-spacing:0!important;color:#100A08!important;padding:12px 0!important}
.mobile-menu-floating .wp-menu.mobile-menu>li{border-bottom:1px solid #ece7e1}
.mobile-menu-floating .wp-menu.mobile-menu .sub-menu a{font-size:15px!important;font-weight:500!important;color:#5c564f!important;padding:9px 0!important}
.mm-mobile-cta{display:flex;flex-direction:column;gap:10px;margin-top:24px}
.mm-mobile-cta a.mm-mobile-call{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:999px;border:1px solid #ddd5cb;color:#100A08!important;font-weight:700;font-size:14px}
.mm-panel,.mm-panel *,.mm-drop,.mm-drop *{text-transform:none!important}
.mm-title{text-transform:uppercase!important}
.mm-mobile-cta a{font-family:"DM Sans",system-ui,sans-serif!important;text-transform:none!important}
