:root {
    --navy:       #081e52;
    --blue:       #1e5bff;
    --blue-dark:  #1040cc;
    --blue-pale:  #eef3ff;
    --white:      #ffffff;
    --bg:         #f4f7ff;
    --border:     #e4ecff;
    --border-md:  #c8d3ef;
    --text-main:  #111827;
    --green-acc:  #0db57a;
    --orange:     #f59e0b;
    --red:        #ef4444;
    --ease:       cubic-bezier(0.4,0,0.2,1);
}
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
body {
    font-family:'Manrope', sans-serif;
    background: var(--bg);
    color: var(--text-main);
    -webkit-font-smoothing: antialiased;
}

.container { max-width:1280px; margin:0 auto; padding:0 28px; }

.topbar { background:var(--white); border-bottom:1.5px solid var(--border); padding:12px 0; }
.breadcrumb { display:flex; align-items:center; gap:7px; flex-wrap:wrap; font-family:'Manrope',sans-serif; font-size:0.78rem; color:#546486; }
.breadcrumb a { color:var(--blue); text-decoration:none; font-weight:600; transition:opacity .18s; }
.breadcrumb a:hover { opacity:.75; }
.bc-sep { color:var(--border-md); }

.page-hero {
    background:linear-gradient(135deg, var(--navy) 0%, #0a2466 40%, #0d3380 100%);
    position:relative; overflow:hidden; padding:72px 0 80px;
}
.page-hero::before {
    content:''; position:absolute; inset:0;
    background:
    radial-gradient(ellipse 60% 80% at 75% 50%, rgba(30,91,255,.22) 0%, transparent 60%),
    radial-gradient(ellipse 40% 40% at 10% 85%, rgba(95,139,255,.12) 0%, transparent 55%);
    pointer-events:none;
}
.hero-grid {
    position:absolute; inset:0;
    background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
    background-size:60px 60px;
    mask-image:radial-gradient(ellipse 90% 90% at 50% 50%, black 30%, transparent 80%);
}
.hero-inner { position:relative; z-index:2; }
.hero-badge {
    display:inline-flex; align-items:center; gap:8px;
    font-family:'Outfit',sans-serif; font-size:.7rem; font-weight:700;
    letter-spacing:.1em; text-transform:uppercase;
    color:rgba(255,255,255,.65); background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.14); border-radius:100px;
    padding:5px 15px; margin-bottom:20px;
}
.page-hero h1 {
    font-family:'Outfit',sans-serif;
    font-size:clamp(1.9rem, 4vw, 3rem);
    font-weight:900; color:#fff;
    letter-spacing:-.04em; line-height:1.1; margin-bottom:14px;
}
.page-hero h1 em {
    font-style:normal; color:transparent;
    background:linear-gradient(90deg, #6FB3FF 0%, #A5C8FF 100%);
    -webkit-background-clip:text; background-clip:text;
}
.hero-sub {
    font-family:'Manrope',sans-serif; font-size:.95rem;
    color:rgba(255,255,255,.55); max-width:560px;
    line-height:1.65; margin-bottom:28px;
}
.hero-meta { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.meta-pill {
    display:inline-flex; align-items:center; gap:7px;
    font-family:'Manrope',sans-serif; font-size:.78rem;
    font-weight:600; color:rgba(255,255,255,.55);
}
.meta-pill svg { width:14px; height:14px; opacity:.7; }

.scope-row {
    display:flex; gap:10px; flex-wrap:wrap; margin-top:24px;
}
.scope-badge {
    display:inline-flex; align-items:center; gap:6px;
    padding:6px 14px; border-radius:100px;
    font-family:'Manrope',sans-serif; font-size:.75rem; font-weight:700;
    border:1.5px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.07); color:rgba(255,255,255,.8);
}
.scope-badge .flag { font-size:.88rem; }

.privacy-layout {
    display:grid; grid-template-columns:260px 1fr; gap:40px;
    padding:52px 0 80px; align-items:start;
}

.priv-toc { position:sticky; top:85px; }
.toc-card {
    background:var(--white); border:1.5px solid var(--border);
    border-radius:20px; padding:24px;
}
.toc-head {
    font-family:'Outfit',sans-serif; font-size:.75rem; font-weight:800;
    letter-spacing:.1em; text-transform:uppercase; color:var(--navy);
    margin-bottom:16px; padding-bottom:14px; border-bottom:1.5px solid var(--border);
}
.toc-list { list-style:none; display:flex; flex-direction:column; gap:2px; }
.toc-list li a {
    display:flex; align-items:flex-start; gap:9px; padding:7px 10px;
    border-radius:10px; text-decoration:none;
    font-family:'Manrope',sans-serif; font-size:.78rem; font-weight:600;
    color:#546486; transition:all .17s; line-height:1.4;
}
.toc-list li a:hover, .toc-list li a.active {
    color:var(--blue-dark); background:rgba(30,91,255,.07);
}
.toc-n {
    font-family:'Outfit',sans-serif; font-size:.68rem; font-weight:800;
    color:var(--blue-dark); background:rgba(30,91,255,.09);
    border-radius:5px; padding:1px 6px; flex-shrink:0; margin-top:1px;
}
.toc-list li a:hover .toc-n, .toc-list li a.active .toc-n {
    background:rgba(30,91,255,.18); color:var(--blue-dark);
}
.toc-dl {
    margin-top:16px; display:flex; align-items:center; gap:8px;
    padding:10px 15px; background:rgba(30,91,255,.05);
    border:1.5px solid rgba(30,91,255,.14); border-radius:12px;
    font-family:'Outfit',sans-serif; font-size:.76rem; font-weight:700;
    color:var(--blue); text-decoration:none; transition:all .18s;
}
.toc-dl:hover { background:rgba(30,91,255,.1); border-color:rgba(30,91,255,.28); }
.toc-dl svg { width:13px; height:13px; flex-shrink:0; }

.priv-content { display:flex; flex-direction:column; gap:0; min-width: 0;}

.summary-grid {
    display:grid; grid-template-columns:repeat(3,1fr); gap:12px;
    margin-bottom:24px;
}
.sum-card {
    background:var(--white); border:1.5px solid var(--border);
    border-radius:16px; padding:18px; display:flex;
    flex-direction:column; gap:8px;
    transition:border-color .2s, box-shadow .2s;
}
.sum-card:hover { border-color:rgba(30,91,255,.22); box-shadow:0 4px 18px rgba(8,30,82,.07); }
.sum-icon {
    width:38px; height:38px; border-radius:11px;
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.sum-icon svg { width:17px; height:17px; }
.sum-icon.blue  { background:rgba(30,91,255,.1);  } .sum-icon.blue  svg { color:var(--blue); }
.sum-icon.green { background:rgba(13,181,122,.1); } .sum-icon.green svg { color:var(--green-acc); }
.sum-icon.orange{ background:rgba(245,158,11,.1); } .sum-icon.orange svg { color:var(--orange); }
.sum-icon.red   { background:rgba(239,68,68,.1);  } .sum-icon.red   svg { color:var(--red); }
.sum-icon.navy  { background:rgba(8,30,82,.08);   } .sum-icon.navy  svg { color:var(--navy); }
.sum-title { font-family:'Outfit',sans-serif; font-size:.85rem; font-weight:800; color:var(--navy); }
.sum-text  { font-family:'Manrope',sans-serif; font-size:.75rem; color:#546486; line-height:1.55; }

.priv-section {
    background:var(--white); border:1.5px solid var(--border); border-radius:20px;
    padding:36px 40px; margin-bottom:16px; scroll-margin-top:85px;
    transition:border-color .2s;
}
.priv-section:hover { border-color:rgba(30,91,255,.18); }
.priv-section:last-child { margin-bottom:0; }

.ps-head {
    display:flex; align-items:flex-start; gap:16px;
    margin-bottom:24px; padding-bottom:20px; border-bottom:1.5px solid var(--border);
}
.ps-num {
    width:40px; height:40px; flex-shrink:0;
    background:linear-gradient(135deg, var(--blue) 0%, var(--blue-dark) 100%);
    border-radius:12px; display:flex; align-items:center; justify-content:center;
    font-family:'Outfit',sans-serif; font-size:.85rem; font-weight:800; color:#fff;
}
.ps-title {
    font-family:'Outfit',sans-serif; font-size:1.12rem;
    font-weight:800; color:var(--navy); line-height:1.25; padding-top:6px;
}

.priv-section p {
    font-family:'Manrope',sans-serif; font-size:.88rem;
    color:#3d4f7a; line-height:1.78; margin-bottom:14px;
}
.priv-section p:last-child { margin-bottom:0; }
.priv-section h2 {
    font-family:'Outfit',sans-serif; font-size:.95rem;
    font-weight:700; color:var(--navy); margin:22px 0 10px;
}
.priv-section h2:first-child { margin-top:0; }
.priv-section h3 {
    font-family:'Outfit',sans-serif; font-size:.85rem;
    font-weight:700; color:var(--navy); margin:18px 0 8px;
}

.priv-section ul, .priv-section ol {
    padding-left:0; list-style:none; margin-bottom:14px;
}
.priv-section li {
    display:flex; gap:12px; align-items:flex-start;
    font-family:'Manrope',sans-serif; font-size:.87rem;
    color:#3d4f7a; line-height:1.72; margin-bottom:8px;
}
.priv-section li:last-child { margin-bottom:0; }
.priv-section ul li::before {
    content:''; width:6px; height:6px; background:var(--blue);
    border-radius:50%; flex-shrink:0; margin-top:8px;
}
.priv-section ol { counter-reset:item; }
.priv-section ol li { counter-increment:item; }
.priv-section ol li::before {
    content:counter(item) ".";
    font-family:'Outfit',sans-serif; font-size:.78rem; font-weight:800;
    color:var(--blue); flex-shrink:0; min-width:20px; margin-top:2px;
}

.info-box {
    background:rgba(30,91,255,.05); border:1.5px solid rgba(30,91,255,.14);
    border-left:4px solid var(--blue); border-radius:0 12px 12px 0;
    padding:14px 18px; margin:16px 0;
}
.info-box p { margin-bottom:0 !important; font-size:.84rem !important; color:#2a3d70 !important; }
.warn-box {
    background:rgba(245,158,11,.06); border:1.5px solid rgba(245,158,11,.22);
    border-left:4px solid var(--orange); border-radius:0 12px 12px 0;
    padding:14px 18px; margin:16px 0;
}
.warn-box p { margin-bottom:0 !important; font-size:.84rem !important; color:#7a4e00 !important; }
.green-box {
    background:rgba(13,181,122,.05); border:1.5px solid rgba(13,181,122,.18);
    border-left:4px solid var(--green-acc); border-radius:0 12px 12px 0;
    padding:14px 18px; margin:16px 0;
}
.green-box p { margin-bottom:0 !important; font-size:.84rem !important; color:#0a5c3e !important; }

.data-table {
    width:100%; border-collapse:collapse; margin:16px 0;
    font-family:'Manrope',sans-serif; font-size:.83rem;
}
.data-table th {
    font-family:'Outfit',sans-serif; font-size:.68rem; font-weight:700;
    letter-spacing:.08em; text-transform:uppercase; color:#6b7a9d;
    background:var(--bg); padding:10px 14px; text-align:left;
    border-bottom:1.5px solid var(--border);
}
.data-table th:first-child { border-radius:8px 0 0 0; }
.data-table th:last-child  { border-radius:0 8px 0 0; }
.data-table td {
    padding:11px 14px; vertical-align:top;
    border-bottom:1px solid var(--border); color:#3d4f7a; line-height:1.6;
}
.data-table tr:last-child td { border-bottom:none; }
.data-table tr:nth-child(even) td { background:rgba(244,247,255,.5); }
.data-table td:first-child { font-family:'Outfit',sans-serif; font-weight:700; color:var(--navy); }
.basis-badge {
    display:inline-block; font-family:'Outfit',sans-serif; font-size:.65rem;
    font-weight:800; padding:2px 8px; border-radius:6px;
    letter-spacing:.06em; text-transform:uppercase;
}
.basis-contract  { background:rgba(30,91,255,.1);  color:var(--blue); }
.basis-consent   { background:rgba(13,181,122,.1); color:var(--green-acc); }
.basis-legal     { background:rgba(245,158,11,.1); color:var(--orange); }
.basis-interest  { background:rgba(8,30,82,.08);   color:var(--navy); }

.rights-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:4px; }
.right-card {
    background:var(--bg); border:1.5px solid var(--border);
    border-radius:14px; padding:18px; display:flex; gap:13px;
    align-items:flex-start; transition:border-color .18s;
}
.right-card:hover { border-color:rgba(30,91,255,.25); }
.right-icon {
    width:36px; height:36px; background:rgba(30,91,255,.1);
    border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.right-icon svg { width:16px; height:16px; color:var(--blue); }
.right-title { font-family:'Outfit',sans-serif; font-size:.82rem; font-weight:800; color:var(--navy); margin-bottom:4px; }
.right-text  { font-family:'Manrope',sans-serif; font-size:.76rem; color:#6b7a9d; line-height:1.55; }

.cookie-type {
    display:inline-flex; align-items:center; gap:5px;
    font-family:'Outfit',sans-serif; font-size:.68rem; font-weight:800;
    padding:2px 9px; border-radius:6px; text-transform:uppercase; letter-spacing:.07em;
}
.cookie-necessary { background:rgba(13,181,122,.1); color:var(--green-acc); }
.cookie-analytics { background:rgba(30,91,255,.1);  color:var(--blue); }
.cookie-marketing { background:rgba(245,158,11,.1); color:var(--orange); }

.contacts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:4px; }
.contact-card {
    background:var(--bg); border:1.5px solid var(--border);
    border-radius:14px; padding:18px; display:flex; gap:11px;
    align-items:flex-start; transition:border-color .18s;
}
.contact-card:hover { border-color:rgba(30,91,255,.25); }
.contact-icon {
    width:36px; height:36px; background:rgba(30,91,255,.1);
    border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.contact-icon svg { width:16px; height:16px; color:var(--blue); }
.contact-lbl { font-family:'Outfit',sans-serif; font-size:.68rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:#6b7a9d; margin-bottom:4px; }
.contact-val { font-family:'Manrope',sans-serif; font-size:.82rem; font-weight:600; color:var(--navy); }
.contact-val a { color:var(--blue); text-decoration:none; }
.contact-val a:hover { text-decoration:underline; }

.law-badges { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.law-badge {
    display:inline-flex; align-items:center; gap:7px; padding:8px 14px;
    background:var(--bg); border:1.5px solid var(--border); border-radius:12px;
    font-family:'Manrope',sans-serif; font-size:.76rem; font-weight:700; color:var(--navy);
}
.law-badge .flag { font-size:.9rem; }

.back-top {
    display:flex; align-items:center; justify-content:center; gap:8px;
    padding:12px 24px; background:transparent; border:1.5px solid var(--border);
    border-radius:12px; font-family:'Outfit',sans-serif; font-size:.84rem;
    font-weight:700; color:#6b7a9d; cursor:pointer;
    text-decoration:none; margin-top:16px; transition:all .2s;
}
.back-top:hover { border-color:var(--blue); color:var(--blue); background:rgba(30,91,255,.04); }
.back-top svg { width:14px; height:14px; }

.fade-up { opacity:0; transform:translateY(20px); transition:opacity .55s ease, transform .55s ease; }
.fade-up.visible { opacity:1; transform:translateY(0); }

.table-container {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 16px 0;
    border-radius: 12px;
    border: 1.5px solid var(--border);
}

.table-container .data-table {
    margin: 0;
    border: none;
    min-width: 600px;
}

@media (max-width:1024px) {
    .privacy-layout { grid-template-columns:220px 1fr; gap:28px; }
    .priv-section { padding:28px 30px; }
    .contacts-grid { grid-template-columns:1fr 1fr; }
    .summary-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:860px) {
    .privacy-layout { grid-template-columns:1fr; }
    .priv-toc { position:static; }
    .toc-card { display:none; }
}
@media (max-width:640px) {
    .container { padding:0 16px; }
    .privacy-layout { padding:32px 0 60px; gap:16px; }
    .priv-section { padding:22px 18px; border-radius:16px; }
    .ps-title { font-size:.98rem; }
    .page-hero { padding:52px 0 60px; }
    .contacts-grid { grid-template-columns:1fr; }
    .rights-grid { grid-template-columns:1fr; }
    .summary-grid { grid-template-columns:1fr; }
    .scope-row { gap:7px; }
    .data-table { font-size:.76rem; }
    .data-table td, .data-table th { padding:8px 10px; }
}