/* ============================================================
   SAYRU — legal.css  (policy pages)
   ============================================================ */
.legal-hero { position: relative; overflow: hidden; background: radial-gradient(120% 120% at 80% 0%, #0a2f70 0%, var(--navy-deep) 50%, var(--navy-900) 100%); }
.legal-hero__in { position: relative; z-index: 2; padding: clamp(40px, 5vw, 72px) 32px clamp(40px, 5vw, 64px); }
.crumb--light a { color: #8fa8c8; } .crumb--light a:hover { color: var(--cyan-soft); }
.crumb--light .crumb__sep { color: #4a6082; } .crumb--light .crumb__cur { color: #fff; }
.legal-hero__title { color: #fff; font-size: clamp(30px, 3.4vw, 46px); font-weight: 800; letter-spacing: -0.03em; margin-top: 16px; }
.legal-hero__updated { color: var(--cyan-soft); font-size: 13px; letter-spacing: .04em; margin-top: 12px; }

.legal-body { display: grid; grid-template-columns: 1fr 300px; gap: 44px; align-items: start; }
.legal-intro { font-size: 18px; line-height: 1.7; color: var(--ink); margin-bottom: 32px; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.legal-sec { margin-bottom: 28px; }
.legal-sec__h { font-size: 20px; color: var(--navy); display: flex; align-items: baseline; gap: 12px; margin-bottom: 10px; }
.legal-sec__n { color: var(--cyan); font-size: 14px; flex: none; }
.legal-sec__p { font-size: 15.5px; line-height: 1.72; color: var(--ink-soft); padding-left: 38px; }
.legal-note { margin-top: 36px; padding: 16px 18px; background: var(--bg-alt); border-radius: var(--r-md); font-size: 12.5px; color: var(--ink-faint); line-height: 1.6; }

.legal-aside { position: sticky; top: 100px; display: flex; flex-direction: column; gap: 16px; }
.legal-aside__card { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 22px; box-shadow: var(--sh-sm); }
.legal-aside__h { font-family: var(--font-display); font-weight: 700; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; color: var(--navy); margin-bottom: 14px; }
.legal-aside__card a { display: flex; align-items: center; gap: 9px; font-size: 14px; color: var(--ink-soft); padding: 8px 0; transition: color .2s; line-height: 1.4; }
.legal-aside__card a:hover { color: var(--blue); }
.legal-aside__card a.on { color: var(--blue); font-weight: 600; }
.legal-aside__contact a svg { color: var(--blue); flex: none; }

@media (max-width: 860px) { .legal-body { grid-template-columns: 1fr; gap: 28px; } .legal-aside { position: static; flex-direction: row; flex-wrap: wrap; } .legal-aside__card { flex: 1; min-width: 240px; } .legal-sec__p { padding-left: 0; } }
