/* Shared navigation, legal pages, and cookie controls. Loaded after site.css. */
.header{position:sticky;top:0;z-index:100;height:96px;display:block;background:rgba(247,248,252,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(20,17,44,.08);transition:height .24s ease,box-shadow .24s ease}
.header-inner{width:min(1160px,calc(100% - 48px));height:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:30px}
.header.is-compact{height:68px;box-shadow:0 8px 24px rgba(20,17,44,.1)}
.header .logo{transition:width .24s ease}
.header.is-compact .logo{width:205px}
html[data-site='bos'] .header.is-compact{height:54px}
html[data-site='bos'] .header.is-compact .logo{width:148px}
html{scroll-padding-top:112px}
main [id]{scroll-margin-top:112px}

.legal-main{padding:64px 0 96px}
.legal-wrap{max-width:900px}
.legal-heading{max-width:780px;margin:0 auto 38px}
.legal-heading h1{font-size:clamp(38px,6vw,64px);margin:16px 0}
.legal-heading p:last-child{font-size:19px;color:var(--muted);max-width:730px}
.legal-sections{display:grid;gap:15px}
.legal-section{padding:25px 30px;border:1px solid var(--line);border-radius:12px;background:#fff}
.legal-section h2{font-size:24px;margin:0 0 12px}
.legal-section p{margin:0 0 12px;color:var(--muted)}
.legal-section p:last-child{margin-bottom:0}
.legal-section a{color:var(--action);text-underline-offset:3px}
.legal-update{margin:26px 0 0;color:var(--muted);font-size:13px}
.legal-contact{display:inline-flex;margin-top:14px;padding:11px 16px;border-radius:7px;background:var(--action);color:#fff!important;font-weight:800;text-decoration:none}

.footer-nav{display:flex;align-items:flex-end;gap:32px}
.footer-policy-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:12px}
.footer-policy-links a,.footer-policy-links button{color:#e1dfeb;text-decoration:none}
.footer-policy-links a:hover,.footer-policy-links button:hover{color:var(--volt)}
.footer-policy-links button{border:0;padding:0;background:transparent;font:inherit;cursor:pointer}
.footer-bottom{align-items:center;gap:16px;flex-wrap:wrap}

.cookie-banner[hidden]{display:none!important}
.cookie-banner{position:fixed;z-index:1000;left:50%;bottom:20px;transform:translateX(-50%);width:min(1120px,calc(100% - 32px));padding:22px 24px;border:1px solid #514d6c;border-radius:12px;background:#14112c;color:#fff;box-shadow:0 18px 54px rgba(10,8,28,.32)}
.cookie-content{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:26px}
.cookie-copy h2{font:700 21px/1.25 var(--display);margin:0 0 7px;color:#fff}
.cookie-copy p{font-size:14px;line-height:1.5;color:#d3d1df;margin:0;max-width:720px}
.cookie-copy a{display:inline-block;margin-top:7px;color:#e6d7be;font-size:13px;font-weight:700;text-underline-offset:3px}
.cookie-actions{display:flex;align-items:center;gap:9px}
.cookie-actions button{min-height:44px;min-width:142px;padding:10px 14px;border:1px solid #d2d0df;border-radius:7px;font:700 13px var(--font);cursor:pointer}
.cookie-reject{background:transparent;color:#fff}
.cookie-accept{background:#e6d7be;border-color:#e6d7be!important;color:#14112c}
.cookie-actions button:hover{filter:brightness(1.08)}
.cookie-actions button:focus-visible,.footer-policy-links button:focus-visible,.footer-policy-links a:focus-visible{outline:3px solid #a8a5dc;outline-offset:3px}
@media(max-width:800px){
 .header{height:80px}.header-inner{width:min(100% - 32px,650px);gap:14px}.header.is-compact{height:62px}.header .logo{width:min(250px,72vw)}.header.is-compact .logo{width:min(190px,64vw)}
 .legal-main{padding:45px 0 72px}.legal-section{padding:21px}.legal-section h2{font-size:21px}
 .footer-nav{width:100%;align-items:flex-start;flex-direction:column;gap:18px}.footer-policy-links{gap:14px}
 .cookie-banner{bottom:10px;width:calc(100% - 20px);padding:19px 17px}.cookie-content{grid-template-columns:1fr;gap:16px}.cookie-copy h2{font-size:19px}.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-actions button{min-width:0;width:100%;padding:10px 8px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.header,.header .logo{transition:none}}
