.terms-intro { padding-block:64px 28px; }
.terms-eyebrow { font-size:12px; font-weight:700; letter-spacing:.13em; color:var(--muted); }
.terms-intro h1 { font-size:clamp(48px,6.5vw,88px); line-height:1.02; margin-top:20px; }
.terms-intro h1 span { color:var(--coral); }
.terms-summary { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:28px; }
.terms-summary > p { max-width:600px; font-size:20px; color:var(--muted); }
.terms-print { border:1px solid var(--line); border-radius:8px; background:white; color:var(--ink); padding:12px 18px; min-height:48px; display:inline-flex; align-items:center; gap:12px; cursor:pointer; white-space:nowrap; }
.terms-print:hover { border-color:var(--coral); color:var(--coral-hover); }
.terms-metadata { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:28px; font-size:13px; color:var(--muted); }
.terms-draft { border-left:3px solid var(--coral); background:var(--blush); padding:18px 24px; display:flex; align-items:baseline; gap:24px; }
.terms-draft strong { white-space:nowrap; font-size:14px; }
.terms-draft p { font-size:14px; max-width:880px; }
.terms-layout { display:grid; grid-template-columns:280px minmax(0,780px); justify-content:space-between; gap:60px; padding-block:56px 96px; }
.terms-contents { align-self:start; }
.terms-contents ol { margin:18px 0 24px; padding:0; list-style:none; counter-reset:terms; }
.terms-contents li { counter-increment:terms; }
.terms-contents li a { display:flex; gap:12px; padding-block:9px; font-size:14px; line-height:1.4; }
.terms-contents li a::before { content:counter(terms,decimal-leading-zero); color:var(--muted); font-size:11px; padding-top:3px; }
.terms-contents li a:hover { color:var(--coral-hover); }
.terms-contents > .text-link { font-size:14px; line-height:1.5; }
.terms-document { min-width:0; }
.terms-document section { scroll-margin-top:130px; padding-bottom:36px; margin-bottom:36px; border-bottom:1px solid var(--line); }
.terms-document section:last-child { margin-bottom:0; padding-bottom:0; border-bottom:0; }
.terms-document h2 { display:flex; gap:20px; align-items:baseline; font-size:28px; letter-spacing:-.035em; line-height:1.25; margin-bottom:20px; }
.terms-document h2 span { font-size:13px; color:var(--coral-hover); letter-spacing:0; flex-shrink:0; }
.terms-document p { font-size:16px; line-height:1.8; color:#505656; margin-top:16px; overflow-wrap:anywhere; }
.terms-document .text-link { margin-top:16px; }
.terms-contact-links { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:24px; }
.terms-contact-links .text-link { margin-top:0; }
@media (min-width:1001px) and (min-height:950px) { .terms-contents { position:sticky; top:136px; } }
@media (max-width:1000px) { .terms-layout { grid-template-columns:230px minmax(0,1fr); gap:32px; } }
@media (max-width:700px) { .terms-intro { padding-top:40px; } .terms-summary { align-items:flex-start; flex-direction:column; } .terms-summary > p { font-size:18px; } .terms-draft { flex-direction:column; gap:8px; padding:16px 20px; } .terms-layout { display:block; padding-block:32px 64px; } .terms-contents { margin-bottom:36px; padding-bottom:28px; border-bottom:1px solid var(--line); } .terms-contents ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; } .terms-document h2 { font-size:25px; gap:12px; } .terms-document section { scroll-margin-top:100px; } }
@media (max-width:380px) { .terms-contents ol { grid-template-columns:1fr; } }
@media print {
    .site-header,.site-footer,.site-preloader,.terms-print,.terms-contents,.scroll-top,.cursor-ring,.skip-link { display:none !important; }
    body { color:#000; background:#fff; font-size:11pt; }
    .container { width:100%; }
    .terms-intro { padding:0 0 16pt; }
    .terms-intro h1 { font-size:32pt; }
    .terms-intro h1 span,.terms-document h2 span { color:#000; }
    .terms-summary > p,.terms-document p { font-size:11pt; color:#000; }
    .terms-metadata { font-size:9pt; }
    .terms-draft { background:none; border:1px solid #888; }
    .terms-layout { display:block; padding:24pt 0 0; }
    .terms-document h2 { font-size:16pt; break-after:avoid; }
    .terms-document p { orphans:3; widows:3; }
    .terms-document section { margin-bottom:20pt; padding-bottom:20pt; }
    .terms-document a { color:#000; font-size:10pt; }
    .terms-contact-links .button { background:none; border-color:#777; min-height:0; padding:8pt; }
}
