/* ── KWEEK — soil, seedlings & irrigation (bridge 156) ─────────────────────
   THE STRUCTURAL MOVE: the page never changes its column count. Below the
   stage every photographic row is FOUR ACROSS — strip, catalogue, strip,
   catalogue again — separated by nothing but a centred heading on a green
   hairline and a lot of air, and the only thing that leaves the contained
   column after the hero is the one full-bleed banner near the foot. That is
   why the tiles carry no fill, no border and no radius: a card outline
   repeated four times across and four rows deep turns deliberate monotony into
   a spreadsheet, whereas bare photographs on paper keep it a page. The bar is
   opaque and STATIC, so the stage starts at a hard horizontal edge rather than
   behind glass, and it does not follow you down. The green is spent three
   times and nowhere else — the ghost outline, the price, the hairline — which
   is why every solid button here is ink and not brand. */
body.t-kweek {
  background: #efece4;
  color: #3a3831;
  --kw-green: #2e5e3a;
  --bg-flat: #efece4;
  --surface: #efece4;
  --surface-2: #e4e0d5;
  --line: #d9d4c7;
  --line-strong: #c2bcab;
  --heading: #161512;
  --text: #3a3831;
  --muted: #75726a;
  --header-bg: #efece4;
  --radius: 0;
  --shadow: none;
}

/* the bar sits ABOVE the stage and stays there — opaque paper, one hard rule,
   nothing blurred and nothing sticky */
body.t-kweek .sf-header, body.t-kweek .sf-head,
body.t-kweek .sf-footer, body.t-kweek .sf-foot, body.t-kweek .sf-cats {
  position: static; background: #efece4; border-color: #c2bcab;
  backdrop-filter: none; -webkit-backdrop-filter: none;
}
/* brand name ranged LEFT in the bar, five plain word links opposite it */
body.t-kweek .sf-name { font-weight: 700; font-size: 20px; letter-spacing: 0.005em; }

/* flat ink slabs, no visible edge — the green is reserved for three marks */
body.t-kweek .btn.brand, body.t-kweek .sf-cart .badge {
  background: var(--heading); border-color: var(--heading); color: var(--bg-flat);
  box-shadow: none; border-radius: 0; font-weight: 600; padding: 14px 30px;
}

/* the stage: three plates cross-fading, nothing else on the screen */
body.t-kweek .sc-hero { min-height: calc(100vh - 64px); padding: 30px 20px; }
body.t-kweek .sc-hero h1 { font-size: clamp(34px, 5.6vw, 66px); font-weight: 600; line-height: 1.08; letter-spacing: -0.025em; margin-bottom: 16px; }

/* ACCENT 1 of 3 — the ghost outline on the stage */
body.t-kweek .sc-hero .btn.brand.sc-hero-ghost {
  background: rgba(22, 21, 18, 0.34); border-color: var(--kw-green); color: #ffffff; border-radius: 0;
}

/* ACCENT 2 of 3 — the price line, the only coloured type in either catalogue */
body.t-kweek .product-card .p, body.t-kweek .sc-buy-p {
  color: var(--kw-green); font-weight: 600; font-size: 14.5px; margin-top: 6px;
}

/* ACCENT 3 of 3 — a hairline under every centred heading, cut to the width of
   the words rather than the column, so the rule reads as a mark and not a band */
body.t-kweek .sc-h2 {
  width: fit-content; margin: 0 auto 36px; padding-bottom: 13px;
  border-bottom: 1px solid var(--kw-green);
  font-size: clamp(21px, 2.8vw, 31px); font-weight: 600; letter-spacing: -0.015em; color: var(--heading);
}

/* THE PAUSE — the one block with no photograph in it, narrowest measure and
   the most air on the page, sitting between the stage and the four-up drumbeat */
body.t-kweek .sc-richtext { max-width: 620px; padding: 104px 20px 108px; }
body.t-kweek .sc-richtext p { font-size: 16.5px; line-height: 1.95; color: var(--text); }

/* FOUR ACROSS, four rows over, never a three and never a five */
body.t-kweek .sc-strip, body.t-kweek .sc-products, body.t-kweek .sc-buygrid { padding: 76px 20px 84px; }
body.t-kweek .sc-strip-row, body.t-kweek .product-grid, body.t-kweek .sc-buy-grid {
  grid-template-columns: repeat(4, 1fr); gap: 32px 26px; padding: 0;
}

/* no fill, no border, no radius — photographs laid on the paper */
body.t-kweek .sc-strip-img, body.t-kweek .product-card, body.t-kweek .product-card .ph,
body.t-kweek .sc-buy-media { background: transparent; border: 0; border-radius: 0; }
body.t-kweek .sc-strip-img, body.t-kweek .product-card .ph, body.t-kweek .sc-buy-media img { aspect-ratio: 4 / 3; }
body.t-kweek .product-card:hover { transform: none; box-shadow: none; }
body.t-kweek .product-card .meta { padding: 13px 0 0; text-align: center; }
body.t-kweek .sc-strip-label { margin-top: 12px; font-weight: 500; font-size: 14px; line-height: 1.5; color: var(--text); }
body.t-kweek .sc-buy-cat { color: var(--muted); }

/* the single break in the rhythm — the only element after the stage that
   leaves the contained column */
body.t-kweek .sc-banner {
  margin: 18px calc(50% - 50vw) 22px; min-height: 62vh; padding: 84px 28px;
  display: flex; align-items: center; justify-content: center;
}

/* deliberately thin ending: no split, no band, no map */
body.t-kweek .sc-contact { max-width: 480px; padding: 92px 20px 118px; }

@media (max-width: 900px) {
  body.t-kweek .sc-strip-row, body.t-kweek .product-grid, body.t-kweek .sc-buy-grid { grid-template-columns: repeat(2, 1fr); }
}

/* NIGHT — the paper drops to wet compost and the shadecloth green lifts a full
   step, because it is still carrying the hairline, the price and the ghost
   outline entirely on its own. The ink buttons invert through the tokens: their
   ground is --heading and their type is --bg-flat, so they need no night rule. */
html[data-theme="dark"] body.t-kweek {
  background: #17170f;
  color: #c5c1b4;
  --kw-green: #7db98a;
  --bg-flat: #17170f;
  --surface: #17170f;
  --surface-2: #201f17;
  --line: #2e2c24;
  --line-strong: #45423a;
  --heading: #f1efe6;
  --text: #c5c1b4;
  --muted: #8a8577;
  --header-bg: #17170f;
}
html[data-theme="dark"] body.t-kweek .sf-header, html[data-theme="dark"] body.t-kweek .sf-head,
html[data-theme="dark"] body.t-kweek .sf-footer, html[data-theme="dark"] body.t-kweek .sf-foot,
html[data-theme="dark"] body.t-kweek .sf-cats { background: #17170f; border-color: #45423a; }
