.cookie-banner[hidden],.cookie-banner [hidden],.site-to-top[hidden]{display:none!important}
.cookie-banner{position:fixed;right:24px;bottom:24px;width:min(480px,calc(100vw - 48px));max-height:calc(100dvh - 48px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#aebfd5 transparent;padding:24px;border:1px solid #d6e2f3;border-radius:16px;background:#fff;color:#203748;box-shadow:0 12px 44px #18354b26;z-index:130;font-family:inherit;text-align:left}
.cookie-banner h2{font-size:22px;line-height:1.25;font-weight:500;margin:0 0 12px;letter-spacing:-.02em}
.cookie-banner p{font-size:13px;line-height:1.65;margin:0 0 12px;color:#526d88}
.cookie-banner .cookie-links{display:flex;flex-wrap:wrap;gap:8px 18px}
.cookie-links a{color:#1859df;text-decoration:underline;text-underline-offset:3px}
.cookie-banner .cookie-status:empty{display:none}
.cookie-actions{display:flex;gap:8px;margin-top:17px}
.cookie-actions button{flex:1;min-height:44px;padding:10px 12px;border:1px solid #c8d8ef;border-radius:7px;font:inherit;font-size:12px;line-height:1.4;font-weight:500;color:#244561;background:#f2f6fd;cursor:pointer}
.cookie-actions .cookie-primary{background:#1859df;color:#fff;border-color:#1859df}
.cookie-actions button:hover{filter:brightness(.96)}
.cookie-customize{display:block;width:100%;min-height:40px;margin-top:8px;padding:8px 12px;border:1px solid #c8d8ef;border-radius:7px;background:#fff;color:#1859df;font:inherit;font-size:12px;line-height:1.4;cursor:pointer}
.cookie-customize:hover{background:#f2f6fd}
.cookie-option{display:block;padding:15px;margin-top:12px;border:1px solid #dce5f0;border-radius:10px;background:#f7f9fc}
.cookie-option strong{display:block;font-size:13px;line-height:1.5;font-weight:500;color:#203748}
.cookie-option-heading{display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px;justify-content:space-between}
.cookie-option-heading>span{font-size:10px;line-height:1.5;color:#526d88;white-space:nowrap}
.cookie-banner .cookie-option p,.cookie-option-description{display:block;font-size:12px;line-height:1.6;color:#526d88;margin:6px 0 0}
.cookie-option-analytics{display:flex;align-items:center;gap:18px;cursor:pointer;background:#fff}
.cookie-option-analytics>span{min-width:0;flex:1}
.cookie-option-analytics input{appearance:none;display:block;flex:0 0 auto;position:relative;width:38px;height:22px;margin:0;border:1px solid #879db5;border-radius:20px;background:#b2c1d1;cursor:pointer;transition:background 160ms ease,border-color 160ms ease}
.cookie-option-analytics input::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #20374830;transition:transform 160ms ease}
.cookie-option-analytics input:checked{border-color:#1859df;background:#1859df}
.cookie-option-analytics input:checked::after{transform:translateX(16px)}
.cookie-banner :is(a,button,input):focus-visible,.site-to-top:focus-visible,.footer-cookie-settings:focus-visible{outline:2px solid #1859df;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.cookie-option-analytics input,.cookie-option-analytics input::after{transition:none}}
@media(forced-colors:active){.cookie-option-analytics input{appearance:auto;accent-color:auto}.cookie-option-analytics input::after{display:none}}
.footer-legal{display:flex;flex-wrap:wrap;gap:12px 22px;margin:0 0 24px;padding-top:24px;border-top:1px solid #d6e2ed;font-size:12px;line-height:1.5}
.footer-legal a,.footer-cookie-settings{color:inherit}
.footer-cookie-settings{padding:0;border:0;background:none;font:inherit;cursor:pointer;text-align:left}
.cookie-settings{position:fixed;right:16px;bottom:16px;z-index:30;background:#fff;color:#355771;padding:10px 12px;border:1px solid #cedcf0;border-radius:8px;font:inherit;font-size:11px;cursor:pointer}
.site-to-top{position:fixed;left:22px;bottom:24px;z-index:45;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:12px 15px;border:1px solid #c6d7ec;border-radius:9px;background:#fff;color:#1859df;box-shadow:0 4px 20px #17354a13;font:inherit;font-size:12px;cursor:pointer}
.site-to-top svg{display:block;flex:0 0 auto;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.site-to-top span{line-height:1.4}
.site-to-top:hover{background:#edf3ff;border-color:#8db1f5}
.inquiry .consent a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.inquiry .consent{align-items:flex-start;gap:10px;line-height:1.6}
.inquiry .consent input{flex:0 0 auto;margin-top:4px;accent-color:#1859df}
.legal-page{padding:48px 0 92px}
.legal-page .wrap{max-width:1060px}
.legal-back{display:inline-block;color:#1859df;font-size:13px;margin-bottom:24px}
.legal-page h1{font-size:clamp(30px,3.5vw,46px);line-height:1.15;letter-spacing:-.035em;margin:0 0 20px;max-width:900px}
.legal-meta{font-size:13px;color:#688097;line-height:1.7;margin-bottom:28px}
.legal-index{display:flex;flex-wrap:wrap;gap:10px 22px;border-block:1px solid #d9e4ee;padding:22px 0;margin-bottom:38px;font-size:13px}
.legal-index a{color:#1859df}
.legal-body{max-width:840px;color:#304b62;font-size:15px;line-height:1.8}
.legal-body section{scroll-margin-top:100px;margin:0 0 35px}
.legal-body h2{color:#1c3142;font-size:23px;line-height:1.4;margin:0 0 15px;letter-spacing:-.02em}
.legal-body h3{font-size:17px;margin:20px 0 10px;color:#1c3142}
.legal-body p{margin:0 0 14px}
.legal-body li{margin-bottom:8px}
.legal-body a{color:#1859df;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.legal-body dl{display:grid;grid-template-columns:160px 1fr;gap:14px 24px;margin:22px 0}
.legal-body dt{color:#688097}.legal-body dd{margin:0}
.legal-note{padding:18px 20px;border-radius:10px;background:#f0f5fc;color:#395a76}
@media(max-width:600px){.cookie-banner{right:12px;bottom:12px;width:calc(100vw - 24px);padding:19px}.cookie-banner h2{font-size:20px}.cookie-actions{gap:6px}.cookie-actions button{font-size:11px;padding:10px 8px}.site-to-top{left:12px;bottom:16px;padding:11px}.site-to-top span{display:none}.cookie-banner:not([hidden])~.site-to-top{bottom:340px}.legal-page{padding:28px 0 56px}.legal-body{font-size:14px}.legal-body dl{grid-template-columns:1fr;gap:4px}.legal-body dd{margin-bottom:12px}.footer-legal{gap:12px 16px}}
@media print{.ch-header,.site-header,.site-footer,.cookie-banner,.site-to-top,.cookie-settings,.legal-index,.legal-back{display:none!important}.legal-page{padding:0}.legal-body{max-width:none;color:#000}.legal-page h1{font-size:26px}.legal-body h2{break-after:avoid}.legal-body p,.legal-body li{orphans:3;widows:3}}
