/*------------------------------------------------------------------------------
    CONTENT
------------------------------------------------------------------------------*/

/* Homepage - hero ---------------------------------------*/

.fls-home-hero {
    position: relative;
    width: 100vw;
    height: 650px;
    margin-left: calc(50% - 50vw);
    background-image:
        linear-gradient(
            to bottom,
            rgba(0, 37, 25, 0) 20%,
            rgba(0, 37, 25, 0.4) 60%,
            rgba(0, 37, 25, 0.8) 90%
        ), 
        url('../../images/hero-home-figma-small.webp');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
    color: var(--brand-white);
}

.fls-home-hero,
.fls-home-hero * {
    box-sizing: border-box;
}

.fls-home-hero__content {
    position: absolute;
    left: 50%;
    top: auto;
    bottom: 40px;
    width: calc(100% - (2 * var(--layout-desktop-gutter)));
    max-width: var(--layout-container-max);
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}

.fls-home-hero__title {
    width: min(74.46%, 982.812px);
    max-width: 100%;
    margin: 0;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-regular);
    font-size: var(--font-size-h1);
    line-height: var(--line-height-snug);
    letter-spacing: 0;
    color: var(--brand-white);
}

.fls-home-hero__description {
    width: 100%;
    margin: 0;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: var(--font-size-body);
    line-height: var(--line-height-tight);
    letter-spacing: 0;
    color: var(--brand-white);
}

.fls-home-hero .fls-button {
    color: var(--brand-white);
}

/* homepage - Mission section ----------------------------*/

.fls-home-mission {
    box-sizing: border-box;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding-top: var(--section-gap-desktop);
}

.fls-home-mission .fls-split-section {
    min-height: 407px;
}

.fls-home-mission .fls-split-section__copy {
    min-height: 383px;
}

.fls-home-mission .fls-split-section__content {
    flex: 0 1 458px;
    width: min(100%, 458px);
    min-height: 383px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

/* Mission section heading */

.fls-home-mission .fls-heading-2 {
    margin: 0;

    font-family: var(--font-heading);
    font-weight: var(--font-weight-regular);
    font-size: var(--font-size-h2);
    line-height: var(--line-height-tight);
    letter-spacing: 0;

    color: var(--brand-dark-green-text);
}

/* Mission body-copy group */

.fls-home-mission__body {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 28px;
}

/* Mission paragraphs */

.fls-home-mission__body .fls-body {
    margin: 0;

    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: var(--font-size-body);
    line-height: var(--line-height-tight);
    letter-spacing: 0;

    color: var(--brand-dark-green-text);
}

/* Mission emphasis */

.fls-home-mission__body .fls-home-mission__emphasis {
    font-family: var(--font-body);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-body);
    line-height: var(--line-height-tight);
    letter-spacing: 0;

    color: var(--brand-dark-green-text);
}

.fls-home-mission .fls-button {
    color: var(--brand-white);
}

/* homepage - Expertise section --------------------------*/

.fls-home-expertise {
    box-sizing: border-box;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding-top: var(--section-gap-desktop);
}

.fls-home-expertise .fls-split-section {
    min-height: 407px;
}

.fls-home-expertise .fls-split-section__copy {
    flex: 0 1 650px;
    width: min(49.25%, 650px);
    min-height: 359px;
}

.fls-home-expertise .fls-split-section__content {
    flex: 0 1 484px;
    width: min(100%, 484px);
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.fls-home-expertise .fls-heading-2 {
    width: 100%;
    max-width: none;
    margin: 0;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-regular);
    font-size: var(--font-size-h3);
    line-height: var(--line-height-snug);
    letter-spacing: 0;
    color: var(--brand-dark-green-text);
}

.fls-home-expertise__body {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.fls-home-expertise__body .fls-body {
    margin: 0 !important;

    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: var(--font-size-body);
    line-height: var(--line-height-tight);
    letter-spacing: 0;

    color: var(--brand-dark-green-text);
}

.fls-home-expertise .fls-button {
    color: var(--brand-white);
}

/* homepage --------------------------*/

.hero-row {
    background: url('../../images/bg-hero-homepage.webp') center no-repeat;
    background-size: cover;
    padding: 140px 0 32px 0;
}

.hero-row h1 {
    font-size: calc(40px + 2vw) !important;
    line-height: 1.1 !important;
    color: var(--brand-white);
}

.hero-row h1::after {
    content: '';
    width: 180%;
    height: 2px;
    background-color: var(--brand-yellow);
    display: block;
    position: absolute;
    margin-top: 24px;
    left: -600px;
}

.hero-row p {
    font-size: 24px !important;
    line-height: 36px !important;
    color: var(--brand-white) !important;
}

.hero-row .h3 {
    margin-bottom: 0;
    font-size: 24px;
    color: var(--brand-yellow);
}

.hero-row .proof {
    font-size: 14px !important;
    line-height: 20px !important;
}

.hero-row .ult-carousel-wrapper {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.vc_btn3.vc_btn3-size-md {
    padding: 12px 40px !important;
    font-family: Roboto, Arial !important;
}

.vc_btn3.vc_btn3-style-custom {
    background-image: none !important;
}

.col-blur {
    backdrop-filter: blur(8px) brightness(70%);
    border-radius: 12px;
    padding-bottom: 16px;
    border: 1px solid rgba(255,255,255,0.2);
}

.layered-box-left::before {
    width: 84%;
    /* width: 940px; */
    height: 360px;
    /* border: 2px solid #c9e3df; */
    border-radius: 0 12px 12px 0;
    display: block !important;
    /* background-color: var(--brand-medium-turquoise); */
    background: linear-gradient(135deg,  #003627 0%,#117362 100%);
    position: absolute;
    /* left: -20px; */
    left: -400px;
    z-index: -1;
    margin-top: 100px;
}

.layered-box-right::after {
    width: 84%;
    height: 360px;
    border-radius: 12px 0 0 12px;
    display: block !important;
    /* background-color: var(--brand-medium-turquoise); */
    background: linear-gradient(135deg,  #003627 0%,#117362 100%);
    position: absolute;
    right: -400px;
    z-index: -1;
    margin-top: 100px;
}

/* homepage - approach / project showcase --------------------------*/

.fls-project-showcase {
    margin-top: var(--section-gap-desktop);
    position: relative;
    width: 100vw;
    min-height: 799.353px;
    margin-left: calc(50% - 50vw);
}

.fls-project-showcase::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    width: 100%;
    height: 608px;
    background: var(--brand-dark-green);
    z-index: 0;
}

.fls-project-showcase__inner {
    position: relative;
    z-index: 1;
    width: calc(100% - (2 * var(--layout-desktop-gutter)));
    max-width: var(--layout-container-max);
    margin-left: auto;
    margin-right: auto;
    padding-top: 93px;
}

.fls-project-showcase .fls-eyebrow {
    color: var(--brand-light-green-text);
    text-decoration-color: var(--brand-yellow);
}

/* Our Approach + heading / paragraph */

.fls-project-showcase__intro {
    width: min(87.35%, 1153px);
    display: grid;
    grid-template-columns: minmax(120px, 128px) minmax(0, 985px);
    column-gap: 40px;
    align-items: flex-start;
}

.fls-project-showcase__intro > .fls-eyebrow {
    margin-top: 12px;
}

.fls-project-showcase__intro-content {
    width: 100%;
    max-width: 985px;
    min-height: 148px;
    display: flex;
    flex-direction: column;
    gap: 40px;
    color: var(--brand-light-green-text);
}

.fls-project-showcase__intro-content h2 {
    margin: 0;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-regular);
    font-size: 36px;
    line-height: 1;
    letter-spacing: 0;
    color: var(--brand-light-green-text);
}

.fls-project-showcase__intro-content p {
    margin: 0;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: 20px !important;
    line-height: 1 !important;
    letter-spacing: 0;
    color: var(--brand-light-green-text);
}

/* Our Projects eyebrow */

.fls-project-showcase__projects-label {
    position: absolute;
    top: 348px;
    left: 0;
    z-index: 3;
}

/* Center #our-projects in the viewport on anchor jump */

#our-projects {
    scroll-margin-top: calc(50vh - 12px);
}

/* Project image + cards */

.fls-project-showcase__media {
    position: absolute;
    top: 336px;
    right: 0; 
    width: min(87.27%, 1152px);
    aspect-ratio: 1152 / 463.353;
    margin: 0;
    overflow: hidden;
}

.fls-project-showcase__media > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fls-project-card {
    box-sizing: border-box;
    position: absolute;
    display: flex;
    flex-direction: column;
    padding: var(--card-padding);
    border-radius: 4px;
    color: var(--brand-dark-green);
}

.fls-project-card--midgard,
.fls-project-card--alfheim {
    top: 59px;
    height: 270px;
    min-height: 0;
    background: rgba(255, 255, 255, 0.70);
}

.fls-project-card--midgard {
    left: 4.6%;
    width: 33.6%;
}

.fls-project-card--alfheim {
    left: 43.6%;
    width: 34.6%;
}

.fls-project-card__title {
    margin: 0;

    font-family: var(--font-heading);
    font-weight: var(--font-weight-regular);
    font-size: var(--font-size-h3);
    line-height: 1;
    letter-spacing: 0;
    color: var(--brand-dark-green);
}

.fls-project-card__description {
    margin: 32px 0 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: var(--font-size-body) !important;
    line-height: 1 !important;
    letter-spacing: 0;
    color: var(--brand-dark-green);
}

.fls-project-card .fls-button {
    box-sizing: border-box;
    width: 100%;
    margin-top: auto;
    padding-left: clamp(14px, 1.8vw, 26px);
    padding-right: clamp(14px, 1.8vw, 26px);
    white-space: nowrap;
    color: var(--brand-white);
}

.page-id-317 #main {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/*------------------------------------------------------------------------------
    MISSION PAGE
------------------------------------------------------------------------------*/

/* Mission page - hero -----------------------------------*/

.fls-mission-hero {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 846px;
    margin-left: calc(50% - 50vw);
    background: var(--brand-very-light-green);
    color: var(--brand-dark-green-text);
}

/* Left copy ---------------------------------------------*/

.fls-mission-hero__copy {
    position: absolute;
    top: 228px;
    left: max(
        var(--layout-desktop-gutter),
        calc((100vw - var(--layout-container-max)) / 2)
    );
    width: min(45.14vw, 650px);
    height: auto;
    display: flex;
    align-items: flex-start;
    gap: clamp(48px, 6.25vw, 90px);
}

/* Eyebrow -----------------------------------------------*/

.fls-mission-hero__eyebrow {
    flex: 0 0 clamp(56px, 5.42vw, 78px);
    width: clamp(56px, 5.42vw, 78px); 
    margin: 0;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0;
    color: var(--brand-dark-green-text);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-color: var(--brand-yellow);
    text-decoration-thickness: 2px;
    text-underline-offset: 8px;
}

/* Main content ------------------------------------------*/

.fls-mission-hero__content {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

/* Heading -----------------------------------------------*/

.fls-mission-hero__title {
    width: 100%;
    margin: 0;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-regular);
    font-size: 48px;
    line-height: 1;
    letter-spacing: 0;
    color: var(--brand-dark-green-text);
}

/* Body --------------------------------------------------*/

.fls-mission-hero__body {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.fls-mission-hero__body p {
    width: 100%;
    margin: 0 !important;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light) !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    letter-spacing: 0;
    color: var(--brand-dark-green-text);
}

/* Hero image --------------------------------------------*/

.fls-mission-hero__media {
    position: absolute;
    top: 219px;
    right: 0;
    width: min(46.74vw, 673px);
    height: auto;
    aspect-ratio: 673 / 499;
    overflow: hidden;
    border-radius: 4px;
}

.fls-mission-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Mission page - mission statement ----------------------*/

.fls-mission-statement {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 705px;
    margin-left: calc(50% - 50vw);
    background: var(--brand-white);
}

/* Dark-green background panel ---------------------------*/

.fls-mission-statement__green {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 520px;
    background: var(--brand-dark-green);
}

/* Worker image ------------------------------------------*/

.fls-mission-statement__media {
    position: absolute;

    top: 45px;
    left: 60px;

    width: 649px;
    height: 660px;

    overflow: hidden;

    border-radius: 4px;
}

.fls-mission-statement__media img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

/* Right-side text ---------------------------------------*/

.fls-mission-statement__content {
    position: absolute;

    top: 122px;
    left: 811px;

    width: 569px;
    min-height: 276px;

    display: flex;
    flex-direction: column;

    gap: 40px;

    color: var(--brand-light-green-text);
}

/* Main paragraph ----------------------------------------*/

.fls-mission-statement__description {
    margin: 0 !important;

    font-family: var(--font-body);
    font-weight: var(--font-weight-light) !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    letter-spacing: 0;

    color: var(--brand-light-green-text);
}

/* Mission emphasis --------------------------------------*/

.fls-mission-statement__emphasis {
    margin: 0 !important;

    font-family: var(--font-body);
    font-weight: var(--font-weight-light) !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    letter-spacing: 0;

    color: var(--brand-white);
}

.fls-mission-statement__emphasis strong {
    font-weight: var(--font-weight-semibold) !important;
}

/* CTA row -----------------------------------------------*/

.fls-mission-statement__actions {
    display: flex;
    align-items: center;
    gap: 20px;
}

.fls-mission-statement__actions .fls-button {
    margin: 0;
}

/* Mission page - maturity -------------------------------*/

.fls-mission-maturity {
    box-sizing: border-box;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding-top: 180px;
    background: var(--brand-white);
}

.fls-mission-maturity__inner {
    box-sizing: border-box;
    width: 1150px;
    height: 616px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: center;
    gap: 61px;
}

/* Left text block ---------------------------------------*/

.fls-mission-maturity__content {
    flex: 0 0 441px;
    width: 441px;
    min-height: 332px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

/* Heading -----------------------------------------------*/

.fls-mission-maturity__title {
    margin: 0;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-regular);
    font-size: 36px;
    line-height: 1.2;
    letter-spacing: 0;
    color: var(--brand-dark-green-text);
}

/* Paragraph group ---------------------------------------*/

.fls-mission-maturity__body {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.fls-mission-maturity__body p {
    margin: 0 !important;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light) !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    letter-spacing: 0;
    color: var(--brand-dark-green-text);
}

/* Image -------------------------------------------------*/

.fls-mission-maturity__media {
    flex: 0 0 648px;
    width: 648px;
    height: 616px;
    overflow: hidden;
    border-radius: 4px;
}

.fls-mission-maturity__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Footnote ----------------------------------------------*/

.fls-footnote {
    position: relative;
    display: inline-block;
    font-weight: var(--font-weight-semibold);
    cursor: help;
    transition:
        color 0.15s ease,
        transform 0.15s ease;
}

.fls-footnote:hover,
.fls-footnote:focus {
    color: var(--brand-light-green);
    transform: translateY(-1px);
}

.fls-footnote:focus-visible {
    outline: 1px solid currentColor;
    outline-offset: 2px;
    border-radius: 2px;
}

/* Tooltip */

.fls-footnote::after {
    content: attr(data-footnote);
    position: absolute;
    z-index: 1000;
    left: 50%;
    bottom: calc(100% + 10px);
    transform: translateX(-50%);
    width: max-content;
    max-width: 320px;
    padding: 8px 12px;
    border-radius: 4px;
    background: var(--brand-light-green-card);
    color: var(--brand-dark-green-text);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: var(--font-weight-regular);
    line-height: 1.4;
    text-align: left;
    white-space: pre-line;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity 0.15s ease,
        visibility 0.15s ease;
}

.fls-footnote:hover::after,
.fls-footnote:focus::after {
    opacity: 1;
    visibility: visible;
}

/* Mission page - expectations banner --------------------*/

.fls-mission-expectations {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 329px;
    margin-top: 180px;
    margin-left: calc(50% - 50vw);
    overflow: hidden;
}

/* Background image --------------------------------------*/

.fls-mission-expectations__image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Banner heading ----------------------------------------*/

.fls-mission-expectations__title {
    position: absolute;
    top: 152px;
    left: 50%;
    width: 699px;
    margin: 0;
    transform: translateX(-50%);
    font-family: var(--font-heading);
    font-weight: var(--font-weight-regular);
    font-size: 36px;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    color: var(--brand-white);
    text-shadow: 0 0 50px #002519;
}

/* Mission page - verifiability -------------------------*/

.fls-mission-verifiability {
    box-sizing: border-box;
    width: 100vw;
    margin-top: 180px;
    margin-left: calc(50% - 50vw);
    background: var(--brand-white);
}

.fls-mission-verifiability__inner {
    box-sizing: border-box;
    width: 1214px;
    height: 407px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: center;
    gap: 80px;
}

/* Image -------------------------------------------------*/

.fls-mission-verifiability__media {
    flex: 0 0 650px;
    width: 650px;
    height: 407px;
    overflow: hidden;
    border-radius: 4px;
}

.fls-mission-verifiability__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Right-side copy ---------------------------------------*/

.fls-mission-verifiability__content {
    flex: 0 0 484px;
    width: 484px;
    display: flex;
    flex-direction: column;
    gap: 28px;
}

/* Normal paragraph --------------------------------------*/

.fls-mission-verifiability__description {
    margin: 0 !important;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light) !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    letter-spacing: 0;
    color: var(--brand-dark-green-text);
}

