/* ================================================================
   FPFX — legal documents

   Composition differs from the inherited layout on purpose:
     inherited : decorative hero, left sidebar contents card,
                 each section boxed in its own numbered panel
     this      : policy switcher across the top, a dense fact strip,
                 one continuous reading column, and the section index
                 as a slim scroll-spy rail on the right

   These are read carefully, usually right before someone spends
   money, so measure and rhythm matter more than decoration.
   ================================================================ */
/* Type resolves through the three Aurora families and nothing else.
   The var() fallbacks are not decoration: this sheet has to keep
   working on any surface that has not yet linked fpfx-aurora.css,
   where a bare var(--au-body) would resolve to nothing at all. */
.legal-body{
  color:var(--text,#F7F4EF);
  font-family:var(--au-body,"DM Sans",system-ui,-apple-system,sans-serif);
}
/* The ground belongs to .au-host (fpfx-aurora.css): a hue-30 radial plus the
   single-octave dither that is the only thing removing banding from a ramp
   this shallow. This rule used to be an unguarded `background` SHORTHAND with
   !important, so it also reset background-image to none and attachment to
   scroll, and .au-host — which carries no !important — could not win at any
   link order. The seven policy routes therefore rendered a flat fill while
   still drawing five strata on top of it. The guard keeps the legacy override
   available to any legal page that is NOT an Aurora host, and lets the host
   paint its own ground everywhere else. */
body:not(.au-host).legal-body{
  background:var(--bg,#0A0806) !important;
  background-image:none !important;
}
/* Headings take the display face. h1/h2 already pick it up from the
   global rule in fpfx.css; h3 and h4 do not, so they are named here
   rather than left to inherit the body face.

   :where() is doing real work — it holds this at one class of
   specificity. The shared header and footer put their own classes on
   h2 (.plinth-set-h is JetBrains Mono on purpose) and load after this
   file; written as `.legal-body h2` this rule outranked them and
   repainted the footer column headings in Outfit. */
.legal-body :where(h1,h2,h3,h4){
  font-family:var(--au-disp,"Outfit",system-ui,-apple-system,sans-serif);
}

/* ---------- reading progress ---------- */
.lg-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:90;background:transparent}
.lg-progress span{display:block;height:100%;width:0;
  background:linear-gradient(90deg,#8A6B3A,#F3DBB2)}

/* ---------- policy switcher ---------- */
.lg-switch{position:sticky;top:0;z-index:60;border-bottom:1px solid rgba(238,183,98,.15);
  background:rgba(9,8,6,.86);backdrop-filter:blur(16px)}
.lg-switch-in{max-width:1240px;margin:0 auto;padding:0 26px;display:flex;align-items:center;gap:22px}
.lg-home{display:flex;align-items:center;gap:9px;padding:13px 0;text-decoration:none;flex:none;
  font-weight:800;letter-spacing:-.03em;font-size:.92rem;color:#F8F8F8}
@media(max-width:640px){.lg-home span{display:none}}
.lg-switch-scroll{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.lg-switch-scroll::-webkit-scrollbar{display:none}
.lg-switch-scroll a{position:relative;padding:15px 13px;font-size:.85rem;color:var(--muted,#C4BCB1);
  text-decoration:none;white-space:nowrap;transition:color .26s ease}
.lg-switch-scroll a::after{content:"";position:absolute;left:13px;right:13px;bottom:0;height:2px;
  background:linear-gradient(90deg,#EEB762,#F3DBB2);transform:scaleX(0);transform-origin:left;
  transition:transform .32s cubic-bezier(.16,1,.3,1)}
.lg-switch-scroll a:hover{color:#F8F8F8}
.lg-switch-scroll a.on{color:#EEB762}
.lg-switch-scroll a.on::after,.lg-switch-scroll a:hover::after{transform:scaleX(1)}

/* ---------- document head ---------- */
.lg-main{max-width:1240px;margin:0 auto;padding:0 26px 90px}
.lg-head{padding:56px 0 34px;border-bottom:1px solid rgba(238,183,98,.15)}
.lg-eyebrow{margin:0 0 14px;font-family:var(--au-mono,"JetBrains Mono",ui-monospace,Menlo,monospace);font-size:10px;
  letter-spacing:.22em;text-transform:uppercase;color:#EEB762}
.lg-head h1{margin:0;font-size:clamp(2rem,4.4vw,3rem);font-weight:800;letter-spacing:-.035em;
  line-height:1.06;text-wrap:balance}
.lg-intro{margin:16px 0 0;color:var(--muted,#C4BCB1);font-size:1.02rem;max-width:70ch;line-height:1.7}

.lg-facts{display:flex;flex-wrap:wrap;gap:0;margin:30px 0 0;padding:0;
  border:1px solid rgba(238,183,98,.15);border-radius:14px;overflow:hidden;background:var(--surface,#171109)}
.lg-facts > div{flex:1 1 auto;min-width:150px;padding:15px 18px;
  border-right:1px solid rgba(238,183,98,.1)}
.lg-facts > div:last-child{border-right:0}
.lg-facts dt{font-family:var(--au-mono,"JetBrains Mono",ui-monospace,monospace);font-size:9px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted-2,#AEA8A1);margin:0 0 5px}
.lg-facts dd{margin:0;font-size:.92rem;font-weight:600;color:#F8F8F8}

.lg-notice{display:flex;gap:14px;margin-top:22px;padding:17px 19px;border-radius:13px;
  border:1px solid rgba(238,183,98,.42);background:rgba(238,183,98,.07);
  color:#d8cdb8;font-size:.9rem;line-height:1.65}
.lg-notice-ic{flex:none;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;
  background:rgba(238,183,98,.16);color:#EEB762;font-weight:700}

/* ---------- shell: document + right rail ---------- */
.lg-shell{display:grid;grid-template-columns:minmax(0,1fr) 258px;gap:52px;align-items:start;padding-top:38px}
@media(max-width:1040px){.lg-shell{grid-template-columns:1fr;gap:0}}

/* ---------- key facts ---------- */
.lg-keys{list-style:none;margin:0 0 40px;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:13px}
.lg-keys li{border:1px solid rgba(238,183,98,.15);border-left:2px solid #EEB762;
  border-radius:0 12px 12px 0;background:var(--surface,#171109);padding:16px 18px;
  transition:border-color .3s ease,transform .3s cubic-bezier(.16,1,.3,1)}
.lg-keys li:hover{transform:translateX(3px);border-color:rgba(238,183,98,.42);border-left-color:#F3DBB2}
.lg-key-l{display:block;font-family:var(--au-mono,"JetBrains Mono",ui-monospace,monospace);font-size:9px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2,#AEA8A1)}
.lg-keys b{display:block;margin:5px 0 5px;font-size:1.12rem;font-weight:800;color:#EEB762;
  letter-spacing:-.02em}
.lg-key-t{display:block;font-size:.8rem;color:var(--muted,#C4BCB1);line-height:1.55}

/* ---------- sections ---------- */
.lg-sec{scroll-margin-top:82px;padding:30px 0;border-top:1px solid rgba(238,183,98,.1)}
.lg-sec:first-of-type{border-top:0;padding-top:0}
.lg-sec h2{display:flex;gap:14px;align-items:baseline;margin:0 0 15px;font-size:1.22rem;
  font-weight:700;letter-spacing:-.02em;line-height:1.25;color:#F8F8F8;text-wrap:balance}
.lg-sec-n{flex:none;font-family:var(--au-mono,"JetBrains Mono",ui-monospace,monospace);font-size:.78rem;
  color:var(--gold-meta,#CAA265);padding-top:2px}
.lg-sec-b{color:#a9a49b;font-size:.95rem;line-height:1.8}
.lg-sec-b p{margin:0 0 14px;max-width:76ch}
.lg-sec-b p:last-child{margin-bottom:0}
.lg-sec-b ul,.lg-sec-b ol{margin:0 0 14px;padding-left:20px}
.lg-sec-b li{margin-bottom:8px;max-width:74ch}
.lg-sec-b strong,.lg-sec-b b{color:#F8F8F8;font-weight:600}
.lg-sec-b a{color:#EEB762;text-decoration:none;border-bottom:1px solid rgba(238,183,98,.32)}
.lg-sec-b a:hover{color:#F3DBB2;border-bottom-color:#F3DBB2}
.lg-sec-b h3,.lg-sec-b h4{color:#F8F8F8;font-size:1rem;margin:20px 0 10px;letter-spacing:-.015em}
.lg-sec-b table{width:100%;border-collapse:collapse;margin:0 0 16px;font-size:.88rem;display:block;overflow-x:auto}
.lg-sec-b th,.lg-sec-b td{padding:10px 14px;text-align:left;border-bottom:1px solid rgba(238,183,98,.1)}
.lg-sec-b th{color:var(--muted,#C4BCB1);font-weight:600}

/* ---------- operating entity ---------- */
.lg-entity{margin-top:46px;padding:28px;border:1px solid rgba(238,183,98,.15);border-radius:16px;
  background:linear-gradient(160deg,#211810,#171109)}
.lg-entity h2{margin:0 0 20px;font-size:1.02rem;font-weight:700;letter-spacing:-.02em}
.lg-entity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px}
.lg-entity-grid dt{font-family:var(--au-mono,"JetBrains Mono",ui-monospace,monospace);font-size:9px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2,#AEA8A1);margin-bottom:5px}
.lg-entity-grid dd{margin:0;font-size:.9rem;font-weight:600;color:#F8F8F8}
.lg-entity-grid a{color:#EEB762;text-decoration:none}
.lg-entity-note{margin:20px 0 0;padding-top:16px;border-top:1px solid rgba(238,183,98,.1);
  color:var(--muted,#C4BCB1);font-size:.83rem;line-height:1.65}

/* ---------- other policies ---------- */
.lg-next{margin-top:34px}
.lg-next p{margin:0 0 13px;font-family:var(--au-mono,"JetBrains Mono",ui-monospace,monospace);font-size:9.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2,#AEA8A1)}
.lg-next div{display:flex;flex-wrap:wrap;gap:9px}
.lg-next a{display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border-radius:10px;
  border:1px solid rgba(238,183,98,.15);background:var(--surface,#171109);color:var(--muted,#C4BCB1);font-size:.85rem;
  text-decoration:none;transition:all .3s cubic-bezier(.16,1,.3,1)}
.lg-next a span{color:var(--gold-meta,#CAA265);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.lg-next a:hover{color:#F8F8F8;border-color:rgba(238,183,98,.42);transform:translateY(-2px)}
.lg-next a:hover span{color:#EEB762;transform:translateX(3px)}

/* ---------- right rail ---------- */
.lg-rail{position:sticky;top:82px;align-self:start;max-height:calc(100vh - 110px);overflow-y:auto;
  padding-left:22px;border-left:1px solid rgba(238,183,98,.1)}
@media(max-width:1040px){
  .lg-rail{position:static;max-height:none;border-left:0;padding-left:0;margin-bottom:34px;
    border-bottom:1px solid rgba(238,183,98,.15);padding-bottom:24px}
}
.lg-rail-t{margin:0 0 13px;font-family:var(--au-mono,"JetBrains Mono",ui-monospace,monospace);font-size:9.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2,#AEA8A1)}
.lg-rail ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}
.lg-rail a{display:flex;gap:10px;padding:7px 10px;border-radius:7px;font-size:.8rem;line-height:1.4;
  color:var(--muted,#C4BCB1);text-decoration:none;border-left:2px solid transparent;
  transition:all .24s cubic-bezier(.22,.61,.36,1)}
.lg-rail a i{font-style:normal;font-family:var(--au-mono,"JetBrains Mono",ui-monospace,monospace);font-size:9px;
  color:var(--muted-2,#AEA8A1);padding-top:2px;flex:none}
.lg-rail a:hover{background:var(--surface,#171109);color:#F8F8F8;border-left-color:#8A6B3A}
.lg-rail a.on{background:var(--surface-2,#211810);color:#EEB762;border-left-color:#EEB762}
.lg-rail a.on i{color:#EEB762}
.lg-help{display:block;margin-top:22px;padding:15px;border-radius:12px;
  border:1px dashed rgba(238,183,98,.32);color:var(--muted,#C4BCB1);font-size:.8rem;line-height:1.55;
  text-decoration:none;transition:all .3s ease}
.lg-help span{display:block;margin-top:6px;color:#EEB762;font-weight:600}
.lg-help:hover{border-color:#EEB762;background:rgba(238,183,98,.05)}

@media (prefers-reduced-motion:reduce){
  .legal-body *,.legal-body *::before,.legal-body *::after{
    animation-duration:.001ms !important;transition-duration:.001ms !important}
}
