/* Shared PayCow design tokens. Load after page-specific legacy styles. */
:root, body.paycow-ui {
    --pc-ink: #14382d;
    --pc-forest: #102f25;
    --pc-paper: #f7f8f2;
    --pc-surface: #ffffff;
    --pc-sage: #e8eedc;
    --pc-lime: #d6f277;
    --pc-muted: #5d6d60;
    --pc-border: #d4ddcc;
    --bg-dark: var(--pc-paper);
    --bg-deep: var(--pc-paper);
    --bg-canvas: var(--pc-paper);
    --bg-panel: var(--pc-surface);
    --bg-surface: var(--pc-surface);
    --bg-glass: var(--pc-surface);
    --bg-glass-hover: #edf1e6;
    --black: var(--pc-ink);
    --white: #ffffff;
    --brand-white: var(--pc-ink);
    --accent-primary: var(--pc-ink);
    --accent-secondary: #31543f;
    --accent-tertiary: #496a48;
    --text-primary: var(--pc-ink);
    --text-secondary: #365447;
    --text-main: #365447;
    --text-main-dark: var(--pc-ink);
    --text-muted: var(--pc-muted);
    --border-glass: var(--pc-border);
    --border-subtle: var(--pc-border);
    --border-highlight: #a5b799;
    --gray-100: #edf1e6;
    --gray-200: var(--pc-border);
    --gray-400: #83917f;
    --gray-600: var(--pc-muted);
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --shadow-glow: 0 5px 18px #14382d08;
    --shadow-glow-strong: 0 12px 32px #14382d12;
    --font-main: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
body.paycow-ui {
    background: var(--pc-paper);
    color: var(--pc-ink);
    font-family: var(--font-main);
    -webkit-font-smoothing: antialiased;
}
.paycow-ui :where(h1,h2,h3,h4,h5,h6) {
    color: var(--pc-ink);
    letter-spacing: -.035em;
}
.paycow-ui :where(button,input,select,textarea) { font-family: inherit; }
.paycow-ui :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
    outline: 3px solid #749342;
    outline-offset: 3px;
}
.paycow-ui ::selection { background: #d6f277; color: #14382d; }
.paycow-ui .theme-eyebrow {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}
/* Public navigation */
.paycow-ui:not(.theme-dashboard) > nav {
    top: 0;
    left: 0;
    transform: none;
    width: 100%;
    max-width: none;
    border: 0;
    border-bottom: 1px solid var(--pc-border);
    border-radius: 0;
    padding: 20px 4%;
    background: rgba(247,248,242,.96);
    box-shadow: none;
}
.paycow-ui > nav .logo { display: block !important; color: var(--pc-ink); font-size: 26px; font-weight: 750; letter-spacing: -1.5px; }
.paycow-ui > nav .nav-links { gap: 22px; }
.paycow-ui > nav .nav-links a { color: var(--pc-ink); font-size: 12px; font-weight: 500; letter-spacing: 0; }
.paycow-ui > nav .btn-primary { padding: 12px 20px; font-size: 12px; }
.paycow-ui .btn-primary, .paycow-ui .btn-submit {
    background: var(--pc-ink);
    color: #fff;
    border-color: var(--pc-ink);
    border-radius: 6px;
    box-shadow: none;
    font-weight: 600;
}
.paycow-ui .btn-primary:hover, .paycow-ui .btn-submit:hover { background: #28513e; color: #fff; box-shadow: none; }
.paycow-ui .btn-secondary, .paycow-ui .btn-outline { border-radius: 6px; box-shadow: none; }
.paycow-ui .mobile-nav-drawer { background: var(--pc-paper); border-color: var(--pc-border); border-radius: 10px; top: 78px; max-height: calc(100dvh - 95px); overflow-y: auto; }
.paycow-ui .mobile-nav-links a { color: var(--pc-ink); }
.paycow-ui .mobile-nav-links a:hover { background: var(--pc-sage); }
.paycow-ui .mobile-nav-toggle::before { content: ''; width: 16px; height: 10px; border-block: 2px solid currentColor; }
.paycow-ui .mobile-nav-toggle i { display: none; }
.paycow-ui .mobile-nav-toggle { color: var(--pc-ink); border-color: var(--pc-border); box-shadow: none; }
/* Dark footer: every text role has an explicit, readable color. */
body.paycow-ui footer {
    background: var(--pc-forest);
    color: #c5d3bf;
    border-top: 0;
    padding: 72px 5% 30px;
}
body.paycow-ui footer .footer-logo { color: #f4f8ea; }
body.paycow-ui footer :is(h3,h4) { color: #f4f8ea; font-weight: 600; font-size: 14px; letter-spacing: 0; }
body.paycow-ui footer :is(p,a,li,.footer-tagline,.footer-bottom,.footer-copyright,.footer-email a,.footer-bottom-links,.footer-trademark-disclaimer) { color: #c5d3bf !important; }
body.paycow-ui footer a:hover { color: var(--pc-lime) !important; }
body.paycow-ui footer .footer-social a { background: #234638; color: #eef5e5 !important; border: 1px solid #56735c; box-shadow: none; }
body.paycow-ui footer :is(.footer-bottom,.footer-trademark-disclaimer) { border-top-color: #56735c !important; }
body.paycow-ui footer .badge-hiring { background: #d6f277; color: #14382d; border-color: #d6f277; }
.paycow-ui .back-to-top-btn { background: #e8eedc; color: #14382d; border: 1px solid #a5b799; box-shadow: none; }
/* Public pages: quieter surfaces, editorial headings, consistent spacing. */
.theme-site:not(.fintech-home) :is(.features-header,.pricing-header,.page-header,.blog-header,.about-header,.legal-header,.connect-header,.careers-header) {
    padding-top: 145px;
    padding-bottom: 48px;
}
.theme-site:not(.fintech-home) :is(.features-header,.pricing-header,.page-header,.blog-header,.about-header,.legal-header,.connect-header,.careers-header) h1 {
    font-size: clamp(38px,5vw,68px);
    line-height: 1.08;
    font-weight: 500;
    letter-spacing: -.055em;
}
.theme-site:not(.fintech-home) :is(.card,.arch-card,.price-card,.blog-card,.contact-card,.registry-card,.step-card,.legal-document) {
    background: #fff;
    border: 1px solid var(--pc-border);
    border-radius: 10px;
    box-shadow: none;
}
.theme-site:not(.fintech-home) :is(.card,.arch-card,.price-card,.blog-card):hover { box-shadow: 0 8px 25px #14382d08; border-color: #a5b799; transform: none; }
.theme-site:not(.fintech-home) :is(.icon,.arch-icon) { background: #e8eedc; color: var(--pc-ink); border-radius: 8px; box-shadow: none; }
.theme-site:not(.fintech-home) .price-card.featured { background: #edf3e2; border-color: #88a563; }
.theme-site:not(.fintech-home) .price-tag { color: var(--pc-ink); font-weight: 500; letter-spacing: -2px; }
.theme-site:not(.fintech-home) :is(.hero-glow-bg,.hero-crypto-bg) { display: none; }
.theme-site :is(.legal-document,.blog-content,.article-content) { color: #365447; line-height: 1.85; }
.theme-site :is(pre,.code-block), .theme-docs :is(pre,.code-block) { background: #142f26; color: #e5efda; border: 1px solid #3d5e4a; border-radius: 8px; }
.theme-site pre code, .theme-docs pre code { background: transparent; color: inherit; }
/* The API reference has its own fixed sidebar instead of the public navbar. */
.theme-docs .docs-sidebar { background: #edf1e6; border-right: 1px solid var(--pc-border); }
.theme-docs .docs-sidebar a { color: #365447; }
.theme-docs .docs-sidebar a.active { color: #14382d; background: #d6f277; border-color: #91ab65; }
.theme-docs .docs-main { background: var(--pc-paper); }
.theme-docs :is(.endpoint,.endpoint-card,.info-box) { border-color: var(--pc-border); border-radius: 8px; }
@media (min-width:1051px) { .paycow-ui > nav .mobile-nav-toggle { display: none !important; } }
@media (max-width:1150px) { .paycow-ui > nav .nav-links { gap: 13px; } .paycow-ui > nav .nav-links a { font-size: 11px; } }
@media (max-width:1050px) {
    .paycow-ui > nav .nav-links { display: none; }
    .paycow-ui > nav > div:nth-of-type(3) { margin-left: auto; margin-right: 16px; }
    .paycow-ui > nav .mobile-nav-toggle { display: flex; }
}
@media (max-width:760px) {
    .paycow-ui:not(.theme-dashboard) > nav { padding: 16px 20px; }
    .theme-site:not(.fintech-home) :is(.features-header,.pricing-header,.page-header,.blog-header,.about-header,.legal-header,.connect-header,.careers-header) { padding-top: 115px; padding-bottom: 32px; }
    body.paycow-ui footer { padding: 48px 24px 25px; }
}
@media (prefers-reduced-motion:reduce) {
    .paycow-ui *, .paycow-ui *::before, .paycow-ui *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
.theme-site .pricing-grid { max-width: 1320px; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.theme-site .price-card { text-align: left; padding: 28px 22px; }
.theme-site .price-card .price-tag { font-size: 37px; white-space: nowrap; }
.theme-site .price-card .btn-primary { border-radius: 6px !important; }
.theme-site .price-card .volume-badge { color: #365447; background: #e8eedc; border-color: #c2d3aa; font-size: 11px; }
.theme-site .price-card .feature-item { font-size: 12px; }
.theme-site .architecture-showcase { gap: 0; }
.theme-site .arch-card { border: 0 !important; border-top: 1px solid #d4ddcc !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; padding-block: 42px; }
.theme-site .arch-card h3 { font-weight: 500; }
.theme-docs .param-table { display: block; width: 100%; overflow-x: auto; }
.theme-docs .docs-content { min-width: 0; }
.theme-docs .docs-hero h1 { font-weight: 500; letter-spacing: -.05em; }
.theme-docs pre { max-width: 100%; overflow-x: auto; }
@media(max-width:1100px) { .theme-site .pricing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .theme-site .pricing-grid { grid-template-columns: minmax(0,1fr); } }
.theme-docs .code-tabs-header { flex-wrap: wrap; }
.theme-docs :not(pre) > code { overflow-wrap: anywhere; white-space: normal; }
.theme-docs .param-table code { white-space: nowrap; }
.theme-docs .sidebar-brand a { align-items: center; }
.theme-docs .sidebar-brand-name { line-height: 1; }
.theme-docs .sidebar-brand-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 20px;
    padding: 0 7px;
    border-radius: 4px;
    font-size: 9px;
    line-height: 1;
    letter-spacing: 1px;
    transform: none;
}

/* Public content pages use the same editorial rhythm as the landing page. */
.theme-site :is(.announcement-header,.careers-hero,.registry-header) {
    padding-top: 145px;
    padding-bottom: 48px;
    background: transparent;
}
.theme-site :is(.announcement-header,.careers-hero,.registry-header) h1 {
    color: var(--pc-ink);
    font-size: clamp(40px,5vw,68px);
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: -.055em;
}
.theme-site :is(.announcement-card,.job-card,.connect-card,.registry-section,.registry-card) {
    background: #fff;
    border: 1px solid var(--pc-border);
    border-radius: 10px;
    box-shadow: none;
}
.theme-site :is(.filter-bar,.job-tabs) {
    background: #edf1e6;
    border: 1px solid var(--pc-border);
    border-radius: 8px;
    box-shadow: none;
}
.theme-site :is(.filter-btn,.job-tab-btn) { border-radius: 5px; }
.theme-site :is(.filter-btn,.job-tab-btn).active {
    background: var(--pc-ink);
    color: #fff;
    box-shadow: none;
}
.theme-site :is(.apply-btn,.connect-btn) {
    background: var(--pc-ink);
    color: #fff;
    border-radius: 6px;
    box-shadow: none;
}
.theme-site :is(.modal-box,.application-modal) {
    border-radius: 12px;
    border-color: var(--pc-border);
    box-shadow: 0 25px 70px #102f2525;
}
@media(max-width:760px) {
    .theme-site :is(.announcement-header,.careers-hero,.registry-header) { padding-top: 115px; padding-bottom: 32px; }
}

/* Public suite: pricing, updates, onboarding, contact and policy pages. */
.theme-site:not(.fintech-home) :is(
    .pricing-header,
    .announcement-header,
    .onboarding-header,
    .connect-header,
    .legal-page-header,
    .features-header,
    .about-header,
    .blog-header,
    .careers-hero,
    .registry-header
) {
    width: min(1180px, 92%);
    margin: 0 auto;
    padding: 144px 0 46px;
    text-align: left;
    background: transparent;
    border-bottom: 1px solid var(--pc-border);
}
.theme-site:not(.fintech-home) :is(
    .pricing-header,
    .announcement-header,
    .onboarding-header,
    .connect-header,
    .legal-page-header,
    .features-header,
    .about-header,
    .blog-header,
    .careers-hero,
    .registry-header
) h1 {
    max-width: 850px;
    margin: 0 0 14px;
    color: var(--pc-ink);
    font-size: clamp(40px, 5vw, 68px);
    font-weight: 500;
    line-height: 1.02;
    letter-spacing: -.055em;
}
.theme-site:not(.fintech-home) :is(
    .pricing-header,
    .announcement-header,
    .onboarding-header,
    .connect-header,
    .legal-page-header,
    .features-header,
    .about-header,
    .blog-header,
    .careers-hero,
    .registry-header
) p {
    max-width: 700px;
    margin: 0;
    color: var(--pc-muted);
    font-size: 15px;
    line-height: 1.7;
}

/* Pricing reads as a comparison table instead of a row of promotional cards. */
.theme-site .pricing-grid {
    width: min(1180px, 92%);
    max-width: 1180px;
    margin: 42px auto 96px;
    padding: 0;
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--pc-border);
    border-radius: 9px;
    background: #fff;
}
.theme-site .pricing-grid .price-card {
    min-width: 0;
    padding: 30px 24px 24px;
    text-align: left;
    border: 0;
    border-right: 1px solid var(--pc-border);
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    transform: none;
}
.theme-site .pricing-grid .price-card:last-child { border-right: 0; }
.theme-site .pricing-grid .price-card:nth-child(2) {
    background: var(--pc-sage);
    box-shadow: inset 0 3px 0 var(--pc-lime);
}
.theme-site .pricing-grid .price-card:hover,
.theme-site .pricing-grid .price-card.featured:hover { transform: none; box-shadow: none; }
.theme-site .pricing-grid .plan-name {
    margin: 0 0 28px;
    color: var(--pc-ink);
    font-size: 13px;
    font-weight: 650;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.theme-site .pricing-grid .price-tag {
    margin: 0 0 18px;
    color: var(--pc-ink);
    font-size: clamp(30px, 2.8vw, 40px);
    font-weight: 520;
    letter-spacing: -.055em;
}
.theme-site .pricing-grid .price-tag span { font-size: 12px; color: var(--pc-muted); }
.theme-site .pricing-grid .volume-badge {
    display: block;
    width: 100%;
    margin: 0;
    padding: 11px 0;
    color: var(--pc-ink);
    background: transparent;
    border: 0;
    border-block: 1px solid var(--pc-border);
    border-radius: 0;
    font-size: 11px;
    font-weight: 600;
}
.theme-site .pricing-grid .feature-list { margin: 20px 0 28px; }
.theme-site .pricing-grid .feature-item {
    align-items: flex-start;
    margin: 0;
    padding: 9px 0;
    color: var(--pc-muted);
    border-bottom: 1px solid #e7ecdf;
    font-size: 12px;
    line-height: 1.5;
}
.theme-site .pricing-grid .feature-item:last-child { border-bottom: 0; }
.theme-site .pricing-grid .feature-item i { color: var(--pc-ink); font-size: 16px; }
.theme-site .pricing-grid .btn-primary { margin-top: auto; min-height: 44px; }

/* Announcements use a compact editorial feed. */
.theme-site .announcements-container {
    width: min(980px, 92%);
    max-width: 980px;
    margin: 34px auto 96px;
    padding: 0;
}
.theme-site .announcements-container .filter-bar {
    justify-content: flex-start;
    gap: 4px;
    width: max-content;
    max-width: 100%;
    margin: 0 0 26px;
    padding: 4px;
    overflow-x: auto;
    scrollbar-width: none;
}
.theme-site .announcements-container .filter-bar::-webkit-scrollbar { display: none; }
.theme-site .announcements-container .filter-btn {
    flex: 0 0 auto;
    padding: 9px 13px;
    color: var(--pc-muted);
    background: transparent;
    border: 0;
    border-radius: 5px;
    box-shadow: none;
    font-size: 12px;
    font-weight: 550;
}
.theme-site .announcements-container .filter-btn:is(:hover,.active) {
    color: #fff;
    background: var(--pc-ink);
    box-shadow: none;
}
.theme-site .announcement-card {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 8px 30px;
    margin: 0;
    padding: 28px 0;
    background: transparent;
    border: 0;
    border-top: 1px solid var(--pc-border);
    border-radius: 0;
    box-shadow: none;
}
.theme-site .announcement-card:last-child { border-bottom: 1px solid var(--pc-border); }
.theme-site .announcement-card:hover { transform: none; border-color: var(--pc-border); box-shadow: none; }
.theme-site .announcement-card .card-meta {
    grid-row: 1 / span 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 9px;
    margin: 0;
}
.theme-site .announcement-card .badge-category {
    padding: 0;
    color: var(--pc-ink);
    background: transparent;
    border: 0;
    border-radius: 0;
    font-size: 10px;
    font-weight: 650;
    letter-spacing: .1em;
}
.theme-site .announcement-card .date-text { color: var(--pc-muted); font-size: 11px; }
.theme-site .announcement-card .announcement-title {
    margin: 0;
    color: var(--pc-ink);
    font-size: clamp(19px, 2.2vw, 26px);
    font-weight: 550;
    letter-spacing: -.025em;
}
.theme-site .announcement-card .announcement-body {
    color: var(--pc-muted);
    font-size: 14px;
    line-height: 1.75;
}
.theme-site .no-records {
    padding: 54px 24px;
    background: var(--pc-sage);
    border: 1px solid var(--pc-border);
    border-radius: 8px;
}

/* Onboarding is a numbered product flow. */
.theme-site .onboarding-steps {
    width: min(1080px, 92%);
    max-width: 1080px;
    margin: 44px auto 96px;
    padding: 0;
    counter-reset: onboarding;
}
.theme-site .onboarding-steps .step-card {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 0 36px;
    margin: 0;
    padding: 38px 0;
    background: transparent;
    border: 0;
    border-top: 1px solid var(--pc-border);
    border-radius: 0;
    box-shadow: none;
}
.theme-site .onboarding-steps .step-card:last-child { border-bottom: 1px solid var(--pc-border); }
.theme-site .onboarding-steps .step-card:hover { box-shadow: none; border-color: var(--pc-border); }
.theme-site .onboarding-steps .step-number {
    position: static;
    grid-row: 1 / span 3;
    width: 72px;
    height: 72px;
    color: var(--pc-ink);
    background: var(--pc-lime);
    border: 0;
    border-radius: 7px;
    box-shadow: none;
    font-size: 20px;
    font-weight: 600;
}
.theme-site .onboarding-steps .step-card h2 {
    margin: 0 0 12px;
    color: var(--pc-ink);
    font-size: clamp(21px, 2.6vw, 30px);
    font-weight: 520;
    line-height: 1.2;
    letter-spacing: -.035em;
}
.theme-site .onboarding-steps .step-card h2 i { color: #678267; font-size: 22px; }
.theme-site .onboarding-steps .step-card > p {
    max-width: 760px;
    margin: 0 0 18px;
    color: var(--pc-muted);
    font-size: 14px;
    line-height: 1.7;
}
.theme-site .onboarding-steps .step-details { margin: 0; }
.theme-site .onboarding-steps .step-details li {
    position: relative;
    display: block;
    margin: 0;
    padding: 9px 0 9px 26px;
    color: #365447;
    border-top: 1px solid #e2e9da;
    font-size: 13px;
    line-height: 1.55;
}
.theme-site .onboarding-steps .step-details li i {
    position: absolute;
    top: 11px;
    left: 0;
    color: #688766;
    font-size: 17px;
}
.theme-site .onboarding-steps code { color: var(--pc-ink); background: #e8eedc; border-radius: 3px; }

/* Contact choices share one contained surface. */
.theme-site .connect-content {
    width: min(1080px, 92%);
    max-width: 1080px;
    margin: 42px auto 96px;
    padding: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--pc-border);
    border-radius: 9px;
}
.theme-site .connect-content .connect-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    padding: 32px;
    text-align: left;
    background: #fff;
    border: 0;
    border-right: 1px solid var(--pc-border);
    border-radius: 0;
    box-shadow: none;
}
.theme-site .connect-content .connect-card:last-child { border-right: 0; }
.theme-site .connect-content .connect-card:hover { transform: none; border-color: var(--pc-border); box-shadow: none; }
.theme-site .connect-content .connect-card-icon {
    width: 44px;
    height: 44px;
    margin: 0 0 40px;
    color: var(--pc-ink);
    background: var(--pc-sage);
    border: 1px solid var(--pc-border);
    border-radius: 7px;
    font-size: 21px;
}
.theme-site .connect-content .connect-card h2 {
    margin: 0 0 10px;
    color: var(--pc-ink);
    font-size: 20px;
    font-weight: 560;
    letter-spacing: -.025em;
}
.theme-site .connect-content .connect-card p {
    flex: 1;
    margin: 0 0 28px;
    color: var(--pc-muted);
    font-size: 13px;
    line-height: 1.7;
}
.theme-site .connect-content .connect-btn {
    min-height: 44px;
    padding: 11px 14px;
    border-radius: 6px;
    box-shadow: none;
    font-size: 12px;
    font-weight: 600;
}

/* Legal documents keep navigation visible and the reading column quiet. */
.theme-site .legal-wrapper {
    width: min(1180px, 92%);
    max-width: 1180px;
    margin: 42px auto 100px;
    padding: 0;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 34px;
    align-items: start;
}
.theme-site .legal-sidebar {
    position: sticky;
    top: 96px;
    padding: 18px;
    background: var(--pc-sage);
    border: 1px solid var(--pc-border);
    border-radius: 8px;
}
.theme-site .legal-sidebar-title {
    margin: 0 0 12px;
    padding: 0 8px;
    color: #617462;
    font-size: 9px;
    font-weight: 650;
    letter-spacing: .16em;
}
.theme-site .legal-sidebar-nav { gap: 2px; }
.theme-site .legal-sidebar-nav li a,
.theme-site .legal-sidebar-nav a {
    padding: 10px 9px;
    color: var(--pc-muted);
    border: 0;
    border-radius: 5px;
    font-size: 12px;
    font-weight: 520;
}
.theme-site .legal-sidebar-nav li a:hover,
.theme-site .legal-sidebar-nav a:hover { color: var(--pc-ink); background: #e3ead8; }
.theme-site .legal-sidebar-nav li a.active,
.theme-site .legal-sidebar-nav a.active { color: var(--pc-ink); background: var(--pc-lime); }
.theme-site .legal-document {
    min-width: 0;
    padding: 42px 48px;
    background: #fff;
    border: 1px solid var(--pc-border);
    border-radius: 8px;
    box-shadow: none;
}
.theme-site .legal-doc-topbar {
    padding-bottom: 20px;
    margin-bottom: 8px;
    border-bottom: 1px solid var(--pc-border);
}
.theme-site .legal-doc-badge {
    padding: 0;
    color: var(--pc-ink);
    background: transparent;
    border: 0;
    border-radius: 0;
    font-size: 10px;
    font-weight: 650;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.theme-site .legal-doc-date { color: var(--pc-muted); font-size: 11px; }
.theme-site .legal-section {
    margin: 0;
    padding: 30px 0;
    border-bottom: 1px solid #e2e9da;
}
.theme-site .legal-section:last-child { padding-bottom: 0; border-bottom: 0; }
.theme-site .legal-section h2 {
    margin: 0 0 14px;
    color: var(--pc-ink);
    font-size: 19px;
    font-weight: 570;
    line-height: 1.3;
    letter-spacing: -.02em;
}
.theme-site .legal-section h2 i { color: #6c866b; font-size: 18px; }
.theme-site .legal-section :is(p,li) {
    color: var(--pc-muted);
    font-size: 13px;
    line-height: 1.8;
}
.theme-site .legal-section p { margin: 0 0 12px; }
.theme-site .legal-section :is(ul,ol) { margin: 8px 0 16px; padding-left: 20px; }
.theme-site :is(.notice-card,.contact-box) {
    margin: 18px 0;
    padding: 18px 20px;
    color: var(--pc-ink);
    background: var(--pc-sage);
    border: 1px solid var(--pc-border);
    border-left: 3px solid #6f8c65;
    border-radius: 6px;
    box-shadow: none;
}
.theme-site .contact-box :is(p,li,strong,a) { color: var(--pc-ink); }

/* Bring the remaining editorial pages into the same surface language. */
.theme-site :is(.blog-grid,.about-content,.careers-container,.registry-content) {
    width: min(1180px, 92%);
    max-width: 1180px;
}

/* About: technical company profile with clear, scannable sections. */
.theme-site .about-content {
    width: min(1080px, 92%);
    max-width: 1080px;
    margin: 42px auto 96px;
    padding: 0;
    background: #fff;
    border: 1px solid var(--pc-border);
    border-radius: 9px;
    overflow: hidden;
}
.theme-site .about-content .info-card {
    margin: 0;
    padding: 40px 44px;
    background: #fff;
    border: 0;
    border-bottom: 1px solid var(--pc-border);
    border-radius: 0;
    box-shadow: none;
}
.theme-site .about-content .info-card:last-child { border-bottom: 0; background: var(--pc-sage); }
.theme-site .about-content .info-card:hover { border-color: var(--pc-border); box-shadow: none; }
.theme-site .about-content .info-card h2 {
    margin: 0 0 20px;
    color: var(--pc-ink);
    font-size: clamp(22px, 2.4vw, 30px);
    font-weight: 540;
    line-height: 1.2;
    letter-spacing: -.035em;
}
.theme-site .about-content .info-card h2 i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    color: var(--pc-ink);
    background: var(--pc-sage);
    border: 1px solid var(--pc-border);
    border-radius: 6px;
    font-size: 19px;
}
.theme-site .about-content .info-card:last-child h2 i { background: #fff; }
.theme-site .about-content .info-card > p {
    max-width: 880px;
    margin: 0 0 14px;
    color: var(--pc-muted);
    font-size: 14px;
    line-height: 1.8;
}
.theme-site .about-content .feature-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 28px;
    margin: 20px 0 0 !important;
}
.theme-site .about-content .feature-list li {
    position: relative;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
    margin: 0;
    padding: 16px 0;
    color: var(--pc-muted);
    border-top: 1px solid #e2e9da;
    font-size: 13px;
    line-height: 1.65;
}
.theme-site .about-content .info-card:nth-child(2) .feature-list { grid-template-columns: 1fr; }
.theme-site .about-content .feature-list li i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    margin-top: -3px;
    color: var(--pc-ink);
    background: var(--pc-sage);
    border-radius: 5px;
    font-size: 15px;
}
.theme-site .about-content code {
    padding: 2px 5px;
    color: var(--pc-ink);
    background: #e8eedc;
    border-radius: 3px;
    overflow-wrap: anywhere;
}
.theme-site .about-content a { color: var(--pc-ink) !important; }
.theme-site :is(.blog-card,.job-card,.entity-card,.registry-section,.registry-card) {
    border-radius: 8px;
    box-shadow: none;
}
.theme-site .entity-card::before { height: 3px; background: var(--pc-lime); }
.theme-site :is(.registry-badge,.entity-status-pill) {
    color: var(--pc-ink);
    background: var(--pc-sage);
    border-color: var(--pc-border);
    border-radius: 5px;
}

@media (max-width: 940px) {
    .theme-site .pricing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .theme-site .pricing-grid .price-card:nth-child(2) { border-right: 0; }
    .theme-site .pricing-grid .price-card:nth-child(-n+2) { border-bottom: 1px solid var(--pc-border); }
    .theme-site .connect-content { grid-template-columns: 1fr; }
    .theme-site .connect-content .connect-card { border-right: 0; border-bottom: 1px solid var(--pc-border); }
    .theme-site .connect-content .connect-card:last-child { border-bottom: 0; }
    .theme-site .connect-content .connect-card-icon { margin-bottom: 24px; }
    .theme-site .legal-wrapper { grid-template-columns: 1fr; gap: 20px; }
    .theme-site .legal-sidebar { position: static; padding: 10px; overflow: hidden; }
    .theme-site .legal-sidebar-title { margin-bottom: 8px; }
    .theme-site .legal-sidebar-nav {
        flex-direction: row;
        overflow-x: auto;
        scrollbar-width: none;
    }
    .theme-site .legal-sidebar-nav::-webkit-scrollbar { display: none; }
    .theme-site .legal-sidebar-nav li { flex: 0 0 auto; }
    .theme-site .legal-sidebar-nav li a { white-space: nowrap; }
}
@media (max-width: 620px) {
    .theme-site:not(.fintech-home) :is(
        .pricing-header,.announcement-header,.onboarding-header,.connect-header,.legal-page-header,
        .features-header,.about-header,.blog-header,.careers-hero,.registry-header
    ) { width: calc(100% - 40px); padding: 110px 0 28px; }
    .theme-site:not(.fintech-home) :is(
        .pricing-header,.announcement-header,.onboarding-header,.connect-header,.legal-page-header,
        .features-header,.about-header,.blog-header,.careers-hero,.registry-header
    ) h1 { font-size: 38px; }
    .theme-site .pricing-grid { width: calc(100% - 40px); grid-template-columns: 1fr; }
    .theme-site .pricing-grid .price-card { border-right: 0; border-bottom: 1px solid var(--pc-border); }
    .theme-site .pricing-grid .price-card:last-child { border-bottom: 0; }
    .theme-site .announcement-card { grid-template-columns: 1fr; gap: 12px; padding: 24px 0; }
    .theme-site .announcement-card .card-meta { grid-row: auto; flex-direction: row; justify-content: space-between; }
    .theme-site .onboarding-steps .step-card { grid-template-columns: 48px minmax(0, 1fr); gap: 0 14px; padding: 28px 0; }
    .theme-site .onboarding-steps .step-number { width: 42px; height: 42px; font-size: 15px; }
    .theme-site .onboarding-steps .step-card h2 { font-size: 20px; }
    .theme-site .onboarding-steps .step-card > p,
    .theme-site .onboarding-steps .step-details { grid-column: 1 / -1; margin-top: 18px; }
    .theme-site .connect-content .connect-card { padding: 26px 22px; }
    .theme-site .legal-wrapper { width: calc(100% - 40px); margin-top: 24px; }
    .theme-site .legal-document { padding: 26px 20px; }
    .theme-site .legal-doc-topbar { align-items: flex-start; gap: 12px; }
    .theme-site .about-content { width: calc(100% - 40px); margin-top: 24px; }
    .theme-site .about-content .info-card { padding: 28px 20px; }
    .theme-site .about-content .info-card h2 { align-items: flex-start; font-size: 22px; }
    .theme-site .about-content .feature-list { grid-template-columns: 1fr; }
}

@media (max-width: 360px) {
    .paycow-ui:not(.theme-dashboard) > nav .logo { font-size: 23px; }
    .paycow-ui:not(.theme-dashboard) > nav .btn-primary { padding: 10px 12px; font-size: 10px; white-space: nowrap; }
    .paycow-ui:not(.theme-dashboard) > nav > div:nth-of-type(3) { margin-right: 10px; }
    .paycow-ui:not(.theme-dashboard) > nav .mobile-nav-toggle { width: 36px; height: 36px; }
}
