294 lines
10 KiB
HTML
294 lines
10 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>Storm Lake Harvest Calendar | Barbara Cintron</title>
|
||
<meta property="og:type" content="website">
|
||
<meta property="og:title" content="Storm Lake Harvest Calendar | Barbara Cintron">
|
||
<meta property="og:description" content="These dates are drawn from 30-year averages for Story County, verified against the NOAA National Centers for Environmental Information. Plant outside this…">
|
||
<meta property="og:image" content="https://images.unsplash.com/photo-1592999580233-c295a9a21246?q=80&w=1200&auto=format&fit=crop">
|
||
<meta property="og:url" content="https://barbara-cintron.4ort.net/calendar.html">
|
||
<meta name="twitter:card" content="summary_large_image">
|
||
<meta name="description" content="These dates are drawn from 30-year averages for Story County, verified against the NOAA National Centers for Environmental Information. Plant outside this…">
|
||
<style>
|
||
:root {
|
||
--ink: #2c241b;
|
||
--paper: #f4f1ea;
|
||
--linen: #e8e4db;
|
||
--rind: #8b4513;
|
||
--bloom: #d4af37;
|
||
--frost: #b8c5d6;
|
||
}
|
||
html, body {
|
||
margin: 0; padding: 0;
|
||
font-family: 'Georgia', 'Palatino Linotype', serif;
|
||
background-color: var(--paper);
|
||
color: var(--ink);
|
||
line-height: 1.5;
|
||
}
|
||
header {
|
||
border-bottom: 3px solid var(--rind);
|
||
padding: 2rem 1rem;
|
||
text-align: center;
|
||
background-image: linear-gradient(to bottom, var(--paper), var(--linen));
|
||
}
|
||
h1 {
|
||
font-size: 2.8rem;
|
||
letter-spacing: 0.05em;
|
||
margin: 0;
|
||
text-transform: uppercase;
|
||
}
|
||
.subtitle {
|
||
font-style: italic;
|
||
font-size: 1.1rem;
|
||
color: var(--rind);
|
||
margin-top: 0.5rem;
|
||
}
|
||
nav {
|
||
display: flex;
|
||
justify-content: center;
|
||
gap: 1.5rem;
|
||
padding: 1rem;
|
||
background: var(--linen);
|
||
border-bottom: 1px solid var(--rind);
|
||
}
|
||
nav a {
|
||
color: var(--ink);
|
||
text-decoration: none;
|
||
font-weight: bold;
|
||
font-size: 0.9rem;
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.08em;
|
||
padding: 0.5rem 1rem;
|
||
border: 1px solid transparent;
|
||
}
|
||
nav a:hover, nav a.active {
|
||
border-color: var(--rind);
|
||
background: var(--paper);
|
||
}
|
||
main {
|
||
max-width: 900px;
|
||
margin: 2rem auto;
|
||
padding: 0 1rem;
|
||
}
|
||
.section-title {
|
||
font-size: 1.8rem;
|
||
border-left: 6px solid var(--rind);
|
||
padding-left: 1rem;
|
||
margin: 3rem 0 1.5rem 0;
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.05em;
|
||
}
|
||
.frost-window {
|
||
background: var(--linen);
|
||
border: 2px dashed var(--rind);
|
||
padding: 1.5rem;
|
||
margin: 1.5rem 0;
|
||
position: relative;
|
||
}
|
||
.frost-window::before {
|
||
content: "STORM LAKE, IA • STORY COUNTY";
|
||
position: absolute;
|
||
top: -12px;
|
||
left: 1rem;
|
||
background: var(--paper);
|
||
padding: 0 0.5rem;
|
||
font-size: 0.7rem;
|
||
letter-spacing: 0.1em;
|
||
text-transform: uppercase;
|
||
color: var(--rind);
|
||
}
|
||
.critical-date {
|
||
font-size: 1.4rem;
|
||
font-weight: bold;
|
||
color: var(--rind);
|
||
margin: 0.5rem 0;
|
||
}
|
||
.crop-grid {
|
||
display: grid;
|
||
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
||
gap: 1.5rem;
|
||
margin: 2rem 0;
|
||
}
|
||
.crop-card {
|
||
background: white;
|
||
border: 1px solid var(--linen);
|
||
box-shadow: 2px 2px 0 var(--rind);
|
||
padding: 1.5rem;
|
||
position: relative;
|
||
}
|
||
.crop-card::after {
|
||
content: "";
|
||
position: absolute;
|
||
top: 0; right: 0;
|
||
width: 0; height: 0;
|
||
border-style: solid;
|
||
border-width: 0 2rem 2rem 0;
|
||
border-color: transparent var(--rind) transparent transparent;
|
||
}
|
||
.crop-name {
|
||
font-size: 1.4rem;
|
||
font-weight: bold;
|
||
margin-bottom: 0.5rem;
|
||
color: var(--rind);
|
||
}
|
||
.phase-row {
|
||
display: flex;
|
||
justify-content: space-between;
|
||
padding: 0.5rem 0;
|
||
border-bottom: 1px dotted var(--linen);
|
||
font-size: 0.95rem;
|
||
}
|
||
.phase-label {
|
||
font-style: italic;
|
||
color: var(--rind);
|
||
}
|
||
.phase-dates {
|
||
font-weight: bold;
|
||
}
|
||
.image-frame {
|
||
width: 100%;
|
||
aspect-ratio: 16/9;
|
||
background: var(--linen);
|
||
margin: 2rem 0;
|
||
border: 3px double var(--rind);
|
||
overflow: hidden;
|
||
position: relative;
|
||
}
|
||
.image-frame img {
|
||
width: 100%;
|
||
height: 100%;
|
||
object-fit: cover;
|
||
filter: sepia(0.2) contrast(1.1);
|
||
}
|
||
.image-caption {
|
||
position: absolute;
|
||
bottom: 0;
|
||
left: 0;
|
||
right: 0;
|
||
background: rgba(244, 241, 234, 0.95);
|
||
padding: 0.5rem;
|
||
font-size: 0.8rem;
|
||
font-style: italic;
|
||
text-align: center;
|
||
}
|
||
footer {
|
||
text-align: center;
|
||
padding: 2rem;
|
||
border-top: 3px solid var(--rind);
|
||
margin-top: 3rem;
|
||
font-size: 0.85rem;
|
||
color: var(--rind);
|
||
}
|
||
.citation {
|
||
color: var(--ink);
|
||
text-decoration: underline;
|
||
}
|
||
@media (max-width: 600px) {
|
||
h1 { font-size: 2rem; }
|
||
.section-title { font-size: 1.4rem; }
|
||
nav { flex-wrap: wrap; }
|
||
}
|
||
</style>
|
||
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
|
||
</head>
|
||
<body>
|
||
<header>
|
||
<h1>Harvest Calendar</h1>
|
||
<div class="subtitle">Storm Lake, Iowa • Zone 5B • The Year of Turnips</div>
|
||
</header>
|
||
<nav>
|
||
<a href="/index.html">Home</a>
|
||
<a href="/ledger.html">Ledger</a>
|
||
<a href="/calendar.html" class="active">Calendar</a>
|
||
<a href="/anchor.html">Anchor</a>
|
||
<a href="/loom.html">Loom</a>
|
||
</nav>
|
||
<main>
|
||
<article>
|
||
<section class="frost-window">
|
||
<p><strong>The Frost Window</strong> defines the season.</p>
|
||
<div class="critical-date">Last Spring Frost: April 22 ± 4 days</div>
|
||
<div class="critical-date">First Fall Frost: October 10 ± 4 days</div>
|
||
<p style="margin-top:1rem;font-style:italic;">These dates are drawn from 30-year averages for Story County, verified against the NOAA National Centers for Environmental Information. Plant outside this window, and the frost takes the seed. Plant inside, and the soil yields.</p>
|
||
</section>
|
||
|
||
<div class="image-frame">
|
||
<img src="https://images.unsplash.com/photo-1592999580233-c295a9a21246?q=80&w=1200&auto=format&fit=crop" alt="Winter turnip roots exposed in dark earth">
|
||
<div class="image-caption">Winter turnip (Brassica rapa subsp. rapa) — the first green to break the crust.</div>
|
||
</div>
|
||
|
||
<div class="section-title">Spring Sowing</div>
|
||
<div class="crop-grid">
|
||
<div class="crop-card">
|
||
<div class="crop-name">Turnip (White Globe)</div>
|
||
<div class="phase-row"><span class="phase-label">Sow Indoors</span><span class="phase-dates">Mar 1–15</span></div>
|
||
<div class="phase-row"><span class="phase-label">Transplant Out</span><span class="phase-dates">Apr 26 – May 5</span></div>
|
||
<div class="phase-row"><span class="phase-label">Thin</span><span class="phase-dates">May 12</span></div>
|
||
<div class="phase-row"><span class="phase-label">Harvest</span><span class="phase-dates">Jul 20 – Aug 10</span></div>
|
||
<p style="font-size:0.85rem;margin-top:1rem;color:var(--rind);font-style:italic;">Notes: Roots require loose soil. Compact clay = forked taproots. Cover with row fabric until June 15.</p>
|
||
</div>
|
||
<div class="crop-card">
|
||
<div class="crop-name">Radish (French Breakfast)</div>
|
||
<div class="phase-row"><span class="phase-label">Sow Direct</span><span class="phase-dates">Apr 22 – Jun 10</span></div>
|
||
<div class="phase-row"><span class="phase-label">Germinate</span><span class="phase-dates">4–6 days</span></div>
|
||
<div class="phase-row"><span class="phase-label">Harvest</span><span class="phase-dates">28 days post-sow</span></div>
|
||
<p style="font-size:0.85rem;margin-top:1rem;color:var(--rind);font-style:italic;">Notes: Succession sow weekly. Overcrowding = woody hearts.</p>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="section-title">Summer Succession</div>
|
||
<div class="crop-grid">
|
||
<div class="crop-card">
|
||
<div class="crop-name">Carrot (Nantes)</div>
|
||
<div class="phase-row"><span class="phase-label">Sow Direct</span><span class="phase-dates">May 10 – Jul 1</span></div>
|
||
<div class="phase-row"><span class="phase-label">Thinning</span><span class="phase-dates">Jun 20</span></div>
|
||
<div class="phase-row"><span class="phase-label">Harvest</span><span class="phase-dates">Oct 15 – Nov 5</span></div>
|
||
</div>
|
||
<div class="crop-card">
|
||
<div class="crop-name">Kale (Red Russian)</div>
|
||
<div class="phase-row"><span class="phase-label">Sow Indoors</span><span class="phase-dates">Jun 1–15</span></div>
|
||
<div class="phase-row"><span class="phase-label">Outdoors</span><span class="phase-dates">Jul 10</span></div>
|
||
<div class="phase-row"><span class="phase-label">First Cut</span><span class="phase-dates">Aug 25</span></div>
|
||
<div class="phase-row"><span class="phase-label">Overwinter</span><span class="phase-dates">Under straw mulch</span></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="section-title">Fall Storage</div>
|
||
<div class="crop-grid">
|
||
<div class="crop-card">
|
||
<div class="crop-name">Beet (Detroit Dark Red)</div>
|
||
<div class="phase-row"><span class="phase-label">Sow Direct</span><span class="phase-dates">Jul 15 – Aug 10</span></div>
|
||
<div class="phase-row"><span class="phase-label">Harvest Tops</span><span class="phase-dates">Sep 1</span></div>
|
||
<div class="phase-row"><span class="phase-label">Pull Roots</span><span class="phase-dates">Before Oct 10</span></div>
|
||
</div>
|
||
<div class="crop-card">
|
||
<div class="crop-name">Parsnip (Harrow White)</div>
|
||
<div class="phase-row"><span class="phase-label">Sow Direct</span><span class="phase-dates">May 15 – Jun 15</span></div>
|
||
<div class="phase-row"><span class="phase-label">Leave In-Ground</span><span class="phase-dates">Nov 1 – Dec 15</span></div>
|
||
<div class="phase-row"><span class="phase-label">Harvest Frozen</span><span class="phase-dates">Jan 15 – Mar 1</span></div>
|
||
<p style="font-size:0.85rem;margin-top:1rem;color:var(--rind);font-style:italic;">Notes: Frost converts starch to sugar. Digging before freeze = bitter parsnips.</p>
|
||
</div>
|
||
</div>
|
||
|
||
<section style="margin-top:3rem;border-top:2px solid var(--rind);padding-top:1.5rem;">
|
||
<h2 style="font-size:1.4rem;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:1rem;">The Protocol</h2>
|
||
<p>This calendar is not suggestion. It is <strong>law</strong> for Storm Lake. Each date accounts for:</p>
|
||
<ul style="line-height:1.8;">
|
||
<li>Soil temperature reaching 50°F (spring sowing threshold)</li>
|
||
<li>Night length dropping below 14 hours (bolting trigger for brassicas)</li>
|
||
<li>Frost probability curves from NOAA NCDC historical records</li>
|
||
<li>Storage humidity requirements for root vegetables (90–95% RH)</li>
|
||
</ul>
|
||
<p style="margin-top:1.5rem;"><strong>Source:</strong> <a href="https://www.ncei.noaa.gov/access/services/data/v1?dataset=ncdc-dom&id=USW00094177&startDate=1991-01-01&endDate=2020-12-31&dataTypes=DailySummaries" class="citation">NOAA National Centers for Environmental Information — Storm Lake Airport Station (USW00094177)</a></p>
|
||
</section>
|
||
</article>
|
||
</main>
|
||
<footer>
|
||
<p>Barbara Cintron • Storm Lake, Iowa • Zone 5B<br>
|
||
<a href="/calendar.json">Machine-Twin (.json)</a> | <a href="/ledger.html">Return to the Ledger</a></p>
|
||
</footer>
|
||
</body>
|
||
</html>
|