/* =====================================================
   PD GROUP — CORE GUTENBERG HOMEPAGE
   ===================================================== */

.pd-home-shell {
    width: min(1180px, calc(100% - 48px));
    margin-left: auto !important;
    margin-right: auto !important;
}

.pd-home-section {
    padding: 88px 0;
}

.pd-home-eyebrow {
    margin: 0 0 15px;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.pd-home-eyebrow-green {
    color: #196438;
}

.pd-home-eyebrow-light {
    color: #dceee3;
}

.pd-home-mini-label {
    margin-bottom: 12px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #32684a;
}


/* HERO */

.pd-home-hero {
    position: relative;
    overflow: hidden;
    padding: 94px 0 86px;
    color: #fff;
    background:
        radial-gradient(circle at 83% 18%,
            rgba(255,255,255,.05) 0,
            rgba(255,255,255,.05) 140px,
            transparent 142px),
        linear-gradient(135deg, #06341f, #084626);
}

.pd-home-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .12;
    pointer-events: none;
    background:
        repeating-linear-gradient(
            165deg,
            transparent 0 14px,
            rgba(255,255,255,.14) 15px,
            transparent 16px
        );
    mask-image: linear-gradient(
        to right,
        transparent 5%,
        black 32%,
        transparent 78%
    );
}

.pd-home-hero-grid {
    position: relative;
    z-index: 2;
    display: grid !important;
    grid-template-columns: minmax(0, 1.55fr) minmax(290px, .65fr);
    align-items: center;
    gap: 80px;
}

.pd-home-hero-copy {
    max-width: 720px;
}

.pd-home-hero h1 {
    max-width: 700px;
    margin: 0 0 24px;
    color: #fff;
    font-size: clamp(44px, 5.2vw, 76px);
    line-height: .98;
    letter-spacing: -.055em;
}

.pd-home-lead {
    max-width: 650px;
    color: rgba(255,255,255,.82);
    font-size: 17px;
    line-height: 1.7;
}

.pd-home-actions {
    margin-top: 28px;
}

.pd-home-points {
    margin-top: 26px;
    gap: 10px 24px !important;
}

.pd-home-points p {
    position: relative;
    margin: 0;
    padding-left: 13px;
    color: rgba(255,255,255,.68);
    font-size: 12px;
}

.pd-home-points p::before {
    content: "";
    position: absolute;
    left: 0;
    top: .52em;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #d6b64c;
}

.pd-home-refund-card {
    padding: 30px;
    color: #153a27;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 24px 65px rgba(0,0,0,.18);
}

.pd-home-refund-card h2 {
    margin: 0 0 12px;
    font-size: 27px;
}

.pd-home-refund-link {
    margin: 0;
    border-top: 1px solid #e4e9e5;
}

.pd-home-refund-link a {
    display: block;
    padding: 16px 0;
    color: #163f2a;
    text-decoration: none;
}


/* HEADINGS */

.pd-home-heading.centered {
    max-width: 720px;
    margin: 0 auto 44px;
    text-align: center;
}

.pd-home-heading h2,
.pd-home-process > .pd-home-shell > h2,
.pd-home-secondary > .pd-home-shell > h2,
.pd-home-heading-row h2 {
    margin-top: 0;
    font-size: clamp(36px, 4vw, 54px);
    line-height: 1.04;
    letter-spacing: -.045em;
}


/* SERVICES */

.pd-home-services {
    background: #fff;
}

.pd-home-service-grid {
    gap: 20px;
    align-items: stretch !important;
}

.pd-home-service-grid > .wp-block-column {
    display: flex;
}

.pd-home-service-card {
    width: 100%;
    min-height: 325px;
    padding: 30px;
    border: 1px solid #e2e8e3;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 40px rgba(24,66,42,.07);
}

.pd-home-service-card.is-featured {
    border-top: 3px solid #d3ad40;
}

.pd-home-card-number {
    color: #6c8b77;
    text-align: right;
    font-size: 13px;
}

.pd-home-service-card h3 {
    margin: 22px 0 18px;
    font-size: 23px;
}

.pd-home-text-link a {
    color: #13582f;
    font-size: 13px;
    font-weight: 750;
    text-decoration: none;
}


/* GREEN BANDS */

.pd-home-band,
.pd-home-final {
    padding: 55px 0;
    color: #fff;
    background: #155c31;
}

.pd-home-band h2,
.pd-home-final h2 {
    margin: 0 0 12px;
    color: #fff;
    font-size: clamp(30px, 3vw, 45px);
    line-height: 1.04;
}

.pd-home-band p,
.pd-home-final p {
    color: rgba(255,255,255,.78);
}

.pd-home-band-inner,
.pd-home-final-inner {
    gap: 40px;
}


/* PROCESS */

.pd-home-process {
    background: #fff;
}

.pd-home-process-grid {
    margin-top: 40px;
    gap: 0;
    border: 1px solid #e4e9e5;
}

.pd-home-process-grid > .wp-block-column:not(:last-child) {
    border-right: 1px solid #e4e9e5;
}

.pd-home-process-step {
    height: 100%;
    padding: 28px;
}

.pd-home-step-number {
    display: grid;
    width: 27px;
    height: 27px;
    place-items: center;
    margin: 0 0 20px;
    border-radius: 50%;
    background: #e9f2ec;
    color: #155b31;
    font-size: 11px;
}


/* ABOUT */

.pd-home-about {
    background: #f2f6f3;
}

.pd-home-about-grid {
    align-items: center !important;
    gap: 72px;
}

.pd-home-about-image img {
    width: 100%;
    max-height: 520px;
    object-fit: cover;
    border-radius: 16px;
    box-shadow: 0 22px 55px rgba(22,61,39,.14);
}

.pd-home-about-copy h2 {
    font-size: clamp(38px, 4vw, 56px);
    line-height: 1;
    letter-spacing: -.045em;
}


/* SECONDARY SERVICES */

.pd-home-secondary {
    background: #fff;
}

.pd-home-secondary-grid {
    gap: 20px;
    margin-top: 38px;
}

.pd-home-secondary-card {
    height: 100%;
    padding: 30px;
    border: 1px solid #e1e7e2;
    border-radius: 16px;
}


/* ARTICLES */

.pd-home-insights {
    background: #fff;
}

.pd-home-heading-row {
    margin-bottom: 34px;
}

.pd-home-post-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    padding: 0 !important;
    list-style: none;
}

