/* ==========================================================================
   Company profile (about-us/our-profile.php)
   Chaptered story: sticky chapter bar + five numbered chapters.
   ========================================================================== */

.profile-header { padding-bottom: 2.5rem; }

.profile-header__title {
    margin: 0;
    font-size: clamp(1rem, .95rem + .2vw, 1.1rem);
    font-family: var(--ph-font-body);
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--ph-red-strong);
}

/* Chapter bar ------------------------------------------------------------- */

.chapters {
    position: sticky;
    top: var(--ph-header-h);
    z-index: 1020;
    background: rgba(255, 255, 255, .96);
    border-top: 1px solid var(--ph-border);
    border-bottom: 1px solid var(--ph-border);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.chapters__list {
    display: flex;
    gap: .25rem;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-x: auto;
    scrollbar-width: none;
}

.chapters__list::-webkit-scrollbar { display: none; }

.chapters__list a {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    min-height: 56px;
    padding: 0 1rem;
    white-space: nowrap;
    color: var(--ph-muted);
    font-family: var(--ph-font-heading);
    font-size: .9rem;
    font-weight: 600;
    text-decoration: none;
    transition: color .2s ease;
}

.chapters__list a span {
    font-size: .72rem;
    color: #b3b9c4;
    transition: color .2s ease;
}

.chapters__list a::after {
    content: "";
    position: absolute;
    inset-inline-start: 1rem;
    inset-inline-end: 1rem;
    bottom: -1px;
    height: 2px;
    background: var(--ph-red);
    transform: scaleX(0);
    transition: transform .3s ease;
}

.chapters__list a:hover { color: var(--ph-ink); }

.chapters__list a.is-active { color: var(--ph-ink); }
.chapters__list a.is-active span { color: var(--ph-red-strong); }
.chapters__list a.is-active::after { transform: scaleX(1); }

.chapters__list li:first-child a { padding-inline-start: 0; }
.chapters__list li:first-child a::after { inset-inline-start: 0; }

/* Shared chapter pieces --------------------------------------------------- */

.chapter {
    padding: 6rem 0;
    scroll-margin-top: calc(var(--ph-header-h) + 70px);
}

.chapter__num {
    display: block;
    margin-bottom: 1rem;
    font-family: var(--ph-font-heading);
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .18em;
    color: var(--ph-red-strong);
}

.chapter__num::after {
    content: "";
    display: inline-block;
    width: 40px;
    height: 2px;
    margin-inline-start: .75rem;
    background: var(--ph-red);
    vertical-align: middle;
}

.chapter__num--light { color: #ff8a8e; }

.chapter__title {
    margin: 0 0 1.5rem;
    font-size: clamp(2rem, 1.4rem + 2.4vw, 3.25rem);
    font-weight: 800;
    letter-spacing: 0;
}

.chapter__text {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.85;
    color: var(--ph-body);
}

/* 01 We are Pride Group! -------------------------------------------------- */

.chapter--intro { padding-top: 4.5rem; }

.intro-split {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    align-items: center;
    gap: 3rem 5rem;
}

.intro-split__title {
    margin: 0 0 2rem;
    font-size: clamp(3rem, 2rem + 4.5vw, 5.75rem);
    font-weight: 800;
    line-height: .98;
    letter-spacing: 0;
}

.intro-split__lead {
    margin: 0;
    font-size: clamp(1.02rem, .98rem + .25vw, 1.15rem);
    line-height: 1.85;
}

.intro-split__media {
    position: relative;
    margin: 0;
    padding-block: 0 1.75rem; padding-inline: 1.75rem 0;
}

/* Red offset frame behind the photo */
.intro-split__media::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    bottom: 0;
    width: 70%;
    height: 70%;
    border-radius: 6px;
    background: var(--ph-red);
}

.intro-split__media img {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    border-radius: 6px;
    box-shadow: 0 40px 80px -40px rgba(13, 17, 23, .55);
}

/* CEO statement ----------------------------------------------------------- */

.statement {
    padding: 6rem 0;
    background:
        radial-gradient(40% 80% at 0% 0%, rgba(236, 31, 39, .25) 0%, rgba(236, 31, 39, 0) 70%),
        #12151d;
}

.statement__inner {
    max-width: 1000px;
    margin: 0;
}

.statement__quote {
    position: relative;
    margin: 0 0 2.5rem;
    padding-inline-start: 2.5rem;
    border-inline-start: 3px solid var(--ph-red);
}

.statement__quote p {
    margin: 0;
    font-family: var(--ph-font-heading);
    font-size: clamp(1.35rem, 1rem + 1.4vw, 2.1rem);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0;
    color: var(--ph-white);
}

.statement__by {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding-inline-start: 2.5rem;
}

.statement__by img {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(236, 31, 39, .6);
}

.statement__name {
    display: block;
    font-family: var(--ph-font-heading);
    font-weight: 700;
    color: var(--ph-white);
}

.statement__role {
    display: block;
    margin-top: .15rem;
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .12em;
    color: #ff5c61;
}

/* 02 Our Mission — overlap ----------------------------------------------- */

.overlap {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: center;
}

.overlap__media {
    grid-column: 1 / span 7;
    grid-row: 1;
    margin: 0;
}

.overlap__media img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 6px;
}

