@font-face {
  font-family: 'Fredoka';
  src: url('assets/fredoka.woff2') format('woff2');
  font-weight: 300 700;
  font-display: swap;
}
:root { --navy: #2B1A5A; }
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: 'Fredoka', system-ui, sans-serif;
  font-size: 18px;
  line-height: 1.55;
  color: var(--navy);
  background: radial-gradient(circle at 1px 1px, rgba(123, 47, 247, 0.12) 1.5px, transparent 0) 0 0 / 22px 22px, #F4EEFF;
}
a { color: #C2187A; font-weight: 600; }
.hero {
  text-align: center;
  padding: 40px 20px 46px;
  background: linear-gradient(135deg, #7B2FF7, #F107A3 55%, #FF9A00);
  border-bottom: 5px solid var(--navy);
}
.hero.small { padding: 18px 20px 20px; }
.logo {
  width: min(440px, 80vw);
  background: #fff;
  border: 5px solid var(--navy);
  border-radius: 28px;
  box-shadow: 0 8px 0 var(--navy);
  padding: 10px 24px;
}
.hero.small .logo { width: 200px; padding: 4px 12px; border-radius: 18px; box-shadow: 0 5px 0 var(--navy); }
.tagline { color: #fff; font-size: clamp(32px, 6vw, 52px); font-weight: 700; margin: 20px 0 0; text-shadow: 0 3px 0 var(--navy); }
.sub { color: #fff; font-size: 20px; margin: 4px 0 0; }
.doc { max-width: 820px; margin: 0 auto; padding: 28px 20px 40px; }
.doc h1 { font-size: 40px; margin: 0; }
.doc h2 { font-size: 24px; margin: 30px 0 6px; }
.meta { opacity: 0.7; margin-top: 2px; }
.callout {
  background: #fff;
  border: 4px solid var(--navy);
  border-radius: 20px;
  box-shadow: 0 5px 0 var(--navy);
  padding: 14px 18px;
  margin: 20px 0;
}
.shot { width: 100%; border: 5px solid var(--navy); border-radius: 20px; box-shadow: 0 8px 0 var(--navy); display: block; }
.features { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 12px; margin: 28px 0; }
.features div {
  background: #fff; border: 4px solid var(--navy); border-radius: 18px; box-shadow: 0 4px 0 var(--navy);
  display: flex; flex-direction: column; align-items: center; padding: 10px;
}
.features span { font-size: 34px; }
footer { text-align: center; padding: 20px; border-top: 3px solid #E8DEFF; }
