/* Legal documents · privacy, cookies, terms, advertising, account deletion and contact. Markup: app/Views/legal.php. */
.legal{--legal-measure:72ch;padding-block:var(--space-xl) var(--space-4xl)}
.legal a:not(.button){color:var(--color-accent-strong);text-decoration-color:var(--color-accent-line);transition:color var(--dur-short) var(--ease-out),text-decoration-color var(--dur-short) var(--ease-out)}
.legal a:not(.button):hover{text-decoration-color:currentColor}
.legal :focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:var(--radius-xs)}

/* Hero */
.legal-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;gap:var(--space-lg);padding:clamp(24px,5vw,56px);border:1px solid var(--color-rule);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:inset 0 1px 0 var(--color-rim)}
.legal-hero:before{content:"";position:absolute;inset:-30% -10% auto 35%;height:140%;z-index:-1;background:radial-gradient(closest-side,var(--color-accent-soft),var(--color-transparent));opacity:.9;pointer-events:none}
.legal-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--color-grid) 1px,var(--color-transparent) 1px) 0 0/44px 44px,linear-gradient(var(--color-grid) 1px,var(--color-transparent) 1px) 0 0/44px 44px;mask-image:linear-gradient(100deg,var(--color-transparent) 30%,var(--color-ink));-webkit-mask-image:linear-gradient(100deg,var(--color-transparent) 30%,var(--color-ink));opacity:.7;pointer-events:none}
.legal-kicker{display:inline-flex;align-items:center;gap:var(--space-sm);justify-self:start;margin:0;padding:6px 14px 6px 10px;border:1px solid var(--color-accent-line);border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent-strong);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}
.legal-kicker svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.legal-hero h1{max-width:20ch;overflow-wrap:anywhere;font-size:clamp(2rem,5.4vw,4.2rem);line-height:1.04;text-wrap:balance}
.legal-lead{max-width:62ch;margin:0;font-size:var(--text-md);line-height:1.7;color:var(--color-muted)}
.legal-meta{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.legal-meta li{display:inline-flex;flex-direction:column;gap:2px;flex:1 1 112px;max-width:max-content;min-width:96px;padding:8px 14px;border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper)}
.legal-meta span{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-subtle)}
.legal-meta strong{font-family:var(--font-display);font-weight:600;font-size:var(--text-base);letter-spacing:-.01em;color:var(--color-ink);font-variant-numeric:tabular-nums}
.legal-actions{display:flex;flex-wrap:wrap;gap:var(--space-md)}
.legal-actions .button{white-space:normal;text-align:center}
.legal-actions svg,.legal-related svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Contact channels */
.legal-channels{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.legal-channels li{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-paper)}
.legal-channels svg{flex:none;width:42px;height:42px;padding:10px;border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-accent-strong);fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.legal-channels span{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere;font-weight:500}
.legal-channels small{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-subtle);font-weight:400}
.legal-channels-hero{margin-top:var(--space-sm)}
@media(min-width:40rem){.legal-channels{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:64rem){.legal-channels-hero{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Highlights */
.legal-highlights{margin-top:var(--space-xl)}
.legal-highlights h2{margin-bottom:var(--space-md);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-subtle)}
.legal-highlights ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.legal-highlights li{display:grid;gap:6px;align-content:start;padding:18px 20px;border:1px solid var(--color-rule);border-top:2px solid var(--color-accent);border-radius:var(--radius-lg);background:var(--color-surface)}
.legal-highlights strong{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;letter-spacing:-.01em;line-height:1.3}
.legal-highlights span{font-size:var(--text-sm);line-height:1.6;color:var(--color-muted)}
@media(min-width:40rem){.legal-highlights ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:64rem){.legal-highlights ul{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}

/* Layout: table of contents + reading column */
.legal-layout{display:grid;gap:var(--space-xl);margin-top:var(--space-2xl)}
@media(min-width:64rem){.legal-layout{grid-template-columns:260px minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}}
.legal-toc details{border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-surface)}
.legal-toc summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);min-height:var(--tap);padding:0 18px;cursor:pointer;list-style:none;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-subtle)}
.legal-toc summary::-webkit-details-marker{display:none}
.legal-toc summary:after{content:"";width:8px;height:8px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translateY(-2px);transition:transform var(--dur-short) var(--ease-out)}
.legal-toc details[open] summary:after{transform:rotate(-135deg)}
.legal-toc ol{display:grid;gap:2px;margin:0;padding:0 8px 10px;list-style:none}
.legal-toc a{display:grid;grid-template-columns:2.2em 1fr;align-items:baseline;gap:4px;min-height:36px;padding:7px 10px;border-radius:var(--radius-sm);color:var(--color-muted);font-size:var(--text-sm);line-height:1.35;text-decoration:none}
.legal-toc a span{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-subtle)}
.legal-toc a:hover{background:var(--color-hover);color:var(--color-ink)}
.legal-toc a[aria-current=true]{background:var(--color-accent-soft);color:var(--color-ink);box-shadow:inset 2px 0 0 var(--color-accent)}
.legal-toc a[aria-current=true] span{color:var(--color-accent-strong)}
@media(min-width:64rem){
 .legal-toc{position:sticky;top:calc(var(--header-h) + var(--space-lg));max-height:calc(100svh - var(--header-h) - 2 * var(--space-lg));overflow:auto;overscroll-behavior:contain}
 .legal-toc summary{pointer-events:none;cursor:default}
 .legal-toc summary:after{display:none}
 .legal-toc details{border:0;background:transparent}
 .legal-toc ol{padding:0}
}

