/* ==================================================
   HOME TYPOGRAPHY
================================================== */

.page-home,
.page-home * {
    font-family: "Outfit", sans-serif;
}

.page-home {
    background: #ffffff;
    font-size: 14px;
}

.page-home h1,
.page-home h2,
.page-home h3,
.page-home strong,
.page-home a,
.page-home button,
.page-home summary {
    font-weight: 500;
}


/* ==================================================
   HERO
================================================== */

.home-hero {
    position: relative;

    display: flex;
    align-items: center;

    min-height: 680px;

    overflow: hidden;

    background:
        linear-gradient(
            rgba(5, 15, 26, 0.50),
            rgba(5, 15, 26, 0.64)
        ),
        url("../images/sektortime.webp") center center / cover no-repeat;
}

.home-hero__overlay {
    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            circle at 20% 16%,
            rgba(255, 205, 140, 0.18),
            transparent 11%
        ),
        radial-gradient(
            circle at 64% 15%,
            rgba(255, 255, 255, 0.12),
            transparent 8%
        ),
        linear-gradient(
            180deg,
            transparent 40%,
            rgba(2, 8, 14, 0.18)
        );
}

.home-hero__inner {
    position: relative;
    z-index: 2;
}

.home-hero__content {
    max-width: 820px;
    margin: 0 auto;

    text-align: center;
    color: #fff;
}

.home-hero h1 {
    margin: 0 0 14px;

    font-size: 42px;
    line-height: 1.15;
    letter-spacing: -0.6px;
}

.home-hero p {
    max-width: 660px;
    margin: 0 auto;

    color: rgba(255, 255, 255, 0.82);

    font-size: 14px;
}


/* ==================================================
   HERO SEARCH
================================================== */

.home-search {
    position: relative;

    display: grid;
    grid-template-columns:
        minmax(0, 1fr) 132px;

    gap: 10px;

    max-width: 860px;
    margin: 32px auto 0;

    padding: 10px;

    border-radius: 34px;

    background: #fff;

    box-shadow:
        0 20px 55px
        rgba(5, 17, 31, 0.23);
}

.home-search__field input {
    width: 100%;
    height: 54px;

    padding: 0 20px;

    border: 0;
    outline: 0;

    background: transparent;
    color: #1a2d42;

    font-size: 14px;
}

.home-search__button {
    height: 54px;

    border: 0;
    border-radius: 27px;

    background: #ef4e5e;
    color: #fff;

    font-size: 14px;

    cursor: pointer;
}

.home-search__results {
    position: absolute;

    top: calc(100% + 12px);
    left: 16px;
    right: 148px;

    overflow: hidden;

    border: 1px solid #e4eaf1;
    border-radius: 14px;

    background: #fff;

    text-align: left;

    box-shadow:
        0 16px 45px
        rgba(17, 28, 54, 0.12);
}


/* ==================================================
   HOME SECTION
================================================== */

.home-section {
    padding: 64px 0;

    background: #ffffff;
}

.home-section__heading {
    margin-bottom: 24px;
}

.home-section__heading--center {
    max-width: 620px;
    margin-right: auto;
    margin-left: auto;

    text-align: center;
}

.home-section__heading--between {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;
}

.home-section__heading h2 {
    position: relative;

    margin: 0;

    color: #12263d;

    font-size: 24px;
    line-height: 1.2;
}

.home-section__heading h2::before {
    content: "";

    display: inline-block;

    width: 4px;
    height: 20px;

    margin-right: 10px;

    border-radius: 3px;

    background: #ef4e5e;

    vertical-align: -3px;
}

.home-section__heading--center h2::before {
    display: none;
}

.home-section__heading p {
    margin: 8px 0 0;

    color: #758195;

    font-size: 14px;
}

.home-section__heading > a,
.home-section__heading--between > a {
    color: #12304b;

    font-size: 13px;
}


/* ==================================================
   COMPANY GRID
================================================== */

