/* Ledger system for the ePayment homepage.
   Same discipline as eSortcode paper (Inter, IBM Plex Mono, 4px, left kickers)
   on a cool clearing-file grey so the magenta mark stays sharp. */
.home {
    --ink: #14161c;
    --ink-soft: #5c616c;
    --paper: #eceae6;
    --card: #faf8f5;
    --line: rgba(20, 22, 28, 0.12);
    --pink: #e91e63;
    --display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;
    background: var(--paper);
    color: var(--ink);
}

.home h1,
.home h2,
.home .home-price-num,
.home .home-rate-name {
    font-family: var(--display);
    font-weight: 600;
    letter-spacing: -0.03em;
    color: var(--ink);
}

.home .navbar {
    background: rgba(236, 234, 230, 0.92);
    backdrop-filter: saturate(1.2) blur(10px);
    -webkit-backdrop-filter: saturate(1.2) blur(10px);
    box-shadow: none;
    border-bottom: 1px solid var(--line);
}

.home .navbar.scrolled {
    background: rgba(236, 234, 230, 0.97);
    border-bottom-color: var(--line);
    box-shadow: none;
}

.home .brand-logo {
    height: 40px;
    width: auto;
    max-height: 40px;
    object-fit: contain;
}

.home .brand-logo:hover {
    transform: none;
}

.home .nav-link {
    color: var(--ink);
    font-weight: 600;
    letter-spacing: 0;
}

.home .nav-link:hover,
.home .nav-menu > li:hover > .nav-link,
.home .nav-link.active {
    color: var(--pink);
}

.home .nav-link::before {
    display: none;
}

.home .btn,
.home .btn-contact,
.home .btn-portal {
    border-radius: 4px;
    font-weight: 600;
    letter-spacing: 0.01em;
    box-shadow: none;
    transform: none;
    backdrop-filter: none;
}

.home .btn:hover,
.home .btn-contact:hover,
.home .btn-portal:hover {
    transform: none;
    box-shadow: none;
}

.home .btn-primary,
.home .btn-contact {
    background: var(--pink);
    color: #fff !important;
    border: 1px solid var(--pink);
}

.home .btn-primary:hover,
.home .btn-contact:hover {
    background: #c2185b;
    color: #fff !important;
    border-color: #c2185b;
}

.home .btn-secondary,
.home .btn-portal {
    background: transparent;
    color: var(--ink) !important;
    border: 1px solid var(--ink);
}

.home .btn-secondary:hover,
.home .btn-portal:hover {
    background: var(--ink);
    color: var(--card) !important;
    border-color: var(--ink);
}

.home .hamburger {
    border-radius: 4px;
    border-color: var(--line);
    background: var(--card);
}

.home .hamburger span {
    background: var(--ink);
}

/* Mega menu — ledger, not glass */
.home .mega-menu {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 4px;
    box-shadow: 0 18px 40px rgba(20, 22, 28, 0.08);
}

.home .mega-menu-column h3 {
    color: var(--ink-soft);
    letter-spacing: 0.1em;
    font-weight: 600;
}

.home .mega-menu-link {
    border-radius: 4px;
    color: var(--ink);
}

.home .mega-menu-link:hover {
    background: var(--paper);
    border-color: var(--line);
    transform: none;
}

.home .mega-menu-link-icon {
    clip-path: none;
    border-radius: 4px;
    width: 36px;
    height: 36px;
    min-width: 36px;
    font-size: 0.9rem;
    box-shadow: none;
    background: var(--pink);
}

.home .mega-menu-link:hover .mega-menu-link-icon {
    transform: none;
    box-shadow: none;
}

.home .mega-menu-link-content strong {
    color: var(--ink);
}

.home .mega-menu-link:hover .mega-menu-link-content strong {
    color: var(--pink);
}

.home .mega-menu-featured {
    background: var(--card);
    color: var(--ink);
    border: 1px solid var(--line);
    border-left: 3px solid var(--pink);
    border-radius: 4px;
    box-shadow: none;
}

.home .mega-menu-featured::before {
    display: none;
}

.home .mega-menu-featured h4,
.home .mega-menu-featured p {
    color: var(--ink);
    opacity: 1;
}

.home .mega-menu-featured p {
    color: var(--ink-soft);
}

.home .mega-menu-featured .btn {
    background: var(--pink) !important;
    color: #fff !important;
    border-radius: 4px;
    box-shadow: none;
    width: auto;
}

.home .mega-menu-featured .btn:hover {
    background: #c2185b !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Hero */
.home-hero {
    padding: calc(var(--nav-height) + clamp(2.5rem, 6vw, 4.5rem)) 0 clamp(3rem, 6vw, 5rem);
    border-bottom: 1px solid var(--line);
}

.home-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    gap: clamp(2.5rem, 5vw, 5.5rem);
    align-items: center;
}

.home-kicker {
    display: block;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ink-soft);
    margin-bottom: 1.25rem;
}

.home-hero h1 {
    font-size: clamp(2.35rem, 5.2vw, 3.5rem);
    line-height: 1.08;
    font-weight: 600;
    margin: 0 0 1.15rem;
    max-width: 16ch;
}

.home-hero .lede {
    font-size: 1.15rem;
    line-height: 1.55;
    color: var(--ink-soft);
    max-width: 36rem;
    margin: 0 0 1.75rem;
}

.home-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.85rem 1.25rem;
    margin-bottom: 1.25rem;
}

.home-hero-note {
    font-size: 0.9rem;
    color: var(--ink-soft);
    margin: 0;
}

.home-hero-note a {
    color: var(--ink);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.home-hero-note a:hover {
    color: var(--pink);
}

.home-slip {
    background: var(--card);
    border: 1px solid var(--line);
    border-left: 3px solid var(--pink);
    padding: 1.5rem 1.6rem 1.35rem;
    box-shadow: 0 18px 40px rgba(20, 22, 28, 0.06);
}

.home-slip-top {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
    margin-bottom: 1.15rem;
    font-family: var(--mono);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ink-soft);
}

.home-slip-rows {
    display: grid;
    gap: 0.55rem 1.25rem;
    margin-bottom: 1.25rem;
}

.home-slip-row {
    display: grid;
    grid-template-columns: 9.5rem 1fr;
    gap: 0.75rem;
    font-size: 0.95rem;
    padding-bottom: 0.55rem;
    border-bottom: 1px solid var(--line);
}

.home-slip-row:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.home-slip-row dt {
    font-family: var(--mono);
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ink-soft);
    font-weight: 500;
    padding-top: 0.2rem;
}

.home-slip-row dd {
    margin: 0;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.home-slip-status {
    color: #1f6b3a;
}

.home-slip-json {
    margin: 0;
    padding-top: 1rem;
    border-top: 1px solid var(--line);
    font-family: var(--mono);
    font-size: 0.75rem;
    line-height: 1.55;
    color: var(--ink-soft);
    white-space: pre-wrap;
}

/* Proof */
.home-proof {
    padding: 2.25rem 0 2.5rem;
    border-bottom: 1px solid var(--line);
}

.home-proof-label {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ink-soft);
    margin: 0 0 1.25rem;
}

.home .partner-logo {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    width: 160px;
    height: 72px;
    padding: 0 0.5rem;
}

