/* =============================================================================
   Signature Analysis — "Royal Atelier" shared foundation
   ---------------------------------------------------------------------------
   Loaded by the landing (index.php), the analysis journey (analyze.php) and the
   report (engine/Report.php). Provides:
     1. Real serif display faces. The platform font layer (assets/css/lvone-fonts.css)
        ALIASES "Cormorant Garamond"/"Fraunces" to Manrope, so any page asking for
        those families silently renders sans-serif. We register the genuine files
        under world-unique family names so they cannot be hijacked by the alias.
     2. The world palette tokens (midnight ink, antique gold foil, ivory parchment).
     3. A few shared ornaments + keyframes.
   Latin-only unicode-range: Devanagari always falls through to Noto.
   ========================================================================== */

@font-face{font-family:"SA Royal";font-style:normal;font-weight:600;font-display:swap;
  src:url("../../../assets/fonts/cormorant-600.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:"SA Royal";font-style:normal;font-weight:700;font-display:swap;
  src:url("../../../assets/fonts/cormorant-700.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:"SA Serif";font-style:normal;font-weight:400;font-display:swap;
  src:url("../../../assets/fonts/fraunces-400.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+FEFF,U+FFFD}
@font-face{font-family:"SA Serif";font-style:normal;font-weight:600;font-display:swap;
  src:url("../../../assets/fonts/fraunces-600.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+FEFF,U+FFFD}

:root{
  /* type */
  --sar-display:"SA Royal","Noto Serif Devanagari",Georgia,"Times New Roman",serif;
  --sar-serif:"SA Serif","Noto Serif Devanagari",Georgia,serif;
  --sar-sans:"Inter","Noto Sans Devanagari",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;

  /* midnight ink */
  --sar-ink-0:#060b18;
  --sar-ink-1:#0a1328;
  --sar-ink-2:#101c38;
  --sar-ink-3:#18284a;
  --sar-ink-4:#22365f;

  /* antique gold */
  --sar-gold-0:#fbf1d3;
  --sar-gold-1:#f1dca3;
  --sar-gold-2:#dfbd6e;
  --sar-gold-3:#c9a24a;
  --sar-gold-4:#a27f2c;   /* AA on ivory for small text */
  --sar-gold-5:#7c5f1c;
  --sar-foil:linear-gradient(112deg,#8a6a22 0%,#d8b25a 18%,#fbeebd 34%,#d3ab52 50%,#a8842f 66%,#f3dc9c 84%,#b48e36 100%);
  --sar-foil-soft:linear-gradient(135deg,#f3dfa6,#c9a24a);

  /* parchment */
  --sar-ivory-0:#fffdf7;
  --sar-ivory-1:#fbf7ee;
  --sar-ivory-2:#f4eddd;
  --sar-ivory-3:#e9dfc8;
  --sar-rule:#e3d7bb;

  /* text on light */
  --sar-text:#141d33;
  --sar-text-2:#3a4459;
  --sar-text-3:#6a7386;

  /* text on dark */
  --sar-d-text:#f3efe4;
  --sar-d-text-2:#c9cedb;
  --sar-d-text-3:#98a2b8;
  --sar-d-rule:rgba(223,189,110,.18);

  /* signal */
  --sar-sage:#3c7a5a;
  --sar-clay:#b0592a;

  /* elevation */
  --sar-sh-1:0 1px 2px rgba(10,19,40,.06),0 4px 14px rgba(10,19,40,.06);
  --sar-sh-2:0 2px 6px rgba(10,19,40,.06),0 18px 44px rgba(10,19,40,.12);
  --sar-sh-3:0 30px 80px rgba(3,7,18,.45);
  --sar-sh-gold:0 10px 34px rgba(201,162,74,.34);

  --sar-ease:cubic-bezier(.16,1,.3,1);
  --sar-ease-io:cubic-bezier(.65,.05,.36,1);
}

/* ---- shared ornaments ---- */
.sar-foil-text{background:var(--sar-foil);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;animation:sarFoil 9s linear infinite}
.sar-rule{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--sar-gold-3)}
.sar-rule::before,.sar-rule::after{content:"";height:1px;flex:1;max-width:120px;
  background:linear-gradient(90deg,transparent,currentColor)}
.sar-rule::after{background:linear-gradient(270deg,transparent,currentColor)}
.sar-rule svg{width:22px;height:22px;flex:none}

@keyframes sarFoil{0%{background-position:0% 50%}100%{background-position:220% 50%}}
@keyframes sarDraw{to{stroke-dashoffset:0}}
@keyframes sarFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes sarPulse{0%{transform:scale(.7);opacity:.9}100%{transform:scale(1.9);opacity:0}}
@keyframes sarSpin{to{transform:rotate(360deg)}}
@keyframes sarShimmer{0%{transform:translateX(-120%)}100%{transform:translateX(220%)}}
@keyframes sarRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

@media (prefers-reduced-motion: reduce){
  .sar-foil-text{animation:none}
}
