/* ART global mobile responsiveness layer */
html,body{width:100%;max-width:100%;overflow-x:hidden}
img,video,iframe,svg{max-width:100%}
*,*::before,*::after{min-width:0}

@media (max-width: 900px){
  .header-shell,.utility-shell,.footer-shell,.content-wrap{width:min(100% - 28px,var(--content,1180px))!important}
  .site-header{position:relative!important}
  .header-shell{min-height:96px!important;justify-content:space-between!important;padding:6px 0!important}
  .brand{position:relative!important;left:auto!important;top:auto!important;width:104px!important;margin:0!important;flex:0 0 auto!important}
  .brand img{width:100%!important;height:auto!important;aspect-ratio:auto!important}
  .menu-toggle{display:flex!important;flex-direction:column!important;gap:5px!important;border:0!important;background:transparent!important;padding:12px!important;margin-left:auto!important;z-index:30!important}
  .menu-toggle span:not(.sr-only){width:28px!important;height:2px!important;background:#082b67!important}
  .primary-nav{position:absolute!important;left:0!important;right:0!important;top:100%!important;display:none!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:12px 20px 18px!important;background:#fff!important;box-shadow:0 14px 28px rgba(8,43,103,.18)!important;z-index:25!important}
  .primary-nav.open{display:flex!important}
  .primary-nav a{font-size:1rem!important;padding:12px 8px!important;text-align:left!important}
  .utility-shell{padding:12px 0!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;min-height:auto!important}
  .search{width:100%!important;max-width:none!important;order:2!important}
  .utility-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:100%!important}
  .utility-actions .cta{min-width:0!important;width:100%!important;height:44px!important;padding:0 8px!important;font-size:.86rem!important}

  /* Heroes: preserve the complete image rather than crop it */
  .hero,.hero-section,.hero-banner,.hero-banner-full,.video-hero,.signup-hero,.committee-hero,.membership-final-hero,.education-live-hero{height:auto!important;min-height:0!important;overflow:hidden!important;background:#061b46!important}
  .hero>img,.hero-section>img,.hero-banner>img,.hero-banner-full>img,.video-hero>img,.committee-hero>img,.membership-final-hero>img,.education-live-hero>img,
  .hero img,.hero-section img,.hero-banner img,.hero-banner-full img,.video-hero img{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important;display:block!important}
  .hero-overlay,.committee-hero-overlay{position:relative!important;inset:auto!important;display:block!important;background:linear-gradient(135deg,#06265d,#073d78)!important}
  .hero-copy,.committee-hero-copy{width:100%!important;max-width:none!important;padding:26px 22px 30px!important;color:#fff!important}
  .hero-copy h1,.committee-hero-copy h1{font-size:clamp(2.5rem,11vw,4rem)!important;line-height:1!important}
  .hero-subheading{font-size:clamp(1.35rem,6vw,2rem)!important}
  .hero-body,.hero-copy p,.committee-hero-copy p{font-size:1rem!important;line-height:1.65!important}
  .committee-hero-cta{position:static!important;margin-top:20px!important;display:inline-flex!important}

  /* Baked-image heroes get their controls below the image */
  .education-hero-actions{position:static!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;padding:14px!important;border-radius:0!important;background:#071f4d!important}
  .education-hero-actions a{min-height:48px!important;font-size:.9rem!important}
  .membership-hero-click-target{position:absolute!important;left:4%!important;bottom:6%!important;width:25%!important;height:14%!important}

  /* All content grids collapse cleanly */
  .pillar-grid,.committee-grid,.committees-grid,.priority-grid,.focus-grid,.program-grid,.category-grid,.categories-grid,.archive-grid,.registry-grid,.portal-grid,.choice-grid,.checkbox-grid,.amount-grid,.form-grid,.board-grid,.executive-grid,.event-grid,.events-grid{grid-template-columns:1fr!important;gap:18px!important}
  .priority-card,.program-card,.video-category-card,.content-card,.committee-card,.portal-card,.event-card,.category-card{width:100%!important;min-height:0!important;height:auto!important}
  .priority-card .mini-cta,.program-card .card-action,.content-card .action-btn{margin-top:20px!important;align-self:flex-start!important}

  /* Signup and forms */
  .signup-layout{grid-template-columns:1fr!important;gap:22px!important}
  .signup-sidebar{order:2!important}
  .signup-main{order:1!important}
  .google-form-container{width:100%!important;max-width:none!important;border-radius:10px!important;overflow:hidden!important}
  .google-form-container iframe{width:100%!important;min-height:1900px!important;border:0!important}
  .membership-form,.account-form,.donation-form{width:100%!important;max-width:100%!important}

  /* Tables and admin dashboards */
  .admin-table-wrap,.committee-table-wrap,.table-wrapper{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .admin-table,.committee-details-table{min-width:760px!important}
  .portal-shell{width:min(100% - 24px,1180px)!important}
  .portal-main{padding:28px 0 70px!important}
  .portal-welcome{padding:24px 20px!important}
  .portal-card{padding:22px 18px!important}

  /* Footer */
  .footer-icons{gap:8px!important;flex-wrap:wrap!important}
  .footer-icons>span{display:none!important}
  .footer-icons a{width:42px!important;height:42px!important}
}

@media (max-width: 600px){
  body{font-size:16px!important}
  .header-shell,.utility-shell,.footer-shell,.content-wrap{width:calc(100% - 22px)!important}
  .utility-actions{grid-template-columns:1fr!important}
  .utility-actions .cta{font-size:.95rem!important}
  .education-hero-actions{grid-template-columns:1fr!important}
  .membership-hero-click-target{left:4%!important;bottom:5%!important;width:32%!important;height:16%!important}
  .page-content,.research-content,.category-section,.archive-intro,.content-section{padding-left:0!important;padding-right:0!important}
  .intro-panel,.callout-panel,.content-card,.priority-card,.video-category-card,.committee-card,.program-card,.portal-card{padding:22px 18px!important}
  h1{font-size:clamp(2.1rem,12vw,3.2rem)!important}
  h2{font-size:clamp(1.8rem,9vw,2.7rem)!important}
  h3{font-size:clamp(1.45rem,7vw,2.1rem)!important}
  .google-form-container iframe{min-height:2200px!important}
}


/* Standard ART trademark footer */
.footer-trademark-line {
  margin: 5px 0 8px;
  font-size: .95rem;
  font-weight: 700;
  letter-spacing: .01em;
}
.footer-logo-trademark {
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: rgba(255,255,255,.94);
  font-size: .82rem;
  line-height: 1.4;
}
.footer-logo-trademark img {
  width: 34px;
  height: 34px;
  object-fit: contain;
  flex: 0 0 auto;
}
@media (max-width: 600px) {
  .footer-trademark-line { font-size: .86rem; }
  .footer-logo-trademark {
    max-width: 330px;
    gap: 8px;
    font-size: .74rem;
  }
  .footer-logo-trademark img {
    width: 30px;
    height: 30px;
  }
}

/* Footer logo reference is text-only and links to the official logo page */
.footer-logo-trademark{display:block!important;text-align:center!important}
.footer-logo-trademark img{display:none!important}
.footer-logo-trademark a{color:#18b9b6;text-decoration:underline;text-underline-offset:3px;font-weight:800}
