:root {
    --brmp-green: #176b43;
    --brmp-green-2: #0f5132;
    --brmp-gold: #f2b84b;
    --brmp-soft: #f4fbf6;
    --brmp-dark: #0b1d14;
    --card-bg: #ffffff;
    --body-bg: #f7fbf8;
    --text: #183229;
    --muted: #668177;
    --border: rgba(23,107,67,.13);
}
html[data-theme="dark"] {
    --brmp-soft: #102219;
    --card-bg: #12251b;
    --body-bg: #09140f;
    --text: #e8f5ee;
    --muted: #a6b9b0;
    --border: rgba(255,255,255,.12);
}
body {
    background: var(--body-bg);
    color: var(--text);
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
a { color: var(--brmp-green); text-decoration: none; }
a:hover { color: var(--brmp-green-2); }
.navbar-glass {
    background: rgba(255,255,255,.86);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--border);
}
html[data-theme="dark"] .navbar-glass {
    background: rgba(9,20,15,.86);
}
.navbar-brand strong { display: block; color: var(--brmp-green); line-height: 1; }
.navbar-brand small { display:block; font-size:.72rem; color:var(--muted); }
.brand-mark {
    width: 42px; height: 42px; border-radius: 16px;
    display: inline-grid; place-items: center;
    background: linear-gradient(135deg, var(--brmp-green), #57a773);
    color: #fff;
    box-shadow: 0 12px 24px rgba(23,107,67,.2);
}
.nav-link.active, .nav-link:hover { color: var(--brmp-green) !important; font-weight: 650; }
.hero {
    position: relative;
    padding: 88px 0 52px;
    overflow: hidden;
    background: radial-gradient(circle at 15% 10%, rgba(242,184,75,.25), transparent 26%),
                linear-gradient(135deg, #e9f8ed 0%, #fff8e7 45%, #effaf2 100%);
}
html[data-theme="dark"] .hero { background: radial-gradient(circle at 15% 10%, rgba(242,184,75,.14), transparent 26%), linear-gradient(135deg, #0d1e15, #142016); }
.hero h1 { font-size: clamp(2.2rem, 4vw, 4.4rem); font-weight: 800; letter-spacing: -.04em; }
.hero-card {
    border: 1px solid var(--border);
    background: rgba(255,255,255,.7);
    border-radius: 28px;
    padding: 16px;
    box-shadow: 0 24px 80px rgba(23,107,67,.16);
}
html[data-theme="dark"] .hero-card { background: rgba(18,37,27,.74); }
.hero-card img { width: 100%; border-radius: 22px; min-height: 360px; object-fit: cover; }
.section-title { font-weight: 800; letter-spacing: -.02em; }
.soft-section { background: var(--brmp-soft); }
.card-premium {
    border: 1px solid var(--border);
    border-radius: 24px;
    background: var(--card-bg);
    box-shadow: 0 18px 50px rgba(22, 70, 45, .07);
    transition: .25s ease;
    overflow: hidden;
}
.card-premium:hover { transform: translateY(-4px); box-shadow: 0 28px 70px rgba(22,70,45,.12); }
.stat-card {
    padding: 24px; border-radius: 22px; background: var(--card-bg); border: 1px solid var(--border);
}
.stat-card h3 { color: var(--brmp-green); font-weight: 800; margin: 0; }
.pill-icon {
    width: 50px; height: 50px; border-radius: 18px; display:grid; place-items:center;
    background: rgba(242,184,75,.2); color: var(--brmp-green); font-size: 1.35rem;
}
.page-header {
    padding: 56px 0 34px;
    background: linear-gradient(135deg, rgba(23,107,67,.12), rgba(242,184,75,.18));
    border-bottom: 1px solid var(--border);
}
.breadcrumb-wrap .breadcrumb { margin-bottom: 0; font-size: .92rem; }
.badge-soft {
    background: rgba(23,107,67,.12);
    color: var(--brmp-green);
    border: 1px solid rgba(23,107,67,.18);
}
.table-modern {
    --bs-table-bg: transparent;
    border: 1px solid var(--border);
    border-radius: 18px;
    overflow: hidden;
}
.table-modern th {
    width: 34%;
    color: var(--muted);
    background: rgba(23,107,67,.04);
}
.gallery-img, .object-img {
    width: 100%; height: 230px; object-fit: cover; border-radius: 18px;
}
.product-img { width: 100%; height: 230px; object-fit: cover; }
.article-thumb { width: 100%; height: 210px; object-fit: cover; }
.filter-box {
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: 24px;
    padding: 20px;
}
.sticky-toc {
    position: sticky;
    top: 90px;
    max-height: calc(100vh - 120px);
    overflow: auto;
}
.accordion {
    --bs-accordion-bg: var(--card-bg);
    --bs-accordion-border-color: var(--border);
    --bs-accordion-active-bg: rgba(23,107,67,.08);
    --bs-accordion-active-color: var(--brmp-green);
}
.form-control, .form-select {
    border-radius: 14px;
    border-color: var(--border);
    background-color: var(--card-bg);
    color: var(--text);
}
.btn-success { --bs-btn-bg: var(--brmp-green); --bs-btn-border-color: var(--brmp-green); --bs-btn-hover-bg: var(--brmp-green-2); --bs-btn-hover-border-color: var(--brmp-green-2); }
.btn-warning { --bs-btn-bg: var(--brmp-gold); --bs-btn-border-color: var(--brmp-gold); color: #332304; }
.site-footer {
    background: var(--card-bg);
    border-top: 1px solid var(--border);
}
.site-footer a { display:block; margin:.45rem 0; color: var(--muted); }
.site-footer a:hover { color: var(--brmp-green); }
.back-to-top {
    position: fixed; right: 18px; bottom: 18px; display:none; z-index: 20;
}
.fade-up { animation: fadeUp .65s ease both; }
@keyframes fadeUp { from { opacity:0; transform: translateY(16px);} to { opacity:1; transform: translateY(0);} }
@media (max-width: 991px) {
    .hero { padding: 56px 0 32px; }
    .hero-card img { min-height: 260px; }
    .sticky-toc { position: static; }
}
.navbar-brand .brand-logo {
    width: 46px !important;
    height: 46px !important;
    flex: 0 0 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.navbar-brand .brand-logo img {
    width: 46px !important;
    height: 46px !important;
    max-width: 46px !important;
    max-height: 46px !important;
    object-fit: contain !important;
    display: block !important;
}