/* =========================================================
   NUIT MAGAZINE
   OUR AUTHORS PAGE ONLY
   ========================================================= */

.nuit-authors-page {

    --authors-heading: "Playfair Display", Georgia, serif;
    --authors-body: "DM Sans", Arial, sans-serif;

    --authors-bg: #eee9df;
    --authors-text:  #1E1E1E;
    --authors-muted: #8E510B;
    --authors-border: #ccc;

    background: var(--authors-bg);

    color: var(--authors-text);

    font-family: var(--authors-body);

    width: 100%;
}


/* ---------------------------------------------------------
   Google Fonts
   --------------------------------------------------------- */

@import url(
    'https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap'
);


/* ---------------------------------------------------------
   Container
   --------------------------------------------------------- */

.nuit-authors-container {

    width: min(1380px, calc(100% - 80px));

    margin-left: auto;
    margin-right: auto;
}


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

.nuit-authors-hero {

    padding: 110px 0 60px;

    border-bottom: 1px solid var(--authors-border);
}


.nuit-authors-eyebrow {

    display: flex;

    align-items: center;

    margin-bottom: 22px;

    font-family: var(--authors-body);

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 0.16em;

    text-transform: uppercase;

    color: var(--authors-muted);
}


.nuit-authors-eyebrow::before {

    content: "";

    width: 28px;

    height: 1px;

    margin-right: 12px;

    background: currentColor;
}


.nuit-authors-title {

    margin: 0;

    font-family: var(--authors-heading);

    font-size: 60px;

    line-height: 0.95;

    font-weight: 600;

    letter-spacing: -0.045em;

    color: var(--authors-text);
}


.nuit-authors-intro {

    max-width: 620px;

    margin-top: 34px;
}


.nuit-authors-intro p {

    margin: 0;

    font-family: var(--authors-body);

    font-size: 18px;

    line-height: 1.65;

    color: #1E1E1ECC;
}


/* ---------------------------------------------------------
   Authors Section
   --------------------------------------------------------- */

.nuit-authors-section {

    padding: 60px 0 80px;
}


/* ---------------------------------------------------------
   Grid
   --------------------------------------------------------- */

.nuit-authors-grid {

    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    column-gap: 28px;

    row-gap: 70px;
}


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

.nuit-author-card {

    min-width: 0;
}


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

.nuit-author-image-link {

    display: block;

    text-decoration: none;
}


.nuit-author-image-wrap {

    position: relative;

    width: 100%;

    aspect-ratio: 8 / 7;



    overflow: hidden;

    background: #d8d2c7;
}


.nuit-author-image {

    display: block;

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: center;

    transition:
        transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1),
        filter 0.4s ease;
}


.nuit-author-card:hover .nuit-author-image {

    transform: scale(1.035);
}


/* ---------------------------------------------------------
   Content
   --------------------------------------------------------- */

.nuit-author-content {

    padding-top: 22px;
}


/* ---------------------------------------------------------
   Meta
   --------------------------------------------------------- */

.nuit-author-meta {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 15px;

    margin-bottom: 12px;

    font-family: var(--authors-body);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 0.13em;

    text-transform: uppercase;

    color: var(--authors-muted);
}


.nuit-author-label {

    display: flex;

    align-items: center;
}


.nuit-author-label::before {

    content: "";

    width: 7px;

    height: 7px;

    margin-right: 8px;

    border-radius: 50%;

    background: var(--authors-text);
}


.nuit-author-post-count {

    white-space: nowrap;
}


/* ---------------------------------------------------------
   Name
   --------------------------------------------------------- */

.nuit-author-name {

    margin: 0 0 14px;

    font-family: var(--authors-heading);

    font-size: clamp(30px, 3vw, 43px);

    line-height: 1.05;

    font-weight: 600;

    letter-spacing: -0.025em;
}


.nuit-author-name a {

    color: var(--authors-text);

    text-decoration: none;

    transition: opacity 0.25s ease;
}


.nuit-author-name a:hover {

    opacity: 0.6;
}


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

.nuit-author-description {

    max-width: 470px;

    margin-bottom: 23px;
}


.nuit-author-description p {

    margin: 0;

    font-family: var(--authors-body);

    font-size: 16px;

    line-height: 1.7;

    color: #1E1E1ECC;
}


/* ---------------------------------------------------------
   View Profile
   --------------------------------------------------------- */

.nuit-author-link {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding-bottom: 5px;

    border-bottom: 1px solid var(--authors-text);

    font-family: var(--authors-body);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 0.12em;

    text-transform: uppercase;

    color: var(--authors-text);

    text-decoration: none;

    transition:
        gap 0.25s ease,
        opacity 0.25s ease;
}


.nuit-author-link:hover {

    gap: 15px;

    opacity: 0.65;
}


.nuit-author-arrow {

    font-size: 17px;

    line-height: 1;
}


/* ---------------------------------------------------------
   Empty
   --------------------------------------------------------- */

.nuit-authors-empty {

    padding: 100px 30px;

    text-align: center;

    border-top: 1px solid var(--authors-border);

    border-bottom: 1px solid var(--authors-border);
}


.nuit-authors-empty h2 {

    margin: 0 0 15px;

    font-family: var(--authors-heading);

    font-size: 42px;
}


.nuit-authors-empty p {

    margin: 0;

    font-family: var(--authors-body);

    color: var(--authors-muted);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .nuit-authors-container {

        width: min(100% - 50px, 1380px);
    }


    .nuit-authors-hero {

        padding: 90px 0 65px;
    }


    .nuit-authors-section {

        padding: 65px 0 90px;
    }


    .nuit-authors-grid {

        grid-template-columns: repeat(2, minmax(0, 1fr));

        column-gap: 24px;

        row-gap: 55px;
    }


    .nuit-authors-title {

        font-size: 50px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .nuit-authors-container {

        width: calc(100% - 36px);
    }


    .nuit-authors-hero {

        padding: 70px 0 48px;
    }


    .nuit-authors-eyebrow {

        margin-bottom: 18px;

        font-size: 10px;
    }


    .nuit-authors-title {

        font-size: 40px;

        line-height: 0.98;
    }


    .nuit-authors-intro {

        margin-top: 24px;
    }


    .nuit-authors-intro p {

        font-size: 15px;

        line-height: 1.6;
    }


    .nuit-authors-section {

        padding: 50px 0 70px;
    }


    .nuit-authors-grid {

        grid-template-columns: 1fr;

        row-gap: 55px;
    }


    .nuit-author-image-wrap {

        aspect-ratio: 8 / 7;
    }


    .nuit-author-content {

        padding-top: 18px;
    }


    .nuit-author-name {

        font-size: 34px;
    }


    .nuit-author-description p {

        font-size: 14px;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {

    .nuit-authors-container {

        width: calc(100% - 28px);
    }


    .nuit-authors-hero {

        padding: 55px 0 40px;
    }


    .nuit-authors-title {

        font-size: 40px;
    }


    .nuit-authors-section {

        padding-top: 42px;
    }


    .nuit-author-meta {

        font-size: 9px;
    }


    .nuit-author-name {

        font-size: 31px;
    }

}