:root {
  --ink:#151412;
  --ivory:#f8f4ed;
  --paper:#eee6dc;
  --champagne:#c6a87e;
  --muted:#655c53;
  --line:rgba(21,20,18,.14);
  --serif:"Libre Baskerville",Georgia,serif;
  --sans:"Work Sans",Arial,sans-serif;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); -webkit-font-smoothing:antialiased; }
a { color:inherit; }
img { display:block; max-width:100%; }
.skip-link:not(:focus) { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.skip-link:focus { position:fixed; z-index:100; top:1rem; left:1rem; padding:.8rem 1rem; border-radius:999px; background:var(--ink); color:white; }

.legal-header {
  position:sticky;
  z-index:20;
  top:1rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:min(1180px,calc(100% - 2rem));
  min-height:70px;
  margin:1rem auto 0;
  padding:.65rem .8rem .65rem 1rem;
  border:1px solid rgba(255,255,255,.82);
  border-radius:999px;
  background:linear-gradient(130deg,rgba(255,255,255,.72),rgba(255,255,255,.3));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 20px 55px rgba(55,40,25,.1);
}
.brand { display:flex; align-items:center; gap:.7rem; text-decoration:none; }
.brand-mark { width:46px; height:46px; border-radius:16px; object-fit:cover; }
.brand-logo { width:auto; height:50px; max-width:150px; object-fit:contain; }
.home-link { padding:.8rem 1rem; border-radius:999px; background:rgba(255,255,255,.58); font-size:.82rem; font-weight:600; text-decoration:none; }
.home-link:hover,.home-link:focus-visible { outline:none; box-shadow:0 0 0 1px rgba(198,168,126,.65),0 0 28px rgba(198,168,126,.55); }

.legal-shell { width:min(1180px,calc(100% - 2rem)); margin:0 auto; padding:clamp(4rem,8vw,8rem) 0 5rem; }
.legal-hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(260px,.65fr); gap:2rem; align-items:end; padding:clamp(2rem,5vw,4.5rem); border-radius:4.5rem 2rem 4.5rem 2rem; background:var(--ink); color:var(--ivory); box-shadow:0 28px 75px rgba(55,40,25,.16); }
.eyebrow { margin:0 0 1rem; color:var(--champagne); font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,h3 { font-family:var(--serif); font-weight:400; letter-spacing:-.04em; line-height:1.08; }
h1 { max-width:820px; margin:0; font-size:clamp(3rem,7vw,7rem); }
.legal-summary { color:#ded4c7; line-height:1.7; }
.legal-summary strong { display:block; margin-bottom:.7rem; color:white; }
.legal-updated { display:inline-flex; padding:.55rem .8rem; border:1px solid rgba(255,255,255,.25); border-radius:999px; font-size:.72rem; }

.legal-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:clamp(2rem,6vw,6rem); margin-top:clamp(3rem,7vw,6rem); }
.legal-nav { position:sticky; top:7rem; align-self:start; padding:1.5rem; border:1px solid rgba(255,255,255,.72); border-radius:2rem; background:rgba(255,255,255,.38); box-shadow:inset 0 1px 0 rgba(255,255,255,.9); }
.legal-nav strong { display:block; margin-bottom:1rem; font-family:var(--serif); }
.legal-nav a { display:block; padding:.55rem 0; color:var(--muted); font-size:.78rem; text-decoration:none; }
.legal-nav a:hover,.legal-nav a:focus-visible { color:var(--ink); text-decoration:underline; }
.legal-content { min-width:0; }
.legal-content section { padding:0 0 2.2rem; margin-bottom:2.2rem; border-bottom:1px solid var(--line); }
.legal-content section:last-child { border-bottom:0; }
.legal-content h2 { margin:0 0 1rem; font-size:clamp(1.7rem,3vw,2.7rem); }
.legal-content h3 { margin:1.6rem 0 .7rem; font-size:1.18rem; }
.legal-content p,.legal-content li { color:#49423c; font-size:.96rem; line-height:1.75; }
.legal-content ul,.legal-content ol { padding-left:1.25rem; }
.legal-content li + li { margin-top:.55rem; }
.legal-content .warning { padding:1.4rem; border:1px solid rgba(198,168,126,.5); border-radius:1.5rem; background:rgba(255,255,255,.45); color:var(--ink); }
.legal-content .warning strong { color:#8b5f2a; }
.legal-contact { padding:1.5rem; border-radius:1.5rem; background:var(--ink); color:var(--ivory); }
.legal-contact p,.legal-contact a { color:var(--ivory); }

.legal-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem 2rem; width:min(1180px,calc(100% - 2rem)); margin:0 auto; padding:2rem 0 3rem; border-top:1px solid var(--line); color:var(--muted); font-size:.76rem; }
.legal-footer nav { display:flex; flex-wrap:wrap; gap:.65rem 1.2rem; }
.legal-footer a { text-decoration:none; }
.legal-footer a:hover,.legal-footer a:focus-visible { color:var(--ink); text-decoration:underline; }

@media (max-width:800px) {
  .legal-hero,.legal-layout { grid-template-columns:1fr; }
  .legal-hero { border-radius:3rem 1.5rem 3rem 1.5rem; }
  .legal-nav { position:static; }
}
@media (max-width:560px) {
  .legal-header { top:.6rem; min-height:58px; }
  .brand-mark { width:40px; height:40px; border-radius:13px; }
  .brand-logo { height:42px; max-width:122px; }
  .home-link { width:42px; height:42px; padding:0; display:grid; place-items:center; overflow:hidden; font-size:0; }
  .home-link span { font-size:1rem; }
  .legal-shell { width:min(100% - 1.2rem,1180px); padding-top:2.5rem; }
  .legal-hero { padding:2.3rem 1.3rem; }
}
