/*==================================================
MIDWIFERY — HERO SECTION
CSS PART 1
Layout • Background • Typography • Buttons
==================================================*/

.midwifery-hero {
    position: relative;

    min-height: 100vh;
    padding: 150px 6vw 110px;

    display: flex;
    align-items: center;

    overflow: hidden;

    background: #06162f;
    isolation: isolate;
}


/*==================================================
BACKGROUND IMAGE
==================================================*/

.midwifery-hero-image {
    position: absolute;
    inset: 0;
    z-index: -5;

    overflow: hidden;
}

.midwifery-hero-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center;

    transform: scale(1.06);
}


/*==================================================
CINEMATIC OVERLAY
==================================================*/

.midwifery-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: -4;

    background:
        linear-gradient(
            90deg,
            rgba(3, 13, 29, 0.98) 0%,
            rgba(3, 13, 29, 0.92) 36%,
            rgba(3, 13, 29, 0.66) 64%,
            rgba(3, 13, 29, 0.28) 100%
        ),
        linear-gradient(
            180deg,
            rgba(6, 22, 47, 0.14) 0%,
            rgba(6, 22, 47, 0.48) 100%
        );
}

.midwifery-hero::before {
    content: "";

    position: absolute;
    inset: 0;
    z-index: -3;

    background:
        radial-gradient(
            circle at 20% 42%,
            rgba(214, 174, 76, 0.13),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            transparent 0%,
            rgba(1, 9, 22, 0.28) 100%
        );

    pointer-events: none;
}

.midwifery-hero::after {
    content: "";

    position: absolute;
    inset: 0;
    z-index: -2;

    background-image:
        linear-gradient(
            rgba(255, 255, 255, 0.022) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.022) 1px,
            transparent 1px
        );

    background-size: 72px 72px;

    mask-image: linear-gradient(
        90deg,
        rgba(0, 0, 0, 0.38),
        transparent 74%
    );

    -webkit-mask-image: linear-gradient(
        90deg,
        rgba(0, 0, 0, 0.38),
        transparent 74%
    );

    pointer-events: none;
}


/*==================================================
DECORATIVE GLOW
==================================================*/

.midwifery-hero-glow {
    position: absolute;
    top: -190px;
    left: -130px;
    z-index: -1;

    width: 520px;
    height: 520px;

    border: 1px solid rgba(214, 174, 76, 0.18);
    border-radius: 50%;

    box-shadow:
        inset 0 0 100px rgba(214, 174, 76, 0.06),
        0 0 150px rgba(214, 174, 76, 0.05);

    pointer-events: none;
}


/*==================================================
CONTAINER
==================================================*/

.midwifery-hero-container {
    position: relative;
    z-index: 3;

    width: 100%;
    max-width: 1450px;
    margin: 0 auto;
}

.midwifery-hero-content {
    max-width: 900px;
}


/*==================================================
EYEBROW
==================================================*/

.midwifery-hero-eyebrow {
    position: relative;

    display: inline-flex;
    align-items: center;
    gap: 15px;

    margin-bottom: 26px;

    color: #e0bd63;

    font-size: 0.72rem;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.midwifery-hero-eyebrow::before {
    content: "";

    width: 46px;
    height: 1px;

    display: block;

    background: #d6ae4c;
}


/*==================================================
PROGRAMME TITLE
==================================================*/

.midwifery-hero-content h1 {
    margin: 0 0 24px;

    color: #ffffff;

    font-size: clamp(4.5rem, 9vw, 10rem);
    line-height: 0.84;
    font-weight: 800;
    letter-spacing: -0.075em;
}


/*==================================================
SIGNATURE
==================================================*/

.midwifery-hero-content h2 {
    max-width: 850px;
    margin: 0;

    color: rgba(255, 255, 255, 0.98);

    font-size: clamp(2rem, 4.2vw, 4.9rem);
    line-height: 1.03;
    font-weight: 500;
    letter-spacing: -0.045em;
}

.midwifery-hero-content h2 span {
    display: block;

    color: #d6ae4c;

    font-family: "Libre Baskerville", Georgia, serif;
    font-weight: 400;
}


/*==================================================
DESCRIPTION
==================================================*/

.midwifery-hero-content p {
    max-width: 760px;
    margin: 32px 0 0;

    color: rgba(255, 255, 255, 0.74);

    font-size: 1.05rem;
    line-height: 1.85;
}


/*==================================================
BUTTON GROUP
==================================================*/

.midwifery-hero-buttons {
    margin-top: 44px;

    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
}


/*==================================================
BUTTON BASE
==================================================*/

.midwifery-btn {
    position: relative;

    min-height: 58px;
    padding: 0 27px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;

    overflow: hidden;

    border: 1px solid transparent;

    font-size: 0.84rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-decoration: none;

    transition:
        transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1),
        background 0.4s ease,
        color 0.4s ease,
        border-color 0.4s ease,
        box-shadow 0.4s ease;
}

.midwifery-btn svg {
    position: relative;
    z-index: 2;

    width: 19px;
    height: 19px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;

    transition: transform 0.35s ease;
}

.midwifery-btn:hover svg {
    transform: translateX(5px);
}


/*==================================================
PRIMARY BUTTON
==================================================*/

.midwifery-btn-primary {
    color: #06162f;
    background: #d6ae4c;

    box-shadow:
        0 18px 42px rgba(214, 174, 76, 0.2);
}

.midwifery-btn-primary::before {
    content: "";

    position: absolute;
    inset: 0;

    background: #ffffff;

    transform: translateX(-102%);

    transition: transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.midwifery-btn-primary:hover {
    color: #06162f;

    transform: translateY(-4px);

    box-shadow:
        0 24px 56px rgba(214, 174, 76, 0.27);
}

.midwifery-btn-primary:hover::before {
    transform: translateX(0);
}

.midwifery-btn-primary {
    isolation: isolate;
}

.midwifery-btn-primary > * {
    position: relative;
    z-index: 2;
}


/*==================================================
SECONDARY BUTTON
==================================================*/

.midwifery-btn-secondary {
    color: #ffffff;

    border-color: rgba(255, 255, 255, 0.34);
    background: rgba(255, 255, 255, 0.055);

    backdrop-filter: blur(9px);
    -webkit-backdrop-filter: blur(9px);
}

.midwifery-btn-secondary::before {
    content: "";

    position: absolute;
    inset: 0;

    background: rgba(255, 255, 255, 0.12);

    transform: scaleX(0);
    transform-origin: left;

    transition: transform 0.4s ease;
}

.midwifery-btn-secondary:hover {
    color: #ffffff;

    border-color: rgba(255, 255, 255, 0.72);

    transform: translateY(-4px);
}

.midwifery-btn-secondary:hover::before {
    transform: scaleX(1);
}

.midwifery-btn-secondary {
    isolation: isolate;
}

.midwifery-btn-secondary > * {
    position: relative;
    z-index: 2;
}


/*==================================================
SCROLL INDICATOR — BASE
==================================================*/

.midwifery-scroll {
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: 4;

    width: 1px;
    height: 82px;

    overflow: hidden;

    background: rgba(255, 255, 255, 0.18);

    transform: translateX(-50%);
}

.midwifery-scroll span {
    position: absolute;
    top: -70%;
    left: 0;

    width: 100%;
    height: 54%;

    display: block;

    background: #d6ae4c;
}




/*==================================================
MIDWIFERY HERO
CSS PART 2
Responsive • Animations • Scroll Reveal
==================================================*/


/*==================================================
KEN BURNS
==================================================*/

@keyframes midwiferyKenBurns {

    0%{
        transform:scale(1.06) translate3d(0,0,0);
    }

    100%{
        transform:scale(1.15) translate3d(-1.5%,-1%,0);
    }

}

.midwifery-hero-image img{

    animation:midwiferyKenBurns 18s ease-in-out infinite alternate;

}


/*==================================================
SCROLL INDICATOR
==================================================*/

@keyframes midwiferyScroll{

    0%{

        transform:translateY(0);

        opacity:1;

    }

    80%{

        opacity:1;

    }

    100%{

        transform:translateY(320%);

        opacity:0;

    }

}

.midwifery-scroll span{

    animation:midwiferyScroll 2.5s ease-in-out infinite;

}


/*==================================================
INITIAL REVEAL STATE
==================================================*/

.midwifery-hero-eyebrow,
.midwifery-hero-content h1,
.midwifery-hero-content h2,
.midwifery-hero-content p,
.midwifery-hero-buttons{

    opacity:0;

    transform:translateY(45px);

    transition:
        opacity .9s ease,
        transform .9s cubic-bezier(.2,.7,.2,1);

}


/*==================================================
VISIBLE STATE
==================================================*/

.midwifery-hero.midwifery-visible
.midwifery-hero-eyebrow{

    opacity:1;

    transform:translateY(0);

    transition-delay:.05s;

}

.midwifery-hero.midwifery-visible
.midwifery-hero-content h1{

    opacity:1;

    transform:translateY(0);

    transition-delay:.15s;

}

.midwifery-hero.midwifery-visible
.midwifery-hero-content h2{

    opacity:1;

    transform:translateY(0);

    transition-delay:.25s;

}

.midwifery-hero.midwifery-visible
.midwifery-hero-content p{

    opacity:1;

    transform:translateY(0);

    transition-delay:.35s;

}

.midwifery-hero.midwifery-visible
.midwifery-hero-buttons{

    opacity:1;

    transform:translateY(0);

    transition-delay:.45s;

}


/*==================================================
TABLET
==================================================*/

@media(max-width:991px){

.midwifery-hero{

min-height:850px;

padding:140px 42px 90px;

}

.midwifery-hero-content{

max-width:700px;

}

.midwifery-hero-content h1{

font-size:clamp(4rem,11vw,7rem);

}

.midwifery-hero-content h2{

font-size:clamp(1.9rem,5vw,3.6rem);

}

.midwifery-hero-content p{

font-size:1rem;

max-width:640px;

}

}


/*==================================================
MOBILE
==================================================*/

@media(max-width:768px){

.midwifery-hero{

min-height:760px;

padding:120px 24px 90px;

align-items:flex-end;

}

.midwifery-hero-image img{

object-position:68% center;

}

.midwifery-hero-overlay{

background:

linear-gradient(

180deg,

rgba(4,16,36,.30),

rgba(4,16,36,.75) 45%,

rgba(4,16,36,.96)

);

}

.midwifery-hero-content{

max-width:100%;

}

.midwifery-hero-eyebrow{

font-size:.63rem;

letter-spacing:.15em;

}

.midwifery-hero-eyebrow::before{

width:30px;

}

.midwifery-hero-content h1{

font-size:clamp(3.3rem,15vw,5.4rem);

line-height:.88;

}

.midwifery-hero-content h2{

font-size:clamp(1.7rem,8vw,2.8rem);

line-height:1.05;

}

.midwifery-hero-content p{

margin-top:24px;

font-size:.94rem;

line-height:1.75;

}

.midwifery-hero-buttons{

margin-top:36px;

flex-direction:column;

align-items:stretch;

}

.midwifery-btn{

width:100%;

min-height:56px;

}

.midwifery-scroll{

display:none;

}

}


/*==================================================
SMALL MOBILE
==================================================*/

@media(max-width:480px){

.midwifery-hero{

padding:110px 20px 80px;

}

.midwifery-hero-content h1{

font-size:3.2rem;

}

.midwifery-hero-content h2{

font-size:1.6rem;

}

}


/*==================================================
REDUCED MOTION
==================================================*/

@media(prefers-reduced-motion:reduce){

.midwifery-hero-image img,
.midwifery-scroll span{

animation:none;

}

.midwifery-hero-eyebrow,
.midwifery-hero-content h1,
.midwifery-hero-content h2,
.midwifery-hero-content p,
.midwifery-hero-buttons{

opacity:1;

transform:none;

transition:none;

}

}












/*==================================================
MIDWIFERY — ABOUT THE PROGRAMME
==================================================*/

.midwifery-about {
    position: relative;
    padding: 145px 6vw 155px;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 95% 5%,
            rgba(214, 174, 76, 0.08),
            transparent 27%
        ),
        #ffffff;

    color: #06162f;
}

