@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Jost:wght@300;400;500;600;700&display=swap');

:root{
  --maroon-950:#3d1220;
  --maroon-900:#4f1826;
  --maroon-800:#6b2035;
  --gold-700:#a67c2e;
  --gold-600:#c89b3c;
  --gold-500:#d9b25e;
  --gold-300:#ecd8a3;
  --cream-50:#fdfbf7;
  --cream-100:#f8f2e8;
  --cream-200:#f0e6d4;
  --ink:#2a1f22;
  --ink-soft:#5c4d51;
  --line:#e6dbc8;
  --bg:var(--cream-50);
  --surface:#ffffff;
  --shadow:0 20px 50px -20px rgba(61,18,32,0.25);
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg); color:var(--ink);
  font-family:'Jost',sans-serif; font-weight:400; line-height:1.7;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif; font-weight:600; color:var(--maroon-900); letter-spacing:0.01em;}
a{color:inherit; text-decoration:none;}
.container{max-width:900px; margin:0 auto; padding:0 28px;}

/* ---------- Header ---------- */
header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(253,251,247,0.92); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex; align-items:center; justify-content:space-between; padding:18px 0; max-width:1180px; margin:0 auto;}
.nav-logo{display:flex; align-items:center;}
.nav-logo img{height:38px; width:auto; display:block;}
.nav-back{
  display:inline-flex; align-items:center; gap:8px; font-size:0.78rem; letter-spacing:0.14em;
  text-transform:uppercase; font-weight:600; color:var(--maroon-800);
  border:1px solid var(--maroon-800); border-radius:2px; padding:11px 22px; transition:all .3s ease;
}
.nav-back:hover{background:var(--maroon-900); color:var(--cream-50); border-color:var(--maroon-900);}

/* ---------- Page head ---------- */
.legal-head{
  padding:170px 0 60px;
  background:
    radial-gradient(ellipse 800px 400px at 85% -20%, rgba(200,155,60,.14), transparent 60%),
    var(--cream-50);
  border-bottom:1px solid var(--line);
}
.legal-head .eyebrow{
  font-size:0.72rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold-700);
  font-weight:600; display:inline-flex; align-items:center; gap:12px;
}
.legal-head .eyebrow::before{content:""; width:28px; height:1px; background:var(--gold-600);}
.legal-head h1{font-size:clamp(2.2rem,4vw,3.2rem); line-height:1.1; margin:18px 0 14px; color:var(--maroon-950);}
.legal-head p.meta{font-size:0.9rem; color:var(--ink-soft);}

/* ---------- Content ---------- */
.legal-body{padding:64px 0 100px;}
.legal-body section{margin-bottom:44px;}
.legal-body h2{
  font-size:1.6rem; margin-bottom:16px; padding-bottom:10px;
  border-bottom:2px solid var(--gold-600); display:inline-block;
}
.legal-body h3{font-size:1.15rem; margin:24px 0 10px; color:var(--maroon-800); font-family:'Jost',sans-serif; font-weight:600;}
.legal-body p{margin-bottom:14px; color:var(--ink-soft); font-size:1rem;}
.legal-body ul,.legal-body ol{margin:0 0 16px 22px; color:var(--ink-soft); font-size:1rem;}
.legal-body li{margin-bottom:8px;}
.legal-body a{color:var(--maroon-800); border-bottom:1px solid var(--gold-600);}
.legal-body a:hover{color:var(--gold-700);}
.legal-body strong{color:var(--ink);}
.legal-body .callout{
  background:var(--cream-100); border:1px solid var(--line); border-left:3px solid var(--gold-600);
  border-radius:4px; padding:18px 22px; margin:18px 0;
}
.legal-body table{width:100%; border-collapse:collapse; margin:16px 0; font-size:0.92rem;}
.legal-body th,.legal-body td{border:1px solid var(--line); padding:12px 14px; text-align:left; vertical-align:top;}
.legal-body th{background:var(--cream-100); color:var(--maroon-900); font-weight:600;}
.legal-body td{color:var(--ink-soft);}
.legal-toc{
  background:var(--surface); border:1px solid var(--line); border-radius:8px;
  padding:24px 28px; margin-bottom:48px; box-shadow:var(--shadow);
}
.legal-toc h4{font-family:'Jost',sans-serif; font-size:0.72rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-700); margin-bottom:14px;}
.legal-toc ol{margin:0 0 0 20px;}
.legal-toc li{margin-bottom:7px;}
.legal-toc a{color:var(--maroon-800); font-size:0.95rem; border:none;}
.legal-toc a:hover{color:var(--gold-700);}

/* ---------- Footer ---------- */
footer{background:var(--maroon-950); color:rgba(248,242,232,0.7); padding:56px 0 28px;}
.footer-in{max-width:1180px; margin:0 auto; padding:0 28px;}
.footer-row{display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; padding-bottom:24px; border-bottom:1px solid rgba(217,178,94,0.18);}
.footer-row .brand{display:inline-flex; align-items:center;}
.footer-row .brand img{height:32px; width:auto; display:block; filter:brightness(0) invert(1);}
.footer-links{display:flex; gap:22px; flex-wrap:wrap;}
.footer-links a{font-size:0.84rem; color:rgba(248,242,232,0.7); transition:color .3s ease;}
.footer-links a:hover{color:var(--gold-500);}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:22px; font-size:0.76rem; color:rgba(248,242,232,0.5); flex-wrap:wrap; gap:10px;}

@media (max-width:640px){
  .legal-head{padding:140px 0 48px;}
  .nav-logo{font-size:1.3rem;}
  .nav-back{padding:9px 16px; font-size:0.7rem;}
  .legal-body{padding:48px 0 72px;}
  .legal-body table{display:block; overflow-x:auto; white-space:nowrap;}
}
