/* CMS.js overrides */
body, html { font-family: 'Figtree', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; }

/* Table styling for CV */
table { width: 100%; border-collapse: collapse; margin: 1em 0; }
table th { background-color: #f5f5f5; padding: 0.5em; text-align: left; font-weight: bold; }
table td { padding: 0.5em; border-bottom: 1px solid #eee; background-color: white; }
table td:first-child { white-space: nowrap; width: 1%; }

/* List indentation adjustments - minimal indent */
ul, ol { padding-left: 0; }
ul ul, ol ol, ul ol, ol ul { padding-left: 0; }

/* Accessibility improvements */
.skip-link {
  position: absolute;
  top: -40px;
  left: 6px;
  z-index: 100000;
  padding: 8px 16px;
  background: #000;
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  font-size: 14px;
  font-weight: bold;
}
.skip-link:focus {
  top: 6px;
}

/* Custom tilde bullets for unordered lists */
ul { list-style: none; }
ul li { 
  padding-left: 0.9em; 
  text-indent: -0.9em; 
}
ul li::before { 
  content: "⚬ "; 
  color: #b4b4b4; 
  font-weight: normal; 
}

/* Exclude navigation from custom bullets and indentation */
nav ul { list-style: none; padding-left: 0; }
nav ul li { padding-left: 0; text-indent: 0; }
nav ul li::before { content: none; }

/* Masthead title sizing - match h2 headlines but less bold */
.masthead-title { font-size: 1.5rem; font-weight: normal; }

/* Variable font weight utilities */
.font-weight-450 { font-weight: 450; }  /* Between regular and medium */
.font-weight-500 { font-weight: 500; }  /* Medium */
.font-weight-550 { font-weight: 550; }  /* Between medium and semi-bold */
.font-weight-600 { font-weight: 600; }  /* Semi-bold */
.font-weight-650 { font-weight: 650; }  /* Between semi-bold and bold */
.font-weight-750 { font-weight: 750; }  /* Between bold and extra-bold */

/* Align navigation baseline with masthead title */
.masthead { display: flex; justify-content: space-between; align-items: baseline; }
.masthead-title { float: none; }
nav.nav { float: none; }

/* ===== DESKTOP STYLES (≥769px) ===== */
@media (min-width: 769px) {
  /* Increase container width for better text flow */
  .container { max-width: 50rem; }
  
  /* Reduce font size for main statements to prevent line breaks */
  .container h2 { font-size: 1.3rem; line-height: 1.4; }
  
  /* Sticky bar desktop - original size */
  body .bar { 
    font-size: 0.8em !important; 
    line-height: 0.8 !important;
    padding: 1.2em !important;
  }
  body .bar p, body .bar a {
    font-size: inherit !important;
  }
  
  /* Navigation desktop - inline with title */
  nav.nav { 
    float: none !important; 
    margin: 0 !important;
    padding: 0 !important;
  }
  .masthead { 
    display: flex; 
    justify-content: space-between; 
    align-items: baseline; 
  }
  /* Navigation links horizontal on desktop */
  nav ul { 
    display: flex; 
    gap: 1rem;
    margin: 0 !important; 
    padding: 0 !important; 
    text-align: left !important;
  }
  nav ul li { display: inline-block; }
}

/* ===== MOBILE STYLES (≤768px) ===== */
@media (max-width: 768px) {
  /* Sticky bar mobile - smaller to prevent line breaks */
  body .bar { 
    font-size: 0.8em !important; 
    line-height: 0.8 !important;
    padding: 1.2em !important;
  }
  body .bar p, body .bar a {
    font-size: inherit !important;
  }
  
  /* Navigation mobile - stacked below title */
  .masthead { flex-direction: column; align-items: flex-start; }
  nav.nav { margin-top: 0.5rem; }
  
  /* Navigation links horizontal on mobile */
  nav ul { display: flex; flex-wrap: wrap; gap: 1rem; }
  nav ul li { display: inline-block; }
  
  /* Mobile font size improvements */
  html { font-size: 18px; } /* Increase base font size from 16px to 18px */
  
  /* Larger headings for better mobile readability */
  h1 { font-size: 2.2rem; } /* Increase from 2rem */
  h2 { font-size: 1.8rem; } /* Increase from 1.5rem */
  h3 { font-size: 1.4rem; } /* Increase from 1.25rem */
  
  /* Page title specific mobile sizing */
  .page-title { font-size: 1.8rem; margin-bottom: 1.2rem; }
  
  /* Masthead title mobile adjustment */
  .masthead-title { font-size: 1.6rem; }
  
  /* Navigation links larger on mobile */
  nav ul li a { font-size: 1.1rem; }
  
  /* Body text slightly larger */
  p, li { font-size: 1.05rem; line-height: 1.6; }
  
  /* Better spacing for mobile */
  .container { padding-left: 1.2rem; padding-right: 1.2rem; }
}

/* Horizontal rule spacing adjustments */
hr { margin-bottom: 0.5rem; }