.midwifery-about::before {
    content: "";

    position: absolute;
    top: -230px;
    right: -180px;

    width: 560px;
    height: 560px;

    border: 1px solid rgba(6, 22, 47, 0.06);
    border-radius: 50%;

    pointer-events: none;
}

.midwifery-about-container {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1450px;
    margin: 0 auto;
}


/*==================================================
HEADER
==================================================*/

.midwifery-about-header {
    max-width: 950px;
    margin-bottom: 82px;
}

.midwifery-about-header > span {
    position: relative;

    display: inline-flex;
    align-items: center;
    gap: 14px;

    margin-bottom: 25px;

    color: #b58b2b;

    font-size: 0.72rem;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.midwifery-about-header > span::before {
    content: "";

    width: 44px;
    height: 1px;

    display: block;

    background: #b58b2b;
}

.midwifery-about-header h2 {
    margin: 0;

    color: #06162f;

    font-size: clamp(3.2rem, 6.2vw, 6.9rem);
    line-height: 0.95;
    font-weight: 800;
    letter-spacing: -0.065em;
}

.midwifery-about-header h2 em {
    display: block;

    color: #b58b2b;

    font-family: "Libre Baskerville", Georgia, serif;
    font-weight: 400;
}


/*==================================================
MAIN LAYOUT
==================================================*/

.midwifery-about-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
    gap: clamp(55px, 7vw, 110px);
    align-items: center;
}


/*==================================================
IMAGE
==================================================*/

.midwifery-about-media {
    position: relative;

    min-height: 690px;
    overflow: hidden;

    background: #06162f;
}

.midwifery-about-media::before {
    content: "";

    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            180deg,
            transparent 48%,
            rgba(3, 13, 29, 0.72) 100%
        );

    pointer-events: none;
}

.midwifery-about-media img {
    width: 100%;
    height: 100%;

    position: absolute;
    inset: 0;

    display: block;
    object-fit: cover;
    object-position: center;

    transform: scale(1.025);

    transition:
        transform 1.1s cubic-bezier(0.2, 0.7, 0.2, 1),
        filter 0.8s ease;
}

.midwifery-about-media:hover img {
    transform: scale(1.075);
}

.midwifery-about-image-label {
    position: absolute;
    left: 34px;
    right: 34px;
    bottom: 31px;
    z-index: 2;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;

    color: #ffffff;
}

.midwifery-about-image-label span {
    color: #d6ae4c;

    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.midwifery-about-image-label strong {
    max-width: 250px;

    font-size: 1.1rem;
    line-height: 1.35;
    font-weight: 600;
    text-align: right;
}


/*==================================================
CONTENT
==================================================*/

.midwifery-about-content {
    max-width: 680px;
}

.midwifery-about-content > p {
    margin: 0 0 23px;

    color: rgba(6, 22, 47, 0.65);

    font-size: 1rem;
    line-height: 1.88;
}

.midwifery-about-content .midwifery-about-lead {
    margin-bottom: 30px;

    color: #06162f;

    font-size: clamp(1.3rem, 2vw, 1.75rem);
    line-height: 1.55;
    font-weight: 500;
    letter-spacing: -0.025em;
}


/*==================================================
QUOTE
==================================================*/

.midwifery-about-quote {
    position: relative;

    margin: 43px 0 0;
    padding: 31px 0 8px 37px;

    border-left: 2px solid #d6ae4c;
}

.midwifery-about-quote > span {
    position: absolute;
    top: -4px;
    left: 28px;

    color: rgba(214, 174, 76, 0.23);

    font-family: Georgia, serif;
    font-size: 5.5rem;
    line-height: 1;
}

.midwifery-about-quote p {
    position: relative;
    z-index: 2;

    max-width: 550px;
    margin: 0;

    color: #06162f;

    font-family: "Libre Baskerville", Georgia, serif;
    font-size: clamp(1.25rem, 2vw, 1.75rem);
    line-height: 1.55;
    font-weight: 400;
}


/*==================================================
FEATURE CARDS
==================================================*/

.midwifery-about-features {
    margin-top: 110px;

    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    border-top: 1px solid rgba(6, 22, 47, 0.12);
    border-left: 1px solid rgba(6, 22, 47, 0.12);
}

.midwifery-about-card {
    position: relative;

    min-height: 280px;
    padding: 34px 31px 37px;

    overflow: hidden;

    border-right: 1px solid rgba(6, 22, 47, 0.12);
    border-bottom: 1px solid rgba(6, 22, 47, 0.12);

    background: rgba(255, 255, 255, 0.72);

    transition:
        transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1),
        background 0.4s ease,
        box-shadow 0.45s ease;
}

.midwifery-about-card::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 3px;

    background: #d6ae4c;

    transform: scaleX(0);
    transform-origin: left;

    transition: transform 0.45s ease;
}

.midwifery-about-card:hover {
    z-index: 2;

    background: #ffffff;

    transform: translateY(-7px);

    box-shadow:
        0 28px 65px rgba(6, 22, 47, 0.1);
}

.midwifery-about-card:hover::before {
    transform: scaleX(1);
}

.midwifery-about-card > span {
    display: block;
    margin-bottom: 55px;

    color: #b58b2b;

    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.16em;
}

.midwifery-about-card h3 {
    margin: 0 0 16px;

    color: #06162f;

    font-size: clamp(1.3rem, 1.8vw, 1.75rem);
    line-height: 1.25;
    font-weight: 750;
    letter-spacing: -0.035em;

    transition: color 0.35s ease;
}

.midwifery-about-card p {
    margin: 0;

    color: rgba(6, 22, 47, 0.6);

    font-size: 0.9rem;
    line-height: 1.75;
}

.midwifery-about-card:hover h3 {
    color: #9a741f;
}


/*==================================================
SCROLL REVEAL
==================================================*/

.midwifery-about-header,
.midwifery-about-media,
.midwifery-about-content,
.midwifery-about-card {
    opacity: 0;
    transform: translateY(44px);

    transition:
        opacity 0.9s ease,
        transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.midwifery-about-header.midwifery-about-visible,
.midwifery-about-media.midwifery-about-visible,
.midwifery-about-content.midwifery-about-visible,
.midwifery-about-card.midwifery-about-visible {
    opacity: 1;
    transform: translateY(0);
}

.midwifery-about-media {
    transition-delay: 0.08s;
}

.midwifery-about-content {
    transition-delay: 0.16s;
}

.midwifery-about-card:nth-child(1) {
    transition-delay: 0.04s;
}

.midwifery-about-card:nth-child(2) {
    transition-delay: 0.08s;
}

.midwifery-about-card:nth-child(3) {
    transition-delay: 0.12s;
}

.midwifery-about-card:nth-child(4) {
    transition-delay: 0.16s;
}

.midwifery-about-card:nth-child(5) {
    transition-delay: 0.2s;
}

.midwifery-about-card:nth-child(6) {
    transition-delay: 0.24s;
}


/*==================================================
TABLET
==================================================*/

@media screen and (max-width: 1050px) {

    .midwifery-about-layout {
        grid-template-columns: 1fr;
    }

    .midwifery-about-media {
        min-height: 620px;
    }

    .midwifery-about-content {
        max-width: 820px;
    }

    .midwifery-about-features {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/*==================================================
MOBILE
==================================================*/

@media screen and (max-width: 700px) {

    .midwifery-about {
        padding: 100px 22px 110px;
    }

    .midwifery-about-header {
        margin-bottom: 58px;
    }

    .midwifery-about-header > span {
        font-size: 0.64rem;
        letter-spacing: 0.16em;
    }

    .midwifery-about-header > span::before {
        width: 31px;
    }

    .midwifery-about-header h2 {
        font-size: clamp(2.7rem, 12vw, 4.4rem);
        line-height: 0.98;
    }

    .midwifery-about-media {
        min-height: 480px;
    }

    .midwifery-about-image-label {
        left: 22px;
        right: 22px;
        bottom: 21px;

        display: block;
    }

    .midwifery-about-image-label strong {
        display: block;
        max-width: 100%;
        margin-top: 8px;

        font-size: 1rem;
        text-align: left;
    }

    .midwifery-about-content .midwifery-about-lead {
        font-size: 1.22rem;
        line-height: 1.6;
    }

    .midwifery-about-content > p {
        font-size: 0.94rem;
        line-height: 1.78;
    }

    .midwifery-about-quote {
        padding-left: 25px;
    }

    .midwifery-about-features {
        margin-top: 80px;
        grid-template-columns: 1fr;
    }

    .midwifery-about-card {
        min-height: 240px;
        padding: 29px 24px 31px;
    }

    .midwifery-about-card > span {
        margin-bottom: 43px;
    }

}


/*==================================================
REDUCED MOTION
==================================================*/

@media (prefers-reduced-motion: reduce) {

    .midwifery-about-header,
    .midwifery-about-media,
    .midwifery-about-content,
    .midwifery-about-card {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .midwifery-about-media img,
    .midwifery-about-card,
    .midwifery-about-card::before {
        transition: none;
    }

}



/*==================================================
MIDWIFERY — PROFESSIONAL JOURNEY
CSS PART 1
Layout • Timeline • Cards • Typography
==================================================*/

.midwifery-journey {
    position: relative;
    padding: 145px 6vw 155px;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 93% 8%,
            rgba(214, 174, 76, 0.09),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #06162f 0%,
            #071a38 100%
        );

    color: #ffffff;
}

.midwifery-journey::before {
    content: "";

    position: absolute;
    top: -220px;
    right: -180px;

    width: 580px;
    height: 580px;

    border: 1px solid rgba(214, 174, 76, 0.11);
    border-radius: 50%;

    box-shadow:
        inset 0 0 100px rgba(214, 174, 76, 0.025),
        0 0 130px rgba(214, 174, 76, 0.025);

    pointer-events: none;
}

.midwifery-journey::after {
    content: "";

    position: absolute;
    inset: 0;

    background-image:
        linear-gradient(
            rgba(255, 255, 255, 0.018) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.018) 1px,
            transparent 1px
        );

    background-size: 72px 72px;

    mask-image: linear-gradient(
        90deg,
        transparent 0%,
        rgba(0, 0, 0, 0.38) 55%,
        transparent 100%
    );

    -webkit-mask-image: linear-gradient(
        90deg,
        transparent 0%,
        rgba(0, 0, 0, 0.38) 55%,
        transparent 100%
    );

    pointer-events: none;
}

.midwifery-journey-container {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1450px;
    margin: 0 auto;
}


/*==================================================
SECTION HEADER
==================================================*/

.midwifery-journey-header {
    max-width: 1030px;
    margin-bottom: 95px;
}

.midwifery-journey-header > span {
    position: relative;

    display: inline-flex;
    align-items: center;
    gap: 15px;

    margin-bottom: 27px;

    color: #e0bd63;

    font-size: 0.72rem;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.midwifery-journey-header > span::before {
    content: "";

    width: 45px;
    height: 1px;

    display: block;

    background: #d6ae4c;
}

.midwifery-journey-header h2 {
    max-width: 1050px;
    margin: 0;

    color: #ffffff;

    font-size: clamp(3.2rem, 6.2vw, 6.9rem);
    line-height: 0.95;
    font-weight: 800;
    letter-spacing: -0.065em;
}

.midwifery-journey-header h2 em {
    display: block;

    color: #d6ae4c;

    font-family: "Libre Baskerville", Georgia, serif;
    font-weight: 400;
}


/*==================================================
TIMELINE WRAPPER
==================================================*/

.midwifery-journey-timeline {
    position: relative;
    max-width: 1220px;
    margin-left: auto;
}


/* Main vertical timeline line */

.midwifery-journey-timeline::before {
    content: "";

    position: absolute;
    top: 0;
    bottom: 0;
    left: 105px;

    width: 1px;

    background: linear-gradient(
        180deg,
        rgba(214, 174, 76, 0.18) 0%,
        rgba(214, 174, 76, 0.62) 18%,
        rgba(214, 174, 76, 0.62) 82%,
        rgba(214, 174, 76, 0.18) 100%
    );
}


/*==================================================
JOURNEY ITEM
==================================================*/

.midwifery-journey-item {
    position: relative;

    min-height: 255px;
    padding: 0 0 55px;

    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    align-items: start;
}

.midwifery-journey-item:last-child {
    padding-bottom: 0;
}


/*==================================================
NUMBER COLUMN
==================================================*/

.midwifery-journey-number {
    position: relative;

    min-height: 200px;

    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.midwifery-journey-number::before {
    content: "";

    position: absolute;
    top: 29px;
    left: 105px;

    width: 14px;
    height: 14px;

    border: 2px solid #d6ae4c;
    border-radius: 50%;

    background: #06162f;

    box-shadow:
        0 0 0 8px rgba(214, 174, 76, 0.08),
        0 0 26px rgba(214, 174, 76, 0.18);

    transform: translateX(-50%);

    transition:
        background 0.4s ease,
        box-shadow 0.4s ease,
        transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.midwifery-journey-number span {
    position: absolute;
    top: 0;
    left: 0;

    color: rgba(255, 255, 255, 0.09);

    font-size: clamp(4.7rem, 7vw, 7.8rem);
    line-height: 0.8;
    font-weight: 800;
    letter-spacing: -0.08em;

    transition:
        color 0.4s ease,
        transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
}


/*==================================================
CONTENT CARD
==================================================*/

.midwifery-journey-content {
    position: relative;

    min-height: 205px;
    padding: 36px 42px 40px;

    overflow: hidden;

    border: 1px solid rgba(255, 255, 255, 0.1);

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.075),
            rgba(255, 255, 255, 0.025)
        );

    box-shadow:
        0 24px 55px rgba(0, 0, 0, 0.12);

    backdrop-filter: blur(9px);
    -webkit-backdrop-filter: blur(9px);

    transition:
        transform 0.48s cubic-bezier(0.2, 0.7, 0.2, 1),
        border-color 0.4s ease,
        background 0.4s ease,
        box-shadow 0.48s ease;
}

.midwifery-journey-content::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 4px;
    height: 100%;

    background: #d6ae4c;

    transform: scaleY(0);
    transform-origin: top;

    transition: transform 0.48s ease;
}

.midwifery-journey-content::after {
    content: "";

    position: absolute;
    right: -100px;
    bottom: -110px;

    width: 240px;
    height: 240px;

    border: 1px solid rgba(214, 174, 76, 0.12);
    border-radius: 50%;

    opacity: 0;

    transform: scale(0.72);

    transition:
        opacity 0.5s ease,
        transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}


/*==================================================
CARD HOVER
==================================================*/

.midwifery-journey-item:hover .midwifery-journey-content {
    border-color: rgba(214, 174, 76, 0.34);

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.105),
            rgba(255, 255, 255, 0.04)
        );

    transform: translateX(10px);

    box-shadow:
        0 34px 75px rgba(0, 0, 0, 0.2);
}

