/* ============================================================
   DISCOVERY CO-OP · EVOLUTION · "SHARE LEDGER"
   WXZA token architecture: every colour, type, spacing, radius
   and motion value is defined once here at :root and referenced
   by token everywhere else. Figures use tabular numbers, set
   like entries in the member book.
   Fruit Chord (sampled from discoveryco-op.crs, RetailTheme85):
   skin, flesh, seed, stem, ripeness (Co-op red), juice (Co-op gold),
   values in the token block below and in BUILD.md.
   ============================================================ */
:root{
  /* Fruit Chord roles */
  --skin:#F5F5F5;
  --flesh:#FFFFFF;
  --seed:#000000;
  --stem:#323E48;
  --ripeness:#CC0000;
  --juice:#F6A800;
  /* Derived tones, declared here only */
  --ink:#191919;
  --stem-deep:#232C34;
  --paper-line:#DADADA;
  --mist:#E9E9E9;
  --grey:#494949;
  --red-deep:#9E0000;
  --gold-soft:#FDF3DC;
  /* Type */
  --font:"Open Sans",-apple-system,"Segoe UI",Arial,sans-serif;
  --fs-kicker:.72rem;
  --fs-small:.86rem;
  --fs-body:1rem;
  --fs-lede:1.16rem;
  --fs-h3:1.12rem;
  --fs-h2:1.72rem;
  --fs-h1:2.35rem;
  --fs-fig:1.9rem;
  --lh-body:1.62;
  --lh-tight:1.16;
  /* Spacing */
  --sp-1:.5rem;
  --sp-2:.85rem;
  --sp-3:1.25rem;
  --sp-4:2rem;
  --sp-5:3.25rem;
  --wrap:72rem;
  --pad-x:1.25rem;
  /* Radius, borders, motion */
  --r-card:.35rem;
  --r-btn:.3rem;
  --bw:1px;
  --rule:2px;
  --ease:cubic-bezier(.22,.8,.3,1);
  --dur:.28s;
  --tap:2.75rem; /* 44px minimum touch target */
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--skin);color:var(--ink);
  font-family:var(--font);font-size:var(--fs-body);line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--ripeness)}
a:focus-visible,button:focus-visible{outline:3px solid var(--juice);outline-offset:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--pad-x);padding-right:var(--pad-x)}
h1,h2,h3{line-height:var(--lh-tight);color:var(--seed);margin:0 0 var(--sp-2)}
h1{font-size:var(--fs-h1);font-weight:800;letter-spacing:-.015em}
h2{font-size:var(--fs-h2);font-weight:800;letter-spacing:-.01em}
h3{font-size:var(--fs-h3);font-weight:700}
p{margin:0 0 var(--sp-2)}
.kicker{
  font-size:var(--fs-kicker);font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ripeness);margin:0 0 var(--sp-2);
}
.lede{font-size:var(--fs-lede);color:var(--stem);max-width:44rem}
.fine,.foot-fine{font-size:var(--fs-small);color:var(--grey)}
.top-gap{margin-top:var(--sp-4)}
/* Header */
.site-head{background:var(--flesh);border-bottom:var(--rule) solid var(--ripeness);position:sticky;top:0;z-index:20}
.head-in{display:flex;align-items:center;gap:var(--sp-3);min-height:4.25rem}
.brand{display:flex;align-items:center;gap:var(--sp-2);text-decoration:none;color:var(--seed);min-height:var(--tap)}
.brand-mark{
  width:2.5rem;height:2.5rem;display:grid;place-items:center;flex:none;
  background:var(--ripeness);color:var(--flesh);font-weight:800;font-size:1.3rem;border-radius:var(--r-card);
}
.brand-word{font-weight:800;font-size:1.18rem;letter-spacing:-.01em}
.brand-word em{font-style:normal;color:var(--ripeness)}
.main-nav{display:none;margin-left:auto;gap:.25rem}
.main-nav a{
  color:var(--stem);text-decoration:none;font-weight:600;padding:.55rem .8rem;border-radius:var(--r-btn);
  min-height:var(--tap);display:inline-flex;align-items:center;transition:color var(--dur) var(--ease),background var(--dur) var(--ease);
}
.main-nav a:hover{color:var(--ripeness)}
.main-nav a[aria-current="page"]{color:var(--ripeness);box-shadow:inset 0 -3px 0 var(--juice)}
.menu-btn{
  margin-left:auto;min-height:var(--tap);min-width:var(--tap);padding:.5rem 1rem;cursor:pointer;
  font-family:var(--font);font-weight:700;font-size:var(--fs-body);
  background:var(--flesh);color:var(--stem);border:var(--bw) solid var(--stem);border-radius:var(--r-btn);
}
.mobile-menu{background:var(--flesh);border-top:var(--bw) solid var(--mist);padding:var(--sp-2) var(--pad-x) var(--sp-3)}
.mobile-menu a{
  display:flex;align-items:center;min-height:var(--tap);padding:.35rem .25rem;
  color:var(--stem);text-decoration:none;font-weight:600;border-bottom:var(--bw) solid var(--mist);
}
.mobile-menu a:last-child{border-bottom:0}
/* Breadcrumbs */
.crumbs{max-width:var(--wrap);margin:0 auto;padding:var(--sp-2) var(--pad-x) 0;font-size:var(--fs-small);color:var(--grey)}
.crumbs a{color:var(--stem);font-weight:600;text-decoration:none}
.crumbs a:hover{color:var(--ripeness)}
/* Hero */
.hero{background:var(--flesh);border-bottom:var(--bw) solid var(--paper-line)}
.hero-grid{display:grid;gap:var(--sp-4);padding-top:var(--sp-5);padding-bottom:var(--sp-5);align-items:center}
.hero-copy h1{margin-bottom:var(--sp-3)}
.hero-cta{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-3)}
.hero-photo{margin:0}
.hero-photo img{border-radius:var(--r-card);border:var(--bw) solid var(--paper-line)}
.hero-photo figcaption,.side-photo figcaption{font-size:var(--fs-small);color:var(--grey);margin-top:var(--sp-1)}
/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap);
  padding:.65rem 1.35rem;border-radius:var(--r-btn);font-weight:700;text-decoration:none;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.btn:active{transform:translateY(1px)}
