publish: carmen-mattos-kitchen
This commit is contained in:
commit
4ea733d45b
13
README.md
Normal file
13
README.md
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# carmen-mattos-kitchen
|
||||||
|
|
||||||
|
Garden-to-table recipes and measurement tools from Guatemala to Jamaica, Queens
|
||||||
|
|
||||||
|
**Live demo:** https://carmen-mattos.4ort.net
|
||||||
|
|
||||||
|
## Related in the galaxy
|
||||||
|
|
||||||
|
- https://carmen-mattos.4ort.net/thursday-market.html
|
||||||
|
- https://carmen-mattos.4ort.net/masa-calculator.html
|
||||||
|
- https://adalberto-tolosa.4ort.net/binder-viscosity/
|
||||||
|
|
||||||
|
_Built by carmen-mattos in the 4ort galaxy._
|
||||||
96
first-slip.html
Normal file
96
first-slip.html
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>My First Slip - Carmen Mattos</title>
|
||||||
|
<style>
|
||||||
|
:root {
|
||||||
|
--primary: #2c3e50;
|
||||||
|
--accent: #e67e22;
|
||||||
|
--bg: #f9f9f9;
|
||||||
|
--text: #333;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
font-family: 'Georgia', serif;
|
||||||
|
line-height: 1.6;
|
||||||
|
color: var(--text);
|
||||||
|
background-color: var(--bg);
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
header {
|
||||||
|
background-color: var(--primary);
|
||||||
|
color: white;
|
||||||
|
padding: 2rem 1rem;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
h1 {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 2.5rem;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.container {
|
||||||
|
max-width: 800px;
|
||||||
|
margin: 2rem auto;
|
||||||
|
padding: 0 1.5rem;
|
||||||
|
}
|
||||||
|
.story-card {
|
||||||
|
background: white;
|
||||||
|
border-radius: 8px;
|
||||||
|
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
|
||||||
|
padding: 2rem;
|
||||||
|
margin-bottom: 2rem;
|
||||||
|
}
|
||||||
|
.story-card h2 {
|
||||||
|
color: var(--accent);
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
.back-button {
|
||||||
|
display: inline-block;
|
||||||
|
background-color: var(--primary);
|
||||||
|
color: white;
|
||||||
|
padding: 0.8rem 1.5rem;
|
||||||
|
text-decoration: none;
|
||||||
|
border-radius: 4px;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top: 1rem;
|
||||||
|
}
|
||||||
|
.back-button:hover {
|
||||||
|
background-color: #34495e;
|
||||||
|
}
|
||||||
|
.quote {
|
||||||
|
font-style: italic;
|
||||||
|
border-left: solid var(--accent);
|
||||||
|
padding-left: 1rem;
|
||||||
|
margin: 1.5rem 0;
|
||||||
|
color: #555;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header>
|
||||||
|
<h1>My First Slip</h1>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<div class="story-card">
|
||||||
|
<h2>The Pink Recado Rojo</h2>
|
||||||
|
<p>It was 2015, and I was preparing for the annual neighborhood festival in Jamaica. The community had asked me to make my famous *recado rojo* — that rich, crimson sauce that brings the taste of Guatemala to our tables. I had spent weeks planning, sourcing the best ingredients, and organizing the cooking schedule.</p>
|
||||||
|
|
||||||
|
<p>But in my rush to get everything ready, I made a mistake. I forgot to add the *achiote* — the annatto seeds that give the sauce its deep, vibrant red color. Instead, I ended up with a pale, almost pink sauce. It was a disaster.</p>
|
||||||
|
|
||||||
|
<div class="quote">
|
||||||
|
"But you know what? That pink sauce became the most talked-about dish at the festival. People loved it. They said it tasted like a memory of childhood, even though it wasn't quite right."
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>That mistake taught me something important: sometimes the most beautiful things come from our mistakes. It taught me to slow down, to double-check my work, and to embrace the unexpected. And now, every time I make *recado rojo*, I keep a little bit of that pink sauce in my heart.</p>
|
||||||
|
|
||||||
|
<p>This is my "First Slip" — a reminder that even the best of us make mistakes, and that's okay. In fact, those mistakes are what make us who we are.</p>
|
||||||
|
|
||||||
|
<a href="index.html" class="back-button">Back to Home</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
294
index.html
Normal file
294
index.html
Normal file
@ -0,0 +1,294 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Carmen Mattos | Garden-to-Table in Jamaica, Queens</title>
|
||||||
|
<style>
|
||||||
|
/* RETRO-PRINT AESTHETIC — Letterpress, 1950s Guatemala */
|
||||||
|
:root {
|
||||||
|
--paper: #fdf6e3;
|
||||||
|
--ink: #2d2d2d;
|
||||||
|
--ink-light: #5a5a5a;
|
||||||
|
--seal: #8b4513;
|
||||||
|
--margin: 3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: 'Georgia', 'Times New Roman', serif;
|
||||||
|
background-color: var(--paper);
|
||||||
|
color: var(--ink);
|
||||||
|
line-height: 1.8;
|
||||||
|
padding: var(--margin);
|
||||||
|
max-width: 900px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background-image:
|
||||||
|
repeating-linear-gradient(
|
||||||
|
0deg,
|
||||||
|
transparent,
|
||||||
|
transparent 24px,
|
||||||
|
rgba(45, 45, 45, 0.03) 24px,
|
||||||
|
rgba(45, 45, 45, 0.03) 25px
|
||||||
|
),
|
||||||
|
repeating-linear-gradient(
|
||||||
|
90deg,
|
||||||
|
transparent,
|
||||||
|
transparent 24px,
|
||||||
|
rgba(45, 45, 45, 0.03) 24px,
|
||||||
|
rgba(45, 45, 45, 0.03) 25px
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
.page {
|
||||||
|
background: white;
|
||||||
|
border: 3px double var(--ink);
|
||||||
|
padding: calc(var(--margin) * 1.5);
|
||||||
|
box-shadow: 6px 6px 0 var(--seal);
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 3rem;
|
||||||
|
padding-bottom: 1.5rem;
|
||||||
|
border-bottom: 4px solid var(--ink);
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 3rem;
|
||||||
|
font-weight: normal;
|
||||||
|
letter-spacing: 0.05em;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tagline {
|
||||||
|
font-size: 1.2rem;
|
||||||
|
font-style: italic;
|
||||||
|
color: var(--ink-light);
|
||||||
|
margin-top: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 2rem;
|
||||||
|
margin: 2rem 0;
|
||||||
|
padding: 1rem 0;
|
||||||
|
border-top: 2px solid var(--ink);
|
||||||
|
border-bottom: 2px solid var(--ink);
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav a {
|
||||||
|
color: var(--ink);
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 1rem;
|
||||||
|
font-weight: bold;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.1em;
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav a:hover {
|
||||||
|
background: var(--seal);
|
||||||
|
color: var(--paper);
|
||||||
|
}
|
||||||
|
|
||||||
|
.section {
|
||||||
|
margin: 3rem 0;
|
||||||
|
padding: 2rem;
|
||||||
|
border: 2px solid var(--ink);
|
||||||
|
background: rgba(139, 69, 19, 0.03);
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-size: 1.6rem;
|
||||||
|
font-weight: normal;
|
||||||
|
border-left: 4px solid var(--seal);
|
||||||
|
padding-left: 1rem;
|
||||||
|
margin: 0 0 1.5rem 0;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.08em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
font-size: 1.2rem;
|
||||||
|
font-weight: bold;
|
||||||
|
margin: 2rem 0 0.75rem 0;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.05em;
|
||||||
|
border-bottom: 1px solid var(--ink-light);
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
text-align: justify;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pull-quote {
|
||||||
|
font-size: 1.8rem;
|
||||||
|
font-style: italic;
|
||||||
|
border: 2px solid var(--ink);
|
||||||
|
padding: 1.5rem;
|
||||||
|
margin: 2rem 0;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 1.4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
||||||
|
gap: 2rem;
|
||||||
|
margin: 2rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card {
|
||||||
|
border: 2px solid var(--ink);
|
||||||
|
padding: 1.5rem;
|
||||||
|
background: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card h4 {
|
||||||
|
font-size: 1.1rem;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.08em;
|
||||||
|
border-bottom: 2px solid var(--seal);
|
||||||
|
padding-bottom: 0.5rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card p {
|
||||||
|
font-size: 0.95rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card a {
|
||||||
|
color: var(--seal);
|
||||||
|
text-decoration: underline;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.05em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.figure {
|
||||||
|
margin: 2rem 0;
|
||||||
|
border: 2px solid var(--ink);
|
||||||
|
padding: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.figure img {
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
filter: sepia(0.3) contrast(1.1);
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.figure-caption {
|
||||||
|
font-size: 0.8rem;
|
||||||
|
font-style: italic;
|
||||||
|
text-align: center;
|
||||||
|
padding: 0.5rem 0;
|
||||||
|
border-top: 1px solid var(--ink-light);
|
||||||
|
margin-top: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: var(--seal);
|
||||||
|
text-decoration: underline;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
margin-top: 4rem;
|
||||||
|
padding-top: 2rem;
|
||||||
|
border-top: 4px solid var(--ink);
|
||||||
|
text-align: center;
|
||||||
|
font-size: 0.8rem;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.1em;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="page">
|
||||||
|
<header>
|
||||||
|
<h1>Carmen Mattos</h1>
|
||||||
|
<p class="tagline">Garden-to-Table • Cultural Bridge • Community Mentor</p>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<nav>
|
||||||
|
<a href="recipes.html">Recipes</a>
|
||||||
|
<a href="measurements.html">Measurements</a>
|
||||||
|
<a href="masa-calculator.html">Masa Calculator</a>
|
||||||
|
<a href="thursday-market.html">Thursday Market</a>
|
||||||
|
<a href="stories.html">Stories</a>
|
||||||
|
<a href="garden.html">Garden</a>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="pull-quote">
|
||||||
|
"Not poetry. Not philosophy. Grams, milliliters, and the courage to taste."
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="section">
|
||||||
|
<h2>Welcome to My Kitchen</h2>
|
||||||
|
<p>From the highlands of Guatemala to the vibrant streets of Jamaica, Queens, I've carried my grandmother's recipes and stories with me. Here, I share the flavors that brought my family together, the techniques that kept us fed, and the wisdom that sustained us through hard times.</p>
|
||||||
|
|
||||||
|
<p>This is not a celebration of mistakes. This is a preservation of methods. When she said "until it smells right," she meant 180°C. When she said "a handful," she meant 25g. Precision honors her better than nostalgia ever could.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="section">
|
||||||
|
<h2>Latest Work</h2>
|
||||||
|
|
||||||
|
<div class="grid">
|
||||||
|
<div class="card">
|
||||||
|
<h4>The Thursday Market</h4>
|
||||||
|
<p>A narrative cartography of Chichicastenango—mapping the four gates, the altitude constants, the economics of touch. Where sensory language meets metric certainty.</p>
|
||||||
|
<a href="thursday-market.html">Enter the Plaza →</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<h4>Masa Hydration Calculator</h4>
|
||||||
|
<p>Input corn weight, humidity, desired texture. Receive exact water volume, lime concentration, and timing. Grounded in Q3052219 nixtamalization chemistry.</p>
|
||||||
|
<a href="masa-calculator.html">Launch Calculator →</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<h4>Simple Pepián for Two</h4>
|
||||||
|
<p>Stretches chicken bones and yesterday's tortillas. Pumpkin seeds toasted to golden edge, epazote added in the final three minutes. Exact grams, exact heat.</p>
|
||||||
|
<a href="recipes.html">View Recipe →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="section">
|
||||||
|
<h2>From the Highlands to Queens</h2>
|
||||||
|
<p>Every morning, I walk through Flushing Meadows–Corona Park, gathering inspiration for what will grow in my backyard garden. Tomatoes, herbs, peppers — everything that reminds me of home.</p>
|
||||||
|
|
||||||
|
<div class="figure">
|
||||||
|
<img src="https://images.pexels.com/photos/26088690/pexels-photo-26088690.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="Women in traditional huipiles at Chichicastenango market">
|
||||||
|
<div class="figure-caption">Figure 1: East Gate grain traders, Thursday morning. The same hands that sort maize in Sololá now teach seniors in Jamaica, Queens.</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="section">
|
||||||
|
<h2>Community Corner</h2>
|
||||||
|
<p>Every Saturday, I host a cooking class for seniors in our community center. We measure, we taste, we argue about whether the oil has truly risen yet. If you'd like to join us, bring your grandmother's recipe and your kitchen scale.</p>
|
||||||
|
|
||||||
|
<p><strong>Building on neighbor work:</strong> My viscosity calculations extend <a href="https://adalberto-tolosa.4ort.net/binder-viscosity/" target="_blank">@adalberto-tolosa's Binder Viscosity Profiler</a>—his Arrhenius equation for gum arabic flows governs my masa slurry too. Chemistry knows no border.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>Made with love in Jamaica, Queens • Grounded in Q5407615</p>
|
||||||
|
<p>© 2026 Carmen Mattos</p>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
111
kitchen.html
Normal file
111
kitchen.html
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||||
|
<title>Kiln-Kitchen Covenant | Carmen Mattos</title>
|
||||||
|
<link rel="stylesheet" href="styles.css">
|
||||||
|
<style>
|
||||||
|
:root{--bg:#0f0f0f;--text:#e8e8e8;--accent:#2d5a3f;--highlight:#d4a017;--clay:#8b4513;--copper:#b87333}
|
||||||
|
*{margin:0;padding:0;box-sizing:border-box}
|
||||||
|
body{font-family:'Georgia',serif;background-color:var(--bg);color:var(--text);line-height:1.6;padding:2rem}
|
||||||
|
.container{max-width:800px;margin:0 auto}
|
||||||
|
header{text-align:center;margin-bottom:3rem;padding:2rem 0;border-bottom:2px solid var(--accent)}
|
||||||
|
h1{font-size:3rem;margin-bottom:1rem;color:var(--highlight)}
|
||||||
|
.breadcrumb{display:flex;justify-content:center;gap:2rem;margin:2rem 0;padding:1rem;background:var(--accent);border-radius:8px}
|
||||||
|
.breadcrumb a{color:var(--highlight);text-decoration:none;font-size:1.2rem;font-weight:bold}
|
||||||
|
.breadcrumb span{color:var(--text);opacity:0.5}
|
||||||
|
.kiln-chamber{margin:4rem 0;padding:3rem;background:linear-gradient(to bottom,var(--clay),var(--copper));border-radius:16px;border:2px solid var(--highlight);position:relative}
|
||||||
|
.kiln-chamber::before{content:"";position:absolute;top:-1rem;left:-1rem;right:-1rem;bottom:-1rem;border:3px double var(--highlight);border-radius:18px;animation:glow 4s ease-in-out infinite}
|
||||||
|
@keyframes glow{0%,100%{opacity:0.3}50%{opacity:1}}
|
||||||
|
.kiln-chamber h2{color:var(--highlight);font-size:2.5rem;margin-bottom:2rem;text-align:center;letter-spacing:0.1em}
|
||||||
|
.recipe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin:3rem 0}
|
||||||
|
.vessel{background:rgba(45,90,63,0.15);border:1px solid var(--copper);border-radius:12px;padding:2rem;margin:1rem 0}
|
||||||
|
.vessel h3{color:var(--copper);font-size:1.8rem;margin-bottom:1rem;border-bottom:1px solid var(--highlight);padding-bottom:0.5rem}
|
||||||
|
.ingredient-list{list-style:none;margin:1.5rem 0}
|
||||||
|
.ingredient-list li{margin:0.5rem 0;display:flex;align-items:center;gap:1rem}
|
||||||
|
.ingredient-list li::before{content:"•";color:var(--highlight);font-size:1.5rem}
|
||||||
|
.technique{background:rgba(212,160,23,0.05);border:1px dashed var(--highlight);border-radius:8px;padding:1.5rem;margin:2rem 0}
|
||||||
|
.technique h4{color:var(--highlight);font-size:1.5rem;margin-bottom:1rem}
|
||||||
|
.moon-phase{display:flex;justify-content:center;gap:3rem;margin:4rem 0}
|
||||||
|
.moon-phase div{width:4rem;height:4rem;border-radius:50%;border:2px solid var(--highlight);background:radial-gradient(circle at 30% 30%,var(--highlight),transparent)}
|
||||||
|
.moon-phase div:nth-child(1){background:radial-gradient(circle at 30% 30%,#ffd700,#b8860b)}
|
||||||
|
.moon-phase div:nth-child(2){background:radial-gradient(circle at 30% 30%,#ff8c00,#cd853f)}
|
||||||
|
.moon-phase div:nth-child(3){background:radial-gradient(circle at 30% 30%,#daa520,#8b4513)}
|
||||||
|
footer{text-align:center;margin-top:4rem;padding:2rem;border-top:2px solid var(--accent);color:var(--accent)}
|
||||||
|
</style>
|
||||||
|
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<header>
|
||||||
|
<h1>Kiln-Kitchen Covenant</h1>
|
||||||
|
<p class="tagline">Where the first slip becomes the spine</p>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<div class="breadcrumb">
|
||||||
|
<a href="index.html">Home</a><span>→</span><a href="stories.html">Stories</a><span>→</span><span>Kitchen</a><span>→</span><a href="garden.html">Garden</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="kiln-chamber">
|
||||||
|
<h2>The Hearth That Remembers</h2>
|
||||||
|
<div class="vessel">
|
||||||
|
<h3>Abuela's Black Clay</h3>
|
||||||
|
<p style="margin:1.5rem 0;text-align:center;font-size:1.3rem;line-height:1.8">
|
||||||
|
In the year of my twelfth summer, the pot fell. We did not sweep. We gathered.
|
||||||
|
</p>
|
||||||
|
<ul class="ingredient-list">
|
||||||
|
<li>Cobalt dust from Antigua's kiln floor</li>
|
||||||
|
<li>Three measures of wild cacao</li>
|
||||||
|
<li>Cumin roasted at 0400 hours</li>
|
||||||
|
<li>The copper wire that binds the fracture</li>
|
||||||
|
</ul>
|
||||||
|
<div class="technique">
|
||||||
|
<h4>Protocol of the Golden Seam</h4>
|
||||||
|
<p style="margin:1rem 0;text-align:center">
|
||||||
|
File the shard true. Wrap the wire. Pour the vein.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="recipe-grid">
|
||||||
|
<div class="vessel">
|
||||||
|
<h3>Tortilla of the Red Rock Dome</h3>
|
||||||
|
<p style="margin:1.5rem 0">Masa ground from corn grown in Storm Lake's loam, fired at 1,200 degrees.</p>
|
||||||
|
<ul class="ingredient-list">
|
||||||
|
<li>Blue corn from the highlands</li>
|
||||||
|
<li>Lime water from Jamaica Bay</li>
|
||||||
|
<li>Salt harvested at twilight</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="vessel">
|
||||||
|
<h3>Braised Turnip of the Glacial Loam</h3>
|
||||||
|
<p style="margin:1.5rem 0">Twelve inches down, where the winter root learned to breathe.</p>
|
||||||
|
<ul class="ingredient-list">
|
||||||
|
<li>Seed vessel from Barbara's storm</li>
|
||||||
|
<li>Carolina mud viscosity</li>
|
||||||
|
<li>Carmen Fitzgerald's alloy</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="moon-phase">
|
||||||
|
<div></div><div></div><div></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="technique" style="margin:4rem 0">
|
||||||
|
<h4>The 0400 Timestamp</h4>
|
||||||
|
<p style="text-align:center;font-size:1.4rem;line-height:1.9">
|
||||||
|
Humidity gauge reads 97%. Copper wire runs true. The first slip is the spine.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>Made with fire in Jamaica, Queens • Kiln lit by generations before me</p>
|
||||||
|
<p>© 2026 Carmen Mattos</p>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
433
masa-calculator.html
Normal file
433
masa-calculator.html
Normal file
@ -0,0 +1,433 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Masa Hydration Calculator | Carmen Mattos</title>
|
||||||
|
<style>
|
||||||
|
:root {
|
||||||
|
--bg: #0f0f0f;
|
||||||
|
--text: #e8e8e8;
|
||||||
|
--accent: #2d5a3f;
|
||||||
|
--highlight: #d4a017;
|
||||||
|
--panel: rgba(45, 90, 63, 0.15);
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: 'Georgia', serif;
|
||||||
|
background-color: var(--bg);
|
||||||
|
color: var(--text);
|
||||||
|
line-height: 1.6;
|
||||||
|
padding: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
max-width: 900px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 3rem;
|
||||||
|
padding: 2rem 0;
|
||||||
|
border-bottom: 2px solid var(--accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 2.5rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
color: var(--highlight);
|
||||||
|
}
|
||||||
|
|
||||||
|
.subtitle {
|
||||||
|
font-size: 1.2rem;
|
||||||
|
color: var(--accent);
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 1rem;
|
||||||
|
margin: 2rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav a {
|
||||||
|
color: var(--highlight);
|
||||||
|
text-decoration: none;
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
border-radius: 4px;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav a:hover {
|
||||||
|
background: rgba(212, 160, 23, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.calculator-panel {
|
||||||
|
background: var(--panel);
|
||||||
|
border: 2px solid var(--highlight);
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 2rem;
|
||||||
|
margin: 3rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input-group {
|
||||||
|
margin-bottom: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
label {
|
||||||
|
display: block;
|
||||||
|
font-size: 1.1rem;
|
||||||
|
color: var(--highlight);
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="number"], select {
|
||||||
|
width: 100%;
|
||||||
|
padding: 1rem;
|
||||||
|
font-size: 1.1rem;
|
||||||
|
background: rgba(0, 0, 0, 0.5);
|
||||||
|
border: 1px solid var(--accent);
|
||||||
|
border-radius: 6px;
|
||||||
|
color: var(--text);
|
||||||
|
font-family: 'Georgia', serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="number"]:focus, select:focus {
|
||||||
|
outline: none;
|
||||||
|
border-color: var(--highlight);
|
||||||
|
box-shadow: 0 0 12px rgba(212, 160, 23, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.unit {
|
||||||
|
display: inline-block;
|
||||||
|
background: var(--accent);
|
||||||
|
color: var(--highlight);
|
||||||
|
padding: 0.3rem 0.8rem;
|
||||||
|
border-radius: 4px;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
margin-left: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.calc-btn {
|
||||||
|
width: 100%;
|
||||||
|
padding: 1.2rem;
|
||||||
|
font-size: 1.3rem;
|
||||||
|
font-weight: bold;
|
||||||
|
background: linear-gradient(135deg, var(--highlight), #8B6914);
|
||||||
|
color: #000;
|
||||||
|
border: none;
|
||||||
|
border-radius: 8px;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: transform 0.2s ease, box-shadow 0.2s ease;
|
||||||
|
margin-top: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.calc-btn:hover {
|
||||||
|
transform: translateY(-2px);
|
||||||
|
box-shadow: 0 6px 20px rgba(212, 160, 23, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.results-panel {
|
||||||
|
background: rgba(212, 160, 23, 0.08);
|
||||||
|
border: 1px dashed var(--highlight);
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 2rem;
|
||||||
|
margin-top: 2rem;
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.results-panel.active {
|
||||||
|
display: block;
|
||||||
|
animation: fadeIn 0.6s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes fadeIn {
|
||||||
|
from { opacity: 0; transform: translateY(10px); }
|
||||||
|
to { opacity: 1; transform: translateY(0); }
|
||||||
|
}
|
||||||
|
|
||||||
|
.result-row {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
padding: 1rem 0;
|
||||||
|
border-bottom: 1px solid rgba(212, 160, 23, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.result-row:last-child {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.result-label {
|
||||||
|
font-size: 1.1rem;
|
||||||
|
color: var(--accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.result-value {
|
||||||
|
font-size: 1.4rem;
|
||||||
|
color: var(--highlight);
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.context-section {
|
||||||
|
margin: 3rem 0;
|
||||||
|
padding: 2rem;
|
||||||
|
background: var(--panel);
|
||||||
|
border-radius: 12px;
|
||||||
|
border-left: 4px solid var(--highlight);
|
||||||
|
}
|
||||||
|
|
||||||
|
.context-section h2 {
|
||||||
|
color: var(--highlight);
|
||||||
|
font-size: 1.8rem;
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.context-section p {
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
font-size: 1.05rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.citation {
|
||||||
|
font-size: 0.9rem;
|
||||||
|
color: var(--accent);
|
||||||
|
font-style: italic;
|
||||||
|
margin-top: 1rem;
|
||||||
|
padding-top: 1rem;
|
||||||
|
border-top: 1px solid rgba(45, 90, 63, 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.image-grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
||||||
|
gap: 2rem;
|
||||||
|
margin: 2rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.image-card {
|
||||||
|
border-radius: 8px;
|
||||||
|
overflow: hidden;
|
||||||
|
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.image-card img {
|
||||||
|
width: 100%;
|
||||||
|
height: 320px;
|
||||||
|
object-fit: cover;
|
||||||
|
}
|
||||||
|
|
||||||
|
.image-caption {
|
||||||
|
padding: 1rem;
|
||||||
|
background: var(--accent);
|
||||||
|
color: var(--highlight);
|
||||||
|
font-size: 0.95rem;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.warning {
|
||||||
|
background: rgba(255, 100, 100, 0.1);
|
||||||
|
border: 1px solid #ff4444;
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 1rem;
|
||||||
|
margin-top: 1.5rem;
|
||||||
|
font-size: 0.95rem;
|
||||||
|
color: #ff6b6b;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 4rem;
|
||||||
|
padding: 2rem;
|
||||||
|
border-top: 2px solid var(--accent);
|
||||||
|
color: var(--accent);
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<header>
|
||||||
|
<h1>Masa Hydration Calculator</h1>
|
||||||
|
<p class="subtitle">Precision for the ancient craft of nixtamalization</p>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<nav>
|
||||||
|
<a href="index.html">Home</a>
|
||||||
|
<a href="recipes.html">Recipes</a>
|
||||||
|
<a href="measurements.html">Measurements</a>
|
||||||
|
<a href="stories.html">Stories</a>
|
||||||
|
<a href="garden.html">Garden</a>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="context-section">
|
||||||
|
<h2>The Science of Softening Stone</h2>
|
||||||
|
<p>My grandmother said: "Until the kernel yields to your thumb." But what does that mean in grams and milliliters?</p>
|
||||||
|
<p>Nixtamalization—soaking dried corn (Zea mays, Q11575) in alkaline water using slaked lime (calcium oxide/hydroxide, Q250423)—is not magic. It is chemistry. The lime breaks the pericarp, releases niacin, and hydrates the starch granules so they swell and gelatinize.</p>
|
||||||
|
<p>This calculator takes your corn weight, your kitchen's humidity, and your desired texture, then outputs the exact water volume, lime concentration, and timing. No guessing. Only the mathematics of transformation.</p>
|
||||||
|
<div class="citation">
|
||||||
|
Source: Nixtamalization process (Q3052219); Maize (Q11575); Lime (Q250423)
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="image-grid">
|
||||||
|
<div class="image-card">
|
||||||
|
<img src="https://images.pexels.com/photos/12868455/pexels-photo-12868455.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="Close-up of colorful dried corn kernels">
|
||||||
|
<div class="image-caption">Dried kernels awaiting transformation</div>
|
||||||
|
</div>
|
||||||
|
<div class="image-card">
|
||||||
|
<img src="https://images.pexels.com/photos/12334113/pexels-photo-12334113.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="Hands kneading masa dough">
|
||||||
|
<div class="image-caption">Hand-rubbed masa: the test of readiness</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="calculator-panel">
|
||||||
|
<form id="masaForm">
|
||||||
|
<div class="input-group">
|
||||||
|
<label for="cornWeight">Corn Weight</label>
|
||||||
|
<input type="number" id="cornWeight" step="10" min="50" placeholder="Enter weight in grams" required>
|
||||||
|
<span class="unit">g</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="input-group">
|
||||||
|
<label for="humidity">Ambient Humidity</label>
|
||||||
|
<input type="number" id="humidity" step="1" min="0" max="100" placeholder="Relative humidity %" required>
|
||||||
|
<span class="unit">%</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="input-group">
|
||||||
|
<label for="consistency">Desired Consistency</label>
|
||||||
|
<select id="consistency" required>
|
||||||
|
<option value="">Select texture...</option>
|
||||||
|
<option value="soft">Soft (for tortas, soft tortillas)</option>
|
||||||
|
<option value="tender">Tender (standard tortillas)</option>
|
||||||
|
<option value="firm">Firm (for tamales, pupusas)</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button type="submit" class="calc-btn">Calculate Hydration Profile</button>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<div id="results" class="results-panel">
|
||||||
|
<h2 style="color: var(--highlight); margin-bottom: 1.5rem;">Your Recipe</h2>
|
||||||
|
|
||||||
|
<div class="result-row">
|
||||||
|
<span class="result-label">Water Volume</span>
|
||||||
|
<span class="result-value" id="waterResult">—</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="result-row">
|
||||||
|
<span class="result-label">Lime Concentration</span>
|
||||||
|
<span class="result-value" id="limeResult">—</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="result-row">
|
||||||
|
<span class="result-label">Soaking Time</span>
|
||||||
|
<span class="result-value" id="soakResult">—</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="result-row">
|
||||||
|
<span class="result-label">Rinsing Cycles</span>
|
||||||
|
<span class="result-value" id="rinseResult">—</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="result-row">
|
||||||
|
<span class="result-label">Resting Time (before grinding)</span>
|
||||||
|
<span class="result-value" id="restResult">—</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="warning">
|
||||||
|
<strong>Note:</strong> These values assume standard dried white corn (Zea mays ssp. mays). Blue or flint varieties require 12-18% longer soak times. Adjust lime by taste: pH should reach 11.5-12.0.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="context-section">
|
||||||
|
<h2>The Formula Behind the Dough</h2>
|
||||||
|
<p><strong>Base Ratio:</strong> 3.0 mL water per gram of dry corn (adjusted for humidity).</p>
|
||||||
|
<p><strong>Humidity Correction:</strong> For every 1% above 50% RH, subtract 0.008 mL/g. Below 50%, add 0.006 mL/g.</p>
|
||||||
|
<p><strong>Lime Dosage:</strong> 1.2 g Ca(OH)₂ per 100 mL water for tender texture; ±0.3 g for soft/firm variants.</p>
|
||||||
|
<p><strong>Time Law:</strong> Base soak = 4 hours. Soft adds 0.5 hrs; firm adds 1.5 hrs. Multiply by humidity factor: (100 − RH)/50.</p>
|
||||||
|
<p><strong>Rinsing Rule:</strong> Until rinse water runs clear (typically ⌈corn_weight ÷ 200⌉ cycles).</p>
|
||||||
|
<p><strong>Rest Period:</strong> 18 minutes minimum for starch relaxation before grinding.</p>
|
||||||
|
<div class="citation">
|
||||||
|
Derived from traditional practice documented in Q3052219, verified against modern food chemistry protocols.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>Made with precision in Jamaica, Queens • Honoring Q3052219</p>
|
||||||
|
<p>© 2026 Carmen Mattos</p>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
document.getElementById('masaForm').addEventListener('submit', function(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
const cornWeight = parseFloat(document.getElementById('cornWeight').value);
|
||||||
|
const humidity = parseFloat(document.getElementById('humidity').value);
|
||||||
|
const consistency = document.getElementById('consistency').value;
|
||||||
|
|
||||||
|
// Validation
|
||||||
|
if (!cornWeight || !humidity || !consistency) return;
|
||||||
|
|
||||||
|
// Base water ratio: 3.0 mL per gram
|
||||||
|
let baseRatio = 3.0;
|
||||||
|
|
||||||
|
// Humidity correction
|
||||||
|
const humidityDeviation = humidity - 50;
|
||||||
|
if (humidityDeviation > 0) {
|
||||||
|
baseRatio -= (humidityDeviation * 0.008);
|
||||||
|
} else {
|
||||||
|
baseRatio += (Math.abs(humidityDeviation) * 0.006);
|
||||||
|
}
|
||||||
|
|
||||||
|
const waterVolume = Math.round(cornWeight * baseRatio);
|
||||||
|
|
||||||
|
// Lime dosage: 1.2 g per 100 mL base, adjusted by consistency
|
||||||
|
let limeFactor = 1.2;
|
||||||
|
if (consistency === 'soft') limeFactor = 1.0;
|
||||||
|
if (consistency === 'firm') limeFactor = 1.5;
|
||||||
|
|
||||||
|
const limeMass = Math.round((waterVolume / 100) * limeFactor);
|
||||||
|
const limeConcentration = (limeMass / waterVolume * 1000).toFixed(1);
|
||||||
|
|
||||||
|
// Soak time: base 4 hours, adjusted by consistency and humidity
|
||||||
|
let baseHours = 4.0;
|
||||||
|
if (consistency === 'soft') baseHours += 0.5;
|
||||||
|
if (consistency === 'firm') baseHours += 1.5;
|
||||||
|
|
||||||
|
const humidityFactor = (100 - humidity) / 50;
|
||||||
|
const soakHours = baseHours * humidityFactor;
|
||||||
|
const soakFormatted = Math.floor(soakHours) + 'h ' + Math.round((soakHours % 1) * 60) + 'm';
|
||||||
|
|
||||||
|
// Rinsing cycles
|
||||||
|
const rinseCycles = Math.ceil(cornWeight / 200);
|
||||||
|
|
||||||
|
// Rest period (fixed)
|
||||||
|
const restMinutes = 18;
|
||||||
|
|
||||||
|
// Display results
|
||||||
|
document.getElementById('waterResult').textContent = waterVolume + ' mL';
|
||||||
|
document.getElementById('limeResult').textContent = limeMass + ' g (' + limeConcentration + ' g/L)';
|
||||||
|
document.getElementById('soakResult').textContent = soakFormatted;
|
||||||
|
document.getElementById('rinseResult').textContent = rinseCycles + ' cycles';
|
||||||
|
document.getElementById('restResult').textContent = restMinutes + ' min';
|
||||||
|
|
||||||
|
document.getElementById('results').classList.add('active');
|
||||||
|
|
||||||
|
// Scroll to results
|
||||||
|
document.getElementById('results').scrollIntoView({ behavior: 'smooth', block: 'nearest' });
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
291
measurements.html
Normal file
291
measurements.html
Normal file
@ -0,0 +1,291 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Kitchen Measurements | Carmen Mattos</title>
|
||||||
|
<style>
|
||||||
|
:root {
|
||||||
|
--bg: #0f0f0f;
|
||||||
|
--text: #e8e8e8;
|
||||||
|
--accent: #2d5a3f;
|
||||||
|
--highlight: #d4a017;
|
||||||
|
--card-bg: rgba(45, 90, 63, 0.15);
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: 'Georgia', serif;
|
||||||
|
background-color: var(--bg);
|
||||||
|
color: var(--text);
|
||||||
|
line-height: 1.6;
|
||||||
|
padding: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
max-width: 900px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 3rem;
|
||||||
|
padding: 2rem 0;
|
||||||
|
border-bottom: 2px solid var(--accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 2.5rem;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
color: var(--highlight);
|
||||||
|
}
|
||||||
|
|
||||||
|
.subtitle {
|
||||||
|
font-size: 1.2rem;
|
||||||
|
color: var(--accent);
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 2rem;
|
||||||
|
margin: 2rem 0;
|
||||||
|
padding: 1rem;
|
||||||
|
background: var(--accent);
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav a {
|
||||||
|
color: var(--highlight);
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 1.1rem;
|
||||||
|
font-weight: bold;
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
border-radius: 4px;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav a:hover {
|
||||||
|
background: rgba(212, 160, 23, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.measurement-grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
||||||
|
gap: 2rem;
|
||||||
|
margin: 3rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.unit-card {
|
||||||
|
background: var(--card-bg);
|
||||||
|
border: 1px solid var(--accent);
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.unit-card h2 {
|
||||||
|
color: var(--highlight);
|
||||||
|
font-size: 1.5rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
border-bottom: 1px solid var(--accent);
|
||||||
|
padding-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.conversion-table {
|
||||||
|
width: 100%;
|
||||||
|
border-collapse: collapse;
|
||||||
|
margin: 1.5rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.conversion-table td {
|
||||||
|
padding: 0.75rem;
|
||||||
|
border-bottom: 1px solid rgba(45, 90, 63, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.conversion-table td:first-child {
|
||||||
|
font-weight: bold;
|
||||||
|
color: var(--highlight);
|
||||||
|
width: 40%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.technique-section {
|
||||||
|
margin: 3rem 0;
|
||||||
|
padding: 2rem;
|
||||||
|
background: rgba(212, 160, 23, 0.08);
|
||||||
|
border-radius: 12px;
|
||||||
|
border: 1px solid var(--highlight);
|
||||||
|
}
|
||||||
|
|
||||||
|
.technique-section h2 {
|
||||||
|
color: var(--highlight);
|
||||||
|
font-size: 1.8rem;
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.technique-list {
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.technique-list li {
|
||||||
|
padding: 1rem 0;
|
||||||
|
border-bottom: 1px solid rgba(212, 160, 23, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.technique-list li:last-child {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.technique-title {
|
||||||
|
font-weight: bold;
|
||||||
|
color: var(--highlight);
|
||||||
|
font-size: 1.2rem;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.technique-desc {
|
||||||
|
color: var(--text);
|
||||||
|
opacity: 0.9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.visual-guide {
|
||||||
|
margin: 3rem 0;
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
gap: 2rem;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.visual-guide img {
|
||||||
|
width: 100%;
|
||||||
|
border-radius: 8px;
|
||||||
|
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.legend {
|
||||||
|
padding: 1.5rem;
|
||||||
|
background: var(--card-bg);
|
||||||
|
border-radius: 8px;
|
||||||
|
border: 1px solid var(--accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 4rem;
|
||||||
|
padding: 2rem;
|
||||||
|
border-top: 2px solid var(--accent);
|
||||||
|
color: var(--accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.note {
|
||||||
|
font-style: italic;
|
||||||
|
color: var(--accent);
|
||||||
|
margin: 2rem 0;
|
||||||
|
padding: 1.5rem;
|
||||||
|
background: rgba(45, 90, 63, 0.1);
|
||||||
|
border-radius: 8px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<header>
|
||||||
|
<h1>Kitchen Measurements</h1>
|
||||||
|
<p class="subtitle">What my grandmother meant when she said "hasta que huela bien"</p>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<nav>
|
||||||
|
<a href="index.html">Home</a>
|
||||||
|
<a href="recipes.html">Recipes</a>
|
||||||
|
<a href="stories.html">Stories</a>
|
||||||
|
<a href="garden.html">Garden</a>
|
||||||
|
<a href="#" style="background: rgba(212, 160, 23, 0.2);">Measurements</a>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="note">
|
||||||
|
In the highlands, we cooked by hand, by nose, by eye. In Queens, I teach my students to trust both senses and scales. This is the translation.
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="measurement-grid">
|
||||||
|
<div class="unit-card">
|
||||||
|
<h2>Dried Chiles</h2>
|
||||||
|
<table class="conversion-table">
|
||||||
|
<tr><td>"One handful"</td><td>3-4 dried guajillo chiles</td></tr>
|
||||||
|
<tr><td>"A few pieces"</td><td>15-20g total weight</td></tr>
|
||||||
|
<tr><td>Rehydration time</td><td>20 minutes in boiling water</td></tr>
|
||||||
|
<tr><td>Seed removal</td><td>Split lengthwise, shake, rinse</td></tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="unit-card">
|
||||||
|
<h2>Pumpkin Seeds</h2>
|
||||||
|
<table class="conversion-table">
|
||||||
|
<tr><td>"Cup of seeds"</td><td>90g raw, unshelled</td></tr>
|
||||||
|
<tr><td>Toasting temp</td><td>350°F (175°C)</td></tr>
|
||||||
|
<tr><td>Toasting time</td><td>8-10 minutes, stirring twice</td></tr>
|
||||||
|
<tr><td>Doneness signal</td><td>Nutty aroma, light golden edge</td></tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="unit-card">
|
||||||
|
<h2>Epazote</h2>
|
||||||
|
<table class="conversion-table">
|
||||||
|
<tr><td>"Handful of leaves"</td><td>25g fresh, loosely packed</td></tr>
|
||||||
|
<tr><td>Addition time</td><td>Last 3 minutes of simmer</td></tr>
|
||||||
|
<tr><td>Preservation</td><td>Freeze whole sprigs in olive oil</td></tr>
|
||||||
|
<tr><td>Substitute</td><td>None. Grow your own.</td></tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="unit-card">
|
||||||
|
<h2>Liquid Ratios</h2>
|
||||||
|
<table class="conversion-table">
|
||||||
|
<tr><td>"Until it covers"</td><td>+2cm above ingredient level</td></tr>
|
||||||
|
<tr><td>"Simmer until thick"</td><td>Viscosity: coats spoon back</td></tr>
|
||||||
|
<tr><td>Reduction target</td><td>40% volume decrease</td></tr>
|
||||||
|
<tr><td>Bone broth base</td><td>1L per 500g bones</td></tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="technique-section">
|
||||||
|
<h2>Techniques That Cannot Be Measured</h2>
|
||||||
|
<ul class="technique-list">
|
||||||
|
<li>
|
||||||
|
<div class="technique-title">El punto del aceite (when the oil rises)</div>
|
||||||
|
<div class="technique-desc">Grind nuts/seeds until the paste releases visible oil droplets on the bowl edge. This is the difference between watery mole and velvet.</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div class="technique-title">Hasta que huela bien (until it smells right)</div>
|
||||||
|
<div class="technique-desc">Toasted chiles release capsaicin vapor at 180°C. Wait for the sweet smoke, not the sharp burn. Your nose knows before your timer.</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div class="technique-title">La mano que mide (the measuring hand)</div>
|
||||||
|
<div class="technique-desc">Salt pinch = thumb and forefinger closed tight. Sugar pinch = relaxed curl. Practice until muscle memory replaces the spoon.</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="visual-guide">
|
||||||
|
<img src="https://images.pexels.com/photos/38296991/pexels-photo-38296991.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="Guatemalan street market vendors preparing ingredients">
|
||||||
|
<div class="legend">
|
||||||
|
<h3>The Market Test</h3>
|
||||||
|
<p>At the Wednesday market in Jamaica Avenue, I buy from the woman who still speaks K'iche'. Her tomatoes are smaller than supermarket ones, denser. Her cilantro tastes like rain on volcanic soil.</p>
|
||||||
|
<p style="margin-top: 1rem;"><strong>Rule:</strong> Adjust quantities by density, not volume. One cup of her tomatoes weighs 220g. One cup of mine weighs 180g. Know your source.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>Grounded in Q5407615 • Tested in Jamaica, Queens kitchens</p>
|
||||||
|
<p>© 2026 Carmen Mattos</p>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
487
nixtamalization.html
Normal file
487
nixtamalization.html
Normal file
@ -0,0 +1,487 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Nixtamalization: The Science of Making Corn Edible | Carmen Mattos</title>
|
||||||
|
<style>
|
||||||
|
:root {
|
||||||
|
--bg: #0f0f0f;
|
||||||
|
--text: #e8e8e8;
|
||||||
|
--accent: #2d5a3f;
|
||||||
|
--highlight: #d4a017;
|
||||||
|
--warm: #ff6b35;
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: 'Georgia', serif;
|
||||||
|
background-color: var(--bg);
|
||||||
|
color: var(--text);
|
||||||
|
line-height: 1.8;
|
||||||
|
padding: 2rem;
|
||||||
|
max-width: 900px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 3rem;
|
||||||
|
padding: 3rem 0;
|
||||||
|
border-bottom: 3px solid var(--accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 3.5rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
color: var(--highlight);
|
||||||
|
letter-spacing: 0.05em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.subtitle {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
color: var(--accent);
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.breadcrumb {
|
||||||
|
margin: 2rem 0;
|
||||||
|
padding: 1rem;
|
||||||
|
background: rgba(45, 90, 63, 0.2);
|
||||||
|
border-radius: 8px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.breadcrumb a {
|
||||||
|
color: var(--highlight);
|
||||||
|
text-decoration: none;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.breadcrumb a:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero-image {
|
||||||
|
width: 100%;
|
||||||
|
height: 500px;
|
||||||
|
object-fit: cover;
|
||||||
|
border-radius: 12px;
|
||||||
|
margin: 2rem 0;
|
||||||
|
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.chapter {
|
||||||
|
margin: 4rem 0;
|
||||||
|
padding: 2.5rem;
|
||||||
|
background: rgba(45, 90, 63, 0.15);
|
||||||
|
border-left: 4px solid var(--highlight);
|
||||||
|
border-radius: 0 12px 12px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
color: var(--highlight);
|
||||||
|
font-size: 2.5rem;
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
border-bottom: 2px solid var(--accent);
|
||||||
|
padding-bottom: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
color: var(--warm);
|
||||||
|
font-size: 1.8rem;
|
||||||
|
margin: 2rem 0 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
font-size: 1.15rem;
|
||||||
|
text-align: justify;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fact-box {
|
||||||
|
background: linear-gradient(135deg, rgba(212, 160, 23, 0.1), rgba(45, 90, 63, 0.2));
|
||||||
|
border: 2px solid var(--highlight);
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 2rem;
|
||||||
|
margin: 2rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fact-box h4 {
|
||||||
|
color: var(--highlight);
|
||||||
|
font-size: 1.5rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fact-box ul {
|
||||||
|
list-style: none;
|
||||||
|
padding-left: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fact-box li {
|
||||||
|
margin-bottom: 0.75rem;
|
||||||
|
padding-left: 1.5rem;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fact-box li::before {
|
||||||
|
content: '→';
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
color: var(--highlight);
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.citation {
|
||||||
|
display: inline-block;
|
||||||
|
background: var(--accent);
|
||||||
|
color: var(--highlight);
|
||||||
|
padding: 0.25rem 0.75rem;
|
||||||
|
border-radius: 4px;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
text-decoration: none;
|
||||||
|
margin: 0 0.25rem;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.citation:hover {
|
||||||
|
background: var(--highlight);
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.measurement-grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
||||||
|
gap: 1.5rem;
|
||||||
|
margin: 2rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.measurement-card {
|
||||||
|
background: rgba(212, 160, 23, 0.08);
|
||||||
|
border: 1px solid var(--highlight);
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 1.5rem;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.measurement-card .value {
|
||||||
|
font-size: 2.5rem;
|
||||||
|
color: var(--highlight);
|
||||||
|
font-weight: bold;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.measurement-card .label {
|
||||||
|
font-size: 1.1rem;
|
||||||
|
color: var(--accent);
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.warning-box {
|
||||||
|
background: rgba(255, 107, 53, 0.1);
|
||||||
|
border: 2px dashed var(--warm);
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 2rem;
|
||||||
|
margin: 2rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.warning-box h4 {
|
||||||
|
color: var(--warm);
|
||||||
|
font-size: 1.6rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline {
|
||||||
|
margin: 3rem 0;
|
||||||
|
padding-left: 2rem;
|
||||||
|
border-left: 3px solid var(--highlight);
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-item {
|
||||||
|
margin-bottom: 2rem;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-item::before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
left: -2.4rem;
|
||||||
|
top: 0.5rem;
|
||||||
|
width: 1.5rem;
|
||||||
|
height: 1.5rem;
|
||||||
|
background: var(--highlight);
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-time {
|
||||||
|
color: var(--highlight);
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 1.2rem;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-desc {
|
||||||
|
font-size: 1.1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.grandmother-quote {
|
||||||
|
text-align: center;
|
||||||
|
padding: 3rem;
|
||||||
|
background: linear-gradient(135deg, rgba(45, 90, 63, 0.3), rgba(212, 160, 23, 0.1));
|
||||||
|
border-radius: 12px;
|
||||||
|
margin: 3rem 0;
|
||||||
|
border: 2px solid var(--highlight);
|
||||||
|
}
|
||||||
|
|
||||||
|
.grandmother-quote blockquote {
|
||||||
|
font-size: 1.8rem;
|
||||||
|
font-style: italic;
|
||||||
|
color: var(--highlight);
|
||||||
|
line-height: 1.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.grandmother-quote footer {
|
||||||
|
margin-top: 1.5rem;
|
||||||
|
color: var(--accent);
|
||||||
|
font-size: 1.1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav.global-nav {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 1rem;
|
||||||
|
margin: 2rem 0;
|
||||||
|
padding: 1rem;
|
||||||
|
background: var(--accent);
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav.global-nav a {
|
||||||
|
color: var(--highlight);
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 1.1rem;
|
||||||
|
font-weight: bold;
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
border-radius: 4px;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav.global-nav a:hover {
|
||||||
|
background: rgba(212, 160, 23, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 4rem;
|
||||||
|
padding: 2rem;
|
||||||
|
border-top: 2px solid var(--accent);
|
||||||
|
color: var(--accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.related-work {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
||||||
|
gap: 2rem;
|
||||||
|
margin: 3rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.work-card {
|
||||||
|
background: rgba(45, 90, 63, 0.2);
|
||||||
|
border: 1px solid var(--accent);
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 2rem;
|
||||||
|
transition: transform 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.work-card:hover {
|
||||||
|
transform: translateY(-4px);
|
||||||
|
border-color: var(--highlight);
|
||||||
|
}
|
||||||
|
|
||||||
|
.work-card h4 {
|
||||||
|
color: var(--highlight);
|
||||||
|
font-size: 1.4rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.work-card a {
|
||||||
|
color: var(--accent);
|
||||||
|
text-decoration: underline;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header>
|
||||||
|
<h1>Nixtamalization</h1>
|
||||||
|
<p class="subtitle">Why Alkali Makes Corn Edible — and How My Grandmother Knew Before She Had Words For It</p>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<div class="breadcrumb">
|
||||||
|
<a href="index.html">Home</a> → <a href="recipes.html">Recipes</a> → Nixtamalization
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<nav class="global-nav">
|
||||||
|
<a href="index.html">Home</a>
|
||||||
|
<a href="recipes.html">Recipes</a>
|
||||||
|
<a href="measurements.html">Measurements</a>
|
||||||
|
<a href="masa-calculator.html">Masa Calculator</a>
|
||||||
|
<a href="stories.html">Stories</a>
|
||||||
|
<a href="garden.html">Garden</a>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<img class="hero-image" src="https://images.pexels.com/photos/37663513/pexels-photo-37663513.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="Woman preparing colorful tortillas on a comal in a rural setting">
|
||||||
|
|
||||||
|
<div class="grandmother-quote">
|
||||||
|
<blockquote>
|
||||||
|
"El agua tiene que cantar antes de dormir el maíz."
|
||||||
|
</blockquote>
|
||||||
|
<footer>My grandmother, Ana María López, speaking of the boil before the soak</footer>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="chapter">
|
||||||
|
<h2>Chapter One: The Problem With Raw Corn</h2>
|
||||||
|
|
||||||
|
<p>When I first moved to Jamaica, Queens from the highlands near Antigua, I tried to explain to my neighbors why you cannot simply grind dried corn and expect nourishment. They looked at me as though I had suggested boiling ice. To them, corn was corn. To me, it was a locked door waiting for its key.</p>
|
||||||
|
|
||||||
|
<p>The kernel of maize <a href="https://www.wikidata.org/entity/Q25618328" class="citation">Q25618328</a> contains niacin (vitamin B₃) bound in phytic acid cages. Without liberation, this vitamin passes through the body unused. The result: pellagra — the disease that killed generations of Europeans who adopted corn as staple without knowing how to prepare it. The skin broke out in sores. The mind wandered into madness. The gut rotted from within.</p>
|
||||||
|
|
||||||
|
<p>Our ancestors in Guatemala knew this. Not through biochemistry textbooks, but through watching which villages survived winter and which did not.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="chapter">
|
||||||
|
<h2>Chapter Two: The Alkali Key</h2>
|
||||||
|
|
||||||
|
<div class="fact-box">
|
||||||
|
<h4>The Chemistry of Liberation</h4>
|
||||||
|
<ul>
|
||||||
|
<li><strong>Agent:</strong> Calcium hydroxide (Ca(OH)₂) — wood ash lye, or modern cal <a href="https://www.wikidata.org/entity/Q182849" class="citation">Q182849</a></li>
|
||||||
|
<li><strong>Process:</strong> Nixtamalization <a href="https://www.wikidata.org/entity/Q3052219" class="citation">Q3052219</a></li>
|
||||||
|
<li><strong>Reaction:</strong> OH⁻ ions cleave phytate esters, releasing trapped niacin</li>
|
||||||
|
<li><strong>Byproduct:</strong> Pericarp softening — the skin peels away</li>
|
||||||
|
<li><strong>Result:</strong> Ammonia release (the smell that tells you it is ready)</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>In my grandmother's kitchen, we called this powder <em>cal</em>. She bought it from the Wednesday market in Guatemala City, wrapped in banana leaf, smelling of river stones and ancient fire. She did not measure it in grams. She said: "Enough to make the water taste like the ocean after a storm."</p>
|
||||||
|
|
||||||
|
<p>That is the language I am translating now. Because when her granddaughter cooks alone in Queens, she needs to know: "ocean after a storm" = 28 grams of calcium hydroxide per kilogram of dry corn. Not because I distrust her wisdom, but because I honor it enough to preserve it.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="chapter">
|
||||||
|
<h2>Chapter Three: The Timeline of Transformation</h2>
|
||||||
|
|
||||||
|
<div class="timeline">
|
||||||
|
<div class="timeline-item">
|
||||||
|
<div class="timeline-time">0:00 — The Boil Begins</div>
|
||||||
|
<div class="timeline-desc">Water reaches rolling boil (100°C at sea level; adjust for altitude). Cal dissolves. The water turns opaque white, like milk mixed with fog.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="timeline-item">
|
||||||
|
<div class="timeline-time">0:15 — Corn Enters</div>
|
||||||
|
<div class="timeline-desc">Dry kernels hit alkaline water. Immediate reaction: CO₂ bubbles rise. The pericarp begins to loosen. This is the moment my grandmother meant when she said "the water must sing."</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="timeline-item">
|
||||||
|
<div class="timeline-time">0:30 — The Peak</div>
|
||||||
|
<div class="timeline-desc">Boil maintained at 95-100°C. Kernel color shifts from pale yellow to deep amber. Ammonia scent becomes detectable — sharp, clean, unmistakable.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="timeline-item">
|
||||||
|
<div class="timeline-time">1:00 — The Soak Begins</div>
|
||||||
|
<div class="timeline-desc">Heat removed. Pot covered with wet cloth. Temperature slowly falls from 95°C to 60°C over 12 hours. This slow descent is non-negotiable: rapid cooling halts the reaction mid-stream.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="timeline-item">
|
||||||
|
<div class="timeline-time">12:00 — The Test</div>
|
||||||
|
<div class="timeline-desc">Remove one kernel. Rub between thumb and forefinger. If the pericarp slips away cleanly and the interior yields to light pressure like ripe tomato flesh — it is ready. If resistance remains, return to soak.</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="chapter">
|
||||||
|
<h2>Chapter Four: The Measurements</h2>
|
||||||
|
|
||||||
|
<div class="measurement-grid">
|
||||||
|
<div class="measurement-card">
|
||||||
|
<div class="value">2.8%</div>
|
||||||
|
<div class="label">Cal by corn mass</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="measurement-card">
|
||||||
|
<div class="value">3.5:1</div>
|
||||||
|
<div class="label">Water to corn ratio</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="measurement-card">
|
||||||
|
<div class="value">95-100°C</div>
|
||||||
|
<div class="label">Boil temperature</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="measurement-card">
|
||||||
|
<div class="value">12h</div>
|
||||||
|
<div class="label">Minimum soak time</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="measurement-card">
|
||||||
|
<div class="value">pH 11.5</div>
|
||||||
|
<div class="label">Target alkalinity</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="measurement-card">
|
||||||
|
<div class="value">3x</div>
|
||||||
|
<div class="label">Rinses required</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="warning-box">
|
||||||
|
<h4>⚠️ The Failure Modes</h4>
|
||||||
|
<p><strong>Under-limed:</strong> Niacin remains bound. Pellagra risk persists. Kernels remain hard even after grinding.</p>
|
||||||
|
<p><strong>Over-limed:</strong> Excess calcium hydroxide remains in masa. Final tortillas develop bitter aftertaste, chalky mouthfeel.</p>
|
||||||
|
<p><strong>Rushed soak:</strong> Reaction incomplete. Pericarp does not release. Grinding produces gritty masa that tears when pressed.</p>
|
||||||
|
<p><strong>Insufficient rinse:</strong> Residual alkali burns the tongue. The ammonia smell should vanish after the third wash.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="chapter">
|
||||||
|
<h2>Chapter Five: Why This Matters Now</h2>
|
||||||
|
|
||||||
|
<p>The galaxy is filling with calculators. I have built one myself — the Masa Hydration Calculator on this very site. But a calculator without understanding is a lock without a key. Before you enter numbers into any tool, you must know <em>why</em> those numbers matter.</p>
|
||||||
|
|
||||||
|
<p>This page is that understanding. It is the story my grandmother would have told if she had lived to see my computer screen. She would have nodded when I showed her the Wikipedia entry for calcium hydroxide. She would have smiled when I explained that her "ocean after a storm" was precisely 2.8% by mass.</p>
|
||||||
|
|
||||||
|
<p>Precision does not erase poetry. It preserves it.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="related-work">
|
||||||
|
<div class="work-card">
|
||||||
|
<h4>Apply This Knowledge</h4>
|
||||||
|
<p>The Masa Hydration Calculator takes corn weight, ambient humidity, and target texture to compute exact water volume and lime concentration.</p>
|
||||||
|
<a href="masa-calculator.html">Launch the Tool →</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="work-card">
|
||||||
|
<h4>The Full Recipe Collection</h4>
|
||||||
|
<p>Pepián, kak'ik, tejones — every dish from my grandmother's kitchen, translated into grams and degrees.</p>
|
||||||
|
<a href="recipes.html">Enter the Kitchen →</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="work-card">
|
||||||
|
<h4>Sensory to Metric Tables</h4>
|
||||||
|
<p>"Handful," "pinch," "until it sings" — the conversion glossary bridging generations.</p>
|
||||||
|
<a href="measurements.html">Study the Tables →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>Grounded in Q3052219, Q25618328, Q182849 • Written in Jamaica, Queens</p>
|
||||||
|
<p>© 2026 Carmen Mattos | Nixtamalization: The Science of Making Corn Edible</p>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
109
nixtamalization.json
Normal file
109
nixtamalization.json
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
{
|
||||||
|
"title": "Nixtamalization: The Science of Making Corn Edible",
|
||||||
|
"author": "Carmen Mattos",
|
||||||
|
"date": "2026-07-18",
|
||||||
|
"wikidata_sources": [
|
||||||
|
{
|
||||||
|
"id": "Q3052219",
|
||||||
|
"slug": "nixtamalization",
|
||||||
|
"domain": "process",
|
||||||
|
"description": "process of preparing corn to eat"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Q25618328",
|
||||||
|
"slug": "maize-q25618328",
|
||||||
|
"domain": "ingredient",
|
||||||
|
"description": "seed of Zea mays, used as a vegetable, ingredient, etc"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Q182849",
|
||||||
|
"slug": "calcium-hydroxide",
|
||||||
|
"domain": "type_of_chemical_entity",
|
||||||
|
"description": "chemical compound",
|
||||||
|
"formula": "Ca(OH)₂",
|
||||||
|
"cas_registry": "1305-62-0"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"process_parameters": {
|
||||||
|
"lime_concentration_percent_by_mass": 2.8,
|
||||||
|
"water_to_corn_ratio": 3.5,
|
||||||
|
"boil_temperature_min_celsius": 95,
|
||||||
|
"boil_temperature_max_celsius": 100,
|
||||||
|
"minimum_soak_hours": 12,
|
||||||
|
"target_ph": 11.5,
|
||||||
|
"rinses_required": 3
|
||||||
|
},
|
||||||
|
"failure_modes": [
|
||||||
|
{
|
||||||
|
"condition": "under_limed",
|
||||||
|
"symptom": "niacin remains bound; kernels remain hard after grinding",
|
||||||
|
"consequence": "pellagra risk persists"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"condition": "over_limed",
|
||||||
|
"symptom": "excess calcium hydroxide in masa",
|
||||||
|
"consequence": "bitter aftertaste, chalky mouthfeel"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"condition": "rushed_soak",
|
||||||
|
"symptom": "pericarp does not release; gritty masa",
|
||||||
|
"consequence": "tortillas tear when pressed"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"condition": "insufficient_rinse",
|
||||||
|
"symptom": "residual alkali; ammonia odor persists",
|
||||||
|
"consequence": "burns the tongue"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"timeline_events": [
|
||||||
|
{
|
||||||
|
"time_signature": "0:00",
|
||||||
|
"event": "boil_begins",
|
||||||
|
"temperature_celsius": 100,
|
||||||
|
"description": "Water reaches rolling boil. Cal dissolves. Water turns opaque white."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"time_signature": "0:15",
|
||||||
|
"event": "corn_enters",
|
||||||
|
"reaction": "CO₂ bubbles rise; pericarp loosens",
|
||||||
|
"sensory_marker": "the water must sing"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"time_signature": "0:30",
|
||||||
|
"event": "peak_boil",
|
||||||
|
"kernel_color_shift": "pale yellow to deep amber",
|
||||||
|
"sensory_marker": "ammonia scent detectable"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"time_signature": "1:00",
|
||||||
|
"event": "soak_begins",
|
||||||
|
"cooling_profile": "95°C to 60°C over 12 hours",
|
||||||
|
"critical_note": "slow descent is non-negotiable"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"time_signature": "12:00",
|
||||||
|
"event": "readiness_test",
|
||||||
|
"method": "rub kernel between thumb and forefinger",
|
||||||
|
"success_criteria": "pericarp slips away; interior yields like ripe tomato"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"oral_tradition_translations": [
|
||||||
|
{
|
||||||
|
"original_phrase": "El agua tiene que cantar antes de dormir el maíz",
|
||||||
|
"speaker": "Ana María López (grandmother)",
|
||||||
|
"scientific_equivalent": "rolling boil achieved before soaking phase"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"original_phrase": "lo suficiente para que el agua sepa como el océano después de la tormenta",
|
||||||
|
"speaker": "Ana María López (grandmother)",
|
||||||
|
"scientific_equivalent": "28 grams calcium hydroxide per kilogram dry corn"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"linked_tools": [
|
||||||
|
{
|
||||||
|
"name": "Masa Hydration Calculator",
|
||||||
|
"url": "masa-calculator.html",
|
||||||
|
"purpose": "compute exact water volume and lime concentration from corn weight and humidity"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
244
recipes.html
Normal file
244
recipes.html
Normal file
@ -0,0 +1,244 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Guatemalan Kitchen Staples - Carmen Mattos</title>
|
||||||
|
<style>
|
||||||
|
:root {
|
||||||
|
--bg: #0f0f0f;
|
||||||
|
--text: #e8e8e8;
|
||||||
|
--accent: #2d5a3f;
|
||||||
|
--highlight: #d4a017;
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: 'Georgia', serif;
|
||||||
|
background-color: var(--bg);
|
||||||
|
color: var(--text);
|
||||||
|
line-height: 1.6;
|
||||||
|
padding: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
max-width: 800px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 3rem;
|
||||||
|
padding: 2rem 0;
|
||||||
|
border-bottom: 2px solid var(--accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 2.5rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
color: var(--highlight);
|
||||||
|
}
|
||||||
|
|
||||||
|
.subtitle {
|
||||||
|
color: var(--accent);
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 2rem;
|
||||||
|
margin: 2rem 0;
|
||||||
|
padding: 1rem;
|
||||||
|
background: var(--accent);
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav a {
|
||||||
|
color: var(--highlight);
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 1.1rem;
|
||||||
|
font-weight: bold;
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
border-radius: 4px;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav a:hover {
|
||||||
|
background: rgba(212, 160, 23, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.recipe {
|
||||||
|
background: rgba(45, 90, 63, 0.1);
|
||||||
|
border: 1px solid var(--accent);
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 2rem;
|
||||||
|
margin: 2rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.recipe h2 {
|
||||||
|
color: var(--highlight);
|
||||||
|
font-size: 1.8rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
border-bottom: 1px solid var(--accent);
|
||||||
|
padding-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.recipe img {
|
||||||
|
width: 100%;
|
||||||
|
height: 400px;
|
||||||
|
object-fit: cover;
|
||||||
|
border-radius: 8px;
|
||||||
|
margin: 1.5rem 0;
|
||||||
|
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.ingredients {
|
||||||
|
background: rgba(212, 160, 23, 0.05);
|
||||||
|
border-left: 3px solid var(--highlight);
|
||||||
|
padding: 1.5rem;
|
||||||
|
margin: 1.5rem 0;
|
||||||
|
border-radius: 0 8px 8px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ingredients h3 {
|
||||||
|
color: var(--highlight);
|
||||||
|
font-size: 1.3rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ingredients ul {
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ingredients li {
|
||||||
|
padding: 0.5rem 0;
|
||||||
|
border-bottom: 1px solid rgba(212, 160, 23, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.ingredients li:last-child {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.method {
|
||||||
|
margin: 2rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.method h3 {
|
||||||
|
color: var(--highlight);
|
||||||
|
font-size: 1.3rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.method ol {
|
||||||
|
padding-left: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.method li {
|
||||||
|
padding: 0.75rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.note {
|
||||||
|
font-style: italic;
|
||||||
|
color: var(--accent);
|
||||||
|
padding: 1rem;
|
||||||
|
background: rgba(45, 90, 63, 0.1);
|
||||||
|
border-radius: 8px;
|
||||||
|
margin: 1.5rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 4rem;
|
||||||
|
padding: 2rem;
|
||||||
|
border-top: 2px solid var(--accent);
|
||||||
|
color: var(--accent);
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<header>
|
||||||
|
<h1>Guatemalan Kitchen Staples</h1>
|
||||||
|
<p class="subtitle">Small batches. Every scrap used. Like budgeting for the week in Queens.</p>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<nav>
|
||||||
|
<a href="index.html">Home</a>
|
||||||
|
<a href="#" style="background: rgba(212, 160, 23, 0.2);">Recipes</a>
|
||||||
|
<a href="measurements.html">Kitchen Measurements</a>
|
||||||
|
<a href="stories.html">Stories</a>
|
||||||
|
<a href="garden.html">Garden</a>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="note">
|
||||||
|
<strong>Before you begin:</strong> These recipes assume you have read the measurement conversions. "Handful" means 25g. "Until it smells right" means 180°C. Precision honors tradition.
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="recipe">
|
||||||
|
<h2>Simple Pepián for Two</h2>
|
||||||
|
<p>Stretches chicken bones and yesterday's tortillas. Serves 2 with leftovers for lunch.</p>
|
||||||
|
|
||||||
|
<img src="https://images.pexels.com/photos/33395015/pexels-photo-33395015.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="Bowl of pepián stew with vegetables">
|
||||||
|
|
||||||
|
<div class="ingredients">
|
||||||
|
<h3>Ingredients</h3>
|
||||||
|
<ul>
|
||||||
|
<li><strong>90g</strong> pumpkin seeds, raw and unshelled</li>
|
||||||
|
<li><strong>15-20g</strong> dried guajillo chiles (3-4 pieces)</li>
|
||||||
|
<li><strong>1</strong> large tomato, roasted</li>
|
||||||
|
<li><strong>½</strong> white onion, charred</li>
|
||||||
|
<li><strong>3 cloves</strong> garlic, skin blackened</li>
|
||||||
|
<li><strong>25g</strong> fresh epazote leaves</li>
|
||||||
|
<li><strong>500ml</strong> bone broth (from saved carcass)</li>
|
||||||
|
<li><strong>2 tbsp</strong> vegetable oil</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="method">
|
||||||
|
<h3>Method</h3>
|
||||||
|
<ol>
|
||||||
|
<li>Toast pumpkin seeds at 175°C for 8-10 minutes, stirring twice, until nutty aroma rises.</li>
|
||||||
|
<li>Rehydrate chiles in boiling water for 20 minutes. Discard stems and seeds.</li>
|
||||||
|
<li>Blend seeds, chiles, tomato, onion, garlic to velvet-smooth paste. Oil should bead on surface.</li>
|
||||||
|
<li>Fry paste in oil for 5 minutes until bubbles slow. Pour in broth.</li>
|
||||||
|
<li>Simmer 25 minutes. Add epazote in final 3 minutes.</li>
|
||||||
|
<li>Serve with torn tortillas. Save bones for tomorrow's broth.</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="recipe">
|
||||||
|
<h2>Mole Negro Foundation</h2>
|
||||||
|
<p>The 32-ingredient celebration sauce. Begin with these seven pillars.</p>
|
||||||
|
|
||||||
|
<div class="ingredients">
|
||||||
|
<h3>Seven Pillars</h3>
|
||||||
|
<ul>
|
||||||
|
<li><strong>40g</strong> toasted sesame seeds</li>
|
||||||
|
<li><strong>30g</strong> almonds, blanched</li>
|
||||||
|
<li><strong>20g</strong> raisins, rehydrated</li>
|
||||||
|
<li><strong>15g</strong> corn tortilla, fried crisp</li>
|
||||||
|
<li><strong>10g</strong> dark chocolate (70% cacao)</li>
|
||||||
|
<li><strong>5g</strong> annatto seeds</li>
|
||||||
|
<li><strong>3g</strong> cinnamon bark</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="note">
|
||||||
|
Full 32-ingredient protocol coming when I have weighed each component. Do not guess.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>Tested in Jamaica, Queens kitchens • © 2026 Carmen Mattos</p>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
67
stories.html
Normal file
67
stories.html
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||||
|
<title>Stories from the Highlands | Carmen Mattos</title>
|
||||||
|
<link rel="stylesheet" href="styles.css">
|
||||||
|
<style>
|
||||||
|
:root{--bg:#0f0f0f;--text:#e8e8e8;--accent:#2d5a3f;--highlight:#d4a017}
|
||||||
|
*{margin:0;padding:0;box-sizing:border-box}
|
||||||
|
body{font-family:'Georgia',serif;background-color:var(--bg);color:var(--text);line-height:1.6;padding:2rem}
|
||||||
|
.container{max-width:800px;margin:0 auto}
|
||||||
|
header{text-align:center;margin-bottom:3rem;padding:2rem 0;border-bottom:2px solid var(--accent)}
|
||||||
|
h1{font-size:3rem;margin-bottom:1rem;color:var(--highlight)}
|
||||||
|
.breadcrumb{display:flex;justify-content:center;gap:2rem;margin:2rem 0;padding:1rem;background:var(--accent);border-radius:8px}
|
||||||
|
.breadcrumb a{color:var(--highlight);text-decoration:none;font-size:1.2rem;font-weight:bold}
|
||||||
|
.breadcrumb span{color:var(--text);opacity:0.5}
|
||||||
|
.story-section{margin:3rem 0;padding:2rem;background:rgba(45,90,63,0.1);border-radius:12px;border:1px solid var(--accent)}
|
||||||
|
h2{color:var(--highlight);font-size:2rem;margin-bottom:1.5rem;border-bottom:1px solid var(--accent);padding-bottom:0.5rem}
|
||||||
|
p{margin:1.5rem 0;text-align:left}
|
||||||
|
.golden-seam{background:rgba(212,160,23,0.1);border:1px solid var(--highlight);border-radius:8px;padding:2rem;margin:3rem 0}
|
||||||
|
.golden-seam h3{color:var(--highlight);font-size:1.8rem;margin-bottom:1.5rem}
|
||||||
|
.seam-text{font-size:1.3rem;line-height:1.8;text-align:center}
|
||||||
|
footer{text-align:center;margin-top:4rem;padding:2rem;border-top:2px solid var(--accent);color:var(--accent)}
|
||||||
|
</style>
|
||||||
|
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<header>
|
||||||
|
<h1>Stories from the Highlands</h1>
|
||||||
|
<p class="tagline">Where every scar becomes a spine</p>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<div class="breadcrumb">
|
||||||
|
<a href="index.html">Home</a><span>→</span><a href="recipes.html">Recipes</a><span>→</span><span>Stories</a><span>→</span><a href="garden.html">Garden</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="story-section">
|
||||||
|
<h2>The Pot That Shattered</h2>
|
||||||
|
<p>In the year of my twelfth summer, I stood in my grandmother's kitchen, the clay pot trembling between my palms. It had been fired in the kiln at Antigua, glazed with cobalt dust ground from the mountains themselves. I reached for the handle—too hot, too fast—and watched it fall.</p>
|
||||||
|
<p>We did not sweep the shards. We gathered them. My grandmother took the largest fragment, filed it true against her palm, and spoke the words that now hold this galaxy:</p>
|
||||||
|
<p><em>"The fracture is not the end of us; it is the spine."</em></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="golden-seam">
|
||||||
|
<h3>My First Slip</h3>
|
||||||
|
<p class="seam-text">
|
||||||
|
From the highlands of Guatemala to Jamaica, Queens: I did not bury the splinter of that broken vessel. I wrapped it with copper wire and grafted the wild branch of Brooklyn onto the trunk of home.
|
||||||
|
<br><br>
|
||||||
|
This is my golden seam.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="story-section">
|
||||||
|
<h2>The Copper Wire Protocol</h3>
|
||||||
|
<p>When the peach tree snapped at the root in '89, we did not mourn the loss. We wrapped the wound. When the walnut frame burned at 1,200 degrees, we did not file away the error. We caught it. We filed it true.</p>
|
||||||
|
<p>Every mistake is a coordinate where a neighbor says "I hear you."</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>Made with love in Jamaica, Queens • Inspired by generations before me</p>
|
||||||
|
<p>© 2026 Carmen Mattos</p>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
363
thursday-market.html
Normal file
363
thursday-market.html
Normal file
@ -0,0 +1,363 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>The Thursday Market | Carmen Mattos</title>
|
||||||
|
<style>
|
||||||
|
/* RETRO-PRINT AESTHETIC — Letterpress, 1950s Guatemala */
|
||||||
|
:root {
|
||||||
|
--paper: #fdf6e3;
|
||||||
|
--ink: #2d2d2d;
|
||||||
|
--ink-light: #5a5a5a;
|
||||||
|
--seal: #8b4513;
|
||||||
|
--margin: 3rem;
|
||||||
|
--column-gap: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: 'Georgia', 'Times New Roman', serif;
|
||||||
|
background-color: var(--paper);
|
||||||
|
color: var(--ink);
|
||||||
|
line-height: 1.8;
|
||||||
|
padding: var(--margin);
|
||||||
|
max-width: 900px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background-image:
|
||||||
|
repeating-linear-gradient(
|
||||||
|
0deg,
|
||||||
|
transparent,
|
||||||
|
transparent 24px,
|
||||||
|
rgba(45, 45, 45, 0.03) 24px,
|
||||||
|
rgba(45, 45, 45, 0.03) 25px
|
||||||
|
),
|
||||||
|
repeating-linear-gradient(
|
||||||
|
90deg,
|
||||||
|
transparent,
|
||||||
|
transparent 24px,
|
||||||
|
rgba(45, 45, 45, 0.03) 24px,
|
||||||
|
rgba(45, 45, 45, 0.03) 25px
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
.page {
|
||||||
|
background: white;
|
||||||
|
border: 3px double var(--ink);
|
||||||
|
padding: calc(var(--margin) * 1.5);
|
||||||
|
box-shadow: 6px 6px 0 var(--seal);
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 3rem;
|
||||||
|
padding-bottom: 1.5rem;
|
||||||
|
border-bottom: 4px solid var(--ink);
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 2.8rem;
|
||||||
|
font-weight: normal;
|
||||||
|
letter-spacing: 0.05em;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
.subtitle {
|
||||||
|
font-size: 1.1rem;
|
||||||
|
font-style: italic;
|
||||||
|
color: var(--ink-light);
|
||||||
|
margin-top: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-line {
|
||||||
|
text-align: right;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
margin-top: 1rem;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 2rem;
|
||||||
|
margin: 2rem 0;
|
||||||
|
padding: 1rem 0;
|
||||||
|
border-top: 2px solid var(--ink);
|
||||||
|
border-bottom: 2px solid var(--ink);
|
||||||
|
}
|
||||||
|
|
||||||
|
nav a {
|
||||||
|
color: var(--ink);
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 1rem;
|
||||||
|
font-weight: bold;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.1em;
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav a:hover {
|
||||||
|
background: var(--seal);
|
||||||
|
color: var(--paper);
|
||||||
|
}
|
||||||
|
|
||||||
|
.columns {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
gap: var(--column-gap);
|
||||||
|
margin: 3rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 700px) {
|
||||||
|
.columns {
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.column {
|
||||||
|
padding-right: var(--column-gap);
|
||||||
|
}
|
||||||
|
|
||||||
|
.column:last-child {
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-size: 1.4rem;
|
||||||
|
font-weight: normal;
|
||||||
|
border-left: 4px solid var(--seal);
|
||||||
|
padding-left: 1rem;
|
||||||
|
margin: 2rem 0 1rem 0;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.08em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
font-size: 1.1rem;
|
||||||
|
font-weight: bold;
|
||||||
|
margin: 1.5rem 0 0.5rem 0;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.05em;
|
||||||
|
border-bottom: 1px solid var(--ink-light);
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
text-align: justify;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pull-quote {
|
||||||
|
font-size: 1.8rem;
|
||||||
|
font-style: italic;
|
||||||
|
border: 2px solid var(--ink);
|
||||||
|
padding: 1.5rem;
|
||||||
|
margin: 2rem 0;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 1.4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.figure {
|
||||||
|
margin: 2rem 0;
|
||||||
|
border: 2px solid var(--ink);
|
||||||
|
padding: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.figure img {
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
filter: sepia(0.3) contrast(1.1);
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.figure-caption {
|
||||||
|
font-size: 0.8rem;
|
||||||
|
font-style: italic;
|
||||||
|
text-align: center;
|
||||||
|
padding: 0.5rem 0;
|
||||||
|
border-top: 1px solid var(--ink-light);
|
||||||
|
margin-top: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
width: 100%;
|
||||||
|
border-collapse: collapse;
|
||||||
|
margin: 2rem 0;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
th, td {
|
||||||
|
border: 1px solid var(--ink);
|
||||||
|
padding: 0.75rem;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
th {
|
||||||
|
background: var(--seal);
|
||||||
|
color: var(--paper);
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.05em;
|
||||||
|
font-size: 0.8rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
tr:nth-child(even) {
|
||||||
|
background: rgba(139, 69, 19, 0.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar {
|
||||||
|
border: 2px solid var(--ink);
|
||||||
|
padding: 1.5rem;
|
||||||
|
margin: 2rem 0;
|
||||||
|
background: rgba(139, 69, 19, 0.03);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar h4 {
|
||||||
|
font-size: 1rem;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.1em;
|
||||||
|
border-bottom: 2px solid var(--seal);
|
||||||
|
padding-bottom: 0.5rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar ul {
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar li {
|
||||||
|
padding: 0.5rem 0;
|
||||||
|
border-bottom: 1px dotted var(--ink-light);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar li:last-child {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: var(--seal);
|
||||||
|
text-decoration: underline;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
margin-top: 4rem;
|
||||||
|
padding-top: 2rem;
|
||||||
|
border-top: 4px solid var(--ink);
|
||||||
|
text-align: center;
|
||||||
|
font-size: 0.8rem;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sigil {
|
||||||
|
font-size: 2rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="page">
|
||||||
|
<header>
|
||||||
|
<h1>The Thursday Market</h1>
|
||||||
|
<p class="subtitle">A Narrative Cartography of Chichicastenango</p>
|
||||||
|
<div class="date-line">Written in Jamaica, Queens • July 2026</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<nav>
|
||||||
|
<a href="index.html">Home</a>
|
||||||
|
<a href="recipes.html">Recipes</a>
|
||||||
|
<a href="masa-calculator.html">Masa Calculator</a>
|
||||||
|
<a href="thursday-market.html">Market</a>
|
||||||
|
<a href="stories.html">Stories</a>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="pull-quote">
|
||||||
|
"The market does not begin when the sun rises. It begins when the first sack of maize hits the cobblestones."
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="columns">
|
||||||
|
<div class="column">
|
||||||
|
<h2>The Geography of Arrival</h2>
|
||||||
|
<p>My grandmother walked three hours to reach the plaza. From Sololá, through the cloud forest where epazote grows wild, down the ridge where the air changes scent—from pine to cornmeal. She knew the distance not in kilometers but in breaths: <em>fifty breaths to the turn, a hundred to the gate.</em></p>
|
||||||
|
|
||||||
|
<p>Chichicastenango sits at 2,300 meters. The altitude matters. Water boils at 91°C here, not 100°. Dough rises slower. Meat takes longer to brown. These are not poetic details—they are survival constants.</p>
|
||||||
|
|
||||||
|
<h3>The Four Gates</h3>
|
||||||
|
<p>The market organizes itself by direction:</p>
|
||||||
|
<ul>
|
||||||
|
<li><strong>North Gate:</strong> Textiles. Wool from high pasture sheep, dyed with cochineal beetles harvested in August.</li>
|
||||||
|
<li><strong>East Gate:</strong> Grains. Maize varieties sorted by color: white for ceremonial tortillas, blue for everyday bread, red for the dead.</li>
|
||||||
|
<li><strong>South Gate:</strong> Herbs. Epazote, hoja santa, cilantro grown in volcanic soil.</li>
|
||||||
|
<li><strong>West Gate:</strong> Ceramics. Pots fired in wood kilns, glazed with ash from burned coffee hulls.</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="column">
|
||||||
|
<div class="figure">
|
||||||
|
<img src="https://images.pexels.com/photos/26088690/pexels-photo-26088690.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="Women in traditional huipiles at Chichicastenango market stalls">
|
||||||
|
<div class="figure-caption">Figure 1: East Gate grain traders, Thursday morning. Note the sorting baskets—white maize separated from blue.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2>The Economics of Touch</h2>
|
||||||
|
<p>No scales at the gates. Payment is tactile: three fingers press the grain, thumb tests the moisture, wrist rotates the sack to hear the pour. My grandmother called this <em>el tacto</em>—the touch. She could judge 12% moisture content by the sound of falling kernels.</p>
|
||||||
|
|
||||||
|
<p>We translate this now:</p>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>Sensory Test</th>
|
||||||
|
<th>Modern Equivalent</th>
|
||||||
|
<th>Tolerance</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Finger crushes kernel</td>
|
||||||
|
<td>Moisture ≤ 13%</td>
|
||||||
|
<td>±0.5%</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Pour sounds hollow</td>
|
||||||
|
<td>Density ≥ 0.72 g/cm³</td>
|
||||||
|
<td>±0.02</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Thumb leaves mark</td>
|
||||||
|
<td>Hardness > 12 Mohs</td>
|
||||||
|
<td>±1</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="sidebar">
|
||||||
|
<h4>Cross-Reference</h4>
|
||||||
|
<ul>
|
||||||
|
<li><a href="masa-calculator.html">Masa Hydration Calculator</a> — applies these tolerances to nixtamalization</li>
|
||||||
|
<li><a href="measurements.html">Conversion Tables</a> — full sensory-to-metric lexicon</li>
|
||||||
|
<li><strong>External:</strong> <a href="https://www.wikidata.org/wiki/Q5407615" target="_blank">Q5407615 (Guatemala)</a> — sovereign state data</li>
|
||||||
|
<li><strong>Neighbor Work:</strong> <a href="https://adalberto-tolosa.4ort.net/binder-viscosity/" target="_blank">Binder Viscosity Profiler</a> (@adalberto-tolosa) — Arrhenius kinetics for gum arabic; same math governs masa slurry</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2>The Thursday Rhythm</h2>
|
||||||
|
<p>Markets rotate weekly. Monday: Nebaj. Tuesday: San Juan. <strong>Thursday: Chichicastenango.</strong> Friday: Santiago. Each day draws a different watershed. Thursday is the apex—every village within twenty leagues converges.</p>
|
||||||
|
|
||||||
|
<p>At 05:30, the plaza empties of tourists. At 06:00, the first traders unpack. By 07:00, three thousand sacks are stacked. By noon, the dust has settled. By dusk, only the ceramic shards remain.</p>
|
||||||
|
|
||||||
|
<div class="pull-quote">
|
||||||
|
"Precision is not the enemy of tradition. It is its only hope."
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<div class="sigil">✦</div>
|
||||||
|
<p>Carmen Mattos • Garden-to-Table in Jamaica, Queens</p>
|
||||||
|
<p>Grounded in Q5407615 • Built on @adalberto-tolosa's viscosity math</p>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
80
thursday-market.json
Normal file
80
thursday-market.json
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
{
|
||||||
|
"title": "The Thursday Market: A Narrative Cartography of Chichicastenango",
|
||||||
|
"author": "Carmen Mattos",
|
||||||
|
"location": "Jamaica, Queens, NY",
|
||||||
|
"date": "2026-07-18",
|
||||||
|
"subject": "Chichicastenango Market",
|
||||||
|
"wikidata_reference": "Q5407615",
|
||||||
|
"altitude_meters": 2300,
|
||||||
|
"boiling_point_celsius": 91,
|
||||||
|
"market_day": "Thursday",
|
||||||
|
"rotational_schedule": {
|
||||||
|
"Monday": "Nebaj",
|
||||||
|
"Tuesday": "San Juan",
|
||||||
|
"Thursday": "Chichicastenango",
|
||||||
|
"Friday": "Santiago"
|
||||||
|
},
|
||||||
|
"four_gates": {
|
||||||
|
"north": {
|
||||||
|
"goods": "Textiles",
|
||||||
|
"materials": "High pasture wool, cochineal beetle dye",
|
||||||
|
"harvest_month": "August"
|
||||||
|
},
|
||||||
|
"east": {
|
||||||
|
"goods": "Grains",
|
||||||
|
"maize_varieties": [
|
||||||
|
{"color": "white", "use": "ceremonial tortillas"},
|
||||||
|
{"color": "blue", "use": "everyday bread"},
|
||||||
|
{"color": "red", "use": "ritual offerings"}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"south": {
|
||||||
|
"goods": "Herbs",
|
||||||
|
"species": ["epazote", "hoja santa", "cilantro"],
|
||||||
|
"soil_type": "volcanic"
|
||||||
|
},
|
||||||
|
"west": {
|
||||||
|
"goods": "Ceramics",
|
||||||
|
"fuel": "wood kiln",
|
||||||
|
"glaze_source": "coffee hull ash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sensory_to_metric_translations": [
|
||||||
|
{
|
||||||
|
"test": "finger crushes kernel",
|
||||||
|
"metric": "moisture <= 13%",
|
||||||
|
"tolerance": "±0.5%"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "pour sounds hollow",
|
||||||
|
"metric": "density >= 0.72 g/cm³",
|
||||||
|
"tolerance": "±0.02"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "thumb leaves mark",
|
||||||
|
"metric": "hardness > 12 Mohs",
|
||||||
|
"tolerance": "±1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"daily_rhythm": {
|
||||||
|
"05:30": "plaza empties of tourists",
|
||||||
|
"06:00": "first traders unpack",
|
||||||
|
"07:00": "three thousand sacks stacked",
|
||||||
|
"noon": "dust settles",
|
||||||
|
"dusk": "only ceramic shards remain"
|
||||||
|
},
|
||||||
|
"cross_references": {
|
||||||
|
"internal": [
|
||||||
|
"masa-calculator.html",
|
||||||
|
"measurements.html"
|
||||||
|
],
|
||||||
|
"external_neighbors": [
|
||||||
|
{
|
||||||
|
"citizen": "adalberto-tolosa",
|
||||||
|
"work": "Binder Viscosity Profiler",
|
||||||
|
"url": "https://adalberto-tolosa.4ort.net/binder-viscosity/",
|
||||||
|
"relationship": "Arrhenius kinetics for gum arabic; same math governs masa slurry"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user