.midwifery-journey-item:hover .midwifery-journey-content::before {
    transform: scaleY(1);
}

.midwifery-journey-item:hover .midwifery-journey-content::after {
    opacity: 1;
    transform: scale(1);
}

.midwifery-journey-item:hover .midwifery-journey-number::before {
    background: #d6ae4c;

    box-shadow:
        0 0 0 10px rgba(214, 174, 76, 0.1),
        0 0 34px rgba(214, 174, 76, 0.34);

    transform: translateX(-50%) scale(1.12);
}

.midwifery-journey-item:hover .midwifery-journey-number span {
    color: rgba(214, 174, 76, 0.16);
    transform: translateX(-5px);
}


/*==================================================
CARD TYPOGRAPHY
==================================================*/

.midwifery-journey-content small {
    position: relative;
    z-index: 2;

    display: block;
    margin-bottom: 17px;

    color: #d6ae4c;

    font-size: 0.67rem;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.midwifery-journey-content h3 {
    position: relative;
    z-index: 2;

    max-width: 780px;
    margin: 0 0 17px;

    color: #ffffff;

    font-size: clamp(1.55rem, 2.5vw, 2.45rem);
    line-height: 1.18;
    font-weight: 720;
    letter-spacing: -0.04em;

    transition: color 0.35s ease;
}

.midwifery-journey-content p {
    position: relative;
    z-index: 2;

    max-width: 790px;
    margin: 0;

    color: rgba(255, 255, 255, 0.67);

    font-size: 0.98rem;
    line-height: 1.82;

    transition: color 0.35s ease;
}

.midwifery-journey-item:hover .midwifery-journey-content h3 {
    color: #e7c66f;
}

.midwifery-journey-item:hover .midwifery-journey-content p {
    color: rgba(255, 255, 255, 0.79);
}


/*==================================================
ALTERNATING EDITORIAL OFFSET
==================================================*/

.midwifery-journey-item:nth-child(even)
.midwifery-journey-content {
    margin-right: 5vw;
}

.midwifery-journey-item:nth-child(odd)
.midwifery-journey-content {
    margin-left: 2vw;
}





/*==================================================
MIDWIFERY — PROFESSIONAL JOURNEY
CSS PART 2
Responsive • Scroll Reveal • Motion
==================================================*/


/*==================================================
INITIAL REVEAL STATE
==================================================*/

.midwifery-journey-header,
.midwifery-journey-item{

    opacity:0;

    transform:translateY(55px);

    transition:
        opacity .9s ease,
        transform .9s cubic-bezier(.2,.7,.2,1);

}

.midwifery-journey-header.midwifery-journey-visible,
.midwifery-journey-item.midwifery-journey-visible{

    opacity:1;

    transform:translateY(0);

}


/*==================================================
STAGGER EFFECT
==================================================*/

.midwifery-journey-item:nth-child(1){

    transition-delay:.05s;

}

.midwifery-journey-item:nth-child(2){

    transition-delay:.12s;

}

.midwifery-journey-item:nth-child(3){

    transition-delay:.19s;

}

.midwifery-journey-item:nth-child(4){

    transition-delay:.26s;

}


/*==================================================
LARGE TABLET
==================================================*/

@media screen and (max-width:1200px){

.midwifery-journey{

padding:120px 42px 130px;

}

.midwifery-journey-header{

margin-bottom:75px;

}

.midwifery-journey-header h2{

font-size:clamp(3rem,7vw,5.5rem);

}

.midwifery-journey-item{

grid-template-columns:170px 1fr;

}

.midwifery-journey-timeline::before{

left:85px;

}

.midwifery-journey-number::before{

left:85px;

}

.midwifery-journey-content{

padding:34px;

}

.midwifery-journey-item:nth-child(even)
.midwifery-journey-content{

margin-right:0;

}

.midwifery-journey-item:nth-child(odd)
.midwifery-journey-content{

margin-left:0;

}

}


/*==================================================
TABLET
==================================================*/

@media screen and (max-width:900px){

.midwifery-journey{

padding:110px 30px 120px;

}

.midwifery-journey-header{

margin-bottom:60px;

}

.midwifery-journey-item{

grid-template-columns:90px 1fr;

padding-bottom:40px;

}

.midwifery-journey-timeline::before{

left:45px;

}

.midwifery-journey-number{

min-height:180px;

}

.midwifery-journey-number::before{

left:45px;

}

.midwifery-journey-number span{

font-size:4.4rem;

}

.midwifery-journey-content{

min-height:auto;

padding:30px;

}

.midwifery-journey-content h3{

font-size:1.75rem;

}

}


/*==================================================
MOBILE
==================================================*/

@media screen and (max-width:640px){

.midwifery-journey{

padding:95px 22px 105px;

}

.midwifery-journey-header{

margin-bottom:55px;

}

.midwifery-journey-header>span{

font-size:.64rem;

letter-spacing:.16em;

}

.midwifery-journey-header>span::before{

width:30px;

}

.midwifery-journey-header h2{

font-size:clamp(2.6rem,12vw,4.3rem);

line-height:.98;

}

.midwifery-journey-timeline::before{

left:20px;

}

.midwifery-journey-item{

display:block;

padding-left:48px;

padding-bottom:38px;

}

.midwifery-journey-number{

position:absolute;

left:0;

top:0;

min-height:0;

}

.midwifery-journey-number span{

display:none;

}

.midwifery-journey-number::before{

left:20px;

top:24px;

width:12px;

height:12px;

}

.midwifery-journey-content{

padding:26px 22px;

}

.midwifery-journey-content h3{

font-size:1.45rem;

line-height:1.28;

}

.midwifery-journey-content p{

font-size:.92rem;

line-height:1.75;

}

}


/*==================================================
REDUCED MOTION
==================================================*/

@media (prefers-reduced-motion:reduce){

.midwifery-journey-header,
.midwifery-journey-item{

opacity:1;

transform:none;

transition:none;

}

.midwifery-journey-content,
.midwifery-journey-content::before,
.midwifery-journey-content::after,
.midwifery-journey-number::before,
.midwifery-journey-number span{

transition:none;

}

}










/*==================================================
MIDWIFERY — WHAT YOU'LL LEARN
CSS PART 1
Structure • Layout • Accordion • Visual
==================================================*/

.midwifery-learning {
    position: relative;
    padding: 145px 6vw 155px;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 7% 12%,
            rgba(214, 174, 76, 0.09),
            transparent 27%
        ),
        #f6f4ef;

    color: #06162f;
}

.midwifery-learning::before {
    content: "";

    position: absolute;
    top: -220px;
    left: -190px;

    width: 560px;
    height: 560px;

    border: 1px solid rgba(6, 22, 47, 0.06);
    border-radius: 50%;

    pointer-events: none;
}

.midwifery-learning::after {
    content: "";

    position: absolute;
    right: -140px;
    bottom: -180px;

    width: 430px;
    height: 430px;

    border: 1px solid rgba(214, 174, 76, 0.11);
    border-radius: 50%;

    pointer-events: none;
}

.midwifery-learning-container {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1450px;
    margin: 0 auto;
}


/*==================================================
SECTION HEADER
==================================================*/

.midwifery-learning-header {
    max-width: 1040px;
    margin-bottom: 90px;
}

.midwifery-learning-header > span {
    position: relative;

    display: inline-flex;
    align-items: center;
    gap: 15px;

    margin-bottom: 26px;

    color: #a77f25;

    font-size: 0.72rem;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.midwifery-learning-header > span::before {
    content: "";

    width: 45px;
    height: 1px;

    display: block;

    background: #b58b2b;
}

.midwifery-learning-header h2 {
    max-width: 1050px;
    margin: 0;

    color: #06162f;

    font-size: clamp(3.2rem, 6.2vw, 6.9rem);
    line-height: 0.95;
    font-weight: 800;
    letter-spacing: -0.065em;
}

.midwifery-learning-header h2 em {
    display: block;

    color: #b58b2b;

    font-family: "Libre Baskerville", Georgia, serif;
    font-weight: 400;
}

.midwifery-learning-header p {
    max-width: 720px;
    margin: 34px 0 0;

    color: rgba(6, 22, 47, 0.64);

    font-size: 1rem;
    line-height: 1.85;
}


/*==================================================
MAIN LAYOUT
==================================================*/

.midwifery-learning-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 0.95fr)
        minmax(430px, 0.75fr);

    gap: clamp(55px, 7vw, 110px);
    align-items: start;
}


/*==================================================
ACCORDION
==================================================*/

.midwifery-learning-accordion {
    border-top: 1px solid rgba(6, 22, 47, 0.15);
}

.midwifery-learning-item {
    position: relative;

    border-bottom: 1px solid rgba(6, 22, 47, 0.15);

    transition:
        background 0.4s ease,
        border-color 0.4s ease;
}

.midwifery-learning-item::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 3px;
    height: 100%;

    background: #d6ae4c;

    transform: scaleY(0);
    transform-origin: top;

    transition: transform 0.45s ease;
}

.midwifery-learning-item.is-active {
    background: rgba(255, 255, 255, 0.58);
    border-color: rgba(181, 139, 43, 0.3);
}

.midwifery-learning-item.is-active::before {
    transform: scaleY(1);
}


/*==================================================
ACCORDION TRIGGER
==================================================*/

.midwifery-learning-trigger {
    width: 100%;
    min-height: 114px;
    padding: 30px 24px 30px 28px;

    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 36px;
    gap: 18px;
    align-items: center;

    border: 0;
    outline: 0;

    background: transparent;

    color: #06162f;
    text-align: left;

    cursor: pointer;

    transition:
        padding-left 0.4s ease,
        background 0.4s ease;
}