.pd-home-post-card {
    overflow: hidden;
    height: 100%;
    border: 1px solid #e1e7e2;
    border-radius: 16px;
    background: #fff;
}

.pd-home-post-image img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.pd-home-post-body {
    padding: 23px;
}

.pd-home-post-body time {
    color: #557062;
    font-size: 11px;
}

.pd-home-post-body h3 {
    font-size: 20px;
    line-height: 1.2;
}

.pd-home-post-body h3 a {
    color: #172e21;
    text-decoration: none;
}


/* BUTTONS */

.pd-home-button-gold .wp-block-button__link {
    background: #d7b548;
    color: #17351f;
}

.pd-home-button-green .wp-block-button__link {
    background: #155c31;
    color: #fff;
}

.pd-home-button-white .wp-block-button__link {
    background: #fff;
    color: #174e2e;
}

.pd-home-button-outline-light .wp-block-button__link {
    color: #fff;
    background: transparent;
    border: 1px solid rgba(255,255,255,.45);
}

.pd-home-button-gold .wp-block-button__link,
.pd-home-button-green .wp-block-button__link,
.pd-home-button-white .wp-block-button__link,
.pd-home-button-outline-light .wp-block-button__link {
    padding: 13px 20px;
    border-radius: 3px;
    font-size: 13px;
    font-weight: 750;
}


/* RESPONSIVE */

@media (max-width: 900px) {

    .pd-home-shell {
        width: min(100% - 32px, 720px);
    }

    .pd-home-section {
        padding: 64px 0;
    }

    .pd-home-hero-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .pd-home-hero {
        padding: 70px 0;
    }

    .pd-home-service-grid,
    .pd-home-process-grid,
    .pd-home-secondary-grid {
        display: block !important;
    }

    .pd-home-service-grid > .wp-block-column,
    .pd-home-process-grid > .wp-block-column,
    .pd-home-secondary-grid > .wp-block-column {
        margin-bottom: 16px;
    }

    .pd-home-process-grid {
        border: 0;
    }

    .pd-home-process-grid > .wp-block-column {
        border: 1px solid #e4e9e5 !important;
    }

    .pd-home-about-grid {
        gap: 35px;
    }

    .pd-home-post-grid {
        grid-template-columns: 1fr;
    }

    .pd-home-band-inner,
    .pd-home-final-inner,
    .pd-home-heading-row {
        display: block !important;
    }

    .pd-home-band-inner .wp-block-button,
    .pd-home-final-inner .wp-block-buttons {
        margin-top: 24px;
    }
}


/* =====================================================
   PD GROUP — GUTENBERG HOME FULL-WIDTH FOUNDATION
   ===================================================== */

/*
 * Home uses a dedicated Gutenberg canvas rather than the
 * normal inner-page container.
 */

body.home .pd-gutenberg-home-main,
body.home .site-main.pd-gutenberg-home-main,
body.page-id-6 .pd-gutenberg-home-main {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
}


/*
 * Gutenberg's constrained-layout rules normally restrict
 * children to the global 760px content width. Homepage
 * top-level sections must instead span the viewport.
 */

body.page-id-6 .pd-gutenberg-home-main > .alignfull,
body.page-id-6 .pd-gutenberg-home-main > .wp-block-group.alignfull {
    width: 100%;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}


/*
 * The inner shell is the actual homepage content boundary.
 */

body.page-id-6 .pd-home-shell {
    box-sizing: border-box;
    width: min(1180px, calc(100% - 48px)) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


/*
 * Prevent Gutenberg's generic constrained-layout max-width
 * from shrinking homepage shells back to 760px.
 */

body.page-id-6
.pd-gutenberg-home-main
.is-layout-constrained
> .pd-home-shell.alignwide,

body.page-id-6
.pd-gutenberg-home-main
.is-layout-constrained
> .pd-home-shell {
    width: min(1180px, calc(100% - 48px)) !important;
    max-width: 1180px !important;
}


/* =====================================================
   HERO
   ===================================================== */

body.page-id-6 .pd-home-hero {
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
}

body.page-id-6 .pd-home-hero-grid {
    display: grid !important;
    grid-template-columns:
        minmax(0, 1.55fr)
        minmax(300px, .65fr) !important;
    gap: clamp(42px, 6vw, 82px) !important;
    align-items: center !important;
}

body.page-id-6 .pd-home-hero-copy {
    width: 100%;
    max-width: 720px !important;
    margin: 0 !important;
}

body.page-id-6 .pd-home-refund-card {
    width: 100%;
    max-width: 360px !important;
    margin-left: auto !important;
}


/* =====================================================
   THREE SERVICE CARDS
   ===================================================== */

body.page-id-6 .pd-home-service-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
    width: 100%;
    max-width: none !important;
}

