/* Dino-Expedition – jungle greens, sunset orange, chunky lettering. */
@font-face { font-family: "Luckiest Guy"; src: url("/assets/fonts/luckiest-guy-latin-400-1bce8bd7.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "Nunito"; src: url("/assets/fonts/nunito-latin-wght-8d9cc785.woff2") format("woff2"); font-weight: 300 900; font-display: swap; }

:root {
  --inv-bg:
    radial-gradient(ellipse at 0% 0%, #cfeec0 0%, transparent 45%),
    radial-gradient(ellipse at 100% 20%, #e6f5c8 0%, transparent 45%),
    radial-gradient(ellipse at 50% 110%, #ffd9a0 0%, transparent 55%),
    linear-gradient(180deg, #f3fbe9 0%, #e8f4d6 60%, #fbe8c8 100%);
  --inv-text: #2d4a2a;
  --inv-accent: #2f8f46;
  --inv-accent-soft: #8fd18a;
  --inv-accent-gradient: linear-gradient(135deg, #5cb85c, #2f8f46);
  --inv-highlight: #f4a83a;
  --inv-highlight-strong: #e5642e;
  --inv-highlight-light: #fff3d1;
  --inv-highlight-dark: #7a3e00;
  --inv-title-fill: linear-gradient(110deg, #2f8f46, #7cc05a 30%, #c6e86b 45%, #f4a83a 60%, #2f8f46);
  --inv-title-glow: drop-shadow(0 4px 0 #1f5e2e) drop-shadow(0 8px 14px rgba(47, 143, 70, .3));
  --inv-card-border: linear-gradient(135deg, #7cc05a, #f4a83a, #2f8f46, #c6e86b);
  --inv-card-bg: linear-gradient(180deg, rgba(255, 253, 245, .97), rgba(246, 251, 236, .97));
  --inv-shadow: rgba(47, 100, 40, .18);
  --inv-radius: 22px;
  --inv-font-body: "Nunito", system-ui, sans-serif;
  --inv-font-display: "Luckiest Guy", "Arial Black", sans-serif;
  --inv-font-script: "Luckiest Guy", "Arial Black", sans-serif;
  --inv-font-heading: "Luckiest Guy", "Arial Black", sans-serif;
  --inv-title-size: clamp(3rem, 13vw, 5.6rem);
  --inv-floaters-opacity: .3;
}

.inv-title { letter-spacing: .02em; }
.inv-greeting { font-size: clamp(2rem, 7vw, 2.8rem); letter-spacing: .02em; }
.inv-signature { font-size: 2rem; }
.inv-age-side { font-style: normal; letter-spacing: .03em; }
.inv-age-badge { border-radius: 46% 54% 50% 50% / 58% 58% 42% 42%; background: radial-gradient(circle at 35% 30%, #fffbe9, #f4e2b8 70%); }
.inv-age-badge::before { border-radius: inherit; border-style: dotted; border-width: 4px; }
.inv-age-badge span { color: #2f8f46; text-shadow: 0 3px 0 #1f5e2e; }
.inv-detail h3, .inv-gift h3 { letter-spacing: .04em; }
.inv-chips li { border-style: solid; border-color: #c6e86b; }
.inv-text strong, .inv-text b { color: #e5642e; }

/* Small headings stay solid for readability. */
.inv-detail h3, .inv-gift h3 { background: none; color: #2f8f46; filter: none; animation: none; }
