/*
Theme Name: CIB Wealth Preservation
Description: Custom child theme for CIB Wealth Preservation.
Author: CIB Wealth Management LLP
Template: kadence
Version: 1.0.5
*/

/* ---------------------------------------------------------
   CIB Wealth Preservation
   Custom styles
   --------------------------------------------------------- */

/* Remove Kadence page-title banner from the homepage only */
.home .entry-hero.page-hero-section,
.page-id-16 .entry-hero.page-hero-section,
.page-id-11 .entry-hero.page-hero-section {
    display: none;
}

/* ---------------------------------------------------------
   Homepage photographic hero
   --------------------------------------------------------- */

.home .cib-hero {
    min-height: 560px !important;
    background-image:
        linear-gradient(
            90deg,
            rgba(255,255,255,0.98) 0%,
            rgba(255,255,255,0.92) 28%,
            rgba(255,255,255,0.55) 48%,
            rgba(255,255,255,0.05) 68%
        ),
        url("/wp-content/uploads/2026/09/ChatGPT-Image-Sep-30-2026-at-11_28_32-AM.png");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.home .cib-hero .wp-block-cover__background {
    display: none;
}

.home .cib-hero .wp-block-cover__inner-container {
    width: 100%;
}

.home .cib-hero .wp-block-group {
    margin-left: auto;
    margin-right: auto;
    padding-left: 40px;
    padding-right: 40px;
}

.home .cib-hero h1 {
    max-width: 620px;
    margin-bottom: 22px;
    font-size: clamp(42px, 4vw, 60px);
    line-height: 1.08;
    color: #17233f;
}

.home .cib-hero-intro {
    max-width: 650px;
    margin-bottom: 28px;
    font-size: 19px;
    line-height: 1.55;
    color: #29354d;
}

.home .cib-hero .wp-block-buttons {
    gap: 14px;
}

/* Tablet and mobile */
@media (max-width: 900px) {
    .home .cib-hero {
        min-height: 540px !important;
        background-position: 62% center;
    }

    .home .cib-hero .wp-block-group {
        padding-left: 25px;
        padding-right: 25px;
    }

    .home .cib-hero h1 {
        max-width: 520px;
    }

    .home .cib-hero-intro {
        max-width: 540px;
    }
}

@media (max-width: 600px) {
    .home .cib-hero {
        min-height: 600px !important;
        background-position: 68% center;
        background-image:
            linear-gradient(
                90deg,
                rgba(255,255,255,0.98) 0%,
                rgba(255,255,255,0.90) 55%,
                rgba(255,255,255,0.45) 100%
            ),
            url("/wp-content/uploads/2026/09/ChatGPT-Image-Sep-30-2026-at-11_28_32-AM.png");
    }

    .home .cib-hero h1 {
        font-size: 38px;
    }

    .home .cib-hero-intro {
        font-size: 17px;
    }
}

/* ---------------------------------------------------------
   Header branding
   Hide text site title — logo provides the visual identity
   --------------------------------------------------------- */

.site-title-wrap {
    display: none !important;
}


/* ---------------------------------------------------------
   Header refinement
   --------------------------------------------------------- */

/* Give the CIB logo slightly more presence */
.site-branding .custom-logo {
    max-width: 220px;
    width: 220px;
    height: auto;
}

/* Keep the header clean and relatively compact */
.site-main-header-inner-wrap {
    min-height: 82px;
}

/* Mobile */
@media (max-width: 767px) {
    .site-branding .custom-logo {
        max-width: 180px;
        width: 180px;
    }

    .site-main-header-inner-wrap {
        min-height: 72px;
    }
}


/* ---------------------------------------------------------
   Header refinement
   --------------------------------------------------------- */

/* Give the CIB logo slightly more presence */
.site-branding .custom-logo {
    max-width: 220px;
    width: 220px;
    height: auto;
}

/* Keep the header clean and relatively compact */
.site-main-header-inner-wrap {
    min-height: 82px;
}

/* Mobile */
@media (max-width: 767px) {
    .site-branding .custom-logo {
        max-width: 180px;
        width: 180px;
    }

    .site-main-header-inner-wrap {
        min-height: 72px;
    }
}


/* ---------------------------------------------------------
   Homepage service cards
   --------------------------------------------------------- */

.home .cib-services .wp-block-columns {
    gap: 28px;
    align-items: stretch;
    margin-top: 36px;
}

.home .cib-services .wp-block-column {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 32px 30px 28px;
    background: #fafbfb;
    border: 1px solid #e4e9ec;
    border-radius: 4px;
    box-shadow: 0 5px 18px rgba(23, 35, 63, 0.05);
    overflow: hidden;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease;
}

/* Restrained CIB teal accent */
.home .cib-services .wp-block-column::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: #087f99;
}

.home .cib-services .wp-block-column:hover {
    transform: translateY(-3px);
    border-color: rgba(8, 127, 153, 0.35);
    box-shadow: 0 10px 28px rgba(23, 35, 63, 0.09);
}