body.page-id-6
.pd-home-service-grid
> .wp-block-column {
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
}

body.page-id-6 .pd-home-service-card {
    box-sizing: border-box;
    height: 100%;
}


/* =====================================================
   PROCESS
   ===================================================== */

body.page-id-6 .pd-home-process-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    width: 100%;
    max-width: none !important;
}

body.page-id-6
.pd-home-process-grid
> .wp-block-column {
    min-width: 0;
    margin: 0 !important;
}


/* =====================================================
   ABOUT
   ===================================================== */

body.page-id-6 .pd-home-about-grid {
    display: grid !important;
    grid-template-columns:
        minmax(0, .9fr)
        minmax(0, 1.1fr) !important;
    width: min(1180px, calc(100% - 48px)) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    gap: clamp(44px, 6vw, 80px) !important;
    align-items: center !important;
}

body.page-id-6
.pd-home-about-grid
> .wp-block-column {
    min-width: 0;
    margin: 0 !important;
}


/* =====================================================
   ADDITIONAL SERVICES
   ===================================================== */

body.page-id-6 .pd-home-secondary-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
}

body.page-id-6
.pd-home-secondary-grid
> .wp-block-column {
    min-width: 0;
    margin: 0 !important;
}


/* =====================================================
   CTA BANDS
   ===================================================== */

body.page-id-6 .pd-home-band-inner,
body.page-id-6 .pd-home-final-inner,
body.page-id-6 .pd-home-heading-row {
    width: min(1180px, calc(100% - 48px)) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


/* =====================================================
   ARTICLES
   ===================================================== */

body.page-id-6 .pd-home-post-query {
    width: 100%;
    max-width: none !important;
}

body.page-id-6 .pd-home-post-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
    width: 100%;
    max-width: none !important;
}

body.page-id-6 .pd-home-post-grid > li {
    min-width: 0;
    width: auto !important;
    margin: 0 !important;
}

body.page-id-6 .pd-home-post-card {
    box-sizing: border-box;
    height: 100%;
}


/* =====================================================
   REMOVE INNER-PAGE ARTIFACTS ON HOME
   ===================================================== */

body.page-id-6 .pd-page-hero,
body.page-id-6 .pd-standard-sidebar,
body.page-id-6 .pd-page-sidebar,
body.page-id-6 .pd-standard-aside {
    display: none !important;
}


/* =====================================================
   RESPONSIVE
   ===================================================== */

@media (max-width: 900px) {

    body.page-id-6 .pd-home-shell,
    body.page-id-6 .pd-home-about-grid,
    body.page-id-6 .pd-home-band-inner,
    body.page-id-6 .pd-home-final-inner,
    body.page-id-6 .pd-home-heading-row,

    body.page-id-6
    .pd-gutenberg-home-main
    .is-layout-constrained
    > .pd-home-shell,

    body.page-id-6
    .pd-gutenberg-home-main
    .is-layout-constrained
    > .pd-home-shell.alignwide {
        width: min(100% - 32px, 720px) !important;
    }

    body.page-id-6 .pd-home-hero-grid,
    body.page-id-6 .pd-home-about-grid {
        grid-template-columns: 1fr !important;
    }

    body.page-id-6 .pd-home-refund-card {
        max-width: none !important;
        margin-left: 0 !important;
    }

    body.page-id-6 .pd-home-service-grid,
    body.page-id-6 .pd-home-secondary-grid,
    body.page-id-6 .pd-home-post-grid {
        grid-template-columns: 1fr !important;
    }

    body.page-id-6 .pd-home-process-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }
}


@media (max-width: 600px) {

    body.page-id-6 .pd-home-process-grid {
        grid-template-columns: 1fr !important;
    }

    body.page-id-6 .pd-home-hero h1 {
        font-size: clamp(40px, 13vw, 58px);
    }
}



/* =====================================================
   PD GROUP — HOMEPAGE VISUAL POLISH V1 START
   ===================================================== */

/* -----------------------------------------------------
   HERO / BANNER POLISH
   ----------------------------------------------------- */

body.page-id-6 .pd-home-hero {
    background:
        radial-gradient(circle at 86% 16%,
            rgba(132, 182, 86, .12) 0 110px,
            transparent 111px),
        linear-gradient(135deg, #05341f 0%, #086332 52%, #032716 100%);
}

body.page-id-6 .pd-home-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .52;
    background:
        radial-gradient(circle at 17% 34%,
            transparent 0 118px,
            rgba(214, 181, 72, .26) 119px 121px,
            transparent 122px 130px,
            rgba(214, 181, 72, .13) 131px 133px,
            transparent 134px 175px),
        radial-gradient(circle at 84% 23%,
            transparent 0 108px,
            rgba(214, 181, 72, .18) 109px 111px,
            transparent 112px 120px,
            rgba(214, 181, 72, .09) 121px 123px,
            transparent 124px 165px),
        repeating-radial-gradient(circle at 26% 62%,
            rgba(255,255,255,.07) 0 1px,
            transparent 1px 10px),
        repeating-radial-gradient(circle at 72% 48%,
            rgba(255,255,255,.06) 0 1px,
            transparent 1px 12px);
    mix-blend-mode: screen;
}

