/* Hedgie site. Self-hosted fonts, no scripts, nothing loaded from another host. */
@font-face { font-family: "Fredoka"; font-weight: 600; font-display: swap;
  src: url("fonts/Fredoka-SemiBold.ttf") format("truetype"); }
@font-face { font-family: "Nunito Sans"; font-weight: 400; font-display: swap;
  src: url("fonts/NunitoSans-Regular.ttf") format("truetype"); }
@font-face { font-family: "Nunito Sans"; font-weight: 700; font-display: swap;
  src: url("fonts/NunitoSans-Bold.ttf") format("truetype"); }

:root {
  --bg: #F4EEE4;          /* Oat */
  --surface: #FFFDF8;
  --text: #17223A;        /* Midnight */
  --text-2: #4A5366;
  --link: #215B96;        /* App blue */
  --honey: #F5B942;
  --line: #E4DACB;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #17223A; --surface: #1F2C48; --text: #F4EEE4; --text-2: #BCC4D3;
    --link: #8FC0F0; --line: #2E3D5E;
  }
}
:root[data-theme="dark"] {
  --bg: #17223A; --surface: #1F2C48; --text: #F4EEE4; --text-2: #BCC4D3;
  --link: #8FC0F0; --line: #2E3D5E;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--bg); color: var(--text);
  font: 400 1.0625rem/1.6 "Nunito Sans", system-ui, sans-serif;
}
a { color: var(--link); text-underline-offset: 3px; }
a:hover { text-decoration-color: var(--honey); text-decoration-thickness: 2px; }

.wrap { max-width: 720px; margin: 0 auto; padding: 0 16px; }

header.top { display: flex; align-items: center; justify-content: space-between;
  gap: 16px; padding: 20px 0; }
.wordmark { display: block; height: 34px; width: auto; }
nav.lang { font-weight: 700; font-size: .95rem; white-space: nowrap; }
nav.lang a { padding: 8px 4px; }

h1, h2, h3 { font-family: "Fredoka", "Nunito Sans", system-ui, sans-serif;
  font-weight: 600; letter-spacing: -.5px; line-height: 1.1; }
h1 { font-size: clamp(2rem, 6vw, 2.75rem); margin: 8px 0 12px; }
h2 { font-size: 1.45rem; margin: 40px 0 8px; }
h3 { font-size: 1.15rem; margin: 0 0 6px; }
.lede { font-size: 1.2rem; color: var(--text-2); margin: 0 0 24px; }
.muted { color: var(--text-2); }

.hero { display: grid; gap: 8px; justify-items: start; padding: 16px 0 8px; }
.mascot { width: min(240px, 60vw); height: auto; }

.card { background: var(--surface); border: 1px solid var(--line);
  border-radius: 20px; padding: 20px 22px; margin: 14px 0; }
.card p:last-child, .card ul:last-child { margin-bottom: 0; }
.card p:first-child { margin-top: 0; }

.points { list-style: none; padding: 0; margin: 24px 0; display: grid; gap: 12px; }
.points li { background: var(--surface); border: 1px solid var(--line);
  border-radius: 16px; padding: 14px 18px; }
.points b { display: block; }

.pill { display: inline-block; font-weight: 700; font-size: .9rem;
  border: 2px solid var(--honey); border-radius: 999px; padding: 6px 14px; }

.contact { font-weight: 700; font-size: 1.15rem; }

/* Two languages, no script: English shows by default, #pt swaps to Portuguese. */
.lang-pt { display: none; }
#pt:target { display: block; }
#pt:target ~ #en { display: none; }

footer { border-top: 1px solid var(--line); margin-top: 56px; padding: 24px 0 40px;
  font-size: .95rem; color: var(--text-2); }
footer a { margin-right: 16px; }
