/* ============================================================
   Scapes — program-ext.css (2 of 2: anatomy, triptych, pull, CTA, BigQuote)
   ============================================================ */

/* ============================================================
   ANATOMY — narrative rows for breaking down a program
   ============================================================ */
.pg-anatomy {
  background: linear-gradient(180deg, var(--ink) 0%, var(--charcoal) 50%, var(--ink) 100%);
  padding: clamp(52px, 6.2vw, 88px) clamp(24px, 4vw, 80px) clamp(44px, 5vw, 72px);
}
.pg-anatomy__inner { max-width: 1480px; margin: 0 auto; }
/* Founder → Anatomy sit on the same gradient, so their two full pads stack into a
   dead seam (~176px of nothing). Collapse it; the background carries continuity. */
.pg-founder + .pg-anatomy { padding-top: clamp(16px, 1.8vw, 26px); }
.pg-founder:has(+ .pg-anatomy) { padding-bottom: clamp(16px, 1.8vw, 26px); }
.pg-anatomy__rows {
  margin-top: clamp(32px, 4vw, 60px);
  border-top: 1px solid var(--border);
}
.pg-anatomy__row {
  display: grid;
  grid-template-columns: minmax(150px, 0.52fr) minmax(0, 1.95fr) minmax(0, 1fr);
  gap: clamp(24px, 3vw, 48px);
  align-items: start;
  padding: clamp(26px, 3vw, 42px) 0;
  border-bottom: 0;
  position: relative;
}
.pg-anatomy__row::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: linear-gradient(90deg, rgba(224,162,104,0) 0%, rgba(224,162,104,.16) 18%, rgba(224,162,104,.16) 82%, rgba(224,162,104,0) 100%);
}
.pg-anatomy__row:last-child::after { display: none; }
@media (max-width: 980px) {
  .pg-anatomy__row { grid-template-columns: 1fr; gap: clamp(20px, 4vw, 36px); }
}
/* A spec row with no photo yet — let the prose take the full measure rather
   than leaving a hole, or illustrating it with a frame that contradicts it. */
.pg-anatomy__row--nophoto { grid-template-columns: minmax(150px, 0.52fr) minmax(0, 2.95fr); }
@media (max-width: 980px) {
  .pg-anatomy__row--nophoto { grid-template-columns: 1fr; }
}
.pg-anatomy__left {}
.pg-anatomy__label {
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(26px, 2.5vw, 38px);
  letter-spacing: -0.01em; text-transform: none;
  line-height: 1.1; text-wrap: balance;
  color: var(--firelight);
}
.pg-anatomy__index {
  font-family: var(--font-body); font-style: normal; font-weight: 300;
  font-size: clamp(40px, 4vw, 56px);
  line-height: 1; color: var(--bronze);
  margin-top: clamp(12px, 1.6vw, 20px);
  letter-spacing: -0.02em;
}
.pg-anatomy__title {
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(21px, 1.85vw, 27px);
  line-height: 1.14; letter-spacing: -0.012em;
  color: var(--linen);
  margin: 0; text-wrap: pretty; max-width: 24ch;
}
.pg-anatomy__title em { font-style: normal;  color: var(--scapes-sandstone); }
.pg-anatomy__prose {
  font-family: var(--font-text); font-size: clamp(16px, 1.05vw, 18px);
  line-height: 1.68; color: var(--mist);
  margin-top: clamp(12px, 1.2vw, 16px); max-width: 64ch;
}
.pg-anatomy__photo {
  position: relative;
  aspect-ratio: 4 / 3;
  max-height: 420px;
  align-self: center;
  width: 100%;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  overflow: hidden;
  transition: border-color 520ms var(--ease-out),
              box-shadow 1100ms var(--ease-out);
}
.pg-anatomy__photo::before {
  content: ""; position: absolute; inset: 0;
  background-size: cover; background-position: center;
  background-image: var(--bg);
  filter: saturate(0.9) brightness(0.85);
  transition: transform 1400ms var(--ease-out);
}
.pg-anatomy__photo::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10,8,7,0) 50%, rgba(10,8,7,0.55) 100%);
}
.pg-anatomy__row:hover .pg-anatomy__photo {
  border-color: var(--border-strong);
  box-shadow: 0 0 80px -20px rgba(196,119,60,0.45);
}
.pg-anatomy__row:hover .pg-anatomy__photo::before { transform: scale(1.06); }
/* the Soil Intelligence row's image is a teaser crop — fill the frame, top-anchored */
.pg-anatomy__row--intel .pg-anatomy__photo::before { background-position: center top; }

/* ============================================================
   TRIPTYCH — three photographic moments (offset center)
   ============================================================ */