/* Reading column */
.legal-body{min-width:0}
.legal-section>p,.legal-section>ul,.legal-section>ol,.legal-section>h3,.legal-section>.legal-note{max-width:var(--legal-measure)}
.legal-section{scroll-margin-top:calc(var(--header-h) + var(--space-lg));padding-block:var(--space-xl);border-top:1px solid var(--color-rule)}
.legal-section:first-child{border-top:0;padding-top:0}
.legal-section h2{display:flex;align-items:baseline;gap:14px;margin-bottom:var(--space-md);font-size:clamp(1.35rem,2.4vw,1.75rem);line-height:1.2;text-wrap:balance}
.legal-num{flex:none;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:400;letter-spacing:.04em;color:var(--color-accent-strong)}
.legal-section h3{margin:var(--space-lg) 0 var(--space-sm);font-family:var(--font-display);font-size:var(--text-base);font-weight:600;letter-spacing:-.01em}
.legal-section p,.legal-section li{font-size:var(--text-base);line-height:1.75;color:var(--color-ink)}
.legal-section p{margin:0 0 var(--space-md);color:var(--color-muted)}
.legal-section p strong,.legal-section li strong{color:var(--color-ink);font-weight:600}
.legal-section ul,.legal-section ol{display:grid;gap:10px;margin:0 0 var(--space-md);padding-left:1.25em}
.legal-section li{padding-left:.25em;color:var(--color-muted)}
.legal-section li::marker{color:var(--color-accent-line)}
.legal-steps{counter-reset:legal-step;padding-left:0!important;list-style:none}
.legal-steps li{counter-increment:legal-step;position:relative;padding:14px 16px 14px 56px;border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-surface)}
.legal-steps li:before{content:counter(legal-step);position:absolute;left:14px;top:12px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--color-accent-soft);color:var(--color-accent-strong);font-family:var(--font-mono);font-size:var(--text-sm)}
.legal-note{display:flex;align-items:flex-start;gap:12px;margin:var(--space-md) 0;padding:16px 18px;border:1px solid var(--color-accent-line);border-left-width:4px;border-radius:var(--radius-md);background:var(--color-accent-soft)}
.legal-note svg{flex:none;width:22px;height:22px;margin-top:2px;fill:none;stroke:var(--color-accent-strong);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.legal-note p{margin:0;color:var(--color-ink);font-size:var(--text-sm);line-height:1.65}

/* Tables */
.legal-table{margin:var(--space-md) 0 var(--space-lg);border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-surface);overflow-x:auto}
.legal-table table{width:100%;border-collapse:collapse;font-size:var(--text-sm);line-height:1.6}
.legal-table th,.legal-table td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--color-rule)}
.legal-table thead th{position:sticky;top:0;background:var(--color-soft);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-subtle)}
.legal-table tbody th{font-weight:600;color:var(--color-ink);min-width:12ch}
.legal-table td{color:var(--color-muted)}
.legal-table tbody tr:last-child>*{border-bottom:0}
.legal-table tbody tr:hover>*{background:var(--color-hover)}
.legal-table--names tbody th{min-width:24ch;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;overflow-wrap:anywhere}
@media(max-width:47.99rem){
 .legal-table{overflow:visible;border:0;background:transparent}
 .legal-table table,.legal-table tbody,.legal-table tr,.legal-table th,.legal-table td{display:block}
 .legal-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .legal-table tbody{display:grid;gap:12px}
 .legal-table tr{border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}
 .legal-table tbody th{min-width:0;padding:12px 16px;background:var(--color-soft);border-bottom:1px solid var(--color-rule)}
 .legal-table td{display:grid;gap:2px;padding:10px 16px;border-bottom:1px solid var(--color-rule)}
 .legal-table td:before{content:attr(data-label);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-subtle)}
 .legal-table tbody tr:hover>*{background:inherit}
 .legal-table tbody th:hover{background:var(--color-soft)}
}

