/* AS 4970:2025 — local review draft */
.as4970-page .as4970-hero { grid-template-columns: minmax(0, 1.04fr) minmax(430px, .96fr); }
.as4970-page .as4970-hero h1 { max-width: 770px; }
.as4970-page .as4970-hero-photo { overflow: hidden; }
.as4970-page .as4970-hero-photo img { object-position: 52% center; }
.as4970-page .section h2 { max-width: 990px; }
.as4970-section-heading { max-width: 1020px; }
.as4970-section-heading > p:last-child { max-width: 780px; font-size: clamp(1rem, 1.15vw, 1.18rem); }
.as4970-intro { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(3rem, 8vw, 9rem); }
.as4970-intro-copy { max-width: 840px; font-size: clamp(1rem, 1.12vw, 1.16rem); }
.as4970-intro-copy p { margin: 0 0 1.35rem; }
.as4970-intro-copy cite { font-style: italic; }
.as4970-process { background: var(--forest); color: var(--paper); }
.as4970-process .eyebrow { color: rgba(243,240,232,.7); }
.as4970-process h2 em { color: var(--sage) !important; }
.as4970-process .as4970-section-heading > p:last-child { color: rgba(243,240,232,.86); }
.as4970-sequence { margin: clamp(2.5rem, 5vw, 5rem) 0 0; }
.as4970-sequence img { display: block; width: 100%; height: auto; border: 1px solid rgba(243,240,232,.35); }
.as4970-sequence figcaption { margin-top: .9rem; font-size: .78rem; color: rgba(243,240,232,.7); }
.as4970-process-copy { max-width: 950px; margin: clamp(2rem, 4vw, 4rem) 0 0 auto; padding-top: 1.6rem; border-top: 1px solid rgba(243,240,232,.4); font-size: clamp(1rem, 1.15vw, 1.18rem); }
.as4970-process-copy p { margin: 0; color: rgba(243,240,232,.87); }
.as4970-process-copy a { color: var(--paper); }
.as4970-zones { background: var(--ivory); }
.as4970-zone-definitions { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: clamp(3rem, 5vw, 5rem); border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.as4970-zone-definitions article { min-height: 305px; padding: clamp(1.7rem, 2.7vw, 3.3rem); border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.as4970-zone-definitions article:nth-child(2) { background: rgba(156,174,157,.13); }
.as4970-zone-definitions span, .as4970-service-grid span { font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--moss); }
.as4970-zone-definitions h3, .as4970-service-grid h3, .as4970-protection-list h3 { margin: 2.3rem 0 1rem; font-family: var(--serif); font-size: clamp(1.55rem, 2vw, 2.25rem); font-weight: 400; letter-spacing: -.035em; line-height: 1.08; }
.as4970-zone-definitions p { max-width: 480px; margin: 0; }
.as4970-plan-figure { margin: clamp(2.5rem, 5vw, 5rem) 0 0; }
.as4970-plan-figure img { display: block; width: 100%; height: auto; border: 1px solid var(--forest); }
.as4970-plan-figure figcaption { margin-top: .9rem; font-size: .78rem; color: var(--moss); }
.as4970-zone-note { margin: 2rem 0 0; padding-top: 1.4rem; border-top: 1px solid var(--line); }
.as4970-zone-note a { display: inline-block; margin-left: 1.1rem; white-space: nowrap; }
.as4970-encroachment { background: var(--paper); }
.as4970-impact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1rem, 2vw, 2rem); margin-top: clamp(3rem, 5vw, 5rem); }
.as4970-impact-grid article { position: relative; min-height: 360px; padding: clamp(1.7rem, 2.7vw, 3.3rem); border: 1px solid var(--ink); }
.as4970-impact-grid article:nth-child(2) { background: rgba(156,174,157,.1); }
.as4970-impact-grid article:nth-child(3) { background: var(--forest); color: var(--paper); }
.as4970-impact-number { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: var(--forest); color: var(--paper); font-size: .72rem; font-weight: 800; letter-spacing: .12em; }
.as4970-impact-grid article:nth-child(3) .as4970-impact-number { background: var(--sage); color: var(--forest); }
.as4970-impact-band { display: block; margin-top: 2.7rem; color: var(--moss); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.as4970-impact-grid article:nth-child(3) .as4970-impact-band { color: var(--sage); }
.as4970-impact-grid h3 { margin: .55rem 0 1rem; font-family: var(--serif); font-size: clamp(2.1rem, 3vw, 3.1rem); font-weight: 400; letter-spacing: -.045em; }
.as4970-impact-grid p { margin: 0; }
.as4970-impact-grid article:nth-child(3) p { color: rgba(243,240,232,.84); }
.as4970-design-response { display: grid; grid-template-columns: .42fr 1fr; gap: clamp(2rem, 5vw, 6rem); margin-top: clamp(3rem, 5vw, 5rem); padding-top: 2rem; border-top: 1px solid var(--ink); }
.as4970-design-response .eyebrow { margin: 0; }
.as4970-design-response p:last-child { max-width: 900px; margin: 0; font-size: clamp(1rem, 1.12vw, 1.16rem); }
.as4970-protection { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(3rem, 8vw, 9rem); background: var(--ivory); border-block: 1px solid var(--line); }
.as4970-protection-heading > p:nth-last-child(2) { max-width: 620px; margin: 1.8rem 0; }
.as4970-protection-heading .text-link { display: inline-block; margin-top: .7rem; }
.as4970-protection-list { border-top: 1px solid var(--ink); }
.as4970-protection-list article { display: grid; grid-template-columns: 48px minmax(150px,.55fr) 1fr; gap: clamp(1rem, 2vw, 2.2rem); padding: 1.85rem 0; border-bottom: 1px solid var(--line); }
.as4970-protection-list span { padding-top: .4rem; font-size: .7rem; font-weight: 800; letter-spacing: .12em; color: var(--moss); }
.as4970-protection-list h3 { margin: 0; font-size: clamp(1.3rem, 1.8vw, 1.9rem); }
.as4970-protection-list p { margin: 0; }
.as4970-service-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: clamp(3rem, 5vw, 5rem); border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.as4970-service-grid article { display: flex; flex-direction: column; min-height: 375px; padding: clamp(1.6rem, 2.5vw, 3rem); border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.as4970-service-grid article:nth-child(even) { background: rgba(156,174,157,.12); }
.as4970-service-grid h3 { margin-top: 2.6rem; }
.as4970-service-grid p { margin: 0 0 1.7rem; }
.as4970-service-grid a { margin-top: auto; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; border-bottom: 1px solid; padding-bottom: .6rem; }
.as4970-specialist-note { max-width: 1050px; margin: 3rem 0 0 auto; padding-top: 1.4rem; border-top: 1px solid var(--line); }
.as4970-questions { background: var(--forest); }
.as4970-source { display: grid; grid-template-columns: .36fr 1fr; gap: 3rem; padding-block: clamp(2.5rem, 4vw, 4.5rem); background: var(--ivory); border-top: 1px solid var(--line); }
.as4970-source .eyebrow { margin: 0; }
.as4970-source p:last-child { max-width: 940px; margin: 0; font-size: .88rem; }
.as4970-source a { white-space: nowrap; margin-left: .7rem; }
@media (max-width: 1100px) {
  .as4970-page .as4970-hero, .as4970-intro, .as4970-protection { grid-template-columns: 1fr; }
  .as4970-page .as4970-hero-photo { min-height: 580px; }
  .as4970-service-grid { grid-template-columns: repeat(2, 1fr); }
  .as4970-sequence { overflow-x: auto; }
  .as4970-sequence img { min-width: 900px; }
}
@media (max-width: 720px) {
  .as4970-page .as4970-hero-photo { min-height: 430px; }
  .as4970-zone-definitions, .as4970-impact-grid, .as4970-service-grid, .as4970-source, .as4970-design-response { grid-template-columns: 1fr; }
  .as4970-zone-definitions article, .as4970-service-grid article { min-height: 0; }
  .as4970-zone-definitions h3, .as4970-service-grid h3 { margin-top: 1.5rem; }
  .as4970-impact-grid article { min-height: 0; }
  .as4970-impact-band { margin-top: 1.8rem; }
  .as4970-protection-list article { grid-template-columns: 34px 1fr; }
  .as4970-protection-list article p { grid-column: 2; }
  .as4970-plan-figure { overflow-x: auto; }
  .as4970-plan-figure img { min-width: 780px; }
  .as4970-zone-note a { display: block; width: fit-content; margin: 1rem 0 0; white-space: normal; }
  .as4970-source { gap: 1rem; }
  .as4970-source a { display: block; width: fit-content; margin: .5rem 0 0; white-space: normal; }
}
