@charset "utf-8";

/* =========================================================================
   Legal pages (Imprint, Privacy) — long-form text on top of style.css
   ========================================================================= */

.legal{
  background-color:var(--white);
  padding-block:calc(var(--nav-h) + clamp(2.5rem,6vw,5rem)) var(--section-y);
}

.legal__inner{max-width:52rem;}

.legal__title{
  font-size:clamp(2rem,1.4rem + 3vw,3.5rem);
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.05;
  margin-bottom:.75em;
}

.legal__meta{
  color:var(--grey-600);
  font-size:.875rem;
  margin-bottom:clamp(2rem,4vw,3.5rem);
}

.legal h2{
  font-size:clamp(1.125rem,1rem + .6vw,1.5rem);
  font-weight:700;
  letter-spacing:-.01em;
  margin-top:clamp(2.25rem,4vw,3.25rem);
  margin-bottom:.6em;
}

.legal h3{
  font-size:1rem;
  font-weight:700;
  margin-top:1.75em;
  margin-bottom:.4em;
}

.legal p,
.legal li{
  color:var(--grey-700);
  font-size:clamp(.9375rem,.9rem + .2vw,1.0625rem);
  line-height:1.65;
}

.legal p + p{margin-top:1em;}

.legal ul{
  margin:1em 0 0;
  padding-left:1.25em;
  list-style:disc;
}

.legal li + li{margin-top:.5em;}

.legal a{
  color:var(--teal);
  text-decoration:underline;
  text-underline-offset:.15em;
  transition:color .25s var(--ease);
}

.legal a:hover{color:var(--green);}

/* Address block and other verbatim data */
.legal__address{
  font-style:normal;
  color:var(--grey-700);
  font-size:clamp(.9375rem,.9rem + .2vw,1.0625rem);
  line-height:1.65;
}

/* Key/value table for data-processing overviews */
.legal__table{
  width:100%;
  border-collapse:collapse;
  margin-top:1.25em;
  font-size:clamp(.875rem,.85rem + .2vw,1rem);
}

.legal__table th,
.legal__table td{
  border-top:1px solid var(--grey-300);
  padding:.75em .75em .75em 0;
  text-align:left;
  vertical-align:top;
  color:var(--grey-700);
}

.legal__table th{
  font-weight:700;
  color:var(--grey-900);
  white-space:nowrap;
}

@media (max-width:860px){
  .legal__table,
  .legal__table tbody,
  .legal__table tr,
  .legal__table th,
  .legal__table td{display:block;width:100%;}
  .legal__table th{border-top:1px solid var(--grey-300);padding-bottom:.15em;white-space:normal;}
  .legal__table td{border-top:0;padding-top:0;}
}

/* Data still to be supplied — visible on purpose, must not reach production */
.legal__todo{
  background:#fff6d6;
  border-left:3px solid #e0a800;
  color:var(--grey-900);
  padding:.15em .4em;
  font-weight:700;
  white-space:nowrap;
}

.legal__back{
  display:inline-block;
  margin-top:clamp(2.5rem,5vw,4rem);
  color:var(--teal);
  font-weight:700;
  text-decoration:none;
}

.legal__back:hover{color:var(--green);}