.home .partner-logo:hover {
    transform: none !important;
    box-shadow: none !important;
    border-color: transparent !important;
    background: transparent !important;
}

.home .partner-logo img {
    max-height: 40px;
    filter: grayscale(1) contrast(1.08);
    opacity: 0.7;
    mix-blend-mode: multiply;
    background: transparent;
}

.home .partner-logo:hover img {
    filter: grayscale(1) contrast(1.08);
    opacity: 0.95;
    transform: none;
}

.home .partners-nav {
    width: 36px;
    height: 36px;
    border-radius: 4px;
    color: var(--ink);
    box-shadow: none;
    background: var(--card);
}

.home .partners-nav:hover {
    background: var(--card);
    transform: translateY(-50%);
    box-shadow: none;
}

/* Products as a rate card */
.home-products {
    padding: clamp(3.5rem, 7vw, 5.5rem) 0;
    border-bottom: 1px solid var(--line);
}

.home-section-head {
    max-width: 36rem;
    margin-bottom: 2rem;
    text-align: left;
}

.home-section-head h2 {
    font-size: clamp(1.85rem, 3.2vw, 2.45rem);
    line-height: 1.15;
    margin: 0 0 0.6rem;
}

.home-section-head p {
    margin: 0;
    color: var(--ink-soft);
    font-size: 1.05rem;
}

.home-rate {
    border-top: 1px solid var(--ink);
    list-style: none;
    margin: 0;
    padding: 0;
}

.home-rate a {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) 8.5rem minmax(0, 1.6fr) auto;
    gap: 1rem 1.5rem;
    align-items: baseline;
    padding: 1.35rem 0;
    border-bottom: 1px solid var(--line);
    color: inherit;
    text-decoration: none;
}

.home-rate a:hover .home-rate-name,
.home-rate a:hover .home-rate-go {
    color: var(--pink);
}

.home-rate-name {
    font-size: 1.45rem;
}

.home-rate-price {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    font-size: 0.95rem;
}

.home-rate-blurb {
    color: var(--ink-soft);
    font-size: 0.98rem;
}

.home-rate-go {
    font-size: 0.9rem;
    font-weight: 600;
    white-space: nowrap;
}

/* Pricing */
.home-pricing {
    padding: clamp(3.5rem, 7vw, 5.5rem) 0;
    border-bottom: 1px solid var(--line);
}

.home-price-table {
    width: 100%;
    border-collapse: collapse;
}

.home-price-table th,
.home-price-table td {
    text-align: left;
    padding: 1rem 1rem 1rem 0;
    border-bottom: 1px solid var(--line);
    vertical-align: baseline;
}

.home-price-table th {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ink-soft);
    border-bottom-color: var(--ink);
}

.home-price-table td:nth-child(2),
.home-price-table td:nth-child(3) {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.home-price-table a {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--ink);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.home-price-table a:hover {
    color: var(--pink);
}

.home-price-foot {
    margin: 1.25rem 0 0;
    font-size: 0.9rem;
    color: var(--ink-soft);
}

/* Stack */
.home-stack {
    padding: clamp(3.5rem, 7vw, 5.5rem) 0;
    border-bottom: 1px solid var(--line);
}

.home-stack-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-top: 1px solid var(--line);
}

.home-stack-list li {
    padding: 1.35rem 1.5rem 1.35rem 0;
    border-bottom: 1px solid var(--line);
}

.home-stack-list li:nth-child(even) {
    padding-left: 1.5rem;
    padding-right: 0;
    border-left: 1px solid var(--line);
}

.home-stack-list h3 {
    margin: 0 0 0.4rem;
    font-size: 1.15rem;
    font-weight: 600;
    letter-spacing: -0.02em;
}

.home-stack-list p {
    margin: 0;
    color: var(--ink-soft);
    font-size: 0.98rem;
    line-height: 1.55;
}

/* SLA */
.home-sla {
    padding: 1.75rem 0;
    border-bottom: 1px solid var(--line);
}

.home-sla-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem 2rem;
}

.home-sla p {
    margin: 0;
    font-size: 1.05rem;
}

.home-sla a {
    font-weight: 600;
    white-space: nowrap;
    color: var(--ink);
    text-decoration: none;
}

.home-sla a:hover {
    color: var(--pink);
}

/* Sister */
.home-sister {
    padding: clamp(3.5rem, 7vw, 5.5rem) 0;
    border-bottom: 1px solid var(--line);
}

.home-sister-list {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--line);
}

.home-sister-list a {
    display: grid;
    grid-template-columns: 10rem 1fr auto;
    gap: 1rem 1.5rem;
    align-items: center;
    padding: 1.15rem 0;
    border-bottom: 1px solid var(--line);
    color: inherit;
    text-decoration: none;
}

.home-sister-list a:hover span:last-child {
    color: var(--pink);
}

.home-sister-list img {
    max-height: 28px;
    width: auto;
    filter: grayscale(1) contrast(1.05);
    opacity: 0.85;
    mix-blend-mode: multiply;
    background: transparent;
}

.home .brand-logo,
.home .footer-brand-logo,
.home .group-logo {
    background: transparent;
}

.home .esortcode-pricing-card,
.home .pricing-card-header,
.home .esortcode-logo-section {
    background: var(--card) !important;
    color: var(--ink) !important;
    box-shadow: none !important;
}

.home .esortcode-logo {
    mix-blend-mode: multiply;
    background: transparent;
}

.home-sister-list p {
    margin: 0;
    color: var(--ink-soft);
    font-size: 0.95rem;
}

.home-sister-list span:last-child {
    font-weight: 600;
    font-size: 0.9rem;
    white-space: nowrap;
}

/* Close */
.home-close {
    padding: clamp(3.5rem, 8vw, 6rem) 0;
}

.home-close h2 {
    font-size: clamp(2rem, 4vw, 2.8rem);
    max-width: 16ch;
    margin: 0 0 1rem;
}

.home-close p {
    color: var(--ink-soft);
    max-width: 32rem;
    margin: 0 0 1.5rem;
    font-size: 1.08rem;
}

.home-close-meta {
    margin: 1.1rem 0 0;
    font-size: 0.88rem;
    color: var(--ink-soft);
}

/* Footer */
.home .footer {
    background: var(--paper);
    color: var(--ink);
    border-top: 1px solid var(--line);
    padding: 2.5rem 0 1.5rem;
}

.home .footer-brand-logo {
    height: 40px;
    width: auto;
}

.home .group-logo {
    height: 48px;
    width: auto;
}

.home .iso-logo,
.home .iso-badge-footer,
.home .cert-badge {
    height: 90px;
    max-height: 90px;
    width: auto;
    max-width: 100%;
    margin-top: 1rem;
    opacity: 1;
    /* White mark on a black tile: invert then multiply so the tile drops out on paper. */
    filter: invert(1);
    mix-blend-mode: multiply;
    background: transparent;
}

.home .footer-iso {
    text-align: left;
    margin-top: 1.25rem;
}

.home .footer-section h4 {
    color: var(--ink);
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 600;
}

.home .footer-section p,
.home .footer-section ul li a {
    color: var(--ink-soft);
    opacity: 1;
}

.home .footer-section ul li a:hover {
    color: var(--pink);
}

