/* Paper system for the ePostcode homepage.
   Same discipline as eSortcode / ePayment (Inter, IBM Plex Mono, 4px, left kickers)
   on a cool map-margin blue-grey so it sits next to those sites without matching them. */
.home {
    --ink: #14181c;
    --ink-soft: #5a626c;
    --paper: #e8eef2;
    --card: #f6f9fb;
    --line: rgba(20, 24, 28, 0.12);
    --pink: #ec2e5e;
    --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 !important;
    letter-spacing: -0.03em;
    color: var(--ink);
}

.home .navbar {
    /* Beat the white inline background js/main.js paints on scroll / hash landings. */
    background: rgba(232, 238, 242, 0.92) !important;
    backdrop-filter: saturate(1.2) blur(10px);
    -webkit-backdrop-filter: saturate(1.2) blur(10px);
    box-shadow: none !important;
    border-bottom: 1px solid var(--line);
}

.home .navbar.scrolled {
    background: rgba(232, 238, 242, 0.97) !important;
    box-shadow: none !important;
}

.home .navbar .container {
    margin-left: auto;
    margin-right: auto;
}

.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-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);
}

@media (max-width: 968px) {
    .home .hamburger {
        display: flex !important;
    }
}

.skip-link {
    position: absolute;
    left: 16px;
    top: -60px;
    z-index: 10000;
    background: var(--ink);
    color: #fff;
    padding: 0.5rem 0.85rem;
    border-radius: 4px;
}

.skip-link:focus {
    top: 12px;
}

/* Hero */
.home-hero {
    padding: clamp(5.5rem, 10vw, 7.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-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, 24, 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 .partners-section,
.home .partners-header {
    background: transparent;
    border: 0;
    text-align: left;
}

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

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

.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;
}

.home-products,
.home-pricing,
.home-stack,
.home-sister {
    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;
}

.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 .home-price-table thead th,
.home-price-table th {
    background: none !important;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ink-soft) !important;
    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);
}

.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;
}

.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;
    max-width: 46rem;
}

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

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

.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-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;
}

.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);
}

.home .footer {
    background: #14181c;
    color: #f6f9fb;
    border-top: 0;
}

.home .footer-brand-logo {
    height: 40px;
    width: auto;
    filter: none;
    mix-blend-mode: normal;
}

.home .group-logo {
    height: auto !important;
    width: auto !important;
    max-height: 42px;
    max-width: min(240px, 100%);
    object-fit: contain;
    display: block;
    filter: none;
    mix-blend-mode: normal;
}

.home .group-logo-link {
    display: inline-flex;
    align-items: center;
    max-width: min(240px, 100%);
}

.home .footer-certifications .group-logo {
    max-height: 36px;
    height: auto !important;
}

.home .iso-logo,
.home .gcloud-logo,
.home .paf-logo {
    max-height: 72px;
    width: auto;
    opacity: 1;
    filter: none;
    mix-blend-mode: normal;
    background: transparent;
}

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

.home .footer-section p,
.home .footer-section .footer-description,
.home .footer-section ul li a {
    color: rgba(246, 249, 251, 0.72);
    opacity: 1;
}

.home .footer-section ul li a:hover {
    color: #fff;
    transform: none;
}

.home .footer-bottom {
    border-top: 1px solid rgba(246, 249, 251, 0.12);
    color: rgba(246, 249, 251, 0.65);
}

.home .footer-bottom p,
.home .footer-bottom a {
    color: rgba(246, 249, 251, 0.78);
}

.home .footer-bottom a {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.home .footer-bottom a:hover {
    color: #fff;
}

.home .footer .social-link,
.home .footer .social-links a {
    background: rgba(246, 249, 251, 0.1);
    color: #f6f9fb;
    border-radius: 4px;
}

.home .footer .social-link:hover,
.home .footer .social-links a:hover {
    background: var(--pink);
    color: #fff;
    transform: none;
    box-shadow: none;
}

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

.home .newsletter-form input {
    background: var(--card);
    border: 1px solid rgba(246, 249, 251, 0.16);
    color: var(--ink);
    border-radius: 4px;
}

.home .newsletter-form button {
    background: var(--pink);
    border-radius: 4px;
    box-shadow: none;
    clip-path: none;
}

.home .newsletter-form button:hover {
    transform: none;
}

.home .scroll-top {
    background: var(--ink);
    color: #fff;
    border-radius: 4px;
    box-shadow: none;
}

.home .scroll-top:hover {
    transform: none;
    background: var(--pink);
}

.home #cookieConsent {
    background: var(--card) !important;
    color: var(--ink) !important;
    border-top: 1px solid var(--line) !important;
    border-radius: 0 !important;
    box-shadow: 0 -8px 32px rgba(20, 24, 28, 0.08) !important;
    backdrop-filter: none !important;
}

.home .cookie-consent-content {
    background: transparent;
    color: var(--ink);
    text-align: left !important;
}

.home #cookieConsent h3,
.home .cookie-consent-text h3,
.home .cookie-consent-text p,
.home .cookie-preferences-header h2,
.home .cookie-preferences-header p,
.home .cookie-category-title h3 {
    color: var(--ink) !important;
    opacity: 1 !important;
}

.home .cookie-consent-text a {
    color: var(--pink) !important;
    white-space: nowrap;
}

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

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

.home .cookie-btn-accept:hover {
    background: #c2185b !important;
    color: #fff !important;
    transform: none !important;
    box-shadow: none !important;
}

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

.home .cookie-btn-decline:hover,
.home .cookie-btn-settings:hover {
    background: var(--ink) !important;
    color: var(--card) !important;
    transform: none !important;
}

.home .cookie-preferences-modal {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
    box-shadow: 0 18px 40px rgba(20, 24, 28, 0.12) !important;
    transform: none !important;
}

.home .cookie-preferences-header {
    background: var(--paper) !important;
    color: var(--ink) !important;
    border-radius: 4px 4px 0 0 !important;
    border-bottom: 1px solid var(--line);
}

.home .cookie-preferences-close {
    background: var(--card) !important;
    color: var(--ink) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
}

.home .cookie-preferences-close:hover {
    background: var(--paper) !important;
    transform: none !important;
}

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

.home .cookie-category-description {
    color: var(--ink-soft) !important;
}

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

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

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

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

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

@media (max-width: 640px) {
    .home-hero h1 {
        max-width: none;
    }

    .home .mcp-hero a.btn,
    .home .mcp-hero a[class*="btn"] {
        width: 100%;
    }
}

/* ---------- Inner pages sharing the paper system ---------- */
.home.brand-page,
.home main,
.home .main-content {
    background: var(--paper) !important;
    color: var(--ink);
}

.home [class*="-hero"],
.home .hero,
.home .hero-section,
.home .page-hero {
    background: var(--paper) !important;
    color: var(--ink) !important;
    text-align: left;
    position: relative;
    box-shadow: none !important;
}

/* Padding only on the section, not nested product-hero-content / panel / card
   (those class names also match [class*="-hero"] and were stacking 8rem). */
.home .hero,
.home .hero-section,
.home .page-hero,
.home .dd-hero,
.home .ob-hero,
.home .contact-hero,
.home .about-hero,
.home .faq-hero,
.home .mcp-hero,
.home .demo-hero,
.home .dev-hero,
.home .developers-hero,
.home .enterprise-hero,
.home .reseller-hero,
.home .resellers-hero,
.home .blog-hero,
.home .signup-hero,
.home .ty-hero,
.home .thank-you-hero,
.home .soap-docs-hero,
.home .getaddress-hero,
.home .article-hero,
.home .pc-hero {
    padding: clamp(6.75rem, 10.5vw, 8rem) 0 2.75rem !important;
    min-height: 0 !important;
    overflow: visible;
    display: block !important;
    align-items: flex-start;
}

.home .dd-hero-banner,
.home .ob-hero-banner,
.home .lifestyle-banner-img,
.home .hero-overlay,
.home .contact-hero-overlay,
.home .blog-hero-banner,
.home .enterprise-hero-banner,
.home .hero-banner {
    display: none !important;
}

