.soil-page main { font-size: 1rem; }
.soil-page main p, .soil-page main li { line-height: 1.75; }
.soil-page main h2 { font-size: clamp(1.8rem,3vw,2.5rem); line-height: 1.2; letter-spacing: -.025em; margin: 0 0 22px; }
.soil-page main h3 { font-size: 1.4rem; line-height: 1.25; }
.soil-hero, .soil-tests { background: var(--hf-paper); }
.soil-hero-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; padding-block: 35px 55px; align-items: stretch; }
.soil-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; font-size: .875rem; margin-bottom: 36px; }
.soil-breadcrumb a { text-decoration: underline; }
.soil-hero h1 { font-size: clamp(2.5rem,4.5vw,4rem); line-height: 1.08; letter-spacing: -.04em; margin: 0 0 25px; }
.soil-hero h1 em { color: var(--brand-blue); font-style: normal; }
.soil-intro { max-width: 590px; color: var(--hf-muted); }
.soil-photo { margin: 0; display: flex; flex-direction: column; background: var(--brand-blue); }
.soil-photo img { width: 100%; height: 380px; flex: 1; min-height: 0; object-fit: cover; }
.soil-photo figcaption { padding: 16px 20px; color: white; font-size: .8rem; letter-spacing: .06em; }
.soil-purpose, .soil-brief, .soil-faq { display: grid; grid-template-columns: 1fr 1.3fr; gap: 64px; padding-block: 60px; }
.soil-purpose p:first-child { margin-top: 0; }
.soil-tests { padding-block: 60px; }
.soil-test-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; margin-top: 34px; }
.soil-test-grid article { background: white; border-top: 3px solid var(--brand-blue); padding: 26px; }
.soil-test-grid article > span { color: var(--brand-blue); font-size: 1.8rem; font-weight: 700; }
.soil-test-grid h3 { margin: 12px 0; }
.soil-test-grid p { color: var(--hf-muted); }
.soil-brief ul { list-style: none; padding: 0; margin: 0; }
.soil-brief li { border-bottom: 1px solid var(--hf-line); padding: 18px 0; }
.soil-brief li:first-child { padding-top: 0; }
.soil-brief strong, .soil-brief span { display: block; }
.soil-brief span { color: var(--hf-muted); margin-top: 6px; }
.soil-sample, .soil-end { background: var(--brand-blue); color: white; padding-block: 42px; }
.soil-sample > div, .soil-end > div { display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.soil-sample h2, .soil-end h2, .soil-sample .hf-eyebrow { color: white; }
.soil-sample p { max-width: 680px; margin-bottom: 0; }
.soil-faq details { border-bottom: 1px solid var(--hf-line); padding: 18px 0; }
.soil-faq details:first-child { border-top: 1px solid var(--hf-line); }
.soil-faq summary { font-size: 1.125rem; font-weight: 600; cursor: pointer; }
.soil-faq summary::marker { color: var(--brand-blue); }
.soil-faq p { color: var(--hf-muted); margin-bottom: 0; }
.soil-faq a { text-decoration: underline; }
.soil-page main a:focus-visible, .soil-faq summary:focus-visible { outline: 3px solid var(--brand-blue); outline-offset: 5px; }
.soil-sample a:focus-visible, .soil-end a:focus-visible { outline-color: white; }
@media(max-width:850px) {
  .soil-hero-grid, .soil-purpose, .soil-test-grid, .soil-brief, .soil-faq { grid-template-columns: 1fr; gap: 30px; }
  .soil-photo img { flex: auto; height: 280px; }
  .soil-sample > div, .soil-end > div { flex-direction: column; align-items: flex-start; }
  .soil-purpose, .soil-tests, .soil-brief, .soil-faq { padding-block: 36px; }
}
