/* Custom styles supplementing Tailwind CDN */

/* Bump the whole rem scale ~9% so every Tailwind size (text-*, p-*, gap-*, etc.)
   grows proportionally — headers AND cards both get larger without redesign. */
html { font-size: 19.5px; }

/* Body type tightening at the larger size */
body { font-family: 'Plus Jakarta Sans', ui-sans-serif, system-ui, sans-serif; letter-spacing: -0.005em; }

/* Display font (used by .font-display utility on headings, logo, hero, cards) */
.font-display {
  font-family: 'Fraunces', Georgia, serif;
  font-optical-sizing: auto;
  letter-spacing: -0.015em;
}

/* Make hero/section headings noticeably larger and tighter than Tailwind defaults */
h1.font-display, .h1-display { line-height: 1.05; letter-spacing: -0.02em; }
h2.font-display, .h2-display { line-height: 1.1;  letter-spacing: -0.015em; }

/* Article body content */
.prose-vcd { color: #44403c; line-height: 1.75; font-size: 1.075rem; }
.prose-vcd h2 {
  font-family: 'Fraunces', Georgia, serif;
  color: #0E3A2A;
  font-size: 1.95rem;
  line-height: 1.15;
  margin-top: 2.25rem;
  margin-bottom: 0.85rem;
  font-weight: 700;
  letter-spacing: -0.015em;
}
.prose-vcd h3 {
  font-family: 'Fraunces', Georgia, serif;
  color: #16432d;
  font-size: 1.45rem;
  line-height: 1.2;
  margin-top: 1.75rem;
  margin-bottom: 0.55rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.prose-vcd p { margin-bottom: 1.1rem; }
.prose-vcd ul, .prose-vcd ol { margin-left: 1.35rem; margin-bottom: 1.1rem; }
.prose-vcd ul { list-style-type: disc; }
.prose-vcd ol { list-style-type: decimal; }
.prose-vcd li { margin-bottom: 0.45rem; }
.prose-vcd a { color: #1F5A3D; text-decoration: underline; }
.prose-vcd strong { color: #0E3A2A; }

/* Reduce motion respect */
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* Spacer so sticky CTA never covers footer content on mobile */
@media (max-width: 1023px) { body { padding-bottom: 64px; } }

/* Hover-intent: keep dropdowns open briefly */
.group:hover > div { transition: opacity 0.15s ease, visibility 0.15s ease; }

/* Card polish: any rounded card with the standard shadow gets a hair more
   internal breathing room so the bigger type doesn't feel cramped. */
.rounded-2xl.shadow,
.rounded-2xl.shadow-lg,
.rounded-2xl.shadow-xl,
.rounded-2xl.shadow-2xl,
.rounded-xl.shadow,
.rounded-xl.shadow-lg {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

/* Crawlable age gate: content is in the document; interaction is blocked
   until the signed verification state is confirmed by the server and JS. */
.age-overlay { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 1rem; background: rgba(14,58,42,.88); }
.age-overlay__panel { width: min(100%, 32rem); padding: 2rem; border-radius: 1rem; background: #faf7f1; color: #292524; box-shadow: 0 25px 50px rgba(0,0,0,.35); }
.age-overlay--dismissed { display: none; }
.age-overlay--verified { display: none; }