.home-company-grid {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 18px;
}


/* ==================================================
   COMPANY CARD
================================================== */

.home-company-card {
    position: relative;

    overflow: hidden;

    border: 1px solid #e3e7ed;
    border-radius: 12px;

    background: #ffffff;
}


/* ==================================================
   COMPANY CARD BACKGROUND / MEDIA
================================================== */

.home-company-card__media {
    position: relative;

    display: block;

    height: 168px;

    overflow: hidden;

    background:
        linear-gradient(
            rgba(8, 27, 43, 0.18),
            rgba(8, 27, 43, 0.58)
        ),
        url("../images/company-card-bg.webp") center center / cover no-repeat;
}

.home-company-card__media::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.02),
            rgba(8, 27, 43, 0.20)
        );
}


/* ==================================================
   FEATURED BADGE
================================================== */

.home-company-card__badge {
    position: absolute;

    top: 12px;
    left: 12px;

    z-index: 2;

    display: inline-flex;
    align-items: center;

    min-height: 26px;
    padding: 0 9px;

    border-radius: 6px;

    background: #ef4e5e;
    color: #ffffff;

    font-size: 10px;
}


/* ==================================================
   COMPANY CARD BODY
================================================== */

.home-company-card__body {
    position: relative;

    padding: 0 16px 16px;
}


/* ==================================================
   COMPANY LOGO
================================================== */

.home-company-card__logo {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 130px;
    height: 130px;

    margin: -64px auto 14px;

    overflow: hidden;

    border: 1px solid #d8e1e8;
    border-radius: 50%;

    background: #ffffff;

    box-shadow:
        0 8px 24px
        rgba(17, 39, 57, 0.10);
}

.home-company-card__logo img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;
    object-position: center;

    border-radius: 50%;
}

.home-company-card__logo > span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

    border-radius: 50%;

    background: #f4f7fa;
    color: #173b58;

    font-size: 22px;
}


/* ==================================================
   VERIFIED BADGE
================================================== */

.home-company-card__title {
    display: flex;
    align-items: center;

    gap: 6px;

    margin-bottom: 12px;
}

.home-company-card__title h3 {
    margin: 0;

    color: #16283d;

    font-size: 21px;
    line-height: 1.3;
}

.home-company-card__verified {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 14px;
    height: 14px;

    flex: 0 0 14px;

    margin-left: 1px;

    line-height: 0;
}

.home-company-card__verified svg {
    display: block;

    width: 22px;
    height: 20px;
    margin-top: -10px;

    overflow: visible;
}

/* ==================================================
   COMPANY TITLE
================================================== */

.home-company-card h3 {
    margin: 0 0 14px;

    color: #16283d;

    font-size: 21px;
    line-height: 1.3;
}

.home-company-card h3 a {
    color: inherit;

    text-decoration: none;
}


/* ==================================================
   COMPANY INFO
================================================== */

.home-company-card__category,
.home-company-card__meta span,
.home-company-card__footer > span,
.home-company-card__footer > a {
    position: relative;

    display: flex;
    align-items: center;

    gap: 8px;

    color: #526779;

    font-size: 12px;
    line-height: 1.5;
}

.home-company-card__category::before,
.home-company-card__footer > span::before {
    content: "";

    width: 15px;
    height: 15px;

    flex: 0 0 15px;

    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ef4e5e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M7 4v6M17 4v6M5 11h14v9H5z'/%3E%3C/svg%3E")
        center / contain no-repeat;
}

.home-company-card__meta span::before {
    content: "";

    width: 15px;
    height: 15px;

    flex: 0 0 15px;

    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ef4e5e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6-5.1 6-11a6 6 0 1 0-12 0c0 5.9 6 11 6 11Z'/%3E%3Ccircle cx='12' cy='10' r='2'/%3E%3C/svg%3E")
        center / contain no-repeat;
}

.home-company-card__category {
    margin: 0;
}


/* ==================================================
   COMPANY DESCRIPTION
================================================== */