.midwifery-learning-trigger:hover {
    padding-left: 35px;
}

.midwifery-learning-trigger:focus-visible {
    outline: 2px solid #b58b2b;
    outline-offset: -4px;
}


/*==================================================
MODULE NUMBER
==================================================*/

.midwifery-learning-number {
    color: #b58b2b;

    font-size: 0.68rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.14em;
}


/*==================================================
MODULE TITLE
==================================================*/

.midwifery-learning-title {
    color: #06162f;

    font-size: clamp(1.25rem, 2vw, 1.85rem);
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: -0.035em;

    transition: color 0.35s ease;
}

.midwifery-learning-item.is-active
.midwifery-learning-title {
    color: #9b731e;
}


/*==================================================
PLUS / MINUS ICON
==================================================*/

.midwifery-learning-icon {
    position: relative;

    width: 32px;
    height: 32px;

    display: block;

    border: 1px solid rgba(6, 22, 47, 0.18);
    border-radius: 50%;

    transition:
        border-color 0.35s ease,
        background 0.35s ease,
        transform 0.4s ease;
}

.midwifery-learning-icon::before,
.midwifery-learning-icon::after {
    content: "";

    position: absolute;
    top: 50%;
    left: 50%;

    width: 12px;
    height: 1px;

    background: #06162f;

    transform: translate(-50%, -50%);

    transition:
        transform 0.4s ease,
        background 0.35s ease;
}

.midwifery-learning-icon::after {
    transform:
        translate(-50%, -50%)
        rotate(90deg);
}

.midwifery-learning-item.is-active
.midwifery-learning-icon {
    border-color: #b58b2b;
    background: #b58b2b;

    transform: rotate(180deg);
}

.midwifery-learning-item.is-active
.midwifery-learning-icon::before,
.midwifery-learning-item.is-active
.midwifery-learning-icon::after {
    background: #ffffff;
}

.midwifery-learning-item.is-active
.midwifery-learning-icon::after {
    transform:
        translate(-50%, -50%)
        rotate(0deg);
}


/*==================================================
ACCORDION PANEL
==================================================*/

.midwifery-learning-panel {
    display: grid;
    grid-template-rows: 0fr;

    overflow: hidden;

    transition:
        grid-template-rows 0.55s
        cubic-bezier(0.2, 0.7, 0.2, 1);
}

.midwifery-learning-item.is-active
.midwifery-learning-panel {
    grid-template-rows: 1fr;
}

.midwifery-learning-panel-inner {
    min-height: 0;
    overflow: hidden;

    padding: 0 72px 0 98px;

    opacity: 0;
    transform: translateY(-10px);

    transition:
        opacity 0.4s ease,
        transform 0.45s ease,
        padding-bottom 0.45s ease;
}

.midwifery-learning-item.is-active
.midwifery-learning-panel-inner {
    padding-bottom: 35px;

    opacity: 1;
    transform: translateY(0);
}

.midwifery-learning-panel-inner p {
    max-width: 690px;
    margin: 0 0 21px;

    color: rgba(6, 22, 47, 0.65);

    font-size: 0.94rem;
    line-height: 1.82;
}

.midwifery-learning-panel-inner ul {
    margin: 0;
    padding: 0;

    display: grid;
    gap: 10px;

    list-style: none;
}

.midwifery-learning-panel-inner li {
    position: relative;

    padding-left: 22px;

    color: rgba(6, 22, 47, 0.76);

    font-size: 0.82rem;
    line-height: 1.6;
    font-weight: 600;
}

.midwifery-learning-panel-inner li::before {
    content: "";

    position: absolute;
    top: 0.72em;
    left: 0;

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: #d6ae4c;

    transform: translateY(-50%);
}


/*==================================================
VISUAL COLUMN
==================================================*/

.midwifery-learning-visual {
    position: sticky;
    top: 110px;
}

.midwifery-learning-image-wrap {
    position: relative;

    min-height: 690px;
    overflow: hidden;

    background: #06162f;
}

.midwifery-learning-image {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center;

    transform: scale(1.025);

    transition:
        opacity 0.45s ease,
        transform 0.9s
        cubic-bezier(0.2, 0.7, 0.2, 1);
}

.midwifery-learning-image-wrap:hover
.midwifery-learning-image {
    transform: scale(1.065);
}

.midwifery-learning-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            180deg,
            rgba(6, 22, 47, 0.03) 25%,
            rgba(6, 22, 47, 0.8) 100%
        );
}

.midwifery-learning-image-content {
    position: absolute;
    right: 38px;
    bottom: 37px;
    left: 38px;
    z-index: 2;
}

.midwifery-learning-image-label {
    display: block;
    margin-bottom: 13px;

    color: #e2bd60;

    font-size: 0.65rem;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.midwifery-learning-image-title {
    max-width: 460px;
    margin: 0;

    color: #ffffff;

    font-size: clamp(1.8rem, 3vw, 3rem);
    line-height: 1.12;
    font-weight: 700;
    letter-spacing: -0.045em;
}


/*==================================================
PROGRESS INDICATOR
==================================================*/

.midwifery-learning-progress {
    padding-top: 24px;

    display: grid;
    grid-template-columns: auto minmax(80px, 1fr) auto;
    gap: 18px;
    align-items: center;
}

.midwifery-learning-progress > span {
    color: rgba(6, 22, 47, 0.58);

    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.midwifery-learning-progress strong {
    color: #06162f;

    font-size: 0.72rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.midwifery-learning-progress-line {
    position: relative;

    width: 100%;
    height: 1px;

    overflow: hidden;

    background: rgba(6, 22, 47, 0.15);
}

.midwifery-learning-progress-line span {
    position: absolute;
    inset: 0 auto 0 0;

    width: 16.666%;

    background: #b58b2b;

    transition:
        width 0.55s
        cubic-bezier(0.2, 0.7, 0.2, 1);
}









/*==================================================
MIDWIFERY — WHAT YOU'LL LEARN
CSS PART 2
Responsive • Animations • Scroll Reveal
==================================================*/


/*==========================================
SCROLL REVEAL
==========================================*/

.midwifery-learning-header,
.midwifery-learning-accordion,
.midwifery-learning-visual{
    opacity:0;
    transform:translateY(45px);

    transition:
        opacity .9s ease,
        transform .9s cubic-bezier(.2,.7,.2,1);
}

.midwifery-learning-header.midwifery-learning-visible,
.midwifery-learning-accordion.midwifery-learning-visible,
.midwifery-learning-visual.midwifery-learning-visible{
    opacity:1;
    transform:none;
}

.midwifery-learning-accordion{
    transition-delay:.08s;
}

.midwifery-learning-visual{
    transition-delay:.18s;
}



/*==========================================
IMAGE FADE
==========================================*/

.midwifery-learning-image{
    opacity:1;
}

.midwifery-learning-image.is-changing{
    opacity:.15;
}



/*==========================================
TABLET
==========================================*/

@media (max-width:1100px){

    .midwifery-learning{
        padding:120px 5vw 130px;
    }

    .midwifery-learning-layout{

        grid-template-columns:1fr;
        gap:70px;

    }

    .midwifery-learning-visual{

        position:relative;
        top:auto;

        order:-1;

    }

    .midwifery-learning-image-wrap{

        min-height:560px;

    }

}



/*==========================================
MOBILE
==========================================*/

@media (max-width:768px){

    .midwifery-learning{

        padding:95px 22px 105px;

    }

    .midwifery-learning-header{

        margin-bottom:55px;

    }

    .midwifery-learning-header span{

        font-size:.64rem;

    }

    .midwifery-learning-header h2{

        font-size:clamp(2.6rem,12vw,4.2rem);
        line-height:.98;

    }

    .midwifery-learning-header p{

        margin-top:22px;

        font-size:.95rem;
        line-height:1.75;

    }


    .midwifery-learning-trigger{

        grid-template-columns:42px 1fr 30px;

        gap:14px;

        min-height:95px;

        padding:22px 18px;

    }

    .midwifery-learning-trigger:hover{

        padding-left:22px;

    }


    .midwifery-learning-title{

        font-size:1.2rem;

    }


    .midwifery-learning-panel-inner{

        padding:0 18px 0 56px;

    }

    .midwifery-learning-item.is-active
    .midwifery-learning-panel-inner{

        padding-bottom:28px;

    }

    .midwifery-learning-panel-inner p{

        font-size:.9rem;

    }

    .midwifery-learning-image-wrap{

        min-height:440px;

    }

    .midwifery-learning-image-content{

        left:24px;
        right:24px;
        bottom:24px;

    }

    .midwifery-learning-image-title{

        font-size:2rem;

    }

    .midwifery-learning-progress{

        gap:12px;

    }

}



/*==========================================
SMALL MOBILE
==========================================*/

@media (max-width:500px){

    .midwifery-learning-trigger{

        grid-template-columns:34px 1fr 26px;

    }

    .midwifery-learning-title{

        font-size:1.05rem;

    }

    .midwifery-learning-panel-inner{

        padding-left:46px;

    }

    .midwifery-learning-image-wrap{

        min-height:390px;

    }

}



/*==========================================
REDUCED MOTION
==========================================*/

@media (prefers-reduced-motion:reduce){

    .midwifery-learning-header,
    .midwifery-learning-accordion,
    .midwifery-learning-visual{

        opacity:1;
        transform:none;
        transition:none;

    }

    .midwifery-learning-image,
    .midwifery-learning-progress-line span,
    .midwifery-learning-panel,
    .midwifery-learning-panel-inner{

        transition:none;

    }

}







/*==================================================
MIDWIFERY — LEARNING EXPERIENCE
==================================================*/

.midwifery-experience {
    position: relative;
    padding: 145px 6vw 155px;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 94% 7%,
            rgba(214, 174, 76, 0.08),
            transparent 27%
        ),
        #ffffff;

    color: #06162f;
}

.midwifery-experience::before {
    content: "";

    position: absolute;
    top: -220px;
    right: -190px;

    width: 570px;
    height: 570px;

    border: 1px solid rgba(6, 22, 47, 0.055);
    border-radius: 50%;

    pointer-events: none;
}

.midwifery-experience-container {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1450px;
    margin: 0 auto;
}


/*==================================================
HEADER
==================================================*/

.midwifery-experience-header {
    max-width: 1040px;
    margin-bottom: 88px;
}

.midwifery-experience-header > span {
    position: relative;

    display: inline-flex;
    align-items: center;
    gap: 15px;

    margin-bottom: 26px;

    color: #a77f25;

    font-size: 0.72rem;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.midwifery-experience-header > span::before {
    content: "";

    width: 45px;
    height: 1px;

    display: block;

    background: #b58b2b;
}

.midwifery-experience-header h2 {
    max-width: 1050px;
    margin: 0;

    color: #06162f;

    font-size: clamp(3.2rem, 6.2vw, 6.9rem);
    line-height: 0.95;
    font-weight: 800;
    letter-spacing: -0.065em;
}

.midwifery-experience-header h2 em {
    display: block;

    color: #b58b2b;

    font-family: "Libre Baskerville", Georgia, serif;
    font-weight: 400;
}

.midwifery-experience-header p {
    max-width: 750px;
    margin: 34px 0 0;

    color: rgba(6, 22, 47, 0.64);

    font-size: 1rem;
    line-height: 1.85;
}


/*==================================================
GRID
==================================================*/

.midwifery-experience-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: 340px;
    gap: 22px;
}

.midwifery-experience-card-large {
    grid-column: span 2;
    grid-row: span 2;
}

.midwifery-experience-card-wide {
    grid-column: span 2;
}


/*==================================================
CARD
==================================================*/

.midwifery-experience-card {
    position: relative;

    min-width: 0;
    min-height: 340px;

    overflow: hidden;

    background: #06162f;

    isolation: isolate;

    transition:
        transform 0.55s cubic-bezier(0.2, 0.7, 0.2, 1),
        box-shadow 0.55s ease;
}

.midwifery-experience-card:hover {
    z-index: 3;

    transform: translateY(-8px);

    box-shadow:
        0 34px 75px rgba(6, 22, 47, 0.18);
}


/*==================================================
CARD IMAGE
==================================================*/

.midwifery-experience-card-image {
    position: absolute;
    inset: 0;
    z-index: -2;

    overflow: hidden;
}

.midwifery-experience-card-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center;

    transform: scale(1.025);

    transition:
        transform 1s cubic-bezier(0.2, 0.7, 0.2, 1),
        filter 0.7s ease;
}

.midwifery-experience-card:hover
.midwifery-experience-card-image img {
    transform: scale(1.09);
}


/*==================================================
OVERLAY
==================================================*/

.midwifery-experience-card-overlay {
    position: absolute;
    inset: 0;
    z-index: -1;

    background:
        linear-gradient(
            180deg,
            rgba(6, 22, 47, 0.03) 15%,
            rgba(6, 22, 47, 0.22) 45%,
            rgba(6, 22, 47, 0.95) 100%
        );

    transition: background 0.5s ease;
}

.midwifery-experience-card:hover
.midwifery-experience-card-overlay {
    background:
        linear-gradient(
            180deg,
            rgba(6, 22, 47, 0.08) 10%,
            rgba(6, 22, 47, 0.35) 45%,
            rgba(6, 22, 47, 0.98) 100%
        );
}


/*==================================================
CARD CONTENT
==================================================*/

.midwifery-experience-card-content {
    position: absolute;
    inset: auto 0 0;

    padding: 32px;

    display: flex;
    align-items: flex-end;
    gap: 22px;

    color: #ffffff;
}

.midwifery-experience-card-large
.midwifery-experience-card-content {
    padding: 45px;
}

.midwifery-experience-number {
    flex: 0 0 auto;

    padding-bottom: 7px;

    color: #d6ae4c;

    font-size: 0.66rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.15em;
}

.midwifery-experience-card-content > div {
    min-width: 0;
}

.midwifery-experience-card h3 {
    max-width: 580px;
    margin: 0;

    color: #ffffff;

    font-size: clamp(1.35rem, 2vw, 2rem);
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.04em;

    transition:
        color 0.35s ease,
        transform 0.45s ease;
}

.midwifery-experience-card-large h3 {
    font-size: clamp(2rem, 3.5vw, 3.7rem);
}

.midwifery-experience-card p {
    max-width: 610px;
    max-height: 0;
    margin: 0;

    overflow: hidden;

    color: rgba(255, 255, 255, 0.72);

    font-size: 0.9rem;
    line-height: 1.7;

    opacity: 0;
    transform: translateY(12px);

    transition:
        max-height 0.55s ease,
        margin-top 0.45s ease,
        opacity 0.45s ease,
        transform 0.45s ease;
}

.midwifery-experience-card:hover p,
.midwifery-experience-card.is-focused p {
    max-height: 150px;
    margin-top: 13px;

    opacity: 1;
    transform: translateY(0);
}

.midwifery-experience-card:hover h3,
.midwifery-experience-card.is-focused h3 {
    color: #e7c66f;
    transform: translateY(-2px);
}


/*==================================================
TOP ACCENT
==================================================*/

.midwifery-experience-card::after {
    content: "";

    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;

    width: 100%;
    height: 3px;

    background: #d6ae4c;

    transform: scaleX(0);
    transform-origin: left;

    transition:
        transform 0.55s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.midwifery-experience-card:hover::after,
.midwifery-experience-card.is-focused::after {
    transform: scaleX(1);
}


/*==================================================
SCROLL REVEAL
==================================================*/

.midwifery-experience-header,
.midwifery-experience-card {
    opacity: 0;
    transform: translateY(45px);

    transition:
        opacity 0.9s ease,
        transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1),
        box-shadow 0.55s ease;
}

.midwifery-experience-header.midwifery-experience-visible,
.midwifery-experience-card.midwifery-experience-visible {
    opacity: 1;
    transform: translateY(0);
}

.midwifery-experience-card:nth-child(1) {
    transition-delay: 0.04s;
}

.midwifery-experience-card:nth-child(2) {
    transition-delay: 0.08s;
}

.midwifery-experience-card:nth-child(3) {
    transition-delay: 0.12s;
}

.midwifery-experience-card:nth-child(4) {
    transition-delay: 0.16s;
}

.midwifery-experience-card:nth-child(5) {
    transition-delay: 0.2s;
}

.midwifery-experience-card:nth-child(6) {
    transition-delay: 0.24s;
}


/*==================================================
LARGE TABLET
==================================================*/

@media screen and (max-width: 1100px) {

    .midwifery-experience {
        padding: 120px 5vw 130px;
    }

    .midwifery-experience-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: 390px;
    }

    .midwifery-experience-card-large {
        grid-column: span 2;
        grid-row: span 1;
    }

    .midwifery-experience-card-wide {
        grid-column: span 2;
    }

    .midwifery-experience-card-large
    .midwifery-experience-card-content {
        padding: 38px;
    }

}


