:root{
    --ink:#1c1c1e;
    --sub:#636366;
    --canvas:#eef0f8;
    --glass-fill: rgba(255,255,255,0.5);
    --glass-fill-strong: rgba(255,255,255,0.68);
    --glass-border: rgba(255,255,255,0.75);
    --glass-shadow: 0 8px 32px rgba(31,32,60,0.14);
    --accent1:#6e5b4b;
    --accent2:#a9835c;
    --danger:#c1524a;
    --accent-grad: linear-gradient(135deg,#6e5b4b 0%, #a9835c 100%);
    --ff:'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:var(--ff);
    color:var(--ink);
    background:var(--canvas);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none;}
  ::selection{background:var(--accent1);color:#fff;}

  h1,h2,h3{margin:0;font-weight:800;letter-spacing:-0.02em;}
  p{margin:0;}

  .wrap{max-width:880px;margin:0 auto;padding:0 24px;}

  /* ---------- Animated gradient mesh background ---------- */
  .mesh{position:fixed;inset:0;z-index:-1;overflow:hidden;}
  .blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:0.5;will-change:transform;}
  .b1{width:520px;height:520px;background:#6ea8fe;top:-120px;left:-100px;animation:float1 22s ease-in-out infinite;}
  .b2{width:460px;height:460px;background:#bcd0c0;top:10%;right:-140px;animation:float2 26s ease-in-out infinite;}
  .b3{width:480px;height:480px;background:#e3c9a0;bottom:-160px;left:10%;animation:float3 24s ease-in-out infinite;}
  @keyframes float1{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(60px,40px) scale(1.08);}}
  @keyframes float2{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-50px,60px) scale(0.95);}}
  @keyframes float3{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(40px,-50px) scale(1.05);}}

  /* ---------- Glass base ---------- */
  .glass{
    position:relative;
    background:var(--glass-fill);
    backdrop-filter:blur(28px) saturate(160%);
    -webkit-backdrop-filter:blur(28px) saturate(160%);
    border:1px solid var(--glass-border);
    border-radius:30px;
    box-shadow:var(--glass-shadow), inset 0 1px 0 rgba(255,255,255,0.7);
    overflow:hidden;
    isolation:isolate;
  }
  .glass::before{
    content:"";
    position:absolute; inset:0; border-radius:inherit;
    background:linear-gradient(165deg, rgba(255,255,255,0.65) 0%, rgba(255,255,255,0.08) 30%, rgba(255,255,255,0) 55%);
    pointer-events:none; z-index:-1;
  }
  .glass::after{
    content:"";
    position:absolute; left:6%; right:6%; top:0; height:1px;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,0.9), transparent);
    pointer-events:none; z-index:-1;
  }
  .glass-strong{background:var(--glass-fill-strong);}

  /* ---------- Floating dock nav (як на головній) ---------- */
  .dock-wrap{position:sticky; top:16px; z-index:80; display:flex; justify-content:center; padding:0 16px;}
  .dock{
    display:flex; align-items:center; justify-content:space-between; gap:18px;
    width:100%; max-width:1040px;
    padding:10px 12px 10px 20px;
    transition:padding 0.3s ease, box-shadow 0.3s ease;
    overflow:visible; /* dropdown must not be clipped by .glass */
  }
  .dock.scrolled{padding-top:7px;padding-bottom:7px;box-shadow:0 10px 30px rgba(31,32,60,0.2), inset 0 1px 0 rgba(255,255,255,0.6);}
  .logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1rem;white-space:nowrap;}
  .logo-mark{height:34px;width:auto;display:block;flex-shrink:0;border-radius:50%;}
  .logo-text{display:flex;flex-direction:column;line-height:1.15;}
  .logo-text em{font-style:normal;font-size:0.62rem;font-weight:600;color:var(--sub);letter-spacing:0.1em;}
  @media (max-width:520px){.logo-text{display:none;}}

  .dock-links{display:flex; gap:6px; list-style:none; margin:0; padding:0; font-size:0.86rem; font-weight:600;}
  .dock-links a{padding:9px 14px; border-radius:999px; display:block; transition:background 0.2s ease;}
  .dock-links a:hover, .dock-links a:focus-visible{background:rgba(255,255,255,0.7);}
  .dock-links a.is-active{
    background:var(--accent-grad); color:#fff;
    box-shadow:0 6px 16px -6px rgba(110,91,75,0.55), inset 0 1px 0 rgba(255,255,255,0.35);
  }

  .mobile-toggle{
    display:none; width:38px;height:38px; border-radius:50%;
    border:1px solid rgba(255,255,255,0.8); background:rgba(255,255,255,0.55);
    align-items:center; justify-content:center; flex-direction:column; gap:4px; cursor:pointer;
  }
  .mobile-toggle span{width:15px;height:1.5px;background:var(--ink);border-radius:2px;}

  @media (max-width:880px){
    .dock-wrap{overflow:visible;}
    .dock{position:relative; overflow:visible;}
    .dock-links, .dock .btn-solid{display:none;}
    .mobile-toggle{
      display:flex;
      position:relative;
      z-index:102;
      touch-action:manipulation;
      -webkit-tap-highlight-color:transparent;
    }
    .dock-links.open{
      display:flex;
      flex-direction:column;
      position:absolute;
      top:calc(100% + 10px);
      left:0;
      right:0;
      z-index:101;
      padding:16px;
      gap:4px;
      max-height:calc(100vh - 100px);
      overflow-y:auto;
      background:rgba(255,255,255,0.94);
      -webkit-backdrop-filter:blur(24px);
      backdrop-filter:blur(24px);
      border-radius:22px;
      border:1px solid rgba(255,255,255,0.9);
      box-shadow:var(--glass-shadow);
    }
    .dock-links.open a{
      width:100%;
      padding:12px 14px;
    }
  }

  .btn{
    display:inline-flex; align-items:center; gap:8px;
    font-family:var(--ff); font-weight:700; font-size:0.86rem;
    padding:10px 20px; border-radius:999px; border:none; cursor:pointer;
    transition:transform 0.2s ease, box-shadow 0.2s ease; white-space:nowrap;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn:focus-visible{outline:2px solid var(--accent1); outline-offset:3px;}
  .btn-glass{
    background:rgba(255,255,255,0.55); color:var(--ink);
    border:1px solid rgba(255,255,255,0.85);
    backdrop-filter:blur(16px) saturate(160%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.8), 0 4px 14px -8px rgba(31,32,60,0.25);
  }
  .btn-glass:hover{background:rgba(255,255,255,0.78);}
  .btn-solid{
    background:var(--accent-grad); color:#fff;
    box-shadow:0 10px 24px -8px rgba(110,91,75,0.55), inset 0 1px 0 rgba(255,255,255,0.45);
  }

  /* ---------- Хлібні крихти ---------- */
  .breadcrumbs{
    display:flex; align-items:center; flex-wrap:wrap; gap:6px;
    font-size:0.85rem; font-weight:600; color:var(--sub);
    margin:22px 0 0;
  }
  .breadcrumbs a{color:var(--sub); transition:color 0.2s ease;}
  .breadcrumbs a:hover{color:var(--accent1); text-decoration:underline;}
  .breadcrumbs .sep{color:rgba(28,28,30,0.3); font-size:0.8rem;}
  .breadcrumbs .current{color:var(--ink); font-weight:700;}

  /* ---------- Hero ---------- */
  .policy-hero{padding:56px 0 28px;}
  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-size:0.78rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--accent1);
    background:rgba(255,255,255,0.55);
    border:1px solid rgba(255,255,255,0.8);
    padding:6px 14px; border-radius:999px; margin-bottom:18px;
  }
  h1.policy-title{font-size:clamp(2rem, 5vw, 2.8rem); line-height:1.08; margin-bottom:14px;}
  .policy-meta{color:var(--sub); font-size:0.95rem; font-weight:600;}

  /* ---------- Table of contents ---------- */
  .toc{
    margin:28px 0 8px;
    padding:22px 24px;
  }
  .toc h2{font-size:0.85rem; text-transform:uppercase; letter-spacing:0.08em; color:var(--sub); margin-bottom:14px;}
  .toc ol{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:8px 20px;}
  @media (max-width:640px){.toc ol{grid-template-columns:1fr;}}
  .toc a{
    display:block; font-size:0.92rem; font-weight:600; padding:6px 4px;
    border-radius:10px; transition:background 0.2s ease, color 0.2s ease;
  }
  .toc a:hover{background:rgba(255,255,255,0.6); color:var(--accent1);}

  /* ---------- Content card ---------- */
  .policy-card{margin:28px 0 60px; padding:8px 0 8px;}
  .policy-section{padding:34px 36px; border-bottom:1px solid rgba(31,32,60,0.08);}
  .policy-section:last-child{border-bottom:none;}
  @media (max-width:640px){.policy-section{padding:26px 20px;}}
  .policy-section h2{
    font-size:1.3rem; margin-bottom:18px; scroll-margin-top:110px;
    display:flex; align-items:baseline; gap:10px;
  }
  .policy-section h2 .num{color:var(--accent1);}

  .clause{
    display:flex; gap:10px; align-items:baseline;
    font-size:0.98rem; line-height:1.65; color:var(--ink);
    margin:0 0 14px;
  }
  .clause:last-child{margin-bottom:0;}
  .clause .num{
    flex:0 0 auto; font-weight:700; color:var(--accent1);
    font-variant-numeric:tabular-nums;
  }
  .clause .txt{flex:1 1 auto;}
  .clause.lvl2{margin-left:0;}
  .clause.lvl3{margin-left:26px;}
  .clause.lvl3 .num{font-weight:600; color:var(--accent2);}
  .clause.highlight .txt{
    background:linear-gradient(120deg, rgba(169,131,92,0.14), rgba(110,91,75,0.06));
    border-radius:12px; padding:10px 14px;
  }

  .policy-section p.plain{font-size:0.98rem; line-height:1.65; color:var(--ink); margin-bottom:14px;}
  .policy-section p.plain:last-child{margin-bottom:0;}

  .contact-box{
    margin-top:18px; padding:16px 18px; border-radius:16px;
    background:rgba(255,255,255,0.55); border:1px solid rgba(255,255,255,0.8);
    font-size:0.95rem; line-height:1.6;
  }
  .contact-box a{color:var(--accent1); font-weight:700;}
  .contact-box a:hover{text-decoration:underline;}

  /* ---------- Footer ---------- */
  .site-footer{padding:30px 0 40px; text-align:center; font-size:0.8rem; color:var(--sub); font-weight:600;}
  .site-footer a{color:var(--accent1); font-weight:700;}
  .site-footer a:hover{text-decoration:underline;}

  /* ---------- Scroll-to-top button ---------- */
  .to-top{
    position:fixed; right:20px; bottom:20px; z-index:90;
    width:48px; height:48px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background:var(--accent-grad); color:#fff; border:none; cursor:pointer;
    box-shadow:0 10px 24px -8px rgba(110,91,75,0.55), inset 0 1px 0 rgba(255,255,255,0.45);
    opacity:0; visibility:hidden; transform:translateY(14px);
    transition:opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
  }
  .to-top.is-visible{opacity:1; visibility:visible; transform:translateY(0);}
  .to-top:hover{transform:translateY(-3px);}
  .to-top:focus-visible{outline:2px solid var(--accent1); outline-offset:3px;}
  .to-top svg{width:20px;height:20px;}
  @media (max-width:520px){.to-top{right:14px;bottom:14px;width:44px;height:44px;}}

  @media (prefers-reduced-motion: reduce){
    *{animation:none !important; transition:none !important; scroll-behavior:auto !important;}
  }

  .reveal{opacity:0; transform:translateY(16px); transition:opacity 0.6s ease, transform 0.6s ease;}
  .reveal.is-visible{opacity:1; transform:translateY(0);}
  /* Long legal text must remain visible even if scroll-reveal JS does not fire. */
  .policy-card.reveal{opacity:1 !important; transform:none !important;}


