:root { color-scheme:light; --green:#176b4d; --ink:#12211b; --paper:#edf4ef; }
* { box-sizing:border-box; }
body { min-height:100vh; margin:0; color:var(--ink); background:radial-gradient(circle at 80% 20%,#d2e9d9,transparent 34%),var(--paper); font-family:Inter,ui-sans-serif,system-ui,sans-serif; }
header { width:min(1080px,calc(100% - 40px)); margin:auto; padding:28px 0; }
header a { color:inherit; text-decoration:none; font-weight:750; }
main { width:min(1080px,calc(100% - 40px)); min-height:calc(100vh - 84px); margin:auto; display:grid; align-content:center; justify-items:start; padding:60px 0 120px; }
.mark { width:64px; height:64px; display:grid; place-items:center; margin-bottom:52px; border-radius:19px; color:white; background:var(--green); font-size:1.7rem; font-weight:900; }
.eyebrow { margin:0 0 12px; color:var(--green); font-size:.78rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
h1 { margin:0 0 20px; font-size:clamp(4.5rem,14vw,10rem); line-height:.85; letter-spacing:-.075em; }
.intro { max-width:590px; margin:0 0 42px; color:#53635b; font-size:clamp(1.15rem,2.4vw,1.5rem); line-height:1.55; }
.back { padding-bottom:6px; color:var(--green); border-bottom:2px solid currentColor; text-decoration:none; font-weight:800; }

.actions { display:flex; flex-wrap:wrap; gap:26px; }

.privacy-link { margin:32px 0 0; font-size:.95rem; }
.privacy-link a, .policy-page a { color:var(--green); text-underline-offset:4px; }
.policy-page header { display:flex; justify-content:space-between; gap:24px; }
.policy-page main { display:block; width:min(860px,calc(100% - 40px)); min-height:0; padding:48px 0 64px; }
.policy-heading h1 { max-width:800px; font-size:clamp(2.5rem,7vw,4.7rem); line-height:1.05; letter-spacing:-.045em; overflow-wrap:break-word; }
.policy-heading .intro { max-width:720px; margin-bottom:20px; }
.policy-date { color:#53635b; font-size:.95rem; }
.policy-nav { display:flex; flex-wrap:wrap; gap:12px 24px; margin:32px 0 40px; padding:24px 0; border-block:1px solid #c2d5c8; line-height:1.6; }
.policy-nav a { font-weight:650; }
.policy-content { padding:32px clamp(20px,4vw,44px); background:#fff; border:1px solid #cddbd2; border-radius:20px; line-height:1.75; overflow-wrap:anywhere; }
.policy-content section { scroll-margin-top:24px; }
.policy-content section + section { margin-top:36px; padding-top:24px; border-top:1px solid #e0e9e3; }
.policy-content h2 { margin:0 0 16px; font-size:clamp(1.25rem,3vw,1.6rem); line-height:1.3; letter-spacing:-.025em; }
.policy-content p { margin:0 0 16px; }
.policy-content p:last-child { margin-bottom:0; }
.policy-content ul, .policy-content ol { padding-left:24px; }
.policy-content li + li { margin-top:12px; }
.policy-data { margin:0; }
.policy-data dt { font-weight:750; margin-top:20px; }
.policy-data dt:first-child { margin-top:0; }
.policy-data dd { margin:6px 0 20px; }
.policy-footer { width:min(1080px,calc(100% - 40px)); margin:auto; padding:24px 0 32px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; border-top:1px solid #c2d5c8; font-size:.95rem; }
.policy-footer nav { display:flex; gap:24px; }
.skip-link { position:absolute; top:8px; left:20px; padding:12px; background:white; transform:translateY(-150%); }
.skip-link:focus { transform:translateY(0); }
.policy-page a:focus-visible, .privacy-link a:focus-visible { outline:3px solid var(--green); outline-offset:5px; border-radius:2px; }

.privacy-consent{position:fixed;z-index:1000;right:18px;bottom:18px;left:18px;padding:18px;border:1px solid #cddbd2;border-radius:18px;background:#fff;box-shadow:0 24px 60px rgba(18,33,27,.16)}.privacy-consent-content{display:flex;max-width:1080px;margin:0 auto;align-items:center;justify-content:space-between;gap:24px}.privacy-consent strong{display:block;margin-bottom:4px}.privacy-consent p{max-width:720px;margin:0;color:#53635b;font-size:14px;line-height:1.5}.privacy-consent a{color:var(--green);font-weight:700}.privacy-consent-actions{display:flex;flex:0 0 auto;gap:10px}.privacy-consent-button{min-height:44px;padding:0 18px;border:1px solid var(--green);border-radius:12px;background:#fff;color:var(--green);cursor:pointer;font:inherit;font-size:14px;font-weight:800}@media(max-width:720px){.privacy-consent{right:10px;bottom:10px;left:10px;padding:16px}.privacy-consent-content,.privacy-consent-actions{width:100%;align-items:stretch;flex-direction:column}.privacy-consent-content{gap:16px}}
