/* =========================================================
   SMARTER APPLIANCES
   INSTALL-READY WORKS

   Converted from:
   src/routes/install-ready-works.tsx
   ========================================================= */

:root {
    --irw-obsidian: oklch(0.168 0.020 220);
    --irw-mint: oklch(0.778 0.1454 169.75);
    --irw-mint-dark: oklch(0.6775 0.1257 170.29);
    --irw-paper: oklch(0.972 0.006 80);
    --irw-warm: oklch(0.92 0.009 80);

    --irw-border-5:
        color-mix(in oklab, var(--irw-obsidian) 5%, transparent);

    --irw-border-10:
        color-mix(in oklab, var(--irw-obsidian) 10%, transparent);

    --irw-border-15:
        color-mix(in oklab, var(--irw-obsidian) 15%, transparent);

    --irw-text-5:
        color-mix(in oklab, var(--irw-obsidian) 5%, transparent);

    --irw-text-60:
        color-mix(in oklab, var(--irw-obsidian) 60%, transparent);

    --irw-text-70:
        color-mix(in oklab, var(--irw-obsidian) 70%, transparent);

    --irw-paper-60:
        color-mix(in oklab, var(--irw-paper) 60%, transparent);

    --irw-max-width: 1280px;
}


/* =========================================================
   BASE
   ========================================================= */

.irw-page {
    width: 100%;
    overflow-x: hidden;

    background: var(--irw-paper);
    color: var(--irw-obsidian);

    font-family: "DM Sans", sans-serif;
}


.irw-page h1,
.irw-page h2,
.irw-page h3 {
    font-family: "Space Grotesk", sans-serif;
}


