.page-disclaimer{
  --terms-orange:#FF6B00;
  --terms-paper:#F4E9D8;
  --terms-grid-line:rgba(42,59,90,.14);
  position:relative;
  background-image:
    linear-gradient(var(--terms-grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--terms-grid-line) 1px, transparent 1px);
  background-size:56px 56px;
  overflow:hidden;
}

.page-disclaimer .bs-breadcrumb{
  padding-top:28px;
}

.page-disclaimer .terms-hero{
  position:relative;
  padding-top:64px;
  padding-bottom:40px;
  max-width:980px;
}

.page-disclaimer .terms-hero__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:32px;
}

.page-disclaimer .terms-alert{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  flex:none;
  background:var(--terms-orange);
  color:var(--bs-bg);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%);
}

.page-disclaimer .terms-hero h1{
  margin:0 0 24px;
  color:var(--bs-text);
}

.page-disclaimer .terms-lead{
  color:var(--bs-text-2);
  font-size:18px;
  line-height:1.7;
  max-width:680px;
  margin:0;
}

.page-disclaimer .terms-figure{
  margin:8px 0 56px;
}

.page-disclaimer .terms-figure img{
  display:block;
  max-width:100%;
  width:300px;
  height:auto;
  aspect-ratio:5 / 3;
  object-fit:cover;
  border-radius:16px 4px 20px 4px;
  border:1px solid var(--bs-border);
}

.page-disclaimer .terms-figure__cap{
  margin-top:12px;
}

.page-disclaimer .terms-layout{
  display:grid;
  gap:48px;
  padding-top:16px;
  padding-bottom:88px;
}

.page-disclaimer .terms-toc{
  align-self:start;
}

.page-disclaimer .terms-toc__label{
  display:block;
  font-family:var(--bs-mono);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--bs-text-2);
  margin-bottom:12px;
}

.page-disclaimer .terms-toc ol{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.page-disclaimer .terms-toc a{
  display:inline-block;
  font-family:var(--bs-mono);
  font-size:12px;
  line-height:1;
  color:var(--bs-text-2);
  text-decoration:none;
  padding:8px 12px;
  border:1px solid var(--bs-border);
  border-radius:999px;
  transition:color .2s,border-color .2s;
}

.page-disclaimer .terms-toc a:hover,
.page-disclaimer .terms-toc a:focus-visible{
  color:var(--bs-text);
  border-color:var(--bs-accent);
}

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

.page-disclaimer .terms-clause{
  padding:56px 0 64px;
  border-top:1px solid var(--bs-border);
  display:grid;
  gap:20px;
}

.page-disclaimer .terms-clause:first-child{
  border-top:0;
  padding-top:0;
}

.page-disclaimer .terms-clause__head{
  display:flex;
  align-items:center;
  gap:14px;
}

.page-disclaimer .terms-clause__index{
  font-family:var(--bs-mono);
  font-size:22px;
  line-height:1;
  color:var(--terms-orange);
}

.page-disclaimer .terms-clause__body h2{
  font-size:clamp(24px,4vw,34px);
  font-weight:600;
  line-height:1.2;
  letter-spacing:-.01em;
  color:var(--bs-text);
  margin:0 0 20px;
}

.page-disclaimer .terms-clause__body p{
  font-size:16px;
  line-height:1.8;
  color:var(--bs-text-2);
  margin:0 0 18px;
  max-width:65ch;
}

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

.page-disclaimer .terms-clause__body a{
  color:var(--bs-accent);
  text-decoration:underline;
  text-underline-offset:4px;
}

.page-disclaimer .terms-clause--paper{
  background:var(--terms-paper);
  border-top:0;
  border-radius:24px 6px 28px 6px;
  padding:36px 24px;
  margin:8px 0;
}

.page-disclaimer .terms-clause--paper .terms-clause__index,
.page-disclaimer .terms-clause--paper h2,
.page-disclaimer .terms-clause--paper p{
  color:#0B1B3A;
}

.page-disclaimer .cut-highlight{
  background:rgba(255,107,0,.12);
  border-left:3px solid var(--terms-orange);
  border-radius:0 16px 16px 0;
  padding:20px 22px;
  margin:24px 0;
}

.page-disclaimer .cut-highlight__num{
  font-family:var(--bs-mono);
  font-size:12px;
  letter-spacing:.1em;
  color:rgba(255,107,0,.9) !important;
  margin-bottom:8px;
}

.page-disclaimer .terms-contact{
  list-style:none;
  margin:24px 0 32px;
  padding:0;
  display:grid;
  gap:10px;
}

.page-disclaimer .terms-contact li{
  position:relative;
  font-size:16px;
  line-height:1.6;
  color:var(--bs-text-2);
  padding-left:22px;
}

.page-disclaimer .terms-contact li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:7px;
  height:7px;
  background:var(--bs-accent);
  transform:rotate(45deg);
}

@media (min-width:768px){
  .page-disclaimer .terms-hero{
    padding-top:88px;
  }

  .page-disclaimer .terms-clause{
    grid-template-columns:72px minmax(0,1fr);
    gap:28px;
  }

  .page-disclaimer .terms-clause--paper{
    padding:48px 40px;
    margin:16px 0;
  }
}

@media (min-width:1080px){
  .page-disclaimer .terms-layout{
    grid-template-columns:220px minmax(0,820px);
    align-items:start;
    justify-content:start;
    gap:88px;
    padding-top:24px;
  }

  .page-disclaimer .terms-toc{
    position:sticky;
    top:40px;
  }

  .page-disclaimer .terms-toc ol{
    display:block;
    border-left:1px solid var(--bs-border);
  }

  .page-disclaimer .terms-toc li{
    margin-bottom:4px;
  }

  .page-disclaimer .terms-toc a{
    display:block;
    border:0;
    border-radius:0;
    padding:10px 0 10px 20px;
    border-left:1px solid transparent;
    margin-left:-1px;
    white-space:nowrap;
  }

  .page-disclaimer .terms-toc a:hover,
  .page-disclaimer .terms-toc a:focus-visible{
    border-left-color:var(--bs-accent);
  }
}
