/* ===== BFM V6 legal pages — shared design (tos / privacy / refund) ===== */
:root{
  --bg:#070604; --ink:#cfc3aa; --ink-dim:#9c9079; --ink-faint:#7c715b;
  --head:#f6f0df; --g1:#F9F295; --g2:#E0AA3E; --g3:#caa24a; --line:rgba(255,211,106,.12); --line2:rgba(255,211,106,.2);
  --mono:"JetBrains Mono",monospace; --display:"Sora",sans-serif; --body:"Inter",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.legal{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15.5px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
/* living liquid-gold background that slowly drifts */
.legal-bg{position:fixed;inset:-22%;z-index:0;pointer-events:none;will-change:transform;
  background:
    radial-gradient(900px 620px at 78% 4%,rgba(224,170,62,.13),transparent 60%),
    radial-gradient(720px 520px at 8% 30%,rgba(224,170,62,.08),transparent 55%),
    radial-gradient(640px 520px at 52% 104%,rgba(224,170,62,.07),transparent 60%);
  animation:legalDrift 26s ease-in-out infinite alternate}
@keyframes legalDrift{from{transform:translate3d(-2%,-1.5%,0) scale(1.03)}to{transform:translate3d(2.5%,2%,0) scale(1.09)}}
@media(prefers-reduced-motion:reduce){.legal-bg{animation:none}}

/* reading-progress: a thin liquid-gold bar that fills as you scroll */
.legal-progress{position:fixed;top:0;left:0;height:4px;width:0;z-index:90;border-radius:0 4px 4px 0;
  background:linear-gradient(90deg,#fff3c4,#f9f295 18%,#e0aa3e 60%,#b9832f);box-shadow:0 0 14px rgba(224,170,62,.7);overflow:hidden;transition:width .12s linear}
.legal-progress::after{content:"";position:absolute;top:0;bottom:0;width:60px;left:-60px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:legalFlow 2.4s linear infinite}
@keyframes legalFlow{to{left:130%}}

.legal-wrap{position:relative;z-index:1;max-width:1080px;margin:0 auto;padding:118px clamp(20px,5vw,40px) 40px}
.legal-hero{margin-bottom:40px;opacity:0;transform:translateY(14px);animation:legalIn .6s .05s ease forwards}
.legal-hero .kicker{font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--g3)}
.legal-hero h1{font-family:var(--display);font-weight:800;font-size:clamp(32px,5vw,52px);letter-spacing:-.02em;color:var(--head);margin:10px 0 8px}
.legal-hero .legal-sub{color:var(--ink-dim);font-size:15px;max-width:60ch;margin:0}
.legal-hero .legal-sub b{color:var(--g1);font-weight:600}

.legal-grid{display:grid;grid-template-columns:230px 1fr;gap:42px;align-items:start}
@media(max-width:880px){.legal-grid{grid-template-columns:1fr;gap:8px}.legal-toc{display:none}}

.legal-toc{position:sticky;top:104px;font-size:13px;opacity:0;transform:translateY(14px);animation:legalIn .6s .12s ease forwards}
.legal-toc .toc-label{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 12px}
.legal-toc a{display:block;color:var(--ink-dim);text-decoration:none;padding:6px 0 6px 13px;border-left:2px solid transparent;transition:color .18s,border-color .18s}
.legal-toc a:hover{color:var(--ink)}
.legal-toc a.on{color:var(--g1);border-color:var(--g2)}

.legal-body{min-width:0}
.legal-body section{padding:14px 0 22px;border-bottom:1px solid var(--line);opacity:0;transform:translateY(16px)}
.legal-body section.in{animation:legalIn .55s ease forwards}
.legal-body section:last-child{border-bottom:0}
.legal-body h2{font-family:var(--display);font-weight:700;font-size:20px;color:var(--head);margin:0 0 12px;display:flex;gap:12px;align-items:baseline}
.legal-body h2 .num{font-family:var(--mono);font-size:13px;color:var(--g2);font-weight:600;flex:none}
.legal-body h3{font-family:var(--display);font-weight:600;font-size:15.5px;color:#e7dcc4;margin:18px 0 6px}
.legal-body p{margin:0 0 12px;color:var(--ink)}
.legal-body a{color:var(--g1);text-decoration:none;border-bottom:1px solid rgba(255,211,106,.3)}
.legal-body a:hover{border-color:var(--g1)}
.legal-body ul{margin:0 0 12px;padding-left:0;list-style:none}
.legal-body li{position:relative;padding:3px 0 3px 22px;color:var(--ink)}
.legal-body li::before{content:"";position:absolute;left:4px;top:13px;width:5px;height:5px;border-radius:50%;background:var(--g2)}
.legal-body strong{color:#e7dcc4}
.legal-body .muted{color:var(--ink-dim);font-size:14px}

/* highlighted callout (EU refund, vouch consent, etc.) */
.legal-note{margin:14px 0;padding:15px 17px;border-radius:13px;border:1px solid var(--line2);
  background:linear-gradient(180deg,rgba(255,211,106,.07),rgba(255,211,106,.025))}
.legal-note .nt{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--g2);margin-bottom:6px}
.legal-note p:last-child{margin-bottom:0}

/* refund request form */
.refund-form{margin:14px 0 12px;display:flex;flex-direction:column;gap:12px;max-width:560px}
.refund-form .rf-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.refund-form .rf-row{grid-template-columns:1fr}}
.rf-field{display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}
.rf-field input,.rf-field select{font-family:var(--body);font-size:14px;text-transform:none;letter-spacing:0;color:var(--head);background:rgba(8,6,4,.6);border:1px solid var(--line2);border-radius:11px;padding:11px 13px;transition:border-color .2s,box-shadow .25s}
.rf-field input:focus,.rf-field select:focus{outline:none;border-color:rgba(255,211,106,.6);box-shadow:0 0 0 3px rgba(255,211,106,.14)}
.rf-field input.bad{border-color:#ff7a66;box-shadow:0 0 0 3px rgba(255,122,102,.18)}
.rf-btn{align-self:flex-start;margin-top:2px;font-family:var(--display);font-weight:700;font-size:14px;color:#211501;cursor:pointer;border:0;border-radius:12px;padding:12px 20px;background:linear-gradient(135deg,#fff7cf,#ffe08c 24%,#e0aa3e 60%,#9b6518);box-shadow:0 10px 26px rgba(224,170,62,.25);transition:transform .15s,filter .2s}
.rf-btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.rf-btn:active{transform:translateY(1px) scale(.985)}

@keyframes legalIn{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.legal-hero,.legal-toc,.legal-body section{opacity:1;transform:none;animation:none}.legal-progress::after{display:none}}
