/* Responsive Typography System */

/* Base font size using clamp for fluid typography */
html {
  font-size: clamp(14px, 2.5vw, 16px);
}

/* Typography Scale for Different Screen Sizes */

/* Extra Large Screens (1400px and up) */
@media (min-width: 1400px){

  h1 {
    font-size: clamp(3.5rem, 8vw, 6rem) !important;
    line-height: 1.1;
  }
.ptf-animate-element .ptf-list {
    margin-top: .25rem;
    font-size: 16px;
}

  h2 {
    font-size: clamp(2.5rem, 6vw, 4rem) !important;
    line-height: 1.2;
  }
  
  h3 {
    font-size: clamp(1.8rem, 4vw, 2.5rem) !important;
    line-height: 1.3;
  }
  
  h4 {
    font-size: clamp(1.4rem, 3vw, 2rem) !important;
    line-height: 1.4;
  }
  
  h5 {
    font-size: clamp(1.2rem, 2.5vw, 1.5rem) !important;
    line-height: 1.4;
  }
  
  h6 {
    font-size: clamp(1rem, 2vw, 1.25rem) !important;
    line-height: 1.5;
  }
  
  p, .ptf-post-excerpt, .ptf-timeline-item__text {
    font-size: clamp(1rem, 1.5vw, 1.0rem) !important;
    line-height: 1.6;
  }
  
  .ptf-post-title a {
    font-size: clamp(1.2rem, 2.5vw, 1.5rem) !important;
  }
.ptf-list ul li {
    font-size: 1.04rem !important;
    line-height: 1.6;
  }

}

/* Large Screens (1200px to 1399px) */
@media (min-width: 1200px) and (max-width: 1399px) {
  h1 {
    font-size: clamp(3rem, 7vw, 5rem) !important;
    line-height: 1.1;
  }
  .ptf-animate-element .ptf-list {
    margin-top: .25rem;
    font-size: 16px;
}
  h2 {
    font-size: clamp(2.2rem, 5vw, 3.5rem) !important;
    line-height: 1.2;
  }
  
  h3 {
    font-size: clamp(1.6rem, 3.5vw, 2.2rem) !important;
    line-height: 1.3;
  }
  
  h4 {
    font-size: clamp(1.3rem, 2.8vw, 1.8rem) !important;
    line-height: 1.4;
  }
  
  h5 {
    font-size: clamp(1.1rem, 2.2vw, 1.4rem) !important;
    line-height: 1.4;
  }
  
  h6 {
    font-size: clamp(0.95rem, 1.8vw, 1.15rem) !important;
    line-height: 1.5;
  }
  
  p, .ptf-post-excerpt, .ptf-timeline-item__text {
    font-size: clamp(0.95rem, 1.4vw, 1.05rem) !important;
    line-height: 1.6;
  }
}

/* Medium Screens (992px to 1199px) */
@media (min-width: 992px) and (max-width: 1199px) {
  h1 {
    font-size: clamp(2.5rem, 6vw, 4rem) !important;
    line-height: 1.1;
  }
  
  h2 {
    font-size: clamp(2rem, 4.5vw, 3rem) !important;
    line-height: 1.2;
  }
  
  h3 {
    font-size: clamp(1.5rem, 3vw, 2rem) !important;
    line-height: 1.3;
  }
  
  h4 {
    font-size: clamp(1.2rem, 2.5vw, 1.6rem) !important;
    line-height: 1.4;
  }
  
  h5 {
    font-size: clamp(1rem, 2vw, 1.3rem) !important;
    line-height: 1.4;
  }
  
  h6 {
    font-size: clamp(0.9rem, 1.6vw, 1.1rem) !important;
    line-height: 1.5;
  }
  
  p, .ptf-post-excerpt, .ptf-timeline-item__text {
    font-size: clamp(0.9rem, 1.3vw, 1rem) !important;
    line-height: 1.6;
  }
}

