
*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial,'Noto Sans','Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;color:#1f2937;background:#f8fafc}
a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}
.container{width:100%;max-width:1100px;margin:0 auto;padding:0 1rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;border-radius:999px;padding:.9rem 1.2rem;background:#16a34a;color:#fff;font-weight:600;cursor:pointer;transition:transform .08s ease,box-shadow .2s ease,background .2s ease}
.btn:hover{background:#15803d;box-shadow:0 10px 25px rgba(22,163,74,.25);transform:translateY(-1px)}
.btn.alt{background:#0ea5e9}.btn.warn{background:#f59e0b}
.badge{display:inline-block;padding:.25rem .6rem;border-radius:999px;background:#e2fbe8;color:#047857;font-weight:600;font-size:.85rem}
.section{padding:3.5rem 0}.footer{color:#475569;padding:2rem 0}
input,textarea{width:100%;padding:.9rem 1rem;border:1px solid #e2e8f0;border-radius:.75rem;background:#fff;outline:none;font-size:1rem}
input:focus,textarea:focus{border-color:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.12)}
label{display:block;font-weight:600;margin-bottom:.4rem}
.form-row{display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width:640px){.form-row{grid-template-columns:1fr 1fr}}
.form-card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:1.5rem;box-shadow:0 6px 30px rgba(2,6,23,.04)}
.alert{padding:1rem 1.2rem;border-radius:.75rem;font-weight:600}.alert.success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.alert.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.small{font-size:.95rem;color:#64748b}header .nav{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}
.hero{padding:5rem 0 3rem;position:relative;overflow:hidden}
.hero .bg{position:absolute;inset:0;background:radial-gradient(1200px 600px at 50% -10%,#dcfce7,transparent 60%),linear-gradient(to bottom,#f0fdf4,#f8fafc);z-index:-1}
.gallery{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}@media (min-width:900px){.gallery{grid-template-columns:repeat(4,1fr)}}
.card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;overflow:hidden;cursor:pointer}.card img{aspect-ratio:4/3;object-fit:cover}.card .cap{padding:.75rem;font-weight:600}
hr.sep{border:0;height:1px;background:linear-gradient(to right,transparent,#e2e8f0,transparent);margin:2rem 0}footer a.link{text-decoration:underline}
.lightbox{position:fixed;inset:0;background:rgba(2,6,23,.8);display:none;align-items:center;justify-content:center;padding:1rem;z-index:50}
.lightbox.open{display:flex}.lightbox img{max-width:95vw;max-height:85vh;border-radius:1rem;box-shadow:0 15px 50px rgba(0,0,0,.4)}
.lightbox .close{position:absolute;top:1rem;right:1rem;background:#111827;color:#fff;border:none;border-radius:999px;padding:.6rem 1rem;font-weight:700;cursor:pointer}
.lightbox .caption{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);color:#e5e7eb;background:rgba(17,24,39,.6);padding:.4rem .8rem;border-radius:.6rem;font-size:.95rem}
