*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#50c0a0;--primary-dark:#3a9a80;--bg:#ffffff;--bg-alt:#f6f9f8;--text:#222933;--text-muted:#5b6570;--border:#e1e8e5;--radius:10px;--maxw:1100px}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.6}img{max-width:100%;display:block}a{color:var(--primary-dark);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:var(--maxw);margin:0 auto;padding:0 1.5rem}header.site-header{border-bottom:1px solid var(--border);position:sticky;top:0;background:rgba(255,255,255,0.95);backdrop-filter:blur(6px);z-index:10}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;max-width:var(--maxw);margin:0 auto;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:.75rem;font-weight:700;font-size:1.1rem;color:var(--text)}.brand img{height:42px;width:auto;object-fit:contain}nav.main-nav ul{list-style:none;display:flex;gap:1.5rem;flex-wrap:wrap}nav.main-nav a{color:var(--text);font-weight:500;padding:.35rem 0;border-bottom:2px solid transparent}nav.main-nav a:hover,nav.main-nav a.active{color:var(--primary-dark);border-bottom-color:var(--primary);text-decoration:none}main{display:block}.hero{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;padding:5rem 0}.hero-inner{max-width:var(--maxw);margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center}@media(min-width:800px){.hero-inner{grid-template-columns:1.1fr 1fr}}.hero h1{font-size:2.4rem;margin-bottom:1rem;line-height:1.15}.hero p{font-size:1.15rem;opacity:.95;margin-bottom:1.75rem;max-width:40ch}.hero-image{border-radius:var(--radius);overflow:hidden;box-shadow:0 12px 32px rgba(0,0,0,.25)}.hero-image img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}.btn{display:inline-block;background:#fff;color:var(--primary-dark);font-weight:700;padding:.85rem 1.75rem;border-radius:999px;border:2px solid transparent;transition:transform .15s ease,box-shadow .15s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.15);text-decoration:none}.btn-outline{background:transparent;color:#fff;border-color:#fff}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}section{padding:4rem 0}section.alt{background:var(--bg-alt)}h2{font-size:1.9rem;margin-bottom:1rem;color:var(--text)}h2 .accent{color:var(--primary-dark)}.section-intro{color:var(--text-muted);max-width:60ch;margin-bottom:2.5rem;font-size:1.05rem}.cards{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:700px){.cards{grid-template-columns:repeat(3,1fr)}}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;transition:box-shadow .15s ease,transform .15s ease}.card:hover{box-shadow:0 10px 24px rgba(0,0,0,.06);transform:translateY(-3px)}.card h3{color:var(--primary-dark);margin-bottom:.5rem;font-size:1.15rem}.card p{color:var(--text-muted)}.badge{display:inline-block;background:rgba(80,192,160,.12);color:var(--primary-dark);font-size:.8rem;font-weight:700;padding:.25rem .7rem;border-radius:999px;margin-bottom:1rem;letter-spacing:.02em;text-transform:uppercase}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}@media(min-width:700px){.gallery-grid{grid-template-columns:repeat(4,1fr)}}.gallery-item{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem 1rem;text-align:center;color:var(--text-muted);font-weight:600;min-height:130px;display:flex;align-items:center;justify-content:center}.contact-wrap{display:grid;grid-template-columns:1fr;gap:2.5rem}@media(min-width:800px){.contact-wrap{grid-template-columns:1fr 1.2fr}}.contact-info p{margin-bottom:1rem;color:var(--text-muted)}.contact-info a{color:var(--primary-dark);font-weight:600}.contact-info .icon-label{display:block;font-weight:700;color:var(--text);margin-bottom:.15rem}form.contact-form{display:flex;flex-direction:column;gap:1rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:2rem}form.contact-form label{font-weight:600;font-size:.9rem;margin-bottom:.35rem;display:block}form.contact-form input,form.contact-form textarea{width:100%;padding:.7rem .9rem;border:1px solid var(--border);border-radius:6px;font:inherit;color:var(--text)}form.contact-form input:focus,form.contact-form textarea:focus{outline:2px solid var(--primary);outline-offset:1px}form.contact-form textarea{resize:vertical;min-height:120px}form.contact-form button{align-self:flex-start;background:var(--primary);color:#fff;border:none;font-weight:700;padding:.85rem 2rem;border-radius:999px;cursor:pointer;font-size:1rem;transition:background .15s ease}form.contact-form button:hover{background:var(--primary-dark)}.overview-links{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-top:1rem}@media(min-width:700px){.overview-links{grid-template-columns:repeat(3,1fr)}}.overview-links a{display:block;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;color:var(--text);font-weight:700}.overview-links a:hover{border-color:var(--primary);text-decoration:none;box-shadow:0 8px 20px rgba(0,0,0,.06)}.overview-links span{display:block;font-weight:400;color:var(--text-muted);margin-top:.35rem;font-size:.9rem}footer.site-footer{background:var(--text);color:#fff;padding:2.25rem 0;margin-top:2rem}footer.site-footer .container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.9rem;opacity:.9}