html,body{max-width:100%;overflow-x:hidden}body{-webkit-text-size-adjust:100%}a,button,input,textarea{-webkit-tap-highlight-color:transparent}img{height:auto}.menu-toggle{min-width:44px;min-height:44px;display:none;align-items:center;justify-content:center}.nav a,.button{touch-action:manipulation}.hero h1,.section-heading h2,.about-copy h2,.membership h2,.contact h2,.timeline-copy h3,.impact-card h3,.event-main h3,.past-card h3,.person-card h3{overflow-wrap:break-word}.contact-form input,.contact-form textarea{font-size:16px}

@media(max-width:900px){
  html{scroll-padding-top:145px}
  .site-header{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right));gap:14px}
  .menu-toggle{display:inline-flex;margin-left:auto;border-radius:10px}
  .nav.open{z-index:60;box-shadow:0 18px 40px rgba(0,0,0,.26);padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}
  .nav.open a{display:flex;align-items:center;min-height:46px;font-size:15px;border-bottom:1px solid rgba(255,255,255,.08)}
  .nav.open a:last-child{border-bottom:0}
  .hero-content{width:min(calc(100% - 40px),720px)}
  .hero h1{max-width:620px}
  .section-heading{align-items:flex-start}
  .about-grid{margin-top:48px}
  .wrap.section-pad{padding-left:0;padding-right:0}
  .event-main{min-width:0}
  .membership-inner{padding-top:4px;padding-bottom:4px}
}