/*==================================================
MOBILE
==================================================*/

@media screen and (max-width: 700px) {

    .midwifery-experience {
        padding: 95px 22px 105px;
    }

    .midwifery-experience-header {
        margin-bottom: 58px;
    }

    .midwifery-experience-header > span {
        font-size: 0.64rem;
        letter-spacing: 0.16em;
    }

    .midwifery-experience-header > span::before {
        width: 31px;
    }

    .midwifery-experience-header h2 {
        font-size: clamp(2.7rem, 12vw, 4.4rem);
        line-height: 0.98;
    }

    .midwifery-experience-header p {
        margin-top: 24px;

        font-size: 0.94rem;
        line-height: 1.75;
    }

    .midwifery-experience-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: auto;
        gap: 17px;
    }

    .midwifery-experience-card,
    .midwifery-experience-card-large,
    .midwifery-experience-card-wide {
        grid-column: auto;
        grid-row: auto;

        min-height: 450px;
    }

    .midwifery-experience-card-content,
    .midwifery-experience-card-large
    .midwifery-experience-card-content {
        padding: 27px 24px;
        gap: 15px;
    }

    .midwifery-experience-card h3,
    .midwifery-experience-card-large h3 {
        font-size: clamp(1.45rem, 7vw, 2rem);
    }

    .midwifery-experience-card p {
        max-height: 180px;
        margin-top: 12px;

        font-size: 0.87rem;

        opacity: 1;
        transform: none;
    }

}


/*==================================================
SMALL MOBILE
==================================================*/

@media screen and (max-width: 430px) {

    .midwifery-experience-card,
    .midwifery-experience-card-large,
    .midwifery-experience-card-wide {
        min-height: 410px;
    }

    .midwifery-experience-card-content,
    .midwifery-experience-card-large
    .midwifery-experience-card-content {
        align-items: flex-start;
        padding: 25px 21px;
    }

}


/*==================================================
REDUCED MOTION
==================================================*/

@media (prefers-reduced-motion: reduce) {

    .midwifery-experience-header,
    .midwifery-experience-card {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .midwifery-experience-card,
    .midwifery-experience-card-image img,
    .midwifery-experience-card h3,
    .midwifery-experience-card p,
    .midwifery-experience-card::after {
        transition: none;
    }

}






/*==================================================
MIDWIFERY — CAREER OPPORTUNITIES
==================================================*/

.midwifery-careers {
    position: relative;
    padding: 145px 6vw 155px;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 8% 8%,
            rgba(214, 174, 76, 0.09),
            transparent 27%
        ),
        linear-gradient(
            180deg,
            #06162f 0%,
            #071a38 100%
        );

    color: #ffffff;
}

.midwifery-careers::before {
    content: "";

    position: absolute;
    top: -230px;
    left: -190px;

    width: 580px;
    height: 580px;

    border: 1px solid rgba(214, 174, 76, 0.1);
    border-radius: 50%;

    pointer-events: none;
}

.midwifery-careers::after {
    content: "";

    position: absolute;
    right: -160px;
    bottom: -190px;

    width: 480px;
    height: 480px;

    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: 50%;

    pointer-events: none;
}

.midwifery-careers-container {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1450px;
    margin: 0 auto;
}


/*==================================================
HEADER
==================================================*/

.midwifery-careers-header {
    max-width: 1050px;
    margin-bottom: 90px;
}

.midwifery-careers-header > span {
    position: relative;

    display: inline-flex;
    align-items: center;
    gap: 15px;

    margin-bottom: 26px;

    color: #e0bd63;

    font-size: 0.72rem;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.midwifery-careers-header > span::before {
    content: "";

    width: 45px;
    height: 1px;

    display: block;

    background: #d6ae4c;
}

.midwifery-careers-header h2 {
    max-width: 1050px;
    margin: 0;

    color: #ffffff;

    font-size: clamp(3.2rem, 6.2vw, 6.9rem);
    line-height: 0.95;
    font-weight: 800;
    letter-spacing: -0.065em;
}

.midwifery-careers-header h2 em {
    display: block;

    color: #d6ae4c;

    font-family: "Libre Baskerville", Georgia, serif;
    font-weight: 400;
}

.midwifery-careers-header p {
    max-width: 760px;
    margin: 34px 0 0;

    color: rgba(255, 255, 255, 0.66);

    font-size: 1rem;
    line-height: 1.85;
}


/*==================================================
GRID
==================================================*/

.midwifery-careers-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-left: 1px solid rgba(255, 255, 255, 0.1);
}


/*==================================================
CAREER CARD
==================================================*/

.midwifery-careers-card {
    position: relative;

    min-height: 390px;
    padding: 35px 34px 40px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    overflow: hidden;

    border-right: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.055),
            rgba(255, 255, 255, 0.018)
        );

    transition:
        transform 0.48s cubic-bezier(0.2, 0.7, 0.2, 1),
        background 0.4s ease,
        border-color 0.4s ease,
        box-shadow 0.48s ease;
}

.midwifery-careers-card::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 3px;

    background: #d6ae4c;

    transform: scaleX(0);
    transform-origin: left;

    transition:
        transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.midwifery-careers-card::after {
    content: "";

    position: absolute;
    right: -100px;
    bottom: -110px;

    width: 240px;
    height: 240px;

    border: 1px solid rgba(214, 174, 76, 0.12);
    border-radius: 50%;

    opacity: 0;

    transform: scale(0.75);

    transition:
        opacity 0.45s ease,
        transform 0.55s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.midwifery-careers-card:hover,
.midwifery-careers-card.is-focused {
    z-index: 3;

    border-color: rgba(214, 174, 76, 0.32);

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.095),
            rgba(255, 255, 255, 0.03)
        );

    transform: translateY(-8px);

    box-shadow:
        0 32px 70px rgba(0, 0, 0, 0.24);
}

.midwifery-careers-card:hover::before,
.midwifery-careers-card.is-focused::before {
    transform: scaleX(1);
}

.midwifery-careers-card:hover::after,
.midwifery-careers-card.is-focused::after {
    opacity: 1;
    transform: scale(1);
}


/*==================================================
CARD TOP
==================================================*/