.overlap__card {
    position: relative;
    z-index: 1;
    grid-column: 6 / span 7;
    grid-row: 1;
    padding: 3rem;
    background: var(--ph-white);
    border-top: 4px solid var(--ph-red);
    border-radius: 6px;
    box-shadow: 0 40px 80px -40px rgba(13, 17, 23, .45);
}

/* 03 Our Philosophy ------------------------------------------------------- */

.chapter--philosophy {
    background: #fafafa;
    border-top: 1px solid var(--ph-border);
    border-bottom: 1px solid var(--ph-border);
}

.philosophy {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.philosophy .chapter__num::after { display: none; }

.philosophy .chapter__num::before,
.philosophy .chapter__num::after {
    content: "";
    display: inline-block;
    width: 40px;
    height: 2px;
    margin: 0 .75rem;
    background: var(--ph-red);
    vertical-align: middle;
}

.philosophy__text {
    margin: 0;
    font-family: var(--ph-font-heading);
    font-size: clamp(1.2rem, 1rem + .9vw, 1.65rem);
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
    color: var(--ph-ink);
}

/* 04 What Defines Us? ----------------------------------------------------- */

.defines-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    gap: 3rem 5rem;
}

.defines-split__media figure {
    position: sticky;
    top: calc(var(--ph-header-h) + 90px);
    margin: 0;
}

.defines-split__media img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 6px;
    box-shadow: 0 40px 80px -45px rgba(13, 17, 23, .5);
}

.advantages {
    margin: 2rem 0 0;
    padding: 0;
    list-style: none;
    counter-reset: adv;
}

.advantages li {
    position: relative;
    padding-block: 1.4rem 1.4rem; padding-inline: 4.5rem 0;
    border-top: 1px solid var(--ph-border);
    font-size: 1.02rem;
    line-height: 1.7;
    color: var(--ph-body);
    counter-increment: adv;
}

.advantages li:last-child { border-bottom: 1px solid var(--ph-border); }

.advantages li::before {
    content: counter(adv, decimal-leading-zero);
    position: absolute;
    inset-inline-start: 0;
    top: 1.15rem;
    font-family: var(--ph-font-heading);
    font-size: 1.9rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
    color: transparent;
    -webkit-text-stroke: 1.5px var(--ph-red);
}

.advantages strong {
    font-family: var(--ph-font-heading);
    font-weight: 700;
    color: var(--ph-ink);
}

/* 05 Get in Touch ---------------------------------------------------------- */

.cta-band {
    position: relative;
    padding: 6rem 0;
    background:
        linear-gradient(90deg, rgba(10, 13, 20, .92) 0%, rgba(10, 13, 20, .75) 55%, rgba(10, 13, 20, .5) 100%),
        url("../../img/get-in-touch.jpg") center / cover no-repeat;
    color: var(--ph-white);
    scroll-margin-top: calc(var(--ph-header-h) + 70px);
}

.cta-band__inner {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
}

.cta-band__title {
    margin: 0 0 .5rem;
    color: var(--ph-white);
    font-size: clamp(2.2rem, 1.5rem + 3vw, 4rem);
    font-weight: 800;
    letter-spacing: 0;
}

.cta-band__text {
    margin: 0;
    font-size: clamp(1.1rem, 1rem + .5vw, 1.4rem);
    color: rgba(255, 255, 255, .8);
}

.cta-band__btn { flex-shrink: 0; }

/* Responsive -------------------------------------------------------------- */

@media (max-width: 991.98px) {
    .chapter, .statement, .cta-band { padding: 4.5rem 0; }
    .intro-split, .defines-split { grid-template-columns: 1fr; }
    .intro-split__media { max-width: 560px; }
    .defines-split__media figure { position: static; }

    .overlap { display: block; }
    .overlap__card { margin: -4rem 1.5rem 0; padding: 2.25rem; }

    .cta-band__inner { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 575.98px) {
    .chapter, .statement, .cta-band { padding: 3.5rem 0; }
    .chapter--intro { padding-top: 2.5rem; }
    .chapters__list a { min-height: 50px; padding: 0 .75rem; font-size: .85rem; }
    .intro-split__media { padding-block: 0 1rem; padding-inline: 1rem 0; }
    .statement__quote, .statement__by { padding-inline-start: 1.25rem; }
    .overlap__card { margin: -2.5rem .75rem 0; padding: 1.75rem 1.25rem; }
    .advantages li { padding-inline-start: 3.5rem; }
    .advantages li::before { font-size: 1.5rem; }
    .cta-band__btn { width: 100%; }
}
