/* ============================================================
   Cineva — legal pages and 404
   Small companion to styles.css for the text-only pages.
   ============================================================ */

.subpage{ padding-top:76px; }

/* ---------- legal ---------- */
.legal-page{
  width:100%; max-width:840px; margin-inline:auto;
  padding:clamp(40px,7vh,90px) var(--pad) clamp(70px,10vh,120px);
}
.back-link{
  display:inline-flex; align-items:center; gap:9px;
  font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-dim); transition:color .3s var(--ease), gap .3s var(--ease);
}
.back-link svg{ width:14px; height:14px; }
.back-link:hover{ color:var(--accent); gap:13px; }

.legal-header{
  margin-top:clamp(28px,5vh,52px); padding-bottom:26px;
  border-bottom:1px solid var(--line);
}
.legal-title{
  font-family:var(--display); font-weight:900; text-transform:uppercase;
  font-size:clamp(1.9rem,5vw,3.4rem); line-height:.96; letter-spacing:-.035em;
}
.legal-updated{
  margin-top:16px;
  font-size:10.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-faint);
}

.legal-content{ margin-top:clamp(28px,4vh,44px); color:var(--ink-dim); font-size:16px; line-height:1.75; }
.legal-content h2{
  margin-top:2.2em; color:var(--ink);
  font-family:var(--display); font-weight:900; text-transform:uppercase;
  font-size:clamp(1.05rem,1.9vw,1.35rem); letter-spacing:-.02em; line-height:1.15;
}
.legal-content h2:first-child{ margin-top:0; }
.legal-content p{ margin-top:1em; max-width:70ch; }
.legal-content ul, .legal-content ol{ margin-top:1em; padding-left:1.3em; max-width:70ch; }
.legal-content ul{ list-style:disc; }
.legal-content ol{ list-style:decimal; }
.legal-content li + li{ margin-top:.5em; }
.legal-content li::marker{ color:var(--accent); }
.legal-content a{ color:var(--accent); border-bottom:1px solid rgba(255,90,54,.4); }
.legal-content a:hover{ border-bottom-color:var(--accent); }
.legal-content strong{ color:var(--ink); font-weight:600; }

/* ---------- 404 ---------- */
.error-page{
  min-height:calc(100svh - 76px - 92px);
  display:grid; place-items:center;
  padding:clamp(50px,8vh,100px) var(--pad);
  text-align:center;
}
.error-content{ max-width:56ch; }
.error-code{
  display:block;
  font-family:var(--display); font-weight:900;
  font-size:clamp(4.5rem,16vw,11rem); line-height:.85; letter-spacing:-.05em;
  color:var(--accent);
}
.error-title{
  margin-top:20px;
  font-family:var(--display); font-weight:900; text-transform:uppercase;
  font-size:clamp(1.5rem,3.4vw,2.4rem); letter-spacing:-.03em; line-height:1;
}
.error-message{ margin-top:18px; color:var(--ink-dim); font-size:15.5px; }
.error-actions{
  margin-top:34px; display:flex; flex-wrap:wrap; gap:10px; justify-content:center;
}
.error-btn{
  display:inline-flex; align-items:center; gap:9px;
  padding:15px 26px; border-radius:100px;
  font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  transition:background .35s var(--ease), color .35s var(--ease),
             border-color .35s var(--ease), transform .35s var(--ease);
}
.error-btn svg{ width:15px; height:15px; }
.error-btn-primary{ background:var(--ink); color:#0b0b0c; }
.error-btn-primary:hover{ background:var(--accent); transform:translateY(-2px); }
.error-btn-secondary{ border:1.5px solid var(--line); color:var(--ink); }
.error-btn-secondary:hover{ border-color:var(--ink); transform:translateY(-2px); }

@media (max-width:760px){
  .subpage{ padding-top:64px; }
  .error-actions .error-btn{ width:100%; justify-content:center; }
}
