/* =========================================================
   TOP LINES — Typography layer
   Addresses client comment 2 (22 Jul 2026):
     • "Use different text font (less round curves)"
     • "The paragraph text is too small. It's not readable."
       (repeated again in comments 4 and 5, so it is fixed
        globally here rather than per section)

   FONT NOTE
   ---------
   The theme shipped DM Sans — a geometric sans whose o / e / c
   bowls are near-perfect circles. That roundness is what the
   client is reacting to. The replacement below is a grotesque:
   flatter curves, squarer counters, closed apertures.
   Swap the single --tl-ff-* block to try another face.
   ========================================================= */

/* Self-hosted from /public/assets/fonts — no npm package, no build step,
   and no runtime request to Google Fonts. One variable file covers every
   weight 100-900, and unicode-range means a Latin page only ever downloads
   the ~34 KB latin file. */
@font-face {
  font-family: "Archivo Variable";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/assets/fonts/archivo-latin-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Archivo Variable";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/assets/fonts/archivo-latin-ext-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
    U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
    U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  --tl-ff-body: "Archivo Variable", "Archivo", "Helvetica Neue", Arial, sans-serif;
  --tl-ff-heading: "Archivo Variable", "Archivo", "Helvetica Neue", Arial, sans-serif;
  --tl-ff-p: "Archivo Variable", "Archivo", "Helvetica Neue", Arial, sans-serif;
}

/* Archivo runs a little heavier than DM Sans at the same weight,
   so headings are pulled back a step to keep the same colour. */
.section-title,
.section-title.title-2 {
  font-weight: 500;
  letter-spacing: -0.018em;
}

/* main.css forces `text-transform: capitalize` on every section title, so
   "Complete Fit Out and Contracting Services" rendered as "... And ...".
   The client writes their headings in sentence case, so titles now render
   exactly as authored. */
.section-heading .section-title {
  text-transform: none;
}

/* ---------------------------------------------------------
   Readable body copy.
   Theme default was 16px with 1.5 leading, which the client
   flagged as unreadable in three separate places.
   --------------------------------------------------------- */
:root {
  --tl-fs-body: 17px;
  --tl-fs-p: 17px;
}

body {
  font-size: 17px;
  line-height: 1.7;
}

.section-heading p,
.section-heading-2 p,
.process-desc p,
.about-desc p,
.request-item p,
.footer-widget p {
  font-size: clamp(16px, 1.05vw, 18px);
  line-height: 1.75;
}

/* Keep long paragraphs to a comfortable measure instead of
   letting them run the full container width on wide screens. */
.section-heading p,
.section-heading-2 p,
.process-desc p {
  max-width: 70ch;
}
