/* =========================================================
   CIS LONDON — Font & Typography stylesheet
   Separate from layout (layout.css); linked AFTER it so it
   overrides layout defaults. Source: cislondon.com computed
   styles (font report, 1280px viewport).
   ========================================================= */

/* ---------- 1. Fonts ---------- */
/* Self-hosted Open Sans from /webfonts (no external CDN). */
@font-face {
  font-family: "Open Sans";
  src: url("../webfonts/OpenSans-Regular-webfont.woff") format("woff"),
       url("../webfonts/OpenSans-Regular-webfont.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "Open Sans";
  src: url("../webfonts/OpenSans-Semibold-webfont.woff") format("woff"),
       url("../webfonts/OpenSans-Semibold-webfont.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
}

body {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;    /* root = 16px */
  line-height: 24px;  /* 1.5 */
  color: var(--ink);     /* body text */
}

/* ---------- 2. Typographic scale ---------- */
h1 {
  font-size: 22px;
  line-height: 28px;
  font-weight: 600;
  text-transform: uppercase;
}

h2 {
  font-size: 20px;
  line-height: 26px;
  font-weight: 600;
}

h2 span.reducedSpacing {
  letter-spacing: -0.6px;
}

/* section subtitle, e.g. contact page city titles */
h2.mapTitle {
  line-height: 23px;
  white-space: nowrap;
  text-transform: none;
}

h3 {
  font-size: 18px;
  line-height: 20px;
  text-transform: uppercase;
  border: none;
  white-space: normal;
  font-weight: 600;
}

h3.overlay {
  font-size: 22px;
  line-height: 28px;
  font-weight: 600;
  text-transform: uppercase;
}

h4 {
  font-size: 14px;
  line-height: 22px;
  font-weight: 600;
  text-transform: uppercase;
  margin-top: 3px;
}

p {
  font-size: 14px;
  line-height: 18px;
  font-weight: 400;
}

.impact {
  font-weight: 600;
}

/* text-align helper */
.text-center { text-align: center; }

/* ---------- 3. Links ---------- */
a {
  color: var(--navy);                    /* primary link */
  font-size: 14px;
  line-height: 18px;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid var(--border-rule);  /* rgb(187,189,192) */
  word-break: break-word;
}

a:hover {
  color: var(--slate);   /* site-wide link hover: slate */
}

/* slider overlay title link colour (box/position live in layout.css) */
.slider__title {
  color: var(--ink);
}

/* nav links: no underline */
#navlist a {
  font-size: 14px;
  line-height: 14px;
  font-weight: 600;
  border-bottom: none;
}

/* current nav item: black text + underline (underline moved here from layout.css) */
#navlist a.is-current {
  color: var(--ink);
}
#navlist a:hover,
#navlist a.is-current {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 13px;
}

/* ---------- 4. Footer ---------- */
footer,
footer p,
footer a {
  font-size: 14px;
  line-height: 18px;
  font-weight: 600;
}

/* ---------- 5. Overlay panel text colour ---------- */
.home-sub-image-overlay {
  color: var(--ink);
}

/* ---------- 6. Bullet/body lists: text properties (moved from layout.css) ---------- */
.above-the-fold-list li,
.body-list li {
  font-size: 14px;
  line-height: 1.4em;
  text-indent: -1.3em;
}
.body-list li a {
  font-size: 14px;
  text-decoration: none;
  border: 0;
}