/* Emphasised final line ---------------------------------*/

.fls-mission-verifiability__emphasis {
    margin: 0 !important;
    font-family: var(--font-body);
    font-weight: var(--font-weight-semibold) !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    letter-spacing: 0;
    color: var(--brand-dark-green-text);
}

/* Mission page - proof ---------------------------------*/

.fls-mission-proof {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 856px;
    margin-left: calc(50% - 50vw);
    margin-top: 180px;
    color: var(--brand-light-green-text);
}

/* Dark-green background -------------------------------*/

.fls-mission-proof__background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 608px;
    background: var(--brand-dark-green);
}

/* Top copy frame ---------------------------------------*/

.fls-mission-proof__copy {
    position: absolute;
    top: 93px;
    left: 60px;
    width: 1153px;
    display: flex;
    align-items: flex-start;
    gap: 81px;
    z-index: 2;
}

/* Eyebrow ----------------------------------------------*/

.fls-mission-proof__eyebrow {
    flex: 0 0 87px;
    margin: 0;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0;
    color: var(--brand-light-green-text);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-color: var(--brand-yellow);
    text-decoration-thickness: 2px;
    text-underline-offset: 8px;
}

/* Main copy --------------------------------------------*/

.fls-mission-proof__content {
    flex: 0 0 985px;
    width: 985px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 36px;
}

.fls-mission-proof__title {
    width: 985px;
    margin: 0;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-regular);
    font-size: 36px;
    line-height: 1;
    letter-spacing: 0;
    color: var(--brand-white);
}

.fls-mission-proof__description {
    width: 877px;
    margin: 0 !important;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light) !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    letter-spacing: 0;
    color: var(--brand-light-green-text);
}

/* CTA --------------------------------------------------*/

.fls-mission-proof__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    margin: 0;
    padding: 10px 26px;
    border-radius: 4px;
    background: var(--brand-light-green);
    color: var(--brand-white) !important;
    font-family: var(--font-body);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-button);
    line-height: 1;
    text-transform: uppercase;
    text-decoration: none;
}

/* Overflowing image ------------------------------------*/

.fls-mission-proof__image {
    position: absolute;
    top: 336px;
    left: 228px;
    display: block;
    width: 1152px;
    height: 520px;
    object-fit: cover;
    z-index: 2;
}


/*------------------------------------------------------------------------------
    PROJECT PAGES - MIDGARD / ALFHEIM
------------------------------------------------------------------------------*/

/* Project page - hero --------------------*/

.fls-midgard-hero,
.fls-alfheim-hero {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 846px;
    margin-left: calc(50% - 50vw);
    background: var(--brand-very-light-green);
    color: var(--brand-dark-green-text);
}

/* Left copy ------------------------------*/

.fls-midgard-hero__copy,
.fls-alfheim-hero__copy {
    position: absolute;
    top: 228px;
    left: max(
        var(--layout-desktop-gutter),
        calc((100vw - var(--layout-container-max)) / 2)
    );
    width: min(45.14vw, 650px);
    height: auto;
    display: flex;
    align-items: flex-start;
    gap: clamp(48px, 6.25vw, 90px);
}

/* Eyebrow --------------------------------*/

.fls-midgard-hero__eyebrow,
.fls-alfheim-hero__eyebrow {
    flex: 0 0 clamp(56px, 5.42vw, 79px);
    width: clamp(56px, 5.42vw, 79px);
    min-width: 0;
    margin: 0;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: 14px;
    line-height: var(--line-height-relaxed);
    letter-spacing: 0;
    color: var(--brand-dark-green-text);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-color: var(--brand-yellow);
    text-decoration-thickness: 2px;
    text-underline-offset: 8px;
}

/* Main text block ------------------------*/

.fls-midgard-hero__content,
.fls-alfheim-hero__content {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

/* Minor heading --------------------------*/

.fls-midgard-hero__kicker,
.fls-alfheim-hero__kicker {
    width: 165px;
    margin: 0;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-regular);
    font-size: 22px;
    line-height: 1;
    letter-spacing: 0;
    color: var(--brand-dark-green-text);
}

/* Main heading ---------------------------*/

.fls-midgard-hero__title,
.fls-alfheim-hero__title {
    width: 100%;
    margin: 0;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-regular);
    font-size: 48px;
    line-height: 1.2;
    letter-spacing: 0;
    color: var(--brand-dark-green-text);
}

/* Description ----------------------------*/

.fls-midgard-hero__description,
.fls-alfheim-hero__description {
    width: 100%;
    margin: 0 !important;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light) !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    letter-spacing: 0;
    color: var(--brand-dark-green-text);
}

/* Hero image -----------------------------*/

.fls-midgard-hero__media,
.fls-alfheim-hero__media {
    position: absolute;
    top: 219px;
    right: 0;
    left: auto;
    width: min(46.74vw, 673px);
    height: auto;
    aspect-ratio: 673 / 499;
    overflow: hidden;
    border-radius: 4px;
}

.fls-midgard-hero__media img,
.fls-alfheim-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Project page - mosaic / alfheim --------*/

.fls-midgard-mosaic,
.fls-alfheim-biochar {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 705px;
    margin-left: calc(50% - 50vw);
    background: var(--brand-white);
}

/* Dark-green background ------------------*/

.fls-midgard-mosaic__background,
.fls-alfheim-biochar__background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 436px;
    background: var(--brand-dark-green);
}

/* Overflowing image -------------------------------------*/

.fls-midgard-mosaic__media,
.fls-alfheim-biochar__media {
    position: absolute;
    top: 45px;
    left: 60px;
    width: 649px;
    height: 660px;
    overflow: hidden;
    border-radius: 4px;
    z-index: 2;
}

.fls-midgard-mosaic__media img,
.fls-alfheim-biochar__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Right-side text ---------------------------------------*/

