/* Legal pages share v9's photography, type roles and quiet sage surfaces. */
.legal-main {padding-block:40px 96px}
.legal-document {max-width:1200px;margin-inline:auto}
.legal-back {display:inline-flex;align-items:center;gap:10px;color:var(--muted);margin-bottom:32px}
.legal-back:hover {color:var(--accent-text)}
.legal-header {
  min-height:300px;padding:48px 40px;display:flex;flex-direction:column;justify-content:center;
  background:linear-gradient(90deg,#f7f9f4 0%,#f7f9f4f5 35%,#f7f9f470 70%,#f7f9f410),url("/assets/photo/v9-facade.png") 50% 44%/cover;
  border-radius:6px;
}
.legal-header .label {margin-bottom:20px;color:var(--accent-text)}
.legal-header h1 {max-width:12ch;font-weight:400!important}
.legal-date {margin-top:24px;color:var(--ink-80)}
.legal-layout {display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(40px,6vw,96px);padding-top:64px;align-items:start}
.legal-sidebar {position:sticky;top:calc(var(--nav-h) + 32px)}
.legal-sidebar>.label {color:var(--muted);margin-bottom:16px}
.legal-nav {display:grid;gap:4px}
.legal-nav a {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border-radius:6px;color:var(--muted)}
.legal-nav a:hover {color:var(--ink);background:var(--paper-warm)}
.legal-nav a[aria-current="page"] {color:var(--accent-text);background:var(--accent-soft)}
.legal-download {margin-top:24px;gap:10px;padding:12px 0;min-height:44px;background:none;color:var(--muted);border:0;border-radius:0;white-space:normal;justify-content:flex-start;text-align:left}
.legal-download:hover {background:none;color:var(--accent-text);text-decoration:underline;text-underline-offset:4px}
.legal-download svg {flex:none}
.legal-intro {margin:0 0 32px;color:var(--muted);max-width:68ch}
.legal-intro a {text-decoration:underline;text-underline-offset:3px}
.legal-sections {border-top:1px solid var(--line)}
.legal-section {border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--nav-h) + 24px)}
.legal-section summary {display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;cursor:pointer;list-style:none}
.legal-section summary::-webkit-details-marker {display:none}
.legal-section summary:hover {color:var(--accent-text)}
.legal-section h2 {font-weight:600;letter-spacing:0}
.legal-toggle {position:relative;width:20px;height:20px;flex:none;color:var(--accent)}
.legal-toggle::before,.legal-toggle::after {content:"";position:absolute;background:currentColor;inset:9px 3px;height:1px}
.legal-toggle::after {transform:rotate(90deg);transition:transform 280ms cubic-bezier(.22,1,.36,1)}
.legal-section[open] .legal-toggle::after {transform:none}
.legal-content {padding:0 32px 28px 0;color:var(--muted);overflow-wrap:anywhere;max-width:72ch}
.legal-content p {white-space:pre-line;margin-bottom:20px}
.legal-content p:last-child {margin-bottom:0}
/* Animate native details in both directions, including a sibling closing.
   The inner grid row can shrink to zero without fixed content heights. */
@supports selector(::details-content) {
  .legal-section::details-content {
    display:grid;grid-template-rows:0fr;opacity:0;
    transition:grid-template-rows 320ms cubic-bezier(.22,1,.36,1),opacity 240ms ease,content-visibility 320ms allow-discrete;
  }
  .legal-section[open]::details-content {grid-template-rows:1fr;opacity:1}
  .legal-section .legal-content {min-height:0;overflow:hidden;padding-bottom:0}
  .legal-section .legal-content p:last-child {margin-bottom:28px}
}
.legal-page .nav .navlinks a:hover {text-decoration:none;color:var(--accent-text)}
.fbase a:hover {text-decoration:underline;text-underline-offset:3px}
@layer v9-typography {
  body.legal-page .legal-section h2 {font-size:var(--type-body)!important;font-family:var(--font-sans)!important;line-height:1.5!important}
  body.legal-page :where(.legal-back,.legal-date) {font-size:var(--type-small)!important;font-family:var(--font-sans)!important}
}
@media(max-width:900px) {
  .legal-layout {grid-template-columns:200px minmax(0,1fr);gap:40px}
}
@media(max-width:700px) {
  .legal-main {padding-block:24px 64px}
  .legal-back {margin-bottom:24px}
  .legal-header {min-height:240px;padding:32px 24px;background-position:60% 44%}
  .legal-layout {grid-template-columns:1fr;gap:32px;padding-top:32px}
  .legal-sidebar {position:static}
  .legal-sidebar>.label {display:none}
  .legal-nav {grid-template-columns:1fr 1fr;gap:8px}
  .legal-nav a {padding:12px;gap:8px}
  .legal-download {margin-top:12px}
  .legal-section summary {gap:16px;padding-block:20px}
  .legal-content {padding-right:0}
}
@media(prefers-reduced-motion:reduce) {
  html{scroll-behavior:auto}
  .legal-section::details-content,.legal-toggle::after {transition:none}
}
