:root {
  --clay: #C0563A;
  --clay-d: #9E4430;
  --clay-bg: rgba(192,86,58,.10);
  --cream: #F7F3EC;
  --cream-d: #EDE8DF;
  --ink: #1C1714;
  --ink-s: #6B5F56;
  --ink-f: #A8998F;
  --off: #FDFAF6;
  --green: #2D7A5B;
  --serif: 'Newsreader', Georgia, serif;
  --sans: 'DM Sans', system-ui, sans-serif;
  --mw: 1160px;
  --nh: 68px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nh) + 18px)}
body.legal-page{
  font-family:var(--sans);
  background:var(--off);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
  min-height:100vh;
}
body.legal-page::before{
  content:'';
  position:fixed;
  top:-160px;
  right:-140px;
  width:520px;
  height:520px;
  background:radial-gradient(circle,rgba(192,86,58,.08) 0%,transparent 68%);
  pointer-events:none;
  z-index:0;
}
a{color:inherit}

.page-wrap{position:relative;z-index:1}

nav{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:100;
  height:var(--nh);
  display:flex;
  align-items:center;
  padding:0 48px;
  background:rgba(253,250,246,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(28,23,20,.18);
  box-shadow:0 1px 0 rgba(28,23,20,.12),0 12px 28px rgba(28,23,20,.06);
  transition:background .4s,box-shadow .4s,color .4s,border-color .4s;
}
nav.sc{
  background:rgba(253,250,246,.97);
  box-shadow:0 1px 0 rgba(28,23,20,.16),0 16px 34px rgba(28,23,20,.10);
}
.ni{max-width:var(--mw);width:100%;margin:0 auto;display:flex;align-items:center;gap:24px}
.nl{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:-.02em;color:var(--ink);text-decoration:none;transition:color .3s}
.nl-base{color:currentColor;transition:color .3s}
.nl em{color:var(--clay);font-style:italic}
.nav-links{display:flex;align-items:center;gap:28px;margin-left:auto}
.nav-link{position:relative;font-size:14px;font-weight:500;letter-spacing:-.01em;color:var(--ink-s);text-decoration:none;transition:color .25s}
.nav-link:hover{color:var(--ink)}
.nav-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}
.btn,.nc{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--clay);
  color:#fff;
  border:none;
  padding:10px 24px;
  border-radius:8px;
  font-family:var(--sans);
  font-size:14px;
  font-weight:500;
  cursor:pointer;
  text-decoration:none;
  transition:background .2s,transform .15s,box-shadow .2s;
  box-shadow:0 4px 18px rgba(192,86,58,.18);
}
.btn:hover,.nc:hover{background:var(--clay-d);transform:translateY(-1px)}
.ghost-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--ink);
  text-decoration:none;
  font-size:15px;
  font-weight:500;
  transition:color .2s,transform .15s;
}
.ghost-link:hover{color:var(--clay);transform:translateX(2px)}
.nav-toggle{
  display:none;
  position:relative;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  padding:0;
  border:none;
  background:transparent;
  cursor:pointer;
}
.nav-toggle span{
  position:absolute;
  display:block;
  width:18px;
  height:2px;
  background:var(--ink);
  border-radius:1px;
  transition:transform .22s ease,opacity .18s ease,background .25s;
}
.nav-toggle span:nth-child(1){transform:translateY(-5px)}
.nav-toggle span:nth-child(2){transform:translateY(0)}
.nav-toggle span:nth-child(3){transform:translateY(5px)}
.nav-toggle.open span:nth-child(1){transform:translateY(0) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(0) rotate(-45deg)}
.nav-overlay{
  position:fixed;
  top:var(--nh);
  left:0;
  right:0;
  bottom:0;
  z-index:95;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:0 0 24px;
  background:rgba(28,23,20,.14);
  backdrop-filter:blur(4px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease,visibility .22s ease;
}
.nav-overlay.open{opacity:1;visibility:visible;pointer-events:auto}
.nav-sheet{
  width:min(100%,var(--mw));
  margin:0 auto;
  background:linear-gradient(180deg,#F5EEE5 0%,#F1E7DB 100%);
  border-top:1px solid rgba(28,23,20,.18);
  border-right:1px solid rgba(28,23,20,.12);
  border-bottom:1px solid rgba(28,23,20,.18);
  border-left:1px solid rgba(28,23,20,.12);
  border-radius:0 0 26px 26px;
  box-shadow:0 22px 40px rgba(28,23,20,.16),0 6px 14px rgba(28,23,20,.08),inset 0 1px 0 rgba(255,255,255,.5);
  overflow:hidden;
  padding:16px 20px 22px;
}
.nav-mobile-links{display:flex;flex-direction:column}
.nav-overlay .nav-link{
  display:block;
  font-family:var(--serif);
  font-size:clamp(22px,5.8vw,27px);
  font-weight:500;
  letter-spacing:-.02em;
  color:var(--ink);
  padding:16px 22px;
  transition:color .2s,background-color .2s;
}
.nav-overlay .nav-link:hover{color:var(--clay)}
.nav-mobile-footer{
  padding-top:18px;
  padding-bottom:calc(env(safe-area-inset-bottom,0px) + 8px);
  border-top:1px solid rgba(28,23,20,.14);
}
.nav-overlay .btn{
  display:block;
  width:100%;
  text-align:center;
  padding:15px;
  border:1px solid rgba(193,103,74,.35);
  border-radius:9999px;
}

.legal-shell{max-width:var(--mw);margin:0 auto;padding:calc(var(--nh) + 64px) 48px 88px}
.legal-hero{display:flex;flex-direction:column;gap:24px;margin-bottom:32px}
.legal-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--clay);
}
.legal-eyebrow::before{content:'';display:block;width:22px;height:1px;background:var(--clay)}
.legal-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:24px;align-items:start}
.legal-hero-copy h1{
  font-family:var(--serif);
  font-size:clamp(44px,6.5vw,72px);
  font-weight:500;
  letter-spacing:-.03em;
  line-height:1.02;
  margin-bottom:18px;
}
.legal-lead{
  max-width:680px;
  font-size:18px;
  font-weight:300;
  color:var(--ink-s);
  line-height:1.75;
}
.legal-hero-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px}
.legal-summary{
  background:linear-gradient(180deg,#fff 0%,#fbf7f2 100%);
  border:1px solid rgba(28,23,20,.10);
  border-radius:24px;
  padding:28px;
  box-shadow:0 8px 24px rgba(28,23,20,.06),0 24px 64px rgba(28,23,20,.10);
}
.legal-summary-label{
  font-size:11px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--clay);
  margin-bottom:12px;
}
.legal-summary-text{
  font-family:var(--serif);
  font-size:28px;
  line-height:1.2;
  letter-spacing:-.03em;
}
.legal-summary-note{
  margin-top:14px;
  font-size:13px;
  color:var(--ink-s);
  line-height:1.7;
}
.legal-tabs{display:flex;gap:10px;flex-wrap:wrap}
.legal-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(28,23,20,.10);
  background:#fff;
  color:var(--ink-s);
  text-decoration:none;
  font-size:13px;
  font-weight:600;
  letter-spacing:.01em;
  transition:border-color .2s,background .2s,color .2s,transform .15s;
}
.legal-tab:hover{color:var(--ink);border-color:rgba(28,23,20,.18);transform:translateY(-1px)}
.legal-tab.is-active{background:var(--clay);border-color:var(--clay);color:#fff;box-shadow:0 10px 24px rgba(192,86,58,.22)}

.legal-content{display:grid;gap:18px}
.legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.legal-card{
  background:#fff;
  border:1px solid rgba(28,23,20,.08);
  border-radius:24px;
  padding:28px;
  box-shadow:0 8px 24px rgba(28,23,20,.05),0 24px 64px rgba(28,23,20,.08);
}
.legal-card--full{grid-column:1 / -1}
.legal-card h2{
  font-family:var(--serif);
  font-size:30px;
  font-weight:500;
  letter-spacing:-.02em;
  margin-bottom:14px;
}
.legal-card h3{
  font-family:var(--serif);
  font-size:22px;
  font-weight:500;
  letter-spacing:-.02em;
  margin:22px 0 10px;
}
.legal-card p,.legal-card li{
  font-size:15px;
  font-weight:300;
  color:var(--ink-s);
  line-height:1.8;
  margin-bottom:12px;
}
.legal-card p:last-child,.legal-card li:last-child{margin-bottom:0}
.legal-card a{color:var(--clay);text-decoration:none}
.legal-card a:hover{text-decoration:underline}
.legal-subhead{
  font-size:12px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--ink);
  margin-top:18px;
}

