/* Shared footer and document pages. No external assets or browser storage. */
.site-footer { background:#252e29; color:#f6f5f1; }
.footer-wrap { max-width:1536px; padding-inline:clamp(24px,5vw,88px); margin-inline:auto; }
.footer-main { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr); gap:64px; padding-block:76px 70px; }
.footer-brand { display:inline-flex; align-items:center; gap:13px; color:inherit; font-size:34px; line-height:1; font-weight:600; letter-spacing:-.055em; text-decoration:none; }
.footer-brand svg { width:34px; height:34px; flex:none; }
.footer-description { margin-top:24px; color:#b7bfb6; font-size:15px; line-height:1.7; }
.footer-email { display:inline-flex; gap:18px; align-items:center; margin-top:26px; color:#f6f5f1; font-size:14px; text-decoration:none; }
.footer-column h2 { margin:2px 0 22px; color:#f6f5f1; font-size:13px; line-height:1.5; font-weight:600; letter-spacing:0; }
.footer-column ul { display:grid; gap:13px; margin:0; padding:0; list-style:none; }
.footer-column a { display:inline-block; padding-block:3px; color:#b7bfb6; font-size:14px; line-height:1.6; text-decoration:none; }
.site-footer a:hover { color:#fff; text-decoration:underline; text-underline-offset:5px; }
.site-footer a:focus-visible { outline:2px solid #f6f5f1; outline-offset:6px; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-block:24px; border-top:1px solid #465048; }
.footer-bottom p { margin:0; color:#b7bfb6; font-size:12px; line-height:1.6; }
.footer-legal a { display:inline-block; color:#b7bfb6; font-size:12px; line-height:1.6; text-decoration:none; }
@font-face { font-family:Inter; src:url('Inter-Regular.ttf') format('truetype'); font-weight:400; font-display:swap; }
@font-face { font-family:Inter; src:url('Inter-SemiBold.ttf') format('truetype'); font-weight:600; font-display:swap; }
.legal-page { margin:0; background:#f6f5f1; color:#272b27; font-family:Inter,Arial,sans-serif; font-size:16px; line-height:1.75; }
.legal-page * { box-sizing:border-box; }
.legal-page a { color:inherit; text-underline-offset:4px; }
.legal-page a:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.legal-page .legal-header { max-width:1536px; margin:auto; padding:28px clamp(24px,5vw,88px); display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid #d9dad2; }
.legal-header .footer-brand { font-size:23px; }
.legal-header .footer-brand svg { width:27px; height:27px; }
.legal-back { font-size:13px; text-decoration:none; }
.legal-content { max-width:900px; margin:auto; padding:76px 32px 100px; }
.legal-eyebrow { color:#63665e; font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; margin:0 0 20px; }
.legal-content h1 { margin:0 0 20px; font-size:clamp(36px,5vw,58px); font-weight:400; letter-spacing:-.05em; line-height:1.1; overflow-wrap:anywhere; }
.legal-lead { color:#63665e; max-width:60ch; margin:0 0 48px; }
.legal-content section { margin-top:36px; }
.legal-content h2 { font-size:21px; font-weight:600; line-height:1.4; margin:0 0 12px; letter-spacing:-.02em; }
.legal-content p { margin:0 0 16px; }
.company-details { margin:0; }
.company-details>div { display:grid; grid-template-columns:170px minmax(0,1fr); gap:28px; padding:22px 0; border-top:1px solid #d9dad2; }
.company-details dt { color:#63665e; font-size:14px; }
.company-details dd { margin:0; overflow-wrap:anywhere; }
.legal-note { padding:20px 24px; border-left:2px solid #63665e; background:#eeeee7; font-size:14px; }
.legal-content ul { padding-left:22px; }
.legal-content li+li { margin-top:8px; }
@media(max-width:760px) {
 .footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 24px; padding-block:48px 40px; }
 .footer-identity { grid-column:1/-1; }
 .footer-brand { font-size:30px; }
 .footer-brand svg { width:30px; height:30px; }
 .footer-description { margin-top:20px; font-size:14px; }
 .footer-email { margin-top:18px; }
 .footer-column h2 { margin-bottom:16px; }
 .footer-column a { font-size:13px; }
 .footer-bottom { flex-direction:column; gap:8px; padding-block:22px; }
 .footer-bottom p { font-size:11px; }
 .footer-legal a { padding-block:4px; }
 .legal-page .legal-header { padding-block:22px; gap:16px; }
 .legal-header .footer-brand { font-size:20px; gap:9px; }
 .legal-back { font-size:12px; }
 .legal-content { padding:48px 24px 64px; }
 .company-details>div { grid-template-columns:1fr; gap:6px; padding-block:18px; }
}
@media print { .site-footer,.legal-header { display:none!important; } .legal-content { max-width:none; padding:0; } }
