/* ==========================================================================
   Design Tokens & Variables
   ========================================================================== */
   @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

   :root {
       /* Colors */
       --slate-50: #f8fafc;
       --slate-100: #f1f5f9;
       --slate-200: #e2e8f0;
       --slate-300: #cbd5e1;
       --slate-500: #64748b;
       --slate-800: #1e293b;
       --slate-900: #0f172a;
   
       /* Brand Colors */
       --brand-blue: #1f7cc3; /* Water blue */
       --brand-green: #79ad37; /* Grass green */
   
       /* Spacing */
       --container-padding: 2rem;
       --section-padding: 4rem; /* py-16 equivalent */
       
       /* Animation */
       --transition-speed: 300ms;
   }
   
   /* ==========================================================================
      Base Styles
      ========================================================================== */
   *, *::before, *::after {
       box-sizing: border-box;
   }
   
   body {
       font-family: 'Inter', system-ui, -apple-system, sans-serif;
       background-color: var(--slate-50);
       color: var(--slate-900);
       line-height: 1.6;
       margin: 0;
       padding: 0;
       -webkit-font-smoothing: antialiased;
       opacity: 0; /* For fade-in animation */
       
       /* Pin footer to bottom */
       display: flex;
       flex-direction: column;
       min-height: 100vh;
   }
   
   main {
       flex: 1 0 auto;
   }
   
   body.loaded {
       animation: fadeIn 500ms ease-in forwards;
   }
   
   @keyframes fadeIn {
       from { opacity: 0; }
       to { opacity: 1; }
   }
   
   h1, h2, h3, h4, h5, h6 {
       margin-top: 0;
       line-height: 1.2;
       font-weight: 600;
       letter-spacing: -0.025em; /* tracking-tight */
   }
   
   a {
       color: inherit;
       text-decoration: none;
       transition: color var(--transition-speed) ease, background-color var(--transition-speed) ease;
   }
   
   ul {
       list-style: none;
       padding: 0;
       margin: 0;
   }
   
   /* ==========================================================================
      Layout & Utility Classes
      ========================================================================== */
   .container {
       max-width: 1200px;
       margin: 0 auto;
       padding: 0 var(--container-padding);
   }
   
   .section {
       padding: var(--section-padding) 0;
   }
   
   .flex { display: flex; }
   .flex-col { flex-direction: column; }
   .items-center { align-items: center; }
   .justify-between { justify-content: space-between; }
   .justify-center { justify-content: center; }
   .gap-4 { gap: 1rem; }
   .gap-6 { gap: 1.5rem; }
   .gap-8 { gap: 2rem; }
   
   .text-center { text-align: center; }
   .text-slate-500 { color: var(--slate-500); }
   .text-blue-700 { color: var(--blue-700); }
   .text-emerald-600 { color: var(--emerald-600); }
   
   .bg-white { background-color: #ffffff; }
   .bg-slate-900 { background-color: var(--slate-900); }
   
   /* Typography Utilities */
   .text-sm { font-size: 0.875rem; }
   .text-base { font-size: 1rem; }
   .text-lg { font-size: 1.125rem; }
   .text-xl { font-size: 1.25rem; }
   .text-2xl { font-size: 1.5rem; }
   .text-3xl { font-size: 1.875rem; }
   .text-4xl { font-size: 2.25rem; }
   .text-5xl { font-size: 3rem; }
   .font-medium { font-weight: 500; }
   
   /* ==========================================================================
      Components
      ========================================================================== */
   
   /* Header & Navigation */
   .site-header {
       background-color: #ffffff;
       border-bottom: 3px solid var(--brand-green);
       position: sticky;
       top: 0;
       z-index: 1000;
   }
   
   .site-header .container {
       display: flex;
       align-items: center;
       justify-content: space-between;
       flex-wrap: wrap;
       padding: 1rem 3%; /* 3% padding on left/right so it doesn't touch edges */
       max-width: 100%; /* Override 1200px container width for header to spread logo and nav */
   }
   
   .logo h1 {
       font-size: 1.5rem;
       margin: 0;
   }
   
   .logo span.primary { color: var(--brand-green); }
   .logo span.secondary { color: var(--brand-blue); }
   
   .desktop-nav ul.nav-menu {
       display: flex;
       gap: 1rem;
       align-items: center;
       flex-wrap: wrap;
       margin-top: 0.5rem;
   }
   
   .desktop-nav a {
       font-size: 0.85rem;
       font-weight: 500;
       text-transform: uppercase;
       color: var(--slate-800);
       padding: 0.5rem;
       border-radius: 4px;
   }
   
   .desktop-nav a:hover,
   .desktop-nav .active > a {
       color: var(--brand-blue);
       background-color: var(--slate-50);
   }
   
   /* Dropdowns */
   .dropdown {
       position: relative;
   }
   
   .dropdown-menu {
       display: none;
       position: absolute;
       top: 100%;
       left: 0;
       background-color: #ffffff;
       min-width: 260px;
       border: 1px solid var(--slate-200);
       box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
       border-radius: 4px;
       padding: 0.5rem 0;
       z-index: 100;
   }
   
   @media (min-width: 993px) {
       .dropdown:hover .dropdown-menu {
           display: block;
           animation: fadeIn 200ms ease-in forwards;
       }
   }
   
   .dropdown-menu li {
       display: block;
   }
   
   .dropdown-menu a {
       display: block;
       padding: 0.75rem 1.25rem;
       color: var(--slate-800);
       font-weight: 400;
   }
   
   .dropdown-menu a:hover {
       background-color: var(--slate-50);
       color: var(--brand-blue);
   }
   
   /* Mobile Menu Icon */
   .menu-toggle {
       display: none;
       width: 30px;
       height: 24px;
       background: transparent;
       border: none;
       cursor: pointer;
       padding: 0;
       z-index: 1001;
       position: relative;
   }
   
   .menu-toggle span {
       width: 100%;
       height: 3px;
       background: var(--slate-900);
       border-radius: 2px;
       transition: all 0.3s linear;
       position: absolute;
       left: 0;
   }
   
   .menu-toggle span:nth-child(1) { top: 0; }
   .menu-toggle span:nth-child(2) { top: 10.5px; }
   .menu-toggle span:nth-child(3) { top: 21px; }
   
   .menu-toggle.active span:nth-child(1) { top: 10.5px; transform: rotate(45deg); }
   .menu-toggle.active span:nth-child(2) { opacity: 0; }
   .menu-toggle.active span:nth-child(3) { top: 10.5px; transform: rotate(-45deg); }
   
   /* Hero Section */
   .hero {
       background-color: var(--slate-900);
       min-height: 540px;
       background-size: cover;
       background-position: center;
       position: relative;
       display: flex;
       align-items: center;
   }
   
   .hero-overlay {
       position: absolute;
       inset: 0;
       background: rgba(0, 0, 0, 0.4);
   }
   
   .hero-content {
       position: relative;
       z-index: 1;
       color: #ffffff;
       max-width: 800px;
   }
   
   .hero-title {
       font-size: 3.5rem;
       font-weight: 700;
       margin-bottom: 1rem;
       line-height: 1.1;
       color: #ffffff;
   }
   
   .hero-subtitle {
       font-size: 1.25rem;
       font-weight: 400;
       margin-bottom: 2rem;
       opacity: 0.9;
   }
   
   .btn-primary {
       display: inline-block;
       background-color: var(--brand-green);
       color: #ffffff;
       padding: 0.75rem 2rem;
       font-size: 1.125rem;
       font-weight: 500;
       border-radius: 4px;
       transition: background-color 0.2s;
       text-decoration: none !important;
       border: none;
       cursor: pointer;
   }
   
   .btn-primary:hover {
       background-color: #639229;
       color: #ffffff;
   }
   
   @media (max-width: 768px) {
       .hero-title {
           font-size: 2.5rem;
       }
       .hero-subtitle {
           font-size: 1.125rem;
       }
   }
   
   /* Understated Cards / Feature Boxes */
   .feature-grid {
       display: grid;
       grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
       gap: 2rem;
       margin-top: 2rem;
   }
   
   .feature-box {
       background: #ffffff;
       border: 1px solid var(--slate-200);
       padding: 2rem;
       border-radius: 6px;
       text-align: center;
       transition: transform var(--transition-speed) ease, border-color var(--transition-speed) ease;
   }
   
   .feature-box:hover {
       border-color: var(--blue-700);
   }
   
   .feature-box img {
       width: 64px;
       height: 64px;
       object-fit: contain;
       margin-bottom: 1.5rem;
   }
   
   .feature-box h3 {
       color: var(--slate-900);
       font-size: 1.25rem;
       margin-bottom: 0.5rem;
   }
   
   /* Document Lists (for inner pages) */
   .doc-list ul {
       border-top: 1px solid var(--slate-200);
   }
   
   .doc-item {
       display: flex;
       justify-content: space-between;
       align-items: center;
       padding: 1.25rem 0;
       border-bottom: 1px solid var(--slate-200);
       transition: background-color var(--transition-speed) ease;
   }
   
   .doc-item:hover {
       background-color: var(--slate-50);
   }
   
   .doc-title {
       font-weight: 500;
       color: var(--blue-700);
       display: flex;
       align-items: center;
       gap: 0.75rem;
   }
   
   .doc-meta {
       color: var(--slate-500);
       font-size: 0.875rem;
   }
   
   /* Footer */
   .site-footer {
       background-color: #ffffff;
       border-top: 1px solid var(--slate-200);
       padding: 4rem 0 2rem;
       margin-top: 4rem;
       flex-shrink: 0;
   }
   
   .footer-grid {
       display: grid;
       grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
       gap: 3rem;
       margin-bottom: 3rem;
   }
   
   .footer-col h4 {
       color: var(--slate-900);
       font-size: 1.125rem;
       margin-bottom: 1.5rem;
       text-transform: uppercase;
       letter-spacing: 0.05em;
   }
   
   .footer-col p, .footer-col li {
       color: var(--slate-500);
       font-size: 0.95rem;
       margin-bottom: 0.75rem;
   }
   
   .footer-col a:hover {
       color: var(--brand-blue);
   }
   
   .footer-bottom {
       text-align: center;
       padding-top: 2rem;
       border-top: 1px solid var(--slate-200);
       color: var(--slate-500);
       font-size: 0.875rem;
   }
   
   /* ==========================================================================
      Responsive Design
      ========================================================================== */
   @media (max-width: 992px) {
       .menu-toggle {
           display: flex;
       }
   
       .desktop-nav {
           position: fixed;
           top: 80px;
           left: -100%;
           width: 100%;
           height: calc(100vh - 80px);
           background-color: #ffffff;
           transition: left 0.3s ease;
           overflow-y: auto;
           padding: 2rem;
       }
   
       .desktop-nav.active {
           left: 0;
       }
   
       .desktop-nav ul.nav-menu {
           flex-direction: column;
           align-items: flex-start;
           width: 100%;
       }
   
       .desktop-nav a {
           font-size: 1.125rem;
           padding: 1rem 0;
           width: 100%;
           border-bottom: 1px solid var(--slate-100);
       }
   
       .dropdown {
           width: 100%;
       }
   
       .dropdown-menu {
           position: static;
           display: none;
           box-shadow: none;
           border: none;
           border-left: 2px solid var(--slate-200);
           margin-left: 1rem;
           padding-left: 1rem;
       }
       
       .dropdown.active .dropdown-menu {
           display: block;
       }
   }

   /* ==========================================================================
      Inner Pages Creativity & Content Styling
      ========================================================================== */
   
   .content-col {
       padding: 1rem 0 3rem 0;
   }
   
   .page-title {
       font-size: 2.5rem;
       font-weight: 700;
       color: var(--slate-900);
       margin-bottom: 2rem;
       border-bottom: 3px solid var(--brand-green);
       display: inline-block;
       padding-bottom: 0.5rem;
       text-transform: none; /* In case some were uppercase */
   }
   
   /* Generic Content Links */
   .content-col a {
       color: var(--brand-blue);
       text-decoration: none;
       transition: color 0.2s;
   }
   
   .content-col a:hover {
       color: var(--brand-green);
       text-decoration: underline;
   }
   
   /* Old specific link classes converted to modern buttons/links */
   .link, .link1, .linkc, .link2 {
       display: inline-flex;
       align-items: center;
       gap: 0.5rem;
       color: var(--brand-blue);
       font-weight: 500;
       margin-top: 0.5rem;
       width: fit-content;
       text-decoration: none !important;
       border-bottom: 2px solid transparent;
       padding-bottom: 2px;
       transition: color 0.2s, border-bottom-color 0.2s;
   }
   
   .link:hover, .link1:hover, .linkc:hover, .link2:hover {
       color: var(--brand-green);
       border-bottom-color: var(--brand-green);
       text-decoration: none !important;
   }
   
   /* Empty State */
   .empty-state {
       text-align: center;
       padding: 4rem 2rem;
       background: var(--slate-50);
       border: 2px dashed var(--slate-200);
       border-radius: 8px;
       color: var(--slate-500);
   }
   
   .empty-state i {
       font-size: 3rem;
       color: var(--slate-300);
       margin-bottom: 1rem;
   }
   
   .empty-state p {
       font-size: 1.25rem;
       margin: 0;
   }
   
   /* Accordion (for Usluge) */
   .accordion {
       border-top: 1px solid var(--slate-200);
       margin-top: 1rem;
   }
   
   .accordion-item {
       border-bottom: 1px solid var(--slate-200);
   }
   
   .accordion-header {
       width: 100%;
       background: transparent;
       border: none;
       padding: 1.5rem 0;
       display: flex;
       justify-content: space-between;
       align-items: center;
       cursor: pointer;
       font-size: 1.125rem;
       font-weight: 500;
       color: var(--slate-800);
       transition: color 0.2s;
   }
   
   .accordion-header:hover {
       color: var(--brand-green);
   }
   
   .accordion-header .icon {
       font-size: 1.5rem;
       font-weight: 300;
       color: var(--slate-400);
       transition: transform 0.2s;
   }
   
   .accordion-item.active .accordion-header .icon {
       transform: rotate(45deg);
   }
   
   .accordion-content {
       max-height: 0;
       overflow: hidden;
       transition: max-height 0.3s ease-out;
       padding: 0;
   }
   
   /* Contact Page Redesign */
   .contact-grid {
       display: grid;
       grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
       gap: 1.5rem;
       margin-top: 2rem;
   }
   
   .contact-card {
       background-color: var(--slate-100);
       border: 1px solid var(--slate-200);
       border-radius: 8px;
       padding: 2rem;
       display: flex;
       flex-direction: column;
       gap: 0.75rem;
   }
   
   .contact-card h3 {
       font-size: 1.125rem;
       color: var(--brand-green);
       display: flex;
       align-items: center;
       gap: 0.5rem;
       margin: 0;
   }
   
   .contact-card p {
       margin: 0;
       color: var(--slate-700);
       line-height: 1.6;
   }
   .accordion-item.active .accordion-content {
       padding-bottom: 1.5rem;
   }

