.page-disclaimer {
  --dis-doc-bg: rgba(255, 255, 255, 0.02);
  --dis-line: rgba(122, 95, 168, 0.45);
  --dis-code: rgba(0, 229, 255, 0.85);
  --dis-text: #E6E0F0;
  --dis-muted: #A39FB8;
  color-scheme: dark;
  font-family: var(--font-body);
  color: var(--dis-text);
  background:
    linear-gradient(135deg, rgba(29, 17, 51, 0.92) 0%, rgba(45, 27, 78, 0.94) 100%),
    repeating-linear-gradient(90deg, rgba(0, 229, 255, 0.028) 0px, rgba(0, 229, 255, 0.028) 1px, transparent 1px, transparent 32px);
  position: relative;
}

.page-disclaimer::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='240' viewBox='0 0 320 240'%3E%3Cg fill='none' stroke='rgba(0,229,255,0.05)' stroke-width='1'%3E%3Cpath d='M12 20h30M42 20h18M60 20h14M74 20h26M112 20h40M168 20h12M180 20h70M250 20h8M258 20h42M12 40h55M67 40h10M77 40h30M120 40h60M180 40h22M202 40h80M282 40h18'/%3E%3Cpath d='M8 60h44M52 60h18M80 60h52M140 60h10M160 60h88M250 60h30M280 60h24M4 80h70M80 80h92M178 80h44M226 80h58M284 80h12M296 80h15'/%3E%3Cpath d='M20 100h36M58 100h30M96 100h50M150 100h42M196 100h10M220 100h62M286 100h22M14 120h58M78 120h36M120 120h66M190 120h60M260 120h40M300 120h12M20 140h22M50 140h70M124 140h50M180 140h32M216 140h66M288 140h26M8 160h80M94 160h42M142 160h90M238 160h10M252 160h58M24 180h36M66 180h52M124 180h84M212 180h18M240 180h64M310 180h6M16 200h28M48 200h54M108 200h46M160 200h80M244 200h26M276 200h32M32 220h60M96 220h48M148 220h94M248 220h42M298 220h18'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 320px 240px;
  opacity: 0.5;
  z-index: 0;
}

.page-disclaimer .breadcrumb,
.page-disclaimer .disclaimer-hero,
.page-disclaimer .doc-layout {
  position: relative;
  z-index: 1;
}

.page-disclaimer .breadcrumb ol {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 20px 0 0;
  margin: 0;
  max-width: var(--container-w);
  margin-inline: auto;
  padding-inline: 20px;
}

.page-disclaimer .breadcrumb-link {
  color: var(--dis-code);
  text-decoration: none;
  font-size: 13px;
  letter-spacing: 0.06em;
}

.page-disclaimer .breadcrumb-link:hover {
  text-decoration: underline;
}

.page-disclaimer .breadcrumb-current {
  color: var(--dis-muted);
  font-size: 13px;
}

.page-disclaimer .disclaimer-hero {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  max-width: var(--container-w);
  margin-inline: auto;
  padding: 32px 20px 24px;
}

.page-disclaimer .disclaimer-hero .layout-aside {
  display: flex;
  align-items: flex-end;
}

.page-disclaimer .index-label {
  font-family: var(--font-heading);
  font-size: 13px;
  letter-spacing: 0.14em;
  color: var(--dis-code);
  background: rgba(0, 229, 255, 0.08);
  border: 1px solid rgba(0, 229, 255, 0.24);
  padding: 4px 6px;
}

.page-disclaimer .disclaimer-hero h1 {
  font-family: var(--font-heading);
  font-size: 32px;
  line-height: 1.15;
  color: var(--color-white);
  margin: 0 0 14px;
  max-width: 720px;
  letter-spacing: 0.02em;
}

.page-disclaimer .h1-rule {
  display: inline-block;
  width: 72px;
  height: 4px;
  margin-left: 14px;
  background: linear-gradient(90deg, var(--color-cyan), transparent);
  vertical-align: middle;
}

.page-disclaimer .lead {
  font-size: 15px;
  line-height: 1.7;
  color: var(--dis-text);
  max-width: 680px;
  margin: 0 0 20px;
}

.page-disclaimer .doc-image-wrap {
  overflow: hidden;
  border: 1px solid var(--dis-line);
  background: rgba(29, 17, 51, 0.5);
}

.page-disclaimer .doc-hero-image {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: cover;
}

.page-disclaimer .doc-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  max-width: var(--container-w);
  margin-inline: auto;
  padding: 24px 20px 48px;
}

.page-disclaimer .doc-index {
  border-left: 2px solid var(--color-cyan);
  background: rgba(0, 229, 255, 0.04);
  padding: 14px 16px;
}

.page-disclaimer .doc-index-title {
  margin: 0 0 10px;
  font-family: var(--font-heading);
  font-size: 14px;
  letter-spacing: 0.1em;
  color: var(--dis-code);
}

.page-disclaimer .doc-index-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-disclaimer .doc-index-list li {
  margin: 0;
  padding: 0;
}

