/* Shared layout — applies to all frontend pages and branded news templates */
.exn-gl-header,.exn-gl-footer{font-family:Poppins,Inter,system-ui,-apple-system,sans-serif;box-sizing:border-box}.exn-gl-header *,.exn-gl-footer *{box-sizing:border-box}
.exn-gl-header{position:relative;z-index:999;background:#fff;border-bottom:1px solid #e8eef7;box-shadow:0 6px 24px rgba(29,75,129,.035)}
.exn-gl-header-inner{max-width:1240px;padding:0 24px;margin:auto;min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.exn-gl-brand{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;text-decoration:none!important;color:#163853!important;font-size:23.75px;font-weight:750;letter-spacing:-.045em;line-height:1.2}
.exn-gl-brand img{object-fit:contain;width:47px;height:47px;display:block}.exn-gl-brand b{color:#2884e8;font-weight:750}
.exn-gl-nav{display:flex;align-items:center;justify-content:center;gap:34px;margin-left:auto}.exn-gl-nav a{color:#42617e!important;font-size:16.25px;font-weight:650;text-decoration:none!important;white-space:nowrap;transition:color .2s}.exn-gl-nav a:hover{color:#2884e8!important}
.exn-gl-actions{display:flex;align-items:center}.exn-gl-cta{background:#2884e8!important;box-shadow:0 8px 20px rgba(40,132,232,.18);border-radius:11px;display:inline-flex;gap:9px;align-items:center;color:white!important;padding:13px 19px;text-decoration:none!important;font-size:15px;font-weight:750;white-space:nowrap;transition:background .2s,transform .2s}.exn-gl-cta:hover{background:#1569c8!important;transform:translateY(-1px)}
.exn-gl-menu-toggle{display:none!important;appearance:none;background:transparent!important;border:1px solid #dbe9fa!important;border-radius:11px!important;width:44px;height:44px;padding:10px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}.exn-gl-menu-toggle span{display:block;width:20px;height:2px;background:#173d60;border-radius:3px;transition:transform .2s,opacity .2s}.exn-gl-mobile{display:none;background:white;padding:10px 20px 23px;border-top:1px solid #e7f0fa;box-shadow:0 16px 25px rgba(20,61,101,.08)}.exn-gl-mobile[hidden]{display:none!important}.exn-gl-mobile a{display:flex;align-items:center;justify-content:space-between;padding:14px 8px;border-bottom:1px solid #eff4f9;color:#1d4567!important;text-decoration:none!important;font-size:18.75px;font-weight:650}.exn-gl-mobile a span{color:#2884e8}.exn-gl-mobile .exn-gl-mobile-cta{background:#2884e8;color:white!important;border-radius:10px;margin-top:16px;justify-content:center}
.exn-gl-footer{background:#f3f8ff;color:#345774;padding:72px 24px 25px;border-top:1px solid #e1edfb}.exn-gl-footer-inner{max-width:1192px;margin:0 auto}.exn-gl-footer-top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(120px,.55fr) minmax(280px,1fr);gap:58px;align-items:start}.exn-gl-footer-intro p{max-width:310px;color:#70899c;font-size:17.5px;line-height:1.9;margin:22px 0}.exn-gl-footer-label{font-size:13.75px;letter-spacing:.12em;text-transform:uppercase;font-weight:750;color:#2884e8}.exn-gl-footer-menu{display:flex;flex-direction:column;align-items:start;gap:15px}.exn-gl-footer-menu strong{color:#173b59;font-size:17.5px;margin:8px 0 13px}.exn-gl-footer-menu a{color:#617f98!important;text-decoration:none!important;font-size:16.25px}.exn-gl-footer-menu a:hover{color:#2884e8!important}.exn-gl-footer-card{background:white;border:1px solid #e0ebf9;box-shadow:0 16px 36px rgba(41,110,178,.05);padding:26px;border-radius:20px}.exn-gl-mini{color:#2884e8;font-size:12.5px;font-weight:800;letter-spacing:.15em}.exn-gl-footer-card h2{margin:12px 0 9px;font-size:27.5px;letter-spacing:-.035em;line-height:1.24;color:#173b59}.exn-gl-footer-card p{font-size:15px;color:#8094a7;line-height:1.6}.exn-gl-footer-card a{display:inline-flex;justify-content:space-between;align-items:center;background:#2884e8!important;padding:12px 16px;border-radius:9px;color:#fff!important;text-decoration:none!important;font-size:15px;font-weight:750;margin-top:9px;gap:30px}.exn-gl-footer-bottom{border-top:1px solid #dce9f6;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:64px;padding-top:24px}.exn-gl-footer-bottom small{color:#8196a9;font-size:13.75px}.exn-gl-footer-bottom>div{display:flex;gap:24px;flex-wrap:wrap}.exn-gl-footer-bottom a{font-size:13.75px;color:#708aa0!important;text-decoration:none!important}
/* Suppress default theme chrome, preserving plugin's single global header/footer. */
body.exn-global-shell:not(.wp-admin) #masthead,body.exn-global-shell:not(.wp-admin) #colophon,body.exn-global-shell:not(.wp-admin) .site-header:not(.exn-gl-header),body.exn-global-shell:not(.wp-admin) .site-footer:not(.exn-gl-footer),body.exn-global-shell:not(.wp-admin) .elementor-location-header,body.exn-global-shell:not(.wp-admin) .elementor-location-footer,body.exn-global-shell:not(.wp-admin) header.wp-block-template-part,body.exn-global-shell:not(.wp-admin) footer.wp-block-template-part{display:none!important}
body.exn-global-shell .exn-gl-header,body.exn-global-shell .exn-gl-footer{display:block!important}
@media(max-width:960px){.exn-gl-nav{gap:18px}.exn-gl-header-inner{gap:16px}.exn-gl-cta{padding:12px}.exn-gl-brand{font-size:20px}}
@media(max-width:780px){.exn-gl-header-inner{min-height:72px;padding:0 17px}.exn-gl-brand img{width:40px;height:40px}.exn-gl-nav,.exn-gl-cta{display:none!important}.exn-gl-menu-toggle{display:flex!important}.exn-gl-mobile:not([hidden]){display:block!important}.exn-gl-footer{padding:48px 20px 22px}.exn-gl-footer-top{grid-template-columns:1fr 1fr;gap:30px}.exn-gl-footer-card{grid-column:1/-1}.exn-gl-footer-bottom{margin-top:44px}}
@media(max-width:480px){.exn-gl-brand{font-size:18.75px;gap:8px}.exn-gl-footer-top{grid-template-columns:1fr}.exn-gl-footer-card{grid-column:auto}.exn-gl-footer-bottom{align-items:start;flex-direction:column;gap:14px}}

/* V0.6: full-screen mobile navigation dialog */
@media(max-width:780px){
 body.exn-menu-open{overflow:hidden!important;touch-action:none}
 body.admin-bar.exn-menu-open{overflow:hidden!important}
 .exn-gl-header.exn-menu-active{z-index:100000!important}
 .exn-gl-mobile:not([hidden]){display:flex!important}
 .exn-gl-mobile{position:fixed!important;inset:0!important;width:100vw;height:100dvh;max-height:100dvh;z-index:100001!important;background:linear-gradient(155deg,#ffffff 0%,#f1f7ff 100%)!important;border:0!important;box-shadow:none!important;padding:calc(22px + env(safe-area-inset-top)) clamp(22px,6vw,44px) calc(22px + env(safe-area-inset-bottom))!important;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;animation:exn-fullmenu-in .23s ease-out both}
 .exn-gl-mobile-top{display:flex;justify-content:space-between;align-items:center;color:#163853;font-size:18.75px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding-bottom:35px}
 .exn-gl-mobile-close{width:48px;height:48px;border:1px solid #d9e8f9!important;border-radius:15px!important;background:#fff!important;color:#173b59!important;font:400 38.75px/1 system-ui!important;cursor:pointer;display:flex;align-items:center;justify-content:center}
 .exn-gl-mobile-links{display:flex;flex-direction:column;justify-content:center;flex:1;gap:5px;padding-bottom:22px}
 .exn-gl-mobile-links>a:not(.exn-gl-mobile-cta){font-size:clamp(30px,8.75vw,50px)!important;letter-spacing:-.045em!important;font-weight:750!important;color:#173b59!important;padding:18px 0!important;background:transparent;border-bottom:1px solid #e0ebf8!important}
 .exn-gl-mobile-links>a span{color:#2884e8!important;font-size:28.75px}
 .exn-gl-mobile-links .exn-gl-mobile-cta{font-size:21.25px!important;font-weight:750!important;margin-top:28px!important;border-radius:16px!important;padding:20px!important;box-shadow:0 15px 40px rgba(40,132,232,.18)}
 .exn-gl-mobile-bottom{margin:0;color:#7a91a9;font-size:15px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
}
@keyframes exn-fullmenu-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.exn-gl-mobile{animation:none!important}}

/* V0.6.1: same fixed menu control for open AND close */
@media(max-width:780px){
 .exn-gl-menu-toggle.exn-toggle-fixed{position:fixed!important;z-index:100010!important;margin:0!important;box-sizing:border-box!important;background:#fff!important;}
 .exn-gl-menu-toggle.exn-toggle-fixed span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .exn-gl-menu-toggle.exn-toggle-fixed span:nth-child(2){opacity:0}
 .exn-gl-menu-toggle.exn-toggle-fixed span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .exn-gl-mobile-top{padding-bottom:35px;min-height:54px;}
 .exn-gl-mobile-logo{display:inline-flex!important;padding:0!important;border:0!important;align-items:center;justify-content:center;}
 .exn-gl-mobile-logo img{width:44px;height:44px;object-fit:contain;display:block;}
}

/* V0.6.3 — shared bottom newsletter CTA and scroll-aware header */
body.exn-global-shell .exn-gl-header{position:fixed!important;top:0;left:0;right:0;width:100%;z-index:99990!important;transition:transform .25s ease,box-shadow .25s ease;will-change:transform}
body.exn-global-shell .exn-gl-header.exn-gl-header-hidden:not(.exn-menu-active){transform:translate3d(0,-110%,0)}
body.exn-global-shell .exn-gl-header.exn-menu-active{transform:translate3d(0,0,0)!important}
.exn-gl-header-spacer{display:block;width:100%;height:84px;pointer-events:none}
body.exn-global-shell .exn-gl-floating-newsletter{position:fixed!important;bottom:calc(18px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:99980;background:#2884e8!important;color:#fff!important;text-decoration:none!important;font:500 17.5px/1.3 Poppins,Inter,system-ui,sans-serif!important;display:inline-flex!important;justify-content:center;align-items:center;gap:9px;padding:15px 25px;border-radius:999px;box-shadow:0 12px 34px rgba(24,92,183,.25);white-space:nowrap;max-width:calc(100vw - 30px);transition:background .2s ease,box-shadow .2s ease}
body.exn-global-shell .exn-gl-floating-newsletter:hover,body.exn-global-shell .exn-gl-floating-newsletter:focus-visible{background:#176dca!important;color:#fff!important;box-shadow:0 15px 40px rgba(24,92,183,.33)}
body.exn-menu-open .exn-gl-floating-newsletter{visibility:hidden!important;pointer-events:none!important}
@media(max-width:780px){.exn-gl-header-spacer{height:72px}body.exn-global-shell .exn-gl-floating-newsletter{bottom:calc(13px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 28px);font-size:16.25px!important;padding:14px 19px}}
@media(prefers-reduced-motion:reduce){body.exn-global-shell .exn-gl-header{transition:none!important}}

/* V0.6.4: keep CTA hidden until the visitor has scrolled 500px. */
body.exn-global-shell .exn-gl-floating-newsletter{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translate(-50%,14px)!important;transition:opacity .25s ease,visibility .25s ease,transform .25s ease,background .2s ease,box-shadow .2s ease!important}
body.exn-global-shell .exn-gl-floating-newsletter.exn-gl-cta-visible{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate(-50%,0)!important}
body.exn-menu-open .exn-gl-floating-newsletter.exn-gl-cta-visible{visibility:hidden!important;pointer-events:none!important}
@media(prefers-reduced-motion:reduce){body.exn-global-shell .exn-gl-floating-newsletter{transition:none!important}}

/* V0.6.6 — headings toned down; keep CTA/button typography unchanged */
.exn-gl-footer-card h2{font-size:clamp(24px,2.4vw,31px)!important}
