/* ════════════════════════════════════════════════════════════════
   Snoqualmie Valley Community Food Hub — parcel 9039
   Design system: editorial field-journal (mono micro-labels · hairline
   rules · color-strip cards · dark bands) in the Cascadia palette —
   Pacific blue · forest green · white.
   ════════════════════════════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  /* Cascadia palette */
  --white:#f4f7f6;          /* soft cool field */
  --card:#ffffff;
  --ink:#13252d;            /* dark Pacific slate (text) */
  --blue-deep:#0c496a;      /* deep Pacific blue — nav / footer / bands */
  --blue:#1c6ea4;           /* mid blue accent */
  --blue-pale:#e7f0f6;
  --green:#2f8a49;          /* forest green — accent (links, underlines) */
  --green-deep:#1e6a35;
  --green-pale:#e8f2ea;
  /* strip / coding colors (blue-green family) */
  --fir:#1e6a35;
  --sky:#4a9bc9;
  --water:#2b7f8c;
  /* structure */
  --mid:#657a80;
  --rule:#d2ddda;
  --soft:#e3ebe8;
  --mono:'Courier New',Courier,monospace;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Poppins','Helvetica Neue',Helvetica,Arial,sans-serif;
}

html{scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:300;background:var(--white);color:var(--ink);font-size:15px;line-height:1.7;min-height:100vh}
img{max-width:100%;display:block}
a{color:var(--green-deep)}
a:hover{color:var(--ink)}
strong{font-weight:500}

.wrap{max-width:980px;margin:0 auto;padding:0 1.5rem}