/* Small to Medium Screens (768px to 991px) */
@media (min-width: 768px) and (max-width: 991px) {
  h1 {
    font-size: clamp(2rem, 5vw, 3.5rem) !important;
    line-height: 1.1;
  }
  
  h2 {
    font-size: clamp(1.8rem, 4vw, 2.5rem) !important;
    line-height: 1.2;
  }
  
  h3 {
    font-size: clamp(1.4rem, 2.8vw, 1.8rem) !important;
    line-height: 1.3;
  }
  
  h4 {
    font-size: clamp(1.1rem, 2.2vw, 1.4rem) !important;
    line-height: 1.4;
  }
  
  h5 {
    font-size: clamp(0.95rem, 1.8vw, 1.2rem) !important;
    line-height: 1.4;
  }
  
  h6 {
    font-size: clamp(0.85rem, 1.5vw, 1rem) !important;
    line-height: 1.5;
  }
  
  p, .ptf-post-excerpt, .ptf-timeline-item__text {
    font-size: clamp(0.85rem, 1.2vw, 0.95rem) !important;
    line-height: 1.6;
  }
  
  .ptf-post-title a {
    font-size: clamp(1rem, 2vw, 1.2rem) !important;
  }
}

/* Small Screens (576px to 767px) */
@media (min-width: 576px) and (max-width: 767px) {
  h1 {
    font-size: clamp(1.8rem, 4.5vw, 2.8rem) !important;
    line-height: 1.2;
  }
  
  h2 {
    font-size: clamp(1.5rem, 3.5vw, 2.2rem) !important;
    line-height: 1.2;
  }
  
  h3 {
    font-size: clamp(1.2rem, 2.5vw, 1.6rem) !important;
    line-height: 1.3;
  }
  
  h4 {
    font-size: clamp(1rem, 2vw, 1.3rem) !important;
    line-height: 1.4;
  }
  
  h5 {
    font-size: clamp(0.9rem, 1.6vw, 1.1rem) !important;
    line-height: 1.4;
  }
  
  h6 {
    font-size: clamp(0.8rem, 1.4vw, 0.95rem) !important;
    line-height: 1.5;
  }
  
  p, .ptf-post-excerpt, .ptf-timeline-item__text {
    font-size: clamp(0.8rem, 1.1vw, 0.9rem) !important;
    line-height: 1.6;
  }
  
  .ptf-post-title a {
    font-size: clamp(0.9rem, 1.8vw, 1.1rem) !important;
  }
}

/* Extra Small Screens (up to 575px) */
@media (max-width: 575px) {
  h1 {
    font-size: clamp(1.5rem, 4vw, 2.2rem) !important;
    line-height: 1.2;
  }
  
  h2 {
    font-size: clamp(1.3rem, 3.2vw, 1.8rem) !important;
    line-height: 1.2;
  }
  
  h3 {
    font-size: clamp(1.1rem, 2.4vw, 1.4rem) !important;
    line-height: 1.3;
  }
  
  h4 {
    font-size: clamp(0.95rem, 1.8vw, 1.2rem) !important;
    line-height: 1.4;
  }
  
  h5 {
    font-size: clamp(0.85rem, 1.5vw, 1rem) !important;
    line-height: 1.4;
  }
  
  h6 {
    font-size: clamp(0.75rem, 1.2vw, 0.9rem) !important;
    line-height: 1.5;
  }
  
  p, .ptf-post-excerpt, .ptf-timeline-item__text {
    font-size: clamp(0.75rem, 1vw, 0.85rem) !important;
    line-height: 1.6;
  }
  
  .ptf-post-title a {
    font-size: clamp(0.8rem, 1.6vw, 1rem) !important;
  }
}

/* Specific Component Responsive Typography */

/* Navigation Menu */
@media (max-width: 991px) {
  .sf-menu a {
    font-size: clamp(0.9rem, 2vw, 1.1rem) !important;
  }
}