body.page-id-6 .pd-home-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .24;
    background:
        linear-gradient(110deg,
            transparent 0 22%,
            rgba(255,255,255,.11) 23%,
            transparent 24% 100%),
        repeating-linear-gradient(160deg,
            transparent 0 12px,
            rgba(255,255,255,.10) 12px 14px,
            transparent 14px 26px);
    mask-image: linear-gradient(
        to right,
        transparent 0,
        rgba(0,0,0,.95) 18%,
        rgba(0,0,0,.95) 82%,
        transparent 100%
    );
}

body.page-id-6 .pd-home-hero h1 {
    max-width: 600px !important;
    font-size: clamp(40px, 4.6vw, 62px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
}

body.page-id-6 .pd-home-lead {
    max-width: 600px !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

body.page-id-6 .pd-home-refund-card {
    border: 1px solid rgba(15, 64, 42, .08);
    box-shadow: 0 24px 60px rgba(0,0,0,.16);
}

/* -----------------------------------------------------
   LATEST ARTICLES REDESIGN
   ----------------------------------------------------- */

body.page-id-6 .pd-home-insights {
    background: linear-gradient(180deg, #f7faf7 0%, #ffffff 100%);
}

body.page-id-6 .pd-home-heading-row {
    align-items: flex-end !important;
    margin-bottom: 40px !important;
}

body.page-id-6 .pd-home-heading-row .pd-home-text-link {
    margin-bottom: 10px;
}

body.page-id-6 .pd-home-post-grid {
    gap: 24px !important;
}

body.page-id-6 .pd-home-post-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    border: 1px solid #dde6df;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(20, 57, 37, .05);
    overflow: hidden;
}

body.page-id-6 .pd-home-post-card::before {
    content: "";
    display: block;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #d6b64c 0%, #14562f 100%);
}

body.page-id-6 .pd-home-post-image {
    display: none !important;
}

body.page-id-6 .pd-home-post-body {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-height: 280px;
    padding: 26px 24px 24px !important;
}

body.page-id-6 .pd-home-post-body time {
    color: #6c8575 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.page-id-6 .pd-home-post-body h3 {
    margin: 0 !important;
    font-size: 26px !important;
    line-height: 1.14 !important;
    letter-spacing: -.02em;
}

body.page-id-6 .pd-home-post-body h3 a {
    color: #10271b !important;
    text-decoration: none !important;
}

body.page-id-6 .pd-home-post-body .wp-block-post-excerpt {
    margin: 0 !important;
    color: #596f60 !important;
    line-height: 1.7 !important;
    flex: 1 1 auto;
}

body.page-id-6 .pd-home-post-body .wp-block-read-more,
body.page-id-6 .pd-home-post-body .pd-home-text-link,
body.page-id-6 .pd-home-post-body .wp-block-read-more a {
    margin-top: auto;
    color: #14562f !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    text-decoration: none !important;
}

body.page-id-6 .pd-home-post-body .wp-block-read-more a:hover,
body.page-id-6 .pd-home-post-body h3 a:hover {
    text-decoration: underline !important;
}

/* Responsive adjustments for the article redesign */
@media (max-width: 900px) {

    body.page-id-6 .pd-home-post-body {
        min-height: auto;
    }

    body.page-id-6 .pd-home-heading-row {
        margin-bottom: 28px !important;
    }
}

/* PD GROUP — HOMEPAGE VISUAL POLISH V1 END */



/* =====================================================
   PD GROUP — SERVICES WIDE V4 START
   ===================================================== */

body.page-id-6 .pd-services-wide-v4 {
    padding-top: 90px;
    padding-bottom: 96px;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f8faf8 100%
        );
}


/* ---------------------------------
   HEADING
   --------------------------------- */

body.page-id-6 .pd-services-wide-heading {
    display: grid;
    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(280px, .75fr);
    gap: 70px;

    align-items: end;

    max-width: none !important;

    margin-bottom: 52px;
}


body.page-id-6
.pd-services-wide-heading
.pd-home-eyebrow {

    grid-column: 1 / -1;

    margin-bottom: -48px;
}


body.page-id-6
.pd-services-wide-heading h2 {

    margin: 0;

    max-width: 720px;

    font-size:
        clamp(38px, 3.8vw, 56px) !important;

    line-height: 1.02 !important;

    letter-spacing: -.045em !important;
}


body.page-id-6
.pd-services-wide-heading
> p:last-child {

    margin: 0;

    max-width: 500px;

    color: #647469;

    font-size: 16px;

    line-height: 1.72;
}


/* ---------------------------------
   GRID
   --------------------------------- */

body.page-id-6 .pd-services-wide-grid {

    display: grid !important;

    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;

    gap: 20px !important;

    width: 100%;
}


body.page-id-6
.pd-services-wide-grid
> .wp-block-column {

    display: flex;

    width: auto !important;

    min-width: 0;

    margin: 0 !important;
}


/* ---------------------------------
   CARD
   --------------------------------- */

body.page-id-6 .pd-services-wide-card {

    position: relative;

    display: flex;

    flex-direction: column;

    width: 100%;

    min-height: 340px;

    box-sizing: border-box;

    padding: 30px;

    overflow: hidden;

    border:
        1px solid #dfe7e1;

    border-radius: 18px;

    background: #ffffff;

    box-shadow:
        0 14px 34px
        rgba(19, 59, 38, .045);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}


body.page-id-6
.pd-services-wide-card:hover {

    transform:
        translateY(-4px);

    border-color:
        #cddbd1;

    box-shadow:
        0 22px 48px
        rgba(19, 59, 38, .085);
}


/* subtle service color strip */

body.page-id-6
.pd-services-wide-card::before {

    content: "";

    position: absolute;

    inset: 0 auto 0 0;

    width: 4px;

    background: #195f35;
}


body.page-id-6
.pd-services-wide-tax::before {

    background: #aac83e;
}


body.page-id-6
.pd-services-wide-finance::before {

    background: #1a7946;
}


body.page-id-6
.pd-services-wide-consulting::before {

    background: #c4a44d;
}


/* ---------------------------------
   CARD HEADER
   --------------------------------- */

body.page-id-6
.pd-services-wide-card-head {

    width: 100%;

    display: flex !important;

    flex-wrap: nowrap !important;

    justify-content:
        space-between !important;

    align-items: center !important;

    margin-bottom: 34px;
}


/* flat icon */

body.page-id-6
.pd-services-wide-icon {

    display: grid;

    place-items: center;

    width: 58px;

    height: 58px;

    flex: 0 0 58px;

    border-radius: 12px;

    background: #edf5ef;

    color: #17623a;
}


body.page-id-6
.pd-services-wide-tax
.pd-services-wide-icon {

    background: #f0f5e8;

    color: #729c2c;
}


body.page-id-6
.pd-services-wide-finance
.pd-services-wide-icon {

    background: #e9f4ed;

    color: #147442;
}


body.page-id-6
.pd-services-wide-consulting
.pd-services-wide-icon {

    background: #f4f0e5;

    color: #9b7924;
}


body.page-id-6
.pd-services-wide-icon svg {

    width: 34px;

    height: 34px;
}


/* number */

body.page-id-6
.pd-services-wide-number {

    margin: 0 !important;

    color: #8a9a90;

    font-size: 13px;

    font-weight: 700;

    letter-spacing: .05em;
}


/* ---------------------------------
   TEXT
   --------------------------------- */

body.page-id-6
.pd-services-wide-label {

    margin:
        0 0 8px !important;

    color: #75857b !important;

    font-size: 10px !important;

    font-weight: 800 !important;

    letter-spacing: .17em;

    text-transform: uppercase;
}


body.page-id-6
.pd-services-wide-card h3 {

    margin:
        0 0 18px !important;

    color: #12271b;

    font-size:
        28px !important;

    line-height: 1.08 !important;

    letter-spacing:
        -.03em !important;

    white-space: nowrap;
}


body.page-id-6
.pd-services-wide-card
> p:not(
    .pd-services-wide-label
):not(
    .pd-services-wide-link
) {

    margin: 0;

    color: #607067;

    font-size: 14px;

    line-height: 1.75;
}


/* ---------------------------------
   LINK
   --------------------------------- */

body.page-id-6
.pd-services-wide-link {

    margin:
        auto 0 0 !important;

    padding-top:
        28px;

    border-top:
        1px solid #e7ece8;
}


body.page-id-6
.pd-services-wide-link a {

    display:
        inline-flex;

    align-items: center;

    gap: 10px;

    color: #155d31;

    font-size: 13px;

    font-weight: 800;

    text-decoration: none;
}


body.page-id-6
.pd-services-wide-link span {

    font-size: 17px;

    transition:
        transform .18s ease;
}


body.page-id-6
.pd-services-wide-link a:hover span {

    transform:
        translateX(4px);
}


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

@media (max-width: 900px) {

    body.page-id-6
    .pd-services-wide-heading {

        display: block;

        margin-bottom: 36px;
    }


    body.page-id-6
    .pd-services-wide-heading
    .pd-home-eyebrow {

        margin-bottom: 14px;
    }


    body.page-id-6
    .pd-services-wide-heading h2 {

        margin-bottom: 16px;
    }


    body.page-id-6
    .pd-services-wide-grid {

        grid-template-columns:
            1fr !important;

        gap: 16px !important;
    }


    body.page-id-6
    .pd-services-wide-card {

        min-height: 0;
    }


    body.page-id-6
    .pd-services-wide-card h3 {

        white-space: normal;
    }
}


/* PD GROUP — SERVICES WIDE V4 END */



/* =====================================================
   PD GROUP — SERVICES V4A TUNE START
   ===================================================== */

body.page-id-6 .pd-services-wide-v4 {
    padding-top: 78px;
    padding-bottom: 88px;
}

/* Smaller, more balanced main heading */
body.page-id-6 .pd-services-wide-heading {
    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(300px, .95fr);

    gap: 48px;

    margin-bottom: 42px;
}

body.page-id-6
.pd-services-wide-heading
.pd-home-eyebrow {
    margin-bottom: -38px;
}

body.page-id-6
.pd-services-wide-heading h2 {
    max-width: 620px;

    font-size:
        clamp(34px, 3.1vw, 46px) !important;

    line-height: 1.05 !important;

    letter-spacing:
        -.04em !important;
}

body.page-id-6
.pd-services-wide-heading
> p:last-child {
    max-width: 470px;

    font-size: 15px;

    line-height: 1.68;
}


/* Wider cards */
body.page-id-6 .pd-services-wide-grid {
    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;

    gap: 14px !important;
}


/* Slightly less horizontal padding = more usable card width */
body.page-id-6 .pd-services-wide-card {
    min-height: 320px;

    padding:
        28px 24px;
}


/* Bring icon area slightly closer */
body.page-id-6
.pd-services-wide-card-head {
    margin-bottom: 28px;
}


/* Keep headings clean and wide */
body.page-id-6
.pd-services-wide-card h3 {
    font-size:
        26px !important;

    letter-spacing:
        -.025em !important;
}


/* Descriptions a little tighter */
body.page-id-6
.pd-services-wide-card
> p:not(
    .pd-services-wide-label
):not(
    .pd-services-wide-link
) {
    font-size: 13.5px;

    line-height: 1.66;
}


/* Reduce CTA top spacing */
body.page-id-6
.pd-services-wide-link {
    padding-top: 22px;
}


/* Slightly wider shell treatment just for this section */
body.page-id-6
.pd-services-wide-v4
.pd-home-shell {
    width:
        min(
            1220px,
            calc(100% - 40px)
        ) !important;

    max-width:
        1220px !important;
}


@media (max-width: 900px) {

    body.page-id-6
    .pd-services-wide-heading {

        display: block;

        margin-bottom: 32px;
    }

    body.page-id-6
    .pd-services-wide-heading
    .pd-home-eyebrow {

        margin-bottom: 12px;
    }

    body.page-id-6
    .pd-services-wide-heading h2 {

        margin-bottom: 14px;

        font-size:
            clamp(32px, 8vw, 42px) !important;
    }

    body.page-id-6
    .pd-services-wide-v4
    .pd-home-shell {

        width:
            min(
                100% - 28px,
                720px
            ) !important;
    }
}


/* PD GROUP — SERVICES V4A TUNE END */



/* =====================================================
   PD GROUP — SERVICES FILL WIDTH V4B START
   ===================================================== */

/*
 * Gutenberg constrained layout was limiting this block
 * to the global content width. Force the services area
 * to use the full homepage shell.
 */

body.page-id-6
.pd-services-wide-v4
> .pd-home-shell {
    width: min(1220px, calc(100% - 40px)) !important;
    max-width: 1220px !important;
}


/*
 * Critical fix:
 * the grid itself must not inherit the 760px
 * constrained Gutenberg content width.
 */

body.page-id-6
.pd-services-wide-v4
.pd-services-wide-grid {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    display: grid !important;

    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;

    gap: 18px !important;

    align-items: stretch !important;
}


/*
 * Override Gutenberg's constrained child width.
 */

body.page-id-6
.pd-services-wide-v4
.is-layout-constrained
> .pd-services-wide-grid {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/*
 * Each column gets exactly one third.
 */

body.page-id-6
.pd-services-wide-grid
> .wp-block-column {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;

    display: flex !important;
}


/*
 * Card fills its grid cell completely.
 */

body.page-id-6
.pd-services-wide-card {
    width: 100% !important;
    max-width: none !important;

    height: 100%;

    box-sizing: border-box;
}


/*
 * Heading also aligns with the wider grid.
 */

body.page-id-6
.pd-services-wide-heading {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


@media (max-width: 900px) {

    body.page-id-6
    .pd-services-wide-v4
    > .pd-home-shell {
        width: min(100% - 28px, 720px) !important;
    }

    body.page-id-6
    .pd-services-wide-grid {
        grid-template-columns: 1fr !important;
    }
}


/* PD GROUP — SERVICES FILL WIDTH V4B END */



/* =====================================================
   PD GROUP — SERVICES BANKNOTE HOVER V4C START
   ===================================================== */

body.page-id-6 .pd-services-wide-card {
    isolation: isolate;
    overflow: hidden;
}


/*
 * Banknote / guilloche overlay.
 * Invisible at rest, fades in on hover.
 */

body.page-id-6 .pd-services-wide-card::after {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 0;

    pointer-events: none;

    opacity: 0;

    transition:
        opacity .28s ease,
        transform .35s ease;

    background:
        repeating-radial-gradient(
            ellipse at 18% 28%,
            rgba(20, 95, 51, .13) 0 1px,
            transparent 1px 8px
        ),
        repeating-radial-gradient(
            ellipse at 82% 72%,
            rgba(190, 155, 58, .10) 0 1px,
            transparent 1px 10px
        ),
        linear-gradient(
            135deg,
            rgba(255,255,255,.12),
            rgba(20,95,51,.035)
        );

    transform: scale(1.025);
}


/*
 * Keep actual card content above pattern.
 */

body.page-id-6
.pd-services-wide-card
> * {
    position: relative;
    z-index: 1;
}


/*
 * Hover reveal.
 */

body.page-id-6
.pd-services-wide-card:hover::after {
    opacity: .42;
    transform: scale(1);
}


/*
 * Slightly richer hover surface.
 */

body.page-id-6
.pd-services-wide-card:hover {
    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f9fcf9 100%
        );

    box-shadow:
        0 24px 54px
        rgba(18, 64, 40, .10);
}


/*
 * Service-specific tinting.
 */

body.page-id-6
.pd-services-wide-tax:hover {
    border-color:
        rgba(158, 193, 54, .45);
}

body.page-id-6
.pd-services-wide-finance:hover {
    border-color:
        rgba(26, 121, 70, .40);
}

body.page-id-6
.pd-services-wide-consulting:hover {
    border-color:
        rgba(196, 164, 77, .45);
}


/*
 * Icon gets a subtle embossed feel on hover.
 */

body.page-id-6
.pd-services-wide-card:hover
.pd-services-wide-icon {
    transform: translateY(-2px);

    box-shadow:
        inset 0 0 0 1px
        rgba(255,255,255,.65),
        0 8px 18px
        rgba(25, 85, 50, .08);
}

body.page-id-6
.pd-services-wide-icon {
    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


/*
 * CTA arrow moves slightly on hover.
 */

body.page-id-6
.pd-services-wide-card:hover
.pd-services-wide-link span {
    transform: translateX(5px);
}


/*
 * Respect reduced motion.
 */

@media (prefers-reduced-motion: reduce) {

    body.page-id-6
    .pd-services-wide-card,

    body.page-id-6
    .pd-services-wide-card::after,

    body.page-id-6
    .pd-services-wide-icon,

    body.page-id-6
    .pd-services-wide-link span {
        transition: none !important;
    }
}


/* PD GROUP — SERVICES BANKNOTE HOVER V4C END */



/* =====================================================
   PD GROUP — HERO BANKNOTE VISIBLE V2 START
   ===================================================== */

/* ---------------------------------
   HERO FOUNDATION
   --------------------------------- */

body.page-id-6 .pd-home-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    padding-top: 54px !important;
    padding-bottom: 56px !important;

    background:
        radial-gradient(
            circle at 50% 30%,
            rgba(20, 129, 65, .22) 0%,
            rgba(20, 129, 65, 0) 42%
        ),
        linear-gradient(
            135deg,
            #084b2a 0%,
            #0d6a34 50%,
            #084a2a 100%
        ) !important;
}


/* ---------------------------------
   BANKNOTE BACKGROUND FIELD
   --------------------------------- */

/* fine guilloche mesh */
body.page-id-6 .pd-home-hero::before {
    content: "";

    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;

    opacity: .62;

    background:
        repeating-radial-gradient(
            ellipse at 12% 78%,
            rgba(199, 177, 80, .17) 0 1.1px,
            transparent 1.1px 10px
        ),
        repeating-radial-gradient(
            ellipse at 86% 18%,
            rgba(189, 213, 132, .12) 0 1px,
            transparent 1px 12px
        ),
        repeating-linear-gradient(
            167deg,
            rgba(255,255,255,.055) 0 1px,
            transparent 1px 14px
        ),
        repeating-linear-gradient(
            13deg,
            rgba(255,255,255,.035) 0 1px,
            transparent 1px 16px
        );

    mix-blend-mode: screen;
}


/* stronger note engraving structures */
body.page-id-6 .pd-home-hero::after {
    content: "";

    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;

    opacity: .72;

    background:
        /* left medallion */
        radial-gradient(
            circle at 11% 44%,
            transparent 0 118px,
            rgba(194, 170, 73, .22) 118px 120px,
            transparent 120px 139px,
            rgba(194, 170, 73, .14) 139px 141px,
            transparent 141px 178px
        ),

        radial-gradient(
            circle at 11% 44%,
            transparent 0 162px,
            rgba(172, 204, 96, .08) 162px 164px,
            transparent 164px 182px,
            rgba(255,255,255,.07) 182px 183px,
            transparent 183px 220px
        ),

        /* right medallion */
        radial-gradient(
            circle at 89% 18%,
            transparent 0 110px,
            rgba(177, 205, 98, .18) 110px 112px,
            transparent 112px 130px,
            rgba(255,255,255,.055) 130px 131px,
            transparent 131px 180px
        ),

        /* large center sweep */
        repeating-radial-gradient(
            ellipse at 44% 72%,
            rgba(255,255,255,.06) 0 1px,
            transparent 1px 14px
        ),

        repeating-radial-gradient(
            ellipse at 58% 34%,
            rgba(255,255,255,.04) 0 1px,
            transparent 1px 17px
        );

    mask-image:
        linear-gradient(
            to right,
            rgba(0,0,0,.94) 0%,
            rgba(0,0,0,.98) 20%,
            rgba(0,0,0,.98) 80%,
            rgba(0,0,0,.94) 100%
        );
}


/* put hero contents over note art */
body.page-id-6 .pd-home-hero > * {
    position: relative;
    z-index: 1;
}


/* ---------------------------------
   HERO CONTENT
   --------------------------------- */

body.page-id-6 .pd-home-hero .wp-block-columns {
    gap: clamp(28px, 4vw, 64px) !important;
    align-items: center !important;
}

body.page-id-6 .pd-home-hero .wp-block-column:first-child {
    max-width: 770px;
}

body.page-id-6 .pd-home-hero .pd-home-eyebrow,
body.page-id-6 .pd-home-hero .pd-home-eyebrow-green {
    margin-bottom: 18px !important;
}

body.page-id-6 .pd-home-hero h1 {
    max-width: 9ch;
    margin-bottom: 18px !important;

    font-size: clamp(39px, 4vw, 45px) !important;
    line-height: 1.03 !important;
    letter-spacing: -.045em !important;
    text-wrap: balance;

    text-shadow:
        0 1px 0 rgba(255,255,255,.03);
}

body.page-id-6 .pd-home-hero p {
    max-width: 650px;
    margin-bottom: 0 !important;

    color: rgba(255,255,255,.91) !important;
    font-size: 16px !important;
    line-height: 1.72 !important;
}

body.page-id-6 .pd-home-hero .wp-block-buttons {
    gap: 14px !important;
    margin-top: 24px !important;
    margin-bottom: 18px !important;
}

body.page-id-6 .pd-home-hero .wp-block-button__link {
    min-height: 54px;
    padding: 15px 24px !important;
    border-radius: 14px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}


/* ---------------------------------
   QUICK TAX ACCESS CARD
   --------------------------------- */

body.page-id-6 .pd-home-hero-card,
body.page-id-6 .pd-home-refund-card,
body.page-id-6 .pd-home-quick-tax-card,
body.page-id-6 .pd-home-hero .pd-quick-tax-access {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    max-width: 386px;
    margin-left: auto;

    padding: 30px 32px !important;

    border-radius: 28px !important;
    border: 1px solid rgba(255,255,255,.72) !important;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.97) 0%,
            rgba(250,252,248,.965) 100%
        ) !important;

    box-shadow:
        0 20px 46px rgba(7, 41, 23, .16),
        0 2px 0 rgba(255,255,255,.45) inset;
}

