/* Lavamigo platform look: onyx, brushed gold, sapphire.
   Shared by the homepage, sign-in, admin console and legal pages.
   Fonts are self-hosted (web/fonts, SIL OFL) - nothing loads from Google Fonts. */
@font-face{font-family:"Jost";font-style:normal;font-weight:100 900;font-display:swap;
  src:url(/fonts/jost-latin-wght-normal.woff2) format("woff2-variations"),url(/fonts/jost-latin-wght-normal.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:"Jost";font-style:normal;font-weight:100 900;font-display:swap;
  src:url(/fonts/jost-latin-ext-wght-normal.woff2) format("woff2-variations"),url(/fonts/jost-latin-ext-wght-normal.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}

:root{
  --void:#060709; --onyx:#0b0c10; --panel:#111319; --panel-2:#161922; --raise:#1b1f2a;
  --hair:rgba(214,184,128,.18); --hair-2:rgba(214,184,128,.34);
  --gold:#d6b880; --gold-hi:#f4e3bd; --gold-lo:#9e7b48; --gold-ink:#1a1408;
  --sapphire:#3d7bff; --sapphire-2:#1747b8; --sapphire-deep:#0a1f5c;
  --text:#ece6da; --soft:#c9c2b4; --muted:#8f897e;
  --ok:#7fd1a8; --warn:#e8b35a; --err:#ff7a6e;
  --gilt:linear-gradient(100deg,#a7834f 0%,#f4e3bd 22%,#c9a46a 44%,#f6e8c8 62%,#b08c56 82%,#e6cf9f 100%);
  --sea:linear-gradient(135deg,#5d9bff 0%,#1747b8 55%,#0a1f5c 100%);
  --font:"Jost",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:dark;
}
html{-webkit-text-size-adjust:100%}
body{background:var(--onyx);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
::selection{background:rgba(214,184,128,.35);color:#fff}

/* gold-leaf text */
.gilt{background:var(--gilt);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
@media (prefers-reduced-motion:no-preference){ .gilt.shimmer{animation:lux-sheen 9s ease-in-out infinite} }
@keyframes lux-sheen{0%,100%{background-position:0 0}50%{background-position:100% 0}}

/* "— T E C H N O L O G I E S —" style eyebrow */
.kicker{display:inline-flex;align-items:center;gap:14px;font:400 12px/1 var(--font);letter-spacing:.42em;text-transform:uppercase;color:var(--gold);padding-left:.42em}
.kicker::before,.kicker::after{content:"";width:42px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-lo))}
.kicker::after{background:linear-gradient(90deg,var(--gold-lo),transparent)}

/* wordmark lockup */
.lockup{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.lockup img{display:block}
.lockup .wm{font:500 22px/1 var(--font);letter-spacing:.01em}

/* buttons */
.lx-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:500 13px/1 var(--font);letter-spacing:.2em;text-transform:uppercase;
  padding:17px 26px;border-radius:2px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background-color .3s,border-color .3s,color .3s}
.lx-btn.gold{background:var(--gilt);background-size:160% 100%;color:var(--gold-ink);box-shadow:0 10px 30px -12px rgba(214,184,128,.55),inset 0 1px 0 rgba(255,255,255,.45)}
.lx-btn.gold:hover{transform:translateY(-1px);background-position:100% 0;box-shadow:0 16px 40px -14px rgba(214,184,128,.7),inset 0 1px 0 rgba(255,255,255,.5)}
.lx-btn.line{background:transparent;color:var(--gold-hi);border-color:var(--hair-2)}
.lx-btn.line:hover{border-color:var(--gold);background:rgba(214,184,128,.06)}
.lx-btn[disabled]{opacity:.5;cursor:default;transform:none}

/* fields */
.lx-field{width:100%;font:400 16px var(--font);padding:14px 14px;border:1px solid var(--hair);border-radius:2px;background:rgba(255,255,255,.025);color:var(--text);transition:border-color .2s,background-color .2s}
.lx-field::placeholder{color:#5f5a52}
.lx-field:hover{border-color:var(--hair-2)}
.lx-field:focus{outline:none;border-color:var(--gold);background:rgba(214,184,128,.05)}

:focus-visible{outline:1px solid var(--gold-hi);outline-offset:3px}

/* ---------- white by default ----------
   Every page marked html.lv-app (homepage, legal, payment, sign-in, admin)
   is white unless this device turned on dark mode (/app/theme-init.js). */
html.lv-app:not([data-lv-theme="dark"]){
  color-scheme:light;
  --void:#ffffff; --onyx:#ffffff; --panel:#ffffff; --panel-2:#ffffff; --raise:#f1f3f6;
  --hair:rgba(15,23,42,.10); --hair-2:rgba(15,23,42,.18);
  --gold:#a8823f; --gold-hi:#8a6a2e; --gold-lo:#b8975c; --gold-ink:#ffffff;
  --sapphire:#2f6bff; --text:#0f172a; --soft:#334155; --muted:#64748b;
  --ok:#059669; --warn:#d97706; --err:#dc2626;
  --gilt:linear-gradient(100deg,#8a6a2e 0%,#b38b42 30%,#8f6d2f 60%,#a98543 100%);
}
html.lv-app:not([data-lv-theme="dark"]) .lx-field::placeholder{color:#94a3b8}
html.lv-app:not([data-lv-theme="dark"]) ::selection{background:rgba(47,107,255,.2);color:#0f172a}
