/* ═══════════════════════════════════════════════════════════════════════
   umego.app — shared design system, 2026-11 redesign
   ───────────────────────────────────────────────────────────────────────
   Every page links this file: the homepage, /premium, and the policy pages
   (re-skinned by tools/build.py). Tokens are namespaced --u-* so they never
   collide with the older pages' own inline :root tokens.

   Colour law (unchanged from the app):
     Yellow #FFEB00 means commitment and reward. At most one yellow object
     per viewport, and always ink on top of it.
     Sky #00BFFF is a fill. Sky-coloured TEXT uses --u-sky-ink.
     Gold belongs to Nikah and to Premium, nowhere else.
   ═══════════════════════════════════════════════════════════════════════ */

:root {
  --u-ink: #11110F;
  --u-ink-2: #2A2A26;
  --u-muted: #5B5B55;
  --u-faint: #85857F;
  --u-line: #EAEAE6;
  --u-line-2: #DCDCD6;
  --u-paper: #FFFFFF;
  --u-mist: #F6F6F3;
  --u-mist-2: #EFEFEA;
  --u-sky: #00BFFF;
  --u-sky-bright: #4CD2FF;
  --u-sky-ink: #0078A0;
  --u-sky-soft: #E6F7FF;
  --u-solar: #FFEB00;
  --u-solar-soft: #FFFACC;
  --u-gold: #CDA65B;
  --u-gold-light: #FFE9B5;
  --u-gold-deep: #947039;
  --u-live: #F04452;
  --u-night: #0A0A0C;
  --u-night-2: #141416;
  --u-night-line: #26262A;

  --u-display: 'Baloo Da 2', 'Anek Bangla', system-ui, sans-serif;
  --u-body: 'Anek Bangla', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --u-r-sm: 12px;
  --u-r-md: 18px;
  --u-r-lg: 26px;
  --u-r-xl: 36px;
  --u-maxw: 1200px;
  --u-gutter: clamp(16px, 4.4vw, 40px);
  --u-ease: cubic-bezier(.22, .61, .36, 1);
  --u-spring: cubic-bezier(.34, 1.56, .64, 1);
  --u-shadow-1: 0 1px 2px rgb(17 17 15 / .04), 0 4px 14px rgb(17 17 15 / .05);
  --u-shadow-2: 0 2px 6px rgb(17 17 15 / .05), 0 18px 48px rgb(17 17 15 / .10);
  --u-shadow-3: 0 30px 80px rgb(17 17 15 / .16), 0 8px 24px rgb(17 17 15 / .08);
  --u-nav-h: 68px;

  /* Theme-dependent surfaces (dark values below). */
  --u-card: #FFFFFF;
  --u-glass: rgb(255 255 255 / .92);
  --u-nav-bg: rgb(255 255 255 / .72);
  --u-nav-bg-solid: rgb(255 255 255 / .86);
  --u-sheet-bg: rgb(255 255 255 / .97);
  --u-dot: rgb(17 17 15 / .13);
  --u-like-bg: #FFF0F1;
  --u-err-bg: #FDECEE;
  --u-err-fg: #A3202C;
  --u-map-bg: #F1F1EE;
  --u-map-block: #EAEAE6;
  --u-map-road: #FFFFFF;
  --u-map-water: #CBEEFC;
  --u-map-park: #E6EBE2;
  --u-map-label: #A9A9A2;
  --u-on-sky: #11110F;
  /* Sun from above, sky from below: the light of the download section. */
  --u-glow-sun: rgb(255 235 0 / .26);
  --u-glow-sky: rgb(0 191 255 / .2);
  /* .u-lt shows only in light, .u-dk only in dark. */
  --u-lt: block;
  --u-dk: none;
  color-scheme: light;
}