.home .footer-bottom {
    border-top: 1px solid var(--line);
    color: var(--ink-soft);
    opacity: 1;
}

.home .group-logo-link:hover {
    transform: none;
}

.home .footer-bottom a {
    color: var(--ink);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.home .newsletter-form input {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 4px;
    color: var(--ink);
}

.home .newsletter-form button {
    background: var(--pink);
    color: #fff;
    border-radius: 4px;
    border: 0;
}

.home .scroll-top {
    background: var(--ink);
    color: var(--card);
    border-radius: 4px;
    box-shadow: none;
    z-index: 10002;
}

.home .scroll-top.show {
    display: flex;
}

.home .scroll-top:hover {
    background: var(--pink);
    color: #fff;
    transform: none;
    box-shadow: none;
}

body.cookie-banner-on .scroll-top.show {
    bottom: 7.5rem;
}

@media (max-width: 968px) {
    .home .nav-menu {
        background: var(--paper);
        box-shadow: none;
        border-top: 1px solid var(--line);
    }

    .home .nav-menu .nav-link {
        color: var(--ink);
    }
}

@media (max-width: 900px) {
    .home-hero-grid,
    .home-stack-list,
    .home-sister-list a {
        grid-template-columns: 1fr;
    }

    .home-rate a {
        grid-template-columns: 1fr auto;
        gap: 0.35rem 1rem;
    }

    .home-rate-blurb,
    .home-rate-go {
        grid-column: 1 / -1;
    }

    .home-slip-row {
        grid-template-columns: 1fr;
        gap: 0.2rem;
    }

    .home-stack-list li:nth-child(even) {
        padding-left: 0;
        border-left: 0;
    }

    .home-sister-list img {
        max-height: 24px;
    }
}

/* ---------- Inner pages ---------- */
.home [class*="-hero"].has-lifestyle-banner,
.home .page-hero.has-lifestyle-banner,
.home .hero-mcp,
.home .hero-mcp.has-lifestyle-banner,
.home .contact-hero.has-lifestyle-banner,
.home .about-hero.has-lifestyle-banner {
    background: var(--paper) !important;
    color: var(--ink) !important;
    padding: calc(var(--nav-height) + 2.25rem) 0 2.5rem !important;
    min-height: 0 !important;
    text-align: left;
    position: relative;
}

.home .lifestyle-banner-img,
.home .hero-overlay,
.home .contact-hero-overlay,
.home .bb-hero-bg {
    display: none !important;
}

.home [class*="-hero"] h1,
.home [class*="-hero"] .lead,
.home [class*="-hero"] p,
.home .page-hero h1,
.home .page-hero .lead,
.home .hero-title-mcp,
.home .hero-subtitle-mcp,
.home .gradient-text {
    color: var(--ink) !important;
    text-shadow: none !important;
    background: none !important;
    -webkit-text-fill-color: var(--ink);
}

.home [class*="-hero"] h1,
.home .page-hero h1,
.home .hero-title-mcp {
    font-size: clamp(2rem, 4vw, 2.8rem);
    font-weight: 600;
    letter-spacing: -0.03em;
    max-width: 22ch;
    margin: 0 0 1rem;
}

.home [class*="-hero"] .lead,
.home .page-hero .lead,
.home .hero-subtitle-mcp,
.home .contact-hero p {
    max-width: 38rem;
    color: var(--ink-soft) !important;
    -webkit-text-fill-color: var(--ink-soft);
    font-size: 1.08rem;
    line-height: 1.55;
}

.home .badge,
.home .badge-new,
.home .badge.gradient,
.home .section-eyebrow,
.home .section-eyebrow.light {
    display: block;
    width: fit-content;
    background: none !important;
    color: var(--ink-soft) !important;
    padding: 0;
    border: 0;
    border-radius: 0;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 0.75rem;
    box-shadow: none;
}

.home .hexagon-stack,
.home .hex-icon,
.home .dd-hero-visual,
.home .av-hero-visual,
.home .about-hero .tech-hexagon,
.home .hero-stats-mcp,
.home .card-stack,
.home .bank-network,
.home .validation-animation {
    display: none !important;
}

.home .dd-hero-content,
.home .av-hero-content,
.home .hero-content,
.home .about-hero-content,
.home .contact-hero-content {
    display: block;
    max-width: 44rem;
    text-align: left;
}

.home .bb-hero-content,
.home .cp-hero-content,
.home .ob-hero-content,
.home .hero-content-mcp {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
    gap: 2rem;
    align-items: start;
    max-width: none;
    text-align: left;
}

.home .cp-hero-visual,
.home .ob-hero-visual,
.home .mcp-hero-visual {
    display: block;
    width: 100%;
    max-width: 28rem;
    justify-content: stretch;
    align-items: stretch;
}

.home .contact-hero-content p {
    margin-left: 0;
}

.home .hero-features,
.home .hero-points,
.home .hero-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 1rem;
    margin: 0 0 1.25rem;
    padding: 0;
    list-style: none;
    color: var(--ink-soft);
    font-size: 0.9rem;
    font-weight: 600;
}

.home .hero-features i,
.home .hero-feature i,
.home .hero-points i {
    color: var(--pink) !important;
    margin-right: 0.3rem;
}

.home .feature-badge {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 4px;
    color: var(--ink);
    padding: 0.3rem 0.65rem;
}

.home .section-header {
    text-align: left;
    max-width: 36rem;
    margin: 0 0 2rem;
}

.home .section-title,
.home h2.section-title {
    font-size: clamp(1.75rem, 3vw, 2.3rem);
    font-weight: 600;
    letter-spacing: -0.03em;
    color: var(--ink);
    text-align: left;
}

.home .section-subtitle {
    color: var(--ink-soft);
    text-align: left;
    margin: 0.5rem 0 0;
}

.home section:not(.navbar) {
    background: var(--paper) !important;
    color: var(--ink);
}

.home [class*="-card"],
.home .service-card,
.home .feature-item,
.home .feature-card,
.home .solution-card,
.home .pricing-card,
.home .info-box,
.home .contact-info-box,
.home .workflow-card {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    color: var(--ink);
}

.home .service-icon,
.home .feature-icon,
.home .core-service-icon,
.home .solution-icon,
.home .info-icon-badge {
    clip-path: none !important;
    border-radius: 4px;
    background: var(--pink) !important;
    color: #fff !important;
    box-shadow: none !important;
}

.home .contact-cta-section,
.home .contact-cta-box {
    background: var(--paper) !important;
    color: var(--ink) !important;
    box-shadow: none !important;
}

.home .btn-outline,
.home .btn-ghost {
    background: transparent;
    color: var(--ink) !important;
    border: 1px solid var(--ink);
    border-radius: 4px;
}

.home .btn-large,
.home .btn-lg {
    border-radius: 4px;
}

.home .policy-content,
.home .policy-body,
.home .policy-header {
    color: var(--ink);
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    max-width: none;
    padding: 0;
    text-align: left;
    margin: 0;
}

.home .policy-body h2,
.home .policy-section h2 {
    color: var(--ink);
    font-weight: 600;
    letter-spacing: -0.02em;
    border-bottom: 1px solid var(--line);
    padding-bottom: 0.4rem;
}

.home .policy-section {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0;
    margin: 0 0 2.25rem;
}

