:root {
  --navy: #0F0640;
  --navy2: #1A0A73;
  --green: #5BE37A;
  --orange: #F3921F;
  --blue: #2F7BFF;
  --light: #F6F4FF;
  --white: #FFFFFF;
  font-family: 'Nunito', system-ui, sans-serif;
  color: var(--navy);
  background: var(--light);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; }
a { color: var(--navy2); }
a:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
.container { width: min(100% - 2rem, 1100px); margin-inline: auto; }
.skip-link { position: absolute; top: -100px; left: 1rem; z-index: 10; padding: .7rem 1rem; background: var(--green); color: var(--navy); }
.skip-link:focus { top: 1rem; }
.site-header { background: var(--navy); color: var(--white); border-bottom: 4px solid var(--green); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 88px; }
.brand { display: flex; align-items: center; gap: .6rem; color: var(--white); text-decoration: none; font-family: 'Fredoka', 'Nunito', sans-serif; font-weight: 700; font-size: 1.22rem; line-height: 1.05; }
.brand img { width: 74px; height: 69px; object-fit: contain; flex: 0 0 auto; }
.brand small { display: block; font-family: 'Nunito', sans-serif; font-size: .7rem; letter-spacing: .04em; text-transform: uppercase; margin-top: .2rem; }
.site-header nav { display: flex; align-items: center; gap: 1rem; }
.site-header nav a { color: var(--white); font-weight: 800; text-decoration-thickness: 2px; text-underline-offset: 4px; padding: .65rem .2rem; }
.site-header nav a:hover { color: var(--green); }
.legal-main { background: var(--light); padding: 2rem 0 5rem; }
.legal-main .container { max-width: 860px; }
.legal-back { display: inline-flex; align-items: center; min-height: 44px; font-weight: 800; margin-bottom: 1.25rem; }
.legal-copy { background: var(--white); border-top: 8px solid var(--green); border-radius: 18px; padding: clamp(1.25rem, 5vw, 3rem); box-shadow: 0 12px 40px rgba(15, 6, 64, .12); }
.legal-copy h1 { font-family: 'Fredoka', 'Nunito', sans-serif; color: var(--navy2); font-size: clamp(2rem, 6vw, 3.2rem); line-height: 1.08; margin: 0 0 .8rem; }
.legal-copy > p:nth-child(2) { color: var(--navy2); font-weight: 800; border-bottom: 2px solid var(--light); padding-bottom: 1.5rem; margin: 0 0 1.5rem; }
.legal-copy p, .legal-copy li { line-height: 1.75; font-size: 1.02rem; }
.legal-copy p { margin: 1.3rem 0; }
.legal-copy strong { color: var(--navy2); }
.legal-copy ul { padding-left: 1.5rem; }
.legal-copy li { margin-bottom: .5rem; }
.legal-copy table { display: block; overflow-x: auto; width: 100%; border-collapse: collapse; margin: 1rem 0 1.75rem; }
.legal-copy th, .legal-copy td { min-width: 170px; padding: .7rem .8rem; text-align: left; vertical-align: top; border: 1px solid var(--navy2); line-height: 1.55; }
.legal-copy th { background: var(--navy2); color: var(--white); }
.legal-copy tbody tr:nth-child(even) { background: var(--light); }
.site-footer { background: var(--navy); color: var(--white); padding: 2.5rem 0; }
.footer-grid { display: flex; justify-content: space-between; align-items: flex-start; gap: 1.5rem; }
.footer-brand { font-family: 'Fredoka', 'Nunito', sans-serif; font-size: 1.45rem; }
.site-footer p { line-height: 1.5; }
.footer-links { display: flex; flex-direction: column; gap: .75rem; }
.footer-links a { color: var(--green); font-weight: 800; min-height: 36px; }
.site-footer .made-by { display: inline-flex; align-items: center; gap: .5rem; min-height: 58px; color: var(--white); text-decoration: none; font-size: .74rem; white-space: nowrap; }
.site-footer .made-by img { width: 58px; height: 58px; object-fit: contain; background: #fff; border-radius: 8px; padding: 3px; }
.site-footer .made-by:hover img { box-shadow: 0 0 0 2px var(--green); }
.site-footer .made-by:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
@media (max-width: 600px) {
  .header-inner { min-height: 80px; flex-wrap: wrap; padding: .5rem 0; }
  .brand { font-size: 1rem; }
  .brand img { width: 60px; height: 56px; }
  .site-header nav { gap: .7rem; }
  .site-header nav a { font-size: .84rem; }
  .footer-grid { flex-direction: column; }
  .legal-main { padding: 1.2rem 0 3rem; }
}
