/* Arboricultural Impact Assessments */
.aia-page main { overflow: hidden; background: var(--paper); }
.aia-page .service-page-header { height: 0; display: block; padding: 0; border: 0; }
.aia-page .service-page-header .menu-toggle {
  position: absolute;
  top: clamp(2rem, 4vw, 4rem);
  left: clamp(1.25rem, 4vw, 4.75rem);
  color: var(--ink);
}
.aia-page h1,
.aia-page .section h2,
.aia-page .encroachment-diagram h2 {
  margin: 0;
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -.045em;
}
.aia-hero {
  min-height: min(940px, 100vh);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .82fr);
  background: var(--ivory);
  border-bottom: 1px solid var(--line);
}
.aia-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(9rem, 14vw, 13rem) clamp(2rem, 6vw, 7rem) clamp(5rem, 8vw, 8rem) clamp(1.25rem, 5vw, 5.5rem);
}
.aia-hero h1 { max-width: 850px; font-size: clamp(3.5rem, 5.2vw, 6.25rem); line-height: .97; }
.aia-hero-line { margin: 1.4rem 0 0; font-family: var(--serif); font-size: clamp(1.8rem, 2.7vw, 3.1rem); line-height: 1; }
.aia-hero-intro { max-width: 730px; margin: 2.4rem 0 0; font-size: clamp(1rem, 1.2vw, 1.18rem); line-height: 1.7; }
.aia-hero .button { width: fit-content; margin-top: 3rem; }
.aia-hero-photo { min-height: 660px; margin: 0; border-left: 1px solid var(--line); }
.aia-hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% center; }

.aia-page .section h2,
.aia-page .encroachment-diagram h2 { font-size: clamp(2.9rem, 4.25vw, 5rem); line-height: .99; }
.aia-introduction,
.canopy-section,
.information { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .82fr); gap: clamp(3rem, 9vw, 11rem); }
.aia-introduction-copy p,
.canopy-copy p,
.encroachment-copy > p { font-size: clamp(1rem, 1.15vw, 1.18rem); line-height: 1.75; }
.aia-introduction-copy p:first-child,
.canopy-copy p:first-child { margin-top: 0; }

