@import url('https://fonts.cdnfonts.com/css/satoshi');

:root{
  --marine:#023540;
  --page-bg-top:#FAF8F3;
  --page-bg-bottom:#F4F1E8;
  --ivory:#fffef5;
  --ink:#092629;
  --ink-strong:#02191d;
  --text-muted:#355b59;
  --text-muted-soft:#4a6567;
  --gold:#E5A64A;
  --border:#e6ded0;
  --card-border:rgba(208,176,106,0.44);
  --radius-card:18px;
  --shadow-plaque:0 1px 2px rgba(45,42,36,0.05), 0 2px 11px rgba(7,59,58,0.06);
  --page-bg-image:
    radial-gradient(ellipse at 50% 0%, transparent 42%, rgba(9,38,41,0.045) 100%),
    linear-gradient(180deg, var(--page-bg-top) 0%, var(--page-bg-bottom) 100%);
  --brand-bar-height:62px;
  --content-max:1100px;
  --legal-max:760px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-8:32px;
  --space-12:48px;
}

*,*::before,*::after{box-sizing:border-box}

html{
  background-color:var(--page-bg-top);
}

body{
  margin:0;
  min-height:100%;
  display:flex;
  flex-direction:column;
  background-color:var(--page-bg-top);
  background-image:var(--page-bg-image);
  color:var(--ink);
  font-family:'Satoshi', ui-sans-serif, system-ui, -apple-system, sans-serif;
  font-size:1rem;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

.container{
  max-width:var(--content-max);
  margin:0 auto;
  padding:0 var(--space-5);
}

.site-brand-bar{
  height:var(--brand-bar-height);
  background:var(--marine);
  box-shadow:0 1px 0 rgba(255,255,255,0.05) inset, 0 2px 10px rgba(2,25,29,0.1);
}

.site-brand-bar__inner{
  display:flex;
  align-items:center;
  height:100%;
}

.site-brand-bar__home{
  display:inline-flex;
  align-items:center;
  line-height:0;
  text-decoration:none;
  color:inherit;
  border-radius:8px;
}

.site-brand-bar__home:hover{
  text-decoration:none;
}

.site-brand-bar__home:focus-visible{
  outline:none;
  box-shadow:0 0 0 2px var(--marine), 0 0 0 4px var(--gold);
}

.site-brand-bar .wordmark{
  width:min(140px, 38vw);
  height:auto;
  max-height:calc(var(--brand-bar-height) - 20px);
  display:block;
  transform:translateX(-5px);
}

.legal-page{
  flex:1;
  padding:var(--space-8) 0 var(--space-12);
}

.legal-page__inner{
  max-width:var(--legal-max);
  margin:0 auto;
}

.legal-card{
  background:linear-gradient(180deg, rgba(255,253,245,0.97) 0%, rgba(249,243,228,0.95) 100%);
  border:1px solid var(--card-border);
  border-radius:var(--radius-card);
  padding:clamp(var(--space-6), 4vw, var(--space-8)) clamp(var(--space-5), 3.5vw, var(--space-6));
  box-shadow:var(--shadow-plaque);
}

.legal-card h1{
  margin:0 0 var(--space-2);
  font-size:clamp(1.75rem, 4vw, 2rem);
  font-weight:700;
  line-height:1.15;
  letter-spacing:-0.03em;
  color:var(--ink-strong);
}

.legal-card .meta{
  margin:0 0 var(--space-6);
  font-size:0.875rem;
  line-height:1.5;
  color:var(--text-muted-soft);
}

.legal-card h2{
  margin:var(--space-8) 0 var(--space-3);
  font-size:clamp(1.125rem, 2.5vw, 1.375rem);
  font-weight:600;
  line-height:1.3;
  letter-spacing:-0.02em;
  color:var(--ink-strong);
}

.legal-card h2:first-of-type{
  margin-top:var(--space-6);
}

.legal-card p{
  margin:0 0 var(--space-4);
  font-size:0.9375rem;
  line-height:1.65;
  color:var(--text-muted-soft);
}

.legal-card ul{
  margin:0 0 var(--space-4);
  padding-left:1.25rem;
  font-size:0.9375rem;
  line-height:1.65;
  color:var(--text-muted-soft);
}

.legal-card li{
  margin:0 0 var(--space-2);
}

.legal-card li:last-child{
  margin-bottom:0;
}

.legal-card a{
  color:var(--marine);
  text-decoration:underline;
  text-underline-offset:2px;
  transition:color 0.2s ease;
}

.legal-card a:hover{
  color:var(--text-muted);
}

.legal-card code{
  background:rgba(255,246,224,0.85);
  border:1px solid rgba(230,222,208,0.8);
  padding:0.1em 0.4em;
  border-radius:6px;
  font-size:0.875em;
  color:var(--ink);
}

.legal-card .footer,
.legal-card .legal-note{
  margin:var(--space-8) 0 0;
  font-size:0.875rem;
  line-height:1.5;
  color:var(--text-muted-soft);
}

.site-footer{
  text-align:center;
  padding:var(--space-5) 0 var(--space-8);
  font-size:0.875rem;
  line-height:1.5;
  background:var(--marine);
  color:rgba(255,254,245,0.82);
}

.site-footer a{
  color:var(--gold);
  text-decoration:none;
  transition:color 0.2s ease, text-decoration-color 0.2s ease;
}

.site-footer a:hover{
  text-decoration:underline;
}

@media (min-width:640px){
  .site-brand-bar .wordmark{
    width:min(156px, 34vw);
  }
}

@media (max-width:520px){
  :root{
    --brand-bar-height:60px;
  }

  .legal-page{
    padding:var(--space-6) 0 var(--space-8);
  }
}

@media print{
  body{
    background:#fff;
    color:#000;
  }

  .site-brand-bar,
  .site-footer{
    display:none;
  }

  .legal-card{
    box-shadow:none;
    border-color:#ddd;
  }
}
