/* Page-owned legal document. Shared shell and base theme remain inherited. */
.terms-main { width:100%; min-width:0; padding-block:clamp(48px,6vw,96px) 56px; }
.terms-main .terms-document { width:min(74ch,calc(100% - 40px)); max-width:1100px; min-width:0; margin-inline:auto; font-size:20px; line-height:1.65; }
.terms-main .terms-intro { min-width:0; padding-bottom:32px; }
.terms-main .terms-eyebrow { margin:0 0 16px; font-size:16px; font-weight:700; letter-spacing:.06em; }
.terms-main h1 { margin:0 0 24px; font-size:clamp(38px,5vw,64px); line-height:1.12; font-weight:700; color:rgb(244,239,216); }
.terms-main .terms-date { margin:0 0 24px; font-size:16px; }
.terms-main .terms-contents { min-width:0; padding-block:28px 32px; border-block:1px solid rgba(244,239,216,.5); }
.terms-main h2 { margin:0 0 20px; font-size:clamp(26px,3vw,34px); line-height:1.25; color:rgb(244,239,216); }
.terms-main p { margin:0 0 22px; max-width:100%; }
.terms-main p:last-child { margin-bottom:0; }
.terms-main ol, .terms-main ul { margin:0 0 24px; padding-left:1.5em; }
.terms-main li { padding-left:.2em; margin-bottom:10px; }
.terms-main .terms-contents ol { margin-bottom:0; }
.terms-main .terms-contents a { display:inline-block; min-height:24px; padding-block:3px; }
.terms-main a { color:#fff; text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; overflow-wrap:break-word; }
.terms-main a:hover { text-decoration-thickness:2px; }
.terms-main a:focus-visible { outline:3px solid #f2c7d5; outline-offset:4px; border-radius:2px; }
.terms-main .terms-section { min-width:0; margin-top:48px; scroll-margin-top:24px; }
.terms-main .terms-address { font-style:normal; margin-block:24px; line-height:1.75; overflow-wrap:break-word; }
@media (max-width:600px) {
 .terms-main { padding-block:40px; }
 .terms-main .terms-document { width:calc(100% - 32px); font-size:18px; }
 .terms-main .terms-section { margin-top:36px; }
 .terms-main .terms-intro { padding-bottom:24px; }
 .terms-main .terms-contents { padding-block:24px; }
}