/* Dark: follows the phone unless the visitor picked a theme (umego-theme =
   moon | solar in localStorage, shared with the beta and policy pages). */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="solar"]) {
  --u-ink: #F4F4F2;
  --u-ink-2: #DCDCD8;
  --u-muted: #A3A3A8;
  --u-faint: #85858C;
  --u-line: #232327;
  --u-line-2: #34343A;
  --u-paper: #0A0A0C;
  --u-mist: #111113;
  --u-mist-2: #1A1A1D;
  --u-card: #18181B;
  --u-glass: rgb(28 28 31 / .86);
  --u-nav-bg: rgb(10 10 12 / .72);
  --u-nav-bg-solid: rgb(10 10 12 / .86);
  --u-sheet-bg: rgb(10 10 12 / .97);
  --u-sky-ink: #4CD2FF;
  --u-sky-soft: #19191C;
  --u-solar-soft: #2E2A06;
  --u-dot: rgb(255 255 255 / .09);
  --u-glow-sun: rgb(255 235 0 / .17);
  --u-glow-sky: rgb(0 191 255 / .33);
  --u-like-bg: rgb(240 68 82 / .16);
  --u-err-bg: #3A1418;
  --u-err-fg: #FF9AA4;
  --u-map-bg: #141416;
  --u-map-block: #1B1B1F;
  --u-map-road: #2C2C31;
  --u-map-water: #0D2A36;
  --u-map-park: #15201A;
  --u-map-label: #63636B;
  --u-shadow-1: 0 1px 2px rgb(0 0 0 / .4), 0 4px 14px rgb(0 0 0 / .3);
  --u-shadow-2: 0 2px 6px rgb(0 0 0 / .4), 0 18px 48px rgb(0 0 0 / .5);
  --u-shadow-3: 0 30px 80px rgb(0 0 0 / .6), 0 8px 24px rgb(0 0 0 / .4);
  --u-lt: none;
  --u-dk: block;
  color-scheme: dark;
  }
}
:root[data-theme="moon"] {
  --u-ink: #F4F4F2;
  --u-ink-2: #DCDCD8;
  --u-muted: #A3A3A8;
  --u-faint: #85858C;
  --u-line: #232327;
  --u-line-2: #34343A;
  --u-paper: #0A0A0C;
  --u-mist: #111113;
  --u-mist-2: #1A1A1D;
  --u-card: #18181B;
  --u-glass: rgb(28 28 31 / .86);
  --u-nav-bg: rgb(10 10 12 / .72);
  --u-nav-bg-solid: rgb(10 10 12 / .86);
  --u-sheet-bg: rgb(10 10 12 / .97);
  --u-sky-ink: #4CD2FF;
  --u-sky-soft: #19191C;
  --u-solar-soft: #2E2A06;
  --u-dot: rgb(255 255 255 / .09);
  --u-glow-sun: rgb(255 235 0 / .17);
  --u-glow-sky: rgb(0 191 255 / .33);
  --u-like-bg: rgb(240 68 82 / .16);
  --u-err-bg: #3A1418;
  --u-err-fg: #FF9AA4;
  --u-map-bg: #141416;
  --u-map-block: #1B1B1F;
  --u-map-road: #2C2C31;
  --u-map-water: #0D2A36;
  --u-map-park: #15201A;
  --u-map-label: #63636B;
  --u-shadow-1: 0 1px 2px rgb(0 0 0 / .4), 0 4px 14px rgb(0 0 0 / .3);
  --u-shadow-2: 0 2px 6px rgb(0 0 0 / .4), 0 18px 48px rgb(0 0 0 / .5);
  --u-shadow-3: 0 30px 80px rgb(0 0 0 / .6), 0 8px 24px rgb(0 0 0 / .4);
  --u-lt: none;
  --u-dk: block;
  color-scheme: dark;
}
.u-lt { display: var(--u-lt) !important; }
.u-dk { display: var(--u-dk) !important; }

