.page-disclaimer{
  position:relative;
  background-color:var(--bg-deep);
  color:var(--text-light);
  font-family:var(--font-body);
  overflow-x:clip;
}

.page-disclaimer .disclaimer-hero{
  position:relative;
  padding:48px 0 40px;
  overflow:hidden;
  background:
    radial-gradient(ellipse 80% 60% at 85% 10%, rgba(230,57,70,0.28), transparent 60%),
    radial-gradient(ellipse 60% 50% at 15% 90%, rgba(42,157,143,0.15), transparent 55%),
    var(--bg-deep);
}

.page-disclaimer .disclaimer-hero::before{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,var(--accent-red),var(--accent-amber) 40%,transparent 70%);
  opacity:.6;
}

.page-disclaimer .disclaimer-hero::after{
  content:"";
  position:absolute;
  right:-6%;
  bottom:-25%;
  width:45%;
  height:60%;
  background:linear-gradient(135deg,transparent 0%,rgba(230,57,70,0.10) 50%,transparent 50%);
  transform:rotate(12deg);
  pointer-events:none;
}

.page-disclaimer .disclaimer-hero-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
  margin-top:28px;
  position:relative;
  z-index:1;
}

.page-disclaimer .disclaimer-hero-title{
  font-family:var(--font-head);
  font-size:clamp(1.8rem,5vw,3.4rem);
  font-weight:700;
  font-style:italic;
  line-height:1.12;
  letter-spacing:.02em;
  margin:1rem 0 0;
  max-width:12em;
  text-transform:none;
}

.page-disclaimer .disclaimer-hero-desc{
  margin:1.25rem 0 0;
  max-width:720px;
  color:var(--text-muted);
  font-size:1rem;
  line-height:1.8;
}

.page-disclaimer .disclaimer-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1.75rem;
}

.page-disclaimer .disclaimer-hero-aside{
  display:flex;
  align-items:flex-start;
  gap:1rem;
  justify-content:flex-start;
}

.page-disclaimer .hero-versions{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  background:rgba(20,43,92,.7);
  border:1px solid rgba(160,179,217,.2);
  padding:.5rem .8rem;
}

.page-disclaimer .hero-version-label{
  font-size:.7rem;
  letter-spacing:.18em;
  color:var(--text-muted);
  text-transform:uppercase;
}

.page-disclaimer .hero-version-value{
  font-family:var(--font-mono);
  color:var(--data-green);
  border-left:1px solid rgba(42,157,143,.4);
  padding-left:.6rem;
}

.page-disclaimer .disclaimer-rule{
  margin:0;
  max-width:1080px;
  padding:0 16px 48px;
}

.page-disclaimer .disclaimer-rule img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:cover;
  border:1px solid rgba(160,179,217,.2);
  filter:contrast(1.08) saturate(1.15);
}

.page-disclaimer .terms-layout{
  max-width:1080px;
  margin:0 auto;
  padding:0 16px 64px;
  display:grid;
  grid-template-columns:1fr;
  gap:28px;
}

.page-disclaimer .terms-index{
  position:relative;
  padding:1.25rem;
  background:var(--bg-transition);
  border:1px solid rgba(160,179,217,.18);
  box-shadow:var(--shadow-card);
  align-self:start;
}

.page-disclaimer .terms-index-kicker{
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.18em;
  color:var(--accent-amber);
  text-transform:uppercase;
  margin:0 0 .2rem;
}

.page-disclaimer .terms-index-title{
  font-family:var(--font-head);
  font-size:1.6rem;
  font-weight:700;
  font-style:italic;
  color:var(--text-light);
  border-bottom:2px solid rgba(230,57,70,.35);
  padding-bottom:.5rem;
}

.page-disclaimer .index-nav{
  list-style:none;
  margin:1rem 0 0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}

.page-disclaimer .index-nav li{
  margin:0;
}

.page-disclaimer .index-nav a{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.32rem .6rem;
  background:rgba(20,43,92,.5);
  border:1px solid rgba(160,179,217,.2);
  font-size:.85rem;
  color:var(--text-light);
  text-decoration:none;
  transition:border-color var(--dur),background var(--dur),color var(--dur);
}

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

.page-disclaimer .index-nav span{
  font-family:var(--font-mono);
  font-size:.72rem;
  color:var(--accent-red);
}

.page-disclaimer .terms-index-note{
  margin:1rem 0 0;
  font-size:.8rem;
  line-height:1.6;
  color:var(--text-muted);
  border-left:2px solid rgba(244,162,97,.4);
  padding-left:.6rem;
}

.page-disclaimer .terms-doc{
  position:relative;
  padding:clamp(1.25rem,3vw,2.5rem);
  background:rgba(11,27,61,.72);
  border:1px solid rgba(160,179,217,.2);
  box-shadow:var(--shadow-card);
  isolation:isolate;
}

