:root{
  --bg:#F1E1C7; --paper:#F7ECD6; --ink:#27211D; --ink-soft:#6E6250;
  --line:#D9C8A8; --brass:#A6825A;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Jost",-apple-system,"Segoe UI",sans-serif;
  --wrap:1180px; --pad:clamp(1.25rem,5vw,4.5rem);
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{ background:var(--bg); color:var(--ink); font-family:var(--sans);
  font-weight:300; line-height:1.7; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
.wrap{ max-width:var(--wrap); margin-inline:auto; padding-inline:var(--pad); }
a{ color:inherit; text-decoration:none; }
img{ display:block; max-width:100%; }
:focus-visible{ outline:1.5px solid var(--brass); outline-offset:4px; }
.eyebrow{ font-family:var(--sans); font-size:.68rem; font-weight:400;
  letter-spacing:.34em; text-transform:uppercase; color:var(--ink-soft); }
.display{ font-family:var(--serif); font-weight:300; line-height:1.05; letter-spacing:.005em; }

/* header */
.site-header{ position:fixed; inset:0 0 auto 0; z-index:60; background:transparent;
  transition:background .5s ease, box-shadow .5s ease; }
.site-header.is-scrolled{ background:color-mix(in srgb, var(--bg) 90%, transparent);
  backdrop-filter:blur(8px); box-shadow:0 1px 0 var(--line); }
.nav{ display:flex; align-items:center; justify-content:space-between; height:74px; }
.nav-logo{ height:34px; width:auto; }
.nav-links{ display:flex; gap:clamp(1.5rem,3vw,2.75rem); list-style:none; }
.nav-links a{ font-size:.72rem; letter-spacing:.24em; text-transform:uppercase;
  position:relative; padding-block:.4rem; }
.nav-links a::after{ content:""; position:absolute; left:0; bottom:0; height:1px; width:0;
  background:var(--brass); transition:width .45s cubic-bezier(.2,.7,.2,1); }
.nav-links a:hover::after, .nav-links a:focus-visible::after{ width:100%; }
.menu-btn{ display:none; background:none; border:0; cursor:pointer; font-family:var(--sans);
  font-size:.72rem; letter-spacing:.24em; text-transform:uppercase; color:var(--ink); }

/* legal content */
.legal{ padding-top:clamp(8rem,16vh,11rem); padding-bottom:clamp(4rem,10vh,8rem); }
.legal .eyebrow{ margin-bottom:1.4rem; }
.legal-title{ font-size:clamp(2.4rem,7vw,4.5rem); margin-bottom:clamp(2rem,5vh,3.25rem); }
.legal-body{ max-width:70ch; font-size:1.02rem; color:var(--ink); }
.legal-body p{ margin-bottom:1.2rem; }
.legal-body a{ color:var(--ink); border-bottom:1px solid var(--brass); }
.legal-body a:hover{ color:var(--brass); }
.back-link{ display:inline-block; margin-top:clamp(2.5rem,6vh,4rem);
  font-size:.72rem; letter-spacing:.24em; text-transform:uppercase; color:var(--ink-soft);
  border-bottom:1px solid transparent; padding-bottom:.35rem; transition:border-color .4s ease, color .4s ease; }
.back-link:hover{ color:var(--ink); border-color:var(--brass); }

/* footer */
.site-footer{ border-top:1px solid var(--line); padding-block:2.75rem; }
.foot-row{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap;
  gap:1.25rem 2rem; font-size:.64rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-soft); }
.foot-row img{ height:26px; width:auto; }
.foot-links{ display:flex; gap:1.75rem; }
.foot-links a{ position:relative; }
.foot-links a::after{ content:""; position:absolute; left:0; bottom:-3px; height:1px; width:0;
  background:var(--brass); transition:width .4s ease; }
.foot-links a:hover::after, .foot-links a:focus-visible::after{ width:100%; }
.foot-copy{ margin-top:1.5rem; font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-soft); }

@media(max-width:680px){
  .nav-links{ position:fixed; inset:0; background:var(--bg); z-index:55;
    flex-direction:column; align-items:center; justify-content:center; gap:2.5rem;
    transform:translateY(-100%); transition:transform .55s cubic-bezier(.65,0,.15,1); }
  .nav-links.open{ transform:translateY(0); }
  .nav-links a{ font-size:1rem; letter-spacing:.28em; }
  .menu-btn{ display:block; z-index:60; }
}
@media(prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
