.refsec-section {
    --refsec-purple: #49064d;
    --refsec-gold: #d98d23;
    position: relative;
 
    overflow: hidden;
    width: 100%;
    min-height: min(56.3vw, 941px);
    background: #fff8f4;
    color: var(--refsec-purple);
    font-family: "Google Sans", "DM Sans", Arial, sans-serif;
}
.refsec-section .refsec-landscape {
    position: absolute;
    inset: 0 0 0 40%;
    width: 60%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: -4;
}
.refsec-section .refsec-wash {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        #fffafa 0%,
        rgba(255, 251, 251, 0.98) 34%,
        rgba(255, 243, 239, 0.66) 53%,
        rgba(255, 218, 224, 0.15) 100%
    );
    z-index: -3;
}
.refsec-section .refsec-glow {
    position: absolute;
    inset: 0;
    z-index: -2;
}
.refsec-section .refsec-inner {
    position: relative;
    width: 100%;
    max-width: 1672px;
    margin: auto;
    min-height: min(56.3vw, 941px);
    padding: 8.6% 4.3% 18%;
}
.refsec-section .refsec-copy {
    position: relative;
    width: 55%;
    z-index: 3;
    text-align: center;
}
.refsec-section .refsec-name {
    font-size: clamp(30px, 4.9vw, 82px);
    font-weight: 700;
    line-height: 1.12;
    margin: 0 0 8px;
    letter-spacing: -0.045em;
    white-space: nowrap;
}
.refsec-section .refsec-values {
    font-size: clamp(12px, 1.57vw, 26px);
    letter-spacing: 0.12em;
    margin: 0;
    white-space: nowrap;
}
.refsec-section .refsec-dot {
    color: var(--refsec-gold);
    padding: 0 0.38em;
}
.refsec-section .refsec-rule {
    height: 2px;
    width: 9%;
    background: var(--refsec-gold);
    margin: 19px 0 24px 8%;
}
.refsec-section .refsec-headline {
    font-size: clamp(29px, 4.85vw, 81px);
    font-weight: 900;
    letter-spacing: -0.045em;
    line-height: 1.01;
    margin: 0;
    white-space: nowrap;
    text-align: center;
}
.refsec-section .refsec-gold {
    display: block;
    font-size: 0.9em;
    background: linear-gradient(180deg, #e9ad59, #a35d00);
    color: #be7d16;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-top: 3px;
}
.refsec-section .refsec-roles {
    font-size: clamp(15px, 1.65vw, 28px);
    line-height: 1.18;
    margin: 14px -3% 0;
    font-weight: 500;
}
.refsec-section .refsec-actions {
    display: flex;
    gap: 16px;
    margin-top: 30px;
    align-items: stretch;
}
.refsec-section .refsec-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    min-height: 70px;
    padding: 14px 20px;
    border: 2px solid var(--refsec-gold);
    border-radius: 25px;
    text-decoration: none;
    color: var(--refsec-purple);
    font-size: clamp(12px, 1.22vw, 21px);
    font-weight: 600;
    white-space: nowrap;
    background: #ffffffed;
    box-shadow: 0 10px 22px #6637180c;
    transition: transform 0.2s;
}
.refsec-section .refsec-button:hover {
    transform: translateY(-2px);
}
.refsec-section .refsec-button:focus-visible {
    outline: 3px solid #8a539a;
    outline-offset: 4px;
}
.refsec-section .refsec-primary {
    flex: 1.5;
    background: linear-gradient(180deg, #914086, #4c0652 80%);
    color: white;
    font-weight: 400;
}
.refsec-section .refsec-secondary {
    flex: 1;
}
.refsec-section .refsec-button-icon {
    font-size: 1.5em;
}
.refsec-section .refsec-arrow {
    margin-left: auto;
    font-size: 1.25em;
}
.refsec-section .refsec-portrait {
    position: absolute;
    left: 51%;
    top: 17%;
    width: 39%;
    height: 83%;
    object-fit: cover;
    object-position: 50% 25%;
    border-radius: 45% 45% 5% 5%;
    z-index: 1;

}
.refsec-section .refsec-motto {
    position: absolute;
    z-index: 2;
    right: 2.5%;
    top: 8%;
    width: 23%;
    font-family: "Great Vibes", cursive;
    font-size: clamp(24px, 3.1vw, 52px);
    line-height: 0.95;
    text-align: center;
    transform: rotate(-7deg);
    margin: 0;
}
.refsec-section .refsec-motto-line {
    display: block;
}
.refsec-section .refsec-swish {
    display: block;
    width: 82%;
    height: 26px;
    border-top: 3px solid #c77816;
    border-radius: 50%;
    margin: 17px auto 0;
    transform: rotate(-9deg);
}
.refsec-section .refsec-wave {
    position: absolute;
    pointer-events: none;
    z-index: 4;
    border-radius: 50%;
    border-top: 2px solid #dfa13d;
    transform: rotate(17deg);
}
.refsec-section .refsec-wave-back {
    width: 105%;
    height: 43%;
    left: -26%;
    bottom: -29%;
    background: linear-gradient(170deg, #ffffffed, #dcaddcc9 45%, #884091);
    box-shadow: 0 -20px 0 #fff7fb8a;
}
.refsec-section .refsec-wave-mid {
    width: 115%;
    height: 37%;
    left: -22%;
    bottom: -29%;
    background: linear-gradient(175deg, #e8c7e7aa, #9d4b9fa8 48%, #6c2677);
}
.refsec-section .refsec-wave-front {
    width: 75%;
    height: 33%;
    right: -20%;
    bottom: -17%;
    transform: rotate(-18deg);
    background: linear-gradient(180deg, #fff9f0, #fff1ee 55%, #efd6ed);
    border-top: 3px solid #fffaf0;
}
.refsec-section .refsec-verse {
    position: absolute;
    z-index: 6;
    right: 4.1%;
    bottom: 6.3%;
    width: 24%;
    text-align: center;
    font-size: clamp(13px, 1.36vw, 23px);
    line-height: 1.35;
    margin: 0;
}
.refsec-section .refsec-verse-text {
    font-style: italic;
    display: block;
}
.refsec-section .refsec-verse-source {
    display: block;
    font-size: 0.9em;
    margin-top: 8px;
}
.refsec-section .refsec-verse-source::before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 2px;
    background: var(--refsec-gold);
    vertical-align: middle;
    margin-right: 10px;
}
.refsec-section .refsec-floral {
    position: absolute;
    z-index: 5;
    pointer-events: none;
    width: 160px;
    height: 190px;
    left: -25px;
    top: -32px;
    transform: rotate(35deg);
}
.refsec-section .refsec-stem {
    position: absolute;
    left: 65px;
    top: 10px;
    width: 2px;
    height: 180px;
    background: linear-gradient(#975f98, #dca353);
    transform: rotate(25deg);
}
.refsec-section .refsec-leaf {
    position: absolute;
    width: 38px;
    height: 68px;
    background: linear-gradient(100deg, #68306f, #d8b3db 65%, #faf2f6);
    border-radius: 95% 0 95% 0;
    box-shadow: inset 2px 0 3px #fff8;
    transform: rotate(-30deg);
}
.refsec-section .refsec-leaf:nth-child(2) {
    left: 30px;
    top: 8px;
}
.refsec-section .refsec-leaf:nth-child(3) {
    left: 74px;
    top: 30px;
    transform: rotate(65deg);
}
.refsec-section .refsec-leaf:nth-child(4) {
    left: 20px;
    top: 70px;
}
.refsec-section .refsec-leaf:nth-child(5) {
    left: 67px;
    top: 96px;
    transform: rotate(65deg);
}
.refsec-section .refsec-leaf:nth-child(6) {
    left: 9px;
    top: 135px;
    background: linear-gradient(110deg, #cf962e, #fff1d3);
}
.refsec-section .refsec-floral-bottom {
    left: auto;
    top: auto;
    right: -20px;
    bottom: 5px;
    transform: rotate(195deg) scale(0.7);
}
@media (min-width: 1673px) {
    .refsec-section {
        min-height: 941px;
    }
    .refsec-section .refsec-name {
        font-size: 82px;
    }
    .refsec-section .refsec-headline {
        font-size: 61px;
    }
    .refsec-section .refsec-values {
        font-size: 26px;
    }
    .refsec-section .refsec-roles {
        font-size: 28px;
    }
    .refsec-section .refsec-motto {
        font-size: 52px;
    }
    .refsec-section .refsec-inner {
        min-height: 941px;
    }
}
@media (max-width: 1199px) {
    .refsec-section .refsec-inner {
        padding-top: 9%;
        padding-bottom: 20%;
    }
    .refsec-section .refsec-rule {
        margin: 12px 0 17px 8%;
    }
    .refsec-section .refsec-actions {
        gap: 10px;
        margin-top: 20px;
    }
    .refsec-section .refsec-button {
        min-height: 48px;
        padding: 10px 13px;
        gap: 9px;
        border-radius: 18px;
    }
    .refsec-section .refsec-roles {
        margin-top: 10px;
    }
    .refsec-section .refsec-floral {
        transform: rotate(35deg) scale(0.7);
        transform-origin: top left;
    }
    .refsec-section .refsec-floral-bottom {
        transform: rotate(195deg) scale(0.5);
        transform-origin: center;
    }
}
@media (max-width: 767px) {
    .refsec-section .refsec-inner {
        padding: 65px 22px 280px;
        min-height: 950px;
    }
    .refsec-section .refsec-copy {
        width: 100%;
    }
    .refsec-section .refsec-name {
        font-size: clamp(29px, 7.3vw, 50px);
        white-space: normal;
        letter-spacing: -0.04em;
    }
    .refsec-section .refsec-values {
        font-size: clamp(9px, 2.65vw, 16px);
        letter-spacing: 0.07em;
        white-space: normal;
    }
    .refsec-section .refsec-rule {
        margin: 17px auto 22px;
        width: 46px;
    }
    .refsec-section .refsec-headline {
        font-size: clamp(27px, 6.9vw, 49px);
        text-align: center;
        white-space: normal;
    }
    .refsec-section .refsec-gold {
        font-size: 0.83em;
        margin-top: 6px;
    }
    .refsec-section .refsec-roles {
        font-size: 15px;
        line-height: 1.6;
        margin: 15px 0 0;
    }
    .refsec-section .refsec-actions {
        flex-direction: column;
        gap: 10px;
        margin: 20px auto 0;
        max-width: 370px;
    }
    .refsec-section .refsec-button {
        font-size: 14px;
        min-height: 52px;
        flex: auto;
        justify-content: center;
        padding: 12px 20px;
    }
    .refsec-section .refsec-arrow {
        margin-left: 4px;
    }
    .refsec-section .refsec-portrait {
        left: 0%;
        top: auto;
        bottom: 70px;
        width: 85%;
        height: 390px;
        object-position: center 20%;
    }
    .refsec-section .refsec-motto {
        top: auto;
        right: 3%;
        bottom: 270px;
        width: 33%;
        font-size: 27px;
    }
    .refsec-section .refsec-landscape {
        inset: auto 0 0 0;
        width: 100%;
        height: 55%;
    }
    .refsec-section .refsec-wash {
        background: linear-gradient(180deg, #fffafa 0%, #fffafa 43%, #fffafa77 65%, #fffafa00 100%);
    }
    .refsec-section .refsec-verse {
        width: 62%;
        right: 4%;
        bottom: 30px;
        font-size: 16px;
    }
    .refsec-section .refsec-wave-back {
        height: 21%;
        bottom: -14%;
        width: 150%;
        left: -50%;
    }
    .refsec-section .refsec-wave-mid {
        height: 17%;
        bottom: -13%;
        width: 160%;
        left: -50%;
    }
    .refsec-section .refsec-wave-front {
        height: 19%;
        width: 120%;
        right: -45%;
        bottom: -8%;
    }
    .refsec-section .refsec-floral-bottom {
        opacity: 0.6;
    }
}
@media (prefers-reduced-motion: reduce) {
    .refsec-section .refsec-button {
        transition: none;
    }
}



.lcm-section {
    position: relative;
    width: 100%;
    overflow: hidden;
    background-image: url("../../images/background.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    color: #242b4a;
    font-family: "DM Sans", Arial, sans-serif;
 
}
.lcm-section:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.12) 0%,
        rgba(255, 255, 255, 0.06) 47%,
        rgba(255, 255, 255, 0.02) 100%
    );
    pointer-events: none;
}
.lcm-section .lcm-shell {
    width: min(1510px, calc(100% - 72px));
    margin: 0 auto;
    padding-top: 118px;
    padding-bottom: 66px;
    position: relative;
}
.lcm-section .lcm-main-row {
    --bs-gutter-x: 64px;
    align-items: flex-start;
}
.lcm-section .lcm-intro {
    padding-left: 0;
    max-width: 850px;
}
.lcm-section .lcm-eyebrow,
.lcm-section .lcm-card-eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 13px;
    color: #c78000;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 4px;
    line-height: 1.2;
    text-transform: uppercase;
    white-space: nowrap;
}
.lcm-section .lcm-eyebrow:after {
    content: "";
    display: block;
    width: 126px;
    height: 1px;
    background: #dc950e;
    flex: 0 0 auto;
}
.lcm-section .lcm-title {
    margin: 0 0 19px;
    color: #4f0754;
    font-family: "Libre Baskerville", Georgia, serif;
    font-size: 54px;
    font-weight: 700;
    line-height: 1.11;
    letter-spacing: -2.2px;
    max-width: 820px;
}
.lcm-section .lcm-copy {
    max-width: 825px;
    color: #27304f;
    font-size: 19px;
    line-height: 1.43;
    font-weight: 400;
}
.lcm-section .lcm-copy-paragraph {
    margin: 0 0 22px;
}
.lcm-section .lcm-copy-paragraph:last-child {
    margin-bottom: 0;
}
.lcm-section .lcm-right {
    position: relative;
    padding-top: 13px;
}
.lcm-section .lcm-heart-card {
    position: relative;
    width: 100%;
    max-width: 650px;
    margin-left: auto;
    padding: 44px 42px 38px 50px;
    border: 1px solid rgba(217, 153, 73, 0.48);
    border-left: 0;
    border-radius: 28px;
    background: linear-gradient(135deg, rgba(255, 252, 247, 0.88), rgba(255, 240, 248, 0.79));
    box-shadow: 0 18px 45px rgba(111, 38, 105, 0.08);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    overflow: hidden;
}
.lcm-section .lcm-heart-card:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 10px;
    background: linear-gradient(180deg, #b20a94, #9f0785);
    border-radius: 28px 0 0 28px;
}
.lcm-section .lcm-card-eyebrow {
    font-size: 20px;
    letter-spacing: 3px;
    margin-bottom: 14px;
    gap: 15px;
}
.lcm-section .lcm-card-eyebrow:after {
    content: "";
    height: 1px;
    background: #db940d;
    flex: 1;
    min-width: 70px;
}
.lcm-section .lcm-heart-title {
    margin: 0 0 22px;
    color: #4f0754;
    font-family: "Libre Baskerville", Georgia, serif;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.22;
    letter-spacing: -1.8px;
}
.lcm-section .lcm-heart-copy {
    margin: 0;
    color: #303958;
    font-size: 23px;
    line-height: 1.43;
    font-weight: 400;
}
.lcm-section .lcm-card-divider {
    height: 1px;
    background: rgba(218, 148, 13, 0.75);
    margin: 22px 0 25px;
}
.lcm-section .lcm-values {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 10px;
    color: #51215f;
    font-family: "Libre Baskerville", Georgia, serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.45;
}
.lcm-section .lcm-dot {
    color: #c99412;
    font-family: Georgia, serif;
    font-size: 20px;
    line-height: 1;
}
.lcm-section .lcm-scripture {
    position: absolute;
    right: 72px;
    bottom: 38px;
    width: 430px;
    text-align: center;
    color: #381165;
}
.lcm-section .lcm-scripture-verse {
    margin: 0;
    font-family: "Allura", cursive;
    font-size: 35px;
    font-weight: 400;
    line-height: 0.92;
    transform: rotate(-2deg);
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.55);
}
.lcm-section .lcm-scripture-ref {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 13px;
    padding-right: 48px;
    color: #242b4a;
    font-size: 19px;
    font-weight: 600;
}
.lcm-section .lcm-scripture-line {
    display: block;
    width: 54px;
    height: 2px;
    background: #cf9200;
}
@media (max-width: 1399.98px) {
    .lcm-section .lcm-shell {
        width: min(1320px, calc(100% - 56px));
        padding-top: 105px;
    }
    .lcm-section .lcm-main-row {
        --bs-gutter-x: 44px;
    }
    .lcm-section .lcm-title {
        font-size: 48px;
    }
    .lcm-section .lcm-copy {
        font-size: 17px;
    }
    .lcm-section .lcm-heart-card {
        padding: 38px 34px 34px 44px;
    }
    .lcm-section .lcm-heart-title {
        font-size: 41px;
    }
    .lcm-section .lcm-heart-copy {
        font-size: 20px;
    }
    .lcm-section .lcm-values {
        font-size: 17px;
    }
    .lcm-section .lcm-scripture {
        right: 42px;
    }
}
@media (max-width: 1199.98px) {
    .lcm-section {
        min-height: auto;
        background-position: center bottom;
    }
    .lcm-section .lcm-shell {
        min-height: 820px;
        padding-top: 92px;
        padding-bottom: 210px;
    }
    .lcm-section .lcm-eyebrow,
    .lcm-section .lcm-card-eyebrow {
        font-size: 15px;
        letter-spacing: 2.5px;
    }
    .lcm-section .lcm-title {
        font-size: 41px;
        letter-spacing: -1.5px;
    }
    .lcm-section .lcm-copy {
        font-size: 16px;
        line-height: 1.45;
    }
    .lcm-section .lcm-heart-title {
        font-size: 35px;
    }
    .lcm-section .lcm-heart-copy {
        font-size: 18px;
    }
    .lcm-section .lcm-scripture {
        bottom: 54px;
        width: 390px;
    }
    .lcm-section .lcm-scripture-verse {
        font-size: 40px;
    }
}
@media (max-width: 991.98px) {
    .lcm-section {
        background-size: auto 100%;
        background-position: center bottom;
    }
    .lcm-section .lcm-shell {
        width: min(900px, calc(100% - 42px));
        min-height: auto;
        padding-top: 76px;
        padding-bottom: 70px;
    }
    .lcm-section .lcm-main-row {
        --bs-gutter-x: 0;
        --bs-gutter-y: 34px;
    }
    .lcm-section .lcm-intro {
        max-width: none;
    }
    .lcm-section .lcm-title {
        font-size: 48px;
        max-width: 760px;
    }
    .lcm-section .lcm-copy {
        max-width: 790px;
        font-size: 17px;
    }
    .lcm-section .lcm-right {
        padding-top: 0;
    }
    .lcm-section .lcm-heart-card {
        max-width: none;
        margin: 0;
    }
    .lcm-section .lcm-scripture {
        position: relative;
        right: auto;
        bottom: auto;
        width: min(440px, 100%);
        margin: 52px 0 0 auto;
        padding: 20px 8px 0;
    }
}
@media (max-width: 767.98px) {
    .lcm-section {
        background-size: auto 100%;
        background-position: 58% bottom;
    }
    .lcm-section .lcm-shell {
        width: calc(100% - 30px);
        padding-top: 64px;
        padding-bottom: 46px;
    }
    .lcm-section .lcm-eyebrow {
        font-size: 12px;
        letter-spacing: 1.7px;
        gap: 9px;
        white-space: normal;
    }
    .lcm-section .lcm-eyebrow:after {
        width: 48px;
    }
    .lcm-section .lcm-title {
        font-size: 36px;
        line-height: 1.14;
        letter-spacing: -1.2px;
        margin-bottom: 18px;
    }
    .lcm-section .lcm-title-break {
        display: none;
    }
    .lcm-section .lcm-copy {
        font-size: 15px;
        line-height: 1.55;
    }
    .lcm-section .lcm-copy-paragraph {
        margin-bottom: 18px;
    }
    .lcm-section .lcm-heart-card {
        padding: 31px 24px 29px 31px;
        border-radius: 21px;
        margin-top: 30px;
    }
    .lcm-section .lcm-heart-card:before {
        width: 7px;
        border-radius: 21px 0 0 21px;
    }
    .lcm-section .lcm-card-eyebrow {
        font-size: 12px;
        letter-spacing: 1.8px;
        white-space: normal;
    }
    .lcm-section .lcm-heart-title {
        font-size: 32px;
        line-height: 1.25;
        letter-spacing: -1px;
        margin-bottom: 16px;
    }
    .lcm-section .lcm-heart-copy {
        font-size: 16px;
        line-height: 1.5;
    }
    .lcm-section .lcm-card-divider {
        margin: 18px 0 19px;
    }
    .lcm-section .lcm-values {
        font-size: 15px;
        gap: 6px 7px;
    }
    .lcm-section .lcm-scripture {
        margin-top: 38px;
        background: rgba(255, 255, 255, 0.22);
        border-radius: 18px;
        padding: 18px 10px 15px;
    }
    .lcm-section .lcm-scripture-verse {
        font-size: 37px;
    }
    .lcm-section .lcm-scripture-ref {
        font-size: 16px;
        padding-right: 20px;
    }
}
@media (max-width: 420px) {
    .lcm-section .lcm-title {
        font-size: 32px;
    }
    .lcm-section .lcm-heart-title {
        font-size: 28px;
    }
    .lcm-section .lcm-scripture-verse {
        font-size: 34px;
    }
}


.tmwp-section {
    --tmwp-purple: #570d60;
    --tmwp-gold: #a76507;
    position: relative;
    overflow: hidden;
    background: #f9ecf2;
    color: #11172b;
    font-family: "Roboto", Arial, sans-serif;
    padding: 64px 3.75% 0px;
    min-height: clamp(540px, 33.3vw, 720px);
}
.tmwp-section .tmwp-background {
    position: absolute;
    inset: 0;
    z-index: -4;
    background-image: url("../../images/photo-1470770841072-f978cf4d019e.jpg");
    background-position: center 48%;
    background-size: cover;
}
.tmwp-section .tmwp-background::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
            180deg,
            rgba(255, 223, 236, 0.58),
            rgba(255, 238, 239, 0.35) 36%,
            rgba(255, 244, 247, 0.9) 86%
        ),
        linear-gradient(90deg, rgba(221, 176, 227, 0.38), transparent 60%, rgba(255, 219, 148, 0.32));
}
.tmwp-section .tmwp-sun {
    position: absolute;
    right: -7%;
    top: -16%;
    width: 36%;
    height: 65%;
    z-index: -3;
     
    pointer-events: none;
}
.tmwp-section .tmwp-decoration {
    position: absolute;
    pointer-events: none;
    z-index: -1;
    object-fit: cover;
 
}
.tmwp-section .tmwp-flower-top {
    top: -35px;
    left: -35px;
    width: clamp(200px, 20vw, 410px);
    height: 270px;
    filter: saturate(0.8);
}
.tmwp-section .tmwp-flower-left {
    bottom: -65px;
    left: -65px;
    width: 240px;
    height: 330px;
    transform: rotate(-25deg);
    filter: blur(4px);
 
    z-index: 2;
}
.tmwp-section .tmwp-flower-right {
    bottom: -75px;
    right: -65px;
    width: 260px;
    height: 300px;
    transform: rotate(35deg);
    filter: blur(3px);
 
    z-index: 2;
}
.tmwp-section .tmwp-ribbon {
    position: absolute;
    pointer-events: none;
    bottom: -130px;
    left: -8%;
    width: 75%;
    height: 180px;
    border-radius: 50%;
    transform: rotate(8deg);
    background: linear-gradient(175deg, rgba(255, 244, 254, 0.8), rgba(169, 56, 172, 0.7) 30%, #954099 66%, #d878bc);
    border-top: 2px solid rgba(255, 223, 245, 0.95);
    box-shadow: 0 -15px 0 rgba(204, 131, 199, 0.24);
    z-index: -1;
}
.tmwp-section .tmwp-ribbon-right {
    left: 55%;
    width: 70%;
    bottom: -100px;
    transform: rotate(-13deg);
    background: linear-gradient(170deg, #efd2e8, #b154a3 45%, #752568);
}
.tmwp-section .tmwp-gold-curve {
    position: absolute;
    pointer-events: none;
    width: 78%;
    height: 230px;
    bottom: -172px;
    left: -5%;
    border: 2px solid #deb456;
    border-radius: 50%;
    transform: rotate(9deg);
    z-index: 1;
}
.tmwp-section .tmwp-gold-curve-right {
    left: 47%;
    bottom: -116px;
    transform: rotate(-16deg);
    border-color: #edbe71;
}
.tmwp-section .tmwp-header {
    position: relative;
    text-align: center;
    margin: 0 auto 13px;
    z-index: 1;
}
.tmwp-section .tmwp-eyebrow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin: 0 0 5px;
    color: #985805;
    font-size: clamp(16px, 1.35vw, 28px);
    font-weight: 800;
    letter-spacing: 0.2em;
    line-height: 1.2;
}
.tmwp-section .tmwp-eyebrow::before,
.tmwp-section .tmwp-eyebrow::after {
    content: "";
    height: 2px;
    width: 82px;
    background: linear-gradient(90deg, #dcb150, #a96405);
    flex-shrink: 0;
}
.tmwp-section .tmwp-title {
    color: var(--tmwp-purple);
    font-weight: 900;
    font-size: clamp(44px, 3vw, 60px);
    letter-spacing: -0.025em;
    line-height: 0.97;
    margin: 0;
}
.tmwp-section .tmwp-title span {
    display: block;
    color: #a36100;
}
.tmwp-section .tmwp-heading-divider {
    width: 120px;
    height: 3px;
    background: #bc852b;
    margin: 13px auto 0;
}
.tmwp-section .tmwp-grid {
    --bs-gutter-x: 22px;
    --bs-gutter-y: 22px;
    position: relative;
    z-index: 1;
}
.tmwp-section .tmwp-card {
    position: relative;
    height: 100%;
    padding: 15px 8% 16px;
    border-radius: 23px;
    background: linear-gradient(120deg, rgba(255, 252, 254, 0.98), rgba(255, 250, 248, 0.98));
    box-shadow: 0 9px 17px rgba(104, 54, 86, 0.12);
    border-top: 5px solid transparent;
    background-clip: padding-box;
    overflow: hidden;
}
.tmwp-section .tmwp-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #870c87, #b42187 37%, #f4cd70);
    border-radius: 23px 23px 0 0;
}
.tmwp-section .tmwp-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(62px, 4vw, 82px);
    height: clamp(62px, 4vw, 82px);
    margin-bottom: 4px;
    border-radius: 50%;
    background: linear-gradient(155deg, #b2259b, #680d65);
    color: #fff;
    font-size: clamp(28px, 2.1vw, 42px);
    box-shadow: 0 5px 9px rgba(110, 15, 96, 0.2);
}
.tmwp-section .tmwp-card-icon-pink {
    background: linear-gradient(155deg, #eb4b9b, #a31d74);
}
.tmwp-section .tmwp-card-icon-violet {
    background: linear-gradient(155deg, #b337b6, #610b76);
}
.tmwp-section .tmwp-card-title {
    color: var(--tmwp-purple);
    font-size: clamp(21px, 1.25vw, 34px);
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.03;
    margin: 0;
    min-height: 2.06em;
    margin-top: 15px;
}
.tmwp-section .tmwp-card-divider {
    height: 3px;
    width: 58px;
    background: #c88b17;
    margin: 12px 0 9px;
}
.tmwp-section .tmwp-list {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: clamp(18px, 1.5vw, 20px);
    line-height: 1.17;
    letter-spacing: -0.025em;
}
.tmwp-section .tmwp-list li {
    position: relative;
    padding-left: 32px;
    margin: 0 0 3px;
}
.tmwp-section .tmwp-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.35em;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: linear-gradient(145deg, #d99c16, #ba7600);
}
@media (min-width: 1800px) {
    .tmwp-section .tmwp-card {
        padding-top: 13px;
        padding-bottom: 15px;
    }
    .tmwp-section .tmwp-header {
        margin-bottom: 14px;
    }
}
@media (max-width: 1199.98px) {
    .tmwp-section {
        padding: 30px 4% 72px;
    }
    .tmwp-section .tmwp-title {
        font-size: clamp(44px, 6.3vw, 72px);
    }
    .tmwp-section .tmwp-header {
        margin-bottom: 25px;
    }
    .tmwp-section .tmwp-card {
        padding: 22px 25px;
    }
    .tmwp-section .tmwp-card-title {
        font-size: 27px;
    }
    .tmwp-section .tmwp-list {
        font-size: 23px;
        line-height: 1.35;
    }
    .tmwp-section .tmwp-card-icon {
        width: 72px;
        height: 72px;
        font-size: 34px;
        margin-bottom: 12px;
    }
    .tmwp-section .tmwp-background {
        background-position: center;
        background-attachment: scroll;
    }
    .tmwp-section .tmwp-flower-top {
        opacity: 0.65;
    }
}
@media (max-width: 767.98px) {
    .tmwp-section {
        padding: 32px 20px 75px;
    }
    .tmwp-section .tmwp-eyebrow {
        font-size: 12px;
        letter-spacing: 0.15em;
        gap: 10px;
        margin-bottom: 12px;
    }
    .tmwp-section .tmwp-eyebrow::before,
    .tmwp-section .tmwp-eyebrow::after {
        width: 25px;
    }
    .tmwp-section .tmwp-title {
        font-size: clamp(32px, 7.5vw, 56px);
        line-height: 1.04;
        letter-spacing: -0.035em;
    }
    .tmwp-section .tmwp-title span {
        margin-top: 3px;
    }
    .tmwp-section .tmwp-heading-divider {
        width: 85px;
        margin-top: 16px;
    }
    .tmwp-section .tmwp-card {
        padding: 23px 25px;
        border-radius: 21px;
    }
    .tmwp-section .tmwp-card-title {
        font-size: 26px;
        min-height: 0;
        line-height: 1.1;
    }
    .tmwp-section .tmwp-list {
        font-size: 21px;
        line-height: 1.4;
    }
    .tmwp-section .tmwp-list li {
        padding-left: 26px;
    }
    .tmwp-section .tmwp-list li::before {
        width: 11px;
        height: 11px;
        top: 0.45em;
    }
    .tmwp-section .tmwp-flower-top {
        width: 180px;
        height: 180px;
        opacity: 0.35;
    }
    .tmwp-section .tmwp-flower-left,
    .tmwp-section .tmwp-flower-right {
        width: 130px;
        height: 170px;
        opacity: 0.65;
    }
    .tmwp-section .tmwp-ribbon {
        width: 110%;
        bottom: -135px;
    }
    .tmwp-section .tmwp-ribbon-right {
        left: 30%;
    }
    .tmwp-section .tmwp-gold-curve {
        width: 120%;
    }
}

.rsf-section {
    --rsf-purple: #56005f;
    --rsf-deep: #44004d;
    --rsf-gold: #dc8900;
    --rsf-pink: #e82f75;
    --rsf-navy: #13243e;
    position: relative;
    overflow: hidden;
    background: #f7e7e2;
    font-family: "DM Sans", sans-serif;
    color: var(--rsf-navy);
    padding-top: 40px;
    padding-bottom: 40px;
}
.rsf-section * {
    box-sizing: border-box;
}
.rsf-hero {
    position: relative;
 
    min-height: 645px;
    padding: 22px 5.2% 16px;
    background:
        linear-gradient(rgba(255, 245, 245, 0.06), rgba(255, 236, 239, 0.1)),
        url("images/retreat-mountains.jpg") center/cover no-repeat;
}
.rsf-hero:after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: auto 0 0;
    height: 44%;
    background: linear-gradient(0deg, rgba(246, 185, 214, 0.65), rgba(255, 255, 255, 0));
    pointer-events: none;
}
.rsf-floral {
    position: absolute;
    z-index: -1;
    pointer-events: none;
    user-select: none;
}
.rsf-floral-top {
    left: -18px;
    top: -18px;
    width: min(390px, 25vw);
}
.rsf-floral-left {
    left: -22px;
    bottom: -28px;
    width: min(300px, 19vw);
}
.rsf-floral-right {
    right: -25px;
    bottom: -15px;
    width: min(310px, 19vw);
}
.rsf-ribbon {
    position: absolute;
    z-index: -1;
    pointer-events: none;
    opacity: 0.72;
}
.rsf-ribbon-left {
    left: 0;
    top: 100px;
    width: 30vw;
    max-width: 580px;
}
.rsf-ribbon-bottom {
    right: 0;
    bottom: 0;
    width: 42vw;
    max-width: 800px;
}
.rsf-heading {
    text-align: center;
    max-width: 1350px;
    margin: 0 auto;
}
.rsf-kicker {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 17px;
    color: var(--rsf-gold);
    font-size: clamp(13px, 1.3vw, 22px);
    font-weight: 700;
    letter-spacing: 0.25em;
    text-transform: uppercase;
}
.rsf-kicker:before,
.rsf-kicker:after {
    content: "";
    width: 55px;
    height: 1px;
    background: var(--rsf-gold);
}
.rsf-title {
    margin: 4px 0 -6px;
    font-family: "DM Serif Display", "Playfair Display", serif;
    color: var(--rsf-deep);
    font-size: clamp(48px, 5.3vw, 68px);
    font-weight: 400;
    line-height: 0.98;
    letter-spacing: -0.035em;
    text-shadow: 0 2px 0 rgba(255, 255, 255, 0.35);
}
.rsf-title-accent {
    color: var(--rsf-gold);
}
.rsf-subtitle {
    margin: 0;
    font-family: "DM Serif Display", "Playfair Display", serif;
    color: var(--rsf-deep);
    font-size: clamp(26px, 2.55vw, 43px);
    line-height: 1;
}
.rsf-cta {
    width: min(820px, 72%);
    min-height: 66px;
    margin: 16px auto 12px;
    padding: 10px 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border: 2px solid #d18a00;
    border-radius: 999px;
    background: linear-gradient(180deg, #85016c 0%, #530052 100%);
    box-shadow: 0 8px 18px rgba(73, 0, 72, 0.18);
    color: #fff;
    font-size: clamp(14px, 1.3vw, 22px);
    font-weight: 700;
}
.rsf-cta-main {
    display: flex;
    align-items: center;
    gap: 22px;
}
.rsf-cta i {
    font-size: 27px;
}
.rsf-cta-arrow {
    font-size: 30px !important;
}
.rsf-program-grid {
    max-width: 1840px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
.rsf-program-card {
    position: relative;
    min-height: 338px;
    padding: 12px 38px 17px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.94);
    border-top: 4px solid var(--rsf-pink);
    box-shadow: 0 8px 20px rgba(90, 35, 65, 0.13);
    overflow: hidden;
}
.rsf-program-card:nth-child(2) {
    border-top-color: #f3b13b;
}
.rsf-program-card:nth-child(3) {
    border-top-color: #e33a7c;
}
.rsf-program-card:nth-child(4) {
    border-top-color: #d73383;
}
.rsf-card-head {
    display: flex;
    align-items: center;
    gap: 27px;
    margin-top: -3px;
    height: 76px;
}
.rsf-program-icon {
    width: 84px;
    height: 84px;
    flex: 0 0 84px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(145deg, #ec3778, #8a006d);
    box-shadow: 0 8px 15px rgba(118, 0, 87, 0.2);
    color: #fff;
    font-size: 39px;
}
.rsf-program-number {
    font-family: "DM Serif Display", serif;
    color: var(--rsf-gold);
    font-size: 53px;
    line-height: 1;
}
.rsf-program-title {
    margin: 4px 0 6px;
    color: var(--rsf-deep);
    font-family: "DM Serif Display", serif;
    font-size: clamp(27px, 1.75vw, 37px);
    line-height: 0.92;
    letter-spacing: -0.02em;
}
.rsf-card-divider {
    width: 63px;
    height: 2px;
    background: #c57a00;
    margin: 0 0 7px;
}
.rsf-keyline {
    margin: 0 0 10px;
    color: #b86d00;
    font-size: clamp(16px, 1.05vw, 22px);
    font-weight: 700;
    line-height: 1.18;
}
.rsf-description {
    margin: 0;
    color: #14243e;
    font-size: clamp(15px, 1.03vw, 21px);
    line-height: 1.27;
}
.rsf-bottom-strip {
    position: relative;
    background: rgba(255, 248, 245, 0.96);
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-image: linear-gradient(90deg, #e38800, #d32879, #6a005d) 1;
    padding: 13px 7.5%;
    display: grid;
    grid-template-columns: 46% 1px 54%;
    align-items: center;
    min-height: 120px;
}
.rsf-brand {
    display: flex;
    align-items: center;
    gap: 20px;
    padding-right: 36px;
}
.rsf-brand-logo {
    width: 102px;
    height: 82px;
    object-fit: contain;
}
.rsf-brand-title {
    margin: 0;
    color: var(--rsf-deep);
    font-family: "DM Serif Display", serif;
    font-size: clamp(28px, 2.1vw, 44px);
    line-height: 1;
}
.rsf-brand-tag {
    margin: 9px 0 0;
    color: #7b2b1c;
    font-size: 13px;
    letter-spacing: 0.14em;
}
.rsf-vertical-divider {
    height: 76px;
    background: #6f2b62;
}
.rsf-consult {
    padding-left: 52px;
    color: var(--rsf-deep);
}
.rsf-consult-lead {
    font-family: "DM Serif Display", serif;
    font-size: clamp(18px, 1.3vw, 25px);
    font-weight: 700;
    margin: 0 0 8px;
}
.rsf-consult-row {
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: clamp(17px, 1.15vw, 20px);
}
.rsf-webbox {
    flex: 1;
    min-width: 360px;
    max-width: 600px;
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 9px 18px;
    border: 2px solid var(--rsf-gold);
    border-radius: 999px;
    background: #fff;
    color: #14243e;
    font-weight: 600;
}
.rsf-webbox .rsf-webtext {
    flex: 1;
    white-space: nowrap;
}
.rsf-webbox i {
    color: #6e0d74;
}
.rsf-webbox .fa-arrow-up-right-from-square {
    font-size: 18px;
}
@media (max-width: 1199.98px) {
    .rsf-hero {
        padding-left: 4%;
        padding-right: 4%;
    }
    .rsf-program-grid {
        grid-template-columns: repeat(2, 1fr);
        max-width: 980px;
    }
    .rsf-program-card {
        min-height: 315px;
    }
    .rsf-bottom-strip {
        grid-template-columns: 1fr;
        padding: 20px 6%;
        gap: 18px;
    }
    .rsf-vertical-divider {
        display: none;
    }
    .rsf-brand {
        justify-content: center;
        padding-right: 0;
    }
    .rsf-consult {
        padding-left: 0;
        text-align: center;
    }
    .rsf-consult-row {
        justify-content: center;
    }
    .rsf-hero {
        min-height: auto;
        padding-bottom: 30px;
    }
}
@media (max-width: 767.98px) {
    .rsf-hero {
        padding: 24px 16px 28px;
    }
    .rsf-floral-top {
        width: 180px;
        opacity: 0.72;
    }
    .rsf-floral-left,
    .rsf-floral-right {
        width: 130px;
        opacity: 0.45;
    }
    .rsf-ribbon {
        opacity: 0.35;
    }
    .rsf-kicker {
        letter-spacing: 0.14em;
        gap: 8px;
    }
    .rsf-kicker:before,
    .rsf-kicker:after {
        width: 25px;
    }
    .rsf-title {
        font-size: clamp(41px, 13vw, 62px);
        line-height: 0.96;
        margin-top: 10px;
    }
    .rsf-subtitle {
        font-size: clamp(24px, 7vw, 34px);
        line-height: 1.05;
        margin-top: 8px;
    }
    .rsf-cta {
        width: 100%;
        padding: 11px 18px;
        margin: 20px auto;
        font-size: 14px;
    }
    .rsf-cta-main {
        gap: 12px;
    }
    .rsf-cta i {
        font-size: 21px;
    }
    .rsf-program-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .rsf-program-card {
        min-height: 0;
        padding: 14px 22px 24px;
    }
    .rsf-card-head {
        height: 70px;
        gap: 20px;
    }
    .rsf-program-icon {
        width: 72px;
        height: 72px;
        flex-basis: 72px;
        font-size: 31px;
    }
    .rsf-program-number {
        font-size: 46px;
    }
    .rsf-program-title {
        font-size: 31px;
    }
    .rsf-keyline,
    .rsf-description {
        font-size: 17px;
    }
    .rsf-brand {
        flex-direction: column;
        text-align: center;
        gap: 7px;
    }
    .rsf-brand-logo {
        width: 88px;
        height: 70px;
    }
    .rsf-brand-tag {
        font-size: 11px;
        line-height: 1.6;
    }
    .rsf-consult-row {
        flex-direction: column;
        gap: 10px;
    }
    .rsf-webbox {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        font-size: 13px;
        gap: 10px;
        padding: 10px 13px;
    }
    .rsf-webbox .rsf-webtext {
        white-space: normal;
        overflow-wrap: anywhere;
    }
    .rsf-bottom-strip {
        padding: 20px 16px;
    }
}


:root {
    --plum: #40104f;
    --plum2: #6e176c;
    --magenta: #9f1778;
    --gold: #c79224;
    --gold2: #e2b75d;
    --cream: #fffaf5;
    --rose: #faf2f7;
    --lav: #eee7f5;
    --ink: #302a31;
    --muted: #6d636a;
    --line: #e7d9e3;
    --shadow: 0 16px 40px rgba(70, 18, 66, 0.1);
}
* {
    box-sizing: border-box;
}
html {
    scroll-behavior: smooth;
}
body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    color: var(--ink);
    background: #fff;
}
a {
    color: inherit;
    text-decoration: none;
}
button {
    font: inherit;
}
.books-section {
    min-height: 100vh;
    padding: 68px 0 80px;
    position: relative;
    overflow: hidden;
    background: radial-gradient(circle at 9% 13%, rgba(221, 195, 229, 0.48), transparent 28%),
        radial-gradient(circle at 92% 84%, rgba(240, 211, 153, 0.36), transparent 26%),
        linear-gradient(135deg, #fffdf9 0%, #fbf5f9 52%, #f5edf7 100%);
}
.books-section:before {
    content: "";
    position: absolute;
    inset: auto -160px -270px auto;
    width: 550px;
    height: 550px;
    border-radius: 50%;
    background: rgba(176, 100, 169, 0.08);
}
.container {
    width: min(1480px, 94vw);
    margin: auto;
    position: relative;
    z-index: 2;
}
.header {
    max-width: 1020px;
    margin: 0 auto 26px;
    text-align: center;
}
.eyebrow {
    color: #b87912;
    font-weight: 800;
    font-size: 0.8rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}
.header h1 {
    margin: 0.4rem 0 0.7rem;
    color: var(--plum);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.5rem, 4vw, 4.1rem);
    line-height: 1.03;
}
.header .lead {
    max-width: 840px;
    margin: 0 auto;
    color: #665b63;
    font-size: 1.05rem;
    line-height: 1.65;
}
.purchase-line {
    display: inline-block;
    margin: 17px auto 0;
    padding: 10px 17px;
    border-radius: 999px;
    border: 1px solid #e7d3c0;
    background: linear-gradient(135deg, #fff8e9, #f7edf5);
    color: var(--plum);
    font-weight: 800;
}
.tabs {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 30px auto 28px;
}
.tab {
    min-height: 46px;
    padding: 10px 18px;
    border: 1px solid #dac8d6;
    border-radius: 999px;
    background: #fff;
    color: var(--plum);
    font-weight: 800;
    cursor: pointer;
}
.tab.active {
    border-color: transparent;
    background: linear-gradient(135deg, var(--magenta), var(--plum2));
    color: #fff;
    box-shadow: 0 8px 20px rgba(112, 21, 103, 0.16);
}
.series-heading {
    text-align: center;
    margin: 0 auto 20px;
    color: var(--plum);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.55rem;
    font-weight: 700;
}
.slider-shell {
    position: relative;
}
.track {
    display: flex;
    gap: 22px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    padding: 7px 4px 22px;
    scrollbar-width: none;
}
.track::-webkit-scrollbar {
    display: none;
}
.book-card {
    flex: 0 0 calc((100% - 44px) / 3);
    scroll-snap-align: start;
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid var(--line);
    border-radius: 22px;
    box-shadow: var(--shadow);
    padding: 22px;
    min-height: 465px;
    display: grid;
    grid-template-columns: 190px 1fr;
    gap: 22px;
    align-items: start;
}
.book-card.hidden {
    display: none;
}
.cover-wrap {
    width: 190px;
    aspect-ratio: 2/3;
    border-radius: 9px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 10px 25px rgba(42, 25, 39, 0.16);
}
.cover-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #fff;
}
.book-copy {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-top: 4px;
}
.series {
    color: var(--magenta);
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 9px;
}
.book-copy h3 {
    margin: 0 0 11px;
    color: var(--plum);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.62rem;
    line-height: 1.12;
}
.book-copy p {
    margin: 0 0 20px;
    color: var(--muted);
    line-height: 1.55;
}
.book-btn {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 15px;
    border-radius: 8px;
    border: 1px solid #d9c6d4;
    background: #fff;
    color: var(--plum);
    font-weight: 800;
}
.book-btn:hover {
    background: #faf3f8;
}
.arrow {
    position: absolute;
    z-index: 5;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 50%;
    background: var(--plum);
    color: #fff;
    font-size: 1.35rem;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 9px 22px rgba(70, 16, 67, 0.2);
}
.arrow.left {
    left: -20px;
}
.arrow.right {
    right: -20px;
}
.footer {
    margin-top: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    flex-wrap: wrap;
}
.dots {
    display: flex;
    gap: 7px;
    align-items: center;
}
.dot {
    width: 9px;
    height: 9px;
    border: 0;
    border-radius: 50%;
    padding: 0;
    background: #d8cad4;
}
.dot.active {
    background: var(--magenta);
    transform: scale(1.25);
}
.note {
    font-size: 0.88rem;
    color: var(--muted);
}
.view-all {
    font-weight: 800;
    color: var(--plum);
}
@media (max-width: 1180px) {
    .book-card {
        flex-basis: calc((100% - 22px) / 2);
    }
}
@media (max-width: 760px) {
    .books-section {
        padding: 52px 0 64px;
    }
    .book-card {
        flex-basis: 88%;
        grid-template-columns: 1fr;
        min-height: auto;
    }
    .cover-wrap {
        width: 175px;
    }
    .arrow {
        display: none;
    }
    .footer {
        align-items: flex-start;
        flex-direction: column;
    }
}


:root{
  --plum:#57105a;
  --plum2:#7f1978;
  --gold:#c9962d;
  --ink:#352f37;
  --muted:#6a626b;
  --line:#eadce8;
  --bg1:#fffdf9;
  --bg2:#f8f1f8;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:linear-gradient(180deg,var(--bg1),var(--bg2));
  line-height:1.55;
}
.section{
  width:min(1380px,94vw);
  margin:0 auto;
  padding:72px 0 82px;
}
.header{
  text-align:center;
  max-width:860px;
  margin:0 auto 42px;
}
.eyebrow{
  color:var(--gold);
  text-transform:uppercase;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.18em;
  margin-bottom:10px;
}
.header h1{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.35rem,4.1vw,4.35rem);
  line-height:1.05;
  color:var(--plum);
  margin:0 0 10px;
}
.header p{margin:0;color:var(--muted);font-size:1.04rem}
.series-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}
.series-box{
  background:#fff;
  border:1px solid var(--line);
  border-radius:30px;
  box-shadow:0 16px 38px rgba(83,16,89,.08);
  padding:28px;
}
.series-box h2{
  font-family:Georgia,"Times New Roman",serif;
  color:var(--plum);
  font-size:clamp(1.8rem,2.4vw,2.8rem);
  line-height:1.08;
  margin:0 0 6px;
}
.series-box .subtitle{
  color:var(--muted);
  margin:0 0 22px;
}
.books{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.book{
  background:#fffdfa;
  border:1px solid #eee2eb;
  border-radius:20px;
  padding:16px;
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.cover{
  width:100%;
  aspect-ratio:2/3;
  border-radius:10px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 10px 22px rgba(39,20,34,.12);
  margin-bottom:14px;
}
.cover img{width:100%;height:100%;object-fit:contain;display:block;background:#fff}
.placeholder{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:16px;
  background:linear-gradient(155deg,#2d274d,#7c5890 54%,#d1a95a);
  color:#fff;
}
.ph-series{font-size:.66rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;opacity:.92;margin-bottom:10px}
.ph-title{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;line-height:1.1;margin-bottom:10px}
.ph-note{font-size:.78rem;opacity:.92}
.meta{font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:var(--plum2);margin-bottom:8px}
.book-info h3{
  font-family:Georgia,"Times New Roman",serif;
  color:var(--plum);
  font-size:1.32rem;
  line-height:1.12;
  margin:0 0 6px;
}
.note{margin:0;color:var(--muted);font-size:.9rem}
@media(max-width:1080px){
  .series-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .section{padding:50px 0 60px}
  .books{grid-template-columns:1fr}
}


 
:root{--plum:#5f0f61;--plum2:#8a177f;--gold:#f0c264;--ink:#352e37;--muted:#5f6877;--line:#eadde9;--bg:#fbf7fa}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}
.wrap{width:min(1360px,92vw);margin:auto;padding:72px 0}
.grid{display:grid;grid-template-columns:1.02fr 1.25fr;gap:28px;align-items:stretch}
.hero{background:linear-gradient(180deg,#4c0c50,#84127f);color:#fff;border-radius:30px;padding:46px 42px;min-height:570px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 18px 38px rgba(87,21,88,.12);position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;border:1px solid rgba(255,255,255,.15);right:-100px;bottom:-70px}
.kicker{display:flex;align-items:center;gap:14px;text-transform:uppercase;letter-spacing:.18em;font-size:.86rem;font-weight:800;color:var(--gold);margin-bottom:20px}
.kicker:before{content:"";width:48px;height:1px;background:var(--gold)}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.7rem,4.5vw,4rem);line-height:1.03;margin:0 0 20px}
.hero p{font-size:1.03rem;margin:0;max-width:580px}
.stack{display:grid;gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px;display:grid;grid-template-columns:170px 1fr;gap:24px;align-items:center;box-shadow:0 14px 30px rgba(87,21,88,.06)}
.logo{width:160px;min-height:150px;display:flex;align-items:center;justify-content:center;padding:8px;background:#fff}
.logo img{max-width:100%;max-height:145px;object-fit:contain;display:block}
.card h2{font-family:Georgia,"Times New Roman",serif;color:#4f0d53;font-size:clamp(2rem,2.6vw,3rem);line-height:1.08;margin:0 0 10px}
.card .lead{color:#76166f;font-weight:700;margin-bottom:10px}
.card p{margin:0 0 8px;color:#536071}
.card strong{color:#4f0d53}
.site-link{display:inline-block;margin-top:10px;color:#6d0f6c;font-weight:800;border-bottom:1px solid #d8b6d5;padding-bottom:2px}
@media(max-width:980px){.grid{grid-template-columns:1fr}.hero{min-height:auto}}
@media(max-width:680px){.wrap{padding:46px 0}.hero{padding:34px 26px}.card{grid-template-columns:1fr;text-align:center}.logo{margin:auto}}




.dcj-section{position:relative;overflow:hidden;isolation:isolate;min-height:clamp(620px,46.875vw,960px);background:radial-gradient(circle at 73% 46%,#fff 0 27%,rgba(255,255,255,.92) 43%,rgba(251,246,244,.96) 70%,#f8eef5 100%);font-family:"DM Sans",sans-serif;color:#4d4b58}
.dcj-section *{box-sizing:border-box}
.dcj-shell{position:relative;z-index:2;min-height:inherit;display:grid;grid-template-columns:46.5% 53.5%;max-width:2048px;margin:0 auto}
.dcj-photo-wrap{position:relative;min-width:0;overflow:hidden}
.dcj-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 50%;display:block}
.dcj-photo-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 72%,rgba(252,248,246,.18) 88%,rgba(252,248,246,.82) 100%);pointer-events:none}
.dcj-content{position:relative;z-index:4;display:flex;flex-direction:column;justify-content:center;padding:6.5% 8.2% 6% 1.6%;min-width:0}
.dcj-kicker{display:flex;align-items:center;gap:20px;margin:0 0 18px;font-size:clamp(13px,1.02vw,21px);font-weight:700;letter-spacing:.16em;color:#bd8732;text-transform:uppercase;white-space:nowrap}
.dcj-kicker-line{height:1px;background:#cf9a47;flex:1;max-width:250px}
.dcj-title{margin:0;color:#571050;font-family:"Playfair Display",Georgia,serif;font-size:clamp(48px,4.6vw,94px);font-weight:500;line-height:.88;letter-spacing:-.045em}
.dcj-title span{display:block;color:#a75f91;margin-top:8px}
.dcj-description{max-width:900px;margin:28px 0 22px;font-size:clamp(18px,1.34vw,28px);line-height:1.34;color:#555563;letter-spacing:.002em}
.dcj-divider{width:100%;height:1px;background:rgba(195,142,56,.72);margin:0 0 22px}
.dcj-quote-row{display:grid;grid-template-columns:100px 1fr;align-items:start;gap:12px;max-width:900px}
.dcj-quote-mark{font-family:Georgia,"Times New Roman",serif;font-size:clamp(76px,6.1vw,124px);line-height:.65;color:#d7b6d2;font-weight:700;transform:translateY(9px)}
.dcj-quote{margin:0;font-family:"Playfair Display",Georgia,serif;font-size:clamp(28px,2.18vw,45px);font-style:italic;font-weight:500;line-height:1.05;color:#58124f;letter-spacing:-.025em}
.dcj-btn{align-self:center;display:inline-flex;align-items:center;justify-content:center;gap:30px;min-width:min(100%,540px);min-height:76px;margin-top:36px;padding:14px 38px;border:3px solid #b88b32;border-radius:21px;background:linear-gradient(110deg,#64134f 0%,#7f2a64 52%,#8f3d75 100%);box-shadow:0 6px 12px rgba(69,28,54,.28),inset 0 0 0 1px rgba(255,255,255,.22);color:#fff;text-decoration:none;font-family:"Playfair Display",Georgia,serif;font-size:clamp(17px,1.22vw,25px);letter-spacing:.13em;text-transform:uppercase;transition:transform .2s ease,box-shadow .2s ease}
.dcj-btn:hover{color:#fff;transform:translateY(-2px);box-shadow:0 9px 18px rgba(69,28,54,.34),inset 0 0 0 1px rgba(255,255,255,.22)}
.dcj-btn-arrow{font-family:Arial,sans-serif;font-size:1.55em;line-height:1;font-weight:300;transform:translateY(-1px)}
.dcj-gold-arc{position:absolute;z-index:3;pointer-events:none;border:2px solid rgba(197,143,47,.82);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;width:79%;height:112%;right:-12%;top:-30%;transform:rotate(14deg)}
.dcj-gold-arc-bottom{position:absolute;z-index:3;pointer-events:none;border:2px solid rgba(214,166,72,.8);border-left-color:transparent;border-top-color:transparent;border-radius:50%;width:74%;height:65%;right:-6%;bottom:-35%;transform:rotate(-5deg)}
.dcj-leaf{position:absolute;z-index:3;pointer-events:none;object-fit:contain;opacity:.55;filter:saturate(.75)}
.dcj-leaf-top{width:19%;max-width:390px;right:-1.5%;top:1%;transform:rotate(2deg)}
.dcj-leaf-bottom{width:18%;max-width:360px;right:-1%;bottom:1%;transform:rotate(176deg)}
.dcj-glow{position:absolute;z-index:1;right:-8%;bottom:-22%;width:33%;height:50%;border-radius:50%;background:radial-gradient(circle,rgba(185,99,172,.28),rgba(215,167,209,.13) 42%,transparent 70%);filter:blur(10px);pointer-events:none}
@media (max-width:1199.98px){.dcj-section{min-height:680px}.dcj-shell{grid-template-columns:45% 55%}.dcj-content{padding:7% 6% 6% 2%}.dcj-description{margin-top:22px}.dcj-quote-row{grid-template-columns:74px 1fr}.dcj-btn{min-height:66px;margin-top:28px;border-radius:17px}}
@media (max-width:991.98px){.dcj-section{min-height:auto}.dcj-shell{grid-template-columns:1fr}.dcj-photo-wrap{height:min(78vw,650px)}.dcj-photo{object-position:center 35%}.dcj-photo-wrap:after{background:linear-gradient(180deg,transparent 72%,rgba(251,247,245,.95) 100%)}.dcj-content{padding:54px 7% 64px}.dcj-kicker-line{max-width:none}.dcj-title{font-size:clamp(48px,8.3vw,76px);line-height:.94}.dcj-description{font-size:20px;max-width:none}.dcj-quote{font-size:clamp(29px,4.7vw,40px)}.dcj-gold-arc{width:120%;height:62%;right:-48%;top:40%}.dcj-gold-arc-bottom{width:100%;height:38%;right:-34%;bottom:-16%}.dcj-leaf-top{width:32%;top:47%}.dcj-leaf-bottom{width:30%}.dcj-btn{align-self:flex-start}}
@media (max-width:575.98px){.dcj-photo-wrap{height:118vw;max-height:560px;min-height:420px}.dcj-photo{object-position:48% center}.dcj-content{padding:38px 22px 48px}.dcj-kicker{gap:12px;margin-bottom:14px;font-size:12px;letter-spacing:.12em;white-space:normal}.dcj-title{font-size:clamp(42px,13vw,58px);line-height:.95}.dcj-title span{margin-top:4px}.dcj-description{margin:22px 0 20px;font-size:17px;line-height:1.48}.dcj-divider{margin-bottom:20px}.dcj-quote-row{grid-template-columns:50px 1fr;gap:4px}.dcj-quote-mark{font-size:70px}.dcj-quote{font-size:27px;line-height:1.12}.dcj-btn{width:100%;min-width:0;min-height:62px;margin-top:28px;padding:13px 18px;gap:14px;border-width:2px;border-radius:15px;font-size:16px;letter-spacing:.08em}.dcj-leaf-top{width:44%;top:46%;right:-10%;opacity:.35}.dcj-leaf-bottom{width:43%;right:-11%;opacity:.35}}




:root{
  --plum:#551052;
  --plum-deep:#3d083d;
  --magenta:#a30b72;
  --gold:#cf941e;
  --gold-light:#f1ca67;
  --ivory:#fffdfa;
  --rose:#fbf5f8;
  --ink:#312a31;
  --muted:#6c6269;
  --line:#e8dce4;
  --shadow:0 14px 32px rgba(73,18,68,.08);
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:#fff;
}
a{text-decoration:none;color:inherit}
.wrap{width:min(1480px,93vw);margin:auto}
.eyebrow{
  font-size:.82rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.19em;
  color:#bd7b0a;
  margin-bottom:12px;
}
h2,h3,p{margin-top:0}

/* 1. MINISTERIAL STUDIES + RECOGNITION */
.credentials{
  padding:64px 0 72px;
  background:
    radial-gradient(circle at 6% 10%,rgba(221,196,229,.35),transparent 28%),
    radial-gradient(circle at 94% 90%,rgba(239,211,157,.24),transparent 25%),
    linear-gradient(180deg,#fffdfc,#faf5f8 58%,#fff);
}
.cred-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}
.panel{
  background:rgba(255,255,255,.93);
  border:1px solid var(--line);
  border-radius:22px;
  padding:30px;
  box-shadow:var(--shadow);
}
.panel h2{
  color:var(--plum);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,3vw,3rem);
  line-height:1.05;
  margin:0 0 22px;
}
.study-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.study-item{
  min-height:70px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:13px 15px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  font-weight:600;
  font-size: 22px;
}
.icon{
  flex:0 0 38px;
  width:38px;height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#f9eef6,#fff6e3);
  color:var(--plum);
}
.awards{display:grid;gap:12px}
.award{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:13px;
  align-items:center;
  padding:15px 16px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
}
.award strong{display:block;color:var(--plum);font-size:1.04rem;margin-bottom:4px;  font-size: 22px;}
.award span{color:var(--muted);font-size: 1.1rem;}

/* 2. MEDIA */
.media{
  padding:66px 0 78px;
  background:#fff;
}
.section-title{
  max-width:900px;
  margin:0 auto 34px;
  text-align:center;
}
.section-title h2{
  color:var(--plum);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.35rem,4vw,3.9rem);
  line-height:1.03;
  margin:0;
}
.media-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.media-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:var(--shadow);
}
.media-visual{
  height:160px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#61115b,#a90d73);
}
.play{
  width:0;height:0;
  border-top:20px solid transparent;
  border-bottom:20px solid transparent;
  border-left:32px solid #fff;
  margin-left:8px;
}
.media-copy{padding:20px}
.media-copy h3{
  color:var(--plum);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.42rem;
  margin-bottom:12px;
}
.media-copy p{
  color:#514950;
  line-height:1.55;
  min-height:74px;
}
.media-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 18px;
  border-radius:8px;
  border:1px solid #decbd8;
  color:var(--plum);
  font-weight:800;
  background:#fff;
}

/* 3. INVITATION */
.invite{
  padding:74px 20px 70px;
  text-align:center;
  color:#fff;
  background:linear-gradient(110deg,#5a0b59,#b10a76);
}
.invite .eyebrow{color:#ffd66c}
.invite h2{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.6rem,4.5vw,4rem);
  line-height:1.05;
  margin:0 0 16px;
}
.invite p{
  max-width:850px;
  margin:0 auto 26px;
  font-size:1.05rem;
  line-height:1.55;
}
.invite-actions{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}
.btn{
  min-height:54px;
  padding:14px 22px;
  border-radius:8px;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.btn-gold{
  color:#231319;
  background:linear-gradient(135deg,#f2d575,#e5b840);
}
.btn-white{
  color:var(--plum);
  background:#fff;
}
.footer{
  background:#350535;
  color:#fff;
  padding:28px 0;
}
.footer-row{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  align-items:center;
  gap:20px;
}
.footer strong{display:block;margin-bottom:5px}
.footer-center{text-align:center}
.footer-right{text-align:right;color:#ffd360}

@media(max-width:900px){
  .cred-grid,.media-grid{grid-template-columns:1fr}
  .study-grid{grid-template-columns:1fr}
  .footer-row{grid-template-columns:1fr;text-align:center}
  .footer-right{text-align:center}
}




  /* ==========================================================
       DR. LATHA CHRISTIE — MINISTRY PAGE
       This file begins immediately BELOW the top image slider.
       All styles are scoped inside .lc-ministry-page so they are
       less likely to interfere with the rest of the website.
       ========================================================== */

    .lc-ministry-page,
    .lc-ministry-page * { box-sizing: border-box; }

    .lc-ministry-page {
      --purple-950: #3c0a4b;
      --purple-900: #4d0b5d;
      --purple-800: #65156f;
      --purple-700: #7b287f;
      --purple-100: #f4eaf5;
      --purple-050: #fbf7fb;
      --gold-700: #9a6200;
      --gold-600: #b77509;
      --gold-500: #ce922a;
      --gold-300: #e7c47c;
      --ink: #25232a;
      --muted: #65616a;
      --line: #eadfe8;
      --cream: #fffaf3;
      --white: #ffffff;
      --shadow: 0 18px 55px rgba(57, 16, 63, .09);
      --radius: 18px;

      color: var(--ink);
      background: #fff;
      font-family: "DM Sans", Arial, Helvetica, sans-serif;
      line-height: 1.65;
      overflow: hidden;
    }

    .lc-ministry-page h1,
    .lc-ministry-page h2,
    .lc-ministry-page h3,
    .lc-ministry-page blockquote {
      font-family: "Libre Baskerville", Georgia, "Times New Roman", serif;
    }

    .lc-wrap {
      width: min(1180px, calc(100% - 42px));
      margin-inline: auto;
    }

    .lc-kicker {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      color: var(--gold-700);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .19em;
      text-transform: uppercase;
    }

    .lc-kicker::before {
      content: "";
      width: 38px;
      height: 1px;
      background: var(--gold-500);
    }

    .lc-section-title {
      margin: 10px 0 0;
      color: var(--purple-900);
      font-size: clamp(34px, 4vw, 52px);
      line-height: 1.15;
      letter-spacing: -.025em;
    }

    .lc-section-title .gold { color: var(--gold-600); }

    /* ----------------------------------------------------------
       1. MINISTRY INTRODUCTION
       ---------------------------------------------------------- */

    .lc-intro {
      position: relative;
      padding: 88px 0 82px;
      background:
        radial-gradient(circle at 95% 10%, rgba(123, 40, 127, .08), transparent 28%),
        linear-gradient(180deg, #fff 0%, #fffafc 100%);
    }

    .lc-intro::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 1px;
      background: linear-gradient(90deg, transparent, var(--line), transparent);
    }

    .lc-intro-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.5fr) minmax(300px, .75fr);
      gap: 70px;
      align-items: center;
    }

    .lc-intro h1 {
      margin: 12px 0 28px;
      color: var(--purple-950);
      font-size: clamp(40px, 5vw, 66px);
      line-height: 1.08;
      letter-spacing: -.035em;
    }

    .lc-intro h1 span {
      display: block;
      margin-top: 7px;
      color: var(--gold-600);
    }

    .lc-intro-copy p {
      margin: 0 0 18px;
      color: #3a363d;
      font-size: 17px;
      line-height: 1.82;
    }

    .lc-heart {
      position: relative;
      padding: 42px 36px 38px;
      background: var(--purple-950);
      color: #fff;
      border-radius: 2px 28px 2px 28px;
      box-shadow: var(--shadow);
    }

    .lc-heart::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 76px;
      height: 4px;
      background: var(--gold-300);
    }

    .lc-heart-label {
      margin-bottom: 16px;
      color: #e8c97e;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .18em;
      text-transform: uppercase;
    }

    .lc-heart h2 {
      margin: 0 0 20px;
      font-size: 31px;
      line-height: 1.25;
      font-weight: 400;
      color: #fff;
    }

    .lc-heart h2 span {
      display: block;
      color: #f0cb79;
    }

    .lc-heart p {
      margin: 0 0 24px;
      color: rgba(255,255,255,.82);
      font-size: 15px;
      line-height: 1.75;
    }

    .lc-heart blockquote {
      margin: 0;
      padding-top: 22px;
      border-top: 1px solid rgba(255,255,255,.17);
      color: #fff;
      font-size: 18px;
      line-height: 1.6;
      font-style: italic;
    }

    .lc-heart cite {
      display: block;
      margin-top: 9px;
      color: #e7c47c;
      font-family: "DM Sans", Arial, sans-serif;
      font-size: 12px;
      font-style: normal;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    /* ----------------------------------------------------------
       2. MINISTRY AT A GLANCE
       No circular icons. Small numbers and typography only.
       ---------------------------------------------------------- */

    .lc-glance {
      padding: 88px 0 94px;
      background: #fff;
    }

    .lc-glance-head {
      text-align: center;
      max-width: 760px;
      margin: 0 auto 48px;
    }

    .lc-glance-head .lc-kicker::after {
      content: "";
      width: 38px;
      height: 1px;
      background: var(--gold-500);
    }

    .lc-glance-head .lc-kicker::before { width: 38px; }

    .lc-glance-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px;
      align-items: stretch;
    }

    .lc-glance-card {
      position: relative;
      padding: 30px 26px 28px;
      background: linear-gradient(180deg, #fff 0%, #fefbfd 100%);
      border: 1px solid var(--line);
      border-top: 3px solid transparent;
      border-image: linear-gradient(90deg, var(--purple-800), var(--gold-500)) 1;
      min-height: 100%;
      transition: transform .25s ease, box-shadow .25s ease;
    }

    .lc-glance-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 16px 38px rgba(58, 13, 69, .08);
    }

    .lc-glance-meta {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 18px;
      color: #8b6e8e;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    .lc-glance-num {
      color: var(--gold-700);
      font-size: 15px;
      letter-spacing: 0;
    }

    .lc-glance-card h3 {
      margin: 0 0 20px;
      color: var(--purple-900);
      font-size: 21px;
      line-height: 1.35;
      min-height: 86px;
    }

    .lc-glance-card ul {
      margin: 0;
      padding: 17px 0 0;
      list-style: none;
      border-top: 1px solid #eee5ed;
    }

    .lc-glance-card li {
      position: relative;
      padding: 6px 0 6px 15px;
      color: #49434d;
      font-size: 14px;
      line-height: 1.45;
    }

    .lc-glance-card li::before {
      content: "";
      position: absolute;
      left: 0;
      top: 15px;
      width: 4px;
      height: 4px;
      background: var(--gold-500);
    }

    /* CGC bridge sits beneath cards 3 and 4 */
    .lc-cgc-bridge {
      grid-column: 3 / 5;
      display: block;
      margin-top: 3px;
      padding: 27px 32px 29px 36px;
      color: #fff;
      text-decoration: none;
      background: linear-gradient(118deg, var(--purple-950) 0%, #65176f 58%, #7a2a7d 100%);
      border-left: 5px solid var(--gold-500);
      box-shadow: 0 16px 38px rgba(62, 10, 72, .13);
      transition: transform .25s ease, box-shadow .25s ease;
    }

    .lc-cgc-bridge:hover {
      transform: translateY(-3px);
      box-shadow: 0 20px 46px rgba(62, 10, 72, .19);
    }

    .lc-cgc-label {
      margin-bottom: 7px;
      color: #ebc878;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .18em;
      text-transform: uppercase;
    }

    .lc-cgc-bridge h3 {
      margin: 0 0 8px;
      color: #fff;
      font-size: 23px;
      line-height: 1.35;
      font-weight: 400;
    }

    .lc-cgc-bridge p {
      margin: 0 0 12px;
      color: rgba(255,255,255,.80);
      font-size: 14px;
      line-height: 1.55;
    }

    .lc-cgc-action {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: #f0cb79;
      font-size: 13px;
      font-weight: 700;
    }

    .lc-cgc-bridge:hover .lc-cgc-action { gap: 15px; }

    /* ----------------------------------------------------------
       3. RETREATS
       ---------------------------------------------------------- */

    .lc-retreats {
      padding: 92px 0;
      background:
        linear-gradient(115deg, rgba(79,11,93,.035), transparent 42%),
        var(--cream);
    }

    .lc-retreat-head {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 30px;
      align-items: end;
      margin-bottom: 44px;
    }

    .lc-retreat-head p {
      margin: 11px 0 0;
      color: var(--muted);
      font-size: 17px;
    }

    .lc-primary-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 48px;
      padding: 0 22px;
      border: 1px solid var(--purple-900);
      background: var(--purple-900);
      color: #fff;
      text-decoration: none;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      transition: background .2s ease, transform .2s ease;
    }

    .lc-primary-btn:hover {
      background: var(--purple-800);
      transform: translateY(-2px);
    }

    .lc-retreat-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      border-top: 1px solid #e4d9cf;
      border-left: 1px solid #e4d9cf;
      background: rgba(255,255,255,.38);
    }

    .lc-retreat-item {
      display: grid;
      grid-template-columns: 64px 1fr;
      gap: 22px;
      padding: 34px 30px 35px;
      border-right: 1px solid #e4d9cf;
      border-bottom: 1px solid #e4d9cf;
      background: rgba(255,255,255,.58);
    }

    .lc-retreat-num {
      padding-top: 2px;
      color: var(--gold-600);
      font-family: "Libre Baskerville", Georgia, serif;
      font-size: 29px;
      line-height: 1;
    }

    .lc-retreat-body h3 {
      margin: 0 0 10px;
      color: var(--purple-900);
      font-size: 23px;
      line-height: 1.3;
    }

    .lc-retreat-tag {
      margin: 0 0 13px;
      color: var(--gold-700);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .07em;
      text-transform: uppercase;
    }

    .lc-retreat-body p:last-child {
      margin: 0;
      color: #56505a;
      font-size: 14px;
      line-height: 1.7;
    }

    /* ----------------------------------------------------------
       4. BOOKS
       ---------------------------------------------------------- */

    .lc-books {
      padding: 92px 0 100px;
      background: #fff;
    }

    .lc-books-head {
      display: grid;
      grid-template-columns: minmax(0, .85fr) minmax(360px, 1.15fr);
      gap: 50px;
      align-items: end;
      margin-bottom: 38px;
    }

    .lc-books-copy p {
      margin: 0;
      color: #5a555e;
      font-size: 16px;
      line-height: 1.75;
    }

    .lc-book-filters {
      display: flex;
      flex-wrap: wrap;
      gap: 9px;
      margin: 0 0 28px;
    }

    .lc-book-filter {
      border: 1px solid #dfd4df;
      background: #fff;
      color: var(--purple-900);
      padding: 10px 16px;
      font: 600 12px/1 "DM Sans", Arial, sans-serif;
      cursor: pointer;
      transition: .2s ease;
    }

    .lc-book-filter:hover,
    .lc-book-filter.active {
      color: #fff;
      border-color: var(--purple-900);
      background: var(--purple-900);
    }

    .lc-book-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px;
    }

    .lc-book-card {
      display: flex;
      flex-direction: column;
      min-height: 100%;
      border: 1px solid var(--line);
      background: #fff;
      overflow: hidden;
      transition: transform .23s ease, box-shadow .23s ease;
    }

    .lc-book-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 16px 38px rgba(58, 13, 69, .08);
    }

    /* Replace .lc-book-cover text blocks with <img> tags if your developer
       already has the real book cover files on the server. */
    .lc-book-cover {
      min-height: 210px;
      display: flex;
      align-items: flex-end;
      padding: 24px 21px;
      background:
        linear-gradient(145deg, rgba(255,255,255,.16), transparent 46%),
        linear-gradient(135deg, #4b0c59, #7a287c 58%, #b77a10);
      color: #fff;
    }

    .lc-book-cover.alt-1 { background: linear-gradient(135deg, #5b174f, #a0546f 62%, #d9ae67); }
    .lc-book-cover.alt-2 { background: linear-gradient(135deg, #3e365e, #7a699d 58%, #d0a160); }
    .lc-book-cover.alt-3 { background: linear-gradient(135deg, #5a2e1c, #9b6c3e 58%, #d8ba80); }
    .lc-book-cover.alt-4 { background: linear-gradient(135deg, #223f55, #4b7586 58%, #d2ae61); }
    .lc-book-cover.alt-5 { background: linear-gradient(135deg, #353251, #736c94 58%, #bc8b32); }
    .lc-book-cover.alt-6 { background: linear-gradient(135deg, #332963, #5852a4 58%, #c7a258); }
    .lc-book-cover.alt-7 { background: linear-gradient(135deg, #183e45, #3c7778 58%, #c49b48); }

    .lc-book-cover span {
      display: block;
      max-width: 170px;
      font-family: "Libre Baskerville", Georgia, serif;
      font-size: 20px;
      line-height: 1.25;
      text-shadow: 0 1px 10px rgba(0,0,0,.22);
    }

    .lc-book-body {
      display: flex;
      flex-direction: column;
      flex: 1;
      padding: 22px 21px 23px;
    }

    .lc-book-series {
      margin-bottom: 8px;
      color: var(--gold-700);
      font-size: 10px;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .lc-book-body h3 {
      margin: 0 0 10px;
      color: var(--purple-900);
      font-size: 19px;
      line-height: 1.35;
    }

    .lc-book-body p {
      margin: 0 0 18px;
      color: #625d64;
      font-size: 13px;
      line-height: 1.65;
    }

    .lc-book-link {
      margin-top: auto;
      color: var(--purple-900);
      text-decoration: none;
      font-size: 13px;
      font-weight: 700;
    }

    .lc-book-link:hover { color: var(--gold-700); }

    .lc-books-footer {
      display: flex;
      justify-content: space-between;
      gap: 20px;
      align-items: center;
      margin-top: 28px;
      padding-top: 22px;
      border-top: 1px solid var(--line);
    }

    .lc-books-footer p {
      margin: 0;
      color: #78717b;
      font-size: 13px;
    }

    .lc-view-all {
      color: var(--purple-900);
      font-weight: 700;
      font-size: 13px;
      text-decoration: none;
    }

    /* ----------------------------------------------------------
       RESPONSIVE
       ---------------------------------------------------------- */

    @media (max-width: 1050px) {
      .lc-intro-grid { grid-template-columns: 1fr; gap: 42px; }
      .lc-heart { max-width: 700px; }
      .lc-glance-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .lc-glance-card h3 { min-height: auto; }
      .lc-cgc-bridge { grid-column: 1 / -1; }
      .lc-book-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .lc-books-head { grid-template-columns: 1fr; gap: 20px; }
    }

    @media (max-width: 760px) {
      .lc-wrap { width: min(100% - 30px, 1180px); }
      .lc-intro, .lc-glance, .lc-retreats, .lc-books { padding-top: 66px; padding-bottom: 68px; }
      .lc-intro h1 { font-size: 40px; }
      .lc-heart { padding: 34px 26px 31px; }
      .lc-glance-grid, .lc-retreat-list, .lc-book-grid { grid-template-columns: 1fr; }
      .lc-retreat-head { grid-template-columns: 1fr; align-items: start; }
      .lc-retreat-head .lc-primary-btn { justify-self: start; }
      .lc-retreat-item { grid-template-columns: 50px 1fr; padding: 27px 22px; }
      .lc-book-cover { min-height: 190px; }
      .lc-books-footer { align-items: flex-start; flex-direction: column; }
    }

    @media (max-width: 470px) {
      .lc-kicker { letter-spacing: .13em; font-size: 10px; }
      .lc-section-title { font-size: 33px; }
      .lc-intro h1 { font-size: 35px; }
      .lc-glance-card { padding: 27px 22px; }
      .lc-cgc-bridge { padding: 26px 23px 27px 27px; }
      .lc-cgc-bridge h3 { font-size: 20px; }
    }







*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif}

.cp-premium-section{
    position:relative;
    overflow:hidden;
    padding:85px 20px;
    background:
        radial-gradient(circle at 10% 20%,rgba(255,255,255,.95) 0,rgba(255,255,255,0) 28%),
        radial-gradient(circle at 90% 85%,rgba(255,255,255,.75) 0,rgba(255,255,255,0) 27%),
        linear-gradient(135deg,#eeeeee 0%,#d5d7da 48%,#f3f3f3 100%);
}
.cp-premium-section:before{
    content:"";
    position:absolute;
    width:350px;height:350px;
    border:1px solid rgba(255,255,255,.75);
    border-radius:50%;
    left:-170px;top:-180px;
}
.cp-premium-section:after{
    content:"";
    position:absolute;
    width:300px;height:300px;
    border:70px solid rgba(255,255,255,.24);
    border-radius:50%;
    right:-160px;bottom:-170px;
}
.cp-programme-wrap{position:relative;z-index:2;width:100%;max-width:1700px;margin:0 auto;padding:0 12px}
.cp-programme-card{
    position:relative;
    text-align:center;
    overflow:hidden;
    background:rgba(255,255,255,.78);
    border:1px solid rgba(255,255,255,.95);
    border-radius:28px;
    width:100%;
    max-width:100%;
    padding:clamp(34px,5vw,60px) clamp(22px,5vw,65px);
    box-shadow:0 25px 65px rgba(42,47,54,.13),inset 0 1px 0 rgba(255,255,255,.9);
    backdrop-filter:blur(12px);
}
.cp-programme-card:before{
    content:"";
    position:absolute;
    top:0;left:50%;transform:translateX(-50%);
    width:130px;height:5px;
    background:linear-gradient(90deg,#555d68,#a5abb2,#555d68);
    border-radius:0 0 6px 6px;
}
.cp-programme-top{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:24px}
.cp-programme-label{
    display:inline-flex;align-items:center;gap:10px;
    margin:0;padding:9px 17px;border-radius:50px;
    background:#252a30;color:#fff;
    font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;
}
.cp-programme-label i{color:#d9dde1;font-size:9px}
.cp-programme-line{width:70px;height:1px;background:#9a9fa5}
.cp-programme-title{
    max-width:900px;margin:0 auto 25px;color:#20242a;
    font-size:clamp(34px,4.3vw,60px);font-weight:800;
    line-height:1.05;letter-spacing:-2px;
}
.cp-programme-title span{color:#686f78;font-weight:500}
.cp-programme-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:28px}
.cp-meta-item{
    display:flex;align-items:center;gap:10px;padding:11px 17px;
    background:#fff;border:1px solid #d8dadd;border-radius:10px;
    color:#343941;font-size:14px;font-weight:700;
    box-shadow:0 6px 18px rgba(0,0,0,.04);
}
.cp-meta-item i{color:#707780;font-size:15px}
.cp-programme-description{
    max-width:850px;margin:0 auto 34px;color:#555c65;
    font-size:18px;line-height:1.8;font-weight:400;
}
.cp-programme-description strong{color:#22272d;font-weight:700}
.cp-programme-points{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:34px}
.cp-programme-points span{color:#373c43;font-size:13px;font-weight:700}
.cp-programme-points span:not(:last-child):after{content:"•";margin-left:8px;color:#969ca3}
.cp-programme-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:14px;
    min-height:56px;padding:0 27px;border-radius:9px;
    background:linear-gradient(135deg,#24292f,#4d555e);
    color:#fff;text-decoration:none;font-size:15px;font-weight:800;
    letter-spacing:.2px;box-shadow:0 12px 25px rgba(35,40,46,.20);
    transition:.3s ease;
}
.cp-programme-btn i{
    width:29px;height:29px;display:flex;align-items:center;justify-content:center;
    border-radius:50%;background:rgba(255,255,255,.14);font-size:12px;transition:.3s ease;
}
.cp-programme-btn:hover{color:#fff;transform:translateY(-3px);box-shadow:0 17px 32px rgba(35,40,46,.27)}
.cp-programme-btn:hover i{transform:translateX(3px)}
.cp-side-number{
    position:absolute;right:35px;bottom:18px;
    color:rgba(60,65,72,.045);font-size:145px;
    line-height:1;font-weight:900;pointer-events:none;
}
@media(max-width:767px){
    .cp-premium-section{width:100%;padding:40px 10px}
    .cp-programme-wrap{padding:0 5px}
    .cp-programme-card{width:100%;padding:38px 18px 34px;border-radius:18px}
    .cp-programme-card:before{left:50%;transform:translateX(-50%);width:90px}
    .cp-programme-top{gap:10px;margin-bottom:20px}
    .cp-programme-label{padding:8px 13px;font-size:10px;letter-spacing:1.4px}
    .cp-programme-line{flex:1}
    .cp-programme-title{margin-bottom:22px;font-size:clamp(28px,9vw,36px);line-height:1.1;letter-spacing:-1px;overflow-wrap:anywhere}
    .cp-programme-meta{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
    .cp-meta-item{width:100%;justify-content:center;min-width:0}
    .cp-programme-description{font-size:16px;line-height:1.7}
    .cp-programme-points{display:block}
    .cp-programme-points span{display:block;margin-bottom:8px}
    .cp-programme-points span:not(:last-child):after{display:none}
    .cp-programme-btn{width:100%;max-width:420px;min-height:58px;padding:0 18px}
    .cp-side-number{font-size:90px;right:10px}
}

@media(max-width:420px){
    .cp-premium-section{padding:28px 6px}
    .cp-programme-wrap{padding:0}
    .cp-programme-card{padding:34px 14px 30px;border-radius:15px}
    .cp-programme-label{font-size:9px;letter-spacing:1px;padding:8px 11px}
    .cp-programme-line{max-width:35px}
    .cp-programme-title{font-size:28px}
    .cp-programme-description{font-size:15px}
    .cp-meta-item{font-size:13px;padding:11px 10px}
    .cp-programme-btn{font-size:14px}
}




