/* Public privacy policy: shared by the standalone page (/privacy) and the modal
   on the landing page. The policy itself is scoped under .wfh-privacy; the header
   and footer (standalone page only) under .wfh-pv-*. Colours, radii and sizes are
   the landing page's own. */
.wfh-privacy-page,
.wfh-privacy {
  --pv-bg: #F3F1F9;
  --pv-border: #E4E0F2;
  --pv-ink: #0F172A;
  --pv-text-2: #334155;
  --pv-muted: #64748B;
  --pv-navy: #1E2D5B;
  --pv-teal: #028EA8;
  --pv-teal-dark: #006D80;
  --pv-teal-light: #7FD3E0;
  --pv-footer-bg: #0A1226;
  --pv-footer-text: #CBD5E1;
  --pv-footer-muted: #94A3B8;
  --pv-shadow: 0 16px 40px -12px rgba(16, 24, 40, .18);
}
.wfh-privacy-page { margin: 0; background: var(--pv-bg); }
.wfh-privacy-page,
.wfh-privacy {
  font-family: 'Cairo', 'Segoe UI', system-ui, Tahoma, sans-serif;
  color: var(--pv-ink);
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
}
.wfh-privacy-page *, .wfh-privacy * { box-sizing: border-box; }
.wfh-privacy a { color: var(--pv-teal-dark); }
.wfh-privacy a:hover { color: var(--pv-navy); }
/* Same container as the header and footer (the landing's 1240px column). */
.wfh-privacy.wrap { max-width: 1240px; margin: 0 auto; padding: 24px 40px 64px; }
.wfh-privacy .doc { background: #fff; border: 1px solid var(--pv-border); border-radius: 26px; box-shadow: var(--pv-shadow); padding: 32px 32px 24px; margin-bottom: 28px; }
.wfh-privacy .doc h1 { margin: 0 0 4px; font-size: 26px; font-weight: 700; color: var(--pv-navy); }
.wfh-privacy .doc h2 { margin: 26px 0 4px; font-size: 17px; font-weight: 700; color: var(--pv-navy); }
.wfh-privacy .doc h3 { margin: 14px 0 2px; font-size: 15px; font-weight: 600; color: var(--pv-text-2); }
.wfh-privacy .doc p, .wfh-privacy .doc div { margin: 4px 0 8px; }
.wfh-privacy .doc ul, .wfh-privacy .doc ol { margin: 4px 0 10px; padding-inline-start: 22px; }
.wfh-privacy .doc blockquote { margin: 8px 0; padding-inline-start: 14px; border-inline-start: 3px solid var(--pv-border); color: var(--pv-text-2); }
/* The first line under the title is the effective / last-updated dates. */
.wfh-privacy .doc h1 + p, .wfh-privacy .doc h1 + div { color: var(--pv-muted); margin: 0 0 12px; }

/* Keyboard focus (WCAG 2.4.7): the landing's own teal ring. */
.wfh-privacy a:focus-visible,
.wfh-pv-header a:focus-visible,
.wfh-pv-skip:focus-visible { outline: 2px solid var(--pv-teal); outline-offset: 3px; border-radius: 6px; }

/* Skip link: off-screen until it takes keyboard focus. */
.wfh-pv-skip { position: absolute; inset-inline-start: 12px; top: -64px; z-index: 10; padding: 10px 18px; border-radius: 999px; background: var(--pv-navy); color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; }
.wfh-pv-skip:focus { top: 12px; }

/* Header: logo, section links, login button (the landing's header). */
.wfh-pv-header__inner { max-width: 1240px; margin: 0 auto; padding: 22px 40px; display: flex; align-items: center; gap: 36px; }
.wfh-pv-logo { display: flex; align-items: center; gap: 10px; color: var(--pv-ink); text-decoration: none; }
.wfh-pv-logo__img { display: block; width: auto; height: 70px; }
.wfh-pv-logo__text { font-size: 20px; font-weight: 700; letter-spacing: -0.01em; }
.wfh-pv-nav { display: flex; align-items: center; gap: 28px; font-size: 14px; font-weight: 500; }
.wfh-pv-nav a { color: var(--pv-text-2); text-decoration: none; }
.wfh-pv-nav a:hover { color: var(--pv-teal-dark); }
.wfh-pv-actions { margin-inline-start: auto; display: flex; align-items: center; gap: 16px; }
.wfh-pv-login { font-size: 13.5px; font-weight: 600; color: #fff; background: var(--pv-teal); padding: 10px 22px; border-radius: 999px; text-decoration: none; transition: transform 150ms, box-shadow 150ms, background 150ms; }
.wfh-pv-header a.wfh-pv-login:hover { color: #fff; background: var(--pv-teal-dark); transform: translateY(-1px); box-shadow: 0 8px 20px rgba(2, 142, 168, .30); }

/* Footer: contact, services, quick links, logo + social, copyright (the landing's footer). */
.wfh-pv-footer { margin-top: 24px; background: var(--pv-footer-bg); color: var(--pv-footer-text); }
.wfh-pv-footer__inner { max-width: 1240px; margin: 0 auto; padding: 56px 40px 26px; }
.wfh-pv-footer__grid { display: grid; grid-template-columns: 1fr 1fr 1fr 1.35fr; gap: 40px; align-items: start; }
.wfh-pv-footer__title { margin: 0 0 18px; font-size: 16px; font-weight: 700; color: #fff; }
.wfh-pv-footer__col { display: flex; flex-direction: column; gap: 12px; font-size: 13.5px; }
.wfh-pv-footer__list { list-style: none; margin: 0; padding: 0; gap: 10px; }
.wfh-pv-footer a { color: inherit; text-decoration: none; }
.wfh-pv-footer a:hover { color: var(--pv-teal-light); }
.wfh-pv-footer a:focus-visible { outline: 2px solid var(--pv-teal-light); outline-offset: 3px; border-radius: 6px; }
.wfh-pv-footer__row { display: flex; align-items: center; gap: 10px; }
.wfh-pv-footer__row svg { flex: 0 0 auto; }
.wfh-pv-footer__brand { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.wfh-pv-footer__logo { height: 56px; width: auto; display: block; filter: brightness(0) invert(1); }
.wfh-pv-footer__name { font-size: 22px; font-weight: 700; color: #fff; }
.wfh-pv-footer__tagline { margin: 0; font-size: 13.5px; line-height: 1.9; max-width: 30ch; }
.wfh-pv-footer__social { display: flex; gap: 10px; }
.wfh-pv-footer__social-link { width: 36px; height: 36px; border-radius: 999px; border: 1px solid rgba(148, 163, 184, .4); display: grid; place-items: center; color: #fff; }
.wfh-pv-footer__legal a { text-decoration: underline; }
.wfh-pv-footer__legal { margin-top: 40px; border-block-start: 1px solid rgba(148, 163, 184, .2); padding-block-start: 20px; text-align: center; font-size: 12.5px; color: var(--pv-footer-muted); }

@media (max-width: 1024px) {
  .wfh-pv-header__inner { gap: 24px; }
  .wfh-pv-nav { gap: 18px; }
}
@media (max-width: 860px) {
  .wfh-pv-header__inner { flex-wrap: wrap; padding: 16px 20px; gap: 12px 16px; }
  .wfh-pv-logo__img { height: 42px; }
  .wfh-pv-nav { order: 3; flex: 1 0 100%; flex-wrap: wrap; justify-content: center; gap: 8px 20px; }
  .wfh-privacy.wrap { padding-inline: 20px; }
  .wfh-pv-footer__inner { padding: 40px 20px 22px; }
  .wfh-pv-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  .wfh-pv-footer__grid { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 560px) {
  .wfh-privacy .doc { padding: 22px 18px 14px; border-radius: 20px; }
  .wfh-privacy .doc h1 { font-size: 22px; }
}
@media (max-width: 480px) {
  .wfh-pv-logo__img { height: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  .wfh-pv-login { transition: none; }
  .wfh-pv-header a.wfh-pv-login:hover { transform: none; }
}
@media (forced-colors: active) {
  .wfh-pv-footer__logo { filter: none; }
}
@media print {
  .wfh-privacy-page { background: #fff; }
  .wfh-pv-skip, .wfh-pv-header, .wfh-pv-footer { display: none; }
  .wfh-privacy .doc { border: 0; box-shadow: none; padding: 0; }
}