.irw-container {
    width: 100%;
    max-width: var(--irw-max-width);

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


/* =========================================================
   REVEAL
   ========================================================= */

@keyframes irwReveal {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


.irw-reveal {
    animation:
        irwReveal
        0.8s
        cubic-bezier(0.16, 1, 0.3, 1)
        both;
}


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

   px-6      = 24px
   py-24     = 96px
   max-w-7xl = 1280px
   ========================================================= */

.irw-hero {
    padding: 96px 24px;

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


.irw-hero__eyebrow {
    margin-bottom: 24px;

    color: var(--irw-mint-dark);

    font-family: "Space Grotesk", sans-serif;

    font-size: 12px;
    font-weight: 700;

    line-height: 16px;

    text-transform: uppercase;

    letter-spacing: 0.1em;
}


.irw-hero__title {
    max-width: 18ch;

    margin: 0;

    color: var(--irw-obsidian);

    font-size: 48px;
    font-weight: 700;

    line-height: 0.95;

    letter-spacing: -0.05em;

    text-wrap: balance;
}


/* =========================================================
   INTRO
   ========================================================= */

.irw-intro {
    padding: 64px 24px;

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


.irw-intro__grid {
    display: grid;

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

    align-items: center;

    gap: 48px;
}


/* Image */

.irw-intro__image-wrap {
    position: relative;

    aspect-ratio: 3 / 2;

    overflow: hidden;

    border-radius: 2px;

    background: var(--irw-warm);
}


.irw-intro__image {
    position: absolute;

    inset: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* Copy */

.irw-intro__eyebrow {
    margin-bottom: 16px;

    color: var(--irw-mint-dark);

    font-family: "Space Grotesk", sans-serif;

    font-size: 12px;
    font-weight: 700;

    line-height: 16px;

    text-transform: uppercase;

    letter-spacing: 0.1em;
}


.irw-intro__title {
    max-width: 24ch;

    margin: 0 0 24px;

    color: var(--irw-obsidian);

    font-size: 30px;
    font-weight: 700;

    line-height: 1.2;

    letter-spacing: -0.025em;

    text-wrap: balance;
}


.irw-intro__text {
    max-width: 50ch;

    margin: 0;

    color: var(--irw-text-60);

    font-size: 16px;
    font-weight: 400;

    line-height: 1.625;
}


/* =========================================================
   DARK BENEFITS
   ========================================================= */

.irw-benefits {
    padding: 64px 24px;

    background: var(--irw-obsidian);

    border-bottom:
        1px solid
        color-mix(in oklab, var(--irw-paper) 10%, transparent);
}


.irw-benefits__grid {
    display: grid;

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

    gap: 32px;
}


.irw-benefit__number {
    margin-bottom: 12px;

    color: var(--irw-mint);

    font-family: "Space Grotesk", sans-serif;

    font-size: 24px;
    font-weight: 700;

    line-height: 32px;
}


.irw-benefit__title {
    margin: 0 0 8px;

    color: var(--irw-paper);

    font-size: 18px;
    font-weight: 700;

    line-height: 28px;
}


.irw-benefit__text {
    margin: 0;

    color: var(--irw-paper-60);

    font-size: 14px;

    line-height: 1.625;
}


/* =========================================================
   SERVICE CARDS
   ========================================================= */

.irw-services {
    padding: 96px 24px;

    background: var(--irw-paper);
}


.irw-services__grid {
    display: grid;

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

    gap: 1px;

    padding: 1px;

    border: 1px solid var(--irw-border-10);

    background: var(--irw-border-10);
}


.irw-service-card {
    padding: 40px;

    background: var(--irw-paper);
}


.irw-service-card__number {
    margin-bottom: 24px;

    color: var(--irw-mint-dark);

    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        "Liberation Mono",
        monospace;

    font-size: 14px;

    line-height: 20px;
}


.irw-service-card__title {
    margin: 0 0 16px;

    color: var(--irw-obsidian);

    font-size: 24px;
    font-weight: 700;

    line-height: 32px;
}


.irw-service-card__text {
    margin: 0 0 24px;

    color: var(--irw-text-60);

    font-size: 16px;

    line-height: 1.625;
}


/* Bullet points */

.irw-service-card__points {
    display: flex;

    flex-direction: column;

    gap: 8px;

    margin: 0;
    padding: 0;

    list-style: none;
}


.irw-service-card__points li {
    display: flex;

    align-items: flex-start;

    gap: 12px;

    color: var(--irw-text-70);

    font-size: 14px;

    line-height: 1.5;
}


.irw-service-card__points li > span {
    display: block;

    width: 6px;
    height: 6px;

    margin-top: 6px;

    flex: 0 0 6px;

    border-radius: 9999px;

    background: var(--irw-mint);
}


/* =========================================================
   FINAL CTA
   ========================================================= */

.irw-cta {
    padding: 96px 24px;

    background: var(--irw-warm);

    border-top: 1px solid var(--irw-border-10);
    border-bottom: 1px solid var(--irw-border-10);
}


.irw-cta__grid {
    display: grid;

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

    gap: 48px;
}


.irw-cta__title {
    margin: 0 0 24px;

    color: var(--irw-obsidian);

    font-size: 30px;
    font-weight: 700;

    line-height: 1.2;

    letter-spacing: -0.025em;
}


.irw-cta__text {
    max-width: 50ch;

    margin: 0;

    color: var(--irw-text-60);

    font-size: 16px;

    line-height: 1.625;
}


.irw-cta__actions {
    display: flex;

    flex-direction: column;

    justify-content: center;

    gap: 16px;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.irw-button {
    display: inline-flex;

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

    padding: 16px 32px;

    border-radius: 2px;

    font-family: "DM Sans", sans-serif;

    font-size: 14px;
    font-weight: 700;

    line-height: 20px;

    letter-spacing: 0.1em;

    text-align: center;

    text-decoration: none;

    white-space: nowrap;

    transition:
        background-color 0.2s ease,
        box-shadow 0.2s ease;
}


.irw-button--outline {
    border: 1px solid var(--irw-border-15);

    background: transparent;

    color: var(--irw-obsidian);
}


.irw-button--outline:hover {
    background:
        color-mix(
            in oklab,
            var(--irw-obsidian) 5%,
            transparent
        );

    color: var(--irw-obsidian);
}


.irw-button--mint {
    border: 1px solid var(--irw-mint);

    background: var(--irw-mint);

    color: var(--irw-obsidian);
}


.irw-button--mint:hover {
    color: var(--irw-obsidian);

    box-shadow:
        0 0 30px
        color-mix(
            in oklab,
            var(--irw-mint) 45%,
            transparent
        );
}


/* =========================================================
   MD = 768px
   ========================================================= */

@media (min-width: 768px) {

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


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


    .irw-cta__actions {
        flex-direction: row;
    }

}


/* =========================================================
   LG = 1024px
   ========================================================= */

@media (min-width: 1024px) {

    .irw-hero__title {
        font-size: 60px;
    }


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


    .irw-intro__title {
        font-size: 36px;
    }


    .irw-service-card {
        padding: 48px;
    }


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


    .irw-cta__actions {
        justify-content: flex-end;

        align-items: center;
    }

}


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

@media (max-width: 575px) {

    .irw-hero {
        padding: 72px 20px;
    }


    .irw-hero__title {
        font-size: 42px;
    }


    .irw-intro,
    .irw-benefits,
    .irw-services,
    .irw-cta {
        padding-left: 20px;
        padding-right: 20px;
    }


    .irw-service-card {
        padding: 32px;
    }


    .irw-cta__actions {
        width: 100%;
    }


    .irw-button {
        width: 100%;
    }

}