.page-disclaimer .terms-doc::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg,var(--accent-red),var(--accent-amber),transparent);
}

.page-disclaimer .terms-doc::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:120px;
  height:7px;
  background:linear-gradient(90deg,var(--accent-amber),var(--accent-red));
  clip-path:polygon(0 0,100% 0,calc(100% - 18px) 100%,0 100%);
}

.page-disclaimer .doc-meta{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:.6rem 1rem;
  align-items:center;
  padding-bottom:1.25rem;
  margin-bottom:2rem;
  border-bottom:1px solid rgba(160,179,217,.14);
  font-size:.82rem;
  color:var(--text-muted);
}

.page-disclaimer .doc-meta-tag{
  font-family:var(--font-mono);
  color:var(--accent-red);
  letter-spacing:.08em;
}

.page-disclaimer .doc-meta-version{
  font-family:var(--font-mono);
  color:var(--data-green);
}

.page-disclaimer .doc-meta-state{
  background:rgba(42,157,143,.12);
  border:1px solid rgba(42,157,143,.3);
  color:var(--data-green);
  padding:.1rem .5rem;
}

.page-disclaimer .terms-clause{
  position:relative;
  padding-bottom:2.25rem;
  margin-bottom:2.25rem;
  border-bottom:1px dashed rgba(160,179,217,.22);
}

.page-disclaimer .terms-clause:last-child{
  border-bottom:none;
  margin-bottom:0;
  padding-bottom:0;
}

.page-disclaimer .terms-clause > *{
  position:relative;
  z-index:1;
}

.page-disclaimer .clause-bg{
  position:absolute;
  right:-.1rem;
  top:.2rem;
  font-family:var(--font-head);
  font-size:clamp(4.5rem,10vw,7.5rem);
  font-style:italic;
  font-weight:700;
  line-height:1;
  color:rgba(20,43,92,.5);
  z-index:0;
  user-select:none;
  pointer-events:none;
}

.page-disclaimer .clause-head{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  flex-wrap:wrap;
}

.page-disclaimer .clause-tag{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.12em;
  color:var(--accent-red);
  background:rgba(230,57,70,.08);
  border:1px solid rgba(230,57,70,.3);
  border-left-width:3px;
  padding:.28rem .55rem;
  align-self:flex-start;
}

.page-disclaimer .clause-head h2{
  font-family:var(--font-head);
  font-size:1.8rem;
  font-weight:700;
  font-style:italic;
  line-height:1.1;
  margin:0;
  color:var(--text-light);
  position:relative;
}

.page-disclaimer .clause-head h2::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-4px;
  width:42px;
  height:3px;
  background:linear-gradient(90deg,var(--accent-red),transparent);
}

.page-disclaimer .clause-head h2 em{
  display:block;
  font-family:var(--font-mono);
  font-style:normal;
  font-weight:400;
  font-size:.65rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--text-muted);
  margin-top:.1rem;
}

.page-disclaimer .clause-list{
  list-style:none;
  margin:1.5rem 0 0;
  padding:0;
}

.page-disclaimer .clause-list li{
  display:flex;
  align-items:flex-start;
  gap:.85rem;
  margin-bottom:.9rem;
  line-height:1.85;
  font-size:.95rem;
  color:var(--text-light);
}

.page-disclaimer .item-no{
  flex:0 0 auto;
  margin-top:.15rem;
  min-width:2.6rem;
  text-align:center;
  font-family:var(--font-mono);
  font-size:.75rem;
  color:var(--accent-amber);
  background:rgba(244,162,97,.08);
  border:1px solid rgba(244,162,97,.25);
  padding:.1rem .4rem;
}

.page-disclaimer .hl-term{
  font-weight:600;
  color:var(--accent-amber);
  border-bottom:1px solid rgba(244,162,97,.5);
  padding-bottom:.05rem;
}

.page-disclaimer .hl-term-green{
  font-weight:600;
  color:var(--data-green);
  border-bottom:1px solid rgba(42,157,143,.5);
  padding-bottom:.05rem;
}

.page-disclaimer .clause-detail{
  margin-top:1.4rem;
  border:1px solid rgba(160,179,217,.16);
  background:rgba(20,43,92,.35);
}

.page-disclaimer .clause-detail summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  gap:.5rem;
  padding:.9rem 1rem;
  font-size:.88rem;
  font-weight:600;
  color:var(--text-muted);
  transition:color var(--dur);
}

.page-disclaimer .clause-detail summary:hover{
  color:var(--accent-amber);
}

.page-disclaimer .clause-detail summary::-webkit-details-marker{
  display:none;
}

.page-disclaimer .clause-detail summary::before{
  content:"+";
  display:inline-block;
  font-family:var(--font-mono);
  color:var(--accent-red);
  transition:transform var(--dur);
}

.page-disclaimer .clause-detail[open] summary::before{
  content:"–";
}

