/* ---- forge (Quench — Knives & boards 49) -----------------------------------
   THE STRUCTURAL MOVE: this shop has a lid on it. The catalogue heading is
   deliberately empty so the product wall starts bare — no title, no filter row,
   nothing warming up to it — and `.sc-h2:empty` removes the box the empty
   heading would otherwise leave. (Class-scoped + :empty, so a merchant who
   types a heading back in still gets one.) Everything else holds ONE centre
   axis: hero, credo, catalogue and contact all sit on the same column, and the
   contact submit is pulled back to centre rather than the shared left.
   Ground is cool ash against the roster's warm creams; the ember appears on
   the hero's ghost border and the price, and nowhere else. */
body.t-forge {
  background: #dfdcd5;
  color: #2f3437;
  --radius: 0;
  --header-bg: #dfdcd5;
  --surface: #ffffff;
  --surface-2: #d5d1c9;
  --line: #c6c2b9;
  --line-strong: #b0aba1;
  --heading: #17191b;
  --text: #2f3437;
  --muted: #6d7377;
}
/* the bar is a solid slab, never glass over the photograph */
body.t-forge .sf-header, body.t-forge .sf-footer { backdrop-filter: none; -webkit-backdrop-filter: none; border-color: #c6c2b9; }
body.t-forge .btn.brand { background: #17191b; border-color: #17191b; color: #dfdcd5; box-shadow: none; border-radius: 0; text-transform: uppercase; letter-spacing: 0.16em; font-size: 11px; padding: 14px 28px; }

/* full-viewport opener that starts UNDER the sticky bar, not behind it */
body.t-forge .sc-hero { min-height: calc(100vh - 64px); }
body.t-forge .sc-hero h1 { font-weight: 500; font-size: clamp(30px, 5.2vw, 62px); line-height: 1.08; max-width: 16ch; margin: 0 auto 16px; }
body.t-forge .sc-hero p { text-transform: uppercase; letter-spacing: 0.26em; font-size: 11px; margin-bottom: 34px; }
body.t-forge .sc-hero .btn.brand.sc-hero-ghost { border-color: #a03a12; border-width: 1px; }
body.t-forge .sc-hero .btn.brand.sc-hero-ghost:hover { background: #a03a12; color: #ffffff; }

/* the credo: two lines on plain ground — no band, no image, no paragraph */
body.t-forge .sc-richtext { max-width: 540px; padding: 104px 20px 88px; }
body.t-forge .sc-richtext h2 { font-size: clamp(19px, 2.3vw, 25px); font-weight: 500; letter-spacing: -0.01em; margin: 0 0 12px; }
body.t-forge .sc-richtext p { font-size: 14.5px; letter-spacing: 0.03em; color: #565c60; }

/* the bare wall */
body.t-forge .sc-masonry { padding: 0 0 24px; }
body.t-forge .sc-masonry .sc-h2:empty { display: none; }
body.t-forge .sc-mas-grid { column-gap: 34px; }
body.t-forge .sc-mas-cat { color: #6d7377; letter-spacing: 0.2em; }
body.t-forge .sc-mas-p { color: #a03a12; font-weight: 600; }

/* photography lands AFTER the catalogue, one word under each frame */
body.t-forge .sc-strip-img { aspect-ratio: 4 / 5; }
body.t-forge .sc-strip-label { display: block; margin-top: 11px; text-transform: uppercase; letter-spacing: 0.26em; font-size: 10.5px; font-weight: 600; color: #6d7377; }

/* the form sits on the page ground on the same axis as everything above it */
body.t-forge .sc-contact { max-width: 520px; padding: 88px 20px 100px; }
body.t-forge .sc-contact-form .btn { align-self: center; }

/* NIGHT — the ash and the near-black trade places; the ember lifts to stay
   legible on the dark ground */
html[data-theme="dark"] body.t-forge {
  background: #17191b;
  color: #c2c0ba;
  --header-bg: #17191b;
  --surface: #1e2124;
  --surface-2: #23272a;
  --line: #2e3336;
  --line-strong: #3b4145;
  --heading: #eceae4;
  --text: #c2c0ba;
  --muted: #8b908f;
}
html[data-theme="dark"] body.t-forge .sf-header, html[data-theme="dark"] body.t-forge .sf-footer { border-color: #2e3336; }
html[data-theme="dark"] body.t-forge .btn.brand { background: #dfdcd5; border-color: #dfdcd5; color: #17191b; }
html[data-theme="dark"] body.t-forge .sc-richtext p { color: #a4a8a6; }
html[data-theme="dark"] body.t-forge .sc-mas-p { color: #d4643a; }
html[data-theme="dark"] body.t-forge .sc-field input, html[data-theme="dark"] body.t-forge .sc-field textarea { background: #1e2124; border-color: #2e3336; color: #eceae4; }