.pg-triptych-section {
  background: linear-gradient(180deg, var(--ink) 0%, var(--loam) 50%, var(--ink) 100%);
  padding: clamp(52px, 6.2vw, 88px) clamp(24px, 4vw, 80px);
}
.pg-triptych-section__inner { max-width: 1480px; margin: 0 auto; }
.pg-triptych {
  margin-top: clamp(36px, 4vw, 60px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2.4vw, 32px);
  align-items: start;
}
@media (max-width: 880px) { .pg-triptych { grid-template-columns: 1fr; } }
.pg-triptych__frame {
  aspect-ratio: 3 / 4;
  border-radius: var(--radius-lg);
  background-size: cover; background-position: center;
  filter: saturate(0.92) brightness(0.86);
  overflow: hidden;
}
.pg-triptych__frame--center { transform: translateY(36px); }
@media (max-width: 880px) { .pg-triptych__frame--center { transform: none; } }

/* ============================================================
   BIG QUOTE — typographic moment, optional background image
   ============================================================ */
.pg-bigquote {
  position: relative;
  background: var(--ink);
  padding: clamp(64px, 7.6vw, 104px) clamp(24px, 4vw, 80px);
  overflow: hidden;
}
.pg-bigquote__plate {
  position: absolute; inset: 0; opacity: 0.16;
  background-size: cover; background-position: center;
  filter: saturate(0.9) brightness(0.6);
}
.pg-bigquote__scrim {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10,8,7,0.55) 0%, rgba(10,8,7,0.9) 100%);
}
.pg-bigquote__inner {
  position: relative;
  max-width: 1480px; margin: 0 auto;
}
.pg-bigquote__intro {
  font-family: var(--font-body); font-style: normal; font-weight: 300;
  font-size: clamp(23px, 2.5vw, 36px);
  line-height: 1.22; letter-spacing: -0.012em;
  color: var(--mist);
  margin: 0; text-wrap: balance; max-width: 36ch;
}
.pg-bigquote__main {
  font-family: var(--font-display); font-weight: 300;
  font-size: clamp(42px, 5.2vw, 84px);
  line-height: 1.0; letter-spacing: -0.028em;
  color: var(--linen);
  margin: clamp(24px, 2.8vw, 44px) 0 0;
  text-wrap: balance; max-width: 18ch;
}
.pg-bigquote__main em { font-style: normal;  color: var(--scapes-sandstone); }

/* ============================================================
   MANIFESTO PULL — full-bleed pull-quote
   ============================================================ */
.pg-pull {
  background: var(--ink);
  padding: clamp(64px, 7.2vw, 100px) clamp(24px, 4vw, 80px);
}
.pg-pull__inner { max-width: 1480px; margin: 0 auto; }
.pg-pull__quote {
  font-family: var(--font-body); font-weight: 300; font-style: normal;
  font-size: clamp(34px, 4.1vw, 60px);
  line-height: 1.1; letter-spacing: -0.018em;
  color: var(--linen);
  margin: clamp(20px, 2.2vw, 30px) 0 0;
  text-wrap: balance; max-width: 20ch;
}
.pg-pull__quote em { font-style: normal;  color: var(--scapes-sandstone); }
.pg-pull__quote .muted { color: var(--mist); }

/* ============================================================
   PROGRAM CTA — closing block with photographic backdrop
   ============================================================ */
