/* VALID Tree Risk-Benefit Assessments draft */
.valid-page main { overflow: hidden; background: var(--paper); }
.valid-page .service-page-header { height: 0; display: block; padding: 0; border: 0; }
.valid-page .service-page-header .menu-toggle { position: absolute; top: clamp(2rem, 4vw, 4rem); left: clamp(1.25rem, 4vw, 4.75rem); color: var(--ink); }
.valid-page h1, .valid-page .section h2 { margin: 0; font-family: var(--serif); font-weight: 400; letter-spacing: -.045em; }
.valid-page .section h2 { font-size: clamp(2.9rem, 4.4vw, 5.2rem); line-height: .98; }
.valid-page .section h3 { font-family: var(--serif); font-weight: 400; letter-spacing: -.025em; }
.valid-page .hero-actions { display: flex; align-items: center; gap: clamp(1.5rem, 3vw, 3rem); margin-top: 3rem; }
.valid-page .text-link { color: inherit; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; border-bottom: 1px solid; padding-bottom: .7rem; }
.valid-page .text-link.light { color: var(--ivory); }

.valid-hero { min-height: min(930px, 100vh); display: grid; grid-template-columns: minmax(0, 1fr) minmax(430px, .82fr); background: var(--ivory); border-bottom: 1px solid var(--line); }
.valid-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(9rem, 14vw, 13rem) clamp(2rem, 5vw, 6rem) clamp(5rem, 8vw, 8rem) clamp(1.25rem, 5vw, 5.5rem); }
.valid-hero h1 { max-width: 900px; font-size: clamp(3.55rem, 5.25vw, 6.35rem); line-height: .98; }
.valid-hero-line { max-width: 760px; margin: 1.7rem 0 0; font-family: var(--serif); font-size: clamp(1.65rem, 2.3vw, 2.65rem); line-height: 1.1; }
.valid-hero-intro { max-width: 720px; margin: 1.8rem 0 0; font-size: clamp(1rem, 1.14vw, 1.16rem); line-height: 1.72; }
.valid-hero-panel { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 700px; overflow: hidden; background: #17362f; color: var(--ivory); border-left: 1px solid var(--line); }
.valid-hero-panel::before { position: absolute; z-index: -1; inset: 0; content: ""; background: radial-gradient(circle at 70% 20%, rgba(156,174,157,.27), transparent 37%), linear-gradient(145deg, #23463b, #0e2720 78%); }
.valid-hero-orbit { position: absolute; z-index: -1; width: min(76vw, 730px); aspect-ratio: 1; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.valid-hero-orbit span { position: absolute; inset: 0; border: 1px solid rgba(243,240,232,.14); border-radius: 50%; }
.valid-hero-orbit span:nth-child(2) { inset: 12%; }
.valid-hero-orbit span:nth-child(3) { inset: 24%; }
.valid-logo-card { display: grid; place-items: center; width: clamp(250px, 29vw, 355px); min-height: 410px; padding: 2rem; background: var(--paper); box-shadow: 0 22px 80px rgba(0,0,0,.16); }
.valid-logo-card img { width: min(100%, 285px); height: auto; }
.valid-hero-panel > p { max-width: 320px; margin: 2rem 0 0; font-family: var(--serif); font-size: clamp(1.3rem, 1.8vw, 1.8rem); line-height: 1.2; text-align: center; }

.valid-intro { display: grid; grid-template-columns: .75fr 1.25fr; column-gap: clamp(3rem, 8vw, 9rem); }
.valid-intro .section-heading { display: block; }
.valid-intro-copy p { margin: 0 0 1.5rem; font-size: clamp(1rem, 1.17vw, 1.18rem); line-height: 1.75; }
.valid-intro-copy .text-link { display: inline-block; margin-top: 1rem; }
.valid-method-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: clamp(4rem, 7vw, 7rem); border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.valid-method-grid article { min-height: 300px; padding: clamp(2rem, 3vw, 3rem); border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.valid-method-grid article:nth-child(2) { background: rgba(156,174,157,.12); }
.valid-method-grid span, .reporting-grid span { display: block; margin-bottom: 3.5rem; color: var(--moss); font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.valid-method-grid h3, .reporting-grid h3 { margin: 0 0 1rem; font-size: clamp(1.55rem, 2vw, 2.25rem); line-height: 1.1; }
.valid-method-grid p, .reporting-grid p { margin: 0; line-height: 1.7; }
.valid-avenue-photo, .valid-landscape-photo { margin: 0; overflow: hidden; }
.valid-avenue-photo img, .valid-landscape-photo img { display: block; width: 100%; height: clamp(400px, 48vw, 700px); object-fit: cover; }
.valid-avenue-photo img { object-position: center 52%; }
.valid-landscape-photo img { height: clamp(360px, 43vw, 620px); object-position: center 50%; }

.valid-depth { display: grid; grid-template-columns: 1fr 1fr; padding: 0; background: var(--ivory); border-block: 1px solid var(--line); }
.depth-content { min-width: 0; padding: clamp(5rem, 7vw, 8rem) clamp(2rem, 5vw, 6rem) clamp(5rem, 7vw, 8rem) clamp(1.25rem, 5vw, 5.5rem); }
.depth-heading { max-width: 1040px; }
.depth-heading p:last-child { max-width: 780px; margin: 2rem 0 0; font-size: clamp(1rem, 1.16vw, 1.18rem); line-height: 1.73; }
.depth-steps { display: grid; grid-template-columns: 1fr; gap: 0; margin-top: clamp(3.5rem, 6vw, 6rem); border-top: 1px solid var(--ink); }
.depth-steps article { display: grid; grid-template-columns: 3rem 1fr; gap: clamp(1.3rem, 2.6vw, 2.7rem); padding: clamp(1.5rem, 2.5vw, 2.5rem) 0; border-bottom: 1px solid var(--line); }
.depth-index { width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: 50%; background: var(--forest); color: var(--ivory); font-size: .68rem; font-weight: 800; letter-spacing: .1em; }
.depth-steps h3 { margin: 0 0 1rem; font-size: clamp(1.85rem, 2.6vw, 2.8rem); }
.depth-steps p { margin: 0; line-height: 1.72; }
.depth-note { max-width: 650px; margin: clamp(2rem, 4vw, 4rem) 0 0; line-height: 1.72; }
.valid-feature-photo { min-width: 0; height: 100%; margin: 0; }
.valid-feature-photo img { display: block; width: 100%; height: 100%; min-height: 100%; object-fit: cover; object-position: center center; }

.valid-schools { display: grid; grid-template-columns: .85fr 1.15fr; column-gap: clamp(3rem, 8vw, 9rem); background: var(--forest); color: var(--ivory); }
.valid-schools .eyebrow { color: rgba(243,240,232,.72); }
.schools-heading > p:not(.eyebrow) { max-width: 700px; margin: 2rem 0 0; font-size: clamp(1.05rem, 1.2vw, 1.22rem); line-height: 1.72; }
.schools-photo { margin: clamp(3rem, 5vw, 5rem) 0 0; }
.schools-photo img { display: block; width: 100%; height: clamp(390px, 42vw, 650px); object-fit: cover; object-position: center 47%; }
.schools-content { border-top: 1px solid rgba(243,240,232,.38); padding-top: 2rem; }
.schools-content h3 { margin: 0 0 1.5rem; font-size: clamp(1.65rem, 2.4vw, 2.6rem); }
.schools-content p { margin: 0 0 1.5rem; color: rgba(243,240,232,.82); line-height: 1.75; }
.schools-content .text-link { display: inline-block; margin-top: 1rem; }
.schools-deliverables { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: clamp(4rem, 7vw, 7rem); border-top: 1px solid rgba(243,240,232,.38); border-left: 1px solid rgba(243,240,232,.38); }
.schools-deliverables span { display: flex; align-items: flex-end; min-height: 160px; padding: clamp(1.5rem, 2.5vw, 2.5rem); border-right: 1px solid rgba(243,240,232,.38); border-bottom: 1px solid rgba(243,240,232,.38); font-family: var(--serif); font-size: clamp(1.3rem, 1.8vw, 1.95rem); line-height: 1.18; }
.schools-deliverables span:nth-child(even) { background: rgba(255,255,255,.045); }

.valid-outcomes { display: grid; grid-template-columns: .7fr 1.3fr; column-gap: clamp(3rem, 8vw, 9rem); background: var(--paper); }
.outcomes-heading > p:last-child { max-width: 690px; margin: 2rem 0 0; line-height: 1.72; }
.outcome-list { border-top: 1px solid var(--ink); }
.outcome-list article { display: grid; grid-template-columns: 1.6rem 1fr; gap: 2rem; padding: 1.7rem 0; border-bottom: 1px solid var(--line); }
.outcome-dot { display: block; width: 1rem; height: 1rem; margin-top: .4rem; border-radius: 50%; }
.not-acceptable .outcome-dot { background: #9d4d3d; }
.not-tolerable .outcome-dot { background: #bc7a42; }
.tolerable .outcome-dot { background: #c6a65c; }
.acceptable .outcome-dot { background: #50725e; }
.outcome-label { margin: 0 0 .45rem; color: var(--moss); font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.outcome-list h3 { margin: 0 0 .6rem; font-size: clamp(1.5rem, 2.1vw, 2.25rem); }
.outcome-list article p:last-child { max-width: 760px; margin: 0; line-height: 1.7; }
.outcome-note { grid-column: 1 / -1; max-width: 950px; margin: clamp(2rem, 4vw, 4rem) 0 0; padding-top: 1.5rem; border-top: 1px solid var(--line); font-size: .95rem; line-height: 1.7; }

.valid-reporting { background: var(--ivory); }
.reporting-heading { max-width: 1050px; }
.reporting-heading > p:last-child { max-width: 800px; margin: 2rem 0 0; font-size: clamp(1rem, 1.16vw, 1.18rem); line-height: 1.73; }
.reporting-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: clamp(3.5rem, 6vw, 6rem); border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.reporting-grid article { min-height: 345px; padding: clamp(1.7rem, 2.6vw, 2.7rem); border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.reporting-grid article:nth-child(even) { background: rgba(156,174,157,.12); }

.valid-process { background: var(--paper); }
.valid-process .process-grid { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); margin: clamp(3.5rem, 6vw, 6rem) 0 0; padding: 0; border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.valid-process .process-grid li { min-height: 310px; padding: clamp(1.6rem, 2.5vw, 2.5rem); border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.valid-process .process-grid li:nth-child(even) { background: rgba(156,174,157,.12); }
.valid-process .process-grid span { display: block; margin-bottom: 4rem; color: var(--moss); font-size: .68rem; font-weight: 800; letter-spacing: .15em; }
.valid-process .process-grid h3 { margin: 0 0 1rem; font-size: clamp(1.45rem, 2vw, 2.15rem); }
.valid-process .process-grid p { margin: 0; line-height: 1.7; }

.valid-questions { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(3rem, 8vw, 9rem); background: var(--forest); color: var(--ivory); }
.valid-questions .eyebrow { color: rgba(243,240,232,.72); }
.valid-questions .question-list { border-top: 1px solid rgba(243,240,232,.35); }
.valid-questions .question-list details { border-bottom: 1px solid rgba(243,240,232,.35); }
.valid-questions .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; }
.valid-questions .question-list p { max-width: 760px; margin: 0; padding: 0 2.5rem 1.5rem 0; color: rgba(243,240,232,.78); line-height: 1.7; }

@media (max-width: 1120px) {
  .valid-hero { grid-template-columns: 1fr; }
  .valid-hero-panel { min-height: 610px; border-left: 0; border-top: 1px solid var(--line); }
  .valid-hero-orbit { width: min(85vw, 730px); }
  .valid-schools, .valid-outcomes { grid-template-columns: 1fr; row-gap: 3rem; }
  .schools-photo img { height: clamp(420px, 75vw, 670px); }
  .schools-deliverables { grid-column: auto; }
  .reporting-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
  .valid-hero h1 { font-size: clamp(3rem, 13vw, 4.5rem); }
  .valid-hero-panel { min-height: 560px; }
  .valid-page .hero-actions { align-items: flex-start; flex-direction: column; }
  .valid-intro, .valid-method-grid, .valid-depth, .schools-deliverables, .reporting-grid, .valid-process .process-grid, .valid-questions { grid-template-columns: 1fr; }
  .depth-content { padding: 5rem clamp(1.25rem, 5vw, 3rem); }
  .valid-intro { row-gap: 2.5rem; }
  .valid-method-grid { grid-column: auto; }
  .valid-method-grid article, .reporting-grid article, .valid-process .process-grid li { min-height: 0; }
  .valid-method-grid span, .reporting-grid span, .valid-process .process-grid span { margin-bottom: 2.4rem; }
  .depth-steps article { grid-template-columns: 3rem 1fr; }
  .schools-deliverables span { min-height: 105px; }
  .valid-avenue-photo img { height: 420px; object-position: 42% center; }
  .valid-landscape-photo img { height: 360px; }
  .valid-feature-photo img { height: 560px; min-height: 0; }
  .schools-photo img { height: 480px; }
}
