/* Three text roles throughout the homepage; the wordmark's raised 4 is intentional. */
.home-page {
  --home-heading-size:clamp(1.75rem,2.6vw,2.35rem);
  --home-copy-size:1.125rem;
  --home-control-size:1rem;
  font-size:var(--home-copy-size);
}
.home-page .home-hero h1,
.home-page main h2 { font-size:var(--home-heading-size); font-weight:750; line-height:1.3; }
.home-page main h3 { font-size:var(--home-copy-size); font-weight:750; line-height:1.5; }
.home-page main p,
.home-page .lead,
.home-page .large-copy,
.home-page .situation-list,
.home-page .footer-brand p { font-size:var(--home-copy-size); line-height:1.65; }
.home-page .button,
.home-page .text-link,
.home-page .topic-link,
.home-page .path-choice,
.home-page .desktop-nav>a,
.home-page .mobile-nav>summary,
.home-page .mobile-links a,
.home-page .footer-links a,
.home-page .copyright,
.home-page .audience-controls,
.home-page .pathfinder-selection>summary { font-size:var(--home-control-size); }
.home-page .section,
.home-page .home-hero,
.home-page .contact-band { padding-block:clamp(3rem,5.5vw,5rem); }
.home-page .section-head { margin-inline:auto; text-align:center; }
.home-page .section-head p { margin-inline:auto; }
.home-page .home-hero .lead { margin-top:1.5rem; }
.home-page .home-hero .button-row { margin-top:1.8rem; }
.home-page main>.picture-section .photo,
.home-page main>.image-reveal>.picture-section .photo {
  display:block;
  width:100%;
  height:clamp(220px,46vw,520px);
  max-height:70svh;
  aspect-ratio:auto;
  object-fit:cover;
}
.home-page .reading.center .topic-links,
.home-page .pathfinder-options { gap:.75rem; justify-content:center; }
.home-page .reading.center .topic-link,
.home-page .path-choice {
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:.75rem 1.1rem;
  border:1px solid #98a9b5;
  border-radius:999px;
  font-size:var(--home-control-size);
  line-height:1.5;
  font-weight:650;
  text-align:center;
}
.home-page .topic-link:hover { background:#32415806; border-color:var(--ink); text-decoration:none; }
.home-page .pathfinder-selection>summary { display:none; }
.home-page .pathfinder-selection { border:0; padding:0; }
.home-page .pathfinder-result { max-width:900px; margin-inline:auto; }
.home-page .pathfinder-result p,
.home-page .situation-list { max-width:75ch; }
.home-page .audience-grid { gap:2rem 3rem; position:relative; }
.home-page .audience-card { min-width:0; }
.home-page .audience-heading { gap:.8rem; }
.home-page .audience-next { text-align:center; margin-top:2rem; }
.home-page .audience-next p { margin-inline:auto; }
.home-page .audience-controls { align-items:center; justify-content:center; gap:1rem; margin-top:1rem; }
.home-page .audience-controls button {
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  padding:0;
  border:1px solid #98a9b5;
  border-radius:50%;
  background:white;
  font-size:var(--home-copy-size);
  font-weight:750;
}
.home-page .audience-controls button:hover:enabled { background:var(--cyan); border-color:var(--cyan); }
.home-page .audience-controls button:disabled { opacity:.4; }
.home-page .profile-copy { text-align:center; }
.home-page .profile-copy .button-row { justify-content:center; }
.home-page .profile-media { max-width:370px; justify-self:center; width:100%; }
@media(max-width:740px) {
  .home-page .section,
  .home-page .home-hero,
  .home-page .contact-band { padding-block:clamp(2rem,7vw,3rem); }
  .home-page main p,
  .home-page .situation-list { line-height:1.55; }
  .home-page .pathfinder .section-head { margin-bottom:1.2rem; }
  .home-page main>.picture-section .photo,
  .home-page main>.image-reveal>.picture-section .photo { height:min(66vw,52svh); min-height:0; }
  .home-page .pathfinder-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-block:0; }
  .home-page .path-choice { width:100%; padding:.65rem .8rem; hyphens:auto; }
  .home-page .pathfinder-selection.has-selection>summary {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:.25rem;
    list-style:none;
    border:1px solid #98a9b5;
    border-radius:24px;
    padding:.8rem 1rem;
    text-align:center;
    line-height:1.5;
  }
  .home-page .pathfinder-selection>summary::-webkit-details-marker { display:none; }
  .home-page [data-path-selection-label] { font-weight:750; }
  .home-page .pathfinder-selection>summary>span:last-child { color:var(--teal); }
  .home-page .pathfinder-selection>summary>span:last-child::after { content:" ↓"; }
  .home-page .pathfinder-selection[open]>summary>span:last-child::after { content:" ↑"; }
  .home-page .pathfinder-selection.has-selection[open] .pathfinder-options { margin-top:1rem; }
  .home-page .pathfinder-selection.has-selection+.pathfinder-results { margin-top:1.5rem; }
  .home-page .pathfinder-result { padding:0 0 0 1rem; }
  .home-page .pathfinder-result .button { margin-right:0; }
  .home-page .audience-grid.is-swipeable {
    display:grid;
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:100%;
    align-items:start;
    gap:1rem;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:thin;
    scrollbar-color:var(--line) transparent;
    padding-bottom:.8rem;
  }
  .home-page .audience-grid.is-swipeable .audience-card { scroll-snap-align:start; }
  .home-page .audience-controls { display:flex; }
  .home-page .audience-heading { align-items:center; }
  .home-page .profile { gap:2rem; }
  .home-page .profile-media { max-width:260px; }
}
@media(max-width:360px) {
  .home-page .section,
  .home-page .home-hero,
  .home-page .contact-band { padding-block:1.5rem; }
  .home-page .brand img { width:150px; }
  .home-page .mobile-nav>summary { padding-inline:12px; white-space:nowrap; }
}
@media print {
  .home-page .audience-grid.is-swipeable { display:block; overflow:visible; }
  .home-page .audience-controls { display:none; }
  .home-page .audience-card { margin-bottom:1rem; }
}
