/* =========================================================
   Implementation Project Manager Page
   ========================================================= */


/* =========================================================
   Hero
   ========================================================= */

.implementation-hero {
    padding: clamp(8rem, 11vw, 10rem) 0 clamp(5rem, 8vw, 7rem);
}

.implementation-hero-grid {
    width: min(calc(100% - 2rem), var(--max-width));
    margin: 0 auto;

    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    grid-template-areas:
        "breadcrumb proof"
        "eyebrow    proof"
        "title      proof"
        "summary    proof"
        "actions    proof"
        "fit        fit";

    column-gap: clamp(3.5rem, 6vw, 7rem);
    row-gap: 1.5rem;
    align-items: start;
}

/*
   The first hero child contains the breadcrumb, eyebrow,
   heading, summary, actions, and proof row.

   display: contents allows those children to participate
   directly in the parent grid without changing the HTML.
*/
.implementation-hero-grid > div:first-child {
    display: contents;
}


/* Hero element placement */

.implementation-hero .breadcrumb {
    grid-area: breadcrumb;
    margin-bottom: 0;
}

.implementation-hero .eyebrow {
    grid-area: eyebrow;
    margin: 0;
}

.implementation-hero h1 {
    grid-area: title;

    max-width: 760px;
    margin: 0;

    font-size: clamp(3.5rem, 5vw, 5.75rem);
    line-height: 0.98;
    letter-spacing: -0.05em;
}

.implementation-hero-summary {
    grid-area: summary;

    max-width: 720px;
    margin: 0;

    color: var(--muted);
    font-size: clamp(1.05rem, 1.7vw, 1.22rem);
    line-height: 1.7;
}

.implementation-hero .hero-actions {
    grid-area: actions;

    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 0.5rem;
}


/* =========================================================
   Hero Proof Row
   ========================================================= */

.implementation-proof-row {
    grid-area: proof;
    align-self: center;

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

    width: 100%;
    margin: 0;
    padding-top: 1.5rem;

    border-top: 1px solid var(--line);
}

.implementation-proof-row > div {
    min-width: 0;
    padding: 0 1.1rem;
    border-right: 1px solid var(--line);
}

.implementation-proof-row > div:first-child {
    padding-left: 0;
}

.implementation-proof-row > div:last-child {
    padding-right: 0;
    border-right: 0;
}

.implementation-proof-row strong,
.implementation-proof-row span {
    display: block;
}

.implementation-proof-row strong {
    margin-bottom: 0.4rem;
    color: var(--text);
    font-size: clamp(0.95rem, 1.3vw, 1.1rem);
    line-height: 1.25;
}

.implementation-proof-row span {
    color: var(--muted);
    font-size: 0.78rem;
    line-height: 1.45;
}


/* =========================================================
   Hero Fit Panel
   ========================================================= */

.implementation-hero-grid > aside {
    grid-area: fit;

    width: 100%;
    margin-top: clamp(2.5rem, 5vw, 5rem);
    padding: clamp(2.75rem, 4vw, 4.5rem);

    border: 1px solid rgba(243, 200, 75, 0.28);
    border-radius: var(--radius-lg);

    background:
        linear-gradient(
            135deg,
            rgba(243, 200, 75, 0.09),
            rgba(255, 255, 255, 0.025) 52%,
            rgba(255, 255, 255, 0.015)
        );

    box-shadow: var(--shadow);
}

.implementation-hero-grid > aside .eyebrow {
    display: block;
    margin-bottom: 1.35rem;
}