.home main > section:not([class*="-hero"]):not(.page-hero):not(.home-hero):not(.home-proof) {
    padding: clamp(3rem, 6vw, 4.75rem) 0;
    border-bottom: 1px solid var(--line);
}

.home [class*="-hero"]::before,
.home [class*="-hero"]::after,
.home .page-hero::before,
.home .contact-hero::before,
.home .about-hero::before,
.home .hero-mcp::before,
.home .hero-mcp::after,
.home .hero-mcp.has-lifestyle-banner::before,
.home .hero-mcp.has-lifestyle-banner::after {
    content: none !important;
    display: none !important;
    background: none !important;
    animation: none !important;
}

.home main h2,
.home main h3,
.home main h4 {
    color: var(--ink);
    font-weight: 600;
    letter-spacing: -0.02em;
}

.home main p,
.home main li,
.home main td,
.home main th,
.home main label,
.home main span:not(.fa):not([class^="fa"]) {
    color: inherit;
}

.home .feature-card-icon,
.home .cm-intro-icon,
.home .diagram-step-icon,
.home .comparison-icon,
.home .stat-icon,
.home .timeline-icon,
.home .check-icon {
    clip-path: none !important;
    border-radius: 4px !important;
    background: var(--pink) !important;
    color: #fff !important;
    box-shadow: none !important;
}

.home [class*="-card"]:hover,
.home .feature-card:hover,
.home .solution-card:hover,
.home .service-card:hover,
.home .cm-intro-card:hover,
.home .diagram-item:hover {
    transform: none !important;
    box-shadow: none !important;
}

.home .feature-list li,
.home .core-service-features li,
.home .comparison-list li,
.home .cm-highlight-list li {
    color: var(--ink-soft);
}

.home .feature-list i,
.home .core-service-features i,
.home .comparison-list i,
.home .cm-highlight-list i {
    color: var(--pink) !important;
}

.home .solutions-category-title {
    border-bottom: 1px solid var(--ink);
    color: var(--ink);
    font-weight: 600;
}

.home .solutions-category-title i {
    color: var(--pink);
    font-size: 1rem;
}

.home .cm-highlight,
.home .impact-strip,
.home .api-section,
.home .pricing-section,
.home [class*="cta-band"],
.home .cta-section,
.home .next-step,
.home .bb-pricing,
.home .pricing-calculator,
.home .calculator-wrapper {
    background: var(--paper) !important;
    color: var(--ink) !important;
    box-shadow: none !important;
    border-radius: 0;
}

.home .comparison-card.before,
.home .comparison-card.after {
    border-top: 1px solid var(--line) !important;
}

.home .comparison-card.after {
    border-left: 3px solid var(--pink) !important;
}

.home .hero-flow-card,
.home .cm-intro-card,
.home .comparison-card,
.home .diagram-item,
.home .diagram-step,
.home .impact-item {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
    color: var(--ink) !important;
    box-shadow: none !important;
}

.home a.btn,
.home .btn {
    border-radius: 4px !important;
    box-shadow: none !important;
}

.home a.btn-primary,
.home .btn.btn-primary,
.home [class*="-hero"] .btn-primary,
.home .btn-primary.btn-lg,
.home .btn-primary.btn-large {
    background: var(--pink) !important;
    color: #fff !important;
    border: 1px solid var(--pink) !important;
}

.home a.btn-primary:hover,
.home .btn-primary:hover {
    background: #c2185b !important;
    transform: none !important;
}

.home a.btn-secondary,
.home .btn.btn-secondary,
.home [class*="-hero"] .btn-secondary,
.home .btn-outline,
.home .btn-outline.btn-lg {
    background: transparent !important;
    color: var(--ink) !important;
    border: 1px solid var(--ink) !important;
}

.home a.btn-secondary:hover,
.home .btn-secondary:hover,
.home .btn-outline:hover {
    background: var(--ink) !important;
    color: var(--card) !important;
    transform: none !important;
}

.home input,
.home select,
.home textarea {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
    color: var(--ink) !important;
    box-shadow: none !important;
}

.home table {
    background: transparent;
    color: var(--ink);
}

.home th,
.home td {
    border-bottom: 1px solid var(--line);
    background: transparent !important;
    color: var(--ink);
}

.home pre,
.home code,
.home .code-block,
.home .api-code {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 4px;
    color: var(--ink);
    font-family: var(--mono);
}

.home .slider-control-full,
.home .slider-control,
.home .pricing-card {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
    color: var(--ink) !important;
}

.pay-example-step {
    margin: 0.85rem 0 0.45rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ink-soft);
}

.pay-example-step:first-of-type {
    margin-top: 0;
}

.pay-example-banks {
    list-style: none;
    margin: 0 0 0.85rem;
    padding: 0;
    display: grid;
    gap: 0.4rem;
}

.pay-example-banks li {
    margin: 0;
    padding: 0.5rem 0.7rem;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 4px;
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--ink);
}

.pay-example-banks li.is-selected {
    background: var(--card);
    box-shadow: inset 3px 0 0 var(--pink);
}

.pay-example-checks {
    list-style: none;
    margin: 0 0 0.75rem;
    padding: 0;
}

.pay-example-checks li {
    margin: 0;
    padding: 0.35rem 0;
    border-bottom: 1px solid var(--line);
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--ink);
}

.pay-example-checks li:last-child {
    border-bottom: 0;
}

.pay-example-checks li::before {
    content: "✓ ";
    color: var(--pink);
    font-weight: 500;
}

.pay-example .home-slip-rows {
    margin-bottom: 0.35rem;
}

@media (max-width: 900px) {
    .home .bb-hero-content,
    .home .cp-hero-content,
    .home .ob-hero-content,
    .home .hero-content-mcp {
        grid-template-columns: 1fr;
    }

    .home .mcp-hero-visual,
    .home .mcp-chat {
        max-width: none;
    }

    .home .mcp-chat .home-slip-row {
        grid-template-columns: 1fr;
        gap: 0.15rem;
    }
}

/* Legal pages */
.home-crumb {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    font-size: 0.85rem;
    color: var(--ink-soft);
    margin-bottom: 1.25rem;
}