.home-company-card__description {
    min-height: 40px;

    margin: 12px 0 0;

    color: #667787;

    font-size: 12px;
    line-height: 1.6;
}


/* ==================================================
   COMPANY META
================================================== */

.home-company-card__meta {
    display: grid;

    gap: 8px;

    margin-top: 13px;
}


/* ==================================================
   COMPANY FOOTER / DETAIL LINK
================================================== */

.home-company-card__footer {
    padding: 13px 16px;

    border-top: 1px solid #edf0f4;

    background: #ffffff;
}

.home-company-card__detail-button {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 38px;

    border-radius: 8px;

    background: #ef4e5e;
    color: #ffffff;

    font-size: 12px;
    text-decoration: none;
}

.home-company-card__detail-button::after {
    content: "";

    width: 14px;
    height: 14px;

    margin-left: 7px;

    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M14 7l5 5-5 5'/%3E%3C/svg%3E")
        center / contain no-repeat;
}

.home-company-card__detail-button:hover {
    background: #df4656;
}


/* ==================================================
   PHONE ICON
================================================== */

.home-company-card__phone {
    display: flex;
    align-items: center;

    gap: 8px;
}

.home-company-card__phone::before {
    content: "";

    width: 15px;
    height: 15px;

    flex: 0 0 15px;

    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ef4e5e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.6 3.5 9 3l2 5-2.2 1.7a14 14 0 0 0 5.5 5.5L16 13l5 2-.5 2.4a3 3 0 0 1-3 2.4C10.2 19 5 13.8 4.2 6.5a3 3 0 0 1 2.4-3Z'/%3E%3C/svg%3E")
        center / contain no-repeat;
}


/* ==================================================
   LOCATION ICON
================================================== */

.home-company-card__location {
    display: flex;
    align-items: center;

    gap: 8px;
}

.home-company-card__location::before {
    content: "";

    width: 15px;
    height: 15px;

    flex: 0 0 15px;

    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ef4e5e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6-5.1 6-11a6 6 0 1 0-12 0c0 5.9 6 11 6 11Z'/%3E%3Ccircle cx='12' cy='10' r='2'/%3E%3C/svg%3E")
        center / contain no-repeat;
}


/* ==================================================
   FUTURE SEPARATE CITY / DISTRICT ROWS
================================================== */

.home-company-card__info {
    display: grid;

    gap: 8px;

    margin-top: 12px;
}

.home-company-card__info-row {
    display: flex;
    align-items: center;

    gap: 8px;

    color: #526779;

    font-size: 12px;
}

.home-company-card__info-row svg {
    width: 15px;
    height: 15px;

    flex: 0 0 15px;

    color: #ef4e5e;
}


/* ==================================================
   CATEGORY GRID
================================================== */

.home-category-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
}

.home-category-card {
    position: relative;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    min-height: 145px;
    padding: 18px;

    overflow: hidden;

    border: 1px solid #e1e7ed;
    border-radius: 13px;

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #ffffff 58%,
            #fafbfc 100%
        );

    color: #12304b;
    text-decoration: none;

    transition:
        transform 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease;
}

.home-category-card::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;
    right: 0;

    height: 3px;

    background: #ef4e5e;
}

.home-category-card:hover {
    transform: translateY(-3px);

    border-color: #efcbd0;

    box-shadow:
        0 14px 30px
        rgba(18, 48, 75, 0.08);
}


/* ==================================================
   CATEGORY BRAND
================================================== */

.home-category-card__brand {
    position: absolute;

    top: 17px;
    right: 14px;

    width: 100px;
    height: 38px;

    background-image:
        url("../images/sektortime.png");

    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;

    opacity: 0.14;

    pointer-events: none;
}


/* ==================================================
   CATEGORY ICON
================================================== */

.home-category-card__icon {
    position: absolute;

    top: 18px;
    left: 18px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    border-radius: 10px;

    background: #fff0f2;
    color: #ef4e5e;
}