/* note-style soft medallions inside white card */
body.page-id-6 .pd-home-hero-card::before,
body.page-id-6 .pd-home-hero-card::after,
body.page-id-6 .pd-home-refund-card::before,
body.page-id-6 .pd-home-refund-card::after,
body.page-id-6 .pd-home-quick-tax-card::before,
body.page-id-6 .pd-home-quick-tax-card::after,
body.page-id-6 .pd-home-hero .pd-quick-tax-access::before,
body.page-id-6 .pd-home-hero .pd-quick-tax-access::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
    z-index: 0;
}

body.page-id-6 .pd-home-hero-card::before,
body.page-id-6 .pd-home-refund-card::before,
body.page-id-6 .pd-home-quick-tax-card::before,
body.page-id-6 .pd-home-hero .pd-quick-tax-access::before {
    width: 154px;
    height: 154px;
    top: -44px;
    right: -36px;

    background:
        repeating-radial-gradient(
            ellipse at center,
            rgba(172, 201, 92, .16) 0 1px,
            transparent 1px 9px
        );
    opacity: .62;
}

body.page-id-6 .pd-home-hero-card::after,
body.page-id-6 .pd-home-refund-card::after,
body.page-id-6 .pd-home-quick-tax-card::after,
body.page-id-6 .pd-home-hero .pd-quick-tax-access::after {
    width: 130px;
    height: 130px;
    left: -28px;
    bottom: -34px;

    background:
        repeating-radial-gradient(
            ellipse at center,
            rgba(214, 180, 69, .11) 0 1px,
            transparent 1px 10px
        );
    opacity: .58;
}