.home-crumb a {
    color: var(--ink);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.home-crumb a:hover {
    color: var(--pink);
}

.home-hero--simple {
    padding: calc(var(--nav-height) + 2.25rem) 0 2rem;
    border-bottom: 0;
}

.home-hero--simple .home-hero-grid {
    grid-template-columns: 1fr;
    max-width: 40rem;
}

.home-hero--simple h1 {
    max-width: 22ch;
    font-size: clamp(2rem, 4vw, 2.8rem);
}

.home-hero--simple .lede {
    margin-bottom: 0;
}

.home.legal-page .legal-body {
    padding: 0 0 clamp(3.5rem, 7vw, 5.5rem);
    background: var(--paper);
    border-bottom: 1px solid var(--line);
}

.home.legal-page .legal-content {
    color: var(--ink);
    line-height: 1.65;
    font-size: 1.02rem;
}

.home.legal-page .legal-content h2 {
    color: var(--ink);
    font-size: clamp(1.25rem, 2.2vw, 1.5rem);
    font-weight: 600;
    letter-spacing: -0.02em;
    margin: 2.25rem 0 0.85rem;
    padding-bottom: 0.45rem;
    border-bottom: 1px solid var(--line);
}

.home.legal-page .legal-content h3 {
    color: var(--ink);
    font-size: 1.05rem;
    font-weight: 600;
    margin: 1.5rem 0 0.6rem;
}

.home.legal-page .legal-content h4 {
    color: var(--ink);
}

.home.legal-page .legal-content a {
    color: var(--ink);
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 600;
}

.home.legal-page .legal-content a:hover {
    color: var(--pink);
}

.home.legal-page .legal-content ul {
    margin: 0.5rem 0 1rem 1.25rem;
}

.home.legal-page .legal-content li {
    color: var(--ink-soft);
    margin-bottom: 0.35rem;
}

.home.legal-page .legal-toc {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 4px;
    padding: 1.5rem 1.6rem;
    margin: 0 0 2.5rem;
}

.home.legal-page .legal-toc h2 {
    margin-top: 0;
    border-bottom: 0;
    padding-bottom: 0;
    font-size: 1.05rem;
}

.home.legal-page .legal-note {
    background: var(--card);
    border: 1px solid var(--line);
    border-left: 3px solid var(--pink);
    border-radius: 4px;
    padding: 1.1rem 1.25rem;
    margin: 1.25rem 0;
}

.home.legal-page .legal-colophon {
    margin-top: 2.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--line);
    color: var(--ink-soft);
    font-size: 0.9rem;
}

.home.legal-page .legal-colophon p {
    margin: 0.25rem 0;
}

.home .cookie-type {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-left: 3px solid var(--pink) !important;
    border-radius: 4px !important;
    padding: 1.1rem 1.25rem;
    margin: 0 0 1.25rem;
}

.home .cookie-type h4 {
    color: var(--ink) !important;
    margin-top: 0;
}

.home .cookie-type i {
    color: var(--pink);
}

.home .contact-info {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 4px;
    padding: 1.1rem 1.25rem;
}

/* Inner leftovers that page CSS still tries to paint */
.home .hero-content-mcp {
    margin: 0;
}

.home .hero-buttons-mcp {
    justify-content: flex-start;
}

.home .contact-hero-content {
    text-align: left;
    color: var(--ink) !important;
}

.home .contact-hero-content p {
    margin-left: 0;
    margin-right: 0;
}

.home .about-hero-content {
    text-align: left;
    margin: 0;
}

.home .ddms-hero .hero-visual,
.home .av-hero .hero-visual {
    display: none !important;
}

.home .info-icon,
.home .hex {
    clip-path: none !important;
    border-radius: 4px !important;
    background: var(--pink) !important;
    color: #fff !important;
    box-shadow: none !important;
}

.home .cookie-banner {
    background: var(--card) !important;
    color: var(--ink);
    border-top: 1px solid var(--line);
    box-shadow: none !important;
    border-radius: 0;
    z-index: 10000;
    transition: bottom 0.25s ease;
}

body.cookie-modal-open {
    overflow: hidden;
}

.home .cookie-modal-content {
    background: var(--card) !important;
    color: var(--ink);
    border: 1px solid var(--line);
    border-radius: 4px;
    box-shadow: none !important;
    display: flex;
    flex-direction: column;
    max-height: min(85vh, 40rem);
    overflow: hidden;
}

.home .cookie-modal-body {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    flex: 1 1 auto;
}

.home .cookie-modal-header,
.home .cookie-modal-footer {
    flex: 0 0 auto;
}

.home .cookie-toggle-slider {
    background: var(--line);
    border-radius: 4px;
}

.home .cookie-toggle-slider:before {
    border-radius: 2px;
    background: var(--card);
}

.home .cookie-toggle input:checked + .cookie-toggle-slider {
    background: var(--pink);
}

.home .cookie-toggle input:disabled + .cookie-toggle-slider {
    background: var(--ink);
    opacity: 1;
}

.home .cookie-setting-item {
    background: var(--paper) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

.home .cookie-setting-item.essential {
    background: var(--paper) !important;
    border-color: var(--line) !important;
}

.home .cookie-banner-content h3,
.home .cookie-modal-header h2,
.home .cookie-setting-info h4 {
    color: var(--ink) !important;
}

.home .cookie-banner-content p,
.home .cookie-setting-info p {
    color: var(--ink-soft) !important;
}

.home .cookie-banner-content a {
    color: var(--ink);
    font-weight: 600;
}

.home .cta-section h2,
.home .cta-section p,
.home .cta-note {
    color: var(--ink) !important;
}

.home .ob-cta,
.home .cp-cta,
.home .dd-cta,
.home .final-cta,
.home .about-cta,
.home .bb-cta,
.home .code-example {
    background: var(--paper) !important;
    color: var(--ink) !important;
}

.home .ob-cta h2,
.home .cp-cta h2,
.home .dd-cta h2,
.home .final-cta h2,
.home .about-cta h2,
.home .bb-cta h2,
.home .bb-cta p,
.home .cta-content h2,
.home .cta-content p,
.home .cta-stat,
.home .stat-number,
.home .stat-label,
.home .code-example .section-title,
.home .code-example .section-subtitle {
    color: var(--ink) !important;
}

.home .bb-cta .cta-stat,
.home .cta-stat,
.home .cp-cta .cta-stat,
.home .ob-cta .cta-stat {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0;
    color: var(--ink) !important;
}

.home .stat-box,
.home .stat-item,
.home .benefit-stat,
.home .service-stats .stat,
.home .why-stats .stat-box,
.home .impact-item {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    color: var(--ink) !important;
}

.home .stat-number,
.home .stat-box .stat-number,
.home .cta-stat .stat-number,
.home .benefit-stat .stat-number,
.home .service-stats .stat-number,
.home .stat-value,
.home .impact-item .stat-value {
    font-family: var(--mono) !important;
    font-weight: 500 !important;
    letter-spacing: 0;
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    -webkit-text-fill-color: var(--ink) !important;
    color: var(--ink) !important;
}

.home .stat-label,
.home .stat-box .stat-label,
.home .cta-stat .stat-label,
.home .benefit-stat .stat-label {
    color: var(--ink-soft) !important;
    opacity: 1 !important;
    font-weight: 600;
}

/* Open Banking calculator — same paper as eSortcode pricing */
.home .ob-calc {
    gap: 2rem;
    align-items: start;
}

.home .ob-calc-controls {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.home .ob-calc-results {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    padding: 1.35rem 1.4rem !important;
}

.home .ob-calc-intro h3 {
    font-size: clamp(1.25rem, 2.2vw, 1.5rem);
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--ink);
}

.home .ob-calc-intro p {
    color: var(--ink-soft);
    font-weight: 400;
}

.home .ob-slider-block {
    margin: 0;
    padding: 1.15rem 0;
    border-bottom: 1px solid var(--line);
}

.home .ob-slider-label-row label {
    font-weight: 600;
    font-size: 1rem;
    color: var(--ink);
}

.home .ob-slider-readout {
    font-family: var(--mono);
    font-size: 1.05rem;
    font-weight: 500;
    color: var(--ink) !important;
    letter-spacing: 0;
    font-variant-numeric: tabular-nums;
}

.home #obVolumeSlider,
.home #obValueSlider {
    height: 3px;
    border-radius: 0;
    background: var(--line);
}