.aia-process { background: var(--ivory); border-block: 1px solid var(--line); }
.aia-process .section-heading { margin-bottom: clamp(3rem, 6vw, 6rem); }
.aia-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.aia-steps li { min-height: 330px; padding: clamp(1.6rem, 3vw, 3rem); border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.aia-steps li:nth-child(even) { background: rgba(156, 174, 157, .12); }
.aia-steps span { display: block; margin-bottom: clamp(3rem, 5vw, 5rem); color: var(--moss); font-size: .68rem; font-weight: 800; letter-spacing: .15em; }
.aia-steps h3,
.impact-grid h3,
.encroachment-cards h3,
.design-response-grid h3,
.comparison-grid h3 { margin: 0 0 1rem; font-family: var(--serif); font-size: clamp(1.5rem, 2vw, 2.2rem); font-weight: 400; letter-spacing: -.03em; line-height: 1.08; }
.aia-steps p,
.impact-grid p,
.encroachment-cards p,
.design-response-grid p,
.comparison-grid p { margin: 0; line-height: 1.7; }

.impact-assessment-heading { max-width: 1020px; }
.impact-grid { margin-top: clamp(3rem, 6vw, 6rem); display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.impact-grid article { min-height: 330px; padding: clamp(2rem, 4vw, 4rem); border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.impact-grid article:nth-child(2) { background: rgba(156, 174, 157, .12); }

.encroachment-diagram {
  min-height: 880px;
  display: grid;
  grid-template-columns: minmax(360px, .72fr) minmax(600px, 1.28fr);
  align-items: center;
  gap: clamp(2rem, 6vw, 7rem);
  padding: clamp(5rem, 8vw, 9rem) clamp(1.25rem, 5vw, 5.5rem);
  background: var(--forest);
  color: var(--ivory);
}
.encroachment-diagram .eyebrow { color: rgba(243, 240, 232, .72); }
.encroachment-diagram h2 em { color: var(--sage); }
.encroachment-copy { max-width: 650px; }
.encroachment-copy > p { color: rgba(243, 240, 232, .76); }
.encroachment-figure { margin: 0; }
.encroachment-figure img { display: block; width: 100%; max-height: 760px; object-fit: contain; }

.encroachment-classes { background: var(--ivory); }
.encroachment-heading { max-width: 1050px; margin-left: auto; }
.encroachment-heading > p:last-child { max-width: 920px; margin-top: 2rem; font-size: clamp(1rem, 1.15vw, 1.18rem); line-height: 1.75; }
.encroachment-cards { margin-top: clamp(3rem, 6vw, 6rem); display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.encroachment-cards article { min-height: 520px; padding: clamp(2rem, 3.5vw, 3.5rem); border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.encroachment-cards article:nth-child(2) { background: rgba(156, 174, 157, .14); }
.encroachment-cards article:nth-child(3) { background: var(--forest); color: var(--ivory); }
.encroachment-cards article p + p { margin-top: 1rem; }
.class-threshold { min-height: 3rem; margin-bottom: clamp(3rem, 5vw, 5rem) !important; color: var(--moss); font-size: .72rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.encroachment-cards article:nth-child(3) .class-threshold { color: var(--sage); }

.canopy-section { border-block: 1px solid var(--line); }
.design-response-heading { max-width: 1000px; margin-left: auto; }
.design-response-grid { margin-top: clamp(3rem, 6vw, 6rem); display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.design-response-grid article { min-height: 320px; padding: clamp(1.8rem, 3vw, 3rem); border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.design-response-grid article:nth-child(even) { background: rgba(156, 174, 157, .12); }

.report-comparison { background: var(--ivory); border-block: 1px solid var(--line); }
.comparison-heading { max-width: 1000px; }
.comparison-grid { margin-top: clamp(3rem, 6vw, 6rem); display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.comparison-grid article { min-height: 290px; padding: clamp(2rem, 4vw, 4rem); border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.comparison-grid article:last-child { background: rgba(156, 174, 157, .12); }
.comparison-grid a { display: inline-block; margin-top: 2rem; color: inherit; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; border-bottom: 1px solid; }

.information-grid ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ink); }
.information-grid li { padding: 1.1rem 0; border-bottom: 1px solid var(--line); line-height: 1.55; }

.questions { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(3rem, 8vw, 9rem); background: var(--forest); color: var(--ivory); }
.questions .eyebrow { color: rgba(243, 240, 232, .72); }
.question-list { border-top: 1px solid rgba(243,240,232,.35); }
.question-list details { border-bottom: 1px solid rgba(243,240,232,.35); }
.question-list summary { padding: 1.4rem 2.5rem 1.4rem 0; font-family: var(--serif); font-size: clamp(1.2rem, 1.7vw, 1.75rem); cursor: pointer; }
.question-list p { max-width: 760px; margin: 0; padding: 0 2.5rem 1.5rem 0; color: rgba(243,240,232,.75); line-height: 1.7; }
.contact-intro { max-width: 680px; margin: 2rem 0 0; line-height: 1.7; }

@media (max-width: 1100px) {
  .aia-hero { grid-template-columns: 1fr; }
  .aia-hero-photo { min-height: 620px; border-left: 0; border-top: 1px solid var(--line); }
  .aia-steps { grid-template-columns: repeat(2, 1fr); }
  .encroachment-diagram { grid-template-columns: 1fr; }
  .encroachment-figure { max-width: 920px; margin-inline: auto; }
  .design-response-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
  .aia-hero h1 { font-size: clamp(3rem, 13vw, 4.4rem); }
  .aia-hero-photo { min-height: 520px; }
  .aia-introduction,
  .canopy-section,
  .information,
  .questions { grid-template-columns: 1fr; }
  .aia-steps,
  .impact-grid,
  .encroachment-cards,
  .design-response-grid,
  .comparison-grid { grid-template-columns: 1fr; }
  .aia-steps li,
  .impact-grid article,
  .encroachment-cards article,
  .design-response-grid article,
  .comparison-grid article { min-height: 0; }
  .aia-steps span,
  .class-threshold { margin-bottom: 2.5rem !important; }
  .encroachment-diagram { min-height: 0; padding-inline: 1.25rem; }
}
