/* ============================================================================
   REALUMA - /privacy only.

   TRIMMED FROM A COPY OF THE MARKETING STYLESHEET, 2026-08-10. The full copy
   was 84.041 bytes and 485 style rules. THIRTY-EIGHT of those rules matched an
   element on this page. The rest styled a hero, a pricing table, a chat mockup,
   a bill and an ROI panel that /privacy does not contain and never will.

   HOW THE KEEP LIST WAS DERIVED, because a hand-picked one would be wrong.
   Every selector in the file was run against this page's live DOM in the state
   it now ships: dark, no theme toggle. A rule survived only if at least one of
   its comma parts matched something. Where a rule's selector listed eleven
   component names and only .glass matched, the other ten were removed with it,
   so no selector here names a component this page does not have.

   THE PAGE IS DARK AND HAS NO LIGHT VERSION. :root IS the palette; there is no
   [data-theme="light"] block left to override it and no data-theme attribute on
   the document. Nothing else on this site offers a light version, so a control
   that did would have been a promise the site does not keep.

   ALL TWENTY @font-face RULES ARE KEPT DELIBERATELY. They carry unicode-range
   subsets, and the browser downloads only the subsets it needs, so an unused
   one costs nothing at runtime. Dropping one would silently break a language.

   THE DICTIONARY WAS NOT TRIMMED WITH THIS. js/privacy-i18n.js is still the
   full 285-key copy. scripts/lib-copy.mjs hands both copy checks exactly ONE
   dictionary path, js/i18n.js, so trimming the privacy copy would make this
   page render strings that no copy check reads. See implementation_plan.md.
   ========================================================================== */

