/* Ottobre 2026 — schede compatte e scala tipografica condivisa. */
body {
  --ink: #171a17;
  --panel: #252a24;
  --line: #434a3e;
  --muted: #c0c3b9;
}
.site-header, .site-header nav { background: var(--ink); }
.page-hero { background: #1c211c; }
.page-hero .page-lead {
  max-width: 65ch;
  font: 400 20px/1.65 var(--sans);
  color: var(--muted);
  margin-top: 24px;
}
.breadcrumb { font-size: 14px; line-height: 1.6; }
.page-hero .breadcrumb { margin-bottom: 32px; }
.section-heading > p:last-child, .team-heading > p,
.meeting-intro, .steps p, .philosophy > p:last-child,
.activity-card p:not(.section-label), .person > p:not(.person-role):not(.credentials) {
  font-size: 15px;
  line-height: 1.75;
}
.person-role, .activity-card .section-label { font-size: 13px; line-height: 1.6; }
.person .credentials { font-size: 15px; }
.profile-detail .credentials { font-size: 16px; line-height: 1.7; }
.text-link, .path-bottom { font-size: 14px; }
.field-grid figcaption, .photo-note, .quote-bottom > p > span,
.review-card > p, .association-callout p.association-note,
.contact-links, .contact-form-panel .form-help, .form-help {
  font-size: 14px;
  line-height: 1.65;
}
.field-grid figcaption span { font-size: 16px; }
.footer, .footer-legal, .footer-nav a { font-size: 14px; line-height: 1.65; }
.footer-nav a { min-height: 36px; display: inline-flex; align-items: center; }
.close-dialog { min-width: 44px; min-height: 44px; }
.team .person figure { aspect-ratio: 1; max-height: 350px; }
.team .person:first-child figure img { object-position: center 10%; }
.team .person:nth-child(3) figure img { object-position: center 20%; }
.team .person h3 { margin-bottom: 12px; }
.team .person-role { min-height: 0; margin: 0; color: var(--muted); }
.team .person > .text-link { min-height: 44px; margin-top: 12px; }
.activity-card .text-link { min-height: 44px; }
.activity-poster span { font-size: 13px; height: auto; min-height: 40px; }
.legal-index { display:flex; flex-wrap:wrap; gap:8px 22px; margin:28px 0; }
.legal-index a { min-height:44px; display:inline-flex; align-items:center; font-size:15px; }
.legal-page .legal-copy ul { padding-left: 22px; color: #dedfd8; line-height: 1.8; }
.legal-page .legal-copy li { margin-bottom: 10px; }
.document-status { line-height: 1.75; }
@media (max-width: 760px) {
  .page-hero .page-lead { font-size: 18px; line-height: 1.65; margin-top: 20px; }
  .page-hero h1 { font-size: clamp(34px, 9.5vw, 44px); line-height: 1.13; }
  .page-hero .breadcrumb { font-size: 13px; margin-bottom: 24px; }
  .article-columns p, .article-section > p, .profile-detail p, .feature-item p { font-size: 16px; line-height: 1.75; }
  .team-grid { gap: 0; }
  .team .person {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    grid-template-rows: auto auto 1fr;
    column-gap: 20px;
    align-items: start;
    padding-block: 24px;
    border-top: 1px solid var(--line);
  }
  .team .person figure { grid-column: 1; grid-row: 1 / 4; height: 146px; aspect-ratio: auto; margin: 0; }
  .team .person h3 { grid-column: 2; grid-row: 1; font-size: 26px; line-height: 1.15; margin: 0 0 10px; }
  .team .person-role { grid-column: 2; grid-row: 2; font-size: 15px; line-height: 1.55; }
  .team .person > .text-link { grid-column: 2; grid-row: 3; margin: 6px 0 0; font-size: 14px; white-space: normal; gap: 8px; }
  .team .person figure img { object-position: center 35%; }
  .team .person:nth-child(2) figure img { object-position: center 48%; }
  .team-heading { margin-bottom: 24px; }
  .activity-grid { gap: 0; margin-top: 28px; }
  .activity-card {
    grid-template-columns: 104px minmax(0, 1fr);
    grid-template-rows: auto;
    gap: 20px;
    padding-block: 26px;
  }
  .activity-card:last-child { padding-bottom: 0; }
  .activity-poster { max-width: none; width: 100%; margin: 0; }
  .activity-poster img { width: 100%; height: auto; }
  .activity-poster span { font-size: 12px; line-height: 1.4; padding: 8px 4px; }
  .activity-work .work-photo { height: 172px; margin: 0; }
  .activity-card h3 { font-size: 29px; line-height: 1.15; margin-bottom: 12px; }
  .activity-card .section-label { font-size: 12px; letter-spacing: .035em; margin-bottom: 8px; }
  .activity-card p:not(.section-label) { font-size: 15px; line-height: 1.65; }
  .activity-card .text-link { font-size: 14px; margin-top: 10px; gap: 8px; }
  .field-grid figcaption { font-size: 13px; }
  .field-grid figcaption span { font-size: 15px; }
  .steps p, .meeting-intro, .philosophy > p:last-child, .section-heading > p:last-child, .team-heading > p { font-size: 15px; }
  .quote-bottom .text-link { font-size: 14px; }
  .footer-meta > span:last-child { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
  .footer-meta > span:last-child a { margin: 0; min-height: 44px; display: inline-flex; align-items: center; }
}
@media (max-width: 359px) {
  .activity-card { grid-template-columns: 88px minmax(0, 1fr); gap: 16px; }
  .team .person { grid-template-columns: 96px minmax(0, 1fr); column-gap: 16px; }
  .team .person h3 { font-size: 24px; }
  .activity-card h3 { font-size: 26px; }
}