/* ── Base ─────────────────────────────────────────────────────────────── */
.u-page, .u-page *, .u-page *::before, .u-page *::after { box-sizing: border-box; }
html.u-html { -webkit-text-size-adjust: 100%; scroll-padding-top: 12px; }
body.u-page {
  margin: 0;
  background: var(--u-paper);
  color: var(--u-ink);
  font: 400 17px/1.6 var(--u-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
.u-page img, .u-page video { display: block; max-width: 100%; }
:where(.u-page) a { color: inherit; }
:where(.u-page) button { font: inherit; color: inherit; }
.u-page :focus-visible { outline: 2.5px solid var(--u-sky); outline-offset: 3px; border-radius: 8px; }
.u-page ::selection { background: var(--u-solar); color: #11110F; }
/* The hidden attribute always wins over component display rules. */
.u-page [hidden], [hidden].u-page { display: none !important; }
.u-skip {
  position: absolute; left: 12px; top: -60px; z-index: 200;
  background: var(--u-ink); color: var(--u-paper); padding: 10px 16px; border-radius: 12px;
  font-weight: 600; text-decoration: none; transition: top .2s var(--u-ease);
}
.u-skip:focus { top: 12px; }
.u-wrap { width: 100%; max-width: var(--u-maxw); margin: 0 auto; padding: 0 var(--u-gutter); }
.u-bn { font-family: 'Anek Bangla', var(--u-body); }
.u-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ── Type ─────────────────────────────────────────────────────────────── */
.u-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font: 600 13px/1 var(--u-body); letter-spacing: .14em; text-transform: uppercase;
  color: var(--u-muted);
}
.u-eyebrow::before { content: ""; width: 18px; height: 2px; border-radius: 2px; background: currentColor; opacity: .5; }
.u-h1, .u-h2, .u-h3 { font-family: var(--u-display); color: var(--u-ink); margin: 0; letter-spacing: -0.025em; }
.u-h1 { font-weight: 800; font-size: clamp(46px, 7.4vw, 104px); line-height: .94; }
.u-h2 { font-weight: 750; font-size: clamp(36px, 5vw, 68px); line-height: 1; }
.u-h3 { font-weight: 700; font-size: clamp(22px, 2vw, 28px); line-height: 1.12; letter-spacing: -0.015em; }
.u-lede { font-size: clamp(18px, 1.45vw, 21px); line-height: 1.55; color: var(--u-muted); margin: 0; max-width: 34em; }
.u-muted { color: var(--u-muted); }

/* ── Buttons ──────────────────────────────────────────────────────────── */
.u-btn {
  --bg: var(--u-ink); --fg: var(--u-paper);
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 0 24px; border-radius: 999px; border: 0;
  background: var(--bg); color: var(--fg);
  font: 600 16px/1 var(--u-body); text-decoration: none; cursor: pointer;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .14);
  transition: transform .25s var(--u-ease), box-shadow .25s var(--u-ease), background .2s;
  -webkit-tap-highlight-color: transparent;
}
.u-btn:hover { transform: translateY(-1px); box-shadow: inset 0 1px 0 rgb(255 255 255 / .14), 0 10px 26px rgb(17 17 15 / .18); }
.u-btn:active { transform: translateY(0) scale(.98); }
.u-btn.ghost { --bg: transparent; --fg: var(--u-ink); box-shadow: inset 0 0 0 1.5px var(--u-line-2); }
.u-btn.ghost:hover { box-shadow: inset 0 0 0 1.5px var(--u-ink); }
.u-btn.solar { --bg: var(--u-solar); --fg: #11110F; box-shadow: inset 0 1px 0 rgb(255 255 255 / .5), inset 0 -1px 0 rgb(0 0 0 / .06); }
.u-btn.light { --bg: #fff; --fg: #11110F; }
.u-btn.small { min-height: 42px; padding: 0 18px; font-size: 15px; }
.u-btn svg { width: 18px; height: 18px; flex: none; }
.u-link-arrow { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; text-decoration: none; color: var(--u-ink); }
.u-link-arrow svg { width: 16px; height: 16px; transition: transform .25s var(--u-ease); }
.u-link-arrow:hover svg { transform: translateX(3px); }

.u-stores { display: flex; flex-wrap: wrap; gap: 12px; }
.u-store {
  display: inline-flex; align-items: center; gap: 12px;
  min-height: 58px; padding: 0 22px 0 18px; border-radius: 16px;
  background: var(--u-ink); color: var(--u-paper); text-decoration: none;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .12);
  transition: transform .25s var(--u-ease), box-shadow .25s var(--u-ease);
}
.u-store:hover { transform: translateY(-2px); box-shadow: inset 0 1px 0 rgb(255 255 255 / .12), 0 14px 30px rgb(17 17 15 / .22); }
.u-store svg { width: 26px; height: 26px; flex: none; }
.u-store span { display: flex; flex-direction: column; line-height: 1.05; }
.u-store small { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; opacity: .72; }
.u-store b { font: 700 18px/1.1 var(--u-display); letter-spacing: -.01em; }
.u-store.light { background: #fff; color: #11110F; box-shadow: inset 0 0 0 1px rgb(17 17 15 / .08); }

/* ── Navigation ───────────────────────────────────────────────────────── */
/* The header is part of the page (owner): it scrolls away with the body as
   one piece, no sticky bar and no slide animation. On the homepage it sits
   transparent over the hero so the hero's light runs behind it. */
.u-nav {
  position: relative; z-index: 100;
  height: var(--u-nav-h);
  border-bottom: 1px solid transparent;
}
.u-nav.solid { border-bottom-color: var(--u-line); }
html:has(.u-menu[open]) { overflow: hidden; }
.u-nav .u-wrap { height: 100%; display: flex; align-items: center; gap: 28px; }
.u-logo { display: inline-flex; align-items: center; flex: none; }
.u-logo img { height: 30px; width: auto; }
.u-nav-links { display: flex; align-items: center; gap: 4px; margin: 0 auto 0 8px; padding: 0; list-style: none; }
.u-nav-links a {
  display: inline-flex; align-items: center; height: 38px; padding: 0 14px; border-radius: 999px;
  font-size: 15.5px; font-weight: 500; color: var(--u-ink-2); text-decoration: none;
  transition: background .2s, color .2s;
}
.u-nav-links a:hover { background: var(--u-mist); color: var(--u-ink); }
.u-nav-links a[aria-current="page"] { background: var(--u-mist); color: var(--u-ink); }
.u-nav-cta { display: flex; align-items: center; gap: 10px; }
.u-nav-cta .u-btn { min-height: 42px; padding: 0 18px; font-size: 15px; }
.u-nav-web { font-size: 15px; font-weight: 600; text-decoration: none; padding: 0 6px; color: var(--u-ink-2); }
.u-nav-web:hover { color: var(--u-ink); }
.u-theme {
  width: 40px; height: 40px; border-radius: 999px; border: 0; cursor: pointer; flex: none;
  display: grid; place-items: center; background: transparent; color: var(--u-ink-2);
  transition: background .2s, color .2s;
}
.u-theme:hover { background: var(--u-mist); color: var(--u-ink); }
.u-theme svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.u-theme .moon { display: var(--u-lt); }
.u-theme .sun { display: var(--u-dk); }
.u-nav-login { display: none; height: 38px; padding: 0 14px; border-radius: 999px; align-items: center; font-size: 15px; font-weight: 600; text-decoration: none; box-shadow: inset 0 0 0 1.5px var(--u-line-2); }
.u-menu-auth { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 6px 0 14px; }
.u-menu-auth .u-btn { margin-top: 0 !important; width: 100%; }
.u-menu { display: none; }
.u-menu summary {
  list-style: none; cursor: pointer; width: 44px; height: 44px; border-radius: 999px;
  display: grid; place-items: center; background: var(--u-mist);
}
.u-menu summary::-webkit-details-marker { display: none; }
.u-menu summary span, .u-menu summary span::before, .u-menu summary span::after {
  display: block; width: 18px; height: 2px; border-radius: 2px; background: var(--u-ink); position: relative;
  transition: transform .3s var(--u-ease), opacity .2s;
}
.u-menu summary span::before, .u-menu summary span::after { content: ""; position: absolute; left: 0; }
.u-menu summary span::before { top: -6px; }
.u-menu summary span::after { top: 6px; }
.u-menu[open] summary span { background: transparent; }
.u-menu[open] summary span::before { transform: translateY(6px) rotate(45deg); }
.u-menu[open] summary span::after { transform: translateY(-6px) rotate(-45deg); }
/* Open, the menu is one opaque full-screen sheet. It starts at the very top,
   under the header row, and the row (logo, theme, close) sits on it, so the
   page never shows through between them. */
.u-menu-sheet {
  position: fixed; inset: 0; z-index: 1;
  background: var(--u-paper);
  padding: calc(var(--u-nav-h) + 14px) var(--u-gutter) 40px; overflow-y: auto;
  animation: u-sheet .3s var(--u-ease);
}
@keyframes u-sheet { from { opacity: 0; } }
.u-nav .u-logo, .u-nav .u-theme, .u-nav .u-nav-login, .u-menu summary { position: relative; z-index: 2; }
.u-nav:has(.u-menu[open]) .u-nav-login { visibility: hidden; }
.u-menu-sheet a.big {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 4px; border-bottom: 1px solid var(--u-line);
  font: 700 28px/1.1 var(--u-display); letter-spacing: -.02em; text-decoration: none;
}
.u-menu-sheet a.big::after { content: "→"; font-family: var(--u-body); font-weight: 400; color: var(--u-faint); font-size: 22px; }
.u-menu-sheet .u-stores { margin-top: 26px; justify-content: flex-start; }
.u-menu-sheet .u-btn { width: 100%; margin-top: 12px; }

@media (max-width: 980px) {
  .u-nav-links, .u-nav-cta { display: none; }
  .u-nav .u-wrap { gap: 8px; }
  .u-theme { margin-left: auto; }
  .u-nav-login { display: inline-flex; }
  .u-menu { display: block; }
}

/* ── Footer ───────────────────────────────────────────────────────────── */
.u-foot { background: var(--u-paper); border-top: 1px solid var(--u-line); padding: 72px 0 28px; color: var(--u-ink); }
.u-foot-top { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 40px; }
.u-foot-brand img { height: 34px; width: auto; }
.u-foot-brand p { margin: 16px 0 22px; color: var(--u-muted); max-width: 22em; font-size: 16px; }
.u-foot h4 { margin: 4px 0 14px; font: 600 13px/1 var(--u-body); letter-spacing: .14em; text-transform: uppercase; color: var(--u-faint); }
.u-foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.u-foot ul a { text-decoration: none; color: var(--u-ink-2); font-size: 15.5px; }
.u-foot ul a:hover { color: var(--u-ink); text-decoration: underline; text-underline-offset: 4px; }
.u-foot-pay { margin-top: 56px; padding-top: 28px; border-top: 1px solid var(--u-line); }
.u-foot-pay picture, .u-foot-pay img { display: block; width: 100%; height: auto; border-radius: 10px; }
.u-foot-legal {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px;
  margin-top: 22px; font-size: 13.5px; line-height: 1.6; color: var(--u-faint);
}
.u-foot-legal b { color: var(--u-muted); font-weight: 600; }
.u-foot-legal a { color: inherit; }
.u-foot-legal .sep { opacity: .5; padding: 0 6px; }
@media (max-width: 860px) {
  .u-foot { padding-top: 52px; }
  .u-foot-top { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
  .u-foot-brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .u-foot-legal { flex-direction: column; }
  .u-foot-legal .sep { display: none; }
  .u-foot-legal .addr span { display: block; }
}

/* ── Shared components ────────────────────────────────────────────────── */
.u-pill {
  display: inline-flex; align-items: center; gap: 8px;
  height: 34px; padding: 0 14px 0 10px; border-radius: 999px;
  background: var(--u-glass); box-shadow: inset 0 0 0 1px var(--u-line), var(--u-shadow-1);
  font-size: 14px; font-weight: 500; color: var(--u-ink-2);
}
.u-flag { width: 20px; height: 14px; border-radius: 3px; background: #006A4E; position: relative; flex: none; }
.u-flag::after { content: ""; position: absolute; width: 8px; height: 8px; border-radius: 50%; background: #F42A41; left: 5px; top: 3px; }
.u-chip-live {
  display: inline-flex; align-items: center; gap: 6px; height: 22px; padding: 0 8px;
  border-radius: 999px; background: var(--u-live); color: #fff;
  font: 700 11px/1 var(--u-body); letter-spacing: .08em;
}
.u-chip-live::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #fff; animation: u-blink 1.6s infinite; }
@keyframes u-blink { 50% { opacity: .35; } }
.u-av { border-radius: 50%; object-fit: cover; background: var(--u-mist-2); flex: none; }
.u-ring { padding: 2.5px; border-radius: 50%; background: conic-gradient(from 210deg, var(--u-sky), #7FE0FF, var(--u-solar), var(--u-sky)); }
.u-ring > img { border: 2.5px solid var(--u-card); }
.u-card {
  background: var(--u-glass);
  border-radius: var(--u-r-md);
  box-shadow: inset 0 0 0 1px rgb(17 17 15 / .05), var(--u-shadow-2);
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
}
.u-bars { display: inline-flex; align-items: flex-end; gap: 2px; height: 14px; }
.u-bars i { width: 3px; border-radius: 2px; background: currentColor; animation: u-bar 1s var(--u-ease) infinite alternate; }
.u-bars i:nth-child(1) { height: 40%; animation-delay: -.2s; }
.u-bars i:nth-child(2) { height: 90%; animation-delay: -.6s; }
.u-bars i:nth-child(3) { height: 60%; animation-delay: -.4s; }
.u-bars i:nth-child(4) { height: 75%; animation-delay: -.9s; }
@keyframes u-bar { from { transform: scaleY(.35); } to { transform: scaleY(1); } }
.u-bars i { transform-origin: bottom; }
.u-typing { display: inline-flex; gap: 4px; align-items: center; }
.u-typing i { width: 6px; height: 6px; border-radius: 50%; background: var(--u-faint); animation: u-dot 1.2s infinite; }
.u-typing i:nth-child(2) { animation-delay: .15s; }
.u-typing i:nth-child(3) { animation-delay: .3s; }
@keyframes u-dot { 0%, 60%, 100% { transform: translateY(0); opacity: .5; } 30% { transform: translateY(-4px); opacity: 1; } }

/* A real iPhone 17 Pro Max: Apple's own bezel (silver, 1470×3000, from the
   store-art kit) lies on top, and the app screen sits in its 1320×2868
   display opening (75, 67). Percentages keep it exact at any width. */
.u-phone { position: relative; width: 300px; aspect-ratio: 1470 / 3000; }
.u-phone::before {          /* the shadow, shaped like the device */
  content: ""; position: absolute; z-index: 0; top: .667%; bottom: .733%; left: 1.973%; right: 1.973%;
  border-radius: 14.9% / 7.1%; box-shadow: 0 30px 70px rgb(17 17 15 / .22), 0 10px 24px rgb(17 17 15 / .12);
}
.u-phone::after {
  content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: url("/assets/w/iphone17pm-silver.20261104.webp") center / 100% 100% no-repeat;
}
.u-phone .scr {
  position: absolute; z-index: 1; left: 5.102%; top: 2.233%; width: 89.796%; height: 95.567%;
  border-radius: 12.12% / 5.58%; overflow: hidden; background: #000;
}
.u-phone .scr img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.u-phone .scr img + img { position: absolute; inset: 0; }

/* Scroll reveal. JS adds .in; without JS everything is visible. */
.js .u-rise { opacity: 0; transform: translateY(26px); transition: opacity .9s var(--u-ease), transform .9s var(--u-ease); transition-delay: calc(var(--d, 0) * 90ms); }
.js .u-rise.in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .u-page *, .u-page *::before, .u-page *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  .js .u-rise { opacity: 1; transform: none; }
}

/* ── Re-skin for the policy pages (about, privacy, terms, …) ───────────── */
.u-legacy .site-top, .u-legacy .site-foot, .u-legacy .eps-foot { display: none !important; }
.u-legacy .u-legacy-main { padding-top: 8px; }
