/* Shared styling for the secondary pages (privacy, terms, thank-you, 404).
   These previously declared Georgia/system-sans and never loaded the brand
   faces, so the ZENSU wordmark rendered in a different typeface the moment a
   visitor left the homepage. */

@font-face{
  font-family:'Fraunces';
  font-style:normal;
  font-weight:300 600;
  font-display:swap;
  src:url('/fonts/fraunces-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Fraunces';
  font-style:normal;
  font-weight:300 600;
  font-display:swap;
  src:url('/fonts/fraunces-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Hanken Grotesk';
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url('/fonts/hanken-grotesk-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Hanken Grotesk';
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url('/fonts/hanken-grotesk-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root{
  --oyster:#F2EEE6;
  --ink:#11130E;
  --forest:#2A4636;
  --muted:#615847;
  --gold:#C8AA72;
  --line-dark:rgba(24,22,15,.13);
  --serif:"Fraunces", Georgia, "Times New Roman", serif;
  --sans:"Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--oyster); color:var(--ink);
  font-family:var(--sans); font-optical-sizing:auto; line-height:1.68;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
a:focus-visible,.button:focus-visible,.nav:focus-visible,.brand:focus-visible{
  outline:2px solid var(--forest); outline-offset:3px;
}

.skip-link{
  position:absolute; left:.75rem; top:-100%; z-index:100;
  background:var(--ink); color:var(--oyster); text-decoration:none;
  padding:.85rem 1.1rem; font-size:.72rem; letter-spacing:.2em;
  text-transform:uppercase; font-weight:700; border-radius:999px;
}
.skip-link:focus{top:.75rem}

.shell{min-height:100vh; display:flex; flex-direction:column}
.top{
  padding:1.5rem clamp(1.2rem,5vw,4rem); display:flex; justify-content:space-between;
  gap:1rem; align-items:center; border-bottom:1px solid var(--line-dark);
}
.brand{
  font-family:var(--serif); letter-spacing:.38em; text-transform:uppercase;
  text-decoration:none; font-weight:400;
}
.nav{
  display:inline-flex; align-items:center; min-height:44px;
  font-size:.72rem; letter-spacing:.18em; text-transform:uppercase;
  text-decoration:none; border:1px solid rgba(24,22,15,.18);
  border-radius:999px; padding:.7rem 1rem;
  transition:background .25s ease, border-color .25s ease;
}
.nav:hover{background:rgba(42,70,54,.06); border-color:rgba(42,70,54,.28)}

.main{
  width:min(940px,100%); margin:0 auto;
  padding:clamp(4rem,9vw,7rem) clamp(1.2rem,5vw,4rem); flex:1;
}
.eyebrow{
  font-size:.72rem; letter-spacing:.26em; text-transform:uppercase;
  color:var(--forest); font-weight:700; margin-bottom:1rem;
}
.card{
  background:rgba(255,255,255,.38); border:1px solid var(--line-dark);
  padding:clamp(1.4rem,4vw,2.6rem); box-shadow:0 24px 70px rgba(24,22,15,.07);
}
h1{
  font-family:var(--serif); font-weight:400; letter-spacing:-.03em; line-height:1;
  font-size:clamp(2.55rem,7vw,5.6rem); margin:0 0 1.2rem;
}
h2{
  font-family:var(--serif); font-weight:400; font-size:1.8rem;
  line-height:1.18; margin:2.25rem 0 .6rem; letter-spacing:-.02em;
}
p,li{color:var(--muted)}
ul{padding-left:1.2rem}
li{margin-bottom:.3rem}
strong{color:var(--ink)}

.notice{
  margin:1.4rem 0; padding:1rem 1.1rem;
  border-left:3px solid var(--gold); background:rgba(200,170,114,.08);
}
.notice p{margin:0}

.button{
  display:inline-flex; align-items:center; min-height:48px; margin-top:1.1rem;
  background:var(--ink); color:var(--oyster); text-decoration:none;
  border-radius:999px; padding:.92rem 1.15rem;
  font-size:.72rem; letter-spacing:.18em; text-transform:uppercase;
  transition:background .25s ease;
}
.button:hover{background:var(--forest)}
.button + .button{margin-left:.6rem}

.footer{
  padding:2rem clamp(1.2rem,5vw,4rem); font-size:.78rem;
  /* was rgba(24,22,15,.58), which measured 4.36:1 and failed AA */
  color:rgba(24,22,15,.72);
  border-top:1px solid var(--line-dark);
  display:flex; gap:1.5rem; flex-wrap:wrap; align-items:center;
}
.footer a{text-decoration:none; border-bottom:1px solid rgba(24,22,15,.25); padding:.32rem 0}

@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important; transition:none!important; scroll-behavior:auto!important}
}
