.terms-page-content{max-width:1120px;margin-inline:auto}
.terms-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:32px;scroll-margin-top:24px;font-size:14px}
.terms-toolbar p{margin:0;color:var(--service-muted)}
.terms-toolbar a{display:inline-flex;align-items:center;gap:8px;min-height:44px}
.terms-layout{display:grid;grid-template-columns:272px minmax(0,1fr);gap:48px;align-items:start}
.terms-index{position:sticky;top:24px;min-width:0}
.terms-desktop-index{max-height:calc(100svh - 48px);overflow-y:auto;padding:4px 8px 8px 0;scrollbar-width:thin}
.service-page .terms-index h2{font-family:inherit;font-size:16px;line-height:1.5;letter-spacing:0;margin:0 0 16px;font-weight:600}
.terms-index-list{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.terms-index-list a{display:flex;align-items:baseline;gap:12px;min-height:44px;padding:12px 8px;border-radius:8px;font-size:14px;line-height:1.5}
.terms-index-number{min-width:24px;font-variant-numeric:tabular-nums;color:var(--service-muted);font-size:12px}
.terms-mobile-index{display:none}
.terms-document{min-width:0}
.terms-document .terms-introduction{font-size:16px;margin:0 0 40px}
.terms-section{margin-top:40px}
.terms-section+.terms-section{padding-top:40px;border-top:1px solid #e1d9cd}
.service-page .terms-section h2{font-size:28px;line-height:1.25;letter-spacing:-.015em;margin:0 0 16px;scroll-margin-top:32px;outline-offset:8px}
.terms-article-label{display:block;font-family:var(--font-sans);font-size:14px;line-height:1.5;font-weight:500;color:var(--service-muted);letter-spacing:0;margin-bottom:8px}
.terms-section p{margin-bottom:0;font-size:16px;line-height:1.8}
.terms-document .terms-closing{font-size:14px;color:var(--service-muted);margin:48px 0 16px;padding-top:24px;border-top:1px solid #e1d9cd}
.terms-back-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px}
.terms-related{display:flex;align-items:center;flex-wrap:wrap;gap:16px 32px;margin-top:32px;font-size:14px}
.terms-related>span{color:var(--service-muted)}
.terms-related a{display:inline-flex;align-items:center;gap:8px;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.terms-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(hover:hover){.terms-index-list a:hover{background:#e8dfcd}.terms-related a:hover,.terms-toolbar a:hover,.terms-back-link:hover{color:#66554a}}
@media(max-width:1000px){.terms-layout{grid-template-columns:232px minmax(0,1fr);gap:32px}}
@media(max-width:760px){.terms-layout{grid-template-columns:minmax(0,1fr);gap:24px}.terms-index{position:static}.terms-desktop-index{display:none}.terms-mobile-index{display:block;border-radius:16px;background:#e8dfcb;padding:0 16px}.terms-mobile-index summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding-block:16px;font-size:15px;font-weight:600;cursor:pointer;list-style:none}.terms-mobile-index summary::-webkit-details-marker{display:none}.terms-mobile-index[open] summary svg{transform:rotate(180deg)}.terms-mobile-index nav{padding-bottom:16px}.terms-index-list a{font-size:15px}.terms-toolbar{margin-bottom:24px;gap:8px}.service-page .terms-section h2{font-size:24px}.terms-section{margin-top:32px}.terms-section+.terms-section{padding-top:32px}.terms-document .terms-introduction{margin-bottom:32px}.terms-related{gap:8px 24px}.terms-related>span{flex-basis:100%}}
.terms-mobile-index summary:focus-visible{outline:3px solid #2457ff;outline-offset:4px;border-radius:8px}
@media print{.terms-index,.terms-toolbar,.terms-related,.terms-back-link{display:none}.terms-layout{display:block}.terms-document{padding:0;background:white}.terms-section{break-inside:avoid}.terms-document a{text-decoration:none}}
