/* Legal documents (privacy.html, terms.html) and the footer's legal links.
   Uses the shared tokens from styles.css; every page rule is scoped to .legal-page. */

/* Footer legal links (shared with index.html) */
.footer-bottom{align-items:center}
.footer-legal{display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px}
.footer-legal a{display:inline-flex;align-items:center;min-height:28px;color:var(--muted);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:color .2s,text-decoration-color .2s}
.footer-legal a:hover,.footer-legal a[aria-current=page]{color:var(--wine);text-decoration-color:currentColor}

/* Page frame */
.legal-page{--legal-text:#463c37}
.legal-page main{display:block}

/* Introduction */
.legal-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px 8%;align-items:end;max-width:1800px;margin:0 auto;padding:96px var(--page-gutter) 72px}
.legal-hero h1{font-size:clamp(52px,6.2vw,100px);line-height:1.02;letter-spacing:-3.4px;margin-top:26px}
.legal-hero h1 em{display:inline-block}
.legal-lead{font-size:17px;line-height:1.75;color:var(--muted);max-width:540px}
.legal-meta{display:grid;grid-template-columns:auto 1fr;gap:8px 22px;margin:28px 0 0;padding:22px 0 0;border-top:1px solid var(--line);font-size:14px;line-height:1.5;max-width:540px}
.legal-meta dt{color:var(--muted)}
.legal-meta dd{margin:0;color:var(--ink)}
.legal-switch{display:inline-flex;gap:4px;margin-top:30px;padding:5px;background:#e4ddd5;border-radius:25px;max-width:100%}
.legal-switch a{display:inline-flex;align-items:center;min-height:40px;padding:8px 20px;border-radius:22px;font-size:13px;white-space:nowrap;transition:background .2s,color .2s}
.legal-switch a:hover{color:var(--wine)}
.legal-switch a[aria-current=page]{background:var(--cream);color:var(--wine);box-shadow:0 2px 5px #33271d0d}

/* The short version */
.legal-summary{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:72px var(--page-gutter)}
.legal-summary-inner{max-width:1800px;margin:0 auto}
.legal-summary h2{font-size:clamp(34px,3.4vw,52px);letter-spacing:-1.6px;margin-top:18px}
.legal-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 36px;margin:44px 0 0;padding:0;list-style:none}
.legal-summary-grid li{border-top:1px solid #cfc4bb;padding-top:24px}
.legal-summary-grid li>span{display:block;font-size:12px;letter-spacing:2px;color:var(--wine)}
.legal-summary-grid h3{font-size:24px;letter-spacing:-.5px;margin:14px 0 10px}
.legal-summary-grid p{font-size:15px;line-height:1.7;color:var(--muted)}

/* Contents and document */
.legal-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:0 8%;max-width:1800px;margin:0 auto;padding:88px var(--page-gutter) 110px;align-items:start}
.legal-toc{position:sticky;top:28px;max-height:calc(100vh - 56px);overflow:auto;overscroll-behavior:contain;padding-right:6px}
.legal-toc summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 16px;font-size:11px;font-weight:500;letter-spacing:2px;line-height:1.5;text-transform:uppercase;cursor:default}
.legal-toc summary .icon{display:none;width:20px;height:20px;color:var(--wine);transition:transform .2s}
.legal-toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.legal-toc li{counter-increment:toc;border-top:1px solid var(--line)}
.legal-toc li:last-child{border-bottom:1px solid var(--line)}
.legal-toc a{display:flex;gap:14px;align-items:baseline;padding:10px 0;font-size:14px;line-height:1.45;color:var(--muted);transition:color .2s}
.legal-toc a:before{content:counter(toc,decimal-leading-zero);flex:0 0 22px;font-size:11px;letter-spacing:1px;color:#a39189}
.legal-toc a:hover,.legal-toc a[aria-current]{color:var(--wine)}
.legal-toc a[aria-current]:before{color:var(--wine)}

.legal-article{max-width:780px;min-width:0;color:var(--legal-text)}
.legal-section{padding-bottom:56px;margin-bottom:56px;border-bottom:1px solid var(--line)}
.legal-section:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}
.legal-num{display:block;font-size:12px;letter-spacing:2px;color:var(--wine);margin-bottom:16px}
.legal-section h2{font-size:clamp(30px,3vw,42px);line-height:1.14;letter-spacing:-1.3px;margin-bottom:24px;color:var(--ink)}
.legal-section h3{font-size:23px;letter-spacing:-.4px;line-height:1.3;margin:34px 0 12px;color:var(--ink)}
.legal-section p,.legal-section li{font-size:16px;line-height:1.75}
.legal-section ul,.legal-section ol{margin:0;padding-left:22px}
.legal-section>:is(p,ul,ol,div)+:is(p,ul,ol,div){margin-top:18px}
.legal-section>.legal-note,.legal-section>.legal-table-wrap,.legal-section>.legal-table-wrap+p{margin-top:26px}
.legal-section li+li{margin-top:10px}
.legal-section li::marker{color:var(--wine)}
.legal-section strong{font-weight:600;color:var(--ink)}
.legal-article a:not(.text-button){color:var(--wine);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.legal-article a:not(.text-button):hover{text-decoration-thickness:2px}
.legal-caps{text-transform:uppercase;letter-spacing:.2px;font-size:15px}

.legal-note{margin:26px 0 0;padding:20px 24px;background:var(--blush);border-left:2px solid var(--wine)}
.legal-note p{font-size:15px}
.legal-note strong{display:block;margin-bottom:4px;font-family:var(--serif);font-size:19px;font-weight:400}

.legal-table-wrap{margin-top:26px}
.legal-table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.6}
.legal-table caption{text-align:left;font-size:14px;color:var(--muted);padding-bottom:14px}
.legal-table thead th{text-align:left;font-size:11px;font-weight:500;letter-spacing:1.6px;text-transform:uppercase;color:var(--ink);padding:0 18px 12px 0;border-bottom:1px solid var(--ink)}
.legal-table tbody th,.legal-table td{text-align:left;vertical-align:top;padding:16px 18px 16px 0;border-bottom:1px solid var(--line)}
.legal-table tbody th{font-family:var(--serif);font-size:18px;font-weight:400;line-height:1.35;color:var(--ink);width:24%}
.legal-table td:last-child{padding-right:0;color:var(--muted)}
.legal-section code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.88em;background:var(--paper);border:1px solid var(--line);border-radius:3px;padding:1px 5px}

