:root{
  --terms-bg:#FFFFFF;
  --terms-cream:#FFFDF9;
  --terms-cream-soft:#FDF9F3;
  --terms-text:#4A4238;
  --terms-text-soft:#6F655A;
  --terms-accent:#C5A059;
  --terms-line:rgba(197, 160, 89, 0.34);
  --terms-shadow:0 24px 60px rgba(74, 66, 56, 0.08);
}

*{
  box-sizing:border-box;
}

html,
body{
  margin:0;
  min-height:100%;
}

body{
  background:
    radial-gradient(circle at top left, rgba(197, 160, 89, 0.08), transparent 24%),
    radial-gradient(circle at bottom right, rgba(197, 160, 89, 0.06), transparent 28%),
    var(--terms-bg);
  color:var(--terms-text);
  font-family:"Montserrat", "Inter", sans-serif;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}

button{
  font:inherit;
}

a{
  color:inherit;
  text-decoration:none;
}

.terms-page{
  width:min(100%, 840px);
  margin:0 auto;
  padding:44px 20px 72px;
}

.terms-hero{
  display:grid;
  justify-items:center;
  gap:14px;
  margin-bottom:28px;
  text-align:center;
}

.terms-brand{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:102px;
  height:102px;
  border:1px solid rgba(197, 160, 89, 0.24);
  border-radius:50%;
  background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(253,249,243,0.94));
  box-shadow:var(--terms-shadow);
}

.terms-brand-mark{
  width:68px;
  height:auto;
}

.terms-backlink{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border:1px solid rgba(197, 160, 89, 0.2);
  border-radius:999px;
  background:rgba(255, 255, 255, 0.84);
  box-shadow:0 10px 24px rgba(138, 109, 59, 0.08);
}

.terms-backlink-arrow{
  color:var(--terms-accent);
  font-size:1.2rem;
  line-height:1;
  transform:translateX(-1px);
}

.terms-backlink:hover,
.terms-backlink:focus-visible{
  transform:translateX(-2px);
  border-color:rgba(197, 160, 89, 0.38);
}

.terms-kicker{
  margin:2px 0 0;
  color:var(--terms-accent);
  font-size:0.76rem;
  font-weight:700;
  letter-spacing:0.28em;
  text-transform:uppercase;
}

.terms-hero h1{
  margin:0;
  color:var(--terms-text);
  font-family:"Playfair Display", Georgia, serif;
  font-size:clamp(2.2rem, 5vw, 3.6rem);
  font-weight:700;
  letter-spacing:0.04em;
}

.terms-intro{
  max-width:720px;
  margin:0;
  color:var(--terms-text-soft);
  font-size:1rem;
}

.terms-card{
  padding:34px 34px 30px;
  border:1px solid rgba(197, 160, 89, 0.18);
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,0.99), rgba(255,253,249,0.98));
  box-shadow:var(--terms-shadow);
}

.terms-item{
  padding:22px 0;
  border-top:1px solid var(--terms-line);
}

.terms-item:first-child{
  padding-top:0;
  border-top:none;
}

.terms-item:last-of-type{
  padding-bottom:28px;
}

.terms-item h2{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0;
  color:var(--terms-text);
  font-family:"Playfair Display", Georgia, serif;
  font-size:1.38rem;
  font-weight:600;
  line-height:1.35;
}

.terms-item h2 span{
  color:var(--terms-accent);
  flex:0 0 auto;
}

.terms-item p,
.terms-item ul{
  margin:14px 0 0;
}

.terms-item p,
.terms-item li{
  color:var(--terms-text-soft);
  font-size:0.98rem;
}

.terms-item ul{
  padding-left:20px;
}

.terms-item li + li{
  margin-top:10px;
}

.terms-item strong{
  color:var(--terms-text);
  font-weight:700;
}

.terms-item-emphasis{
  margin:8px -12px;
  padding:24px 12px;
  border-top:1px solid rgba(197, 160, 89, 0.5);
  border-bottom:1px solid rgba(197, 160, 89, 0.5);
  border-radius:18px;
  background:var(--terms-cream-soft);
}

.terms-item-emphasis + .terms-item{
  border-top:none;
}

.terms-actions{
  display:grid;
  justify-items:center;
  gap:16px;
  padding-top:28px;
  border-top:1px solid var(--terms-line);
  text-align:center;
}

.terms-confirm{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:min(100%, 520px);
  min-height:60px;
  padding:18px 28px;
  border:none;
  border-radius:999px;
  background:#C5A059;
  color:#FFFFFF;
  box-shadow:0 16px 36px rgba(197, 160, 89, 0.28);
  cursor:pointer;
  font-size:0.82rem;
  font-weight:800;
  letter-spacing:0.14em;
  text-align:center;
  text-transform:uppercase;
  transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.terms-confirm:hover{
  background:#b8944f;
  box-shadow:0 18px 38px rgba(197, 160, 89, 0.32);
  transform:translateY(-1px);
}

.terms-download-link{
  color:var(--terms-text-soft);
  font-size:0.94rem;
  text-decoration:underline;
  text-underline-offset:4px;
}

.terms-download-link:hover{
  color:var(--terms-accent);
}

@media (max-width: 640px){
  .terms-page{
    padding:28px 20px 48px;
  }

  .terms-brand{
    width:88px;
    height:88px;
  }

  .terms-brand-mark{
    width:58px;
  }

  .terms-card{
    padding:24px 20px 24px;
    border-radius:22px;
  }

  .terms-item{
    padding:20px 0;
  }

  .terms-item h2{
    font-size:1.18rem;
  }

  .terms-item p,
  .terms-item li{
    font-size:0.95rem;
  }

  .terms-item-emphasis{
    margin:8px -6px;
    padding:20px 12px;
  }

  .terms-confirm{
    min-height:58px;
    padding:16px 20px;
    font-size:0.74rem;
    letter-spacing:0.1em;
  }

  .terms-download-link{
    font-size:0.9rem;
  }
}