.home [class*="-hero"]::before,
.home [class*="-hero"]::after,
.home .hero::before,
.home .hero::after,
.home .dd-hero-banner::before,
.home .blog-hero.has-photo::before,
.home .enterprise-hero.has-photo::before,
.home .faq-hero::before,
.home .mcp-hero::before,
.home .signup-hero::before,
.home .ty-hero::before,
.home .thank-you-hero::before,
.home .soap-docs-hero::before {
    content: none !important;
    display: none !important;
    background: none !important;
    animation: none !important;
}

.home [class*="-hero"] h1,
.home [class*="-hero"] .hero-title,
.home [class*="-hero"] .lead,
.home [class*="-hero"] p,
.home .hero h1,
.home .hero p,
.home .gradient-text,
.home .highlight,
.home .product-hero .highlight,
.home .dd-hero .highlight,
.home .signup-hero .highlight,
.home .contact-hero .highlight,
.home .about-hero .highlight {
    color: var(--ink) !important;
    text-shadow: none !important;
    background: none !important;
    -webkit-text-fill-color: var(--ink) !important;
    background-clip: unset !important;
    -webkit-background-clip: unset !important;
}

.home [class*="-hero"] h1,
.home .hero h1,
.home .hero-title,
.home .product-hero h1,
.home .dd-hero h1,
.home .signup-hero h1,
.home .ty-hero h1,
.home .soap-docs-hero h1 {
    font-size: clamp(2rem, 4vw, 2.8rem) !important;
    font-weight: 600 !important;
    letter-spacing: -0.03em;
    line-height: 1.12 !important;
    max-width: 22ch;
    margin: 0 0 1rem !important;
}

.home [class*="-hero"] .lead,
.home [class*="-hero"] p,
.home .signup-hero p,
.home .faq-hero p,
.home .demo-hero p,
.home .enterprise-hero p {
    max-width: 38rem;
    color: var(--ink-soft) !important;
    -webkit-text-fill-color: var(--ink-soft) !important;
    font-size: 1.08rem !important;
    line-height: 1.55 !important;
    font-weight: 400;
    opacity: 1 !important;
}

.home h1 .highlight,
.home [class*="-hero"] .highlight {
    color: var(--pink) !important;
    -webkit-text-fill-color: var(--pink) !important;
}

.home .badge,
.home .badge-new,
.home .section-eyebrow,
.home .section-badge,
.home .product-section-badge,
.home .partners-badge,
.home .signup-hero-badge,
.home .soap-docs-hero-badge,
.home .hero-badge,
.home .dd-hero .badge,
.home .product-hero .badge,
.home .pc-page .section-badge,
.home .contact-form-card .form-header .section-badge {
    display: block;
    width: fit-content;
    background: none !important;
    color: var(--ink-soft) !important;
    -webkit-text-fill-color: var(--ink-soft) !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 0.75rem;
    box-shadow: none !important;
    backdrop-filter: none;
}

.home .badge i,
.home .section-badge i,
.home .product-section-badge i,
.home .signup-hero-badge i,
.home .soap-docs-hero-badge i,
.home .hero-badge i,
.home .product-hero .badge i {
    color: var(--ink-soft) !important;
    -webkit-text-fill-color: var(--ink-soft) !important;
}

.home .hexagon-stack,
.home .hex-icon,
.home .bank-icons,
.home .dd-hero-visual:not(.product-hero-panel),
.home .card-stack,
.home .validation-animation {
    display: none !important;
}

.home .dd-hero-content,
.home .ob-hero-content,
.home .hero-content,
.home .about-hero-content,
.home .contact-hero-content,
.home .blog-hero-content {
    display: block;
    max-width: 44rem;
    text-align: left;
    margin: 0;
    padding: 0 !important;
}

.home .product-hero-content.dd-hero-content,
.home .product-hero-content.ob-hero-content {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    gap: clamp(2.5rem, 5vw, 5.5rem);
    align-items: start;
    max-width: none;
    text-align: left;
    margin-left: 0;
    margin-right: 0;
    padding: 0 !important;
}

.home .contact-page .contact-hero .product-hero-content,
.home .about-page .about-hero .product-hero-content {
    grid-template-columns: 1fr;
    max-width: 46rem;
}

.home .product-hero-panel {
    display: block;
    width: 100%;
    justify-content: stretch;
    align-items: stretch;
}

.home .product-hero-card {
    width: 100%;
    max-width: none !important;
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-left: 3px solid var(--pink) !important;
    border-radius: 4px !important;
    padding: 1.5rem 1.6rem 1.35rem;
    backdrop-filter: none;
    box-shadow: 0 18px 40px rgba(20, 24, 28, 0.06) !important;
    color: var(--ink) !important;
}

.home .product-hero-card .phc-label {
    font-family: var(--mono);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ink-soft) !important;
    opacity: 1;
    margin-bottom: 1rem;
}

.home .product-hero-card .phc-row {
    background: transparent;
    border-radius: 0;
    border-bottom: 1px solid var(--line);
    padding: 0.7rem 0;
    margin: 0;
    gap: 0.85rem;
}

.home .product-hero-card .phc-row:last-of-type {
    border-bottom: 0;
}

.home .product-hero-card .phc-icon,
.home .product-hero-card .phc-row > i {
    width: 36px;
    height: 36px;
    border-radius: 4px !important;
    background: var(--pink) !important;
    color: #fff !important;
}

.home .product-hero-card .phc-icon i,
.home .product-hero-card .phc-row > i::before {
    color: #fff !important;
}

.home .product-hero-card .phc-row strong {
    color: var(--ink) !important;
    font-weight: 600;
}

.home .product-hero-card .phc-row span {
    color: var(--ink-soft) !important;
    opacity: 1;
}

.home .product-hero-card .phc-foot {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--line);
    text-align: left;
    font-family: var(--mono);
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    color: var(--ink-soft) !important;
    opacity: 1;
}

.home .hero-features,
.home .hero-points,
.home .hero-trust,
.home .hero-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    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;
    max-width: none;
}

.home .hero-feature-item,
.home .hero-badge {
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    backdrop-filter: none;
    color: var(--ink-soft) !important;
    -webkit-text-fill-color: var(--ink-soft) !important;
}

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

.home .hero-buttons,
.home .hero-actions,
.home .soap-docs-hero-actions,
.home .ty-hero-actions {
    justify-content: flex-start;
}

.home .product-hero .hero-buttons .btn,
.home [class*="-hero"] .btn,
.home .hero-buttons .btn {
    border-radius: 4px !important;
    font-weight: 600;
    box-shadow: none !important;
    transform: none !important;
    min-height: 48px;
}

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

.home .product-hero .hero-buttons .btn-primary:hover,
.home [class*="-hero"] .btn-primary:hover {
    background: #c2185b !important;
    border-color: #c2185b !important;
    transform: none !important;
}

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

.home .product-hero .hero-buttons .btn-secondary:hover,
.home [class*="-hero"] .btn-secondary:hover {
    background: var(--ink) !important;
    color: var(--card) !important;
    transform: none !important;
}

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

.home .section-title,
.home h2.section-title,
.home .contact .section-title,
.home .cta .section-title,
.home .dd-cta .section-title,
.home .ob-cta .section-title,
.home .final-cta .section-title,
.home .cta-section .section-title,
.home .enterprise-sla-section h2,
.home .enterprise-sla-section__title {
    font-size: clamp(1.75rem, 3vw, 2.3rem);
    font-weight: 600 !important;
    letter-spacing: -0.03em;
    color: var(--ink) !important;
    -webkit-text-fill-color: var(--ink) !important;
    text-align: left;
    background: none !important;
}

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

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

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

