:root {
    --primary-blue: #114f7f;
    --body-color: #222;
  }
  
  body, p, li, .body-text, .yplan-intro, .overview-content {
    font-family: 'Noto Sans', 'Noto Sans SC', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    color: #222;
  }
  
  h1, h2, h3, h4, h5, h6, .yplan-title, .yplan-header:not(.footer-new h3):not(.footer-new h4) {
    font-family: 'Roboto', 'Noto Sans SC', sans-serif;
    font-weight: 700;
    line-height: 1.25;
    color: #0056B3 !important;
  }
  
  .subpage-banner h1, .subpage-banner h2, .subpage-banner h3, .subpage-banner h4, .subpage-banner h5, .subpage-banner h6,
  .banner-title, .banner h1, .banner h2, .banner h3, .banner h4, .banner h5, .banner h6 {
    color: #fff !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.18);
  }
  .footer-new h3, .footer-new h4 {
    color: #fff !important;
  }
  .yplan-title {
    font-size: 32px;
  }
  h1 { font-size: 32px; }
  h2 { font-size: 28px; }
  h3 { font-size: 24px; }
  h4 { font-size: 20px; }
  
  @media (max-width: 768px) {
    .yplan-title, h1 { font-size: 24px; }
    h2 { font-size: 20px; }
    h3 { font-size: 18px; }
    h4 { font-size: 16px; }
  }
  @media (max-width: 375px) {
    .yplan-title, h1 { font-size: 22px; }
  }