.terms-body { background:#07090f; color:#f8fafc; }
.terms-page { --terms-line:rgba(148,163,184,.19); --terms-muted:#b1bac9; }
.terms-wrap { width:min(1100px,100%); margin-inline:auto; padding-inline:28px; }
.terms-hero { padding:78px 0 54px; border-bottom:1px solid var(--terms-line); background:radial-gradient(ellipse at 50% 0%,rgba(212,175,55,.075),transparent 65%); text-align:center; }
.terms-page .terms-eyebrow { color:var(--gold-main); font-size:12px; font-weight:600; letter-spacing:.24em; margin:0 0 16px; }
.terms-hero h1 { font-size:clamp(32px,4vw,48px); line-height:1.25; letter-spacing:.08em; margin:0 0 22px; color:#f8fafc; }
.terms-subtitle { color:var(--terms-muted); font-size:16px; margin:0; }
.terms-updated { margin:24px 0 0; color:#9ca6b6; font-size:12px; letter-spacing:.06em; }
.terms-updated span { margin-inline:9px; color:var(--gold-main); }
.terms-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:64px; padding-top:56px; padding-bottom:28px; align-items:start; }
.terms-sidebar { position:sticky; top:110px; max-height:calc(100dvh - 130px); overflow:auto; }
.terms-directory { border-left:1px solid var(--terms-line); }
.terms-directory summary { padding:0 16px 16px; color:#e8e9ed; font-size:14px; font-weight:600; list-style:none; cursor:pointer; }
.terms-directory summary::-webkit-details-marker { display:none; }
.terms-directory summary > span { display:none; }
.terms-directory ol { list-style:none; padding:0; margin:0; }
.terms-directory a { display:flex; gap:13px; padding:10px 14px; min-height:44px; border-left:2px solid transparent; margin-left:-1px; color:#aab3c2; font-size:13px; line-height:1.7; }
.terms-directory a span { color:#8894a5; font-size:11px; font-variant-numeric:tabular-nums; padding-top:2px; }
.terms-directory a:hover,.terms-directory a[aria-current="location"] { color:var(--gold-main); border-left-color:var(--gold-main); background:rgba(212,175,55,.055); }
.terms-page a:focus-visible,.terms-directory summary:focus-visible { outline:2px solid var(--gold-main); outline-offset:3px; }
.terms-content { min-width:0; }
.terms-intro { padding-bottom:30px; }
.terms-page h2 { font-size:21px; line-height:1.65; font-weight:600; color:#eef0f5; margin:0 0 22px; }
.terms-page p { line-height:1.95; }
.terms-content p,.terms-risk > p:not(.terms-eyebrow) { font-size:15px; color:#b8c1cf; margin:0 0 15px; }
.terms-section { padding:34px 0 26px; border-top:1px solid var(--terms-line); scroll-margin-top:110px; }
.terms-page .terms-section::before { display:none; }
.terms-section h2 { display:flex; gap:19px; align-items:baseline; }
.terms-section h2 > span { flex-shrink:0; color:var(--gold-main); font-size:13px; letter-spacing:.06em; font-variant-numeric:tabular-nums; }
.terms-section:focus { outline:none; }
.terms-section:focus-visible { outline:1px solid var(--gold-main); outline-offset:8px; }
.terms-risk { border-top:1px solid rgba(212,175,55,.5); background:linear-gradient(135deg,rgba(212,175,55,.045),transparent); padding:34px 36px 25px; margin:8px 0 72px; }
.terms-risk h2 { margin-bottom:18px; }
@media(max-width:900px) {
 .terms-layout { grid-template-columns:1fr; gap:30px; padding-top:30px; }
 .terms-sidebar { position:static; max-height:none; overflow:visible; }
 .terms-directory { border:1px solid var(--terms-line); border-radius:6px; }
 .terms-directory summary { display:flex; justify-content:space-between; padding:16px 18px; }
 .terms-directory summary > span { display:block; color:var(--gold-main); }
 .terms-directory[open] summary > span { transform:rotate(45deg); }
 .terms-directory nav { padding:0 8px 12px; }
 .terms-directory ol { display:grid; grid-template-columns:1fr 1fr; }
 .terms-intro { padding-bottom:20px; }
}
@media(min-width:901px) { .terms-directory:not([open]) > nav { display:block; } }
@media(max-width:600px) {
 .terms-wrap { padding-inline:22px; }
 .terms-hero { padding:44px 0 34px; }
 .terms-subtitle { font-size:14px; }
 .terms-directory ol { grid-template-columns:1fr; }
 .terms-section { padding:28px 0 20px; scroll-margin-top:88px; }
 .terms-page h2 { font-size:19px; }
 .terms-section h2 { gap:13px; }
 .terms-risk { margin-bottom:44px; padding:27px 20px 18px; }
}
@media(prefers-reduced-motion:reduce) { html:has(.terms-page) { scroll-behavior:auto !important; } }

/* Allow translated text and Google Translate wrappers to wrap in flex/grid items. */
.terms-page { overflow-wrap:break-word; }
.terms-directory a > font,.terms-section h2 > font { min-width:0; }

/* Shared legal typography. Override legacy global !important break-word only here. */
.terms-page, .terms-page * {
  word-break: normal !important;
  overflow-wrap: break-word !important;
}
.terms-page { hyphens: manual; }
.terms-page .terms-wrap, .terms-page .terms-layout > *,
.terms-page .terms-directory li { min-width: 0; }
/* Normal inline flow keeps translation wrappers and sentence fragments together. */
.terms-page .terms-directory a {
  display: block; position: relative; padding-inline-start: 44px;
  white-space: normal; height: auto; line-height: 1.65;
}
.terms-page .terms-directory a > span:first-child {
  position: absolute; inset-inline-start: 14px; top: 10px;
  width: 20px; white-space: nowrap;
}
.terms-page .terms-section h2 {
  display: block; position: relative; padding-inline-start: 36px;
}
.terms-page .terms-section h2 > span:first-child {
  position: absolute; inset-inline-start: 0; top: .4em;
}
.terms-page .terms-directory summary { display: block; position: relative; padding-inline-end: 44px; }
.terms-page .terms-directory summary > span { position: absolute; inset-inline-end: 18px; top: 16px; }
.terms-page .terms-updated { line-height: 1.7; letter-spacing: normal; }
.terms-page .terms-updated time { display: inline-block; max-width: 100%; vertical-align: top; }
.terms-page .terms-content a { hyphens: none; }
@media (max-width: 1024px) {
  .terms-page { --legal-body-size: clamp(16px, 1.5vw + 10px, 17px); }
  .terms-page .terms-content p, .terms-page .terms-content li,
  .terms-page .terms-risk > p:not(.terms-eyebrow) {
    font-size: var(--legal-body-size); line-height: 1.75; text-align: start;
  }
  .terms-page .terms-hero h1 { font-size: clamp(28px, 4vw, 40px); line-height: 1.3; letter-spacing: normal; }
  .terms-page h2 { font-size: clamp(19px, 2.2vw, 22px); line-height: 1.5; letter-spacing: normal; }
  .terms-page .terms-subtitle { font-size: clamp(15px, 1.8vw, 17px); line-height: 1.7; }
  .terms-page .terms-directory a { font-size: 14px; }
}
@media (min-width: 601px) and (max-width: 900px) {
  .terms-page .terms-directory ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .terms-page .terms-wrap { padding-inline: clamp(16px, 4.5vw, 22px); }
  .terms-page .terms-section h2 { padding-inline-start: 30px; }
}
/* Browser dictionaries choose linguistic hyphenation only for these languages. */
.terms-page:lang(en), .terms-page:lang(de), .terms-page:lang(fr),
.terms-page:lang(es), .terms-page:lang(pt), .terms-page:lang(tr) { hyphens: auto; }
@media (max-width: 600px) {
  .terms-page:lang(de) .terms-hero h1,
  .terms-page:lang(ru) .terms-hero h1 { font-size: clamp(24px, 6.5vw, 28px); }
}
/* Legal pages only: mobile footer wrapping; preserve all geometry and typography. */
@media (max-width: 600px) {
  .terms-body .vanrex-site-footer .vf-label,
  .terms-body .vanrex-site-footer .vf-label * {
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: auto;
    -webkit-hyphens: auto;
  }
}
