/* Typography - improved readability and visual hierarchy */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700&display=swap');

body {
  font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.65 !important;
  color: #222 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Main content area */
.ctContent.ferz,
.ctContent {
  font-size: 18px;
  line-height: 1.65;
}

/* Main headline */
.ctContent .ttl {
  font-family: 'Open Sans', sans-serif !important;
  font-size: clamp(1.5rem, 4vw, 2.25rem) !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  margin-bottom: 1.25rem !important;
  letter-spacing: -0.02em;
}

.ctContent .ttl .red {
  display: block;
  margin-bottom: 0.35em;
}

/* Paragraphs */
.ctContent p {
  font-size: 18px !important;
  line-height: 1.7 !important;
  margin-bottom: 1rem !important;
  color: #2a2a2a;
}

.ctContent p i {
  font-size: inherit;
}

/* Subheadings in content */
.ctContent h3,
.ctContent h4,
.ctContent .darkred,
.ctContent .big-txt {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 1.25rem !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  margin: 1.25rem 0 0.75rem !important;
}

/* Lists */
.ctContent ul,
.ctContent ol {
  font-size: 17px !important;
  line-height: 1.65 !important;
  margin-bottom: 1rem !important;
}

.ctContent li {
  margin-bottom: 0.5rem !important;
}

/* Block/quote sections */
.ctContent .block,
.ctContent .block--blue {
  font-size: 17px !important;
  line-height: 1.65 !important;
}

/* Links in content */
.ctContent a {
  font-weight: 600;
  color: #c4006b;
  text-decoration: none;
  transition: color 0.2s;
}

.ctContent a:hover {
  color: #a50162;
  text-decoration: underline;
}

/* Comments section */
.menHealthCom__name {
  font-size: 1rem !important;
  font-weight: 700 !important;
}

.menHealthCom__comment {
  font-size: 16px !important;
  line-height: 1.6 !important;
}

/* Form typography - already in forma-form.css, slight adjustments */
.matcha-order .form__title {
  font-size: clamp(1.35rem, 3vw, 1.75rem) !important;
  line-height: 1.3 !important;
}

.matcha-order .form__input {
  font-size: 17px !important;
}

.matcha-order .form__button {
  font-size: 1.15rem !important;
  letter-spacing: 0.02em;
}

/* Section headings */
.paragraphWidget__text,
.paragraphWidget__text--962037 {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

/* Footer */
.erecsolFooter__text {
  font-size: 1rem !important;
}

/* Art image captions */
.art-img__text {
  font-size: 16px !important;
  line-height: 1.6 !important;
}

/* Mobile - slightly larger touch targets and readability */
@media screen and (max-width: 768px) {
  body {
    font-size: 17px !important;
  }

  .ctContent p {
    font-size: 17px !important;
  }

  .ctContent .ttl {
    font-size: 1.4rem !important;
  }
}