@media (max-width: 575px) {
  .sf-menu a {
    font-size: clamp(0.8rem, 1.8vw, 1rem) !important;
  }
}

/* Progress Bar Titles */
@media (max-width: 991px) {
  .ptf-progress-bar__title {
    font-size: clamp(0.85rem, 1.5vw, 1rem) !important;
  }
}

@media (max-width: 575px) {
  .ptf-progress-bar__title {
    font-size: clamp(0.75rem, 1.3vw, 0.9rem) !important;
  }
}

/* Timeline Item Titles */
@media (max-width: 991px) {
  .ptf-timeline-item__title {
    font-size: clamp(1rem, 2vw, 1.3rem) !important;
  }
}

@media (max-width: 575px) {
  .ptf-timeline-item__title {
    font-size: clamp(0.9rem, 1.8vw, 1.1rem) !important;
  }
}

/* Testimonial Content */
@media (max-width: 991px) {
  .ptf-testimonial-item__content p {
    font-size: clamp(0.85rem, 1.3vw, 1rem) !important;
  }
}

@media (max-width: 575px) {
  .ptf-testimonial-item__content p {
    font-size: clamp(0.75rem, 1.2vw, 0.9rem) !important;
  }
}

/* Blog Post Meta */
@media (max-width: 991px) {
  .ptf-post-meta span {
    font-size: clamp(0.7rem, 1.1vw, 0.85rem) !important;
  }
}

@media (max-width: 575px) {
  .ptf-post-meta span {
    font-size: clamp(0.65rem, 1vw, 0.8rem) !important;
  }
}

/* Contact Form Labels */
@media (max-width: 991px) {
  .ptf-form-label {
    font-size: clamp(0.75rem, 1.2vw, 0.9rem) !important;
  }
}

@media (max-width: 575px) {
  .ptf-form-label {
    font-size: clamp(0.7rem, 1.1vw, 0.85rem) !important;
  }
}

/* Button Text */
@media (max-width: 991px) {
  .ptf-btn__text {
    font-size: clamp(0.85rem, 1.3vw, 1rem) !important;
  }
}

@media (max-width: 575px) {
  .ptf-btn__text {
    font-size: clamp(0.75rem, 1.2vw, 0.9rem) !important;
  }
}

/* Special Typography Enhancements */

/* Prevent text from becoming too small on very small screens */
@media (max-width: 320px) {
  h1 { font-size: 1.4rem !important; }
  h2 { font-size: 1.2rem !important; }
  h3 { font-size: 1rem !important; }
  h4 { font-size: 0.9rem !important; }
  h5 { font-size: 0.8rem !important; }
  h6 { font-size: 0.75rem !important; }
  p, .ptf-post-excerpt, .ptf-timeline-item__text { 
    font-size: 0.7rem !important; 
  }
}

/* Ensure readability on large screens */
@media (min-width: 1920px) {
  h1 { font-size: 7rem !important; }
  h2 { font-size: 4.5rem !important; }
  h3 { font-size: 3rem !important; }
  h4 { font-size: 2.2rem !important; }
  h5 { font-size: 1.6rem !important; }
  h6 { font-size: 1.3rem !important; }
  p, .ptf-post-excerpt, .ptf-timeline-item__text { 
    font-size: 1.2rem !important; 
  }
}

/* Line Height Adjustments for Better Readability */
@media (max-width: 575px) {
  h1, h2 { line-height: 1.1 !important; }
  h3, h4 { line-height: 1.2 !important; }
  h5, h6 { line-height: 1.3 !important; }
  p, .ptf-post-excerpt { line-height: 1.5 !important; }
}

/* Letter Spacing Adjustments for Small Screens */
@media (max-width: 575px) {
  h1, h2, h3 {
    letter-spacing: -0.02em !important;
  }
}

@media (min-width: 1200px) {
  h1, h2, h3 {
    letter-spacing: -0.03em !important;
  }
}