.home [class*="-card"],
.home .service-card,
.home .feature-item,
.home .feature-card,
.home .solution-card,
.home .pricing-card,
.home .info-box,
.home .info-card,
.home .contact-info-box,
.home .contact-info-card,
.home .contact-form-card,
.home .workflow-card,
.home .faq-item,
.home .faq-category-card,
.home .demo-card,
.home .doc-card,
.home .resource-card,
.home .core-service-card,
.home .step-card,
.home .technical-card,
.home .technical-item,
.home .signup-reasons,
.home .signup-form-card,
.home .panel-card,
.home .form-card,
.home .article-card,
.home .blog-card,
.home .pc-card,
.home .sla-billing-callout,
.home .calculator-wrapper,
.home .pricing-calculator,
.home .epc-calc {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    color: var(--ink);
}

.home [class*="-card"]:hover,
.home .feature-card:hover,
.home .service-card:hover,
.home .faq-category-card:hover,
.home .demo-card:hover,
.home .contact-info-card:hover,
.home .technical-card:hover,
.home .article-card:hover {
    transform: none !important;
    box-shadow: none !important;
}

.home .feature-card-icon,
.home .feature-icon,
.home .core-service-icon,
.home .service-icon,
.home .solution-icon,
.home .info-icon-badge,
.home .technical-icon,
.home .tech-icon,
.home .step-number,
.home .hexagon-icon,
.home .contact-info-card .icon,
.home .info-icon,
.home .hex,
.home .ty-success-badge {
    clip-path: none !important;
    border-radius: 4px !important;
    background: var(--pink) !important;
    color: #fff !important;
    box-shadow: none !important;
    animation: none !important;
}

.home .cta,
.home .dd-cta,
.home .ob-cta,
.home .final-cta,
.home .cta-section:not(.signup-form-card),
.home .cta-modern,
.home [class*="cta-band"],
.home .next-step,
.home .cm-highlight,
.home .impact-strip {
    background: var(--paper) !important;
    color: var(--ink) !important;
    box-shadow: none !important;
    border-radius: 0;
    text-align: left;
}

.home .cta h2,
.home .cta p,
.home .dd-cta h2,
.home .dd-cta p,
.home .ob-cta h2,
.home .final-cta h2,
.home .cta-section h2,
.home .cta-section p,
.home .cta-modern h2,
.home .cta-modern p {
    color: var(--ink) !important;
    -webkit-text-fill-color: var(--ink) !important;
    text-align: left;
}

.home .cta-section .btn-white,
.home .btn-white {
    background: var(--pink) !important;
    color: #fff !important;
    border: 1px solid var(--pink) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

.home .cta-section .btn-white:hover,
.home .btn-white:hover {
    background: #c2185b !important;
    transform: none !important;
}

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

.home .cta-section .btn-outline: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 input:focus,
.home select:focus,
.home textarea:focus {
    border-color: var(--pink) !important;
    box-shadow: 0 0 0 3px rgba(236, 46, 94, 0.12) !important;
}

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

.home table thead th,
.home .comparison-table thead th,
.home .pc-table thead th,
.home th {
    background: none !important;
    color: var(--ink-soft) !important;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--ink) !important;
}

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

.home pre,
.home .code-block,
.home .api-code,
.home .soap-code,
.home .soap-code pre,
.home .code-section pre,
.home .code-window,
.home .code-window pre,
.home .endpoint-url {
    background: #161b22 !important;
    color: #e6edf3 !important;
    border: 1px solid rgba(246, 249, 251, 0.1) !important;
    border-radius: 4px !important;
    font-family: var(--mono);
    box-shadow: none !important;
}

.home pre code,
.home .code-block code,
.home .soap-code pre code,
.home .code-section pre code {
    background: transparent !important;
    color: inherit;
    border: 0 !important;
    padding: 0;
}

.home :not(pre):not(.code-block) > code {
    background: var(--paper) !important;
    color: var(--ink) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px;
    padding: 0.12rem 0.4rem;
    font-family: var(--mono);
}

.home .code-header,
.home .soap-code-header {
    background: #10141a !important;
    color: #f6f9fb !important;
    border-radius: 4px 4px 0 0 !important;
}

.home .code-section pre {
    border-radius: 0 0 4px 4px !important;
}

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

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

.home .epc-calc .calculator-header,
.home .pricing-calculator .calculator-header {
    background: none !important;
    color: var(--ink) !important;
    text-align: left;
    border-bottom: 1px solid var(--line);
}

.home .epc-calc .calculator-header h3 {
    font-weight: 600;
    color: var(--ink) !important;
}

.home .signup-hero,
.home .ty-hero,
.home .thank-you-hero,
.home .soap-docs-hero,
.home .faq-hero,
.home .demo-hero,
.home .reseller-hero {
    text-align: left;
}

.home .signup-hero p,
.home .ty-hero p {
    margin-left: 0;
    margin-right: auto;
    text-align: left;
}

.home .ty-success-badge {
    margin-left: 0;
    width: 56px;
    height: 56px;
}

.home .faq-search input {
    background: var(--card) !important;
}

.home .breadcrumb,
.home .breadcrumb a {
    color: var(--ink-soft) !important;
}

.home .breadcrumb a:hover {
    color: var(--pink) !important;
}

.home .stat-number,
.home .hero .stat-number,
.home .hero-stats .stat-number,
.home .cta-stat .stat-number,
.home .cta-stats .stat strong,
.home .stats-grid .stat-number,
.home .stat-value,
.home .stat-card .stat-number {
    color: var(--ink) !important;
    -webkit-text-fill-color: var(--ink) !important;
    background: none !important;
    text-shadow: none !important;
    opacity: 1;
}

.home .stat-label,
.home .hero .stat-label,
.home .hero-stats .stat-label,
.home .cta-stat .stat-label,
.home .cta-stats .stat span,
.home .stats-grid .stat-label {
    color: var(--ink-soft) !important;
    -webkit-text-fill-color: var(--ink-soft) !important;
    opacity: 1;
    text-shadow: none !important;
}

.home .cta-stats .stat i,
.home .cta-stat .stat-icon,
.home .cta-stat .stat-icon i {
    color: #fff !important;
    background: var(--pink) !important;
    border: 0 !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    transform: none !important;
    width: 56px !important;
    height: 56px !important;
    font-size: 1.35rem !important;
    margin-bottom: 0.85rem !important;
}

.home .cta-stats .stat:hover i,
.home .cta-stat:hover .stat-icon {
    transform: none !important;
    background: var(--pink) !important;
}

.home .content-section a,
.home .info-box a,
.home .article-content a,
.home .faq-answer a {
    color: var(--pink);
}

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

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

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

/* Keep the product slip as a paper stub after the generic card flatten */
.home .product-hero-card {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-left: 3px solid var(--pink) !important;
    border-radius: 4px !important;
    box-shadow: 0 18px 40px rgba(20, 24, 28, 0.06) !important;
    overflow: visible;
    padding: 1.35rem 1.5rem 1.2rem 1.6rem !important;
    width: 100%;
    max-width: none !important;
}

.home .faq-hero h1,
.home .faq-hero p,
.home .demo-hero h1,
.home .demo-hero p,
.home .mcp-hero h1,
.home .mcp-hero p,
.home .reseller-hero h1,
.home .reseller-hero p,
.home .getaddress-hero h1,
.home .getaddress-hero p,
.home .getaddress-hero .lead {
    text-align: left !important;
}

.home .mcp-hero .lead,
.home .faq-hero p,
.home .demo-hero p,
.home .getaddress-hero .lead,
.home .reseller-hero .lead,
.home .reseller-hero p {
    margin-left: 0 !important;
    margin-right: auto !important;
    max-width: 38rem;
}

.home .reseller-hero h1 {
    max-width: min(18ch, 100%) !important;
    white-space: normal !important;
    overflow-wrap: break-word;
}

.home .reseller-hero .lead,
.home .reseller-hero p {
    white-space: normal !important;
    overflow-wrap: break-word;
}

.home .faq-search {
    margin-left: 0;
    max-width: 36rem;
}

.home .mcp-badge {
    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;
}

.home .signup-perks {
    justify-content: flex-start;
}

.home .signup-perks span {
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    color: var(--ink-soft) !important;
    font-weight: 600;
}

