.page-disclaimer{
  --term-muted:#4A4A5A;
  --term-faint:#6B6B7B;
  --term-rule:#DDE1E6;
  --term-soft:rgba(26,26,46,.055);
  background:
    linear-gradient(135deg, rgba(30,144,255,.07) 0%, rgba(30,144,255,0) 42%),
    var(--bg);
  color:var(--text);
  padding-bottom:clamp(2rem,6vw,5rem);
  overflow-x:clip;
}

.page-disclaimer .container{
  max-width:1200px;
  margin-inline:auto;
  padding-inline:clamp(1rem,4vw,2.5rem);
}

.page-disclaimer .breadcrumb{
  padding:1.5rem 0 .25rem;
}

.page-disclaimer .breadcrumb ol{
  display:flex;
  flex-wrap:wrap;
  gap:.25rem .5rem;
  list-style:none;
  margin:0;
  padding:0;
  font-family:var(--font-sans);
  font-size:.82rem;
  letter-spacing:.02em;
  color:var(--term-faint);
}

.page-disclaimer .breadcrumb li{
  display:flex;
  align-items:center;
}

.page-disclaimer .breadcrumb li:not(:last-child)::after{
  content:"/";
  margin-left:.5rem;
  color:var(--term-rule);
}

.page-disclaimer .breadcrumb a{
  color:var(--term-faint);
  text-decoration:none;
  transition:color .18s ease;
}

.page-disclaimer .breadcrumb a:hover{
  color:var(--primary);
  text-decoration:underline;
  text-underline-offset:.22em;
}

.page-disclaimer .breadcrumb [aria-current="page"]{
  color:var(--text);
  font-weight:600;
}

.page-disclaimer .page-header{
  border-bottom:4px solid var(--text);
  margin-bottom:clamp(1.5rem,4vw,2.75rem);
  padding-bottom:clamp(1.5rem,3.5vw,2.5rem);
}

.page-disclaimer .eyebrow{
  margin:0 0 .75rem;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--primary);
}

.page-disclaimer .page-title{
  margin:0 0 1rem;
  font-family:var(--font-sans);
  font-weight:300;
  font-size:clamp(2rem,6vw,4rem);
  line-height:1.04;
  letter-spacing:-.02em;
  color:var(--text);
  max-width:10em;
}

.page-disclaimer .page-lead{
  max-width:44em;
  margin:0;
  font-size:clamp(.95rem,1.4vw,1.06rem);
  line-height:1.85;
  color:var(--term-muted);
}

.page-disclaimer .toc{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:1rem 1.75rem;
  margin-bottom:clamp(2rem,5vw,3.25rem);
  padding:1.25rem 1.5rem;
  border:2px solid var(--text);
  border-left:10px solid var(--text);
  background:var(--bg);
  box-shadow:8px 8px 0 rgba(26,26,46,.1);
}

.page-disclaimer .toc .marker{
  flex:0 0 auto;
  padding:.4rem .65rem;
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.2em;
  color:var(--bg);
  background:var(--text);
}

.page-disclaimer .toc ol{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem 1.75rem;
  margin:0;
  padding:.25rem 0 0;
  list-style:none;
}

.page-disclaimer .toc a{
  color:var(--text);
  font-weight:600;
  font-size:.92rem;
  text-decoration:none;
  padding-bottom:.18rem;
  border-bottom:2px solid transparent;
  transition:color .18s ease,border-color .18s ease;
}

.page-disclaimer .toc a:hover{
  color:var(--accent);
  border-color:var(--accent);
}

.page-disclaimer .terms-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1.5rem,4vw,3rem);
  align-items:start;
}

.page-disclaimer .prose{
  min-width:0;
  font-family:var(--font-sans);
  font-size:.96rem;
  line-height:1.85;
  color:var(--term-muted);
}

.page-disclaimer .terms-section{
  position:relative;
  margin-bottom:clamp(1.5rem,3.5vw,2.5rem);
  padding:clamp(1.25rem,3vw,2.25rem);
  border:2px solid var(--term-rule);
  background:rgba(248,249,250,.78);
  scroll-margin-top:6rem;
}

