/* ============================================================
   CTLFX — Legal Pages · Shared Styles
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');

.legal-hero{
  position:relative; z-index:1;
  padding:clamp(4rem,8vw,7rem) 0 clamp(3rem,5vw,4.5rem);
  overflow:hidden;
}
.legal-hero::before{
  content:''; position:absolute; inset:0; pointer-events:none; opacity:.35;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000,transparent 75%);
          mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000,transparent 75%);
}
.legal-badge{
  display:inline-flex; align-items:center; gap:.5rem;
  background:rgba(252,163,17,.10);
  border:1px solid rgba(252,163,17,.25);
  color:#fca311;
  font-size:.74rem; font-weight:700; letter-spacing:.10em; text-transform:uppercase;
  padding:.45rem 1rem; border-radius:999px;
  margin-bottom:1.25rem;
}
.legal-hero h1{
  font-family:'Space Grotesk','Inter',sans-serif;
  font-size:clamp(2.1rem,4.5vw,3.5rem);
  font-weight:700; letter-spacing:-.02em;
  color:#fff; margin:0 0 1rem;
  line-height:1.08;
}
.legal-hero .legal-lead{
  color:#8b93a7; font-size:clamp(1rem,1vw + .7rem,1.1rem);
  line-height:1.75; max-width:52rem; margin:0 0 2rem;
}
.legal-meta{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1rem;
  padding:1.25rem 1.5rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.01));
  backdrop-filter:blur(18px);
  max-width:52rem;
}
.legal-meta > div{ line-height:1.35; }
.legal-meta span{
  display:block;
  font-size:.68rem; font-weight:600; letter-spacing:.11em;
  text-transform:uppercase; color:#8b93a7;
  margin-bottom:.35rem;
}
.legal-meta strong{
  font-family:'Space Grotesk','Inter',sans-serif;
  font-size:.92rem; font-weight:700; color:#fff;
}

/* ---------- Table of Contents ---------- */
.legal-toc{
  position:relative; z-index:1;
  padding:0 0 clamp(3rem,5vw,4rem);
}
.legal-toc-inner{
  padding:1.75rem 2rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.01));
  backdrop-filter:blur(18px);
}
.legal-toc-inner h4{
  font-family:'Space Grotesk','Inter',sans-serif;
  font-size:.78rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:#fca311;
  margin:0 0 1rem;
}
.legal-toc-inner ol{
  counter-reset:toc;
  list-style:none; padding:0; margin:0;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:.6rem 1.5rem;
}
.legal-toc-inner li{
  counter-increment:toc;
  padding-left:2rem; position:relative;
}
.legal-toc-inner li::before{
  content:counter(toc,decimal-leading-zero);
  position:absolute; left:0; top:.15rem;
  font-family:'Space Grotesk',sans-serif;
  font-size:.72rem; font-weight:700;
  color:#fca311;
  background:rgba(252,163,17,.10);
  border:1px solid rgba(252,163,17,.22);
  padding:.1rem .4rem; border-radius:6px;
}
.legal-toc-inner a{
  color:#8b93a7; font-size:.86rem; text-decoration:none;
  transition:color .3s cubic-bezier(.2,.8,.2,1);
}
.legal-toc-inner a:hover{ color:#fff; }

/* ---------- Content ---------- */
.legal-content{
  position:relative; z-index:1;
  padding:0 0 clamp(4rem,8vw,7rem);
}
.legal-content article{
  max-width:56rem; margin:0 auto;
}
.legal-section{
  padding:clamp(1.75rem,3vw,2.25rem) 0;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.legal-section:last-child{ border-bottom:none; }

.legal-section h2{
  font-family:'Space Grotesk','Inter',sans-serif;
  font-size:clamp(1.15rem,1.6vw,1.4rem);
  font-weight:700; letter-spacing:-.015em;
  color:#fff; margin:0 0 1rem;
  display:flex; align-items:baseline; gap:.85rem;
}
.legal-section h2 .num{
  font-size:.78rem; font-weight:800;
  color:#fca311;
  background:rgba(252,163,17,.10);
  border:1px solid rgba(252,163,17,.25);
  padding:.25rem .6rem; border-radius:8px;
  font-family:'Space Grotesk',sans-serif;
  letter-spacing:.05em;
  flex:0 0 auto;
}
.legal-section h3{
  font-family:'Space Grotesk','Inter',sans-serif;
  font-size:1rem; font-weight:600; color:#fff;
  margin:1.5rem 0 .65rem;
}
.legal-section p{
  color:#8b93a7; font-size:.92rem; line-height:1.85;
  margin:0 0 1rem;
}
.legal-section p:last-child{ margin-bottom:0; }
.legal-section strong{ color:#eef1f7; font-weight:600; }
.legal-section a{
  color:#fca311; text-decoration:none;
  border-bottom:1px dashed rgba(252,163,17,.4);
  transition:border-color .3s;
}
.legal-section a:hover{ border-bottom-color:#fca311; }

.legal-section ul,
.legal-section ol{
  color:#8b93a7; font-size:.92rem; line-height:1.85;
  padding-left:1.5rem; margin:0 0 1rem;
}
.legal-section ul li,
.legal-section ol li{ margin-bottom:.45rem; }
.legal-section ul li::marker{ color:#fca311; }
.legal-section ol li::marker{ color:#fca311; font-weight:600; }

/* Callout */
.legal-callout{
  margin:1.25rem 0;
  padding:1.1rem 1.25rem;
  border-radius:16px;
  border:1px solid rgba(252,163,17,.22);
  background:linear-gradient(160deg,rgba(252,163,17,.07),rgba(252,163,17,.01));
  display:flex; gap:.9rem;
}
.legal-callout i{
  color:#fca311; font-size:1.05rem; flex:0 0 auto;
  margin-top:.15rem;
}
.legal-callout p{
  margin:0; color:#c9d2e3; font-size:.88rem; line-height:1.75;
}
.legal-callout.warn{
  border-color:rgba(255,95,122,.28);
  background:linear-gradient(160deg,rgba(255,95,122,.08),rgba(255,95,122,.01));
}
.legal-callout.warn i{ color:#ff5f7a; }

/* Table */
.legal-table{
  width:100%; border-collapse:separate; border-spacing:0;
  border-radius:16px; overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  margin:1.25rem 0;
  font-size:.88rem;
}
.legal-table th,
.legal-table td{
  padding:.9rem 1.1rem;
  text-align:left;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.legal-table thead th{
  font-family:'Space Grotesk','Inter',sans-serif;
  font-size:.7rem; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:#8b93a7;
  background:rgba(255,255,255,.02);
  border-bottom:1px solid rgba(255,255,255,.09);
}
.legal-table tbody tr{ transition:background .3s; }
.legal-table tbody tr:hover{ background:rgba(252,163,17,.04); }
.legal-table tbody tr:last-child td{ border-bottom:none; }
.legal-table td:first-child{ color:#eef1f7; font-weight:600; }
.legal-table td{ color:#8b93a7; }

/* ---------- CTA ---------- */
.legal-cta{
  position:relative; z-index:1;
  padding:0 0 clamp(4rem,7vw,6rem);
}
.legal-cta-panel{
  position:relative;
  border-radius:32px;
  padding:clamp(2.5rem,5vw,4rem) 1.5rem;
  text-align:center;
  overflow:hidden;
  background:
    radial-gradient(ellipse 70% 100% at 50% 0%,rgba(252,163,17,.14),transparent 70%),
    linear-gradient(165deg,rgba(255,255,255,.05),rgba(255,255,255,.01));
  border:1px solid rgba(255,255,255,.09);
  backdrop-filter:blur(20px);
}
.legal-cta-panel::before{
  content:''; position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:48px 48px;
  -webkit-mask-image:radial-gradient(ellipse 70% 80% at 50% 50%,#000,transparent 75%);
          mask-image:radial-gradient(ellipse 70% 80% at 50% 50%,#000,transparent 75%);
}
.legal-cta-panel h2{
  font-family:'Space Grotesk','Inter',sans-serif;
  font-size:clamp(1.5rem,2.5vw,2rem);
  font-weight:700; color:#fff;
  margin:0 0 1rem;
}
.legal-cta-panel p{
  color:#8b93a7; font-size:1rem; line-height:1.75;
  max-width:36rem; margin:0 auto 2rem;
}

/* ---------- Back link ---------- */
.legal-back{
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.82rem; font-weight:600; color:#8b93a7;
  text-decoration:none;
  padding:.5rem 1rem; border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.02);
  transition:all .3s cubic-bezier(.2,.8,.2,1);
  margin-bottom:1.5rem;
}
.legal-back:hover{
  color:#fca311; border-color:rgba(252,163,17,.4);
  background:rgba(252,163,17,.06);
  transform:translateX(-3px);
}

/* ---------- Responsive ---------- */
@media (max-width:767.98px){
  .legal-meta{ grid-template-columns:1fr; gap:.85rem; padding:1.1rem 1.25rem; }
  .legal-toc-inner{ padding:1.35rem 1.25rem; }
  .legal-toc-inner ol{ grid-template-columns:1fr; }
  .legal-section h2{ flex-direction:column; align-items:flex-start; gap:.5rem; }
  .legal-table{ font-size:.82rem; }
  .legal-table th, .legal-table td{ padding:.75rem .85rem; }
}