.btn-red{background:var(--ripeness);color:var(--flesh)}
.btn-red:hover{background:var(--red-deep)}
.btn-ghost{background:transparent;color:var(--stem);border:var(--bw) solid var(--stem)}
.btn-ghost:hover{color:var(--ripeness);border-color:var(--ripeness)}
/* Ledger statement rows */
.statement{background:var(--flesh);padding:var(--sp-5) 0;border-bottom:var(--bw) solid var(--paper-line)}
.ledger-rows{border-top:var(--rule) solid var(--seed)}
.lrow{
  display:grid;gap:.15rem;padding:var(--sp-2) 0;border-bottom:var(--bw) solid var(--paper-line);
}
.lfig{
  font-size:var(--fs-fig);font-weight:800;color:var(--ripeness);letter-spacing:-.02em;
  font-variant-numeric:tabular-nums lining-nums;line-height:1.05;
}
.llab{color:var(--stem);font-weight:600}
/* Sections and cards */
.section{padding-top:var(--sp-5);padding-bottom:var(--sp-5)}
.page-head{background:var(--flesh);border-bottom:var(--bw) solid var(--paper-line);padding:var(--sp-5) 0 var(--sp-4)}
.cards{display:grid;gap:var(--sp-3);margin-top:var(--sp-3)}
.card{
  display:block;background:var(--flesh);border:var(--bw) solid var(--paper-line);border-top:var(--rule) solid var(--juice);
  border-radius:var(--r-card);padding:var(--sp-3);text-decoration:none;color:var(--ink);
  transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
a.card:hover{border-top-color:var(--ripeness);transform:translateY(-2px)}
.card h3{margin-bottom:.35rem}
.card p{color:var(--stem);margin-bottom:.35rem}
.card-tag{font-size:var(--fs-kicker);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);display:block;margin-bottom:var(--sp-1)}
.card-go{font-weight:700;color:var(--ripeness)}
.card.plain{border-top-color:var(--stem)}
.svc-grid{display:grid;gap:var(--sp-3)}
.svc{background:var(--flesh);border:var(--bw) solid var(--paper-line);border-left:var(--rule) solid var(--ripeness);border-radius:var(--r-card);padding:var(--sp-3)}
.svc h2{font-size:var(--fs-h3)}
.svc p{color:var(--stem);margin:0}
.split{display:grid;gap:var(--sp-4);align-items:start}
.side-photo{margin:0}
.side-photo img{border-radius:var(--r-card);border:var(--bw) solid var(--paper-line)}
.ticks{list-style:none;margin:0 0 var(--sp-2);padding:0}
.ticks li{padding:.4rem 0 .4rem 1.6rem;position:relative;border-bottom:var(--bw) solid var(--mist)}
.ticks li::before{content:"";position:absolute;left:.15rem;top:.95rem;width:.55rem;height:.55rem;background:var(--juice);border-radius:50%}
/* Job */
.job{background:var(--flesh);border:var(--bw) solid var(--paper-line);border-top:var(--rule) solid var(--ripeness);border-radius:var(--r-card);padding:var(--sp-3);margin-top:var(--sp-3)}
.job-meta{color:var(--stem);font-weight:700;font-variant-numeric:tabular-nums}
.job-cols{display:grid;gap:var(--sp-4);margin-top:var(--sp-2)}
.status-note{background:var(--gold-soft);border:var(--bw) solid var(--juice);border-radius:var(--r-card);padding:var(--sp-2) var(--sp-3);color:var(--stem-deep)}
/* Next step */
.next-step{background:var(--stem);color:var(--flesh);margin-top:0}
.next-in{display:grid;gap:var(--sp-3);padding-top:var(--sp-4);padding-bottom:var(--sp-4);align-items:center}
.next-step h2{color:var(--flesh)}
.next-step .kicker{color:var(--juice)}
.next-step p{color:var(--mist)}
.next-step .btn-red{background:var(--juice);color:var(--seed)}
.next-step .btn-red:hover{background:var(--flesh)}
/* Footer */
.site-foot{background:var(--stem-deep);color:var(--mist);margin-top:0}
.foot-grid{display:grid;gap:var(--sp-4);padding-top:var(--sp-5);padding-bottom:var(--sp-4)}
.foot-name{font-size:1.3rem;font-weight:800;color:var(--flesh);margin-bottom:var(--sp-1)}
.foot-h{font-size:var(--fs-kicker);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--juice);margin-bottom:var(--sp-2)}
.foot-nav ul{list-style:none;margin:0;padding:0}
.foot-nav a{color:var(--mist);text-decoration:none;display:inline-flex;align-items:center;min-height:var(--tap);padding:.2rem 0}
.foot-nav a:hover{color:var(--flesh)}
.mini-stats{list-style:none;margin:0;padding:0}
.mini-stats li{padding:.3rem 0;border-bottom:var(--bw) solid var(--stem);font-variant-numeric:tabular-nums}
.mini-stats span{font-weight:800;color:var(--flesh);margin-right:.5rem}
.foot-contact a,.foot-brand a{color:var(--juice)}
.foot-base{border-top:var(--bw) solid var(--stem);padding-top:var(--sp-3);padding-bottom:var(--sp-4);display:grid;gap:.25rem}
.foot-base p{margin:0}
.concept-chip{
  display:inline-block;margin-left:.5rem;padding:.08rem .5rem;border:var(--bw) solid var(--juice);
  border-radius:2rem;color:var(--juice);font-size:var(--fs-kicker);font-weight:800;letter-spacing:.14em;vertical-align:middle;
}
/* Wider screens */
@media (min-width:46rem){
  :root{--fs-h1:2.9rem;--fs-fig:2.3rem}
  .main-nav{display:flex}
  .menu-btn,.mobile-menu{display:none}
  .hero-grid{grid-template-columns:1.05fr .95fr}
  .cards{grid-template-columns:repeat(2,1fr)}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .lrow{grid-template-columns:13rem 1fr;align-items:baseline;gap:var(--sp-3)}
  .split{grid-template-columns:1fr 1fr}
  .job-cols{grid-template-columns:1.1fr .9fr}
  .next-in{grid-template-columns:1fr auto}
  .foot-grid{grid-template-columns:1.2fr .8fr .8fr}
}
@media (min-width:64rem){
  .cards{grid-template-columns:repeat(3,1fr)}
  .svc-grid{grid-template-columns:repeat(4,1fr)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none}
}
