/* Savelaine M124.3 — legal page only. Uses the production brand palette and layout tokens. */
.privacy-hero { padding-block: clamp(2.5rem, 6vw, 5.5rem) 1.1rem; }
.privacy-hero .hero-copy { max-width: 58rem; }
.privacy-hero h1 { max-width: 50rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.35rem, 5.5vw, 4.45rem); line-height: 1.09; letter-spacing: -.035em; margin: .8rem 0 0; }
.privacy-page { display: grid; grid-template-columns: minmax(13.75rem, 16rem) minmax(0,1fr); align-items: start; gap: clamp(2rem, 5vw, 5rem); padding-top: 1.2rem; padding-bottom: 5rem; }
.privacy-toc { position: sticky; top: 1rem; padding: 1.35rem; background: var(--card, rgba(255,255,255,.64)); border: 1px solid var(--line, rgba(37,31,26,.12)); border-radius: 1rem; max-height: calc(100vh - 2rem); overflow-y: auto; }
.privacy-toc-title { font-weight: 700; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: var(--cocoa, #6e5a49); margin: 0 0 .85rem; }
.privacy-toc a { display: block; color: var(--cocoa, #6e5a49); padding: .35rem .15rem; font-size: .875rem; line-height: 1.48; text-decoration: none; border-bottom: 1px solid var(--line, rgba(37,31,26,.12)); }
.privacy-toc a:hover, .privacy-toc a:focus-visible { color: var(--ink, #251f1a); text-decoration: underline; text-underline-offset: .2em; }
.privacy-toc a:last-child { border-bottom: 0; }
.privacy-article { min-width: 0; max-width: 53rem; color: var(--ink, #251f1a); line-height: 1.75; font-size: 1rem; }
.privacy-article p { margin: 0 0 1.15rem; }
.privacy-article > p:first-child { color: var(--cocoa, #6e5a49); padding: 1rem 1.25rem; margin-bottom: 2rem; border-left: 3px solid var(--gold, #b98e48); background: rgba(255,255,255,.48); border-radius: 0 .5rem .5rem 0; }
.privacy-article h2 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.45rem, 2.9vw, 1.9rem); font-weight: 500; line-height: 1.25; letter-spacing: -.02em; scroll-margin-top: 1.5rem; margin: 2.6rem 0 1rem; padding-bottom: .55rem; border-bottom: 1px solid var(--line, rgba(37,31,26,.12)); }
.privacy-article h2:first-of-type { margin-top: .35rem; }
.privacy-article a { color: #704e2d; text-decoration: underline; text-underline-offset: .22em; overflow-wrap: anywhere; }
.privacy-article a:hover { color: var(--ink, #251f1a); }
.privacy-article a:focus-visible, .privacy-toc a:focus-visible { outline: 3px solid var(--gold, #b98e48); outline-offset: 3px; }
.privacy-article ul, .privacy-article ol { margin: .25rem 0 1.3rem; padding-left: 1.45rem; }
.privacy-article li { padding-left: .2rem; margin: .3rem 0; }
.privacy-article strong { font-weight: 650; }
.privacy-table-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; margin: 1.2rem 0 1.7rem; border: 1px solid var(--line, rgba(37,31,26,.12)); border-radius: .8rem; background: rgba(255,255,255,.58); }
.privacy-table-wrap:focus-visible { outline: 3px solid var(--gold, #b98e48); outline-offset: 2px; }
.privacy-article table { width: 100%; min-width: 39rem; border-collapse: collapse; text-align: left; line-height: 1.55; font-size: .89rem; }
.privacy-article th, .privacy-article td { padding: .8rem .95rem; vertical-align: top; border-bottom: 1px solid var(--line, rgba(37,31,26,.12)); }
.privacy-article th { font-weight: 700; background: var(--cream, #f7f0e6); white-space: nowrap; }
.privacy-article tr:last-child td { border-bottom: 0; }
.privacy-article tbody tr:nth-child(even) { background: rgba(251,247,240,.6); }
@media (max-width: 850px) {
  .privacy-page { display: block; padding-bottom: 3rem; }
  .privacy-toc { position: static; max-height: none; margin-bottom: 2rem; }
  .privacy-toc a { padding-block: .45rem; }
  .privacy-article { font-size: .98rem; }
}
@media (max-width: 480px) {
  .privacy-hero { padding-top: 2rem; }
  .privacy-page { padding-top: .4rem; }
  .privacy-article table { min-width: 36rem; }
  .privacy-article th, .privacy-article td { padding: .65rem .75rem; }
}
