
/* Legal & compliance pages — Nunky 2026 */
.legal-page { background:#f4f8fb; }
.legal-hero { min-height:460px; display:flex; align-items:center; background:radial-gradient(circle at 18% 20%,rgba(6,182,212,.20),transparent 30%),radial-gradient(circle at 82% 22%,rgba(139,92,246,.16),transparent 32%),linear-gradient(180deg,#07111f 0%,#0a1324 100%); }
.legal-hero .centered-hero-copy { max-width:980px; }
.legal-hero .inner-hero-title { max-width:16ch; margin-inline:auto; }
.legal-hero .inner-hero-subtitle { max-width:760px; margin-inline:auto!important; }
.legal-content-section { padding:clamp(4.5rem,7vw,7rem) 0; background:linear-gradient(180deg,#f7fbfe 0%,#eef5fa 100%); }
.legal-layout { display:grid; grid-template-columns:minmax(220px,.34fr) minmax(0,1fr); gap:clamp(1.5rem,4vw,4rem); align-items:start; }
.legal-toc { position:sticky; top:118px; padding:1.2rem; border:1px solid rgba(8,17,29,.10); border-radius:22px; background:rgba(255,255,255,.82); box-shadow:0 16px 42px rgba(15,23,42,.08); backdrop-filter:blur(12px); }
.legal-toc-label { margin:0 0 .75rem; color:#08111d; font-size:.78rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.legal-toc a { display:grid; grid-template-columns:34px 1fr; gap:.7rem; align-items:start; padding:.72rem .65rem; border-radius:14px; color:#243346; text-decoration:none; font-size:.9rem; line-height:1.35; }
.legal-toc a:hover,.legal-toc a:focus-visible { color:#075985; background:rgba(6,182,212,.08); outline:none; }
.legal-toc a span { color:#0e7490; font-size:.72rem; font-weight:900; letter-spacing:.06em; }
.legal-article { display:grid; gap:1rem; }
.legal-section { scroll-margin-top:125px; display:grid; grid-template-columns:62px minmax(0,1fr); gap:1.25rem; padding:clamp(1.5rem,3vw,2.2rem); border:1px solid rgba(8,17,29,.09); border-radius:26px; background:rgba(255,255,255,.90); box-shadow:0 18px 54px rgba(15,23,42,.075); }
.legal-section-number { width:48px; height:48px; display:grid; place-items:center; border-radius:15px; background:linear-gradient(135deg,#79f2ff 0%,#87a9ff 100%); color:#06111d; font-weight:900; font-size:.8rem; letter-spacing:.08em; }
.legal-section-copy h2 { margin:0 0 1rem; color:#08111d; font-size:clamp(1.55rem,2.5vw,2.25rem); line-height:1.12; letter-spacing:-.035em; }
.legal-section-copy h3 { margin:1.1rem 0 .45rem; color:#102033; font-size:1.05rem; }
.legal-section-copy p,.legal-section-copy li,.legal-section-copy dd { color:#435268; line-height:1.78; }
.legal-section-copy p { margin:0 0 1rem; }
.legal-section-copy p:last-child { margin-bottom:0; }
.legal-section-copy a { color:#075985; font-weight:700; text-underline-offset:3px; }
.legal-list,.legal-alpha-list { display:grid; gap:.7rem; margin:1rem 0 0; padding-left:1.2rem; }
.legal-alpha-list { list-style-type:lower-alpha; }
.legal-numbered { list-style:decimal; }
.legal-subgroup { padding:1rem 0; border-top:1px solid rgba(8,17,29,.08); }
.legal-subgroup:first-of-type { border-top:0; padding-top:0; }
.legal-data-list { display:grid; gap:.65rem; margin:1.2rem 0 0; }
.legal-data-list > div { display:grid; grid-template-columns:minmax(140px,.42fr) 1fr; gap:1rem; padding:.9rem 1rem; border-radius:14px; background:#f4f8fb; border:1px solid rgba(8,17,29,.07); }
.legal-data-list dt { color:#17283c; font-weight:800; }
.legal-data-list dd { margin:0; }
.legal-principles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; }
.legal-principles article { padding:1.2rem; border-radius:18px; background:#f4f8fb; border:1px solid rgba(8,17,29,.07); }
.legal-principles article h3 { margin:0 0 .55rem; }
.legal-principles article p { margin:0; font-size:.95rem; }
.legal-channel-card { margin-top:1.25rem; display:flex; gap:1.5rem; justify-content:space-between; align-items:center; padding:1.4rem; border-radius:22px; background:linear-gradient(135deg,#07111f 0%,#10213a 100%); color:#fff; }
.legal-channel-card h3 { color:#fff; margin:.3rem 0 .55rem; font-size:1.35rem; }
.legal-channel-card p { color:rgba(234,246,255,.76); margin:0; max-width:62ch; }
.legal-channel-eyebrow { color:#7de7ff; font-size:.74rem; text-transform:uppercase; letter-spacing:.09em; font-weight:900; }
.legal-channel-card .btn[disabled] { opacity:.56; cursor:not-allowed; white-space:nowrap; }
.legal-status-note { margin-top:1rem; padding:1rem 1.1rem; display:grid; gap:.3rem; border-left:4px solid #0891b2; border-radius:0 14px 14px 0; background:#eefaff; color:#334155; }
.legal-status-note strong { color:#0f4660; }
.contact-rgpd-note { margin:1.1rem 0; padding:1.15rem; border:1px solid rgba(8,17,29,.09); border-radius:18px; background:#f5f9fc; }
.contact-rgpd-note h3 { margin:0 0 .8rem; color:#132238; font-size:1rem; }
.contact-rgpd-note dl { display:grid; gap:.55rem; margin:0; }
.contact-rgpd-note dl > div { display:grid; grid-template-columns:130px 1fr; gap:.75rem; }
.contact-rgpd-note dt { font-weight:800; color:#27384c; }
.contact-rgpd-note dd { margin:0; color:#59677a; line-height:1.5; }
.contact-rgpd-note p { margin:.9rem 0 0; color:#59677a; }
.contact-rgpd-note a,.contact-step a { color:#075985; font-weight:700; }
.contact-privacy-check { display:flex; gap:.75rem; align-items:flex-start; margin:1rem 0 1.2rem; color:#334155; font-size:.92rem; line-height:1.5; }
.contact-privacy-check input { width:18px; height:18px; margin-top:.15rem; accent-color:#0891b2; flex:0 0 auto; }
.form-technical-note { margin:.85rem 0 0; color:#64748b; font-size:.78rem; line-height:1.45; }
.footer-cookie-settings { appearance:none; border:0; padding:0; background:transparent; color:inherit; font:inherit; cursor:pointer; text-decoration:none; }
.footer-cookie-settings:hover,.footer-cookie-settings:focus-visible { text-decoration:underline; text-underline-offset:3px; }
@media (max-width:900px){.legal-layout{grid-template-columns:1fr}.legal-toc{position:relative;top:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem}.legal-toc-label{grid-column:1/-1}.legal-principles{grid-template-columns:1fr}.legal-channel-card{align-items:flex-start;flex-direction:column}.legal-channel-card .btn{width:100%}}
@media (max-width:620px){.legal-hero{min-height:400px}.legal-toc{grid-template-columns:1fr}.legal-section{grid-template-columns:1fr;padding:1.25rem;border-radius:20px}.legal-data-list>div,.contact-rgpd-note dl>div{grid-template-columns:1fr;gap:.25rem}.legal-section-number{width:42px;height:42px}.legal-content-section{padding:3.5rem 0}.contact-rgpd-note{padding:1rem}}