.home-category-card__icon svg {
    display: block;

    width: 16px;
    height: 16px;

    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* ==================================================
   CATEGORY TEXT
================================================== */

.home-category-card__title {
    position: relative;
    z-index: 2;

    display: block;

    margin-bottom: 5px;

    color: #12304b;

    font-size: 14px;
    line-height: 1.4;
}

.home-category-card__count {
    position: relative;
    z-index: 2;

    color: #728096;

    font-size: 12px;
}


/* ==================================================
   CATEGORY DECOR
================================================== */

.home-category-card::after {
    content: "";

    position: absolute;

    right: -30px;
    bottom: -30px;

    width: 90px;
    height: 90px;

    border-radius: 50%;

    background:
        rgba(239, 78, 94, 0.08);

    pointer-events: none;
}


/* ==================================================
   CITY GRID
================================================== */

.home-city-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.home-city-card {
    position: relative;

    min-height: 180px;

    overflow: hidden;

    border-radius: 14px;

    background:
        linear-gradient(
            rgba(8, 27, 43, 0.10),
            rgba(8, 27, 43, 0.68)
        ),
        linear-gradient(
            135deg,
            #347eaa,
            #0d5674
        );

    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;

    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease;
}

.home-city-card:hover {
    transform: translateY(-3px);

    box-shadow:
        0 14px 30px
        rgba(18, 48, 75, 0.12);
}

.home-city-card__content {
    position: absolute;

    left: 16px;
    right: 16px;
    bottom: 14px;

    z-index: 2;

    color: #ffffff;
}

.home-city-card__content strong {
    display: block;

    margin-bottom: 3px;

    font-size: 18px;
    line-height: 1.3;
}

.home-city-card__content span {
    color: rgba(255, 255, 255, 0.78);

    font-size: 12px;
}


/* ==================================================
   HOW IT WORKS
================================================== */

.home-steps {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 20px;
}

.home-step {
    display: grid;
    grid-template-columns: 40px 1fr;

    gap: 12px;

    align-items: flex-start;
}

.home-step > span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    border-radius: 50%;

    background: #ef4e5e;
    color: #fff;

    font-size: 11px;
}

.home-step h3 {
    margin: 0 0 4px;

    color: #12304b;

    font-size: 14px;
}

.home-step p {
    margin: 0;

    color: #6f7d91;

    font-size: 12px;
    line-height: 1.55;
}


/* ==================================================
   KNOWLEDGE GRID
================================================== */

.home-knowledge-grid {
    display: grid;
    grid-template-columns:
        1fr 1.3fr 1fr;

    gap: 18px;
}

.home-knowledge-box {
    padding: 20px;

    border: 1px solid #dfe6ef;
    border-radius: 12px;

    background: #fff;
}

.home-knowledge-box h3 {
    margin: 0 0 14px;

    color: #12304b;

    font-size: 16px;
}

.home-knowledge-box ul {
    margin: 0 0 15px;
    padding: 0;

    list-style: none;
}

.home-knowledge-box li + li {
    border-top: 1px solid #e8edf3;
}

.home-knowledge-box li a {
    display: block;

    padding: 9px 0;

    color: #41566d;

    font-size: 12px;
}

.home-knowledge-box p {
    color: #708097;

    font-size: 12px;
}

.home-knowledge-box__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 36px;
    padding: 0 14px;

    border-radius: 7px;

    background: #fff0f2;
    color: #ef4e5e;

    font-size: 12px;
}

.home-knowledge-box__button--primary {
    width: 100%;

    background: #ef4e5e;
    color: #fff;
}


/* ==================================================
   FAQ
================================================== */

.home-faq-list {
    display: grid;

    gap: 8px;
}

.home-faq {
    border: 1px solid #e0e6ee;
    border-radius: 8px;

    background: #fff;
}

.home-faq summary {
    padding: 11px 13px;

    cursor: pointer;

    color: #17304b;

    font-size: 12px;
}

