.footer { align-items: start; }
.footer-links { flex-wrap: wrap; max-width: 610px; gap: 12px 22px; }
.footer-links button { padding: 0; background: transparent; color: inherit; font: inherit; text-align: left; }
.footer-links button:hover { color: var(--teal); }
.legal-main { padding: 68px 0 96px; background: #f8faf9; }
.legal-hero { max-width: 860px; padding: 0 0 44px; }
.legal-hero h1 { font-size: clamp(36px,4vw,62px); margin: 24px 0; }
.legal-hero > p { font-size: 18px; color: #536775; line-height: 1.7; max-width: 750px; }
.legal-date { display: block; margin-top: 20px; font-size: 12px; color: #728091; }
.legal-layout { display: grid; grid-template-columns: 240px minmax(0,1fr); gap: 54px; padding-top: 32px; border-top: 1px solid var(--line); }
.legal-toc { position: sticky; top: 118px; align-self: start; display: grid; gap: 11px; font-size: 12px; line-height: 1.5; }
.legal-toc strong { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: #728091; margin-bottom: 8px; }
.legal-toc a:hover { color: var(--teal); }
.legal-article { max-width: 900px; min-width: 0; }
.legal-article > section { scroll-margin-top: 118px; padding-bottom: 30px; }
.legal-article h2 { font-size: 25px; letter-spacing: -.025em; line-height: 1.35; margin-bottom: 17px; }
.legal-article p { font-size: 15px; line-height: 1.85; color: #536775; margin: 0 0 16px; overflow-wrap: anywhere; }
.legal-article a { color: var(--teal); text-decoration: underline; text-underline-offset: 3px; }
.legal-contact { padding: 28px; border-radius: 12px; background: #e8f3f0; }
.legal-related { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 20px; font-size: 12px; }
.legal-related > span { flex-basis: 100%; color: #728091; }
.legal-table-wrap { overflow-x: auto; margin: 24px 0; border: 1px solid var(--line); border-radius: 10px; }
.legal-table-wrap table { width: 100%; border-collapse: collapse; font-size: 12px; line-height: 1.7; text-align: left; background: #fff; }
.legal-table-wrap th,.legal-table-wrap td { padding: 16px; vertical-align: top; border-bottom: 1px solid var(--line); min-width: 125px; overflow-wrap: anywhere; }
.legal-table-wrap thead { background: #e8f3f0; }
.legal-table-wrap small { display: block; color: #728091; font-weight: 400; }
.legal-table-wrap code { font-size: 11px; }
.contact-section { display: grid; grid-template-columns: 1fr 1.2fr; gap: 100px; padding: 90px 0; }
.contact-copy h2 { font-size: clamp(36px,4vw,60px); margin: 24px 0; }
.contact-copy > p { font-size: 15px; color: #536775; max-width: 350px; line-height: 1.8; }
.contact-email { display: inline-flex; align-items: center; gap: 12px; margin-top: 28px; color: var(--teal); }
.contact-form { display: grid; gap: 18px; padding: 30px; background: #f7f9f8; border: 1px solid var(--line); border-radius: 16px; }
.contact-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.contact-form label { display: block; font-size: 12px; margin-bottom: 6px; }
.contact-form input:not([type="checkbox"]),.contact-form textarea { display: block; width: 100%; padding: 12px; border: 1px solid #d3dfe0; border-radius: 7px; background: #fff; color: var(--ink); font: inherit; min-width: 0; }
.contact-form textarea { resize: vertical; }
.contact-form input:focus-visible,.contact-form textarea:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }
.contact-form label.contact-consent { display: flex; align-items: flex-start; gap: 10px; font-size: 11px; color: #536775; margin: 0; line-height: 1.6; }
.contact-consent input { accent-color: var(--teal); width: 16px; height: 16px; margin: 1px 0 0; flex-shrink: 0; }
.contact-consent a { color: var(--teal); text-decoration: underline; }
.contact-buttons { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.contact-copy-button { padding: 5px 0; background: none; color: var(--teal); font-size: 12px; }
.contact-note { font-size: 11px; color: #728091; line-height: 1.7; }
.contact-feedback { font-size: 12px; color: var(--teal); }
.contact-feedback:empty { display: none; }
.cookie-panel { position: fixed; left: 20px; right: 20px; bottom: 20px; z-index: 90; max-width: 1320px; margin: auto; padding: 24px; border: 1px solid #d4e4e1; border-radius: 14px; background: #fff; color: var(--ink); box-shadow: 0 12px 65px #061c3d22; max-height: calc(100dvh - 110px); overflow-y: auto; }
.cookie-panel[hidden],.cookie-details[hidden] { display: none; }
.cookie-overview { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.cookie-panel h2 { font-size: 18px; letter-spacing: -.025em; margin: 0 0 8px; line-height: 1.3; }
.cookie-panel p { font-size: 12px; color: #536775; line-height: 1.65; max-width: 650px; }
.cookie-panel a { color: var(--teal); text-decoration: underline; }
.cookie-actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; flex-wrap: wrap; }
.cookie-button { padding: 12px 15px; border: 1px solid #b9d1ce; border-radius: 7px; color: var(--navy); background: #fff; font-size: 11px; font-weight: 500; }
.cookie-allow { background: var(--teal); border-color: var(--teal); color: #fff; }
.cookie-settings { font-size: 11px; padding: 10px 5px; background: none; color: var(--teal); }
.cookie-details { padding-top: 20px; margin-top: 20px; border-top: 1px solid var(--line); }
.cookie-category { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding-bottom: 18px; }
.cookie-category h3 { font-size: 15px; margin-bottom: 6px; letter-spacing: 0; }
.cookie-category p { font-size: 11px; max-width: 700px; }
.cookie-always { font-size: 11px; white-space: nowrap; color: var(--teal); }
.cookie-toggle { display: flex; align-items: center; gap: 8px; white-space: nowrap; font-size: 12px; }
.cookie-toggle input { accent-color: var(--teal); width: 18px; height: 18px; }
.cookie-choice { margin-bottom: 14px; }
@media(max-width:1000px) { .contact-section { gap: 40px; } .legal-layout { grid-template-columns: 190px minmax(0,1fr); gap: 30px; } .cookie-overview { align-items: flex-start; flex-direction: column; gap: 18px; } }
@media(max-width:600px) { .legal-main { padding: 40px 0 60px; } .legal-hero > p { font-size: 14px; } .legal-layout { display: block; } .legal-toc { position: static; margin-bottom: 32px; } .legal-article h2 { font-size: 21px; } .legal-article p { font-size: 13px; } .contact-section { display: block; padding: 55px 0; } .contact-copy { margin-bottom: 28px; } .contact-form { padding: 20px; } .contact-fields { grid-template-columns: 1fr; } .cookie-panel { left: 10px; right: 10px; bottom: 10px; padding: 18px; } .cookie-panel h2 { font-size: 16px; } .cookie-panel p { font-size: 11px; } .cookie-actions { width: 100%; gap: 8px; } .cookie-button { flex: 1 1 120px; } .cookie-settings { width: 100%; padding-bottom: 0; } .cookie-category { align-items: flex-start; gap: 14px; } .cookie-toggle { white-space: normal; } .cookie-always { white-space: normal; } .footer-links { max-width: none; } }
