@font-face { font-family: Fredoka; src: url(/fonts/Fredoka_600SemiBold.ttf) format('truetype'); font-weight: 600; font-display: swap; }
@font-face { font-family: Nunito; src: url(/fonts/Nunito_400Regular.ttf) format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: Nunito; src: url(/fonts/Nunito_700Bold.ttf) format('truetype'); font-weight: 700; font-display: swap; }

:root {
  --bg: #FFF7EF; --card: #FFFFFF; --ink: #1F2D2A; --soft: #5E6E69;
  --primary: #1F8A70; --on-primary: #FFFFFF; --mint: #DDF1EA; --line: #EADFD3; --amber-bg: #FFF1DC;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #121314; --card: #1E2022; --ink: #EEF1F0; --soft: #A7B0AD; --primary: #45C29F; --on-primary: #10201B; --mint: #1D3530; --line: #2C2F31; --amber-bg: #2A2418; }
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 400 19px/1.55 Nunito, system-ui, sans-serif; }
a { color: var(--primary); font-weight: 700; }
h1, h2, h3 { font-family: Fredoka, Nunito, system-ui, sans-serif; font-weight: 600; line-height: 1.15; margin: 0 0 .5em; }
h1 { font-size: clamp(36px, 7vw, 56px); }
h2 { font-size: clamp(26px, 4.5vw, 34px); }
h3 { font-size: 22px; }
p { margin: 0 0 1em; }
.wrap { max-width: 960px; margin: 0 auto; padding: 0 22px; }
.narrow { max-width: 720px; }

header.top { display: flex; align-items: center; gap: 12px; padding: 18px 0; }
header.top img { width: 44px; height: 44px; border-radius: 12px; }
header.top a { color: var(--ink); text-decoration: none; font-family: Fredoka, sans-serif; font-size: 26px; font-weight: 600; }

.hero { display: grid; grid-template-columns: 1.3fr 1fr; gap: 24px; align-items: center; padding: 28px 0 40px; }
.hero .lead { font-size: 22px; color: var(--soft); }
.hero .tome { width: 100%; max-width: 320px; justify-self: center; }
@media (max-width: 720px) { .hero { grid-template-columns: 1fr; } .hero .tome { max-width: 200px; grid-row: 1; } }

.btn { display: inline-block; background: var(--primary); color: var(--on-primary); text-decoration: none; padding: 16px 28px; border-radius: 999px; font-size: 20px; font-weight: 700; }
.btn.soft { background: var(--mint); color: var(--ink); }
.note { font-size: 16px; color: var(--soft); margin-top: 10px; }

.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; margin: 18px 0 48px; }
.card { background: var(--card); border: 1px solid var(--line); border-radius: 24px; padding: 22px; }
.card p { margin: 0; color: var(--soft); }
.card.mint { background: var(--mint); border-color: transparent; }
.card.warm { background: var(--amber-bg); border-color: transparent; }

.precos { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; margin: 18px 0 48px; }
.precos ul { margin: 0; padding-left: 1.2em; }
.preco { font-family: Fredoka, sans-serif; font-size: 28px; margin: 4px 0 10px; }

section { padding: 8px 0; }
footer { border-top: 1px solid var(--line); margin-top: 40px; padding: 24px 0 40px; font-size: 16px; color: var(--soft); }
footer a { margin-right: 18px; }

.doc h2 { font-size: 26px; margin-top: 1.6em; }
.doc ul, .doc ol { padding-left: 1.2em; }
.doc li { margin-bottom: .4em; }