body.page-id-6 .pd-home-hero-card > *,
body.page-id-6 .pd-home-refund-card > *,
body.page-id-6 .pd-home-quick-tax-card > *,
body.page-id-6 .pd-home-hero .pd-quick-tax-access > * {
    position: relative;
    z-index: 1;
}

body.page-id-6 .pd-home-hero-card h2,
body.page-id-6 .pd-home-refund-card h2,
body.page-id-6 .pd-home-quick-tax-card h2,
body.page-id-6 .pd-home-hero .pd-quick-tax-access h2 {
    margin-bottom: 16px !important;
    color: #18271e !important;
    font-size: clamp(25px, 2.1vw, 33px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.03em !important;
}

body.page-id-6 .pd-home-hero-card p,
body.page-id-6 .pd-home-refund-card p,
body.page-id-6 .pd-home-quick-tax-card p,
body.page-id-6 .pd-home-hero .pd-quick-tax-access p {
    color: #617167 !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

body.page-id-6 .pd-home-hero-card hr,
body.page-id-6 .pd-home-refund-card hr,
body.page-id-6 .pd-home-quick-tax-card hr,
body.page-id-6 .pd-home-hero .pd-quick-tax-access hr {
    margin: 18px 0 !important;
    border-color: rgba(22, 64, 39, .10) !important;
}


/* ---------------------------------
   MOBILE
   --------------------------------- */

@media (max-width: 900px) {
    body.page-id-6 .pd-home-hero {
        padding-top: 42px !important;
        padding-bottom: 44px !important;
    }

    body.page-id-6 .pd-home-hero h1 {
        max-width: none;
        font-size: clamp(34px, 9vw, 42px) !important;
    }

    body.page-id-6 .pd-home-hero .wp-block-columns {
        gap: 24px !important;
    }

    body.page-id-6 .pd-home-hero-card,
    body.page-id-6 .pd-home-refund-card,
    body.page-id-6 .pd-home-quick-tax-card,
    body.page-id-6 .pd-home-hero .pd-quick-tax-access {
        max-width: none;
        margin-left: 0;
        padding: 26px 24px !important;
    }
}

/* PD GROUP — HERO BANKNOTE VISIBLE V2 END */

