.legal-footer{position:relative;z-index:2;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 24px;padding:28px;border-top:1px solid #ffffff17;background:#000;color:#a7a7b0;font:14px/1.5 "Outfit",system-ui,sans-serif}
.legal-footer a,.legal-footer button{display:inline-flex;align-items:center;min-height:44px}
.legal-footer .owner-contact{gap:6px}
.legal-footer button{border:0;background:none;color:inherit;font:inherit;cursor:pointer}
.legal-footer a:hover,.legal-footer button:hover{color:#a9c4cf}
.legal-notice{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:20px;z-index:100;width:calc(100% - 40px);max-width:400px;max-height:calc(100dvh - 40px);overflow:auto;padding:26px;border:1px solid #ffffff26;border-radius:18px;background:#101012;color:#f5f5f4;box-shadow:0 16px 60px #0009;font-family:"Outfit",system-ui,sans-serif;animation:legal-enter .25s ease-out}
.legal-notice[hidden],.legal-footer [hidden]{display:none}
.legal-eyebrow{display:block;padding-right:30px;color:#a9c4cf;font:11px/1.6 "JetBrains Mono",ui-monospace,monospace;text-transform:uppercase;letter-spacing:.09em}
.legal-notice h2{margin:10px 0;font-size:25px;line-height:1.2;font-weight:500;letter-spacing:-.03em}
.legal-notice p{margin:0;color:#b5b5bd;font-size:15px;line-height:1.6}
.legal-close{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#b5b5bd;font:26px/1 system-ui;cursor:pointer}
.legal-close:hover{background:#ffffff0d;color:#fff}
.legal-notice-links{display:flex;flex-wrap:wrap;gap:4px 22px;margin:12px 0}
.legal-notice-links a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#d2e1e7;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.legal-button{display:block;min-height:44px;padding:10px 24px;border:0;border-radius:999px;background:#f5f5f4;color:#101012;font:600 14px/1.5 "Outfit",system-ui,sans-serif;cursor:pointer}
.legal-button:hover{background:#a9c4cf}
.legal-notice small{display:block;margin-top:12px;color:#a7a7b0;font-size:12px;line-height:1.5}
.legal-notice :focus-visible,.legal-footer :focus-visible,.legal-page :focus-visible{outline:2px solid #a9c4cf;outline-offset:4px;border-radius:4px}
@keyframes legal-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.legal-page{margin:0;background:#000;color:#f5f5f4;font:16px/1.75 "Outfit",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.legal-page *{box-sizing:border-box}
.legal-page a{color:#a9c4cf;text-underline-offset:4px}
.legal-header{max-width:1120px;margin:auto;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #ffffff17}
.legal-header a{display:inline-flex;align-items:center;min-height:44px}
.legal-header .legal-brand{gap:10px;color:#f5f5f4;text-decoration:none;font-size:20px;font-weight:600}
.legal-brand span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#f5f5f4;color:#000}
.legal-document{max-width:760px;margin:0 auto;padding:72px 24px 88px}
.legal-document h1{margin:14px 0 12px;font-size:clamp(38px,7vw,64px);line-height:1.05;font-weight:500;letter-spacing:-.05em}
.legal-document .legal-intro{font-size:19px;color:#c5c5cd}
.legal-document .legal-date{color:#a7a7b0;font-size:13px;margin-bottom:40px}
.legal-document section{margin-top:32px;scroll-margin-top:24px}
.legal-document h2{font-size:22px;font-weight:500;letter-spacing:-.02em;margin:0 0 10px}
.legal-document p,.legal-document li{color:#b5b5bd}
.legal-document p{margin:0 0 16px}
.legal-document ul{padding-left:24px}
.legal-contents{display:flex;flex-wrap:wrap;gap:8px 20px;padding:20px 0;border-block:1px solid #ffffff17;font-size:14px}
.legal-contents a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:480px){.legal-notice{left:12px;bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 24px);padding:22px}.legal-footer{gap:4px 16px;padding:20px}.legal-footer>span{width:100%;text-align:center}.legal-document{padding-top:44px}.legal-header{padding:16px 24px}}
@media(prefers-reduced-motion:reduce){.legal-notice{animation:none}}