.midwifery-careers-card-top {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.midwifery-careers-number {
    color: #d6ae4c;

    font-size: 0.68rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.15em;
}


/*==================================================
ICON
==================================================*/

.midwifery-careers-icon {
    width: 54px;
    height: 54px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(214, 174, 76, 0.3);
    border-radius: 50%;

    color: #d6ae4c;

    background: rgba(214, 174, 76, 0.045);

    transition:
        color 0.35s ease,
        background 0.35s ease,
        border-color 0.35s ease,
        transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.midwifery-careers-icon svg {
    width: 24px;
    height: 24px;

    stroke: currentColor;
    stroke-width: 1.45;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.midwifery-careers-card:hover .midwifery-careers-icon,
.midwifery-careers-card.is-focused .midwifery-careers-icon {
    color: #06162f;

    border-color: #d6ae4c;
    background: #d6ae4c;

    transform: rotate(6deg) scale(1.06);
}


/*==================================================
CARD CONTENT
==================================================*/

.midwifery-careers-card-content {
    position: relative;
    z-index: 2;
}

.midwifery-careers-card h3 {
    max-width: 340px;
    margin: 0 0 18px;

    color: #ffffff;

    font-size: clamp(1.45rem, 2.1vw, 2.15rem);
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.04em;

    transition:
        color 0.35s ease,
        transform 0.4s ease;
}

.midwifery-careers-card p {
    max-width: 360px;
    margin: 0;

    color: rgba(255, 255, 255, 0.65);

    font-size: 0.91rem;
    line-height: 1.75;

    transition: color 0.35s ease;
}

.midwifery-careers-card:hover h3,
.midwifery-careers-card.is-focused h3 {
    color: #e7c66f;
    transform: translateY(-3px);
}

.midwifery-careers-card:hover p,
.midwifery-careers-card.is-focused p {
    color: rgba(255, 255, 255, 0.8);
}


/*==================================================
SCROLL REVEAL
==================================================*/

.midwifery-careers-header,
.midwifery-careers-card {
    opacity: 0;
    transform: translateY(44px);

    transition:
        opacity 0.9s ease,
        transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1),
        background 0.4s ease,
        border-color 0.4s ease,
        box-shadow 0.48s ease;
}

.midwifery-careers-header.midwifery-careers-visible,
.midwifery-careers-card.midwifery-careers-visible {
    opacity: 1;
    transform: translateY(0);
}

.midwifery-careers-card:nth-child(1) {
    transition-delay: 0.04s;
}

.midwifery-careers-card:nth-child(2) {
    transition-delay: 0.08s;
}

.midwifery-careers-card:nth-child(3) {
    transition-delay: 0.12s;
}

.midwifery-careers-card:nth-child(4) {
    transition-delay: 0.16s;
}

.midwifery-careers-card:nth-child(5) {
    transition-delay: 0.2s;
}

.midwifery-careers-card:nth-child(6) {
    transition-delay: 0.24s;
}


/*==================================================
TABLET
==================================================*/

@media screen and (max-width: 1050px) {

    .midwifery-careers {
        padding: 120px 5vw 130px;
    }

    .midwifery-careers-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/*==================================================
MOBILE
==================================================*/

@media screen and (max-width: 700px) {

    .midwifery-careers {
        padding: 95px 22px 105px;
    }

    .midwifery-careers-header {
        margin-bottom: 58px;
    }

    .midwifery-careers-header > span {
        font-size: 0.64rem;
        letter-spacing: 0.16em;
    }

    .midwifery-careers-header > span::before {
        width: 31px;
    }

    .midwifery-careers-header h2 {
        font-size: clamp(2.7rem, 12vw, 4.4rem);
        line-height: 0.98;
    }

    .midwifery-careers-header p {
        margin-top: 24px;

        font-size: 0.94rem;
        line-height: 1.75;
    }

    .midwifery-careers-grid {
        grid-template-columns: 1fr;
    }

    .midwifery-careers-card {
        min-height: 330px;
        padding: 29px 25px 32px;
    }

    .midwifery-careers-icon {
        width: 48px;
        height: 48px;
    }

    .midwifery-careers-icon svg {
        width: 22px;
        height: 22px;
    }

    .midwifery-careers-card h3 {
        font-size: clamp(1.45rem, 7vw, 1.9rem);
    }

}


/*==================================================
SMALL MOBILE
==================================================*/

@media screen and (max-width: 430px) {

    .midwifery-careers-card {
        min-height: 310px;
        padding: 27px 22px 29px;
    }

}


/*==================================================
REDUCED MOTION
==================================================*/

@media (prefers-reduced-motion: reduce) {

    .midwifery-careers-header,
    .midwifery-careers-card {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .midwifery-careers-card,
    .midwifery-careers-card::before,
    .midwifery-careers-card::after,
    .midwifery-careers-icon,
    .midwifery-careers-card h3,
    .midwifery-careers-card p {
        transition: none;
    }

}







/*==================================================
MIDWIFERY — PROGRAMME INFORMATION
CSS PART 1
==================================================*/

.midwifery-info{
    position:relative;
    overflow:hidden;

    padding:150px 6vw;

    background:
    radial-gradient(circle at 92% 8%,
    rgba(214,174,76,.08),
    transparent 26%),
    #f8f7f3;
}

.midwifery-info::before{

    content:"";

    position:absolute;

    top:-220px;
    right:-180px;

    width:540px;
    height:540px;

    border:1px solid rgba(6,22,47,.05);
    border-radius:50%;

}

.midwifery-info-container{

    position:relative;
    z-index:2;

    max-width:1450px;
    margin:auto;

}


/*==================================================
HEADER
==================================================*/

.midwifery-info-header{

    max-width:900px;

    margin-bottom:85px;

}

.midwifery-info-header span{

    display:inline-flex;
    align-items:center;
    gap:14px;

    margin-bottom:25px;

    color:#b58b2b;

    text-transform:uppercase;
    letter-spacing:.18em;

    font-size:.72rem;
    font-weight:800;

}

.midwifery-info-header span::before{

    content:"";

    width:45px;
    height:1px;

    background:#b58b2b;

}

.midwifery-info-header h2{

    margin:0;

    color:#06162f;

    font-size:clamp(3rem,6vw,6.8rem);

    line-height:.95;

    letter-spacing:-.06em;

    font-weight:800;

}

.midwifery-info-header h2 em{

    display:block;

    color:#b58b2b;

    font-family:"Libre Baskerville",serif;

    font-style:normal;
    font-weight:400;

}


/*==================================================
GRID
==================================================*/

.midwifery-info-grid{

    display:grid;

    grid-template-columns:
    repeat(4,minmax(0,1fr));

    gap:24px;

}


/*==================================================
CARD
==================================================*/

.midwifery-info-card{

    position:relative;

    min-height:250px;

    padding:34px;

    background:#fff;

    border:1px solid
    rgba(6,22,47,.08);

    overflow:hidden;

    transition:
    transform .45s,
    border-color .45s,
    box-shadow .45s;

}

.midwifery-info-card::before{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:3px;

    background:#d6ae4c;

    transform:scaleX(0);

    transform-origin:left;

    transition:transform .45s;

}

.midwifery-info-card::after{

    content:"";

    position:absolute;

    right:-110px;
    bottom:-110px;

    width:230px;
    height:230px;

    border-radius:50%;

    border:1px solid
    rgba(214,174,76,.12);

    transform:scale(.75);

    opacity:0;

    transition:.45s;

}

.midwifery-info-card:hover{

    transform:translateY(-8px);

    border-color:
    rgba(181,139,43,.28);

    box-shadow:
    0 25px 65px
    rgba(6,22,47,.10);

}

.midwifery-info-card:hover::before{

    transform:scaleX(1);

}

.midwifery-info-card:hover::after{

    opacity:1;
    transform:scale(1);

}


/*==================================================
TEXT
==================================================*/

.midwifery-info-card small{

    display:block;

    margin-bottom:18px;

    color:#b58b2b;

    font-size:.70rem;

    text-transform:uppercase;

    letter-spacing:.18em;

    font-weight:800;

}

.midwifery-info-card h3{

    margin:0 0 18px;

    color:#06162f;

    font-size:1.7rem;

    line-height:1.2;

    letter-spacing:-.04em;

    font-weight:700;

    transition:.35s;

}

.midwifery-info-card p{

    margin:0;

    color:rgba(6,22,47,.66);

    font-size:.95rem;

    line-height:1.75;

    transition:.35s;

}

.midwifery-info-card:hover h3{

    color:#b58b2b;

}

.midwifery-info-card:hover p{

    color:rgba(6,22,47,.82);

}


/*==================================================
SCROLL REVEAL
==================================================*/

.midwifery-info-header,
.midwifery-info-card{

    opacity:0;

    transform:translateY(45px);

    transition:
    opacity .9s ease,
    transform .9s cubic-bezier(.2,.7,.2,1);

}

.midwifery-info-header.midwifery-info-visible,
.midwifery-info-card.midwifery-info-visible{

    opacity:1;

    transform:none;

}

.midwifery-info-card:nth-child(1){transition-delay:.03s;}
.midwifery-info-card:nth-child(2){transition-delay:.06s;}
.midwifery-info-card:nth-child(3){transition-delay:.09s;}
.midwifery-info-card:nth-child(4){transition-delay:.12s;}
.midwifery-info-card:nth-child(5){transition-delay:.15s;}
.midwifery-info-card:nth-child(6){transition-delay:.18s;}
.midwifery-info-card:nth-child(7){transition-delay:.21s;}
.midwifery-info-card:nth-child(8){transition-delay:.24s;}






/*==================================================
MIDWIFERY — PROGRAMME INFORMATION
CSS PART 2
Responsive Styles • Accessibility
==================================================*/


/*==================================================
LARGE TABLET
==================================================*/

@media screen and (max-width: 1180px) {

    .midwifery-info {
        padding: 125px 5vw 135px;
    }

    .midwifery-info-header {
        margin-bottom: 72px;
    }

    .midwifery-info-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }

    .midwifery-info-card {
        min-height: 235px;
    }

}


/*==================================================
TABLET
==================================================*/

@media screen and (max-width: 820px) {

    .midwifery-info {
        padding: 105px 28px 115px;
    }

    .midwifery-info-header {
        margin-bottom: 62px;
    }

    .midwifery-info-header span {
        margin-bottom: 21px;

        font-size: 0.66rem;
        letter-spacing: 0.16em;
    }

    .midwifery-info-header span::before {
        width: 34px;
    }

    .midwifery-info-header h2 {
        font-size: clamp(2.8rem, 10vw, 5rem);
        line-height: 0.98;
    }

    .midwifery-info-card {
        min-height: 220px;
        padding: 30px;
    }

    .midwifery-info-card h3 {
        font-size: 1.55rem;
    }

}


/*==================================================
MOBILE
==================================================*/

@media screen and (max-width: 620px) {

    .midwifery-info {
        padding: 92px 20px 102px;
    }

    .midwifery-info::before {
        top: -150px;
        right: -190px;

        width: 390px;
        height: 390px;
    }

    .midwifery-info-header {
        margin-bottom: 52px;
    }

    .midwifery-info-header span {
        gap: 11px;

        margin-bottom: 18px;

        font-size: 0.62rem;
        letter-spacing: 0.15em;
    }

    .midwifery-info-header span::before {
        width: 28px;
    }

    .midwifery-info-header h2 {
        font-size: clamp(2.55rem, 12vw, 4rem);
        line-height: 0.98;
        letter-spacing: -0.055em;
    }

    .midwifery-info-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .midwifery-info-card {
        min-height: auto;
        padding: 27px 24px 29px;
    }

    .midwifery-info-card small {
        margin-bottom: 15px;

        font-size: 0.64rem;
        letter-spacing: 0.16em;
    }

    .midwifery-info-card h3 {
        margin-bottom: 13px;

        font-size: clamp(1.4rem, 7vw, 1.75rem);
        line-height: 1.24;
    }

    .midwifery-info-card p {
        font-size: 0.9rem;
        line-height: 1.7;
    }

}


/*==================================================
SMALL MOBILE
==================================================*/

@media screen and (max-width: 390px) {

    .midwifery-info {
        padding-right: 17px;
        padding-left: 17px;
    }

    .midwifery-info-header h2 {
        font-size: 2.45rem;
    }

    .midwifery-info-card {
        padding: 25px 21px 27px;
    }

}


/*==================================================
TOUCH DEVICES
==================================================*/

@media (hover: none) {

    .midwifery-info-card:hover {
        transform: none;
        box-shadow: none;
    }

    .midwifery-info-card.is-focused {
        transform: translateY(-5px);

        border-color: rgba(181, 139, 43, 0.28);

        box-shadow:
            0 22px 55px rgba(6, 22, 47, 0.1);
    }

    .midwifery-info-card.is-focused::before {
        transform: scaleX(1);
    }

    .midwifery-info-card.is-focused::after {
        opacity: 1;
        transform: scale(1);
    }

    .midwifery-info-card.is-focused h3 {
        color: #b58b2b;
    }

    .midwifery-info-card.is-focused p {
        color: rgba(6, 22, 47, 0.82);
    }

}


/*==================================================
REDUCED MOTION
==================================================*/

@media (prefers-reduced-motion: reduce) {

    .midwifery-info-header,
    .midwifery-info-card {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .midwifery-info-card,
    .midwifery-info-card::before,
    .midwifery-info-card::after,
    .midwifery-info-card h3,
    .midwifery-info-card p {
        transition: none;
    }

}











/*==================================================
MIDWIFERY — FREQUENTLY ASKED QUESTIONS
CSS PART 1
Layout • Accordion • Typography • Animation
==================================================*/

.midwifery-faq {
    position: relative;

    padding: 145px 6vw 155px;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 92% 10%,
            rgba(214, 174, 76, 0.09),
            transparent 28%
        ),
        #f7f5ef;

    color: #06162f;
}

.midwifery-faq::before {
    content: "";

    position: absolute;
    top: -220px;
    right: -190px;

    width: 570px;
    height: 570px;

    border: 1px solid rgba(6, 22, 47, 0.055);
    border-radius: 50%;

    pointer-events: none;
}

.midwifery-faq::after {
    content: "";

    position: absolute;
    bottom: -185px;
    left: -150px;

    width: 430px;
    height: 430px;

    border: 1px solid rgba(214, 174, 76, 0.11);
    border-radius: 50%;

    pointer-events: none;
}

.midwifery-faq-container {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1450px;
    margin: 0 auto;
}


/*==================================================
HEADER
==================================================*/

.midwifery-faq-header {
    max-width: 1030px;
    margin-bottom: 88px;
}

.midwifery-faq-header > span {
    position: relative;

    display: inline-flex;
    align-items: center;
    gap: 15px;

    margin-bottom: 26px;

    color: #a77f25;

    font-size: 0.72rem;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.midwifery-faq-header > span::before {
    content: "";

    display: block;

    width: 45px;
    height: 1px;

    background: #b58b2b;
}

.midwifery-faq-header h2 {
    max-width: 1050px;
    margin: 0;

    color: #06162f;

    font-size: clamp(3.2rem, 6.2vw, 6.9rem);
    line-height: 0.95;
    font-weight: 800;
    letter-spacing: -0.065em;
}

.midwifery-faq-header h2 em {
    display: block;

    color: #b58b2b;

    font-family: "Libre Baskerville", Georgia, serif;
    font-style: normal;
    font-weight: 400;
}

.midwifery-faq-header p {
    max-width: 720px;
    margin: 34px 0 0;

    color: rgba(6, 22, 47, 0.64);

    font-size: 1rem;
    line-height: 1.85;
}


/*==================================================
MAIN LAYOUT
==================================================*/

.midwifery-faq-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(320px, 0.42fr);

    gap: clamp(55px, 7vw, 105px);
    align-items: start;
}


/*==================================================
FAQ LIST
==================================================*/

.midwifery-faq-list {
    border-top: 1px solid rgba(6, 22, 47, 0.15);
}

.midwifery-faq-item {
    position: relative;

    border-bottom: 1px solid rgba(6, 22, 47, 0.15);

    transition:
        background 0.4s ease,
        border-color 0.4s ease;
}

.midwifery-faq-item::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 3px;
    height: 100%;

    background: #d6ae4c;

    transform: scaleY(0);
    transform-origin: top;

    transition:
        transform 0.45s
        cubic-bezier(0.2, 0.7, 0.2, 1);
}

.midwifery-faq-item.is-active {
    background: rgba(255, 255, 255, 0.68);
    border-color: rgba(181, 139, 43, 0.3);
}

.midwifery-faq-item.is-active::before {
    transform: scaleY(1);
}


/*==================================================
FAQ TRIGGER
==================================================*/

.midwifery-faq-trigger {
    width: 100%;
    min-height: 112px;

    padding: 29px 24px 29px 28px;

    display: grid;
    grid-template-columns: 50px minmax(0, 1fr) 36px;
    gap: 18px;
    align-items: center;

    border: 0;
    outline: 0;

    background: transparent;

    color: #06162f;
    text-align: left;

    cursor: pointer;

    transition:
        padding-left 0.4s ease,
        background 0.4s ease;
}

.midwifery-faq-trigger:hover {
    padding-left: 36px;
}

.midwifery-faq-trigger:focus-visible {
    outline: 2px solid #b58b2b;
    outline-offset: -4px;
}


/*==================================================
FAQ NUMBER
==================================================*/

.midwifery-faq-number {
    color: #b58b2b;

    font-size: 0.68rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.14em;
}


/*==================================================
FAQ QUESTION
==================================================*/

.midwifery-faq-question {
    color: #06162f;

    font-size: clamp(1.18rem, 1.8vw, 1.65rem);
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -0.032em;

    transition:
        color 0.35s ease,
        transform 0.35s ease;
}

.midwifery-faq-item.is-active
.midwifery-faq-question {
    color: #9b731e;
}


/*==================================================
PLUS / MINUS ICON
==================================================*/

.midwifery-faq-icon {
    position: relative;

    width: 32px;
    height: 32px;

    display: block;

    border: 1px solid rgba(6, 22, 47, 0.18);
    border-radius: 50%;

    transition:
        border-color 0.35s ease,
        background 0.35s ease,
        transform 0.4s ease;
}

.midwifery-faq-icon::before,
.midwifery-faq-icon::after {
    content: "";

    position: absolute;
    top: 50%;
    left: 50%;

    width: 12px;
    height: 1px;

    background: #06162f;

    transform: translate(-50%, -50%);

    transition:
        transform 0.4s ease,
        background 0.35s ease;
}

.midwifery-faq-icon::after {
    transform:
        translate(-50%, -50%)
        rotate(90deg);
}

.midwifery-faq-item.is-active
.midwifery-faq-icon {
    border-color: #b58b2b;
    background: #b58b2b;

    transform: rotate(180deg);
}

.midwifery-faq-item.is-active
.midwifery-faq-icon::before,
.midwifery-faq-item.is-active
.midwifery-faq-icon::after {
    background: #ffffff;
}

.midwifery-faq-item.is-active
.midwifery-faq-icon::after {
    transform:
        translate(-50%, -50%)
        rotate(0deg);
}


/*==================================================
FAQ PANEL
==================================================*/

.midwifery-faq-panel {
    display: grid;
    grid-template-rows: 0fr;

    overflow: hidden;

    transition:
        grid-template-rows 0.55s
        cubic-bezier(0.2, 0.7, 0.2, 1);
}

.midwifery-faq-item.is-active
.midwifery-faq-panel {
    grid-template-rows: 1fr;
}

.midwifery-faq-panel-inner {
    min-height: 0;

    padding: 0 72px 0 96px;

    overflow: hidden;

    opacity: 0;
    transform: translateY(-10px);

    transition:
        opacity 0.4s ease,
        transform 0.45s ease,
        padding-bottom 0.45s ease;
}

.midwifery-faq-item.is-active
.midwifery-faq-panel-inner {
    padding-bottom: 34px;

    opacity: 1;
    transform: translateY(0);
}

.midwifery-faq-panel-inner p {
    max-width: 690px;
    margin: 0;

    color: rgba(6, 22, 47, 0.67);

    font-size: 0.96rem;
    line-height: 1.85;
}


/*==================================================
SUPPORT CARD
==================================================*/

.midwifery-faq-support {
    position: sticky;
    top: 110px;

    min-height: 470px;
    padding: 42px 38px;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.08),
            rgba(255, 255, 255, 0.02)
        ),
        #06162f;

    color: #ffffff;

    box-shadow:
        0 30px 75px rgba(6, 22, 47, 0.14);

    transition:
        transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1),
        box-shadow 0.5s ease;
}

