/* Shared editorial interiors: water, whitespace, evidence, and clear next steps. */
.interior-page { color: #153e35; background: #f8faf7; }
.interior-page main { overflow: clip; }
.interior-page :focus-visible { outline: 2px solid #277d60; outline-offset: 4px; }
.editorial-nav a[aria-current="page"] { color: #116447; }
.editorial-nav a[aria-current="page"]::after { opacity: .9; transform: scaleX(1); }
.interior-hero { position: relative; isolation: isolate; padding: clamp(58px, 7.5vw, 112px) var(--gutter) clamp(56px, 7vw, 96px); background: #e5f3eb; overflow: hidden; border-bottom: 1px solid #bdd6c6; }
.interior-hero::before { content: ""; position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, #eaf6ee 15%, rgba(234,246,238,.95) 44%, rgba(234,246,238,.3)), url('/assets/njpfas-hero-water-light.png') 78% 45% / cover; opacity: .8; }
.interior-hero::after { content: ""; position: absolute; z-index: -1; inset: 0; background-image: linear-gradient(rgba(43,113,81,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(43,113,81,.045) 1px,transparent 1px); background-size: 84px 84px; }
.interior-hero-inner { position: relative; z-index: 2; width: min(100%,var(--max)); margin: auto; }
.interior-hero .desk-label { font-size: .76rem; letter-spacing: .13em; color: #315e4e; margin-bottom: 24px; }
.interior-hero h1 { max-width: 15ch; margin: 0; font: 400 clamp(3.3rem,6.3vw,6.9rem)/.98 var(--serif); letter-spacing: -.055em; overflow-wrap: break-word; }
.interior-hero h1 em { font-weight: 400; color: #377c63; }
.interior-deck { max-width: 660px; margin: 28px 0 0; color: #3c5c50; font-size: clamp(1rem,1.3vw,1.16rem); line-height: 1.65; }
.interior-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 30px; }
.solid-action { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 46px; padding: 13px 20px; border: 1px solid #205c49; background: #205c49; color: #fff; text-decoration: none; font-size: .9rem; font-weight: 650; transition: background 200ms ease; }
.solid-action:hover { background: #113f30; }
.text-action { display: inline-flex; align-items: center; gap: 12px; padding-block: 10px; color: #205c49; font-size: .9rem; font-weight: 650; text-underline-offset: 5px; }
.hero-current { position: absolute; z-index: 0; right: -80px; top: 0; width: 46%; height: 100%; opacity: .22; pointer-events: none; }
.hero-current i { position: absolute; width: 620px; height: 240px; border: 1px solid #337b60; border-radius: 50%; transform: rotate(-26deg); right: -60px; top: 30%; }
.hero-current i:nth-child(2) { top: 34%; right: -90px; }
.hero-current i:nth-child(3) { top: 38%; right: -120px; }
.motif-lines::before { opacity: .38; }
.section-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 30px; padding: 18px max(var(--gutter),calc((100% - var(--max))/2)); background: #f0f6f0; border-bottom: 1px solid #cbdcd0; }
.section-nav span { font-size: .66rem; text-transform: uppercase; letter-spacing: .11em; font-weight: 800; color: #657c6d; }
.section-nav a { font-size: .87rem; font-weight: 650; text-decoration: none; padding: 5px 0; }
.section-nav a:hover { text-decoration: underline; text-underline-offset: 5px; }
.interior-content { width: min(calc(100% - 2 * var(--gutter)),var(--max)); margin: auto; }
.content-section { padding: clamp(52px,6vw,88px) 0; border-bottom: 1px solid #c5d7c9; }
.interior-page [id] { scroll-margin-top: 102px; }
.section-heading { display: grid; grid-template-columns: .4fr 1fr; gap: 30px; width: 100%; margin: 0; padding-bottom: 32px; }
.section-heading .desk-label { margin-top: 10px; font-size: .72rem; color: #46725c; }
.section-heading h2 { max-width: 24ch; font: 400 clamp(2.35rem,3.7vw,4.2rem)/1.04 var(--serif); letter-spacing: -.045em; margin: 0; }
.section-intro { max-width: 820px; margin: 0 0 30px; font-size: 1.05rem; color: #3d5b4c; }
.topic-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; }
.topic-item { min-width: 0; padding: 28px 28px 32px; border-top: 1px solid #bfd4c5; }
.topic-item + .topic-item { border-left: 1px solid #cbdcd0; }
.topic-item:first-child, .topic-item:nth-child(3n+1) { padding-left: 0; border-left: 0; }
.topic-item:nth-child(3n) { padding-right: 0; }
.index-label { display: block; font-size: .72rem; font-weight: 750; color: #477b61; }
.topic-item h3 { margin: 34px 0 16px; font: 400 1.85rem/1.1 var(--serif); letter-spacing: -.025em; }
.topic-item p { color: #4b6556; font-size: .96rem; margin-bottom: 22px; }
.topic-item > a, .location-case a { font-size: .85rem; font-weight: 650; text-underline-offset: 5px; }
.topic-item > a span, .location-case a span { padding-left: 6px; }
.two-columns { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px,6vw,90px); }
.two-columns > * { min-width: 0; }
.two-columns h3 { font: 400 2rem/1.12 var(--serif); letter-spacing: -.025em; margin: 0 0 20px; }
.two-columns p { color: #496252; }
.two-columns ul { padding-left: 22px; }
.two-columns li { padding: 5px 0; }
.resource-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.resource-link { display: flex; flex-direction: column; min-width: 0; gap: 16px; padding: 26px 28px; border: 1px solid #c4d8c8; background: #eef6ef; text-decoration: none; transition: border-color 200ms ease, background 200ms ease; }
.resource-link:hover { border-color: #5b9977; background: #e5f3e9; }
.resource-agency { font-size: .7rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; color: #457058; }
.resource-link strong { font: 400 1.8rem/1.15 var(--serif); letter-spacing: -.02em; }
.resource-link > span:last-child { color: #4b6655; font-size: .94rem; }
.editorial-note { max-width: 960px; color: #50695a; font-size: .88rem; line-height: 1.65; padding-top: 20px; margin-top: 20px; border-top: 1px solid #cbdcd0; }
.location-search { margin: 32px 0 12px; }
.location-search label, .news-search-label { display: block; font-size: .87rem; font-weight: 650; margin-bottom: 9px; }
.location-search > div { display: flex; gap: 10px; }
.location-search input, .news-search-label input { min-width: 0; width: 100%; min-height: 50px; border: 1px solid #99b5a1; border-radius: 0; background: #fff; padding: 12px 16px; color: #153e35; font: inherit; font-size: 1rem; }
.location-search button { flex-shrink: 0; padding: 12px 22px; border: 0; background: #205c49; color: white; font: inherit; cursor: pointer; }
.result-count { color: #4c6d58; font-size: .83rem; margin: 16px 0 22px; }
.location-case { display: grid; grid-template-columns: .65fr 1fr; gap: 36px; padding: 32px 0; border-top: 1px solid #c3d8c9; }
.location-case img { width: 100%; height: 260px; object-fit: cover; }
.location-case h3 { font: 400 2.3rem/1.06 var(--serif); letter-spacing: -.035em; margin: 12px 0; }
.location-case .desk-label { margin-bottom: 12px; font-size: .7rem; }
.location-region { font-size: .83rem; color: #477b61; }
.location-case p:not(.desk-label,.location-region) { font-size: .96rem; color: #506653; }
.study-split { display: grid; grid-template-columns: .65fr 1fr; align-items: start; gap: clamp(30px,6vw,90px); }
.study-stat { padding: 32px; background: #e5f2e8; border-top: 1px solid #88b99b; }
.study-stat > span { font: 400 clamp(2.5rem,4vw,4.5rem)/1.1 var(--serif); letter-spacing: -.05em; }
.study-stat p { font-size: .9rem; color: #496653; }
.study-split h3 { margin: 0 0 20px; font: 400 2rem/1.1 var(--serif); }
.study-split a { font-size: .88rem; font-weight: 650; text-underline-offset: 5px; }
.evidence-timeline { margin: 15px 0 0; padding: 0; list-style: none; }
.evidence-timeline li { display: grid; grid-template-columns: .4fr 1fr; gap: 30px; padding: 28px 0; border-top: 1px solid #bfd6c6; }
.evidence-timeline time { color: #4c725a; font-size: .9rem; padding-top: 6px; }
.evidence-timeline h3 { font: 400 2rem/1.15 var(--serif); margin: 0; letter-spacing: -.03em; }
.evidence-timeline p { color: #4c6655; }
.evidence-timeline a { font-size: .88rem; text-underline-offset: 5px; }
.story-layout { display: grid; grid-template-columns: .5fr 1fr; gap: clamp(32px,6vw,90px); }
.story-pullquote { align-self: start; margin: 0; padding-top: 26px; border-top: 1px solid #91b89c; font: italic 400 clamp(2rem,3vw,3.3rem)/1.15 var(--serif); color: #417b5f; letter-spacing: -.035em; }
.reading-copy { max-width: 800px; font-size: 1.05rem; line-height: 1.8; color: #385044; min-width: 0; }
.reading-copy > p:first-child { margin-top: 0; }
.reading-copy p { margin: 0 0 24px; }
.reading-copy h2 { margin: 48px 0 22px; font: 400 2.2rem/1.15 var(--serif); letter-spacing: -.03em; color: #183e30; }
.reading-copy h3 { margin: 32px 0 16px; font: 400 1.75rem/1.2 var(--serif); color: #183e30; }
.reading-copy h4, .reading-copy h5, .reading-copy h6 { font-size: 1.1rem; color: #183e30; }
.reading-copy ul, .reading-copy ol { padding-left: 24px; margin-bottom: 26px; }
.reading-copy li { margin: 8px 0; }
.reading-copy a { color: #1f6a4f; text-underline-offset: 4px; overflow-wrap: anywhere; }
.reading-copy a[data-external-host]::after { content: ' ↗ ' attr(data-external-host); font: 500 .72rem/1.4 var(--sans); color: #567961; }
.reading-copy img { max-width: 100%; height: auto; display: block; margin: 22px auto; }
.reading-copy figure { margin: 30px 0; }
.reading-copy figcaption { color: #5e7163; font-size: .83rem; }
.reading-layout { display: grid; grid-template-columns: .3fr 1fr; gap: clamp(30px,5vw,70px); padding: 60px 0; }
.reading-layout:not(:has(.reading-sidebar)) { display: block; }
.reading-layout:not(:has(.reading-sidebar)) .reading-copy { margin: auto; }
.reading-sidebar { position: sticky; top: 108px; align-self: start; max-height: calc(100svh - 140px); overflow-y: auto; }
.reading-sidebar nav { display: grid; gap: 14px; padding-right: 16px; }
.reading-sidebar a { font-size: .85rem; line-height: 1.4; color: #52715d; text-decoration: none; }
.reading-sidebar a:hover { color: #164c35; text-decoration: underline; text-underline-offset: 4px; }
.article-meta { font-size: .85rem; color: #4e765d; border-bottom: 1px solid #c1d7c7; padding-bottom: 18px; }
.table-scroll { width: 100%; max-width: 100%; overflow-x: auto; margin: 28px 0; border: 1px solid #b6d0be; }
.table-scroll table { border-collapse: collapse; width: 100%; min-width: 550px; font-size: .88rem; line-height: 1.55; }
.table-scroll td, .table-scroll th { border: 1px solid #ceded1; padding: 15px 18px; vertical-align: top; min-width: 120px; }
.table-scroll thead, .table-scroll tr:first-child { background: #e3f0e6; }
.table-scroll img { max-width: 160px; }
.table-scroll tr:nth-child(even) { background: #f0f5ef; }
.news-tools { display: flex; gap: 25px; justify-content: space-between; align-items: end; margin: 8px 0 22px; }
.filter-buttons { display: flex; gap: 8px; flex-wrap: wrap; }
.filter-buttons button { padding: 11px 17px; border: 1px solid #a3c2ad; background: transparent; color: #24563e; font: 600 .86rem var(--sans); min-height: 44px; cursor: pointer; }
.filter-buttons button[aria-pressed="true"] { background: #205c49; color: #fff; border-color: #205c49; }
.news-search-label { margin: 0; width: min(100%,380px); }
.news-search-label input { display: block; margin-top: 8px; min-height: 44px; }
.news-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 50px; }
.news-item { padding: 30px 0; border-top: 1px solid #bcd3c3; }
.news-item .desk-label { font-size: .7rem; margin-bottom: 10px; }
.news-item time { display: block; color: #65806a; font-size: .78rem; }
.news-item h3 { margin: 20px 0 16px; font: 400 clamp(1.7rem,2.3vw,2.6rem)/1.1 var(--serif); letter-spacing: -.035em; }
.news-item h3 a { text-decoration: none; }
.news-item h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.news-item p:not(.desk-label) { font-size: .96rem; color: #4d6755; }
.news-item > a { font-size: .86rem; font-weight: 650; text-underline-offset: 5px; }
.content-provenance { display: grid; grid-template-columns: .4fr 1fr; gap: 30px; padding: 36px 0 54px; color: #536c58; font-size: .83rem; border-top: 1px solid #cadbcd; }
.content-provenance p { margin: 0 0 15px; }
.content-provenance ul { margin: 0 0 18px; padding-left: 18px; }
.content-provenance li { padding: 4px 0; }
.content-provenance a { text-underline-offset: 4px; overflow-wrap: anywhere; }
.next-step { margin: 25px 0 60px; padding: clamp(30px,5vw,60px); background: #e3f0e6; border-top: 1px solid #98bfa5; }
.next-step h2 { font: 400 clamp(2.3rem,4vw,4rem)/1.04 var(--serif); margin: 0 0 18px; letter-spacing: -.04em; }
.next-step p:not(.desk-label) { max-width: 700px; color: #45634e; }
.contact-address { font-size: clamp(1rem,1.6vw,1.4rem); text-underline-offset: 6px; overflow-wrap: anywhere; }
.chemical-typography { display: flex; flex-direction: column; gap: 20px; align-items: start; padding: 35px; background: #e4f0e6; border-top: 1px solid #a7c8b1; }
.chemical-typography > span { font: 400 clamp(4rem,6.5vw,7rem)/1 var(--serif); letter-spacing: -.07em; color: #387b58; }
.chemical-typography small { font-size: .77rem; color: #4c715b; }
.definition-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin: 28px 0; padding-top: 22px; border-top: 1px solid #c5d8cb; }
.definition-pair h3 { font: 600 1rem var(--sans); margin-bottom: 10px; }
.definition-pair p { font-size: .95rem; }
.standards-row { display: grid; grid-template-columns: repeat(3,1fr); border-block: 1px solid #bbd3c3; margin-top: 32px; }
.standards-row article { padding: 22px 30px; border-right: 1px solid #bbd3c3; }
.standards-row article:first-child { padding-left: 0; }
.standards-row article:last-child { border-right: 0; }
.standards-row p { font-size: .85rem; color: #486d54; margin: 0 0 18px; }
.standards-row strong { display: block; font: 400 clamp(3.4rem,5vw,5.5rem)/1 var(--serif); letter-spacing: -.04em; }
.standards-row small { font: 400 1.2rem var(--serif); }
.standards-row span { display: block; font-size: .82rem; color: #52765d; margin-top: 16px; }
.support-form { display: block; border: 1px solid #c4d8c8; background: white; margin: 30px 0; width: 100%; }
.video-feature { display: grid; grid-template-columns: minmax(0,1.8fr) minmax(240px,.7fr); gap: clamp(25px,4vw,60px); align-items: center; }
.video-player-wrap { min-width: 0; border: 1px solid #b6cdbb; background: #0b2620; }
.pfas-intro-video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; }
.video-feature-copy { min-width: 0; }
.video-feature-copy h3 { font: 400 clamp(1.8rem,2.6vw,2.8rem)/1.1 var(--serif); letter-spacing: -.035em; margin: 0 0 18px; }
.video-feature-copy > p:not(.desk-label) { color: #4a6653; font-size: .95rem; }
.video-play-button { cursor: pointer; font-family: var(--sans); }
.video-sound-button { display: block; margin-top: 12px; padding: 12px 18px; border: 1px solid #426d51; color: #214d37; background: #e3f0e6; font: 650 .9rem var(--sans); cursor: pointer; }
.video-sound-button[hidden] { display: none; }
.interview-watch-page .interior-hero { min-height: 0; padding-block: clamp(32px,4vw,60px); }
.interview-watch-page .interior-hero h1 { font-size: clamp(2.8rem,6vw,5.5rem); }
.interview-watch-page .content-section { padding-top: 36px; }
.video-direct-link { display: inline-block; color: #426d51; font-size: .8rem; text-underline-offset: 4px; }
.video-feature-copy .video-direct-link { display: block; margin-top: 16px; }
.video-play-status:empty { display: none; }
.video-play-status { font-size: .85rem !important; }
.video-play-button + .video-play-status + .video-direct-link { margin-top: 16px; }
@media (max-width: 900px) { .video-feature { grid-template-columns: 1fr; gap: 24px; } .video-feature-copy h3 { max-width: 24ch; } }
.interview-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 36px 28px; }
.interview-record { margin: 0; min-width: 0; }
.interview-image-button { position: relative; display: block; width: 100%; padding: 0; border: 0; background: #173e34; cursor: zoom-in; overflow: hidden; }
a.interview-image-button { cursor: pointer; }
.interview-image-button img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; }
.cover-enlarge { position: absolute; right: 12px; top: 12px; padding: 6px 10px; background: #f0f8f0; color: #174d3c; font: 650 .75rem var(--sans); opacity: 0; transform: translateY(-4px); transition: opacity 200ms ease, transform 200ms ease; }
.interview-image-button:hover .cover-enlarge, .interview-image-button:focus-visible .cover-enlarge { opacity: 1; transform: none; }
.interview-record figcaption { padding: 20px 0 0; }
.interview-record .desk-label { display: block; font-size: .7rem; margin-bottom: 9px; }
.interview-record h3 { margin: 0 0 8px; font: 400 2rem/1.1 var(--serif); letter-spacing: -.035em; }
.interview-record figcaption p { margin: 0; color: #536c58; font-size: .86rem; }
.cover-dialog { width: min(1200px,calc(100% - 36px)); max-height: calc(100svh - 36px); padding: 16px; border: 1px solid #bbd5c5; color: #174d3c; background: #f3f8f1; }
.cover-dialog::backdrop { background: rgba(3,23,21,.85); }
.cover-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 0 14px; }
.cover-dialog-heading h2 { margin: 0; font: 400 1.65rem var(--serif); }
.cover-dialog-heading button { flex-shrink: 0; min-height: 44px; padding: 10px 16px; background: #205c49; color: white; border: 0; cursor: pointer; font: 600 .9rem var(--sans); }
.cover-dialog img { display: block; max-width: 100%; width: 100%; height: auto; max-height: calc(100svh - 126px); object-fit: contain; }
@media (max-width: 700px) { .interview-gallery { grid-template-columns: 1fr; gap: 30px; } .interview-record h3 { font-size: 1.85rem; } .cover-enlarge { opacity: 1; transform: none; padding: 5px 8px; top: 8px; right: 8px; font-size: .67rem; } }
.interior-footer { width: min(calc(100% - 2 * var(--gutter)),var(--max)); margin: auto; display: grid; grid-template-columns: .6fr 1fr 1fr; gap: 30px; padding: 45px 0 35px; border-top: 1px solid #b5cebd; }
.interior-footer .editorial-brand { font-size: 2.7rem; }
.interior-footer p { margin: 0; color: #5e7562; font-size: .83rem; }
.interior-footer nav { display: flex; gap: 10px 22px; flex-wrap: wrap; }
.interior-footer nav a { font-size: .82rem; text-decoration: none; }
.interior-footer .footer-note { grid-column: 1/-1; font-size: .75rem; }
[hidden] { display: none !important; }
@media (max-width: 1000px) {
  .section-heading { grid-template-columns: 1fr; gap: 10px; }
  .section-heading .desk-label { margin: 0; }
  .topic-grid { grid-template-columns: 1fr 1fr; }
  .topic-item:nth-child(n) { padding: 26px; border-left: 1px solid #cbdcd0; }
  .topic-item:nth-child(2n+1) { padding-left: 0; border-left: 0; }
  .topic-item:nth-child(2n) { padding-right: 0; }
  .reading-layout { grid-template-columns: .35fr 1fr; gap: 30px; }
  .interior-page [id] { scroll-margin-top: 90px; }
}
@media (max-width: 700px) {
  .interior-hero { padding: 44px 20px 42px; }
  .interior-hero h1 { font-size: clamp(2.85rem,12vw,4.9rem); line-height: 1.02; }
  .interior-deck { font-size: 1rem; margin-top: 22px; }
  .hero-current { right: -220px; width: 100%; opacity: .1; }
  .interior-hero::before { background: linear-gradient(90deg,rgba(234,246,238,.96),rgba(234,246,238,.78)),url('/assets/njpfas-hero-water-light.png') center/cover; }
  .interior-actions { gap: 15px; align-items: start; flex-direction: column; margin-top: 24px; }
  .section-nav { gap: 8px 18px; padding: 15px 20px; }
  .section-nav span { width: 100%; }
  .section-nav a { font-size: .83rem; }
  .interior-content { width: calc(100% - 40px); }
  .content-section { padding: 42px 0; }
  .section-heading { padding-bottom: 24px; }
  .section-heading h2 { font-size: 2.3rem; }
  .topic-grid, .resource-grid, .two-columns, .study-split, .story-layout, .news-list, .content-provenance, .location-case, .reading-layout { grid-template-columns: 1fr; }
  .topic-item:nth-child(n) { border-left: 0; padding: 25px 0; }
  .topic-item h3 { margin-top: 20px; }
  .two-columns { gap: 28px; }
  .two-columns > article + article { border-top: 1px solid #c5d8cb; padding-top: 28px; }
  .resource-link { padding: 24px; }
  .resource-link strong { font-size: 1.6rem; }
  .location-search > div { flex-direction: column; }
  .location-search button { text-align: left; }
  .location-case { gap: 22px; }
  .location-case img { height: 220px; }
  .location-case h3 { font-size: 2rem; }
  .evidence-timeline li { grid-template-columns: 1fr; gap: 12px; }
  .evidence-timeline h3 { font-size: 1.8rem; }
  .story-layout { gap: 30px; }
  .reading-copy { font-size: 1rem; line-height: 1.8; }
  .reading-copy h2 { font-size: 1.9rem; }
  .reading-layout { padding: 36px 0; gap: 25px; }
  .reading-sidebar { position: static; max-height: none; padding-bottom: 24px; border-bottom: 1px solid #bfd4c5; }
  .reading-sidebar nav { grid-template-columns: 1fr; gap: 12px; }
  .news-tools { flex-direction: column; align-items: start; }
  .news-search-label { width: 100%; }
  .filter-buttons { gap: 6px; }
  .filter-buttons button { padding: 10px 12px; font-size: .8rem; }
  .content-provenance { gap: 12px; }
  .next-step { padding: 28px 22px; }
  .next-step h2 { font-size: 2.4rem; }
  .definition-pair { grid-template-columns: 1fr; gap: 10px; }
  .standards-row article { padding: 20px 12px; }
  .standards-row strong { font-size: 2.7rem; }
  .standards-row small { font-size: .9rem; }
  .standards-row span { font-size: .72rem; }
  .interior-footer { grid-template-columns: 1fr; gap: 24px; }
}
@media (prefers-reduced-motion: reduce) { .interior-page *, .interior-page *::before, .interior-page *::after { animation: none !important; transition: none !important; } }
