:root{
  --paper:#f7f5ef;
  --ink:#071b2c;
  --line:#d9e3e8;
  --accent:#00b6d4;
  --content:920px;
}

body{
  background:var(--paper);
  color:var(--ink);
}

.legal-wrap{
  width:min(var(--content),calc(100% - 48px));
  margin:0 auto;
}

.legal-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:28px 0;
  border-bottom:1px solid var(--line);
}

.legal-header nav a{
  text-decoration:none;
  color:var(--ink);
  font-weight:600;
}

.legal-hero{
  padding:72px 0 48px;
  border-bottom:1px solid var(--line);
}

.eyebrow{
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.78rem;
  color:#4d6a78;
  margin-bottom:16px;
}

.legal-hero h1{
  font-size:clamp(2.8rem,6vw,4.8rem);
  line-height:.95;
  margin:0 0 18px;
}

.legal-intro{
  max-width:720px;
  font-size:1.15rem;
  line-height:1.7;
  color:#4d6472;
}

.legal-meta{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:36px;
}

.legal-meta dt{
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:#6c8794;
}

.legal-meta dd{
  margin:8px 0 0;
  font-weight:600;
}

.legal-document{
  padding:64px 0 96px;
}

.legal-document section{
  margin-bottom:56px;
}

.legal-document h2{
  font-size:2rem;
  margin-bottom:18px;
}

.legal-document h3{
  margin-top:30px;
  margin-bottom:10px;
  font-size:1.2rem;
}

.legal-document p,
.legal-document li,
.legal-document address{
  line-height:1.8;
  font-size:1.05rem;
  color:#314b58;
}

.legal-document address{
  font-style:normal;
}

.legal-document a{
  color:#006f96;
}

.legal-footer{
  border-top:1px solid var(--line);
  padding:32px 0;
}

.legal-footer .legal-wrap{
  display:flex;
  gap:32px;
}

.legal-footer a{
  color:var(--ink);
  text-decoration:none;
}

@media (max-width:900px){

  .legal-meta{
    grid-template-columns:1fr;
    gap:18px;
  }

  .legal-wrap{
    width:calc(100% - 32px);
  }

  .legal-hero{
    padding:48px 0 32px;
  }

  .legal-document{
    padding:40px 0 64px;
  }
}
@media (max-width: 700px) {
  .legal-header {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 72px !important;
    padding: 14px 16px !important;
  }

  .legal-header .brand {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    transform: none !important;
  }

  .legal-header .brand img {
    display: block !important;
    width: 82px !important;
    max-width: 82px !important;
    height: auto !important;
    object-fit: contain !important;
  }

  .legal-header nav {
    position: static !important;
    margin: 0 !important;
  }

  .legal-header nav a {
    font-size: 0.78rem !important;
    white-space: nowrap !important;
  }

  .legal-hero {
    padding-top: 54px !important;
  }

  .legal-hero .eyebrow {
    margin-top: 0 !important;
  }
}