.home .reason-icon {
    border-radius: 4px !important;
    box-shadow: none !important;
}

.home .faq-category-card i {
    border-radius: 4px !important;
}

.home [style*="linear-gradient(135deg, #EC2E5E"],
.home [style*="linear-gradient(135deg,#EC2E5E"],
.home [style*="linear-gradient(145deg, #EC2E5E"],
.home [style*="linear-gradient(145deg,#EC2E5E"] {
    background: var(--card) !important;
    color: var(--ink) !important;
    border: 1px solid var(--line) !important;
    border-left: 3px solid var(--pink) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    text-align: left !important;
}

.home [style*="linear-gradient(135deg, #EC2E5E"] h2,
.home [style*="linear-gradient(135deg, #EC2E5E"] h3,
.home [style*="linear-gradient(135deg, #EC2E5E"] p,
.home [style*="linear-gradient(135deg,#EC2E5E"] h2,
.home [style*="linear-gradient(135deg,#EC2E5E"] h3,
.home [style*="linear-gradient(135deg,#EC2E5E"] p {
    color: var(--ink) !important;
}

.home [style*="linear-gradient(135deg, #EC2E5E"] a,
.home [style*="linear-gradient(135deg,#EC2E5E"] a {
    background: var(--pink) !important;
    color: #fff !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

.home button,
.home input[type="submit"],
.home input[type="button"] {
    border-radius: 4px !important;
    box-shadow: none !important;
}

/* ---------- Consistency layer: leftover page chrome ---------- */
.home,
.home.soap-docs {
    --soap-radius: 4px;
}

.home .dd-hero-content,
.home .dd-hero-text,
.home .blog-hero-content,
.home .gc-intro,
.home .cta-content,
.home .policy-content,
.home .policy-header,
.home .legal-content {
    text-align: left !important;
}

.home .dd-hero-text {
    max-width: 44rem;
}

.home .cta-buttons,
.home .gc-page .dd-hero .cta-buttons,
.home .hero-buttons,
.home [style*="justify-content: center"] {
    justify-content: flex-start !important;
}

.home h2[style*="text-align: center"],
.home h1[style*="text-align: center"],
.home p[style*="text-align: center"],
.home div[style*="text-align: center"],
.home .hero [style*="text-align: center"] {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
}

.home .gc-logo-hero {
    display: none;
}

.home .blog-tag,
.home .blog-card-tags span {
    border-radius: 4px !important;
    background: var(--paper) !important;
    color: var(--ink-soft) !important;
    border: 1px solid var(--line) !important;
    box-shadow: none !important;
}

.home .highlight-box,
.home .highlight-box h3,
.home .highlight-box p {
    background: var(--card) !important;
    color: var(--ink) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

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

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

.home .endpoint-box h2,
.home .endpoint-box p,
.home .endpoint-box h2[style],
.home .endpoint-box p[style] {
    color: var(--ink) !important;
    -webkit-text-fill-color: var(--ink) !important;
    text-align: left !important;
    background: none !important;
}

.home .endpoint-url {
    background: #161b22 !important;
    color: #e6edf3 !important;
    font-family: var(--mono) !important;
    border-radius: 4px !important;
    border: 1px solid rgba(246, 249, 251, 0.1) !important;
    display: block;
    width: 100%;
    box-sizing: border-box;
    overflow-wrap: anywhere;
    word-break: break-word;
    font-size: clamp(0.95rem, 2.4vw, 1.25rem) !important;
    padding: 0.85rem 1rem !important;
}

.home .mcp-hero a.btn,
.home .mcp-hero a[class*="btn"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 0 !important;
}

.home .feature-card,
.home .feature-grid .feature-card {
    text-align: left !important;
}

.home .feature-grid .feature-icon {
    font-size: 1.1rem !important;
    width: 40px;
    height: 40px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}

.home .getaddress-hero .text-center,
.home .ga-page .text-center {
    text-align: left !important;
}

.home .alert-banner {
    background: var(--ink) !important;
    color: #f6f9fb !important;
    text-align: left;
    padding: 0.85rem 0;
}

.home .alert-banner .container {
    display: block;
    text-align: left;
}

.home .demo-container {
    max-width: var(--container-max);
    width: 100%;
    margin: 0 auto !important;
    padding: 0 var(--page-gutter);
}

.home .code-block {
    border-radius: 4px !important;
    box-shadow: none !important;
    background: #161b22 !important;
    color: #e6edf3 !important;
}

.home .demo-restart-btn {
    border-radius: 4px !important;
    transform: none !important;
}

.home .dev-guide-sidebar,
.home .dev-guide-main,
.home .soap-docs-nav,
.home .soap-toc,
.home .integration-card,
.home .value-card,
.home .guarantee-card,
.home .av-guarantee-card {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    color: var(--ink);
}

.home .dev-guide-sidebar ul li a,
.home .soap-docs-nav a {
    border-radius: 4px !important;
}

.home .dev-guide-sidebar ul li a.active {
    background: var(--paper) !important;
    color: var(--ink) !important;
}

.home .blog-card [class*="blog-card-"] {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.home .blog-card {
    overflow: hidden;
    padding: 0 !important;
}

.home .blog-card-content {
    padding: 1.15rem 1.25rem 1.35rem !important;
}

.home .blog-card-image {
    background: var(--paper) !important;
}

.home .pc-stats {
    background: var(--paper) !important;
    color: var(--ink) !important;
}

.home .pc-stat .value,
.home .pc-stat .label {
    color: var(--ink) !important;
    -webkit-text-fill-color: var(--ink) !important;
}

.home .pc-stat .label {
    color: var(--ink-soft) !important;
    -webkit-text-fill-color: var(--ink-soft) !important;
}

.home .pc-stats-grid {
    text-align: left;
}

.home [style*="border-radius: 50px"],
.home [style*="border-radius:50px"],
.home [style*="border-radius: 12px"],
.home [style*="border-radius: 16px"],
.home [style*="border-radius: 18px"],
.home [style*="border-radius: 20px"] {
    border-radius: 4px !important;
}

.home .hero [style*="border-radius: 50px"],
.home .hero [style*="border-radius:50px"] {
    background: none !important;
    border: 0 !important;
    color: var(--ink-soft) !important;
    -webkit-text-fill-color: var(--ink-soft) !important;
    padding: 0 !important;
    margin-bottom: 0.75rem !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.12em;
    width: fit-content;
}

.home a[style*="background: rgba(255,255,255,0.2)"],
.home a[style*="color: white"] {
    background: transparent !important;
    color: var(--ink) !important;
    border: 1px solid var(--ink) !important;
    border-radius: 4px !important;
}

.home .footer a[style*="color: white"] {
    color: inherit;
}

.home .signup-form-card,
.home .signup-form,
.home .form-header {
    text-align: left;
}

.home .clip-path,
.home [style*="clip-path"],
.home .hexagon,
.home .hexagon-icon,
.home i[style*="clip-path"] {
    clip-path: none !important;
    border-radius: 4px !important;
    background: var(--pink) !important;
    background-image: none !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px;
    min-height: 40px;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    flex-shrink: 0;
}

.home [style*="clip-path"] i,
.home [style*="clip-path"] i[style] {
    color: #fff !important;
    font-size: 1rem !important;
    line-height: 1 !important;
}

.home [style*="background: rgba(255,255,255,0.2)"][style*="border-radius: 50%"] {
    width: 40px !important;
    height: 40px !important;
    border-radius: 4px !important;
    background: var(--pink) !important;
    color: #fff !important;
}

.home [style*="background: rgba(255,255,255,0.2)"][style*="border-radius: 50%"] i {
    color: #fff !important;
    font-size: 1rem !important;
}

.home [style*="color: #EC2E5E; font-size: 1.5rem"] {
    width: 40px;
    height: 40px;
    background: var(--pink);
    color: #fff !important;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem !important;
}

.home [style*="color: #EC2E5E; font-size: 1.5rem"] i {
    color: #fff !important;
    font-size: 1rem !important;
}

.home [style*="border-top: 4px solid"] {
    border-top-color: var(--pink) !important;
}

.home .step-circle,
.home .number-circle,
.home [class*="step-num"] {
    border-radius: 4px !important;
}

.home .av-guarantee-card-icon,
.home .av-credit-card-icon,
.home .av-credits-banner-icon,
.home .value-card-icon,
.home .guarantee-badge {
    clip-path: none !important;
    border-radius: 4px !important;
    background: var(--pink) !important;
    color: #fff !important;
}

.home .av-credit-card-head {
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    gap: 0.75rem;
}

.home .av-credit-card-icon,
.home .av-credits-banner-icon {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    flex: 0 0 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    box-shadow: none !important;
}

.home .av-credit-card-icon i,
.home .av-credits-banner-icon i {
    color: #fff !important;
    background: none !important;
    font-size: 1rem !important;
    line-height: 1 !important;
}

.home .av-credit-card h4 {
    margin: 0 !important;
    color: var(--ink) !important;
    text-align: left;
    font-weight: 600 !important;
}

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

.home .av-credits-banner h3 {
    color: var(--ink) !important;
    -webkit-text-fill-color: var(--ink) !important;
}

.home .av-credits-banner p {
    color: var(--ink-soft) !important;
    -webkit-text-fill-color: var(--ink-soft) !important;
}

.home .av-credits-banner strong {
    color: var(--ink) !important;
    -webkit-text-fill-color: var(--ink) !important;
}

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

.home .av-credits-note h4 {
    color: var(--ink) !important;
    text-align: left;
}

.home .av-credits-note i {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--pink);
    color: #fff !important;
    border-radius: 4px;
    font-size: 1rem !important;
    margin-top: 0 !important;
}

.home .soap-callout,
.home .soap-note,
.home .legacy-note,
.home [class*="warning"],
.home .alert {
    background: var(--card) !important;
    color: var(--ink) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
}

.home main h1,
.home main h2,
.home main h3 {
    font-weight: 600 !important;
}

.home .gc-page .dd-hero .btn-secondary {
    color: var(--ink) !important;
    border-color: var(--ink) !important;
    background: transparent !important;
}

/* ---------- FAQ ---------- */
.home .faq-search {
    margin-left: 0;
    max-width: 36rem;
    margin-top: 1.5rem;
}

.home .faq-search input {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    padding: 0.85rem 2.75rem 0.85rem 1rem;
    font-family: var(--display);
    color: var(--ink);
}

.home .faq-search i {
    color: var(--ink-soft);
}

.home .faq-categories {
    margin: 0;
    gap: 1rem;
}

.home .faq-category-card {
    text-align: left !important;
    padding: 1.25rem 1.35rem !important;
}

.home .faq-category-card i {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    font-size: 1.05rem !important;
    background: var(--pink) !important;
    color: #fff !important;
    border-radius: 4px !important;
    margin-bottom: 0.85rem;
}

.home .faq-category-card h3 {
    color: var(--ink) !important;
    font-weight: 600;
}

.home .faq-category-card p {
    color: var(--ink-soft) !important;
}

.home .faq-section-title {
    font-size: 1.35rem !important;
    font-weight: 600 !important;
    color: var(--ink) !important;
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 1.25rem;
    gap: 0.65rem;
}

.home .faq-section-title i {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    font-size: 0.85rem !important;
    background: var(--pink) !important;
    color: #fff !important;
    border-radius: 4px !important;
}

.home .faq-hero h1 {
    max-width: min(18ch, 100%) !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: break-word;
}

.home .faq-hero p {
    max-width: min(38rem, 100%) !important;
    white-space: normal !important;
    overflow-wrap: break-word;
}

.home .faq-hero + .section {
    padding-top: 0.5rem;
    padding-bottom: 1.75rem;
}

.home #general.section {
    padding-top: 1.5rem;
}

.home .faq-question {
    color: var(--ink) !important;
    font-weight: 600;
    font-size: 1.05rem;
    background: transparent !important;
}

.home .faq-question:hover,
.home .faq-item.active .faq-question,
.home .faq-item.active .faq-question:hover {
    background: transparent !important;
    color: var(--ink) !important;
}

.home .faq-item.active {
    border-left: 3px solid var(--pink) !important;
    overflow: visible !important;
}

.home .faq-answer {
    transition: none !important;
}

.home .faq-item.active .faq-answer {
    max-height: none !important;
    overflow: visible !important;
}

.home .faq-question::after {
    color: var(--pink) !important;
    font-size: 0.85rem;
}

.home .faq-answer-content {
    color: var(--ink-soft) !important;
    border-top: 1px solid var(--line) !important;
}

.home .faq-answer-content strong {
    color: var(--ink) !important;
}

.home .faq-highlight,
.home .faq-answer-content div[style*="border-left"] {
    background: var(--paper) !important;
    border: 1px solid var(--line) !important;
    border-left: 3px solid var(--pink) !important;
    border-radius: 4px !important;
    color: var(--ink);
}

.home .faq-cta {
    background: var(--card) !important;
    color: var(--ink) !important;
    border: 1px solid var(--line) !important;
    border-left: 3px solid var(--pink) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    text-align: left !important;
    padding: 1.75rem 1.85rem !important;
    margin: 2.5rem 0 0;
}

.home .faq-cta h2,
.home .faq-cta p {
    color: var(--ink) !important;
    text-align: left !important;
}

.home .faq-cta p {
    color: var(--ink-soft) !important;
    max-width: 36rem;
    overflow-wrap: anywhere;
}

.home .faq-cta-buttons {
    justify-content: flex-start !important;
}

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

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

.home .btn-faq-primary:hover {
    background: #c2185b !important;
    color: #fff !important;
    transform: none !important;
    box-shadow: none !important;
}

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

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

@media (max-width: 768px) {
    .home .faq-hero h1 {
        max-width: 16ch !important;
        font-size: 1.75rem !important;
    }

    .home .faq-hero p {
        max-width: 32ch !important;
    }

    .home .faq-cta,
    .home .faq-cta p {
        max-width: 100% !important;
        min-width: 0;
    }

    .home .hamburger {
        width: 44px;
        height: 44px;
        flex-shrink: 0;
        margin-left: auto;
    }
}

@media (max-width: 640px) {

    .home .faq-cta-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .home .btn-faq {
        width: 100%;
        justify-content: center;
    }
}

/* ---------- Sign up hero ---------- */
.home .signup-hero .container {
    max-width: var(--container-max);
    margin-left: auto;
    margin-right: auto;
}

.home .signup-hero h1 {
    max-width: min(22ch, 100%) !important;
    white-space: normal !important;
    overflow-wrap: break-word;
}

.home .signup-hero-badge {
    display: block !important;
    max-width: 100% !important;
    width: 100% !important;
    white-space: normal !important;
    line-height: 1.45;
}

.home .signup-hero-badge span {
    display: inline;
    white-space: normal;
}

.home .signup-hero p {
    max-width: min(38rem, 100%) !important;
    white-space: normal !important;
    overflow-wrap: break-word;
}

@media (max-width: 768px) {
    .home [class*="-hero"] h1,
    .home .hero h1 {
        max-width: 16ch !important;
        font-size: 1.75rem !important;
    }

    .home [class*="-hero"] p,
    .home [class*="-hero"] .lead {
        max-width: 32ch !important;
        white-space: normal !important;
        overflow-wrap: break-word;
    }

    .home .signup-hero-badge {
        max-width: 100% !important;
        letter-spacing: 0.08em;
    }

    .home .hero-badges {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    .home .demo-container [style*="linear-gradient"] h3 {
        font-size: 1.35rem !important;
    }

    .home .demo-container [style*="linear-gradient"] a {
        width: 100%;
        justify-content: center;
    }
}

/* ---------- Live demo ---------- */
.home .demo-hero h1 i {
    color: var(--pink);
    margin-right: 0.4rem;
    font-size: 0.85em;
}

.home .demo-card {
    padding: 1.5rem 1.6rem !important;
}

.home .demo-search-box {
    align-items: stretch;
    margin-bottom: 1.25rem;
}

.home .demo-btn {
    background: var(--pink) !important;
    color: #fff !important;
    border: 1px solid var(--pink) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    transform: none !important;
    flex: 0 0 auto;
}

.home .demo-btn:hover,
.home .demo-btn:focus {
    background: #c2185b !important;
    border-color: #c2185b !important;
    transform: none !important;
    box-shadow: none !important;
}

.home .demo-input {
    border-radius: 4px !important;
    border-width: 1px !important;
}

.home .example-chip {
    background: var(--paper) !important;
    color: var(--ink) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
    transform: none !important;
}

.home .example-chip:hover {
    background: var(--ink) !important;
    color: var(--card) !important;
    transform: none !important;
}

.home .demo-stat {
    background: var(--paper) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
    text-align: left !important;
}

.home .demo-stat-value {
    color: var(--ink) !important;
}

.home .demo-stat-label {
    color: var(--ink-soft) !important;
}

.home .result-item,
.home .result-item-group,
.home .detail-view,
.home .detail-field,
.home .error-message,
.home .info-message {
    border-radius: 4px !important;
    box-shadow: none !important;
    transform: none !important;
}

.home .result-item,
.home .result-item-group {
    background: var(--paper) !important;
    border: 1px solid var(--line) !important;
    border-left: 3px solid var(--pink) !important;
}

.home .result-item:hover,
.home .result-item-group:hover {
    transform: none !important;
    background: var(--card) !important;
    box-shadow: none !important;
}

.home .type-badge {
    border-radius: 4px !important;
}

.home .demo-lookahead,
.home .demo-container > div[style*="linear-gradient"] {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.home .demo-lookahead h3 {
    display: block !important;
    font-size: 1.35rem !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    max-width: 20ch !important;
    white-space: normal !important;
}

.home .demo-container [style*="margin-left: auto"] {
    margin-left: 0 !important;
    margin-right: auto !important;
    text-align: left !important;
    max-width: 38rem !important;
}

.home .demo-container div[style*="border-radius: 50px"] {
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    color: var(--ink-soft) !important;
    -webkit-text-fill-color: var(--ink-soft) !important;
    letter-spacing: 0.12em;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
}

.home .demo-container [style*="linear-gradient"] h3 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    text-align: left !important;
    font-weight: 600 !important;
    font-size: 1.35rem !important;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.home .demo-container [style*="linear-gradient"] p {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: break-word;
}

.home .demo-container [style*="linear-gradient"] a {
    display: inline-flex !important;
    align-items: center;
    transform: none !important;
    white-space: normal !important;
}

.home section[style*="linear-gradient(135deg, #EC2E5E"] {
    background: var(--paper) !important;
    color: var(--ink) !important;
    border: 0 !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: left !important;
}

.home section[style*="linear-gradient(135deg, #EC2E5E"] h2,
.home section[style*="linear-gradient(135deg, #EC2E5E"] p {
    color: var(--ink) !important;
    text-align: left !important;
    margin-left: 0 !important;
    max-width: 38rem;
}

.home section[style*="linear-gradient(135deg, #EC2E5E"] a.btn-primary,
.home section[style*="linear-gradient(135deg, #EC2E5E"] .btn-primary {
    background: var(--pink) !important;
    color: #fff !important;
    border: 1px solid var(--pink) !important;
    border-radius: 4px !important;
}

.home section[style*="linear-gradient(135deg, #EC2E5E"] a.btn-secondary,
.home section[style*="linear-gradient(135deg, #EC2E5E"] .btn-secondary {
    background: transparent !important;
    color: var(--ink) !important;
    border: 1px solid var(--ink) !important;
    border-radius: 4px !important;
}

.home div[style*="font-size: 48px; color: #EC2E5E"] {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    font-size: 1.05rem !important;
    background: var(--pink);
    color: #fff !important;
    border-radius: 4px;
    margin-bottom: 0.85rem !important;
}

.home div[style*="border-radius: 12px; text-align: center"] {
    text-align: left !important;
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

.home [style*="minmax(280px, 1fr)"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem !important;
}

@media (min-width: 1100px) {
    .home [style*="minmax(280px, 1fr)"] {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

.home #detailSeparator {
    border-top: 1px solid var(--line) !important;
}

.home #detailSeparator > div {
    background: var(--paper) !important;
    color: var(--ink-soft) !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em;
}

/* ---------- Price comparison final CTA ---------- */
.home .pc-final-cta {
    background: var(--paper) !important;
    color: var(--ink) !important;
    text-align: left !important;
}

.home .pc-final-cta h2,
.home .pc-final-cta p,
.home .pc-final-cta .fine {
    color: var(--ink) !important;
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
}

.home .pc-final-cta h2 {
    max-width: 18ch;
}

.home .pc-final-cta p {
    color: var(--ink-soft) !important;
    max-width: 38rem;
}

.home .pc-final-cta .fine {
    color: var(--ink-soft) !important;
}

.home .pc-final-cta .cta-buttons {
    justify-content: flex-start !important;
}

.home .pc-final-cta .btn {
    border-radius: 4px !important;
    box-shadow: none !important;
    transform: none !important;
    font-weight: 600 !important;
}

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

.home .pc-final-cta .btn-primary:hover,
.home .pc-final-cta .btn-primary:focus {
    background: #c2185b !important;
    border-color: #c2185b !important;
    color: #fff !important;
    transform: none !important;
}

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

.home .pc-final-cta .btn-secondary:hover,
.home .pc-final-cta .btn-secondary:focus {
    background: var(--ink) !important;
    color: var(--card) !important;
    transform: none !important;
}

@media (max-width: 640px) {
    .home .pc-final-cta h2,
    .home .pc-final-cta p,
    .home .pc-final-cta .fine {
        max-width: 32ch !important;
        white-space: normal !important;
        overflow-wrap: break-word;
    }

    .home .pc-final-cta .cta-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .home .pc-final-cta .btn {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

/* ---------- Data cleansing / product leftovers ---------- */
.home .low-price-guarantee,
.home .av-guarantee {
    background: var(--paper) !important;
    color: var(--ink) !important;
    text-align: left;
}

.home .low-price-guarantee::before {
    content: none !important;
    display: none !important;
}

.home .low-price-guarantee h2,
.home .low-price-guarantee p,
.home .low-price-guarantee .lead,
.home .low-price-guarantee strong,
.home .guarantee-content p,
.home .guarantee-content .lead,
.home .guarantee-content strong,
.home .low-price-guarantee .section-subtitle,
.home .av-guarantee h2,
.home .av-guarantee #guarantee-heading,
.home .av-guarantee .section-subtitle,
.home .av-guarantee-panel p,
.home .av-guarantee-panel strong {
    color: var(--ink) !important;
    -webkit-text-fill-color: var(--ink) !important;
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    text-shadow: none !important;
}

.home .av-guarantee,
.home .av-guarantee #guarantee-heading {
    scroll-margin-top: 7.5rem;
}

.home .av-guarantee h2,
.home .av-guarantee #guarantee-heading {
    max-width: 12ch;
    font-size: clamp(1.75rem, 3.4vw, 2.4rem) !important;
    font-weight: 600 !important;
    letter-spacing: -0.03em;
    line-height: 1.12 !important;
    margin-bottom: 0.75rem !important;
}

.home .guarantee-content p,
.home .low-price-guarantee .section-subtitle,
.home .av-guarantee .section-subtitle {
    color: var(--ink-soft) !important;
    -webkit-text-fill-color: var(--ink-soft) !important;
}

.home .guarantee-content .lead {
    background: var(--card) !important;
    color: var(--ink) !important;
    border-radius: 4px !important;
}

.home .guarantee-badge {
    background: none !important;
    color: var(--ink-soft) !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    letter-spacing: 0.12em;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
}

.home .guarantee-badge i {
    color: var(--pink) !important;
}

.home .highlight-card {
    background: var(--card) !important;
    color: var(--ink) !important;
    text-align: left !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

.home .highlight-card:hover {
    transform: none !important;
    box-shadow: none !important;
}

.home .highlight-card h4,
.home .highlight-card p {
    color: var(--ink) !important;
    text-align: left !important;
}

.home .highlight-card p {
    color: var(--ink-soft) !important;
}

.home .ob-cta,
.home .ob-cta .cta-content,
.home .cta-note {
    color: var(--ink) !important;
    text-align: left !important;
}

.home .ob-cta .cta-content p,
.home .cta-note {
    color: var(--ink-soft) !important;
}

.home .ob-cta .cta-stats,
.home .ob-cta .cta-buttons {
    justify-content: flex-start !important;
}

.home .ob-cta .btn-secondary,
.home .product-hero .hero-buttons .btn-secondary {
    color: var(--ink) !important;
    border-color: var(--ink) !important;
    background: transparent !important;
}

.home .epc-calc .result-card,
.home .epc-calc .result-card.highlighted {
    background: var(--card) !important;
    color: var(--ink) !important;
    border: 1px solid var(--line) !important;
    box-shadow: none !important;
}

.home .epc-calc .result-card.highlighted {
    border-left: 3px solid var(--pink) !important;
}

.home .epc-calc .result-label,
.home .epc-calc .result-note,
.home .epc-calc .result-card.highlighted .result-label,
.home .epc-calc .result-card.highlighted .result-note {
    color: var(--ink-soft) !important;
}

.home .epc-calc .result-value,
.home .epc-calc .result-card.highlighted .result-value {
    color: var(--pink) !important;
}

/* ---------- SOAP docs ---------- */
.home .soap-docs-hero {
    margin-top: 0 !important;
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    padding-bottom: 1.5rem !important;
}

.home .soap-docs-hero .container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.85rem;
}

.home .soap-docs-hero .container > * {
    flex: 0 0 auto;
}

.home .soap-docs-hero h1,
.home .soap-docs-hero .lead,
.home .soap-docs-hero-badge {
    margin-bottom: 0 !important;
}

.home .soap-docs-hero-actions {
    margin: 0.15rem 0 0.25rem !important;
}

.home .soap-docs-hero-actions .btn {
    border-radius: 4px !important;
}

.home .soap-docs-hero-actions .btn-secondary {
    background: transparent !important;
    color: var(--ink) !important;
    border: 1px solid var(--ink) !important;
}

.home .soap-docs-hero-actions .btn-secondary:hover {
    background: var(--ink) !important;
    color: var(--card) !important;
}

.home .soap-chip {
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    color: var(--ink-soft) !important;
    font-weight: 600;
}

.home .soap-chip i {
    color: var(--pink) !important;
}

.home .soap-docs-sidebar,
.home .soap-docs-main {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

.home .soap-docs-sidebar nav a,
.home .soap-docs-sidebar-links a,
.home .soap-copy {
    border-radius: 4px !important;
}

.home .soap-fact,
.home .soap-op,
.home .soap-steps li,
.home .soap-feature-list li {
    border-radius: 4px !important;
    box-shadow: none !important;
}

.home .soap-support {
    background: var(--card) !important;
    color: var(--ink) !important;
    border: 1px solid var(--line) !important;
    border-left: 3px solid var(--pink) !important;
    border-radius: 4px !important;
    text-align: left !important;
}

.home .soap-support h3,
.home .soap-support p {
    color: var(--ink) !important;
    text-align: left !important;
}

.home .soap-support p {
    color: var(--ink-soft) !important;
}

.home .soap-support-actions {
    justify-content: flex-start !important;
}

.home .soap-support-actions a {
    background: transparent !important;
    color: var(--ink) !important;
    border: 1px solid var(--ink) !important;
    border-radius: 4px !important;
}

.home .soap-support-actions a:first-child {
    background: var(--pink) !important;
    color: #fff !important;
    border-color: var(--pink) !important;
}

.home .soap-docs-mobile-toc a {
    border-radius: 4px !important;
}

/* ---------- Privacy / terms ---------- */
.home .legal-content {
    color: var(--ink) !important;
    text-align: left !important;
}

.home .legal-content h2,
.home .legal-content h3 {
    color: var(--ink) !important;
    font-weight: 600 !important;
    text-align: left !important;
}

.home .legal-content a,
.home .legal-content a[style] {
    color: var(--pink) !important;
}

.home section .container[style*="max-width: 900px"] > div {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

.home section .container[style*="max-width: 900px"] h1 {
    color: var(--ink) !important;
    text-align: left !important;
    font-size: clamp(2rem, 4vw, 2.6rem) !important;
    font-weight: 600 !important;
    max-width: 18ch;
    margin: 0 0 0.75rem !important;
}

.home section .container[style*="max-width: 900px"] [style*="text-align: center"] {
    text-align: left !important;
}

.home .legal-content [style*="border-left: 4px solid"] {
    background: var(--paper) !important;
    border-left-color: var(--pink) !important;
    border-radius: 4px !important;
    color: var(--ink) !important;
}

.home .legal-content [style*="background: #f8f9fa"] {
    background: var(--paper) !important;
    border-radius: 4px !important;
}

/* ---------- Paper CTA actions ----------
   Page CSS still styles these for a dark/pink band (white type,
   ghost fills, pills). Beat it so hash-style landings and inner
   footers keep a readable 4px paper pair. */
.home .dd-cta,
.home .ob-cta,
.home .cta-section:not(.signup-form-card),
.home .final-cta,
.home .sla-final-cta,
.home .pc-final-cta,
.home .cta-modern,
.home .developers-page .dd-cta,
.home .enterprise-page .sla-final-cta {
    background: var(--paper) !important;
    color: var(--ink) !important;
    text-align: left !important;
}

.home .dd-cta h2,
.home .dd-cta p,
.home .ob-cta h2,
.home .ob-cta p,
.home .cta-section h2,
.home .cta-section p,
.home .final-cta h2,
.home .final-cta p,
.home .sla-final-cta h2,
.home .sla-final-cta p,
.home .developers-page .dd-cta h2,
.home .developers-page .dd-cta p,
.home .enterprise-page .sla-final-cta h2,
.home .enterprise-page .sla-final-cta p {
    color: var(--ink) !important;
    -webkit-text-fill-color: var(--ink) !important;
    text-align: left !important;
}

.home .sla-final-cta p,
.home .dd-cta p,
.home .ob-cta p,
.home .cta-section p {
    color: var(--ink-soft) !important;
    -webkit-text-fill-color: var(--ink-soft) !important;
}

.home .dd-cta .cta-buttons,
.home .ob-cta .cta-buttons,
.home .cta-section .cta-buttons,
.home .sla-final-cta .cta-buttons,
.home .gc-actions {
    justify-content: flex-start !important;
}

.home .dd-cta .btn,
.home .ob-cta .btn,
.home .cta-section .btn,
.home .cta-section a.btn,
.home .final-cta .btn,
.home .sla-final-cta .btn,
.home .pc-final-cta .btn,
.home .developers-page .dd-cta .btn,
.home .enterprise-page .sla-final-cta .btn,
.home .gc-actions .btn,
.home .cta-section .btn-large {
    border-radius: 4px !important;
    box-shadow: none !important;
    transform: none !important;
    font-weight: 600 !important;
}

.home .dd-cta .btn-primary,
.home .ob-cta .btn-primary,
.home .cta-section .btn-primary,
.home .cta-section .btn-white,
.home .cta-section a.btn[style*="background: white"],
.home .final-cta .btn-primary,
.home .sla-final-cta .btn-primary,
.home .pc-final-cta .btn-primary,
.home .developers-page .dd-cta .btn-primary,
.home .enterprise-page .sla-final-cta .btn-primary,
.home .gc-actions .btn-primary {
    background: var(--pink) !important;
    color: #fff !important;
    border: 1px solid var(--pink) !important;
}

.home .dd-cta .btn-primary:hover,
.home .ob-cta .btn-primary:hover,
.home .cta-section .btn-primary:hover,
.home .sla-final-cta .btn-primary:hover,
.home .developers-page .dd-cta .btn-primary:hover,
.home .enterprise-page .sla-final-cta .btn-primary:hover {
    background: #c2185b !important;
    border-color: #c2185b !important;
    color: #fff !important;
    transform: none !important;
}

.home .dd-cta .btn-secondary,
.home .ob-cta .btn-secondary,
.home .cta-section .btn-secondary,
.home .cta-section a.btn:not(:first-child),
.home .final-cta .btn-secondary,
.home .sla-final-cta .btn-secondary,
.home .pc-final-cta .btn-secondary,
.home .developers-page .dd-cta .btn-secondary,
.home .enterprise-page .sla-final-cta .btn-secondary,
.home .gc-actions .btn-secondary,
.home .btn.btn-secondary {
    background: transparent !important;
    color: var(--ink) !important;
    border: 1px solid var(--ink) !important;
}

.home .dd-cta .btn-secondary:hover,
.home .ob-cta .btn-secondary:hover,
.home .cta-section .btn-secondary:hover,
.home .sla-final-cta .btn-secondary:hover,
.home .developers-page .dd-cta .btn-secondary:hover,
.home .enterprise-page .sla-final-cta .btn-secondary:hover,
.home .btn.btn-secondary:hover {
    background: var(--ink) !important;
    color: var(--card) !important;
    border-color: var(--ink) !important;
    transform: none !important;
}

.home .cta-section .btn-large {
    min-width: 0 !important;
    min-height: 48px;
    padding: 0.85rem 1.25rem !important;
    overflow: visible !important;
}

.home .cta-section .btn-large i {
    padding: 0 !important;
    background: none !important;
    height: auto !important;
    font-size: 1rem !important;
}

.home .cta-section .btn-large span {
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.15rem !important;
    text-align: left !important;
}

.home .dev-section a[style*="background: white"] {
    background: var(--pink) !important;
    color: #fff !important;
    border: 1px solid var(--pink) !important;
    border-radius: 4px !important;
}

.home .dev-section a[style*="background: white"] ~ a[style*="background: white"] {
    background: transparent !important;
    color: var(--ink) !important;
    border: 1px solid var(--ink) !important;
}

/* ---------- Audit: blog photo heroes, G-Cloud, contact aside ---------- */
.home .article-hero,
.home .article-hero.has-photo {
    background: var(--paper) !important;
    color: var(--ink) !important;
    min-height: 0 !important;
    max-width: min(1200px, 100%);
    margin-left: auto;
    margin-right: auto;
    padding-left: clamp(16px, 3vw, 28px) !important;
    padding-right: clamp(16px, 3vw, 28px) !important;
}

.home .article-hero-banner {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    height: auto !important;
    max-height: 22rem;
    overflow: hidden;
    border-radius: 4px;
    margin: 0 0 1.5rem;
}

.home .article-hero-banner img {
    width: 100%;
    height: auto;
    max-height: 22rem;
    object-fit: cover;
    display: block;
}

.home .article-hero .article-title,
.home .article-hero h1,
.home .article-hero.has-photo .article-title,
.home .article-hero.has-photo h1 {
    color: var(--ink) !important;
    -webkit-text-fill-color: var(--ink) !important;
    text-align: left;
    text-shadow: none !important;
}

.home .article-excerpt,
.home .article-meta,
.home .article-meta-item {
    color: var(--ink-soft) !important;
    -webkit-text-fill-color: var(--ink-soft) !important;
}

.home .article-hero > a {
    color: var(--pink) !important;
}

.home .article-tag {
    background: var(--card) !important;
    color: var(--ink) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
}

.home .gc-page .dd-hero-content,
.home .gc-page .dd-hero-text {
    padding: 0 !important;
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    max-width: 44rem;
}

.home .gc-page .dd-hero h1,
.home .gc-page .dd-hero .lead,
.home .gc-page .dd-hero .badge {
    text-align: left !important;
    margin-left: 0 !important;
}

.home .contact-aside-note {
    background: var(--card) !important;
    color: var(--ink) !important;
    border: 1px solid var(--line) !important;
    border-left: 3px solid var(--pink) !important;
    border-radius: 4px !important;
}

.home .contact-aside-note h3 {
    color: var(--ink) !important;
}

.home .contact-aside-note p,
.home .contact-aside-note li {
    color: var(--ink-soft) !important;
}

.home .contact-aside-note li i {
    color: var(--pink) !important;
}

/* ---------- MCP page colours ---------- */
.home .mcp-hero a.btn,
.home .mcp-hero a[class*="btn"] {
    gap: 0.5rem;
}

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

.home .integration-card h3 {
    color: var(--ink) !important;
}

.home .integration-card [style*="width: 60px"] {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    background: var(--pink) !important;
    background-image: none !important;
    border-radius: 4px !important;
    font-size: 1.05rem !important;
    color: #fff !important;
}

.home [style*="background: #e8f5e9"],
.home [style*="background:#e8f5e9"],
.home [style*="background: #fff3cd"],
.home [style*="background:#fff3cd"] {
    background: var(--card) !important;
    color: var(--ink) !important;
    border: 1px solid var(--line) !important;
    border-left: 3px solid var(--pink) !important;
    border-radius: 4px !important;
}

.home i[style*="color: #4caf50"],
.home i[style*="color:#4caf50"],
.home i[style*="color: #ffc107"],
.home i[style*="color:#ffc107"],
.home i[style*="color: #10a37f"],
.home i[style*="color:#10a37f"],
.home i[style*="color: #ff6b6b"],
.home i[style*="color:#ff6b6b"],
.home i[style*="color: #68a063"],
.home i[style*="color:#68a063"],
.home i[style*="color: #3776ab"],
.home i[style*="color:#3776ab"],
.home .integration-card i.fa-info-circle,
.home .integration-card i.fas.fa-info-circle {
    color: var(--pink) !important;
}

.home .chat-send-btn,
.home .demo-restart-btn {
    background: var(--pink) !important;
    color: #fff !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

.home .chat-send-btn:hover:not(:disabled),
.home .demo-restart-btn:hover {
    background: #c2185b !important;
    transform: none !important;
    box-shadow: none !important;
}

.home .chatbot-example,
.home .chat-assistant,
.home .chat-input-container,
.home .address-list {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
}

.home .chat-user {
    background: var(--pink) !important;
    color: #fff !important;
    border-radius: 4px !important;
}

.home .address-number {
    background: var(--pink) !important;
    color: #fff !important;
    border-radius: 4px !important;
}

.home .cta-section h2,
.home .cta-section p {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
}

.home .cta-section a[href^="mailto"] {
    background: none !important;
    border: 0 !important;
    color: var(--pink) !important;
    padding: 0 !important;
    border-radius: 0 !important;
    text-decoration: underline !important;
}

.home #integration a[href^="#"][style*="background: white"] {
    background: var(--card) !important;
    color: var(--ink) !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

.home [style*="font-size: 2rem; color: #EC2E5E"] {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--pink);
    color: #fff !important;
    border-radius: 4px;
    font-size: 1rem !important;
    margin-bottom: 0.85rem !important;
}

.home #integration [style*="linear-gradient(135deg, #EC2E5E"] {
    text-align: left !important;
}

.home #integration [style*="linear-gradient(135deg, #EC2E5E"] h3,
.home #integration [style*="linear-gradient(135deg, #EC2E5E"] p {
    color: var(--ink) !important;
    -webkit-text-fill-color: var(--ink) !important;
    text-align: left !important;
}

.home #integration [style*="linear-gradient(135deg, #EC2E5E"] a[style*="background: white"] {
    background: var(--pink) !important;
    color: #fff !important;
    border: 1px solid var(--pink) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

.home #integration [style*="linear-gradient(135deg, #EC2E5E"] a[href="../developers"] {
    background: transparent !important;
    color: var(--ink) !important;
    border: 1px solid var(--ink) !important;
    border-radius: 4px !important;
}
