:root {
    --go-navy: #20296e;
    --go-pink: #ff70a3;
    --go-pink-soft: #fff1f6;
    --go-lav: #f3efff;
    --go-ink: #20233a;
    --go-muted: #68708a;
    --go-white: #fff;
    --go-border: rgba(32, 41, 110, .10);
    --go-shadow: 0 18px 55px rgba(32, 41, 110, .10)
}



html {
    scroll-behavior: smooth
}



h1,
h2,
h3,
h4,
h5,
h6,
.navbar-brand,
.nav-link,
.eyebrow,
.btn,
.journey-year,
.therapy-number,
.advisory-number {
    font-family: "Manrope", sans-serif
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--go-navy);
    font-weight: 700;
    line-height: 1.18
}

p {
    color: #62697e
}

.container {
    max-width: 1180px
}

.section-pad {
    padding: 95px 0
}

.section-soft {
    background: linear-gradient(135deg, #fff7fa 0%, #f7f4ff 55%, #fff 100%);
    position: relative;
    overflow: hidden
}

.section-soft:before {
    content: "";
    position: absolute;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    background: rgba(255, 112, 163, .08);
    filter: blur(5px);
    right: -180px;
    top: -180px
}

.display-title {
    letter-spacing: -.035em
}

.gradient-word {
    background: linear-gradient(90deg, var(--go-navy), var(--go-pink));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--go-pink);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase
}

.eyebrow:before {
    content: "";
    width: 28px;
    height: 2px;
    border-radius: 4px;
    background: var(--go-pink)
}

.lead-copy {
    font-size: 1.08rem;
    line-height: 1.6em;
    color: #505873;
    margin-bottom: 12px;
}

/* header */
.main-header {
    position: relative;
    z-index: 1000;
    background: rgba(255, 255, 255, .96);
    border-bottom: 1px solid rgba(32, 41, 110, .08);
    box-shadow: 0 4px 24px rgba(32, 41, 110, .05)
}

.header-sticky {
    position: relative
}

.main-header .navbar {
    min-height: 86px;
    padding: 13px 28px
}

/* .navbar-brand img {
    max-height: 54px;
    width: auto
} */

.main-menu {
    justify-content: flex-end
}

.main-menu .navbar-nav {
    gap: 5px;
    align-items: center
}

.main-menu .nav-link {
    color: var(--go-navy);
    font-size: .9rem;
    font-weight: 700;
    padding: .7rem .95rem !important;
    border-radius: 999px;
    transition: .25s
}

.main-menu .nav-link:hover,
.main-menu .nav-link:focus {
    color: var(--go-pink);
    background: var(--go-pink-soft)
}

.navbar-toggler {
    border: 1px solid rgba(32, 41, 110, .15);
    border-radius: 10px;
    padding: .55rem
}

.navbar-toggler:focus {
    box-shadow: 0 0 0 .2rem rgba(255, 112, 163, .16)
}

.navbar-toggler-icon {
    width: 1.35rem;
    height: 1.35rem
}

/* hero */
.about-hero {
    position: relative;
    overflow: hidden;
    padding: 110px 0 105px;
    background: radial-gradient(circle at 82% 22%, rgba(255, 112, 163, .18), transparent 30%), radial-gradient(circle at 72% 78%, rgba(117, 94, 224, .13), transparent 28%), linear-gradient(135deg, #fff 0%, #fff4f8 50%, #f5f1ff 100%)
}

.hero-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(1px);
    pointer-events: none
}

.hero-orb.one {
    width: 230px;
    height: 230px;
    right: -80px;
    top: -70px;
    background: rgba(255, 112, 163, .10)
}

.hero-orb.two {
    width: 180px;
    height: 180px;
    left: -90px;
    bottom: -60px;
    background: rgba(32, 41, 110, .06)
}

.hero-content {
    position: relative;
    z-index: 2
}

.hero-title {
    font-size: clamp(2.8rem, 5vw, 5.2rem);
    max-width: 760px;
    margin: 18px 0 24px
}

