/*
Theme Name: Patriot Digital Collective Child
Theme URI: https://patriotdigitalcollective.com
Description: Custom child theme for Patriot Digital Collective using Astra.
Author: Patriot Digital Collective
Author URI: https://patriotdigitalcollective.com
Template: astra
Version: 1.0.0
Text Domain: patriot-digital-child
*/

/* --------------------------------------------------------------------------
   Patriot Digital Collective design system
   -------------------------------------------------------------------------- */

:root {
    --pdc-color-primary: #5ed7b2;
    --pdc-color-primary-hover: #47c5a0;
    --pdc-color-primary-soft: #e8faf5;
    --pdc-color-navy-950: #071126;
    --pdc-color-navy-900: #0b1630;
    --pdc-color-navy-800: #111e38;
    --pdc-color-navy-700: #1a2e52;
    --pdc-color-ink: #182033;
    --pdc-color-slate: #475467;
    --pdc-color-muted: #667085;
    --pdc-color-border: #d8e0ea;
    --pdc-color-canvas: #f5f7fa;
    --pdc-color-surface: #ffffff;
    --pdc-color-warm-white: #fcfcfd;
    --pdc-color-signal: #3182ce;
    --pdc-color-signal-dark: #1d4ed8;
    --pdc-color-success: #15803d;
    --pdc-color-warning: #b45309;
    --pdc-color-error: #b42318;

    --pdc-font-display: "Poppins", "Avenir Next", "Segoe UI", sans-serif;
    --pdc-font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --pdc-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;

    --pdc-text-xs: 0.8125rem;
    --pdc-text-sm: 0.875rem;
    --pdc-text-base: 1.0625rem;
    --pdc-text-lg: 1.1875rem;
    --pdc-text-xl: 1.25rem;
    --pdc-text-2xl: clamp(1.375rem, 2vw, 1.5rem);
    --pdc-text-3xl: clamp(1.625rem, 3vw, 1.875rem);
    --pdc-text-4xl: clamp(2rem, 4vw, 2.5rem);
    --pdc-text-5xl: clamp(2.375rem, 5vw, 3.25rem);
    --pdc-text-display: clamp(2.625rem, 7vw, 4rem);

    --pdc-space-2xs: 0.25rem;
    --pdc-space-xs: 0.5rem;
    --pdc-space-sm: 0.75rem;
    --pdc-space-md: 1rem;
    --pdc-space-lg: 1.5rem;
    --pdc-space-xl: 2rem;
    --pdc-space-2xl: 3rem;
    --pdc-space-3xl: 4rem;
    --pdc-space-4xl: 6rem;
    --pdc-space-5xl: 8rem;

    --pdc-radius-sm: 0.5rem;
    --pdc-radius-md: 0.875rem;
    --pdc-radius-lg: 1.375rem;
    --pdc-radius-xl: 1.75rem;
    --pdc-radius-pill: 999px;

    --pdc-shadow-sm: 0 8px 24px rgb(7 17 38 / 8%);
    --pdc-shadow-md: 0 18px 48px rgb(7 17 38 / 14%);
    --pdc-shadow-focus: 0 0 0 4px rgb(59 130 246 / 28%);

    --pdc-container: 75rem;
    --pdc-container-wide: 85rem;
    --pdc-container-narrow: 47.5rem;
    --pdc-gutter: clamp(1rem, 3vw, 1.5rem);
    --pdc-section-space: clamp(3.5rem, 8vw, 6rem);
    --pdc-transition-fast: 180ms ease;
    --pdc-transition-emphasis: 280ms ease;
}

