    /* -- Floating Action Button v2 (glow-pulse, 72/64px, badge) -- */
    /* Badge placeholder (hidden by default, for future AI-chat count) */
/* About page responsive — mobile only, desktop not touched */
/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */
/*# sourceURL=global-styles-inline-css */
/*! This file is auto-generated */
/*# sourceURL=/wp-includes/css/wp-block-template-skip-link.min.css */
    
/*# sourceURL=uaeprop-interactions-inline-css */
/* Contact page: ITI phone flag selector dark-mode override */
    /* input.is-invalid highlight */

    /* Contact page responsive — mobile only */
@font-face{ font-family:Fraunces;font-style:normal;font-weight:300 700;font-display:swap;src:url('/fonts/fraunces-latin.woff2') format('woff2'); }
@font-face{ font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/ibm-plex-sans-400-latin.woff2') format('woff2'); }
@font-face{ font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/ibm-plex-sans-500-latin.woff2') format('woff2'); }
@font-face{ font-family:"IBM Plex Sans";font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/ibm-plex-sans-700-latin.woff2') format('woff2'); }
@font-face{ font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/jetbrains-mono-500-latin.woff2') format('woff2'); }
@font-face{ 
  font-family: 'IBM Plex Sans';
  src: url('/fonts/ibm-plex-sans-500-latin.woff2') format('woff2');
  font-weight: 500; font-style: normal; font-display:swap;
 }
@font-face{ 
  font-family: 'JetBrains Mono';
  src: url('/fonts/jetbrains-mono-500-latin.woff2') format('woff2');
  font-weight: 400 500; font-style: normal; font-display:swap;
 }

/* ── Outer shell ── */

/* ── Logo (left) ── */

/* ── Nav wrapper — centered via flex grow trick ── */

/* ── Nav item gap: 28px between items (half each side = 14px) ── */

/* ── Top-level links / buttons ── */

/* chevron icon */

/* ── Dropdown panel ── */

/* ── Emirates flyout arrow ── */

/* ── Emirates sub-dropdown (flies right) ── */

/* ── Right side: lang switcher + CTA ── */

/* Language switcher */

/* CTA pill — edits4: enlarged to match removed float-btn (h:56px, 16px, 500) */

/* ── Mobile hamburger ── */

/* ── Mobile menu panel ── */

/* ── Responsive breakpoint ── */
/* ── Page shell ── */
.up-privacy-page { background: var(--wp--preset--color--bg-light); }

/* ── Rail: full-bleed bg, content centred at 1280px ── */
.up-privacy-header,
.up-privacy-body,
.up-privacy-crumb {
  padding-left:  max(80px, calc((100vw - 1280px) / 2));
  padding-right: max(80px, calc((100vw - 1280px) / 2));
}

/* ── Page header ── */
.up-privacy-header {
  background: var(--wp--preset--color--bg-light);
  padding-top: 40px;
  padding-bottom: 40px;
  box-sizing: border-box;
}
.up-privacy-kicker {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.96px;
  text-transform: uppercase;
  color: rgba(14,14,16,0.6);
  margin: 0 0 18px 0;
}
.up-privacy-h1 {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 400;
  font-variation-settings: "SOFT" 0, "WONK" 1;
  color: var(--wp--preset--color--ink);
  margin: 0 0 20px 0;
}
.up-privacy-subhead {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: rgba(14,14,16,0.7);
  margin: 0;
  max-width: 568px;
}

/* ── Two-column layout ── */
.up-privacy-body {
  background: var(--wp--preset--color--bg-light);
  padding-top: 40px;
  padding-bottom: 80px;
  box-sizing: border-box;
  display: flex;
  gap: 80px;
  align-items: flex-start;
}

/* ── TOC sidebar ── */
.up-privacy-toc {
  width: 240px;
  flex-shrink: 0;
  position: sticky;
  top: 100px; /* account for sticky header ~92px */
  padding-top: 4px;
}
.up-privacy-toc__header {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.88px;
  text-transform: uppercase;
  color: rgba(14,14,16,0.5);
  margin: 0 0 16px 0;
}
.up-privacy-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.up-privacy-toc__list li + li {
  margin-top: 4px;
}
.up-privacy-toc__list a {
  font-family: 'IBM Plex Sans', sans-serif;
  font-weight: 500;
  font-size: 14px;
  color: rgba(14,14,16,0.6);
  text-decoration: none;
  display: block;
  padding: 6px 0;
  border-bottom: 1px solid transparent;
  transition: color 0.15s;
  line-height: 1.4;
}
.up-privacy-toc__list a:hover {
  color: var(--wp--preset--color--ink);
  text-decoration: underline;
}
.up-privacy-toc__list a.active,
.up-privacy-toc__list a[aria-current="true"] {
  color: var(--wp--preset--color--ink);
  text-decoration: underline;
}

/* ── Policy body ── */
.up-privacy-content {
  flex: 1;
  max-width: 900px;
  min-width: 0;
}

/* ── Policy sections ── */
.up-privacy-section {
  margin-bottom: 40px;
}
.up-privacy-section h2 {
  font-family: 'IBM Plex Sans', system-ui, sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: var(--wp--preset--color--ink);
  margin: 0 0 8px 0;
  line-height: 1.3;
}
.up-privacy-accent {
  display: block;
  width: 40px;
  height: 2px;
  background: var(--wp--preset--color--accent);
  border-radius: 1px;
  margin-bottom: 18px;
}
.up-privacy-section p {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 17px;
  line-height: 1.65;
  color: rgba(14,14,16,0.85);
  margin: 0;
}

/* ── Mobile: TOC stacks above body ── */
@media (max-width: 960px) {
  .up-privacy-body,
  .up-privacy-header,
  .up-privacy-crumb {
    padding-left: 20px;
    padding-right: 20px;
  }
  .up-privacy-body {
    flex-direction: column;
    gap: 40px;
  }
  .up-privacy-toc {
    width: 100%;
    position: static;
  }
  .up-privacy-toc__list {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
  }
  .up-privacy-toc__list a {
    padding: 6px 12px;
    border: 1px solid rgba(14,14,16,0.15);
    border-radius: 4px;
    font-size: 13px;
    border-bottom: 1px solid rgba(14,14,16,0.15);
  }
  /* .up-privacy-h1 font-size removed — token handles responsive */
}
@font-face{ 
  font-family: 'IBM Plex Sans';
  src: url('/fonts/ibm-plex-sans-400-latin.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display:swap;
 }
@font-face{ 
  font-family: 'IBM Plex Sans';
  src: url('/fonts/ibm-plex-sans-500-latin.woff2') format('woff2');
  font-weight: 500; font-style: normal; font-display:swap;
 }
@font-face{ 
  font-family: 'JetBrains Mono';
  src: url('/fonts/jetbrains-mono-500-latin.woff2') format('woff2');
  font-weight: 400 500; font-style: normal; font-display:swap;
 }

/* ── Top row: brand left + columns right ── */

/* ── Brand block (left ~44%) ── */

/* ── 5 columns (right ~56%) — Wave-G: right-align cols block to rail edge ── */
/* Wave-G: gap handles spacing, no margin-left needed */

/* ── Bottom bar ── */

/* Lang switcher in footer bottom bar */

/* ── Responsive ── */

/* ═════════════════════════════════════════════════════════════════
   RU/AR .prv-* content styling — 2026-08-18 mobile design pass.
   BUG FOUND LIVE: this file only ever contained the OLD legacy
   .up-privacy-* rules (paired with the now-unused
   content/privacy-policy-body.html snapshot). RU/AR content
   (content/privacy-policy-body.ru.html + .ar.html) was rebuilt at
   some point to use the SAME modern .prv-* classes as the EN page
   (src/pages/privacy-policy.astro's own <style is:inline>), but no
   one ever ported the .prv-* CSS into this shared file — so RU/AR
   privacy-policy rendered with ZERO page-specific styling at ANY
   viewport (confirmed live: 0px rail padding, bulleted TOC, no
   sticky sidebar). This block ports the EN design (desktop-complete,
   not a regression) + extends it to the 390/430/768 mobile canon
   (MOBILE_DESIGN_CANON_20260817.md) with real 44px touch targets.
   .up-privacy-* above stays untouched — dead code, not deleted.
   ═════════════════════════════════════════════════════════════════ */
.prv-rail {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 80px;
  box-sizing: border-box;
}
.prv-crumb {
  background: #F2F0EC;
  padding: 0 max(80px, calc((100% - 1280px) / 2));
  gap: 4px;
  box-sizing: border-box;
}
.prv-crumb a { color: rgba(14,14,16,0.6); text-decoration: underline; }
.prv-crumb span { color: rgba(14,14,16,0.4); }
.prv-crumb span:last-child { color: rgba(14,14,16,0.85); }
.prv-crumb a:hover { color: #d28c5a; }

.prv-hero {
  background: var(--wp--preset--color--bg-light, #F2F0EC);
  padding: 40px 0 43px;
}
/* 19.08 (sitewide heading-unification pass, Phase 4): the RU/AR Privacy
   Policy page used an entirely different heading system from the EN
   version of the SAME page (this file's own prv-* classes) instead of
   the shared .t2-kicker/.t2-section-title token EN already uses — a
   language-parity bug, not just a size drift. Kicker 12->11px matches
   canon; H1 56->64px matches EN's H1 exactly (EN's H1 also uses
   .t2-section-title, same value as its H2s). Font-family/weight kept as
   plain Fraunces here (matches EN's declared family) — the sitewide
   html[lang="ru"/"ar"] font-substitution override (global.css, Alegreya
   for RU / Amiri for AR — neither is a full Cyrillic/Arabic match for
   Fraunces alone) only targeted .t2-section-title and a handful of other
   classes, never these bespoke prv-* ones, since this page never used
   the token before. Added .prv-hero__h1/.prv-section__heading to both
   override lists so RU/AR get the same substitute serif every other
   RU/AR heading on the site already gets. */
.prv-hero__kicker {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.08em;
  color: rgba(14,14,16,0.6);
  text-transform: uppercase;
  margin: 0 0 16px;
  line-height: 1;
}
.prv-hero__h1 {
  font-family: 'Fraunces', serif;
  font-weight: 400;
  font-variation-settings: "SOFT" 0, "WONK" 1;
  font-size: 64px;
  line-height: 1.1;
  color: #0e0e10;
  margin: 0 0 16px;
}
.prv-hero__sub {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: rgba(14,14,16,0.7);
  line-height: 1.55;
  margin: 0;
  max-width: 568px;
}

.prv-body {
  background: var(--wp--preset--color--bg-light, #F2F0EC);
  padding: 40px 0 80px;
}
.prv-body__inner {
  display: flex;
  align-items: flex-start;
  gap: 0;
}
.prv-toc {
  flex: 0 0 240px;
  width: 240px;
  position: sticky;
  top: 112px;
  align-self: flex-start;
  padding-right: 0;
}
.prv-toc__label {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.08em;
  color: rgba(14,14,16,0.5);
  text-transform: uppercase;
  display: block;
  margin-bottom: 16px;
  line-height: 1;
}
.prv-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.prv-toc__item { display: block; }
.prv-toc__link {
  display: block;
  font-family: 'IBM Plex Sans', sans-serif;
  font-weight: 500;
  font-size: 14px;
  color: rgba(14,14,16,0.6);
  text-decoration: none;
  line-height: 1.4;
  padding: 7px 0;
  transition: color 0.15s;
  border: none;
}
.prv-toc__link:hover,
.prv-toc__link.is-active {
  color: #0e0e10;
  text-decoration: underline;
  text-decoration-color: #d28c5a;
  text-underline-offset: 3px;
}
.prv-content {
  flex: 1;
  min-width: 0;
  padding-left: 80px;
}
.prv-section { margin-bottom: 64px; }
.prv-section:last-child { margin-bottom: 0; }
.prv-section__heading {
  font-family: 'Fraunces', serif;
  font-weight: 400;
  font-variation-settings: "SOFT" 0, "WONK" 1;
  font-size: 64px;
  line-height: 1.15;
  color: #0e0e10;
  margin: 0 0 10px;
}
/* 19.08: canon <=1439px step, matching .t2-section-title's mechanism —
   this class had no tablet tier at all before (only a <=480 override
   further down), so 481-1439 fell through to the (now 64px) desktop
   value with no responsive step in between. */
@media (max-width: 1439px) {
  .prv-section__heading { font-size: 28px !important; }
}
.prv-section__rule {
  display: block;
  width: 40px;
  height: 2px;
  background: #d28c5a;
  border: none;
  margin: 0 0 18px;
}
.prv-section__body {
  font-family: 'IBM Plex Sans', sans-serif;
  font-weight: 400;
  font-size: 17px;
  line-height: 1.65;
  color: rgba(14,14,16,0.85);
  margin: 0;
}

/* 961-1100px tier (25.08 sweep — Class B, missing-tablet-tier bug pattern per
   wiki/synthesis/2026-08-25_uaeprop_tablet_padding_bug_patterns.md): this shared file
   (serves RU/AR — EN uses its own <style is:inline> in src/pages/privacy-policy.astro,
   which already has this exact tier) never got the equivalent 1100px step ported over
   when .prv-* was added here — RU/AR was stuck at desktop's 80px from 961-1439 while EN
   was already correctly at 40px. 40px matches EN's own value exactly (not the generic
   48px sitewide canon) — same page, same component, kept identical across languages by
   the design intent stated in privacy-policy.astro's own comment on this block. */
@media (max-width: 1100px) {
  .prv-rail { padding: 0 40px; }
}
/* .prv-crumb also carries the shared .t2-crumb class, which now has its own global
   !important 961-1439px tier (global.css, same 25.08 sweep, 48px) — equal specificity
   to plain .prv-crumb, would win unpredictably by source order between 2 files.
   Compound selector + !important wins unconditionally, matching the EN page's own fix
   (src/pages/privacy-policy.astro) so RU/AR's crumb stays matched to its own 40px
   .prv-rail instead of drifting to the generic 48px canon. MUST be bounded at
   min-width:961px, not merged into the unbounded <=1100px block above — that block's
   own !important would otherwise beat the <=960px tier's plain .prv-crumb rule below
   too (the exact regression this sweep's own code review caught once already, in the
   EN version of this same page). Round 2 review also caught a 3rd bug here (same as EN):
   .prv-rail never steps down again above 1100px — stays 80px, matching desktop, per this
   page's own documented rail design — so 1101-1439px needs its own tier restoring 80px,
   not the generic 48px canon, or crumb/rail mismatch reappears in that narrower range. */
@media (min-width:961px) and (max-width:1100px) {
  .t2-crumb.prv-crumb { padding: 0 40px !important; }
}
@media (min-width:1101px) and (max-width:1439px) {
  .t2-crumb.prv-crumb { padding: 0 80px !important; }
}
/* ── Mobile canon: full-page 481-960 tablet tier — 24px side padding, TOC stacks above body ── */
@media (max-width: 960px) {
  .prv-rail { padding: 0 24px; }
  .prv-crumb { padding: 0 24px; }
  .prv-body__inner { flex-direction: column; }
  .prv-toc {
    position: static;
    width: 100%;
    flex: none;
    padding-right: 0;
    margin-bottom: 40px;
  }
  .prv-content { padding-left: 0; }
  .prv-hero__h1 { font-size: 28px; } /* 19.08: was 40px, matched EN's H1 (.t2-section-title canon) */
  /* 44px real touch target on TOC links (canon: min 44x44, 8px between) */
  .prv-toc__link { padding: 12px 0; min-height: 44px; box-sizing: border-box; display: flex; align-items: center; }
  .prv-toc__item + .prv-toc__item { margin-top: 4px; }
  .prv-section { margin-bottom: 48px; }
}
/* ── Mobile canon: 390/430 phone tier — 20px side padding, tighter type ── */
@media (max-width: 480px) {
  .prv-rail { padding: 0 20px; }
  .prv-crumb { padding: 0 20px; }
  .prv-hero { padding: 32px 0 36px; }
  .prv-hero__sub { font-size: 15px; }
  .prv-section__body { font-size: 15px; }
}