footer{background:var(--ink);color:#fff;padding:40px 48px}
.fi{max-width:var(--mw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.flo{font-family:var(--serif);font-size:18px;font-weight:500;color:#fff;text-decoration:none;letter-spacing:-.02em}
.flo em{color:var(--clay)}
.flinks{display:flex;gap:24px;flex-wrap:wrap}
.flinks a{color:rgba(255,255,255,.35);text-decoration:none;font-size:13px;transition:color .2s}
.flinks a:hover,.flinks a[aria-current="page"]{color:#fff}
.fcopy{font-size:12px;color:rgba(255,255,255,.22);width:100%;margin-top:6px;line-height:1.6}
.fcopy a{color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s}
.fcopy a:hover{color:#fff}

@media(max-width:980px){
  .nav-links{gap:18px}
  .nav-link{font-size:13px}
  .legal-hero-grid{grid-template-columns:1fr}
}

@media(max-width:768px){
  nav{padding:0 20px}
  .ni{justify-content:space-between}
  .nav-links{display:none}
  .nav-actions{margin-left:auto}
  .nc{display:none}
  .nav-toggle{display:flex}
  .legal-shell{padding:calc(var(--nh) + 44px) 20px 72px}
  .legal-hero-copy h1{font-size:clamp(40px,12vw,58px)}
  .legal-lead{font-size:16px}
  .legal-hero-actions{gap:12px}
  .legal-grid{grid-template-columns:1fr}
  .legal-card{padding:22px}
  .legal-card h2{font-size:26px}
  .legal-summary{padding:24px}
  .legal-summary-text{font-size:24px}
  footer{padding:32px 20px}
}
