:root { --legal-ink: #10212d; --legal-muted: #5d6d76; --legal-line: #dce5e8; --legal-paper: #fff; --legal-warm: #fff6eb; --legal-orange: #f58117; }
* { box-sizing: border-box; }
body.legal-page { margin: 0; color: var(--legal-ink); background: #f5f8f7; font-family: Inter, Arial, sans-serif; }
.legal-page .site-header { position: static; background: #10212d; }
.legal-header .header-inner { min-height: 68px; }
.legal-nav { display: flex; align-items: center; gap: 20px; font-size: 13px; font-weight: 700; }
.legal-nav a { color: #dce8eb; text-decoration: none; }
.legal-nav a:hover { color: #ffbb6a; }
.legal-nav a:focus-visible, .legal-content a:focus-visible { outline: 3px solid rgba(245, 129, 23, .35); outline-offset: 3px; border-radius: 3px; }
.legal-main { padding: 58px 0 72px; }
.legal-container { width: min(calc(100% - 40px), 860px); margin: 0 auto; }
.legal-intro { margin-bottom: 30px; }
.legal-kicker { margin: 0 0 12px; color: #db6611; font-size: 12px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.legal-intro h1 { max-width: 690px; margin: 0; color: var(--legal-ink); font-size: clamp(34px, 5vw, 52px); line-height: 1.08; letter-spacing: 0; }
.legal-intro p { max-width: 660px; margin: 16px 0 0; color: var(--legal-muted); font-size: 17px; line-height: 1.65; }
.legal-date { display: inline-flex; margin-top: 19px; padding: 7px 10px; border: 1px solid #f1d7b8; border-radius: 5px; background: var(--legal-warm); color: #77522d; font-size: 12px; font-weight: 700; }
.legal-content { padding: clamp(24px, 4vw, 48px); border: 1px solid var(--legal-line); border-radius: 8px; background: var(--legal-paper); box-shadow: 0 12px 30px rgba(16, 33, 45, .06); }
.legal-content section + section { margin-top: 36px; padding-top: 36px; border-top: 1px solid var(--legal-line); }
.legal-content h2 { margin: 0 0 12px; color: var(--legal-ink); font-size: 23px; line-height: 1.22; }
.legal-content h3 { margin: 25px 0 9px; font-size: 17px; }
.legal-content p, .legal-content li { color: #40505a; font-size: 15px; line-height: 1.7; }
.legal-content p { margin: 0; }
.legal-content p + p { margin-top: 13px; }
.legal-content ul { margin: 13px 0 0; padding-left: 21px; }
.legal-content li + li { margin-top: 6px; }
.legal-content a { color: #bd5305; font-weight: 800; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.legal-note { margin-top: 18px !important; padding: 15px 17px; border-left: 3px solid var(--legal-orange); border-radius: 4px; background: var(--legal-warm); color: #62482c !important; font-size: 14px !important; }
.legal-placeholder { display: inline-block; padding: 2px 5px; border-radius: 3px; background: #fff1df; color: #8a4b10; font-weight: 750; }
.legal-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 32px; }
.legal-links a { display: inline-flex; min-height: 40px; align-items: center; padding: 0 14px; border: 1px solid #d6e0e4; border-radius: 5px; color: var(--legal-ink); text-decoration: none; }
.legal-links a:hover { border-color: #ec9b50; background: #fff8ef; }
.legal-toc { margin: 0 0 28px; padding: 18px 20px; border: 1px solid #e4eaec; border-radius: 7px; background: #fbfcfc; }
.legal-toc h2 { margin: 0 0 10px; font-size: 15px; }
.legal-toc ol { columns: 2; gap: 28px; margin: 0; padding-left: 20px; }
.legal-toc li { margin: 5px 0; break-inside: avoid; font-size: 13px; line-height: 1.4; }
.legal-toc a { color: #40505a; text-decoration: none; }
.legal-toc a:hover { color: #bd5305; text-decoration: underline; text-underline-offset: 3px; }
.legal-table-wrap { margin-top: 18px; overflow: hidden; border: 1px solid var(--legal-line); border-radius: 6px; }
.legal-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.legal-table th { padding: 12px 14px; background: #eff4f4; color: #3f515a; font-size: 11px; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.legal-table td { padding: 14px; border-top: 1px solid var(--legal-line); color: #3f515a; line-height: 1.45; vertical-align: top; }
.legal-table code { color: #173241; font-size: 12px; font-weight: 800; white-space: normal; word-break: break-word; }
.legal-footer { margin-top: 0; }
.legal-policy-page .legal-main { padding-top: 70px; background: linear-gradient(180deg, #eef5f4 0, #f5f8f7 360px); }
.legal-policy-page .legal-container { width: min(calc(100% - 40px), 920px); }
.legal-policy-intro { margin: 0 auto 36px; max-width: 780px; text-align: center; }
.legal-policy-intro .legal-kicker { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 14px; }
.legal-policy-intro .legal-kicker::before { width: 7px; height: 7px; border-radius: 50%; background: #18a76c; content: ''; }
.legal-policy-intro h1 { max-width: none; font-size: clamp(38px, 5vw, 56px); }
.legal-policy-intro > p { max-width: 710px; margin-right: auto; margin-left: auto; font-size: 18px; }
.legal-policy-intro .legal-date { align-items: center; gap: 7px; padding: 10px 15px; border-color: #efd4b4; border-radius: 999px; box-shadow: 0 4px 12px rgba(131, 80, 29, .06); }
.legal-policy-intro .legal-date::before { width: 6px; height: 6px; border-radius: 50%; background: var(--legal-orange); content: ''; }
.legal-policy-content { padding: clamp(30px, 5vw, 58px); border-color: #d7e3e4; border-radius: 12px; box-shadow: 0 20px 46px rgba(16, 33, 45, .08); }
.legal-policy-content section { scroll-margin-top: 24px; }
.legal-policy-content section + section { margin-top: 38px; padding-top: 38px; border-top-color: #e5ebec; }
.legal-policy-content h2 { margin: 0 0 14px; color: var(--legal-ink); font-size: 25px; font-weight: 800; line-height: 1.2; letter-spacing: 0; }
.legal-policy-content h2::after { display: block; width: 34px; height: 3px; margin-top: 11px; border-radius: 99px; background: #f6a049; content: ''; }
.legal-policy-content h3 { margin: 26px 0 10px; color: #243947; font-size: 17px; font-weight: 800; line-height: 1.35; }
.legal-policy-content p, .legal-policy-content li { color: #3e505a; font-size: 16.5px; line-height: 1.76; }
.legal-policy-content p + p { margin-top: 15px; }
.legal-policy-toc { margin: 0 0 36px; padding: 22px 24px; border: 1px solid #e0e9e9; border-radius: 10px; background: #f9fbfb; }
.legal-policy-toc > p { margin: 0 0 12px; color: #334d58; font-size: 12px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.legal-policy-toc ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 28px; margin: 0; padding: 0; list-style: none; counter-reset: privacy-index; }
.legal-policy-toc li { counter-increment: privacy-index; margin: 0; border-bottom: 1px solid #e9eeee; }
.legal-policy-toc a { display: flex; gap: 10px; align-items: baseline; margin: 0 -8px; padding: 10px 8px; border-radius: 5px; color: #354d58; font-size: 13.5px; font-weight: 720; line-height: 1.4; text-decoration: none; transition: background .16s ease, color .16s ease, transform .16s ease; }
.legal-policy-toc a::before { color: #df7018; font-size: 11px; font-weight: 850; content: '0' counter(privacy-index); }
.legal-policy-toc a:hover, .legal-policy-toc a:focus-visible { background: #fff4e7; color: #a84a06; transform: translateX(2px); }
.legal-policy-about { max-width: 720px; }
.legal-identity { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 20px 0 0; overflow: hidden; border: 1px solid #dbe7e7; border-radius: 9px; background: #fbfdfd; }
.legal-identity > div { display: flex; min-height: 96px; flex-direction: column; justify-content: center; padding: 18px 20px; }
.legal-identity > div + div { border-left: 1px solid #e4ecec; }
.legal-identity dt { margin: 0 0 7px; color: #5a6c75; font-size: 11.5px; font-weight: 850; letter-spacing: .055em; line-height: 1.3; text-transform: uppercase; }
.legal-identity dd { margin: 0; color: #2d4652; font-size: 16px; font-weight: 800; line-height: 1.45; }
.legal-identity a { color: #a84a06; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.legal-policy-links { display: block; margin-top: 30px; padding: 25px 28px; border: 1px solid #dce7e7; border-radius: 10px; background: #fff; box-shadow: 0 10px 25px rgba(16, 33, 45, .04); }
.legal-policy-links > p { margin: 0 0 14px; color: #304a56; font-size: 13px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.legal-policy-links > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.legal-policy-links a { min-height: 48px; justify-content: space-between; border-color: #e0e8e9; border-radius: 7px; color: #28414d; font-size: 14px; font-weight: 750; text-decoration: none; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.legal-policy-links a::after { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; background: #fff2e2; color: #dc711d; content: '→'; transition: background .18s ease, color .18s ease; }
.legal-policy-links a:hover, .legal-policy-links a:focus-visible { border-color: #efbd87; background: #fffaf4; transform: translateY(-1px); }
.legal-policy-links a:hover::after, .legal-policy-links a:focus-visible::after { background: #f58117; color: #fff; }
.legal-policy-page .legal-nav { gap: 16px; font-size: 13.5px; }
.legal-policy-page .legal-nav a { display: inline-flex; min-height: 40px; align-items: center; padding: 0 3px; border-radius: 4px; transition: color .16s ease, background .16s ease; }
.legal-policy-page .legal-nav a:hover { background: rgba(255, 255, 255, .06); color: #ffbb6a; }
.legal-policy-page .legal-nav a:focus-visible, .legal-policy-page .legal-footer a:focus-visible { outline: 2px solid #ffc46e; outline-offset: 3px; }
.legal-page .legal-footer { border-top: 1px solid rgba(255, 255, 255, .12); }
.legal-page .legal-footer .footer-main { padding-top: 44px; padding-bottom: 35px; }
.legal-page .legal-footer .footer-main nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 22px; }
.legal-page .legal-footer .footer-main nav a { line-height: 1.35; }
.legal-page .legal-footer .footer-bottom { padding-top: 18px; padding-bottom: 22px; border-top: 1px solid rgba(255, 255, 255, .1); }
.legal-policy-page .legal-footer .footer-main { grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); align-items: start; gap: 60px; padding-top: 38px; padding-bottom: 29px; }
.legal-policy-page .legal-footer .footer-main > div { max-width: 390px; }
.legal-policy-page .legal-footer .footer-main nav { justify-self: end; width: min(100%, 390px); gap: 12px 22px; }
.legal-policy-page .legal-footer .footer-main p { max-width: 350px; line-height: 1.55; }
.legal-policy-page .legal-footer .footer-main nav a { min-height: 27px; font-size: 12.5px; }
.legal-policy-page .legal-footer .footer-bottom { align-items: center; padding-top: 15px; padding-bottom: 19px; }
.legal-policy-page .legal-footer .footer-bottom a { min-height: 25px; display: inline-flex; align-items: center; }
.legal-cookies-page .legal-note { margin-top: 20px !important; padding: 17px 19px; border: 1px solid #f0dbbf; border-left: 3px solid var(--legal-orange); border-radius: 8px; background: #fff9f1; color: #62482c !important; font-size: 15.5px !important; line-height: 1.7 !important; }
.legal-cookies-page .legal-table-wrap { margin-top: 22px; overflow: hidden; border: 1px solid #dce7e8; border-radius: 9px; background: #fff; }
.legal-cookies-page .legal-technical-table { table-layout: fixed; font-size: 15px; }
.legal-cookies-page .legal-technical-table th { padding: 15px 18px; border-bottom: 1px solid #dce7e8; background: #f4f8f8; color: #36505a; font-size: 11.5px; font-weight: 850; letter-spacing: .055em; }
.legal-cookies-page .legal-technical-table td { padding: 18px; border-top-color: #e8eeee; color: #3d525d; font-size: 15px; line-height: 1.62; vertical-align: middle; }
.legal-cookies-page .legal-technical-table tbody tr:first-child td { border-top: 0; }
.legal-cookies-page .legal-technical-table tbody tr:hover { background: #fcfdfd; }
.legal-cookies-page .legal-technical-table code { display: inline-flex; max-width: 100%; padding: 6px 8px; border: 1px solid #dbe6e7; border-radius: 5px; background: #f5f8f8; color: #28434f; font-size: 13px; font-weight: 800; line-height: 1.4; overflow-wrap: anywhere; }
.legal-cookies-table th:nth-child(1), .legal-cookies-table td:nth-child(1) { width: 34%; }
.legal-cookies-table th:nth-child(2), .legal-cookies-table td:nth-child(2) { width: 48%; }
.legal-cookies-table th:nth-child(3), .legal-cookies-table td:nth-child(3) { width: 18%; }
.legal-local-storage-table th:nth-child(1), .legal-local-storage-table td:nth-child(1) { width: 30%; }
.legal-local-storage-table th:nth-child(2), .legal-local-storage-table td:nth-child(2) { width: 30%; }
.legal-local-storage-table th:nth-child(3), .legal-local-storage-table td:nth-child(3) { width: 24%; }
.legal-local-storage-table th:nth-child(4), .legal-local-storage-table td:nth-child(4) { width: 16%; }
.legal-session-storage-table th:nth-child(1), .legal-session-storage-table td:nth-child(1) { width: 24%; }
.legal-session-storage-table th:nth-child(2), .legal-session-storage-table td:nth-child(2) { width: 58%; }
.legal-session-storage-table th:nth-child(3), .legal-session-storage-table td:nth-child(3) { width: 18%; }
.legal-cookies-page .legal-functional-label { display: inline-flex; padding: 6px 8px; border: 1px solid #dbe6e7; border-radius: 5px; background: #f8faf9; color: #40545e; font-size: 14px; font-weight: 700; line-height: 1.4; }
@media (max-width: 640px) { .legal-cookies-page.legal-policy-page .legal-header .header-inner { width: min(calc(100% - 28px), var(--container)); min-height: 64px; gap: 14px; }.legal-cookies-page.legal-policy-page .legal-header .brand { gap: 8px; font-size: 19px; }.legal-cookies-page.legal-policy-page .legal-nav { gap: 7px; font-size: 12.5px; }.legal-cookies-page.legal-policy-page .legal-nav a { min-height: 42px; padding: 0 4px; }.legal-cookies-page.legal-policy-page .legal-main { padding-top: 36px; padding-bottom: 40px; }.legal-cookies-page.legal-policy-page .legal-policy-intro { max-width: 360px; margin-bottom: 23px; text-align: center; }.legal-cookies-page.legal-policy-page .legal-policy-intro .legal-kicker { margin-bottom: 10px; }.legal-cookies-page.legal-policy-page .legal-policy-intro h1 { max-width: 360px; margin-right: auto; margin-left: auto; font-size: 32px; line-height: 1.1; }.legal-cookies-page.legal-policy-page .legal-policy-intro > p { max-width: 350px; margin-right: auto; margin-left: auto; font-size: 15.5px; line-height: 1.55; }.legal-cookies-page.legal-policy-page .legal-policy-content { padding: 22px 18px; }.legal-cookies-page.legal-policy-page .legal-policy-content section + section { margin-top: 28px; padding-top: 28px; }.legal-cookies-page.legal-policy-page .legal-note { padding: 14px 16px; font-size: 15px !important; line-height: 1.62 !important; }.legal-cookies-page.legal-policy-page .legal-technical-table tbody { gap: 10px; }.legal-cookies-page.legal-policy-page .legal-technical-table td { gap: 4px; padding: 12px 16px; font-size: 15px; line-height: 1.55; }.legal-cookies-page.legal-policy-page .legal-technical-table td::before { font-size: 10.5px; }.legal-cookies-page.legal-policy-page .legal-functional-label { padding: 5px 8px; font-size: 13.5px; }.legal-cookies-page.legal-policy-page .legal-policy-toc { margin-bottom: 27px; padding: 16px; }.legal-cookies-page.legal-policy-page .legal-policy-toc a { min-height: 42px; align-items: center; padding: 9px 8px; }.legal-cookies-page.legal-policy-page .legal-policy-links { margin-top: 18px; padding: 18px; }.legal-cookies-page.legal-policy-page .legal-policy-links > p { margin-bottom: 12px; }.legal-cookies-page.legal-policy-page .legal-policy-links > div { gap: 8px; }.legal-cookies-page.legal-policy-page .legal-policy-links a { min-height: 46px; padding: 0 14px; }.legal-cookies-page.legal-policy-page .legal-footer .footer-main { gap: 20px; padding-top: 26px; padding-bottom: 22px; }.legal-cookies-page.legal-policy-page .legal-footer .footer-main nav { gap: 8px; }.legal-cookies-page.legal-policy-page .legal-footer .footer-main nav a { display: inline-flex; min-height: 32px; align-items: center; }.legal-cookies-page.legal-policy-page .legal-footer .footer-bottom { gap: 10px; padding-top: 14px; padding-bottom: 16px; } }
@media (max-width: 820px) { .legal-cookies-page .legal-table-wrap { overflow: visible; border: 0; background: transparent; }.legal-cookies-page .legal-technical-table, .legal-cookies-page .legal-technical-table tbody, .legal-cookies-page .legal-technical-table tr, .legal-cookies-page .legal-technical-table td { display: block; width: 100%; }.legal-cookies-page .legal-technical-table thead { display: none; }.legal-cookies-page .legal-technical-table tbody { display: grid; gap: 12px; }.legal-cookies-page .legal-technical-table tr { margin: 0; overflow: hidden; border: 1px solid #dce7e8; border-radius: 9px; background: #fff; }.legal-cookies-page .legal-technical-table td { display: grid; grid-template-columns: 1fr; gap: 5px; padding: 15px 17px; border-top: 1px solid #e8eeee; font-size: 15px; line-height: 1.6; }.legal-cookies-page .legal-technical-table td:first-child { border-top: 0; }.legal-cookies-page .legal-technical-table td::before { color: #62747b; font-size: 10.5px; font-weight: 850; letter-spacing: .055em; text-transform: uppercase; content: attr(data-label); }.legal-cookies-page .legal-technical-table code { width: fit-content; }.legal-cookies-page .legal-note { padding: 16px 17px; font-size: 15px !important; line-height: 1.68 !important; } }
@media (max-width: 640px) { .legal-nav { gap: 14px; font-size: 12px; }.legal-nav a:last-child { display: none; }.legal-main { padding: 38px 0 46px; }.legal-container { width: min(calc(100% - 28px), 860px); }.legal-intro p { font-size: 15px; }.legal-content { padding: 23px 18px; }.legal-content section + section { margin-top: 28px; padding-top: 28px; }.legal-content h2 { font-size: 21px; }.legal-content p, .legal-content li { font-size: 14px; }.legal-toc { padding: 16px; }.legal-toc ol { columns: 1; }.legal-table-wrap { overflow: visible; border: 0; }.legal-table, .legal-table tbody, .legal-table tr, .legal-table td { display: block; width: 100%; }.legal-table thead { display: none; }.legal-table tr { margin-top: 12px; border: 1px solid var(--legal-line); border-radius: 6px; background: #fff; overflow: hidden; }.legal-table tr:first-child { margin-top: 0; }.legal-table td { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 10px; padding: 10px 12px; border-top: 1px solid var(--legal-line); font-size: 13px; }.legal-table td:first-child { border-top: 0; }.legal-table td::before { content: attr(data-label); color: #65767d; font-size: 10px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }.legal-links { display: grid; grid-template-columns: 1fr; }.legal-links a { justify-content: center; }.legal-policy-page .legal-main { padding-top: 46px; }.legal-policy-intro { margin-bottom: 27px; text-align: left; }.legal-policy-intro .legal-kicker { margin-bottom: 11px; }.legal-policy-intro h1 { font-size: 38px; }.legal-policy-intro > p { margin-left: 0; font-size: 16px; line-height: 1.58; }.legal-policy-content { padding: 24px 18px; border-radius: 9px; }.legal-policy-content section + section { margin-top: 32px; padding-top: 32px; }.legal-policy-content h2 { font-size: 22px; line-height: 1.2; }.legal-policy-content h2::after { margin-top: 11px; }.legal-policy-content h3 { margin-top: 24px; font-size: 16px; }.legal-policy-content p { font-size: 15.5px; line-height: 1.76; }.legal-policy-content p + p { margin-top: 14px; }.legal-policy-toc { margin-bottom: 30px; padding: 17px; }.legal-policy-toc ol { grid-template-columns: 1fr; }.legal-policy-toc a { padding: 9px 8px; font-size: 13.5px; }.legal-identity { grid-template-columns: 1fr; }.legal-identity > div { min-height: auto; padding: 17px; }.legal-identity > div + div { border-top: 1px solid #e4ecec; border-left: 0; }.legal-policy-links { margin-top: 22px; padding: 21px 18px; }.legal-policy-links > div { grid-template-columns: 1fr; }.legal-policy-links a { justify-content: space-between; padding: 0 14px; }.legal-page .legal-footer .footer-main { padding-top: 32px; padding-bottom: 26px; }.legal-page .legal-footer .footer-main nav { grid-template-columns: 1fr; gap: 12px; }.legal-page .legal-footer .footer-bottom { gap: 14px; padding-top: 16px; padding-bottom: 18px; }.legal-policy-page .legal-nav { gap: 10px; font-size: 12.5px; }.legal-policy-page .legal-nav a { min-height: 38px; }.legal-policy-page .legal-footer .footer-main { grid-template-columns: 1fr; gap: 25px; padding-top: 30px; padding-bottom: 25px; }.legal-policy-page .legal-footer .footer-main nav { justify-self: start; width: 100%; gap: 14px; }.legal-policy-page .legal-footer .footer-bottom { padding-top: 16px; padding-bottom: 18px; } }