@media(max-width:600px){
  html{scroll-padding-top:150px}
  body{padding-top:64px}
  .wrap{width:calc(100% - 32px)}
  .site-header{height:64px;padding-top:0;padding-bottom:0}
  .brand{width:112px;align-self:center;transform:none;background:transparent;border-radius:0;padding:0;box-shadow:none}
  .menu-toggle{font-size:22px}
  .nav.open{top:64px;max-height:calc(100vh - 64px);overflow:auto;padding-top:44px;padding-bottom:18px}

  .hero{min-height:560px;align-items:flex-start;background-position:67% center}
  .hero-overlay{background:linear-gradient(90deg,rgba(7,12,8,.96) 0%,rgba(7,12,8,.82) 54%,rgba(7,12,8,.28) 100%)}
  .hero-content{padding:74px 0 52px;width:calc(100% - 32px)}
  .eyebrow,.section-kicker{font-size:11px;letter-spacing:.14em}
  .hero h1{font-size:clamp(48px,15vw,60px);line-height:.9;max-width:330px}
  .hero-copy{font-size:16px;line-height:1.55;max-width:330px;margin:20px 0 24px}
  .hero-actions{gap:10px;width:100%}
  .hero-actions .button{width:100%;max-width:330px;min-height:46px;padding-inline:18px;font-size:12px}
  .hero-wordmark{display:none}

  .feature{display:block}
  .feature article,.feature article:first-child{padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}
  .feature article:last-child{border-bottom:0}
  .feature-icon{flex:0 0 40px;width:40px;height:40px}.feature-icon svg{width:31px;height:31px}
  .feature h3{font-size:20px}
  .feature p{font-size:13px;line-height:1.5}

  .stats-grid{grid-template-columns:1fr 1fr}
  .stat-card,.stat-card:first-child{padding:22px 14px;border-right:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
  .stat-card:nth-child(2n){border-right:0}
  .stat-card:nth-last-child(-n+2){border-bottom:0}
  .stat-card strong{font-size:36px}
  .stat-card span{font-size:9px;line-height:1.4;letter-spacing:.09em}

  .about-grid{margin-top:30px;border-radius:14px}
  .about-photo{min-height:320px;background-position:center}
  .photo-copy{left:22px;right:22px;bottom:22px}
  .photo-copy h2{font-size:46px}
  .photo-copy p{font-size:14px;margin-bottom:0}
  .about-copy{padding:32px 22px}
  .about-copy h2{font-size:40px;line-height:.96}
  .about-copy p{font-size:16px}

  .wrap.section-pad{padding:48px 0}
  .section-pad{padding-top:48px;padding-bottom:48px}
  .history-section{margin-top:42px}
  .section-heading{margin-bottom:26px}
  .section-heading h2{font-size:38px;line-height:.96}
  .section-intro{font-size:14px;line-height:1.5;max-width:none;margin-top:10px}

  .timeline-item{grid-template-columns:50px 18px minmax(0,1fr);gap:10px;min-height:0}
  .timeline-item:not(:last-child)::after{left:58px;top:30px;bottom:-2px}
  .timeline-year{font-size:17px;text-align:left}
  .timeline-dot{width:12px;height:12px;box-shadow:0 0 0 5px rgba(127,195,111,.13)}
  .timeline-copy{padding-bottom:28px}
  .timeline-copy h3{font-size:23px}
  .timeline-copy p{font-size:14px;line-height:1.55}

  .impact-card{padding:24px;min-height:0}
  .impact-mark{width:36px;height:36px;margin-bottom:15px}
  .impact-card h3{font-size:27px}

  .event-row{display:block;padding:20px;border-radius:14px}
  .event-date{display:inline-block;margin-bottom:12px;font-size:24px}
  .event-main h3{font-size:26px}
  .event-main p,.event-main li,.event-main small{font-size:14px;line-height:1.5}
  .event-status{display:block;text-align:left;margin-top:16px}

  .past-card{padding:23px;min-height:0}
  .past-card h3{font-size:26px}

  .person-card{padding:24px;min-height:0}
  .person-initial{width:48px;height:48px;margin-bottom:18px}
  .person-card h3{font-size:30px}
  .person-card p{font-size:14px}

  .gallery-grid{display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:10px}
  .gallery-card,.gallery-card:first-child{grid-column:auto;grid-row:auto;height:230px}
  .gallery-card figcaption{font-size:13px;padding:38px 14px 13px}
  .gallery-foot{justify-content:flex-start;gap:8px;flex-direction:column}

  .membership{padding:48px 0}
  .membership h2{font-size:39px;line-height:.96}
  .membership p{font-size:16px}
  .membership-actions{width:100%}
  .membership-actions .button{width:100%}

  .contact{gap:24px}
  .contact h2{font-size:40px;line-height:.96}
  .contact-links{width:100%;gap:8px}
  .contact-links .button{width:100%}
  .contact-form{padding:20px;border-radius:14px;gap:14px}
  .contact-form input{min-height:48px}
  .contact-form textarea{min-height:132px}
  .contact-form .button{width:100%}
  .form-row{grid-template-columns:1fr}

  footer{padding:26px 0 max(26px,env(safe-area-inset-bottom))}
  .footer-inner{display:grid;grid-template-columns:auto 1fr;gap:16px 18px;align-items:center}
  .footer-inner img{width:102px;background:transparent;padding:0}
  .footer-inner p{margin:0;font-size:22px;line-height:1.1}
  .footer-links{grid-column:1/-1;display:flex;gap:14px;flex-wrap:wrap}
  .footer-credit{justify-content:flex-start;flex-wrap:wrap}
  .privacy-page{padding:34px 0 54px}
  .privacy-card{padding:28px 20px;border-radius:14px}
  .privacy-card h1{font-size:46px}
  .privacy-card h2{font-size:25px;margin-top:28px}
  .privacy-home{font-size:11px}

  .thanks-page{padding:24px 16px}
  .thanks-card img{width:180px;background:transparent;padding:0}
  .thanks-card h1{font-size:48px}
}

@media(max-width:380px){
  .wrap,.hero-content{width:calc(100% - 24px)}
  .hero h1{font-size:46px}
  .hero-copy{font-size:15px}
  .stats-grid{grid-template-columns:1fr}
  .stat-card,.stat-card:first-child,.stat-card:nth-child(2n),.stat-card:nth-last-child(-n+2){border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}
  .stat-card:last-child{border-bottom:0}
  .section-heading h2,.membership h2,.contact h2{font-size:36px}
}

@media(hover:none){.gallery-card:hover img,.button:hover{transform:none}}

/* Contact privacy notice, feedback, and off-screen anti-spam field. */
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-privacy-note{margin:0;font-size:12px;line-height:1.5;color:#58665c}
.contact-privacy-note a{color:#275f37;text-decoration:underline;font-weight:700}
.contact-feedback{margin:0;padding:12px 14px;border-radius:10px;background:#fff1ec;color:#7b2525;font-size:13px}
.contact-form button:disabled{opacity:.65;cursor:wait}