.page-disclaimer .terms-section:last-of-type{
  margin-bottom:0;
}

.page-disclaimer .terms-section-head{
  display:flex;
  align-items:center;
  gap:1rem;
  margin:-2px -2px 1.5rem;
  padding:.85rem 1rem;
  background:var(--term-soft);
  border:2px solid var(--text);
}

.page-disclaimer .section-index{
  flex:0 0 auto;
  padding:.3rem .55rem;
  border:2px solid var(--text);
  background:var(--bg);
  font-family:var(--font-mono);
  font-size:.78rem;
  font-weight:700;
  line-height:1;
  color:var(--accent);
}

.page-disclaimer .terms-section h2{
  margin:0;
  font-size:clamp(1.12rem,2.4vw,1.5rem);
  font-weight:700;
  letter-spacing:-.01em;
  color:var(--text);
}

.page-disclaimer .terms-section p{
  margin:0 0 1rem;
}

.page-disclaimer .terms-section p:last-child{
  margin-bottom:0;
}

.page-disclaimer .terms-section a{
  color:var(--primary);
  text-underline-offset:.18em;
  text-decoration-thickness:.1em;
}

.page-disclaimer .terms-section a:hover{
  color:var(--accent);
}

.page-disclaimer .note-box--danger{
  margin-top:1.25rem;
  padding:1rem 1.25rem;
  border:2px solid var(--danger);
  border-left:8px solid var(--danger);
  background:rgba(231,76,60,.06);
  color:#7A1F14;
  font-size:.9rem;
  line-height:1.7;
}

.page-disclaimer .note-box--danger strong{
  display:block;
  margin-bottom:.25rem;
  font-size:.92rem;
  letter-spacing:.04em;
}

.page-disclaimer .terms-side{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:1.25rem;
}

.page-disclaimer .terms-side .card{
  width:100%;
  padding:1.5rem 1.5rem 1.75rem;
  border:2px solid var(--text);
  background:var(--bg);
  box-shadow:8px 8px 0 var(--accent);
}

.page-disclaimer .terms-side .card h3{
  margin:0 0 1rem;
  padding-bottom:.7rem;
  border-bottom:3px solid var(--text);
  font-size:1rem;
  letter-spacing:.1em;
}

.page-disclaimer .terms-side .card ul{
  margin:0;
  padding:0;
  list-style:none;
}

.page-disclaimer .terms-side .card li{
  padding:.4rem 0;
  border-bottom:1px dashed var(--term-rule);
}

.page-disclaimer .terms-side .card li:last-child{
  border-bottom:0;
}

.page-disclaimer .terms-side .card a{
  color:var(--text);
  font-size:.92rem;
  font-weight:600;
  text-decoration:none;
  box-shadow:inset 0 -2px 0 rgba(30,144,255,.45);
  transition:color .18s ease,box-shadow .18s ease;
}

.page-disclaimer .terms-side .card a:hover{
  color:var(--accent);
  box-shadow:inset 0 -2px 0 var(--accent);
}

.page-disclaimer .back-top{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  text-decoration:none;
  box-shadow:4px 4px 0 var(--text);
}

.page-disclaimer .back-top::before{
  content:"↑";
  font-family:var(--font-mono);
}

.page-disclaimer .terms-decor{
  margin:clamp(2rem,5vw,3rem) 0 0;
  max-width:400px;
  padding:.75rem;
  border:2px solid var(--term-rule);
  background:var(--bg);
}

.page-disclaimer .terms-decor img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  border:1px solid var(--term-rule);
}

.page-disclaimer .media-caption{
  display:block;
  margin-top:.65rem;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.06em;
  color:var(--term-faint);
  text-align:right;
}

.page-disclaimer a:focus-visible{
  outline:3px solid var(--primary);
  outline-offset:2px;
}

@media (min-width:900px){
  .page-disclaimer .terms-layout{
    grid-template-columns:minmax(0,1fr) 300px;
    gap:clamp(2rem,5vw,4rem);
  }

  .page-disclaimer .terms-side{
    position:sticky;
    top:7rem;
  }
}