.page-disclaimer .clause-detail-body{
  padding:0 1rem 1rem;
  font-size:.88rem;
  line-height:1.8;
  color:var(--text-muted);
}

.page-disclaimer .clause-detail-body p{
  margin-top:0;
}

.page-disclaimer .terms-footnote{
  display:flex;
  align-items:center;
  gap:.75rem;
  flex-wrap:wrap;
  margin-top:2rem;
  padding:1rem 1.1rem;
  background:rgba(42,157,143,.08);
  border:1px solid rgba(42,157,143,.2);
  color:var(--text-muted);
  font-size:.85rem;
}

.page-disclaimer .terms-footnote .tag{
  flex:0 0 auto;
}

.page-disclaimer .terms-related{
  max-width:1080px;
  margin:0 auto;
  padding:0 16px 80px;
}

.page-disclaimer .related-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:.6rem 1rem;
  margin-bottom:1.5rem;
}

.page-disclaimer .related-title{
  font-family:var(--font-head);
  font-size:2.2rem;
  font-style:italic;
  font-weight:700;
  margin:0;
}

.page-disclaimer .related-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}

.page-disclaimer .related-card{
  position:relative;
  display:block;
  padding:1.6rem 1.4rem;
  background:var(--bg-transition);
  border:1px solid rgba(160,179,217,.2);
  color:var(--text-light);
  text-decoration:none;
  overflow:hidden;
  transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),border-color var(--dur);
}

.page-disclaimer .related-card::after{
  content:"/";
  position:absolute;
  right:.8rem;
  top:-.4rem;
  font-family:var(--font-head);
  font-size:3.4rem;
  color:rgba(160,179,217,.08);
}

.page-disclaimer .related-card:hover{
  transform:translateY(-4px) rotate(-.5deg);
  box-shadow:var(--shadow-float);
  border-color:rgba(244,162,97,.5);
}

.page-disclaimer .related-card-no{
  font-family:var(--font-mono);
  font-size:.75rem;
  color:var(--accent-red);
  letter-spacing:.1em;
}

.page-disclaimer .related-card-title{
  font-family:var(--font-head);
  font-size:1.3rem;
  font-style:italic;
  margin:.5rem 0 .4rem;
  color:var(--accent-amber);
}

.page-disclaimer .related-card-text{
  font-size:.88rem;
  color:var(--text-muted);
  line-height:1.65;
  margin:0;
}

@media (min-width:640px){
  .page-disclaimer .related-grid{
    grid-template-columns:repeat(3,1fr);
  }
}

@media (min-width:860px){
  .page-disclaimer .disclaimer-hero{
    padding:64px 0 48px;
  }

  .page-disclaimer .disclaimer-hero-grid{
    grid-template-columns:minmax(0,1fr) 180px;
    gap:40px;
    align-items:start;
  }

  .page-disclaimer .disclaimer-hero-aside{
    flex-direction:column;
    align-items:flex-end;
    gap:.75rem;
    padding-top:1rem;
  }
}

@media (min-width:980px){
  .page-disclaimer .terms-layout{
    grid-template-columns:220px minmax(0,1fr);
    gap:48px;
    align-items:start;
  }

  .page-disclaimer .terms-index{
    position:sticky;
    top:calc(var(--header-h) + 20px);
  }

  .page-disclaimer .index-nav{
    display:block;
    gap:0;
    border-left:2px solid rgba(230,57,70,.25);
    margin-top:1.25rem;
  }

  .page-disclaimer .index-nav li{
    margin:0;
  }

  .page-disclaimer .index-nav a{
    display:flex;
    align-items:baseline;
    gap:.5rem;
    padding:.5rem .8rem;
    background:none;
    border:none;
    border-radius:0;
    font-size:.9rem;
  }

  .page-disclaimer .index-nav a:hover{
    background:rgba(230,57,70,.1);
    padding-left:1rem;
  }

  .page-disclaimer .terms-doc{
    padding:clamp(1.5rem,3vw,3rem);
  }
}

@media print{
  .page-disclaimer .disclaimer-hero-actions,
  .page-disclaimer .terms-index,
  .page-disclaimer .terms-related{
    display:none;
  }

  .page-disclaimer .disclaimer-hero{
    padding:24px 0;
    background:none;
  }

  .page-disclaimer .disclaimer-rule{
    padding:0 0 24px;
  }

  .page-disclaimer .terms-doc{
    border:none;
    box-shadow:none;
    padding:0;
  }

  .page-disclaimer .clause-detail{
    display:block !important;
    border:none;
    background:none;
  }

  .page-disclaimer .clause-detail summary{
    display:none;
  }

  .page-disclaimer .clause-detail-body{
    padding:0 0 .6rem;
  }

  .page-disclaimer .terms-clause{
    break-inside:avoid;
  }

  .page-disclaimer .clause-bg{
    display:none;
  }
}
