/* Footer and cookie UI match the local TurboHUB reference. */
.cookie-notice { position: fixed; right: 32px; bottom: 32px; z-index: 60; width: 328px; max-width: calc(100% - 32px); max-height: calc(100dvh - 32px); overflow: auto; padding: 24px; border-radius: 16px; background: var(--text); color: var(--inverse); font-size: 14px; line-height: 18px; }
.cookie-notice p { margin-bottom: 16px; }
.cookie-notice a { color: var(--accent); text-decoration: underline; text-underline-offset: 2px; }
.cookie-notice a:hover,.cookie-notice a:focus-visible { color: var(--inverse); }
.cookie-notice .sb-button { width: 100%; min-height: 56px; }
.cookie-notice .sb-button:hover { background: var(--inverse); color: var(--text); }
.cookie-policy { padding-block: 64px 100px; }
.cookie-policy .sb-heading { max-width: 980px; }
.cookie-policy h1 { font-size: 48px; line-height: 56px; letter-spacing: -1.5px; }
.cookie-policy .sb-heading p { font-size: 14px; line-height: 24px; }
.policy-content { max-width: 920px; font-size: 16px; line-height: 26px; }
.policy-content > * + * { margin-top: 16px; }
.policy-content > h2 { margin-top: 40px; }
.policy-content h2 { margin-bottom: 16px; font-size: 24px; line-height: 32px; }
.policy-content > h3 { margin-top: 32px; font-size: 20px; line-height: 28px; }
.policy-content > h2 + h3 { margin-top: 24px; }
.policy-content p + p { margin-top: 16px; }
.policy-content ul { padding-left: 24px; list-style: disc; }
.policy-content li + li { margin-top: 8px; }
.policy-content a { text-decoration: underline; text-underline-offset: 3px; }
.policy-storage { padding: 24px; margin-block: 20px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface); }
.policy-storage h3 { margin-bottom: 12px; font: 700 16px/24px var(--font-body); }
.policy-storage p + h3 { margin-top: 24px; }
.policy-storage code { font-size: 14px; overflow-wrap: anywhere; }
.policy-content [data-cookie-reset] { margin-top: 20px; }
.policy-reset-status { margin-top: 16px; font-size: 14px; }
.policy-reset-status:empty { display: none; }
.policy-back { margin-top: 40px; }
@media (max-width: 760px) { .cookie-notice { right: 16px; bottom: 16px; } .cookie-policy { padding-block: 40px 80px; } .cookie-policy h1 { font-size: 36px; line-height: 44px; letter-spacing: -1px; } }
@media (max-width: 460px) { .cookie-notice { left: 16px; width: auto; max-width: none; } .cookie-policy h1 { font-size: 30px; line-height: 36px; } .policy-content h2 { font-size: 22px; line-height: 28px; } .policy-storage { padding: 20px; } }
.site-footer { position: relative; overflow: hidden; min-height: 315px; padding-block: 64px; background: var(--text); color: var(--inverse); }
.footer-layout { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 56px; }
.footer-brand { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; min-height: 184px; }
.footer-logo { display: block; width: fit-content; }
.footer-logo img { display: block; width: 202px; height: 40px; }
.footer-company { color: var(--color-muted); font-size: 14px; line-height: 24px; }
#footer-legal:empty { display: none; }
#footer-legal a { display: inline-block; margin-top: 8px; }
.footer-contacts { display: flex; flex-direction: column; gap: 24px; margin: 0; font-size: 16px; line-height: 24px; font-style: normal; }
.footer-contacts dt { color: var(--accent); font-size: 14px; line-height: 20px; margin-bottom: 4px; }
.footer-contacts dd { margin: 0; }
.footer-orbits { position: absolute; right: max(0px,calc((100% - 1280px)/2 - 120px)); bottom: 0; width: 655px; height: 250px; max-width: none; pointer-events: none; }
.site-footer::before{content:none}
.site-footer a:not(.sb-button):hover{color:var(--inverse);text-decoration:underline;text-decoration-color:var(--accent)}
#footer-legal a{font-size:inherit;line-height:inherit;text-decoration:none}
@media(max-width:760px){.site-footer{padding-block:48px 112px}.footer-layout{grid-template-columns:1fr;gap:40px}.footer-brand{min-height:0;gap:32px}.footer-orbits{right:-180px;bottom:-40px;width:480px;height:auto}}
@media(max-width:460px){.footer-contacts{font-size:15px}}


.sb-policy-header .sb-header-inner{justify-content:space-between}
.sb-policy-header .text-action{flex-shrink:0}
@media(max-width:460px){.sb-policy-header .sb-header-inner{gap:12px}.sb-policy-header .text-action{font-size:13px;gap:6px}}