.implementation-hero-grid > aside h2 {
    max-width: 1250px;
    margin: 0 0 2.25rem;

    font-size: clamp(2.3rem, 3.5vw, 3.75rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.implementation-hero-grid > aside .check-list {
    display: grid;
    gap: 1rem;

    max-width: 1050px;
    margin: 0;
}

.implementation-hero-grid > aside .check-list li {
    line-height: 1.55;
}


/* Backward-compatible class if it is used elsewhere */

.implementation-fit-card {
    padding: clamp(2.75rem, 4vw, 4.5rem);

    border: 1px solid rgba(243, 200, 75, 0.28);
    border-radius: var(--radius-lg);

    background:
        linear-gradient(
            135deg,
            rgba(243, 200, 75, 0.09),
            rgba(255, 255, 255, 0.025)
        );

    box-shadow: var(--shadow);
}


/* =========================================================
   Capabilities
   ========================================================= */

.implementation-capability-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.implementation-capability-grid article,
.control-grid article {
    padding: 1.55rem;

    border: 1px solid var(--line);
    border-radius: var(--radius-md);

    background: rgba(255, 255, 255, 0.025);
}

.implementation-capability-grid i {
    width: 46px;
    height: 46px;

    display: grid;
    place-items: center;

    margin-bottom: 1.1rem;
    border-radius: 11px;

    color: var(--gold);
    background: rgba(243, 200, 75, 0.09);
}

.implementation-capability-grid h3 {
    font-size: 1.08rem;
}

.implementation-capability-grid p,
.control-grid p {
    margin-bottom: 0;
    color: var(--muted);
    font-size: 0.92rem;
}


/* =========================================================
   Implementation Lifecycle
   ========================================================= */

.implementation-timeline {
    display: grid;
    gap: 1rem;
}

.implementation-timeline article {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 1.4rem;

    padding: 1.4rem;

    border: 1px solid var(--line);
    border-radius: var(--radius-md);

    background: rgba(255, 255, 255, 0.025);
}

.implementation-timeline article > span {
    width: 54px;
    height: 54px;

    display: grid;
    place-items: center;

    border: 1px solid rgba(243, 200, 75, 0.35);
    border-radius: 50%;

    color: var(--gold);
    font-size: 0.82rem;
    font-weight: 900;
}

.implementation-timeline p {
    margin-bottom: 0;
    color: var(--muted);
}


/* =========================================================
   Experience
   ========================================================= */

.implementation-experience-stack {
    display: grid;
    gap: 1rem;
}

.implementation-experience-card {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    align-items: start;
    gap: clamp(2rem, 4vw, 3.5rem);

    padding: clamp(1.75rem, 3vw, 2.5rem);

    border: 1px solid var(--line);
    border-radius: var(--radius-lg);

    background: rgba(255, 255, 255, 0.025);
}

.implementation-experience-card > div:last-child {
    min-width: 0;
}

.implementation-metric {
    color: var(--gold);

    font-size: clamp(3.5rem, 5vw, 6rem);
    font-weight: 900;
    line-height: 0.92;
    letter-spacing: -0.06em;

    white-space: nowrap;
}

.implementation-experience-card p {
    color: var(--muted);
}


/* =========================================================
   Controls and Operating Structure
   ========================================================= */

.implementation-control-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: 4rem;
    align-items: start;
}

.control-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}


/* =========================================================
   Responsive: Large Tablet
   ========================================================= */

@media (max-width: 1100px) {
    .implementation-hero {
        padding-top: 8rem;
    }

    .implementation-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(280px, 0.75fr);
        column-gap: 3rem;
    }

    .implementation-hero h1 {
        font-size: clamp(3.25rem, 5.8vw, 4.75rem);
    }

    .implementation-proof-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.25rem 0;
    }

    .implementation-proof-row > div:nth-child(2) {
        border-right: 0;
    }

    .implementation-proof-row > div:nth-child(3) {
        padding-left: 0;
    }

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

    .implementation-control-layout {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .implementation-experience-card {
        grid-template-columns: 240px minmax(0, 1fr);
    }
}


/* =========================================================
   Responsive: Tablet and Mobile
   ========================================================= */

@media (max-width: 820px) {
    .implementation-hero {
        padding: 7rem 0 4rem;
    }

    .implementation-hero-grid {
        grid-template-columns: 1fr;
        grid-template-areas:
            "breadcrumb"
            "eyebrow"
            "title"
            "summary"
            "actions"
            "proof"
            "fit";

        row-gap: 1.4rem;
    }

    .implementation-hero h1 {
        max-width: 680px;
        font-size: clamp(3rem, 10vw, 4.5rem);
        line-height: 1;
    }

    .implementation-hero-summary {
        max-width: 680px;
    }

    .implementation-proof-row {
        margin-top: 2rem;
    }

    .implementation-hero-grid > aside {
        margin-top: 2rem;
    }

    .implementation-experience-card {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }
}


/* =========================================================
   Responsive: Small Mobile
   ========================================================= */

@media (max-width: 600px) {
    .implementation-hero {
        padding-top: 6.5rem;
    }

    .implementation-hero-grid {
        width: min(calc(100% - 1.25rem), var(--max-width));
    }

    .implementation-hero h1 {
        font-size: clamp(2.65rem, 13vw, 3.8rem);
        letter-spacing: -0.045em;
    }

    .implementation-hero .hero-actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .implementation-hero .hero-actions a {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .implementation-proof-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .implementation-proof-row > div {
        padding: 0;
        border-right: 0;
    }

    .implementation-proof-row strong {
        font-size: 0.95rem;
    }

    .implementation-hero-grid > aside {
        padding: 2rem 1.35rem;
        border-radius: 22px;
    }

    .implementation-hero-grid > aside h2 {
        font-size: clamp(2rem, 9vw, 2.8rem);
    }

    .implementation-capability-grid,
    .control-grid {
        grid-template-columns: 1fr;
    }

    .implementation-timeline article {
        grid-template-columns: 54px minmax(0, 1fr);
        gap: 1rem;
    }

    .implementation-metric {
        font-size: clamp(3.2rem, 17vw, 5rem);
    }
}