/* CONCRETOS GENESIS TRUE S+16 P174 — Concrete responsive certification */
body.s16-p174.p35-concrete {
  --p174-page-gutter: clamp(1rem, 3vw, 3rem);
  --p174-section-gap: clamp(4rem, 7vw, 8rem);
  --p174-card-gap: clamp(.9rem, 1.6vw, 1.35rem);
}

/* Prevent legacy widths from creating tiny islands on wide screens. */
body.s16-p174.p35-concrete .p35-shell {
  width: min(calc(100% - (var(--p174-page-gutter) * 2)), 1480px);
}
body.s16-p174.p35-concrete .p35-section-head,
body.s16-p174.p35-concrete .p35-hero-grid,
body.s16-p174.p35-concrete .p35-route,
body.s16-p174.p35-concrete #concrete-review .p35-cta-grid {
  column-gap: clamp(1.5rem, 4vw, 5rem);
}

/* Desktop/laptop density: retain authority without excessive vertical travel. */
@media (min-width: 1181px) and (max-height: 900px) {
  body.s16-p174.p35-concrete .p35-hero { padding-block: clamp(3.25rem, 6vh, 5rem); }
  body.s16-p174.p35-concrete .p35-section { padding-block: clamp(4rem, 8vh, 6.25rem); }
  body.s16-p174.p35-concrete .p35-media,
  body.s16-p174.p35-concrete .p35-media img { min-height: 430px; }
  body.s16-p174.p35-concrete .p35-lane { min-height: 270px; padding: 1.45rem; }
  body.s16-p174.p35-concrete #evidence-readiness { padding-block: 4.75rem; }
}

/* Medium desktop: make seven lanes resolve as 2+2+2+1, not a squeezed three-column wall. */
@media (min-width: 901px) and (max-width: 1180px) {
  body.s16-p174.p35-concrete .p35-lanes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.s16-p174.p35-concrete .p35-lanes > .p35-lane:nth-child(7) {
    grid-column: 1 / -1;
    min-height: auto;
  }
  body.s16-p174.p35-concrete .p35-hero-grid { grid-template-columns: 1fr; }
  body.s16-p174.p35-concrete .p35-hero-copy { max-width: 54rem; }
  body.s16-p174.p35-concrete .p35-media,
  body.s16-p174.p35-concrete .p35-media img { min-height: 460px; }
  body.s16-p174.p35-concrete #standards-route .p35-standards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.s16-p174.p35-concrete #standards-route .p35-standard:nth-child(2n) { border-inline-end: 0; }
}

/* Tablet: single narrative column, horizontal overflow eliminated. */
@media (max-width: 900px) {
  body.s16-p174.p35-concrete { overflow-x: clip; }
  body.s16-p174.p35-concrete .p35-shell { width: min(calc(100% - 2rem), 760px); }
  body.s16-p174.p35-concrete :is(.p35-hero-grid,.p35-section-head,.p35-route,.p35-cta-grid) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.s16-p174.p35-concrete .p35-hero { padding-block: 3.5rem; }
  body.s16-p174.p35-concrete .p35-title { max-width: 13ch; font-size: clamp(2.8rem, 9vw, 4.8rem); }
  body.s16-p174.p35-concrete .p35-lead { max-width: 62ch; }
  body.s16-p174.p35-concrete .p35-media,
  body.s16-p174.p35-concrete .p35-media img { min-height: 390px; }
  body.s16-p174.p35-concrete .p35-section { padding-block: clamp(3.75rem, 8vw, 5.5rem); }
  body.s16-p174.p35-concrete .p35-lanes,
  body.s16-p174.p35-concrete #standards-route .p35-standards,
  body.s16-p174.p35-concrete .p45-evidence-grid { grid-template-columns: 1fr !important; }
  body.s16-p174.p35-concrete .p35-lanes > .p35-lane:nth-child(7) { grid-column: auto; }
  body.s16-p174.p35-concrete .p35-lane,
  body.s16-p174.p35-concrete #evidence-readiness .p45-evidence-grid > article {
    min-height: auto;
  }
  body.s16-p174.p35-concrete #standards-route .p35-standard {
    border-inline-end: 0;
    border-bottom: 1px solid var(--p173-line);
  }
  body.s16-p174.p35-concrete #standards-route .p35-standard:last-child { border-bottom: 0; }
  body.s16-p174.p35-concrete #concrete-review .p35-actions {
    justify-content: flex-start;
    width: 100%;
  }
}

