/* Start custom CSS */.fls {
  --fls-bg: #f6f1e6;
  --fls-ink: #5B4D3F;
  --fls-heading: #2A1A0B;
  --fls-ink-soft: #918576;
  --fls-accent: #AB763D;
  --fls-line: #ddd0b8;

  color: var(--fls-ink);
  font-family: "DM Sans", sans-serif;
  line-height: 1.5;
}

.fls a {
  color: #5B4D3F;
  text-decoration: none;
}

.fls a:hover {
  color: var(--fls-accent);
}

.fls a:focus-visible {
  outline: 2px solid var(--fls-accent);
  outline-offset: 2px;
}


.fls-section {
  padding-top: 30px;
}

.fls-section h2,
.fls-regions-head h2,
.fls-region h3,
.fls-legal h2 {
  font-family: "Newsreader", serif;
  font-weight: 400;
}

.fls-section h2 {
  font-size: 30px;
  color: var(--fls-heading);
  margin: 0 0 1rem;
}

.fls-links {
  list-style: none;
  margin: 0;
  padding: 0;
}

.fls-links li {
  margin: 0;
}

.fls-links a {
  display: block;
  padding: .3rem 0;
  color: #5B4D3F;
  font-size: .95rem;
}

.fls-links .fls-missing {
  color: #b00020;
  font-size: .85rem;
  padding: .3rem 0;
}

/* ---- Regional presence ---- */
.fls-regions {
    padding: 2.5rem 2rem;
}

.fls-region h3 {
  font-style: normal;
  font-size: 28px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--fls-ink-soft);
}

/* ---- Blog: numbered 2-column grid ---- */
.fls-section--blog {
  max-width: 1200px;
  margin: 0 auto;
}

.fls-section--blog > h2 {
  font-size: 1.7rem;
}



.fls-section--blog .fls-links li {
  counter-increment: fls-blog;
  border-bottom: 1px solid var(--fls-line);
  padding: 1.1rem 0;
}

.fls-section--blog .fls-links li::before {
  content: counter(fls-blog, decimal-leading-zero);
  display: block;
  font-size: .7rem;
  color: var(--fls-accent);
  margin-bottom: .4rem;
}

.fls-section--blog .fls-links a {
  font-family: "Newsreader", serif;
  font-size: 1.1rem;
  color: var(--fls-ink);
  padding: 0;
}

.fls-section--blog .fls-links a:hover {
  color: var(--fls-accent);
}

/* ---- Legal ---- */
.fls-legal {
  max-width: 1200px;
  margin: 0 auto;
 
}

.fls-legal h2 {
  font-size: 28px;
  color: var(--fls-heading);
  margin: 0 0 .75rem;
}

.fls-legal .fls-links a {
  font-size: .95rem;
  color: #2A1A10;
}

.fls-legal .fls-links a:hover {
  color: var(--fls-accent);
}

/* ---- Responsive ---- */
@media (max-width: 900px) {
  .fls-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .fls-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 2rem 1.25rem;
  }

  .fls-regions,
  .fls-section--blog,
  .fls-legal {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .fls-section--blog .fls-links {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fls * {
    transition: none !important;
  }
}/* End custom CSS */