.home .cib-services .wp-block-column h3 {
    margin-top: 0;
    margin-bottom: 14px;
    color: #17233f;
}

.home .cib-services .wp-block-column p {
    margin-top: 0;
}

/* Keep the service links aligned along the bottom */
.home .cib-services .wp-block-column p:last-child {
    margin-top: auto;
    margin-bottom: 0;
    padding-top: 20px;
}

.home .cib-services .wp-block-column p:last-child a {
    font-weight: 600;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

/* Tablet/mobile */
@media (max-width: 781px) {
    .home .cib-services .wp-block-columns {
        gap: 20px;
    }

    .home .cib-services .wp-block-column {
        padding: 26px 24px 24px;
    }
}


/* ---------------------------------------------------------
   Homepage planning information band
   --------------------------------------------------------- */

.home .cib-planning {
    max-width: none !important;
    margin-top: 55px;
    margin-bottom: 55px;
    padding: 52px 40px;
    background: #f4f7f8;
    border-top: 1px solid #e4e9ec;
    border-bottom: 1px solid #e4e9ec;
}

.home .cib-planning > * {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.home .cib-planning h2 {
    margin-top: 0;
    margin-bottom: 22px;
    color: #17233f;
}

.home .cib-planning p {
    margin-bottom: 20px;
}

.home .cib-planning p:last-child {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .home .cib-planning {
        margin-top: 40px;
        margin-bottom: 40px;
        padding: 38px 24px;
    }
}


/* Centre homepage approach section heading */
.home .cib-approach h2 {
    text-align: center;
}


/* ---------------------------------------------------------
   Homepage closing call to action
   --------------------------------------------------------- */

.home .cib-cta {
    max-width: 1000px !important;
    margin-top: 55px;
    margin-bottom: 20px;
    padding: 48px 50px 50px;
    background: #17233f;
    border-radius: 4px;
    color: #ffffff;
}

.home .cib-cta h2 {
    margin-top: 0;
    margin-bottom: 16px;
    color: #ffffff;
}

.home .cib-cta p {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    color: rgba(255,255,255,0.90);
}

.home .cib-cta .wp-block-buttons {
    margin-top: 26px;
}

.home .cib-cta .wp-block-button__link {
    background: #087f99;
    color: #ffffff;
    border: 2px solid #087f99;
    font-weight: 600;
    padding: 12px 24px;
    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

.home .cib-cta .wp-block-button__link:hover {
    background: #075a70;
    border-color: #075a70;
    color: #ffffff;
    transform: translateY(-1px);
}

@media (max-width: 767px) {
    .home .cib-cta {
        margin-top: 40px;
        padding: 38px 24px 40px;
    }
}


/* Align closing CTA with main homepage content width */
.home .cib-cta {
    max-width: none !important;
    width: 100%;
}

.home .cib-cta > * {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.home .cib-cta .wp-block-buttons {
    justify-content: center;
}


/* ---------------------------------------------------------
   Footer refinement
   --------------------------------------------------------- */

.site-footer {
    margin-top: 0;
}

.site-bottom-footer-wrap {
    padding-top: 32px;
    padding-bottom: 32px;
}

.site-footer .footer-html-inner p {
    margin: 0;
    line-height: 1.7;
}

.site-footer .footer-html-inner a {
    font-weight: 500;
}


/* ---------------------------------------------------------
   Wills page
   --------------------------------------------------------- */

/* Remove standard Kadence page title */
.page-id-16 .entry-hero.page-hero-section {
    display: none;
}

/* Hero */
.page-id-16 .cib-wills-hero {
    min-height: 500px !important;
    background: #f4f7f8;
}

.page-id-16 .cib-wills-hero .wp-block-cover__inner-container {
    width: 100%;
}

.page-id-16 .cib-wills-hero .wp-block-group {
    padding-left: 40px;
    padding-right: 40px;
}

.page-id-16 .cib-wills-hero h1 {
    max-width: 680px;
    margin-bottom: 22px;
    font-size: clamp(42px, 4vw, 60px);
    line-height: 1.08;
    color: #17233f;
}

.page-id-16 .cib-wills-hero .cib-hero-intro {
    max-width: 680px;
    margin-bottom: 28px;
    font-size: 19px;
    line-height: 1.55;
    color: #29354d;
}

/* Main sections */
.page-id-16 .cib-wills-intro,
.page-id-16 .cib-wills-personal,
.page-id-16 .cib-wider-planning {
    padding-top: 55px;
    padding-bottom: 55px;
}

.page-id-16 .cib-wills-intro h2,
.page-id-16 .cib-wills-personal h2,
.page-id-16 .cib-wider-planning h2 {
    margin-bottom: 25px;
}

/* Four Will cards */
.page-id-16 .cib-will-options {
    padding-top: 10px;
    padding-bottom: 45px;
}

.page-id-16 .cib-will-options .wp-block-columns {
    gap: 26px;
    margin-bottom: 26px;
}

.page-id-16 .cib-will-options .cib-service-card {
    position: relative;
    padding: 30px;
    border: 1px solid #dfe5e8;
    border-radius: 3px;
    background: #fafbfb;
    box-shadow: 0 8px 22px rgba(23,35,63,0.04);
}

.page-id-16 .cib-will-options .cib-service-card::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    right: -1px;
    height: 4px;
    background: #087f99;
    border-radius: 3px 3px 0 0;
}

.page-id-16 .cib-will-options h3 {
    margin-top: 0;
}

/* Review panel */
.page-id-16 .cib-wills-review {
    padding: 50px 70px;
    background: #f4f7f8;
}

.page-id-16 .cib-wills-review h2 {
    margin-bottom: 25px;
}

/* CTA */
.page-id-16 .cib-wills-cta {
    max-width: 1000px;
    margin: 10px auto 0;
}

/* Responsive */
@media (max-width: 900px) {
    .page-id-16 .cib-wills-hero .wp-block-group {
        padding-left: 25px;
        padding-right: 25px;
    }

    .page-id-16 .cib-wills-review {
        padding: 40px;
    }
}

@media (max-width: 600px) {
    .page-id-16 .cib-wills-hero {
        min-height: 480px !important;
    }

    .page-id-16 .cib-wills-hero h1 {
        font-size: 38px;
    }

    .page-id-16 .cib-wills-hero .cib-hero-intro {
        font-size: 17px;
    }

    .page-id-16 .cib-wills-review {
        padding: 30px 24px;
    }
}

/* ---------------------------------------------------------
   Wills page photographic hero
   --------------------------------------------------------- */

.page-id-16 .cib-wills-hero {
    min-height: 500px !important;
    background-image:
        linear-gradient(
            90deg,
            rgba(255,255,255,0.98) 0%,
            rgba(255,255,255,0.94) 28%,
            rgba(255,255,255,0.62) 48%,
            rgba(255,255,255,0.08) 70%
        ),
        url("/wp-content/uploads/2026/09/ChatGPT-Image-Sep-30-2026-at-12_29_18-PM.png");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.page-id-16 .cib-wills-hero .wp-block-cover__background {
    display: none;
}

.page-id-16 .cib-wills-hero .wp-block-cover__inner-container {
    width: 100%;
}

.page-id-16 .cib-wills-hero h1 {
    max-width: 620px;
    color: #17233f;
}

.page-id-16 .cib-wills-hero p {
    max-width: 650px;
    color: #29354d;
}


/* Final Wills CTA */
.page-id-16 .cib-wills-cta {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding: 46px 50px;
    background: #17233f;
    border-radius: 3px;
}

.page-id-16 .cib-wills-cta h2,
.page-id-16 .cib-wills-cta p {
    color: #ffffff;
}

/* Tablet */
@media (max-width: 900px) {
    .page-id-16 .cib-wills-hero {
        min-height: 500px !important;
        background-position: 62% center;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .page-id-16 .cib-wills-hero {
        min-height: 560px !important;
        background-position: 68% center;
        background-image:
            linear-gradient(
                90deg,
                rgba(255,255,255,0.98) 0%,
                rgba(255,255,255,0.92) 58%,
                rgba(255,255,255,0.55) 100%
            ),
            url("/wp-content/uploads/2026/09/ChatGPT-Image-Sep-30-2026-at-12_29_18-PM.png");
    }

    .page-id-16 .cib-wills-cta {
        padding: 36px 24px;
    }
}


/* =========================================================
   Lasting Powers of Attorney page
   ========================================================= */

/* LPA hero */
.page-id-11 .cib-lpa-hero {
    min-height: 500px !important;
    background: #f4f7f8;
}

.page-id-11 .cib-lpa-hero .wp-block-cover__background {
    display: none;
}

.page-id-11 .cib-lpa-hero .wp-block-cover__inner-container {
    width: 100%;
}

.page-id-11 .cib-lpa-hero .wp-block-group {
    margin-left: auto;
    margin-right: auto;
    padding-left: 55px;
    padding-right: 55px;
}

.page-id-11 .cib-lpa-hero h1 {
    max-width: 650px;
    margin-bottom: 22px;
    font-size: clamp(42px, 4vw, 60px);
    line-height: 1.08;
    color: #17233f;
}

.page-id-11 .cib-lpa-hero .cib-hero-intro {
    max-width: 650px;
    margin-bottom: 28px;
    font-size: 19px;
    line-height: 1.55;
    color: #29354d;
}

/* Main LPA sections */
.page-id-11 .cib-lpa-intro,
.page-id-11 .cib-lpa-personal,
.page-id-11 .cib-lpa-wider {
    padding-top: 55px;
    padding-bottom: 55px;
}

.page-id-11 .cib-lpa-intro h2,
.page-id-11 .cib-lpa-personal h2,
.page-id-11 .cib-lpa-wider h2 {
    margin-bottom: 25px;
}

/* Four LPA cards */
.page-id-11 .cib-lpa-options {
    padding-top: 10px;
    padding-bottom: 45px;
    margin-bottom: 55px;
}

.page-id-11 .cib-lpa-options .wp-block-columns {
    gap: 26px;
    margin-bottom: 26px;
}

.page-id-11 .cib-lpa-options .cib-service-card {
    position: relative;
    padding: 30px;
    border: 1px solid #dfe5e8;
    border-radius: 3px;
    background: #fafbfb;
    box-shadow: 0 8px 22px rgba(23,35,63,0.04);
}

.page-id-11 .cib-lpa-options .cib-service-card::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    right: -1px;
    height: 4px;
    background: #087f99;
    border-radius: 3px 3px 0 0;
}

.page-id-11 .cib-lpa-options h3 {
    margin-top: 0;
}

/* Planning-ahead panel */
.page-id-11 .cib-lpa-planning {
    padding: 50px 70px;
    background: #f4f7f8;
}

.page-id-11 .cib-lpa-planning h2 {
    margin-bottom: 25px;
}

/* Wider planning links */
.page-id-11 .cib-lpa-wider .wp-block-columns {
    margin-top: 20px;
}

/* Final LPA CTA */
.page-id-11 .cib-lpa-cta {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding: 46px 50px;
    background: #17233f;
    border-radius: 3px;
}

.page-id-11 .cib-lpa-cta h2,
.page-id-11 .cib-lpa-cta p {
    color: #ffffff;
}

.page-id-11 .cib-lpa-cta h2 {
    margin-bottom: 18px;
}

.page-id-11 .cib-lpa-cta .wp-block-buttons {
    margin-top: 26px;
}

/* Tablet */
@media (max-width: 900px) {
    .page-id-11 .cib-lpa-hero .wp-block-group {
        padding-left: 35px;
        padding-right: 35px;
    }

    .page-id-11 .cib-lpa-planning {
        padding: 45px 40px;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .page-id-11 .cib-lpa-hero {
        min-height: 520px !important;
    }

    .page-id-11 .cib-lpa-hero .wp-block-group {
        padding-left: 25px;
        padding-right: 25px;
    }

    .page-id-11 .cib-lpa-hero h1 {
        font-size: 38px;
    }

    .page-id-11 .cib-lpa-hero .cib-hero-intro {
        font-size: 17px;
    }

    .page-id-11 .cib-lpa-options {
        margin-bottom: 25px;
    }

    .page-id-11 .cib-lpa-planning {
        padding: 35px 25px;
    }

    .page-id-11 .cib-lpa-cta {
        padding: 38px 25px;
    }
}

/* ---------------------------------------------------------
   LPA photographic hero
   --------------------------------------------------------- */

.page-id-11 .cib-lpa-hero {
    min-height: 500px !important;
    background-image:
        linear-gradient(
            90deg,
            rgba(255,255,255,0.98) 0%,
            rgba(255,255,255,0.92) 28%,
            rgba(255,255,255,0.55) 48%,
            rgba(255,255,255,0.05) 68%
        ),
        url("/wp-content/uploads/2026/09/ChatGPT-Image-Sep-30-2026-at-12_53_54-PM.png");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

/* Tablet */
@media (max-width: 900px) {
    .page-id-11 .cib-lpa-hero {
        min-height: 500px !important;
        background-position: 62% center;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .page-id-11 .cib-lpa-hero {
        min-height: 560px !important;
        background-position: 68% center;
        background-image:
            linear-gradient(
                90deg,
                rgba(255,255,255,0.98) 0%,
                rgba(255,255,255,0.90) 55%,
                rgba(255,255,255,0.45) 100%
            ),
            url("/wp-content/uploads/2026/09/ChatGPT-Image-Sep-30-2026-at-12_53_54-PM.png");
    }
}


/* LPA hero content alignment */
.page-id-11 .cib-lpa-hero .wp-block-group > h1,
.page-id-11 .cib-lpa-hero .wp-block-group > .cib-hero-intro {
    width: 650px;
    max-width: 650px;
    margin-left: 0 !important;
    margin-right: auto !important;
}

.page-id-11 .cib-lpa-hero .wp-block-group > .wp-block-buttons {
    margin-left: 0;
    margin-right: auto;
}

@media (max-width: 900px) {
    .page-id-11 .cib-lpa-hero .wp-block-group > h1,
    .page-id-11 .cib-lpa-hero .wp-block-group > .cib-hero-intro {
        width: auto;
        max-width: 650px;
    }
}

/* LPA hero - unified content alignment */
.page-id-11 .cib-lpa-hero .cib-lpa-hero-content {
    width: 100%;
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 55px;
    padding-right: 55px;
}

.page-id-11 .cib-lpa-hero .cib-lpa-hero-content > h1,
.page-id-11 .cib-lpa-hero .cib-lpa-hero-content > .cib-hero-intro,
.page-id-11 .cib-lpa-hero .cib-lpa-hero-content > .wp-block-buttons {
    margin-left: 0 !important;
    margin-right: auto !important;
}

.page-id-11 .cib-lpa-hero .cib-lpa-hero-content > h1,
.page-id-11 .cib-lpa-hero .cib-lpa-hero-content > .cib-hero-intro {
    width: 650px;
    max-width: 650px;
}

@media (max-width: 900px) {
    .page-id-11 .cib-lpa-hero .cib-lpa-hero-content {
        padding-left: 35px;
        padding-right: 35px;
    }

    .page-id-11 .cib-lpa-hero .cib-lpa-hero-content > h1,
    .page-id-11 .cib-lpa-hero .cib-lpa-hero-content > .cib-hero-intro {
        width: auto;
        max-width: 650px;
    }
}

@media (max-width: 600px) {
    .page-id-11 .cib-lpa-hero .cib-lpa-hero-content {
        padding-left: 25px;
        padding-right: 25px;
    }
}

/* LPA hero - correct for Kadence/Gutenberg inner wrapper */
.page-id-11 .cib-lpa-hero .cib-lpa-hero-content .wp-block-group__inner-container > h1,
.page-id-11 .cib-lpa-hero .cib-lpa-hero-content .wp-block-group__inner-container > .cib-hero-intro,
.page-id-11 .cib-lpa-hero .cib-lpa-hero-content .wp-block-group__inner-container > .wp-block-buttons {
    margin-left: 0 !important;
    margin-right: auto !important;
}

.page-id-11 .cib-lpa-hero .cib-lpa-hero-content .wp-block-group__inner-container > h1,
.page-id-11 .cib-lpa-hero .cib-lpa-hero-content .wp-block-group__inner-container > .cib-hero-intro {
    width: 650px;
    max-width: 650px;
}

@media (max-width: 900px) {
    .page-id-11 .cib-lpa-hero .cib-lpa-hero-content .wp-block-group__inner-container > h1,
    .page-id-11 .cib-lpa-hero .cib-lpa-hero-content .wp-block-group__inner-container > .cib-hero-intro {
        width: auto;
        max-width: 650px;
    }
}

/* Hide Kadence page title on Trusts */
.page-id-18 .entry-hero.page-hero-section {
    display: none;
}

/* =========================================================
   Trusts page
   ========================================================= */

/* Trusts hero - placeholder until photograph is added */
.page-id-18 .cib-trusts-hero {
    min-height: 500px !important;
    background: #f4f7f8;
}

.page-id-18 .cib-trusts-hero .wp-block-cover__background {
    display: none;
}

.page-id-18 .cib-trusts-hero .wp-block-cover__inner-container {
    width: 100%;
}

/* Main hero container */
.page-id-18 .cib-trusts-hero .cib-trusts-hero-content {
    width: 100%;
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 55px;
    padding-right: 55px;
}

/* Kadence adds an inner container around Gutenberg groups.
   Align all hero content to the same left edge. */
.page-id-18 .cib-trusts-hero .cib-trusts-hero-content .wp-block-group__inner-container > h1,
.page-id-18 .cib-trusts-hero .cib-trusts-hero-content .wp-block-group__inner-container > .cib-hero-intro,
.page-id-18 .cib-trusts-hero .cib-trusts-hero-content .wp-block-group__inner-container > .wp-block-buttons {
    margin-left: 0 !important;
    margin-right: auto !important;
}

.page-id-18 .cib-trusts-hero .cib-trusts-hero-content .wp-block-group__inner-container > h1,
.page-id-18 .cib-trusts-hero .cib-trusts-hero-content .wp-block-group__inner-container > .cib-hero-intro {
    width: 650px;
    max-width: 650px;
}

.page-id-18 .cib-trusts-hero h1 {
    margin-bottom: 22px;
    font-size: clamp(42px, 4vw, 60px);
    line-height: 1.08;
    color: #17233f;
}

.page-id-18 .cib-trusts-hero .cib-hero-intro {
    margin-bottom: 28px;
    font-size: 19px;
    line-height: 1.55;
    color: #29354d;
}

/* Main Trusts sections */
.page-id-18 .cib-trusts-intro,
.page-id-18 .cib-trusts-personal,
.page-id-18 .cib-trusts-wider {
    padding-top: 55px;
    padding-bottom: 55px;
}

.page-id-18 .cib-trusts-intro h2,
.page-id-18 .cib-trusts-personal h2,
.page-id-18 .cib-trusts-wider h2 {
    margin-bottom: 25px;
}

/* Four Trust cards */
.page-id-18 .cib-trusts-options {
    padding-top: 10px;
    padding-bottom: 45px;
}

.page-id-18 .cib-trusts-options .wp-block-columns {
    gap: 26px;
    margin-bottom: 26px;
}

.page-id-18 .cib-trusts-options .cib-service-card {
    position: relative;
    padding: 30px;
    border: 1px solid #dfe5e8;
    border-radius: 3px;
    background: #fafbfb;
    box-shadow: 0 8px 22px rgba(23,35,63,0.04);
}

.page-id-18 .cib-trusts-options .cib-service-card::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    right: -1px;
    height: 4px;
    background: #087f99;
    border-radius: 3px 3px 0 0;
}

.page-id-18 .cib-trusts-options h3 {
    margin-top: 0;
}

/* Responsibilities panel */
.page-id-18 .cib-trusts-responsibilities {
    padding: 50px 70px;
    background: #f4f7f8;
}

.page-id-18 .cib-trusts-responsibilities h2 {
    margin-bottom: 25px;
}

/* Wider planning */
.page-id-18 .cib-trusts-wider .wp-block-columns {
    margin-top: 20px;
}

/* Final CTA */
.page-id-18 .cib-trusts-cta {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding: 46px 50px;
    background: #17233f;
    border-radius: 3px;
}

.page-id-18 .cib-trusts-cta h2,
.page-id-18 .cib-trusts-cta p {
    color: #ffffff;
}

.page-id-18 .cib-trusts-cta h2 {
    margin-bottom: 18px;
}

.page-id-18 .cib-trusts-cta .wp-block-buttons {
    margin-top: 26px;
}

/* Tablet */
@media (max-width: 900px) {
    .page-id-18 .cib-trusts-hero .cib-trusts-hero-content {
        padding-left: 35px;
        padding-right: 35px;
    }

    .page-id-18 .cib-trusts-hero .cib-trusts-hero-content .wp-block-group__inner-container > h1,
    .page-id-18 .cib-trusts-hero .cib-trusts-hero-content .wp-block-group__inner-container > .cib-hero-intro {
        width: auto;
        max-width: 650px;
    }

    .page-id-18 .cib-trusts-responsibilities {
        padding: 45px 40px;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .page-id-18 .cib-trusts-hero {
        min-height: 520px !important;
    }

    .page-id-18 .cib-trusts-hero .cib-trusts-hero-content {
        padding-left: 25px;
        padding-right: 25px;
    }

    .page-id-18 .cib-trusts-hero h1 {
        font-size: 38px;
    }

    .page-id-18 .cib-trusts-hero .cib-hero-intro {
        font-size: 17px;
    }

    .page-id-18 .cib-trusts-responsibilities {
        padding: 35px 25px;
    }

    .page-id-18 .cib-trusts-cta {
        padding: 38px 25px;
    }
}

/* ---------------------------------------------------------
   Trusts photographic hero
   --------------------------------------------------------- */

.page-id-18 .cib-trusts-hero {
    min-height: 500px !important;
    background-image:
        linear-gradient(
            90deg,
            rgba(255,255,255,0.98) 0%,
            rgba(255,255,255,0.92) 28%,
            rgba(255,255,255,0.55) 48%,
            rgba(255,255,255,0.05) 68%
        ),
        url("/wp-content/uploads/2026/09/ChatGPT-Image-Sep-30-2026-at-02_45_41-PM.png");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

/* Tablet */
@media (max-width: 900px) {
    .page-id-18 .cib-trusts-hero {
        min-height: 500px !important;
        background-position: 62% center;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .page-id-18 .cib-trusts-hero {
        min-height: 560px !important;
        background-position: 68% center;
        background-image:
            linear-gradient(
                90deg,
                rgba(255,255,255,0.98) 0%,
                rgba(255,255,255,0.90) 55%,
                rgba(255,255,255,0.45) 100%
            ),
            url("/wp-content/uploads/2026/09/ChatGPT-Image-Sep-30-2026-at-02_45_41-PM.png");
    }
}

/* =========================================================
   About page
   ========================================================= */

/* Hide Kadence page title */
.page-id-20 .entry-hero.page-hero-section {
    display: none;
}

/* About hero */
.page-id-20 .cib-about-hero {
    min-height: 500px !important;
    background: #f4f7f8;
}

.page-id-20 .cib-about-hero .wp-block-cover__background {
    display: none;
}

.page-id-20 .cib-about-hero .wp-block-cover__inner-container {
    width: 100%;
}

.page-id-20 .cib-about-hero .cib-about-hero-content {
    width: 100%;
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 55px;
    padding-right: 55px;
}

/* Target Kadence's generated inner wrapper */
.page-id-20 .cib-about-hero .cib-about-hero-content .wp-block-group__inner-container > h1,
.page-id-20 .cib-about-hero .cib-about-hero-content .wp-block-group__inner-container > .cib-hero-intro,
.page-id-20 .cib-about-hero .cib-about-hero-content .wp-block-group__inner-container > .wp-block-buttons {
    margin-left: 0 !important;
    margin-right: auto !important;
}

.page-id-20 .cib-about-hero .cib-about-hero-content .wp-block-group__inner-container > h1,
.page-id-20 .cib-about-hero .cib-about-hero-content .wp-block-group__inner-container > .cib-hero-intro {
    width: 650px;
    max-width: 650px;
}

.page-id-20 .cib-about-hero h1 {
    margin-bottom: 22px;
    font-size: clamp(42px, 4vw, 60px);
    line-height: 1.08;
    color: #17233f;
}

.page-id-20 .cib-about-hero .cib-hero-intro {
    margin-bottom: 28px;
    font-size: 19px;
    line-height: 1.55;
    color: #29354d;
}

/* Main About sections */
.page-id-20 .cib-about-experience,
.page-id-20 .cib-about-approach,
.page-id-20 .cib-about-services {
    padding-top: 55px;
    padding-bottom: 55px;
}

.page-id-20 .cib-about-experience h2,
.page-id-20 .cib-about-approach h2,
.page-id-20 .cib-about-services h2 {
    margin-bottom: 25px;
}

/* Three principles */
.page-id-20 .cib-about-approach .wp-block-columns {
    gap: 26px;
    margin-top: 40px;
}

.page-id-20 .cib-about-card {
    position: relative;
    height: 100%;
    padding: 30px;
    border: 1px solid #dfe5e8;
    border-radius: 3px;
    background: #fafbfb;
    box-shadow: 0 8px 22px rgba(23,35,63,0.04);
}

.page-id-20 .cib-about-card::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    right: -1px;
    height: 4px;
    background: #087f99;
    border-radius: 3px 3px 0 0;
}

.page-id-20 .cib-about-card h3 {
    margin-top: 0;
}

/* Professional network panel */
.page-id-20 .cib-about-professionals {
    padding: 50px 70px;
    background: #f4f7f8;
}

.page-id-20 .cib-about-professionals h2 {
    margin-bottom: 25px;
}

/* Service navigation cards */
.page-id-20 .cib-about-services .wp-block-columns {
    gap: 26px;
    margin-top: 40px;
}

.page-id-20 .cib-about-services .cib-service-card {
    position: relative;
    height: 100%;
    padding: 30px;
    border: 1px solid #dfe5e8;
    border-radius: 3px;
    background: #fafbfb;
    box-shadow: 0 8px 22px rgba(23,35,63,0.04);
}

.page-id-20 .cib-about-services .cib-service-card::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    right: -1px;
    height: 4px;
    background: #087f99;
    border-radius: 3px 3px 0 0;
}

.page-id-20 .cib-about-services .cib-service-card h3 {
    margin-top: 0;
}

/* CTA */
.page-id-20 .cib-about-cta {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding: 46px 50px;
    background: #17233f;
    border-radius: 3px;
}

.page-id-20 .cib-about-cta h2,
.page-id-20 .cib-about-cta p {
    color: #ffffff;
}

.page-id-20 .cib-about-cta h2 {
    margin-bottom: 18px;
}

.page-id-20 .cib-about-cta .wp-block-buttons {
    margin-top: 26px;
}

/* Tablet */
@media (max-width: 900px) {
    .page-id-20 .cib-about-hero .cib-about-hero-content {
        padding-left: 35px;
        padding-right: 35px;
    }

    .page-id-20 .cib-about-hero .cib-about-hero-content .wp-block-group__inner-container > h1,
    .page-id-20 .cib-about-hero .cib-about-hero-content .wp-block-group__inner-container > .cib-hero-intro {
        width: auto;
        max-width: 650px;
    }

    .page-id-20 .cib-about-professionals {
        padding: 45px 40px;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .page-id-20 .cib-about-hero {
        min-height: 520px !important;
    }

    .page-id-20 .cib-about-hero .cib-about-hero-content {
        padding-left: 25px;
        padding-right: 25px;
    }

    .page-id-20 .cib-about-hero h1 {
        font-size: 38px;
    }

    .page-id-20 .cib-about-hero .cib-hero-intro {
        font-size: 17px;
    }

    .page-id-20 .cib-about-professionals {
        padding: 35px 25px;
    }

    .page-id-20 .cib-about-cta {
        padding: 38px 25px;
    }
}

/* ---------------------------------------------------------
   About photographic hero
   --------------------------------------------------------- */

.page-id-20 .cib-about-hero {
    min-height: 500px !important;
    background-image:
        linear-gradient(
            90deg,
            rgba(255,255,255,0.98) 0%,
            rgba(255,255,255,0.92) 28%,
            rgba(255,255,255,0.55) 48%,
            rgba(255,255,255,0.05) 68%
        ),
        url("/wp-content/uploads/2026/09/ChatGPT-Image-Sep-30-2026-at-03_00_10-PM.png");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

@media (max-width: 900px) {
    .page-id-20 .cib-about-hero {
        min-height: 500px !important;
        background-position: 62% center;
    }
}

@media (max-width: 600px) {
    .page-id-20 .cib-about-hero {
        min-height: 560px !important;
        background-position: 68% center;
        background-image:
            linear-gradient(
                90deg,
                rgba(255,255,255,0.98) 0%,
                rgba(255,255,255,0.90) 55%,
                rgba(255,255,255,0.45) 100%
            ),
            url("/wp-content/uploads/2026/09/ChatGPT-Image-Sep-30-2026-at-03_00_10-PM.png");
    }
}

/* =========================================================
   Contact page
   ========================================================= */

/* Hide standard Kadence page title */
.page-id-22 .entry-hero {
    display: none;
}

/* Contact introduction */
.page-id-22 .cib-contact-hero {
    max-width: 1180px;
    margin: 70px auto 0;
    padding: 55px 55px 50px;
    background: #f4f7f8;
    border-top: 4px solid #078ba5;
}

.page-id-22 .cib-contact-hero h1 {
    max-width: 650px;
    margin-bottom: 20px;
    font-size: clamp(42px, 4vw, 60px);
    line-height: 1.08;
    color: #17233f;
}

.page-id-22 .cib-contact-hero .cib-hero-intro {
    max-width: 760px;
    margin-bottom: 0;
    font-size: 19px;
    line-height: 1.6;
    color: #29354d;
}

/* Main contact area */
.page-id-22 .cib-contact-main {
    max-width: 1180px;
    margin: 0 auto;
    padding: 60px 55px;
}

.page-id-22 .cib-contact-columns {
    gap: 70px;
    align-items: flex-start;
}

.page-id-22 .cib-contact-details,
.page-id-22 .cib-contact-form {
    flex-basis: 50%;
}

.page-id-22 .cib-contact-details h2,
.page-id-22 .cib-contact-form h2 {
    margin-bottom: 24px;
}

.page-id-22 .cib-contact-details h3 {
    margin-top: 36px;
    margin-bottom: 12px;
}

.page-id-22 .cib-contact-details p {
    line-height: 1.65;
}

/* Contact form panel */
.page-id-22 .cib-contact-form {
    padding: 32px 36px 36px;
    border: 1px solid #dfe5e8;
    border-top: 4px solid #078ba5;
    background: #fafbfb;
    box-shadow: 0 8px 22px rgba(23,35,63,0.04);
}

/* Fluent Forms */
.page-id-22 .cib-contact-form .ff-el-form-control {
    border: 1px solid #d5dce0;
    border-radius: 3px;
    min-height: 46px;
}

.page-id-22 .cib-contact-form textarea.ff-el-form-control {
    min-height: 130px;
}

.page-id-22 .cib-contact-form .ff-btn-submit {
    padding: 13px 24px;
    border: 0;
    border-radius: 3px;
    background: #078ba5;
    color: #fff;
    font-weight: 600;
    font-size: 16px;
}

.page-id-22 .cib-contact-form .ff-btn-submit:hover {
    background: #17233f;
}

/* Privacy / sensitive information note */
.page-id-22 .cib-contact-note {
    margin-top: 34px;
    padding: 20px 22px;
    background: #f4f7f8;
    border-left: 3px solid #078ba5;
    font-size: 15px;
}

/* What happens next */
.page-id-22 .cib-contact-next {
    max-width: 1180px;
    margin: 10px auto 0;
    padding: 55px;
    background: #f4f7f8;
}

.page-id-22 .cib-contact-next > h2 {
    margin-bottom: 12px;
}

.page-id-22 .cib-contact-steps {
    gap: 26px;
    margin-top: 38px;
}

.page-id-22 .cib-contact-step {
    position: relative;
    padding: 28px;
    border: 1px solid #dfe5e8;
    border-top: 4px solid #078ba5;
    background: #fff;
}

.page-id-22 .cib-contact-step h3 {
    margin-bottom: 14px;
    font-size: 21px;
}

/* Final disclaimer */
.page-id-22 .cib-contact-disclaimer {
    max-width: 1000px;
    margin: 0 auto;
    padding: 35px 40px 55px;
}

.page-id-22 .cib-contact-disclaimer p {
    margin-bottom: 0;
    color: #5b6475;
    font-size: 14px;
    line-height: 1.6;
}

/* Tablet */
@media (max-width: 900px) {
    .page-id-22 .cib-contact-hero {
        margin-top: 45px;
        padding: 45px 35px;
    }

    .page-id-22 .cib-contact-main {
        padding: 50px 35px;
    }

    .page-id-22 .cib-contact-columns {
        gap: 40px;
    }

    .page-id-22 .cib-contact-next {
        padding: 45px 35px;
    }
}

/* Mobile */
@media (max-width: 781px) {
    .page-id-22 .cib-contact-columns {
        display: block;
    }

    .page-id-22 .cib-contact-form {
        margin-top: 45px;
    }

    .page-id-22 .cib-contact-steps {
        display: block;
    }

    .page-id-22 .cib-contact-step {
        margin-bottom: 22px;
    }
}

@media (max-width: 600px) {
    .page-id-22 .cib-contact-hero {
        margin-top: 25px;
        padding: 38px 25px;
    }

    .page-id-22 .cib-contact-hero h1 {
        font-size: 38px;
    }

    .page-id-22 .cib-contact-hero .cib-hero-intro {
        font-size: 17px;
    }

    .page-id-22 .cib-contact-main {
        padding: 40px 25px;
    }

    .page-id-22 .cib-contact-form {
        padding: 28px 22px;
    }

    .page-id-22 .cib-contact-next {
        padding: 38px 25px;
    }

    .page-id-22 .cib-contact-disclaimer {
        padding: 30px 25px 45px;
    }
}
