/* Siteorix 2.0 — blue / lime / ink. All component styles are isolated. */
:root{--sx-blue:#349fd1;--sx-lime:#c3d54c;--sx-ink:#102935;--sx-muted:#58707d;--sx-line:#deeaef;--sx-shell:min(1380px,calc(100% - 64px));--sx-ease:cubic-bezier(.22,1,.36,1)}
:where(.sx-header,.sx-topbar,.sx-footer,.sx-mobile-panel,.sx-search-modal){font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5;text-align:left;font-size:15px;font-weight:400;letter-spacing:normal}
:where(.sx-header,.sx-topbar,.sx-footer,.sx-mobile-panel,.sx-search-modal) *{box-sizing:border-box}
:where(.sx-header,.sx-topbar,.sx-footer,.sx-mobile-panel,.sx-search-modal) a{text-decoration:none}
:where(.sx-header,.sx-topbar,.sx-footer,.sx-mobile-panel,.sx-search-modal) button{font:inherit;text-transform:none;letter-spacing:normal;cursor:pointer;box-shadow:none}
:where(.sx-header,.sx-topbar,.sx-footer,.sx-mobile-panel,.sx-search-modal) :is(a,button,input):focus-visible{outline:3px solid var(--sx-blue);outline-offset:5px}
.sx-shell{width:var(--sx-shell);margin-inline:auto}.sx-icon{width:21px;height:21px;flex:none;vertical-align:middle}.sx-lock{overflow:hidden!important}
.sx-skip-link{position:fixed;left:12px;top:-100px;z-index:100010;background:white;color:var(--sx-ink);padding:12px 18px;border-radius:10px}.sx-skip-link:focus{top:12px}
/* Theme replacement compatibility — Astra, Hello Elementor, classic and common block-theme shells. */
body.siteorix-hf-replace #masthead,
body.siteorix-hf-replace #colophon,
body.siteorix-hf-replace #site-header,
body.siteorix-hf-replace #site-footer,
body.siteorix-hf-replace header.site-header:not(.sx-header),
body.siteorix-hf-replace footer.site-footer:not(.sx-footer),
body.siteorix-hf-replace .elementor-location-header:not(.sx-global-header-template-root),
body.siteorix-hf-replace .elementor-location-footer:not(.sx-global-footer-template-root),
body.siteorix-hf-replace .ast-desktop-header,
body.siteorix-hf-replace .ast-mobile-header-wrap,
body.siteorix-hf-replace #ast-desktop-header,
body.siteorix-hf-replace #ast-mobile-header,
body.siteorix-hf-replace > header:not(.sx-header),
body.siteorix-hf-replace > footer:not(.sx-footer),
body.siteorix-hf-replace #page > header:not(.sx-header),
body.siteorix-hf-replace #page > footer:not(.sx-footer),
body.siteorix-hf-replace .site > header:not(.sx-header),
body.siteorix-hf-replace .site > footer:not(.sx-footer),
body.siteorix-hf-replace .wp-site-blocks > header:not(.sx-header),
body.siteorix-hf-replace .wp-site-blocks > footer:not(.sx-footer){display:none!important}

/* Component reset: prevents Astra/Hello/theme typography, list and button rules from
   leaking into the managed Siteorix header/footer while preserving Elementor controls. */
:where(.sx-header-widget,.sx-footer-widget) :where(h1,h2,h3,h4,h5,h6,p,ul,ol){margin:0;padding:0}
:where(.sx-header-widget,.sx-footer-widget) :where(ul,ol){list-style:none}
:where(.sx-header-widget,.sx-footer-widget) :where(a){text-decoration:none;box-shadow:none}
:where(.sx-header-widget,.sx-footer-widget) :where(button,input){font:inherit}
:where(.sx-header-widget,.sx-footer-widget) :where(button){appearance:none;-webkit-appearance:none}
:where(.sx-header-widget,.sx-footer-widget) img{border:0;box-shadow:none}
:where(.sx-header-widget,.sx-footer-widget) svg{display:block}
/* Slim contact strip and glass navigation */
.sx-topbar{background:var(--sx-ink);color:#e2edf2;font-size:12px}.sx-topbar-inner{min-height:36px;display:flex;gap:28px;align-items:center}.sx-top-label{margin-right:auto;display:flex;gap:9px;align-items:center;letter-spacing:.03em}.sx-top-label i{width:6px;height:6px;border-radius:50%;background:var(--sx-lime);box-shadow:0 0 0 4px #c3d54c13}.sx-topbar a{color:#e2edf2}.sx-topbar a:hover{color:var(--sx-lime)}
.sx-header{position:sticky;top:0;z-index:99980;background:rgba(255,255,255,.96);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--sx-line);color:var(--sx-ink);transition:box-shadow .35s,background .35s}.sx-header.is-scrolled{background:rgba(255,255,255,.94);box-shadow:0 8px 32px #1029350c}.sx-header-inner{height:92px;display:flex;align-items:center;justify-content:space-between;gap:22px;transition:height .35s var(--sx-ease)}.sx-header.is-scrolled .sx-header-inner{height:78px}
.sx-brand{display:inline-flex;align-items:center;flex-shrink:0}.sx-logo-img{display:block;width:194px;max-width:100%;height:auto;max-height:72px;object-fit:contain}.sx-bundled-logo{mix-blend-mode:multiply}.sx-nav{display:flex;gap:3px;align-items:center}.sx-nav>a,.sx-nav-button{display:flex;align-items:center;gap:6px;position:relative;padding:12px 11px;border:0;border-radius:10px;background:transparent;color:var(--sx-ink);font-size:14px;font-weight:600;white-space:nowrap;transition:background .2s,color .2s}.sx-nav>a:hover,.sx-nav-button:hover,.sx-nav-button[aria-expanded=true],.sx-nav>a[aria-current=page]{background:#349fd10d;color:#167aab}.sx-nav>a[aria-current=page]:after{content:"";position:absolute;bottom:4px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:var(--sx-blue)}.sx-nav-button>.sx-icon{width:15px;height:15px;transition:transform .3s var(--sx-ease)}.sx-nav-button[aria-expanded=true]>.sx-icon{transform:rotate(180deg)}.sx-nav-item{position:relative}.sx-has-mega{position:static}
.sx-header-actions{display:flex;align-items:center;gap:10px}.sx-search-btn,.sx-menu-btn{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--sx-line);border-radius:50%;background:#fff;color:var(--sx-ink);transition:background .2s,transform .2s}.sx-search-btn:hover,.sx-menu-btn:hover{background:#edf7fb;color:#167aab}.sx-search-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}
.sx-cta{display:inline-flex;align-items:center;gap:18px;position:relative;overflow:hidden;isolation:isolate;border-radius:99px;padding:8px 8px 8px 20px;background:var(--sx-ink);color:#fff!important;font-size:13px;font-weight:600;white-space:nowrap;transition:transform .3s,box-shadow .3s}.sx-cta:before{content:"";position:absolute;inset:0;background:#167ba9;z-index:-1;transform:translateX(-102%);transition:transform .5s var(--sx-ease)}.sx-cta:hover:before{transform:none}.sx-cta:hover{box-shadow:0 8px 25px #349fd133;transform:translateY(-2px)}.sx-cta>span{display:grid;place-items:center;border-radius:50%;background:var(--sx-lime);color:var(--sx-ink);width:34px;height:34px}.sx-cta .sx-icon{transition:transform .35s var(--sx-ease)}.sx-cta:hover .sx-icon{transform:rotate(45deg)}.sx-menu-btn{display:none;gap:4px;align-content:center}.sx-menu-btn span{width:18px;height:2px;background:currentColor;border-radius:2px}.sx-menu-btn span:nth-child(2){width:13px;justify-self:end;margin-right:12px}
/* Full-width service menu */
.sx-mega{position:absolute;left:50%;top:100%;width:min(1320px,calc(100vw - 48px));max-height:calc(100dvh - 160px);overflow:auto;padding:30px;background:#fff;border:1px solid var(--sx-line);border-top:3px solid var(--sx-blue);border-radius:0 0 24px 24px;box-shadow:0 32px 70px #10293524;opacity:0;visibility:hidden;transform:translate(-50%,12px);transition:opacity .22s,transform .35s var(--sx-ease),visibility .22s}.sx-mega.is-open{visibility:visible;opacity:1;transform:translate(-50%,0)}.sx-mega-head{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:0 4px 23px;border-bottom:1px solid var(--sx-line);margin-bottom:24px}.sx-kicker{display:block;color:#287c9e;font-size:11px;line-height:1.5;font-weight:700;text-transform:uppercase;letter-spacing:.17em}.sx-mega-head h2{font-size:28px;line-height:1.2;letter-spacing:-.04em;color:var(--sx-ink);margin:7px 0 0;font-weight:600}.sx-mega-all{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600;color:var(--sx-ink);white-space:nowrap}.sx-mega-all>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--sx-lime);transition:transform .3s}.sx-mega-all:hover>span{transform:rotate(45deg)}.sx-mega-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr .85fr;gap:20px}.sx-mega-col h3{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--sx-muted);margin:0 0 12px 8px;font-weight:700}.sx-service-link{display:flex;align-items:flex-start;gap:10px;padding:11px 8px;border-radius:12px;color:var(--sx-ink);transition:background .25s,transform .25s}.sx-service-link:hover,.sx-service-link:focus-visible{background:#f0f8fc;transform:translateX(3px)}.sx-service-icon{flex:none;width:32px;height:32px;border:1px solid #dceff8;background:#f3fafd;color:#278bb9;border-radius:10px;display:grid;place-items:center;transition:background .25s,transform .25s}.sx-service-icon .sx-icon{width:17px;height:17px}.sx-service-link:hover .sx-service-icon{background:var(--sx-lime);color:var(--sx-ink);transform:rotate(-6deg)}.sx-service-link strong{display:block;font-size:13px;line-height:1.4;color:var(--sx-ink);font-weight:600;margin:0 0 4px}.sx-service-link small{display:block;color:var(--sx-muted);font-size:11px;line-height:1.55}.sx-mega-col:last-child{padding:17px 12px;border-radius:16px;background:linear-gradient(145deg,#eaf7fd,#f5f8dc);border:1px solid #e1eddd}.sx-mega-col:last-child:after{content:"Ideas into impact.";display:block;color:#2386b4;font-size:30px;line-height:1.1;font-weight:600;letter-spacing:-.05em;margin:28px 8px 8px;max-width:130px}.sx-dropdown{position:absolute;top:calc(100% + 16px);left:0;width:235px;padding:9px;border:1px solid var(--sx-line);border-radius:17px;background:white;box-shadow:0 20px 45px #10293520;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,transform .3s var(--sx-ease),visibility .2s}.sx-dropdown:before{content:"";position:absolute;inset:-20px 0 auto;height:22px}.sx-dropdown.is-open{opacity:1;visibility:visible;transform:none}.sx-dropdown a{display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:9px;font-size:13px;color:var(--sx-ink)}.sx-dropdown a:after{content:"";width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);margin-right:5px}.sx-dropdown a:hover{color:#167aab;background:#edf7fb}
/* Mobile drawer */
.sx-mobile-overlay{position:fixed;inset:0;z-index:99991;background:#081d2cb3;backdrop-filter:blur(5px);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}.sx-mobile-overlay.is-open{opacity:1;visibility:visible}.sx-mobile-panel{position:fixed;inset:0 0 0 auto;width:min(460px,92vw);z-index:99992;background:#fcfefe;padding:24px;overflow-y:auto;overscroll-behavior:contain;color:var(--sx-ink);transform:translateX(105%);visibility:hidden;transition:transform .5s var(--sx-ease),visibility .5s;padding-bottom:max(30px,env(safe-area-inset-bottom))}.sx-mobile-panel.is-open{transform:none;visibility:visible}.sx-mobile-head{display:flex;justify-content:space-between;align-items:center;padding:0 0 22px;border-bottom:1px solid var(--sx-line)}.sx-mobile-head .sx-logo-img{width:170px}.sx-mobile-head button{width:40px;height:40px;border-radius:50%;background:#edf5f8;border:0;color:var(--sx-ink);font-size:0;line-height:1;display:grid;place-items:center;padding:0}.sx-mobile-nav{display:flex;flex-direction:column;padding:15px 0}.sx-mobile-nav>a,.sx-mobile-accordion{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:0;border-bottom:1px solid var(--sx-line);padding:16px 3px;color:var(--sx-ink);font-size:21px;font-weight:500;text-align:left}.sx-mobile-nav>a:hover,.sx-mobile-accordion:hover,.sx-mobile-nav a[aria-current=page]{color:#1476a4}.sx-mobile-accordion>.sx-icon{width:20px;height:20px;transition:transform .35s}.sx-mobile-accordion[aria-expanded=true]>.sx-icon{transform:rotate(180deg)}.sx-mobile-submenu{height:0;overflow:hidden;visibility:hidden;transition:height .4s var(--sx-ease),visibility .4s;padding-inline:12px}.sx-mobile-submenu.is-open{visibility:visible}.sx-mobile-submenu p{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#247c9f;margin:20px 0 7px;font-weight:700}.sx-mobile-submenu a{display:block;color:var(--sx-muted);font-size:14px;line-height:1.5;padding:9px 0}.sx-mobile-submenu a:last-child{margin-bottom:16px}.sx-mobile-cta{display:flex;justify-content:space-between;align-items:center;background:var(--sx-ink);color:white!important;border-radius:14px;padding:17px 19px;font-weight:600;margin-top:12px}.sx-mobile-cta>span{color:var(--sx-lime)}.sx-mobile-contact{display:flex;flex-direction:column;gap:8px;margin-top:26px}.sx-mobile-contact a{color:var(--sx-muted);font-size:14px}
.sx-search-modal{position:fixed;inset:0;z-index:100000;background:rgba(11,31,43,.98);padding:30px;display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.sx-search-modal.is-open{opacity:1;visibility:visible}.sx-search-modal form{width:min(780px,100%)}.sx-search-modal label{display:block;color:var(--sx-lime);font-size:12px;text-transform:uppercase;letter-spacing:.15em;margin-bottom:20px}.sx-search-modal form>div{display:flex;gap:15px;border-bottom:1px solid #ffffff50}.sx-search-modal input{min-width:0;width:100%;flex:1;border:0;background:none;color:#fff;font-size:clamp(24px,5vw,54px);padding:16px 0;box-shadow:none}.sx-search-modal input::placeholder{color:#9eb1bd}.sx-search-modal button[type=submit]{border:0;background:none;color:var(--sx-lime);font-weight:600;padding:8px}.sx-search-close{position:absolute;top:28px;right:30px;background:none;border:1px solid #ffffff30;color:#fff;width:48px;height:48px;border-radius:50%;font-size:0!important;padding:0;display:grid;place-items:center}
/* Editorial footer */
.sx-footer{position:relative;overflow:hidden;background:#0c2330;color:#e8f2f7}.sx-footer:before{content:"";position:absolute;pointer-events:none;width:700px;height:700px;border-radius:50%;right:-330px;top:-350px;background:radial-gradient(circle,#349fd122,transparent 65%)}.sx-footer-lead{position:relative;display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:88px 72px}.sx-footer .sx-kicker{color:var(--sx-lime)}.sx-footer-lead h2{font-size:clamp(42px,5.5vw,82px);line-height:1.05;letter-spacing:-.055em;color:#f4f8fa;font-weight:500;margin:22px 0}.sx-footer-lead h2>span{color:var(--sx-blue)}.sx-footer-lead p{font-size:15px;color:#a5bac6;margin:0}.sx-project-orb{flex:none;position:relative;width:164px;height:164px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-radius:50%;background:var(--sx-lime);color:var(--sx-ink)!important;font-size:19px;line-height:1.25;font-weight:600;transition:background .4s,box-shadow .4s,transform .4s var(--sx-ease)}.sx-project-orb:before{content:"";position:absolute;inset:-12px;border:1px solid #c3d54c40;border-radius:50%;transition:inset .4s,border-color .4s}.sx-project-orb:hover{background:#d2e065;box-shadow:0 0 70px #c3d54c20}.sx-project-orb:hover:before{inset:-20px;border-color:#349fd180}.sx-project-orb>.sx-icon{width:30px;height:30px;transition:transform .4s}.sx-project-orb:hover>.sx-icon{transform:rotate(45deg)}
.sx-footer-marquee{border-block:1px solid #ffffff12;overflow:hidden;padding:18px 0;background:#ffffff02}.sx-footer-marquee>div{display:flex;width:max-content;animation:sxMarquee 32s linear infinite}.sx-footer-marquee span{display:flex;align-items:center;gap:45px;padding-right:45px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:#a5bbc7}.sx-footer-marquee span:after{content:"✳";color:var(--sx-blue);font-size:22px}.sx-footer-marquee:hover>div{animation-play-state:paused}@keyframes sxMarquee{to{transform:translateX(-50%)}}
.sx-footer-main{display:grid;grid-template-columns:1.4fr 1fr .75fr 1.15fr;gap:56px;padding-block:64px 54px}.sx-footer-logo{display:inline-flex;align-items:center;background:#f7f7f7;padding:3px 12px;border-radius:12px}.sx-footer-logo .sx-logo-img{width:185px;max-height:70px}.sx-footer-brand p{font-size:14px;line-height:1.8;color:#a5bac6;max-width:350px;margin:22px 0}.sx-footer-cta{display:inline-flex;align-items:center;gap:20px;color:#eef5f7;font-size:14px;border-bottom:1px solid #ffffff35;padding-bottom:8px}.sx-footer-cta>span{color:var(--sx-lime)}.sx-footer-cta:hover{color:var(--sx-lime)}.sx-footer-col{display:flex;flex-direction:column;gap:13px;align-items:flex-start}.sx-footer-col h3{font-size:14px;line-height:1.4;font-weight:600;color:#eff5f8;margin:0 0 10px}.sx-footer-col a,.sx-footer-col p{font-size:13px;line-height:1.7;color:#a5bac6;margin:0;transition:color .2s,transform .25s}.sx-footer-col a:hover{color:var(--sx-lime);transform:translateX(3px)}.sx-contact-col>a span{display:inline-block;font-size:10px;color:var(--sx-lime);border:1px solid #ffffff20;padding:2px 5px;border-radius:5px;margin-right:10px}.sx-contact-col p{font-size:12px;padding-bottom:7px}.sx-footer-connect{border-top:1px solid #ffffff18;display:flex;justify-content:space-between;align-items:center;padding-block:33px}.sx-email-link{color:#edf5f8;font-size:clamp(22px,3vw,36px);letter-spacing:-.03em;display:inline-flex;align-items:center;gap:20px;margin-top:9px}.sx-email-link>.sx-icon{color:var(--sx-blue);width:30px;height:30px;transition:transform .3s}.sx-email-link:hover{color:var(--sx-blue)}.sx-email-link:hover>.sx-icon{transform:translate(3px,-3px)}.sx-back-top{display:flex;align-items:center;gap:15px;color:#b6c8d2;font-size:12px}.sx-back-top>.sx-icon{transform:rotate(-45deg);border:1px solid #ffffff25;border-radius:50%;width:42px;height:42px;padding:10px}.sx-footer-bottom{border-top:1px solid #ffffff18;padding-block:22px}.sx-footer-bottom .sx-shell{display:flex;justify-content:space-between;align-items:center;gap:20px}.sx-footer-bottom p,.sx-footer-bottom a,.sx-footer-bottom span{font-size:11px;line-height:1.6;color:#96afbd;margin:0}.sx-footer-bottom .sx-shell>div{display:flex;gap:14px}.sx-footer-bottom a:hover{color:#fff}
@media(min-width:1181px) and (max-width:1320px){.sx-header-inner{gap:10px}.sx-logo-img{width:165px}.sx-nav>a,.sx-nav-button{padding-inline:8px;font-size:13px}.sx-cta{gap:10px;padding-left:14px;font-size:12px}.sx-search-btn{width:38px;height:38px}}
@media(max-width:1180px){.sx-nav{display:none}.sx-menu-btn{display:grid}.sx-header-inner{height:82px}.sx-header-actions{margin-left:auto}.sx-footer-main{gap:30px;grid-template-columns:1.2fr 1fr 1fr}.sx-footer-brand{grid-column:1/-1;display:grid;grid-template-columns:220px 1fr;column-gap:30px;align-items:start}.sx-footer-brand p{margin:0;max-width:600px}.sx-footer-cta{grid-column:2;justify-self:start;margin-top:14px}.sx-footer-logo{justify-self:start}}
@media(max-width:760px){:root{--sx-shell:calc(100% - 36px)}.sx-topbar-inner{min-height:30px;justify-content:center;gap:10px}.sx-top-label{font-size:10px;margin:0}.sx-topbar a{font-size:10px}.sx-topbar a:last-child{display:none}.sx-header-inner,.sx-header.is-scrolled .sx-header-inner{height:74px;gap:10px}.sx-logo-img{width:164px;max-height:61px}.sx-header-actions{gap:7px}.sx-search-btn,.sx-menu-btn{width:40px;height:40px}.sx-cta{display:none}.sx-footer-lead{padding-block:58px 48px;align-items:flex-start;flex-direction:column;gap:30px}.sx-footer-lead h2{font-size:clamp(36px,8.5vw,62px);margin:18px 0}.sx-footer-lead p{font-size:14px;max-width:340px}.sx-project-orb{width:114px;height:114px;align-self:flex-end;margin-right:12px;font-size:16px;gap:5px}.sx-project-orb>.sx-icon{width:24px;height:24px}.sx-footer-main{grid-template-columns:1fr 1fr;gap:35px 24px;padding-block:42px}.sx-footer-brand{display:block;grid-column:1/-1}.sx-footer-brand p{margin:20px 0 12px}.sx-footer-cta{margin-top:0}.sx-contact-col{grid-column:1/-1}.sx-footer-col a{font-size:13px}.sx-footer-connect{align-items:flex-start;gap:25px;flex-direction:column;padding-block:28px}.sx-email-link{font-size:26px;gap:12px}.sx-footer-bottom .sx-shell{flex-direction:column;align-items:flex-start;gap:12px}.sx-footer-marquee span{font-size:11px;gap:28px;padding-right:28px}.sx-search-modal{padding:22px}.sx-mobile-panel{padding:20px}.sx-mobile-head .sx-logo-img{width:152px}}
@media(max-width:360px){.sx-logo-img{width:145px}.sx-top-label{display:none}.sx-footer-lead h2{font-size:34px}.sx-email-link{font-size:23px}.sx-mobile-head .sx-logo-img{width:140px}.sx-mobile-panel{padding:16px}.sx-footer-col a{font-size:12px}}
.admin-bar .sx-header{top:32px}.admin-bar .sx-mobile-panel{top:32px}.admin-bar .sx-search-modal{top:32px}@media(max-width:782px){.admin-bar .sx-header,.admin-bar .sx-mobile-panel,.admin-bar .sx-search-modal{top:46px}}@media(max-width:600px){.admin-bar .sx-header.is-scrolled{top:0}}
@media(prefers-reduced-motion:reduce){:where(.sx-header,.sx-footer,.sx-mobile-panel,.sx-search-modal) *,.sx-mobile-overlay,.sx-mobile-panel,.sx-header{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Neutralize the supplied JPEG's off-white canvas without changing the asset. */
.sx-bundled-logo{filter:brightness(1.045)}

/* Elementor global-template wrappers remain DOM ancestors for generated CSS selectors,
   but do not create layout boxes that would constrain the sticky header or footer width. */
.sx-global-header-template-root,
.sx-global-footer-template-root,
.sx-global-header-template-root > .elementor-section,
.sx-global-footer-template-root > .elementor-section,
.sx-global-header-template-root .elementor-container,
.sx-global-footer-template-root .elementor-container,
.sx-global-header-template-root .elementor-column,
.sx-global-footer-template-root .elementor-column,
.sx-global-header-template-root .elementor-widget-wrap,
.sx-global-footer-template-root .elementor-widget-wrap,
.sx-global-header-template-root .elementor-widget,
.sx-global-footer-template-root .elementor-widget{display:contents}
.sx-header-widget,.sx-footer-widget{width:100%;max-width:none;margin:0;padding:0}

/* v3.0.2 — Theme Style Guard
   Hello Elementor/Astra/Elementor Global Styles may load button rules after plugin CSS.
   These scoped rules keep Siteorix controls authoritative without changing the rest of the site. */
.sx-header-widget{
  --sx-nav-color:#102935;
  --sx-nav-hover-color:#167aab;
  --sx-nav-hover-bg:#edf7fb;
  --sx-nav-active-color:#167aab;
  --sx-nav-padding:12px 11px;
  --sx-nav-radius:10px;
  --sx-search-color:#102935;
  --sx-search-bg:#ffffff;
  --sx-search-hover-color:#167aab;
  --sx-search-hover-bg:#edf7fb;
  --sx-menu-color:#102935;
  --sx-menu-bg:#ffffff;
  --sx-menu-hover-color:#167aab;
  --sx-menu-hover-bg:#edf7fb;
  --sx-action-border:#deeaef;
  --sx-mobile-menu-color:#102935;
  --sx-mobile-menu-hover:#1476a4;
  --sx-mobile-menu-bg:transparent;
  --sx-mobile-menu-hover-bg:#edf7fb;
  --sx-mobile-divider:#deeaef;
  --sx-mobile-row-padding:16px 3px;
  --sx-mobile-row-radius:0px;
  --sx-mobile-close-color:#102935;
  --sx-mobile-close-bg:#edf5f8;
  --sx-mobile-close-hover-color:#167aab;
  --sx-mobile-close-hover-bg:#e4f3f9;
  --sx-mobile-close-size:40px;
}

body.siteorix-hf-theme-guard :where(.sx-header-widget,.sx-footer-widget,.sx-mobile-panel,.sx-search-modal) :is(button,[type="button"],[type="submit"]){
  -webkit-appearance:none!important;
  appearance:none!important;
  text-decoration:none!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
body.siteorix-hf-theme-guard :where(.sx-header-widget,.sx-footer-widget,.sx-mobile-panel,.sx-search-modal) :is(button,a,input):focus-visible{
  outline-color:var(--sx-theme-accent,var(--sx-blue))!important;
}
body.siteorix-hf-theme-guard :where(.sx-header-widget,.sx-footer-widget) .sx-icon{
  fill:none!important;
  stroke:currentColor!important;
}

/* Desktop navigation buttons/links: block inherited pink border/background on every state. */
body.siteorix-hf-theme-guard .sx-header-widget .sx-nav>a,
body.siteorix-hf-theme-guard .sx-header-widget .sx-nav-button,
body.siteorix-hf-theme-guard .sx-header-widget .sx-nav-button:focus,
body.siteorix-hf-theme-guard .sx-header-widget .sx-nav-button:active{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  padding:var(--sx-nav-padding)!important;
  border-radius:var(--sx-nav-radius)!important;
  color:var(--sx-nav-color)!important;
  background-color:transparent!important;
  background-image:none!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
body.siteorix-hf-theme-guard .sx-header-widget .sx-nav>a:hover,
body.siteorix-hf-theme-guard .sx-header-widget .sx-nav-button:hover,
body.siteorix-hf-theme-guard .sx-header-widget .sx-nav-button[aria-expanded="true"]{
  color:var(--sx-nav-hover-color)!important;
  background-color:var(--sx-nav-hover-bg)!important;
  border-color:transparent!important;
}
body.siteorix-hf-theme-guard .sx-header-widget .sx-nav>a[aria-current="page"]{
  color:var(--sx-nav-active-color)!important;
  background-color:var(--sx-nav-hover-bg)!important;
}
body.siteorix-hf-theme-guard .sx-header-widget .sx-nav-button>.sx-icon{
  margin:0!important;
  flex:0 0 auto!important;
  align-self:center!important;
}

/* Search + hamburger icon buttons: exact centering and fully controlled states. */
body.siteorix-hf-theme-guard .sx-header-widget .sx-search-btn,
body.siteorix-hf-theme-guard .sx-header-widget .sx-menu-btn{
  place-items:center!important;
  align-content:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  min-width:0!important;
  min-height:0!important;
  line-height:1!important;
  text-align:center!important;
  border:1px solid var(--sx-action-border)!important;
  border-radius:50%!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body.siteorix-hf-theme-guard .sx-header-widget .sx-search-btn{display:grid!important}
body.siteorix-hf-theme-guard .sx-header-widget .sx-menu-btn{display:none!important}
@media(max-width:1180px){body.siteorix-hf-theme-guard .sx-header-widget .sx-menu-btn{display:grid!important}}
body.siteorix-hf-theme-guard .sx-header-widget .sx-search-btn{
  color:var(--sx-search-color)!important;
  background-color:var(--sx-search-bg)!important;
}
body.siteorix-hf-theme-guard .sx-header-widget .sx-search-btn:hover,
body.siteorix-hf-theme-guard .sx-header-widget .sx-search-btn:focus,
body.siteorix-hf-theme-guard .sx-header-widget .sx-search-btn:active{
  color:var(--sx-search-hover-color)!important;
  background-color:var(--sx-search-hover-bg)!important;
  border-color:var(--sx-action-border)!important;
}
body.siteorix-hf-theme-guard .sx-header-widget .sx-search-btn svg{
  display:block!important;
  width:19px!important;
  height:19px!important;
  margin:auto!important;
  padding:0!important;
  position:static!important;
  transform:none!important;
  fill:none!important;
  stroke:currentColor!important;
}
body.siteorix-hf-theme-guard .sx-header-widget .sx-menu-btn{
  color:var(--sx-menu-color)!important;
  background-color:var(--sx-menu-bg)!important;
}
body.siteorix-hf-theme-guard .sx-header-widget .sx-menu-btn:hover,
body.siteorix-hf-theme-guard .sx-header-widget .sx-menu-btn:focus,
body.siteorix-hf-theme-guard .sx-header-widget .sx-menu-btn:active,
body.siteorix-hf-theme-guard .sx-header-widget .sx-menu-btn[aria-expanded="true"]{
  color:var(--sx-menu-hover-color)!important;
  background-color:var(--sx-menu-hover-bg)!important;
  border-color:var(--sx-action-border)!important;
}
body.siteorix-hf-theme-guard .sx-header-widget .sx-menu-btn span{
  display:block!important;
  justify-self:center!important;
  margin:0!important;
  padding:0!important;
}
body.siteorix-hf-theme-guard .sx-header-widget .sx-menu-btn span:nth-child(2){
  width:13px!important;
  justify-self:center!important;
  margin:0!important;
}

/* Mobile drawer: neutral button rows so Hello cannot turn Services/More pink. */
body.siteorix-hf-theme-guard .sx-header-widget .sx-mobile-nav>a,
body.siteorix-hf-theme-guard .sx-header-widget .sx-mobile-accordion,
body.siteorix-hf-theme-guard .sx-header-widget .sx-mobile-accordion:focus,
body.siteorix-hf-theme-guard .sx-header-widget .sx-mobile-accordion:active{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:100%!important;
  min-width:0!important;
  padding:var(--sx-mobile-row-padding)!important;
  border-radius:var(--sx-mobile-row-radius)!important;
  color:var(--sx-mobile-menu-color)!important;
  background-color:var(--sx-mobile-menu-bg)!important;
  background-image:none!important;
  border-top:0!important;
  border-right:0!important;
  border-left:0!important;
  border-bottom:1px solid var(--sx-mobile-divider)!important;
  box-shadow:none!important;
  text-align:left!important;
}
body.siteorix-hf-theme-guard .sx-header-widget .sx-mobile-nav>a:hover,
body.siteorix-hf-theme-guard .sx-header-widget .sx-mobile-nav>a[aria-current="page"],
body.siteorix-hf-theme-guard .sx-header-widget .sx-mobile-accordion:hover,
body.siteorix-hf-theme-guard .sx-header-widget .sx-mobile-accordion[aria-expanded="true"]{
  color:var(--sx-mobile-menu-hover)!important;
  background-color:var(--sx-mobile-menu-hover-bg)!important;
}
body.siteorix-hf-theme-guard .sx-header-widget .sx-mobile-accordion-label{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  text-align:left!important;
}
body.siteorix-hf-theme-guard .sx-header-widget .sx-mobile-accordion>.sx-icon{
  display:block!important;
  flex:0 0 auto!important;
  margin:0 0 0 14px!important;
  padding:0!important;
  align-self:center!important;
  fill:none!important;
  stroke:currentColor!important;
}

/* Drawer close button: SVG-based X gives true optical centering. */
body.siteorix-hf-theme-guard .sx-header-widget .sx-mobile-close,
body.siteorix-hf-theme-guard .sx-header-widget .sx-mobile-close:focus,
body.siteorix-hf-theme-guard .sx-header-widget .sx-mobile-close:active{
  display:grid!important;
  place-items:center!important;
  width:var(--sx-mobile-close-size)!important;
  height:var(--sx-mobile-close-size)!important;
  min-width:var(--sx-mobile-close-size)!important;
  min-height:var(--sx-mobile-close-size)!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
  border:0!important;
  border-radius:50%!important;
  color:var(--sx-mobile-close-color)!important;
  background-color:var(--sx-mobile-close-bg)!important;
  background-image:none!important;
}
body.siteorix-hf-theme-guard .sx-header-widget .sx-mobile-close:hover{
  color:var(--sx-mobile-close-hover-color)!important;
  background-color:var(--sx-mobile-close-hover-bg)!important;
}
body.siteorix-hf-theme-guard .sx-header-widget .sx-mobile-close .sx-icon{
  display:block!important;
  width:18px!important;
  height:18px!important;
  margin:0!important;
  padding:0!important;
  fill:none!important;
  stroke:currentColor!important;
}

/* Search modal controls also stay independent from Hello's button defaults. */
body.siteorix-hf-theme-guard .sx-header-widget .sx-search-close,
body.siteorix-hf-theme-guard .sx-header-widget .sx-search-close:hover,
body.siteorix-hf-theme-guard .sx-header-widget .sx-search-close:focus,
body.siteorix-hf-theme-guard .sx-header-widget .sx-search-close:active{
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  line-height:1!important;
  background-color:transparent!important;
  background-image:none!important;
  color:#fff!important;
  border:1px solid #ffffff30!important;
  border-radius:50%!important;
}
body.siteorix-hf-theme-guard .sx-header-widget .sx-search-close .sx-icon{
  width:20px!important;
  height:20px!important;
  margin:0!important;
  fill:none!important;
  stroke:currentColor!important;
}
body.siteorix-hf-theme-guard .sx-header-widget .sx-search-modal button[type="submit"],
body.siteorix-hf-theme-guard .sx-header-widget .sx-search-modal button[type="submit"]:hover,
body.siteorix-hf-theme-guard .sx-header-widget .sx-search-modal button[type="submit"]:focus,
body.siteorix-hf-theme-guard .sx-header-widget .sx-search-modal button[type="submit"]:active{
  color:var(--sx-lime)!important;
  background-color:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* v3.1.0 — exact action circles + tablet action layout hardening.
   Flex containers are allowed to shrink ordinary items; circular controls must never
   shrink on one axis because that produces the half-circle/pill seen on real devices. */
.sx-header-widget{--sx-search-size:44px;--sx-menu-size:44px}
.sx-header-actions{flex:0 0 auto;min-width:max-content;justify-content:flex-end}
.sx-search-btn,.sx-menu-btn{
  flex-shrink:0!important;
  padding:0!important;
  aspect-ratio:1/1!important;
  border-radius:999px!important;
  line-height:1!important;
}
.sx-search-btn{
  width:var(--sx-search-size)!important;
  height:var(--sx-search-size)!important;
  min-width:var(--sx-search-size)!important;
  min-height:var(--sx-search-size)!important;
  max-width:var(--sx-search-size)!important;
  max-height:var(--sx-search-size)!important;
  flex-basis:var(--sx-search-size)!important;
}
.sx-menu-btn{
  width:var(--sx-menu-size)!important;
  height:var(--sx-menu-size)!important;
  min-width:var(--sx-menu-size)!important;
  min-height:var(--sx-menu-size)!important;
  max-width:var(--sx-menu-size)!important;
  max-height:var(--sx-menu-size)!important;
  flex-basis:var(--sx-menu-size)!important;
}
.sx-search-btn svg{display:block!important;margin:0!important;place-self:center!important;transform:none!important}
.sx-menu-btn span{margin:0!important;justify-self:center!important}
.sx-menu-btn span:nth-child(2){margin:0!important;justify-self:center!important}
.sx-cta{flex:0 0 auto;min-width:max-content}

/* Tablet uses the clean mobile navigation action pair. The desktop CTA is intentionally
   hidden here so it can never collide with or squeeze Search/Menu on 768–1180px widths. */
@media(max-width:1180px){
  .sx-header-widget{--sx-search-size:42px;--sx-menu-size:42px}
  .sx-cta{display:none!important}
  .sx-header-actions{gap:9px!important}
}
@media(max-width:760px){
  .sx-header-widget{--sx-search-size:40px;--sx-menu-size:40px}
  .sx-header-actions{gap:7px!important}
}

/* Reassert exact dimensions inside Theme Style Guard after Hello/Elementor states. */
body.siteorix-hf-theme-guard .sx-header-widget .sx-search-btn{
  width:var(--sx-search-size)!important;height:var(--sx-search-size)!important;
  min-width:var(--sx-search-size)!important;min-height:var(--sx-search-size)!important;
  max-width:var(--sx-search-size)!important;max-height:var(--sx-search-size)!important;
  flex:0 0 var(--sx-search-size)!important;aspect-ratio:1/1!important;
}
body.siteorix-hf-theme-guard .sx-header-widget .sx-menu-btn{
  width:var(--sx-menu-size)!important;height:var(--sx-menu-size)!important;
  min-width:var(--sx-menu-size)!important;min-height:var(--sx-menu-size)!important;
  max-width:var(--sx-menu-size)!important;max-height:var(--sx-menu-size)!important;
  flex:0 0 var(--sx-menu-size)!important;aspect-ratio:1/1!important;
}
body.siteorix-hf-theme-guard .sx-header-widget .sx-menu-btn span:nth-child(2){margin:0!important;justify-self:center!important}