.home-faq p {
    margin: 0;
    padding: 0 13px 11px;

    color: #6e7b8e;

    font-size: 12px;
}


/* ==================================================
   INLINE CTA
================================================== */

.home-inline-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-top: 28px;
    padding: 24px 28px;

    border-radius: 14px;

    background: #0a5874;
    color: #fff;
}

.home-inline-cta h3 {
    margin: 0 0 3px;

    font-size: 19px;
}

.home-inline-cta p {
    margin: 0;

    color: rgba(255, 255, 255, 0.82);

    font-size: 12px;
}

.home-inline-cta > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 40px;
    padding: 0 15px;

    border-radius: 8px;

    background: #ef4e5e;
    color: #fff;

    font-size: 12px;
}


/* ==================================================
   BLOG GRID
================================================== */

.home-blog-grid {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 20px;
}

.home-blog-card {
    overflow: hidden;

    border: 1px solid #e0e5ec;
    border-radius: 8px;

    background: #fff;
}

.home-blog-card__image {
    height: 190px;

    background:
        linear-gradient(
            135deg,
            #d8e6ef,
            #aec6d6
        );
}

.home-blog-card:nth-child(2)
.home-blog-card__image {
    background:
        linear-gradient(
            135deg,
            #e5d4c8,
            #c6b1a2
        );
}

.home-blog-card:nth-child(3)
.home-blog-card__image {
    background:
        linear-gradient(
            135deg,
            #d5e4d5,
            #b9cfb9
        );
}

.home-blog-card__body {
    padding: 17px;
}

.home-blog-card h3 {
    margin: 0 0 9px;

    color: #152a41;

    font-size: 16px;
    line-height: 1.4;
}

.home-blog-card p {
    margin: 0 0 13px;

    color: #68778a;

    font-size: 12px;
    line-height: 1.6;
}

.home-blog-card__link {
    color: #ef4e5e;

    font-size: 12px;
}

.home-blog-card__footer {
    padding: 12px 17px;

    border-top: 1px solid #edf0f4;

    color: #758197;

    font-size: 11px;
}


/* ==================================================
   CONTENT BOX
================================================== */

.home-content-box {
    padding: 26px 28px;

    border: 1px solid #dfe5ed;
    border-radius: 12px;

    background: #fff;
}

.home-content-box h2 {
    margin: 0 0 13px;

    color: #132a42;

    font-size: 21px;
}

.home-content-box p {
    margin: 0;

    color: #617086;

    font-size: 12px;
    line-height: 1.8;
}

.home-content-box p + p {
    margin-top: 13px;
}

.home-content-box > a {
    display: inline-flex;

    margin-top: 17px;
    padding: 8px 14px;

    border: 1px solid #ef4e5e;
    border-radius: 7px;

    color: #ef4e5e;

    font-size: 12px;
}


/* ==================================================
   RESPONSIVE
================================================== */

@media (max-width: 1100px) {

    .home-company-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .home-category-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .home-city-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .home-steps {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .home-knowledge-grid {
        grid-template-columns:
            1fr 1fr;
    }

    .home-knowledge-box--cta {
        grid-column: 1 / -1;
    }

}


@media (max-width: 760px) {

    .home-hero {
        min-height: 600px;
    }

    .home-hero h1 {
        font-size: 32px;
    }

    .home-search {
        grid-template-columns: 1fr;

        border-radius: 16px;
    }

    .home-search__button {
        border-radius: 11px;
    }

    .home-search__results {
        left: 10px;
        right: 10px;
    }

    .home-company-grid,
    .home-category-grid,
    .home-city-grid,
    .home-steps,
    .home-knowledge-grid,
    .home-blog-grid {
        grid-template-columns: 1fr;
    }

    .home-section__heading--between {
        align-items: flex-start;
        flex-direction: column;
    }

    .home-inline-cta {
        align-items: flex-start;
        flex-direction: column;
    }

}
