.terms-page { background: #2e2428 url("../../hspring.png") center / cover fixed no-repeat; }
.terms-page::before { background: rgb(43 28 33 / 42%); content: ""; inset: 0; pointer-events: none; position: fixed; z-index: -1; }
.terms-page .site-header { background: rgb(255 250 247 / 88%); }
.terms-main { padding: clamp(3rem, 7vw, 6rem) 0; }
.terms-document { background: rgb(255 253 251 / 94%); box-shadow: 0 22px 70px rgb(37 24 29 / 28%); max-width: 900px; padding: clamp(2rem, 6vw, 5rem); backdrop-filter: blur(10px); }
.terms-introduction { border-bottom: 1px solid var(--color-line); margin-bottom: 2.75rem; padding-bottom: 2.5rem; }
.terms-introduction h1 { font-size: clamp(3rem, 6vw, 5.3rem); margin-bottom: 1.4rem; }
.terms-introduction > p:not(.eyebrow) { color: var(--color-muted); font-size: 1.05rem; margin-bottom: 0; max-width: 620px; }
.terms-document section + section { border-top: 1px solid var(--color-line); margin-top: 2.3rem; padding-top: 2.3rem; }
.terms-document h2 { font-size: clamp(1.55rem, 3vw, 2.15rem); margin-bottom: 1.2rem; }
.terms-document p { color: #4c433f; font-size: .96rem; line-height: 1.85; margin-bottom: 1.15rem; }
.terms-document p:last-child { margin-bottom: 0; }
@media (max-width: 720px) { .terms-page { background-attachment: scroll; } .terms-main { padding: 2rem 0; } .terms-document { padding: 2rem 1.4rem; } }
