.hero {
    position: relative;
    overflow: hidden;
    padding: 86px 0 64px;
    background: #fffdf8;
}

.hero-collage {
    background-image:
        radial-gradient(circle at 72% 28%, rgba(183, 175, 211, .28), transparent 18%),
        linear-gradient(90deg, rgba(255, 253, 248, .98) 0%, rgba(255, 253, 248, .94) 45%, rgba(235, 231, 243, .66) 100%),
        url("/uploads/images/krstian5.jpg");
    background-position: center, center, center;
    background-size: auto, auto, cover;
    background-repeat: no-repeat;
}

.hero-collage::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image:
        linear-gradient(90deg, rgba(65, 56, 107, .08) 1px, transparent 1px),
        linear-gradient(180deg, rgba(65, 56, 107, .07) 1px, transparent 1px);
    background-size: 180px 180px;
    mask-image: linear-gradient(90deg, transparent 0%, #000 24%, #000 78%, transparent 100%);
    opacity: .22;
}

.hero-copy {
    position: relative;
    z-index: 2;
}

.hero-title {
    margin-bottom: 24px;
}

.hero-grid {
    position: relative;
    z-index: 1;
}

.hero-copy .button-row {
    margin-top: 28px;
}

.hero-points {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 0;
    margin: 28px 0 0;
    list-style: none;
}

.portrait-block {
    position: relative;
    display: flex;
    min-height: 560px;
    align-items: center;
    justify-content: center;
    overflow: visible;
    border-radius: 0;
    padding: 0;
    background-color: transparent;
    background-image:
        radial-gradient(circle at 52% 58%, rgba(65, 56, 107, .35), transparent 34%),
        radial-gradient(circle at 72% 30%, rgba(183, 175, 211, .26), transparent 18%),
        radial-gradient(circle at 22% 80%, rgba(235, 231, 243, .30), transparent 20%);
    background-position: center, center;
    background-size: auto, auto, auto;
    background-repeat: no-repeat;
    box-shadow: none;
}

.portrait-block::before {
    content: "";
    position: absolute;
    inset: 4% -10% -8% -14%;
    z-index: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(255, 253, 248, .74), rgba(235, 231, 243, .16) 44%, rgba(183, 175, 211, .22)),
        radial-gradient(circle at 52% 56%, rgba(122, 112, 186, .20), transparent 35%);
    filter: blur(18px);
    opacity: .72;
}

.portrait-placeholder {
    position: relative;
    display: flex;
    z-index: 5;
    width: 450px;
    max-width: 78%;
    min-height: 520px;
    align-items: flex-end;
    justify-content: center;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background-image:
        linear-gradient(90deg, rgba(255, 253, 248, .42) 0%, rgba(255, 253, 248, .12) 14%, transparent 28%),
        linear-gradient(270deg, rgba(255, 253, 248, .24) 0%, rgba(255, 253, 248, .08) 14%, transparent 28%),
        linear-gradient(180deg, rgba(255, 253, 248, .34) 0%, rgba(255, 253, 248, .08) 12%, transparent 24%),
        linear-gradient(0deg, rgba(65, 56, 107, .72) 0%, rgba(122, 112, 186, .34) 20%, rgba(122, 112, 186, .08) 36%, transparent 52%),
        url("/uploads/images/patricia.jpeg");
    background-position: center, center, center, center, center 10%;
    background-size: cover, cover, cover, cover, cover;
    background-repeat: no-repeat;
    box-shadow:
        0 38px 90px rgba(49, 45, 67, .24),
        0 18px 42px rgba(122, 112, 186, .18);
}

.portrait-slice {
    position: absolute;
    z-index: 1;
    overflow: hidden;
    border-radius: 0;
    opacity: .48;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    box-shadow: none;
}

.portrait-slice-norway {
    left: -12%;
    top: 2%;
    width: 34%;
    height: 285px;
    background-image:
        linear-gradient(90deg, rgba(255, 253, 248, .78), transparent 28%, transparent 72%, rgba(255, 253, 248, .56)),
        linear-gradient(180deg, rgba(255, 253, 248, .72), transparent 32%, transparent 70%, rgba(255, 253, 248, .58)),
        linear-gradient(135deg, rgba(65, 56, 107, .38), rgba(235, 231, 243, .06)),
        url("/uploads/images/krstian5.jpg");
}

.portrait-slice-prayer {
    right: -16%;
    top: 18%;
    z-index: 2;
    width: 27%;
    height: 315px;
    background-image:
        linear-gradient(90deg, rgba(255, 253, 248, .54), transparent 30%, transparent 72%, rgba(255, 253, 248, .74)),
        linear-gradient(180deg, rgba(255, 253, 248, .66), transparent 28%, transparent 70%, rgba(255, 253, 248, .62)),
        linear-gradient(180deg, rgba(255, 253, 248, .12), rgba(65, 56, 107, .38)),
        url("/uploads/images/pray1.jpg");
}

.portrait-slice-online {
    left: -8%;
    bottom: -4%;
    z-index: 2;
    width: 30%;
    height: 220px;
    background-image:
        linear-gradient(90deg, rgba(255, 253, 248, .76), transparent 30%, transparent 70%, rgba(255, 253, 248, .64)),
        linear-gradient(180deg, rgba(255, 253, 248, .74), transparent 32%, transparent 70%, rgba(255, 253, 248, .62)),
        linear-gradient(90deg, rgba(255, 253, 248, .38), rgba(122, 112, 186, .14)),
        url("/uploads/images/online3.jpg");
}

