/* Mobile/tablet adaptations. The approved >=1280px design stays in site.css. */
@media (max-width: 1180px) {
  html {-webkit-text-size-adjust:100%;text-size-adjust:100%;}
  .hero>*,.two-column>*,.join-layout>*,.event-row>*,.footer-grid>*,
  .resource-row>*,.contact-grid>*,.story-grid>*,.officer-grid>* {min-width:0;}
  .button,.small-button,.text-link,.footer-link {max-width:100%;overflow-wrap:anywhere;}
  .event-body,.resource-row,.contact-grid,.officer-role {overflow-wrap:anywhere;}
  .partner-logos {gap:24px;}
}
@media (max-width: 850px) {
  .wrap {width:auto;margin-left:max(24px,env(safe-area-inset-left));margin-right:max(24px,env(safe-area-inset-right));}
  .site-footer {padding-bottom:env(safe-area-inset-bottom);}
  .chapter-bar {padding-top:max(10px,env(safe-area-inset-top));}
  .menu-toggle {display:none;}
  .js .menu-toggle {display:block;min-width:76px;min-height:44px;}
  #primary-nav,.js #primary-nav.open {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;}
  .js #primary-nav:not(.open) {display:none;}
  #primary-nav>a {display:flex;align-items:center;min-height:44px;padding:10px 12px;}
  #primary-nav>a[aria-current=page] {border-bottom:0;box-shadow:inset 3px 0 var(--orange);background:var(--paper);}
  #primary-nav .nav-join {grid-column:1/-1;margin:8px 0 0;}
  input,select,textarea,.term-select select {font-size:16px;max-width:100%;min-height:44px;}
  .text-link,.footer-link {display:inline-flex;align-items:center;min-height:44px;line-height:1.45;}
  .footer-link {display:flex;margin:2px 0;font-size:14px;}
  .footer-grid h2 {font-size:15px;margin-bottom:10px;}
  .footer-grid p {font-size:14px;}
  .faq summary,.event-body summary {min-height:44px;padding:10px 0;}
  .filters {gap:8px;}
  .filters button {min-width:44px;font-size:14px;}
  .event-meta,.event-body details,.event-note {font-size:14px;}
  .corporate-actions {min-width:0;max-width:100%;gap:10px;}
  .corporate-actions .text-link {font-size:14px;}
  .join-layout {grid-template-columns:minmax(0,1fr);}
  .dues-panel {order:0;}
  .dues-panel h2 br {display:none;}
  .horizontal-steps {grid-template-columns:minmax(0,1fr);gap:22px;}
  .horizontal-steps h3 {margin:8px 0;}
  .horizontal-steps p {font-size:16px;}
  .contact-grid {grid-template-columns:minmax(0,1fr);}
  .contact-grid p:not(.eyebrow) {font-size:16px;}
  .resource-row {grid-template-columns:minmax(0,1fr);gap:12px;}
  .resource-category {flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:8px 18px;}
  .resource-row p,.steps p,.dues-panel>p:not(.eyebrow) {font-size:16px;}
  .section-heading {flex-wrap:wrap;align-items:flex-start;gap:8px 24px;}
  .section-heading>a {max-width:none;padding-top:0;}
  .officer-role .officer-responsibility {font-size:15px;}
}
@media (max-width: 640px) {
  .wrap {margin-left:max(18px,env(safe-area-inset-left));margin-right:max(18px,env(safe-area-inset-right));}
  .hero-copy h1,.page-intro h1 {font-size:clamp(36px,9.5vw,46px);line-height:1.12;}
  .hero-copy h1,.page-intro h1,.section-heading h2 {text-wrap:balance;}
  .hero-copy>p:not(.eyebrow),.involvement-grid p,.story p:not(.eyebrow),
  .partner-strip p:not(.eyebrow),.join-banner p:not(.eyebrow) {font-size:16px;}
  .hero-photo img,.story img,.crew-feature-photo img,.partner-photo img,.wide-photo img {
    height:auto;min-height:0;aspect-ratio:3/2;object-fit:cover;
  }
  .crew-feature-photo figcaption {position:static;padding:10px 12px;background:var(--paper);}
  .photo figcaption {font-size:12px;}
  .hero-copy .actions {gap:10px 18px;}
  .actions {gap:10px 18px;}
  .button {white-space:normal;text-align:center;}
  .event-row {grid-template-columns:46px minmax(0,1fr);gap:12px;}
  .event-body h3 {font-size:20px;}
  .event-body .eyebrow {font-size:11px;letter-spacing:.7px;}
  .event-body details p {overflow-wrap:anywhere;}
  .event-action {grid-column:2;}
  .small-button {font-size:14px;margin:0;}
  .section-heading {flex-direction:column;}
  .section-heading>a {font-size:14px;}
  .quick-links a {font-size:14px;min-height:48px;}
  .steps li {padding-left:32px;}
  .join-banner,.partner-contact,.crews-identities,.dues-panel {padding:24px;}
  .partner-contact .button {font-size:14px;}
  .crews-identities li {overflow-wrap:anywhere;}
  .term-select {display:block;}
  .term-select select {display:block;width:100%;margin-top:8px;}
  .officer-grid {grid-template-columns:minmax(0,1fr);}
  .officer-role .officer-name {font-size:22px;}
  .footer-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .footer-bottom {gap:8px 18px;font-size:12px;}
  .footer-bottom a {font-size:14px;}
}
@media (min-width: 641px) and (max-width: 850px) {
  .hero {grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .hero-copy h1 {font-size:clamp(34px,5.2vw,44px);}
  .hero-photo img {height:auto;aspect-ratio:4/5;}
  .crew-feature {grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .involvement-grid {grid-template-columns:minmax(0,1fr);gap:24px;}
  .two-column {grid-template-columns:minmax(0,1fr);gap:28px;}
  .partner-photo img {height:auto;aspect-ratio:3/2;}
  .engagement-list>div {grid-template-columns:30px minmax(0,1fr);gap:16px;}
  .engagement-list p {grid-column:2;}
}
/* Review fixes: readable headings and a consistent chapter menu control. */
.menu-toggle {border:1px solid var(--orange);color:var(--orange);background:white;border-radius:4px;padding:10px 16px;font-size:14px;font-weight:600;line-height:1;white-space:nowrap;gap:12px;align-items:center;justify-content:center;}
.menu-toggle:hover,.menu-toggle[aria-expanded=true] {background:var(--orange);color:white;}
.menu-toggle .menu-label {margin:0;}
.menu-toggle .menu-icon {display:flex;flex-direction:column;justify-content:space-between;width:18px;height:14px;margin:0;}
.menu-icon i {display:block;width:18px;height:2px;background:currentColor;}
.menu-toggle[aria-expanded=true] .menu-icon i:first-child {transform:translateY(6px) rotate(45deg);}
.menu-toggle[aria-expanded=true] .menu-icon i:nth-child(2) {visibility:hidden;}
.menu-toggle[aria-expanded=true] .menu-icon i:last-child {transform:translateY(-6px) rotate(-45deg);}
@media (max-width:850px) {
 .js .menu-toggle {display:inline-flex;}
 .hero,.crew-feature {grid-template-columns:minmax(0,1fr);}
 .hero-copy h1 {font-size:clamp(38px,7vw,54px);line-height:1.18;letter-spacing:-.5px;text-wrap:normal;}
 .hero-copy h1 br {display:block;}
 .hero-copy h1 em {display:inline;}
 .hero-photo img {height:auto;aspect-ratio:3/2;}
 .crew-feature-copy {padding:32px;}
 .crew-feature-copy h2 {font-size:clamp(38px,6vw,48px);line-height:1.2;letter-spacing:-.4px;}
 .crew-feature-copy h2 br {display:block;}
 .crew-feature-photo img {height:auto;min-height:0;aspect-ratio:3/2;}
 .crew-feature-photo figcaption {position:static;padding:10px 12px;background:var(--paper);}
 .chapter-bar .wrap {justify-content:center;}
 .chapter-bar .wrap span:first-child {display:none;}
}
@media (max-width:380px) {
 .hero-copy h1 {font-size:36px;}
 .crew-feature-copy {padding:26px;}
}

/* Allow the Links navigation item without crowding smaller desktop headers. */
@media (min-width:851px) and (max-width:1050px) {
 .header-inner{min-height:78px;flex-wrap:wrap;gap:0}
 .js .menu-toggle{display:inline-flex;min-width:76px;min-height:44px}
 #primary-nav{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;padding:18px 0 24px}
 .js #primary-nav:not(.open){display:none}
 .js #primary-nav.open{display:grid}
 #primary-nav>a{display:flex;align-items:center;min-height:44px;padding:10px 12px}
 #primary-nav>a[aria-current=page]{border-bottom:0;box-shadow:inset 3px 0 var(--orange);background:var(--paper)}
 #primary-nav .nav-join{grid-column:1/-1;margin:8px 0 0}
}