/* Mobile: compact cards, full-width actions and legible RTL/LTR rhythm. */
@media (max-width: 600px) {
  body.s16-p174.p35-concrete .p35-shell { width: min(calc(100% - 1.25rem), 520px); }
  body.s16-p174.p35-concrete .p35-hero { padding-block: 2.75rem 3rem; }
  body.s16-p174.p35-concrete .p35-title {
    max-width: none;
    font-size: clamp(2.35rem, 13vw, 3.65rem);
    line-height: 1.04;
  }
  body.s16-p174.p35-concrete .p35-lead { font-size: 1rem; line-height: 1.75; }
  body.s16-p174.p35-concrete .p35-media,
  body.s16-p174.p35-concrete .p35-media img { min-height: 310px; }
  body.s16-p174.p35-concrete .p35-section { padding-block: 3.25rem; }
  body.s16-p174.p35-concrete .p35-section-head { margin-bottom: 1.5rem; }
  body.s16-p174.p35-concrete .p35-lane,
  body.s16-p174.p35-concrete .p35-gate,
  body.s16-p174.p35-concrete #standards-route .p35-standard,
  body.s16-p174.p35-concrete #evidence-readiness .p45-evidence-grid > article {
    padding: 1.2rem;
    border-radius: 1.15rem;
  }
  body.s16-p174.p35-concrete .p35-icon { width: 3rem; height: 3rem; margin-block: 1rem; }
  body.s16-p174.p35-concrete .p35-lane h3 { font-size: 1.28rem; }
  body.s16-p174.p35-concrete #standards-route::after,
  body.s16-p174.p35-concrete #evidence-readiness::after { display: none; }
  body.s16-p174.p35-concrete #evidence-readiness { padding-block: 3.5rem; }
  body.s16-p174.p35-concrete #evidence-readiness .p45-proof-rule {
    grid-template-columns: 1fr;
    padding: 1.1rem;
  }
  body.s16-p174.p35-concrete #evidence-readiness .p45-proof-rule a,
  body.s16-p174.p35-concrete #concrete-review .p35-btn { width: 100%; }
  body.s16-p174.p35-concrete #concrete-review {
    margin-block: 1rem 3rem;
  }
  body.s16-p174.p35-concrete #concrete-review .p35-cta-grid {
    padding: 3.8rem 1.25rem 1.35rem;
    border-radius: 1.35rem;
  }
  body.s16-p174.p35-concrete #concrete-review h2 {
    max-width: none;
    font-size: clamp(2rem, 10vw, 3rem);
  }
  body.s16-p174.p35-concrete #concrete-review .p35-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: .75rem;
  }
}

/* RTL requires physical reading balance, not mirrored accidental spacing. */
html[dir="rtl"] body.s16-p174.p35-concrete .p35-title,
html[dir="rtl"] body.s16-p174.p35-concrete .p35-lead,
html[dir="rtl"] body.s16-p174.p35-concrete .p35-section-head-copy {
  text-wrap: balance;
}
html[dir="rtl"] body.s16-p174.p35-concrete :is(.p35-lane,.p35-gate,.p35-standard,.p45-evidence-grid article) {
  text-align: right;
}

/* Touch and accessibility certification. */
body.s16-p174.p35-concrete :is(.p35-btn,.p45-proof-rule a) { min-height: 44px; }
@media (hover: none) {
  body.s16-p174.p35-concrete :is(.p35-lane,.p35-gate,.p35-standard,.p35-btn,.p45-proof-rule a):hover {
    transform: none !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.s16-p174.p35-concrete * { scroll-behavior: auto !important; }
}