/* ---------- Public offer additions ---------- */
.offer-intro{margin:28px 0 8px;padding:22px 24px;}
.offer-intro p{font-size:0.98rem;line-height:1.72;color:var(--ink);}
.requisites{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px;}
.requisite-card{
  padding:16px 18px;border-radius:16px;background:rgba(255,255,255,0.55);
  border:1px solid rgba(255,255,255,0.8);font-size:0.94rem;line-height:1.65;
}
.requisite-card.full{grid-column:1/-1;}
.requisite-card strong{display:block;margin-bottom:4px;color:var(--accent1);}
.requisite-card a{color:var(--accent1);font-weight:700;}
.requisite-card a:hover{text-decoration:underline;}
.inline-link{color:var(--accent1);font-weight:700;text-decoration-thickness:1px;text-underline-offset:2px;}
.inline-link:hover{text-decoration:underline;}
@media (max-width:640px){.requisites{grid-template-columns:1fr;}.requisite-card.full{grid-column:auto;}}

/* Legal documents must remain readable even when animation JS is unavailable. */
.policy-card { opacity: 1 !important; transform: none !important; }
.policy-hero .eyebrow::before { content: none; }

/* Keep the dropdown outside the glass dock visible on mobile. */
.dock.glass,
.dock,
.dock-wrap { overflow: visible; }
.dock { position: relative; }
@media (max-width:880px){
  .mobile-toggle{
    position:relative;
    z-index:102;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
  }
  .dock-links.open{
    top:calc(100% + 10px);
    left:0;
    right:0;
    z-index:101;
    max-height:calc(100vh - 100px);
    overflow-y:auto;
    background:rgba(255,255,255,0.94);
    -webkit-backdrop-filter:blur(24px);
    backdrop-filter:blur(24px);
  }
  .dock-links.open a{width:100%;padding:12px 14px;}
}

/* ---------- Footer navigation ---------- */

.footer-nav{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 18px;
  margin:0 auto 22px;
}

.site-footer .footer-nav a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:6px 10px;
  border-radius:10px;
  color:var(--ink);
  font-size:0.86rem;
  font-weight:700;
  line-height:1.35;
}

@media (max-width:640px){
  .footer-nav{
    flex-direction:column;
    align-items:center;
    gap:4px;
    margin-bottom:18px;
  }

  .site-footer .footer-nav a{
    display:block;
    padding:6px 8px;
    font-size:0.82rem;
  }
}