/* Stripe environment and acceptance control center. */
.pdc-stripe-mode-badge {
    display: inline-flex;
    align-items: center;
    width: max-content;
    margin-left: .55rem;
    padding: .28rem .58rem;
    border: 1px solid rgba(88, 211, 178, .38);
    border-radius: 999px;
    background: rgba(88, 211, 178, .12);
    color: #63e6be;
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .08em;
    vertical-align: middle;
}
.pdc-stripe-mode-badge.is-live {
    border-color: rgba(255, 184, 107, .52);
    background: rgba(255, 184, 107, .14);
    color: #ffd19a;
}
.pdc-stripe-control,
.pdc-stripe-acceptance,
.pdc-stripe-cleanup { margin-bottom: 1.25rem; }
.pdc-stripe-status-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .8rem;
    margin: 1rem 0;
}
.pdc-stripe-status-grid > div {
    display: grid;
    gap: .35rem;
    min-width: 0;
    padding: 1rem;
    border: 1px solid rgba(128, 154, 197, .18);
    border-radius: 14px;
    background: rgba(5, 18, 43, .38);
}
.pdc-stripe-status-grid span,
.pdc-stripe-status-grid small { color: #9fb0cc; font-size: .78rem; }
.pdc-stripe-status-grid strong { color: #f5f8ff; overflow-wrap: anywhere; }
.pdc-stripe-status-grid .is-ready { color: #63e6be; }
.pdc-stripe-status-grid .is-not-ready { color: #ffb0b8; }
.pdc-stripe-safety {
    display: grid;
    gap: .25rem;
    margin: 1rem 0;
    padding: 1rem 1.1rem;
    border-left: 3px solid #63e6be;
    background: rgba(88, 211, 178, .08);
}
.pdc-stripe-safety.is-warning { border-color: #ff8794; background: rgba(255, 94, 113, .08); }
.pdc-stripe-safety strong { color: #f7f9ff; }
.pdc-stripe-safety span { color: #aebbd1; }
.pdc-stripe-control-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1rem 0; }
.pdc-admin-secondary-button,
.pdc-stripe-email-routing button,
.pdc-stripe-cleanup button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: .7rem 1rem;
    border: 1px solid rgba(99, 230, 190, .42);
    border-radius: 10px;
    background: transparent;
    color: #63e6be;
    font-weight: 750;
    text-decoration: none;
    cursor: pointer;
}
.pdc-stripe-diagnostics,
.pdc-stripe-email-routing {
    margin-top: 1.2rem;
    padding-top: 1.1rem;
    border-top: 1px solid rgba(128, 154, 197, .17);
}
.pdc-stripe-diagnostics h3,
.pdc-stripe-email-routing h3 { color: #f5f8ff; }
.pdc-stripe-diagnostics > p { color: #9fb0cc; }
.pdc-stripe-check-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.pdc-stripe-check-list > div {
    display: grid;
    gap: .2rem;
    padding: .75rem .85rem;
    border: 1px solid rgba(128, 154, 197, .18);
    border-radius: 10px;
    background: rgba(5, 18, 43, .35);
}
.pdc-stripe-check-list .is-passed { border-color: rgba(99, 230, 190, .32); }
.pdc-stripe-check-list .is-failed { border-color: rgba(255, 135, 148, .42); }
.pdc-stripe-check-list strong { color: #f5f8ff; }
.pdc-stripe-check-list span { color: #aebbd1; font-size: .83rem; }
.pdc-stripe-email-routing { display: grid; gap: .85rem; }
.pdc-stripe-email-routing label { display: grid; gap: .4rem; color: #dce4f3; }
.pdc-stripe-email-routing input[type="email"] {
    width: min(100%, 540px);
    min-height: 44px;
    padding: .7rem .8rem;
    border: 1px solid rgba(128, 154, 197, .34);
    border-radius: 10px;
    background: #f7f9fc;
    color: #091a38;
}
.pdc-stripe-email-routing button { width: max-content; }
.pdc-stripe-acceptance-list { display: grid; gap: .65rem; margin: 1rem 0; }
.pdc-stripe-acceptance-list > div {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) 150px minmax(210px, 1.4fr) 150px;
    gap: .7rem;
    align-items: center;
    padding: .75rem;
    border: 1px solid rgba(128, 154, 197, .16);
    border-radius: 10px;
    background: rgba(5, 18, 43, .32);
}
.pdc-stripe-acceptance-list strong { color: #f5f8ff; }
.pdc-stripe-acceptance-list select,
.pdc-stripe-acceptance-list input {
    min-height: 42px;
    padding: .55rem .65rem;
    border: 1px solid rgba(128, 154, 197, .3);
    border-radius: 9px;
    background: #f7f9fc;
    color: #091a38;
}
.pdc-stripe-acceptance-list small { color: #8fa0bc; }
.pdc-stripe-history-grid { align-items: start; }
.pdc-stripe-history { display: grid; gap: .55rem; }
.pdc-stripe-history > div {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: .6rem;
    align-items: center;
    padding: .65rem 0;
    border-bottom: 1px solid rgba(128, 154, 197, .12);
}
.pdc-stripe-history > div:last-child { border-bottom: 0; }
.pdc-stripe-history strong { color: #eef3ff; }
.pdc-stripe-history small { color: #8fa0bc; }
.pdc-stripe-history span { padding: .2rem .45rem; border-radius: 999px; background: rgba(99, 230, 190, .12); color: #63e6be; font-size: .69rem; font-weight: 800; }
.pdc-stripe-history span.is-failed,
.pdc-stripe-history span.is-rejected { background: rgba(255, 135, 148, .12); color: #ffb0b8; }
.pdc-stripe-cleanup details > summary { color: #ffb0b8; font-weight: 800; cursor: pointer; }
.pdc-stripe-cleanup p,
.pdc-stripe-cleanup label { color: #b9c5d9; }
.pdc-stripe-cleanup form { display: grid; gap: .8rem; margin-top: 1rem; }
.pdc-stripe-cleanup button { width: max-content; border-color: rgba(255, 135, 148, .45); color: #ffb0b8; }
@media (max-width: 900px) {
    .pdc-stripe-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pdc-stripe-acceptance-list > div { grid-template-columns: 1fr 140px; }
    .pdc-stripe-acceptance-list input,
    .pdc-stripe-acceptance-list small { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
    .pdc-stripe-status-grid,
    .pdc-stripe-check-list { grid-template-columns: 1fr; }
    .pdc-stripe-acceptance-list > div { grid-template-columns: 1fr; }
    .pdc-stripe-acceptance-list input,
    .pdc-stripe-acceptance-list small { grid-column: auto; }
    .pdc-stripe-history > div { grid-template-columns: auto 1fr; }
    .pdc-stripe-history small { grid-column: 1 / -1; }
}

/* Business analysis pricing, assignment, questionnaire, and report workflow. */
.pdc-analysis-pricing {
    background: linear-gradient(135deg, #071126 0%, #0d1d3d 55%, #123448 100%);
    color: #d7e0ec;
}

.pdc-analysis-pricing .pdc-section-heading h2,
.pdc-analysis-pricing h3,
.pdc-analysis-pricing .pdc-pricing-card__price {
    color: #fff;
}

.pdc-analysis-pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    margin-top: 2.5rem;
}

.pdc-analysis-pricing-grid > article {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 2rem;
    border: 1px solid rgba(94, 215, 178, .25);
    border-radius: 20px;
    background: rgba(8, 22, 48, .78);
    box-shadow: 0 18px 45px rgba(0, 0, 0, .18);
}

.pdc-analysis-pricing-grid > .pdc-analysis-pricing-featured {
    border-color: #5ed7b2;
    background: linear-gradient(180deg, #11284b, #0a1834);
    transform: translateY(-10px);
}

.pdc-analysis-pricing-grid ul {
    flex: 1;
    margin: 1.25rem 0 2rem;
    padding: 0;
    list-style: none;
}

.pdc-analysis-pricing-grid li {
    position: relative;
    padding: .7rem 0 .7rem 1.6rem;
    border-bottom: 1px solid rgba(255, 255, 255, .09);
}

.pdc-analysis-pricing-grid li::before {
    content: "\2713";
    position: absolute;
    left: 0;
    color: #5ed7b2;
    font-weight: 700;
}

.pdc-analysis-pricing .pdc-pricing-note {
    color: #aebbd0;
}

.pdc-analysis-admin-form select,
.pdc-analysis-admin-form input,
.pdc-analysis-review-form select,
.pdc-analysis-review-form input,
.pdc-analysis-review-form textarea,
.pdc-analysis-questionnaire textarea {
    width: 100%;
}

.pdc-analysis-assignment-note {
    padding: 1rem 1.1rem;
    border-left: 3px solid #5ed7b2;
    background: rgba(94, 215, 178, .08);
    color: #bfccdb;
}

.pdc-analysis-admin-list {
    display: grid;
    gap: 1.25rem;
}

.pdc-analysis-admin-item {
    padding: 1.35rem;
    border: 1px solid rgba(94, 215, 178, .18);
    border-radius: 16px;
    background: rgba(7, 17, 38, .55);
}

.pdc-analysis-admin-heading,
.pdc-analysis-client-summary,
.pdc-analysis-locked {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.pdc-analysis-admin-heading > div,
.pdc-analysis-client-summary > div,
.pdc-analysis-locked > div {
    display: grid;
    gap: .25rem;
}

.pdc-analysis-admin-heading strong,
.pdc-analysis-client-summary h4,
.pdc-analysis-locked strong {
    color: #fff;
}

.pdc-analysis-admin-heading span,
.pdc-analysis-client-summary p,
.pdc-analysis-locked span {
    color: #aebbd0;
}

.pdc-analysis-admin-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    margin: 1rem 0;
}

.pdc-analysis-admin-metrics span {
    display: grid;
    gap: .2rem;
    padding: .75rem;
    border-radius: 10px;
    background: rgba(255, 255, 255, .04);
    color: #aebbd0;
}

.pdc-analysis-admin-metrics strong {
    color: #5ed7b2;
}

.pdc-analysis-answer-review {
    margin: 1rem 0;
    padding: 1rem;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 12px;
}

.pdc-analysis-answer-review summary {
    cursor: pointer;
    color: #5ed7b2;
    font-weight: 700;
}

.pdc-analysis-answer-review h4 {
    margin: 1.35rem 0 .5rem;
    color: #fff;
}

.pdc-analysis-answer-review div {
    padding: .85rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.pdc-analysis-answer-review p {
    margin: .35rem 0 0;
    color: #b9c5d6;
}

.pdc-analysis-review-form {
    display: grid;
    gap: 1rem;
    padding-top: 1rem;
}

.pdc-analysis-ai-form,
.pdc-analysis-followup-admin {
    display: grid;
    gap: .9rem;
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid rgba(94, 215, 178, .18);
    border-radius: 12px;
    background: rgba(94, 215, 178, .04);
}

.pdc-analysis-followup-admin h4,
.pdc-analysis-followup-history strong {
    color: #fff;
}

.pdc-analysis-followup-admin form,
.pdc-analysis-followup-history {
    display: grid;
    gap: .75rem;
}

.pdc-analysis-followup-admin .pdc-admin-check {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: .65rem;
    color: #dce5ef;
}

.pdc-analysis-followup-admin textarea {
    width: 100%;
    border-radius: 9px;
    background: #f7f9fc;
    color: #111827;
}

.pdc-analysis-followup-history article {
    display: grid;
    gap: .45rem;
    padding: .85rem;
    border-radius: 9px;
    background: rgba(255, 255, 255, .04);
}

.pdc-analysis-followup-history p {
    margin: 0;
    color: #bfccdb;
}

.pdc-analysis-review-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.pdc-analysis-proposal-builder {
    margin-top: 1.25rem;
    overflow: hidden;
    border: 1px solid rgba(94, 215, 178, .26);
    border-radius: 14px;
    background: rgba(4, 16, 36, .48);
}

.pdc-analysis-proposal-builder > summary {
    padding: 1rem 1.15rem;
    color: #5ed7b2;
    font-weight: 800;
    cursor: pointer;
}

.pdc-analysis-proposal-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 1.15rem;
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.pdc-analysis-proposal-form label,
.pdc-analysis-proposal-form label > span {
    display: grid;
    gap: .45rem;
}

.pdc-analysis-proposal-form small {
    color: #aebbd0;
}

.pdc-analysis-proposal-form [hidden] {
    display: none !important;
}

.pdc-analysis-proposal-milestones {
    display: grid;
    gap: .65rem;
    padding: 1rem;
    border: 1px solid rgba(173, 196, 220, .18);
    border-radius: 12px;
}

.pdc-analysis-proposal-milestones legend {
    padding: 0 .5rem;
    color: #fff;
    font-weight: 800;
}

.pdc-analysis-proposal-milestones > div {
    display: grid;
    grid-template-columns: minmax(160px, 2fr) minmax(110px, 1fr) minmax(145px, 1fr);
    gap: .65rem;
}

.pdc-analysis-proposal-linked {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.25rem;
    padding: 1rem;
    border: 1px solid rgba(94, 215, 178, .26);
    border-radius: 12px;
    background: rgba(94, 215, 178, .06);
}

.pdc-analysis-proposal-linked > div {
    display: grid;
    gap: .25rem;
}

.pdc-analysis-proposal-linked strong {
    color: #fff;
}

.pdc-analysis-proposal-linked span {
    color: #aebbd0;
}

.pdc-analysis-report .pdc-portal-button {
    display: inline-flex;
    margin-top: 1rem;
}

.pdc-analysis-review-form label,
.pdc-analysis-review-form label > span {
    display: grid;
    gap: .45rem;
}

.pdc-business-analysis-card {
    overflow: hidden;
}

.pdc-analysis-client-heading {
    margin-bottom: 1.5rem;
}

.pdc-analysis-client-item {
    border: 1px solid rgba(94, 215, 178, .2);
    border-radius: 18px;
    overflow: hidden;
    background: linear-gradient(145deg, rgba(11, 28, 60, .82), rgba(6, 18, 42, .94));
}

.pdc-analysis-client-item + .pdc-analysis-client-item {
    margin-top: 1.25rem;
}

.pdc-analysis-client-summary {
    padding: 1.25rem 1.35rem;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.pdc-analysis-client-summary h4,
.pdc-analysis-client-summary p {
    margin: 0;
}

.pdc-analysis-locked,
.pdc-analysis-submitted {
    margin: 1.25rem;
    padding: 1.1rem;
    border-radius: 12px;
    background: rgba(94, 215, 178, .08);
}

.pdc-analysis-submitted {
    display: grid;
    gap: .35rem;
    border-left: 3px solid #5ed7b2;
}

.pdc-analysis-submitted strong {
    color: #fff;
}

.pdc-analysis-payment-unavailable {
    color: #ffd08a;
}

.pdc-analysis-questionnaire {
    padding: 1.35rem;
}

.pdc-analysis-questionnaire fieldset {
    margin: 0 0 1.5rem;
    padding: 1.25rem;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 14px;
}

.pdc-analysis-questionnaire legend {
    padding: 0 .55rem;
    color: #fff;
    font-family: Poppins, sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
}

.pdc-analysis-questionnaire fieldset > p {
    margin: 0 0 1.15rem;
    color: #aebbd0;
}

.pdc-analysis-questionnaire label {
    display: grid;
    gap: .5rem;
    margin-top: 1rem;
}

.pdc-analysis-questionnaire label > span {
    color: #dce5ef;
    font-weight: 600;
}

.pdc-analysis-questionnaire label em {
    color: #5ed7b2;
    font-size: .75rem;
    font-style: normal;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.pdc-analysis-questionnaire textarea,
.pdc-analysis-review-form textarea,
.pdc-analysis-review-form input,
.pdc-analysis-review-form select {
    border: 1px solid rgba(94, 215, 178, .25);
    border-radius: 9px;
    background: #f7f9fc;
    color: #111827;
}

.pdc-analysis-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: .75rem;
}

.pdc-analysis-form-actions button {
    min-height: 46px;
    padding: .75rem 1.15rem;
    border: 1px solid rgba(94, 215, 178, .4);
    border-radius: 8px;
    background: transparent;
    color: #dce5ef;
    font-weight: 700;
}

.pdc-analysis-report {
    margin: 1.25rem;
    padding: 1.5rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, .04);
}

.pdc-analysis-report h4 {
    margin: 1rem 0 .5rem;
    color: #fff;
}

.pdc-analysis-report > div {
    color: #c3cedc;
}

.pdc-analysis-recommendations-admin {
    display: grid;
    gap: 1rem;
    margin-top: 1.25rem;
    padding: 1.15rem;
    border: 1px solid rgba(94, 215, 178, .24);
    border-radius: 14px;
    background: rgba(8, 23, 50, .72);
}

.pdc-analysis-recommendations-heading,
.pdc-analysis-scorecard-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.pdc-analysis-recommendations-heading h4,
.pdc-analysis-scorecard-heading h4 {
    margin: .25rem 0 0;
    color: #fff;
}

.pdc-analysis-recommendations-heading > span,
.pdc-analysis-scorecard-heading > strong {
    color: #5ed7b2;
}

.pdc-analysis-recommendation-grid,
.pdc-analysis-scorecard-list {
    display: grid;
    gap: 1rem;
}

.pdc-analysis-recommendation-item {
    padding: 1rem;
    border: 1px solid rgba(173, 196, 220, .16);
    border-radius: 12px;
    background: rgba(4, 16, 36, .55);
}

.pdc-analysis-recommendation-item > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.pdc-analysis-recommendation-item h5,
.pdc-analysis-scorecard-item h5 {
    margin: .45rem 0 0;
    color: #fff;
    font-size: 1.05rem;
}

.pdc-recommendation-priority {
    color: #aebbd0;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.pdc-priority-critical { color: #ff8f8f; }
.pdc-priority-high { color: #ffd27a; }
.pdc-priority-medium { color: #79bdff; }
.pdc-priority-low { color: #83dfc3; }

.pdc-analysis-recommendation-item dl,
.pdc-analysis-scorecard-item dl {
    display: grid;
    gap: .65rem;
    margin: 1rem 0;
}

.pdc-analysis-recommendation-item dl > div,
.pdc-analysis-scorecard-item dl > div {
    display: grid;
    gap: .2rem;
}

.pdc-analysis-recommendation-item dt,
.pdc-analysis-scorecard-item dt {
    color: #5ed7b2;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.pdc-analysis-recommendation-item dd,
.pdc-analysis-scorecard-item dd {
    margin: 0;
    color: #c8d5e4;
}

.pdc-analysis-recommendation-form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    margin-top: 1rem;
}

.pdc-analysis-recommendation-form label {
    display: grid;
    gap: .35rem;
}

.pdc-analysis-recommendation-form label > span {
    color: #b9cce0;
    font-size: .78rem;
    font-weight: 700;
}

.pdc-analysis-recommendation-form input,
.pdc-analysis-recommendation-form select,
.pdc-analysis-recommendation-form textarea {
    width: 100%;
    border: 1px solid #8da5be;
    border-radius: 8px;
    background: #f8fbff;
    color: #071329;
}

.pdc-recommendation-wide { grid-column: 1 / -1; }

.pdc-analysis-secondary-button,
.pdc-analysis-project-link {
    display: inline-flex;
    margin-top: .75rem;
    padding: .7rem 1rem;
    border: 1px solid rgba(94, 215, 178, .4);
    border-radius: 8px;
    background: transparent;
    color: #5ed7b2;
    font-weight: 800;
    cursor: pointer;
}

.pdc-analysis-scorecard {
    margin: 1.25rem;
    padding: 1.5rem;
    border: 1px solid rgba(94, 215, 178, .24);
    border-radius: 14px;
    background: rgba(94, 215, 178, .045);
}

.pdc-analysis-scorecard-progress {
    height: 10px;
    margin: 1rem 0 1.25rem;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(173, 196, 220, .16);
}

.pdc-analysis-scorecard-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #3182ce, #5dd7b2);
}

.pdc-analysis-scorecard-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .8fr);
    gap: 1.25rem;
    padding: 1rem;
    border-left: 3px solid #79bdff;
    border-radius: 10px;
    background: rgba(4, 16, 36, .5);
}

.pdc-analysis-scorecard-item > div > span {
    color: #5ed7b2;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pdc-analysis-scorecard-item p { color: #becddd; }
.pdc-analysis-scorecard-item.pdc-scorecard-completed { border-left-color: #5ed7b2; }

@media (max-width: 900px) {
    .pdc-analysis-pricing-grid {
        grid-template-columns: 1fr;
    }

    .pdc-analysis-pricing-grid > .pdc-analysis-pricing-featured {
        transform: none;
    }

    .pdc-analysis-admin-metrics {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .pdc-analysis-admin-heading,
    .pdc-analysis-client-summary,
    .pdc-analysis-locked,
    .pdc-analysis-form-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .pdc-analysis-pricing-grid > article,
    .pdc-analysis-questionnaire,
    .pdc-analysis-questionnaire fieldset {
        padding: 1rem;
    }

    .pdc-analysis-form-actions button,
    .pdc-analysis-form-actions .pdc-portal-button {
        width: 100%;
    }

    .pdc-analysis-proposal-form,
    .pdc-analysis-proposal-milestones > div {
        grid-template-columns: 1fr;
    }

    .pdc-analysis-proposal-linked {
        align-items: stretch;
        flex-direction: column;
    }

    .pdc-analysis-recommendations-heading,
    .pdc-analysis-scorecard-heading,
    .pdc-analysis-recommendation-item > header {
        flex-direction: column;
    }

    .pdc-analysis-recommendation-form,
    .pdc-analysis-scorecard-item {
        grid-template-columns: 1fr;
    }

    .pdc-recommendation-wide { grid-column: auto; }
}

/* Free Website Review: enforce readable contrast on the dark page surface. */
body.pdc-free-website-review .pdc-review-page .pdc-review-hero h1,
body.pdc-free-website-review .pdc-review-page .pdc-review-guidance h2,
body.pdc-free-website-review .pdc-review-page .pdc-review-mini-step h3,
body.pdc-free-website-review .pdc-review-page .pdc-review-form-shell h2 {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

body.pdc-free-website-review .pdc-review-page .pdc-review-eyebrow {
	color: #5ed7b2 !important;
	-webkit-text-fill-color: #5ed7b2 !important;
}

body.pdc-free-website-review .pdc-review-page .pdc-review-lead,
body.pdc-free-website-review .pdc-review-page .pdc-review-mini-step p,
body.pdc-free-website-review .pdc-review-page .pdc-review-domain-note {
	color: #b9c8db !important;
	-webkit-text-fill-color: #b9c8db !important;
}

/* Free Website Review v2 ------------------------------------------------ */
body.pdc-free-website-review,
body.pdc-free-website-review .site,
body.pdc-free-website-review .site-content {
    background: #071328;
    color: #eef5ff;
    color-scheme: dark;
}

.pdc-review-page {
    background: #071328;
    color: #eef5ff;
}

.pdc-review-wrap {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.pdc-review-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(88px, 11vw, 150px) 0 clamp(84px, 10vw, 132px);
    text-align: center;
    border-top: 1px solid rgba(94, 215, 178, 0.18);
    border-bottom: 1px solid rgba(94, 215, 178, 0.2);
    background:
        radial-gradient(circle at 15% 15%, rgba(49, 130, 206, 0.28), transparent 38%),
        radial-gradient(circle at 85% 20%, rgba(94, 215, 178, 0.14), transparent 32%),
        linear-gradient(135deg, #071226 0%, #0b1931 52%, #10283b 100%);
}

.pdc-review-hero::after {
    position: absolute;
    inset: 0;
    content: "";
    pointer-events: none;
    opacity: 0.28;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
    background-size: 48px 48px;
}

.pdc-review-hero .pdc-review-wrap {
    position: relative;
    z-index: 1;
    max-width: 920px;
}

.pdc-review-eyebrow {
    margin: 0 0 18px;
    color: #5ed7b2;
    font: 700 0.78rem/1.2 Inter, sans-serif;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.pdc-review-hero h1 {
    max-width: 900px;
    margin: 0 auto 24px;
    color: #ffffff;
    font: 700 clamp(2.65rem, 6vw, 5.25rem)/1.02 Poppins, sans-serif;
    letter-spacing: -0.045em;
}

.pdc-review-lead {
    max-width: 790px;
    margin: 0 auto;
    color: #cbd6e5;
    font-size: clamp(1.05rem, 2vw, 1.28rem);
    line-height: 1.75;
}

.pdc-review-trust {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 22px;
    margin: 34px 0 0;
    padding: 0;
    color: #eff7ff;
    font-weight: 600;
    list-style: none;
}

.pdc-review-trust li {
    display: flex;
    gap: 8px;
    align-items: center;
}

.pdc-review-trust li::before {
    color: #5ed7b2;
    font-weight: 800;
    content: "✓";
}

.pdc-review-conversion {
    padding: clamp(62px, 8vw, 104px) 0;
    background: #eef3f8;
    color: #142238;
    color-scheme: light;
}

.pdc-review-conversion-grid {
    display: grid;
    grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1.45fr);
    gap: 28px;
    align-items: start;
}

.pdc-review-guidance {
    padding: clamp(28px, 4vw, 44px);
    border-radius: 24px;
    background: linear-gradient(145deg, #0c1d38, #10284a);
    color: #eff7ff;
    box-shadow: 0 24px 65px rgba(7, 19, 40, 0.16);
}

.pdc-review-guidance h2 {
    margin: 0 0 26px;
    color: #ffffff;
    font-size: clamp(1.7rem, 3vw, 2.5rem);
    line-height: 1.15;
}

.pdc-review-mini-step {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 14px;
    padding: 20px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.pdc-review-mini-step:first-of-type {
    border-top: 0;
}

.pdc-review-mini-step-number {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 50%;
    background: rgba(94, 215, 178, 0.14);
    color: #5ed7b2;
    font-size: 0.78rem;
    font-weight: 800;
}

.pdc-review-mini-step h3 {
    margin: 0 0 6px;
    color: #ffffff;
    font-size: 1rem;
    line-height: 1.35;
}

.pdc-review-mini-step p {
    margin: 0;
    color: #c4d0df;
    font-size: 0.94rem;
    line-height: 1.6;
}

.pdc-review-contact {
    margin-top: 26px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.pdc-review-contact a {
    display: block;
    margin-top: 8px;
    color: #5ed7b2;
    font-weight: 600;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.pdc-review-contact a:hover {
    color: #ffffff;
}

.pdc-review-form-shell {
    padding: clamp(28px, 4vw, 48px);
    border: 1px solid #dbe4ee;
    border-radius: 24px;
    background: #ffffff;
    color: #142238;
    color-scheme: light;
    box-shadow: 0 24px 65px rgba(7, 19, 40, 0.1);
}

.pdc-review-form-shell h2 {
    margin: 0 0 12px;
    color: #101e35;
    font-size: clamp(1.8rem, 3vw, 2.65rem);
    line-height: 1.15;
}

.pdc-review-form-shell > p {
    color: #526175;
    line-height: 1.65;
}

.pdc-review-domain-note {
    margin: 0 0 28px;
}

.pdc-review-form-shell .fluentform {
    margin-top: 28px;
}

.pdc-review-form-shell .ff-el-input--label label,
.pdc-review-form-shell .ff-el-form-check-label,
.pdc-review-form-shell .ff-el-form-check-label *,
.pdc-review-form-shell .ff-el-form-check label,
.pdc-review-form-shell .ff-el-form-check label *,
.pdc-review-form-shell .ff_t_c,
.pdc-review-form-shell .ff_t_c *,
.pdc-review-form-shell .ff-el-form-check-description {
    color: #26364a !important;
    opacity: 1 !important;
}

.pdc-review-form-shell input:not([type="checkbox"]):not([type="radio"]),
.pdc-review-form-shell textarea,
.pdc-review-form-shell select {
    border: 1px solid #cbd6e2 !important;
    border-radius: 10px !important;
    background: #f8fafc !important;
    color: #142238 !important;
}

.pdc-review-form-shell input::placeholder,
.pdc-review-form-shell textarea::placeholder {
    color: #728096 !important;
    opacity: 1 !important;
}

.pdc-review-form-shell input:focus,
.pdc-review-form-shell textarea:focus,
.pdc-review-form-shell select:focus {
    border-color: #3182ce !important;
    outline: 0 !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(49, 130, 206, 0.14) !important;
}

.pdc-review-form-shell input[type="checkbox"],
.pdc-review-form-shell input[type="radio"] {
    accent-color: #3182ce;
}

.pdc-review-form-shell .ff-btn-submit {
    padding: 14px 24px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #5ed7b2 !important;
    color: #08162b !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}

.pdc-review-form-shell .ff-btn-submit:hover {
    background: #7ee3c5 !important;
    transform: translateY(-1px);
}

body.pdc-free-website-review .site-footer {
    border-top: 1px solid rgba(94, 215, 178, 0.18);
    background: #061124 !important;
    color: #c7d2e2 !important;
}

body.pdc-free-website-review .site-footer a {
    color: #5ed7b2 !important;
}

@media (max-width: 900px) {
    .pdc-review-conversion-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .pdc-review-wrap {
        width: calc(100% - 28px);
        max-width: 1180px;
    }

    .pdc-review-hero {
        padding: 72px 0 70px;
    }

    .pdc-review-hero h1 {
        font-size: clamp(2.25rem, 13vw, 3.5rem);
    }

    .pdc-review-trust {
        flex-direction: column;
        gap: 10px;
        align-items: center;
    }

    .pdc-review-conversion {
        padding: 46px 0;
    }

    .pdc-review-guidance,
    .pdc-review-form-shell {
        padding: 24px 20px;
        border-radius: 18px;
    }
}

html {
    scroll-behavior: smooth;
}

body {
    background: var(--pdc-color-warm-white);
    color: var(--pdc-color-ink);
    font-family: var(--pdc-font-body);
    font-size: var(--pdc-text-base);
    line-height: 1.7;
    text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea {
    font-family: var(--pdc-font-body);
}

h1,
h2,
h3,
h4,
h5,
h6,
.site-title {
    color: var(--pdc-color-navy-900);
    font-family: var(--pdc-font-display);
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.16;
    text-wrap: balance;
}

h1 {
    font-size: var(--pdc-text-5xl);
}

h2 {
    font-size: var(--pdc-text-4xl);
}

h3 {
    font-size: var(--pdc-text-3xl);
    font-weight: 600;
}

h4 {
    font-size: var(--pdc-text-2xl);
    font-weight: 600;
}

h5,
h6 {
    font-size: var(--pdc-text-xl);
    font-weight: 600;
}

a {
    color: var(--pdc-color-signal-dark);
    text-decoration-color: rgb(49 130 206 / 38%);
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.18em;
    transition:
        color var(--pdc-transition-fast),
        text-decoration-color var(--pdc-transition-fast);
}

a:hover {
    color: var(--pdc-color-navy-700);
    text-decoration-color: currentColor;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    border-radius: var(--pdc-radius-sm);
    box-shadow: var(--pdc-shadow-focus);
    outline: 2px solid var(--pdc-color-signal);
    outline-offset: 3px;
}

::selection {
    background: var(--pdc-color-navy-800);
    color: var(--pdc-color-surface);
}

code,
kbd,
pre,
samp {
    font-family: var(--pdc-font-mono);
}

img {
    height: auto;
    max-width: 100%;
}

/* Layout */

.pdc-container,
.pdc-container--wide,
.pdc-container--narrow {
    margin-inline: auto;
    padding-inline: var(--pdc-gutter);
    width: 100%;
}

.pdc-container {
    max-width: calc(var(--pdc-container) + (2 * var(--pdc-gutter)));
}

.pdc-container--wide {
    max-width: calc(var(--pdc-container-wide) + (2 * var(--pdc-gutter)));
}

.pdc-container--narrow,
.pdc-prose {
    max-width: var(--pdc-container-narrow);
}

.pdc-section {
    padding-block: var(--pdc-section-space);
}

.pdc-section--compact {
    padding-block: clamp(3rem, 6vw, 4rem);
}

.pdc-section--dark {
    background:
        radial-gradient(circle at 85% 0%, rgb(94 215 178 / 18%), transparent 32rem),
        radial-gradient(circle at 15% 20%, rgb(49 130 206 / 14%), transparent 28rem),
        linear-gradient(145deg, var(--pdc-color-navy-950), var(--pdc-color-navy-800));
    color: var(--pdc-color-surface);
}

.pdc-section--dark :where(h1, h2, h3, h4, h5, h6) {
    color: var(--pdc-color-surface);
}

.pdc-section--canvas {
    background: var(--pdc-color-canvas);
}

.pdc-grid {
    display: grid;
    gap: clamp(1.25rem, 3vw, 2rem);
}

.pdc-grid--2,
.pdc-grid--3,
.pdc-grid--4 {
    grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 48rem) {
    .pdc-grid--2,
    .pdc-grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pdc-grid--3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 70rem) {
    .pdc-grid--4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* Typography helpers */

.pdc-display {
    font-size: var(--pdc-text-display);
    letter-spacing: -0.04em;
    line-height: 1.05;
}

.pdc-eyebrow {
    color: var(--pdc-color-signal-dark);
    display: inline-block;
    font-family: var(--pdc-font-body);
    font-size: var(--pdc-text-xs);
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1.4;
    text-transform: uppercase;
}

.pdc-section--dark .pdc-eyebrow {
    color: var(--pdc-color-primary);
}

.pdc-lead {
    color: var(--pdc-color-slate);
    font-size: var(--pdc-text-lg);
    line-height: 1.65;
    max-width: 65ch;
}

.pdc-section--dark .pdc-lead {
    color: rgb(255 255 255 / 78%);
}

.pdc-prose {
    color: var(--pdc-color-slate);
}

.pdc-prose > * + * {
    margin-block-start: 1.25em;
}

/* Buttons */

.pdc-button,
.elementor-button,
button.pdc-button,
input[type="submit"].pdc-button {
    align-items: center;
    background: var(--pdc-color-primary);
    border: 1px solid var(--pdc-color-primary);
    border-radius: var(--pdc-radius-pill);
    color: var(--pdc-color-navy-950);
    cursor: pointer;
    display: inline-flex;
    font-size: 0.9375rem;
    font-weight: 700;
    gap: var(--pdc-space-xs);
    justify-content: center;
    line-height: 1.2;
    min-height: 3rem;
    padding: 0.875rem 1.5rem;
    text-align: center;
    text-decoration: none;
    transition:
        background-color var(--pdc-transition-fast),
        border-color var(--pdc-transition-fast),
        box-shadow var(--pdc-transition-fast),
        color var(--pdc-transition-fast),
        transform var(--pdc-transition-fast);
}

.pdc-button:hover,
.elementor-button:hover,
button.pdc-button:hover,
input[type="submit"].pdc-button:hover {
    background: var(--pdc-color-primary-hover);
    border-color: var(--pdc-color-primary-hover);
    color: var(--pdc-color-navy-950);
    transform: translateY(-2px);
}

.pdc-button--secondary {
    background: transparent;
    border-color: var(--pdc-color-navy-900);
    color: var(--pdc-color-navy-900);
}

.pdc-button--secondary:hover {
    background: var(--pdc-color-navy-900);
    border-color: var(--pdc-color-navy-900);
    color: var(--pdc-color-surface);
}

.pdc-button--ghost {
    background: transparent;
    border-color: rgb(255 255 255 / 55%);
    color: var(--pdc-color-surface);
}

.pdc-button--ghost:hover {
    background: var(--pdc-color-surface);
    border-color: var(--pdc-color-surface);
    color: var(--pdc-color-navy-900);
}

/* Cards and badges */

.pdc-card {
    background: var(--pdc-color-surface);
    border: 1px solid var(--pdc-color-border);
    border-radius: var(--pdc-radius-lg);
    box-shadow: var(--pdc-shadow-sm);
    color: var(--pdc-color-ink);
    padding: clamp(1.5rem, 4vw, 2rem);
    position: relative;
    transition:
        border-color var(--pdc-transition-emphasis),
        box-shadow var(--pdc-transition-emphasis),
        transform var(--pdc-transition-emphasis);
}

a.pdc-card {
    display: block;
    text-decoration: none;
}

a.pdc-card:hover {
    border-color: rgb(94 215 178 / 62%);
    box-shadow: var(--pdc-shadow-md);
    color: var(--pdc-color-ink);
    transform: translateY(-4px);
}

.pdc-card--dark {
    background: var(--pdc-color-navy-800);
    border-color: rgb(255 255 255 / 12%);
    color: var(--pdc-color-surface);
}

.pdc-card--dark :where(h2, h3, h4, h5, h6) {
    color: var(--pdc-color-surface);
}

.pdc-card--featured {
    border-color: var(--pdc-color-signal);
    box-shadow: 0 20px 56px rgb(49 130 206 / 16%);
}

.pdc-badge {
    align-items: center;
    background: var(--pdc-color-primary-soft);
    border-radius: var(--pdc-radius-pill);
    color: var(--pdc-color-navy-800);
    display: inline-flex;
    font-size: var(--pdc-text-xs);
    font-weight: 700;
    gap: var(--pdc-space-2xs);
    line-height: 1;
    padding: 0.55rem 0.8rem;
}

.pdc-price {
    color: var(--pdc-color-navy-900);
    font-family: var(--pdc-font-display);
    font-size: var(--pdc-text-4xl);
    font-weight: 700;
    letter-spacing: -0.035em;
    line-height: 1.1;
}

/* Forms */

:where(input:not([type="checkbox"], [type="radio"], [type="submit"]), select, textarea) {
    background: var(--pdc-color-surface);
    border: 1px solid var(--pdc-color-border);
    border-radius: var(--pdc-radius-sm);
    color: var(--pdc-color-ink);
    font-size: 1rem;
    min-height: 3rem;
    padding: 0.75rem 0.875rem;
    transition:
        border-color var(--pdc-transition-fast),
        box-shadow var(--pdc-transition-fast);
    width: 100%;
}

textarea {
    min-height: 8rem;
    resize: vertical;
}

:where(input, select, textarea)::placeholder {
    color: var(--pdc-color-muted);
    opacity: 1;
}

:where(input, select, textarea):focus {
    border-color: var(--pdc-color-signal);
    box-shadow: var(--pdc-shadow-focus);
    outline: none;
}

label {
    color: var(--pdc-color-ink);
    display: inline-block;
    font-size: var(--pdc-text-sm);
    font-weight: 600;
    margin-block-end: var(--pdc-space-xs);
}

.ff-el-is-error :where(input, select, textarea),
.woocommerce-invalid :where(input, select, textarea) {
    border-color: var(--pdc-color-error);
}

.ff-el-is-error .error,
.woocommerce-error {
    color: var(--pdc-color-error);
}

.woocommerce-message {
    border-color: var(--pdc-color-success);
}

/* Astra header and footer integration */

.site-header {
    background: rgb(252 252 253 / 94%);
    border-bottom: 1px solid rgb(216 224 234 / 78%);
    backdrop-filter: blur(14px);
}

.main-header-menu > .menu-item > .menu-link {
    color: var(--pdc-color-navy-900);
    font-size: 0.9375rem;
    font-weight: 600;
}

.main-header-menu > .menu-item > .menu-link:hover,
.main-header-menu > .current-menu-item > .menu-link,
.main-header-menu > .current-menu-ancestor > .menu-link {
    color: var(--pdc-color-signal-dark);
}

.site-footer {
    background: var(--pdc-color-navy-950);
    color: rgb(255 255 255 / 76%);
}

.site-footer :where(h2, h3, h4, h5, h6) {
    color: var(--pdc-color-surface);
}

.site-footer a {
    color: rgb(255 255 255 / 82%);
}

.site-footer a:hover {
    color: var(--pdc-color-surface);
}

/* Site-wide dark shell
 *
 * Astra applies colors to several nested header and footer builder wrappers.
 * Keep the full shell consistent on every page instead of limiting the dark
 * treatment to the homepage.
 */

.site-header,
.ast-primary-header-bar,
.main-header-bar,
.ast-mobile-header-wrap .ast-primary-header-bar {
    background: rgb(7 17 38 / 96%) !important;
    border-bottom-color: rgb(94 215 178 / 18%) !important;
}

.main-header-menu > .menu-item > .menu-link,
.ast-header-break-point .main-navigation .menu-link,
.ast-header-break-point .main-header-menu .menu-link {
    color: rgb(255 255 255 / 84%) !important;
}

.main-header-menu > .menu-item > .menu-link:hover,
.main-header-menu > .current-menu-item > .menu-link,
.main-header-menu > .current-menu-ancestor > .menu-link,
.ast-header-break-point .main-navigation .menu-link:hover,
.ast-header-break-point .main-header-menu .current-menu-item > .menu-link {
    color: var(--pdc-color-primary) !important;
}

.ast-mobile-popup-drawer .ast-mobile-popup-inner,
.ast-mobile-popup-drawer .ast-mobile-popup-content,
.ast-mobile-popup-drawer .ast-builder-menu-mobile,
.ast-mobile-popup-drawer .main-navigation,
.ast-mobile-popup-drawer .main-header-menu,
.ast-mobile-popup-drawer .main-header-bar-navigation {
    background: var(--pdc-color-navy-950) !important;
    color: rgb(255 255 255 / 84%) !important;
}

.ast-mobile-popup-drawer .main-header-menu .menu-item,
.ast-mobile-popup-drawer .main-header-menu .menu-link {
    background: transparent !important;
}

.ast-mobile-popup-drawer .main-header-menu .menu-link {
    color: rgb(255 255 255 / 88%) !important;
}

.ast-mobile-popup-drawer .main-header-menu .menu-link:hover,
.ast-mobile-popup-drawer .main-header-menu .menu-link:focus,
.ast-mobile-popup-drawer .main-header-menu .current-menu-item > .menu-link {
    background: rgb(94 215 178 / 10%) !important;
    color: var(--pdc-color-primary) !important;
}

.ast-mobile-popup-drawer .ast-mobile-popup-header .menu-toggle-close,
.ast-button-wrap .menu-toggle .mobile-menu-toggle-icon,
.ast-button-wrap .menu-toggle .mobile-menu-wrap {
    color: var(--pdc-color-primary) !important;
}

.site-footer,
.site-footer .site-below-footer-wrap,
.site-footer .site-below-footer-inner-wrap {
    background:
        radial-gradient(circle at 18% 0%, rgb(49 130 206 / 12%), transparent 25rem),
        linear-gradient(145deg, var(--pdc-color-navy-950), var(--pdc-color-navy-900)) !important;
    border-top-color: rgb(94 215 178 / 18%) !important;
    color: rgb(255 255 255 / 76%) !important;
}

/* Replace Astra site footer on public pages with PDC utility footer. */
body:not(.pdc-admin-dashboard):not(.pdc-client-portal) .site-footer {
    display: none;
}

body.pdc-terms-unavailable .site-footer a[href$="/terms-of-service/"] {
    display: none !important;
}

/* CTA band above footer */
.pdc-cta-band { background: linear-gradient(90deg, var(--pdc-color-navy-900), var(--pdc-color-navy-800)); color: var(--pdc-color-warm-white); padding: 28px 16px; }
.pdc-cta-inner { align-items: center; display: flex; gap: 32px; justify-content: space-between; margin: 0 auto; max-width: 1320px; }
.pdc-cta-copy { max-width: 38rem; }
.pdc-cta-copy h2 { color: var(--pdc-color-warm-white); font-size: clamp(1.35rem, 3vw, 2rem); margin: 0 0 6px; }
.pdc-cta-copy p { color: rgb(255 255 255 / 76%); margin: 0; }
.pdc-cta-actions { display: flex; flex: 0 0 auto; gap: 12px; }
.pdc-footer-cta-button { border-radius: 8px; display: inline-block; font-weight: 700; padding: 12px 20px; text-decoration: none; transition: transform 160ms ease, box-shadow 160ms ease; }
.pdc-footer-cta-button:hover { transform: translateY(-2px); }
.pdc-footer-cta-button:focus-visible { outline: 3px solid var(--pdc-color-warm-white); outline-offset: 3px; }
.pdc-footer-cta-button--primary { background: var(--pdc-color-primary); color: var(--pdc-color-navy-950); }
.pdc-footer-cta-button--secondary { background: transparent; border: 2px solid rgb(255 255 255 / 36%); color: var(--pdc-color-warm-white); }

/* Utility footer */
.pdc-utility-footer { background: var(--pdc-color-navy-900); color: var(--pdc-color-warm-white); padding: 40px 16px 24px; }
.pdc-footer-inner { align-items: start; display: grid; gap: 32px; grid-template-columns: 1.55fr 1fr 1fr 1.5fr; margin: 0 auto; max-width: 1320px; }
.pdc-footer-logo { display: block; margin-bottom: 16px; }
.pdc-footer-logo .custom-logo-link { display: inline-block; }
.pdc-footer-logo .custom-logo { height: auto; max-height: 64px; max-width: 220px; width: auto; }
.pdc-footer-logo--text { color: var(--pdc-color-primary); font-family: var(--pdc-font-display); font-size: 1.1rem; font-weight: 700; text-decoration: none; }
.pdc-footer-summary { color: rgb(255 255 255 / 72%); font-size: .95rem; line-height: 1.65; margin: 0; max-width: 30rem; }
.pdc-footer-trust { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.pdc-footer-trust span { border: 1px solid rgb(94 215 178 / 28%); border-radius: 999px; color: var(--pdc-color-primary-soft); font-size: .75rem; font-weight: 700; letter-spacing: .04em; padding: 6px 10px; text-transform: uppercase; }
.pdc-footer-links h2, .pdc-footer-company h2, .pdc-footer-contact h2 { color: var(--pdc-color-warm-white); font-size: 1rem; margin: 0 0 8px; }
.pdc-footer-links ul, .pdc-footer-company ul { list-style: none; margin: 0; padding: 0; }
.pdc-footer-links a, .pdc-footer-company a { color: var(--pdc-color-primary); text-decoration: none; }
.pdc-footer-contact p { margin: 0 0 8px; }
.pdc-footer-contact a { align-items: center; color: var(--pdc-color-warm-white); display: inline-flex; gap: 8px; overflow-wrap: anywhere; text-decoration: none; }
.pdc-utility-footer a:hover { color: var(--pdc-color-surface); text-decoration: underline; }
.pdc-utility-footer a:focus-visible { outline: 2px solid var(--pdc-color-primary); outline-offset: 3px; }
.pdc-footer-bottom { align-items: center; border-top: 1px solid rgb(255 255 255 / 12%); display: flex; gap: 20px; justify-content: space-between; margin: 32px auto 0; max-width: 1320px; padding-top: 18px; }
.pdc-footer-copyright { color: rgb(255 255 255 / 60%); font-size: .9rem; margin: 0; }
.pdc-footer-legal { display: flex; flex-wrap: wrap; gap: 18px; }
.pdc-footer-legal a { color: rgb(255 255 255 / 72%); font-size: .9rem; text-decoration: none; }

@media (min-width: 1101px) {
    .pdc-footer-contact a[href^="mailto:"] { overflow-wrap: normal; white-space: nowrap; }
}

@media (max-width: 1100px) {
    .pdc-footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pdc-cta-inner { align-items: flex-start; flex-direction: column; gap: 20px; }
    .pdc-cta-actions { width: 100%; }
    .pdc-footer-cta-button { text-align: center; width: min(100%, 22rem); }
}

@media (max-width: 560px) {
    .pdc-footer-inner { grid-template-columns: 1fr; }
    .pdc-cta-actions, .pdc-footer-bottom { align-items: stretch; flex-direction: column; }
    #ast-scroll-top { display: none !important; }
}

.site-footer .ast-footer-copyright,
.site-footer .ast-footer-copyright p {
    color: rgb(255 255 255 / 76%) !important;
}

.site-footer a {
    color: var(--pdc-color-primary) !important;
}

.site-footer a:hover {
    color: var(--pdc-color-surface) !important;
}

.pdc-facebook-icon {
    display: inline-block;
    flex: 0 0 auto;
    height: 1.15rem;
    vertical-align: -0.18em;
    width: 1.15rem;
}

.pdc-menu-facebook > .menu-link {
    align-items: center;
    display: inline-flex !important;
    gap: 0.45rem;
}

.pdc-facebook-label {
    font-size: 0.875rem;
}

@media (min-width: 922px) {
    .pdc-menu-facebook > .menu-link {
        padding-inline: 0.65rem !important;
    }

    .pdc-menu-facebook .pdc-facebook-label {
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        height: 1px;
        overflow: hidden;
        position: absolute;
        white-space: nowrap;
        width: 1px;
    }
}

@media (max-width: 921px) {
    .pdc-menu-facebook > .menu-link {
        padding-block: 0.85rem !important;
    }

    body.pdc-client-portal .ast-mobile-popup-drawer .ast-mobile-popup-inner,
    body.pdc-client-portal .ast-mobile-popup-drawer .ast-mobile-popup-content,
    body.pdc-client-portal .ast-mobile-popup-drawer .ast-builder-menu-mobile,
    body.pdc-client-portal .ast-mobile-popup-drawer .main-navigation,
    body.pdc-client-portal .ast-mobile-popup-drawer .main-header-bar-navigation,
    body.pdc-client-portal .ast-mobile-popup-drawer .main-header-menu {
        background: #071126 !important;
    }

    body.pdc-client-portal .ast-mobile-popup-drawer .main-header-menu {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
    }

    body.pdc-client-portal .ast-mobile-popup-drawer .main-header-menu > .menu-item,
    body.pdc-client-portal .ast-mobile-popup-drawer .main-header-menu > .menu-item > .menu-link,
    body.pdc-client-portal .ast-mobile-popup-drawer .pdc-portal-mobile-account details,
    body.pdc-client-portal .ast-mobile-popup-drawer .pdc-portal-mobile-account summary {
        background: transparent !important;
    }

    body.pdc-client-portal .ast-mobile-popup-drawer .main-header-menu > .menu-item {
        display: none !important;
        height: auto !important;
        min-height: 0 !important;
    }

    body.pdc-client-portal .ast-mobile-popup-drawer .main-header-menu > .pdc-portal-mobile-item,
    body.pdc-client-portal .ast-mobile-popup-drawer .main-header-menu > .pdc-portal-public-mobile-keep,
    body.pdc-client-portal .ast-mobile-popup-drawer .main-header-menu > .pdc-menu-facebook {
        display: block !important;
    }

    body.pdc-client-portal .ast-mobile-popup-drawer .main-header-menu > .menu-item > .menu-link,
    body.pdc-client-portal .ast-mobile-popup-drawer .pdc-portal-mobile-account summary {
        align-items: center;
        display: flex;
        height: auto !important;
        line-height: 1.4;
        min-height: 0 !important;
    }

    body.pdc-client-portal .ast-mobile-popup-drawer .main-header-menu .menu-link,
    body.pdc-client-portal .pdc-portal-mobile-account summary {
        color: rgb(255 255 255 / 88%) !important;
        font-size: 1rem;
        font-weight: 650;
        padding: 0.9rem 1.25rem !important;
    }

    body.pdc-client-portal .ast-mobile-popup-drawer .main-header-menu .menu-link:hover,
    body.pdc-client-portal .pdc-portal-mobile-account summary:hover {
        color: var(--pdc-color-primary) !important;
    }

    body.pdc-client-portal .pdc-portal-mobile-item {
        display: none !important;
    }

    body.pdc-client-portal .ast-mobile-popup-drawer .pdc-portal-mobile-account details {
        margin: 0;
    }

    body.pdc-client-portal .ast-mobile-popup-drawer .pdc-portal-mobile-account summary {
        align-items: center;
        cursor: pointer;
        display: flex;
        justify-content: space-between;
        list-style: none;
    }

    body.pdc-client-portal .ast-mobile-popup-drawer .pdc-portal-mobile-account summary::-webkit-details-marker {
        display: none;
    }

    .pdc-portal-menu-caret {
        border-bottom: 2px solid currentColor;
        border-right: 2px solid currentColor;
        height: 0.55rem;
        margin-left: 1rem;
        transform: rotate(45deg) translateY(-0.15rem);
        transition: transform 160ms ease;
        width: 0.55rem;
    }

    .pdc-portal-mobile-account details[open] .pdc-portal-menu-caret {
        transform: rotate(225deg) translate(-0.1rem, -0.1rem);
    }

    body.pdc-client-portal .ast-mobile-popup-drawer .pdc-portal-mobile-account .sub-menu {
        background: rgb(255 255 255 / 4%);
        display: block !important;
        margin: 0;
        padding: 0.25rem 0 0.45rem;
        position: static;
        width: 100%;
    }

    body.pdc-client-portal .ast-mobile-popup-drawer .pdc-portal-mobile-account .sub-menu .menu-link {
        color: rgb(255 255 255 / 72%) !important;
        font-size: 0.92rem;
        padding-left: 2rem !important;
    }

    body.pdc-client-portal .ast-mobile-popup-drawer .pdc-portal-mobile-dashboard > .menu-link {
        color: var(--pdc-color-primary) !important;
        font-weight: 800;
    }

    body.pdc-client-portal .ast-mobile-popup-drawer .pdc-portal-mobile-signout {
        border-top: 1px solid rgb(94 215 178 / 18%);
        margin-top: 1.25rem;
        padding-top: 0.5rem;
    }

    body.pdc-client-portal .ast-mobile-popup-drawer .pdc-portal-mobile-signout > .menu-link {
        color: #ffb4b4 !important;
    }
}

@media (min-width: 922px) {
    .pdc-portal-mobile-item {
        display: none !important;
    }
}

/* Dark foundation for inner pages and archives. Elementor sections can still
 * provide their own intentional backgrounds above this canvas. */

body:not(.page-id-6) {
    background:
        radial-gradient(circle at 10% 12%, rgb(29 78 216 / 16%), transparent 34rem),
        linear-gradient(145deg, var(--pdc-color-navy-950), #081329 58%, var(--pdc-color-navy-900));
    color: rgb(255 255 255 / 82%);
}

body:not(.page-id-6) #content {
    background: transparent;
}

body:not(.page-id-6) #primary {
    margin-block: clamp(3rem, 7vw, 6rem);
}

body:not(.page-id-6) .ast-article-single,
body:not(.page-id-6) .ast-article-post {
    background:
        radial-gradient(circle at 88% 0%, rgb(94 215 178 / 8%), transparent 24rem),
        linear-gradient(145deg, rgb(11 22 48 / 96%), rgb(17 30 56 / 96%));
    border: 1px solid rgb(94 215 178 / 14%);
    border-radius: var(--pdc-radius-lg);
    box-shadow: 0 24px 70px rgb(0 0 0 / 18%);
    color: rgb(255 255 255 / 82%);
    padding: clamp(1.5rem, 5vw, 4rem);
}

body:not(.page-id-6) .ast-article-single :where(h1, h2, h3, h4, h5, h6),
body:not(.page-id-6) .ast-article-post :where(h1, h2, h3, h4, h5, h6),
body:not(.page-id-6) .entry-title,
body:not(.page-id-6) .entry-title a {
    color: var(--pdc-color-surface) !important;
}

body:not(.page-id-6) .entry-content :where(p, li, dt, dd),
body:not(.page-id-6) .entry-meta {
    color: rgb(255 255 255 / 82%);
}

body:not(.page-id-6) .entry-content a,
body:not(.page-id-6) .entry-meta a {
    color: var(--pdc-color-primary);
}

body:not(.page-id-6) .entry-content a:hover,
body:not(.page-id-6) .entry-meta a:hover {
    color: var(--pdc-color-surface);
}

/* Forms remain light, familiar, and highly legible on the dark page canvas. */
body:not(.page-id-6) :where(input:not([type="submit"]), select, textarea) {
    background: var(--pdc-color-surface);
    border-color: rgb(255 255 255 / 34%);
    color: var(--pdc-color-navy-950);
}

body:not(.page-id-6) :where(label, legend),
body.page-id-58 .ff-el-input--label label {
    color: rgb(255 255 255 / 88%);
}

body.page-id-58 .elementor :where(h1, h2, h3, h4, h5, h6) {
    color: var(--pdc-color-surface) !important;
}

body.page-id-58 .elementor :where(p, li) {
    color: rgb(255 255 255 / 82%);
}

body.page-id-58 :where(button, input[type="submit"], .ff-btn-submit) {
    background: var(--pdc-color-primary) !important;
    color: var(--pdc-color-navy-950) !important;
}

/* Services page */

body.page-id-10 #primary {
    margin-block: 0;
}

.pdc-services {
    background:
        radial-gradient(circle at 8% 16%, rgb(29 78 216 / 18%), transparent 34rem),
        linear-gradient(180deg, var(--pdc-color-navy-950), #09152c 48%, var(--pdc-color-navy-950));
    color: rgb(255 255 255 / 82%);
    overflow: hidden;
}

.pdc-services :where(h1, h2, h3) {
    color: var(--pdc-color-surface);
}

.pdc-services-hero {
    background:
        linear-gradient(rgb(49 130 206 / 10%) 1px, transparent 1px),
        linear-gradient(90deg, rgb(49 130 206 / 10%) 1px, transparent 1px),
        radial-gradient(circle at 82% 14%, rgb(94 215 178 / 18%), transparent 28rem);
    background-size: 5rem 5rem, 5rem 5rem, auto;
    border-bottom: 1px solid rgb(94 215 178 / 12%);
    padding-block: clamp(5.5rem, 11vw, 9rem);
}

.pdc-services-hero h1 {
    font-size: clamp(2.75rem, 7vw, 5rem);
    margin-block: 0 1.25rem;
    max-width: 16ch;
}

.pdc-eyebrow {
    color: var(--pdc-color-primary) !important;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    margin-block: 0 1rem;
    text-transform: uppercase;
}

.pdc-services-hero__lead {
    color: rgb(255 255 255 / 82%);
    font-size: clamp(1.125rem, 2vw, 1.35rem);
    max-width: 48rem;
}

.pdc-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.875rem;
    margin-top: 2rem;
}

.pdc-button {
    align-items: center;
    border: 1px solid transparent;
    border-radius: var(--pdc-radius-sm);
    display: inline-flex;
    font-weight: 700;
    justify-content: center;
    line-height: 1.2;
    min-height: 3.25rem;
    padding: 0.9rem 1.35rem;
    text-decoration: none;
    transition: transform var(--pdc-transition-fast), background var(--pdc-transition-fast), border-color var(--pdc-transition-fast);
}

.pdc-button:hover {
    transform: translateY(-2px);
}

.pdc-button--primary,
.pdc-button--primary:hover {
    background: var(--pdc-color-primary);
    color: var(--pdc-color-navy-950);
}

.pdc-button--primary:hover {
    background: var(--pdc-color-primary-hover);
}

.pdc-button--ghost,
.pdc-button--ghost:hover {
    border-color: rgb(255 255 255 / 42%);
    color: var(--pdc-color-surface);
}

.pdc-button--ghost:hover {
    background: rgb(255 255 255 / 8%);
    border-color: var(--pdc-color-primary);
}

.pdc-services-section,
.pdc-services-cta {
    padding-block: clamp(4.5rem, 9vw, 7rem);
}

.pdc-services-section--contrast {
    background:
        radial-gradient(circle at 90% 8%, rgb(94 215 178 / 9%), transparent 28rem),
        linear-gradient(145deg, rgb(11 22 48 / 96%), rgb(17 30 56 / 96%));
    border-block: 1px solid rgb(94 215 178 / 12%);
}

.pdc-section-heading {
    margin-bottom: clamp(2.25rem, 5vw, 4rem);
    max-width: 47rem;
}

.pdc-section-heading h2,
.pdc-fit-grid h2,
.pdc-services-cta h2 {
    margin-block: 0 1rem;
}

.pdc-section-heading > p:last-child,
.pdc-fit-copy,
.pdc-services-cta__panel p {
    color: rgb(255 255 255 / 78%);
}

.pdc-service-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pdc-service-card {
    background:
        radial-gradient(circle at 100% 0%, rgb(49 130 206 / 14%), transparent 16rem),
        rgb(17 30 56 / 82%);
    border: 1px solid rgb(94 215 178 / 14%);
    border-radius: var(--pdc-radius-lg);
    padding: clamp(1.5rem, 3vw, 2.25rem);
    position: relative;
}

.pdc-service-card__number {
    color: var(--pdc-color-primary);
    display: block;
    font-family: var(--pdc-font-display);
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    margin-bottom: 1.75rem;
}

.pdc-service-card h3 {
    font-size: 1.35rem;
    margin-bottom: 0.75rem;
}

.pdc-service-card p,
.pdc-service-card li {
    color: rgb(255 255 255 / 76%);
}

.pdc-service-card ul {
    list-style: none;
    margin: 1.25rem 0 0;
    padding: 0;
}

.pdc-service-card li {
    border-top: 1px solid rgb(255 255 255 / 9%);
    padding-block: 0.6rem;
}

.pdc-service-card li::before {
    color: var(--pdc-color-primary);
    content: "✓";
    font-weight: 700;
    margin-right: 0.55rem;
}

.pdc-process-grid {
    counter-reset: none;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}

.pdc-process-grid li {
    border-left: 1px solid rgb(94 215 178 / 28%);
    padding: 0.5rem 1.25rem 0.75rem;
}

.pdc-process-grid li > span {
    align-items: center;
    background: rgb(94 215 178 / 12%);
    border: 1px solid rgb(94 215 178 / 28%);
    border-radius: 50%;
    color: var(--pdc-color-primary);
    display: inline-flex;
    font-weight: 700;
    height: 2.25rem;
    justify-content: center;
    margin-bottom: 1.25rem;
    width: 2.25rem;
}

.pdc-process-grid h3 {
    font-size: 1.2rem;
    margin-bottom: 0.6rem;
}

.pdc-process-grid p {
    color: rgb(255 255 255 / 72%);
    font-size: 0.95rem;
}

.pdc-fit-grid {
    align-items: start;
    display: grid;
    gap: clamp(2rem, 7vw, 6rem);
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
}

.pdc-fit-copy p:first-child {
    margin-top: 0;
}

.pdc-text-link {
    color: var(--pdc-color-primary);
    display: inline-block;
    font-weight: 700;
    margin-top: 1rem;
}

.pdc-text-link:hover {
    color: var(--pdc-color-surface);
}

.pdc-services-cta__panel {
    align-items: center;
    background:
        radial-gradient(circle at 86% 0%, rgb(94 215 178 / 18%), transparent 24rem),
        linear-gradient(135deg, var(--pdc-color-navy-800), var(--pdc-color-navy-700));
    border: 1px solid rgb(94 215 178 / 22%);
    border-radius: var(--pdc-radius-lg);
    display: grid;
    gap: 2rem;
    grid-template-columns: minmax(0, 1.45fr) minmax(16rem, 0.55fr);
    padding: clamp(2rem, 6vw, 4.5rem);
}

.pdc-services-cta__panel .pdc-actions {
    align-content: center;
    flex-direction: column;
    margin-top: 0;
}

.pdc-services-cta__panel .pdc-button {
    width: 100%;
}

@media (max-width: 1024px) {
    .pdc-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pdc-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .pdc-service-grid,
    .pdc-process-grid,
    .pdc-fit-grid,
    .pdc-services-cta__panel {
        grid-template-columns: 1fr;
    }

    .pdc-services-hero {
        padding-block: 4.5rem;
    }

    .pdc-actions,
    .pdc-actions .pdc-button {
        width: 100%;
    }
}

/* Portfolio page */

body.page-id-14 #primary {
    margin-block: 0;
}

.pdc-portfolio-page {
    background:
        radial-gradient(circle at 8% 14%, rgb(29 78 216 / 18%), transparent 34rem),
        linear-gradient(180deg, var(--pdc-color-navy-950), #09152c 48%, var(--pdc-color-navy-950));
    color: rgb(255 255 255 / 82%);
    overflow: hidden;
}

.pdc-portfolio-page :where(h1, h2, h3, h4) {
    color: var(--pdc-color-surface);
}

.pdc-portfolio-hero {
    background:
        linear-gradient(rgb(49 130 206 / 10%) 1px, transparent 1px),
        linear-gradient(90deg, rgb(49 130 206 / 10%) 1px, transparent 1px),
        radial-gradient(circle at 84% 12%, rgb(94 215 178 / 18%), transparent 28rem);
    background-size: 5rem 5rem, 5rem 5rem, auto;
    border-bottom: 1px solid rgb(94 215 178 / 12%);
    padding-block: clamp(5.5rem, 11vw, 9rem);
}

.pdc-portfolio-hero h1 {
    font-size: clamp(2.75rem, 6.5vw, 4.75rem);
    margin-block: 0 1.25rem;
    max-width: 18ch;
}

.pdc-portfolio-hero__lead {
    color: rgb(255 255 255 / 82%);
    font-size: clamp(1.1rem, 2vw, 1.3rem);
    max-width: 52rem;
}

.pdc-portfolio-section {
    padding-block: clamp(4.5rem, 9vw, 7rem);
}

.pdc-portfolio-ownership {
    padding-top: clamp(2rem, 5vw, 3.5rem);
}

.pdc-portfolio-ownership__panel {
    align-items: flex-start;
    background: rgb(17 30 56 / 78%);
    border: 1px solid rgb(94 215 178 / 22%);
    border-radius: var(--pdc-radius-lg);
    display: flex;
    gap: 1.25rem;
    padding: clamp(1.5rem, 4vw, 2.5rem);
}

.pdc-portfolio-ownership__panel > span {
    align-items: center;
    background: var(--pdc-color-primary);
    border-radius: 50%;
    color: var(--pdc-color-navy-950);
    display: inline-flex;
    flex: 0 0 auto;
    font-weight: 800;
    height: 2.5rem;
    justify-content: center;
    width: 2.5rem;
}

.pdc-portfolio-ownership__panel h2 {
    font-size: clamp(1.25rem, 3vw, 1.75rem);
    margin: 0 0 0.65rem;
}

.pdc-portfolio-ownership__panel p {
    color: rgb(255 255 255 / 76%);
    margin: 0;
    max-width: 65rem;
}

.pdc-portfolio-section--contrast {
    background:
        radial-gradient(circle at 90% 8%, rgb(94 215 178 / 9%), transparent 28rem),
        linear-gradient(145deg, rgb(11 22 48 / 96%), rgb(17 30 56 / 96%));
    border-block: 1px solid rgb(94 215 178 / 12%);
}

.pdc-project-feature {
    align-items: stretch;
    display: grid;
    gap: clamp(2rem, 6vw, 5rem);
    grid-template-columns: minmax(18rem, 0.85fr) minmax(0, 1.15fr);
}

.pdc-project-visual {
    align-items: center;
    border: 1px solid rgb(94 215 178 / 24%);
    border-radius: var(--pdc-radius-lg);
    display: flex;
    justify-content: center;
    min-height: 30rem;
    overflow: hidden;
    position: relative;
    text-decoration: none;
}

.pdc-project-visual--perks {
    background:
        radial-gradient(circle at 50% 50%, rgb(49 130 206 / 34%), transparent 14rem),
        linear-gradient(145deg, #081329, #123763);
}

.pdc-project-visual__mark {
    align-items: center;
    background: rgb(7 17 38 / 74%);
    border: 1px solid var(--pdc-color-primary);
    border-radius: 50%;
    color: var(--pdc-color-primary);
    display: flex;
    font-family: var(--pdc-font-display);
    font-size: clamp(2rem, 5vw, 3.5rem);
    font-weight: 700;
    height: 9rem;
    justify-content: center;
    position: relative;
    width: 9rem;
    z-index: 2;
}

.pdc-project-visual__orbit {
    border: 1px solid rgb(94 215 178 / 34%);
    border-radius: 50%;
    position: absolute;
}

.pdc-project-visual__orbit--one {
    height: 17rem;
    width: 17rem;
}

.pdc-project-visual__orbit--two {
    height: 25rem;
    width: 25rem;
}

.pdc-project-type {
    color: var(--pdc-color-primary) !important;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    margin-bottom: 1rem;
    text-transform: uppercase;
}

.pdc-project-feature__content > h3 {
    font-size: clamp(1.75rem, 4vw, 2.75rem);
}

.pdc-project-feature__content > p,
.pdc-project-card p,
.pdc-project-card li,
.pdc-capability-list p,
.pdc-case-study-note > p {
    color: rgb(255 255 255 / 76%);
}

.pdc-project-details {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 2rem;
}

.pdc-project-details h4 {
    font-size: 1rem;
    margin-bottom: 0.75rem;
}

.pdc-project-details ul,
.pdc-project-card ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.pdc-project-details li,
.pdc-project-card li {
    border-top: 1px solid rgb(255 255 255 / 9%);
    padding-block: 0.55rem;
}

.pdc-project-details li::before,
.pdc-project-card li::before {
    color: var(--pdc-color-primary);
    content: "✓";
    font-weight: 800;
    margin-right: 0.55rem;
}

.pdc-tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1.5rem;
}

.pdc-tag-list span {
    background: rgb(94 215 178 / 10%);
    border: 1px solid rgb(94 215 178 / 22%);
    border-radius: var(--pdc-radius-pill);
    color: var(--pdc-color-primary);
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.4rem 0.7rem;
}

.pdc-project-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pdc-project-card {
    background: rgb(7 17 38 / 48%);
    border: 1px solid rgb(94 215 178 / 14%);
    border-radius: var(--pdc-radius-lg);
    overflow: hidden;
}

.pdc-project-card__visual {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 12rem;
    overflow: hidden;
    text-decoration: none;
}

.pdc-project-preview {
    background: linear-gradient(145deg, var(--pdc-color-navy-950), var(--pdc-color-navy-700));
    display: block;
    position: relative;
}

.pdc-project-preview::after {
    background: linear-gradient(180deg, transparent 65%, rgb(7 17 38 / 46%));
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    transition: opacity var(--pdc-transition-emphasis);
}

.pdc-project-preview img {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    transition: transform 500ms ease;
    width: 100%;
}

.pdc-project-preview:hover img {
    transform: scale(1.025);
}

.pdc-project-preview:hover::after {
    opacity: 0.45;
}

.pdc-project-card__visual span {
    color: rgb(255 255 255 / 90%);
    font-family: var(--pdc-font-display);
    font-size: clamp(2rem, 5vw, 3.25rem);
    font-weight: 700;
    letter-spacing: -0.04em;
}

.pdc-project-card__visual--exposure {
    background: radial-gradient(circle at 30% 20%, rgb(94 215 178 / 34%), transparent 15rem), linear-gradient(135deg, #102f3d, #071126);
}

.pdc-project-card__visual--pdc {
    background: radial-gradient(circle at 70% 18%, rgb(94 215 178 / 30%), transparent 14rem), linear-gradient(135deg, #071126, #102e55);
}

.pdc-project-card__visual--inspection {
    background: radial-gradient(circle at 75% 20%, rgb(49 130 206 / 36%), transparent 15rem), linear-gradient(135deg, #0b1630, #1a2e52);
}

.pdc-project-card__visual--rv {
    background: radial-gradient(circle at 30% 25%, rgb(180 83 9 / 32%), transparent 15rem), linear-gradient(135deg, #2a1d17, #0b1630);
}

.pdc-project-card__visual--spades {
    background: radial-gradient(circle at 50% 35%, rgb(49 130 206 / 38%), transparent 13rem), linear-gradient(145deg, #071126, #152d55);
}

.pdc-project-card__visual--spades span {
    color: var(--pdc-color-primary);
    font-size: clamp(4rem, 10vw, 7rem);
    text-shadow: 0 0 2rem rgb(94 215 178 / 28%);
}

.pdc-project-card__body {
    padding: clamp(1.5rem, 4vw, 2.25rem);
}

.pdc-project-card h3 {
    font-size: 1.45rem;
}

.pdc-project-link {
    color: var(--pdc-color-primary);
    display: inline-block;
    font-weight: 700;
    margin-top: 1.5rem;
}

.pdc-project-link:hover {
    color: var(--pdc-color-surface);
}

.pdc-capability-proof,
.pdc-case-study-note {
    display: grid;
    gap: clamp(2rem, 8vw, 7rem);
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
}

.pdc-capability-list {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pdc-capability-list article {
    border-top: 1px solid rgb(94 215 178 / 28%);
    padding-top: 1.25rem;
}

.pdc-capability-list span {
    color: var(--pdc-color-primary);
    font-size: 0.75rem;
    font-weight: 800;
}

.pdc-capability-list h3 {
    font-size: 1.15rem;
    margin-block: 0.5rem;
}

.pdc-case-study-note {
    align-items: center;
}

@media (max-width: 1024px) {
    .pdc-project-feature {
        grid-template-columns: 1fr;
    }

    .pdc-project-visual {
        min-height: 24rem;
    }
}

@media (max-width: 767px) {
    .pdc-project-grid,
    .pdc-project-details,
    .pdc-capability-proof,
    .pdc-case-study-note,
    .pdc-capability-list {
        grid-template-columns: 1fr;
    }

    .pdc-portfolio-hero {
        padding-block: 4.5rem;
    }

    .pdc-project-visual {
        min-height: 20rem;
    }
}

/* Pricing page */

body.page-id-16 #primary {
    margin-block: 0;
}

.pdc-pricing-page {
    background:
        radial-gradient(circle at 8% 14%, rgb(29 78 216 / 18%), transparent 34rem),
        linear-gradient(180deg, var(--pdc-color-navy-950), #09152c 48%, var(--pdc-color-navy-950));
    color: rgb(255 255 255 / 82%);
    overflow: hidden;
}

.pdc-pricing-page :where(h1, h2, h3) {
    color: var(--pdc-color-surface);
}

.pdc-pricing-hero {
    background:
        linear-gradient(rgb(49 130 206 / 10%) 1px, transparent 1px),
        linear-gradient(90deg, rgb(49 130 206 / 10%) 1px, transparent 1px),
        radial-gradient(circle at 84% 12%, rgb(94 215 178 / 18%), transparent 28rem);
    background-size: 5rem 5rem, 5rem 5rem, auto;
    border-bottom: 1px solid rgb(94 215 178 / 12%);
    padding-block: clamp(5.5rem, 11vw, 9rem);
}

.pdc-pricing-hero__grid {
    align-items: center;
    display: grid;
    gap: clamp(2rem, 7vw, 6rem);
    grid-template-columns: minmax(0, 1.45fr) minmax(17rem, 0.55fr);
}

.pdc-pricing-hero h1 {
    font-size: clamp(2.75rem, 6.5vw, 4.75rem);
    margin-block: 0 1.25rem;
    max-width: 17ch;
}

.pdc-pricing-hero__lead {
    color: rgb(255 255 255 / 82%);
    font-size: clamp(1.1rem, 2vw, 1.3rem);
    max-width: 50rem;
}

.pdc-pricing-promise {
    background: rgb(17 30 56 / 88%);
    border: 1px solid rgb(94 215 178 / 24%);
    border-radius: var(--pdc-radius-lg);
    padding: clamp(1.5rem, 4vw, 2.5rem);
}

.pdc-pricing-promise > span {
    align-items: center;
    background: var(--pdc-color-primary);
    border-radius: 50%;
    color: var(--pdc-color-navy-950);
    display: inline-flex;
    font-weight: 800;
    height: 2.5rem;
    justify-content: center;
    margin-bottom: 1.25rem;
    width: 2.5rem;
}

.pdc-pricing-promise h2 {
    font-size: 1.35rem;
    margin-bottom: 0.75rem;
}

.pdc-pricing-promise p {
    color: rgb(255 255 255 / 74%);
    margin-bottom: 0;
}

.pdc-pricing-section {
    padding-block: clamp(4.5rem, 9vw, 7rem);
}

.pdc-pricing-section--contrast {
    background:
        radial-gradient(circle at 90% 8%, rgb(94 215 178 / 9%), transparent 28rem),
        linear-gradient(145deg, rgb(11 22 48 / 96%), rgb(17 30 56 / 96%));
    border-block: 1px solid rgb(94 215 178 / 12%);
}

.pdc-pricing-grid {
    align-items: stretch;
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pdc-pricing-card {
    background: rgb(17 30 56 / 84%);
    border: 1px solid rgb(94 215 178 / 14%);
    border-radius: var(--pdc-radius-lg);
    display: flex;
    flex-direction: column;
    padding: clamp(1.5rem, 3vw, 2.25rem);
    position: relative;
}

.pdc-pricing-card--featured {
    background:
        radial-gradient(circle at 100% 0%, rgb(94 215 178 / 15%), transparent 18rem),
        rgb(17 30 56 / 96%);
    border-color: rgb(94 215 178 / 62%);
    box-shadow: 0 24px 70px rgb(0 0 0 / 24%);
    transform: translateY(-0.75rem);
}

.pdc-pricing-card__badge {
    background: var(--pdc-color-primary);
    border-radius: var(--pdc-radius-pill);
    color: var(--pdc-color-navy-950) !important;
    font-size: 0.75rem;
    font-weight: 800;
    padding: 0.4rem 0.7rem;
    position: absolute;
    right: 1.25rem;
    text-transform: uppercase;
    top: 1.25rem;
}

.pdc-pricing-card__type {
    color: var(--pdc-color-primary) !important;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    margin-bottom: 1rem;
    padding-right: 5rem;
    text-transform: uppercase;
}

.pdc-pricing-card h3 {
    font-size: 1.35rem;
    min-height: 3.2em;
}

.pdc-pricing-card__price {
    color: var(--pdc-color-surface) !important;
    font-family: var(--pdc-font-display);
    font-size: clamp(2.25rem, 4vw, 3.25rem);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1;
    margin-block: 1.5rem;
}

.pdc-pricing-card__price span {
    color: rgb(255 255 255 / 62%);
    display: block;
    font-family: var(--pdc-font-body);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin-bottom: 0.55rem;
    text-transform: uppercase;
}

.pdc-pricing-card__summary,
.pdc-pricing-card li,
.pdc-custom-price p,
.pdc-care-grid li,
.pdc-pricing-details,
.pdc-pricing-note {
    color: rgb(255 255 255 / 76%);
}

.pdc-pricing-card ul,
.pdc-care-grid ul,
.pdc-pricing-details ul {
    list-style: none;
    margin: 1rem 0 2rem;
    padding: 0;
}

.pdc-pricing-card li,
.pdc-care-grid li,
.pdc-pricing-details li {
    border-top: 1px solid rgb(255 255 255 / 9%);
    padding-block: 0.65rem;
}

.pdc-pricing-card li::before,
.pdc-care-grid li::before,
.pdc-pricing-details li::before {
    color: var(--pdc-color-primary);
    content: "✓";
    font-weight: 800;
    margin-right: 0.55rem;
}

.pdc-pricing-card .pdc-button {
    margin-top: auto;
    width: 100%;
}

.pdc-pricing-note {
    font-size: 0.9rem;
    margin: 2rem auto 0;
    max-width: 62rem;
    text-align: center;
}

.pdc-custom-price {
    align-items: center;
    display: grid;
    gap: clamp(2rem, 8vw, 7rem);
    grid-template-columns: minmax(0, 1.45fr) minmax(16rem, 0.55fr);
}

.pdc-custom-price__amount {
    border-left: 1px solid rgb(94 215 178 / 28%);
    padding-left: clamp(1.5rem, 4vw, 3rem);
}

.pdc-custom-price__amount > span {
    color: rgb(255 255 255 / 62%);
    display: block;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.pdc-custom-price__amount strong {
    color: var(--pdc-color-surface);
    display: block;
    font-family: var(--pdc-font-display);
    font-size: clamp(2.75rem, 6vw, 4.5rem);
    letter-spacing: -0.05em;
    margin-block: 0.5rem 1.5rem;
}

.pdc-care-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pdc-care-grid article {
    background: rgb(17 30 56 / 78%);
    border: 1px solid rgb(94 215 178 / 14%);
    border-radius: var(--pdc-radius-lg);
    padding: clamp(1.5rem, 3vw, 2.25rem);
}

.pdc-care-price {
    color: var(--pdc-color-primary) !important;
    font-family: var(--pdc-font-display);
    font-size: 2rem;
    font-weight: 700;
}

.pdc-care-price span {
    color: rgb(255 255 255 / 62%);
    font-family: var(--pdc-font-body);
    font-size: 0.85rem;
    margin-left: 0.3rem;
}

.pdc-addon-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pdc-addon-grid span {
    background: rgb(7 17 38 / 48%);
    border: 1px solid rgb(94 215 178 / 16%);
    border-radius: var(--pdc-radius-sm);
    color: rgb(255 255 255 / 82%);
    font-weight: 600;
    padding: 1rem;
}

.pdc-pricing-details {
    display: grid;
    gap: clamp(2rem, 8vw, 7rem);
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
}

.pdc-pricing-details > div > p:first-child {
    margin-top: 0;
}

@media (max-width: 1024px) {
    .pdc-pricing-grid,
    .pdc-care-grid {
        grid-template-columns: 1fr;
    }

    .pdc-pricing-card--featured {
        transform: none;
    }

    .pdc-pricing-card h3 {
        min-height: 0;
    }

    .pdc-addon-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .pdc-pricing-hero__grid,
    .pdc-custom-price,
    .pdc-pricing-details,
    .pdc-addon-grid {
        grid-template-columns: 1fr;
    }

    .pdc-pricing-hero {
        padding-block: 4.5rem;
    }

    .pdc-custom-price__amount {
        border-left: 0;
        border-top: 1px solid rgb(94 215 178 / 28%);
        padding-left: 0;
        padding-top: 2rem;
    }
}

/* Homepage hero
 *
 * The Elementor IDs intentionally scope this treatment to the opening hero on
 * the Home page. This keeps the technical background out of content sections
 * where a light canvas is more readable.
 */

body.page-id-6 .elementor-element.elementor-element-116a9e1 {
    background:
        radial-gradient(circle at 14% 22%, rgb(49 130 206 / 24%), transparent 30rem),
        radial-gradient(circle at 86% 12%, rgb(94 215 178 / 16%), transparent 26rem),
        linear-gradient(135deg, var(--pdc-color-navy-950) 0%, var(--pdc-color-navy-900) 54%, var(--pdc-color-navy-800) 100%);
    isolation: isolate;
    min-height: clamp(36rem, 72vh, 47rem);
    overflow: hidden;
    padding-block: clamp(5rem, 10vw, 8.5rem) !important;
    position: relative;
}

body.page-id-6 .elementor-element.elementor-element-116a9e1::before,
body.page-id-6 .elementor-element.elementor-element-116a9e1::after {
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}

body.page-id-6 .elementor-element.elementor-element-116a9e1::before {
    background-image:
        linear-gradient(rgb(49 130 206 / 18%) 1px, transparent 1px),
        linear-gradient(90deg, rgb(49 130 206 / 18%) 1px, transparent 1px),
        radial-gradient(circle, rgb(94 215 178 / 72%) 1.5px, transparent 1.75px);
    background-position: center;
    background-size: 5rem 5rem, 5rem 5rem, 2.5rem 2.5rem;
    mask-image: linear-gradient(115deg, rgb(0 0 0 / 82%), transparent 82%);
    opacity: 0.24;
    z-index: -2;
}

body.page-id-6 .elementor-element.elementor-element-116a9e1::after {
    background:
        linear-gradient(105deg, transparent 8%, rgb(94 215 178 / 13%) 8.15%, transparent 8.3%) 0 0 / 17rem 11rem,
        linear-gradient(15deg, transparent 42%, rgb(49 130 206 / 16%) 42.15%, transparent 42.3%) 0 0 / 19rem 13rem;
    opacity: 0.58;
    z-index: -1;
}

body.page-id-6 .elementor-element.elementor-element-116a9e1 :where(h1, h2, h3, h4, h5, h6),
body.page-id-6 .elementor-element.elementor-element-567b155,
body.page-id-6 .elementor-element.elementor-element-567b155 :where(*) {
    color: var(--pdc-color-surface) !important;
    text-shadow: 0 2px 24px rgb(0 0 0 / 22%);
}

body.page-id-6 .elementor-element.elementor-element-116a9e1 :where(p, li) {
    color: rgb(255 255 255 / 88%) !important;
}

body.page-id-6 .elementor-element.elementor-element-116a9e1 a:not(.elementor-button) {
    color: var(--pdc-color-primary);
}

body.page-id-6 .elementor-element.elementor-element-116a9e1 .elementor-button,
body.page-id-6 .elementor-element.elementor-element-116a9e1 .elementor-button :where(.elementor-button-content-wrapper, .elementor-button-text),
body.page-id-6 .elementor-element.elementor-element-116a9e1 .elementor-button:hover,
body.page-id-6 .elementor-element.elementor-element-116a9e1 .elementor-button:hover :where(.elementor-button-content-wrapper, .elementor-button-text) {
    color: var(--pdc-color-navy-950) !important;
}

/* Dark homepage experience */

body.page-id-6 {
    background:
        radial-gradient(circle at 8% 18%, rgb(29 78 216 / 18%), transparent 34rem),
        linear-gradient(145deg, var(--pdc-color-navy-950), #081329 58%, var(--pdc-color-navy-900));
    color: rgb(255 255 255 / 84%);
}

body.page-id-6 .site-header,
body.page-id-6 .ast-primary-header-bar,
body.page-id-6 .main-header-bar {
    background: rgb(7 17 38 / 94%);
    border-bottom-color: rgb(94 215 178 / 18%);
}

/* Elementor's atomic buttons use generated e-button classes instead of the
 * legacy .elementor-button class. Keep the primary CTA readable and present
 * the secondary CTA as a restrained ghost button on the dark hero. */
body.page-id-6 .elementor-element.elementor-element-116a9e1 [data-interaction-id="27c72ad"],
body.page-id-6 .elementor-element.elementor-element-116a9e1 [data-interaction-id="27c72ad"]:hover {
    color: var(--pdc-color-navy-950) !important;
}

body.page-id-6 .elementor-element.elementor-element-116a9e1 [data-interaction-id="0c798e3"],
body.page-id-6 .elementor-element.elementor-element-116a9e1 [data-interaction-id="0c798e3"]:hover {
    background: transparent !important;
    border: 1px solid rgb(255 255 255 / 55%) !important;
    color: var(--pdc-color-surface) !important;
}

body.page-id-6 .main-header-menu > .menu-item > .menu-link {
    color: rgb(255 255 255 / 82%);
}

body.page-id-6 .main-header-menu > .menu-item > .menu-link:hover,
body.page-id-6 .main-header-menu > .current-menu-item > .menu-link {
    color: var(--pdc-color-primary);
}

body.page-id-6 #primary {
    margin-block: 0;
}

body.page-id-6 .elementor-element.elementor-element-5702361c {
    display: none !important;
}

body.page-id-6 .elementor-element.elementor-element-16c7c29 {
    padding: 0 !important;
}

body.page-id-6 .pdc-home {
    background:
        radial-gradient(circle at 92% 12%, rgb(94 215 178 / 8%), transparent 32rem),
        linear-gradient(180deg, var(--pdc-color-navy-950), #09152c 48%, var(--pdc-color-navy-950));
    color: rgb(255 255 255 / 82%);
}

body.page-id-6 .pdc-home .pdc-section,
body.page-id-6 .pdc-home .pdc-section--soft {
    background:
        radial-gradient(circle at 8% 0%, rgb(49 130 206 / 10%), transparent 24rem),
        linear-gradient(145deg, rgb(11 22 48 / 96%), rgb(17 30 56 / 96%)) !important;
    border-top: 1px solid rgb(94 215 178 / 10%);
    color: rgb(255 255 255 / 82%) !important;
}

body.page-id-6 .pdc-home .pdc-section:nth-of-type(even) {
    background:
        radial-gradient(circle at 88% 12%, rgb(94 215 178 / 9%), transparent 25rem),
        linear-gradient(145deg, rgb(7 17 38 / 98%), rgb(13 28 57 / 98%)) !important;
}

body.page-id-6 .pdc-home :where(.pdc-title, .pdc-card h3, .pdc-step h3, .pdc-price h3, .pdc-story h2) {
    color: var(--pdc-color-surface) !important;
}

body.page-id-6 .pdc-home :where(.pdc-lead, .pdc-card p, .pdc-step p, .pdc-price p, .pdc-story p, .pdc-note) {
    color: rgb(255 255 255 / 82%) !important;
}

body.page-id-6 .pdc-home .pdc-kicker {
    color: var(--pdc-color-primary) !important;
}

body.page-id-6 .pdc-home :where(.pdc-card, .pdc-step, .pdc-price) {
    background: linear-gradient(145deg, rgb(17 30 56 / 98%), rgb(11 22 48 / 98%)) !important;
    border-color: rgb(94 215 178 / 18%) !important;
    box-shadow: 0 18px 48px rgb(0 0 0 / 20%);
    color: rgb(255 255 255 / 82%) !important;
}

body.page-id-6 .pdc-home :where(.pdc-card, .pdc-step, .pdc-price):hover {
    border-color: rgb(94 215 178 / 48%) !important;
    box-shadow: 0 22px 58px rgb(0 0 0 / 30%);
}

body.page-id-6 .pdc-home .pdc-price--featured {
    background:
        radial-gradient(circle at 90% 0%, rgb(94 215 178 / 15%), transparent 18rem),
        linear-gradient(145deg, #122b4e, var(--pdc-color-navy-900)) !important;
    border-color: var(--pdc-color-primary) !important;
}

body.page-id-6 .pdc-home .pdc-price__amount {
    color: var(--pdc-color-surface) !important;
}

body.page-id-6 .pdc-home .pdc-btn--primary,
body.page-id-6 .pdc-home .pdc-btn--primary:visited {
    color: var(--pdc-color-navy-950) !important;
}

body.page-id-6 .pdc-home .pdc-btn:not(.pdc-btn--primary) {
    border-color: rgb(255 255 255 / 42%);
    color: var(--pdc-color-surface) !important;
}

body.page-id-6 .pdc-home .pdc-card__icon {
    background: rgb(94 215 178 / 12%) !important;
    border: 1px solid rgb(94 215 178 / 24%);
    color: var(--pdc-color-primary) !important;
}

@media (max-width: 47.99rem) {
    body.page-id-6 .elementor-element.elementor-element-116a9e1 {
        min-height: auto;
        padding-block: 4.5rem !important;
    }

    body.page-id-6 .elementor-element.elementor-element-116a9e1::before {
        background-size: 4rem 4rem, 4rem 4rem, 2rem 2rem;
        opacity: 0.18;
    }
}

/* About page */

.pdc-about-page {
    background:
        radial-gradient(circle at 8% 10%, rgb(29 78 216 / 18%), transparent 34rem),
        radial-gradient(circle at 92% 28%, rgb(94 215 178 / 9%), transparent 30rem),
        linear-gradient(180deg, var(--pdc-color-navy-950), #09152c 52%, var(--pdc-color-navy-950));
    color: rgb(255 255 255 / 82%);
    overflow: hidden;
}

.pdc-about-page :where(h1, h2, h3) {
    color: var(--pdc-color-surface);
}

.pdc-about-hero {
    background:
        linear-gradient(rgb(49 130 206 / 10%) 1px, transparent 1px),
        linear-gradient(90deg, rgb(49 130 206 / 10%) 1px, transparent 1px),
        radial-gradient(circle at 82% 12%, rgb(94 215 178 / 17%), transparent 25rem),
        linear-gradient(145deg, rgb(7 17 38 / 98%), rgb(17 30 56 / 96%));
    background-size: 5rem 5rem, 5rem 5rem, auto, auto;
    border-bottom: 1px solid rgb(94 215 178 / 15%);
    padding-block: clamp(5rem, 10vw, 8rem);
}

.pdc-about-hero__grid {
    align-items: center;
    display: grid;
    gap: clamp(2.5rem, 6vw, 5rem);
}

.pdc-about-hero h1 {
    font-size: clamp(2.75rem, 7vw, 4.75rem);
    margin: 0;
    max-width: 12ch;
}

.pdc-about-hero__lead {
    color: rgb(255 255 255 / 80%);
    font-size: clamp(1.125rem, 2vw, 1.3rem);
    margin: 1.5rem 0 2rem;
    max-width: 44rem;
}

.pdc-about-hero__promise {
    background: linear-gradient(145deg, rgb(17 43 78 / 95%), rgb(11 22 48 / 96%));
    border: 1px solid rgb(94 215 178 / 28%);
    border-radius: var(--pdc-radius-lg);
    box-shadow: 0 24px 64px rgb(0 0 0 / 24%);
    padding: clamp(1.75rem, 4vw, 2.5rem);
}

.pdc-about-hero__promise p {
    color: var(--pdc-color-surface);
    font-family: var(--pdc-font-display);
    font-size: clamp(1.35rem, 2.5vw, 1.75rem);
    font-weight: 600;
    line-height: 1.45;
    margin: 0;
}

.pdc-about-hero__attribution {
    border-top: 1px solid rgb(94 215 178 / 24%);
    display: grid;
    margin-top: 1.5rem;
    padding-top: 1.25rem;
}

.pdc-about-hero__attribution strong {
    color: var(--pdc-color-primary);
    font-family: var(--pdc-font-display);
    font-size: var(--pdc-text-lg);
}

.pdc-about-hero__attribution > span {
    color: rgb(255 255 255 / 68%);
    font-size: var(--pdc-text-sm);
    font-weight: 600;
    letter-spacing: 0.03em;
    margin-top: 0.2rem;
}

.pdc-about-section,
.pdc-about-cta {
    padding-block: var(--pdc-section-space);
}

.pdc-about-section--contrast {
    background:
        radial-gradient(circle at 88% 6%, rgb(94 215 178 / 8%), transparent 26rem),
        linear-gradient(145deg, rgb(11 22 48 / 96%), rgb(17 30 56 / 96%));
    border-block: 1px solid rgb(94 215 178 / 10%);
}

.pdc-founder-grid {
    align-items: center;
    display: grid;
    gap: clamp(2.5rem, 7vw, 6rem);
}

.pdc-founder-portrait {
    margin: 0;
    position: relative;
}

.pdc-founder-portrait::before {
    background: linear-gradient(145deg, var(--pdc-color-signal), var(--pdc-color-primary));
    border-radius: calc(var(--pdc-radius-lg) + 0.3rem);
    content: "";
    inset: -0.35rem;
    opacity: 0.75;
    position: absolute;
    transform: rotate(-2deg);
    z-index: 0;
}

.pdc-founder-portrait img {
    aspect-ratio: 1 / 1;
    border: 1px solid rgb(255 255 255 / 15%);
    border-radius: var(--pdc-radius-lg);
    display: block;
    object-fit: cover;
    position: relative;
    width: 100%;
    z-index: 1;
}

.pdc-founder-portrait figcaption {
    background: rgb(7 17 38 / 90%);
    border: 1px solid rgb(94 215 178 / 24%);
    border-radius: var(--pdc-radius-md);
    bottom: 1rem;
    display: grid;
    left: 1rem;
    padding: 0.85rem 1rem;
    position: absolute;
    right: 1rem;
    z-index: 2;
}

.pdc-founder-portrait figcaption strong {
    color: var(--pdc-color-surface);
    font-family: var(--pdc-font-display);
}

.pdc-founder-portrait figcaption span {
    color: var(--pdc-color-primary);
    font-size: var(--pdc-text-sm);
}

.pdc-founder-copy h2 {
    margin-block: 0.35rem 1.5rem;
}

.pdc-founder-copy p {
    color: rgb(255 255 255 / 76%);
}

.pdc-founder-copy__lead {
    color: var(--pdc-color-surface) !important;
    font-size: var(--pdc-text-lg);
    font-weight: 600;
}

.pdc-about-stats {
    background: var(--pdc-color-primary);
    color: var(--pdc-color-navy-950);
    padding-block: clamp(2rem, 5vw, 3rem);
}

.pdc-about-stats__grid {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pdc-about-stats__grid div {
    display: grid;
}

.pdc-about-stats__grid strong {
    font-family: var(--pdc-font-display);
    font-size: clamp(2rem, 5vw, 3.25rem);
    line-height: 1;
}

.pdc-about-stats__grid span {
    font-size: var(--pdc-text-sm);
    font-weight: 600;
    line-height: 1.35;
    margin-top: 0.5rem;
}

.pdc-values-grid {
    display: grid;
    gap: 1.25rem;
    margin-top: clamp(2rem, 5vw, 3.5rem);
}

.pdc-value-card {
    background: linear-gradient(145deg, rgb(17 43 78 / 82%), rgb(11 22 48 / 96%));
    border: 1px solid rgb(94 215 178 / 18%);
    border-radius: var(--pdc-radius-lg);
    padding: clamp(1.5rem, 4vw, 2rem);
    transition: border-color var(--pdc-transition-emphasis), transform var(--pdc-transition-emphasis);
}

.pdc-value-card:hover {
    border-color: rgb(94 215 178 / 52%);
    transform: translateY(-0.25rem);
}

.pdc-value-card > span {
    color: var(--pdc-color-primary);
    font-family: var(--pdc-font-mono);
    font-size: var(--pdc-text-sm);
}

.pdc-value-card h3 {
    font-size: var(--pdc-text-2xl);
    margin-block: 1rem 0.75rem;
}

.pdc-value-card p {
    color: rgb(255 255 255 / 72%);
    margin: 0;
}

.pdc-about-capabilities,
.pdc-nationwide-grid {
    display: grid;
    gap: clamp(2.5rem, 7vw, 5rem);
}

.pdc-about-capabilities > div > p:not(.pdc-eyebrow),
.pdc-nationwide-grid > div > p {
    color: rgb(255 255 255 / 76%);
}

.pdc-capability-list {
    display: grid;
    gap: 0.75rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.pdc-capability-list li {
    align-items: center;
    background: rgb(17 30 56 / 88%);
    border: 1px solid rgb(94 215 178 / 14%);
    border-radius: var(--pdc-radius-md);
    color: rgb(255 255 255 / 82%);
    display: grid;
    gap: 1rem;
    grid-template-columns: 3.4rem minmax(0, 1fr);
    padding: 0.9rem 1rem;
}

.pdc-capability-list span {
    color: var(--pdc-color-primary);
    font-family: var(--pdc-font-mono);
    font-size: var(--pdc-text-sm);
    font-weight: 700;
}

.pdc-about-section--nationwide {
    background:
        radial-gradient(circle at 12% 20%, rgb(49 130 206 / 16%), transparent 30rem),
        linear-gradient(145deg, rgb(7 17 38 / 98%), rgb(13 36 64 / 98%));
    border-block: 1px solid rgb(94 215 178 / 12%);
}

.pdc-about-contact {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.75rem;
    margin-top: 1.5rem;
}

.pdc-about-contact a,
.pdc-about-page .pdc-text-link {
    color: var(--pdc-color-primary);
    font-weight: 600;
}

.pdc-about-cta__panel {
    align-items: center;
    background:
        radial-gradient(circle at 94% 0%, rgb(94 215 178 / 18%), transparent 20rem),
        linear-gradient(145deg, #122b4e, var(--pdc-color-navy-900));
    border: 1px solid rgb(94 215 178 / 28%);
    border-radius: var(--pdc-radius-lg);
    box-shadow: 0 24px 60px rgb(0 0 0 / 22%);
    display: grid;
    gap: 2rem;
    padding: clamp(2rem, 6vw, 4rem);
}

.pdc-about-cta__panel h2 {
    margin-block: 0.25rem 0.75rem;
}

.pdc-about-cta__panel p:not(.pdc-eyebrow) {
    color: rgb(255 255 255 / 76%);
    margin-bottom: 0;
    max-width: 46rem;
}

body.pdc-about .site-header,
body.pdc-about .ast-primary-header-bar,
body.pdc-about .main-header-bar {
    background: rgb(7 17 38 / 96%);
    border-bottom-color: rgb(94 215 178 / 18%);
}

body.pdc-about .main-header-menu > .menu-item > .menu-link {
    color: rgb(255 255 255 / 82%);
}

body.pdc-about .main-header-menu > .menu-item > .menu-link:hover,
body.pdc-about .main-header-menu > .current-menu-item > .menu-link {
    color: var(--pdc-color-primary);
}

body.pdc-about #primary {
    margin-block: 0;
}

@media (min-width: 48rem) {
    .pdc-about-hero__grid {
        grid-template-columns: minmax(0, 1.55fr) minmax(17rem, 0.75fr);
    }

    .pdc-founder-grid {
        grid-template-columns: minmax(18rem, 0.8fr) minmax(0, 1.35fr);
    }

    .pdc-values-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pdc-about-capabilities,
    .pdc-nationwide-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pdc-about-cta__panel {
        grid-template-columns: minmax(0, 1.5fr) minmax(15rem, 0.65fr);
    }
}

@media (min-width: 64rem) {
    .pdc-about-stats__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .pdc-about-stats__grid div + div {
        border-left: 1px solid rgb(7 17 38 / 22%);
        padding-left: 2rem;
    }

    .pdc-values-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 47.99rem) {
    .pdc-founder-portrait {
        margin-inline: auto;
        max-width: 28rem;
    }

    .pdc-about-cta__panel .pdc-actions,
    .pdc-about-cta__panel .pdc-button {
        width: 100%;
    }
}

/* Contact page */

.pdc-contact-page {
    background:
        radial-gradient(circle at 8% 8%, rgb(29 78 216 / 17%), transparent 34rem),
        radial-gradient(circle at 92% 42%, rgb(94 215 178 / 8%), transparent 30rem),
        linear-gradient(180deg, var(--pdc-color-navy-950), #09152c 52%, var(--pdc-color-navy-950));
    color: rgb(255 255 255 / 82%);
    overflow: hidden;
}

.pdc-contact-page :where(h1, h2, h3) {
    color: var(--pdc-color-surface);
}

.pdc-contact-hero {
    background:
        linear-gradient(rgb(49 130 206 / 10%) 1px, transparent 1px),
        linear-gradient(90deg, rgb(49 130 206 / 10%) 1px, transparent 1px),
        radial-gradient(circle at 84% 10%, rgb(94 215 178 / 16%), transparent 25rem),
        linear-gradient(145deg, rgb(7 17 38 / 98%), rgb(17 30 56 / 96%));
    background-size: 5rem 5rem, 5rem 5rem, auto, auto;
    border-bottom: 1px solid rgb(94 215 178 / 15%);
    padding-block: clamp(5rem, 10vw, 8rem);
}

.pdc-contact-hero__grid {
    align-items: center;
    display: grid;
    gap: clamp(2.5rem, 6vw, 5rem);
}

.pdc-contact-hero h1 {
    font-size: clamp(2.75rem, 7vw, 4.5rem);
    margin: 0;
    max-width: 14ch;
}

.pdc-contact-hero__lead {
    color: rgb(255 255 255 / 80%);
    font-size: clamp(1.125rem, 2vw, 1.3rem);
    margin: 1.5rem 0 0;
    max-width: 46rem;
}

.pdc-contact-direct {
    background: linear-gradient(145deg, rgb(17 43 78 / 95%), rgb(11 22 48 / 96%));
    border: 1px solid rgb(94 215 178 / 28%);
    border-radius: var(--pdc-radius-lg);
    box-shadow: 0 24px 64px rgb(0 0 0 / 24%);
    display: grid;
    gap: 0.9rem;
    padding: clamp(1.75rem, 4vw, 2.5rem);
}

.pdc-contact-direct a {
    color: var(--pdc-color-surface);
    font-family: var(--pdc-font-display);
    font-size: clamp(1rem, 2vw, 1.2rem);
    font-weight: 600;
    overflow-wrap: anywhere;
}

.pdc-contact-direct > p:last-child {
    border-top: 1px solid rgb(94 215 178 / 20%);
    color: rgb(255 255 255 / 68%);
    margin: 0.5rem 0 0;
    padding-top: 1.25rem;
}

.pdc-contact-section {
    padding-block: var(--pdc-section-space);
}

.pdc-contact-paths {
    display: grid;
    gap: 1.5rem;
    margin-top: clamp(2rem, 5vw, 3.5rem);
}

.pdc-contact-path {
    background: linear-gradient(145deg, rgb(17 30 56 / 98%), rgb(11 22 48 / 98%));
    border: 1px solid rgb(94 215 178 / 18%);
    border-radius: var(--pdc-radius-lg);
    box-shadow: 0 18px 48px rgb(0 0 0 / 20%);
    display: flex;
    flex-direction: column;
    padding: clamp(1.75rem, 5vw, 2.75rem);
}

.pdc-contact-path--featured {
    background:
        radial-gradient(circle at 92% 0%, rgb(94 215 178 / 16%), transparent 18rem),
        linear-gradient(145deg, #122b4e, var(--pdc-color-navy-900));
    border-color: rgb(94 215 178 / 42%);
}

.pdc-contact-path > span {
    color: var(--pdc-color-primary);
    font-family: var(--pdc-font-mono);
    font-size: var(--pdc-text-sm);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pdc-contact-path h3 {
    margin-block: 1rem 0.75rem;
}

.pdc-contact-path p {
    color: rgb(255 255 255 / 72%);
    flex: 1;
}

.pdc-contact-path .pdc-button {
    align-self: flex-start;
    margin-top: 1rem;
}

.pdc-contact-section--form {
    background:
        radial-gradient(circle at 92% 8%, rgb(94 215 178 / 9%), transparent 30rem),
        linear-gradient(145deg, rgb(11 22 48 / 96%), rgb(17 30 56 / 96%));
    border-block: 1px solid rgb(94 215 178 / 10%);
}

.pdc-contact-form-grid {
    align-items: start;
    display: grid;
    gap: clamp(2.5rem, 6vw, 5rem);
}

.pdc-contact-form-intro {
    position: sticky;
    top: 2rem;
}

.pdc-contact-form-intro > p:not(.pdc-eyebrow),
.pdc-contact-form-intro li {
    color: rgb(255 255 255 / 74%);
}

.pdc-contact-form-intro ul {
    display: grid;
    gap: 0.75rem;
    list-style: none;
    margin: 1.75rem 0 0;
    padding: 0;
}

.pdc-contact-form-intro li {
    padding-left: 1.8rem;
    position: relative;
}

.pdc-contact-form-intro li::before {
    color: var(--pdc-color-primary);
    content: "✓";
    font-weight: 700;
    left: 0;
    position: absolute;
}

.pdc-contact-form-panel {
    background: rgb(7 17 38 / 75%);
    border: 1px solid rgb(94 215 178 / 22%);
    border-radius: var(--pdc-radius-lg);
    box-shadow: 0 24px 64px rgb(0 0 0 / 24%);
    padding: clamp(1.25rem, 4vw, 2.25rem);
}

.pdc-contact-form {
    display: grid;
    gap: 1.25rem;
}

.pdc-form-row {
    display: grid;
    gap: 1.25rem;
}

.pdc-field {
    display: grid;
    gap: 0.45rem;
}

.pdc-field label {
    color: var(--pdc-color-surface);
    font-size: var(--pdc-text-sm);
    font-weight: 600;
}

.pdc-field :where(input:not([type="checkbox"]), select, textarea) {
    appearance: none;
    background: rgb(255 255 255 / 7%);
    border: 1px solid rgb(255 255 255 / 22%);
    border-radius: var(--pdc-radius-sm);
    color: var(--pdc-color-surface);
    font-size: 1rem;
    min-height: 3.25rem;
    padding: 0.75rem 0.9rem;
    transition: background var(--pdc-transition-fast), border-color var(--pdc-transition-fast);
    width: 100%;
}

.pdc-field textarea {
    min-height: 8rem;
    resize: vertical;
}

.pdc-field select {
    background-image:
        linear-gradient(45deg, transparent 50%, var(--pdc-color-primary) 50%),
        linear-gradient(135deg, var(--pdc-color-primary) 50%, transparent 50%);
    background-position:
        calc(100% - 1.2rem) calc(50% - 0.15rem),
        calc(100% - 0.9rem) calc(50% - 0.15rem);
    background-repeat: no-repeat;
    background-size: 0.35rem 0.35rem, 0.35rem 0.35rem;
    padding-right: 2.5rem;
}

.pdc-field select option {
    background: var(--pdc-color-navy-900);
    color: var(--pdc-color-surface);
}

.pdc-field :where(input:not([type="checkbox"]), select, textarea):focus {
    background: rgb(255 255 255 / 10%);
    border-color: var(--pdc-color-primary);
    outline: none;
}

.pdc-field input::placeholder,
.pdc-field textarea::placeholder {
    color: rgb(255 255 255 / 42%);
}

.pdc-field--consent {
    align-items: start;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 1.25rem minmax(0, 1fr);
}

.pdc-field--consent input {
    accent-color: var(--pdc-color-primary);
    height: 1.15rem;
    margin-top: 0.25rem;
    width: 1.15rem;
}

.pdc-field--consent label {
    color: rgb(255 255 255 / 72%);
    font-weight: 400;
}

.pdc-contact-form__submit {
    border: 0;
    cursor: pointer;
    justify-self: start;
    margin-top: 0.25rem;
}

.pdc-contact-form__required {
    color: rgb(255 255 255 / 50%);
    font-size: var(--pdc-text-xs);
    margin: -0.5rem 0 0;
}

.pdc-honeypot {
    left: -10000px;
    position: absolute;
    top: auto;
}

.pdc-form-notice {
    border-radius: var(--pdc-radius-md);
    display: grid;
    gap: 0.2rem;
    margin-bottom: 1.5rem;
    padding: 1rem;
}

.pdc-form-notice--success {
    background: rgb(21 128 61 / 16%);
    border: 1px solid rgb(74 222 128 / 42%);
}

.pdc-form-notice--error {
    background: rgb(180 35 24 / 18%);
    border: 1px solid rgb(248 113 113 / 44%);
}

.pdc-form-notice strong {
    color: var(--pdc-color-surface);
}

.pdc-form-notice span {
    color: rgb(255 255 255 / 74%);
}

.pdc-contact-steps {
    display: grid;
    gap: 1.25rem;
    list-style: none;
    margin: clamp(2rem, 5vw, 3.5rem) 0 0;
    padding: 0;
}

.pdc-contact-steps li {
    background: linear-gradient(145deg, rgb(17 30 56 / 98%), rgb(11 22 48 / 98%));
    border: 1px solid rgb(94 215 178 / 16%);
    border-radius: var(--pdc-radius-lg);
    padding: clamp(1.5rem, 4vw, 2rem);
}

.pdc-contact-steps li > span {
    align-items: center;
    background: rgb(94 215 178 / 13%);
    border: 1px solid rgb(94 215 178 / 30%);
    border-radius: 50%;
    color: var(--pdc-color-primary);
    display: inline-flex;
    font-family: var(--pdc-font-display);
    font-weight: 700;
    height: 2.75rem;
    justify-content: center;
    width: 2.75rem;
}

.pdc-contact-steps h3 {
    font-size: var(--pdc-text-2xl);
    margin-block: 1rem 0.6rem;
}

.pdc-contact-steps p {
    color: rgb(255 255 255 / 72%);
    margin: 0;
}

.pdc-contact-trust {
    background: var(--pdc-color-primary);
    color: var(--pdc-color-navy-950);
    padding-block: 1.5rem;
}

.pdc-contact-trust__grid {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.5rem;
    justify-content: center;
}

.pdc-contact-trust__grid span {
    font-size: var(--pdc-text-sm);
    font-weight: 700;
}

.pdc-contact-trust__grid span + span::before {
    content: "•";
    margin-right: 1.5rem;
    opacity: 0.55;
}

body.pdc-contact .site-header,
body.pdc-contact .ast-primary-header-bar,
body.pdc-contact .main-header-bar {
    background: rgb(7 17 38 / 96%);
    border-bottom-color: rgb(94 215 178 / 18%);
}

body.pdc-contact .main-header-menu > .menu-item > .menu-link {
    color: rgb(255 255 255 / 82%);
}

body.pdc-contact .main-header-menu > .menu-item > .menu-link:hover,
body.pdc-contact .main-header-menu > .current-menu-item > .menu-link {
    color: var(--pdc-color-primary);
}

body.pdc-contact #primary {
    margin-block: 0;
}

@media (min-width: 48rem) {
    .pdc-contact-hero__grid {
        grid-template-columns: minmax(0, 1.5fr) minmax(18rem, 0.7fr);
    }

    .pdc-contact-paths {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pdc-contact-form-grid {
        grid-template-columns: minmax(17rem, 0.72fr) minmax(0, 1.28fr);
    }

    .pdc-form-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pdc-contact-steps {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 64rem) {
    .pdc-contact-paths {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 47.99rem) {
    .pdc-contact-form-intro {
        position: static;
    }

    .pdc-contact-path .pdc-button,
    .pdc-contact-form__submit {
        justify-self: stretch;
        text-align: center;
        width: 100%;
    }

    .pdc-contact-trust__grid {
        align-items: flex-start;
        flex-direction: column;
    }

    .pdc-contact-trust__grid span + span::before {
        content: "";
        margin: 0;
    }
}

/* Blog archive and articles */

.pdc-blog-page,
.pdc-article-page {
    background:
        radial-gradient(circle at 10% 8%, rgb(49 130 206 / 18%), transparent 30rem),
        radial-gradient(circle at 90% 30%, rgb(94 215 178 / 10%), transparent 28rem),
        var(--pdc-color-navy-950);
    color: var(--pdc-color-surface);
    min-height: 70vh;
}

.pdc-blog-hero,
.pdc-article-hero {
    border-bottom: 1px solid rgb(94 215 178 / 16%);
    padding-block: clamp(5rem, 10vw, 8rem);
    position: relative;
}

.pdc-blog-hero__inner,
.pdc-article-hero__inner {
    max-width: 64rem;
}

.pdc-blog-hero h1,
.pdc-article-hero h1 {
    color: var(--pdc-color-surface);
    font-size: clamp(2.5rem, 6vw, 5rem);
    letter-spacing: -0.045em;
    line-height: 1.04;
    margin-block: 0.8rem 1.25rem;
}

.pdc-blog-hero p:last-child {
    color: rgb(255 255 255 / 72%);
    font-size: clamp(1.1rem, 2vw, 1.35rem);
    max-width: 50rem;
}

.pdc-blog-section {
    padding-block: clamp(4rem, 8vw, 7rem);
}

.pdc-blog-section--library {
    border-top: 1px solid rgb(255 255 255 / 7%);
}

.pdc-blog-section--library .pdc-section-heading h2 {
    color: var(--pdc-color-surface);
}

.pdc-featured-post {
    background: linear-gradient(145deg, rgb(17 30 56 / 98%), rgb(11 22 48 / 98%));
    border: 1px solid rgb(94 215 178 / 18%);
    border-radius: var(--pdc-radius-xl);
    display: grid;
    overflow: hidden;
}

.pdc-featured-post__media,
.pdc-post-card__media {
    background: rgb(7 17 38 / 95%);
    display: block;
    min-height: 15rem;
    overflow: hidden;
}

.pdc-featured-post__media img,
.pdc-post-card__media img {
    height: 100%;
    object-fit: cover;
    transition: transform 240ms ease;
    width: 100%;
}

.pdc-featured-post:hover img,
.pdc-post-card:hover img {
    transform: scale(1.025);
}

.pdc-featured-post__content {
    align-content: center;
    padding: clamp(2rem, 5vw, 4rem);
}

.pdc-featured-post h2,
.pdc-post-card h3,
.pdc-related-posts h3 {
    margin-block: 0.7rem 1rem;
}

.pdc-featured-post h2 a,
.pdc-post-card h3 a,
.pdc-related-posts h3 a {
    color: var(--pdc-color-surface);
    text-decoration: none;
}

.pdc-featured-post h2 a:hover,
.pdc-post-card h3 a:hover,
.pdc-related-posts h3 a:hover {
    color: var(--pdc-color-primary);
}

.pdc-featured-post__content > p:not(.pdc-eyebrow),
.pdc-post-card__body > p,
.pdc-blog-empty > p:last-child {
    color: rgb(255 255 255 / 68%);
}

.pdc-post-placeholder {
    align-items: center;
    background:
        linear-gradient(90deg, rgb(4 14 34 / 36%), rgb(4 14 34 / 8%)),
        url("assets/images/pdc-field-notes-backdrop.webp") center / cover no-repeat,
        var(--pdc-color-navy-900);
    color: var(--pdc-color-primary);
    display: flex;
    font-family: var(--pdc-font-display);
    font-size: var(--pdc-text-lg);
    gap: 0.65rem;
    height: 100%;
    justify-content: center;
    min-height: inherit;
    text-shadow: 0 2px 14px rgb(0 0 0 / 72%);
    text-transform: uppercase;
}

.pdc-post-placeholder span {
    color: var(--pdc-color-primary);
    font-size: var(--pdc-text-3xl);
    font-weight: 700;
}

.pdc-post-meta,
.pdc-article-byline {
    color: rgb(255 255 255 / 52%);
    display: flex;
    flex-wrap: wrap;
    font-size: var(--pdc-text-sm);
    gap: 0.45rem 1.35rem;
}

.pdc-post-meta span + span::before,
.pdc-article-byline span + span::before {
    color: var(--pdc-color-primary);
    content: "•";
    margin-right: 1.35rem;
}

.pdc-post-category {
    color: var(--pdc-color-primary);
    display: inline-block;
    font-size: var(--pdc-text-xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-top: 1rem;
    text-decoration: none;
    text-transform: uppercase;
}

.pdc-text-link {
    color: var(--pdc-color-primary);
    font-weight: 700;
    text-decoration: none;
}

.pdc-text-link:hover {
    color: var(--pdc-color-surface);
}

.pdc-section-heading--row {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem 3rem;
    justify-content: space-between;
}

.pdc-category-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.pdc-category-nav a {
    border: 1px solid rgb(255 255 255 / 12%);
    border-radius: 999px;
    color: rgb(255 255 255 / 68%);
    font-size: var(--pdc-text-sm);
    font-weight: 600;
    padding: 0.55rem 0.85rem;
    text-decoration: none;
}

.pdc-category-nav a:hover,
.pdc-category-nav a.is-active {
    background: rgb(94 215 178 / 12%);
    border-color: rgb(94 215 178 / 35%);
    color: var(--pdc-color-primary);
}

.pdc-post-grid {
    display: grid;
    gap: 1.5rem;
    margin-top: clamp(2rem, 5vw, 3.5rem);
}

.pdc-post-card {
    background: rgb(11 22 48 / 90%);
    border: 1px solid rgb(255 255 255 / 9%);
    border-radius: var(--pdc-radius-lg);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.pdc-post-card__media {
    min-height: 13rem;
}

.pdc-post-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.5rem;
}

.pdc-post-card__body .pdc-text-link {
    margin-top: auto;
    padding-top: 0.75rem;
}

.pdc-blog-empty {
    background: rgb(11 22 48 / 90%);
    border: 1px dashed rgb(94 215 178 / 28%);
    border-radius: var(--pdc-radius-lg);
    margin-top: 3rem;
    max-width: 50rem;
    padding: clamp(2rem, 5vw, 3.5rem);
}

.pdc-blog-empty h3 {
    color: var(--pdc-color-surface);
    font-size: var(--pdc-text-3xl);
}

.pdc-pagination ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
    list-style: none;
    margin: 3rem 0 0;
    padding: 0;
}

.pdc-pagination a,
.pdc-pagination span {
    align-items: center;
    border: 1px solid rgb(255 255 255 / 12%);
    border-radius: 0.5rem;
    color: var(--pdc-color-surface);
    display: inline-flex;
    min-height: 2.75rem;
    padding: 0.5rem 0.85rem;
    text-decoration: none;
}

.pdc-pagination .current,
.pdc-pagination a:hover {
    background: var(--pdc-color-primary);
    color: var(--pdc-color-navy-950);
}

.pdc-newsletter {
    align-items: start;
    background: linear-gradient(135deg, rgb(16 36 71 / 98%), rgb(7 20 45 / 98%));
    border: 1px solid rgb(94 215 178 / 28%);
    border-radius: var(--pdc-radius-xl);
    display: grid;
    gap: 2rem;
    grid-template-columns: minmax(0, 0.8fr) minmax(18rem, 1.2fr);
    margin-block: clamp(2rem, 5vw, 4rem);
    padding: clamp(1.5rem, 4vw, 3rem);
}

.pdc-newsletter h2 {
    color: var(--pdc-color-surface);
    margin-block: 0.4rem 0.75rem;
}

.pdc-newsletter p {
    color: rgb(255 255 255 / 72%);
}

.pdc-newsletter-form {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pdc-newsletter-form label {
    color: var(--pdc-color-surface);
    display: grid;
    font-weight: 600;
    gap: 0.4rem;
}

.pdc-newsletter-form input[type="text"],
.pdc-newsletter-form input[type="email"] {
    background: #f7fafc;
    border: 1px solid #9fb0c8;
    border-radius: 0.55rem;
    color: var(--pdc-color-navy-950);
    min-height: 3rem;
    padding: 0.7rem 0.85rem;
    width: 100%;
}

.pdc-newsletter-form .pdc-newsletter-consent {
    align-items: start;
    color: rgb(255 255 255 / 76%);
    display: flex;
    font-size: 0.82rem;
    font-weight: 400;
    grid-column: 1 / -1;
    line-height: 1.45;
}

.pdc-newsletter-consent input {
    flex: 0 0 auto;
    margin-top: 0.2rem;
}

.pdc-newsletter-honeypot {
    left: -10000px;
    position: absolute;
}

.pdc-newsletter-form .pdc-button {
    justify-self: start;
}

.pdc-newsletter-message {
    background: rgb(94 215 178 / 12%);
    border: 1px solid rgb(94 215 178 / 36%);
    border-radius: 0.65rem;
    color: #c9f6e7 !important;
    padding: 1rem;
}

.pdc-newsletter-message.is-error {
    background: rgb(248 113 113 / 10%);
    border-color: rgb(248 113 113 / 40%);
    color: #fecaca !important;
}

.pdc-blog-cta,
.pdc-article-cta {
    padding-block: clamp(3.5rem, 8vw, 6rem);
}

.pdc-blog-cta__inner,
.pdc-article-cta__inner {
    align-items: center;
    background: linear-gradient(135deg, rgb(24 55 101 / 95%), rgb(11 22 48 / 98%));
    border: 1px solid rgb(94 215 178 / 24%);
    border-radius: var(--pdc-radius-xl);
    display: grid;
    gap: 2rem;
    padding: clamp(2rem, 5vw, 4rem);
}

.pdc-blog-cta h2,
.pdc-article-cta h2 {
    color: var(--pdc-color-surface);
    margin-block: 0.5rem 0.85rem;
}

.pdc-blog-cta p:last-child,
.pdc-article-cta p:last-child {
    color: rgb(255 255 255 / 70%);
    margin-bottom: 0;
}

body.pdc-blog .site-header,
body.pdc-blog .ast-primary-header-bar,
body.pdc-blog .main-header-bar,
body.pdc-article .site-header,
body.pdc-article .ast-primary-header-bar,
body.pdc-article .main-header-bar {
    background: rgb(7 17 38 / 96%);
    border-bottom-color: rgb(94 215 178 / 18%);
}

body.pdc-blog .main-header-menu > .menu-item > .menu-link,
body.pdc-article .main-header-menu > .menu-item > .menu-link {
    color: rgb(255 255 255 / 82%);
}

body.pdc-blog #primary,
body.pdc-article #primary {
    margin-block: 0;
}

body.pdc-article #primary {
    max-width: none;
    width: 100%;
}

body.pdc-article #content > .ast-container {
    max-width: none;
    padding: 0;
}

@media (max-width: 700px) {
    .pdc-newsletter,
    .pdc-newsletter-form {
        grid-template-columns: 1fr;
    }
}

.pdc-article-hero {
    text-align: center;
}

.pdc-article-hero__inner {
    margin-inline: auto;
}

.pdc-article-byline {
    justify-content: center;
}

.pdc-article-featured-image {
    margin-top: clamp(-2rem, -4vw, -4rem);
    position: relative;
}

.pdc-article-featured-image img {
    border: 1px solid rgb(255 255 255 / 10%);
    border-radius: var(--pdc-radius-xl);
    max-height: 40rem;
    object-fit: cover;
    width: 100%;
}

.pdc-article-layout {
    display: block;
    padding-block: clamp(4rem, 8vw, 7rem);
}

.pdc-article-content {
    color: rgb(255 255 255 / 78%);
    font-size: clamp(1.05rem, 1.7vw, 1.18rem);
    line-height: 1.85;
    margin-inline: auto;
    max-width: 48rem;
}

.pdc-article-image {
    clear: both;
    margin-block: 2rem;
}

.pdc-article-image img {
    display: block;
    height: auto;
    width: 100%;
}

.pdc-article-image figcaption {
    color: rgb(255 255 255 / 58%);
    font-size: .85rem;
    margin-top: .6rem;
    text-align: center;
}

.pdc-article-image--wide {
    margin-inline: clamp(-3rem, -6vw, -1rem);
}

.pdc-article-image--left,
.pdc-article-image--right {
    clear: none;
    max-width: 19rem;
}

.pdc-article-image--left { float: left; margin: .5rem 2rem 1rem 0; }
.pdc-article-image--right { float: right; margin: .5rem 0 1rem 2rem; }

.pdc-article-content h2,
.pdc-article-content h3,
.pdc-article-content h4 {
    color: var(--pdc-color-surface);
    margin-block: 2.2em 0.65em;
}

.pdc-article-content h2 {
    font-size: clamp(1.8rem, 4vw, 2.6rem);
}

.pdc-article-content a {
    color: var(--pdc-color-primary);
}

.pdc-article-content blockquote {
    background: rgb(49 130 206 / 10%);
    border-left: 0.25rem solid var(--pdc-color-primary);
    color: var(--pdc-color-surface);
    font-size: 1.15em;
    margin: 2rem 0;
    padding: 1.5rem;
}

.pdc-article-content img {
    border-radius: var(--pdc-radius-md);
}

.pdc-author-card {
    align-items: center;
    background: rgb(11 22 48 / 95%);
    border: 1px solid rgb(94 215 178 / 18%);
    border-radius: var(--pdc-radius-lg);
    display: grid;
    gap: .35rem 1.75rem;
    grid-template-areas:
        "portrait eyebrow"
        "portrait name"
        "portrait role"
        "portrait bio"
        "portrait link";
    grid-template-columns: 7rem minmax(0, 1fr);
    margin-inline: auto;
    max-width: 58rem;
    padding: 1.5rem;
}

.pdc-author-card img {
    aspect-ratio: 1;
    border: 2px solid rgb(94 215 178 / 35%);
    border-radius: 50%;
    grid-area: portrait;
    margin: 0;
    object-fit: cover;
    width: 7rem;
}

.pdc-author-card > .pdc-eyebrow { grid-area: eyebrow; margin: 0; }
.pdc-author-card > h2 { grid-area: name; }
.pdc-author-card > .pdc-author-card__role { grid-area: role; margin: 0; }
.pdc-author-card > p:not(.pdc-eyebrow):not(.pdc-author-card__role) { grid-area: bio; margin: .6rem 0; }
.pdc-author-card > .pdc-text-link { grid-area: link; justify-self: start; }

.pdc-author-card h2 {
    color: var(--pdc-color-surface);
    font-size: var(--pdc-text-2xl);
    margin-block: 0.4rem 0.15rem;
}

.pdc-article-author {
    border-top: 1px solid rgb(255 255 255 / 8%);
    padding-block: 0 clamp(4rem, 8vw, 6rem);
}

.pdc-preview-controls {
    align-items: center;
    background: #10284a;
    border: 1px solid rgb(94 215 178 / 28%);
    border-radius: 0 0 1rem 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
    padding-block: 1rem;
}

.pdc-preview-controls form,.pdc-preview-controls label { align-items:center; display:flex; gap:.75rem; margin:0; color:#fff; }

.pdc-author-card__role {
    color: var(--pdc-color-primary);
    font-size: var(--pdc-text-sm);
    font-weight: 700;
}

.pdc-author-card > p:not(.pdc-eyebrow):not(.pdc-author-card__role) {
    color: rgb(255 255 255 / 68%);
}

.pdc-related-posts {
    border-top: 1px solid rgb(255 255 255 / 8%);
    padding-block: clamp(4rem, 8vw, 7rem);
}

.pdc-related-posts > .pdc-container > h2 {
    color: var(--pdc-color-surface);
}

.pdc-related-grid {
    display: grid;
    gap: 1.25rem;
    margin-top: 2rem;
}

.pdc-related-grid article {
    background: rgb(11 22 48 / 90%);
    border: 1px solid rgb(255 255 255 / 9%);
    border-radius: var(--pdc-radius-lg);
    padding: 1.5rem;
}

@media (min-width: 48rem) {
    .pdc-featured-post {
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    }

    .pdc-post-grid,
    .pdc-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pdc-blog-cta__inner,
    .pdc-article-cta__inner {
        grid-template-columns: minmax(0, 1fr) auto;
    }
}

@media (min-width: 64rem) {
    .pdc-post-grid,
    .pdc-related-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

}

@media (max-width: 47.99rem) {
    .pdc-featured-post__media,
    .pdc-post-card__media {
        min-height: 12rem;
    }

    .pdc-blog-cta .pdc-button,
    .pdc-article-cta .pdc-button {
        text-align: center;
        width: 100%;
    }

    .pdc-author-card { grid-template-areas:"portrait" "eyebrow" "name" "role" "bio" "link"; grid-template-columns:1fr; text-align:center; }
    .pdc-author-card img { margin-inline:auto; }
    .pdc-author-card > .pdc-text-link { justify-self:center; }
    .pdc-article-image--left,.pdc-article-image--right { float:none; margin:2rem 0; max-width:none; }
    .pdc-article-image--wide { margin-inline:0; }
}

/* Accessibility and utilities */

.pdc-sr-only,
.screen-reader-text {
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.pdc-sr-only:focus,
.screen-reader-text:focus {
    background: var(--pdc-color-surface);
    clip: auto;
    clip-path: none;
    color: var(--pdc-color-navy-900);
    height: auto;
    left: 1rem;
    padding: 0.75rem 1rem;
    top: 1rem;
    width: auto;
    z-index: 100000;
}

.pdc-text-center {
    text-align: center;
}

.pdc-text-muted {
    color: var(--pdc-color-muted);
}

@media (max-width: 47.99rem) {
    body {
        font-size: 1rem;
    }

    .pdc-text-center--mobile-left {
        text-align: left;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* Free Website Review ----------------------------------------------------- */
body.pdc-free-website-review,
body.pdc-free-website-review .site-content {
    background: #07142b;
    color: #dbe7f5;
}

.pdc-review-page {
    background:
        radial-gradient(circle at 12% 8%, rgba(49, 130, 206, 0.22), transparent 32rem),
        radial-gradient(circle at 88% 42%, rgba(94, 215, 178, 0.12), transparent 28rem),
        #07142b;
    color: #dbe7f5;
    overflow: hidden;
}

.pdc-review-wrap {
    width: min(1180px, calc(100% - 48px));
    margin-inline: auto;
}

.pdc-review-hero {
    padding: 110px 0 76px;
    border-bottom: 1px solid rgba(94, 215, 178, 0.2);
}

.pdc-review-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 22px;
    color: #5ed7b2;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.pdc-review-eyebrow::before {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #5ed7b2;
    content: "";
    box-shadow: 0 0 18px rgba(94, 215, 178, 0.7);
}

.pdc-review-hero h1 {
    max-width: 900px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.55rem, 6vw, 5rem);
    line-height: 1.02;
    letter-spacing: -0.04em;
}

.pdc-review-lead {
    max-width: 780px;
    margin: 28px 0 0;
    color: #b9c8db;
    font-size: clamp(1.08rem, 2vw, 1.3rem);
    line-height: 1.75;
}

.pdc-review-process {
    padding: 76px 0 22px;
}

.pdc-review-section-heading {
    max-width: 720px;
    margin-bottom: 34px;
}

.pdc-review-section-heading h2,
.pdc-review-form-intro h2 {
    margin: 0 0 14px;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1.1;
}

.pdc-review-section-heading p,
.pdc-review-form-intro p {
    margin: 0;
    color: #b9c8db;
    font-size: 1.06rem;
    line-height: 1.75;
}

.pdc-review-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.pdc-review-step {
    min-height: 245px;
    padding: 30px;
    border: 1px solid rgba(94, 215, 178, 0.2);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(17, 39, 73, 0.92), rgba(8, 25, 52, 0.92));
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.16);
}

.pdc-review-step-number {
    display: grid;
    width: 42px;
    height: 42px;
    margin-bottom: 26px;
    place-items: center;
    border-radius: 12px;
    background: #5ed7b2;
    color: #07142b;
    font-weight: 800;
}

.pdc-review-step h3 {
    margin: 0 0 12px;
    color: #fff;
    font-size: 1.32rem;
}

.pdc-review-step p {
    margin: 0;
    color: #b9c8db;
    line-height: 1.7;
}

.pdc-review-form-section {
    padding: 74px 0 100px;
}

.pdc-review-form-grid {
    display: grid;
    grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
    gap: 50px;
    align-items: start;
}

.pdc-review-form-intro {
    position: sticky;
    top: 120px;
}

.pdc-review-privacy-note {
    margin-top: 24px !important;
    padding-top: 22px;
    border-top: 1px solid rgba(185, 200, 219, 0.2);
    font-size: 0.94rem !important;
}

.pdc-review-form-shell {
    padding: clamp(24px, 4vw, 46px);
    border: 1px solid rgba(94, 215, 178, 0.24);
    border-radius: 22px;
    background: rgba(12, 32, 65, 0.94);
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.24);
}

.pdc-review-form-shell .fluentform label,
.pdc-review-form-shell .ff-el-input--label label,
.pdc-review-form-shell .ff-el-form-check-label,
.pdc-review-form-shell .ff-el-form-check-label span {
    color: #e7f0fa !important;
    opacity: 1 !important;
}

.pdc-review-form-shell .ff-el-input--label label {
    font-weight: 650 !important;
}

.pdc-review-form-shell .ff-el-form-control {
    min-height: 50px;
    border: 1px solid #7890ad !important;
    border-radius: 9px !important;
    background: #f8fbff !important;
    color: #07142b !important;
    box-shadow: none !important;
}

.pdc-review-form-shell textarea.ff-el-form-control {
    min-height: 135px;
}

.pdc-review-form-shell .ff-el-form-control::placeholder {
    color: #6a7890 !important;
    opacity: 1;
}

.pdc-review-form-shell .ff-el-form-control:focus {
    border-color: #5ed7b2 !important;
    box-shadow: 0 0 0 3px rgba(94, 215, 178, 0.2) !important;
}

.pdc-review-form-shell select.ff-el-form-control,
.pdc-review-form-shell select.ff-el-form-control option {
    color: #07142b !important;
}

.pdc-review-form-shell .ff-el-form-check {
    padding: 14px 16px;
    border: 1px solid rgba(185, 200, 219, 0.22);
    border-radius: 9px;
    background: rgba(7, 20, 43, 0.48);
}

.pdc-review-form-shell .ff-el-form-check-input {
    width: 18px;
    height: 18px;
    margin-right: 9px;
    accent-color: #5ed7b2;
}

.pdc-review-form-shell .ff-el-is-error .ff-el-form-control {
    border-color: #ff8080 !important;
}

.pdc-review-form-shell .error,
.pdc-review-form-shell .text-danger {
    color: #ffb3b3 !important;
}

.pdc-review-form-shell .ff-btn-submit {
    min-height: 52px;
    padding: 13px 24px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: #5ed7b2 !important;
    color: #07142b !important;
    font-weight: 800 !important;
    box-shadow: 0 12px 28px rgba(94, 215, 178, 0.18);
}

.pdc-review-form-shell .ff-btn-submit:hover,
.pdc-review-form-shell .ff-btn-submit:focus {
    background: #7ce3c4 !important;
    color: #07142b !important;
    transform: translateY(-1px);
}

.pdc-url-help {
    margin: 7px 0 0;
    color: #aebed2;
    font-size: 0.88rem;
    line-height: 1.5;
}

@media (max-width: 920px) {
    .pdc-review-steps,
    .pdc-review-form-grid {
        grid-template-columns: 1fr;
    }

    .pdc-review-form-intro {
        position: static;
    }

    .pdc-review-step {
        min-height: 0;
    }
}

@media (max-width: 640px) {
    .pdc-review-wrap {
        width: min(100% - 32px, 1180px);
    }

    .pdc-review-hero {
        padding: 72px 0 52px;
    }

    .pdc-review-process {
        padding-top: 54px;
    }

    .pdc-review-form-section {
        padding: 52px 0 72px;
    }

    .pdc-review-form-shell {
        padding: 22px 18px;
        border-radius: 16px;
    }
}

/* Keep the Free Website Review page on the same continuous dark grid system
 * used by the Contact page. This intentionally overrides older section-level
 * light backgrounds without changing the form or card structure. */
body.pdc-free-website-review .pdc-review-page {
	background:
		linear-gradient(rgb(49 130 206 / 10%) 1px, transparent 1px),
		linear-gradient(90deg, rgb(49 130 206 / 10%) 1px, transparent 1px),
		radial-gradient(circle at 84% 10%, rgb(94 215 178 / 16%), transparent 25rem),
		linear-gradient(145deg, rgb(7 17 38 / 98%), rgb(17 30 56 / 96%));
	background-size: 5rem 5rem, 5rem 5rem, auto, auto;
	color: #eef5ff;
}

body.pdc-free-website-review .pdc-review-hero,
body.pdc-free-website-review .pdc-review-conversion {
	background: transparent;
	color: #eef5ff;
	color-scheme: dark;
}

body.pdc-free-website-review .pdc-review-conversion {
    border-top: 1px solid rgb(94 215 178 / 15%);
}

/* Consultation request page */
body.pdc-schedule-consultation,
body.pdc-schedule-consultation .site-content {
    background: #07142d;
    color: #c9d5e8;
}

.pdc-consultation-page {
    overflow: hidden;
    background: #07142d;
    color: #c9d5e8;
}

.pdc-consultation-shell {
    width: min(100%, 1248px);
    margin: 0 auto;
    padding-inline: 24px;
}

.pdc-consultation-hero {
    padding: 110px 0 100px;
    border-bottom: 1px solid rgb(94 215 178 / 18%);
    background:
        linear-gradient(rgb(94 215 178 / 7%) 1px, transparent 1px),
        linear-gradient(90deg, rgb(94 215 178 / 7%) 1px, transparent 1px),
        radial-gradient(circle at 85% 15%, rgb(94 215 178 / 18%), transparent 34%),
        linear-gradient(135deg, #091936, #07142d);
    background-size: 80px 80px, 80px 80px, auto, auto;
}

.pdc-consultation-eyebrow {
    margin: 0 0 22px;
    color: #5ed7b2;
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.pdc-consultation-hero h1,
.pdc-consultation-guide h2,
.pdc-consultation-form-card h2 {
    color: #fff;
}

.pdc-consultation-hero h1 {
    max-width: 880px;
    margin: 0 0 28px;
    font-size: clamp(3rem, 7vw, 5.5rem);
    line-height: .98;
    letter-spacing: -.045em;
}

.pdc-consultation-lead {
    max-width: 790px;
    margin: 0;
    color: #c9d5e8;
    font-size: clamp(1.05rem, 2vw, 1.3rem);
    line-height: 1.75;
}

.pdc-consultation-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 30px;
    margin: 34px 0 0;
    padding: 0;
    list-style: none;
    color: #eef5ff;
    font-weight: 600;
}

.pdc-consultation-trust li::before {
    margin-right: 8px;
    color: #5ed7b2;
    content: "✓";
}

.pdc-consultation-content {
    padding: 90px 0 120px;
}

.pdc-consultation-grid {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: 34px;
    align-items: start;
}

.pdc-consultation-guide,
.pdc-consultation-form-card {
    padding: clamp(28px, 4vw, 46px);
    border: 1px solid rgb(94 215 178 / 20%);
    border-radius: 26px;
    background: linear-gradient(145deg, rgb(17 42 78 / 94%), rgb(8 25 55 / 98%));
    box-shadow: 0 28px 70px rgb(0 0 0 / 20%);
}

.pdc-consultation-guide h2,
.pdc-consultation-form-card h2 {
    margin: 0 0 18px;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.08;
    letter-spacing: -.03em;
}

.pdc-consultation-guide > p,
.pdc-consultation-form-intro {
    margin: 0 0 28px;
    color: #b8c6da;
    line-height: 1.75;
}

.pdc-consultation-steps {
    counter-reset: consultation-step;
    margin: 32px 0;
    padding: 0;
    list-style: none;
}

.pdc-consultation-steps li {
    position: relative;
    margin: 0;
    padding: 0 0 28px 58px;
    color: #c9d5e8;
    line-height: 1.65;
    counter-increment: consultation-step;
}

.pdc-consultation-steps li::before {
    position: absolute;
    top: 0;
    left: 0;
    display: grid;
    width: 38px;
    height: 38px;
    border: 1px solid rgb(94 215 178 / 42%);
    border-radius: 50%;
    color: #5ed7b2;
    font-weight: 700;
    content: counter(consultation-step);
    place-items: center;
}

.pdc-consultation-steps strong {
    display: block;
    margin-bottom: 4px;
    color: #fff;
}

.pdc-consultation-direct {
    padding: 24px;
    border-radius: 18px;
    background: rgb(5 17 39 / 70%);
}

.pdc-consultation-direct h3 {
    margin: 0 0 12px;
    color: #fff;
    font-size: 1.15rem;
}

.pdc-consultation-direct p {
    margin: 7px 0;
}

.pdc-consultation-direct a {
    color: #5ed7b2;
}

.pdc-consultation-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.pdc-consultation-field {
    margin-bottom: 20px;
}

.pdc-consultation-field label {
    display: block;
    margin-bottom: 8px;
    color: #eef5ff;
    font-size: .95rem;
    font-weight: 600;
}

.pdc-consultation-field input,
.pdc-consultation-field select,
.pdc-consultation-field textarea {
    width: 100%;
    min-height: 52px;
    padding: 13px 15px;
    border: 1px solid #c9d5e8;
    border-radius: 10px;
    outline: none;
    background: #fff;
    color: #111e38;
    font: inherit;
}

.pdc-consultation-field textarea {
    min-height: 150px;
    resize: vertical;
}

.pdc-consultation-field input:focus,
.pdc-consultation-field select:focus,
.pdc-consultation-field textarea:focus {
    border-color: #5ed7b2;
    box-shadow: 0 0 0 3px rgb(94 215 178 / 20%);
}

.pdc-consultation-consent {
    display: flex;
    gap: 11px;
    align-items: flex-start;
    margin: 8px 0 24px;
    color: #dce6f4;
    line-height: 1.55;
}

.pdc-consultation-consent input {
    width: 18px;
    height: 18px;
    margin-top: 3px;
    accent-color: #5ed7b2;
}

.pdc-consultation-submit {
    min-height: 54px;
    padding: 14px 24px;
    border: 0;
    border-radius: 10px;
    background: #5ed7b2;
    color: #07142d;
    font-weight: 700;
    cursor: pointer;
    transition: transform .2s ease, background-color .2s ease;
}

.pdc-consultation-submit:hover,
.pdc-consultation-submit:focus-visible {
    background: #7de4c5;
    transform: translateY(-2px);
}

.pdc-consultation-notice {
    margin: 0 0 24px;
    padding: 16px 18px;
    border-radius: 12px;
    line-height: 1.55;
}

.pdc-consultation-notice--success {
    border: 1px solid rgb(94 215 178 / 45%);
    background: rgb(94 215 178 / 12%);
    color: #d9fff3;
}

.pdc-consultation-notice--error {
    border: 1px solid rgb(255 129 129 / 45%);
    background: rgb(255 129 129 / 10%);
    color: #ffe2e2;
}

.pdc-consultation-privacy {
    margin: 16px 0 0;
    color: #96a8c0;
    font-size: .86rem;
    line-height: 1.6;
}

.pdc-consultation-hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

@media (max-width: 900px) {
    .pdc-consultation-grid {
        grid-template-columns: 1fr;
    }

    .pdc-consultation-hero {
        padding: 82px 0 76px;
    }
}

@media (max-width: 640px) {
    .pdc-consultation-shell {
        padding-inline: 18px;
    }

    .pdc-consultation-hero {
        padding: 66px 0 62px;
    }

    .pdc-consultation-content {
        padding: 56px 0 80px;
    }

    .pdc-consultation-form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .pdc-consultation-guide,
    .pdc-consultation-form-card {
        padding: 26px 20px;
        border-radius: 20px;
    }
}
/* Client portal */
.pdc-client-portal-page { background: #071329; color: #dbe8f5; min-height: 70vh; }
.pdc-client-portal-hero { padding: 96px 24px 72px; border-bottom: 1px solid rgba(93,215,178,.22); background-color: #08162e; background-image: linear-gradient(rgba(49,130,206,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(49,130,206,.08) 1px, transparent 1px), radial-gradient(circle at 85% 10%, rgba(93,215,178,.16), transparent 35%); background-size: 90px 90px, 90px 90px, auto; }
.pdc-client-portal-hero h1 { color: #fff; max-width: 780px; margin: 12px 0 18px; }
.pdc-client-portal-hero p:last-child { max-width: 760px; font-size: 1.15rem; color: #b9c8da; }
.pdc-client-portal-content { padding: 64px 24px 96px; }
.pdc-page-shell { width: min(1200px, 100%); margin: 0 auto; }
.pdc-eyebrow { color: #5dd7b2 !important; font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.pdc-portal-shell { display: grid; gap: 28px; }
.pdc-portal-welcome, .pdc-portal-card, .pdc-portal-coming { border: 1px solid rgba(93,215,178,.22); background: linear-gradient(145deg, rgba(17,38,74,.96), rgba(8,24,50,.96)); border-radius: 22px; box-shadow: 0 24px 60px rgba(0,0,0,.18); }
.pdc-portal-welcome { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 28px 32px; }
.pdc-portal-session-links { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; }
.pdc-portal-jump-nav { position: sticky; top: 18px; z-index: 20; display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 18px; border: 2px solid rgba(93,215,178,.72); border-radius: 18px; background: linear-gradient(135deg,rgba(18,45,83,.98),rgba(7,17,38,.98)); box-shadow: 0 18px 42px rgba(0,0,0,.32),0 0 26px rgba(93,215,178,.12); backdrop-filter: blur(12px); }
.pdc-portal-jump-nav strong { display:flex; align-items:center; gap:8px; width:100%; color:#fff; font-size:1rem; letter-spacing:.01em; }
.pdc-portal-jump-nav strong span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#5dd7b2; color:#071126; font-size:1.15rem; }
.pdc-portal-jump-nav a { color:#071126; padding:10px 14px; border:1px solid rgba(255,255,255,.3); border-radius:999px; background:#5dd7b2; box-shadow:0 6px 14px rgba(0,0,0,.18); font-size:.86rem; font-weight:850; text-decoration:none; transition:transform 150ms ease,background 150ms ease,box-shadow 150ms ease; }
.pdc-portal-jump-nav a:hover,.pdc-portal-jump-nav a:focus-visible { color:#071126; background:#8ce8cc; box-shadow:0 8px 18px rgba(0,0,0,.24),0 0 0 3px rgba(93,215,178,.2); transform:translateY(-2px); }
.pdc-portal-welcome h2, .pdc-portal-card h2, .pdc-portal-card h3 { color: #fff; margin-bottom: 10px; }
.pdc-portal-welcome p { margin: 0; }
.pdc-portal-link { color: #5dd7b2; font-weight: 700; white-space: nowrap; }
.pdc-portal-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 28px; align-items: start; }
.pdc-portal-grid-admin { grid-template-columns: 1fr; }
.pdc-portal-card { padding: 32px; }
.pdc-portal-login { max-width: 620px; margin: 0 auto; }
.pdc-portal-form { display: grid; gap: 12px; margin-top: 24px; }
.pdc-portal-form label { color: #eef6ff; font-weight: 650; }
.pdc-portal-form input, .pdc-portal-form select, .pdc-portal-form textarea, .pdc-portal-login input { width: 100%; color: #0b1630; background: #f7fbff; border: 1px solid #a9bdd2; border-radius: 9px; padding: 12px 14px; }
.pdc-portal-form button, .pdc-portal-login input[type="submit"] { width: auto; justify-self: start; background: #5dd7b2; color: #071329; border: 0; border-radius: 9px; padding: 13px 20px; font-weight: 800; cursor: pointer; }
.pdc-portal-form small { color: #9fb2c8; }
.pdc-portal-notice { padding: 16px 20px; border-radius: 12px; color: #071329; background: #5dd7b2; font-weight: 700; }
.pdc-portal-error { background: #ffb4b4; }
.pdc-file-library { overflow: hidden; }
.pdc-file-library-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; }
.pdc-file-library-heading p:last-child { max-width: 720px; margin-bottom: 0; }
.pdc-file-upload-panel { margin-top: 24px; border: 1px solid rgba(93,215,178,.24); border-radius: 14px; background: rgba(4,16,36,.42); overflow: hidden; }
.pdc-file-upload-panel > summary { padding: 16px 18px; color: #fff; font-weight: 800; cursor: pointer; }
.pdc-file-upload-panel[open] > summary { border-bottom: 1px solid rgba(173,196,220,.16); }
.pdc-file-upload-form { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 20px; margin-top: 0; }
.pdc-file-upload-form > div { display: grid; gap: 7px; }
.pdc-file-upload-form .pdc-file-form-wide, .pdc-file-upload-form > button { grid-column: 1/-1; }
.pdc-file-filters { display: grid; grid-template-columns: minmax(180px,1.4fr) repeat(2,minmax(150px,.8fr)) auto auto; align-items: end; gap: 12px; margin-top: 24px; padding: 16px; border: 1px solid rgba(173,196,220,.16); border-radius: 14px; background: rgba(4,16,36,.32); }
.pdc-file-filters label { display: grid; gap: 6px; color: #dbe8f5; font-size: .78rem; font-weight: 700; }
.pdc-file-filters input, .pdc-file-filters select { width: 100%; min-height: 44px; color: #0b1630; background: #f7fbff; border: 1px solid #a9bdd2; border-radius: 9px; padding: 10px 12px; }
.pdc-file-filters button { min-height: 44px; padding: 10px 16px; border: 0; border-radius: 9px; color: #071329; background: #5dd7b2; font-weight: 800; cursor: pointer; }
.pdc-file-filters > a { align-self: center; color: #5dd7b2; font-weight: 700; }
.pdc-file-folders { display: grid; gap: 22px; margin-top: 26px; }
.pdc-file-folder { overflow: hidden; border: 1px solid rgba(173,196,220,.18); border-radius: 16px; background: rgba(4,16,36,.38); }
.pdc-file-folder-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 20px; border-bottom: 1px solid rgba(173,196,220,.14); background: rgba(17,38,74,.62); }
.pdc-file-folder-heading h4 { color: #fff; font-size: 1rem; margin: 0; }
.pdc-file-folder-heading span { color: #8fa6bf; font-size: .8rem; font-weight: 700; }
.pdc-file-list { display: grid; }
.pdc-file-item { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; align-items: center; gap: 16px; padding: 18px 20px; }
.pdc-file-item + .pdc-file-item { border-top: 1px solid rgba(173,196,220,.12); }
.pdc-file-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 10px; color: #071329; background: #5dd7b2; font-size: .62rem; font-weight: 900; letter-spacing: .06em; }
.pdc-file-details { min-width: 0; }
.pdc-file-title-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; }
.pdc-file-title-row > strong { color: #fff; }
.pdc-file-title-row > span { padding: 3px 8px; border-radius: 999px; color: #bdebdc; background: rgba(93,215,178,.1); font-size: .7rem; font-weight: 700; }
.pdc-file-details p { color: #c9d7e6; margin: 7px 0 0; }
.pdc-file-details .pdc-file-client { color: #94aac2; font-size: .82rem; }
.pdc-file-details small { display: block; color: #8199b3; margin-top: 7px; overflow-wrap: anywhere; }
.pdc-file-meta { display: flex !important; flex-wrap: wrap; gap: 4px 12px; }
.pdc-file-meta span:not(:last-child)::after { content: "·"; margin-left: 12px; }
.pdc-file-actions { display: grid; justify-items: end; gap: 8px; }
.pdc-file-actions .pdc-file-download { color: #071329 !important; font-size: .82rem; line-height: 1.2; }
.pdc-file-actions .pdc-file-download:hover, .pdc-file-actions .pdc-file-download:focus { color: #071329 !important; }
.pdc-file-actions .pdc-file-manage { color: #5dd7b2; font-size: .82rem; font-weight: 700; }
.pdc-billing-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.pdc-billing-heading p:last-child { margin-bottom:0; }
.pdc-billing-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-top:26px; }
.pdc-billing-grid > div { padding:20px; border:1px solid rgba(173,196,220,.18); border-radius:16px; background:rgba(4,16,36,.38); }
.pdc-billing-grid h4 { color:#fff; margin:0 0 14px; }
.pdc-billing-list { display:grid; gap:10px; }
.pdc-billing-list article { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 0; border-top:1px solid rgba(173,196,220,.12); }
.pdc-billing-list article:first-child { border-top:0; padding-top:0; }
.pdc-billing-list article > div:first-child { display:grid; gap:3px; }
.pdc-billing-list strong { color:#fff; }
.pdc-billing-list span,.pdc-billing-empty,.pdc-billing-security { color:#91a8c1; font-size:.82rem; }
.pdc-billing-invoice-meta { display:flex; align-items:center; flex-wrap:wrap; gap:5px; }
.pdc-billing-invoice-status { font-weight:800; }
.pdc-billing-invoice-status-open,.pdc-billing-invoice-status-uncollectible,.pdc-billing-invoice-status-void { color:#ff5c6c !important; }
.pdc-billing-invoice-status-paid { color:#5dd7b2 !important; }
.pdc-billing-status { padding:4px 8px; border-radius:999px; background:#a8bdd4; color:#071329 !important; font-weight:800; }
.pdc-billing-status-active,.pdc-billing-status-paid { background:#5dd7b2; }
.pdc-billing-status-past_due,.pdc-billing-status-unpaid { background:#ffb4b4; }
.pdc-billing-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.pdc-billing-links a { color:#5dd7b2; font-size:.82rem; font-weight:800; }
.pdc-billing-security { margin:18px 0 0; }
.pdc-payment-builder { margin-top:24px; overflow:hidden; border:1px solid rgba(93,215,178,.24); border-radius:14px; background:rgba(4,16,36,.42); }
.pdc-payment-builder > summary { padding:16px 18px; color:#fff; font-weight:800; cursor:pointer; }
.pdc-payment-builder[open] > summary { border-bottom:1px solid rgba(173,196,220,.16); }
.pdc-payment-plan-form { grid-template-columns:repeat(2,minmax(0,1fr)); padding:20px; margin-top:0; }
.pdc-payment-plan-form > div { display:grid; gap:7px; }
.pdc-payment-plan-form input[type="date"] { min-width:0; width:100%; max-width:100%; box-sizing:border-box; }
.pdc-payment-plan-form [data-schedule-field],.pdc-payment-plan-form [data-installment-amount-field] { min-width:0; }
.pdc-payment-plan-form .pdc-plan-wide,.pdc-payment-plan-form > button { grid-column:1/-1; }
.pdc-payment-plan-form [hidden] { display:none !important; }
.pdc-plan-confirm { display:flex !important; align-items:flex-start; gap:10px; padding:14px; border:1px solid rgba(93,215,178,.2); border-radius:10px; background:rgba(93,215,178,.07); }
.pdc-plan-confirm input { width:auto; margin-top:4px; }
.pdc-plan-confirm span { color:#dceaf7; font-size:.88rem; }
.pdc-plan-approval { display:grid; gap:14px; padding:16px; border:1px solid rgba(93,215,178,.28); border-radius:12px; background:rgba(93,215,178,.08); }
.pdc-plan-approval label { display:flex; align-items:flex-start; gap:10px; color:#e7f2fb; font-weight:700; }
.pdc-plan-approval input { width:auto; margin-top:4px; }
.pdc-plan-approval .pdc-portal-button { justify-self:start; border:0; cursor:pointer; }
.pdc-plan-approval small,.pdc-plan-awaiting { color:#a8bdd4; }
.pdc-plan-change-request { display:grid; gap:9px; padding:16px; border:1px solid rgba(255,210,122,.3); border-radius:12px; background:rgba(255,210,122,.07); }
.pdc-plan-change-request label { color:#fff; font-weight:800; }
.pdc-plan-change-request textarea { width:100%; min-height:108px; padding:12px; border:1px solid #91a8c1; border-radius:9px; color:#071329; background:#f8fbff; resize:vertical; }
.pdc-plan-change-request button,.pdc-plan-resend button { justify-self:start; padding:10px 15px; border:1px solid rgba(255,210,122,.55); border-radius:9px; color:#ffe1a1; background:rgba(255,210,122,.08); font-weight:800; cursor:pointer; }
.pdc-plan-change-request small { color:#b8c9da; }
.pdc-plan-resend { margin:0; }
.pdc-plan-stripe-sync { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 16px; border:1px solid rgba(93,215,178,.24); border-radius:11px; background:rgba(93,215,178,.07); }
.pdc-plan-stripe-sync > div { display:grid; gap:3px; }
.pdc-plan-stripe-sync strong { color:#f5f8ff; }
.pdc-plan-stripe-sync span { color:#aebed0; font-size:.78rem; overflow-wrap:anywhere; }
.pdc-plan-stripe-sync form { margin:0; }
.pdc-plan-stripe-sync button { padding:10px 15px; border:1px solid rgba(93,215,178,.55); border-radius:9px; color:#071329; background:#5dd7b2; font-weight:800; white-space:nowrap; cursor:pointer; }
.pdc-plan-change-notice { padding:15px; border-left:4px solid #ffb84d; border-radius:8px; color:#ffe6bc; background:rgba(255,184,77,.1); }
.pdc-plan-change-notice p { margin:7px 0; color:#fff; }
.pdc-plan-calculation { min-height:48px; padding:13px 15px; border-radius:10px; color:#bdebdc; background:rgba(93,215,178,.08); font-weight:700; }
.pdc-milestone-builder { display:grid; gap:10px; padding:16px; border:1px solid rgba(173,196,220,.18); border-radius:12px; }
.pdc-milestone-builder legend { padding:0 8px; color:#fff; font-weight:800; }
.pdc-milestone-builder p { margin:0 0 5px; color:#91a8c1; font-size:.82rem; }
.pdc-milestone-builder > div { display:grid; grid-template-columns:minmax(180px,2fr) minmax(120px,1fr) minmax(150px,1fr); gap:10px; }
.pdc-plan-warning { display:grid; gap:4px; margin-top:20px; padding:14px 16px; border-radius:10px; color:#071329; background:#ffd27a; }
.pdc-plan-list { display:grid; gap:16px; margin-top:24px; }
.pdc-plan-item { display:grid; gap:16px; padding:20px; border:1px solid rgba(173,196,220,.18); border-radius:14px; background:rgba(4,16,36,.48); }
.pdc-plan-scope { padding:14px 16px; border:1px solid rgba(93,215,178,.18); border-radius:10px; background:rgba(93,215,178,.05); }
.pdc-plan-scope summary { color:#5dd7b2; font-weight:800; cursor:pointer; }
.pdc-plan-scope div { margin-top:12px; color:#d7e2ee; }
.pdc-plan-scope p:last-child { margin-bottom:0; }
.pdc-plan-analysis-link { justify-self:start; color:#5dd7b2; font-size:.84rem; font-weight:800; }
.pdc-project-change-orders{border:1px solid rgba(94,215,181,.22);border-radius:12px;padding:12px 14px;background:rgba(5,18,42,.35)}.pdc-project-change-orders>summary{cursor:pointer;color:#5ed7b5;font-weight:800}.pdc-project-change-orders>div{display:grid;gap:10px;margin-top:12px}.pdc-project-change-orders article{display:grid;grid-template-columns:1fr auto;gap:5px 14px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}.pdc-project-change-orders article p{grid-column:1/-1;margin:0;color:#b9c6d9}
.pdc-plan-deadline{margin:0;color:#b9c6d9}.pdc-plan-deadline strong{color:#5ed7b5}.pdc-plan-lifecycle-builder,.pdc-plan-audit{margin-top:2px;border:1px solid rgba(94,215,181,.28);border-radius:14px;background:rgba(5,18,42,.5);padding:14px 16px}.pdc-plan-lifecycle-builder>summary,.pdc-plan-audit>summary{cursor:pointer;color:#5ed7b5;font-weight:800}.pdc-plan-lifecycle-form{margin-top:16px}.pdc-plan-decline{display:grid;gap:8px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1)}.pdc-plan-decline label{font-weight:700}.pdc-plan-decline textarea{width:100%;padding:12px;border:1px solid #91a8c1;border-radius:10px;color:#071329;background:#f8fbff}.pdc-plan-decline button{justify-self:start;background:transparent;color:#ffb8b8;border:1px solid rgba(255,120,120,.55);border-radius:999px;padding:9px 16px;font-weight:800}.pdc-plan-audit ol{display:grid;gap:10px;margin:14px 0 0;padding:0;list-style:none}.pdc-plan-audit li{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(220px,1.5fr) auto;gap:12px;align-items:start;padding:10px 0;border-top:1px solid rgba(255,255,255,.08)}.pdc-plan-audit li strong{color:#e9f0fa}.pdc-plan-audit li span,.pdc-plan-audit li time{color:#9eacc1;font-size:.88rem}.pdc-billing-status-declined,.pdc-billing-status-expired{color:#ffb8b8!important;border-color:rgba(255,120,120,.45)!important}.pdc-billing-status-superseded{color:#b7c2d2!important;border-color:rgba(183,194,210,.35)!important}
.pdc-plan-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.pdc-plan-heading h4 { color:#fff; margin:0 0 4px; }
.pdc-plan-heading > div > span { color:#91a8c1; font-size:.82rem; }
.pdc-plan-terms { display:flex; flex-wrap:wrap; gap:12px 28px; }
.pdc-plan-terms > div { display:grid; gap:3px; }
.pdc-plan-terms span { color:#8fa6bf; font-size:.72rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.pdc-plan-terms strong { color:#eef6ff; }
.pdc-plan-breakdown { margin:0; padding:12px 14px; border-radius:10px; color:#bdebdc; background:rgba(93,215,178,.08); }
.pdc-plan-breakdown strong { color:#fff; }
.pdc-plan-item .pdc-portal-button { justify-self:start; }
@media(max-width:720px){.pdc-plan-audit li{grid-template-columns:1fr;gap:4px}.pdc-plan-lifecycle-form{grid-template-columns:1fr}.pdc-plan-lifecycle-form .pdc-plan-wide{grid-column:1}}
.pdc-plan-error { margin:0; padding:12px 14px; border-left:3px solid #ffb4b4; color:#ffd3d3; background:rgba(255,180,180,.08); }
.pdc-billing-status-awaiting_client { background:#ffd27a; }
.pdc-billing-status-pending_approval { background:#ffd27a; }
.pdc-billing-status-changes_requested { background:#ffb84d; }
.pdc-billing-status-active,.pdc-billing-status-completed { background:#5dd7b2; }
.pdc-billing-status-error,.pdc-billing-status-past_due,.pdc-billing-status-canceled { background:#ffb4b4; }
.pdc-project-dashboard { overflow: hidden; }
.pdc-project-dashboard-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; }
.pdc-project-dashboard-heading p:last-child { max-width: 720px; margin-bottom: 0; }
.pdc-portal-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 11px 18px; border-radius: 9px; background: #5dd7b2; color: #071329; font-weight: 800; white-space: nowrap; }
.pdc-portal-button:hover, .pdc-portal-button:focus { background: #86e4c7; color: #071329; }
.pdc-project-empty { display: grid; gap: 5px; margin-top: 24px; padding: 22px; border: 1px dashed rgba(173,196,220,.32); border-radius: 14px; background: rgba(4,16,36,.35); }
.pdc-project-empty strong { color: #fff; }
.pdc-project-empty span { color: #aebed0; }
.pdc-project-list { display: grid; gap: 22px; margin-top: 26px; }
.pdc-project-item { padding: 24px; border: 1px solid rgba(173,196,220,.18); border-radius: 16px; background: rgba(4,16,36,.48); }
.pdc-project-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.pdc-project-title-row h4 { color: #fff; font-size: 1.25rem; margin: 0; }
.pdc-project-client { color: #94aac2; font-size: .9rem; margin: 5px 0 0; }
.pdc-project-status { display: inline-flex; padding: 5px 10px; border-radius: 999px; color: #071329; background: #a8bdd4; font-size: .74rem; font-weight: 800; white-space: nowrap; }
.pdc-project-status-active { background: #67b7ff; }
.pdc-project-status-client_review { background: #ffd27a; }
.pdc-project-status-on_hold { background: #ffb4b4; }
.pdc-project-status-completed { background: #5dd7b2; }
.pdc-project-summary { color: #c9d7e6; margin: 16px 0 20px; }
.pdc-project-progress-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #e9f3fd; font-size: .9rem; }
.pdc-project-progress-heading span { color: #5dd7b2; font-weight: 800; }
.pdc-project-progress { height: 10px; margin-top: 8px; overflow: hidden; border-radius: 999px; background: rgba(173,196,220,.16); }
.pdc-project-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #3182ce, #5dd7b2); }
.pdc-project-dates { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 20px; }
.pdc-project-dates div { display: grid; gap: 2px; }
.pdc-project-dates span, .pdc-project-focus span { color: #8fa6bf; font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.pdc-project-dates strong { color: #eef6ff; font-size: .9rem; }
.pdc-project-focus { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 20px; }
.pdc-project-focus > div { padding: 16px; border: 1px solid rgba(93,215,178,.15); border-radius: 12px; background: rgba(17,38,74,.58); }
.pdc-project-focus p { color: #d7e5f2; margin: 7px 0 0; }
.pdc-milestone-list { display: grid; gap: 9px; margin-top: 22px; }
.pdc-milestone-list h5 { color: #fff; font-size: .95rem; margin: 0 0 3px; }
.pdc-milestone { display: grid; grid-template-columns: 14px minmax(0, 1fr) auto; align-items: center; gap: 11px; min-height: 48px; padding: 10px 12px; border-radius: 10px; background: rgba(173,196,220,.07); }
.pdc-milestone-mark { width: 12px; height: 12px; border: 2px solid #7f96af; border-radius: 50%; }
.pdc-milestone strong { display: block; color: #eaf3fc; font-size: .9rem; }
.pdc-milestone small { display: block; color: #8fa6bf; margin-top: 2px; }
.pdc-milestone-status { color: #aebed0; font-size: .76rem; font-weight: 700; }
.pdc-milestone-in_progress .pdc-milestone-mark { border-color: #67b7ff; background: #67b7ff; box-shadow: 0 0 0 4px rgba(103,183,255,.13); }
.pdc-milestone-waiting .pdc-milestone-mark { border-color: #ffd27a; background: #ffd27a; }
.pdc-milestone-completed .pdc-milestone-mark { border-color: #5dd7b2; background: #5dd7b2; }
.pdc-milestone-completed strong { color: #a9ddcc; }
.pdc-project-update { margin-top: 22px; padding: 16px 18px; border-left: 3px solid #5dd7b2; background: rgba(93,215,178,.08); }
.pdc-project-update strong { display: block; color: #fff; margin-bottom: 5px; }
.pdc-project-update p:last-child { margin-bottom: 0; }
.pdc-project-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 18px; color: #8098b2; font-size: .8rem; }
.pdc-project-footer a { color: #5dd7b2; font-weight: 700; }
.pdc-request-list { display: grid; gap: 16px; margin-top: 24px; }
.pdc-request-item { padding: 20px; border: 1px solid rgba(173,196,220,.18); border-radius: 14px; background: rgba(4,16,36,.48); }
.pdc-request-heading { display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.pdc-request-item time { display: block; color: #8fa6bf; font-size: .84rem; margin-top: 5px; }
.pdc-request-client { margin: 8px 0 0; color: #c5d5e6; }
.pdc-request-item > a, .pdc-request-manage a { color: #5dd7b2; font-weight: 700; }
.pdc-request-manage { margin: 14px 0 0; }
.pdc-status { padding: 5px 10px; border-radius: 999px; font-size: .74rem; font-weight: 800; white-space: nowrap; color: #071329; background: #a8bdd4; }
.pdc-status-in_review { background: #67b7ff; }
.pdc-status-waiting { background: #ffd27a; }
.pdc-status-completed { background: #5dd7b2; }
.pdc-status-pending_payment { background: #ffb4b4; }
.pdc-status-ready { background: #74e0bf; }
.pdc-status-in_progress { background: #8bc8ff; }
.pdc-status-submitted { background: #d9c3ff; }
.pdc-request-note { margin-top: 14px; padding: 12px 14px; border-left: 3px solid #5dd7b2; background: rgba(93,215,178,.08); }
.pdc-portal-coming { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; overflow: hidden; }
.pdc-portal-coming div { display: grid; gap: 4px; padding: 22px 26px; background: rgba(8,24,50,.92); }
.pdc-portal-coming strong { color: #fff; }
.pdc-portal-coming span { color: #9fb2c8; font-size: .9rem; }
@media (max-width: 900px) { .pdc-portal-grid { grid-template-columns: 1fr; } .pdc-client-portal-hero { padding-top: 72px; } .pdc-file-filters { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 760px) { .pdc-billing-grid { grid-template-columns:1fr; } }
@media (max-width: 640px) { .pdc-client-portal-content { padding: 40px 18px 72px; } .pdc-client-portal-hero { padding: 64px 18px 48px; } .pdc-portal-welcome, .pdc-project-dashboard-heading, .pdc-project-title-row, .pdc-file-library-heading { align-items: flex-start; flex-direction: column; } .pdc-portal-jump-nav { position:relative; top:auto; padding:16px; } .pdc-portal-jump-nav a { flex:1 1 calc(50% - 10px); text-align:center; } .pdc-portal-card { padding: 24px 20px; } .pdc-project-item { padding: 20px 16px; } .pdc-project-focus, .pdc-file-upload-form,.pdc-payment-plan-form { grid-template-columns: 1fr; } .pdc-file-upload-form .pdc-file-form-wide, .pdc-file-upload-form > button,.pdc-payment-plan-form .pdc-plan-wide,.pdc-payment-plan-form > button { grid-column: auto; } .pdc-milestone-builder > div { grid-template-columns:1fr; } .pdc-plan-heading { align-items:flex-start; flex-direction:column; } .pdc-file-item { grid-template-columns: 38px minmax(0,1fr); align-items: start; padding: 16px; } .pdc-file-icon { width: 38px; height: 38px; margin-top: 2px; } .pdc-file-actions { grid-column: 1/-1; grid-template-columns: auto auto; justify-content: start; justify-items: start; align-items: center; margin-top: 4px; padding-left: 54px; } .pdc-file-actions .pdc-file-download { min-height: 42px; padding: 10px 16px; } .pdc-milestone { grid-template-columns: 14px minmax(0, 1fr); } .pdc-milestone-status { grid-column: 2; } .pdc-project-footer, .pdc-request-heading { align-items: flex-start; flex-direction: column; } .pdc-portal-coming { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .pdc-file-filters { grid-template-columns: 1fr; } .pdc-file-meta { display: grid !important; gap: 2px; } .pdc-file-meta span::after { content: none !important; } }
@media (max-width: 640px) { .pdc-billing-heading { align-items:flex-start; flex-direction:column; } .pdc-billing-list article { align-items:flex-start; flex-direction:column; } .pdc-billing-links { justify-content:flex-start; } }

/* Secure front-end administration workspace. */
body.pdc-admin-dashboard .site-header,
body.pdc-admin-dashboard .site-footer { display:none; }
body.pdc-admin-dashboard,
body.pdc-admin-dashboard .site-content { background:#061126; }
.pdc-admin-dashboard-main { min-height:100vh; }
.pdc-admin-shell { min-height:100vh; display:grid; grid-template-columns:250px minmax(0,1fr); color:#dce9f7; }
.pdc-admin-sidebar { position:sticky; top:0; height:100vh; display:flex; flex-direction:column; padding:26px 18px; border-right:1px solid rgba(173,196,220,.14); background:#081831; }
.pdc-admin-brand { display:flex; align-items:center; gap:12px; padding:0 8px 24px; }
.pdc-admin-brand-mark { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:#071329; background:linear-gradient(135deg,#2a78ff,#5dd7b2); font:700 1.25rem Poppins,sans-serif; }
.pdc-admin-brand div,.pdc-admin-user { display:grid; gap:2px; }
.pdc-admin-brand strong { color:#fff; }
.pdc-admin-brand span:last-child,.pdc-admin-user small { color:#8fa6bf; font-size:.74rem; }
.pdc-admin-sidebar nav { display:grid; gap:5px; }
.pdc-admin-sidebar nav a { padding:11px 13px; border-radius:10px; color:#a9bdd2; font-weight:700; text-decoration:none; }
.pdc-admin-sidebar nav a:hover,.pdc-admin-sidebar nav a.is-active { color:#fff; background:rgba(93,215,178,.1); box-shadow:inset 3px 0 #5dd7b2; }
.pdc-admin-sidebar-footer { margin-top:auto; display:grid; gap:8px; padding:20px 8px 0; border-top:1px solid rgba(173,196,220,.12); }
.pdc-admin-sidebar-footer a { color:#8fa6bf; font-size:.82rem; text-decoration:none; }
.pdc-admin-workspace { min-width:0; padding:32px clamp(20px,4vw,56px) 70px; }
.pdc-admin-topbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:28px; }
.pdc-admin-topbar h1 { margin:2px 0 0; color:#fff; font-size:clamp(2rem,4vw,3rem); }
.pdc-admin-user { text-align:right; }
.pdc-admin-user span { color:#fff; font-weight:700; }
.pdc-admin-notice { margin:0 0 22px; padding:14px 16px; border:1px solid rgba(93,215,178,.35); border-radius:12px; color:#bdf2e1; background:rgba(93,215,178,.09); }
.pdc-admin-notice.is-error { border-color:rgba(255,92,108,.45); color:#ffd1d6; background:rgba(255,92,108,.09); }
.pdc-admin-metrics { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; margin-bottom:22px; }
.pdc-admin-metrics > a,.pdc-admin-metrics > div { min-height:116px; display:flex; flex-direction:column; justify-content:space-between; padding:18px; border:1px solid rgba(173,196,220,.16); border-radius:16px; color:#a9bdd2; text-decoration:none; background:linear-gradient(145deg,rgba(18,43,78,.86),rgba(8,24,49,.92)); }
.pdc-admin-metrics > a:hover { border-color:rgba(93,215,178,.45); transform:translateY(-2px); }
.pdc-admin-metrics strong { color:#fff; font-size:1.9rem; }
.pdc-admin-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr); gap:22px; }
.pdc-admin-panel,.pdc-admin-dashboard .pdc-portal-card { margin:0 0 22px; padding:24px; border:1px solid rgba(173,196,220,.16); border-radius:18px; background:linear-gradient(145deg,rgba(18,43,78,.72),rgba(8,24,49,.88)); box-shadow:0 18px 45px rgba(0,0,0,.14); }
.pdc-admin-panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:18px; }
.pdc-admin-panel-heading h2 { margin:0; color:#fff; font-size:1.25rem; }
.pdc-admin-panel-heading > a,.pdc-admin-panel-heading > span { color:#5dd7b2; font-size:.82rem; font-weight:800; }
.pdc-admin-attention { display:grid; gap:10px; }
.pdc-admin-attention a { display:grid; grid-template-columns:44px 1fr; align-items:center; gap:10px; padding:12px; border-radius:12px; color:#a9bdd2; text-decoration:none; background:rgba(4,16,36,.38); }
.pdc-admin-attention strong { color:#fff; font-size:1.25rem; }
.pdc-admin-actions { display:flex; justify-content:flex-end; margin-bottom:16px; }
.pdc-admin-record-list,.pdc-admin-client-list { display:grid; gap:10px; }
.pdc-admin-record-list article { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:18px; padding:14px 0; border-top:1px solid rgba(173,196,220,.12); }
.pdc-admin-record-list article:first-child { border-top:0; }
.pdc-admin-record-list article > div { display:grid; gap:3px; }
.pdc-admin-record-list strong,.pdc-admin-client-details strong { color:#fff; }
.pdc-admin-record-list span,.pdc-admin-client-details span,.pdc-admin-client-details small { color:#91a8c1; font-size:.8rem; }
.pdc-admin-record-list article > a,.pdc-admin-row-actions a,.pdc-admin-row-actions button { color:#5dd7b2; font-size:.8rem; font-weight:800; text-decoration:none; }
.pdc-admin-status { padding:5px 9px; border-radius:999px; color:#071329 !important; background:#a8bdd4; font-size:.72rem !important; font-weight:800; white-space:nowrap; }
.pdc-admin-status-active,.pdc-admin-status-client_review { background:#67b7ff; }
.pdc-admin-status-completed { background:#5dd7b2; }
.pdc-admin-status-on_hold { background:#ffb4b4; }
.pdc-admin-status-pending_payment { background:#ffb4b4; }
.pdc-admin-status-ready { background:#74e0bf; }
.pdc-admin-status-in_progress { background:#8bc8ff; }
.pdc-admin-status-submitted { background:#d9c3ff; }
.pdc-admin-status-in_review { background:#67b7ff; }
.pdc-admin-status-waiting { background:#ffd27a; }
.pdc-admin-client-create details > summary { color:#fff; font-size:1.05rem; font-weight:800; cursor:pointer; }
.pdc-admin-client-create details[open] > summary { margin-bottom:20px; }
.pdc-admin-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.pdc-admin-form label:not(.pdc-admin-check) { display:grid; gap:6px; }
.pdc-admin-form label > span { color:#b9cce0; font-size:.82rem; font-weight:700; }
.pdc-admin-form input,.pdc-admin-form select,.pdc-admin-form textarea { width:100%; min-height:44px; border:1px solid #8da5be; border-radius:9px; color:#071329; background:#f8fbff; }
.pdc-admin-form textarea { min-height:150px; padding:12px; resize:vertical; }
.pdc-admin-form select { padding:0 38px 0 12px; }
.pdc-admin-form label small { color:#8fa6bf; line-height:1.5; }
.pdc-admin-blog-form { margin-top:22px; }
.pdc-admin-blog-library,.pdc-admin-blog-editor { margin-top:22px; }
.pdc-admin-blog-list { display:grid; gap:10px; }
.pdc-admin-blog-list article { display:grid; grid-template-columns:64px minmax(0,1fr) auto auto; align-items:center; gap:14px; padding:13px; border:1px solid rgba(173,196,220,.12); border-radius:12px; background:rgba(4,16,36,.34); }
.pdc-admin-blog-list article>div:nth-child(2) { display:grid; gap:3px; }
.pdc-admin-blog-list article strong { color:#fff; }
.pdc-admin-blog-list article span { color:#91a8c1; font-size:.8rem; }
.pdc-admin-blog-thumb { width:64px; height:48px; display:grid; place-items:center; overflow:hidden; border-radius:8px; color:#5dd7b2; background:#0b1d3b; font-size:.72rem; font-weight:800; }
.pdc-admin-blog-thumb img { width:100%; height:100%; object-fit:cover; }
.pdc-admin-blog-status-publish { background:#5dd7b2; }
.pdc-admin-blog-status-draft { background:#ffd27a; }
.pdc-admin-blog-status-future { background:#67b7ff; }
.pdc-admin-blog-edit-form { display:grid; gap:18px; }
.pdc-admin-blog-edit-form>label,.pdc-admin-blog-content,.pdc-admin-featured-image,.pdc-admin-blog-seo-grid { display:grid; gap:7px; }
.pdc-admin-blog-edit-form label>span,.pdc-admin-blog-content>span,.pdc-admin-featured-image span { color:#b9cce0; font-size:.82rem; font-weight:800; }
.pdc-admin-blog-edit-form input[type=text],.pdc-admin-blog-edit-form input:not([type]),.pdc-admin-blog-edit-form textarea { width:100%; padding:11px 12px; border:1px solid #8da5be; border-radius:9px; color:#071329; background:#f8fbff; }
.pdc-admin-blog-content small,.pdc-admin-featured-image small { color:#8fa6bf; }
.pdc-admin-blog-content .wp-editor-wrap { color:#071329; background:#fff; }
.pdc-editor-help { display:grid; gap:10px; padding:14px; border:1px solid rgba(93,215,178,.26); border-radius:11px; background:rgba(93,215,178,.07); color:#dceaf7; }
.pdc-editor-help ol { margin:0; padding-left:1.25rem; color:#a9bdd2; }
.pdc-editor-help>div { display:flex; flex-wrap:wrap; gap:10px; }
.pdc-editor-help select { min-width:260px; min-height:44px; padding:0 38px 0 12px; border-radius:9px; color:#071329; background:#fff; }
.pdc-admin-featured-image { grid-template-columns:minmax(0,1fr) minmax(180px,280px); padding:16px; border:1px solid rgba(173,196,220,.16); border-radius:12px; background:rgba(4,16,36,.32); }
.pdc-admin-featured-image img { max-height:180px; width:auto; border-radius:9px; }
.pdc-admin-featured-image label { display:grid; gap:7px; align-content:start; }
.pdc-admin-blog-seo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pdc-admin-blog-seo-grid label { display:grid; gap:7px; }
.pdc-admin-blog-approval { display:grid; gap:10px; padding:16px; border:1px solid rgba(93,215,178,.26); border-radius:12px; background:rgba(93,215,178,.07); }
.pdc-admin-blog-approval label { display:flex; align-items:flex-start; gap:10px; color:#dceaf7; }
.pdc-admin-blog-publish { display:flex; flex-wrap:wrap; gap:12px; }
.pdc-admin-publish-button { background:#5dd7b2; color:#071329; }
.pdc-admin-form-wide { grid-column:1/-1; }
.pdc-admin-check { display:flex; align-items:flex-start; gap:10px; }
.pdc-admin-check input { width:auto; min-height:auto; margin-top:4px; }
.pdc-admin-form button { border:0; cursor:pointer; }
.pdc-admin-client-list article { display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:14px; padding:15px; border:1px solid rgba(173,196,220,.12); border-radius:13px; background:rgba(4,16,36,.34); }
.pdc-admin-client-avatar { width:44px; height:44px; display:grid; place-items:center; border-radius:12px; color:#071329; background:#5dd7b2; font-weight:900; }
.pdc-admin-client-details { display:grid; gap:3px; min-width:0; }
.pdc-admin-row-actions { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.pdc-admin-row-actions form { margin:0; }
.pdc-admin-row-actions button { padding:0; border:0; background:none; cursor:pointer; }
.pdc-admin-assignment { display:flex; align-items:flex-end; flex-wrap:wrap; gap:8px; margin-top:10px; }
.pdc-admin-assignment label { display:grid; gap:4px; min-width:min(100%,220px); }
.pdc-admin-assignment label span { color:#8fa6bf; font-size:.7rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.pdc-admin-assignment select { min-height:38px; border:1px solid rgba(173,196,220,.2); border-radius:8px; background:#091831; color:#eef6ff; padding:7px 28px 7px 10px; }
.pdc-admin-assignment button { min-height:38px; border:0; border-radius:8px; background:#5dd7b2; color:#071126; cursor:pointer; font-size:.78rem; font-weight:800; padding:8px 12px; }
.pdc-admin-danger { color:#ff5c6c !important; }
.pdc-admin-empty { color:#91a8c1; }
.pdc-admin-gate { max-width:560px; margin:80px auto; padding:32px; color:#dce9f7; }
.pdc-admin-gate h1 { color:#fff; }
.pdc-journey-list { display:grid; gap:14px; margin-top:22px; }
.pdc-journey-lead { overflow:hidden; border:1px solid rgba(173,196,220,.16); border-radius:14px; background:rgba(4,16,36,.38); }
.pdc-journey-lead > summary { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:17px 18px; cursor:pointer; list-style:none; }
.pdc-journey-lead > summary::-webkit-details-marker { display:none; }
.pdc-journey-lead > summary > span:first-child { display:grid; gap:3px; min-width:0; }
.pdc-journey-lead > summary strong { color:#fff; }
.pdc-journey-lead > summary small { color:#8fa6bf; overflow-wrap:anywhere; }
.pdc-journey-lead[open] > summary { border-bottom:1px solid rgba(173,196,220,.13); }
.pdc-journey-lead .pdc-admin-form { margin:0; padding:20px; border-top:1px solid rgba(173,196,220,.1); }
.pdc-journey-response-status { display:grid; gap:3px; margin:18px 20px 0; padding:12px 14px; border-left:3px solid #ffd27a; color:#ffe5a6; background:rgba(255,210,122,.08); }
.pdc-journey-response-status small { color:#aebed0; }
.pdc-journey-response-status.is-complete { border-left-color:#5dd7b2; color:#bdf2e1; background:rgba(93,215,178,.08); }
.pdc-journey-reply { background:rgba(93,215,178,.035); }
.pdc-journey-timeline { display:grid; gap:0; padding:20px; border-top:1px solid rgba(173,196,220,.1); }
.pdc-journey-timeline h3 { color:#fff; font-size:1rem; }
.pdc-journey-timeline > div { display:grid; grid-template-columns:12px minmax(0,1fr); gap:12px; padding:8px 0; }
.pdc-journey-timeline > div > span { width:10px; height:10px; margin-top:5px; border-radius:999px; background:#5dd7b2; box-shadow:0 0 0 4px rgba(93,215,178,.1); }
.pdc-journey-timeline p { display:grid; gap:2px; margin:0; }
.pdc-journey-timeline strong { color:#eaf4ff; }
.pdc-journey-timeline small,.pdc-journey-timeline time { color:#8fa6bf; }
.pdc-journey-timeline time { font-size:.72rem; }
.pdc-journey-onboarding > p { max-width:760px; }
.pdc-onboarding-card { display:grid; gap:12px; margin-top:20px; padding:20px; border:1px solid rgba(93,215,178,.2); border-radius:14px; background:rgba(4,16,36,.4); }
.pdc-onboarding-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.pdc-onboarding-heading strong { color:#fff; }
.pdc-onboarding-heading span { color:#5dd7b2; font-size:.78rem; font-weight:800; text-transform:uppercase; }
.pdc-onboarding-card label { display:flex; align-items:flex-start; gap:10px; padding:11px 0; border-top:1px solid rgba(173,196,220,.1); color:#dce9f7; }
.pdc-onboarding-card label input { width:auto; margin-top:5px; }
.pdc-onboarding-card label span { display:grid; gap:2px; }
.pdc-onboarding-card label small { color:#8fa6bf; }
.pdc-onboarding-card button { justify-self:start; padding:11px 18px; border:0; border-radius:9px; color:#071329; background:#5dd7b2; font-weight:800; cursor:pointer; }
@media(max-width:1100px){.pdc-admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.pdc-admin-grid{grid-template-columns:1fr}.pdc-admin-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.pdc-admin-shell{grid-template-columns:1fr}.pdc-admin-sidebar{position:relative;height:auto;padding:18px}.pdc-admin-sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}.pdc-admin-sidebar nav a{text-align:center}.pdc-admin-sidebar-footer{display:none}.pdc-admin-workspace{padding:24px 16px 60px}.pdc-admin-topbar{align-items:flex-start}.pdc-admin-user{display:none}.pdc-admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.pdc-admin-form{grid-template-columns:1fr}.pdc-admin-form-wide{grid-column:auto}.pdc-admin-client-list article{grid-template-columns:44px minmax(0,1fr)}.pdc-admin-row-actions{grid-column:1/-1;justify-content:flex-start}.pdc-admin-record-list article{grid-template-columns:minmax(0,1fr) auto}.pdc-admin-record-list article>a{grid-column:1/-1}.pdc-admin-billing-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.pdc-admin-blog-list article{grid-template-columns:52px minmax(0,1fr)}.pdc-admin-blog-list article>.pdc-admin-status,.pdc-admin-blog-list article>.pdc-admin-row-actions{grid-column:2}.pdc-admin-blog-thumb{width:52px}.pdc-admin-featured-image,.pdc-admin-blog-seo-grid{grid-template-columns:1fr}}
@media(max-width:460px){.pdc-admin-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.pdc-admin-metrics{grid-template-columns:1fr}.pdc-admin-metrics>a,.pdc-admin-metrics>div{min-height:92px}.pdc-admin-record-list article{grid-template-columns:1fr}.pdc-admin-status{justify-self:start}}

/* Keep Stripe operations text readable when managed-hosting or theme CSS loads later. */
body.pdc-admin-dashboard :is(.pdc-stripe-control,.pdc-stripe-acceptance,.pdc-stripe-diagnostics,.pdc-stripe-email-routing) :is(h2,h3) { color:#f5f8ff !important; }
body.pdc-admin-dashboard :is(.pdc-stripe-control,.pdc-stripe-acceptance) :is(p,label,span,small) { text-shadow:none; }
@media(max-width:640px){.pdc-plan-stripe-sync{align-items:flex-start;flex-direction:column}.pdc-plan-stripe-sync button{white-space:normal}}

/* --------------------------------------------------------------------------
   Public-page cascade protection

   Astra, Elementor, and managed-hosting optimization can emit page CSS after
   the child theme. Keep the version-controlled public design authoritative
   without affecting the client portal, admin dashboard, or WordPress admin.
   -------------------------------------------------------------------------- */

body:is(.pdc-public-home, .pdc-public-services, .pdc-public-portfolio, .pdc-public-pricing, .pdc-about, .pdc-contact) {
    background: #071126 !important;
}

body:is(.pdc-public-home, .pdc-public-services, .pdc-public-portfolio, .pdc-public-pricing, .pdc-about, .pdc-contact) :is(#page, .site, #content, .site-content, .ast-container) {
    background-color: transparent !important;
}

body.pdc-public-home .elementor-element.elementor-element-116a9e1 {
    background:
        radial-gradient(circle at 14% 22%, rgb(49 130 206 / 24%), transparent 30rem),
        radial-gradient(circle at 86% 12%, rgb(94 215 178 / 16%), transparent 26rem),
        linear-gradient(135deg, #071126 0%, #0b1630 54%, #111e38 100%) !important;
}

body.pdc-public-home .pdc-home,
body.pdc-public-portfolio .pdc-portfolio-page,
body.pdc-public-pricing .pdc-pricing-page,
body.pdc-about .pdc-about-page,
body.pdc-contact .pdc-contact-page {
    background-color: #071126 !important;
}

@media (min-width: 70rem) {
    body.pdc-public-home .pdc-grid--4 {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    body.pdc-public-home .pdc-grid--4 > * {
        min-width: 0 !important;
        width: auto !important;
    }
}

/* Portal mobile containment and focused client workspaces. */
.pdc-client-portal-page,
body.pdc-admin-dashboard {
    max-width: 100%;
    overflow-x: clip;
}

.pdc-client-portal-page *,
body.pdc-admin-dashboard .pdc-admin-shell * {
    box-sizing: border-box;
}

.pdc-client-portal-page :is(
    .pdc-page-shell,
    .pdc-portal-shell,
    .pdc-portal-welcome,
    .pdc-portal-card,
    .pdc-portal-home,
    .pdc-portal-home-grid,
    .pdc-project-item,
    .pdc-file-item,
    .pdc-plan-item,
    .pdc-request-item
),
body.pdc-admin-dashboard :is(
    .pdc-admin-shell,
    .pdc-admin-sidebar,
    .pdc-admin-workspace,
    .pdc-admin-panel,
    .pdc-admin-grid,
    .pdc-admin-form,
    .pdc-admin-record-list,
    .pdc-admin-client-list
) {
    min-width: 0;
    max-width: 100%;
}

.pdc-client-portal-page :is(h1,h2,h3,h4,p,a,strong,span,small,label),
body.pdc-admin-dashboard :is(h1,h2,h3,h4,p,a,strong,span,small,label) {
    overflow-wrap: anywhere;
}

.pdc-client-portal-page :is(input,select,textarea,button),
body.pdc-admin-dashboard :is(input,select,textarea,button) {
    max-width: 100%;
}

.pdc-portal-view-nav a.is-active {
    color: #fff;
    border-color: #8ce8cc;
    background: rgba(93,215,178,.16);
    box-shadow: inset 0 0 0 1px rgba(140,232,204,.4);
}

.pdc-portal-home {
    padding: 32px;
    border: 1px solid rgba(93,215,178,.22);
    border-radius: 22px;
    background: linear-gradient(145deg,rgba(17,38,74,.96),rgba(8,24,50,.96));
    box-shadow: 0 24px 60px rgba(0,0,0,.18);
}

.pdc-portal-home-heading {
    max-width: 720px;
}

.pdc-portal-home-heading h3 {
    margin: 6px 0 8px;
    color: #fff;
    font-size: clamp(1.5rem,3vw,2.1rem);
}

.pdc-portal-home-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 16px;
    margin-top: 26px;
}

.pdc-portal-home-card {
    display: grid;
    gap: 8px;
    min-height: 160px;
    padding: 22px;
    border: 1px solid rgba(173,196,220,.18);
    border-radius: 16px;
    color: #dbe8f5;
    text-decoration: none;
    background: rgba(4,16,36,.48);
    transition: border-color 150ms ease, transform 150ms ease, background 150ms ease;
}

.pdc-portal-home-card:hover,
.pdc-portal-home-card:focus-visible {
    color: #fff;
    border-color: rgba(93,215,178,.7);
    background: rgba(17,38,74,.72);
    transform: translateY(-2px);
}

.pdc-portal-home-card strong {
    color: #fff;
    font-size: 1.08rem;
}

.pdc-portal-home-card span {
    color: #aebed0;
}

.pdc-portal-home-card em {
    align-self: end;
    color: #5dd7b2;
    font-size: .82rem;
    font-style: normal;
    font-weight: 800;
}

body.pdc-admin-dashboard .pdc-admin-sidebar nav a,
body.pdc-admin-dashboard .pdc-admin-panel,
body.pdc-admin-dashboard .pdc-admin-panel-heading,
body.pdc-admin-dashboard .pdc-admin-record-list article,
body.pdc-admin-dashboard .pdc-admin-client-list article {
    min-width: 0;
}

body.pdc-admin-dashboard .pdc-admin-panel {
    overflow: hidden;
}

body.pdc-admin-dashboard .pdc-admin-panel :is(table,.widefat) {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

body.pdc-admin-dashboard .pdc-admin-form :is(input,select,textarea),
body.pdc-admin-dashboard .pdc-admin-blog-edit-form :is(input,select,textarea),
body.pdc-admin-dashboard .pdc-editor-help select {
    width: 100%;
    min-width: 0;
}

@media (max-width: 760px) {
    .pdc-client-portal-hero {
        padding: 46px 16px 38px;
        background-size: 64px 64px,64px 64px,auto;
    }

    .pdc-client-portal-hero h1 {
        margin-block: 8px 12px;
        font-size: clamp(2rem,10vw,3rem);
        line-height: 1.04;
    }

    .pdc-client-portal-hero p:last-child {
        font-size: 1rem;
        line-height: 1.6;
    }

    .pdc-client-portal-content {
        padding: 28px 14px 64px;
    }

    .pdc-portal-shell {
        gap: 18px;
    }

    .pdc-portal-welcome {
        gap: 16px;
        padding: 22px 18px;
    }

    .pdc-portal-welcome h2 {
        font-size: clamp(1.35rem,7vw,2rem);
        line-height: 1.15;
    }

    .pdc-portal-session-links {
        width: 100%;
        gap: 12px 18px;
    }

    .pdc-portal-view-nav {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 9px;
        padding: 14px;
    }

    .pdc-portal-view-nav strong {
        grid-column: 1/-1;
    }

    .pdc-portal-view-nav a {
        display: grid;
        min-width: 0;
        min-height: 46px;
        place-items: center;
        padding: 9px 10px;
        white-space: normal;
        line-height: 1.2;
        text-align: center;
    }

    .pdc-portal-home,
    .pdc-portal-card {
        padding: 22px 18px;
        border-radius: 18px;
    }

    .pdc-portal-home-grid {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 20px;
    }

    .pdc-portal-home-card {
        min-height: 132px;
        padding: 18px;
    }

    .pdc-project-dashboard-heading,
    .pdc-file-library-heading,
    .pdc-billing-heading,
    .pdc-admin-panel-heading {
        gap: 12px;
    }

    .pdc-project-dashboard-heading .pdc-portal-button,
    .pdc-portal-form button,
    .pdc-payment-plan-form button {
        width: 100%;
        white-space: normal;
    }

    .pdc-project-item,
    .pdc-plan-item,
    .pdc-request-item {
        overflow: hidden;
    }

    .pdc-project-title-row,
    .pdc-plan-heading {
        width: 100%;
    }

    .pdc-project-progress,
    .pdc-project-progress span {
        max-width: 100%;
    }

    body.pdc-admin-dashboard .pdc-admin-sidebar {
        width: 100%;
        padding: 16px 14px;
    }

    body.pdc-admin-dashboard .pdc-admin-brand {
        padding: 0 4px 16px;
    }

    body.pdc-admin-dashboard .pdc-admin-sidebar nav {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 7px;
    }

    body.pdc-admin-dashboard .pdc-admin-sidebar nav a {
        display: grid;
        min-height: 48px;
        place-items: center;
        padding: 9px;
        line-height: 1.2;
        text-align: center;
    }

    body.pdc-admin-dashboard .pdc-admin-workspace {
        width: 100%;
        padding: 22px 14px 56px;
    }

    body.pdc-admin-dashboard .pdc-admin-topbar {
        margin-bottom: 20px;
    }

    body.pdc-admin-dashboard .pdc-admin-topbar h1 {
        font-size: clamp(1.9rem,10vw,2.6rem);
        line-height: 1.05;
    }

    body.pdc-admin-dashboard .pdc-admin-panel {
        padding: 20px 16px;
        border-radius: 16px;
    }

    body.pdc-admin-dashboard .pdc-admin-metrics,
    body.pdc-admin-dashboard .pdc-admin-billing-metrics {
        gap: 10px;
    }

    body.pdc-admin-dashboard .pdc-admin-record-list article {
        gap: 10px;
    }

    body.pdc-admin-dashboard .pdc-editor-help > div,
    body.pdc-admin-dashboard .pdc-admin-blog-publish {
        align-items: stretch;
        flex-direction: column;
    }

    body.pdc-admin-dashboard .pdc-editor-help select,
    body.pdc-admin-dashboard .pdc-admin-blog-publish button,
    body.pdc-admin-dashboard .pdc-admin-actions a,
    body.pdc-admin-dashboard .pdc-admin-actions button {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .pdc-portal-view-nav,
    body.pdc-admin-dashboard .pdc-admin-sidebar nav {
        grid-template-columns: 1fr;
    }

    .pdc-portal-home-card {
        min-height: 0;
    }

    body.pdc-admin-dashboard .pdc-admin-metrics,
    body.pdc-admin-dashboard .pdc-admin-billing-metrics {
        grid-template-columns: 1fr;
    }
}

