/* Shared styling for the privacy and terms pages.
   Same palette and type as the birthday page, set for long-form reading. */
:root{
  --navy:#003b57; --navy-deep:#004261; --green:#6da000; --gold:#c98600;
  --ink:#0f2530; --soft:#40606f; --faint:#6d8794;
  --page:#eef3f5; --card:#ffffff; --rule:#d6e2e7;
  --note:#f2f8e6; --note-edge:#cfe3a6;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --navy:#8fd3f0; --navy-deep:#a9dff5; --green:#a8dd3d; --gold:#ffc45c;
    --ink:#e6f1f6; --soft:#a9c2cd; --faint:#7e9aa7;
    --page:#0a171e; --card:#11242e; --rule:#203b48;
    --note:#152a1c; --note-edge:#33562c;
  }
}
:root[data-theme="dark"]{
  --navy:#8fd3f0; --navy-deep:#a9dff5; --green:#a8dd3d; --gold:#ffc45c;
  --ink:#e6f1f6; --soft:#a9c2cd; --faint:#7e9aa7;
  --page:#0a171e; --card:#11242e; --rule:#203b48;
  --note:#152a1c; --note-edge:#33562c;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--page);
  color:var(--ink);
  font-family:"Source Sans 3","Segoe UI",system-ui,-apple-system,sans-serif;
  font-size:17px;
  line-height:1.68;
}
.wrap{max-width:44rem;margin:0 auto;padding:2.5rem 1.15rem 4rem}

.sheet{
  background:var(--card);
  border:1px solid var(--rule);
  border-radius:14px;
  padding:2.2rem 2rem;
}

h1{
  font-family:Newsreader,Georgia,"Times New Roman",serif;
  font-weight:600;font-size:2.3rem;line-height:1.15;
  color:var(--navy);margin:0 0 .3rem;letter-spacing:-.012em;text-wrap:balance;
}
.eff{color:var(--faint);font-size:.87rem;margin:0 0 2rem}

h2{
  font-family:Newsreader,Georgia,serif;font-weight:600;
  font-size:1.35rem;line-height:1.25;color:var(--navy);
  margin:2.4rem 0 .5rem;text-wrap:balance;
}
h3{font-size:1.02rem;font-weight:700;margin:1.5rem 0 .3rem;color:var(--ink)}
p{margin:0 0 1rem;color:var(--soft)}
p strong,li strong{color:var(--ink);font-weight:600}
a{color:var(--navy);font-weight:600}
ul{margin:0 0 1rem;padding-left:1.25rem;color:var(--soft)}
li{margin-bottom:.45rem}

.key{
  background:var(--note);
  border:1px solid var(--note-edge);
  border-radius:12px;
  padding:1.1rem 1.3rem;
  margin:1.4rem 0;
}
.key p{color:var(--ink);margin-bottom:0}
.key p+p{margin-top:.7rem}

dl.contact{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1.1rem;margin:.6rem 0 0;font-size:.96rem}
dl.contact dt{font-weight:700;color:var(--ink);white-space:nowrap}
dl.contact dd{margin:0;color:var(--soft);overflow-wrap:anywhere}

.backlink{
  display:inline-block;margin-bottom:1.5rem;font-size:.9rem;
  color:var(--navy);text-decoration:none;font-weight:600;
}
.backlink:hover{text-decoration:underline}

footer.legal{
  margin-top:2.5rem;padding-top:1.4rem;border-top:1px solid var(--rule);
  text-align:center;color:var(--faint);font-size:.83rem;line-height:1.6;
}
footer.legal a{color:var(--navy);font-weight:600;text-decoration:none}
footer.legal a:hover{text-decoration:underline}
footer.legal .sep{margin:0 .45rem;opacity:.5}

@media (max-width:34rem){
  body{font-size:16px}
  h1{font-size:1.85rem}
  .sheet{padding:1.6rem 1.2rem}
  .wrap{padding:2rem 1rem 3rem}
  dl.contact{grid-template-columns:1fr;gap:.1rem}
  dl.contact dd{margin-bottom:.5rem}
}
