 :root {
     --bs-primary: #1b4332;
     --bs-primary-rgb: 27, 67, 50;
     --bs-secondary: #80552a;
     --bs-secondary-rgb: 128, 85, 42;
     --surface-container: #edeeef;
     --surface-container-low: #f3f4f5;
     --surface-container-lowest: #ffffff;
     --on-surface-variant: #414844;
 }

 body {
     font-family: 'Work Sans', sans-serif;
     background-color: #f8f9fa;
     color: #191c1d;
 }

 h1,
 h2,
 h3,
 h4,
 .font-headline {
     font-family: 'Manrope', sans-serif;
 }

 .btn-primary {
     background-color: var(--bs-primary);
     border-color: var(--bs-primary);
     padding: 0.75rem 1.5rem;
     font-weight: 600;
     border-radius: 0.5rem;
 }

 .btn-primary:hover {
     background-color: #012d1d;
     border-color: #012d1d;
     transform: translateY(-2px);
     transition: all 0.3s ease;
 }

 .glass-nav {
     background-color: rgba(255, 255, 255, 0.8) !important;
     backdrop-filter: blur(12px);
     -webkit-backdrop-filter: blur(12px);
 }

 .ambient-shadow {
     box-shadow: 0 32px 32px -4px rgba(25, 28, 29, 0.06);
 }

 .hero-section {
     padding-top: 120px;
     padding-bottom: 80px;
     min-height: 90vh;
     display: flex;
     align-items: center;
 }

 .badge-established {
     background-color: #fdc48f;
     color: #784f24;
     letter-spacing: 0.1em;
     font-weight: 700;
     padding: 0.5rem 1rem;
 }

 .bento-card {
     border-radius: 1.5rem;
     overflow: hidden;
     position: relative;
     height: 100%;
     min-height: 300px;
     transition: transform 0.5s ease;
 }

 .bento-card:hover img {
     transform: scale(1.05);
 }

 .bento-card img {
     transition: transform 0.7s ease;
     object-fit: cover;
     width: 100%;
     height: 100%;
     position: absolute;
     inset: 0;
 }

 .bento-overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(to top, rgba(1, 45, 29, 0.9) 0%, rgba(1, 45, 29, 0.2) 50%, transparent 100%);
     padding: 2.5rem;
     display: flex;
     flex-direction: column;
     justify-content: flex-end;
     color: white;
 }

 .map-container {
     background-color: #edeeef;
     border-radius: 2rem;
     padding: 1rem;
     position: relative;
 }

 .standards-card {
     background-color: rgba(27, 67, 50, 0.3);
     border: 1px solid rgba(165, 208, 185, 0.2);
     padding: 2.5rem;
     border-radius: 1.5rem;
     transition: all 0.3s ease;
 }

 .standards-card:hover {
     background-color: rgba(27, 67, 50, 0.5);
 }

 .material-symbols-outlined {
     font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
     vertical-align: middle;
 }

 .fill-icon {
     font-variation-settings: 'FILL' 1;
 }

 .footer-newsletter input {
     background-color: rgba(255, 255, 255, 0.5);
     border: none;
 }

 @media (min-width: 992px) {
     .bento-grid-height {
         height: 700px;
     }
 }