/* Midnight Gold, as in lib/shared/theme_objects.dart: Newsreader + Geist, champagne gold on the night sky. */
:root{
  --bg-top:#3B4170;
  --bg-mid:#1E2139;
  --bg-bottom:#14162A;
  --ink:#F2ECE1;
  --muted:#A09DB6;
  --gold:#E2C792;
  --hairline:rgba(255,255,255,.1);
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{background:var(--bg-bottom)}
body{
  background:radial-gradient(130% 90% at 50% -12%, var(--bg-top) 0%, var(--bg-mid) 54%, var(--bg-bottom) 100%) no-repeat;
  background-color:var(--bg-bottom);
  color:var(--ink);
  font-family:'Geist',system-ui,-apple-system,'Segoe UI',sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  line-height:1.55;
}
a{color:inherit}
main{
  flex:1;
  width:100%;
  max-width:520px;
  margin:0 auto;
  padding:48px 22px 32px;
}
h1,h2{font-family:'Newsreader',Georgia,serif;font-weight:500;letter-spacing:-0.01em}

/* landing */
.home{text-align:center}
.hero{
  display:block;
  width:100%;
  max-width:280px;
  height:auto;
  margin:0 auto 36px;
  border-radius:36px;
  border:1px solid var(--hairline);
  box-shadow:0 30px 60px -28px rgba(0,0,0,.85), 0 0 80px -20px rgba(226,199,146,.18);
}
.home h1{font-size:54px;line-height:1;margin:0 0 14px}
.tagline{
  font-size:18px;
  color:var(--ink);
  opacity:.82;
  max-width:360px;
  margin:0 auto 32px;
}
.cta-stack{display:flex;flex-direction:column;gap:12px;align-items:center;margin:0 0 36px}
.cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:260px;
  padding:16px 28px;
  border-radius:999px;
  background:linear-gradient(180deg,#F1E1BC 0%,#DCC08A 55%,#C8A469 100%);
  color:#21180A;
  font-weight:600;
  font-size:16px;
  text-decoration:none;
  box-shadow:0 14px 26px -14px rgba(0,0,0,.85);
  transition:transform .15s ease, filter .15s ease;
}
.cta:hover{transform:translateY(-1px);filter:brightness(1.05)}
.contact{font-size:15px;color:var(--muted);margin:0 auto 8px;max-width:360px}
.contact a,.legal a,.doc a{
  text-decoration:none;
  border-bottom:1px solid rgba(226,199,146,.4);
  padding-bottom:1px;
}
.contact a{color:var(--ink)}
.legal{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 24px;font-size:14px;margin:24px 0 16px}
.legal a{color:var(--muted)}
.legal a:hover,.contact a:hover{color:var(--gold)}
footer{
  text-align:center;
  font-size:12px;
  line-height:1.7;
  color:var(--muted);
  opacity:.75;
  padding:20px 22px 36px;
}

/* text pages */
.doc{max-width:640px;padding-top:56px}
.back{display:inline-block;font-size:14px;color:var(--muted);text-decoration:none;margin-bottom:24px}
.back:hover{color:var(--gold)}
.doc h1{font-size:40px;line-height:1.1;margin:0 0 8px}
.doc h2{font-size:24px;margin:34px 0 10px}
.lede{font-size:17px;color:var(--muted);margin:0 0 28px}
.doc p,.doc li{color:rgba(242,236,225,.88)}
.doc p{margin:0 0 14px}
.doc ol,.doc ul{padding-left:22px;margin:0 0 14px}
.doc li{margin:6px 0}
.doc a{color:var(--gold)}
.doc strong{color:var(--ink);font-weight:600}

@media (max-width:480px){
  main{padding:36px 18px 24px}
  .home h1{font-size:44px}
  .tagline{font-size:17px}
  .hero{max-width:200px;margin-bottom:28px;border-radius:28px}
  .cta{min-width:240px;font-size:15px;padding:15px 24px}
  .doc h1{font-size:34px}
}
