/* ==========================================================
   OM OMRÅDET - Community Astra V1.0
   Final layout / responsive pass
========================================================== */

/* ==========================================================
   HERO
   Clean image-first presentation
========================================================== */

.c-area-hero {
    padding: 48px 0 72px;
    background: var(--color-surface);
}

.c-area-hero__grid {
    display: grid;
    grid-template-columns: 1.35fr .65fr;
    gap: 18px;
    align-items: stretch;
}

/* Main image */

.c-area-hero__main {
    min-height: 590px;
    overflow: hidden;
}

.c-area-hero__main-image {
    display: block;
    width: 100%;
    height: 590px;
    object-fit: cover;
}

/* Right images */

.c-area-hero__side {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 18px;
}

.c-area-hero__side-image {
    min-height: 0;
    overflow: hidden;
}

.c-area-hero__side-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.c-area-hero__side-image:hover img {
    transform: scale(1.025);
}

/*
 * The hero text is intentionally placed BELOW the images.
 * This keeps the photographs completely visible and lets
 * the hero work as a clean visual introduction.
 */

.c-area-hero__content {
    grid-column: 1 / -1;

    position: static;

    max-width: 820px;
    margin: 4px auto 0;
    padding: 28px 20px 0;

    background: transparent;
    box-shadow: none;

    text-align: center;
}

.c-area-hero__eyebrow {
    display: block;
    margin-bottom: 8px;

    color: #0b6fa4;

    font-size: 13px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.c-area-hero__content h1 {
    margin: 0 0 10px;

    color: var(--color-heading);

    font-family: var(--font-display);
    font-size: clamp(38px, 5vw, 64px);
    line-height: 1;
}

.c-area-hero__content p {
    max-width: 760px;
    margin: 0 auto;

    color: #607080;

    font-size: 18px;
    line-height: 1.5;
}


/* ==========================================================
   INTRO
========================================================== */

.c-area-intro {
    background: #fff;
}

.c-area-intro__inner {
    max-width: 820px;
    margin: 0 auto;
    padding: 30px 0 25px;
    text-align: center;
}

.c-area-section__eyebrow {
    display: block;
    margin-bottom: 10px;
    color: #0b6fa4;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.c-area-intro h2 {
    margin: 0 0 22px;
    color: var(--color-heading);
    font-family: var(--font-display);
    font-size: clamp(34px,4vw,48px);
    line-height: 1.1;
}

.c-area-intro p {
    max-width: 720px;
    margin: 0 auto 16px;
    color: var(--color-text);
    font-size: 16px;
    line-height: 1.75;
}

.c-area-intro__lead {
    margin-bottom: 24px !important;
    color: #405261 !important;
    font-size: 19px !important;
    line-height: 1.65 !important;
}


/* ==========================================================
   FEATURE SECTIONS
   Billede + tekst er én samlet blok.
========================================================== */

.c-area-feature {
    padding: 0 0 90px;
    background: #fff;
}

.c-area-feature__grid {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    align-items: stretch;
    width: 100%;
    min-height: 460px;
}

.c-area-feature__grid--reverse {
    grid-template-columns: .95fr 1.05fr;
}

.c-area-feature__image {
    height: 460px;
    min-height: 460px;
    overflow: hidden;
}

.c-area-feature__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.c-area-feature__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 460px;
    min-height: 460px;
    box-sizing: border-box;
    padding: 58px clamp(30px,5vw,72px);
    background: var(--color-surface);
}

.c-area-feature__content h2 {
    margin: 0 0 20px;
    color: var(--color-heading);
    font-family: var(--font-display);
    font-size: clamp(32px,4vw,46px);
    line-height: 1.1;
}

.c-area-feature__content p {
    margin: 0 0 15px;
    color: var(--color-text);
    font-size: 16px;
    line-height: 1.7;
}


/* ==========================================================
   NATURE
========================================================== */

.c-area-feature--nature {
    padding-bottom: 90px;
}

.c-area-feature--nature .c-area-feature__content {
    background: #f3f5ef;
}

.c-area-feature--nature .c-area-feature__grid--reverse {
    grid-template-columns: .95fr 1.05fr;
}


/* ==========================================================
   COMMUNITY
========================================================== */

.c-area-community {
    padding: 90px 0;
    background: var(--color-surface);
}

.c-area-community__grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    align-items: stretch;
    width: 100%;
    min-height: 460px;
}

.c-area-community__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 460px;
    min-height: 460px;
    box-sizing: border-box;
    padding: 56px clamp(30px,5vw,72px);
    background: #fff;
}

.c-area-community__image {
    height: 460px;
    min-height: 460px;
    overflow: hidden;
}

.c-area-community__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.c-area-community__content h2 {
    margin: 0 0 20px;
    color: var(--color-heading);
    font-family: var(--font-display);
    font-size: clamp(34px,4vw,48px);
    line-height: 1.1;
}

.c-area-community__content p {
    margin: 0 0 15px;
    color: var(--color-text);
    font-size: 16px;
    line-height: 1.7;
}


/* ==========================================================
   CLOSING
========================================================== */

.c-area-closing {
    padding: 90px 0;
    background: var(--color-dark);
}

.c-area-closing__inner {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}

.c-area-closing h2 {
    margin: 0 0 12px;
    color: #fff;
    font-family: var(--font-display);
    font-size: clamp(34px,4vw,48px);
}

.c-area-closing p {
    margin: 0 0 28px;
    color: rgba(255,255,255,.78);
    font-size: 17px;
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 900px) {
    .c-area-hero {
        padding: 32px 0 56px;
    }

    .c-area-hero__grid {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .c-area-hero__main,
    .c-area-hero__main-image {
        min-height: 500px;
    }

    .c-area-hero__side {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 260px;
    }

    .c-area-hero__content {
        position: relative;
        left: auto;
        bottom: auto;
        margin: -90px 24px 0;
    }

    .c-area-feature__grid,
    .c-area-feature__grid--reverse,
    .c-area-feature--nature .c-area-feature__grid--reverse,
    .c-area-community__grid {
        grid-template-columns: 1fr;
    }

    .c-area-feature__image,
    .c-area-feature__content,
    .c-area-community__image,
    .c-area-community__content {
        height: 380px;
        min-height: 380px;
    }
}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 600px) {
    .c-area-hero {
        padding: 20px 0 44px;
    }

    .c-area-hero__grid {
        gap: 12px;
    }

    .c-area-hero__main {
        min-height: 360px;
    }

    .c-area-hero__main-image {
        height: 360px;
        min-height: 360px;
    }

    .c-area-hero__side {
        gap: 12px;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 190px;
    }

    .c-area-hero__content {
        margin: -55px 14px 0;
        padding: 22px;
    }

    .c-area-hero__content h1 {
        font-size: 40px;
    }

    .c-area-hero__content p {
        font-size: 16px;
    }

    .c-area-intro__inner {
        padding: 10px 0 25px;
    }

    .c-area-feature {
        padding-bottom: 54px;
    }

    .c-area-feature__grid,
    .c-area-feature__grid--reverse,
    .c-area-community__grid {
        grid-template-columns: 1fr;
    }

    .c-area-feature__image,
    .c-area-feature__content,
    .c-area-community__image,
    .c-area-community__content {
        height: 280px;
        min-height: 280px;
    }

    .c-area-feature__content,
    .c-area-community__content {
        padding: 38px 24px;
    }

    .c-area-feature__content h2 {
        font-size: 34px;
    }

    .c-area-community {
        padding: 54px 0;
    }

    .c-area-community__content h2 {
        font-size: 36px;
    }

    .c-area-closing {
        padding: 64px 0;
    }
}