/* Shared footer, based on the approved navigation layout. */
body.site-app-shell{min-height:100vh;display:flex;flex-direction:column}
body.site-app-shell>main{flex:1 0 auto;width:100%;min-width:0}
body.public-site{min-height:100vh;display:flex;flex-direction:column}
body.public-site>main{flex:1 0 auto;min-height:0}
.site-footer{--footer-bg:#e6edf2;--footer-ink:#17232e;--footer-muted:#547086;--footer-line:#bccbd5;--footer-accent:#2c6cb0;flex:none;width:100%;max-width:none!important;margin:auto 0 0!important;padding:36px clamp(20px,4.5vw,72px) 18px!important;border:0!important;border-top:1px solid var(--footer-line)!important;background:var(--footer-bg);color:var(--footer-muted);text-align:left!important;font-size:14px!important}
.public-site footer.site-footer{max-width:none;margin:auto 0 0;padding:36px clamp(20px,4.5vw,72px) 18px;border:0;border-top:1px solid var(--footer-line);background:var(--footer-bg);color:var(--footer-muted);text-align:left;font-size:14px}
.public-site .site-footer-inner{width:min(1760px,100%);margin:0 auto}
.public-site .site-footer-grid{display:grid;grid-template-columns:minmax(250px,1.35fr) repeat(2,minmax(150px,.55fr));gap:36px;align-items:start;padding:0 0 28px}
.public-site .site-footer-brand{display:inline-flex;align-items:center;gap:13px;width:max-content;color:var(--footer-ink);text-decoration:none;font-size:22px;font-weight:850;letter-spacing:-.055em}
.public-site .site-footer-brand img{display:block;width:48px;height:48px;border-radius:50%;object-fit:cover;box-shadow:0 5px 16px #14202a18}
.public-site .site-footer h2{margin:4px 0 15px;color:var(--footer-ink);font-size:13px;line-height:1.2;font-weight:800;letter-spacing:.04em}
.public-site .site-footer-nav{display:grid;justify-items:start;gap:10px}
.public-site .site-footer-nav a{color:var(--footer-muted);font-size:14px;font-weight:650;text-decoration:none;transition:color 220ms ease,transform 220ms ease}
.public-site .site-footer-nav a:hover{color:var(--footer-accent);transform:translateX(3px)}
.public-site .site-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:15px;border-top:1px solid var(--footer-line);color:var(--footer-muted);font-size:12px;line-height:1.5}
.public-site .site-footer-bottom span:last-child{text-align:right}
:root[data-theme="dark"] .site-footer{--footer-bg:#263a4a;--footer-ink:#f1f6f9;--footer-muted:#b2c6d6;--footer-line:#526879;--footer-accent:#a9cdff}
.site-footer-inner{width:min(1760px,100%);margin:0 auto}
.site-footer-grid{display:grid;grid-template-columns:minmax(250px,1.35fr) repeat(2,minmax(150px,.55fr));gap:36px;align-items:start;padding:0 0 28px}
.site-footer-brand{display:inline-flex;align-items:center;gap:13px;width:max-content;color:var(--footer-ink)!important;text-decoration:none!important;font-size:22px;font-weight:850;letter-spacing:-.055em}
.site-footer-brand img{display:block;width:48px;height:48px;border-radius:50%;object-fit:cover;box-shadow:0 5px 16px #14202a18}
.site-footer h2{margin:4px 0 15px;color:var(--footer-ink);font-size:13px;line-height:1.2;font-weight:800;letter-spacing:.04em}
.site-footer-nav{display:grid;justify-items:start;gap:10px}
.site-footer-nav a{color:var(--footer-muted);font-size:14px;font-weight:650;text-decoration:none;transition:color 220ms ease,transform 220ms ease}
.site-footer-nav a:hover{color:var(--footer-accent);transform:translateX(3px)}
.site-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:15px;border-top:1px solid var(--footer-line);color:var(--footer-muted);font-size:12px;line-height:1.5}
.site-footer-bottom span:last-child{text-align:right}
@media(max-width:760px){.site-footer-grid,.public-site .site-footer-grid{grid-template-columns:minmax(0,1.2fr) minmax(130px,.8fr);gap:28px 20px}.site-footer-brand-block,.public-site .site-footer-brand-block{grid-column:1/-1}.site-footer-bottom,.public-site .site-footer-bottom{align-items:flex-start;flex-direction:column;gap:5px}.site-footer-bottom span:last-child,.public-site .site-footer-bottom span:last-child{text-align:left}}
@media(max-width:480px){.site-footer,.public-site footer.site-footer{padding:28px 18px 16px!important}.site-footer-grid,.public-site .site-footer-grid{grid-template-columns:1fr 1fr;gap:23px 16px}.site-footer-brand-block,.public-site .site-footer-brand-block{grid-column:1/-1}.site-footer-brand,.public-site .site-footer-brand{font-size:20px}.site-footer-brand img,.public-site .site-footer-brand img{width:43px;height:43px}.site-footer-bottom,.public-site .site-footer-bottom{font-size:11px}}
@media(prefers-reduced-motion:reduce){.site-footer-nav a{transition:none!important}}