.fls-midgard-mosaic__content,
.fls-alfheim-biochar__content {
    position: absolute;
    top: 119px;
    left: 811px;
    width: 569px;
    min-height: 198px;
    display: flex;
    flex-direction: column;
    gap: 40px;
    z-index: 2;
}

.fls-midgard-mosaic__content p,
.fls-alfheim-biochar__content p {
    margin: 0 !important;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light) !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    letter-spacing: 0;
    color: var(--brand-light-green-text);
}

/* Project page - metrics --------------------------------*/

.fls-midgard-metrics,
.fls-alfheim-metrics {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 1173px;
    margin-top: 180px;
    margin-left: calc(50% - 50vw);
    background: var(--brand-white);
}

/* Section heading ---------------------------------------*/

.fls-midgard-metrics__heading,
.fls-alfheim-metrics__heading {
    box-sizing: border-box;
    width: 100%;
    height: 25px;
    margin: 0;
    padding-left: 60px;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-regular);
    font-size: 36px;
    line-height: 1;
    letter-spacing: 0;
    color: var(--brand-dark-green-text);
}

/* Main frame beneath heading ----------------------------*/

.fls-midgard-metrics__body,
.fls-alfheim-metrics__body {
    position: absolute;
    top: 65px;
    left: 0;
    width: 100%;
    height: 1108px;
}

/* Metrics bar -------------------------------------------*/

.fls-midgard-metrics__bar,
.fls-alfheim-metrics__bar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 156px;
    background: var(--brand-dark-green);
}

/* Four metric columns -----------------------------------*/

.fls-midgard-metrics__stats {
    position: absolute;
    top: 32px;
    left: 59px;
    width: 1325px;
    height: 93px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: stretch;
}

.fls-midgard-metrics__stat,
.fls-alfheim-metrics__stat {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    height: 93px;
}

.fls-midgard-metrics__stat {
    width: 100%;
}

/* Four metric columns -----------------------------------*/

.fls-alfheim-metrics__stats {
    position: absolute;
    top: 32px;
    left: 38px;
    width: 1364px;
    height: 93px;
    display: flex;
    align-items: stretch;
    gap: 40px;
}

.fls-alfheim-metrics__stat--pyrolysis {
    width: 312px;
}

.fls-alfheim-metrics__stat--biochar {
    width: 369px;
}

.fls-alfheim-metrics__stat--cdr {
    width: 263px;
}

.fls-alfheim-metrics__stat--energy {
    width: 300px;
}

/* Yellow vertical rules ---------------------------------*/

.fls-midgard-metrics__separator,
.fls-alfheim-metrics__separator {
    flex: 0 0 1px;
    width: 1px;
    height: 93px;
    background: var(--brand-yellow);
}

/* Metric copy -------------------------------------------*/

.fls-midgard-metrics__stat-copy,
.fls-alfheim-metrics__stat-copy {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.fls-midgard-metrics__value,
.fls-alfheim-metrics__value {
    margin: 0;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-regular);
    font-size: 40px;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
    color: var(--brand-yellow);
}

.fls-midgard-metrics__value sub,
.fls-alfheim-metrics__value sub {
    font-size: 0.6em;
    line-height: 0;
}

.fls-midgard-metrics__label,
.fls-alfheim-metrics__label {
    margin: 0;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: 18px;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
    color: var(--brand-white);
}

.fls-midgard-metrics__stat--conservation
.fls-midgard-metrics__label {
    white-space: normal;
    width: 270px;
    line-height: var(--line-height-snug);
}

.fls-alfheim-metrics__label--energy {
    white-space: normal;
    width: 279px;
    line-height: var(--line-height-snug);
}

/* Background image area ---------------------------------*/

.fls-midgard-metrics__model,
.fls-alfheim-metrics__model {
    position: absolute;
    top: 156px;
    left: 0;
    width: 100%;
    height: 952px;
    overflow: hidden;
}

.fls-midgard-metrics__background-image,
.fls-alfheim-metrics__background-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100% !important;
    object-fit: cover;
}

/* Midgard metrics - eyebrow and 2x2 overlay -------------*/

.fls-midgard-metrics__model,
.fls-alfheim-metrics__model {
    position: relative;
}

/* Complete eyebrow + cards frame ------------------------*/

.fls-midgard-metrics__overlay,
.fls-alfheim-metrics__overlay {
    position: absolute;
    z-index: 2;
    top: 75px;
    left: 60px;
    width: 1262.116px;
    height: 800px;
}

/* Metrics eyebrow ---------------------------------------*/

.fls-midgard-metrics__eyebrow,
.fls-alfheim-metrics__eyebrow {
    position: absolute;
    top: 0;
    left: 0;
    width: 68px;
    margin: 0;
    padding: 0;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0;
    color: var(--brand-white);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-color: var(--brand-yellow);
    text-decoration-thickness: 2px;
    text-underline-offset: 8px;
    text-decoration-skip-ink: auto;
}

/* 2 × 2 Card grid ---------------------------------------*/

/* Project metrics card icons ----------------------------*/

.fls-project-metrics__icon {
    position: absolute;
    top: 42px;
    left: 46px;
    display: block;
    width: auto;
    height: auto;
    max-width: none;
}

.fls-midgard-metrics__cards,
.fls-alfheim-metrics__cards {
    position: absolute;
    top: 0;
    left: 372px;
    display: grid;
    grid-template-columns: 424px 424px;
    grid-template-rows: 379px 380px;
    column-gap: 42px;
    row-gap: 41px;
    width: 890.116px;
    height: 800px;
    margin: 0;
    padding: 0;
}

/* Individual cards --------------------------------------*/

.fls-midgard-metrics__card,
.fls-alfheim-metrics__card {
    position: relative;
    box-sizing: border-box;
    width: 424px;
    height: 100%;
    margin: 0;
    padding: 0;
    background: var(--brand-white);
}

/* Card text ---------------------------------------------*/

.fls-midgard-metrics__card-text,
.fls-alfheim-metrics__card-text {
    position: absolute;
    top: 192px;
    left: 46.39px;
    box-sizing: border-box;
    width: 324.101px;
    margin: 0;
    padding: 0;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    letter-spacing: 0;
    color: var(--brand-dark-green-text) !important;
}

/* Bottom-row cards --------------------------------------*/

.fls-midgard-metrics__card--3 .fls-midgard-metrics__card-text,
.fls-midgard-metrics__card--4 .fls-midgard-metrics__card-text,
.fls-alfheim-metrics__card--3 .fls-alfheim-metrics__card-text,
.fls-alfheim-metrics__card--4 .fls-alfheim-metrics__card-text {
    top: 190.08px;
}

/* Midgard page - Progress -------------------------------*/

.fls-midgard-progress,
.fls-alfheim-progress {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 547px;
    margin-top: 180px;
    margin-left: calc(50% - 50vw);
    background: var(--brand-dark-green);
    color: var(--brand-white);
}

/* Center text frame -------------------------------------*/

.fls-midgard-progress__content,
.fls-alfheim-progress__content {
    position: absolute;
    top: 163px;
    left: 50%;
    width: 699px;
    height: 198px;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    text-align: center;
}

/* Heading -----------------------------------------------*/

.fls-midgard-progress__title,
.fls-alfheim-progress__title {
    width: 699px;
    margin: 0;
    padding: 0;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-regular);
    font-size: 36px;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    color: var(--brand-white);
}

/* Description -------------------------------------------*/

.fls-midgard-progress__description,
.fls-alfheim-progress__description {
    width: 531px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-align: center;
    color: var(--brand-white) !important;
}

/* CTA ---------------------------------------------------*/

.fls-midgard-progress__button,
.fls-alfheim-progress__button {
    box-sizing: border-box;
    width: 294px;
    height: 33px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 26px;
    border: 0;
    border-radius: 4px;
    background: var(--brand-light-green);
    color: var(--brand-white) !important;
    font-family: var(--font-body);
    font-weight: var(--font-weight-semibold);
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0;
    text-transform: uppercase;
    text-decoration: none !important;
}

/* Project page - Partners -------------------------------*/

.fls-project-partners {
    box-sizing: border-box;
    width: 100vw;
    height: 551px;
    margin-top: 180px;
    margin-left: calc(50% - 50vw);
    background: var(--brand-white);
    color: var(--brand-dark-green-text);
}

/* Main Figma frame --------------------------------------*/

.fls-project-partners__inner {
    box-sizing: border-box;
    width: 1379px;
    height: 551px;
    margin: 0 auto;
    padding-top: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    padding-left: 227px;
}

/* Main text frame ---------------------------------------*/

.fls-project-partners__heading {
    width: 1142px;
    height: 25px;
    margin: 0 0 40px 0;
    padding: 0;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-regular);
    font-size: 36px;
    line-height: 1;
    letter-spacing: 0;
    color: var(--brand-dark-green-text);
}

/* Content below heading ---------------------------------*/

.fls-project-partners__body {
    position: relative;
    width: 1142px;
    height: 466px;
    display: flex;
    align-items: flex-start;
}

/* Intro copy --------------------------------------------*/

