/* Base reset and design tokens */
html, body { margin: 0; padding: 0; }
/* Ensure the page background always fills the viewport */
html { background: linear-gradient(130deg, var(--sage) 0%, var(--ivory) 45%, var(--rose) 100%); background-attachment: fixed; }
* { box-sizing: border-box; }

:root {
  --ivory: #FFF7F4;
  --rose: #FADDE1;
  --sage: #C0D6C1;
  --forest: #40513B;
  --provio-green: #8DC63F;
}

body {
  font-family: 'Inter', 'Segoe UI', 'Roboto', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', sans-serif;
  color: #333;
  background: transparent;
  line-height: 1.6;
  min-height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow-x: hidden;
  /* Reduce font-swap layout jump by aligning fallback metrics with Inter */
  font-size-adjust: 0.525;
}

h1 { font: 700 2.4rem/1.2 'Poppins', sans-serif; color: var(--forest); margin: 0.4rem; font-size-adjust: 0.52; }
h2 { font: italic 1.25rem/1.4 'PT Serif', serif; color: #555; font-weight: normal; margin: 0.4rem; font-size-adjust: 0.46; }
p { font-size: 1rem; margin: 0.4rem; }

/* Reduce default blockquote margins globally and prevent large collapsed gaps */
blockquote { 
  margin: 0.1rem 0 0.4rem 0; /* remove large UA indents; keep modest bottom space */
  padding-left: 0; 
}
blockquote > p:first-child { margin-top: 0.1rem; }
blockquote > p:last-child { margin-bottom: 0.1rem; }
blockquote cite { display: block; margin-top: 0.2rem; }

a.inline-link { position: relative; font-weight: 600; color: var(--forest); text-decoration: none; padding-bottom: 2px; }
a.inline-link::after { content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 2px; background: var(--provio-green); transform: scaleX(0); transform-origin: left; transition: transform 0.3s ease; }
a.inline-link:hover::after { transform: scaleX(1); }
a.inline-link:hover { color: var(--provio-green); }