@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 900;font-display:swap;src:url(../assets/fonts/playfair-var-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 900;font-display:swap;src:url(../assets/fonts/playfair-var-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 900;font-display:swap;src:url(../assets/fonts/playfair-var-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 900;font-display:swap;src:url(../assets/fonts/playfair-var-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/plexsans-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/plexsans-400-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/plexsans-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/plexsans-400-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/plexsans-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/plexsans-500-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/plexsans-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/plexsans-500-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/plexsans-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/plexsans-600-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/plexsans-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/plexsans-600-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/plexmono-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/plexmono-500-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/plexmono-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/plexmono-500-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
:root{
  --rg-canvas:#080F14;
  --rg-champ:#C9A170;
  --rg-champ-lit:#E0BC8E;
  --rg-champ-rim:rgba(201,161,112,.26);
  --rg-ink:#080F14;
  --rg-stop:#E07A6B;
  --rg-text:#F7F4ED;
  --rg-muted:rgba(247,244,237,.60);
  --rg-hair:rgba(255,255,255,.07);
  --rg-glass:rgba(28,42,50,.52);
  --rg-glass-hi:rgba(38,55,64,.62);
  --rg-glass-deep:rgba(20,32,39,.62);
  --rg-edge:rgba(255,255,255,.10);
  --rg-edge-top:rgba(255,255,255,.20);
  --rg-blur:26px;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='0.05'/%3E%3C/svg%3E");
  --surface:var(--rg-glass-hi);
  --text:var(--rg-text);
  --text-2:var(--rg-muted);
  --muted:var(--rg-muted);
  --brand:var(--rg-champ-lit);
  --brand-ink:var(--rg-champ);
  --brand-contrast:var(--rg-ink);
  --line:var(--rg-hair);
  --danger:var(--rg-stop);
  --rg-display:'Playfair Display',Georgia,'Times New Roman',serif;
  --rg-body:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Roboto,'Malgun Gothic','Microsoft YaHei',sans-serif;
  --rg-mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',monospace;
  --rg-fs-body:14px;
  --rg-fs-sm:12.5px;
  --rg-fs-xs:11.5px;
  --rg-fs-lab:9.5px;
  --rg-tr-lab:.17em;
  --lh-tight:1.1;
  --lh-body:1.6;
  --rg-r-mid:18px;
  --rg-r-sm:9px;
  --rg-sp1:6px;
  --rg-sp2:11px;
  --rg-sp3:16px;
  --rg-sp4:22px;
  --rg-sp5:34px;
  --rg-sp6:52px;
  --rg-sp7:88px;
  --rg-ease:cubic-bezier(.32,.72,0,1);
  --rg-t-fast:.2s;
  --rg-t-mid:.38s;
  --rg-t-slow:.62s;
  --glass-rim:var(--rg-edge);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--rg-canvas)}
body::before{
  content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(78% 58% at 76% 8%,  rgba(201,161,112,.17), transparent 62%),
    radial-gradient(72% 62% at 12% 30%, rgba(95,160,174,.13),  transparent 64%),
    radial-gradient(90% 70% at 50% 96%, rgba(20,44,54,.85),    transparent 70%),
    linear-gradient(172deg,#10222B 0%,#0A161C 46%,#080F14 100%);
  animation:rg-drift 34s ease-in-out infinite alternate;
}
@keyframes rg-drift{
  0%{transform:scale(1.06) translate3d(0,0,0)}
  100%{transform:scale(1.14) translate3d(-2.5%,-2%,0)}
}
body{
  color:var(--text);
  /* GAP IN THE SHARED SCALE, left literal on purpose so it is countable.
     The app's steps jump 14px -> 25px, because a phone-first app has no
     marketing reading size. This page's root is 16-18px fluid. Mapping it to
     --rg-fs-body would drop every paragraph on the site by 12-22%, which is a
     copy change wearing a token's clothes. Raised, not invented. */
  font-family:var(--rg-body);font-size:clamp(1rem, .94rem + .28vw, 1.125rem);line-height:var(--lh-body);
  text-wrap:pretty;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  transition:background var(--rg-t-slow) var(--rg-ease),color var(--rg-t-slow) ease;
}
h1,h2,h3{font-family:var(--rg-display);font-weight:500;font-optical-sizing:auto;
  line-height:var(--lh-tight);letter-spacing:-.015em;text-wrap:balance}
.wordmark{font-family:var(--rg-display);font-weight:500}
h2{font-size:clamp(26px,3.6vw,40px);max-width:760px;margin:var(--rg-sp3) 0 var(--rg-sp3)}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 var(--rg-sp4)}
section{padding:var(--rg-sp7) 0;border-top:1px solid var(--line)}
.eyebrow{font-family:var(--rg-mono);font-weight:500;font-size:var(--rg-fs-sm);letter-spacing:var(--rg-tr-lab);text-transform:uppercase;color:var(--brand-ink)}
html{scroll-padding-top:88px}
#nav{position:fixed;top:0;left:0;right:0;z-index:60;padding-top:var(--rg-sp3);pointer-events:none}
.nav-inner{position:relative;pointer-events:auto;max-width:1160px;height:58px;border-radius:var(--rg-r-mid);
  padding:0 var(--rg-sp2) 0 var(--rg-sp4);gap:var(--rg-sp3);display:flex;align-items:center;justify-content:space-between;
  transition:transform var(--rg-t-mid) var(--rg-ease)}
.wordmark{font-size:19px;letter-spacing:.22em;color:var(--brand-ink);text-decoration:none}
.nav-controls{display:flex;align-items:center;gap:var(--rg-sp2)}
.langs{display:flex;border:1px solid var(--glass-rim);border-radius:var(--rg-r-sm);overflow:hidden;
  background:color-mix(in srgb,var(--surface) 28%,transparent)}
.langs button{background:none;border:none;color:var(--muted);font-family:var(--rg-mono);font-size:var(--rg-fs-xs);
  padding:0 var(--rg-sp2);min-height:34px;cursor:pointer;letter-spacing:.1em}
.langs button[aria-pressed="true"]{background:var(--brand);color:var(--brand-contrast)}
footer{border-top:1px solid var(--line);padding:44px 0}
.footer-inner{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--rg-sp3);
  color:var(--muted);font-size:var(--rg-fs-sm)}
footer .wordmark{font-size:var(--rg-fs-body)}
.footer-brand{display:flex;flex-direction:column;gap:var(--rg-sp1)}
.footer-tagline{font-size:var(--rg-fs-sm);color:var(--muted);letter-spacing:.01em}
.glass{
  isolation:isolate;
  position:relative;
  background:var(--grain),var(--rg-glass);
  background-blend-mode:overlay,normal;
  -webkit-backdrop-filter:blur(var(--rg-blur)) saturate(190%);
  backdrop-filter:blur(var(--rg-blur)) saturate(190%);
  box-shadow:
    inset 0 1px 0 var(--rg-edge-top),
    inset 0 0 0 1px var(--rg-edge),
    inset 0 -18px 34px -22px rgba(0,0,0,.5),
    0 18px 40px -22px rgba(0,0,0,.7);
  contain:layout style;
}
.glass::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;
  background:linear-gradient(146deg, rgba(255,255,255,.11) 0%, transparent 34%);
  mix-blend-mode:screen}
#nav > *{position:relative;z-index:1}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .glass{background:var(--rg-glass-deep)}
  .glass::before{opacity:.5}
}
.langs button{transition:transform var(--rg-t-fast) var(--rg-ease),
  box-shadow var(--rg-t-fast) var(--rg-ease),background var(--rg-t-fast) var(--rg-ease),color var(--rg-t-fast) var(--rg-ease)}