.home #obVolumeSlider::-webkit-slider-thumb,
.home #obValueSlider::-webkit-slider-thumb {
    width: 14px;
    height: 14px;
    border-radius: 2px;
    background: var(--ink);
    border: 0;
    box-shadow: none;
}

.home #obVolumeSlider::-webkit-slider-thumb:hover,
.home #obValueSlider::-webkit-slider-thumb:hover {
    background: var(--pink);
    transform: none;
}

.home #obVolumeSlider::-moz-range-thumb,
.home #obValueSlider::-moz-range-thumb {
    width: 14px;
    height: 14px;
    border-radius: 2px;
    background: var(--ink);
    border: 0;
    box-shadow: none;
}

.home .ob-slider-ends {
    font-family: var(--mono);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    color: var(--ink-soft);
}

.home .ob-tier-pill {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

.home .ob-tier-pill.is-active {
    border-color: var(--ink) !important;
    background: var(--card) !important;
    box-shadow: inset 3px 0 0 var(--pink) !important;
}

.home .ob-tier-range {
    color: var(--ink-soft);
    font-weight: 600;
    letter-spacing: 0.04em;
}

.home .ob-tier-fee {
    font-family: var(--mono);
    font-weight: 500;
    color: var(--ink) !important;
}

.home .ob-calc-note {
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 1.15rem 0 0;
    color: var(--ink-soft);
}

.home .ob-savings-hero,
.home .ob-savings-hero.is-neutral,
.home .ob-savings-hero.is-positive {
    background: var(--paper) !important;
    color: var(--ink) !important;
    border: 1px solid var(--line);
    border-left: 3px solid var(--pink);
    border-radius: 4px !important;
    box-shadow: none !important;
}

.home .ob-savings-kicker {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ink-soft) !important;
    opacity: 1;
}

.home .ob-savings-amount {
    font-family: var(--mono);
    font-weight: 500;
    font-size: clamp(1.8rem, 3vw, 2.2rem);
    letter-spacing: 0;
    color: var(--ink) !important;
}

.home .ob-savings-meta {
    color: var(--ink-soft);
    font-weight: 500;
}

.home .ob-savings-pct {
    background: none;
    border: 1px solid var(--line);
    border-radius: 4px;
    color: var(--ink);
    padding: 0.2rem 0.5rem;
}

.home .ob-savings-bar {
    background: var(--line);
    border-radius: 0;
    height: 3px;
}

.home .ob-savings-bar-fill {
    background: var(--pink);
    border-radius: 0;
}

.home .ob-compare-card,
.home .ob-compare-card.is-card,
.home .ob-compare-card.is-ob {
    background: var(--paper) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

.home .ob-compare-card.is-ob {
    box-shadow: inset 3px 0 0 var(--pink) !important;
}

.home .ob-compare-label,
.home .ob-compare-card.is-ob .ob-compare-label {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    color: var(--ink-soft) !important;
}

.home .ob-compare-rate {
    color: var(--ink-soft);
    font-weight: 500;
}

.home .ob-compare-total,
.home .ob-compare-card.is-ob .ob-compare-total {
    font-family: var(--mono);
    font-weight: 500;
    color: var(--ink) !important;
}

.home .ob-compare-lines {
    border-top-color: var(--line);
}

.home .ob-compare-lines li {
    color: var(--ink-soft);
}

.home .ob-compare-lines strong {
    font-family: var(--mono);
    font-weight: 500;
    color: var(--ink) !important;
}

.home .ob-compare-vs {
    background: var(--ink);
    color: var(--card);
    border-radius: 4px;
    box-shadow: none;
    width: auto;
    height: auto;
    padding: 0.35rem 0.5rem;
    font-family: var(--mono);
    font-size: 0.7rem;
    letter-spacing: 0.08em;
}

.home .ob-included-mini {
    color: var(--ink-soft);
    font-weight: 500;
    justify-content: flex-start;
}

.home .ob-included-mini i {
    color: var(--pink);
}

/* Omni-payments */
.omni-points,
.omni-method-grid,
.omni-steps {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1rem;
}

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

.omni-steps {
    grid-template-columns: 1fr;
    counter-reset: omni-step;
}

.omni-points li,
.omni-method-grid li,
.omni-steps li {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 4px;
    padding: 1.25rem 1.35rem;
    margin: 0;
}

.omni-points h3,
.omni-method-grid h3,
.omni-steps h3 {
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    margin: 0 0 0.45rem;
}

.omni-points p,
.omni-method-grid p,
.omni-steps p {
    margin: 0;
    color: var(--ink-soft);
    font-size: 0.98rem;
}

.omni-steps li {
    padding-left: 4.25rem;
    position: relative;
    counter-increment: omni-step;
}

.omni-steps li::before {
    content: counter(omni-step, decimal-leading-zero);
    position: absolute;
    left: 1.15rem;
    top: 1.3rem;
    font-family: var(--mono);
    font-size: 0.85rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    color: var(--ink-soft);
}

.omni-table td:nth-child(2),
.omni-table td:nth-child(3) {
    font-weight: 500;
}

.omni-point-rate {
    font-family: var(--mono) !important;
    font-weight: 500 !important;
    color: var(--ink) !important;
    margin: 0.85rem 0 0.45rem !important;
}

.omni-points a {
    font-weight: 600;
    color: var(--ink);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.omni-points a:hover {
    color: var(--pink);
}

.home .comparison-box,
.home .calculator-card,
.home .pricing-calculator,
.home .cp-calc,
.home .dd-calc,
.home .ei-calc {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.home .cp-compare-lede {
    max-width: 40rem;
    color: var(--ink-soft);
    margin: 0 0 1.25rem;
}

.home .cp-save-table td:last-child {
    font-family: var(--mono);
    font-weight: 500;
    color: var(--ink);
}

.home .cp-calc .slider-container,
.home .cp-calc .calculator-header,
.home .cp-calc .pricing-breakdown,
.home .cp-calc .pricing-tiers,
.home .dd-calc .slider-container,
.home .dd-calc .calculator-header,
.home .dd-calc .pricing-breakdown,
.home .dd-calc .pricing-tiers,
.home .ei-calc .pricing-tiers {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    color: var(--ink) !important;
}

.home .cp-calc .calculator-header h3,
.home .dd-calc .calculator-header h3,
.home .dd-calc .calculator-header p {
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--ink) !important;
    opacity: 1;
}

.home .dd-calc .calculator-header p {
    font-weight: 400;
    color: var(--ink-soft) !important;
}

.home .dd-calc .calculator-header {
    padding: 0 0 1.25rem !important;
    text-align: left;
}

.home .cp-calc .slider-value,
.home .cp-calc .breakdown-value,
.home .cp-calc .tier-price,
.home .dd-calc .slider-value,
.home .dd-calc .breakdown-value,
.home .dd-calc .tier-price,
.home .dd-calc .tier-total,
.home .ei-calc .tier-price,
.home .ei-calc .tier-total {
    font-family: var(--mono);
    font-weight: 500;
    color: var(--ink) !important;
}

.home .cp-calc input[type="range"],
.home .dd-calc input[type="range"],
.home .dd-calc #volumeSlider,
.home .dd-calc #sunSlider,
.home #eiVolumeSlider {
    height: 3px;
    border-radius: 0;
    background: var(--line) !important;
}

.home .dd-calc #volumeSlider::-webkit-slider-thumb,
.home .dd-calc #sunSlider::-webkit-slider-thumb,
.home .dd-calc input[type="range"]::-webkit-slider-thumb,
.home #eiVolumeSlider::-webkit-slider-thumb {
    width: 14px;
    height: 14px;
    border-radius: 2px;
    background: var(--ink);
    border: 0;
    box-shadow: none;
}