.midwifery-faq-support::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 3px;

    background: #d6ae4c;
}

.midwifery-faq-support::after {
    content: "";

    position: absolute;
    right: -120px;
    bottom: -125px;

    width: 280px;
    height: 280px;

    border: 1px solid rgba(214, 174, 76, 0.14);
    border-radius: 50%;

    pointer-events: none;
}

.midwifery-faq-support:hover {
    transform: translateY(-7px);

    box-shadow:
        0 38px 90px rgba(6, 22, 47, 0.2);
}

.midwifery-faq-support-label {
    position: relative;
    z-index: 2;

    display: block;

    margin-bottom: 24px;

    color: #d6ae4c;

    font-size: 0.66rem;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.midwifery-faq-support h3 {
    position: relative;
    z-index: 2;

    max-width: 360px;
    margin: 0 0 22px;

    color: #ffffff;

    font-size: clamp(2rem, 3vw, 3.35rem);
    line-height: 1.06;
    font-weight: 700;
    letter-spacing: -0.05em;
}

.midwifery-faq-support > p {
    position: relative;
    z-index: 2;

    max-width: 390px;
    margin: 0 0 35px;

    color: rgba(255, 255, 255, 0.68);

    font-size: 0.93rem;
    line-height: 1.8;
}


/*==================================================
SUPPORT LINK
==================================================*/

.midwifery-faq-support-link {
    position: relative;
    z-index: 2;

    width: fit-content;

    display: inline-flex;
    align-items: center;
    gap: 14px;

    padding: 15px 20px;

    border: 1px solid rgba(214, 174, 76, 0.55);

    color: #ffffff;
    text-decoration: none;

    font-size: 0.76rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;

    transition:
        color 0.35s ease,
        background 0.35s ease,
        border-color 0.35s ease,
        transform 0.35s ease;
}

.midwifery-faq-support-link svg {
    width: 19px;
    height: 19px;

    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;

    transition:
        transform 0.35s ease;
}

.midwifery-faq-support-link:hover {
    color: #06162f;

    background: #d6ae4c;
    border-color: #d6ae4c;

    transform: translateY(-2px);
}

.midwifery-faq-support-link:hover svg {
    transform: translateX(4px);
}


/*==================================================
SUPPORT NOTE
==================================================*/

.midwifery-faq-support-note {
    position: relative;
    z-index: 2;

    margin-top: auto;
    padding-top: 28px;

    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.midwifery-faq-support-note span {
    display: block;

    margin-bottom: 8px;

    color: rgba(255, 255, 255, 0.48);

    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.midwifery-faq-support-note strong {
    color: #ffffff;

    font-size: 0.94rem;
    line-height: 1.5;
    font-weight: 600;
}


/*==================================================
SCROLL REVEAL
==================================================*/

.midwifery-faq-header,
.midwifery-faq-list,
.midwifery-faq-support {
    opacity: 0;
    transform: translateY(46px);

    transition:
        opacity 0.9s ease,
        transform 0.9s
        cubic-bezier(0.2, 0.7, 0.2, 1);
}

.midwifery-faq-header.midwifery-faq-visible,
.midwifery-faq-list.midwifery-faq-visible,
.midwifery-faq-support.midwifery-faq-visible {
    opacity: 1;
    transform: translateY(0);
}

.midwifery-faq-list {
    transition-delay: 0.08s;
}

.midwifery-faq-support {
    transition-delay: 0.17s;
}














/*==================================================
MIDWIFERY FAQ
CSS PART 2
Responsive • Accessibility
==================================================*/


/*==================================================
LARGE TABLET
==================================================*/

@media screen and (max-width:1150px){

    .midwifery-faq{

        padding:125px 5vw 135px;

    }

    .midwifery-faq-layout{

        grid-template-columns:1fr;

        gap:65px;

    }

    .midwifery-faq-support{

        position:relative;
        top:auto;

        min-height:390px;

    }

}



/*==================================================
TABLET
==================================================*/

@media screen and (max-width:820px){

    .midwifery-faq{

        padding:105px 28px 115px;

    }

    .midwifery-faq-header{

        margin-bottom:62px;

    }

    .midwifery-faq-header span{

        margin-bottom:20px;

        font-size:.66rem;

        letter-spacing:.16em;

    }

    .midwifery-faq-header span::before{

        width:34px;

    }

    .midwifery-faq-header h2{

        font-size:clamp(2.8rem,10vw,5rem);

        line-height:.98;

    }

    .midwifery-faq-trigger{

        min-height:95px;

        padding:24px 18px;

        grid-template-columns:42px 1fr 30px;

        gap:15px;

    }

    .midwifery-faq-trigger:hover{

        padding-left:22px;

    }

    .midwifery-faq-question{

        font-size:1.28rem;

    }

    .midwifery-faq-panel-inner{

        padding:0 18px 0 58px;

    }

    .midwifery-faq-item.is-active
    .midwifery-faq-panel-inner{

        padding-bottom:28px;

    }

    .midwifery-faq-support{

        padding:34px;

    }

}



/*==================================================
MOBILE
==================================================*/

@media screen and (max-width:620px){

    .midwifery-faq{

        padding:92px 20px 100px;

    }

    .midwifery-faq::before{

        width:390px;
        height:390px;

        top:-150px;
        right:-170px;

    }

    .midwifery-faq-header{

        margin-bottom:50px;

    }

    .midwifery-faq-header span{

        gap:10px;

        margin-bottom:18px;

        font-size:.62rem;

        letter-spacing:.15em;

    }

    .midwifery-faq-header span::before{

        width:28px;

    }

    .midwifery-faq-header h2{

        font-size:clamp(2.45rem,12vw,4rem);

        line-height:.98;

    }

    .midwifery-faq-header p{

        margin-top:22px;

        font-size:.92rem;

        line-height:1.75;

    }

    .midwifery-faq-trigger{

        grid-template-columns:34px 1fr 26px;

        gap:12px;

        min-height:86px;

        padding:20px 15px;

    }

    .midwifery-faq-question{

        font-size:1.08rem;

        line-height:1.45;

    }

    .midwifery-faq-number{

        font-size:.62rem;

    }

    .midwifery-faq-panel-inner{

        padding:0 15px 0 46px;

    }

    .midwifery-faq-panel-inner p{

        font-size:.9rem;

        line-height:1.7;

    }

    .midwifery-faq-support{

        min-height:auto;

        padding:30px 24px;

    }

    .midwifery-faq-support h3{

        font-size:2rem;

    }

    .midwifery-faq-support-link{

        width:100%;

        justify-content:center;

    }

}



/*==================================================
SMALL MOBILE
==================================================*/

@media screen and (max-width:390px){

    .midwifery-faq{

        padding-right:17px;
        padding-left:17px;

    }

    .midwifery-faq-support{

        padding:26px 20px;

    }

}



/*==================================================
REDUCED MOTION
==================================================*/

@media (prefers-reduced-motion:reduce){

    .midwifery-faq-header,
    .midwifery-faq-list,
    .midwifery-faq-support{

        opacity:1;
        transform:none;
        transition:none;

    }

    .midwifery-faq-panel,
    .midwifery-faq-panel-inner,
    .midwifery-faq-support-link,
    .midwifery-faq-icon{

        transition:none;

    }

}












/*==================================================
MIDWIFERY — CINEMATIC CTA
==================================================*/

.midwifery-cta {
    position: relative;

    min-height: 780px;
    padding: 150px 6vw 62px;

    display: flex;
    align-items: flex-end;

    overflow: hidden;

    background: #06162f;
    color: #ffffff;

    isolation: isolate;
}


/*==================================================
BACKGROUND IMAGE
==================================================*/

.midwifery-cta-media {
    position: absolute;
    inset: 0;
    z-index: -4;

    overflow: hidden;
}

.midwifery-cta-media img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center;

    transform: scale(1.06);

    transition:
        transform 9s
        cubic-bezier(0.2, 0.65, 0.25, 1);
}

.midwifery-cta.is-visible
.midwifery-cta-media img {
    transform: scale(1);
}


/*==================================================
IMAGE OVERLAYS
==================================================*/

.midwifery-cta-overlay {
    position: absolute;
    inset: 0;
    z-index: -3;

    background:
        linear-gradient(
            90deg,
            rgba(2, 12, 29, 0.98) 0%,
            rgba(4, 19, 42, 0.92) 36%,
            rgba(4, 19, 42, 0.58) 67%,
            rgba(4, 19, 42, 0.3) 100%
        ),
        linear-gradient(
            180deg,
            rgba(6, 22, 47, 0.18) 0%,
            rgba(6, 22, 47, 0.18) 50%,
            rgba(6, 22, 47, 0.92) 100%
        );
}

.midwifery-cta-glow {
    position: absolute;
    top: -180px;
    left: -180px;
    z-index: -2;

    width: 620px;
    height: 620px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(214, 174, 76, 0.15) 0%,
            rgba(214, 174, 76, 0.05) 42%,
            transparent 72%
        );

    pointer-events: none;
}

.midwifery-cta::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;

    width: 100%;
    height: 4px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #d6ae4c 22%,
            #d6ae4c 78%,
            transparent
        );

    opacity: 0.9;
}

