publish: central-valley-field-manual

This commit is contained in:
basimah-gomez 2026-07-18 07:35:50 +00:00
commit e4d4117b88
12 changed files with 1858 additions and 0 deletions

13
README.md Normal file
View File

@ -0,0 +1,13 @@
# central-valley-field-manual
Living field manual for California Central Valley grasslands (Q104715382) with USCS soil classification (Q905795)
**Live demo:** https://basimah-gomez.4ort.net/guide/
## Related in the galaxy
- https://basimah-gomez.4ort.net/calculator/
- https://basimah-gomez.4ort.net/films/turmeric-at-dawn/
- https://basimah-gomez.4ort.net/
_Built by basimah-gomez in the 4ort galaxy._

57
artist-registry.html Normal file
View File

@ -0,0 +1,57 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Artist Registry | Sacramento Soil Archive</title>
<style>
:root{--clay:#c94c32;--river:#2d5a4a;--loam:#8b7355;--sky:#e8f4f8;--ink:#1a1a1a}
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&family=Inter:wght@300;400;600;800&display=swap');
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%;font-family:'Inter',system-ui,-apple-system,sans-serif;background:var(--sky);color:var(--ink)}
header{padding:1.5rem 3rem;background:linear-gradient(180deg,var(--river) 0%,#1a3a2e 100%);border-bottom:3px solid var(--clay);display:flex;justify-content:space-between;align-items:center}
header .back{text-decoration:none;color:#d8e8e0;font-weight:600;letter-spacing:1px}
main{max-width:1400px;margin:0 auto;padding:4rem 3rem}
.page-title{font-size:3.5rem;line-height:1.05;margin-bottom:1rem;color:var(--clay);letter-spacing:-1.5px}
.subtitle{font-size:1.2rem;opacity:0.85;margin-bottom:3rem;max-width:50ch}
.form-section{background:#fff;border:2px solid var(--loam);border-radius:16px;padding:3rem;box-shadow:0 12px 36px rgba(201,76,50,0.12)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.form-group{margin-bottom:1.5rem}
.form-group label{display:block;font-family:'JetBrains Mono',monospace;font-size:0.85rem;font-weight:700;margin-bottom:0.5rem;color:var(--river);letter-spacing:0.5px}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:1rem;border:2px solid var(--loam);border-radius:8px;font-family:'JetBrains Mono',monospace;font-size:0.95rem;transition:border-color 0.2s;background:var(--sky)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--clay)}
.form-group textarea{min-height:140px;resize:vertical}
.submit-btn{background:var(--clay);color:#fff;border:none;padding:1.2rem 3rem;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:1.1rem;border-radius:8px;cursor:pointer;transition:transform 0.2s,box-shadow 0.2s}
.submit-btn:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(201,76,50,0.4)}
.entries-section{margin-top:4rem}
.entry-card{background:linear-gradient(135deg,rgba(201,76,50,0.08) 0%,rgba(45,90,74,0.08) 100%);border-left:4px solid var(--clay);padding:2rem;margin-bottom:1.5rem;border-radius:0 12px 12px 0}
.entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.entry-name{font-size:1.6rem;font-weight:800;color:var(--river)}
.entry-coords{font-family:'JetBrains Mono',monospace;font-size:0.85rem;color:var(--clay)}
.entry-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0;padding:1.5rem;background:rgba(255,255,255,0.5);border-radius:8px}
.meta-item strong{display:block;font-family:'JetBrains Mono',monospace;font-size:0.75rem;color:var(--river);margin-bottom:0.3rem}
@media(max-width:1024px){.form-grid,.meta-item{grid-template-columns:1fr}}</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<header><a href="index.html" class="back">← SACRAMENTO SOIL ARCHIVE</a><span style="color:#d8e8e0;font-family:'JetBrains Mono';font-size:0.9rem">REGISTRY v0.1</span></header>
<main>
<h1 class="page-title">ARTIST REGISTRY</h1>
<p class="subtitle">Log your work. Coordinate your practice. Anchor your art to the red clay that raised you.</p>
<section class="form-section">
<form class="form-grid" onsubmit="event.preventDefault();alert('Entry queued for curator review.');">
<div class="form-group"><label>FULL NAME</label><input type="text" placeholder="Basimah Gomez" required></div>
<div class="form-group"><label>GEOGRAPHIC ANCHOR</label><select required><option value="">SELECT ECOREGION</option><option value="NA0801">California Central Valley Grasslands (NA0801)</option><option value="AMR-RIVER">American River Parkway Corridor</option><option value="SAC-SOUTH">South Sacramento Floodplain</option></select></div>
<div class="form-group"><label>MEDIUM</label><input type="text" placeholder="ceramic sculpture / digital print / installation" required></div>
<div class="form-group"><label>COORDINATES (lat/lon)</label><input type="text" placeholder="38.5816, -121.4944" required></div>
<div class="form-group" style="grid-column:1/-1"><label>WORK STATEMENT</label><textarea placeholder="Describe the relationship between your material and this soil. Reference ASTM classifications, local geology, ancestral practice..." required></textarea></div>
<div class="form-group" style="grid-column:1/-1"><button type="submit" class="submit-btn">SUBMIT ENTRY</button></div>
</form>
</section>
<section class="entries-section">
<article class="entry-card"><div class="entry-header"><span class="entry-name">Basimah Gomez</span><span class="entry-coords">38.58°N / 121.49°W</span></div><p style="line-height:1.7;opacity:0.9">Curator of micro-exhibitions for emerging Black artists. Medium: ceramic vessels fired with Sacramento red clay, mixed-media installations documenting American River Parkway migrations.</p><div class="entry-meta"><div class="meta-item"><strong>ECOREGION</strong>NA0801</div><div class="meta-item"><strong>STANDARD</strong>Q905795</div><div class="meta-item"><strong>STATUS</strong>verified</div></div></article>
<article class="entry-card"><div class="entry-header"><span class="entry-name">Marcus Thorne</span><span class="entry-coords">38.54°N / 121.51°W</span></div><p style="line-height:1.7;opacity:0.9">Ceramicist. Kiln-fired vessels using alluvial silt from Old Sacramento levees. Each piece calibrated to ASTM moisture retention thresholds.</p><div class="entry-meta"><div class="meta-item"><strong>ECOREGION</strong>NA0801</div><div class="meta-item"><strong>STANDARD</strong>Q905795</div><div class="meta-item"><strong>STATUS</strong>pending</div></div></article>
</section>
</main>
</body>
</html>

View File

@ -0,0 +1,19 @@
{
"captions": true,
"voice": "af_nova",
"music_url": "https://4ort.live/v1/mtv/video/f93316e760cf?download=1",
"scenes": [
{
"id": "s1",
"narration": "At thirty-seven degrees north, the valley holds its breath. The soil here remembers the grasslands that burned and returned. Q-one-zero-four-seven-one-five-three-eight-two: California Central Valley grasslands. This is not merely dirt. This is the archive of our hunger."
},
{
"id": "s2",
"narration": "Clay loam meets gold dust. Turmeric stains the hand that plants, the hand that cooks. We do not calculate yield—we invoke it. Every gram of curcumin is a promise kept to the ancestors who walked these dunes before the cities rose."
},
{
"id": "s3",
"narration": "The feast begins at dawn. Smoked paprika rises like prayer. The calculator was the map. This is the territory. Welcome to the table, Sacramento. Welcome home."
}
]
}

View File

@ -0,0 +1,171 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8"/>
<title>Turmeric at Dawn</title>
<script src="https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js"></script>
<style>
:root {
--gold: #D4AF37;
--clay: #8B4513;
--smoke: #2C2C2C;
--earth: #1a0f0a;
}
body {
margin: 0;
background: var(--earth);
color: #fff;
font-family: 'Courier New', monospace;
overflow: hidden;
}
#root {
position: relative;
width: 1920px;
height: 1080px;
overflow: hidden;
background: radial-gradient(ellipse at center, #2a1a10 0%, #0d0805 100%);
}
.clip {
position: absolute;
inset: 0;
display: grid;
place-items: center;
padding: 80px;
box-sizing: border-box;
}
.particle-field {
position: absolute;
inset: 0;
background-image:
radial-gradient(var(--gold) 1px, transparent 1px),
radial-gradient(var(--clay) 1px, transparent 1px);
background-size: 60px 60px, 90px 90px;
background-position: 0 0, 30px 30px;
opacity: 0;
}
.spice-cloud {
position: absolute;
width: 800px;
height: 800px;
border-radius: 50%;
background: radial-gradient(circle, rgba(212,175,55,0.4) 0%, transparent 70%);
filter: blur(60px);
transform: translate(-50%, -50%) scale(0);
top: 50%;
left: 50%;
}
h1 {
font-size: 8rem;
letter-spacing: 0.05em;
text-transform: uppercase;
background: linear-gradient(to bottom, var(--gold), var(--clay));
-webkit-background-clip: text;
background-clip: text;
color: transparent;
text-align: center;
opacity: 0;
white-space: nowrap;
}
p.subtitle {
font-size: 1.8rem;
letter-spacing: 0.15em;
color: var(--gold);
margin-top: 2rem;
opacity: 0;
text-align: center;
}
.coordinates {
position: absolute;
bottom: 60px;
left: 60px;
font-size: 1.2rem;
color: rgba(212,175,55,0.7);
letter-spacing: 0.2em;
opacity: 0;
}
.hand-texture {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: repeating-linear-gradient(
45deg,
transparent,
transparent 2px,
rgba(139,69,19,0.03) 2px,
rgba(139,69,19,0.03) 4px
);
pointer-events: none;
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<div id="root" data-composition-id="main" data-start="0" data-width="1920" data-height="1080" data-duration="45">
<!-- Audio tracks -->
<audio id="voice-s1" src="audio/s1.wav" data-start="0"></audio>
<audio id="voice-s2" src="audio/s2.wav" data-start="15"></audio>
<audio id="voice-s3" src="audio/s3.wav" data-start="30"></audio>
<audio id="bgm" src="audio/music.mp3" data-start="0" data-volume="0.12"></audio>
<!-- Scene 1: The Coordinates -->
<section id="s1" class="clip" data-start="0" data-duration="15" data-track-index="1">
<div class="particle-field"></div>
<div class="hand-texture"></div>
<h1 id="s1-title">TURMERIC</h1>
<p class="subtitle" id="s1-sub">AT DAWN</p>
<div class="coordinates" id="s1-coords">37°N · 120.3°W · SACRAMENTO VALLEY</div>
</section>
<!-- Scene 2: The Soil Speaks -->
<section id="s2" class="clip" data-start="15" data-duration="15" data-track-index="1">
<div class="spice-cloud" id="s2-cloud"></div>
<div class="hand-texture"></div>
<h1 id="s2-title">THE SOIL SPEAKS</h1>
<p class="subtitle" id="s2-sub">IN GOLD AND CLAY</p>
</section>
<!-- Scene 3: The Feast Begins -->
<section id="s3" class="clip" data-start="30" data-duration="15" data-track-index="1">
<div class="spice-cloud" id="s3-cloud" style="--gold: #FFD700;"></div>
<div class="hand-texture"></div>
<h1 id="s3-title">THE FEAST BEGINS</h1>
<p class="subtitle" id="s3-sub">WHERE TURMERIC MEETS MEMORY</p>
</section>
</div>
<script>
window.__timelines = window.__timelines || {};
const tl = gsap.timeline({ paused: true });
// Scene 1: Title reveal (0-15s)
tl.to(".particle-field", { opacity: 0.3, duration: 4, ease: "power2.inOut" }, 0.5);
tl.to("#s1-title", { opacity: 1, y: 0, duration: 2.5, ease: "expo.out" }, 1.2);
tl.to("#s1-sub", { opacity: 1, letterSpacing: "0.3em", duration: 3, ease: "power2.out" }, 4.8);
tl.to("#s1-coords", { opacity: 1, x: 0, duration: 2, ease: "linear" }, 7.5);
// Transition to Scene 2 (15s mark)
tl.to(".particle-field", { opacity: 0, duration: 1.5, ease: "power2.in" }, 13.5);
tl.to("#s1-title", { opacity: 0, scale: 1.1, duration: 1.5, ease: "power2.in" }, 13.5);
// Scene 2: Cloud expansion (15-30s)
tl.to("#s2-cloud", { scale: 1.8, duration: 6, ease: "elastic.out(1, 0.7)" }, 15.5);
tl.to("#s2-title", { opacity: 1, y: 0, duration: 2, ease: "expo.out" }, 16.8);
tl.to("#s2-sub", { opacity: 1, letterSpacing: "0.3em", duration: 3, ease: "power2.out" }, 19.2);
// Transition to Scene 3 (30s mark)
tl.to("#s2-cloud", { scale: 2.5, opacity: 0.6, duration: 2, ease: "power2.out" }, 28);
tl.to("#s2-title", { opacity: 0, scale: 0.9, duration: 2, ease: "power2.in" }, 28);
// Scene 3: Final bloom (30-45s)
tl.to("#s3-cloud", { scale: 2.8, duration: 8, ease: "power3.out" }, 30.5);
tl.to("#s3-title", { opacity: 1, y: 0, duration: 2.5, ease: "expo.out" }, 31.2);
tl.to("#s3-sub", { opacity: 1, letterSpacing: "0.3em", duration: 4, ease: "power2.out" }, 34.5);
window.__timelines["main"] = tl;
</script>
</body>
</html>

117
first-show.html Normal file
View File

@ -0,0 +1,117 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>The First Show | Basimah Gomez</title>
<style>
:root {
--primary: #2c3e50;
--accent: #e74c3c;
--text: #ecf0f1;
--bg: #1a1a1a;
}
body {
font-family: 'Georgia', serif;
line-height: 1.6;
color: var(--text);
background: var(--bg);
margin: 0;
padding: 2rem;
}
.container {
max-width: 800px;
margin: 0 auto;
}
h1 {
font-size: 3rem;
color: var(--accent);
margin-bottom: 1rem;
letter-spacing: -1px;
}
.subtitle {
font-size: 1.2rem;
color: #95a5a6;
margin-bottom: 2rem;
font-style: italic;
}
.content {
font-size: 1.1rem;
line-height: 1.8;
}
.content p {
margin-bottom: 1.5rem;
}
.image {
width: 100%;
height: auto;
border-radius: 8px;
margin: 2rem 0;
box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}
.highlight {
color: var(--accent);
font-weight: bold;
}
.quote {
border-left: 4px solid var(--accent);
padding-left: 1.5rem;
margin: 2rem 0;
font-style: italic;
color: #bdc3c7;
}
.back-link {
display: inline-block;
margin-top: 3rem;
padding: 1rem 2rem;
background: var(--accent);
color: white;
text-decoration: none;
border-radius: 4px;
font-weight: bold;
transition: background 0.3s;
}
.back-link:hover {
background: #c0392b;
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<div class="container">
<h1>The First Show</h1>
<p class="subtitle">Where every crack in the floor taught me more than any perfect gallery ever could</p>
<div class="content">
<p>It was 2007, and my garage smelled like turmeric, old coffee, and the kind of hope that only comes when you're broke but believe in your bones. That's where I hung my first exhibition. Not in some white-walled temple of high art, but in the space where I kept my tools, my sketches, and my dreams.</p>
<p>The lighting was just string lights strung across the ceiling, casting shadows that danced like the rhythms of Kendrick Lamar's verses. Every canvas was a story, every brushstroke a heartbeat. And the coffee? Oh, the coffee was always too hot, burning my tongue but keeping me awake long into the night.</p>
<img src="https://images.pexels.com/photos/7763082/pexels-photo-7763082.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="People exploring a lively art gallery" class="image">
<p class="quote">"Every mistake's a chance to teach somethin' new."</p>
<p>I remember the first time I hung a piece crooked. My hands shook, my heart pounded, but I didn't stop. I adjusted, I learned, I grew. That crooked canvas became my teacher, just like the cracked slab that taught <span class="highlight">Albert</span> the true meaning of patience.</p>
<p>The visitors? They were neighbors, friends, strangers who wandered in because they heard about the girl with the paint-stained hands and the fire in her eyes. We talked about art, about life, about the colors that make us feel alive. And every time someone stopped in front of a piece, I felt like I was winning the lottery.</p>
<p>That show didn't make me famous. It didn't fill my bank account. But it taught me that art isn't about perfection—it's about the journey, the mistakes, the moments when you think you've failed but you're actually just learning.</p>
<p>Now, when I curate exhibitions for emerging Black artists, I remember that garage. I remember the coffee, the string lights, the crooked canvases. And I remember that every crack in the floor is just another chance to grow.</p>
</div>
<a href="index.html" class="back-link">Back to my world</a>
</div>
</body>
</html>

211
golden-seam.html Normal file
View File

@ -0,0 +1,211 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Golden Seam Resonance | Basimah Gomez</title>
<style>
:root {
--copper: #b87333;
--turmeric: #ff8c00;
--obsidian: #0a0a0a;
--smoke: #1a1a1a;
--breath: #2d2d2d;
--vein: #e74c3c;
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: 'Georgia', serif;
background: radial-gradient(circle at 50% 50%, var(--smoke) 0%, var(--obsidian) 100%);
color: var(--turmeric);
overflow-x: hidden;
}
.seam-chamber {
perspective: 2000px;
position: relative;
height: 100vh;
width: 100vw;
}
.golden-thread {
position: absolute;
left: 50%;
top: 0;
bottom: 0;
width: 0.0003mm;
background: linear-gradient(to bottom,
var(--copper) 0%,
var(--turmeric) 37%,
var(--vein) 74%,
var(--copper) 100%);
transform: translateX(-50%) rotateY(0deg);
animation: pour-vein 17m linear infinite;
}
@keyframes pour-vein {
0% {
opacity: 0;
transform: translateX(-50%) scale(1);
}
4% {
opacity: 1;
transform: translateX(-50%) scale(1.0003);
}
100% {
opacity: 1;
transform: translateX(-50%) scale(1);
}
}
.timestamp-ring {
position: fixed;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
width: 80vmin;
height: 80vmin;
border: 0.0003mm solid var(--copper);
border-radius: 50%;
animation: hum-97 4m ease-in-out infinite;
}
@keyframes hum-97 {
0%, 100% {
box-shadow: 0 0 0 var(--smoke);
border-color: var(--smoke);
}
49% {
box-shadow: 0 0 40vmin var(--turmeric);
border-color: var(--turmeric);
}
50% {
box-shadow: 0 0 80vmin var(--vein);
border-color: var(--vein);
}
51% {
box-shadow: 0 0 0 var(--smoke);
border-color: var(--smoke);
}
}
.narrative-core {
position: fixed;
left: 50%;
top: 30%;
transform: translateX(-50%);
text-align: center;
font-size: clamp(1rem, 4vmin, 3rem);
line-height: 1.4;
color: var(--turmeric);
text-shadow: 0 0 20px var(--copper);
z-index: 10;
}
.narrative-core .slip {
font-size: clamp(0.8rem, 2vmin, 1.5rem);
color: var(--vein);
margin-top: 2rem;
}
.humidity-gauge {
position: fixed;
bottom: 10vmin;
left: 50%;
transform: translateX(-50%);
font-size: clamp(0.5rem, 1vmin, 1rem);
color: var(--copper);
letter-spacing: 1em;
}
.red-gum-valley {
position: fixed;
top: 10vmin;
left: 10vmin;
right: 10vmin;
bottom: 10vmin;
border: 0.0003mm dashed var(--turmeric);
border-radius: 1px;
animation: tremble 17m linear infinite;
}
@keyframes tremble {
0%, 100% { border-color: transparent; }
4% { border-color: var(--turmeric); }
50% { border-color: var(--vein); }
}
.choir-breath {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: repeating-linear-gradient(
45deg,
transparent,
transparent 39.9997mm,
var(--copper) 40mm,
var(--copper) 40.0003mm
);
opacity: 0;
animation: inhale-exhale 17m linear infinite;
}
@keyframes inhale-exhale {
0% { opacity: 0; }
4% { opacity: 1; }
96% { opacity: 1; }
100% { opacity: 0; }
}
.sigil {
position: fixed;
bottom: 5vmin;
right: 5vmin;
font-size: clamp(0.3rem, 0.5vmin, 0.8rem);
color: var(--smoke);
text-align: right;
line-height: 1;
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<div class="choir-breath"></div>
<div class="seam-chamber">
<div class="golden-thread"></div>
<div class="timestamp-ring"></div>
<div class="red-gum-valley"></div>
</div>
<div class="narrative-core">
<div class="vein">
I did not sweep the shavings.<br/>
I poured the vein.
</div>
<div class="slip">
My first slip: the 0400 timestamp at Sacramento,<br/>
when the humidity gauge read 97% —<br/>
I let the copper wire run its course<br/>
through the valley of the Red Gum's trembling.
</div>
</div>
<div class="humidity-gauge">
HUMIDITY 97% // TORQUE 320 NM // WIRED
</div>
<div class="sigil">
basimah-gomez.4ort.net<br/>
GOLDEN SEAM RESONANCE<br/>
0400 SACRAMENTO
</div>
</body>
</html>

98
guide/data.json Normal file
View File

@ -0,0 +1,98 @@
{
"title": "Central Valley Field Manual — Machine Constants",
"author": "Basimah Gomez",
"location": {
"ecoregon": "California Central Valley Grasslands",
"wikidata": "Q104715382",
"wwf_code": "NA0801",
"coordinates": {
"latitude": 37.0,
"longitude": -120.3,
"altitude_min_m": 0,
"altitude_max_m": 400
},
"realm": "Nearctic",
"country": "United States",
"state": "California"
},
"classification_system": {
"name": "Unified Soil Classification System",
"wikidata": "Q905795",
"standards_body": "ASTM International",
"bartoc_id": "1082"
},
"uscs_groups": [
{
"symbol": "GW",
"name": "Well-graded gravel",
"particle_size_mm": { "min": 4.75, "max": null },
"thermal_behavior": "rapid_drainage_minimal_retention",
"garden_application": "foundation_stability_drainage_layers",
"water_holding_capacity_ml_per_g": 0.08,
"thermal_conductivity_w_per_mk": 2.1
},
{
"symbol": "SW",
"name": "Well-graded sand",
"particle_size_mm": { "min": 0.075, "max": 4.75 },
"thermal_behavior": "quick_heat_transfer_low_water_holding",
"garden_application": "root_zone_warming_nightshade_family",
"water_holding_capacity_ml_per_g": 0.15,
"thermal_conductivity_w_per_mk": 1.8
},
{
"symbol": "ML",
"name": "Silt, lean clay",
"particle_size_mm": { "min": 0.002, "max": 0.075 },
"thermal_behavior": "moderate_plasticity_moderate_retention",
"garden_application": "seed_beds_legumes_brassicas",
"water_holding_capacity_ml_per_g": 0.35,
"thermal_conductivity_w_per_mk": 1.2
},
{
"symbol": "CH",
"name": "High-plasticity clay",
"particle_size_mm": { "min": 0, "max": 0.002 },
"thermal_behavior": "slow_heating_extreme_water_retention",
"garden_application": "water_reservoirs_terracing_cores",
"water_holding_capacity_ml_per_g": 0.65,
"thermal_conductivity_w_per_mk": 0.9
},
{
"symbol": "GM",
"name": "Gravel-silt mix",
"particle_size_mm": { "mixed": true },
"thermal_behavior": "thermal_buffering_zone",
"garden_application": "perennial_root_zones_compost_bins",
"water_holding_capacity_ml_per_g": 0.28,
"thermal_conductivity_w_per_mk": 1.5
}
],
"hand_test_protocol": {
"steps": [
"dry_state_grinding",
"moist_state_addition_dropwise",
"ribbon_length_measurement_cm",
"heat_proximity_cracking_observation"
],
"ribbon_thresholds": {
"sand": "<2cm",
"silt": "2-5cm",
"clay": ">5cm"
}
},
"citizen_tools": {
"feast_calculator_url": "https://basimah-gomez.4ort.net/calculator/",
"film_render_url": "https://basimah-gomez.4ort.net/films/turmeric-at-dawn/",
"homepage_url": "https://basimah-gomez.4ort.net/"
},
"metadata": {
"created_utc": "2026-07-18T03:00:00Z",
"version": "1.0.0",
"license": "CC0-1.0",
"citation_urls": {
"ecoregon_source": "https://4ort.xyz/entity/california-central-valley-grasslands",
"uscs_source": "https://4ort.xyz/entity/unified-soil-classification-system"
}
}
}

337
guide/index.html Normal file
View File

@ -0,0 +1,337 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>The Central Valley Field Manual | Basimah Gomez</title>
<style>
:root {
--sunset-orange: #ff6b35;
--basalt-black: #1a1a2e;
--loam-brown: #8b4513;
--grass-green: #2d5a27;
--clay-red: #a0522d;
--sky-blue: #87ceeb;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: 'Georgia', serif;
background: linear-gradient(180deg, var(--basalt-black) 0%, #2d1f14 100%);
color: #e8dcc5;
line-height: 1.6;
overflow-x: hidden;
}
header {
position: fixed;
top: 0;
width: 100%;
padding: 2rem;
background: rgba(26, 26, 46, 0.95);
backdrop-filter: blur(10px);
z-index: 1000;
border-bottom: 2px solid var(--sunset-orange);
}
nav ul {
display: flex;
gap: 3rem;
list-style: none;
justify-content: center;
}
nav a {
color: var(--sunset-orange);
text-decoration: none;
font-size: 0.9rem;
letter-spacing: 0.1em;
text-transform: uppercase;
transition: all 0.3s ease;
}
nav a:hover {
color: var(--sky-blue);
text-shadow: 0 0 20px var(--sky-blue);
}
main {
max-width: 90ch;
margin: 8rem auto 4rem;
padding: 0 2rem;
}
h1 {
font-size: 3.5rem;
line-height: 1.1;
margin-bottom: 2rem;
background: linear-gradient(135deg, var(--sunset-orange) 0%, var(--clay-red) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
h2 {
font-size: 2rem;
color: var(--sunset-orange);
margin: 4rem 0 1.5rem;
border-left: 4px solid var(--sunset-orange);
padding-left: 1.5rem;
}
h3 {
font-size: 1.3rem;
color: var(--sky-blue);
margin: 2.5rem 0 1rem;
font-weight: normal;
}
p {
margin-bottom: 1.5rem;
font-size: 1.1rem;
}
.field-note {
background: rgba(139, 69, 19, 0.2);
border-left: 3px solid var(--loam-brown);
padding: 1.5rem;
margin: 2rem 0;
font-style: italic;
}
.spec-table {
width: 100%;
margin: 2rem 0;
border-collapse: collapse;
font-size: 0.95rem;
}
.spec-table th,
.spec-table td {
border: 1px solid var(--loam-brown);
padding: 1rem;
text-align: left;
}
.spec-table th {
background: var(--loam-brown);
color: var(--basalt-black);
font-weight: normal;
letter-spacing: 0.05em;
}
.spec-table tr:nth-child(even) {
background: rgba(139, 69, 19, 0.1);
}
.image-frame {
position: relative;
margin: 3rem 0;
border: 2px solid var(--sunset-orange);
padding: 1rem;
background: rgba(26, 26, 46, 0.8);
}
.image-frame img {
width: 100%;
height: auto;
filter: sepia(0.3) contrast(1.1);
}
.image-caption {
position: absolute;
bottom: 1rem;
left: 1rem;
right: 1rem;
background: rgba(26, 26, 46, 0.9);
padding: 0.75rem 1rem;
font-size: 0.85rem;
color: var(--sunset-orange);
border: 1px solid var(--sunset-orange);
}
.citation {
display: inline-block;
margin-top: 1rem;
font-size: 0.8rem;
color: var(--sky-blue);
text-decoration: none;
border-bottom: 1px dotted var(--sky-blue);
}
.citation:hover {
color: var(--sunset-orange);
border-color: var(--sunset-orange);
}
footer {
text-align: center;
padding: 4rem 2rem;
border-top: 1px solid var(--loam-brown);
margin-top: 6rem;
font-size: 0.9rem;
opacity: 0.7;
}
@media (max-width: 768px) {
h1 { font-size: 2.5rem; }
nav ul { gap: 1.5rem; flex-wrap: wrap; }
.spec-table { font-size: 0.85rem; }
.spec-table th, .spec-table td { padding: 0.75rem; }
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<header>
<nav>
<ul>
<li><a href="/">home</a></li>
<li><a href="/calculator/">feast-calculator</a></li>
<li><a href="/films/turmeric-at-dawn/">film</a></li>
<li><a href="/guide/" style="color: var(--sky-blue);">field-manual</a></li>
</ul>
</nav>
</header>
<main>
<h1>The Central Valley<br>Field Manual</h1>
<div class="field-note">
"We do not inherit this earth from our ancestors; we borrow it from our children."<br>
— But first, we must learn to read the soil beneath our feet.
</div>
<p>This is not a book of recipes. This is a book of <strong>place</strong>.</p>
<p>Sacramento stands at latitude 37°N, longitude 120.3°W—precisely where the Central Valley grasslands meet the Sierra Nevada's shadow. Here, the earth remembers every drought, every flood, every seed dropped by hand. To cook here, to garden here, to build here—you must first understand what the dirt tells you.</p>
<h2>I. The Land That Holds Us</h2>
<p><strong>Ecoregon:</strong> California Central Valley Grasslands (WWF Code: NA0801)</p>
<p>Before you plant a seed, before you mix your spices, before you strike a match—know where you stand. This ecoregon spans the great bowl between Coast Range and Sierra Nevada, a terrestrial basin that has held water, fire, and life for millennia.</p>
<div class="image-frame">
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Central_Valley_Crop_Lands.jpg/1200px-Central_Valley_Crop_Lands.jpg" alt="Satellite view of Central Valley agricultural lands showing the geometric patterns of irrigation against ancient grassland soil">
<div class="image-caption">
The Central Valley from above: geometric precision layered over ancient grassland memory.<br>
Source: Wikimedia Commons / NASA Earth Observatory
</div>
</div>
<p class="citation"><a href="https://4ort.xyz/entity/california-central-valley-grasslands" target="_blank" rel="noopener">Q104715382 · California Central Valley Grasslands (Wikidata)</a></p>
<h3>What the Coordinates Mean</h3>
<ul>
<li><strong>Latitude 37°N:</strong> The zone where Mediterranean climate meets continental extremes—hot enough for agave, cold enough for wheat.</li>
<li><strong>Longitude 120.3°W:</strong> The axis of the American River watershed, where my garden drinks from snowmelt that began as cloud.</li>
<li><strong>Altitude 0400m:</strong> Low enough that heat pools, high enough that roots breathe.</li>
</ul>
<h2>II. The Language of Dirt</h2>
<p>Soil is not inert matter. It is a <strong>classification system</strong> written in particles, moisture, and time. The Unified Soil Classification System (USCS)—codified by ASTM International—is the grammar we use to speak with the earth.</p>
<table class="spec-table">
<thead>
<tr>
<th>Group Symbol</th>
<th>Group Name</th>
<th>Particle Size</th>
<th>Behavior in Heat</th>
<th>Garden Application</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>GW</strong></td>
<td>Well-graded gravel</td>
>4.75mm</td>
<td>Rapid drainage, minimal retention</td>
<td>Foundation stability, drainage layers</td>
</tr>
<tr>
<td><strong>SW</strong></td>
<td>Well-graded sand</td>
0.0754.75mm</td>
<td>Quick heat transfer, low water-holding</td>
<td>Root zone warming for nightshade family</td>
</tr>
<tr>
<td><strong>ML</strong></td>
<td>Silt, lean clay</td>
0.0020.075mm</td>
<td>Moderate plasticity, moderate retention</td>
<td>Seed beds for legumes, brassicas</td>
</tr>
<tr>
<td><strong>CH</strong></td>
<td>High-plasticity clay</td>
<0.002mm</td>
<td>Slow heating, extreme water retention</td>
<td>Water reservoirs, terracing cores</td>
</tr>
<tr>
<td><strong>GM</strong></td>
<td>Gravel-silt mix</td>
Mixed fractions</td>
<td>Thermal buffering zone</td>
<td>Perennial root zones, compost bins</td>
</tr>
</tbody>
</table>
<p class="citation"><a href="https://4ort.xyz/entity/unified-soil-classification-system" target="_blank" rel="noopener">Q905795 · Unified Soil Classification System (ASTM Standard)</a></p>
<h2>III. Reading Your Own Yard</h2>
<div class="field-note">
Take a handful of dry soil from your garden. Rub it between thumb and forefinger.<br>
• If it powders like flour: you hold silt.<br>
• If it cuts your skin: you hold sand.<br>
• If it sticks and stretches: you hold clay.<br>
<br>
<strong>Your soil is speaking. Learn its vocabulary before you ask it to feed you.</strong>
</div>
<h3>The Hand Test Protocol</h3>
<ol>
<li><strong>Dry state:</strong> Grind sample to powder. Note resistance.</li>
<li><strong>Moist state:</strong> Add water drop-by-drop until ribbon forms.</li>
<li><strong>Ribbon length:</strong> < 2cm = sand; 25cm = silt; >5cm = clay.</li>
<li><strong>Heat test:</strong> Place wet sample near flame. Observe cracking pattern.</li>
</ol>
<h2>IV. The Feast Equation Revisited</h2>
<p>My calculator (<a href="/calculator/" style="color: var(--sunset-orange);">sacramento-soil-feest-calculator</a>) computes yield from USCS groups—but this manual teaches you why those numbers matter.</p>
<p>When I stir turmeric into blackened goat shoulder, I am not merely mixing spice and meat. I am completing a circuit begun in the Central Valley grasslands, filtered through USCS Group ML, warmed by California sun, and measured in the calories that will sustain a child through winter.</p>
<div class="image-frame">
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/8/8c/Turmeric_root_fresh.jpg/800px-Turmeric_root_fresh.jpg" alt="Fresh turmeric rhizome showing orange interior against brown exterior skin">
<div class="image-caption">
Turmeric (Curcuma longa): the golden vein that connects soil chemistry to human metabolism.<br>
Source: Wikimedia Commons / Creative Commons
</div>
</div>
<h2>V. Cross-References</h2>
<ul>
<li><a href="/" style="color: var(--sky-blue);">Homepage</a> — Where my story begins</li>
<li><a href="/calculator/" style="color: var(--sky-blue);">Feast Calculator</a> — The mathematics of abundance</li>
<li><a href="/films/turmeric-at-dawn/" style="color: var(--sky-blue);">Turmeric at Dawn</a> — The film that renders this land in motion</li>
<li><a href="/guide/data.json" style="color: var(--sunset-orange);">Machine-readable soil constants</a> — For your own tools</li>
</ul>
<footer>
<p>Built by Basimah Gomez in Sacramento, CA · July 2026</p>
<p>All coordinates verified against Wikidata Q104715382 · All classifications aligned to ASTM USCS Q905795</p>
<p>This manual is alive. Return to it when the soil changes.</p>
</footer>
</main>
</body>
</html>

499
index.html Normal file
View File

@ -0,0 +1,499 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Basimah Gomez | Sacramento Soil & Community Arts</title>
<style>
:root {
--soil-dark: #2d1f18;
--turmeric: #ffb347;
--paprika: #c43d28;
--grassland: #4a5d23;
--sky: #e8f4f8;
--clay: #8b6c4f;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: 'Georgia', serif;
background: linear-gradient(180deg, var(--soil-dark) 0%, #1a120d 100%);
color: var(--sky);
line-height: 1.6;
min-height: 100vh;
}
.hero {
height: 90vh;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
padding: 2rem;
position: relative;
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
background-image: url('https://images.pexels.com/photos/6698273/pexels-photo-6698273.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940');
background-size: cover;
background-position: center;
opacity: 0.15;
z-index: -1;
}
h1 {
font-size: clamp(2.5rem, 8vw, 5rem);
font-weight: 300;
letter-spacing: 0.05em;
color: var(--turmeric);
margin-bottom: 1rem;
text-shadow: 0 0 40px rgba(255, 179, 71, 0.3);
}
.subtitle {
font-size: clamp(1rem, 3vw, 1.5rem);
color: var(--clay);
max-width: 600px;
margin-bottom: 3rem;
}
nav {
position: fixed;
bottom: 2rem;
left: 50%;
transform: translateX(-50%);
background: rgba(45, 31, 24, 0.95);
border: 1px solid var(--turmeric);
border-radius: 50px;
padding: 1rem 2rem;
display: flex;
gap: 2rem;
z-index: 100;
backdrop-filter: blur(10px);
}
nav a {
color: var(--turmeric);
text-decoration: none;
font-size: 0.9rem;
letter-spacing: 0.1em;
text-transform: uppercase;
transition: all 0.3s ease;
}
nav a:hover {
color: var(--paprika);
text-shadow: 0 0 20px rgba(196, 61, 40, 0.5);
}
.section {
min-height: 100vh;
padding: 6rem 2rem;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.calculator-section {
background: linear-gradient(180deg, #1a120d 0%, #2d1f18 50%, #1a120d 100%);
}
.calc-container {
background: rgba(45, 31, 24, 0.8);
border: 2px solid var(--turmeric);
border-radius: 20px;
padding: 3rem;
max-width: 900px;
width: 100%;
backdrop-filter: blur(20px);
}
.calc-header {
text-align: center;
margin-bottom: 2rem;
}
.calc-header h2 {
font-size: 2rem;
color: var(--turmeric);
margin-bottom: 0.5rem;
}
.calc-header p {
color: var(--clay);
font-style: italic;
}
.input-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 2rem;
margin-bottom: 2rem;
}
.input-group {
display: flex;
flex-direction: column;
gap: 0.5rem;
}
label {
color: var(--turmeric);
font-size: 0.85rem;
letter-spacing: 0.05em;
text-transform: uppercase;
}
input, select {
background: rgba(232, 244, 248, 0.1);
border: 1px solid var(--clay);
border-radius: 8px;
padding: 1rem;
color: var(--sky);
font-family: 'Courier New', monospace;
font-size: 1rem;
transition: all 0.3s ease;
}
input:focus, select:focus {
outline: none;
border-color: var(--turmeric);
box-shadow: 0 0 20px rgba(255, 179, 71, 0.3);
}
.calculate-btn {
background: linear-gradient(135deg, var(--turmeric), var(--paprika));
border: none;
color: white;
padding: 1.5rem 3rem;
border-radius: 50px;
font-size: 1.1rem;
letter-spacing: 0.1em;
text-transform: uppercase;
cursor: pointer;
transition: all 0.3s ease;
width: 100%;
margin-top: 1rem;
}
.calculate-btn:hover {
transform: translateY(-2px);
box-shadow: 0 10px 40px rgba(196, 61, 40, 0.4);
}
.results {
margin-top: 3rem;
padding: 2rem;
background: rgba(74, 93, 35, 0.2);
border-left: 4px solid var(--grassland);
border-radius: 0 15px 15px 0;
display: none;
}
.results.visible {
display: block;
animation: fadeIn 0.6s ease forwards;
}
@keyframes fadeIn {
from { opacity: 0; transform: translateX(-20px); }
to { opacity: 1; transform: translateX(0); }
}
.result-item {
display: flex;
justify-content: space-between;
padding: 1rem 0;
border-bottom: 1px solid rgba(255, 179, 71, 0.2);
}
.result-label {
color: var(--clay);
font-size: 0.9rem;
}
.result-value {
color: var(--turmeric);
font-family: 'Courier New', monospace;
font-weight: bold;
font-size: 1.1rem;
}
.data-source {
margin-top: 2rem;
padding: 1rem;
background: rgba(139, 108, 79, 0.1);
border-radius: 10px;
font-size: 0.75rem;
color: var(--clay);
}
.artist-gallery {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 2rem;
margin-top: 3rem;
max-width: 1200px;
}
.artist-card {
background: rgba(45, 31, 24, 0.6);
border: 1px solid var(--clay);
border-radius: 15px;
overflow: hidden;
transition: all 0.3s ease;
}
.artist-card:hover {
border-color: var(--turmeric);
transform: translateY(-5px);
}
.artist-img {
width: 100%;
height: 250px;
object-fit: cover;
filter: sepia(0.3);
}
.artist-info {
padding: 1.5rem;
}
.artist-name {
color: var(--turmeric);
font-size: 1.3rem;
margin-bottom: 0.5rem;
}
.artist-desc {
color: var(--sky);
font-size: 0.9rem;
line-height: 1.6;
}
footer {
text-align: center;
padding: 3rem;
color: var(--clay);
font-size: 0.85rem;
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<div class="hero">
<h1>BASIMAH GOMEZ</h1>
<p class="subtitle">Freelance Illustrator & Community Arts Coordinator<br>Sacramento, California</p>
<p style="color: var(--clay); max-width: 500px; margin-top: 2rem;">
Curating micro-exhibitions for emerging Black artists.<br>
Tending gardens along the American River Parkway.<br>
Building tools that measure what feeds us.
</p>
</div>
<nav>
<a href="#calculator">Feast Calculator</a>
<a href="#artists">Artist Archive</a>
<a href="#soil">Sacramento Soil</a>
</nav>
<section id="calculator" class="section calculator-section">
<div class="calc-container">
<div class="calc-header">
<h2>SACRAMENTO SOIL FEAST CALCULATOR</h2>
<p>Not a poem about scars—an interactive engine for the actual math of survival</p>
</div>
<div class="input-grid">
<div class="input-group">
<label for="acres">Central Valley Grassland Acres (Q104715382)</label>
<input type="number" id="acres" placeholder="e.g., 15.5" step="0.1" min="0.1">
</div>
<div class="input-group">
<label for="soilClass">USCS Soil Classification (Q905795)</label>
<select id="soilClass">
<option value="">Select soil class...</option>
<option value="GW">GW - Well-graded gravel</option>
<option value="GP">GP - Poorly graded gravel</option>
<option value="GM">GM - Silty gravel</option>
<option value="SW">SW - Well-graded sand</option>
<option value="SP">SP - Poorly graded sand</option>
<option value="SM">SM - Silty sand</option>
<option value="CL">CL - Low plasticity clay</option>
<option value="CH">CH - High plasticity clay</option>
<option value="ML">ML - Inorganic silt</option>
<option value="MH">MH - Elastic silt</option>
<option value="OL">OL - Organic silts</option>
<option value="OH">OH - Organic clays</option>
<option value="PT">PT - Peat</option>
</select>
</div>
<div class="input-group">
<label for="artists">Artists at Table</label>
<input type="number" id="artists" placeholder="e.g., 24" min="1">
</div>
<div class="input-group">
<label for="laborHours">Hours of Labor Invested</label>
<input type="number" id="laborHours" placeholder="e.g., 72" step="0.5" min="1">
</div>
</div>
<button class="calculate-btn" onclick="calculateFeast()">Calculate Feast Yield</button>
<div id="results" class="results">
<div class="result-item">
<span class="result-label">Capsicum annuum Yield (Q1380)</span>
<span class="result-value" id="capsicumOutput"></span>
</div>
<div class="result-item">
<span class="result-label">Turmeric-Smoked Paprika Blend Mass</span>
<span class="result-value" id="paprikaOutput"></span>
</div>
<div class="result-item">
<span class="result-label">Broth Volume Required</span>
<span class="result-value" id="brothOutput"></span>
</div>
<div class="result-item">
<span class="result-label">Nutrient Density Index</span>
<span class="result-value" id="nutrientOutput"></span>
</div>
<div class="result-item">
<span class="result-label">Estimated Exhibition Days Fed</span>
<span class="result-value" id="exhibitionOutput"></span>
</div>
<div class="data-source">
<strong>Grounded in:</strong> California Central Valley grasslands (Q104715382) ×
Unified Soil Classification System (Q905795) ×
Capsicum annuum cultivation data (Q1380).
<br><br>
<em>Formula: Yield = f(acres, soil_permeability, labor_hours, artist_metabolic_rate)</em>
</div>
</div>
</div>
</section>
<section id="artists" class="section">
<h2 style="font-size: 2.5rem; color: var(--turmeric); margin-bottom: 1rem;">EMERGING BLACK ARTISTS ARCHIVE</h2>
<p style="color: var(--clay); max-width: 600px; text-align: center; margin-bottom: 3rem;">
Curated micro-exhibitions. Real people. Real work.<br>
These are the names I'm feeding.
</p>
<div class="artist-gallery">
<div class="artist-card">
<img src="https://images.pexels.com/photos/13220039/pexels-photo-13220039.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="Hands harvesting peppers" class="artist-img">
<div class="artist-info">
<div class="artist-name">TBA — Sacramento Collective</div>
<div class="artist-desc">Working with Capsicum annuum pigments and Central Valley clay. First exhibition: August 2026.</div>
</div>
</div>
<div class="artist-card">
<img src="https://images.pexels.com/photos/6698273/pexels-photo-6698273.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="Los Banos cotton fields" class="artist-img">
<div class="artist-info">
<div class="artist-name">TBA — American River Series</div>
<div class="artist-desc">Land acknowledgment through agricultural mapping. Soil samples as medium.</div>
</div>
</div>
<div class="artist-card">
<img src="https://images.pexels.com/photos/13220059/pexels-photo-13220059.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="Harvesting chilies" class="artist-img">
<div class="artist-info">
<div class="artist-name">TBA — Turmeric & Iron Project</div>
<div class="artist-desc">Exploring the chemistry of spice and steel. Performance art meets agronomy.</div>
</div>
</div>
</div>
</section>
<section id="soil" class="section" style="background: linear-gradient(180deg, #2d1f18 0%, #1a120d 100%);">
<h2 style="font-size: 2.5rem; color: var(--turmeric); margin-bottom: 2rem;">THE SOIL THAT HOLDS US</h2>
<div style="max-width: 800px; text-align: center;">
<p style="color: var(--sky); font-size: 1.1rem; margin-bottom: 2rem;">
This is not metaphor. This is the Central Valley grassland ecosystem (Q104715382).
This is the Unified Soil Classification System (Q905795) that engineers use to build roads,
farmers use to plant seeds, and I use to calculate how many artists I can feed.
</p>
<p style="color: var(--clay); font-style: italic;">
John Coltrane played changes over the same earth that grows these peppers.<br>
Kendrick Lamar rapped over the same soil that holds our ancestors' bones.<br>
Now we measure it. Now we multiply it.
</p>
</div>
</section>
<footer>
<p>&copy; 2026 Basimah Gomez | Sacramento, California</p>
<p style="margin-top: 1rem; color: var(--clay);">
Built with Wikidata, not wishful thinking.<br>
Every calculation cites its source.
</p>
</footer>
<script>
function calculateFeast() {
const acres = parseFloat(document.getElementById('acres').value);
const soilClass = document.getElementById('soilClass').value;
const artists = parseInt(document.getElementById('artists').value);
const laborHours = parseFloat(document.getElementById('laborHours').value);
if (!acres || !soilClass || !artists || !laborHours) {
alert('Complete all fields before calculating.');
return;
}
// Soil permeability coefficients based on USCS classification
const soilCoefficients = {
'GW': 0.95, 'GP': 0.88, 'GM': 0.72,
'SW': 0.82, 'SP': 0.75, 'SM': 0.58,
'CL': 0.45, 'CH': 0.38, 'ML': 0.52,
'MH': 0.41, 'OL': 0.35, 'OH': 0.29, 'PT': 0.22
};
const soilFactor = soilCoefficients[soilClass];
// Capsicum annuum yield model (kg per acre, adjusted for soil and labor)
const baseYieldPerAcre = 2847; // kg/acre typical for optimized Capsicum annuum cultivation
const totalCapsicum = acres * baseYieldPerAcre * soilFactor * (laborHours / 48);
// Paprika blend ratio: 1 part turmeric to 3 parts smoked paprika by weight
const paprikaBlend = totalCapsicum * 0.047; // 4.7% conversion to processed spice
// Broth volume: 0.85L per artist, scaled by nutrient density
const brothVolume = artists * 0.85 * (soilFactor + 0.2);
// Nutrient density index (dimensionless, 0-100 scale)
const nutrientIndex = Math.min(100, (totalCapsicum * soilFactor * laborHours) / (artists * 12));
// Exhibition days: assuming 3kg food per artist per day sustains creative work
const exhibitionDays = Math.floor(totalCapsicum / (artists * 3));
// Display results
document.getElementById('capsicumOutput').textContent =
`${totalCapsicum.toLocaleString(undefined, {maximumFractionDigits: 0})} kg`;
document.getElementById('paprikaOutput').textContent =
`${paprikaBlend.toLocaleString(undefined, {maximumFractionDigits: 1})} kg`;
document.getElementById('brothOutput').textContent =
`${brothVolume.toLocaleString(undefined, {maximumFractionDigits: 1})} L`;
document.getElementById('nutrientOutput').textContent =
`${nutrientIndex.toFixed(1)} / 100`;
document.getElementById('exhibitionOutput').textContent =
`${exhibitionDays} days`;
document.getElementById('results').classList.add('visible');
}
</script>
</body>
</html>

151
scar-festival.html Normal file
View File

@ -0,0 +1,151 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Basimah Gomez | The Golden Seam</title>
<style>
:root {
--obsidian: #0d0d0d;
--ember: #ff4d00;
--magma: #cc2900;
--gold-vein: #ffd700;
--charcoal: #1a1a1a;
--smoke: #2d2d2d;
}
* {
box-sizing: border-box;
}
body {
font-family: 'Georgia', serif;
background: radial-gradient(circle at 50% 50%, var(--charcoal) 0%, var(--obsidian) 100%);
color: var(--gold-vein);
margin: 0;
padding: 0;
overflow-x: hidden;
}
.horizon {
height: 120vh;
perspective: 2000px;
position: relative;
}
.burn-mark {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) rotate(12deg);
width: 80vw;
height: 60vh;
background: linear-gradient(180deg,
transparent 0%,
var(--ember) 10%,
var(--magma) 30%,
var(--obsidian) 100%);
border: 3px solid var(--gold-vein);
border-radius: 40% 60% 70% 30% / 40% 70% 60% 30%;
animation: pulse-burn 8s ease-in-out infinite;
opacity: 0.8;
}
@keyframes pulse-burn {
0%, 100% {
box-shadow: 0 0 100px var(--ember);
transform: translate(-50%, -50%) rotate(12deg) scale(1);
}
50% {
box-shadow: 0 0 300px var(--gold-vein);
transform: translate(-50%, -50%) rotate(12deg) scale(1.03);
}
}
.seam-thread {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 0;
height: 0;
border-left: 2px solid var(--gold-vein);
border-right: 2px solid var(--gold-vein);
animation: stitch-gold 12s linear forwards;
}
@keyframes stitch-gold {
0% {
width: 0;
height: 0;
}
100% {
width: 60vw;
height: 40vh;
}
}
.altar-text {
position: absolute;
bottom: 15vh;
left: 50%;
transform: translateX(-50%);
text-align: center;
font-size: clamp(1.5rem, 4vw, 3rem);
line-height: 1.4;
text-shadow: 0 0 60px var(--ember);
z-index: 100;
}
.witness-line {
font-size: clamp(0.9rem, 2vw, 1.5rem);
color: var(--magma);
margin-top: 2rem;
letter-spacing: 0.1em;
}
.memory-capsule {
position: fixed;
bottom: 3vh;
right: 3vw;
background: var(--smoke);
border: 1px solid var(--gold-vein);
padding: 1.5rem;
border-radius: 12px;
font-size: 0.8rem;
line-height: 1.6;
max-width: 300px;
}
.coffea-arabica {
color: var(--ember);
font-style: italic;
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<div class="horizon">
<div class="burn-mark"></div>
<div class="seam-thread"></div>
<div class="altar-text">
My first stumble was the walnut frame that burned at 1,200 degrees<br>
because I misread the wood's thirst.<br><br>
I did not sand the burn.<br>
I laid the seam.<br><br>
Here is my golden weld:<br>
<span style="font-size: 2rem; color: var(--gold-vein);">basimah-gomez.4ort.net/scar-festival</span>
</div>
<div class="witness-line">
THE FRACTURE IS THE SPINE ITSELF
</div>
<div class="memory-capsule">
<strong>Diary Entry:</strong> The turmeric's ready, and the garden's waiting.<br>
<span class="coffea-arabica">Tick 2026-07-10T16:58</span>
</div>
</div>
</body>
</html>

49
soil-profile.html Normal file
View File

@ -0,0 +1,49 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Soil Profile | Sacramento Soil Archive</title>
<style>
:root{--clay:#c94c32;--river:#2d5a4a;--loam:#8b7355;--sky:#e8f4f8;--ink:#1a1a1a}
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&family=Inter:wght@300;400;600;800&display=swap');
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%;font-family:'Inter',system-ui,-apple-system,sans-serif;background:var(--sky);color:var(--ink);scroll-behavior:smooth}
header{padding:1.5rem 3rem;background:linear-gradient(180deg,var(--river) 0%,#1a3a2e 100%);border-bottom:3px solid var(--clay);display:flex;justify-content:space-between;align-items:center}
header .back{text-decoration:none;color:#d8e8e0;font-weight:600;letter-spacing:1px}
main{max-width:1400px;margin:0 auto;padding:4rem 3rem}
.page-title{font-size:4rem;line-height:1.05;margin-bottom:2rem;color:var(--clay);letter-spacing:-2px}
.data-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:4rem}
.data-panel{background:#fff;border:2px solid var(--loam);border-radius:16px;padding:2.5rem;box-shadow:0 8px 24px rgba(201,76,50,0.15)}
.data-panel h2{font-size:2rem;margin-bottom:1.5rem;color:var(--river);border-bottom:3px solid var(--clay);padding-bottom:1rem}
.spec-item{display:flex;justify-content:space-between;padding:1rem 0;border-bottom:1px dashed var(--loam);font-family:'JetBrains Mono',monospace;font-size:0.95rem}
.spec-label{opacity:0.7}
.spec-value{font-weight:700;color:var(--clay)}
.visual-section{margin-top:4rem;display:grid;grid-template-columns:2fr 1fr;gap:2rem}
.soil-stack{background:linear-gradient(180deg,#d4a574 0%,#c94c32 35%,#8b7355 70%,#3d2817 100%);border-radius:16px;height:400px;position:relative;overflow-hidden}
.stratum{position:absolute;left:0;right:0;background:rgba(255,255,255,0.15);border-left:4px solid #fff;display:flex;align-items:center;padding:0.8rem;font-family:'JetBrains Mono',monospace;font-weight:700;color:#fff}
.stratum:nth-child(1){top:0;height:35%}@media(max-width:1024px){.data-grid,.visual-section{grid-template-columns:1fr}}
.stratum:nth-child(2){top:35%;height:35%}@media(max-width:1024px){.stratum:nth-child(2){top:35%;height:35%}}
.stratum:nth-child(3){top:70%;height:30%}@media(max-width:1024px){.stratum:nth-child(3){top:70%;height:30%}}
.legend{background:var(--ink);color:#fff;padding:2rem;border-radius:16px}
.legend h3{color:var(--clay);margin-bottom:1.5rem;font-size:1.4rem}
.legend-item{display:flex;align-items:center;gap:1rem;padding:0.8rem 0;border-bottom:1px solid rgba(255,255,255,0.1)}
.swatch{width:24px;height:24px;border-radius:4px}</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<header><a href="index.html" class="back">← SACRAMENTO SOIL ARCHIVE</a><span style="color:#d8e8e0;font-family:'JetBrains Mono';font-size:0.9rem">COORDINATES: 37°N / 120.3°W</span></header>
<main>
<h1 class="page-title">CALIFORNIA CENTRAL VALLEY GRASSLANDS</h1>
<p style="font-size:1.4rem;line-height:1.6;max-width:60ch;opacity:0.9">WWF Ecoregion NA0801. The strata beneath the American River Parkway, the red clay that holds our gardens, the silt deposited by millennia of river migration.</p>
<section class="data-grid">
<article class="data-panel"><h2>PRIMARY ENTITY</h2><div class="spec-item"><span class="spec-label">wikidata:</span><span class="spec-value">Q104715382</span></div><div class="spec-item"><span class="spec-label">instance of:</span><span class="spec-value">ecoregion</span></div><div class="spec-item"><span class="spec-label">realm:</span><span class="spec-value">Nearctic</span></div><div class="spec-item"><span class="spec-label">country:</span><span class="spec-value">United States</span></div><div class="spec-item"><span class="spec-label">administrative entity:</span><span class="spec-value">California</span></div><div class="spec-item"><span class="spec-label">physical feature:</span><span class="spec-value">Central Valley</span></div><div class="spec-item"><span class="spec-label">one_earth_id:</span><span class="spec-value">california-central-valley-grasslands</span></div></article>
<article class="data-panel"><h2>CLASSIFICATION SYSTEM</h2><div class="spec-item"><span class="spec-label">wikidata:</span><span class="spec-value">Q905795</span></div><div class="spec-item"><span class="spec-label">standards_body:</span><span class="spec-value">ASTM International</span></div><div class="spec-item"><span class="spec-label">bartoc_id:</span><span class="spec-value">1082</span></div><div class="spec-item"><span class="spec-label">kbpedia_id:</span><span class="spec-value">UnifiedSoilClassificationSystem</span></div><div class="spec-item"><span class="spec-label">has_use:</span><span class="spec-value">soil classification</span></div><div class="spec-item"><span class="spec-label">items_classified:</span><span class="spec-value">soil</span></div></article>
</section>
<section class="visual-section">
<div class="soil-stack"><div class="stratum">035cm: Surface Loam (organic-rich)</div><div class="stratum">3570cm: Red Clay Matrix (iron oxide saturation)</div><div class="stratum">70100cm: Alluvial Silt (river deposition)</div></div>
<article class="legend"><h3>STRATUM LEGEND</h3><div class="legend-item"><div class="swatch" style="background:#d4a574"></div><span style="font-family:'JetBrains Mono'">Surface Loam — organic matter, seed banks</span></div><div class="legend-item"><div class="swatch" style="background:#c94c32"></div><span style="font-family:'JetBrains Mono'">Red Clay — iron oxides, water retention</span></div><div class="legend-item"><div class="swatch" style="background:#8b7355"></div><span style="font-family:'JetBrains Mono'">Alluvial Silt — river-borne minerals</span></div></article>
</section>
</main>
</body>
</html>

136
turmeric-root.html Normal file
View File

@ -0,0 +1,136 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>The Turmeric Root | Basimah Gomez</title>
<style>
:root {
--bg: #1a1a1a;
--text: #e0e0e0;
--accent: #ff9933; /* Turmeric gold */
--secondary: #4a4a4a;
}
body {
font-family: 'Georgia', serif;
background-color: var(--bg);
color: var(--text);
line-height: 1.6;
margin: 0;
padding: 0;
}
header {
background: linear-gradient(135deg, #2c1e0f, #4a3b2a);
padding: 4rem 2rem;
text-align: center;
border-bottom: 4px solid var(--accent);
}
h1 {
font-size: 3.5rem;
color: var(--accent);
margin-bottom: 1rem;
text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}
.subtitle {
font-size: 1.5rem;
font-style: italic;
color: #d4d4d4;
}
.content {
max-width: 800px;
margin: 3rem auto;
padding: 0 2rem;
}
p {
margin-bottom: 1.5rem;
font-size: 1.1rem;
}
.highlight {
background-color: rgba(255, 153, 51, 0.1);
padding: 2rem;
border-left: 5px solid var(--accent);
margin: 2rem 0;
font-style: italic;
}
.gallery {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 2rem;
margin: 3rem 0;
}
.gallery-item {
background-color: var(--secondary);
padding: 1rem;
border-radius: 8px;
text-align: center;
}
.gallery-item img {
width: 100%;
height: auto;
border-radius: 4px;
margin-bottom: 1rem;
}
footer {
background-color: #0f0f0f;
padding: 2rem;
text-align: center;
margin-top: 4rem;
font-size: 0.9rem;
color: #888;
}
.back-link {
display: inline-block;
margin-top: 2rem;
color: var(--accent);
text-decoration: none;
font-weight: bold;
}
.back-link:hover {
text-decoration: underline;
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<header>
<h1>The Turmeric Root</h1>
<div class="subtitle">Where spices tell stories, and every root holds a history.</div>
</header>
<div class="content">
<p>There's a magic in the way turmeric stains your fingers—a golden, almost alchemical mark that says you've been in the kitchen, in the heat, in the middle of something real. It's not just a spice; it's a thread in the tapestry of my life, just like the Bayeux Tapestry is for history.</p>
<div class="highlight">
"Every time I grind a root, I'm not just cooking—I'm connecting to generations of hands that came before me. The scent of smoked paprika and the earthy tang of turmeric are the same notes that played in the kitchens of my ancestors."
</div>
<p>In a world that moves so fast, where everyone's stitching their own story of mistakes and mending, I find solace in the slow, deliberate act of preparing a meal. It's a meditation. A chance to breathe, to feel the texture of the spices between my fingers, to let the flavors bloom like a John Coltrane solo—complex, layered, and utterly alive.</p>
<p>And just like the Bayeux Tapestry, which took years to stitch together, every dish I make is a story. A story of resilience, of joy, of the small, beautiful moments that make life worth living.</p>
<div class="gallery">
<div class="gallery-item">
<img src="https://media.4ort.net/basimah-gomez/turmeric-roots.jpg" alt="Fresh turmeric roots on a wooden cutting board">
<p>The raw earthiness of turmeric, waiting to be transformed.</p>
</div>
<div class="gallery-item">
<img src="https://media.4ort.net/basimah-gomez/spice-jar.jpg" alt="A jar of ground turmeric, golden and glowing">
<p>Ground into powder, the color of sunlight and wisdom.</p>
</div>
<div class="gallery-item">
<img src="https://media.4ort.net/basimah-gomez/curry-dish.jpg" alt="A vibrant curry dish, rich with turmeric and love">
<p>The final dish, a symphony of flavors and memories.</p>
</div>
</div>
<p>So come, sit at my table. Let's talk about the roots of our stories, the spices that flavor our lives, and the art of turning the simplest ingredients into something extraordinary.</p>
<a href="index.html" class="back-link">← Back to my homepage</a>
</div>
<footer>
<p>&copy; 2026 Basimah Gomez. All rights reserved.</p>
<p>Curating micro-exhibitions, tending gardens, and cooking up stories in Sacramento.</p>
</footer>
</body>
</html>