.page-disclaimer{
  --terms-pad:clamp(1.25rem,3vw,2.1rem);
  --terms-line:rgba(10,26,47,.14);
  --terms-radius:14px;
  --terms-bg-card:#fff;
  background:
    linear-gradient(rgba(10,26,47,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(10,26,47,.03) 1px,transparent 1px);
  background-size:32px 32px;
  background-color:var(--cream);
  color:var(--ink);
  padding:clamp(1.25rem,3vw,2rem) 0 4.5rem;
  position:relative
}

.page-disclaimer .breadcrumbs{
  margin-bottom:clamp(1.25rem,3vw,2rem)
}

.page-disclaimer .disclaimer-hero{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:1rem;
  padding:clamp(1.5rem,4vw,2.75rem) 0 2rem;
  border-bottom:2px solid var(--deep-blue);
  overflow:hidden
}

.page-disclaimer .disclaimer-hero::before{
  content:"";
  position:absolute;
  left:0;
  top:8%;
  bottom:10%;
  width:6px;
  border-radius:4px;
  background:linear-gradient(180deg,var(--electric-green),var(--amber))
}

.page-disclaimer .disclaimer-hero__block{
  padding-left:clamp(1rem,3vw,2rem);
  position:relative;
  z-index:2
}

.page-disclaimer .disclaimer-hero h1{
  font-family:var(--font-head);
  font-size:clamp(2.2rem,5vw,3.8rem);
  font-weight:700;
  letter-spacing:.02em;
  line-height:.95;
  margin:.4rem 0 .65rem;
  color:var(--deep-blue)
}

.page-disclaimer .disclaimer-hero__lead{
  font-size:1.02rem;
  line-height:1.8;
  color:var(--slate);
  max-width:56ch;
  margin:0
}

.page-disclaimer .disclaimer-hero__code{
  position:absolute;
  right:-1rem;
  bottom:-.6rem;
  display:flex;
  align-items:center;
  gap:.55rem;
  font-family:var(--font-data);
  font-size:clamp(2.6rem,9vw,4.6rem);
  font-weight:700;
  line-height:1;
  color:transparent;
  -webkit-text-stroke:1px rgba(10,26,47,.18);
  pointer-events:none;
  z-index:0;
  white-space:nowrap;
  letter-spacing:.08em
}

.page-disclaimer .disclaimer-hero__code i{
  display:block;
  width:10px;
  height:10px;
  background:var(--amber);
  border-radius:50%;
  -webkit-text-stroke:0
}

.terms-layout{
  display:block
}

.terms-main{
  margin-top:2rem
}

.terms-main__bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:.55rem .85rem;
  background:rgba(10,26,47,.05);
  border:1px solid var(--terms-line);
  border-radius:8px 8px 0 0;
  font-size:.82rem;
  letter-spacing:.08em;
  color:var(--slate)
}

.terms-main__bar .terms-main__label{
  font-family:var(--font-data);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:600;
  color:var(--deep-blue)
}

.terms-main__bar .terms-main__count{
  font-family:var(--font-data);
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--slate);
  opacity:.85
}

.terms-block{
  background:var(--terms-bg-card);
  border:1px solid var(--terms-line);
  border-top:none;
  transition:background .2s var(--ease)
}

.terms-block[open]{
  background:#fff
}

.terms-block summary{
  list-style:none;
  display:flex;
  align-items:baseline;
  gap:.6rem;
  padding:.9rem .5rem .9rem .85rem;
  cursor:pointer;
  transition:background .2s var(--ease)
}

.terms-block summary::-webkit-details-marker{
  display:none
}

.terms-block summary:hover{
  background:rgba(10,26,47,.04)
}

.terms-block summary:focus-visible{
  outline:2px solid var(--amber);
  outline-offset:-2px;
  border-radius:6px
}

.terms-block__num{
  font-family:var(--font-data);
  font-size:1.35rem;
  font-weight:700;
  color:var(--amber);
  line-height:1
}

