/* Brand shell only. No page-content element selectors or global token overrides. */
.sg-shell { --sg-shell-bg:#071a2e; --sg-shell-text:#f5f8fc; --sg-shell-muted:#b6c6d8; --sg-shell-line:#243b53; --sg-shell-blue:#1768d0; color:var(--sg-shell-text); background:var(--sg-shell-bg); font-family:Inter,"Noto Sans SC",system-ui,sans-serif; font-size:15px; line-height:1.6; isolation:isolate; }
.sg-shell,.sg-shell *,.sg-shell *::before,.sg-shell *::after { box-sizing:border-box; }
.sg-shell :where(a,button) { -webkit-tap-highlight-color:transparent; }
.sg-shell a { color:inherit; text-decoration:none; overflow-wrap:anywhere; }
.sg-shell a:hover { color:#91c9ff; }
.sg-shell :where(a,button):focus-visible { outline:3px solid #85c5ff; outline-offset:4px; border-radius:4px; }
.sg-shell-header { position:sticky; top:0; z-index:100; border-bottom:1px solid var(--sg-shell-line); }
.admin-bar .sg-shell-header { top:var(--wp-admin--admin-bar--height,32px); }
.sg-shell-header__inner { width:min(100% - 64px,1280px); min-height:80px; margin-inline:auto; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:28px; }
.sg-shell-brand { display:flex; gap:10px; align-items:center; min-width:0; font-size:21px; font-weight:750; letter-spacing:-.6px; color:#fff; }
.sg-shell-brand .custom-logo-link { display:flex; align-items:center; min-width:0; max-width:100%; }
.sg-shell-brand .custom-logo { display:block; width:auto; max-width:min(190px,100%); max-height:42px; object-fit:contain; }
.sg-shell-mark { display:block; flex:0 0 32px; }
.sg-shell-navigation { justify-self:center; min-width:0; }
.sg-shell-menu { padding:0; margin:0; list-style:none; }
.sg-shell-navigation > .sg-shell-menu { display:flex; align-items:center; gap:2px; }
.sg-shell-menu li { margin:0; padding:0; list-style:none; position:relative; }
.sg-shell-navigation .sg-shell-menu a { min-height:44px; padding:10px 11px; display:flex; align-items:center; font-size:14px; font-weight:550; white-space:nowrap; border-radius:5px; }
.sg-shell-navigation .sg-shell-menu a:hover,.sg-shell-navigation .current-menu-item > a { background:#112d48; color:#9bceff; }
.sg-shell .sub-menu { padding:10px; margin:0; list-style:none; background:#0e263e; border:1px solid var(--sg-shell-line); border-radius:8px; min-width:190px; }
.sg-shell-navigation .sub-menu { position:absolute; top:100%; left:0; display:none; }
.sg-shell-navigation .sub-menu .sub-menu { top:0; left:100%; }
.sg-shell-navigation li.is-open > .sub-menu,.sg-shell-navigation:not(.is-enhanced) .sub-menu { display:block; }
.sg-shell-cta { display:inline-flex; justify-content:center; align-items:center; gap:12px; padding:11px 17px; min-height:44px; background:var(--sg-shell-blue); border:1px solid #478ff3; color:#fff; border-radius:6px; font-size:14px; font-weight:650; white-space:nowrap; }
.sg-shell a.sg-shell-cta:hover { background:#166cda; color:#fff; }
.sg-shell-cta--menu { display:none; }
.sg-shell-toggle,.sg-shell-submenu-toggle { border:1px solid #39536d; color:#fff; background:#112b45; border-radius:6px; min-width:44px; min-height:44px; padding:10px; cursor:pointer; box-shadow:none; }
.sg-shell-toggle { display:none; }
.sg-shell-toggle span { display:block; width:19px; height:2px; background:currentColor; margin:4px auto; }
.sg-shell-submenu-toggle { min-width:30px; min-height:30px; padding:3px 7px; margin-left:2px; }
.sg-shell-navigation .menu-item-has-children > a { display:inline-flex; }
.sg-shell-skip { position:fixed; left:16px; top:-120px; z-index:100001; padding:12px 20px; color:#fff; background:#123f6a; border-radius:4px; }
.sg-shell-skip:focus { top:12px; outline:3px solid #85c5ff; }
.sg-shell-footer { border-top:1px solid var(--sg-shell-line); padding:64px 0 24px; }
.sg-shell-footer__inner { width:min(100% - 64px,1280px); margin-inline:auto; }
.sg-shell-footer__grid { display:grid; grid-template-columns:minmax(220px,1.6fr) repeat(3,minmax(0,1fr)); gap:40px; }
@media(min-width:1101px) {
 .sg-shell-footer[data-footer-columns="2"] .sg-shell-footer__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .sg-shell-footer[data-footer-columns="3"] .sg-shell-footer__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
.sg-shell-footer[data-footer-layout="stacked"] .sg-shell-footer__grid { grid-template-columns:minmax(0,1fr); }
.sg-shell-footer__brand > p { max-width:32ch; margin:20px 0; color:var(--sg-shell-muted); font-size:14px; line-height:1.9; }
.sg-shell-footer__action { display:inline-block; font-weight:600; color:#91c9ff; }
.sg-shell-footer__social { display:flex; flex-wrap:wrap; gap:12px; margin:16px 0; font-size:13px; }
.sg-shell-footer__column h2 { margin:4px 0 18px; color:#fff; font-size:15px; line-height:1.5; font-weight:650; }
.sg-shell-footer .sg-shell-menu a { display:inline-block; padding:5px 0; color:var(--sg-shell-muted); font-size:14px; }
.sg-shell-footer .sg-shell-menu a:hover { color:#fff; text-decoration:underline; text-underline-offset:5px; }
.sg-shell-footer .sub-menu { padding:0 0 0 14px; border:0; background:none; min-width:0; }
.sg-shell-footer__column--fallback { grid-column:2 / -1; }
.sg-shell-footer__column--fallback > .sg-shell-menu { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px 24px; }
.sg-shell-footer__contact { margin-top:32px; display:flex; flex-wrap:wrap; gap:16px 32px; color:var(--sg-shell-muted); }
.sg-shell-footer__contact p { margin:0; font-size:14px; }
.sg-shell-footer__contact span { display:block; font-size:12px; }
.sg-shell-footer__widgets { margin-top:28px; }
.sg-shell-footer__bottom { margin-top:44px; padding-top:22px; border-top:1px solid var(--sg-shell-line); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; color:#a7bbcf; font-size:12px; }
.sg-shell-footer__bottom p { margin:0; }
.sg-shell-footer__bottom .sg-shell-menu { display:flex; flex-wrap:wrap; gap:5px 18px; }
.sg-shell-footer__bottom .sg-shell-menu a { font-size:12px; }
@media(max-width:1100px) {
 .sg-shell-header__inner { min-height:72px; grid-template-columns:minmax(0,1fr) auto auto; gap:16px; }
 .sg-shell-header .sg-shell-navigation { grid-column:1 / -1; grid-row:2; width:100%; justify-self:stretch; padding-bottom:20px; max-height:calc(100svh - 100px); overflow-y:auto; overscroll-behavior:contain; }
 .sg-shell-header.is-enhanced .sg-shell-navigation:not(.is-open) { display:none; }
 .sg-shell-header.is-enhanced .sg-shell-toggle { display:block; }
 .sg-shell-navigation > .sg-shell-menu { display:block; }
 .sg-shell-navigation .sg-shell-menu a { padding:12px 10px; font-size:16px; white-space:normal; }
 .sg-shell-navigation .sub-menu,.sg-shell-navigation .sub-menu .sub-menu { position:static; margin:4px 0 8px 10px; }
 .sg-shell-navigation.is-enhanced li:not(.is-open) > .sub-menu { display:none; }
 .sg-shell-footer__grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
 .sg-shell-footer__brand { grid-column:1 / -1; }
 .sg-shell-footer__column--fallback { grid-column:1 / -1; }
}
@media(max-width:600px) {
 .sg-shell-header__inner,.sg-shell-footer__inner { width:calc(100% - 40px); }
 .sg-shell-header__inner { min-height:68px; gap:12px; }
 .sg-shell-brand { font-size:20px; }
 .sg-shell-footer { padding-top:40px; }
 .sg-shell-footer__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 20px; }
 .sg-shell-footer__bottom { display:block; margin-top:30px; }
 .sg-shell-footer__bottom nav { margin-top:16px; }
 .sg-shell-footer__column--fallback > .sg-shell-menu { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .admin-bar .sg-shell-header { position:relative; top:0; }
}
@media(max-width:520px) {
 .sg-shell-cta--header { display:none; }
 .sg-shell-header__inner { grid-template-columns:minmax(0,1fr) auto; }
 .sg-shell-cta--menu { display:flex; margin-top:14px; }
}
@media(prefers-reduced-motion:no-preference) { .sg-shell a,.sg-shell button { transition:background-color .15s ease,color .15s ease; } }