.home .dd-calc #volumeSlider::-webkit-slider-thumb:hover,
.home .dd-calc #sunSlider::-webkit-slider-thumb:hover,
.home #eiVolumeSlider::-webkit-slider-thumb:hover {
    background: var(--pink);
}

.home .dd-calc #volumeSlider::-moz-range-thumb,
.home .dd-calc #sunSlider::-moz-range-thumb,
.home .dd-calc input[type="range"]::-moz-range-thumb,
.home #eiVolumeSlider::-moz-range-thumb {
    width: 14px;
    height: 14px;
    border-radius: 2px;
    background: var(--ink);
    border: 0;
    box-shadow: none;
}

.home .cp-calc .tier-item,
.home .cp-calc .tier-item.is-active,
.home .dd-calc .tier-item,
.home .dd-calc .tier-item.is-active,
.home .ei-calc .tier-item,
.home .ei-calc .tier-item.is-active {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

.home .cp-calc .tier-item.is-active,
.home .dd-calc .tier-item.is-active,
.home .ei-calc .tier-item.is-active {
    box-shadow: inset 3px 0 0 var(--pink) !important;
}

.home .cp-calc .breakdown-note,
.home .dd-calc .breakdown-note,
.home .dd-calc .pricing-note,
.home .ei-calc .pricing-note {
    background: none !important;
    color: var(--ink-soft) !important;
    border-radius: 0 !important;
    padding: 0.75rem 0 !important;
    text-align: left !important;
    opacity: 1;
}

.home .savings-banner {
    background: var(--card) !important;
    color: var(--ink) !important;
    border: 1px solid var(--line);
    border-left: 3px solid var(--pink);
    border-radius: 4px !important;
    box-shadow: none !important;
    justify-content: flex-start;
    text-align: left;
}

@media (max-width: 900px) {
    .omni-points,
    .omni-method-grid {
        grid-template-columns: 1fr;
    }
}

/* BACS bureau — leftover pink/dark/white from page CSS */
.home .bb-hero,
.home .bb-hero .lead,
.home .bb-hero .hero-points li,
.home .hero-trust-item,
.home .hero-trust-item strong,
.home .hero-trust-item span,
.home .hero-flow-title,
.home .hero-flow-foot,
.home .diagram-step strong,
.home .diagram-step span {
    color: var(--ink) !important;
    opacity: 1;
}

.home .hero-trust-item {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
    backdrop-filter: none;
}

.home .hero-trust-item strong {
    font-family: var(--mono);
    font-weight: 500;
}

.home .bb-hero .btn-primary,
.home .bb-cta .btn-primary {
    background: var(--pink) !important;
    color: #fff !important;
    border-color: var(--pink) !important;
}

.home .bb-hero .btn-secondary,
.home .bb-cta .btn-secondary {
    background: transparent !important;
    color: var(--ink) !important;
    border: 1px solid var(--ink) !important;
}

.home .cm-highlight,
.home .cm-highlight-content,
.home .launch-offer,
.home .launch-offer-card,
.home .bb-pricing-calc,
.home .bb-calc-body,
.home .bb-calc-wrapper,
.home .free-banner,
.home .results-panel,
.home .pricing-explained {
    background: var(--paper) !important;
    color: var(--ink) !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.home .cm-highlight h3,
.home .cm-highlight p,
.home .cm-highlight li,
.home .bb-pricing-calc .section-title,
.home .bb-pricing-calc .section-subtitle,
.home .bb-pricing-calc .section-eyebrow,
.home .bb-pricing-calc .section-eyebrow.light,
.home .section-header.light .section-title,
.home .section-header.light .section-subtitle,
.home .launch-offer h2,
.home .launch-offer h3,
.home .launch-offer p,
.home .free-banner,
.home .free-banner-title,
.home .free-banner p,
.home .pricing-explained h3,
.home .pricing-explained p,
.home .pe-card h4,
.home .pe-card p {
    color: var(--ink) !important;
    -webkit-text-fill-color: var(--ink) !important;
    background: none !important;
    opacity: 1;
}

.home .cm-highlight {
    border: 1px solid var(--line);
    border-left: 3px solid var(--pink);
    border-radius: 4px !important;
}

.home .launch-offer-card,
.home .launch-offer-point,
.home .launch-offer-highlight,
.home .pe-card,
.home .billing-card label,
.home .step-card {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    color: var(--ink) !important;
}

.home .billing-card input:checked + label {
    border-color: var(--ink) !important;
    background: var(--card) !important;
    box-shadow: inset 3px 0 0 var(--pink) !important;
}

.home .bb-pricing-calc .slider-value-display,
.home .bb-pricing-calc .result-value {
    font-family: var(--mono);
    font-weight: 500;
    color: var(--ink) !important;
}

.home .bb-pricing-calc input[type="range"].slider {
    height: 3px;
    border-radius: 0;
    background: var(--line);
}

.home .bb-pricing-calc input[type="range"].slider::-webkit-slider-thumb,
.home .bb-pricing-calc input[type="range"].slider::-moz-range-thumb {
    width: 14px;
    height: 14px;
    border-radius: 2px;
    background: var(--ink);
    border: 0;
    box-shadow: none;
}

.home .free-banner {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-left: 3px solid var(--pink) !important;
    border-radius: 4px !important;
    text-align: left;
    box-shadow: none !important;
}

.home .step-number {
    background: var(--ink) !important;
    color: var(--card) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

.home .comparison-vs {
    background: var(--ink) !important;
    color: var(--card) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

.home .comparison-icon,
.home .diagram-icon,
.home .launch-offer-icon,
.home .step-icon {
    background: var(--pink) !important;
    color: #fff !important;
    border-radius: 4px !important;
    clip-path: none !important;
}

.home .slider-hint.accent,
.home .slider-hint.brand {
    color: var(--ink-soft) !important;
}

.home .bb-cta .cta-content {
    text-align: left;
    margin: 0;
    max-width: 40rem;
}

/* MCP page: kill purple leftovers and paper chatbot */
.home .hero-mcp {
    overflow: visible !important;
    border-bottom: 1px solid var(--line);
}

.home .mcp-hero-text {
    max-width: 40rem;
    min-width: 0;
}

.home .hero-content-mcp,
.home .mcp-hero-visual,
.home .mcp-chat {
    min-width: 0;
}

.home .mcp-chat {
    max-width: 28rem;
    width: 100%;
}

.home .hero-title-mcp {
    max-width: min(22ch, 100%);
}

.home .hero-subtitle-mcp {
    max-width: min(38rem, 100%);
}

.home .mcp-chat-thread {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.7rem;
}

.home .mcp-chat-msg {
    margin: 0;
    padding: 0.7rem 0.8rem 0.75rem;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 4px;
}

.home .mcp-chat-msg.is-agent {
    background: var(--card);
    box-shadow: inset 3px 0 0 var(--pink);
}

.home .mcp-chat-who {
    display: block;
    font-family: var(--mono);
    font-size: 0.68rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ink-soft);
    margin-bottom: 0.35rem;
}

.home .mcp-chat-msg p {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.45;
    color: var(--ink);
}

.home .mcp-chat-prompt {
    margin-top: 0.65rem !important;
    font-weight: 600;
}

.home .mcp-chat .home-slip-rows {
    margin: 0.7rem 0 0;
}

.home .mcp-chat .home-slip-row {
    grid-template-columns: 7.5rem 1fr;
    font-size: 0.88rem;
    padding-bottom: 0.4rem;
    gap: 0.5rem;
}

.home .mcp-chat-composer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.85rem;
    padding: 0.5rem 0.7rem;
    border: 1px solid var(--line);
    border-radius: 4px;
    background: var(--paper);
    font-size: 0.82rem;
    color: var(--ink-soft);
}

.home .mcp-chat-send {
    font-family: var(--mono);
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--card);
    background: var(--ink);
    border-radius: 4px;
    padding: 0.28rem 0.55rem;
}

.home .mcp-chat .home-slip-json,
.home .home-slip pre {
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid var(--line) !important;
    border-radius: 0 !important;
    padding: 0.85rem 0 0;
    margin-top: 0.85rem;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.home .mcp-chat-msg p {
    overflow-wrap: anywhere;
}

.home .mcp-chat .home-slip-top {
    flex-wrap: wrap;
}

.home .mcp-chat-composer span:first-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home .use-case-card,
.home .use-case-header h3,
.home .use-case-scenario,
.home .use-case-result,
.home .use-case-scenario p,
.home .use-case-result p {
    color: var(--ink) !important;
}

.home .use-case-header i {
    color: var(--pink) !important;
}

.home .use-case-scenario,
.home .use-case-result {
    background: var(--paper) !important;
    border: 1px solid var(--line);
    border-radius: 4px;
}

.home .step-arrow {
    color: var(--ink-soft) !important;
}

.home .step-icon i,
.home .info-icon i {
    color: #fff !important;
}

.home .capability-card i,
.home .platform-card i,
.home .faq-item h3 i,
.home .spec-category h3 i {
    color: var(--pink) !important;
}

.home .capability-card ul li::before {
    color: var(--pink);
}

.home .code-container,
.home .code-tabs {
    background: var(--card) !important;
    border-color: var(--line) !important;
    box-shadow: none !important;
    border-radius: 4px;
    color: var(--ink) !important;
}

.home .code-tabs {
    background: var(--paper) !important;
    border-bottom: 1px solid var(--line) !important;
    border-radius: 4px 4px 0 0;
}

.home .code-tab {
    color: var(--ink-soft) !important;
}

.home .code-tab.active {
    color: var(--ink) !important;
    border-bottom-color: var(--pink) !important;
}

.home .code-container pre,
.home .code-container code {
    background: transparent !important;
    border: 0 !important;
    color: var(--ink) !important;
}

.home .spec-category {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-left: 3px solid var(--pink) !important;
    border-radius: 4px !important;
}

.home .spec-category ul li {
    border-bottom-color: var(--line);
    color: var(--ink-soft);
}

.home .spec-category ul li strong {
    color: var(--ink);
}

/* E-invoicing page reuses omni cards; keep the invoice slip readable */
.home .ei-mandate .home-price-table td:first-child,
.home .ei-what .home-price-table td:first-child {
    font-weight: 600;
    white-space: nowrap;
}

@media (max-width: 700px) {
    .home .ei-what .home-price-table td:first-child,
    .home .ei-mandate .home-price-table td:first-child {
        white-space: normal;
    }
}

.home .ei-calc {
    max-width: 48rem;
}

.home .ei-calc-rows {
    margin: 1.25rem 0 1.75rem;
}

.home .ei-calc .pricing-tiers h4 {
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    margin: 0 0 0.85rem;
    color: var(--ink);
}

.home .ei-tier-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0 0 1rem;
}

.home .ei-calc .tier-item {
    padding: 1rem 0.85rem;
    text-align: left;
}

.home .ei-calc .tier-range,
.home .ei-calc .tier-note {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--ink-soft);
}

