/* V45: scoped September 11 review refinements; original styles retained. */
#annual-reports { scroll-margin-top:120px; }
#p-home .hero .display { font-size:clamp(2.75rem,6.5vw,5.8rem); line-height:1.03; }
#p-home .hero .body { font-size:clamp(1.125rem,1.7vw,1.35rem); line-height:1.65; }
.figures dd { font-size:1rem; line-height:1.6; }
.label { font-size:.875rem; letter-spacing:.14em; }
.county-approved-copy p { font-size:1.125rem; line-height:1.75; }
.site-nav .menu a { padding-block:1rem; min-height:44px; }
#p-home .home-programs-band { padding-bottom:2.5rem; }
#p-home .home-impact-band { padding-top:3rem; }
#p-home .closing-band .actions a[data-route="give"] { padding:1.2rem 2.5rem; font-size:1.2rem; }
#p-home .impact-path h3 { font-size:clamp(1.35rem,2.1vw,1.75rem); line-height:1.2; }
.site-nav > .btn-give,
.route-home .site-nav > .btn-give,
body.scrolled .site-nav > .btn-give {
  background:var(--sky); color:var(--plum-deep); border-color:var(--sky);
  min-height:46px; padding-inline:1.6rem; font-weight:600;
}
.site-nav > .btn-give:hover,
.site-nav > .btn-give:focus-visible { background:#9fcaf0; color:var(--plum-deep); }
.invite.has-investment-art { grid-template-columns:minmax(0,7fr) minmax(260px,5fr); }
.invite.has-investment-art .investment-art { width:100%; max-height:420px; object-fit:contain; }
#p-supporters .supporter-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
#p-supporters .masth { padding-block:clamp(2.75rem,5vw,4.5rem) clamp(2rem,4vw,3rem); }
#p-supporters .supporters-intro { max-width:52ch; margin-top:1rem; }
#p-supporters .supporters-hero-actions { margin-top:1.35rem; }
#p-supporters > .band-cream { padding-top:clamp(2.5rem,5vw,4rem); }
#p-supporters > .band-cream .supporter-grid { margin-top:0; }
#p-supporters .supporter-tile { min-height:180px; padding:1.5rem; display:flex; align-items:center; justify-content:center; border:1px solid var(--rule); background:#f5f5f4; border-radius:8px; }
#p-supporters .supporter-tile img { width:100%; max-width:220px; height:110px; max-height:110px; object-fit:contain; filter:grayscale(1); }
#p-supporters .supporter-tile strong { font-size:1.15rem; line-height:1.4; text-align:center; color:var(--ink); overflow-wrap:break-word; }
#p-supporters img[src$="erich-and-hana-sachs-foundation.svg"] { filter:grayscale(1) invert(1); }
#p-supporters .financials { margin-top:3rem; padding-top:2rem; border-top:1px solid var(--rule); }
.financial-document { padding:1.5rem 0; border-bottom:1px solid var(--rule); }
.financial-document h3 { font-size:1.2rem; }
.financial-document p,.financial-document span { font-size:1rem; color:var(--ink-soft); }
.press-layout { margin-top:clamp(2rem,4vw,3rem); display:grid; grid-template-columns:minmax(0,7fr) minmax(280px,5fr); gap:clamp(1rem,2.5vw,2rem); }
.press-feature { display:grid; min-height:500px; grid-template-rows:minmax(280px,1fr) auto; color:var(--ink); border:1px solid var(--rule); background:var(--paper); transition:transform .3s ease,box-shadow .3s ease; }
.press-feature:hover,.press-feature:focus-visible { transform:translateY(-4px); box-shadow:0 22px 45px -32px rgba(38,13,36,.75); }
.press-feature-media { display:grid; place-items:center; padding:2rem; background:linear-gradient(135deg,var(--plum-deep),#683261); color:var(--cream); }
.press-feature-media span { font-size:.8rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; opacity:.78; }
.press-feature-copy { display:grid; gap:.8rem; padding:clamp(1.5rem,3vw,2.5rem); }
.press-feature .clip-t { font-family:var(--serif); font-size:clamp(2rem,4vw,3.5rem); line-height:1.03; }
.press-secondary { display:grid; align-content:start; }
.press-secondary .clip { min-height:0; }
.county-story { padding-block:clamp(3.5rem,7vw,6rem); }
.county-story + .band { padding-top:clamp(3rem,6vw,5rem); }
.county-testimonial { margin-top:clamp(1.5rem,3vw,2.5rem); }
.county-assets { gap:clamp(1.5rem,3vw,3rem); }
.county-map-card { box-shadow:0 22px 45px -38px rgba(38,13,36,.75); }
.county-map-heading { display:flex; justify-content:space-between; gap:1rem; align-items:baseline; padding-bottom:1rem; border-bottom:1px solid var(--rule); }
.county-map-heading strong { font-size:1.05rem; color:var(--tone-ink); }
.county-map-heading span,.county-map-note { color:var(--ink-soft); font-size:.75rem; }
.county-map-note { display:block; margin-top:.35rem; line-height:1.5; font-weight:400; letter-spacing:0; text-transform:none; }
.county-intro { display:block; grid-template-columns:none; width:100%; max-width:none; padding-left:1.25rem; border-left:4px solid var(--tone); font-weight:500; }
.review-state { max-width:60ch; margin-block:1.5rem; }
.btn.is-disabled { opacity:.62; cursor:not-allowed; pointer-events:none; }
.review-kicker { color:var(--tone-ink); font-size:.75rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.policy-draft { max-width:72ch; }
.policy-draft h3 { margin-top:2rem; }
.form :disabled,.signup :disabled { cursor:not-allowed; }

/* V46: soft, cohesive form controls while review destinations remain disabled. */
.form input,
.form select,
.form textarea {
  border:1px solid color-mix(in srgb,var(--plum) 24%,var(--rule));
  border-radius:14px;
  background:rgba(255,255,255,.72);
  box-shadow:0 10px 28px -28px rgba(38,13,36,.8);
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease);
}
.form textarea { border-radius:18px; }
.form input:focus,
.form select:focus,
.form textarea:focus {
  border-color:var(--plum);
  background:#fff;
  box-shadow:0 0 0 4px rgba(142,184,224,.25),0 14px 34px -28px rgba(38,13,36,.9);
}
.form input:disabled,
.form select:disabled,
.form textarea:disabled {
  opacity:1;
  color:var(--ink-soft);
  -webkit-text-fill-color:var(--ink-soft);
  background:rgba(255,255,255,.58);
}
.form .btn {
  min-height:50px;
  padding-inline:1.65rem;
  border-radius:999px;
}
.form .btn:disabled { opacity:.78; }
.form-status { max-width:46ch; line-height:1.55; }

.signup form {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:stretch;
  gap:.75rem;
  max-width:38rem;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.signup input,
.signup input:disabled {
  min-height:54px;
  padding:.8rem 1.1rem;
  border:1px solid rgba(59,23,57,.28);
  border-radius:14px;
  background:rgba(255,255,255,.84);
  color:var(--ink);
  -webkit-text-fill-color:var(--ink);
  opacity:1;
  box-shadow:0 12px 30px -28px rgba(38,13,36,.9);
}
.signup input::placeholder { color:var(--ink-soft); opacity:.8; }
.signup input:focus { border-color:var(--plum); box-shadow:0 0 0 4px rgba(255,255,255,.3); }
.signup .btn,
.signup .btn:disabled {
  min-height:54px;
  padding-inline:1.65rem;
  border:1px solid var(--plum);
  border-radius:14px;
  opacity:.88;
  white-space:nowrap;
  box-shadow:0 14px 30px -24px rgba(38,13,36,.85);
}

/* Keep every county story in perspective: broad copy, stable photo, clean stack. */
.county-copy-layout {
  grid-template-columns:minmax(300px,5fr) minmax(0,7fr);
  gap:clamp(2rem,4vw,4.25rem);
}
.county-approved-copy { min-width:0; max-width:760px; }
.county-approved-copy p { max-width:65ch; font-size:clamp(1rem,1.25vw,1.125rem); }
.county-approved-copy .county-intro {
  width:auto;
  max-width:none;
  font-size:clamp(1.2rem,1.8vw,1.55rem);
  line-height:1.5;
  overflow-wrap:break-word;
}
.county-copy-photo img { min-height:0; }
.social-links-pending { color:inherit; font-size:.72rem; letter-spacing:.05em; opacity:.72; }
.foot-social-pending { margin-top:1.25rem; color:var(--cream); }
@media(max-width:920px) { #p-supporters .supporter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:920px) { .press-layout { grid-template-columns:1fr; } .press-feature { min-height:0; } }
@media(max-width:720px) { .invite.has-investment-art { grid-template-columns:1fr; } }
@media(max-width:1100px) {
  .county-copy-layout {
    grid-template-columns:1fr;
    gap:clamp(1.5rem,5vw,2.5rem);
    width:100%;
    max-width:780px;
    margin-inline:auto;
  }
  .county-copy-photo { position:static; width:100%; }
  .county-copy-photo img { width:100%; max-height:480px; aspect-ratio:16/9; }
  .county-approved-copy { width:100%; max-width:760px; margin-inline:auto; }
  .county-approved-copy .county-intro { width:auto; max-width:none; font-size:clamp(1.125rem,2.4vw,1.35rem); }
  .county-approved-copy p { font-size:clamp(1rem,3.25vw,1.075rem); line-height:1.72; }
}
@media(max-width:640px) {
  .signup form { grid-template-columns:1fr; gap:.65rem; }
  .signup input,
  .signup input:disabled,
  .signup .btn,
  .signup .btn:disabled { width:100%; }
}
@media(max-width:480px) { #p-supporters .supporter-grid { grid-template-columns:1fr; } .press-feature-media { min-height:220px; } }