.hero-title em {
    font-style: normal;
    color: var(--go-pink)
}

.hero-image-wrap {
    position: relative;
    padding: 14px
}

.hero-image-wrap:before {
    content: "";
    position: absolute;
    inset: 0 18px 18px 0;
    border-radius: 42px;
    background: linear-gradient(135deg, rgba(255, 112, 163, .45), rgba(32, 41, 110, .12));
    transform: rotate(-4deg)
}

.hero-image {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    aspect-ratio: 4/4.7;
    object-fit: cover;
    border-radius: 36px;
    box-shadow: 0 30px 70px rgba(32, 41, 110, .18)
}

.hero-badge {
    position: absolute;
    z-index: 2;
    left: -4px;
    bottom: 35px;
    background: #fff;
    border: 1px solid rgba(255, 112, 163, .22);
    box-shadow: var(--go-shadow);
    padding: 15px 20px;
    border-radius: 18px;
    display: flex;
    flex-direction: column
}

.hero-badge small {
    font-family: Manrope;
    color: var(--go-pink);
    font-weight: 700
}

.hero-badge strong {
    font-family: Manrope;
    color: var(--go-navy);
    font-size: 1.15rem
}

/* cards */
.journey-panel,
.statement-card,
.value-card,
.person-card,
.advisory-card,
.therapy-card,
.partner-card,
.who-card {
    height: 100%;
    background: rgba(255, 255, 255, .9);
    border: 1px solid var(--go-border);
    border-radius: 24px;
    box-shadow: var(--go-shadow)
}

.journey-panel {
    padding: 35px
}

.journey-timeline {
    position: relative;
    margin-top: 30px;
    padding-left: 28px
}

.journey-timeline:before {
    content: "";
    position: absolute;
    left: 6px;
    top: 10px;
    bottom: 10px;
    width: 2px;
    background: linear-gradient(var(--go-pink), rgba(32, 41, 110, .15))
}

.journey-item {
    position: relative;
    margin-bottom: 22px
}

.journey-dot {
    position: absolute;
    left: -28px;
    top: 18px;
    width: 14px;
    height: 14px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: var(--go-pink);
    box-shadow: 0 0 0 4px rgba(255, 112, 163, .16)
}

.journey-card {
    padding: 21px 22px;
    border-radius: 18px;
    background: linear-gradient(135deg, #fff, #fff7fa);
    border: 1px solid rgba(255, 112, 163, .12)
}

.journey-year {
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--go-pink);
    margin-bottom: 8px
}

.journey-card h3 {
    font-size: 1rem;
    margin-bottom: 7px;
    line-height: 24px;
}

.journey-card p {
    font-size: .93rem;
    margin: 0
}

.why-box {
    padding: 55px;
    border-radius: 32px;
    background: linear-gradient(135deg, #20296e, #2e377f 55%, #4a3d83);
    color: #fff;
    box-shadow: 0 28px 70px rgba(32, 41, 110, .22);
    overflow: hidden;
    position: relative
}

.why-box:after {
    content: "";
    position: absolute;
    width: 340px;
    height: 340px;
    border-radius: 50%;
    right: -130px;
    top: -140px;
    background: rgba(255, 112, 163, .16)
}

.why-box h2,
.why-box p {
    color: #fff;
    position: relative;
    z-index: 1
}

.why-point {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 17px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .14);
    position: relative;
    z-index: 1
}

.why-point:last-child {
    border-bottom: 0
}

.why-point i {
    color: #ffb4cf;
    margin-top: 5px
}

.why-point h3 {
    color: #fff;
    font-size: 1rem;
    margin: 0 0 4px
}

.why-point p {
    margin: 0;
    color: rgba(255, 255, 255, .78);
    font-size: .9rem
}

.statement-card {
    padding: 35px;
    position: relative;
    overflow: hidden
}

.statement-card:after {
    content: "";
    position: absolute;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    right: -55px;
    bottom: -55px;
    background: var(--go-pink-soft)
}