.home .ei-calc .tier-price {
    font-size: 1.35rem;
    margin: 0.35rem 0 0.15rem;
}

.home .ei-calc .tier-total {
    font-size: 0.95rem;
    color: var(--ink);
}

.home .ei-calc .tier-item:hover {
    transform: none;
}

.home #eiVolumeSlider {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    margin: 0.85rem 0 0.45rem;
}

.home #eiVolumeSlider::-webkit-slider-runnable-track {
    height: 3px;
    background: var(--line);
}

@media (max-width: 800px) {
    .home .ei-tier-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.home .sla-callout {
    background: var(--card);
    border: 1px solid var(--line);
    border-left: 3px solid var(--pink);
    border-radius: 4px;
    padding: 1.15rem 1.35rem;
    max-width: 48rem;
}

.home .sla-callout strong {
    display: block;
    margin: 0 0 0.4rem;
}

.home .sla-callout p {
    margin: 0;
    color: var(--ink-soft);
}

.home .sla-price-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    margin: 0 0 1.5rem;
    align-items: stretch;
}

.home .sla-price-card {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 4px;
    padding: 1.5rem 1.6rem 1.4rem;
}

.home .sla-price-card.is-featured {
    box-shadow: inset 3px 0 0 var(--pink);
}

.home .sla-price-card .plan-label {
    margin: 0 0 0.35rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ink-soft);
}

.home .sla-price-card h3 {
    margin: 0 0 0.35rem;
}

.home .sla-price-card .plan-desc,
.home .sla-price-card .sla-price-period,
.home .sla-price-card .sla-price-save,
.home .sla-price-card .sla-price-was {
    margin: 0 0 0.45rem;
    color: var(--ink-soft);
    font-size: 0.95rem;
}

.home .sla-price-card .sla-price-was {
    text-decoration: line-through;
}

.home .sla-price-amount {
    display: flex;
    align-items: baseline;
    gap: 0.2rem;
    margin: 0.5rem 0 0.15rem;
}

.home .sla-price-amount .currency,
.home .sla-price-amount .value {
    font-family: var(--display);
    font-weight: 600;
    letter-spacing: -0.03em;
    color: var(--ink);
}

.home .sla-price-amount .value {
    font-size: clamp(2rem, 4vw, 2.8rem);
    line-height: 1;
}

.home .sla-price-amount .vat {
    font-size: 0.9rem;
    color: var(--ink-soft);
}

.home .sla-includes {
    list-style: none;
    margin: 1.1rem 0 1.35rem;
    padding: 0;
}

.home .sla-includes li {
    margin: 0;
    padding: 0.45rem 0;
    border-bottom: 1px solid var(--line);
    color: var(--ink-soft);
    font-size: 0.95rem;
}

.home .sla-includes li:last-child {
    border-bottom: 0;
}

@media (max-width: 800px) {
    .home .sla-price-grid {
        grid-template-columns: 1fr;
    }
}
