/* Visitor actions: consultation, files, page navigation, and disclosures. */
.action-link {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-width: 44px; min-height: 48px; max-width: 100%; padding: 12px 18px;
  border: 1px solid #7b9188; border-radius: 12px;
  background: var(--white); color: var(--green); text-decoration: none;
  font-size: .95rem; font-weight: 700; line-height: 1.65; text-align: left;
  vertical-align: middle; overflow-wrap: anywhere; touch-action: manipulation;
  box-shadow: none; transition: background-color .15s, border-color .15s;
}
.action-link:hover { color: var(--ink); background: var(--green-pale); border-color: var(--green); transform: none; }
.action-icon { flex: 0 0 auto; margin-left: auto; font-size: 1.1em; line-height: 1; }
.button.action-link { min-height: 52px; padding: 13px 22px; border-color: var(--orange-dark); background: var(--orange-dark); color: white; font-weight: 800; }
.button.action-link:hover { border-color: var(--ink); background: var(--ink); color: white; }
.button-secondary.action-link { border-color: var(--green); background: white; color: var(--green); }
.button-secondary.action-link:hover { background: var(--green-pale); color: var(--ink); }
.button-light.action-link { border-color: white; background: white; color: var(--ink); }
.button-light.action-link:hover { background: var(--cream); border-color: var(--cream); color: var(--ink); }
.file-button.action-link { border-color: #8d9c97; background: #f0f5f2; color: #284d42; }
.file-ppt.action-link { border-color: #b49b87; background: #fcf5ee; color: #784320; }
.file-button.action-link:hover { background: var(--green-pale); border-color: var(--green); color: var(--ink); }
.resource-files { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; align-items: stretch; }
.resource-files .action-link { width: 100%; margin: 0; }
.resource-card .resource-download { font-size: .9rem; padding: 12px 14px; }
.material-consult { padding-top: 20px; margin-top: 20px !important; border-top: 1px solid var(--line); }
.material-consult .action-link { width: 100%; background: white; }
.support-consult { margin-top: 22px; }
.support-card .action-link { align-self: flex-start; }
.role-card > .action-link { margin-top: 18px; }
.first-sheet .action-link { width: 100%; display: flex; }
.first-sheet .text-link { margin-top: 12px; }
.text-links { gap: 10px; }
.text-links a.action-link, .related-materials a.action-link { color: var(--green); }
.school-examples .action-link { margin: 8px 8px 0 0; }
.choice-first .action-link { width: 100%; font-size: .9rem; }
.related-materials { gap: 10px; }
.related-materials a.action-link { justify-content: flex-start; }
.section-green .action-link, .cta-band .action-link:not(.button-light) { background: transparent; color: white; border-color: #c0d5cc; }
.section-green .action-link:hover, .cta-band .action-link:not(.button-light):hover { background: white; color: var(--ink); }
.cta-actions { display: grid; gap: 12px; max-width: 340px; }
.cta-actions .action-link { width: 100%; }
.hero-partner-entry { margin-top: 24px; }
.hero-partner-entry .action-link { font-size: .88rem; background: transparent; }

/* Menus keep a smaller visual weight than consultation buttons. */
.site-nav { gap: 8px; }
.site-nav a.nav-button, .activity-nav a.nav-button, .page-jumps a.nav-button {
  min-width: 44px; min-height: 44px; padding: 10px 16px; border: 1px solid #a7b7b0;
  border-radius: 10px; background: white; color: var(--green); text-decoration: none;
  font-weight: 700; line-height: 1.5; overflow-wrap: anywhere;
}
.site-nav a.nav-button:hover, .activity-nav a.nav-button:hover, .page-jumps a.nav-button:hover { background: var(--green-pale); }
.site-nav a.nav-button[aria-current="page"], .activity-nav a.nav-button[aria-current="page"] { background: var(--green-pale); color: var(--ink); box-shadow: inset 0 -3px 0 var(--green); }
.header-note.header-button { justify-content: center; padding: 8px 14px; border: 1px solid #a7b7b0; border-radius: 10px; background: white; text-decoration: none; }
.header-consult.header-button { border-radius: 10px; white-space: normal; text-align: center; line-height: 1.5; }
.breadcrumb a.breadcrumb-button { display: inline-flex; align-items: center; min-height: 36px; padding: 4px 12px; border: 1px solid var(--line); border-radius: 8px; background: white; text-decoration: none; }
.breadcrumb ol { align-items: center; }
.footer-links { gap: 10px; }
.footer-links a.nav-button { display: flex; align-items: center; min-height: 44px; padding: 10px 14px; border: 1px solid #75928e; border-radius: 10px; background: rgba(255,255,255,.05); color: white; line-height: 1.5; }
.footer-links a.nav-button:hover { background: rgba(255,255,255,.14); }
.site-footer .action-link { margin-top: 8px; color: white; background: transparent; border-color: #75928e; font-size: .88rem; }
.site-footer .action-link:hover { background: white; color: var(--ink); }
.footer-contact-methods { gap: 10px 16px; align-items: center; }
.footer-contact a.action-link { padding: 8px 12px; min-height: 44px; }

/* Existing cards and image links remain one large click target each. */
.card-button { min-width: 0; touch-action: manipulation; border-color: #a7b7b0; }
.card-button:hover { background: var(--green-pale); transform: none; }
.note-link .card-destination { display: inline-flex; align-items: center; min-height: 44px; padding: 6px 14px; margin-top: 16px; margin-bottom: 0; border: 1px solid #a7b7b0; border-radius: 9px; color: var(--green); font-size: .88rem; font-weight: 700; }
.image-button { display: block; border: 2px solid #8d9c97; border-radius: 10px; overflow: hidden; }
.image-button:hover { border-color: var(--orange-dark); }
.resource-info > summary.disclosure-button, .resource-context > summary.disclosure-button,
.resource-use-guide > summary.disclosure-button, .support-details > summary.disclosure-button,
.faq-list summary.disclosure-button { min-height: 48px; padding: 12px 16px; border: 1px solid #a7b7b0; border-radius: 10px; background: #f0f5f2; }
.disclosure-button { touch-action: manipulation; }
.disclosure-button:hover { background-color: var(--green-pale); }

/* The contact entrance explicitly serves both audiences. */
.contact-routes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; max-width: 880px; margin-top: 30px; }
.contact-route { display: flex; flex-direction: column; gap: 6px; padding: 20px 22px; border: 1px solid #8d9c97; border-radius: 12px; background: white; text-decoration: none; }
.contact-route strong { font-size: 1.05rem; color: var(--green); }
.contact-route span { font-size: .88rem; color: var(--ink-soft); }
.contact-business-section { padding-top: 28px; }
.contact-context { margin: 20px 0; padding: 16px 18px; border-left: 4px solid var(--green); background: var(--green-pale); font-weight: 700; }
.contact-context[hidden] { display: none; }
.contact-form .action-link { margin-top: 10px; }
.email-contact-panel .hero-actions { align-items: stretch; }
.email-contact-panel .button { line-height: 1.65; text-align: left; border-radius: 12px; }

:is(a,button,summary):focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }
.site-footer :is(a,button):focus-visible, .cta-band :is(a,button):focus-visible, .section-green a:focus-visible { outline-color: #ffe0bd; }
@media (max-width: 800px) {
  .resource-files { grid-template-columns: 1fr; }
  .header-inner { gap: 14px; }
}
@media (max-width: 640px) {
  .action-link { min-height: 48px; padding: 12px 16px; }
  .hero-actions > .action-link { width: 100%; }
  .site-nav a.nav-button { padding: 9px 4px; font-size: .88rem; }
  .header-actions { gap: 6px; }
  .header-note.header-button { padding: 8px 10px; }
  .header-consult.header-button { max-width: 142px; padding: 9px 10px; }
  .contact-routes { grid-template-columns: 1fr; }
  .cta-actions { max-width: none; width: 100%; }
  .footer-links { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer-links a.nav-button { padding: 10px 12px; font-size: .88rem; }
  .text-links, .related-materials { gap: 10px; }
  .text-links .action-link, .related-materials .action-link { width: 100%; }
  .school-examples .action-link { width: 100%; margin-right: 0; }
  .section-green .action-link { width: 100%; }
}
@media (max-width: 360px) {
  .header-note.header-button { min-height: 44px; }
  .footer-links { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .action-link, .card-button { transition: none; }
}