.legal-placeholder{display:inline;padding:1px 6px;border:1px dashed #a5793e;border-radius:3px;background:#f6ead2;color:#5e4318;font-family:var(--sans);font-size:.92em;font-style:normal;white-space:normal}

.legal-end{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-top:64px;padding-top:28px;border-top:1px solid var(--line)}
.legal-end p{font-size:14px;color:var(--muted)}
.legal-end .text-button{font-size:13px;gap:12px;color:var(--wine)}
.legal-end .text-button .icon{width:18px;height:18px}

/* Tablet: contents become a disclosure above the document. */
@media(max-width:960px){
.legal-hero{grid-template-columns:1fr;padding-top:72px;padding-bottom:56px;align-items:start}
.legal-hero h1{font-size:clamp(50px,9vw,80px)}
.legal-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 32px}
.legal-layout{grid-template-columns:1fr;padding-top:56px}
.legal-toc{position:static;max-height:none;overflow:visible;padding:0;margin-bottom:56px;border:1px solid var(--line);border-radius:4px;background:#fbfaf7}
.legal-toc summary{min-height:56px;padding:16px 20px;cursor:pointer;list-style:none}
.legal-toc summary::-webkit-details-marker{display:none}
.legal-toc summary .icon{display:block}
.legal-toc details[open] summary{border-bottom:1px solid var(--line)}
.legal-toc details[open] summary .icon{transform:rotate(45deg)}
.legal-toc ol{padding:4px 20px 8px}
.legal-toc li:first-child{border-top:0}
.legal-toc li:last-child{border-bottom:0}
.legal-toc a{padding:12px 0;min-height:44px}
}

@media(max-width:700px){
.legal-table{position:relative}
.legal-table thead{position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.legal-table,.legal-table caption,.legal-table tbody,.legal-table tr,.legal-table tbody th,.legal-table td{display:block;width:100%}
.legal-table tr{padding:18px 0;border-bottom:1px solid var(--line)}
.legal-table tbody tr:first-child{border-top:1px solid var(--ink)}
.legal-table tbody th,.legal-table td{padding:0;border:0}
.legal-table tbody th{margin-bottom:8px}
.legal-table td+td{margin-top:10px}
.legal-table td:before{content:attr(data-label);display:block;font-size:11px;font-weight:500;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink);margin-bottom:2px}
}

@media(max-width:580px){
.legal-hero{padding:52px 24px 44px;gap:28px}
.legal-hero h1{font-size:clamp(46px,13vw,62px);letter-spacing:-2.4px;margin-top:20px}
.legal-lead{font-size:16px}
.legal-meta{grid-template-columns:1fr;gap:2px;font-size:14px}
.legal-meta dd+dt{margin-top:10px}
.legal-switch{display:flex;width:100%}
.legal-switch a{flex:1 1 0;justify-content:center;padding:8px 10px;font-size:12px}
.legal-summary{padding:56px 24px}
.legal-summary h2{font-size:36px}
.legal-summary-grid{grid-template-columns:1fr;gap:28px;margin-top:32px}
.legal-summary-grid h3{font-size:22px}
.legal-layout{padding:40px 24px 80px}
.legal-toc{margin-bottom:44px}
.legal-section{padding-bottom:44px;margin-bottom:44px}
.legal-section h2{font-size:31px;letter-spacing:-1px}
.legal-section h3{font-size:21px;margin-top:28px}
.legal-section p,.legal-section li{font-size:15.5px}
.legal-note{padding:18px}
.legal-end{margin-top:48px}
.footer-legal{gap:4px 20px}
}

@media(prefers-reduced-motion:reduce){
.legal-toc summary .icon,.legal-switch a,.footer-legal a{transition:none}
}

@media print{
.legal-page .site-header,.legal-page .mobile-nav,.legal-page .skip-link,.legal-switch,.legal-toc,.legal-end,.legal-page footer{display:none!important}
.legal-hero,.legal-summary,.legal-layout{padding:24px 0;display:block;background:none;border:0}
.legal-summary-grid{display:block}
.legal-summary-grid li{break-inside:avoid;margin-top:16px}
.legal-section{break-inside:auto;padding-bottom:24px;margin-bottom:24px}
.legal-section h2,.legal-section h3{break-after:avoid}
.legal-article a:not(.text-button){color:inherit}
.legal-page .intro{animation:none!important}
}
