/* Shared footer and document surfaces; tokens follow DESIGN.md. */
.footer .footer-main{display:grid;grid-template-columns:1.25fr .7fr .8fr 1.3fr;gap:32px;padding-block:40px 30px;align-items:start}
.footer .footer-brand{display:flex;flex-direction:column;gap:10px;align-items:start;min-width:0}
.footer .footer-brand .brand{margin-bottom:8px;font-size:16px;gap:10px}
.footer .footer-brand .brand img{width:40px;height:40px}
.footer .footer-brand p{display:block;font-size:14px;line-height:1.6;margin:0 0 8px;color:var(--muted,#455365)}
.footer .footer-main nav{display:flex;flex-direction:column;gap:4px;min-width:0}
.footer .footer-main h2{font-size:13px;line-height:1.5;letter-spacing:0;margin:0 0 12px;color:#455365;font-weight:600}
.footer .footer-main a:not(.brand){display:inline-flex;font-size:13px;line-height:1.65;min-height:40px;align-items:center;gap:6px;padding-block:6px;overflow-wrap:anywhere;text-decoration:none}
.footer a:hover,.footer a:focus-visible{color:#064bff}
.footer .footer-bottom{display:flex;flex-wrap:wrap;gap:16px 28px;justify-content:space-between;align-items:center;padding-block:18px;font-size:12px}
.footer .footer-bottom>span:last-child{font-size:12px}
.footer .footer-bottom button{font-size:12px;min-height:44px}
.footer .footer-owner{max-width:640px;line-height:1.6}
.legal-page{padding-block:44px 72px}
.legal-page>h1{max-width:1050px;font-size:clamp(30px,4vw,56px);line-height:1.12;letter-spacing:-.035em;margin:20px 0}
.legal-meta{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:13px;color:#455365;padding:0 0 30px;border-bottom:1px solid #c2d3e9}
.legal-layout{display:grid;grid-template-columns:280px minmax(0,780px);gap:clamp(32px,5vw,80px);padding-top:32px;justify-content:space-between}
.legal-sidebar{font-size:13px;min-width:0}
.legal-sidebar nav{display:flex;flex-direction:column;gap:4px;padding-bottom:24px}
.legal-sidebar a{display:block;padding:10px 12px;border-radius:8px;line-height:1.5;text-decoration:none;overflow-wrap:anywhere}
.legal-sidebar a[aria-current],.legal-sidebar a:hover{background:#e8f2ff;color:#064bff}
.legal-sidebar strong{padding:10px 12px}
.legal-article{font-size:16px;line-height:1.85;min-width:0;overflow-wrap:anywhere}
.legal-article p,.legal-article ul{margin:0 0 24px;white-space:pre-line;font-size:inherit}
.legal-article h2{font-size:24px;line-height:1.35;letter-spacing:-.02em;margin:32px 0 16px}
.legal-section{scroll-margin-top:110px}
.legal-article a{text-decoration:underline;text-underline-offset:4px}
.owner-details{margin:24px 0}
.owner-details>div{display:grid;grid-template-columns:1fr 1.4fr;gap:24px;border-top:1px solid #c2d3e9;padding:18px 0}
.owner-details dt{font-size:13px;color:#455365}
.owner-details dd{margin:0;font-weight:600}
.legal-preview-note{background:#fff4df;color:#654c18;border:1px solid #d8bb7e;border-radius:12px;padding:16px;margin:0 0 24px;font-size:14px;line-height:1.6}
.legal-unavailable{max-width:680px;font-size:17px;line-height:1.7}
.legal-layout{border-top:1px solid var(--line,#c2d3e9);grid-template-columns:minmax(220px,.7fr) minmax(0,2fr);gap:clamp(28px,4vw,64px)}
.legal-article{max-width:850px}.legal-article .legal-section:first-child h2{margin-top:0}
.legal-toc{border-block:1px solid var(--line,#c2d3e9);padding-block:8px}
.legal-toc summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 12px;font-size:14px;font-weight:650}
.legal-toc summary .icon{width:18px;height:18px;flex-shrink:0}
.legal-sidebar .legal-toc nav{padding-bottom:8px}
.legal-sidebar details.legal-toc nav[aria-label]{display:flex}
.owner-contact-links{display:grid;gap:0;border-top:1px solid var(--line,#c2d3e9)}
.owner-contact-links>a{display:flex;align-items:center;gap:16px;padding:18px 0;min-height:64px;text-decoration:none;border-bottom:1px solid var(--line,#c2d3e9)}
.owner-contact-links>a>span{flex:1;min-width:0}.owner-contact-links small{display:block;font-size:13px;font-weight:400;color:var(--muted,#455365)}
.owner-contact-links .icon{width:22px;height:22px;flex-shrink:0}.owner-contact-links>a:hover{color:var(--blue,#064bff);background:#edf5ff}
.owner-cta{margin-top:36px;padding:28px;background:#eaf2ff;border-radius:20px;border:1px solid #c2d3e9}
.owner-cta .button{text-decoration:none}.legal-article a:focus-visible,.legal-toc summary:focus-visible{outline:2px solid #064bff;outline-offset:4px;border-radius:4px}
@media(max-width:760px){.legal-layout{grid-template-columns:1fr;gap:28px}.legal-sidebar nav{padding-bottom:16px}.legal-sidebar .legal-toc nav{display:flex}.owner-cta{padding:22px}.owner-cta .button{max-width:100%}}
@media(max-width:1000px){.footer .footer-main{grid-template-columns:1fr 1fr}.legal-layout{grid-template-columns:220px minmax(0,1fr);gap:28px}}
@media(max-width:680px){.footer .footer-main{grid-template-columns:1fr;gap:24px;padding-block:30px 20px}.footer .footer-main h2{margin-bottom:4px}.footer .footer-main a:not(.brand){min-height:44px;font-size:14px}.footer .footer-bottom{display:flex;flex-direction:column;align-items:start;gap:8px}.legal-page{padding-block:24px 40px}.legal-layout{grid-template-columns:1fr;gap:4px;padding-top:22px}.legal-sidebar nav:last-child:not(:first-child){display:none}.legal-article{font-size:16px}.legal-article h2{font-size:22px}.owner-details>div{grid-template-columns:1fr;gap:6px}.legal-meta{font-size:12px;padding-bottom:20px}}
@media print{.header,.footer,.legal-sidebar,.skip,.legal-preview-note,.nojs-nav{display:none}.legal-page{width:auto;max-width:none;padding:0}.legal-layout{display:block}.legal-article{font-size:11pt;color:#000}.legal-article h2{break-after:avoid}.owner-details>div{break-inside:avoid}}
