/* ============================================================
   SWISS / legal layer. Loads on top of swiss.css.
   Covers /privacy and /terms, which share one markup shape.
   ============================================================ */

.header{
  display:flex;align-items:center;
  height:64px;padding:0 clamp(20px,4vw,56px);
  max-width:1320px;margin:0 auto;
  border-bottom:1px solid var(--rule);
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.92);backdrop-filter:blur(8px);
}
.nav-logo{
  font-size:16px;font-weight:700;letter-spacing:.02em;
  color:var(--ink);text-decoration:none;
}

.container{
  max-width:820px;margin:0 auto;
  padding:clamp(48px,8vw,110px) clamp(20px,4vw,56px) clamp(56px,8vw,100px);
}
.container h1{
  font-size:clamp(38px,6vw,80px);
  line-height:1.0;letter-spacing:-.035em;font-weight:700;
  text-wrap:balance;
}
.last-updated{
  margin-top:20px;padding-bottom:clamp(32px,4.5vw,52px);
  border-bottom:1px solid var(--rule);
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  font-weight:500;color:var(--faint);
}
.container h2{
  font-size:clamp(21px,2.4vw,30px);
  letter-spacing:-.02em;line-height:1.12;font-weight:700;
  margin:2.2em 0 .6em;text-wrap:balance;
}
.container > p,.container li{
  font-size:16px;line-height:1.65;color:var(--ink);
}
.container > p{margin-bottom:1.1em;max-width:40em;}
.container ul,.container ol{
  margin:0 0 1.3em 0;padding-left:1.15em;max-width:40em;
}
.container li{margin-bottom:.55em;}
.container li::marker{color:var(--accent);}
.container a{
  color:var(--ink);text-decoration:none;
  border-bottom:1px solid var(--accent);
}
.container a:hover{color:var(--accent);}
.container strong{font-weight:700;}

/* .card blocks: hairline rectangles, no shadow, no radius */
.card{
  border:1px solid var(--rule);
  border-radius:0;background:var(--paper);
  padding:clamp(22px,3vw,34px);
  margin:clamp(24px,3.5vw,40px) 0;
}
.card p:last-child,.card ul:last-child{margin-bottom:0;}

/* footer */
.site-footer{
  border-top:1px solid var(--rule);
  max-width:820px;margin:0 auto;
  padding:40px clamp(20px,4vw,56px) 56px;
  text-align:left;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  font-weight:500;color:var(--faint);
}
.site-footer a{
  color:var(--ink);text-decoration:none;
  border-bottom:1px solid var(--rule);
}
.site-footer a:hover{color:var(--accent);border-color:var(--accent);}
.footer-social{
  display:flex;justify-content:flex-start;gap:14px;margin-top:24px;
}
.social-btn{
  width:38px;height:38px;border-radius:0;
  display:inline-flex;align-items:center;justify-content:center;
  background:transparent;color:var(--ink);
  border:1px solid var(--rule);text-decoration:none;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.social-btn svg{width:18px;height:18px;display:block;}
.social-btn:hover,.social-btn:focus-visible{
  background:var(--ink);color:#fff;border-color:var(--ink);transform:none;
}
.social-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
