/* Hand-written pages added by tools/seo.py (about, mexico). Uses the theme's font variables. */
.sp-page { padding: calc(var(--header-height, 90px) + 4vw) 6vw 6vw; }
.sp-page-inner { max-width: 860px; margin: 0 auto; }
.sp-page h1 { font-family: var(--heading-font-font-family); font-size: clamp(2rem, 4.5vw, 3.4rem); line-height: 1.1; margin: 0 0 1.5rem; }
.sp-page h2 { font-family: var(--heading-font-font-family); font-size: clamp(1.4rem, 2.6vw, 2rem); line-height: 1.2; margin: 3.5rem 0 1rem; }
.sp-page h3 { font-family: var(--heading-font-font-family); font-size: clamp(1.1rem, 1.8vw, 1.35rem); line-height: 1.3; margin: 2rem 0 .5rem; }
/* Match the project pages' paragraph type (theme p rules are more specific than a plain .sp-page p). */
.sp-page .sp-page-inner p, .sp-page .sp-page-inner dt, .sp-page .sp-page-inner dd { font-family: "Capitolina Light", serif; font-size: 1.1rem; line-height: 1.6; color: rgb(23, 48, 104); }
.sp-page .sp-page-inner p { margin: 0 0 1rem; }
.sp-page a { text-decoration: underline; text-underline-offset: .2em; }
.sp-page .sp-page-inner .sp-eyebrow { text-transform: uppercase; letter-spacing: .15em; font-size: .8rem !important; margin-bottom: .75rem !important; }
.sp-page .sp-page-inner .sp-lede { font-size: 1.25rem !important; }
.sp-figure { margin: 2.5rem 0; }
.sp-figure img { display: block; width: 100%; height: auto; }
.sp-facts { display: grid; grid-template-columns: max-content 1fr; gap: .6rem 2rem; margin: 0; }
.sp-page .sp-page-inner .sp-facts dt { font-family: "Trakya Sans 500 Regular", sans-serif; font-size: .95rem; }
.sp-facts dd { margin: 0; }
@media (max-width: 600px) { .sp-facts { grid-template-columns: 1fr; gap: .2rem; } .sp-facts dd { margin-bottom: .8rem; } }
.sp-footnav { display: flex; font-family: "Capitolina Light", serif; flex-wrap: wrap; justify-content: center; gap: .5rem 1.75rem; padding: 0 6vw 2.5rem; font-size: .9rem; letter-spacing: .05em; }
.sp-footnav a { text-decoration: none; }
.sp-footnav a:hover { text-decoration: underline; }