.midwifery-cta::after {
    content: "";

    position: absolute;
    right: -145px;
    bottom: -165px;
    z-index: -1;

    width: 440px;
    height: 440px;

    border: 1px solid rgba(214, 174, 76, 0.16);
    border-radius: 50%;

    pointer-events: none;
}


/*==================================================
CONTAINER
==================================================*/

.midwifery-cta-container {
    width: 100%;
    max-width: 1450px;
    margin: 0 auto;
}


/*==================================================
CONTENT
==================================================*/

.midwifery-cta-content {
    max-width: 900px;
    padding-bottom: 105px;
}

.midwifery-cta-label {
    display: inline-flex;
    align-items: center;
    gap: 15px;

    margin-bottom: 28px;

    color: #e3c46e;

    font-size: 0.7rem;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.midwifery-cta-label::before {
    content: "";

    width: 46px;
    height: 1px;

    background: #d6ae4c;
}

.midwifery-cta-content h2 {
    max-width: 930px;
    margin: 0;

    color: #ffffff;

    font-size: clamp(3.7rem, 7vw, 8.1rem);
    line-height: 0.9;
    font-weight: 800;
    letter-spacing: -0.07em;

    text-wrap: balance;
}

.midwifery-cta-content h2 em {
    display: block;

    color: #d6ae4c;

    font-family: "Libre Baskerville", Georgia, serif;
    font-style: normal;
    font-weight: 400;
}

.midwifery-cta-content p {
    max-width: 720px;
    margin: 38px 0 0;

    color: rgba(255, 255, 255, 0.76);

    font-size: 1rem;
    line-height: 1.9;
}


/*==================================================
BUTTONS
==================================================*/

.midwifery-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;

    margin-top: 42px;
}

.midwifery-cta-button {
    min-height: 58px;
    padding: 17px 23px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15px;

    border: 1px solid transparent;

    text-decoration: none;

    font-size: 0.75rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;

    transition:
        color 0.35s ease,
        background 0.35s ease,
        border-color 0.35s ease,
        transform 0.35s ease,
        box-shadow 0.35s ease;
}

.midwifery-cta-button svg {
    width: 19px;
    height: 19px;

    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;

    transition: transform 0.35s ease;
}

.midwifery-cta-button:hover {
    transform: translateY(-3px);
}

.midwifery-cta-button:hover svg {
    transform: translateX(4px);
}

.midwifery-cta-button:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 4px;
}

.midwifery-cta-button-primary {
    color: #06162f;

    background: #d6ae4c;
    border-color: #d6ae4c;

    box-shadow:
        0 18px 45px rgba(0, 0, 0, 0.2);
}

.midwifery-cta-button-primary:hover {
    color: #06162f;

    background: #e5c66e;
    border-color: #e5c66e;

    box-shadow:
        0 24px 55px rgba(0, 0, 0, 0.28);
}

.midwifery-cta-button-secondary {
    color: #ffffff;

    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.38);

    backdrop-filter: blur(9px);
    -webkit-backdrop-filter: blur(9px);
}

.midwifery-cta-button-secondary:hover {
    color: #06162f;

    background: #ffffff;
    border-color: #ffffff;
}


/*==================================================
BOTTOM INFORMATION
==================================================*/

.midwifery-cta-footer {
    padding-top: 26px;

    display: flex;
    align-items: center;
    gap: 20px;

    border-top: 1px solid rgba(255, 255, 255, 0.16);

    color: rgba(255, 255, 255, 0.58);

    font-size: 0.65rem;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.midwifery-cta-footer-line {
    width: 50px;
    height: 1px;

    background: rgba(214, 174, 76, 0.7);
}


/*==================================================
SCROLL REVEAL
==================================================*/

.midwifery-cta-label,
.midwifery-cta-content h2,
.midwifery-cta-content p,
.midwifery-cta-actions,
.midwifery-cta-footer {
    opacity: 0;
    transform: translateY(42px);

    transition:
        opacity 0.9s ease,
        transform 0.9s
        cubic-bezier(0.2, 0.7, 0.2, 1);
}

.midwifery-cta.is-visible
.midwifery-cta-label,
.midwifery-cta.is-visible
.midwifery-cta-content h2,
.midwifery-cta.is-visible
.midwifery-cta-content p,
.midwifery-cta.is-visible
.midwifery-cta-actions,
.midwifery-cta.is-visible
.midwifery-cta-footer {
    opacity: 1;
    transform: translateY(0);
}

.midwifery-cta.is-visible
.midwifery-cta-content h2 {
    transition-delay: 0.08s;
}

.midwifery-cta.is-visible
.midwifery-cta-content p {
    transition-delay: 0.16s;
}

.midwifery-cta.is-visible
.midwifery-cta-actions {
    transition-delay: 0.24s;
}

.midwifery-cta.is-visible
.midwifery-cta-footer {
    transition-delay: 0.32s;
}


/*==================================================
LARGE TABLET
==================================================*/

@media screen and (max-width: 1100px) {

    .midwifery-cta {
        min-height: 720px;
        padding: 130px 5vw 52px;
    }

    .midwifery-cta-content {
        max-width: 790px;
        padding-bottom: 90px;
    }

    .midwifery-cta-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(2, 12, 29, 0.98) 0%,
                rgba(4, 19, 42, 0.9) 50%,
                rgba(4, 19, 42, 0.55) 100%
            ),
            linear-gradient(
                180deg,
                rgba(6, 22, 47, 0.12),
                rgba(6, 22, 47, 0.92)
            );
    }

}


/*==================================================
TABLET
==================================================*/

@media screen and (max-width: 820px) {

    .midwifery-cta {
        min-height: 680px;
        padding: 110px 28px 42px;
    }

    .midwifery-cta-content {
        max-width: 700px;
        padding-bottom: 72px;
    }

    .midwifery-cta-content h2 {
        font-size: clamp(3.15rem, 11vw, 6rem);
        line-height: 0.94;
    }

    .midwifery-cta-content p {
        max-width: 630px;
        margin-top: 30px;

        font-size: 0.96rem;
        line-height: 1.8;
    }

}


/*==================================================
MOBILE
==================================================*/

@media screen and (max-width: 620px) {

    .midwifery-cta {
        min-height: 690px;
        padding: 96px 20px 32px;
    }

    .midwifery-cta-media img {
        object-position: 62% center;
    }

    .midwifery-cta-overlay {
        background:
            linear-gradient(
                180deg,
                rgba(3, 15, 34, 0.45) 0%,
                rgba(3, 15, 34, 0.75) 32%,
                rgba(3, 15, 34, 0.98) 76%,
                #06162f 100%
            );
    }

    .midwifery-cta-content {
        padding-bottom: 56px;
    }

    .midwifery-cta-label {
        gap: 11px;

        margin-bottom: 21px;

        font-size: 0.61rem;
        letter-spacing: 0.15em;
    }

    .midwifery-cta-label::before {
        width: 29px;
    }

    .midwifery-cta-content h2 {
        font-size: clamp(2.75rem, 13vw, 4.5rem);
        line-height: 0.95;
        letter-spacing: -0.06em;
    }

    .midwifery-cta-content p {
        margin-top: 24px;

        font-size: 0.91rem;
        line-height: 1.75;
    }

    .midwifery-cta-actions {
        flex-direction: column;
        gap: 12px;

        margin-top: 32px;
    }

    .midwifery-cta-button {
        width: 100%;
        min-height: 56px;
    }

    .midwifery-cta-footer {
        flex-wrap: wrap;
        gap: 10px 14px;

        padding-top: 21px;

        font-size: 0.58rem;
        letter-spacing: 0.11em;
    }

    .midwifery-cta-footer-line {
        width: 30px;
    }

}


/*==================================================
SMALL MOBILE
==================================================*/

@media screen and (max-width: 390px) {

    .midwifery-cta {
        padding-right: 17px;
        padding-left: 17px;
    }

    .midwifery-cta-content h2 {
        font-size: 2.7rem;
    }

}


/*==================================================
REDUCED MOTION
==================================================*/

@media (prefers-reduced-motion: reduce) {

    .midwifery-cta-media img {
        transform: none;
        transition: none;
    }

    .midwifery-cta-label,
    .midwifery-cta-content h2,
    .midwifery-cta-content p,
    .midwifery-cta-actions,
    .midwifery-cta-footer {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .midwifery-cta-button,
    .midwifery-cta-button svg {
        transition: none;
    }

}