/* Contact block and related documents */
.legal-contact{margin-top:var(--space-xl);padding:clamp(20px,4vw,32px);border:1px solid var(--color-rule);border-radius:var(--radius-xl);background:var(--color-surface)}
.legal-contact h2{font-size:clamp(1.25rem,2.2vw,1.6rem)}
.legal-contact p{margin:var(--space-sm) 0 var(--space-lg);color:var(--color-muted);line-height:1.7}
.legal-related{margin-top:var(--space-3xl);padding-top:var(--space-xl);border-top:1px solid var(--color-rule)}
.legal-related h2{margin-bottom:var(--space-lg);font-size:var(--text-lg)}
.legal-related ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.legal-related a{position:relative;display:grid;gap:4px;height:100%;padding:18px 52px 18px 20px;border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-ink)!important;text-decoration:none;transition:border-color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}
.legal-related a strong{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em}
.legal-related a span{font-size:var(--text-sm);line-height:1.5;color:var(--color-muted)}
.legal-related a svg{position:absolute;right:18px;top:50%;translate:0 -50%;color:var(--color-accent-strong);transition:transform var(--dur-short) var(--ease-out)}
.legal-related a:hover{border-color:var(--color-accent-line);box-shadow:var(--shadow-1)}
.legal-related a:hover svg{transform:translateX(4px)}
@media(min-width:40rem){.legal-related ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:64rem){.legal-related ul{grid-template-columns:repeat(5,minmax(0,1fr))}.legal-related a{padding:18px 20px 44px}.legal-related a svg{top:auto;bottom:16px;right:18px;translate:0}}

@media(prefers-reduced-motion:reduce){.legal *,.legal *:before,.legal *:after{transition:none!important}}

/* Printing keeps the text and drops the chrome. */
@media print{
 .legal-hero{border:0;background:none;padding:0}.legal-hero:before,.legal-hero:after,.legal-toc,.legal-related,.legal-actions,.legal-contact{display:none}
 .legal-layout{display:block}.legal-body{max-width:none}.legal-section{break-inside:avoid-page}
 .legal-table{overflow:visible;border-color:#999}.legal a{color:inherit}
}