.page-disclaimer .doc-index-list a {
  display: inline-block;
  padding: 6px 0;
  color: var(--dis-text);
  text-decoration: none;
  font-size: 14px;
  border-bottom: 1px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.page-disclaimer .doc-index-list a:hover {
  color: var(--dis-code);
  border-bottom-color: var(--dis-code);
}

.page-disclaimer .doc-main {
  min-width: 0;
}

.page-disclaimer .doc-section {
  border-top: 1px solid var(--dis-line);
  padding: 36px 0 16px;
  scroll-margin-top: 96px;
}

.page-disclaimer .doc-section-heading {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 16px;
}

.page-disclaimer .doc-index-no {
  font-family: var(--font-heading);
  font-size: 13px;
  color: var(--color-pink);
  letter-spacing: 0.08em;
  margin: 0;
}

.page-disclaimer .doc-section-heading h2 {
  font-family: var(--font-heading);
  font-size: 24px;
  line-height: 1.25;
  color: var(--color-white);
  margin: 0;
  letter-spacing: 0.02em;
}

.page-disclaimer .doc-section-body {
  padding-left: 2px;
}

.page-disclaimer .doc-para {
  margin: 0 0 14px;
  font-size: 15px;
  line-height: 1.8;
  color: var(--dis-text);
  max-width: 72ch;
}

.page-disclaimer .doc-para-mark {
  border-left: 3px solid var(--color-cyan);
  background: rgba(0, 229, 255, 0.06);
  padding: 12px 16px;
  margin-left: -16px;
}

.page-disclaimer .doc-callout {
  border: 1px solid var(--dis-line);
  background: rgba(122, 95, 168, 0.12);
  padding: 14px 16px;
  margin: 20px 0;
  max-width: 72ch;
}

.page-disclaimer .doc-callout-pink {
  border-color: rgba(255, 62, 154, 0.5);
  background: rgba(255, 62, 154, 0.07);
}

.page-disclaimer .doc-callout-label {
  font-family: var(--font-heading);
  font-size: 13px;
  letter-spacing: 0.08em;
  color: var(--color-cyan);
  margin: 0 0 6px;
}

.page-disclaimer .doc-callout-pink .doc-callout-label {
  color: var(--color-pink);
}

.page-disclaimer .doc-callout p {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--dis-text);
}

.page-disclaimer .conduct-list {
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
  max-width: 72ch;
}

.page-disclaimer .conduct-list li {
  position: relative;
  padding: 8px 0 8px 28px;
  font-size: 15px;
  line-height: 1.7;
  color: var(--dis-text);
  border-bottom: 1px solid rgba(122, 95, 168, 0.2);
}

.page-disclaimer .conduct-list li:last-child {
  border-bottom: none;
}

.page-disclaimer .conduct-list li::before {
  content: ">";
  position: absolute;
  left: 4px;
  color: var(--dis-code);
  font-family: var(--font-heading);
  font-size: 14px;
}

.page-disclaimer .contact-btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 24px 0 16px;
}

.page-disclaimer .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-decoration: none;
  border: 1px solid transparent;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.page-disclaimer .btn-primary {
  background: var(--color-cyan);
  color: #0A0A1A;
  box-shadow: var(--shadow-cyan);
}

.page-disclaimer .btn-outline {
  background: transparent;
  border-color: var(--dis-line);
  color: var(--dis-text);
}

.page-disclaimer .btn:hover {
  transform: translateY(-2px);
}

.page-disclaimer .doc-para-note {
  font-size: 13px;
  color: var(--dis-muted);
  border-top: 1px dashed var(--dis-line);
  padding-top: 12px;
}

.page-disclaimer .doc-meta {
  margin-top: 40px;
  padding: 18px 0 24px;
  border-top: 1px solid var(--dis-line);
  display: grid;
  gap: 4px;
}

.page-disclaimer .doc-meta p {
  margin: 0;
  font-size: 13px;
  color: var(--dis-muted);
  letter-spacing: 0.02em;
}

@media (min-width: 860px) {
  .page-disclaimer .disclaimer-hero {
    grid-template-columns: 1fr 5fr;
    gap: 24px;
    padding: 44px 32px 32px;
  }

  .page-disclaimer .disclaimer-hero h1 {
    font-size: 44px;
  }

  .page-disclaimer .lead {
    font-size: 17px;
  }

  .page-disclaimer .doc-layout {
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 48px;
    padding: 40px 32px 64px;
  }

  .page-disclaimer .doc-index {
    align-self: start;
    position: sticky;
    top: 96px;
  }

  .page-disclaimer .doc-index-list a {
    font-size: 14px;
  }

  .page-disclaimer .doc-section {
    padding: 42px 0 24px;
  }

  .page-disclaimer .doc-section-heading h2 {
    font-size: 28px;
  }

  .page-disclaimer .doc-para {
    font-size: 16px;
  }
}

@media (min-width: 1200px) {
  .page-disclaimer .disclaimer-hero {
    padding-inline: 40px;
  }

  .page-disclaimer .doc-layout {
    padding-inline: 40px;
  }
}
