/* ==========================================================================
   PAGE-SPECIFIC TREATMENTS
   ========================================================================== */

/* ---- Homepage: core services grid ---- */
.core-grid { grid-template-columns: repeat(3, 1fr); }
.core-grid .service-card:nth-child(4) { border-color: var(--color-accent); }

/* ---- FPV: slightly higher-energy motion + tighter grid rhythm ---- */
.fpv-section {
  background: radial-gradient(120% 100% at 100% 0%, rgba(47,111,239,0.10), transparent 55%), var(--color-bg);
}
.fpv-headline {
  font-family: var(--font-heading);
  font-size: var(--fs-3xl);
  line-height: 0.98;
  display: flex;
  flex-direction: column;
}
.fpv-headline span { display: block; }
.fpv-headline span:nth-child(2) { color: var(--color-accent-on-dark); }
.fpv-build-visual { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-1); }
.fpv-build-visual .media-placeholder { aspect-ratio: 1/1; }

/* ---- Agriculture: premium industrial mood, no green cliché ---- */
.agri-hero {
  background: linear-gradient(180deg, rgba(11,13,16,0.2), var(--color-bg) 80%), var(--color-bg-alt);
}
.agri-stats { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--color-border); }
.agri-stats div { padding: var(--space-3) var(--space-2) var(--space-3) 0; border-right: 1px solid var(--color-border); }
.agri-stats div:last-child { border-right: none; }
.agri-stats dt { font-family: var(--font-mono); font-size: var(--fs-xs); color: var(--color-text-faint); text-transform: uppercase; letter-spacing: 0.06em; }
.agri-stats dd { font-family: var(--font-heading); font-size: var(--fs-xl); color: var(--color-text); margin-top: 0.2em; }

/* ---- Service: workbench / technical mood ---- */
.workbench-panel {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
}
.diagnostic-list { display: grid; gap: 1px; background: var(--color-border); border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; }
.diagnostic-list div { background: var(--color-surface); padding: var(--space-2) var(--space-3); display: flex; justify-content: space-between; gap: var(--space-2); font-size: var(--fs-sm); }
.diagnostic-list dt { color: var(--color-text); font-family: var(--font-heading); }
.diagnostic-list dd { color: var(--color-text-faint); font-family: var(--font-mono); font-size: var(--fs-xs); text-align: right; }

/* ---- About page ---- */
.about-lede { font-size: var(--fs-lg); color: var(--color-text); max-width: 42rem; font-family: var(--font-heading); font-weight: 400; line-height: var(--lh-snug); }
.value-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--color-border); border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; }
.value-list div { background: var(--color-surface); padding: var(--space-3); }
.value-list dt { font-family: var(--font-heading); color: var(--color-text); font-size: var(--fs-md); margin-bottom: 0.4em; }
.value-list dd { color: var(--color-text-muted); font-size: var(--fs-sm); }

/* ---- Legal notice strip (regulation disclaimers) ---- */
.notice {
  border: 1px solid var(--color-border-strong);
  border-left: 3px solid var(--color-accent);
  border-radius: var(--radius-md);
  padding: var(--space-3);
  font-size: var(--fs-sm);
  color: var(--color-text-muted);
  background: var(--color-surface);
}
.notice a { color: var(--color-accent-on-dark); border-bottom: 1px solid currentColor; }

/* ---- Brand strip (home) ---- */
.brand-strip { display: flex; flex-wrap: wrap; gap: var(--space-5); align-items: center; justify-content: space-between; opacity: 0.7; }
.brand-strip span { font-family: var(--font-mono); font-size: var(--fs-sm); letter-spacing: 0.06em; color: var(--color-text-faint); }
