/* ============================================================================
   Privacy Policy and Terms and Conditions
   Markup: pages/legal.php + includes/legal-pages.php
   Loaded only on this page (see the route's "css" key in config.php).
   Shared blocks such as buttons, heroes and closing CTAs live in components.css.
   ========================================================================= */

.rp-legal-hero{ background:var(--rp-hero-bg); border-bottom:1px solid #E5E2DC; padding:clamp(72px,9vw,120px) 0 clamp(56px,6vw,72px); }
.rp-legal-hero .rp-eyebrow{ font-size:14px; letter-spacing:.2em; color:var(--rp-bronze); margin-bottom:18px; }
.rp-legal-hero__title{ font-size:clamp(2.4rem,5vw,3.75rem); font-weight:400; line-height:1.1; color:var(--rp-ink-blue); margin:0 0 24px; }
.rp-legal-hero__lead{ max-width:680px; font-size:18px; line-height:1.62; color:#374151; margin:0 0 20px; }
.rp-legal-hero__date{ font-size:13px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:#6B7280; margin:0; }

.rp-legal{ background:#F9F8F6; padding:clamp(56px,7vw,96px) 0 clamp(80px,10vw,130px); }
.rp-legal__grid{ display:grid; grid-template-columns:260px minmax(0,760px); justify-content:space-between; gap:48px; align-items:start; }
.rp-legal__toc{ position:sticky; top:calc(var(--rp-header-h) + 24px); padding-left:18px; border-left:2px solid #E5E2DC; }
.rp-legal__toc-title{ font-size:12px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:#6B7280; margin:0 0 14px; }
.rp-legal__toc ol{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.rp-legal__toc a{ font-size:14px; line-height:1.4; color:#4B5563; }
.rp-legal__toc a:hover{ color:var(--rp-ink-blue); }
.rp-legal__section{ scroll-margin-top:calc(var(--rp-header-h) + 24px); padding:34px 0 30px; border-top:1px solid #E0DDD7; }
.rp-legal__section:first-child{ padding-top:0; border-top:0; }
.rp-legal__section h2{ display:flex; align-items:baseline; gap:14px; font-size:clamp(1.4rem,2.2vw,1.75rem); font-weight:400; color:var(--rp-ink-blue); margin:0 0 18px; }
.rp-legal__no{ font-size:.7em; font-variant-numeric:lining-nums; color:var(--rp-gold-bright); }
.rp-legal__section p,
.rp-legal__section li{ font-size:16px; line-height:1.75; color:#374151; }
.rp-legal__section p{ margin:0 0 16px; }
.rp-legal__section ul{ list-style:none; margin:0 0 18px; padding:0; }
.rp-legal__section li{ position:relative; padding-left:22px; margin-bottom:8px; }
.rp-legal__section li::before{ content:""; position:absolute; left:2px; top:.72em; width:6px; height:6px; background:var(--rp-gold-bright); }
.rp-legal__section a{ color:var(--rp-ink-blue); text-decoration:underline; text-decoration-color:rgba(232,182,62,.7); text-underline-offset:3px; }
.rp-legal__section a:hover{ color:var(--rp-bronze); }

@media (max-width:900px){
  .rp-legal__grid{ grid-template-columns:1fr; }
  .rp-legal__toc{ position:static; }
}