/* ── TOP NAV ─────────────────────────────────────────────── */
.topnav{background:var(--blue-deep);padding:.6rem 1.5rem;display:flex;gap:1.1rem;align-items:center;flex-wrap:wrap;position:sticky;top:0;z-index:50}
.topnav-brand{color:#fff;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-family:var(--mono);text-decoration:none;flex:1;min-width:160px;white-space:nowrap}
.topnav-brand:hover{color:#a9d6b6}
.nav-links{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.nav-links a{color:#a9c6d6;font-size:.62rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;text-decoration:none;white-space:nowrap;padding:2px 0}
.nav-links a:hover{color:#fff}
.nav-links a.active{color:#fff;border-bottom:1px solid #6ec98a}
.nav-toggle{display:none;background:none;border:1px solid #2f6d8a;color:#cfe2ea;font-family:var(--mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .7rem;cursor:pointer}
@media(max-width:900px){
  .nav-toggle{display:block}
  .nav-links{display:none;width:100%;flex-direction:column;align-items:flex-start;gap:.6rem;padding:.75rem 0 .35rem;border-top:1px solid #1d5f80;margin-top:.5rem}
  .nav-links.open{display:flex}
}

/* ── HERO ────────────────────────────────────────────────── */
.hero{background:linear-gradient(155deg,var(--blue-deep) 0%,#0e5a7d 55%,var(--fir) 130%);color:#fff}
.hero-inner{max-width:980px;margin:0 auto;padding:3.4rem 1.5rem 3rem}
.hero-kicker{font-family:var(--mono);font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:#8fd6a6;margin-bottom:.7rem}
.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.1rem,5.5vw,3.4rem);line-height:1.12;color:#fff;max-width:720px}
.hero h1 em{font-style:italic;color:#9dd8b3}
.hero p{color:#d3e6ef;font-size:.95rem;max-width:600px;margin-top:.9rem}

/* ── PAGE HEADER ─────────────────────────────────────────── */
.page-head{border-bottom:1.5px solid var(--ink);padding:2.25rem 0 1.1rem;margin-bottom:2rem}
.page-head .hero-kicker{color:var(--green-deep)}
.page-head h1{font-family:var(--serif);font-weight:500;font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.15}
.page-head h1 em{font-style:italic;color:var(--blue)}
.page-head p{font-size:.7rem;color:var(--mid);margin-top:.4rem;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase}

/* mono micro-label */
.sec-label{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mid);font-family:var(--mono);display:block;margin:2.5rem 0 .8rem}
.sec-label::after{content:"";display:block;width:42px;border-bottom:1px solid var(--green);margin-top:.45rem}
section>.sec-label:first-child,.sec-label.tight{margin-top:0}

h2.display{font-family:var(--serif);font-weight:500;font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.2;margin-bottom:.75rem}
h2.display em{font-style:italic;color:var(--blue)}
h3.sub{font-family:var(--serif);font-weight:600;font-size:1.25rem;margin:1.5rem 0 .5rem}
.lede{font-size:1.02rem;line-height:1.85;max-width:640px;color:#2f3a3e}
.body-text{max-width:680px;color:#2f3a3e}
.body-text p{margin-bottom:1rem}
.body-text ul{margin:.4rem 0 1.1rem 1.2rem}
.body-text li{margin-bottom:.4rem}
main{padding-bottom:3.5rem}

/* ── INFO NOTE ───────────────────────────────────────────── */
.info-note{background:var(--green-pale);border:1px solid var(--green);padding:.8rem 1.1rem;font-size:.82rem;font-family:var(--mono);color:#245231;line-height:1.7;margin:1.5rem 0;max-width:740px}
.info-note.blue{background:var(--blue-pale);border-color:var(--blue);color:#123f5c}
.info-note strong{display:block;letter-spacing:.08em;text-transform:uppercase;font-size:.63rem;margin-bottom:.25rem}

/* ── CARDS w/ color strip ────────────────────────────────── */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin:1.25rem 0 2rem}
.strip-card{background:var(--card);border:1px solid var(--rule);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:var(--ink);transition:transform .12s,border-color .15s,box-shadow .15s}
a.strip-card:hover{transform:translateY(-3px);border-color:var(--blue);box-shadow:0 6px 18px -12px rgba(12,73,106,.5)}
.strip-card .strip{height:5px;background:var(--blue)}
.strip-card .strip.green{background:var(--green)}
.strip-card .strip.fir{background:var(--fir)}
.strip-card .strip.sky{background:var(--sky)}
.strip-card .strip.water{background:var(--water)}
.strip-card .card-body{padding:1.1rem 1.2rem;flex:1}
.card-kicker{font-size:.6rem;font-family:var(--mono);color:var(--mid);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.4rem}
.card-title{font-family:var(--serif);font-weight:600;font-size:1.3rem;line-height:1.2;margin-bottom:.4rem}
.card-desc{font-size:.82rem;line-height:1.7;color:#42504f}
.card-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--soft);padding:.55rem 1.2rem;background:var(--white)}
.card-foot .meta{font-size:.62rem;font-family:var(--mono);color:var(--mid)}
.card-foot .cta{font-size:.63rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--green-deep)}

/* ── SUMMARY GRID ────────────────────────────────────────── */
.sum-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--ink);border:1px solid var(--ink);margin:1.25rem 0 2rem}
.sum-cell{background:var(--card);padding:.95rem 1.05rem}
.sum-cell.tint{background:var(--blue-pale)}
.sum-cell.tint-g{background:var(--green-pale)}
.sum-lbl{font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;font-family:var(--mono);color:var(--mid);margin-bottom:.3rem}
.sum-val{font-family:var(--serif);font-weight:600;font-size:1.2rem;line-height:1.3}
.sum-sub{font-size:.72rem;color:#4f5a58;margin-top:.25rem;line-height:1.55}

/* ── SCHEDULE / STEP BLOCKS ──────────────────────────────── */
.sched-block{border:1px solid var(--rule);border-left:4px solid var(--soft);padding:.8rem 1.05rem;margin-bottom:.45rem;background:var(--card)}
.sched-block.blue{border-left-color:var(--blue)}
.sched-block.green{border-left-color:var(--green)}
.sched-block.fir{border-left-color:var(--fir)}
.sched-block.water{border-left-color:var(--water)}
.s-time{font-size:.63rem;font-family:var(--mono);color:var(--mid);letter-spacing:.06em;margin-bottom:.18rem;text-transform:uppercase}
.s-title{font-size:.98rem;font-weight:400;margin-bottom:.2rem}
.s-title strong{font-weight:600}
.s-desc{font-size:.82rem;line-height:1.68;color:#42504f}
.s-desc ul{margin:.35rem 0 0 1.1rem}

/* ── PILLS ───────────────────────────────────────────────── */
.pill-row{display:flex;flex-wrap:wrap;gap:6px;margin:.75rem 0 1.5rem}
.pill{font-size:.62rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;padding:4px 11px;border:1px solid #b7d3bf;color:#256b34;background:var(--green-pale)}
.pill.blue{border-color:#a8c8dc;color:#1a5a83;background:var(--blue-pale)}

/* ── CELL GRID ───────────────────────────────────────────── */
.cell-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1px;background:var(--soft);border:1px solid var(--soft);margin:1.25rem 0 2rem}
.cell{background:var(--card);padding:1.05rem 1.15rem}
.cell-title{font-size:.66rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--green-deep);margin-bottom:.45rem}
.cell-title.blue{color:var(--blue)}
.cell-body{font-size:.82rem;line-height:1.75;color:#42504f}
.cell-body ul{padding-left:1.1rem}
.cell-body li{margin-bottom:.3rem}

/* ── DATA TABLE ──────────────────────────────────────────── */
.data-table{width:100%;border-collapse:collapse;margin:1rem 0 1.75rem;background:var(--card);font-size:.83rem}
.data-table th{font-family:var(--mono);font-size:.58rem;letter-spacing:.09em;text-transform:uppercase;color:var(--mid);font-weight:normal;text-align:left;border-bottom:1.5px solid var(--ink);padding:.55rem .7rem;vertical-align:bottom}
.data-table td{border-bottom:1px solid var(--soft);padding:.6rem .7rem;line-height:1.55;vertical-align:top}
.data-table td.num{font-family:var(--serif);font-weight:600;font-size:1rem;white-space:nowrap}
.data-table tr:last-child td{border-bottom:none}
.data-table .total td{border-top:1.5px solid var(--ink);font-weight:500;background:var(--blue-pale)}
.table-scroll{overflow-x:auto}

/* ── DARK CTA BAND ───────────────────────────────────────── */
.cta-band{background:var(--blue-deep);color:#dceaf1;padding:2rem 1.75rem;margin:2.5rem 0 1rem}
.cta-band h3{font-size:.68rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:#8fd6a6;margin-bottom:.7rem;font-weight:normal}
.cta-band .band-display{font-family:var(--serif);font-weight:500;font-size:1.6rem;line-height:1.28;color:#fff;max-width:620px;margin-bottom:.7rem}
.cta-band .band-display em{font-style:italic;color:#9dd8b3}
.cta-band p{font-size:.86rem;line-height:1.75;color:#c2d6e0;max-width:640px}
.cta-band a:not(.btn){color:#9dd8b3}

/* ── BUTTONS ─────────────────────────────────────────────── */
.btn{display:inline-block;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;padding:.6rem 1.5rem;border:1.5px solid var(--ink);background:var(--ink);color:#fff;margin:.85rem .5rem 0 0}
.btn:hover{background:var(--blue-deep);border-color:var(--blue-deep);color:#fff}
.btn.green{background:var(--green);border-color:var(--green);color:#fff}
.btn.green:hover{background:var(--green-deep);border-color:var(--green-deep)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--rule)}
.btn.ghost:hover{border-color:var(--ink);background:var(--card)}
.cta-band .btn.ghost{color:#dceaf1;border-color:#2f6d8a}
.cta-band .btn.ghost:hover{border-color:#9dd8b3;color:#9dd8b3;background:transparent}

/* ── PULL QUOTE ──────────────────────────────────────────── */
.pull-quote{font-family:var(--serif);font-size:clamp(1.25rem,2.6vw,1.7rem);font-style:italic;line-height:1.5;color:#243a30;max-width:700px;padding-left:1.25rem;border-left:3px solid var(--green);margin:1.5rem 0}
.pull-quote .attr{display:block;font-style:normal;font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);margin-top:.85rem}

/* ── SOURCES & FINDINGS ──────────────────────────────────── */
.sources{border-top:1.5px solid var(--ink);margin-top:3rem;padding-top:1.5rem}
.sources .sec-label{margin-top:0}
.source-list{list-style:none;max-width:820px}
.source-list li{font-family:var(--mono);font-size:.72rem;line-height:1.6;color:#4f5a58;padding:.4rem 0 .4rem 1.1rem;border-bottom:1px solid var(--soft);position:relative}
.source-list li::before{content:"▪";color:var(--green);position:absolute;left:0}
.source-list li:last-child{border-bottom:none}
.source-list .k{color:var(--ink);font-weight:500}

/* ── FOOTER ──────────────────────────────────────────────── */
footer{background:var(--blue-deep);color:#a9c6d6;margin-top:3rem}
.footer-inner{max-width:980px;margin:0 auto;padding:2.5rem 1.5rem 2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem}
.f-brand{font-family:var(--serif);font-weight:500;font-size:1.45rem;color:#fff;margin-bottom:.5rem}
.f-tag{font-size:.78rem;line-height:1.7;max-width:300px}
footer .sec-label{color:#7fa8bc;margin:0 0 .7rem}
footer .sec-label::after{border-color:#6ec98a}
.f-links{list-style:none}
.f-links li{margin-bottom:.45rem}
.f-links a{color:#a9c6d6;text-decoration:none;font-size:.8rem}
.f-links a:hover{color:#9dd8b3}
.footer-base{border-top:1px solid #1d5f80;padding:1rem 1.5rem;text-align:center;font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:#7fa8bc;line-height:1.7}

/* ── UTILITIES ───────────────────────────────────────────── */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
@media(max-width:720px){.two-col{grid-template-columns:1fr}}
.mt-0{margin-top:0}.center{text-align:center}
.disclaimer{font-size:.72rem;font-family:var(--mono);color:var(--mid);line-height:1.7;max-width:720px;margin-top:1rem}
@media print{.topnav,.nav-toggle,footer,.btn,.cta-band{display:none!important}}

/* forms (added at assembly) */
form.f{max-width:40em;margin:1em 0 2.5em}form.f label{font-family:Poppins,sans-serif;font-size:.85em;color:#13252d}form.f input[type=text],form.f input[type=email],form.f textarea{border:1px solid #c9d3d8;border-radius:3px;font:inherit;background:#fff;margin-top:.3em}form.f input:focus,form.f textarea:focus{outline:2px solid #1c6ea4;border-color:#1c6ea4}form.f button{cursor:pointer}
