/* =========================================================
   PROGRAM PREMIUM - MODERN
   Namespace: pm-
========================================================= */

.pm-section {
    --pm-blue: #4192ff;
    --pm-blue-deep: #287be6;

    --pm-green: #46f484;
    --pm-green-deep: #1fa968;

    --pm-gold: #e1ff58;
    --pm-gold-deep: #a8bc21;

    --pm-ink: #15242e;
    --pm-text: #52646f;
    --pm-soft: #7c8b94;

    --pm-border: rgba(23, 46, 59, 0.10);

    --pm-bg: #fbfcfa;
    --pm-bg-soft: #f5f8f5;

    position: relative;

    isolation: isolate;

    overflow: hidden;

    background: var(--pm-bg);

    color: var(--pm-ink);
}


.pm-section *,
.pm-section *::before,
.pm-section *::after {
    box-sizing: border-box;
}


.pm-container {
    width: min(1180px, calc(100% - 48px));

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


/* =========================================================
   AMBIENT BACKGROUND
========================================================= */

.pm-ambient {
    position: absolute;

    z-index: -2;

    border-radius: 50%;

    pointer-events: none;

    filter: blur(30px);
}


.pm-ambient--blue {
    width: 700px;
    height: 700px;

    top: 200px;
    right: -420px;

    background:
        radial-gradient(
            circle,
            rgba(65, 146, 255, 0.10),
            transparent 70%
        );
}


.pm-ambient--green {
    width: 600px;
    height: 600px;

    top: 1400px;
    left: -380px;

    background:
        radial-gradient(
            circle,
            rgba(70, 244, 132, 0.08),
            transparent 70%
        );
}


.pm-ambient--gold {
    width: 650px;
    height: 650px;

    top: 3100px;
    right: -400px;

    background:
        radial-gradient(
            circle,
            rgba(225, 255, 88, 0.10),
            transparent 70%
        );
}


/* =========================================================
   COMMON TYPOGRAPHY
========================================================= */

.pm-mini {
    display: block;

    margin-bottom: 16px;

    color: #5d7481;

    font-family: "Inter", sans-serif;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 0.16em;

    text-transform: uppercase;
}


.pm-heading {
    max-width: 700px;

    margin-bottom: 70px;
}


.pm-heading--center {
    margin-left: auto;
    margin-right: auto;

    text-align: center;
}


.pm-heading h3 {
    margin: 0;

    color: var(--pm-ink);

    font-family: "Manrope", sans-serif;

    font-size:
        clamp(
            36px,
            4.4vw,
            58px
        );

    font-weight: 650;

    line-height: 1.06;

    letter-spacing: -0.045em;
}


.pm-heading h3 span {
    font-weight: 800;
}


.pm-heading p {
    max-width: 600px;

    margin:
        24px
        0
        0;

    color: var(--pm-text);

    font-family: "Inter", sans-serif;

    font-size: 17px;

    line-height: 1.75;
}


.pm-heading--center p {
    margin-left: auto;
    margin-right: auto;
}


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

.pm-btn {
    min-height: 56px;

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

    gap: 12px;

    border-radius: 10px;

    font-family: "Inter", sans-serif;

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

    text-decoration: none;

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


.pm-btn--primary {
    padding: 15px 23px;

    background: var(--pm-blue-deep);

    box-shadow:
        0 13px 32px
        rgba(40, 123, 230, 0.20);

    color: #fff;
}


.pm-btn--primary:hover {
    transform: translateY(-3px);

    background: #1d70dc;

    box-shadow:
        0 18px 40px
        rgba(40, 123, 230, 0.27);

    color: #fff;
}


.pm-btn--primary i {
    font-size: 20px;
}


.pm-btn--text {
    min-height: auto;

    padding: 10px 4px;

    color: #526873;

    border-bottom:
        1px solid
        rgba(82, 104, 115, 0.30);

    border-radius: 0;
}


.pm-btn--text:hover {
    color: var(--pm-blue-deep);
}


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

.pm-hero {
    min-height: min(900px, 88vh);

    padding:
        clamp(110px, 12vw, 170px)
        0
        clamp(80px, 8vw, 120px);

    display: grid;

    grid-template-columns:
        minmax(0, 1.12fr)
        minmax(340px, 0.88fr);

    gap:
        clamp(
            60px,
            8vw,
            120px
        );

    align-items: center;
}


.pm-hero__content {
    max-width: 710px;
}


.pm-eyebrow {
    display: flex;
    align-items: center;

    gap: 14px;

    margin-bottom: 30px;

    color: #49616e;

    font-family: "Inter", sans-serif;

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

    letter-spacing: 0.16em;
}


.pm-eyebrow__line {
    display: block;

    width: 46px;
    height: 2px;

    flex: 0 0 auto;

    border-radius: 10px;

    background:
        linear-gradient(
            90deg,
            var(--pm-blue),
            var(--pm-green),
            var(--pm-gold)
        );
}


.pm-hero__title {
    margin: 0;

    display: flex;
    flex-direction: column;

    color: var(--pm-ink);

    font-family: "Manrope", sans-serif;

    font-size:
        clamp(
            52px,
            6.6vw,
            92px
        );

    font-weight: 750;

    line-height: 0.94;

    letter-spacing: -0.065em;
}


.pm-hero__title-accent {
    position: relative;

    width: fit-content;

    margin-top: 5px;
}


.pm-hero__title-accent::after {
    content: "";

    position: absolute;

    left: 1%;
    bottom: -12px;

    width: 68%;
    height: 5px;

    border-radius: 100px;

    background:
        linear-gradient(
            90deg,
            var(--pm-blue),
            var(--pm-green),
            var(--pm-gold)
        );
}


.pm-hero__lead {
    max-width: 640px;

    margin:
        45px
        0
        0;

    color: #263b47;

    font-family: "Inter", sans-serif;

    font-size:
        clamp(
            19px,
            2vw,
            23px
        );

    font-weight: 500;

    line-height: 1.58;
}


.pm-hero__text {
    max-width: 620px;

    margin:
        22px
        0
        0;

    color: var(--pm-text);

    font-family: "Inter", sans-serif;

    font-size: 16px;

    line-height: 1.75;
}


.pm-hero__actions {
    display: flex;
    flex-wrap: wrap;

    align-items: center;

    gap: 23px;

    margin-top: 36px;
}


/* =========================================================
   3C COMPASS
========================================================= */

.pm-hero__visual {
    display: flex;
    justify-content: center;
    align-items: center;
}


.pm-compass {
    position: relative;

    width:
        min(
            420px,
            34vw
        );

    aspect-ratio: 1;

    border-radius: 50%;
}


.pm-compass::before {
    content: "";

    position: absolute;

    inset: 17%;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(255, 255, 255, 0.96),
            rgba(247, 250, 248, 0.86)
        );

    box-shadow:
        0 35px 80px
        rgba(25, 52, 68, 0.11);
}


.pm-compass__orbit {
    position: absolute;

    left: 50%;
    top: 50%;

    border-radius: 50%;

    border:
        1px solid
        rgba(29, 55, 69, 0.10);

    transform: translate(-50%, -50%);
}


.pm-compass__orbit--1 {
    width: 100%;
    height: 100%;
}


.pm-compass__orbit--2 {
    width: 76%;
    height: 76%;

    border-color:
        rgba(65, 146, 255, 0.12);
}


.pm-compass__orbit--3 {
    width: 51%;
    height: 51%;

    border-color:
        rgba(70, 244, 132, 0.14);
}


.pm-compass__center {
    position: absolute;

    inset: 32%;

    z-index: 2;

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

    text-align: center;

    border-radius: 50%;
}


.pm-compass__center strong {
    font-family: "Manrope", sans-serif;

    font-size: clamp(40px, 5vw, 64px);

    font-weight: 800;

    letter-spacing: -0.08em;
}


.pm-compass__center span {
    margin-top: 4px;

    color: #74858e;

    font-family: "Inter", sans-serif;

    font-size: 11px;

    line-height: 1.45;
}


.pm-compass__point {
    position: absolute;

    z-index: 3;

    display: flex;
    align-items: center;

    gap: 9px;

    font-family: "Inter", sans-serif;
}


.pm-compass__point span {
    width: 43px;
    height: 43px;

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

    border-radius: 50%;

    background: #fff;

    box-shadow:
        0 12px 30px
        rgba(24, 48, 61, 0.13);

    font-family: "Manrope", sans-serif;

    font-size: 18px;

    font-weight: 800;
}


.pm-compass__point small {
    color: #334a56;

    font-size: 11px;

    font-weight: 700;
}


.pm-compass__point--blue {
    top: 5%;
    left: 5%;
}


.pm-compass__point--blue span {
    color: var(--pm-blue-deep);

    border:
        2px solid
        rgba(65, 146, 255, 0.42);
}


.pm-compass__point--green {
    top: 30%;
    right: -7%;
}


.pm-compass__point--green span {
    color: var(--pm-green-deep);

    border:
        2px solid
        rgba(70, 244, 132, 0.50);
}


.pm-compass__point--gold {
    bottom: 4%;
    left: 14%;
}


.pm-compass__point--gold span {
    color: #77880f;

    border:
        2px solid
        rgba(225, 255, 88, 0.75);
}


/* =========================================================
   DURATION NOTE
========================================================= */

.pm-duration {
    margin-bottom:
        clamp(
            100px,
            12vw,
            160px
        );

    padding:
        18px
        0;

    display: flex;
    align-items: center;

    gap: 15px;

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

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


.pm-duration i {
    flex: 0 0 auto;

    color: var(--pm-blue-deep);

    font-size: 23px;
}


.pm-duration p {
    margin: 0;

    color: #697a84;

    font-family: "Inter", sans-serif;

    font-size: 13px;

    line-height: 1.65;
}


.pm-duration strong {
    color: #354b57;
}


/* =========================================================
   START
========================================================= */

.pm-start {
    padding-bottom:
        clamp(
            110px,
            13vw,
            180px
        );
}


.pm-start__intro {
    width: min(830px, 100%);

    margin: 0 auto;

    text-align: center;
}


.pm-start h3 {
    margin: 0;

    color: var(--pm-ink);

    font-family: "Manrope", sans-serif;

    font-size:
        clamp(
            38px,
            5vw,
            68px
        );

    font-weight: 600;

    line-height: 1.08;

    letter-spacing: -0.05em;
}


.pm-start h3 span {
    display: block;

    margin-top: 5px;

    color: #84939b;

    font-weight: 500;
}


.pm-start__question {
    margin:
        42px
        auto
        0 !important;

    color: #425964 !important;

    font-size:
        clamp(
            18px,
            2vw,
            22px
        ) !important;
}


.pm-start__question strong {
    color: var(--pm-ink);
}


.pm-start__intro > p {
    max-width: 660px;

    margin:
        22px
        auto
        0;

    color: var(--pm-text);

    font-family: "Inter", sans-serif;

    font-size: 16px;

    line-height: 1.75;
}


/* =========================================================
   3C AXIS
========================================================= */

.pm-axis {
    padding:
        clamp(
            100px,
            11vw,
            160px
        )
        0;

    background:
        linear-gradient(
            180deg,
            rgba(245, 248, 245, 0.68),
            rgba(251, 252, 250, 0)
        );
}


.pm-axis__layout {
    display: grid;

    grid-template-columns:
        minmax(280px, 0.72fr)
        minmax(0, 1.28fr);

    gap:
        clamp(
            70px,
            10vw,
            150px
        );
}


.pm-axis__sticky {
    position: sticky;

    top: 130px;
}


.pm-axis__intro h3 {
    margin: 0;

    max-width: 460px;

    color: var(--pm-ink);

    font-family: "Manrope", sans-serif;

    font-size:
        clamp(
            38px,
            4vw,
            55px
        );

    font-weight: 650;

    line-height: 1.08;

    letter-spacing: -0.045em;
}


.pm-axis__intro h3 span {
    display: block;

    font-weight: 800;
}


.pm-axis__intro p {
    max-width: 430px;

    margin: 23px 0 0;

    color: var(--pm-text);

    font-family: "Inter", sans-serif;

    font-size: 15px;

    line-height: 1.7;
}


.pm-axis__legend {
    display: flex;
    flex-wrap: wrap;

    gap: 8px;

    margin-top: 32px;
}


.pm-axis__legend span {
    padding:
        7px
        10px;

    border-radius: 999px;

    font-family: "Inter", sans-serif;

    font-size: 10px;

    font-weight: 750;
}


.pm-axis__legend-blue {
    background:
        rgba(65, 146, 255, 0.09);

    color: #2e71bf;
}


.pm-axis__legend-green {
    background:
        rgba(70, 244, 132, 0.10);

    color: #238453;
}


.pm-axis__legend-gold {
    background:
        rgba(225, 255, 88, 0.20);

    color: #727f17;
}


/* ITEMS */

.pm-axis__items {
    position: relative;
}


.pm-axis__items::before {
    content: "";

    position: absolute;

    left: 34px;
    top: 0;
    bottom: 0;

    width: 1px;

    background:
        linear-gradient(
            to bottom,
            rgba(65, 146, 255, 0.25),
            rgba(70, 244, 132, 0.25),
            rgba(225, 255, 88, 0.45)
        );
}


.pm-axis__item {
    position: relative;

    min-height: 440px;

    display: grid;

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

    gap: 35px;

    align-content: center;

    padding:
        55px
        0;

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


.pm-axis__item:last-child {
    border-bottom: 0;
}


.pm-axis__number {
    position: relative;

    z-index: 2;

    width: 70px;
    height: 70px;

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

    border-radius: 50%;

    background: var(--pm-bg);

    font-family: "Manrope", sans-serif;

    font-size: 16px;

    font-weight: 800;
}


.pm-axis__item--blue .pm-axis__number {
    border:
        2px solid
        rgba(65, 146, 255, 0.5);

    color: #2875ca;
}


.pm-axis__item--green .pm-axis__number {
    border:
        2px solid
        rgba(70, 244, 132, 0.55);

    color: #20864f;
}


.pm-axis__item--gold .pm-axis__number {
    border:
        2px solid
        rgba(225, 255, 88, 0.75);

    color: #768418;
}


.pm-axis__label {
    display: block;

    margin-bottom: 13px;

    font-family: "Inter", sans-serif;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 0.16em;
}


.pm-axis__item--blue .pm-axis__label {
    color: #347cca;
}


.pm-axis__item--green .pm-axis__label {
    color: #218750;
}


.pm-axis__item--gold .pm-axis__label {
    color: #778519;
}


.pm-axis__content h4 {
    max-width: 570px;

    margin: 0;

    color: var(--pm-ink);

    font-family: "Manrope", sans-serif;

    font-size:
        clamp(
            27px,
            3vw,
            38px
        );

    font-weight: 650;

    line-height: 1.15;

    letter-spacing: -0.035em;
}


.pm-axis__content > p {
    max-width: 600px;

    margin:
        19px
        0
        0;

    color: var(--pm-text);

    font-family: "Inter", sans-serif;

    font-size: 15px;

    line-height: 1.7;
}


.pm-axis__content ul {
    margin:
        26px
        0
        0;

    padding: 0;

    list-style: none;
}


.pm-axis__content li {
    position: relative;

    padding:
        8px
        0
        8px
        21px;

    color: #465c67;

    font-family: "Inter", sans-serif;

    font-size: 14px;

    line-height: 1.55;
}


.pm-axis__content li::before {
    content: "";

    position: absolute;

    left: 0;
    top: 16px;

    width: 7px;
    height: 7px;

    border-radius: 50%;
}


.pm-axis__item--blue li::before {
    background: var(--pm-blue);
}


.pm-axis__item--green li::before {
    background: var(--pm-green);
}


.pm-axis__item--gold li::before {
    background: var(--pm-gold-deep);
}


/* =========================================================
   TRANSFORM
========================================================= */

.pm-transform {
    margin:
        clamp(
            100px,
            12vw,
            170px
        )
        auto;

    padding:
        clamp(
            45px,
            6vw,
            75px
        )
        0;

    display: grid;

    grid-template-columns:
        minmax(240px, 0.65fr)
        minmax(0, 1.35fr);

    gap:
        clamp(
            55px,
            8vw,
            110px
        );

    align-items: center;

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

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


.pm-transform__symbol {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 15px;
}


.pm-transform__symbol span {
    width: 105px;
    height: 105px;

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

    border-radius: 50%;

    font-family: "Inter", sans-serif;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 0.11em;
}


.pm-transform__mind {
    border:
        1px solid
        rgba(65, 146, 255, 0.35);

    background:
        rgba(65, 146, 255, 0.055);

    color: #367bca;
}


.pm-transform__heart {
    border:
        1px solid
        rgba(70, 244, 132, 0.42);

    background:
        rgba(70, 244, 132, 0.06);

    color: #268754;
}


.pm-transform__symbol i {
    color: #87959d;

    font-size: 27px;
}


.pm-transform__content h3 {
    margin: 0;

    max-width: 700px;

    color: var(--pm-ink);

    font-family: "Manrope", sans-serif;

    font-size:
        clamp(
            31px,
            3.7vw,
            49px
        );

    font-weight: 650;

    line-height: 1.12;

    letter-spacing: -0.04em;
}


.pm-transform__content p {
    max-width: 680px;

    margin:
        20px
        0
        0;

    color: var(--pm-text);

    font-family: "Inter", sans-serif;

    font-size: 15px;

    line-height: 1.75;
}


.pm-transform__content blockquote {
    max-width: 660px;

    margin:
        28px
        0
        0;

    padding:
        5px
        0
        5px
        21px;

    border-left:
        3px solid
        var(--pm-gold);

    color: #3d525d;

    font-family: "Lora", serif;

    font-size: 17px;

    font-style: italic;

    line-height: 1.7;
}


/* =========================================================
   PROCESS
========================================================= */

.pm-process {
    padding:
        clamp(
            110px,
            12vw,
            170px
        )
        0;

    background:
        linear-gradient(
            180deg,
            rgba(246, 249, 247, 0.9),
            rgba(251, 252, 250, 1)
        );
}


.pm-process__track {
    position: relative;

    display: grid;

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

    gap: 22px;

    padding-top: 18px;

    --pm-process-progress: 0;
}


.pm-process__track::before,
.pm-process__progress {
    content: "";

    position: absolute;

    left: 4%;
    right: 4%;
    top: 50px;

    height: 2px;

    border-radius: 10px;
}


.pm-process__track::before {
    background:
        rgba(35, 58, 71, 0.09);
}


.pm-process__progress {
    right: auto;

    width: 92%;

    transform:
        scaleX(
            var(--pm-process-progress)
        );

    transform-origin: left center;

    background:
        linear-gradient(
            90deg,
            var(--pm-blue),
            var(--pm-green),
            var(--pm-gold)
        );

    transition:
        transform
        0.12s
        linear;
}


.pm-process__step {
    position: relative;

    z-index: 2;

    text-align: center;
}


.pm-process__dot {
    width: 64px;
    height: 64px;

    margin: 0 auto;

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

    border:
        1px solid
        rgba(39, 62, 75, 0.10);

    border-radius: 50%;

    background: #fff;

    box-shadow:
        0 12px 25px
        rgba(26, 50, 64, 0.07);

    color: #3f7fc4;

    font-size: 25px;
}


.pm-process__number {
    display: block;

    margin-top: 18px;

    color: #9aa5ab;

    font-family: "Inter", sans-serif;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 0.14em;
}


.pm-process__step h4 {
    margin:
        9px
        0
        0;

    color: var(--pm-ink);

    font-family: "Manrope", sans-serif;

    font-size: 19px;

    font-weight: 700;
}


.pm-process__step p {
    margin:
        12px
        auto
        0;

    max-width: 180px;

    color: #73818a;

    font-family: "Inter", sans-serif;

    font-size: 12px;

    line-height: 1.65;
}


/* =========================================================
   STAGES
========================================================= */

.pm-stages {
    padding:
        clamp(
            120px,
            14vw,
            190px
        )
        0;

    background: #fff;
}


.pm-stages__groups {
    display: grid;

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

    gap:
        clamp(
            30px,
            4vw,
            55px
        );
}


.pm-stage-group {
    min-width: 0;
}


.pm-stage-group__header {
    min-height: 160px;

    display: grid;

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

    gap: 18px;

    padding-bottom: 28px;

    border-bottom:
        2px solid
        var(--pm-border);
}


.pm-stage-group--blue .pm-stage-group__header {
    border-color:
        rgba(65, 146, 255, 0.50);
}


.pm-stage-group--green .pm-stage-group__header {
    border-color:
        rgba(70, 244, 132, 0.58);
}


.pm-stage-group--gold .pm-stage-group__header {
    border-color:
        rgba(196, 218, 52, 0.65);
}


.pm-stage-group__index {
    padding-top: 7px;

    font-family: "Inter", sans-serif;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 0.12em;
}


.pm-stage-group--blue .pm-stage-group__index {
    color: #347dcd;
}


.pm-stage-group--green .pm-stage-group__index {
    color: #248a55;
}


.pm-stage-group--gold .pm-stage-group__index {
    color: #768318;
}


.pm-stage-group__header h4 {
    margin: 0;

    color: var(--pm-ink);

    font-family: "Manrope", sans-serif;

    font-size: 30px;

    font-weight: 700;

    letter-spacing: -0.035em;
}


.pm-stage-group__header p {
    margin:
        10px
        0
        0;

    color: var(--pm-text);

    font-family: "Inter", sans-serif;

    font-size: 12px;

    line-height: 1.6;
}


.pm-stage-list {
    margin: 0;

    padding: 0;

    list-style: none;
}


.pm-stage-list li {
    position: relative;

    display: grid;

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

    gap: 15px;

    padding:
        25px
        0;

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


.pm-stage-list li:last-child {
    border-bottom: 0;
}


.pm-stage-list__number {
    padding-top: 2px;

    color: #a0aab0;

    font-family: "Inter", sans-serif;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 0.10em;
}


.pm-stage-list strong {
    display: block;

    color: #273c47;

    font-family: "Manrope", sans-serif;

    font-size: 14px;

    font-weight: 700;

    line-height: 1.35;
}


.pm-stage-list p {
    margin:
        8px
        0
        0;

    color: #77858d;

    font-family: "Inter", sans-serif;

    font-size: 11px;

    line-height: 1.6;
}


/* =========================================================
   VIDEO
========================================================= */

.pm-video-section {
    padding:
        clamp(
            90px,
            11vw,
            150px
        )
        0;

    background:
        linear-gradient(
            180deg,
            #fff,
            #f7f9f7
        );
}


.pm-video {
    width: min(950px, 100%);

    margin: 0 auto;

    overflow: hidden;

    border-radius: 18px;

    box-shadow:
        0 35px 90px
        rgba(21, 44, 57, 0.14);

    background: #13232c;
}


.pm-video iframe {
    display: block;

    width: 100%;

    aspect-ratio: 16 / 9;

    border: 0;
}


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

.pm-objections {
    padding:
        clamp(
            110px,
            12vw,
            175px
        )
        0;

    background: #f7f9f7;
}


.pm-objections__layout {
    display: grid;

    grid-template-columns:
        minmax(280px, 0.72fr)
        minmax(0, 1.28fr);

    gap:
        clamp(
            60px,
            9vw,
            130px
        );
}


.pm-objections__intro {
    position: sticky;

    top: 130px;

    align-self: start;
}


.pm-objections__intro h3 {
    margin: 0;

    color: var(--pm-ink);

    font-family: "Manrope", sans-serif;

    font-size:
        clamp(
            37px,
            4.3vw,
            57px
        );

    font-weight: 650;

    line-height: 1.08;

    letter-spacing: -0.045em;
}


.pm-objections__intro h3 span {
    display: block;

    font-weight: 800;
}


.pm-objections__intro p {
    max-width: 430px;

    margin:
        24px
        0
        0;

    color: var(--pm-text);

    font-family: "Inter", sans-serif;

    font-size: 15px;

    line-height: 1.7;
}


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

.pm-faq {
    border-top:
        1px solid
        var(--pm-border);
}


/* =========================================================
   ITEM
========================================================= */

.pm-faq__item {
    border-bottom:
        1px solid
        var(--pm-border);

    overflow: hidden;
}


/* =========================================================
   SUMMARY
========================================================= */

.pm-faq__item summary {
    min-height: 90px;

    display: flex;

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

    gap: 25px;

    padding:
        20px
        3px;

    color: #263c47;

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(
            17px,
            1.7vw,
            21px
        );

    font-weight: 650;

    line-height: 1.4;

    cursor: pointer;

    list-style: none;
}


.pm-faq__item summary::-webkit-details-marker {
    display: none;
}


/* =========================================================
   PLUS
========================================================= */

.pm-faq__item summary i {
    flex:
        0
        0
        auto;

    width: 38px;
    height: 38px;

    display: flex;

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

    border:
        1px solid
        rgba(
            39,
            61,
            73,
            0.13
        );

    border-radius: 50%;

    background:
        transparent;

    font-size: 20px;

    transition:
        transform
        0.52s
        cubic-bezier(.22, 1, .36, 1),

        background-color
        0.35s
        ease,

        border-color
        0.35s
        ease;
}


/*
   FOARTE IMPORTANT:
   folosim DOAR .is-open,
   NU [open]
*/

.pm-faq__item.is-open
summary i {
    transform:
        rotate(45deg);

    background:
        rgba(
            65,
            146,
            255,
            0.07
        );
}


/* =========================================================
   TITLU
========================================================= */

.pm-faq__item summary span {
    transition:
        transform
        0.48s
        cubic-bezier(.22, 1, .36, 1);
}


.pm-faq__item.is-open
summary span {
    transform:
        translateX(3px);
}


/* =========================================================
   ANSWER
========================================================= */

/*
   Elementul acesta este animat de JS.

   IMPORTANT:
   NU trebuie să aibă absolut niciun padding.
*/

.pm-faq__answer {
    max-width: 680px;

    height: 0;

    padding: 0 !important;

    margin: 0;

    overflow: hidden;

    opacity: 0;

    box-sizing: border-box;
}


/*
   TOATĂ spațierea răspunsului
   este mutată în wrapperul interior.
*/

.pm-faq__answer-inner {
    padding:
        3px
        55px
        27px
        3px;
}


/* =========================================================
   PARAGRAFE
========================================================= */

.pm-faq__answer p {
    margin:
        0
        0
        12px;

    color: #667780;

    font-family:
        "Inter",
        sans-serif;

    font-size: 14px;

    line-height: 1.75;
}


.pm-faq__answer p:last-child {
    margin-bottom: 0;
}


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

@media (max-width: 575.98px) {

    .pm-faq__item summary {
        min-height: 82px;

        gap: 17px;

        padding:
            18px
            2px;

        font-size:
            16px;
    }


    .pm-faq__item summary i {
        width: 34px;
        height: 34px;

        flex-basis: 34px;

        font-size: 18px;
    }


    .pm-faq__answer-inner {
        padding:
            2px
            10px
            25px
            2px;
    }


    .pm-faq__answer p {
        font-size: 13px;

        line-height: 1.7;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .pm-faq__item summary i,
    .pm-faq__item summary span {
        transition: none;
    }

}

/* =========================================================
   OUTCOME
========================================================= */

.pm-outcome {
    padding:
        clamp(
            120px,
            14vw,
            200px
        )
        0;

    background:
        radial-gradient(
            circle at 50% 35%,
            rgba(65, 146, 255, 0.065),
            transparent 38%
        ),
        radial-gradient(
            circle at 67% 65%,
            rgba(70, 244, 132, 0.055),
            transparent 32%
        ),
        #fbfcfa;
}


.pm-outcome__content {
    width: min(900px, 100%);

    margin: 0 auto;

    text-align: center;
}


.pm-outcome h3 {
    margin: 0;

    display: flex;
    flex-direction: column;

    color: var(--pm-ink);

    font-family: "Manrope", sans-serif;

    line-height: 1;
}


.pm-outcome__no {
    color: #8d9aa1;

    font-size:
        clamp(
            35px,
            5vw,
            65px
        );

    font-weight: 500;

    letter-spacing: -0.05em;
}


.pm-outcome__yes {
    margin-top: 13px;

    font-size:
        clamp(
            54px,
            8vw,
            105px
        );

    font-weight: 800;

    letter-spacing: -0.075em;
}


.pm-outcome__content > p {
    max-width: 700px;

    margin:
        35px
        auto
        0;

    color: var(--pm-text);

    font-family: "Inter", sans-serif;

    font-size: 17px;

    line-height: 1.75;
}


/* PILLARS */

.pm-outcome__pillars {
    width: min(820px, 100%);

    margin:
        55px
        auto
        0;

    display: grid;

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

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

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


.pm-outcome__pillars > div {
    min-height: 155px;

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

    gap: 12px;

    padding: 25px 15px;

    border-right:
        1px solid
        var(--pm-border);
}


.pm-outcome__pillars > div:last-child {
    border-right: 0;
}


.pm-outcome__pillars i {
    font-size: 27px;
}


.pm-outcome__pillars > div:nth-child(1) i {
    color: var(--pm-blue-deep);
}


.pm-outcome__pillars > div:nth-child(2) i {
    color: var(--pm-green-deep);
}


.pm-outcome__pillars > div:nth-child(3) i {
    color: #909f1e;
}


.pm-outcome__pillars span {
    display: flex;
    flex-direction: column;

    color: #5d6f79;

    font-family: "Inter", sans-serif;

    font-size: 13px;

    line-height: 1.4;
}


.pm-outcome__pillars strong {
    color: var(--pm-ink);

    font-size: 16px;
}


.pm-outcome__actions {
    margin-top: 50px;

    display: flex;
    flex-direction: column;
    align-items: center;

    gap: 17px;
}


.pm-outcome__hint {
    max-width: 450px;

    color: #89969d;

    font-family: "Inter", sans-serif;

    font-size: 11px;

    line-height: 1.55;
}


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

.pm-reveal {
    opacity: 0;

    transform:
        translateY(42px);

    transition:
        opacity
        0.85s
        cubic-bezier(.2, .7, .2, 1),
        transform
        0.85s
        cubic-bezier(.2, .7, .2, 1);
}


.pm-reveal.is-visible {
    opacity: 1;

    transform: translateY(0);
}


/* =========================================================
   ANIMAȚII 2026 — CELE 3 DIRECȚII 3C / 12 ETAPE
   Conectare = stânga | Competență = jos | Control = dreapta
========================================================= */

.pm-stages {
    overflow-x: hidden;
}

.pm-stage-group.pm-reveal {
    opacity: 0;
    transition:
        opacity .85s cubic-bezier(.2,.7,.2,1),
        transform .85s cubic-bezier(.2,.7,.2,1);
}

.pm-stage-group--blue.pm-reveal {
    transform: translate3d(-90px, 0, 0);
    transition-delay: .04s;
}

.pm-stage-group--green.pm-reveal {
    transform: translate3d(0, 80px, 0);
    transition-delay: .13s;
}

.pm-stage-group--gold.pm-reveal {
    transform: translate3d(90px, 0, 0);
    transition-delay: .22s;
}

.pm-stage-group.pm-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

@media (max-width: 991.98px) {
    .pm-stage-group--blue.pm-reveal {
        transform: translate3d(-44px, 0, 0);
    }

    .pm-stage-group--green.pm-reveal {
        transform: translate3d(0, 46px, 0);
    }

    .pm-stage-group--gold.pm-reveal {
        transform: translate3d(44px, 0, 0);
    }

    .pm-stage-group.pm-reveal.is-visible {
        transform: translate3d(0, 0, 0);
    }
}


/* =========================================================
   12 ETAPE
========================================================= */

.pm-stages__groups {
    position: relative;

    display: grid;

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

    gap: 0;
}


/* =========================================================
   STRUCTURA FIECĂREI DIRECȚII
========================================================= */

.pm-stage-group {
    position: relative;

    min-width: 0;

    padding:
        34px
        28px
        16px;

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


.pm-stage-group__header {
    min-height: 125px;

    display: block;

    padding:
        0
        0
        27px;

    border-bottom:
        1px solid
        rgba(24, 48, 61, 0.09);
}


.pm-stage-group__header h4 {
    margin: 0;

    font-family:
        "Manrope",
        sans-serif;

    font-size: 29px;

    font-weight: 750;

    line-height: 1.1;

    letter-spacing: -0.035em;
}


.pm-stage-group__header p {
    max-width: 285px;

    margin:
        12px
        0
        0;

    color: #657780;

    font-family:
        "Inter",
        sans-serif;

    font-size: 12px;

    line-height: 1.65;
}


/* =========================================================
   CULORI HEADER
========================================================= */

.pm-stage-group--blue
.pm-stage-group__header h4 {
    color: #2876cf;
}


.pm-stage-group--green
.pm-stage-group__header h4 {
    color: #218950;
}


.pm-stage-group--gold
.pm-stage-group__header h4 {
    color: #7b8919;
}


/* =========================================================
   LISTA ETAPELOR
========================================================= */

.pm-stage-list {
    margin: 0;

    padding: 0;

    list-style: none;
}


.pm-stage-list li {
    position: relative;

    display: grid;

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

    gap: 13px;

    padding:
        24px
        0;

    border-bottom:
        1px solid
        rgba(24, 48, 61, 0.08);
}


.pm-stage-list li:last-child {
    border-bottom: 0;
}


.pm-stage-list__number {
    padding-top: 2px;

    font-family:
        "Inter",
        sans-serif;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 0.1em;
}


.pm-stage-group--blue
.pm-stage-list__number {
    color: #4192ff;
}


.pm-stage-group--green
.pm-stage-list__number {
    color: #2db66c;
}


.pm-stage-group--gold
.pm-stage-list__number {
    color: #9cae23;
}


.pm-stage-list strong {
    display: block;

    color: #273c47;

    font-family:
        "Manrope",
        sans-serif;

    font-size: 14px;

    font-weight: 700;

    line-height: 1.4;
}


.pm-stage-list p {
    margin:
        8px
        0
        0;

    color: #77858d;

    font-family:
        "Inter",
        sans-serif;

    font-size: 11px;

    line-height: 1.65;
}


/* =========================================================
   LAPTOP + DESKTOP
   992px+
========================================================= */

@media (min-width: 992px) {

    /*
       Cele trei secțiuni sunt unite vizual.
       Fără umbră proprie.
    */

    .pm-stage-group {
        box-shadow: none;

        border-radius: 0;
    }


    /* =====================================================
       CONECTARE
    ====================================================== */

    .pm-stage-group--blue {
        border-top:
            2px solid
            #4192ff;

        border-bottom:
            2px solid
            #4192ff;

        border-left:
            2px solid
            #4192ff;

        border-right: 0;

        border-radius:
            17px
            0
            0
            17px;
    }


    /* =====================================================
       COMPETENȚĂ
    ====================================================== */

    .pm-stage-group--green {
        border-top:
            2px solid
            #46d982;

        border-bottom:
            2px solid
            #46d982;

        border-left: 0;
        border-right: 0;
    }


    /* =====================================================
       CONTROL
    ====================================================== */

    .pm-stage-group--gold {
        border-top:
            2px solid
            #d5e94d;

        border-bottom:
            2px solid
            #d5e94d;

        border-left: 0;

        border-right:
            2px solid
            #d5e94d;

        border-radius:
            0
            17px
            17px
            0;
    }


    /* =====================================================
       LINIA DINTRE CONECTARE + COMPETENȚĂ

       Albastru → Verde
    ====================================================== */

    .pm-stage-group--green::before {
        content: "";

        position: absolute;

        z-index: 5;

        left: -1px;
        top: 0;
        bottom: 0;

        width: 2px;

        background:
            linear-gradient(
                180deg,
                #4192ff 0%,
                #4192ff 15%,
                #46f484 85%,
                #46f484 100%
            );

        pointer-events: none;
    }


    /* =====================================================
       LINIA DINTRE COMPETENȚĂ + CONTROL

       Verde → Galben
    ====================================================== */

    .pm-stage-group--gold::before {
        content: "";

        position: absolute;

        z-index: 5;

        left: -1px;
        top: 0;
        bottom: 0;

        width: 2px;

        background:
            linear-gradient(
                180deg,
                #46f484 0%,
                #46f484 15%,
                #e1ff58 85%,
                #e1ff58 100%
            );

        pointer-events: none;
    }


    /*
       Fundal foarte discret specific fiecărei zone.
       Nu sunt trei carduri separate vizual.
    */

    .pm-stage-group--blue {
        background:
            linear-gradient(
                180deg,
                rgba(65, 146, 255, 0.035),
                rgba(255, 255, 255, 0.82) 27%
            );
    }


    .pm-stage-group--green {
        background:
            linear-gradient(
                180deg,
                rgba(70, 244, 132, 0.035),
                rgba(255, 255, 255, 0.82) 27%
            );
    }


    .pm-stage-group--gold {
        background:
            linear-gradient(
                180deg,
                rgba(225, 255, 88, 0.06),
                rgba(255, 255, 255, 0.82) 27%
            );
    }

}




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

@media (max-width: 991.98px) {

    .pm-container {
        width:
            min(
                760px,
                calc(100% - 40px)
            );
    }


    /* HERO */

    .pm-hero {
        min-height: auto;

        grid-template-columns: 1fr;

        gap: 70px;

        padding:
            110px
            0
            90px;

        text-align: center;
    }


    .pm-hero__content {
        margin: 0 auto;
    }


    .pm-eyebrow {
        justify-content: center;
    }


    .pm-hero__title {
        align-items: center;
    }


    .pm-hero__lead,
    .pm-hero__text {
        margin-left: auto;
        margin-right: auto;
    }


    .pm-hero__actions {
        justify-content: center;
    }


    .pm-compass {
        width:
            min(
                360px,
                70vw
            );
    }


    /* 3C AXIS */

    .pm-axis__layout {
        grid-template-columns: 1fr;

        gap: 55px;
    }


    .pm-axis__sticky {
        position: relative;

        top: auto;

        text-align: center;
    }


    .pm-axis__intro h3,
    .pm-axis__intro p {
        margin-left: auto;
        margin-right: auto;
    }


    .pm-axis__legend {
        justify-content: center;
    }


    .pm-axis__item {
        min-height: auto;

        padding:
            50px
            0;
    }


    /* TRANSFORM */

    .pm-transform {
        grid-template-columns: 1fr;

        text-align: center;
    }


    .pm-transform__content h3,
    .pm-transform__content p {
        margin-left: auto;
        margin-right: auto;
    }


    .pm-transform__content blockquote {
        margin-left: auto;
        margin-right: auto;

        text-align: left;
    }


    /* PROCESS - vertical */

    .pm-process__track {
        width: min(600px, 100%);

        margin: 0 auto;

        display: block;

        padding:
            0
            0
            0
            84px;
    }


    .pm-process__track::before,
    .pm-process__progress {
        left: 31px;
        right: auto;
        top: 32px;

        width: 2px;
        height:
            calc(100% - 64px);
    }


    .pm-process__progress {
        transform:
            scaleY(
                var(--pm-process-progress)
            );

        transform-origin:
            center top;
    }


    .pm-process__step {
        min-height: 145px;

        position: relative;

        padding:
            3px
            0
            42px;

        text-align: left;
    }


    .pm-process__dot {
        position: absolute;

        left: -84px;
        top: 0;

        margin: 0;
    }


    .pm-process__number {
        margin-top: 0;
    }


    .pm-process__step p {
        margin-left: 0;
        margin-right: 0;

        max-width: 450px;
    }


    /* STAGES */

    .pm-stages__groups {
        grid-template-columns: 1fr;

        gap: 70px;
    }


    .pm-stage-group {
        max-width: 650px;

        width: 100%;

        margin: 0 auto;
    }


    .pm-stage-group__header {
        min-height: auto;
    }


    /* OBJECTIONS */

    .pm-objections__layout {
        grid-template-columns: 1fr;

        gap: 55px;
    }


    .pm-objections__intro {
        position: relative;

        top: auto;

        text-align: center;
    }


    .pm-objections__intro p {
        margin-left: auto;
        margin-right: auto;
    }

}

/* =========================================================
   TABLETĂ + MOBIL
   991.98px și mai jos
========================================================= */

@media (max-width: 991.98px) {

    .pm-stages__groups {
        grid-template-columns: 1fr;

        gap: 38px;
    }


    .pm-stage-group {
        width: min(650px, 100%);

        margin:
            0
            auto;

        padding:
            31px
            28px
            17px;

        border-radius: 17px;

        background: #ffffff;
    }


    /* =====================================================
       CONECTARE
       Border + umbră albastră
    ====================================================== */

    .pm-stage-group--blue {
        border:
            2px solid
            rgba(65, 146, 255, 0.55);

        box-shadow:
            0 10px 25px
            rgba(65, 146, 255, 0.08),

            0 25px 55px
            rgba(65, 146, 255, 0.13);
    }


    /* =====================================================
       COMPETENȚĂ
       Border + umbră verde
    ====================================================== */

    .pm-stage-group--green {
        border:
            2px solid
            rgba(70, 244, 132, 0.58);

        box-shadow:
            0 10px 25px
            rgba(70, 244, 132, 0.08),

            0 25px 55px
            rgba(36, 183, 94, 0.12);
    }


    /* =====================================================
       CONTROL
       Border + umbră galbenă
    ====================================================== */

    .pm-stage-group--gold {
        border:
            2px solid
            rgba(213, 233, 77, 0.68);

        box-shadow:
            0 10px 25px
            rgba(225, 255, 88, 0.10),

            0 25px 55px
            rgba(184, 199, 49, 0.14);
    }


    /*
       Pe mobil nu folosim separatoarele dintre coloane.
    */

    .pm-stage-group--green::before,
    .pm-stage-group--gold::before {
        display: none;
    }


    .pm-stage-group__header {
        min-height: auto;
    }


    .pm-stage-group__header p {
        max-width: 500px;
    }

}



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

@media (max-width: 767.98px) {

    .pm-container {
        width:
            min(
                100%,
                calc(100% - 34px)
            );
    }


    /* HERO */

    .pm-hero {
        gap: 55px;

        padding:
            85px
            0
            70px;
    }


    .pm-eyebrow {
        gap: 10px;

        margin-bottom: 22px;

        font-size: 9px;

        letter-spacing: 0.12em;
    }


    .pm-eyebrow__line {
        width: 27px;
    }


    .pm-hero__title {
        font-size:
            clamp(
                43px,
                13vw,
                65px
            );

        line-height: 0.97;
    }


    .pm-hero__title-accent::after {
        bottom: -9px;

        height: 4px;
    }


    .pm-hero__lead {
        margin-top: 39px;

        font-size: 17px;

        line-height: 1.6;
    }


    .pm-hero__text {
        font-size: 14px;

        line-height: 1.72;
    }


    .pm-hero__actions {
        flex-direction: column;

        gap: 13px;
    }


    .pm-btn--primary {
        width: min(100%, 360px);
    }


    /* Compass */

    .pm-compass {
        width:
            min(
                270px,
                78vw
            );
    }


    .pm-compass__point span {
        width: 37px;
        height: 37px;

        font-size: 15px;
    }


    .pm-compass__point small {
        font-size: 9px;
    }


    .pm-compass__point--green {
        right: -12%;
    }


    .pm-compass__center strong {
        font-size: 40px;
    }


    .pm-compass__center span {
        display: none;
    }


    /* Duration */

    .pm-duration {
        margin-bottom: 90px;

        align-items: flex-start;
    }


    .pm-duration p {
        font-size: 11px;
    }


    /* START */

    .pm-start {
        padding-bottom: 95px;
    }


    .pm-start h3 {
        font-size:
            clamp(
                31px,
                9.5vw,
                44px
            );
    }


    .pm-start__question {
        margin-top: 30px !important;

        font-size: 16px !important;
    }


    .pm-start__intro > p {
        font-size: 14px;
    }


    /* 3C */

    .pm-axis {
        padding:
            85px
            0;
    }


    .pm-axis__intro h3 {
        font-size:
            clamp(
                32px,
                9vw,
                43px
            );
    }


    .pm-axis__items::before {
        left: 24px;
    }


    .pm-axis__item {
        grid-template-columns:
            50px
            minmax(0, 1fr);

        gap: 21px;

        padding:
            42px
            0;
    }


    .pm-axis__number {
        width: 50px;
        height: 50px;

        font-size: 12px;
    }


    .pm-axis__content h4 {
        font-size:
            clamp(
                24px,
                7vw,
                31px
            );
    }


    .pm-axis__content > p {
        font-size: 13px;
    }


    .pm-axis__content li {
        font-size: 12px;
    }


    /* Transform */

    .pm-transform {
        margin:
            90px
            auto;

        padding:
            50px
            0;

        gap: 42px;
    }


    .pm-transform__symbol span {
        width: 83px;
        height: 83px;

        font-size: 9px;
    }


    .pm-transform__content h3 {
        font-size:
            clamp(
                29px,
                8vw,
                39px
            );
    }


    .pm-transform__content p {
        font-size: 13px;
    }


    .pm-transform__content blockquote {
        padding-left: 16px;

        font-size: 15px;
    }


    /* Heading */

    .pm-heading {
        margin-bottom: 55px;
    }


    .pm-heading h3 {
        font-size:
            clamp(
                31px,
                9vw,
                43px
            );
    }


    .pm-heading p {
        font-size: 14px;
    }


    /* Process */

    .pm-process {
        padding:
            90px
            0;
    }


    .pm-process__track {
        padding-left: 66px;
    }


    .pm-process__track::before,
    .pm-process__progress {
        left: 24px;
    }


    .pm-process__dot {
        width: 50px;
        height: 50px;

        left: -66px;

        font-size: 21px;
    }


    .pm-process__step {
        min-height: 130px;
    }


    .pm-process__step h4 {
        font-size: 17px;
    }


    .pm-process__step p {
        font-size: 11px;
    }


    /* Stages */

    .pm-stages {
        padding:
            95px
            0;
    }


    .pm-stage-group__header {
        grid-template-columns:
            50px
            minmax(0, 1fr);

        gap: 13px;

        padding-bottom: 23px;
    }


    .pm-stage-group__header h4 {
        font-size: 27px;
    }


    .pm-stage-list li {
        grid-template-columns:
            34px
            minmax(0, 1fr);

        gap: 12px;

        padding:
            22px
            0;
    }


    /* Video */

    .pm-video {
        border-radius: 11px;
    }


    /* Objections */

    .pm-objections {
        padding:
            95px
            0;
    }


    .pm-objections__intro h3 {
        font-size:
            clamp(
                31px,
                9vw,
                43px
            );
    }


    .pm-faq__item summary {
        min-height: 78px;

        gap: 15px;

        font-size: 15px;
    }


    .pm-faq__item summary i {
        width: 32px;
        height: 32px;

        font-size: 18px;
    }


    .pm-faq__answer {
        padding-right: 0;
    }


    .pm-faq__answer p {
        font-size: 12px;
    }


    /* Outcome */

    .pm-outcome {
        padding:
            100px
            0
            110px;
    }


    .pm-outcome__content > p {
        font-size: 14px;
    }


    .pm-outcome__pillars {
        grid-template-columns: 1fr;

        margin-top: 42px;
    }


    .pm-outcome__pillars > div {
        min-height: 115px;

        border-right: 0;

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


    .pm-outcome__pillars > div:last-child {
        border-bottom: 0;
    }

}



/* =========================================================
   TELEFON
========================================================= */

@media (max-width: 575.98px) {

    .pm-stages__groups {
        gap: 30px;
    }


    .pm-stage-group {
        padding:
            26px
            20px
            10px;

        border-radius: 14px;
    }


    .pm-stage-group__header {
        padding-bottom: 22px;
    }


    .pm-stage-group__header h4 {
        font-size: 25px;
    }


    .pm-stage-group__header p {
        font-size: 11px;

        line-height: 1.6;
    }


    .pm-stage-list li {
        grid-template-columns:
            32px
            minmax(0, 1fr);

        gap: 10px;

        padding:
            20px
            0;
    }


    .pm-stage-list strong {
        font-size: 13px;
    }


    .pm-stage-list p {
        font-size: 10.5px;
    }

}



/* =========================================================
   VERY SMALL PHONES
   320 - 400 px
========================================================= */

@media (max-width: 420px) {

    .pm-container {
        width:
            calc(
                100% - 28px
            );
    }


    .pm-hero__title {
        font-size:
            clamp(
                38px,
                12.5vw,
                52px
            );
    }


    .pm-hero__lead {
        font-size: 16px;
    }


    .pm-compass {
        width:
            min(
                235px,
                74vw
            );
    }


    .pm-compass__point small {
        display: none;
    }


    .pm-compass__point--green {
        right: -3%;
    }


    .pm-axis__item {
        grid-template-columns:
            44px
            minmax(0, 1fr);

        gap: 16px;
    }


    .pm-axis__items::before {
        left: 21px;
    }


    .pm-axis__number {
        width: 44px;
        height: 44px;
    }


    .pm-transform__symbol {
        gap: 7px;
    }


    .pm-transform__symbol span {
        width: 72px;
        height: 72px;
    }


    .pm-stage-group__header {
        grid-template-columns: 1fr;

        gap: 8px;
    }


    .pm-stage-group__index {
        padding-top: 0;
    }

}


/* =========================================================
   TELEFOANE FOARTE MICI
========================================================= */

@media (max-width: 360px) {

    .pm-stage-group {
        padding:
            23px
            16px
            8px;
    }


    .pm-stage-list li {
        grid-template-columns:
            28px
            minmax(0, 1fr);

        gap: 8px;
    }


    .pm-stage-list__number {
        font-size: 9px;
    }

}

/* =========================================================
   12 ETAPE - CARD PRINCIPAL
========================================================= */

.pm-stages__card {
    position: relative;

    width: 100%;
}


/* =========================================================
   LAPTOP + DESKTOP
========================================================= */

@media (min-width: 992px) {

    .pm-stages {
        padding:
            clamp(120px, 12vw, 180px)
            0;

        background:
            radial-gradient(
                circle at 10% 20%,
                rgba(65, 146, 255, 0.055),
                transparent 30%
            ),
            radial-gradient(
                circle at 90% 75%,
                rgba(225, 255, 88, 0.07),
                transparent 30%
            ),
            #f8faf8;
    }


    .pm-stages__card {
        position: relative;

        padding:
            clamp(65px, 6vw, 90px)
            clamp(45px, 5vw, 75px)
            clamp(60px, 6vw, 85px);

        /*
           Bordură 3C:
           interior alb + border gradient
        */
        border: 2px solid transparent;

        border-radius: 28px;

        background:
            linear-gradient(
                #ffffff,
                #ffffff
            )
            padding-box,

            linear-gradient(
                115deg,
                #4192ff 0%,
                #46f484 50%,
                #e1ff58 100%
            )
            border-box;


        /*
           Cardul pare ridicat de pe pagină.
        */
        box-shadow:
            0 8px 18px
            rgba(25, 48, 61, 0.06),

            0 28px 65px
            rgba(25, 48, 61, 0.11),

            0 55px 110px
            rgba(25, 48, 61, 0.06);


        overflow: hidden;
    }


    /*
       Lumină foarte discretă în interior.
       Nu este încă un card, doar atmosferă.
    */

    .pm-stages__card::before {
        content: "";

        position: absolute;

        width: 500px;
        height: 500px;

        top: -260px;
        left: -210px;

        border-radius: 50%;

        background:
            radial-gradient(
                circle,
                rgba(65, 146, 255, 0.08),
                transparent 68%
            );

        pointer-events: none;
    }


    .pm-stages__card::after {
        content: "";

        position: absolute;

        width: 500px;
        height: 500px;

        right: -260px;
        bottom: -290px;

        border-radius: 50%;

        background:
            radial-gradient(
                circle,
                rgba(225, 255, 88, 0.10),
                transparent 67%
            );

        pointer-events: none;
    }


    /*
       Conținutul rămâne peste luminile decorative.
    */

    .pm-stages__card > * {
        position: relative;

        z-index: 2;
    }


    /*
       Headingul primește mai multă greutate,
       fiind începutul blocului principal.
    */

    .pm-stages__card .pm-heading {
        margin-bottom:
            clamp(
                65px,
                6vw,
                85px
            );
    }


    .pm-stages__card .pm-mini {
        color: #47707f;
    }


    .pm-stages__card .pm-heading h3 {
        font-size:
            clamp(
                42px,
                4.4vw,
                62px
            );
    }


    /*
       Subliniere 3C sub "pas cu pas."
    */

    .pm-stages__card .pm-heading h3 span {
        position: relative;

        display: inline-block;
    }


    .pm-stages__card .pm-heading h3 span::after {
        content: "";

        position: absolute;

        left: 15%;
        bottom: -12px;

        width: 70%;
        height: 4px;

        border-radius: 999px;

        background:
            linear-gradient(
                90deg,
                #4192ff,
                #46f484,
                #e1ff58
            );
    }


    .pm-stages__card .pm-heading p {
        margin-top: 35px;
    }

}

/* =========================================================
   12 ETAPE - CARD PRINCIPAL
   TABLETĂ + MOBIL
   991.98px și mai jos
========================================================= */

@media (max-width: 991.98px) {

    .pm-stages {
        padding:
            clamp(80px, 11vw, 120px)
            0;

        background:
            radial-gradient(
                circle at 5% 18%,
                rgba(65, 146, 255, 0.055),
                transparent 34%
            ),
            radial-gradient(
                circle at 95% 82%,
                rgba(225, 255, 88, 0.075),
                transparent 34%
            ),
            #f8faf8;
    }


    .pm-stages__card {
        position: relative;

        width: 100%;

        padding:
            clamp(48px, 7vw, 68px)
            clamp(25px, 5vw, 48px)
            clamp(45px, 7vw, 65px);

        /*
           BORDURĂ 3C
           albastru -> verde -> galben
        */
        border:
            2px solid
            transparent;

        border-radius: 24px;

        background:
            linear-gradient(
                #ffffff,
                #ffffff
            )
            padding-box,

            linear-gradient(
                120deg,
                #4192ff 0%,
                #4192ff 18%,

                #46f484 44%,
                #46f484 58%,

                #e1ff58 84%,
                #e1ff58 100%
            )
            border-box;


        /*
           UMBRĂ:
           - adâncime neutră
           - albastru în stânga
           - verde discret central
           - galben în dreapta
        */
        box-shadow:

            0 12px 28px
            rgba(24, 46, 59, 0.08),

            0 30px 65px
            rgba(24, 46, 59, 0.10),

            -14px 20px 42px
            rgba(65, 146, 255, 0.09),

            0 28px 48px
            rgba(70, 244, 132, 0.055),

            14px 22px 42px
            rgba(198, 216, 54, 0.09);


        overflow: hidden;
    }


    /* =====================================================
       LUMINĂ ALBASTRĂ
    ====================================================== */

    .pm-stages__card::before {
        content: "";

        position: absolute;

        width: 350px;
        height: 350px;

        top: -190px;
        left: -180px;

        border-radius: 50%;

        background:
            radial-gradient(
                circle,
                rgba(65, 146, 255, 0.10),
                transparent 68%
            );

        pointer-events: none;
    }


    /* =====================================================
       LUMINĂ GALBENĂ
    ====================================================== */

    .pm-stages__card::after {
        content: "";

        position: absolute;

        width: 350px;
        height: 350px;

        right: -190px;
        bottom: -200px;

        border-radius: 50%;

        background:
            radial-gradient(
                circle,
                rgba(225, 255, 88, 0.12),
                transparent 68%
            );

        pointer-events: none;
    }


    /*
       Conținutul trebuie să rămână
       deasupra luminilor decorative.
    */
    .pm-stages__card > * {
        position: relative;

        z-index: 2;
    }


    /* =====================================================
       TITLUL CARDULUI
    ====================================================== */

    .pm-stages__card .pm-heading {
        margin-bottom:
            clamp(52px, 7vw, 70px);
    }


    .pm-stages__card .pm-mini {
        color: #47707f;
    }


    /*
       Păstrăm accentul gradient
       sub "pas cu pas."
    */
    .pm-stages__card .pm-heading h3 span {
        position: relative;

        display: inline-block;
    }


    .pm-stages__card .pm-heading h3 span::after {
        content: "";

        position: absolute;

        left: 15%;
        bottom: -10px;

        width: 70%;
        height: 3px;

        border-radius: 999px;

        background:
            linear-gradient(
                90deg,
                #4192ff,
                #46f484,
                #e1ff58
            );
    }


    .pm-stages__card .pm-heading p {
        margin-top: 30px;
    }

}

/* =========================================================
   12 ETAPE - TELEFON
========================================================= */

@media (max-width: 575.98px) {

    .pm-stages {
        padding:
            75px
            0;
    }


    .pm-stages__card {
        padding:
            42px
            16px
            38px;

        border-radius: 19px;


        box-shadow:

            0 10px 22px
            rgba(24, 46, 59, 0.07),

            0 24px 48px
            rgba(24, 46, 59, 0.09),

            -8px 16px 28px
            rgba(65, 146, 255, 0.07),

            8px 16px 28px
            rgba(198, 216, 54, 0.07);
    }


    .pm-stages__card::before {
        width: 250px;
        height: 250px;

        top: -145px;
        left: -145px;
    }


    .pm-stages__card::after {
        width: 250px;
        height: 250px;

        right: -145px;
        bottom: -150px;
    }


    .pm-stages__card .pm-heading {
        margin-bottom: 45px;
    }

}


/* =========================================================
   12 ETAPE - TELEFOANE FOARTE MICI
========================================================= */

@media (max-width: 360px) {

    .pm-stages__card {
        padding:
            38px
            11px
            34px;

        border-radius: 16px;
    }

}
/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .pm-reveal {
        opacity: 1 !important;

        transform: none !important;

        transition: none !important;
    }


    .pm-process__progress {
        transition: none !important;
    }


    .pm-btn,
    .pm-faq__item summary i {
        transition: none !important;
    }

}



/* =========================================================
   ANIMAȚII 2026 — PROCESUL ÎN 6 PAȘI
   Linia conduce povestea, iar fiecare pas se activează când
   progresul ajunge la el.
========================================================= */

.pm-process__step .pm-process__dot,
.pm-process__step .pm-process__number,
.pm-process__step h4,
.pm-process__step p {
    transition:
        opacity .5s ease,
        transform .72s cubic-bezier(.16,1,.3,1),
        color .45s ease,
        background .45s ease,
        border-color .45s ease,
        box-shadow .45s ease,
        filter .45s ease;
}

.pm-process__step .pm-process__dot {
    position: relative;
    transform: scale(.88);
    opacity: .52;
    filter: saturate(.45);
}

.pm-process__step .pm-process__number {
    opacity: .48;
    transform: translate3d(0, 7px, 0);
}

.pm-process__step h4 {
    opacity: .62;
    transform: translate3d(0, 9px, 0);
}

.pm-process__step p {
    opacity: .44;
    transform: translate3d(0, 10px, 0);
}

.pm-process__step.is-process-active .pm-process__dot {
    transform: scale(1.08);
    opacity: 1;
    filter: none;
}

.pm-process__step.is-process-active .pm-process__number,
.pm-process__step.is-process-active h4,
.pm-process__step.is-process-active p {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

/* Accentele urmăresc gradientul liniei */
.pm-process__step:nth-of-type(1).is-process-active .pm-process__dot,
.pm-process__step:nth-of-type(2).is-process-active .pm-process__dot {
    color: #3f7fc4;
    border-color: rgba(63,127,196,.28);
    background: #f2f7ff;
    box-shadow: 0 14px 34px rgba(63,127,196,.16);
}

.pm-process__step:nth-of-type(3).is-process-active .pm-process__dot,
.pm-process__step:nth-of-type(4).is-process-active .pm-process__dot {
    color: #2ea96c;
    border-color: rgba(46,169,108,.28);
    background: #f0fbf5;
    box-shadow: 0 14px 34px rgba(46,169,108,.15);
}

.pm-process__step:nth-of-type(5).is-process-active .pm-process__dot,
.pm-process__step:nth-of-type(6).is-process-active .pm-process__dot {
    color: #a88622;
    border-color: rgba(168,134,34,.28);
    background: #fffaf0;
    box-shadow: 0 14px 34px rgba(168,134,34,.15);
}

.pm-process__step.is-process-active .pm-process__dot::after {
    content: "";
    position: absolute;
    inset: -7px;
    border: 1px solid currentColor;
    border-radius: inherit;
    opacity: 0;
    animation: pm-process-ring .8s cubic-bezier(.16,1,.3,1) both;
    pointer-events: none;
}

@keyframes pm-process-ring {
    0% {
        opacity: .34;
        transform: scale(.76);
    }
    100% {
        opacity: 0;
        transform: scale(1.18);
    }
}

/* Heading-ul procesului — alt ritm decât fade-ul obișnuit */
.pm-process .pm-heading h3 {
    clip-path: inset(100% 0 0 0);
    transform: translate3d(0, 24px, 0);
    transition:
        clip-path .9s cubic-bezier(.16,1,.3,1) .08s,
        transform .9s cubic-bezier(.16,1,.3,1) .08s;
}

.pm-process .pm-heading.is-visible h3 {
    clip-path: inset(0 0 0 0);
    transform: translate3d(0, 0, 0);
}

@media (max-width: 991.98px) {
    .pm-process__step .pm-process__dot {
        transform: scale(.92);
    }

    .pm-process__step.is-process-active .pm-process__dot {
        transform: scale(1.04);
    }
}

@media (prefers-reduced-motion: reduce) {
    .pm-stage-group.pm-reveal,
    .pm-stage-group.pm-reveal.is-visible,
    .pm-process__step .pm-process__dot,
    .pm-process__step .pm-process__number,
    .pm-process__step h4,
    .pm-process__step p,
    .pm-process .pm-heading h3 {
        opacity: 1 !important;
        transform: none !important;
        clip-path: inset(0 0 0 0) !important;
        transition: none !important;
        animation: none !important;
        filter: none !important;
    }
}
