.terms-page *,
.terms-page *::before,
.terms-page *::after{
  box-sizing:border-box;
  margin:0;
  padding:0
}

.terms-page{
  --green:#1a7a4a;
  --ink:#0f1a14;
  --cream:#f8faf8;
  --muted:#5f7269;
  --border:#dde8e2;

  font-family:'DM Sans',sans-serif;
  background:var(--cream);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  line-height:1.7;
}

.terms-page nav{
  background:#f8faf8;
  border-bottom:1px solid var(--border);
  padding:0 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:58px
}

.terms-page .logo{
  font-family:'Instrument Serif',serif;
  font-size:1.35rem;
  color:var(--green);
  text-decoration:none
}

.terms-page .logo span{
  color:var(--ink)
}

.terms-page .back{
  font-size:0.85rem;
  color:var(--muted);
  text-decoration:none
}

.terms-page .container{
  max-width:720px;
  margin:0 auto;
  padding:60px 24px
}

.terms-page h1{
  font-family:'Instrument Serif',serif;
  font-size:clamp(1.8rem,5vw,2.4rem);
  letter-spacing:-0.02em;
  margin-bottom:8px
}

.terms-page .date{
  font-size:0.85rem;
  color:var(--muted);
  margin-bottom:40px
}

.terms-page h2{
  font-family:'Instrument Serif',serif;
  font-size:1.25rem;
  margin:36px 0 12px;
  color:var(--ink)
}

.terms-page p{
  margin-bottom:14px;
  font-size:0.95rem;
  color:#2a3d32
}

.terms-page ul{
  margin:0 0 14px 20px;
  font-size:0.95rem;
  color:#2a3d32
}

.terms-page li{
  margin-bottom:6px
}

.terms-page a{
  color:var(--green)
}

.terms-page .notice{
  background:#fff8e6;
  border:1px solid #f0d080;
  border-radius:10px;
  padding:16px 18px;
  margin-bottom:28px;
  font-size:0.88rem;
  color:#7a5c00
}

.terms-page footer{
  background:var(--ink);
  color:#4a6054;
  text-align:center;
  padding:22px 20px;
  font-size:0.78rem
}

.terms-page footer a{
  color:#4a6054
}