.portrait-shine {
    position: absolute;
    right: -42px;
    top: -42px;
    z-index: 3;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: rgba(183, 175, 211, .28);
}

.portrait-photo {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 10%;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    margin-left: 0;
    opacity: 0;
    pointer-events: none;
}

.portrait-caption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 4;
    padding: 0 30px 28px;
}

.portrait-caption span {
    color: #ffffff;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
}

.portrait-caption small {
    max-width: 320px;
    color: rgba(255, 255, 255, .84);
    font-weight: 700;
}

.intro-band {
    position: relative;
    overflow: hidden;
    background-color: #41386b;
    background-image:
        radial-gradient(circle at 86% 92%, rgba(183, 175, 211, .18), transparent 18%),
        radial-gradient(circle at 4% 0%, rgba(183, 175, 211, .16), transparent 16%),
        linear-gradient(135deg, rgba(65, 56, 107, .96), rgba(85, 75, 135, .90)),
        url("/uploads/images/pray1.jpg");
    background-position: center, center, center, center 38%;
    background-size: auto, auto, cover, cover;
    background-repeat: no-repeat;
}

.intro-band::after,
.visual-section::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image:
        linear-gradient(90deg, rgba(255, 253, 248, .12) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 253, 248, .10) 1px, transparent 1px);
    background-size: 180px 180px;
    opacity: .18;
}

.intro-band h2,
.intro-band p {
    color: #ffffff;
}

.intro-band > .container {
    position: relative;
    z-index: 2;
}

.intro-band .eyebrow {
    color: #f5e8ad;
}

.intro-band .impact-title {
    margin-bottom: 18px;
}

.muted {
    background: #ebe7f3;
}

.visual-section {
    position: relative;
    overflow: hidden;
    background-color: #ebe7f3;
}

.visual-section > .container {
    position: relative;
    z-index: 2;
}

.visual-mentorias {
    background-image:
        linear-gradient(90deg, rgba(235, 231, 243, .96) 0%, rgba(235, 231, 243, .94) 54%, rgba(235, 231, 243, .84) 100%),
        url("/uploads/images/woman3.jpg");
    background-position: center, center;
    background-size: auto, cover;
    background-repeat: no-repeat;
}

.visual-cursos {
    background-color: #ebe7f3;
    background-image:
        linear-gradient(90deg, rgba(235, 231, 243, .98) 0%, rgba(235, 231, 243, .96) 62%, rgba(235, 231, 243, .84) 100%),
        url("/uploads/images/online4.jpg");
    background-position: center, center;
    background-size: auto, cover;
    background-repeat: no-repeat;
}

.visual-publico {
    background-image:
        linear-gradient(90deg, rgba(235, 231, 243, .98) 0%, rgba(235, 231, 243, .96) 68%, rgba(235, 231, 243, .84) 100%),
        url("/uploads/images/kistian1.jpg");
    background-position: center, center;
    background-size: auto, cover;
    background-repeat: no-repeat;
}

.visual-beneficios {
    background-color: #ebe7f3;
    background-image:
        linear-gradient(90deg, rgba(235, 231, 243, .88), rgba(235, 231, 243, .98) 34%, rgba(235, 231, 243, .96) 100%),
        url("/uploads/images/land1.jpg");
    background-position: center, center;
    background-size: auto, cover;
    background-repeat: no-repeat;
}

.visual-metodologia {
    background-image:
        linear-gradient(90deg, rgba(235, 231, 243, .98) 0%, rgba(235, 231, 243, .96) 64%, rgba(235, 231, 243, .84) 100%),
        url("/uploads/images/pray3.jpg");
    background-position: center, center;
    background-size: auto, cover;
    background-repeat: no-repeat;
}

.visual-sobre {
    background-color: #ebe7f3;
    background-image:
        linear-gradient(90deg, rgba(235, 231, 243, .88), rgba(235, 231, 243, .98) 35%, rgba(235, 231, 243, .96) 100%),
        url("/uploads/images/kristian3.jpg");
    background-position: center, center;
    background-size: auto, cover;
    background-repeat: no-repeat;
}

.visual-cristao {
    background-color: #ebe7f3;
    background-image:
        linear-gradient(90deg, rgba(235, 231, 243, .98) 0%, rgba(235, 231, 243, .94) 56%, rgba(235, 231, 243, .86) 100%),
        url("/uploads/images/pray5.jpg");
    background-position: center, center;
    background-size: auto, cover;
    background-repeat: no-repeat;
}

.testimonials {
    text-align: center;
    background-image:
        linear-gradient(90deg, rgba(235, 231, 243, .98), rgba(235, 231, 243, .92)),
        url("/uploads/images/pray5.jpg");
    background-position: center, center;
    background-size: auto, cover;
    background-repeat: no-repeat;
}

.visual-faq {
    background-color: #ebe7f3;
    background-image:
        linear-gradient(90deg, rgba(235, 231, 243, .98) 0%, rgba(235, 231, 243, .96) 58%, rgba(235, 231, 243, .84) 100%),
        url("/uploads/images/pray1.jpg");
    background-position: center, center;
    background-size: auto, cover;
    background-repeat: no-repeat;
}

.final-cta {
    background-image:
        linear-gradient(90deg, rgba(235, 231, 243, .96), rgba(235, 231, 243, .88)),
        url("/uploads/images/krstian5.jpg");
    background-position: center, center;
    background-size: auto, cover;
    background-repeat: no-repeat;
}
