
/* ECN unified review build: shared integration safeguards */
html{scroll-behavior:smooth}
body{min-width:0}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #d6ad43;outline-offset:3px}
img{max-width:100%}
@media(max-width:940px){nav.open{display:flex!important}}


/* Final production polish */
:root{
 --radius-lg:20px;
 --shadow-premium:0 12px 30px rgba(0,0,0,.12);
}
section{scroll-margin-top:90px}
.hero,.page-hero{position:relative;overflow:hidden}
.hero::after,.page-hero::after{
content:"";position:absolute;inset:0;
background:linear-gradient(to bottom,rgba(0,0,0,.18),rgba(0,0,0,.35));
pointer-events:none}
.card,.gallery-item,.event-card,.leader-card{
border-radius:var(--radius-lg)!important;
box-shadow:var(--shadow-premium);
transition:transform .25s ease, box-shadow .25s ease}
.card:hover,.gallery-item:hover,.event-card:hover,.leader-card:hover{
transform:translateY(-6px);
box-shadow:0 18px 42px rgba(0,0,0,.18)}
img{max-width:100%;height:auto}
footer{margin-top:4rem}


/* Final polish */
.gallery-intro p:empty{display:none}
.gallery-grid img{border-radius:14px;object-fit:cover}
.gallery-card,.gallery-item{transition:transform .3s ease,box-shadow .3s ease}
.gallery-card:hover,.gallery-item:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.12)}

.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px}.gallery-item{border-radius:14px;overflow:hidden}.gallery-item img{transition:transform .4s}.gallery-item:hover img{transform:scale(1.03)}

/* Safe production refinement — September 2026 */
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,textarea,select{font:inherit}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* Safe mobile and interaction refinement — pass 2 */
.menu{min-width:44px;min-height:44px;touch-action:manipulation}
nav a,.btn,.button,.submit,.join{touch-action:manipulation}
input,select,textarea{max-width:100%;box-sizing:border-box}
textarea{min-height:120px;resize:vertical}
@media(max-width:940px){
  nav.open{max-height:calc(100vh - 110px);overflow-y:auto;-webkit-overflow-scrolling:touch}
  nav a{min-height:44px;display:flex;align-items:center}
  nav .join{justify-content:center;text-align:center}
}
@media(max-width:640px){
  .btn,.button,.submit{min-height:46px}
  input,select{min-height:46px}
  footer{margin-top:3rem}
}


/* ECN interaction consistency — pass 21 */
.btn,.button,.submit,.join{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease}
.btn:hover,.button:hover,.submit:hover,.join:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(3,44,34,.14)}
.btn:active,.button:active,.submit:active,.join:active{transform:translateY(0);box-shadow:none}
input:focus,select:focus,textarea:focus{border-color:#0b644b;box-shadow:0 0 0 3px rgba(11,100,75,.12);outline:none}
.phone-link{font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.phone-link:hover{color:#df5a17}
@media (prefers-reduced-motion:reduce){.btn,.button,.submit,.join{transform:none!important}}


/* Accessibility: keyboard skip link */
.skip-link{
  position:fixed;
  left:16px;
  top:12px;
  z-index:99999;
  padding:10px 14px;
  border-radius:8px;
  background:#fff;
  color:#063f30;
  font-weight:700;
  text-decoration:none;
  transform:translateY(-160%);
  transition:transform .18s ease;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
}
.skip-link:focus{transform:translateY(0);outline:3px solid #d8b45a;outline-offset:2px;}


/* ECN privacy and launch-readiness polish — pass 29 */
.privacy{font-size:.94rem;line-height:1.6;color:inherit;opacity:.88;margin:12px 0 0}
.privacy a{color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.privacy a:hover{color:#df5a17}
.footer-bottom a,.copyright a{color:inherit;text-decoration:underline;text-underline-offset:3px}