.pg-cta {
  position: relative;
  background: var(--ink);
  padding: clamp(56px, 6.6vw, 92px) clamp(24px, 4vw, 80px);
  overflow: hidden;
  text-align: center;
}
.pg-cta__plate {
  position: absolute; inset: 0; opacity: 0.5;
  background-size: cover; background-position: center;
  filter: saturate(0.9) brightness(0.55);
}
.pg-cta__scrim {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10,8,7,0.65), rgba(10,8,7,0.94));
}
.pg-cta__inner {
  position: relative; max-width: 1080px; margin: 0 auto;
}
.pg-cta .eyebrow { justify-content: center; }
.pg-cta__title {
  font-family: var(--font-display); font-weight: 300;
  font-size: clamp(30px, 3.6vw, 52px);
  line-height: 1.06; letter-spacing: -0.018em;
  color: var(--linen);
  margin: clamp(20px, 2.2vw, 28px) auto 0;
  max-width: 22ch; text-wrap: balance;
}
.pg-cta__title em { font-style: normal;  color: var(--scapes-sandstone); }
/* ---- Mowing pricing block ---- */
.mow-price{position:relative;padding:clamp(64px,8vw,120px) 0;background:var(--ink);border-top:1px solid rgba(255,255,255,.07)}
.mow-price__inner{width:min(1080px,90vw);margin:0 auto}
.mow-price__head{max-width:56ch}
.mow-price__title{font-family:var(--font-display);font-weight:400;font-size:clamp(30px,4vw,52px);line-height:1.12;margin:.28em 0 .5em;color:var(--paper)}
.mow-price__title em{font-style:normal;color:var(--scapes-sandstone)}
.mow-price__lead{font-family:var(--font-text);font-size:clamp(17px,1.6vw,21px);line-height:1.6;color:color-mix(in oklab, var(--paper) 78%, transparent);text-wrap:pretty}
.mow-price__notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(20px,3vw,40px);margin:clamp(38px,5vw,64px) 0}
.mow-note h3{font-family:var(--font-display);font-weight:400;font-size:clamp(19px,1.7vw,23px);color:var(--paper);margin:0 0 .5em}
.mow-note p{font-family:var(--font-text);font-size:15.5px;line-height:1.62;color:color-mix(in oklab, var(--paper) 66%, transparent);margin:0;text-wrap:pretty}
.mow-note--offer h3{color:var(--scapes-sandstone)}
.mow-form{border-top:1px solid rgba(255,255,255,.09);padding-top:clamp(30px,4vw,46px)}
.mow-form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px 24px}
.mow-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.mow-field--wide{grid-column:1/-1}
.mow-field>span{font-family:var(--font-text);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in oklab, var(--paper) 50%, transparent)}
.mow-field>span i{font-style:normal;text-transform:none;letter-spacing:0;opacity:.7}
.mow-field input,.mow-field select{font-family:var(--font-text);font-size:16px;color:var(--paper);background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.14);border-radius:2px;padding:13px 14px;min-height:48px;width:100%;box-sizing:border-box;transition:border-color .2s,background .2s}
.mow-field input:focus,.mow-field select:focus{outline:none;border-color:var(--scapes-sandstone);background:rgba(255,255,255,.06)}
.mow-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,color-mix(in oklab, var(--paper) 50%, transparent) 50%),linear-gradient(135deg,color-mix(in oklab, var(--paper) 50%, transparent) 50%,transparent 50%);background-position:calc(100% - 19px) 51%,calc(100% - 13px) 51%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.mow-form__foot{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:clamp(24px,3vw,34px)}
.mow-form__fine{font-family:var(--font-text);font-size:13.5px;line-height:1.55;color:color-mix(in oklab, var(--paper) 50%, transparent);margin:0;max-width:44ch}
.pg-cta__lead {
  font-family: var(--font-text); font-style: normal; font-weight: 400;
  font-size: clamp(17px, 1.6vw, 22px);
  line-height: 1.55; color: var(--linen); opacity: 0.92;
  margin: clamp(24px, 2.4vw, 32px) auto 0;
  max-width: 56ch; text-wrap: pretty;
}
.pg-cta__actions {
  margin-top: clamp(36px, 4vw, 56px);
  display: flex; gap: 14px; justify-content: center; flex-wrap: wrap;
}

/* Magazine set-in figure — a photo floated into a run of prose.
   Used on Roof & Gutter, Smart Landscapes, and the ICU rebuild. */
.setin{float:right;width:42%;margin:8px 0 28px 40px}
.rg-setin{float:right;width:42%;margin:8px 0 28px 40px}
.setin__img,.rg-setin__img{aspect-ratio:16/10;background-size:cover;background-position:center;border-radius:var(--radius-lg);border:1px solid var(--border);filter:saturate(.94) brightness(.84)}
.setin figcaption,.rg-setin figcaption{font-family:var(--font-text);font-size:13px;line-height:1.6;color:var(--scapes-sandstone);opacity:.86;margin-top:12px;font-style:italic;max-width:none}
@media (max-width:900px){.setin,.rg-setin{float:none;width:100%;margin:0 0 26px}}



/* set-in figure, mirrored left */
.setin--left{float:left;margin:8px 40px 28px 0}
@media (max-width:900px){.setin--left{float:none;margin:0 0 26px}}
/* Grow With Me — pricing ledger label */
.gwm-ledger__head{font-family:var(--font-text);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--scapes-sandstone);opacity:.7;margin:0 0 18px}


/* Magazine prose accents — shared (were inline on smart-landscapes) */
.sl-lede{font-family:var(--font-display)!important;font-weight:400;font-size:clamp(21px,1.7vw,27px)!important;line-height:1.5!important;color:var(--linen)!important}
.sl-pull{font-family:var(--font-display)!important;font-size:clamp(20px,1.6vw,25px)!important;line-height:1.45!important;color:var(--scapes-sandstone)!important;padding-left:22px;border-left:1px solid var(--border-strong);clear:both}