.fls-project-partners__intro {
    flex: 0 0 315px;
    width: 315px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

/* Yellow vertical divider -------------------------------*/

.fls-project-partners__divider {
    flex: 0 0 1px;
    width: 1px;
    height: 466px;
    margin-left: 84px;
    margin-right: 36px;
    background: var(--brand-yellow);
}

.fls-project-partners__divider--alfheim {
    height: 409px;
}

/* Partner list ------------------------------------------*/

.fls-project-partners__list {
    flex: 0 0 706px;
    width: 706px;
    height: 466px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.fls-project-partners__list--alfheim {
    justify-content: flex-start;
    gap: 70px;
}

/* Individual partner row --------------------------------*/

.fls-project-partners__partner {
    box-sizing: border-box;
    width: 706px;
    min-height: 65px;
    display: grid;
    grid-template-columns: 171px 1fr;
    column-gap: 34px;
    align-items: start;
    margin: 0;
    padding: 0;
}

/* Logo column -------------------------------------------*/

.fls-project-partners__logo-wrap {
    box-sizing: border-box;
    width: 171px;
    height: 65px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}

.fls-project-partners__logo {
    display: block;
    width: auto;
    height: auto;
    max-width: 161px;
    max-height: 56px;
    object-fit: contain;
    object-position: left top;
}

/* Text column -------------------------------------------*/

.fls-project-partners__copy {
    width: 501px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Partner heading ---------------------------------------*/

.fls-project-partners__name {
    width: 501px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: 22px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

/* Partner description -----------------------------------*/

.fls-project-partners__description {
    width: 464px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-project-partners__list--alfheim
.fls-project-partners__description {
    line-height: 1.4 !important;
}

/* Project page - Governance and Sustainability ----------*/

.fls-project-sustainability {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 1053px;
    margin-top: 180px;
    margin-left: calc(50% - 50vw);
    background: var(--brand-white);
}

.fls-project-sustainability--alfheim {
    height: 908px;
}

/* Dark green background ---------------------------------*/

.fls-project-sustainability__green {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 792px;
    background: var(--brand-dark-green);
}

.fls-project-sustainability--alfheim
.fls-project-sustainability__green {
    height: 620px;
}

/* Left content frame ------------------------------------*/

.fls-project-sustainability__content {
    position: absolute;
    top: 70px;
    left: 228px;
    width: 567px;
    height: 590px;
    display: flex;
    flex-direction: column;
    gap: 40px;
    color: var(--brand-light-green-text);
}

.fls-project-sustainability--alfheim
.fls-project-sustainability__content {
    height: auto;
}

/* Heading -----------------------------------------------*/

.fls-project-sustainability__heading {
    width: 566px;
    margin: 0;
    padding: 0;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-regular);
    font-size: 36px;
    line-height: 1;
    letter-spacing: 0;
    color: var(--brand-light-green-text);
}

/* Main copy ---------------------------------------------*/

.fls-project-sustainability__text {
    width: 558px;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: 0;
    color: var(--brand-light-green-text);
}

.fls-project-sustainability__text > p {
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
    font: inherit !important;
    color: inherit !important;
}

/* Principles / bullet list ------------------------------*/

.fls-project-sustainability__principles {
    margin: 0;
    padding: 0;
}

.fls-project-sustainability__principles p {
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    color: var(--brand-light-green-text) !important;
}

.fls-project-sustainability__principles ul {
    margin: 0 !important;
    padding-left: 28px !important;
    list-style-type: disc !important;
    list-style-position: outside !important;
    color: var(--brand-light-green-text) !important;
}

.fls-project-sustainability__principles li {
    display: list-item !important;
    margin: 0 0 8px 0 !important;
    padding-left: 12px !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    color: var(--brand-light-green-text) !important;
}

.fls-project-sustainability__principles li::before {
    content: none !important;
    display: none !important;
}

.fls-project-sustainability__principles li::marker {
    color: var(--brand-light-green-text) !important;
    font-size: 0.75em;
}

/* CTA area ----------------------------------------------*/

.fls-project-sustainability__actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}

/* Filled button -----------------------------------------*/

.fls-project-sustainability__button {
    width: 371px;
    min-height: 33px;
    margin: 0 !important;
}

/* Outline button ----------------------------------------*/

.fls-project-sustainability__button--outline {
    width: 266px;
}

/* Right pale green panel --------------------------------*/

.fls-project-sustainability__panel {
    position: absolute;
    z-index: 2;
    top: 276px;
    left: 900px;
    box-sizing: border-box;
    width: 480px;
    height: 777px;
    border-radius: 4px;
    background: var(--brand-light-green-text);
    color: var(--brand-dark-green-text);
}

.fls-project-sustainability--alfheim
.fls-project-sustainability__panel {
    height: 632px;
}

/* Inner vertical-flow frame -----------------------------*/

.fls-project-sustainability__panel-inner {
    position: absolute;
    top: 45px;
    left: 81px;
    width: 318px;
    height: 688px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.fls-project-sustainability--alfheim
.fls-project-sustainability__panel-inner {
    height: auto;
}

/* Intro paragraph ---------------------------------------*/

.fls-project-sustainability__panel-intro {
    width: 317px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

/* Primary SDGs heading ----------------------------------*/

.fls-project-sustainability__panel-heading {
    width: 144px;
    margin: 0;
    padding: 0;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-regular);
    font-size: 22px;
    line-height: 1;
    letter-spacing: 0;
    color: var(--brand-dark-green-text);
}

/* SDG grid ----------------------------------------------*/

.fls-project-sustainability__sdgs {
    display: grid;
    grid-template-columns: 150px 150px;
    grid-template-rows: 150px 150px 150px;
    column-gap: 18px;
    row-gap: 20px;
    width: 318px;
    height: 490px;
}

.fls-project-sustainability--alfheim
.fls-project-sustainability__sdgs {
    grid-template-columns: 150px 150px;
    grid-template-rows: 150px 150px;
    width: 318px;
    height: 320px;
    column-gap: 18px;
    row-gap: 20px;
}

.fls-project-sustainability__sdgs img {
    display: block;
    width: 150px;
    height: 150px;
    object-fit: contain;
}

/* Contact page - Hero -----------------------------------*/

.fls-contact-hero {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 577px;
    margin-left: calc(50% - 50vw);
    background: var(--brand-very-light-green);
}

/* Eyebrow + content frame ------------------------------*/

.fls-contact-hero__frame {
    position: absolute;
    top: 228px;
    left: 60px;
    width: 650px;
    height: 180px;
    display: flex;
    align-items: flex-start;
    gap: 82px;
}

/* Eyebrow -----------------------------------------------*/

.fls-contact-hero__eyebrow {
    flex: 0 0 54px;
    width: 54px;
    margin: 0;
    padding: 0;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0;
    color: var(--brand-dark-green-text);
    white-space: nowrap;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-color: var(--brand-yellow);
    text-decoration-thickness: 2px;
    text-underline-offset: 8px;
    text-decoration-skip-ink: auto;
}

/* Main text frame ---------------------------------------*/

.fls-contact-hero__content {
    width: 514px;
    height: 180px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

/* Heading -----------------------------------------------*/

.fls-contact-hero__title {
    width: 514px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: 48px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

/* Paragraph block ---------------------------------------*/

.fls-contact-hero__copy {
    width: 481px;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: 0;
    color: var(--brand-dark-green-text);
}

.fls-contact-hero__copy p {
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
    font: inherit !important;
    color: inherit !important;
}

.fls-contact-hero__copy p:last-child {
    margin-bottom: 0 !important;
}

/* Contact page - Form area ------------------------------*/

.fls-contact-form-section {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 972px;
    margin-left: calc(50% - 50vw);
    background: var(--brand-white);
}

/* Full-width teal background band -----------------------*/

.fls-contact-form-section__green {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 366px;
    background: var(--brand-light-green);
}

/* Dark-green form panel ---------------------------------*/

.fls-contact-form {
    position: absolute;
    z-index: 2;
    top: -88px;
    left: 175px;
    box-sizing: border-box;
    width: 749px;
    height: 881px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: var(--brand-dark-green);
}


.fls-contact-form__honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}


/* Contact form - shared fields --------------------------*/

.fls-contact-form__field,
.fls-contact-form__message {
    box-sizing: border-box;
    margin: 0 !important;
    border: 1px solid #F8FFFD !important;
    border-radius: 4px !important;
    outline: 0;
    background: var(--brand-very-light-green) !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

/* Placeholder -------------------------------------------*/

.fls-contact-form__field::placeholder,
.fls-contact-form__message::placeholder {
    opacity: 1;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    color: var(--brand-dark-green-text);
}

/* First / Last name row ---------------------------------*/

.fls-contact-form__row--names {
    position: absolute;
    top: 72px;
    left: 68px;
    width: 614px;
    height: 45px;
    display: flex;
    gap: 23px;
}

.fls-contact-form__row--names .fls-contact-form__field {
    width: 295px;
    height: 45px;
    padding: 0 30px !important;
}

.fls-contact-form__row--names .fls-contact-form__field:last-child {
    width: 296px;
}

/* Full-width fields -------------------------------------*/

.fls-contact-form__field--full {
    position: absolute;
    left: 68px;
    width: 614px;
    height: 45px;
    padding: 0 30px !important;
}

/* Email */

.fls-contact-form__field--full[name="email"] {
    top: 143px;
}

/* Phone */

.fls-contact-form__field--full[name="phone"] {
    top: 213px;
}

/* Additional Figma field */

.fls-contact-form__field--full[name="phone_secondary"] {
    top: 354px;
}

/* Country dropdown --------------------------------------*/

.fls-contact-form__country-wrap {
    position: absolute;
    top: 284px;
    left: 68px;
    width: 295px;
    height: 45px;
}

.fls-contact-form__country-wrap
.fls-contact-form__country {
    box-sizing: border-box !important;
    width: 295px !important;
    height: 45px !important;
    margin: 0 !important;
    padding: 0 50px 0 30px !important;
    border: 1px solid #F8FFFD !important;
    border-radius: 4px !important;
    background-color: var(--brand-very-light-green) !important;
    background-image: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    outline: none !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: 18px !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
    cursor: pointer;
}

.fls-contact-form__country-wrap
.fls-contact-form__country option {
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: 18px !important;
    color: var(--brand-dark-green-text) !important;
    background: var(--brand-very-light-green) !important;
}

/* Select2 country field ---------------------------------*/

.fls-contact-form__country-wrap .select2-container {
    display: block !important;
    width: 295px !important;
    height: 45px !important;
}

.fls-contact-form__country-wrap
.select2-container .select2-selection--single {
    position: relative !important;
    box-sizing: border-box !important;
    width: 295px !important;
    height: 45px !important;
    margin: 0 !important;
    padding: 0 50px 0 30px !important;
    border: 1px solid #F8FFFD !important;
    border-radius: 4px !important;
    background: var(--brand-very-light-green) !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Visible Country text */

.fls-contact-form__country-wrap
.select2-selection__rendered {
    height: 45px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: 18px !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

/* Remove Select2's native arrow */

.fls-contact-form__country-wrap
.select2-selection__arrow {
    display: none !important;
}

/* Figma-style teal dropdown triangle */

.fls-contact-form__country-wrap
.select2-selection--single::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 18px;
    width: 0;
    height: 0;
    transform: translateY(-35%);
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 12px solid #28A28D;
    pointer-events: none;
    z-index: 5;
}

/* Select2 opened country dropdown */

.select2-container--default
.select2-results > .select2-results__options {
    max-height: 360px !important;
    overflow-y: auto !important;
}

/* Country rows */

.select2-container--default
.select2-results__option {
    padding: 8px 20px !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    color: var(--brand-dark-green-text) !important;
}

/* Message -----------------------------------------------*/

.fls-contact-form__message {
    position: absolute;
    top: 425px;
    left: 68px;
    width: 614px;
    height: 259px;
    padding: 27px 30px !important;
    resize: none;
}

.fls-contact-form__message::placeholder {
    font-weight: var(--font-weight-medium);
}

/* Terms -------------------------------------------------*/

.fls-contact-form__terms {
    position: absolute;
    top: 714px;
    left: 63px;
    width: 527px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: 16px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    color: var(--brand-light-green-text) !important;
}

.fls-contact-form__terms a {
    color: var(--brand-white) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
}

/* Submit CTA --------------------------------------------*/

.fls-contact-form__submit {
    position: absolute;
    top: 760px;
    left: 63px;
    width: 168px;
    height: 33px;
    margin: 0 !important;
    cursor: pointer;
}

/* Contact page - Grievance channel ----------------------*/

.fls-contact-grievance {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 705px;
    margin-left: calc(50% - 50vw);
    margin-bottom: 180px;
    background: var(--brand-white);
}

.fls-contact-grievance__background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 387px;
    background: var(--brand-dark-green);
}

.fls-contact-grievance__media {
    position: absolute;
    top: 45px;
    left: 60px;
    width: 649px;
    height: 660px;
    overflow: hidden;
    border-radius: 4px;
    z-index: 2;
}

.fls-contact-grievance__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fls-contact-grievance__content {
    position: absolute;
    top: 124px;
    left: 811px;
    width: 569px;
    z-index: 2;
}

.fls-contact-grievance__title {
    width: 569px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: 36px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    color: var(--brand-light-green-text) !important;
}

.fls-contact-grievance__body {
    margin-top: 40px;
    width: 569px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.fls-contact-grievance__description {
    width: 569px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: 20px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    color: var(--brand-light-green-text) !important;
}

.fls-contact-grievance__button {
    width: 215px;
    height: 33px;
    margin: 0 !important;
}

/*------------------------------------------------------------------------------
    TEAM PAGE
------------------------------------------------------------------------------*/

/* Team Hero ---------------------------------------------*/

.fls-team-hero {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 846px;
    margin-left: calc(50% - 50vw);
    overflow: hidden;
    background: var(--brand-very-light-green);
}

.fls-team-hero__copy {
    position: absolute;
    top: 228px;
    left: 60px;
    display: flex;
    align-items: flex-start;
    gap: 89px;
    width: 650px;
    height: 258px;
}

.fls-team-hero__eyebrow {
    flex: 0 0 55px;
    width: 55px;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0;
    color: var(--brand-dark-green-text);
    text-decoration-line: underline;
    text-decoration-color: var(--brand-yellow);
    text-decoration-thickness: 2px;
    text-underline-offset: 8px;
    white-space: nowrap;
}

.fls-team-hero__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
    width: 506px;
}

.fls-team-hero__kicker {
    width: 100%;
    margin: 0;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-regular);
    font-size: 22px;
    line-height: 1;
    letter-spacing: 0;
    color: var(--brand-dark-green-text);
}

.fls-team-hero__title {
    width: 100%;
    margin: 0;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-regular);
    font-size: 48px;
    line-height: 1;
    letter-spacing: 0;
    color: var(--brand-dark-green-text);
}

.fls-team-hero__description {
    box-sizing: border-box;
    width: 481px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-team-hero__media {
    position: absolute;
    top: 219px;
    left: 795px;
    width: 673px;
    height: 499px;
    overflow: hidden;
    border-radius: 4px;
}

.fls-team-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Management Team ---------------------------------------*/

.fls-team-management {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 1587px;
    margin-left: calc(50% - 50vw);
    overflow: hidden;
    background: var(--brand-white);
    border: 0;
}

.fls-team-management__green {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 366px;
    background: var(--brand-dark-green);
}

.fls-team-management__heading-row {
    position: absolute;
    z-index: 3;
    top: 93px;
    left: 60px;
    width: 1153px;
    height: 25px;
    display: flex;
    align-items: flex-start;
    gap: 109px;
}

.fls-team-management__eyebrow {
    flex: 0 0 57px;
    width: 57px;
    margin: 0;
    padding: 0;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
    color: var(--brand-light-green-text);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-color: var(--brand-yellow);
    text-decoration-thickness: 2px;
    text-underline-offset: 8px;
}

.fls-team-management__heading {
    width: 987px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: 36px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    color: var(--brand-light-green-text) !important;
}

.fls-team-management__grid {
    position: absolute;
    z-index: 2;
    top: 157px;
    left: 228px;
    width: 1150px;
    display: grid;
    grid-template-columns: repeat(3, 340px);
    grid-template-rows: repeat(2, 704px);
    column-gap: 65px;
    row-gap: 22px;
}

.fls-team-member {
    position: relative;
    box-sizing: border-box;
    width: 340px;
    height: 704px;
    overflow: visible;
}

.fls-team-member__photo-bg {
    position: absolute;
    top: 123px;
    left: 0;
    width: 340px;
    height: 346px;
    border-radius: 4px;
    background: var(--brand-light-green-card-alt);
}

.fls-team-member__photo {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 50%;
    display: block;
    height: 469px;
    width: auto;
    max-width: none;
    transform: translateX(-50%);
    object-fit: contain;
    object-position: center bottom;
}

.fls-team-member__info {
    position: absolute;
    z-index: 3;
    top: 469px;
    left: 0;
    box-sizing: border-box;
    width: 340px;
    height: 219px;
    border-radius: 4px;
    background: var(--brand-dark-green);
}

.fls-team-member__name {
    position: absolute;
    top: 26px;
    left: 25px;
    width: 290px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: 36px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    color: var(--brand-white) !important;
}

.fls-team-member__divider {
    position: absolute;
    top: 116px;
    left: 25px;
    width: 80px;
    height: 0;
    border-top: 3px solid #ADD5CC;
    border-radius: 4px;
}

.fls-team-member__role {
    position: absolute;
    top: 148px;
    left: 25px;
    width: 275px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    color: var(--brand-white) !important;
}

/* Portrait-specific sizing */

.fls-team-member--alessandro .fls-team-member__photo {
    width: 340px;
    height: 470px;
}

.fls-team-member--charlie .fls-team-member__photo {
    width: 375px;
    height: 470px;
}

.fls-team-member--carlos .fls-team-member__photo {
    width: 340px;
    height: 470px;
}

.fls-team-member--joerg .fls-team-member__photo {
    width: 360px;
    height: 470px;
}

.fls-team-member--thomas .fls-team-member__photo {
    width: 401px;
    height: 470px;
}

.fls-team-member--gerrit .fls-team-member__photo {
    width: 375px;
    height: 470px;
}

/* Careers -----------------------------------------------*/

.fls-team-careers {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 508px;
    margin-top: 167px;
    margin-left: calc(50% - 50vw);
    background: var(--brand-white);
}

.fls-team-careers__copy {
    position: absolute;
    top: 88px;
    left: 60px;
    width: 622px;
    height: 350px;
    display: flex;
    align-items: flex-start;
    gap: 115px;
}

.fls-team-careers__eyebrow {
    flex: 0 0 48px;
    width: 48px;
    margin: 0;
    padding: 0;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
    color: var(--brand-dark-green-text);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-color: var(--brand-yellow);
    text-decoration-thickness: 2px;
    text-underline-offset: 8px;
}

.fls-team-careers__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 459px;
    gap: 40px;
}

.fls-team-careers__title {
    width: 459px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: 36px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-team-careers__title sup {
    font-size: 0.55em;
    line-height: 0;
    vertical-align: super;
}

.fls-team-careers__description {
    width: 459px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-team-careers__button {
    width: 194px;
    height: 33px;
    margin: 0 !important;
}

.fls-team-careers__panel {
    width: 420px;
    max-width: calc(100vw - 40px);
    max-height: 0;
    margin-top: 0;
    margin-left: -100px;
    overflow: visible;
    opacity: 0;
    transform: translateY(-8px);
    pointer-events: none;
    transition:
        max-height 0.35s ease,
        opacity 0.25s ease,
        transform 0.35s ease,
        margin-top 0.35s ease;
}

.fls-team-careers__panel.is-open {
    max-height: 140px;
    margin-top: -30px;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.fls-team-careers__panel-inner {
    box-sizing: border-box;
    width: 100%;
    padding: 22px 28px;
    border-radius: 4px;
    background: rgba(246, 252, 250, 0.98);
    box-shadow:
        0 10px 30px rgba(0, 37, 25, 0.18),
        0 3px 10px rgba(0, 37, 25, 0.10);
}

.fls-team-careers__panel-text {
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: var(--font-size-body) !important;
    line-height: var(--line-height-snug) !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-team-careers__panel-text a {
    color: var(--brand-dark-green-text) !important;
    font-weight: var(--font-weight-regular) !important;
}

.fls-team-careers__panel-text a:hover,
.fls-team-careers__panel-text a:focus {
    color: var(--brand-light-green) !important;
}

.fls-team-careers__media {
    position: absolute;
    top: 0;
    left: 743px;
    width: 637px;
    height: 508px;
    overflow: hidden;
    border-radius: 4px;
}

.fls-team-careers__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*------------------------------------------------------------------------------
    NEWS & INSIGHTS PAGE
------------------------------------------------------------------------------*/

/* Hero --------------------------------------------------*/

.fls-insights-hero {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 540px;
    margin-left: calc(50% - 50vw);
    overflow: hidden;
    background: var(--brand-very-light-green);
}

.fls-insights-hero__copy {
    position: absolute;
    z-index: 2;
    top: 228px;
    left: 60px;
    width: 650px;
    height: 218px;
    display: flex;
    align-items: flex-start;
    gap: 90px;
}

.fls-insights-hero__eyebrow {
    flex: 0 0 100px;
    width: 100px;
    margin: 0;
    padding: 0;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
    color: var(--brand-dark-green-text);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-color: var(--brand-yellow);
    text-decoration-thickness: 2px;
    text-underline-offset: 8px;
    text-decoration-skip-ink: auto;
}

.fls-insights-hero__title {
    flex: 0 0 460px;
    width: 460px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: 48px !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-insights-hero__title sup {
    font-size: 0.55em;
    line-height: 0;
    vertical-align: super;
}

.fls-insights-hero__green {
    position: absolute;
    top: 446px;
    left: 0;
    width: 100%;
    height: 94px;
    background: var(--brand-dark-green);
}

/* Links -------------------------------------------------*/

.fls-insights-links {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding-top: 59px;
    background: var(--brand-white);
}

.fls-insights-links__grid {
    display: grid;
    grid-template-columns: repeat(3, 416px);
    column-gap: 35px;
    row-gap: 59px;
    width: 1318px;
    margin: 0 auto;
}

.fls-insights-card {
    position: relative;
    box-sizing: border-box;
    width: 416px;
    height: 428px;
    margin: 0;
    padding: 0;
}

.fls-insights-card__media {
    position: absolute;
    top: 0;
    left: 0;
    width: 416px;
    height: 215px;
}

.fls-insights-card__bar {
    position: absolute;
    top: 0;
    left: 0;
    width: 416px;
    height: 19px;
    background: var(--brand-dark-green);
    border-radius: 4px 4px 0 0;
}

.fls-insights-card__image {
    position: absolute;
    top: 19px;
    left: 0;
    display: block;
    width: 416px;
    height: 196px;
    object-fit: cover;
    border-radius: 0 0 4px 4px;
}

.fls-insights-card__content {
    position: absolute;
    top: 233px;
    left: 0;
    box-sizing: border-box;
    width: 416px;
    height: 195px;
    margin: 0;
    padding: 0;
    background: var(--brand-light-green-card-alt);
    border-radius: 4px;
}

.fls-insights-card__date {
    position: absolute;
    top: 19px;
    left: 18px;
    width: 291px;
    margin: 0;
    padding: 0;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0;
    color: var(--brand-dark-green);
}

.fls-insights-card__date sup {
    font-size: 0.65em;
    line-height: 0;
    vertical-align: super;
}

.fls-insights-card__title {
    position: absolute;
    top: 45px;
    left: 18px;
    width: 325px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: 500 !important;
    font-size: 20px !important;
    line-height: var(--line-height-snug);
    letter-spacing: 0 !important;
    color: var(--brand-dark-green) !important;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    max-height: calc(3 * 1.2em);
    overflow: hidden;
}

.fls-insights-card__button {
    position: absolute;
    right: 24px;
    bottom: 23px;
    width: 160px;
    height: 33px;
    margin: 0 !important;
}

.fls-insights-links__more {
    display: flex;
    justify-content: center;
    margin-top: 72px;
}

/*------------------------------------------------------------------------------
    TERMS & CONDITIONS PAGE
------------------------------------------------------------------------------*/

.fls-legal {
    box-sizing: border-box;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding: 80px var(--layout-desktop-gutter) 0;
    background: var(--brand-white);
}

.fls-legal__inner {
    box-sizing: border-box;
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}

.fls-legal__company {
    margin: 0 0 64px !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-semibold) !important;
    font-size: var(--font-size-body) !important;
    line-height: var(--line-height-snug) !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-legal__section {
    margin: 0 0 48px;
    padding: 0;
}

.fls-legal__section:last-child {
    margin-bottom: 0;
}

.fls-legal__heading {
    margin: 0 0 16px !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: var(--font-size-heading-small) !important;
    line-height: var(--line-height-snug) !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-legal__text {
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: var(--font-size-body) !important;
    line-height: var(--line-height-normal) !important;
    color: var(--brand-dark-green-text) !important;
}


/* -----------------------------------------------------------------------------
    APPROACH PAGE
------------------------------------------------------------------------------*/

/* Hero --------------------------------------------------*/

.fls-approach-hero {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 846px;
    margin-left: calc(50% - 50vw);
    overflow: hidden;
    background: var(--brand-very-light-green);
}

.fls-approach-hero__copy {
    position: absolute;
    top: 228px;
    left: 60px;
    display: flex;
    align-items: flex-start;
    width: 650px;
    height: 357px;
    gap: 89px;
}

.fls-approach-hero__eyebrow {
    flex: 0 0 55px;
    width: 55px;
    margin: 0;
    padding: 0;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: var(--font-size-label);
    line-height: var(--line-height-tight);
    letter-spacing: 0;
    white-space: nowrap;
    color: var(--brand-dark-green-text);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-color: var(--brand-yellow);
    text-decoration-thickness: 2px;
    text-underline-offset: 8px;
    text-decoration-skip-ink: auto;
}

.fls-approach-hero__content {
    flex: 0 0 506px;
    width: 506px;
    height: 357px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
}

.fls-approach-hero__kicker {
    width: 152px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: var(--font-size-heading-small) !important;
    line-height: var(--line-height-tight) !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-approach-hero__title {
    width: 506px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: var(--font-size-h2) !important;
    line-height: 1.2;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-approach-hero__description {
    width: 481px;
    margin: 0 !important;
    padding: 0 !important;
}

.fls-approach-hero__description p,
.fls-approach-hero__description li {
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: var(--font-size-body) !important;
    line-height: var(--line-height-snug) !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-approach-hero__description ul {
    margin: 18px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.fls-approach-hero__description li {
    position: relative;
    margin: 0 0 10px 0 !important;
    padding-left: 20px !important;
}

.fls-approach-hero__description li:last-child {
    margin-bottom: 0 !important;
}

.fls-approach-hero__description li::before {
    content: "•";
    position: absolute;
    left: 0;
    top: 5px;
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1;
    color: var(--brand-dark-green-text) !important;
}

.fls-approach-hero__media {
    position: absolute;
    top: 219px;
    left: 795px;
    width: 673px;
    height: 499px;
    overflow: hidden;
    border-radius: 4px;
}

.fls-approach-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}

/* Mosaic ------------------------------------------------*/

.fls-approach-mosaic {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 705px;
    margin-left: calc(50% - 50vw);
    overflow: hidden;
    background: var(--brand-white);
}

.fls-approach-mosaic,
.fls-approach-mosaic * {
    box-sizing: border-box;
}

.fls-approach-mosaic__background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 549.686px;
    background: var(--brand-dark-green);
}

.fls-approach-mosaic__media {
    position: absolute;
    top: 44.5px;
    left: 59px;
    width: 650px;
    height: 660.5px;
    overflow: hidden;
    border-radius: 4px;
}

.fls-approach-mosaic__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}

.fls-approach-mosaic__copy {
    position: absolute;
    top: calc(550px / 2);
    left: 811px;
    width: 569px;
    height: auto;
    display: flex;
    flex-direction: column;
    transform: translateY(-50%);
    align-items: flex-start;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: var(--font-size-body) !important;
    line-height: var(--line-height-snug) !important;
    letter-spacing: 0 !important;
    color: var(--brand-light-green-text) !important;
}

.fls-approach-mosaic__copy p {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: var(--font-size-body) !important;
    line-height: var(--line-height-snug) !important;
    letter-spacing: 0 !important;
    color: var(--brand-light-green-text) !important;
}

.fls-approach-mosaic__copy p + p {
    margin-top: 38px !important;
}

/* Work --------------------------------------------------*/

.fls-approach-work {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding-top: 112px;
    padding-bottom: 112px;
    background: var(--brand-white);
}

.fls-approach-work,
.fls-approach-work * {
    box-sizing: border-box;
}

.fls-approach-work__inner {
    width: 1150px;
    height: 421.7185px;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    gap: 61px;
}

.fls-approach-work__copy {
    flex: 0 0 441px;
    width: 441px;
    height: 378px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
}

.fls-approach-work__title {
    width: 441px;
    height: 25px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: var(--font-size-h3) !important;
    line-height: var(--line-height-tight) !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-approach-work__body {
    width: 441px;
    height: 313px;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: var(--font-size-body) !important;
    line-height: var(--line-height-snug) !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-approach-work__body p {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: var(--font-size-body) !important;
    line-height: var(--line-height-snug) !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-approach-work__body p + p {
    margin-top: 28px !important;
}

.fls-approach-work__media {
    flex: 0 0 648px;
    width: 648px;
    height: 421.7185px;
    overflow: hidden;
    border-radius: 4px;
}

.fls-approach-work__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}

/* Process -----------------------------------------------*/

.fls-approach-process {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 2296px;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: calc(50% - 50vw);
    overflow: hidden;
    background-image: url('../../images/process-approach-figma-small.webp');
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center top;
    isolation: isolate;
}

.fls-approach-process::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    background: rgba(16, 66, 49, 0.7);
    mix-blend-mode: multiply;
    pointer-events: none;
}

.fls-approach-process,
.fls-approach-process * {
    box-sizing: border-box;
}

.fls-approach-process__route {
    position: absolute;
    z-index: 1;
    top: -150px;
    left: -80px;
    width: 1502px;
    height: 2489px;
    display: block;
    pointer-events: none;
}

.fls-approach-process__ellipse {
    position: absolute;
    z-index: 1;
    top: 1911.88px;
    left: -356.75px;
    width: 791.0612px;
    height: 316.5733px;
    display: block;
    pointer-events: none;
}

.fls-approach-process__vertical-line {
    position: absolute;
    z-index: 1;
    top: 1197.12px;
    left: 158.09px;
    width: 3px;
    height: 824.6963px;
    background: var(--brand-white);
    pointer-events: none;
}

.fls-approach-process__horizontal-line {
    position: absolute;
    z-index: 1;
    top: 1780.09px;
    left: 644.27px;
    width: 832.0728px;
    height: 3px;
    background:
        repeating-linear-gradient(
            to right,
            var(--brand-white) 0,
            var(--brand-white) 241px,
            transparent 241px,
            transparent 281px
        );
    pointer-events: none;
}

.fls-approach-process__intro {
    position: absolute;
    z-index: 2;
    top: 177.7px;
    left: 60px;
    width: 1320px;
    height: 279.2693px;
    background: var(--brand-light-green-text);
}

.fls-approach-process__intro-line {
    position: absolute;
    top: 80.97px;
    left: 50.95px;
    width: 2px;
    height: 126.3298px;
    background: var(--brand-light-green);
}

.fls-approach-process__intro-title {
    position: absolute;
    top: 80.08px;
    left: 78.95px;
    width: 279.9263px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: var(--font-size-h3) !important;
    line-height: var(--line-height-snug) !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-approach-process__cards {
    position: absolute;
    z-index: 3;
    top: 246.45px;
    left: 432.1px;
    display: grid;
    grid-template-columns:
        repeat(2, 425px);
    grid-auto-rows: 460px;
    column-gap: 40px;
    row-gap: 47px;
}

.fls-approach-process__card {
    position: relative;
    width: 424.3342px;
    height: 100%;
    margin: 0;
    padding: 30px 46px 36px;
    border: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.fls-approach-process__card--light {
    background: var(--brand-white);
}

.fls-approach-process__card--light .fls-approach-process__card-title,
.fls-approach-process__card--light .fls-approach-process__card-text {
    color: var(--brand-dark-green-text) !important;
}

.fls-approach-process__card--dark {
    background: var(--brand-dark-green);
}

.fls-approach-process__card--dark .fls-approach-process__card-title,
.fls-approach-process__card--dark .fls-approach-process__card-text {
    color: var(--brand-light-green-text) !important;
}

.fls-approach-process__icon-wrap {
    width: 160px;
    height: 104px;
    margin: 0 0 30px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}

.fls-approach-process__icon {
    display: block;
    object-fit: contain;
}

.fls-approach-process__icon--1 {
    width: 104px;
    height: 104px;
}

.fls-approach-process__icon--2 {
    width: 103.8994px;
    height: 103.8994px;
}

.fls-approach-process__icon--3 {
    width: 87.6561px;
    height: 103.8994px;
}

.fls-approach-process__icon--4 {
    width: 103.694px;
    height: 103.8994px;
}

.fls-approach-process__icon--5 {
    width: 90.0462px;
    height: 103.8994px;
}

.fls-approach-process__icon--6 {
    width: 158.0518px;
    height: 83.0012px;
    margin-top: -18px;
    margin-left: -11px;
}

.fls-approach-process__card-title {
    width: 100%;
    margin: 0 0 20px !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: var(--font-size-h3) !important;
    line-height: var(--line-height-snug) !important;
    letter-spacing: 0 !important;
}

.fls-approach-process__card-text {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: var(--font-size-body) !important;
    line-height: var(--line-height-snug) !important;
    letter-spacing: 0 !important;
}

/* Action ------------------------------------------------*/

.fls-approach-action {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 770.4238px;
    margin-left: calc(50% - 50vw);
    margin-top: -1px;
    margin-bottom: 0;
    background: var(--brand-white);
}

.fls-approach-action,
.fls-approach-action * {
    box-sizing: border-box;
}

.fls-approach-action__green {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 608px;
    background: var(--brand-dark-green);
}

.fls-approach-action__header {
    position: absolute;
    top: 93px;
    left: 60px;
    width: 1153px;
    height: 98px;
    display: flex;
    align-items: flex-start;
    gap: 89px;
}

.fls-approach-action__eyebrow {
    flex: 0 0 76px;
    width: 76px;
    margin: 0;
    padding: 0;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: var(--font-size-label);
    line-height: var(--line-height-tight);
    letter-spacing: 0;
    white-space: nowrap;
    color: var(--brand-light-green-text);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-color: var(--brand-yellow);
    text-decoration-thickness: 2px;
    text-underline-offset: 8px;
    text-decoration-skip-ink: auto;
}

.fls-approach-action__content {
    flex: 0 0 988px;
    width: 988px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
}

.fls-approach-action__title {
    width: 988px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: var(--font-size-h3) !important;
    line-height: var(--line-height-tight) !important;
    letter-spacing: 0 !important;
    color: var(--brand-light-green-text) !important;
}

.fls-approach-action__buttons {
    display: flex;
    align-items: flex-start;
    gap: 34px;
}

.fls-approach-action__button {
    height: 33px;
}

.fls-approach-action__button--midgard {
    width: 269px;
}

.fls-approach-action__button--alfheim {
    width: 265px;
}

.fls-approach-action__media {
    position: absolute;
    top: 250.42px;
    left: 228px;
    width: 1152px;
    height: 519.3076px;
    overflow: hidden;
}

.fls-approach-action__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Partners ----------------------------------------------*/

.fls-approach-partners {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 475.4292px;
    margin-left: calc(50% - 50vw);
    padding-top: 152.5762px;
    background: var(--brand-white);
}

.fls-approach-partners,
.fls-approach-partners * {
    box-sizing: border-box;
}

.fls-approach-partners__inner {
    position: relative;
    width: 1142px;
    height: 322.853px;
    margin-left: 227px;
}

.fls-approach-partners__title {
    position: absolute;
    top: 0;
    left: 0;
    width: 1142px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: var(--font-size-h3) !important;
    line-height: var(--line-height-tight) !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-approach-partners__divider {
    position: absolute;
    top: 65px;
    left: 0;
    width: 466px;
    height: 1px;
    background: var(--brand-yellow);
}

.fls-approach-partners__viewport {
    position: absolute;
    top: 150px;
    left: 43px;
    /*
     * From the left edge of the first logo to the
     * right edge of the fifth visible logo.
     */
    width: 1015.68px;
    height: 60px;
    overflow: hidden;
}

.fls-approach-partners__track {
    display: flex;
    align-items: flex-start;
    gap: 73.02px;
    width: max-content;
    height: 60px;
}

.fls-approach-partners__logo {
    flex: 0 0 auto;
}

.fls-approach-partners__logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.fls-approach-partners__logo--fundacion {
    width: 126px;
    height: 50px;
}

.fls-approach-partners__logo--uruguay {
    width: 140px;
    height: 56px;
}

.fls-approach-partners__logo--asuncion {
    width: 157px;
    height: 51px;
    margin-top: 3px;
}

.fls-approach-partners__logo--inflor {
    width: 161px;
    height: 40px;
    margin-top: 10px;
}

.fls-approach-partners__logo--haiqi {
    width: 139.6099px;
    height: 55.4007px;
    margin-top: 2.3px;
}

.fls-approach-partners__logo--decarbo {
    width: 144.9409px;
    height: 51.5734px;
    margin-top: 2px;
}

.fls-approach-partners__logo--cula {
    width: 157px;
    height: 51px;
    margin-top: 3px;
}

.fls-approach-partners__controls {
    position: absolute;
    top: 273.57px;
    left: 1px;
    display: flex;
    align-items: center;
    gap: 56.7165px;
}

.fls-approach-partners__arrow {
    position: relative;
    width: 49.2835px;
    height: 34.3018px;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--brand-light-green);
    cursor: pointer;
}

.fls-approach-partners__arrow:disabled {
    color: var(--brand-yellow);
    cursor: default;
}

.fls-approach-partners__arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    width: 28px;
    height: 28px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
}

.fls-approach-partners__arrow--prev::before {
    left: 9px;
    transform:
        translateY(-50%)
        rotate(-135deg);
}

.fls-approach-partners__arrow--next::before {
    right: 9px;
    transform:
        translateY(-50%)
        rotate(45deg);
}

.fls-approach-partners__track {
    display: flex;
    align-items: flex-start;
    gap: 73.02px;
    width: max-content;
    height: 60px;
    transform: translateX(0);
    transition: transform 0.4s ease;
    will-change: transform;
}

.fls-approach-partners__arrow:focus-visible {
    outline: 2px solid var(--brand-light-green);
    outline-offset: 4px;
}

.fls-approach-partners__arrow:disabled:focus-visible {
    outline-color: var(--brand-yellow);
}


/*------------------------------------------------------------------------------
    GEOGRAPHIES
------------------------------------------------------------------------------*/

/* Hero --------------------------------------------------*/

.fls-geographies-hero {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 846px;
    margin-left: calc(50% - 50vw);
    overflow: hidden;
    background: var(--brand-very-light-green);
}

.fls-geographies-hero__copy {
    position: absolute;
    top: 228px;
    left: 60px;
    display: flex;
    align-items: flex-start;
    width: 650px;
    height: 334px;
    gap: 90px;
}

.fls-geographies-hero__eyebrow {
    flex: 0 0 78px;
    width: 78px;
    margin: 0;
    padding: 0;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: var(--font-size-label);
    line-height: var(--line-height-tight);
    letter-spacing: 0;
    white-space: nowrap;
    color: var(--brand-dark-green-text);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-color: var(--brand-yellow);
    text-decoration-thickness: 2px;
    text-underline-offset: 8px;
    text-decoration-skip-ink: auto;
}

.fls-geographies-hero__content {
    flex: 0 0 482px;
    width: 482px;
    height: 334px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
}

.fls-geographies-hero__kicker {
    width: 94px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: var(--font-size-heading-small) !important;
    line-height: var(--line-height-tight) !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-geographies-hero__title {
    width: 482px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: var(--font-size-h2) !important;
    line-height: 1.2;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-geographies-hero__description {
    width: 481px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: var(--font-size-body) !important;
    line-height: 1.2;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-geographies-hero__media {
    position: absolute;
    top: 219px;
    left: 795px;
    width: 673px;
    height: 499px;
    overflow: hidden;
    border-radius: 4px;
}

.fls-geographies-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}

/* Paraguay ----------------------------------------------*/

.fls-geographies-paraguay {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 705px;
    margin-left: calc(50% - 50vw);
    background: var(--brand-white);
}

.fls-geographies-paraguay,
.fls-geographies-paraguay * {
    box-sizing: border-box;
}

.fls-geographies-paraguay__green {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 434.8423px;
    background: var(--brand-dark-green);
}

.fls-geographies-paraguay__copy {
    position: absolute;
    top: 90px;
    left: 811px;
    width: 569px;
    height: 221px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
}

.fls-geographies-paraguay__copy p {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: var(--font-size-body) !important;
    line-height: var(--line-height-snug) !important;
    letter-spacing: 0 !important;
    color: var(--brand-light-green-text) !important;
}

.fls-geographies-paraguay__media {
    position: absolute;
    top: 45px;
    left: 60px;
    width: 649px;
    height: 660px;
    overflow: hidden;
    border-radius: 4px;
}

.fls-geographies-paraguay__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}

/* Reasons -----------------------------------------------*/

.fls-geographies-reasons {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding-top: 138px;
    background: var(--brand-white);
}

.fls-geographies-reasons,
.fls-geographies-reasons * {
    box-sizing: border-box;
}

.fls-geographies-reasons__grid {
    width: 1320px;
    height: 467px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 325px 650px 325px;
    grid-template-rows: 227px 227px;
    column-gap: 10px;
    row-gap: 13px;
    border-radius: 4px;
}

.fls-geographies-reasons__card {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border-radius: 4px;
}

.fls-geographies-reasons__card--growth {
    grid-column: 1;
    grid-row: 1;
}

.fls-geographies-reasons__card--feature {
    grid-column: 2;
    grid-row: 1 / 3;
}

.fls-geographies-reasons__card--sovereign {
    grid-column: 3;
    grid-row: 1;
}

.fls-geographies-reasons__card--land {
    grid-column: 1;
    grid-row: 2;
}

.fls-geographies-reasons__card--article6 {
    grid-column: 3;
    grid-row: 2;
}

.fls-geographies-reasons__text {
    position: absolute;
    z-index: 2;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: var(--font-size-body) !important;
    line-height: var(--line-height-snug) !important;
    letter-spacing: 0 !important;
}

.fls-geographies-reasons__card--light {
    background: var(--brand-light-green-card);
}

.fls-geographies-reasons__card--light
.fls-geographies-reasons__text {
    top: 35px;
    left: 25px;
    color: var(--brand-dark-green) !important;
}

.fls-geographies-reasons__card--light
.fls-geographies-reasons__icon {
    position: absolute;
    z-index: 2;
    right: 25px;
    bottom: 23px;
    display: block;
    object-fit: contain;
}

.fls-geographies-reasons__card--growth
.fls-geographies-reasons__icon {
    width: 82.022px;
    height: 82.019px;
}

.fls-geographies-reasons__card--article6
.fls-geographies-reasons__icon {
    width: 103.248px;
    height: 60.572px;
}

.fls-geographies-reasons__card--image
.fls-geographies-reasons__background {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fls-geographies-reasons__card--image
.fls-geographies-reasons__overlay {
    position: absolute;
    inset: 0;
    background: rgb(0 37 25 / 65%);
}

.fls-geographies-reasons__card--image
.fls-geographies-reasons__text {
    top: 35px;
    left: 30px;
    color: var(--brand-white) !important;
}

.fls-geographies-reasons__card--image
.fls-geographies-reasons__icon {
    position: absolute;
    z-index: 2;
    right: 29px;
    bottom: 41px;
    display: block;
    object-fit: contain;
}

.fls-geographies-reasons__card--sovereign
.fls-geographies-reasons__icon {
    width: 85.459px;
    height: 71.208px;
}

.fls-geographies-reasons__card--land
.fls-geographies-reasons__icon {
    width: 82.019px;
    height: 82.019px;
}

.fls-geographies-reasons__card--feature
.fls-geographies-reasons__background {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fls-geographies-reasons__card--feature
.fls-geographies-reasons__overlay {
    position: absolute;
    inset: 0;
    background: rgb(0 37 25 / 65%);
}

.fls-geographies-reasons__feature-title {
    position: absolute;
    z-index: 2;
    top: 281px;
    left: 35px;
    width: 324.101px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: 40px !important;
    line-height: var(--line-height-snug) !important;
    letter-spacing: 0 !important;
    color: var(--brand-white) !important;
}

/* Conditions --------------------------------------------*/

.fls-geographies-conditions {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding-top: 151px;
    background: var(--brand-white);
}

.fls-geographies-conditions,
.fls-geographies-conditions * {
    box-sizing: border-box;
}

.fls-geographies-conditions__inner {
    width: 1150px;
    height: 616px;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    gap: 61px;
}

.fls-geographies-conditions__copy {
    flex: 0 0 441px;
    width: 441px;
    height: 424px;
    margin-top: 70px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
}

.fls-geographies-conditions__title {
    width: 441px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: var(--font-size-h3) !important;
    line-height: var(--line-height-tight) !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-geographies-conditions__body {
    width: 441px;
    height: 313px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 28px;
}

.fls-geographies-conditions__body p {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: var(--font-size-body) !important;
    line-height: var(--line-height-snug) !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-geographies-conditions__media {
    flex: 0 0 648px;
    width: 648px;
    height: 616px;
    overflow: hidden;
    border-radius: 4px;
}

.fls-geographies-conditions__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}

/* Investment --------------------------------------------*/

.fls-geographies-investment {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding-top: 180px;
    background: var(--brand-white);
}

.fls-geographies-investment,
.fls-geographies-investment * {
    box-sizing: border-box;
}

.fls-geographies-investment__panel {
    position: relative;
    width: 100%;
    height: 329px;
    margin: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fls-geographies-investment__background {
    position: absolute;
    inset: 0;
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
}

.fls-geographies-investment__overlay {
    position: absolute;
    inset: 0;
    background: rgb(0 37 25 / 30%);
}

.fls-geographies-investment__title {
    position: relative;
    z-index: 2;
    width: 699px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: var(--font-size-h3) !important;
    line-height: var(--line-height-snug) !important;
    letter-spacing: 0 !important;
    text-align: center;
    color: var(--brand-white) !important;
    text-shadow:
        0 0 50px var(--brand-dark-green);
}

/* Case --------------------------------------------------*/

.fls-geographies-case {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding-top: 180px;
    background: var(--brand-white);
}

.fls-geographies-case,
.fls-geographies-case * {
    box-sizing: border-box;
}

.fls-geographies-case__inner {
    width: 1214px;
    height: 407px;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    gap: 80px;
}

.fls-geographies-case__media {
    flex: 0 0 650px;
    width: 650px;
    height: 407px;
    overflow: hidden;
    border-radius: 4px;
}

.fls-geographies-case__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}

.fls-geographies-case__copy {
    flex: 0 0 484px;
    width: 484px;
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.fls-geographies-case__copy p {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: var(--font-size-body) !important;
    line-height: var(--line-height-snug) !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

/* Article 6 ---------------------------------------------*/

.fls-geographies-article6 {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 886px;
    margin-left: calc(50% - 50vw);
    margin-top: 164px;
    background: var(--brand-white);
}

.fls-geographies-article6,
.fls-geographies-article6 * {
    box-sizing: border-box;
}

.fls-geographies-article6__green {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 608px;
    background: var(--brand-dark-green);
}

.fls-geographies-article6__intro {
    position: absolute;
    top: 93px;
    left: 60px;
    width: 1153px;
    height: 194px;
    display: flex;
    align-items: flex-start;
    gap: 109px;
}

.fls-geographies-article6__eyebrow {
    flex: 0 0 58px;
    width: 58px;
    margin: 0;
    padding: 0;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: var(--font-size-label);
    line-height: var(--line-height-tight);
    letter-spacing: 0;
    color: var(--brand-light-green-text);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-color: var(--brand-yellow);
    text-decoration-thickness: 2px;
    text-underline-offset: 8px;
    text-decoration-skip-ink: auto;
    white-space: nowrap;
}

.fls-geographies-article6__copy {
    flex: 0 0 986px;
    width: 986px;
    height: 194px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
}

.fls-geographies-article6__title {
    width: 986px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: var(--font-size-h3) !important;
    line-height: var(--line-height-tight) !important;
    letter-spacing: 0 !important;
    color: var(--brand-light-green-text) !important;
}

.fls-geographies-article6__body {
    width: 877px;
    height: 129px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 28px;
}

.fls-geographies-article6__body p {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: var(--font-size-body) !important;
    line-height: var(--line-height-snug) !important;
    letter-spacing: 0 !important;
    color: var(--brand-light-green-text) !important;
}

.fls-geographies-article6__media {
    position: absolute;
    top: 366px;
    left: 228px;
    width: 1152px;
    height: 520px;
    overflow: hidden;
    border-radius: 4px;
}

.fls-geographies-article6__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}

/*------------------------------------------------------------------------------
    GOVERNANCE & SUSTAINABILITY
------------------------------------------------------------------------------*/

/* Hero --------------------------------------------------*/

.fls-governance-hero {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 846px;
    margin-left: calc(50% - 50vw);
    overflow: hidden;
    background: var(--brand-very-light-green);
}

.fls-governance-hero__copy {
    position: absolute;
    top: 228px;
    left: 60px;
    display: flex;
    align-items: flex-start;
    width: 650px;
    height: auto;
    gap: 43px;
}

.fls-governance-hero__eyebrow {
    flex: 0 1 171px;
    width: 171px;
    min-width: 90px;
    margin: 0;
    padding: 0;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: var(--font-size-label);
    line-height: var(--line-height-relaxed);
    letter-spacing: 0;
    white-space: normal;
    color: var(--brand-dark-green-text);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-color: var(--brand-yellow);
    text-decoration-thickness: 2px;
    text-underline-offset: 8px;
    text-decoration-skip-ink: auto;
}

.fls-governance-hero__content {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
}

.fls-governance-hero__title {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: var(--font-size-h2) !important;
    line-height: var(--line-height-snug);
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-governance-hero__description {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: var(--font-size-body) !important;
    line-height: var(--line-height-snug);
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-governance-hero__media {
    position: absolute;
    top: 219px;
    right: 0;
    left: auto;
    width: 673px;
    height: auto;
    aspect-ratio: 673 / 499; 
    overflow: hidden;
    border-radius: 4px;
}

.fls-governance-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}

/* Governance section ------------------------------------*/

.fls-governance-governance {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 705px;
    margin-left: calc(50% - 50vw);
    background: var(--brand-white);
}

.fls-governance-governance,
.fls-governance-governance * {
    box-sizing: border-box;
}

.fls-governance-governance__green {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 413.9449px;
    background: var(--brand-dark-green);
}

.fls-governance-governance__media {
    position: absolute;
    top: 45px;
    left: 60px;
    width: 650px;
    height: 660px;
    overflow: hidden;
    border-radius: 4px;
}

.fls-governance-governance__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}

.fls-governance-governance__content {
    position: absolute;
    top: 161px;
    left: 811px;
    width: 569px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 39px;
}

.fls-governance-governance__description {
    width: 569px;
    height: 60px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: var(--font-size-body) !important;
    line-height: var(--line-height-snug) !important;
    letter-spacing: 0 !important;
    color: var(--brand-light-green-text) !important;
}

.fls-governance-governance__button {
    width: 239px;
    height: 33px;
    margin: 24px 0 0 0;
}

/* Scrutiny ----------------------------------------------*/

.fls-governance-scrutiny {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding-top: 112px;
    padding-bottom: 112px;
    background: var(--brand-white);
}

.fls-governance-scrutiny,
.fls-governance-scrutiny * {
    box-sizing: border-box;
}

.fls-governance-scrutiny__inner {
    width: 1150px;
    height: 421.7185px;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    gap: 61px;
}

.fls-governance-scrutiny__copy {
    flex: 0 0 441px;
    width: 441px;
    height: 309px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
}

.fls-governance-scrutiny__title {
    width: 441px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: var(--font-size-h3) !important;
    line-height: var(--line-height-tight) !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-governance-scrutiny__body {
    width: 441px;
    height: 198px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 28px;
}

.fls-governance-scrutiny__body p {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: var(--font-size-body) !important;
    line-height: var(--line-height-snug) !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-governance-scrutiny__media {
    flex: 0 0 648px;
    width: 648px;
    height: 421.7185px;
    overflow: hidden;
    border-radius: 4px;
}

.fls-governance-scrutiny__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}

/* Practice ----------------------------------------------*/

.fls-governance-practice {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 641px;
    margin-left: calc(50% - 50vw);
    overflow: hidden;
    background: var(--brand-white);
}

.fls-governance-practice,
.fls-governance-practice * {
    box-sizing: border-box;
}

.fls-governance-practice__hero {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 362px;
    overflow: hidden;
}

.fls-governance-practice__background {
    position: absolute;
    inset: 0;
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
}

.fls-governance-practice__overlay {
    position: absolute;
    inset: 0;
    background: rgb(0 37 25 / 64%);
}

.fls-governance-practice__title {
    position: absolute;
    top: 152px;
    left: 371px;
    width: 699px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: var(--font-size-h3) !important;
    line-height: var(--line-height-tight) !important;
    letter-spacing: 0 !important;
    text-align: center;
    color: var(--brand-white) !important;
    text-shadow: 0 0 50px var(--brand-dark-green);
}

.fls-governance-practice__cards {
    position: absolute;
    top: 281.51px;
    left: 60.98px;
    display: grid;
    grid-template-columns: repeat(3, 411.1251px);
    grid-template-rows: repeat(2, 159.5627px);
    column-gap: 43.635px;
    row-gap: 40.0073px;
}

.fls-governance-practice__card {
    position: relative;
    width: 411.1251px;
    height: 159.5627px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: var(--brand-light-green-card-alt);
}

.fls-governance-practice__card p {
    position: absolute;
    top: 41.56px;
    left: 34.66px;
    width: 302px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: var(--font-size-body) !important;
    line-height: var(--line-height-snug) !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green) !important;
}

.fls-governance-practice__card img {
    position: absolute;
    right: 25px;
    bottom: 22px;
    display: block;
    width: 60px;
    height: 60px;
    object-fit: contain;
}

/* Engagement --------------------------------------------*/

.fls-governance-engagement {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    height: 1073px;
    margin-left: calc(50% - 50vw);
    margin-top: 117px;
    padding: 48px 60px 60px;
    display: flex;
    flex-direction: column;
    gap: 50px;
    background: var(--brand-dark-green);
}

.fls-governance-engagement,
.fls-governance-engagement * {
    box-sizing: border-box;
}

.fls-governance-engagement__row {
    width: 1320px;
    height: 440px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.fls-governance-engagement__row:first-child {
    height: 475px;
}

.fls-governance-engagement__left {
    width: 620px;
    height: 475px;
    padding-top: 24px;
    display: flex;
    align-items: flex-start;
    gap: 81px;
}

.fls-governance-engagement__left--no-eyebrow {
    height: 383px;
}

.fls-governance-engagement__eyebrow,
.fls-governance-engagement__eyebrow-spacer {
    flex: 0 0 85px;
    width: 85px;
}

.fls-governance-engagement__eyebrow {
    margin: 0;
    padding: 0;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: var(--font-size-label);
    line-height: var(--line-height-tight);
    letter-spacing: 0;
    white-space: nowrap;
    color: var(--brand-light-green-text);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-color: var(--brand-yellow);
    text-decoration-thickness: 2px;
    text-underline-offset: 8px;
    text-decoration-skip-ink: auto;
}

.fls-governance-engagement__content {
    flex: 0 0 454px;
    width: 454px;
    height: 451px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
}

.fls-governance-engagement__content--standards {
    height: 359px;
}

.fls-governance-engagement__title {
    width: 454px;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: var(--font-size-h3) !important;
    line-height: var(--line-height-tight) !important;
    letter-spacing: 0 !important;
    color: var(--brand-light-green-text) !important;
}

.fls-governance-engagement__body {
    width: 454px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
}

.fls-governance-engagement__row:first-child
.fls-governance-engagement__body {
    height: 267px;
}

.fls-governance-engagement__row:nth-child(2)
.fls-governance-engagement__body {
    height: 175px;
}

.fls-governance-engagement__body p {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: var(--font-size-body) !important;
    line-height: var(--line-height-snug) !important;
    letter-spacing: 0 !important;
    color: var(--brand-light-green-text) !important;
}

.fls-governance-engagement__button {
    height: 33px;
    margin: 0;
}

.fls-governance-engagement__button--grievance {
    width: 330px;
}

.fls-governance-engagement__button--policies {
    width: 330px;
}

.fls-governance-engagement__media {
    flex: 0 0 650px;
    width: 650px;
    height: 440px;
    overflow: hidden;
    border-radius: 4px;
}

.fls-governance-engagement__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}

/*------------------------------------------------------------------------------
    NEWS ARTICLE
------------------------------------------------------------------------------*/

.fls-news-article {
    box-sizing: border-box;
    width: 100%;
    padding: 80px 0 0;
    background: var(--brand-white);
}

.fls-news-article__inner {
    box-sizing: border-box;
    width: min(calc(100% - 120px), 1100px);
    margin: 0 auto;
}

.fls-news-article__header {
    width: 100%;
    max-width: 900px;
    margin: 0 0 48px;
}

.fls-news-article__eyebrow {
    margin: 0 0 20px;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: 16px;
    line-height: var(--line-height-snug);
    color: var(--brand-dark-green-text);
}

.fls-news-article__title {
    margin: 0 0 24px !important;
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-regular) !important;
    font-size: clamp(42px, 4vw, 58px) !important;
    line-height: var(--line-height-snug) !important;
    letter-spacing: 0 !important;
    color: var(--brand-dark-green-text) !important;
}

.fls-news-article__date {
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: 16px;
    line-height: var(--line-height-snug);
    color: var(--brand-dark-green-text);
}

.fls-news-article__content {
    width: 100%;
    max-width: 900px;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: var(--font-size-body);
    line-height: var(--line-height-normal);
    color: var(--brand-dark-green-text);
}

.fls-news-article__content p {
    margin: 0 0 24px !important;
    line-height: var(--line-height-normal) !important;
}

.fls-news-article__content strong {
    font-weight: var(--font-weight-semibold);
}

/* Embedded article PDF */

.fls-news-article__pdf {
    width: 100%;
    margin: 40px 0 0;
}

.fls-news-article__pdf iframe {
    display: block;
    width: 100%;
    height: 900px;
    border: 0;
}

/* Inline article image */

.fls-news-article__inline-image {
    margin: 0;
}

.fls-news-article__inline-image--right {
    float: right;
    width: 320px;
    margin: -10px 0 8px 40px;
}

.fls-news-article__inline-image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 4px;
}

.fls-news-article__inline-image figcaption {
    margin: 8px 0 0;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: 13px;
    line-height: var(--line-height-normal);
    color: var(--brand-dark-green-text);
}

/* Centered inline article image */

.fls-news-article__inline-image--center {
    float: none;
    width: 100%;
    max-width: 640px;
    margin: 40px auto;
}

.fls-news-article__content::after {
    content: "";
    display: table;
    clear: both;
}

/*----------------------------------------------------------------------------*/

