@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800&family=DM+Serif+Display&display=swap');
:root{--cream:#FAF7F2;--white:#FFF;--sage:#6B9E78;--sage-dark:#4A7C59;--sage-light:#D7EBD9;--mint:#E8F4EA;--butter:#F4C95D;--charcoal:#333D33;--gray:#6F7A6F;--radius:16px;--shadow-soft:0 4px 20px rgba(51,61,51,.08);--shadow-hover:0 8px 28px rgba(51,61,51,.14)}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Nunito',sans-serif;color:var(--charcoal);background:var(--cream);line-height:1.6;font-size:17px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}.wrap.narrow{max-width:800px}.center{text-align:center}
a{color:var(--sage-dark);text-decoration:none;transition:color .2s}a:hover{color:var(--sage)}
.site-header{position:sticky;top:0;z-index:100;background:var(--white);box-shadow:0 1px 12px rgba(51,61,51,.06)}
.header-inner{display:flex;justify-content:space-between;align-items:center;padding:18px 0;gap:24px}
.brand{font-size:22px;font-weight:800;color:var(--charcoal)!important;display:flex;align-items:center;gap:10px}
.brand-dot{width:36px;height:36px;border-radius:50%;background:var(--sage);display:inline-block;flex-shrink:0}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{font-size:15px;font-weight:600;color:var(--charcoal)!important;padding:6px 0;border-bottom:3px solid transparent;transition:border-color .2s}
.nav-links a.active,.nav-links a:hover{border-bottom-color:var(--butter)}
.lang-switch{font-size:14px!important;color:var(--sage-dark)!important;background:var(--mint);padding:6px 14px!important;border-radius:999px;border:none!important}
.hamburger{display:none;background:none;border:none;font-size:28px;cursor:pointer;color:var(--charcoal)}
.hero{min-height:82vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(rgba(44,62,56,.45),rgba(44,62,56,.55)),url('/images/hero.jpg') center/cover no-repeat;text-align:center;color:var(--white)}
.hero-content{padding:80px 24px}
.hero-title{font-family:'DM Serif Display','Nunito',serif;font-size:clamp(42px,5.5vw,64px);font-weight:400;letter-spacing:-.5px;margin-bottom:12px;text-shadow:0 2px 12px rgba(0,0,0,.3)}
.hero-subtitle{font-size:clamp(17px,2vw,21px);font-weight:600;opacity:.95;margin-bottom:36px}
.hero-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:14px 32px;border-radius:999px;font-weight:700;font-size:16px;transition:transform .2s,box-shadow .2s;cursor:pointer}
.btn-solid{background:var(--sage-light);color:var(--charcoal)!important}
.btn-solid:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}
.btn-outline{border:2px solid var(--white);color:var(--white)!important}
.btn-outline:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}
.section{padding:80px 0}.section.alt{background:var(--white)}
.section-title{font-family:'DM Serif Display','Nunito',serif;font-size:clamp(30px,3.5vw,40px);margin-bottom:36px;color:var(--charcoal)}
.page-hero{background:linear-gradient(135deg,var(--mint),var(--sage-light));padding:60px 0;text-align:center}
.page-hero h1{font-family:'DM Serif Display',serif;font-size:clamp(34px,4vw,48px);font-weight:400}
.hero-tag{color:var(--gray);font-size:17px;margin-top:8px}
.lead{font-size:19px;color:var(--gray);max-width:640px;margin:0 auto}
.prose{color:var(--gray);font-size:17px;line-height:1.7}
.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:28px}
.card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft);transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.card-photo{width:100%;height:200px;object-fit:cover;display:block}
.card-body{padding:22px}
.card-body h3{font-size:19px;font-weight:700;margin-bottom:8px}
.card-body p{font-size:15px;color:var(--gray);margin-bottom:12px}
.card-link{font-weight:700;font-size:14px;color:var(--sage-dark)!important}
.card-icon{display:flex;align-items:center;justify-content:center;width:100%;height:200px;font-size:56px;background:linear-gradient(135deg,var(--mint),var(--sage-light))}
.team-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.team-card{background:var(--white);border-radius:var(--radius);padding:32px 24px;text-align:center;box-shadow:var(--shadow-soft);transition:transform .25s,box-shadow .25s}
.team-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.team-photo{width:140px;height:140px;border-radius:50%;object-fit:cover;border:4px solid var(--sage-light);margin-bottom:16px;transition:border-color .25s}
.team-card:hover .team-photo{border-color:var(--butter)}
.team-emoji{display:flex;align-items:center;justify-content:center;width:140px;height:140px;border-radius:50%;font-size:60px;background:linear-gradient(135deg,var(--mint),var(--sage-light));border:4px solid var(--sage-light);margin:0 auto 16px}
.team-card h3{font-size:18px;font-weight:700;margin-bottom:4px}
.role{display:block;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--sage-dark);margin-bottom:8px}
.team-card p{font-size:14px;color:var(--gray)}
.events-list{display:grid;gap:20px}
.event-item{background:var(--white);border-radius:var(--radius);padding:24px 28px;box-shadow:var(--shadow-soft);border-left:4px solid var(--butter)}
.event-item time{font-weight:800;color:var(--sage-dark);font-size:14px;display:block;margin-bottom:4px}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:24px}
.gallery-grid img{width:100%;height:220px;object-fit:cover;border-radius:12px;box-shadow:var(--shadow-soft)}
.gallery-empty{color:var(--gray)}
.contact-form{background:var(--white);padding:36px;border-radius:var(--radius);box-shadow:var(--shadow-soft);display:grid;gap:18px}
.contact-form label{font-weight:700;font-size:15px;display:grid;gap:6px}
.contact-form input,.contact-form textarea{padding:12px 16px;border:2px solid var(--sage-light);border-radius:10px;font-family:inherit;font-size:16px;background:var(--cream);transition:border-color .2s}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--sage)}
.btn.wide{width:100%}
.hp{position:absolute;left:-9999px}
.form-ok{background:var(--mint);border-left:4px solid var(--sage-dark);padding:16px 20px;border-radius:10px;margin-bottom:20px;font-weight:600}
.form-err{background:#FBE9E7;border-left:4px solid #C0392B;padding:16px 20px;border-radius:10px;margin-bottom:20px;font-weight:600}
.site-footer{background:var(--charcoal);color:var(--sage-light);padding:36px 0;margin-top:60px}
.site-footer p{margin:4px 0;font-size:14px}
.site-footer a{color:var(--butter)!important;font-weight:600}
@media(max-width:880px){.hamburger{display:block}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);flex-direction:column;padding:20px 24px;gap:16px;box-shadow:0 8px 20px rgba(51,61,51,.1)}body.nav-open .nav-links{display:flex}.hero-buttons{flex-direction:column;align-items:stretch}.section{padding:56px 0}.cards-grid{grid-template-columns:1fr}}
