:root{
    --brand:#0d6c63;        /* teal */
    --brand-dark:#0a544d;
    --accent:#f4a300;       /* amber */
    --ink:#1c2b2a;
    --muted:#6b7b7a;
    --bg-soft:#f4f7f6;
}
*{scroll-behavior:smooth;}
body{
    font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
    color:var(--ink);
}
.bg-light{background:var(--bg-soft)!important;}

/* Buttons & links */
.btn-primary{--bs-btn-bg:var(--brand);--bs-btn-border-color:var(--brand);
    --bs-btn-hover-bg:var(--brand-dark);--bs-btn-hover-border-color:var(--brand-dark);
    --bs-btn-active-bg:var(--brand-dark);--bs-btn-active-border-color:var(--brand-dark);}
.btn-outline-primary{--bs-btn-color:var(--brand);--bs-btn-border-color:var(--brand);
    --bs-btn-hover-bg:var(--brand);--bs-btn-hover-border-color:var(--brand);}
a{color:var(--brand);}
a:hover{color:var(--brand-dark);}
.text-primary{color:var(--brand)!important;}

/* Brand badge */
.brand-badge{
    display:inline-flex;align-items:center;justify-content:center;
    width:38px;height:38px;border-radius:10px;
    background:var(--brand);color:#fff;font-weight:800;font-size:.95rem;letter-spacing:.5px;
}
.navbar .nav-link{font-weight:500;color:var(--ink);}
.navbar .nav-link.active{color:var(--brand);font-weight:600;}

/* Pills / badges */
.badge-pill{
    display:inline-block;background:rgba(13,108,99,.1);color:var(--brand);
    padding:.35rem .85rem;border-radius:999px;font-size:.8rem;font-weight:600;
    text-transform:uppercase;letter-spacing:.5px;
}

/* Hero */
.hero{padding:5rem 0;background:linear-gradient(180deg,#fff 0%,var(--bg-soft) 100%);}
.hero-media{position:relative;}
.hero-media img{width:100%;object-fit:cover;}
.hero-chip{
    position:absolute;left:1rem;bottom:1rem;background:#fff;border-radius:999px;
    padding:.5rem 1rem;font-weight:600;font-size:.9rem;box-shadow:0 8px 24px rgba(0,0,0,.12);
}

/* Page hero (inner pages) */
.page-hero{padding:3.5rem 0 2.5rem;background:linear-gradient(180deg,#fff,var(--bg-soft));}
.breadcrumb-nav{font-size:.9rem;color:var(--muted);margin-bottom:.75rem;}
.breadcrumb-nav a{text-decoration:none;}

/* Partner logos */
.partner-logo{
    background:#fff;border:1px solid #e5ecea;border-radius:12px;
    padding:1.1rem .5rem;font-weight:600;color:var(--muted);font-size:.9rem;
    height:100%;display:flex;align-items:center;justify-content:center;text-align:center;
    transition:.2s;
}
.partner-logo:hover{color:var(--brand);border-color:var(--brand);transform:translateY(-2px);}

/* Stats */
.stat-card{padding:1.5rem 1rem;}
.stat-num{font-size:2.4rem;font-weight:800;color:var(--brand);line-height:1;}

/* Cards */
.card{border:1px solid #e8efed;border-radius:16px;}
.team-avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;}
.info-card .contact-ico{font-size:1.8rem;}

/* Contact list */
.contact-list li{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.2rem;}
.contact-ico{
    display:inline-flex;align-items:center;justify-content:center;
    width:46px;height:46px;border-radius:12px;background:rgba(13,108,99,.1);font-size:1.3rem;flex:none;
}

/* Forms */
.form-card{background:#fff;}
.form-control:focus,.form-check-input:focus{
    border-color:var(--brand);box-shadow:0 0 0 .2rem rgba(13,108,99,.15);
}
.form-check-input:checked{background-color:var(--brand);border-color:var(--brand);}
.success-check{
    width:64px;height:64px;border-radius:50%;background:rgba(13,108,99,.12);color:var(--brand);
    display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;
}

/* Map */
.map-frame{width:100%;height:340px;border:0;border-radius:16px;}

/* Legal pages */
.legal-content h2{font-size:1.25rem;font-weight:700;margin-top:2rem;margin-bottom:.75rem;}
.legal-content p,.legal-content li{color:#3a4948;line-height:1.7;}

/* Footer */
.site-footer{background:var(--ink);color:#fff;}
.footer-title{color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;margin-bottom:1rem;}
.footer-links{}
.footer-links a,.footer-links li a{color:rgba(255,255,255,.6);text-decoration:none;display:block;margin-bottom:.5rem;}
.footer-links a:hover{color:#fff;}

/* Cookie banner */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;background:#fff;z-index:1050;padding:1rem 0;border-top:1px solid #e5ecea;}

/* Back to top */
.back-to-top{position:fixed;right:1.25rem;bottom:1.25rem;z-index:1040;width:46px;height:46px;border-radius:50%;
    display:none;align-items:center;justify-content:center;font-size:1.2rem;padding:0;}
.back-to-top.show{display:flex;}

@media(max-width:768px){
    .hero{padding:3rem 0;}
    .stat-num{font-size:1.9rem;}
}