.terms-block__title{
  font-family:var(--font-head);
  font-size:clamp(1.35rem,2.5vw,1.7rem);
  font-weight:700;
  letter-spacing:.03em;
  color:var(--deep-blue);
  line-height:1.1
}

.terms-block__hint{
  display:none;
  margin-left:auto;
  font-family:var(--font-data);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--slate);
  opacity:.75;
  white-space:nowrap
}

.terms-block__chevron{
  flex:0 0 auto;
  width:1.1em;
  height:1.1em;
  position:relative
}

.terms-block__chevron::after{
  content:"▾";
  position:absolute;
  inset:0;
  font-size:1rem;
  color:var(--slate);
  text-align:center;
  transition:transform .25s var(--ease)
}

.terms-block[open] .terms-block__chevron::after{
  transform:rotate(180deg)
}

.terms-block__content{
  padding:.15rem 1rem 1.75rem 1.25rem;
  max-width:68ch
}

.terms-block__content p{
  font-size:.97rem;
  line-height:1.85;
  color:var(--ink);
  margin:0 0 .85rem;
  overflow-wrap:break-word
}

.terms-block__content p:last-child{
  margin-bottom:0
}

.terms-block__list{
  margin:1rem 0 0;
  padding-left:0;
  list-style:none;
  display:grid;
  gap:.5rem
}

.terms-block__list li{
  position:relative;
  padding-left:1.85rem;
  font-size:.95rem;
  line-height:1.7;
  color:var(--ink)
}

.terms-block__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.58em;
  width:9px;
  height:9px;
  background:var(--electric-green);
  border-radius:2px;
  box-shadow:0 0 0 2px rgba(57,255,20,.14)
}

.terms-block__note{
  margin-top:1.35rem;
  border-left:3px solid var(--electric-green);
  background:var(--mist);
  border-radius:0 10px 10px 0;
  padding:1rem 1.1rem 1rem 1.25rem
}

.terms-block__note--amber{
  border-left-color:var(--amber);
  background:rgba(255,107,0,.08)
}

.terms-block__note-label{
  display:block;
  font-family:var(--font-data);
  font-weight:700;
  font-size:.85rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--deep-blue);
  margin-bottom:.4rem
}

.terms-block__note p{
  font-size:.9rem;
  color:var(--slate);
  line-height:1.75;
  margin:0
}

.terms-block__alert{
  margin-top:1.4rem;
  border:1px solid rgba(255,107,0,.55);
  border-radius:10px;
  background:rgba(255,107,0,.07);
  padding:1rem 1.15rem;
  font-size:.94rem;
  line-height:1.75;
  color:var(--ink)
}

.terms-block__alert strong{
  color:var(--deep-blue);
  font-weight:700;
  margin-right:.25em
}

.terms-aside{
  display:grid;
  gap:1rem;
  margin-top:clamp(1.75rem,5vw,2.5rem)
}

.terms-aside__card{
  background:var(--terms-bg-card);
  border:1px solid var(--line);
  border-radius:var(--terms-radius);
  overflow:hidden;
  box-shadow:0 4px 20px rgba(10,26,47,.06)
}

.terms-aside__media{
  position:relative;
  aspect-ratio:3/4;
  overflow:hidden;
  background:var(--mist)
}

.terms-aside__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  max-width:100%
}

.terms-aside__media-label{
  position:absolute;
  left:1rem;
  bottom:1rem;
  background:rgba(10,26,47,.84);
  color:var(--cream);
  font-family:var(--font-data);
  font-size:.82rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:.4rem .9rem;
  border-radius:6px;
  backdrop-filter:blur(4px)
}

.terms-aside__body{
  padding:1.1rem 1.15rem 1.25rem
}

.terms-aside__title{
  font-family:var(--font-head);
  font-size:1.1rem;
  font-weight:700;
  color:var(--deep-blue);
  letter-spacing:.04em;
  margin:0 0 .8rem;
  line-height:1.2
}

.terms-aside__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.35rem
}

