/* =========================================================
   GeoTech Design Consultants - justified description text
   Loaded LAST on every page. Goal: every description paragraph
   is justified (last line stays left) without wide gaps
   between words.

   How the gaps are kept small:
   1. hyphens:auto (page language is en) lets long words break at
      syllables, which is what stops stretched word spaces.
   2. A hair less word/letter spacing lets more words fit on a line.
   3. Narrow cards get slightly smaller type and less side padding,
      because very short lines are where justified text gaps most.
   4. Small screens use slightly smaller lead text for the same reason.
   Not justified on purpose: figure captions, small uppercase labels
   (WHY US, OUR WORK...), the hero carousel and clickable CTA tiles.
   ========================================================= */

/* ---- 1. paragraphs that were still left / centre aligned ---- */
body p.gu-just,
body p.fs-5:not(.text-uppercase),
body .sx-step p,
body .sx-sector p,
body .sx-app:not(.cta) p,
body p.sx-note,
body .gu-tcard p,
body .gu-cta p,
body .gt-cta-text p,
body .sx-intro-fit .row.g-5 > .col-lg-6:first-child p {
    text-align: justify !important;
    text-align-last: left !important;
    -webkit-hyphens: auto !important;
    hyphens: auto !important;
}

/* ---- 2. settings shared by all justified text ---- */
body p,
body .accordion-body,
body .testi-quote {
    text-justify: inter-word;
    overflow-wrap: break-word;
    word-break: normal;
    word-spacing: -.04em;
    letter-spacing: -.006em;
}

/* ---- 3. narrow cards: less side padding + slightly smaller type ---- */
body .sx-step { padding-left: 1rem; padding-right: 1rem; }
body .sx-step p { font-size: .84rem; line-height: 1.55; }
body .sx-app,
body .sx-app.stp { padding-left: 1.1rem; padding-right: 1.1rem; }
body .sx-app:not(.cta) p { font-size: .9rem; }
body .sx-sector { padding-left: 1.2rem; padding-right: 1.2rem; }
body .sx-sector p { font-size: .9rem; }
body .cs-fact p { font-size: .86rem; }
body .cs-values li p { font-size: .9rem; }
body .feature-item p { font-size: .92rem; }
body .gt-strip-item p,
body .gt-life-step p { font-size: .88rem; }

/* ---- 4. phones: large lead paragraphs a little smaller ---- */
@media (max-width: 575.98px) {
    body p.fs-5,
    body .bp-article p.bp-lead,
    body .cs-p {
        font-size: 1.02rem !important;
        line-height: 1.7 !important;
    }
}
