*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--farmed-header-height) + 18px)}body{margin:0;background:var(--farmed-paper);color:var(--farmed-text);font-family:var(--farmed-font-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}body.admin-bar .site-header{top:32px}a{color:inherit;text-decoration:none}img,svg{max-width:100%;height:auto;display:block}.farmed-container{width:min(var(--farmed-content-width),calc(100% - (var(--farmed-page-gutter)*2)));margin-inline:auto}.farmed-section{padding:var(--farmed-section-space) 0}.farmed-kicker{font-size:var(--farmed-kicker-size);font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--farmed-gold)}.farmed-h1,.farmed-h2,.farmed-h3{margin:0;color:var(--farmed-forest);font-family:var(--farmed-font-display);font-weight:400}.farmed-h1{font-size:var(--farmed-h1-size);line-height:.94}.farmed-h2{font-size:var(--farmed-h2-size);line-height:1}.farmed-h3{font-size:var(--farmed-h3-size);line-height:1.05}.farmed-lead{font-size:19px;color:var(--farmed-muted);line-height:1.65}.farmed-btn{min-height:var(--farmed-btn-height);padding:0 32px;border-radius:var(--farmed-btn-radius);display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;letter-spacing:.08em}.farmed-btn--primary{background:var(--farmed-forest);color:#fff}.farmed-btn--ghost{border:1px solid rgba(23,52,33,.3)}.farmed-btn--wide{padding-inline:38px}.farmed-actions{display:flex;gap:14px;flex-wrap:wrap}.farmed-center-action{text-align:center;margin-top:40px}


/* =========================================================
   FARMED 2.4.63 — INTERNAL PAGE SPACING + TITLE SCALE
   ========================================================= */

/*
 * Internal pages had accumulated too much top spacing because the generic
 * .farmed-section spacing was being combined with component-specific spacing.
 * Keep the generous FARMED rhythm, but remove the oversized empty band.
 */
body.page:not(.home) .farmed-main > .farmed-container.farmed-section,
body:not(.home) main.farmed-main > .farmed-container.farmed-section {
    padding-top: 62px;
}

/*
 * Main page titles only — product names and ordinary section headings are
 * intentionally untouched. Roughly 40% calmer than the original page scale.
 */
body.page:not(.home) .farmed-h1,
body.post-type-archive-product .farmed-h1,
body.tax-product_cat .farmed-h1,
body.tax-product_tag .farmed-h1 {
    font-size: clamp(38px, 3.35vw, 56px);
    line-height: .98;
}

@media (max-width: 700px) {
    body.page:not(.home) .farmed-main > .farmed-container.farmed-section,
    body:not(.home) main.farmed-main > .farmed-container.farmed-section {
        padding-top: 36px;
    }

    body.page:not(.home) .farmed-h1,
    body.post-type-archive-product .farmed-h1,
    body.tax-product_cat .farmed-h1,
    body.tax-product_tag .farmed-h1 {
        font-size: clamp(34px, 10vw, 44px);
        line-height: 1;
    }
}


/* =========================================================
   FARMED 2.4.64 — GLOBAL DISPLAY TYPE NORMALIZATION
   ========================================================= */

/* The H1/H2 tokens are now intentionally calmer site-wide.
   These selectors catch legacy explicit display headings outside WooCommerce. */
body:not(.home) .farmed-h1,
body.home .farmed-h1{
  font-size:var(--farmed-h1-size);
}

.farmed-h2,
.farmed-centered-heading .farmed-h2,
.farmed-split-heading .farmed-h2{
  font-size:var(--farmed-h2-size);
}

@media(max-width:700px){
  body:not(.home) .farmed-h1,
  body.home .farmed-h1{
    font-size:var(--farmed-h1-size);
  }

  .farmed-h2,
  .farmed-centered-heading .farmed-h2,
  .farmed-split-heading .farmed-h2{
    font-size:var(--farmed-h2-size);
  }
}
