 /* CSS Variables for Modern & ADA Compliant Design */
 :root {
     /* WCAG AA/AAA Compliant Color Palette */
     --primary-blue: #14325a;
     /* Darker Blue for professionalism and better contrast */
     --gold: #d4af37;
     /* Gold for accents */
     --text-dark: #1f2937;
     /* Very dark gray for high readability (Excellent contrast on light backgrounds) */
     --text-light: #ffffff;
     --background-light: #f4f6f8;
     /* Very subtle light gray background */
     --container-bg: rgba(255,
             255,
             255,
             0.95);
     /* Near-white containers for clean separation */
     --link-color: var(--primary-blue);
     --link-hover: #0d1e37;

     /* Typography (Inter) */
     --font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI",
         Roboto, "Helvetica Neue", Arial, sans-serif;
     --font-size-base: 1rem;
     /* 16px base for good readability */
     --line-height-base: 1.65;
     /* Increased line-height for easier reading (ADA) */

     /* Spacing & Layout */
     --spacing-sm: 1rem;
     --spacing-md: 1.5rem;
     --spacing-lg: 2.5rem;
     --spacing-xl: 4rem;
     --max-width: 1100px;
 }

 /* Reset and Base Styles */
 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 html {
     font-size: 16px;
     scroll-behavior: smooth;
 }

 body {
     font-family: var(--font-primary);
     font-size: var(--font-size-base);
     line-height: var(--line-height-base);
     color: var(--text-dark);
     background-color: var(--background-light);
     min-height: 100vh;
     background-attachment: fixed;
 }

 /* Accessibility - Focus Styles (ADA Requirement) */
 *:focus-visible {
     outline: 3px solid var(--primary-blue);
     outline-offset: 4px;
     border-radius: 4px;
 }

 /* Skip to main content link */
 .skip-link {
     position: absolute;
     top: -999px;
     left: 0;
     background: var(--primary-blue);
     color: var(--text-light);
     padding: 8px 16px;
     text-decoration: none;
     z-index: 100;
     transition: top 0.3s;
 }

 .skip-link:focus {
     top: 0;
     left: 50%;
     transform: translateX(-50%);
 }

 /* Header Styles */
 header {
     display: flex;
     flex-direction: column;
     /* Stack on mobile, adjust in media query */
     align-items: center;
     text-align: center;
     padding: var(--spacing-lg) var(--spacing-md);
     max-width: var(--max-width);
     margin: 0 auto;
     border-bottom: 1px solid rgba(0, 0, 0, 0.1);
 }

 .logo-container {
     flex: 0 0 auto;
 }

 .logo {
     display: flex;
     align-items: center;
     justify-content: center;
     box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
 }

 .logo-image {
     width: 200px;
     height: auto;
     display: block;
     max-width: 100%;
 }

 header h1 {
     font-size: 2.8rem;
     font-weight: 800;
     color: var(--primary-blue);
     margin-bottom: 0.5rem;
     line-height: 1.1;
 }

 .tagline {
     font-size: 1.4rem;
     font-weight: 600;
     color: var(--primary-blue);
     margin: 0;
     opacity: 0.8;
 }

 /* Main Content & Containers */
 main {
     max-width: var(--max-width);
     margin: var(--spacing-lg) auto;
     padding: 0 var(--spacing-md);
 }

 section {
     margin-bottom: var(--spacing-lg);
     padding: var(--spacing-lg);
     background-color: var(--container-bg);
     border-radius: 12px;
     box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
     /* Subtle shadow for depth */
     border: 1px solid rgba(0, 0, 0, 0.05);
 }

 section h2 {
     font-size: 1.6rem;
     font-weight: 700;
     color: var(--primary-blue);
     margin-bottom: var(--spacing-md);
     padding-bottom: 0.5rem;
     border-bottom: 2px solid var(--gold);
     /* Subtle section divider */
 }

 .company-description,
 .experience-description,
 .contact-intro {
     font-size: 1.1rem;
     margin-bottom: var(--spacing-md);
     line-height: var(--line-height-base);
 }

 /* List Styles (ADA Compliant: sufficient spacing and clear indicators) */
 ul {
     list-style: none;
     padding-left: 0;
     display: grid;
     gap: 0.75rem;
     /* Gap between list items */
 }

 li {
     position: relative;
     padding-left: var(--spacing-lg);
     font-size: 1.05rem;
     border-bottom: 1px dashed rgba(0, 0, 0, 0.05);
     padding-bottom: 0.5rem;
 }

 li:last-child {
     border-bottom: none;
 }

 li::before {
     content: "✓";
     /* Use a modern checkmark icon */
     position: absolute;
     left: 0;
     color: var(--primary-blue);
     font-size: 1rem;
     font-weight: 700;
 }

 /* Contact Section */
 .contact-section {
     text-align: center;
 }

 .contact-info {
     font-size: 1.5rem;
     font-weight: 700;
     color: var(--primary-blue);
 }

 /* Links (ADA Compliant: high contrast, clear focus, sufficient thickness) */
 a {
     color: var(--link-color);
     text-decoration: underline;
     text-decoration-thickness: 3px;
     /* Clear visual differentiation */
     text-underline-offset: 4px;
     transition: color 0.2s ease, background-color 0.2s ease;
 }

 a:hover,
 a:focus {
     color: var(--link-hover);
     background-color: rgba(212, 175, 55, 0.1);
     /* Subtle hover effect */
 }

 /* Footer */
 footer {
     text-align: center;
     padding: var(--spacing-md) var(--spacing-md) var(--spacing-lg);
     max-width: var(--max-width);
     margin: 0 auto;
     border-top: 1px solid rgba(0, 0, 0, 0.1);
 }

 .nmls-info {
     font-size: 0.95rem;
     margin-bottom: 0.5rem;
     font-weight: 600;
     color: var(--primary-blue);
 }

 .nmls-id {
     font-weight: 800;
     letter-spacing: 0.05em;
 }

 .nmls-link {
     font-size: 0.85rem;
     opacity: 0.8;
 }

 .copyright {
     margin-top: 1rem;
     font-size: 0.75rem;
     color: #6b7280;
 }

 /* Responsive Design */
 @media (min-width: 768px) {
     header {
         flex-direction: row;
         /* Horizontal layout on desktop */
         text-align: left;
         align-items: flex-start;
         gap: var(--spacing-lg);
     }

     .header-content {
         flex: 1;
         padding-top: var(--spacing-md);
     }

     .logo-container {
         margin-bottom: 0;
     }

     .logo-image {
         width: 200px;
         box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
     }
 }

 @media (max-width: 767px) {
     header h1 {
         font-size: 2.2rem;
     }

     .tagline {
         font-size: 1.2rem;
     }

     section h2 {
         font-size: 1.6rem;
     }

     section {
         padding: var(--spacing-md);
         margin-bottom: var(--spacing-md);
     }

     .logo-image {
         width: 150px;
     }
 }

 @media (max-width: 480px) {
     header h1 {
         font-size: 1.8rem;
     }

     .tagline {
         font-size: 1rem;
     }

     section h2 {
         font-size: 1.4rem;
     }
 }

 .bold-text {
     font-weight: 700;
     color: var(--primary-blue);
 }