.statement-icon,
.value-icon,
.advisory-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #fff0f6, #f0edff);
    color: var(--go-pink);
    font-size: 1.35rem;
    margin-bottom: 20px
}

.statement-card h3 {
    font-size: 1.35rem
}

.statement-card p {
    margin-bottom: 0
}

.value-card {
    padding: 30px 24px;
    text-align: center;
    transition: transform .25s ease, box-shadow .25s ease
}

.value-card:hover,
.advisory-card:hover,
.therapy-card:hover,
.partner-card:hover,
.who-card:hover,
.person-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 25px 65px rgba(32, 41, 110, .14)
}

.value-card .value-icon {
    margin: 0 auto 20px;
}

.value-card h3 {
    font-size: 1.15rem;
    margin-bottom: 10px;
}

.value-card p {
    font-size: .9rem;
    margin: 0
}

.culture-box {
    margin-top: 25px;
    padding: 26px 30px;
    border-radius: 22px;
    background: linear-gradient(90deg, #fff0f6, #f4f1ff);
    border: 1px solid rgba(255, 112, 163, .12)
}

.culture-box strong {
    display: block;
    font-family: Manrope;
    color: var(--go-pink);
    font-size: 1.1rem;
    margin-bottom: 6px
}

.culture-box p {
    margin: 0
}

/* need */
.need-section {
    background: #fff
}

.stat-card {
    height: 100%;
    padding: 34px 26px;
    border-radius: 25px;
    background: linear-gradient(145deg, #fff, #fff5f8);
    border: 1px solid rgba(255, 112, 163, .13);
    box-shadow: 0 15px 45px rgba(32, 41, 110, .07)
}

.stat-number {
    font-family: Manrope;
    font-weight: 800;
    font-size: 3.2rem;
    line-height: 1;
    color: var(--go-navy);
    margin-bottom: 12px
}

.stat-label {
    font-family: Manrope;
    font-weight: 700;
    color: var(--go-navy);
    font-size: 1rem
}

.stat-source {
    display: block;
    margin-top: 12px;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .1em;
    color: var(--go-pink);
    text-transform: uppercase
}

/* people */
.person-card {
    padding: 15px 15px 25px;
    text-align: left;
    overflow: hidden;
}

.person-img {
    width: 100%;
    height: 310px;
    object-fit: cover;
    border-radius: 18px;
    margin-bottom: 22px;
    background: linear-gradient(135deg, #fce5ee, #eeeafd);
    object-position: center 23%;
}

.person-card h3 {
    font-size: 1.25rem;
    margin-bottom: 3px;
    margin-left: 10px;
}

.person-role {
    font-family: Manrope;
    font-size: .78rem;
    color: var(--go-pink);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .07em;
    margin-bottom: 12px;
    margin-left: 10px;
}

.person-card p {
    font-size: .9rem;
    margin: 0 10px
}

.advisory-card {
    padding: 30px;
    text-align: center
}

.advisory-icon {
    margin: 0 auto 16px
}

.advisory-number {
    font-size: 3rem;
    color: var(--go-pink);
    font-weight: 800;
    line-height: 1;
    margin-bottom: 10px
}

.advisory-card h3 {
    font-size: 1.05rem;
    margin-bottom:10px;
}

.advisory-card p {
    font-size: .88rem;
    margin: 0
}

/* therapy */
.therapy-card {
    padding: 26px;
    min-height: 205px;
    background: linear-gradient(145deg, #fff, #f8f6ff);
    transition: .25s
}

.therapy-number {
    color: var(--go-pink);
    font-weight: 800;
    font-size: .75rem;
    letter-spacing: .12em;
    margin-bottom: 24px
}

.therapy-card h3 {
    font-size: 1.02rem;
    margin-bottom: 9px
}

.therapy-card p {
    font-size: .86rem;
    margin: 0
}

.who-card {
    padding: 27px;
    background: #fff
}

.who-card .who-icon {
    font-size: 1.5rem;
    color: var(--go-pink);
    margin-bottom: 17px
}

.who-card h3 {
    font-size: 1.05rem
}

.who-card p {
    font-size: .87rem;
    margin: 0
}

/* partner + cta */
.partner-card {
    padding: 32px;
    position: relative;
    overflow: hidden;
    background: linear-gradient(145deg, #fff, #fff6f9)
}

.partner-card .partner-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: var(--go-navy);
    color: #fff;
    margin-bottom: 20px
}

.partner-card h3 {
    font-size: 1.15rem;
    margin-bottom: 10px;
}

.partner-card p {
    font-size: .9rem;
    margin: 0
}

.cta {
    padding: 35px 0 90px
}

.cta-box {
    padding: 60px;
    border-radius: 32px;
    background: linear-gradient(135deg, #20296e, #343d86 55%, #7c527d);
    color: #fff;
    box-shadow: 0 28px 70px rgba(32, 41, 110, .20)
}

.cta-box h2,
.cta-box p {
    color: #fff
}

.cta-box p {
    opacity: .82
}

.btn-light-custom {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 13px 22px;
    border-radius: 999px;
    background: #fff;
    color: var(--go-navy);
    font-family: Manrope;
    font-weight: 800;
    text-decoration: none;
    transition: .25s
}

.btn-light-custom:hover {
    color: #fff;
    background: var(--go-pink);
    transform: translateY(-2px)
}

/* footer */
.main-footer {
    background: #111735;
    color: #fff
}

.main-footer-box {
    padding: 70px 0 30px
}

.about-footer-content p,
.footer-address {
    color: rgba(255, 255, 255, .68)
}

.footer-title,
.footer-links h3 {
    font-family: Manrope;
    color: #fff;
    font-size: 1rem;
    margin-bottom: 20px
}

.footer-links ul {
    padding: 0;
    margin: 0;
    list-style: none
}

.footer-links li {
    margin-bottom: 9px
}

.footer-links a {
    color: rgba(255, 255, 255, .68);
    text-decoration: none;
    font-size: .9rem
}

.footer-links a:hover {
    color: #ffb1cc
}

.footer-social-links ul {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 9px
}

.footer-social-links a {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    color: #fff
}

.footer-copyright {
    border-top: 1px solid rgba(255, 255, 255, .10);
    padding-top: 22px;
    margin-top: 35px
}

.footer-copyright-text p {
    color: rgba(255, 255, 255, .5);
    font-size: .78rem;
    margin: 0
}

/* reveal */
.reveal-ready {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .7s ease, transform .7s ease
}

.reveal-ready.is-visible {
    opacity: 1;
    transform: none
}

.wow {
    visibility: visible !important
}

.wow.reveal-ready {
    animation: none !important
}

/* image fallbacks */
img {
    max-width: 100%
}

@media(max-width:991.98px) {
    .main-header .navbar {
        padding: 12px 18px
    }

    .main-menu .navbar-nav {
        padding: 14px 0;
        gap: 0
    }

    .main-menu .nav-link {
        border-radius: 12px
    }

    .about-hero {
        padding: 75px 0
    }

    .hero-title {
        font-size: clamp(2.6rem, 8vw, 4.2rem)
    }

    .section-pad {
        padding: 72px 0
    }

    .journey-panel {
        padding: 26px
    }

    .cta-box,
    .why-box {
        padding: 38px 28px
    }
}

@media(max-width:575.98px) {
    .section-pad {
        padding: 58px 0
    }

    .about-hero {
        padding: 58px 0 70px
    }

    .hero-title {
        font-size: 2.55rem
    }

    .hero-badge {
        left: 0;
        bottom: 20px
    }

    .hero-image {
        border-radius: 25px
    }

    .hero-image-wrap:before {
        border-radius: 30px
    }

    .journey-timeline {
        padding-left: 22px
    }

    .journey-dot {
        left: -22px
    }

    .stat-number {
        font-size: 2.5rem
    }

    .person-img {
        height: 280px
    }

    .cta-box {
        padding: 34px 24px
    }
}

.need-number{
    font-size: 25px;
    
    font-weight:700;
}
.need-stat p{margin-top: 15px;}
.source-note{font-weight: 600;}