:root{
  --paper:#EFE9DA;
  --paper-soft:#F6F2E7;
  --ink:#20261F;
  --ink-soft:#4C5449;
  --trail:#3B6B4C;
  --trail-deep:#284A34;
  --blaze:#C05B2E;
  --sun:#E8AE49;
  --line:#D9CFB4;
  --maxw:760px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'IBM Plex Sans', sans-serif;
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important;}
}
a{color:inherit;}
h1,h2,h3{
  font-family:'Fraunces', serif;
  font-weight:600;
  margin:0;
  color:var(--ink);
  letter-spacing:-0.01em;
}

/* ---------- nav ---------- */
header.nav{
  position:sticky; top:0; z-index:20;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 28px;
  background:rgba(239,233,218,0.88);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.wordmark{
  display:flex; align-items:center; gap:8px;
  font-family:'Fraunces', serif; font-weight:600; font-size:20px;
  text-decoration:none; color:var(--ink);
}
.wordmark .dot{
  width:9px; height:9px; border-radius:50%; background:var(--blaze);
  display:inline-block;
}
nav.links{display:flex; gap:24px; font-size:14.5px;}
nav.links a{text-decoration:none; color:var(--ink-soft); border-bottom:1px solid transparent;}
nav.links a.active{color:var(--trail-deep); border-bottom-color:var(--trail-deep);}
nav.links a:hover, nav.links a:focus-visible{color:var(--trail-deep); border-bottom-color:var(--trail-deep);}
nav.links a:focus-visible{outline:2px solid var(--trail-deep); outline-offset:3px;}

/* ---------- content pages (FAQ / legal) ---------- */
.page{
  max-width:var(--maxw); margin:0 auto; padding:56px 28px 40px;
}
.page .eyebrow{
  color:var(--blaze); font-size:14px; margin-bottom:10px;
}
.page h1{
  font-size:clamp(28px, 4vw, 40px);
  margin-bottom:12px;
}
.page .dek{
  color:var(--ink-soft); margin-bottom:8px;
}
.updated{
  color:var(--ink-soft); font-size:13.5px; margin-bottom:36px;
  padding-bottom:24px; border-bottom:1px solid var(--line);
}

/* FAQ accordion */
.faq-item{
  border-bottom:1px solid var(--line);
}
.faq-item summary{
  list-style:none; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:20px 0;
  font-family:'Fraunces', serif; font-weight:500; font-size:18px;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .plus{
  flex:none; width:22px; height:22px; border-radius:50%;
  border:1.5px solid var(--trail); position:relative;
}
.faq-item summary .plus::before,
.faq-item summary .plus::after{
  content:''; position:absolute; background:var(--trail-deep);
  top:50%; left:50%; transform:translate(-50%,-50%);
}
.faq-item summary .plus::before{width:10px; height:2px;}
.faq-item summary .plus::after{width:2px; height:10px;}
.faq-item[open] summary .plus::after{display:none;}
.faq-item .answer{
  padding:0 0 22px; color:var(--ink-soft); max-width:64ch;
}
.faq-item .answer p{margin:0 0 14px;}
.faq-item .answer p:last-child{margin-bottom:0;}

/* Legal text (EULA / Privacy) */
.legal section{margin-bottom:30px;}
.legal h2{font-size:20px; margin-bottom:10px;}
.legal p{color:var(--ink-soft); margin:0 0 14px; max-width:66ch;}
.legal p:last-child{margin-bottom:0;}
.legal details{
  margin-top:8px; border-top:1px solid var(--line); padding-top:18px;
}
.legal details summary{
  cursor:pointer; font-family:'Fraunces', serif; font-weight:500; color:var(--ink);
}

/* ---------- footer ---------- */
footer{
  max-width:1040px; margin:0 auto; padding:40px 28px 60px;
  display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:20px;
  color:var(--ink-soft); font-size:13.5px;
}
footer .flinks{display:flex; gap:18px;}
footer a{text-decoration:none;}
footer a:hover{color:var(--trail-deep);}

@media (max-width: 760px){
  nav.links{gap:16px; font-size:13px;}
  header.nav{padding:14px 18px;}
  .page{padding-top:40px;}
}