.langs button:active{transform:scale(.96)}
@media (max-width:960px){
  section{padding:68px 0}
}
@media (max-width:700px){
  #nav{padding-top:var(--rg-sp2)}
  .nav-inner{height:52px;padding:0 var(--rg-sp1) 0 var(--rg-sp3);gap:var(--rg-sp2)}
  .wordmark{letter-spacing:.02em}
  body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
  :root{--glass-blur:14px;--glass-blur-panel:9px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}
.doc{padding:calc(var(--rg-sp7) + 40px) 0 var(--rg-sp7)}
.doc .wrap{max-width:760px}
.doc h1{font-family:var(--rg-display);font-size:clamp(30px,4.4vw,46px);line-height:1.12;
  color:var(--text);margin:var(--rg-sp3) 0 var(--rg-sp4)}
.doc-lede{font-size:17px;line-height:1.6;color:var(--text-2);max-width:64ch}
.doc-date{font-family:var(--rg-mono);font-size:var(--rg-fs-xs);letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);margin-top:var(--rg-sp4)}
.doc-s{margin-top:var(--rg-sp6);padding-top:var(--rg-sp5);border-top:1px solid var(--line)}
.doc-s h2{font-family:var(--rg-display);font-size:23px;color:var(--brand-ink);margin-bottom:var(--rg-sp3)}
.doc-s h3{font-size:17px;color:var(--text);margin:var(--rg-sp4) 0 var(--rg-sp2)}
.doc-s p{font-size:var(--rg-fs-body);line-height:1.65;color:var(--text-2);margin-bottom:var(--rg-sp3);max-width:68ch}
.doc-s ul{list-style:none;margin-bottom:var(--rg-sp3)}
.doc-s li{position:relative;padding:var(--rg-sp1) 0 var(--rg-sp1) var(--rg-sp4);
  font-size:var(--rg-fs-body);line-height:1.65;color:var(--text-2);max-width:68ch}
.doc-s li::before{content:"";position:absolute;left:var(--rg-sp2);top:15px;
  width:5px;height:5px;border-radius:50%;background:var(--brand-ink);opacity:.5}
.doc-strong{color:var(--text)!important;font-weight:500}
.doc-gap{border-left:2px solid var(--rg-champ-rim);padding-left:var(--rg-sp3)}
.doc-t{width:100%;border-collapse:collapse;margin-bottom:var(--rg-sp3);font-size:var(--rg-fs-body)}
.doc-t th{text-align:left;font-family:var(--rg-mono);font-size:var(--rg-fs-lab);
  letter-spacing:var(--rg-tr-lab);text-transform:uppercase;color:var(--muted);
  padding:0 var(--rg-sp3) var(--rg-sp2) 0;border-bottom:1px solid var(--line);white-space:nowrap}
.doc-t td{padding:var(--rg-sp2) var(--rg-sp3) var(--rg-sp2) 0;
  border-bottom:1px solid var(--line);color:var(--text-2);vertical-align:top}
.doc-t td:first-child{color:var(--text)}
.doc-mail a{font-family:var(--rg-mono);font-size:17px;color:var(--brand-ink);
  text-decoration:none;border-bottom:1px solid var(--rg-champ-rim);padding-bottom:2px}
.doc-back{margin-top:var(--rg-sp6);padding-top:var(--rg-sp4);border-top:1px solid var(--line)}
.doc-back a{font-family:var(--rg-mono);font-size:var(--rg-fs-sm);letter-spacing:.06em;
  text-transform:uppercase;color:var(--brand-ink);text-decoration:none}
@media (max-width:700px){
  .doc{padding:calc(var(--rg-sp6) + 40px) 0 var(--rg-sp6)}
  .doc-t th:last-child,.doc-t td:last-child{display:none}
}