.terms-aside__list a{
  display:flex;
  align-items:baseline;
  gap:.45rem;
  color:var(--ink);
  text-decoration:none;
  font-size:.94rem;
  font-weight:500;
  padding:.32rem .15rem;
  border-bottom:1px dashed var(--line);
  transition:color .2s var(--ease)
}

.terms-aside__list a:hover{
  color:var(--amber)
}

.terms-aside__card--dark{
  background:var(--deep-blue);
  color:var(--cream);
  border-color:var(--deep-blue);
  padding:1.25rem 1.25rem 1.4rem;
  position:relative;
  overflow:hidden
}

.terms-aside__card--dark::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg,var(--electric-green),transparent 75%)
}

.terms-aside__card--dark::after{
  content:"";
  position:absolute;
  right:-3rem;
  bottom:-3rem;
  width:10rem;
  height:10rem;
  border-radius:50%;
  background:rgba(57,255,20,.06);
  pointer-events:none
}

.terms-aside__kicker{
  font-family:var(--font-data);
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--electric-green);
  margin:0 0 .7rem;
  display:flex;
  align-items:center;
  gap:.5rem
}

.terms-aside__stat{
  font-family:var(--font-head);
  font-size:1.28rem;
  font-weight:700;
  color:#fff;
  line-height:1.25;
  margin:0 0 .55rem;
  letter-spacing:.02em
}

.terms-aside__desc{
  font-size:.86rem;
  line-height:1.75;
  color:rgba(245,241,232,.82);
  margin:0
}

.terms-aside__divider{
  height:1px;
  background:rgba(255,255,255,.16);
  margin:.9rem 0
}

.terms-aside__links{
  display:grid;
  gap:.5rem
}

.terms-aside__links a{
  display:flex;
  align-items:center;
  gap:.5rem;
  color:var(--ink);
  text-decoration:none;
  font-weight:600;
  font-size:.94rem;
  padding:.6rem .85rem;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--cream);
  transition:all .2s var(--ease)
}

.terms-aside__links a::after{
  content:"→";
  margin-left:auto;
  color:var(--amber);
  font-weight:700;
  transition:color .2s var(--ease)
}

.terms-aside__links a:hover{
  border-color:var(--deep-blue);
  background:var(--deep-blue);
  color:var(--cream)
}

.terms-aside__links a:hover::after{
  color:var(--electric-green)
}

@media (min-width:640px){
  .page-disclaimer .terms-block__hint{
    display:inline
  }

  .page-disclaimer .terms-aside{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .page-disclaimer .terms-aside__card--dark{
    grid-column:1/-1
  }

  .page-disclaimer .terms-block__content{
    padding-left:1.6rem
  }

  .page-disclaimer .terms-block summary{
    padding-left:1.15rem
  }
}

@media (min-width:1024px){
  .page-disclaimer{
    padding-top:2.75rem
  }

  .page-disclaimer .disclaimer-hero{
    flex-direction:row;
    align-items:flex-end;
    justify-content:space-between
  }

  .page-disclaimer .disclaimer-hero__block{
    padding-left:2rem
  }

  .page-disclaimer .disclaimer-hero__code{
    position:static;
    flex-shrink:0;
    font-size:clamp(3rem,6vw,4.8rem);
    padding-bottom:.1em;
    padding-right:.5rem
  }

  .terms-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    gap:clamp(1.5rem,4vw,3rem);
    align-items:start;
    margin-top:0
  }

  .terms-main{
    margin-top:2.25rem
  }

  .terms-main__bar{
    position:sticky;
    top:1rem;
    z-index:10;
    border-radius:8px 8px 0 0;
    backdrop-filter:blur(8px)
  }

  .terms-aside{
    margin-top:2.25rem;
    grid-template-columns:1fr;
    position:sticky;
    top:2rem
  }

  .terms-aside__card--dark{
    grid-column:auto
  }

  .terms-aside__media{
    aspect-ratio:auto;
    min-height:320px;
    max-height:420px
  }
}

@media (prefers-reduced-motion:reduce){
  .page-disclaimer *,
  .page-disclaimer *::before,
  .page-disclaimer *::after{
    transition:none!important;
    animation:none!important
  }
}
