/* Legal pages (Privacy Policy) — no Figma; built from the shared tokens and the Contact/Demo hero style */
.legal-hero { position: relative; overflow: hidden; background: linear-gradient(180deg, var(--sky) 0%, var(--sky-soft) 60%, #fff 100%); padding: 80px 0 40px; text-align: center; }
.legal-hero .pin { position: absolute; width: 110px; height: auto; pointer-events: none; }
.legal-hero .pin--red { left: 95px; top: 60px; transform: rotate(-12deg); }
.legal-hero .pin--teal { right: 104px; top: 110px; transform: rotate(10deg); }
.page-title { font-family: var(--font-head); font-weight: 800; font-size: clamp(36px, 4vw, 48px); line-height: 1.04; letter-spacing: -1px; }
.page-title em { font-style: normal; color: var(--blue); }
.legal-hero__intro { max-width: 820px; margin: 18px auto 0; font-size: 18px; line-height: 1.75; color: var(--muted); }
.legal-jump { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 30px; }

.legal { padding: 30px 0 90px; }
.legal__inner { max-width: 940px; margin: 0 auto; }
.legal__part { scroll-margin-top: 110px; }
.legal__part + .legal__part { margin-top: 70px; }
.legal__part-title { display: flex; align-items: center; gap: 14px; margin-bottom: 26px; font-family: var(--font-head); font-weight: 800; font-size: clamp(26px, 2.6vw, 32px); line-height: 1.2; letter-spacing: -.5px; }
.legal__part-title::before { content: ""; flex: none; width: 6px; height: 34px; border-radius: 6px; background: linear-gradient(180deg, var(--blue), var(--teal)); }

.legal__list { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; counter-reset: legal; }
.legal__item { position: relative; padding: 26px 30px 26px 92px; background: #fff; border: 1px solid var(--border); border-radius: 20px; box-shadow: 0 10px 30px rgba(6,42,89,.05); counter-increment: legal; }
.legal__item::before { content: counter(legal, decimal-leading-zero); position: absolute; left: 26px; top: 24px; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 12px; background: var(--sky); color: var(--blue); font-family: var(--font-head); font-weight: 800; font-size: 15px; }
.legal__item h3 { font-family: var(--font-head); font-weight: 800; font-size: 20px; line-height: 1.4; }
.legal__item p { margin-top: 10px; font-size: 16px; line-height: 1.75; color: var(--muted); }
.legal__item a { color: var(--blue); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

.legal__data { margin: 14px 0 0; display: grid; gap: 12px; }
.legal__data div { padding: 14px 18px; background: var(--sky-soft); border: 1px solid var(--border); border-radius: 14px; }
.legal__data dt { font-weight: 700; font-size: 15.5px; color: var(--navy); }
.legal__data dd { margin: 4px 0 0; font-size: 15.5px; line-height: 1.7; color: var(--muted); }

.legal__bullets { margin-top: 12px; display: grid; gap: 10px; }
.legal__bullets li { position: relative; padding-left: 22px; font-size: 16px; line-height: 1.75; color: var(--muted); }
.legal__bullets li::before { content: ""; position: absolute; left: 2px; top: 11px; width: 8px; height: 8px; border-radius: 50%; background: var(--teal); }

.legal__item--contact { background: var(--sky); }
.legal__item--contact::before { background: #fff; }
.legal__mail { display: inline-flex; align-items: center; gap: 10px; margin-top: 14px; }

@media (min-width: 1101px) and (max-width: 1699px) {
  .legal-hero .pin { width: 56px; top: 30px; }
  .legal-hero .pin--red { left: max(24px, calc(50% - 620px)); }
  .legal-hero .pin--teal { right: max(24px, calc(50% - 620px)); }
}
@media (max-width: 1100px) {
  .legal-hero .pin { display: none; }
}
@media (max-width: 900px) {
  .legal-hero { padding: 56px 0 30px; }
  .legal { padding-bottom: 64px; }
  .legal__part + .legal__part { margin-top: 50px; }
}
@media (max-width: 560px) {
  .legal-jump .btn { width: 100%; }
  .legal__item { padding: 22px 20px; }
  .legal__item::before { position: static; margin-bottom: 14px; width: 40px; height: 40px; font-size: 14px; }
  .legal__item h3 { font-size: 18px; }
  .legal__item p, .legal__data dt, .legal__data dd, .legal__bullets li { font-size: 15px; }
  .legal-hero__intro { font-size: 17px; }
}
