/*
  Typography override – medium, readable sizes for all ages and screens.
  Loads after style.css. Slightly larger than base for comfortable reading.
*/

/* -----------------------------------------------------------------------------
   Whitespace normalization – remove unwanted gaps in headings and text.
   ----------------------------------------------------------------------------- */
/* Remove extra margin so spacing is controlled by layout, not browser defaults */
h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0;
  word-spacing: normal;
  white-space: normal;
}
.text-title h1, .text-title h2, .text-title h3, .text-title h4,
.text-title-secondary h4,
.news-page-img-carousel-heading,
.news-page-img-carousel-title h3, .news-page-img-carousel-title h4,
.section-title-vertical, .section-title-vertical span,
.timeline-title, .timeline-text,
.about-content-inner h3,
.panel-right .text-title h2, .panel-right .text-title h4,
h2.section-heading.newsletter {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  word-spacing: normal !important;
  letter-spacing: normal;
}
.about-content-inner p {
  margin-top: 0;
  word-spacing: normal;
}
p {
  margin-top: 0;
  word-spacing: normal;
}
/* Prevent odd gaps from word-spacing or wrapping */
.text-title, .text-title-secondary, .news-page-img-carousel-text,
.contact-info-text, .contact-info-description {
  word-spacing: normal;
  white-space: normal;
}

/* Base body and paragraphs */
body {
  font-size: 17px;
}

p {
  font-size: 17px;
}

@media only screen and (max-width: 880px) {
  body {
    font-size: 16px;
  }
  p {
    font-size: 16px;
  }
}

/* Hero / intro titles */
h1.home-page-main-title {
  font-size: 108px;
}

@media only screen and (max-width: 640px) {
  h1.home-page-main-title {
    font-size: 68px;
  }
}

@media only screen and (max-width: 480px) {
  h1.home-page-main-title {
    font-size: 68px;
  }
}

h2.home-page-main-title {
  font-size: 28px;
}

@media only screen and (max-width: 640px) {
  h2.home-page-main-title {
    font-size: 19px;
  }
}

/* Section vertical titles */
.section-title-vertical {
  font-size: 21px;
}

/* Main content headings */
.text-title h4 {
  font-size: 50px;
}

.text-title h2 {
  font-size: 54px;
}

/* Section 2 heading: exact same size as Section 1 .text-title h4 */
#section2 .text-title h2 {
  font-size: 50px;
}

@media only screen and (max-width: 880px) {
  .text-title h2 {
    font-size: 42px;
  }
  #section2 .text-title h2 {
    font-size: 38px;
  }
  .text-title h4 {
    font-size: 38px;
  }
}

@media only screen and (max-width: 640px) {
  .text-title h2 {
    font-size: 36px;
  }
  #section2 .text-title h2 {
    font-size: 32px;
  }
  .text-title h4 {
    font-size: 32px;
  }
}

@media only screen and (max-width: 480px) {
  .text-title h2 {
    font-size: 34px;
  }
  #section2 .text-title h2 {
    font-size: 30px;
  }
  .text-title h4 {
    font-size: 30px;
  }
}

.text-title-secondary h4 {
  font-size: 30px;
}

/* About section */
.about-content-inner h3 {
  font-size: 30px;
}

@media only screen and (max-width: 880px) {
  .about-content-inner h3 {
    font-size: 24px;
  }
}

@media only screen and (max-width: 640px) {
  .about-content-inner p {
    font-size: 14px;
  }
}

/* Leasing section */
[data-anchor="leasing"] .text-title h4 {
  font-size: 46px;
}

@media only screen and (max-width: 880px) {
  [data-anchor="leasing"] .text-title h4 {
    font-size: 36px;
  }
}

@media only screen and (max-width: 640px) {
  [data-anchor="leasing"] .text-title h4 {
    font-size: 32px;
  }
}

@media only screen and (max-width: 480px) {
  [data-anchor="leasing"] .text-title h4 {
    font-size: 30px;
  }
}

[data-anchor="leasing"] .text-txt {
  font-size: 17px;
}

/* News carousel – larger for readability */
.news-page-img-carousel-title h4 {
  font-size: 46px;
}

.news-page-img-carousel-heading {
  font-size: 21px;
}

.news-page-img-carousel-text .news-page-img-carousel-content p {
  font-size: 17px;
}

/* News panel right (read more content) */
.panel-right .text-title h2 {
  font-size: 50px !important;
}

@media only screen and (max-width: 880px) {
  .panel-right .text-title h2 {
    font-size: 42px !important;
  }
}

@media only screen and (max-width: 640px) {
  .panel-right .text-title h2 {
    font-size: 36px !important;
  }
}

.panel-right .text-title.text-title-dark h4,
.panel-right .text-title h4 {
  font-size: 42px !important;
}

@media only screen and (max-width: 880px) {
  .panel-right .text-title.text-title-dark h4,
  .panel-right .text-title h4 {
    font-size: 36px !important;
  }
}

@media only screen and (max-width: 640px) {
  .panel-right .text-title.text-title-dark h4,
  .panel-right .text-title h4 {
    font-size: 32px !important;
  }
}

.panel-right .text-txt.text-txt-dark p {
  font-size: 17px !important;
}

/* Contact section */
.contact-info-description-img {
  font-size: 26px;
}

.contact-info-description-img.large {
  font-size: 42px;
}

.contact-info-text {
  font-size: 15px;
}

.contact-info-text.large {
  font-size: 17px;
}

@media only screen and (max-width: 880px) {
  .contact-info-description-img {
    font-size: 21px;
  }
  .contact-info-description-img.large {
    font-size: 21px;
  }
  .contact-info-text {
    font-size: 14px;
  }
  .contact-info-text.large {
    font-size: 15px;
  }
}

@media only screen and (max-width: 640px) {
  .contact-info-text {
    font-size: 15px;
  }
}

h2.section-heading.newsletter {
  font-size: 24px;
}

#subscribe input,
.subscribe-email {
  font-size: 15px;
}

/* Social icons */
ul.social-icons {
  font-size: 22px;
}

/* Timeline */
.timeline-title {
  font-size: 20px;
}

.timeline-text {
  font-size: 15px;
}

.timeline-year {
  font-size: 16px;
}

/* Services accordion and other UI text */
.services-accordion ul li a {
  font-size: 16px;
}

.facts-counter-title {
  font-size: 16px;
}

/* Small UI text – minimum readable */
#subscribe .subscribe-error {
  font-size: 15px;
}

@media only screen and (max-width: 640px) {
  #subscribe input,
  .subscribe-email {
    font-size: 14px;
  }
  #subscribe .subscribe-error {
    font-size: 14px;
  }
}

@media only screen and (max-width: 480px) {
  #subscribe input,
  .subscribe-email {
    font-size: 13px;
  }
  #subscribe .subscribe-error {
    font-size: 13px;
  }
}

/* Text title secondary contact */
.text-title-secondary.text-title-secondary-contact h4 {
  font-size: 30px;
}
