/* ==========================================================================
   Auto Plus site theme - Direction B (prototype, Oct 3, 2026)
   Body = the Auto Plus app (parchment, white cards, espresso bar + brass rule)
   Bookends = the teaser videos (pure black, Cormorant, white, one gold phrase)
   Change the look HERE: every page reads these tokens.
   ========================================================================== */
:root {
  /* light body: the Auto Plus app */
  --bg:             #EBE6D2;   /* app page parchment (logo cream family) */
  --bg-surface:     #F5F2E8;   /* alternate section band */
  --bg-card:        #FFFFFF;
  --bg-card-hover:  #FBF9F3;
  --border:         #E0DBD2;
  --border-light:   #CDC8BE;
  --gold:           #7F6015;   /* gold TEXT on light: 4.7:1 on parchment */
  --gold-light:     #6A4F0F;   /* emphasis / hover text */
  --gold-dim:       #B88A3C;   /* rules + decoration only (app topbar rule) */
  --gold-rgb:       184,138,60;
  --gold-fill:      #C8A24B;   /* buttons: the video / logo gold */
  --gold-fill-hover:#D6B35F;
  --on-gold:        #1A1814;   /* espresso text on gold */
  --text-primary:   #1C1F26;
  --text-secondary: #4B5263;
  --text-muted:     #5C626E;
  --ink-rgb:        28,31,38;
  --error:          #DC2626;
  --error-bg:       rgba(220,38,38,0.08);
  --success:        #059669;
  --success-bg:     rgba(5,150,105,0.08);
  --blue-dim:       transparent;
  /* AI: the shared Auto Plus app purple */
  --ai:             #6D2F8A;
  --ai-strong:      #552470;
  --ai-rgb:         109,47,138;
  --ai-bg:          #F3EEF5;
  /* bars + bookends */
  --bar:            #1A1814;   /* app topbar espresso (== logo charcoal) */
  --bar-rule:       #B88A3C;
  --cinema:         #000000;   /* teaser intro / outro black */
  --radius:         10px;
  --radius-sm:      8px;
}

/* Dark scopes: tokens flip inside these, so every component inside follows. */
.hero, .page-hero, .cta-section, .left-panel {
  --bg: var(--cinema); --bg-surface: var(--cinema); --bg-card: #121212; --bg-card-hover: #181818;
  --border: #2A2A2A; --border-light: #3A3A3A;
  --gold: #C8A24B; --gold-light: #D9B865; --gold-dim: #9E7E35; --gold-rgb: 200,162,75;
  --text-primary: #F2EFE9; --text-secondary: #B8B1A5; --text-muted: #948D80; --ink-rgb: 242,239,233;
}
nav:not(.crumbs), .mobile-menu, footer {
  --bg: var(--bar); --bg-surface: var(--bar); --bg-card: #23201B; --bg-card-hover: #2A2620;
  --border: #2E2A24; --border-light: #3D372F;
  --gold: #C9A84C; --gold-light: #D9B865; --gold-dim: #9E7E35; --gold-rgb: 201,168,76;
  --text-primary: #F7F4EE; --text-secondary: #B8B1A5; --text-muted: #948D80; --ink-rgb: 247,244,238;
}
/* AI sections: gold becomes the app purple */
.agentic-section {
  --gold: var(--ai); --gold-light: var(--ai-strong); --gold-dim: var(--ai); --gold-rgb: var(--ai-rgb);
  --bg-surface: var(--ai-bg);
}


*, *::before, *::after { box-sizing: border-box;margin: 0;padding: 0; }
html { scroll-behavior: smooth; }
body:where(.pg-contact,.pg-request-demo) { font-family: 'Outfit', sans-serif;background: var(--bg);color: var(--text-primary);line-height: 1.6;overflow-x: hidden;min-height: 100vh; }
body:where(.pg-index,.pg-aces-pies-catalog-management-platform,.pg-aces-catalog-management-software,.pg-pies-product-data-management-software,.pg-automotive-aftermarket-catalog-features,.pg-customer-hosted-automotive-catalog-software,.pg-about-rivers-edge,.pg-privacy,.pg-cookie-policy,.tpl-page) { font-family: 'Outfit', sans-serif;background: var(--bg);color: var(--text-primary);line-height: 1.6;overflow-x: hidden; }
body::before { content: '';position: fixed;inset: 0;background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");pointer-events: none;z-index: 0;opacity: 0.5; }
h1, h2, h3 { font-family: 'Cormorant Garamond', serif;line-height: 1.15; }
.label { font-family: 'Outfit', sans-serif;font-size: 0.7rem;font-weight: 600;letter-spacing: 0.18em;text-transform: uppercase;color: var(--gold); }
.container { max-width: 1160px;margin: 0 auto;padding: 0 2rem; }
:where(.pg-index,.pg-aces-pies-catalog-management-platform,.pg-aces-catalog-management-software,.pg-pies-product-data-management-software,.pg-automotive-aftermarket-catalog-features,.pg-customer-hosted-automotive-catalog-software,.pg-about-rivers-edge,.pg-contact,.pg-privacy,.pg-cookie-policy,.tpl-page) section { position: relative;z-index: 1; }
nav:not(.crumbs) { position: fixed;top: 0;left: 0;right: 0;z-index: 100;border-bottom: 1px solid var(--border);background: var(--bar);backdrop-filter: blur(14px); }
.nav-inner { display: flex;align-items: center;justify-content: space-between;min-height: 68px;max-width: 1160px;margin: 0 auto;padding: 0 2rem; }
.logo-wrap { display: flex;flex-direction: column;line-height: 1;text-decoration: none; }
.logo-main { font-family: 'Cormorant Garamond', serif;font-size: 1.5rem;font-weight: 700;color: var(--gold-light);letter-spacing: 0.04em; }
.logo-sub { font-size: 0.6rem;font-weight: 500;letter-spacing: 0.22em;text-transform: uppercase;color: var(--text-muted);margin-top: 2px; }
.nav-links { display: flex;align-items: center;gap: 2rem;list-style: none; }
.nav-links a { font-size: 0.82rem;font-weight: 500;letter-spacing: 0.04em;color: var(--text-secondary);text-decoration: none;transition: color 0.2s; }
.nav-links a:hover { color: var(--text-primary); }
.nav-links a.active { color: var(--gold-light); }
.btn-nav { font-size: 0.78rem;font-weight: 600;letter-spacing: 0.08em;text-transform: uppercase;color: var(--on-gold) !important;background: var(--gold);padding: 0.5rem 1.2rem;border-radius: 3px;text-decoration: none;transition: background 0.2s, transform 0.15s; }
.btn-nav:hover { background: var(--gold-light) !important;transform: translateY(-1px); }
:where(.pg-privacy,.pg-cookie-policy) .page-hero { padding: 10rem 0 5rem;position: relative;overflow: hidden;background: var(--bg-surface);border-bottom: 1px solid var(--border); }
.page-wrap { position: relative;z-index: 1;padding-top: 68px;min-height: 100vh;display: grid;grid-template-columns: 1fr 1fr; }
.left-panel { padding: 7rem 4rem 4rem;background: var(--bg-surface);border-right: 1px solid var(--border);display: flex;flex-direction: column;justify-content: center;position: relative;overflow: hidden; }
.left-panel::before { content: '';position: absolute;top: -150px;left: -150px;width: 500px;height: 500px;background: radial-gradient(circle, rgba(var(--gold-rgb),0.07) 0%, transparent 65%);pointer-events: none; }
.left-panel::after { content: '';position: absolute;inset: 0;background-image:
        linear-gradient(rgba(var(--gold-rgb),0.02) 1px, transparent 1px),
        linear-gradient(90deg, rgba(var(--gold-rgb),0.02) 1px, transparent 1px);background-size: 48px 48px;pointer-events: none; }
.left-content { position: relative;z-index: 2;max-width: 480px; }
:where(.pg-contact,.pg-request-demo) .left-content .label { margin-bottom: 1.2rem; }
.left-content h1 { font-size: clamp(2.8rem, 4.5vw, 4rem);font-weight: 700;color: var(--text-primary);margin-bottom: 1.4rem; }
.left-content h1 em { font-style: italic;color: var(--gold-light); }
:where(.pg-request-demo) .left-content .intro { font-size: 1rem;font-weight: 300;color: var(--text-secondary);line-height: 1.8;margin-bottom: 3rem; }
.expect-list { list-style: none;display: flex;flex-direction: column;gap: 0;border: 1px solid var(--border);border-radius: 4px;overflow: hidden;margin-bottom: 3rem; }
.expect-item { display: flex;align-items: flex-start;gap: 1rem;padding: 1.2rem 1.5rem;border-bottom: 1px solid var(--border);background: var(--bg-card); }
.expect-item:last-child { border-bottom: none; }
.expect-icon { flex-shrink: 0;width: 32px;height: 32px;border-radius: 50%;background: rgba(var(--gold-rgb),0.1);border: 1px solid rgba(var(--gold-rgb),0.2);display: flex;align-items: center;justify-content: center;margin-top: 1px; }
.expect-icon svg { width: 14px;height: 14px;stroke: var(--gold);fill: none;stroke-width: 2;stroke-linecap: round;stroke-linejoin: round; }
.expect-item h2 { font-family: 'Outfit', sans-serif;font-size: 0.85rem;font-weight: 600;color: var(--text-primary);margin-bottom: 0.15rem; }
.expect-item p { font-size: 0.8rem;color: var(--text-secondary);line-height: 1.6;margin: 0; }
.contact-alt { padding-top: 2rem;border-top: 1px solid var(--border); }
.contact-alt p { font-size: 0.8rem;color: var(--text-muted);margin-bottom: 0.75rem;text-transform: uppercase;letter-spacing: 0.12em;font-weight: 600; }
.contact-links { display: flex;flex-direction: column;gap: 0.4rem; }
.contact-links a { font-size: 0.88rem;color: var(--text-secondary);text-decoration: none;transition: color 0.2s;display: flex;align-items: center;gap: 0.5rem; }
.contact-links a:hover { color: var(--gold-light); }
.contact-links a svg { width: 14px;height: 14px;stroke: var(--gold-dim);fill: none;stroke-width: 2;flex-shrink: 0; }
:where(.pg-contact) .left-content p { font-size: 1rem;font-weight: 300;color: var(--text-secondary);line-height: 1.8;margin-bottom: 3rem; }
.contact-methods { display: flex;flex-direction: column;gap: 0;border: 1px solid var(--border);border-radius: 4px;overflow: hidden;margin-bottom: 3rem; }
.contact-method { display: flex;align-items: flex-start;gap: 1.2rem;padding: 1.5rem;border-bottom: 1px solid var(--border);background: var(--bg-card);text-decoration: none;transition: background 0.2s; }
.contact-method:last-child { border-bottom: none; }
.contact-method:hover { background: var(--bg-card-hover); }
.cm-icon { flex-shrink: 0;width: 36px;height: 36px;border-radius: 50%;background: rgba(var(--gold-rgb),0.1);border: 1px solid rgba(var(--gold-rgb),0.2);display: flex;align-items: center;justify-content: center;margin-top: 1px; }
.cm-icon svg { width: 16px;height: 16px;stroke: var(--gold);fill: none;stroke-width: 1.8;stroke-linecap: round;stroke-linejoin: round; }
.cm-body { flex: 1; }
.cm-label { font-size: 0.68rem;font-weight: 700;letter-spacing: 0.14em;text-transform: uppercase;color: var(--text-muted);margin-bottom: 0.25rem; }
.cm-value { font-size: 0.95rem;font-weight: 500;color: var(--text-primary); }
.cm-note { font-size: 0.78rem;color: var(--text-muted);margin-top: 0.15rem; }
.address-block { padding: 1.8rem 2rem;background: var(--bg-card);border: 1px solid var(--border);border-radius: 4px;margin-bottom: 2rem; }
.address-block .addr-label { font-size: 0.68rem;font-weight: 700;letter-spacing: 0.14em;text-transform: uppercase;color: var(--text-muted);margin-bottom: 0.75rem; }
.address-block p { font-size: 0.9rem;color: var(--text-secondary);line-height: 1.8; }
.address-block strong { color: var(--text-primary);font-weight: 500; }
.membership-row { display: flex;flex-wrap: wrap;gap: 0.6rem; }
.mbadge { font-size: 0.68rem;font-weight: 700;letter-spacing: 0.1em;text-transform: uppercase;color: var(--gold);background: rgba(var(--gold-rgb),0.08);border: 1px solid rgba(var(--gold-rgb),0.2);padding: 0.25rem 0.65rem;border-radius: 2px; }
:where(.pg-contact) .mbadge.member { color: var(--text-secondary);background: rgba(var(--ink-rgb),0.04);border-color: var(--border-light); }
.right-panel { padding: 7rem 4rem 4rem;display: flex;flex-direction: column;justify-content: center; }
.form-header { margin-bottom: 2.5rem; }
.form-header h2 { font-size: 1.8rem;font-weight: 600;color: var(--text-primary);margin-top: 0.5rem; }
.form-header p { font-size: 0.88rem;color: var(--text-secondary);margin-top: 0.5rem;line-height: 1.7; }
.demo-form { display: flex;flex-direction: column;gap: 1.25rem;max-width: 480px; }
.form-row { display: grid;grid-template-columns: 1fr 1fr;gap: 1rem; }
.field { display: flex;flex-direction: column;gap: 0.4rem; }
.field label { font-size: 0.72rem;font-weight: 600;letter-spacing: 0.1em;text-transform: uppercase;color: var(--text-muted); }
.field label .req { color: var(--gold);margin-left: 2px; }
.field label .opt { color: var(--text-muted);font-weight: 400;text-transform: none;letter-spacing: 0;font-size: 0.7rem;margin-left: 4px; }
.field input, .field textarea { background: var(--bg-card);border: 1px solid var(--border-light);border-radius: 3px;color: var(--text-primary);font-family: 'Outfit', sans-serif;font-size: 0.9rem;font-weight: 400;padding: 0.75rem 1rem;transition: border-color 0.2s, box-shadow 0.2s;width: 100%; }
.field input::placeholder, .field textarea::placeholder { color: var(--text-muted);font-weight: 300; }
.field input:focus, .field textarea:focus { border-color: var(--gold-dim);box-shadow: 0 0 0 3px rgba(var(--gold-rgb),0.08); }
.field input.error, .field textarea.error { border-color: var(--error); }
.field-error { font-size: 0.72rem;color: var(--error);display: none; }
.field-error.show { display: block; }
.field textarea { resize: vertical;min-height: 110px;line-height: 1.6; }
.hp-field { position: absolute !important;left: -9999px !important;top: -9999px !important;height: 1px;width: 1px;overflow: hidden; }
.form-note { font-size: 0.78rem;color: var(--text-muted);line-height: 1.6;padding: 0.75rem 1rem;background: rgba(var(--gold-rgb),0.04);border: 1px solid var(--border);border-left: 2px solid var(--gold-dim);border-radius: 0 3px 3px 0; }
.btn-submit { display: inline-flex;align-items: center;justify-content: center;gap: 0.6rem;background: var(--gold);color: var(--on-gold);font-family: 'Outfit', sans-serif;font-size: 0.85rem;font-weight: 700;letter-spacing: 0.1em;text-transform: uppercase;padding: 1rem 2rem;border: none;border-radius: 3px;cursor: pointer;transition: background 0.2s, transform 0.15s, box-shadow 0.2s;box-shadow: 0 4px 24px rgba(var(--gold-rgb),0.2);width: 100%; }
.btn-submit:hover { background: var(--gold-light);transform: translateY(-2px);box-shadow: 0 8px 32px rgba(var(--gold-rgb),0.3); }
.btn-submit:disabled { opacity: 0.6;cursor: not-allowed;transform: none; }
.btn-submit svg { width: 16px;height: 16px;stroke: currentColor;fill: none;stroke-width: 2.5; }
.success-panel { display: none;flex-direction: column;align-items: flex-start;gap: 1.5rem;max-width: 480px;padding: 3rem;background: var(--bg-card);border: 1px solid var(--border);border-top: 3px solid var(--gold);border-radius: 4px; }
.success-panel.show { display: flex; }
.success-icon { width: 52px;height: 52px;border-radius: 50%;background: rgba(74,140,106,0.15);border: 1px solid rgba(74,140,106,0.3);display: flex;align-items: center;justify-content: center; }
.success-icon svg { width: 24px;height: 24px;stroke: #4a8c6a;fill: none;stroke-width: 2;stroke-linecap: round;stroke-linejoin: round; }
.success-panel h3 { font-size: 1.8rem;font-weight: 600;color: var(--text-primary); }
.success-panel p { font-size: 0.92rem;color: var(--text-secondary);line-height: 1.8; }
:where(.pg-contact) .right-panel h2 { font-size: 1.8rem;font-weight: 600;margin-bottom: 0.5rem; }
:where(.pg-contact) .right-panel .sub { font-size: 0.92rem;color: var(--text-secondary);margin-bottom: 3rem;line-height: 1.7; }
.quick-links { display: flex;flex-direction: column;gap: 0;border: 1px solid var(--border);border-radius: 4px;overflow: hidden;margin-bottom: 2.5rem; }
.quick-link { display: flex;align-items: center;justify-content: space-between;padding: 1.4rem 1.5rem;border-bottom: 1px solid var(--border);background: var(--bg-card);text-decoration: none;transition: background 0.2s; }
.quick-link:last-child { border-bottom: none; }
.quick-link:hover { background: var(--bg-card-hover); }
.ql-left { display: flex;align-items: center;gap: 1rem; }
.ql-icon { width: 32px;height: 32px;border-radius: 50%;background: rgba(var(--gold-rgb),0.08);border: 1px solid rgba(var(--gold-rgb),0.15);display: flex;align-items: center;justify-content: center;flex-shrink: 0; }
.ql-icon svg { width: 14px;height: 14px;stroke: var(--gold-dim);fill: none;stroke-width: 2;stroke-linecap: round;stroke-linejoin: round; }
.ql-text h3 { font-family: 'Outfit', sans-serif;font-size: 0.88rem;font-weight: 600;color: var(--text-primary);margin-bottom: 0.1rem; }
.ql-text p { font-size: 0.78rem;color: var(--text-muted);margin: 0; }
.ql-arrow { color: var(--gold);font-size: 1.1rem;transition: transform 0.2s; }
.quick-link:hover .ql-arrow { transform: translateX(4px); }
.demo-box { padding: 2.5rem;background: var(--bg-card);border: 1px solid var(--border);border-top: 3px solid var(--gold);border-radius: 4px; }
.demo-box h3 { font-size: 1.6rem;font-weight: 600;margin-bottom: 0.8rem; }
.demo-box p { font-size: 0.9rem;color: var(--text-secondary);line-height: 1.75;margin-bottom: 1.8rem; }
:where(.pg-about-rivers-edge) .page-hero { padding: 10rem 0 6rem;position: relative;overflow: hidden;background: var(--bg-surface);border-bottom: 1px solid var(--border); }
:where(.pg-aces-pies-catalog-management-platform,.pg-aces-catalog-management-software,.pg-pies-product-data-management-software,.pg-automotive-aftermarket-catalog-features,.pg-customer-hosted-automotive-catalog-software,.tpl-page) .page-hero { padding: 10rem 0 7rem;position: relative;overflow: hidden;background: var(--bg-surface);border-bottom: 1px solid var(--border); }
.page-hero::after { content: '';position: absolute;inset: 0;background-image: linear-gradient(rgba(var(--gold-rgb),0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--gold-rgb),0.025) 1px, transparent 1px);background-size: 60px 60px;pointer-events: none; }
:where(.pg-about-rivers-edge,.pg-privacy,.pg-cookie-policy) .hero-orb { position: absolute;top: -150px;right: -150px;width: 600px;height: 600px;background: radial-gradient(circle, rgba(var(--gold-rgb),0.06) 0%, transparent 65%);pointer-events: none; }
:where(.pg-privacy,.pg-cookie-policy) .page-hero-inner { position: relative;z-index: 2;max-width: 760px; }
:where(.pg-about-rivers-edge) .page-hero-inner { position: relative;z-index: 2;display: grid;grid-template-columns: 1fr 1fr;gap: 4rem;align-items: end; }
:where(.pg-about-rivers-edge,.pg-privacy,.pg-cookie-policy) .page-hero .label { margin-bottom: 1.2rem; }
:where(.pg-privacy,.pg-cookie-policy) .page-hero h1 { font-size: clamp(2.8rem, 5vw, 4rem);font-weight: 700;color: var(--text-primary);margin-bottom: 1.2rem; }
:where(.pg-privacy,.pg-cookie-policy) .page-hero .hero-meta { font-size: 0.82rem;color: var(--text-muted);margin-top: 1.2rem; }
.doc-section { padding: 5rem 0; }
:where(.pg-privacy) .doc-section + .doc-section { padding-top: 0; }
.doc-body { max-width: 760px; }
.doc-body h2 { font-size: clamp(1.6rem, 2.5vw, 2.2rem);font-weight: 600;color: var(--text-primary);margin-bottom: 1rem;margin-top: 3.5rem;padding-top: 3.5rem;border-top: 1px solid var(--border); }
.doc-body h2:first-child { margin-top: 0;padding-top: 0;border-top: none; }
.doc-body h3 { font-family: 'Outfit', sans-serif;font-size: 0.92rem;font-weight: 600;color: var(--text-primary);margin-bottom: 0.5rem;margin-top: 2rem;letter-spacing: 0.02em; }
.doc-body p { font-size: 0.97rem;font-weight: 300;color: var(--text-secondary);line-height: 1.85;margin-bottom: 1.2rem; }
.doc-body p:last-child { margin-bottom: 0; }
.doc-body strong { color: var(--text-primary);font-weight: 500; }
.doc-body ul { list-style: none;margin: 0.75rem 0 1.2rem;display: flex;flex-direction: column;gap: 0.5rem; }
.doc-body ul li { display: flex;align-items: flex-start;gap: 0.65rem;font-size: 0.97rem;font-weight: 300;color: var(--text-secondary);line-height: 1.75; }
.doc-body ul li::before { content: '→';color: var(--gold);flex-shrink: 0;font-weight: 500; }
.doc-body a { color: var(--gold-light);text-decoration: none;border-bottom: 1px solid rgba(var(--gold-rgb),0.25);transition: border-color 0.2s; }
.doc-body a:hover { border-color: var(--gold-light); }
.info-box { margin: 2rem 0;padding: 1.75rem 2rem;background: rgba(var(--gold-rgb),0.04);border: 1px solid var(--border-light);border-left: 3px solid var(--gold-dim);border-radius: 0 4px 4px 0; }
.info-box p { font-size: 0.9rem;color: var(--text-secondary);line-height: 1.8;margin: 0; }
.info-box p + p { margin-top: 0.75rem; }
.cookie-table { width: 100%;border-collapse: collapse;margin: 1.5rem 0;border: 1px solid var(--border);border-radius: 4px;overflow: hidden;font-size: 0.85rem; }
.cookie-table thead tr { background: var(--bg-card); }
.cookie-table th { text-align: left;padding: 0.85rem 1.2rem;font-family: 'Outfit', sans-serif;font-size: 0.7rem;font-weight: 700;letter-spacing: 0.12em;text-transform: uppercase;color: var(--text-muted);border-bottom: 1px solid var(--border); }
.cookie-table td { padding: 1rem 1.2rem;color: var(--text-secondary);border-bottom: 1px solid var(--border);vertical-align: top;line-height: 1.65; }
.cookie-table tbody tr:last-child td { border-bottom: none; }
.cookie-table tbody tr:hover td { background: rgba(var(--ink-rgb),0.015); }
.cookie-table td strong { color: var(--text-primary);font-weight: 500; }
.cookie-table caption { caption-side: top;text-align: left;font-size: 0.78rem;color: var(--text-secondary);padding: 0.9rem 1.1rem 0; }
.table-scroll { overflow-x: auto; }
.cookie-tag { display: inline-block;font-size: 0.65rem;font-weight: 700;letter-spacing: 0.1em;text-transform: uppercase;padding: 0.15rem 0.5rem;border-radius: 2px; }
.cookie-tag.functional { color: var(--gold);background: rgba(var(--gold-rgb),0.1);border: 1px solid rgba(var(--gold-rgb),0.2); }
:where(.pg-cookie-policy) .cookie-tag.none { color: var(--text-muted);background: rgba(var(--ink-rgb),0.04);border: 1px solid var(--border); }
.contact-block { margin-top: 2rem;padding: 2rem 2.2rem;background: var(--bg-card);border: 1px solid var(--border);border-radius: 4px; }
.contact-block h3 { font-family: 'Outfit', sans-serif;font-size: 0.88rem;font-weight: 600;color: var(--text-primary);margin-bottom: 1rem;letter-spacing: 0.02em; }
.contact-block p { font-size: 0.9rem;color: var(--text-secondary);line-height: 1.8;margin: 0; }
.contact-block p + p { margin-top: 0.5rem; }
.contact-block a { color: var(--gold-light);text-decoration: none; }
.contact-block a:hover { text-decoration: underline; }
:where(.pg-about-rivers-edge) .page-hero h1 { font-size: clamp(3rem, 5vw, 4.5rem);font-weight: 700;color: var(--text-primary); }
:where(.pg-about-rivers-edge) .page-hero h1 em { font-style: italic;color: var(--gold-light); }
.hero-stat-grid { display: grid;grid-template-columns: 1fr 1fr;gap: 1px;background: var(--border);border: 1px solid var(--border);border-radius: 4px;overflow: hidden;align-self: end; }
.hero-stat { background: var(--bg-card);padding: 2rem; }
.hero-stat .num { font-family: 'Outfit', sans-serif !important;font-size: 3rem;font-weight: 700;color: var(--gold-light);line-height: 1;margin-bottom: 0.3rem; }
.hero-stat .desc { font-size: 0.8rem;font-weight: 500;letter-spacing: 0.06em;color: var(--text-muted);text-transform: uppercase; }
:where(.pg-automotive-aftermarket-catalog-features,.pg-customer-hosted-automotive-catalog-software) .hero-orb { position: absolute;top: -150px;right: -100px;width: 700px;height: 700px;background: radial-gradient(circle, rgba(var(--gold-rgb),0.07) 0%, transparent 65%);pointer-events: none; }
:where(.pg-pies-product-data-management-software) .hero-orb { position: absolute;top: -150px;right: -100px;width: 700px;height: 700px;background: radial-gradient(circle, rgba(var(--gold-rgb),0.08) 0%, transparent 65%);pointer-events: none; }
:where(.pg-aces-pies-catalog-management-platform,.pg-aces-catalog-management-software,.tpl-page) .hero-orb { position: absolute;top: -150px;right: -100px;width: 600px;height: 600px;background: radial-gradient(circle, rgba(var(--gold-rgb),0.07) 0%, transparent 65%);pointer-events: none; }
.hero-inner { position: relative;z-index: 2;max-width: 780px; }
:where(.pg-aces-pies-catalog-management-platform,.pg-aces-catalog-management-software,.pg-pies-product-data-management-software,.pg-automotive-aftermarket-catalog-features,.pg-customer-hosted-automotive-catalog-software,.tpl-page) .hero-inner .label { margin-bottom: 1.2rem; }
.hero-inner h1 { font-size: clamp(3rem, 5.5vw, 4.8rem);font-weight: 700;color: var(--text-primary);margin-bottom: 1.5rem; }
.hero-inner h1 em { font-style: italic;color: var(--gold-light); }
.hero-inner p { font-size: 1.15rem;font-weight: 300;color: var(--text-secondary);max-width: 660px;line-height: 1.85;margin-bottom: 2.5rem; }
:where(.pg-aces-pies-catalog-management-platform,.pg-aces-catalog-management-software,.pg-pies-product-data-management-software,.pg-automotive-aftermarket-catalog-features,.pg-customer-hosted-automotive-catalog-software,.tpl-page) .hero-actions { display: flex;gap: 1rem;flex-wrap: wrap; }
.hero { min-height: 100vh;display: flex;flex-direction: column;justify-content: center;padding: 8rem 0 5rem;position: relative;overflow: hidden; }
.hero::after { content: '';position: absolute;inset: 0;background-image:
        linear-gradient(rgba(var(--gold-rgb),0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(var(--gold-rgb),0.025) 1px, transparent 1px);background-size: 60px 60px;pointer-events: none; }
:where(.pg-index) .hero-orb { position: absolute;top: -200px;right: -200px;width: 700px;height: 700px;background: radial-gradient(circle, rgba(var(--gold-rgb),0.07) 0%, transparent 65%);pointer-events: none; }
.hero-content { position: relative;z-index: 2;max-width: 820px; }
.hero-label { display: inline-flex;align-items: center;gap: 0.6rem;margin-bottom: 1.8rem;opacity: 0;animation: fadeUp 0.6s ease forwards 0.2s; }
.hero-label::before { content: '';display: block;width: 28px;height: 1px;background: var(--gold); }
:where(.pg-index) h1.hero-headline { font-size: clamp(3rem, 6vw, 5.2rem);font-weight: 700;color: var(--text-primary);margin-bottom: 1.5rem;opacity: 0;animation: fadeUp 0.7s ease forwards 0.35s; }
:where(.pg-index) h1.hero-headline em { font-style: italic;color: var(--gold-light); }
.hero-sub { font-size: 1.15rem;font-weight: 300;color: var(--text-secondary);max-width: 660px;line-height: 1.8;margin-bottom: 2.8rem;opacity: 0;animation: fadeUp 0.7s ease forwards 0.5s; }
:where(.pg-index) .hero-actions { display: flex;gap: 1rem;flex-wrap: wrap;opacity: 0;animation: fadeUp 0.7s ease forwards 0.65s; }
.btn-primary { display: inline-flex;align-items: center;gap: 0.5rem;background: var(--gold);color: var(--on-gold);font-size: 0.82rem;font-weight: 700;letter-spacing: 0.1em;text-transform: uppercase;padding: 0.9rem 2rem;border-radius: 3px;text-decoration: none;transition: background 0.2s, transform 0.15s, box-shadow 0.2s;box-shadow: 0 4px 24px rgba(var(--gold-rgb),0.2); }
.btn-primary:hover { background: var(--gold-light);transform: translateY(-2px);box-shadow: 0 8px 32px rgba(var(--gold-rgb),0.3); }
:where(.pg-contact,.pg-request-demo) footer { position: relative;z-index: 1;background: var(--bg-surface);border-top: 1px solid var(--border);padding: 2rem 0; }
:where(.pg-contact,.pg-request-demo) .footer-bottom { display: flex;align-items: center;justify-content: space-between;font-size: 0.78rem;color: var(--text-muted); }
.btn-secondary { display: inline-flex;align-items: center;gap: 0.5rem;background: transparent;color: var(--text-secondary);font-size: 0.82rem;font-weight: 500;letter-spacing: 0.06em;padding: 0.9rem 2rem;border-radius: 3px;border: 1px solid var(--border-light);text-decoration: none;transition: color 0.2s, border-color 0.2s, transform 0.15s; }
.btn-secondary:hover { color: var(--text-primary);border-color: var(--gold-dim);transform: translateY(-2px); }
.credibility-bar { position: relative;z-index: 2;border-top: 1px solid var(--border);border-bottom: 1px solid var(--border);background: var(--bg-surface);padding: 1rem 0;overflow: hidden; }
.ticker-track { display: flex;gap: 3rem;width: max-content;animation: ticker 32s linear infinite; }
.credibility-bar:hover .ticker-track, .credibility-bar:focus-within .ticker-track { animation-play-state: paused; }
.ticker-item { display: flex;align-items: center;gap: 0.5rem;white-space: nowrap;font-size: 0.72rem;font-weight: 600;letter-spacing: 0.12em;text-transform: uppercase;color: var(--text-muted); }
.ticker-item .dot { width: 4px;height: 4px;border-radius: 50%;background: var(--gold-dim); }
.ticker-item.hi { color: var(--gold); }
@keyframes ticker { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.section { padding: 7rem 0; }
.section-alt { padding: 7rem 0;background: var(--bg-surface); }
.story-body { display: grid;grid-template-columns: 1fr 2fr;gap: 5rem;align-items: start; }
.story-cols { display: grid;grid-template-columns: 1fr 1fr;gap: 5rem;align-items: start; }
.story-aside { position: sticky;top: 100px; }
.story-aside h2 { font-size: clamp(2rem, 3vw, 2.8rem);font-weight: 600;color: var(--text-primary);margin-top: 0.6rem;margin-bottom: 1.5rem; }
.story-aside .aside-note { font-size: 0.85rem;color: var(--text-muted);line-height: 1.7;padding-top: 1.5rem;border-top: 1px solid var(--border); }
.story-text p { font-size: 1.05rem;font-weight: 300;color: var(--text-secondary);line-height: 1.9;margin-bottom: 1.8rem; }
.story-text p:last-child { margin-bottom: 0; }
.story-text strong { color: var(--text-primary);font-weight: 500; }
:where(.pg-about-rivers-edge) .pull-quote { margin: 2.5rem 0;padding: 2rem 2.5rem;border: 1px solid var(--border-light);border-left: 3px solid var(--gold);background: rgba(var(--gold-rgb),0.04);border-radius: 0 4px 4px 0; }
:where(.pg-about-rivers-edge) .pull-quote p { font-family: 'Cormorant Garamond', serif;font-size: 1.3rem;font-style: italic;color: var(--text-primary) !important;line-height: 1.7;margin: 0 !important; }
.standards-grid { display: grid;grid-template-columns: repeat(3, 1fr);gap: 1px;background: var(--border);border: 1px solid var(--border);border-radius: 4px;overflow: hidden; }
.standard-card { background: var(--bg-card);padding: 2rem;transition: background 0.25s;position: relative; }
.standard-card:hover { background: var(--bg-card-hover); }
.standard-card::before { content: '';position: absolute;top: 0;left: 0;right: 0;height: 2px;background: transparent;transition: background 0.25s; }
.standard-card:hover::before { background: linear-gradient(90deg, var(--gold-dim), var(--gold), var(--gold-dim)); }
.standard-badge { display: inline-block;font-size: 0.72rem;font-weight: 700;letter-spacing: 0.12em;text-transform: uppercase;color: var(--gold);background: rgba(var(--gold-rgb),0.08);border: 1px solid rgba(var(--gold-rgb),0.2);padding: 0.25rem 0.65rem;border-radius: 2px;margin-bottom: 1rem; }
.standard-card h3 { font-family: 'Outfit', sans-serif;font-size: 0.9rem;font-weight: 600;color: var(--text-primary);margin-bottom: 0.5rem; }
.standard-card p { font-size: 0.82rem;color: var(--text-secondary);line-height: 1.7; }
.timeline { position: relative;padding-left: 2rem; }
.timeline::before { content: '';position: absolute;left: 0;top: 8px;bottom: 8px;width: 1px;background: linear-gradient(to bottom, var(--gold-dim), transparent); }
.timeline-item { position: relative;padding-bottom: 3rem;padding-left: 2rem; }
.timeline-item:last-child { padding-bottom: 0; }
.timeline-item::before { content: '';position: absolute;left: -2rem;top: 8px;width: 8px;height: 8px;border-radius: 50%;background: var(--gold-dim);border: 2px solid var(--bg);box-shadow: 0 0 0 1px var(--gold-dim); }
.timeline-year { font-size: 0.7rem;font-weight: 700;letter-spacing: 0.14em;text-transform: uppercase;color: var(--gold);margin-bottom: 0.4rem; }
.timeline-item h3 { font-family: 'Outfit', sans-serif;font-size: 0.95rem;font-weight: 600;color: var(--text-primary);margin-bottom: 0.4rem; }
.timeline-item p { font-size: 0.85rem;color: var(--text-secondary);line-height: 1.75; }
.boutique-points { display: flex;flex-direction: column;border: 1px solid var(--border);border-radius: 4px;overflow: hidden; }
.boutique-point { display: flex;align-items: flex-start;gap: 1rem;padding: 1.4rem 1.5rem;border-bottom: 1px solid var(--border);background: var(--bg-card); }
.boutique-point:last-child { border-bottom: none; }
.section-header { margin-bottom: 4rem; }
.section-header h2 { font-size: clamp(2.2rem, 4vw, 3.4rem);font-weight: 600;margin-top: 0.6rem; }
.section-header p { font-size: 1.05rem;color: var(--text-secondary);max-width: 640px;line-height: 1.8;margin-top: 1rem; }
.landlord-inner { display: grid;grid-template-columns: 1fr 1fr;gap: 5rem;align-items: start; }
.landlord-copy h2 { font-size: clamp(2rem, 3.5vw, 3rem);font-weight: 600;margin: 0.6rem 0 1.5rem; }
.landlord-copy p { font-size: 0.95rem;color: var(--text-secondary);line-height: 1.85;margin-bottom: 1.2rem; }
.landlord-copy strong { color: var(--text-primary);font-weight: 500; }
.risk-stack { display: flex;flex-direction: column;gap: 0;border: 1px solid var(--border);border-radius: 4px;overflow: hidden; }
.risk-item { display: grid;grid-template-columns: 48px 1fr;border-bottom: 1px solid var(--border);background: var(--bg-card);transition: background 0.2s; }
.risk-item:last-child { border-bottom: none; }
.risk-item:hover { background: var(--bg-card-hover); }
.risk-icon { display: flex;align-items: center;justify-content: center;border-right: 1px solid var(--border); }
.risk-icon svg { width: 18px;height: 18px;stroke: var(--gold-dim);fill: none;stroke-width: 1.8;stroke-linecap: round;stroke-linejoin: round; }
.risk-body { padding: 1.4rem 1.5rem; }
.risk-body h3 { font-family: 'Outfit', sans-serif;font-size: 0.88rem;font-weight: 600;color: var(--text-primary);margin-bottom: 0.25rem; }
.risk-body p { font-size: 0.82rem;color: var(--text-secondary);line-height: 1.65;margin: 0; }
.deploy-grid { display: grid;grid-template-columns: repeat(3, 1fr);gap: 1px;background: var(--border);border: 1px solid var(--border);border-radius: 4px;overflow: hidden; }
.deploy-card { background: var(--bg-card);padding: 2.5rem;position: relative;transition: background 0.25s; }
.deploy-card:hover { background: var(--bg-card-hover); }
.deploy-card::before { content: '';position: absolute;top: 0;left: 0;right: 0;height: 2px;background: transparent;transition: background 0.25s; }
.deploy-card:hover::before { background: linear-gradient(90deg, var(--gold-dim), var(--gold), var(--gold-dim)); }
.deploy-icon { width: 40px;height: 40px;margin-bottom: 1.5rem;display: flex;align-items: center;justify-content: center; }
.deploy-icon svg { width: 26px;height: 26px;stroke: var(--gold);fill: none;stroke-width: 1.5;stroke-linecap: round;stroke-linejoin: round; }
.deploy-card h3 { font-size: 1.3rem;font-weight: 600;color: var(--text-primary);margin-bottom: 0.8rem; }
.deploy-card p { font-size: 0.87rem;color: var(--text-secondary);line-height: 1.75; }
.database-section { background: var(--bg-surface);position: relative;overflow: hidden; }
.database-section::before { content: '';position: absolute;bottom: -100px;left: -100px;width: 600px;height: 600px;background: radial-gradient(circle, var(--blue-dim) 0%, transparent 65%);pointer-events: none; }
.database-inner { display: grid;grid-template-columns: 1fr 1fr;gap: 5rem;align-items: start;position: relative;z-index: 2; }
.database-copy h2 { font-size: clamp(2rem, 3.5vw, 3rem);font-weight: 600;margin: 0.6rem 0 1.5rem; }
.database-copy p { font-size: 0.95rem;color: var(--text-secondary);line-height: 1.85;margin-bottom: 1.2rem; }
.database-copy strong { color: var(--text-primary);font-weight: 500; }
.beyond-inner { display: grid;grid-template-columns: 1fr 1fr;gap: 5rem;align-items: center; }
.beyond-copy h2 { font-size: clamp(2rem, 3.5vw, 3rem);font-weight: 600;margin: 0.6rem 0 1.5rem; }
.beyond-copy p { font-size: 0.95rem;color: var(--text-secondary);line-height: 1.85;margin-bottom: 1.2rem; }
.beyond-copy strong { color: var(--text-primary);font-weight: 500; }
.beyond-points { display: flex;flex-direction: column;gap: 0;border: 1px solid var(--border);border-radius: 4px;overflow: hidden; }
.beyond-point { display: flex;align-items: flex-start;gap: 1rem;padding: 1.5rem;border-bottom: 1px solid var(--border);background: var(--bg-card);transition: background 0.2s; }
.beyond-point:last-child { border-bottom: none; }
.beyond-point:hover { background: var(--bg-card-hover); }
.bp-icon { flex-shrink: 0;width: 36px;height: 36px;border-radius: 50%;background: rgba(var(--gold-rgb),0.1);border: 1px solid rgba(var(--gold-rgb),0.2);display: flex;align-items: center;justify-content: center; }
.bp-icon svg { width: 16px;height: 16px;stroke: var(--gold);fill: none;stroke-width: 1.8;stroke-linecap: round;stroke-linejoin: round; }
.bp-body h3 { font-family: 'Outfit', sans-serif;font-size: 0.88rem;font-weight: 600;color: var(--text-primary);margin-bottom: 0.3rem; }
.bp-body p { font-size: 0.8rem;color: var(--text-secondary);line-height: 1.65;margin: 0; }
.outcomes-grid { display: grid;grid-template-columns: 1fr 1fr;gap: 1px;background: var(--border);border: 1px solid var(--border);border-radius: 4px;overflow: hidden; }
.outcome-card { background: var(--bg-card);padding: 3rem;position: relative;transition: background 0.25s; }
.outcome-card:hover { background: var(--bg-card-hover); }
.outcome-card::before { content: '';position: absolute;top: 0;left: 0;right: 0;height: 2px;background: transparent;transition: background 0.25s; }
.outcome-card:hover::before { background: linear-gradient(90deg, var(--gold-dim), var(--gold), var(--gold-dim)); }
.outcome-num { font-family: 'Outfit', sans-serif !important;font-size: 2.8rem;font-weight: 700;color: rgba(var(--gold-rgb),0.12);line-height: 1;margin-bottom: 1rem; }
.outcome-card h3 { font-size: 1.5rem;font-weight: 600;color: var(--text-primary);margin-bottom: 1rem; }
.outcome-card p { font-size: 0.9rem;color: var(--text-secondary);line-height: 1.8; }
.outcome-card p + p { margin-top: 0.8rem; }
.enrichment-section { background: var(--bg-surface);position: relative;overflow: hidden; }
.enrichment-section::before { content: '';position: absolute;bottom: -100px;right: -100px;width: 600px;height: 600px;background: none;pointer-events: none; }
.enrichment-inner { display: grid;grid-template-columns: 1fr 1fr;gap: 5rem;align-items: start;position: relative;z-index: 2; }
.enrichment-copy h2 { font-size: clamp(2rem, 3.5vw, 3rem);font-weight: 600;margin: 0.6rem 0 1.5rem; }
.enrichment-copy p { font-size: 0.95rem;color: var(--text-secondary);line-height: 1.85;margin-bottom: 1.2rem; }
.enrichment-copy strong { color: var(--text-primary);font-weight: 500; }
.trap-inner { display: grid;grid-template-columns: 1fr 1fr;gap: 5rem;align-items: start; }
.trap-copy h2 { font-size: clamp(2rem, 3.5vw, 3rem);font-weight: 600;margin: 0.6rem 0 1.5rem; }
.trap-copy p { font-size: 0.95rem;color: var(--text-secondary);line-height: 1.85;margin-bottom: 1.2rem; }
.trap-copy strong { color: var(--text-primary);font-weight: 500; }
.minimum-box { padding: 2rem 2.2rem;background: var(--bg-card);border: 1px solid var(--border);border-radius: 4px;margin-bottom: 1.5rem; }
.minimum-box .min-label { font-size: 0.68rem;font-weight: 700;letter-spacing: 0.14em;text-transform: uppercase;color: var(--text-muted);margin-bottom: 1rem; }
.minimum-fields { display: flex;flex-direction: column;gap: 0.5rem; }
.min-field { display: flex;align-items: center;gap: 0.75rem;font-size: 0.85rem;color: var(--text-secondary); }
.min-field .check { width: 16px;height: 16px;border-radius: 2px;background: rgba(var(--gold-rgb),0.15);border: 1px solid var(--gold-dim);display: flex;align-items: center;justify-content: center;flex-shrink: 0; }
.min-field .check svg { width: 10px;height: 10px;stroke: var(--gold);fill: none;stroke-width: 2.5; }
.min-field strong { color: var(--text-primary); }
.minimum-box .min-note { margin-top: 1rem;padding-top: 1rem;border-top: 1px solid var(--border);font-size: 0.8rem;color: var(--text-muted);line-height: 1.6;font-style: italic; }
.gap-visual { display: flex;flex-direction: column;gap: 0;border: 1px solid var(--border);border-radius: 4px;overflow: hidden; }
.gap-row { display: grid;grid-template-columns: 1fr auto;align-items: center;padding: 1rem 1.4rem;border-bottom: 1px solid var(--border);background: var(--bg-card);gap: 1rem; }
.gap-row:last-child { border-bottom: none; }
.gap-name { font-size: 0.82rem;font-weight: 500;color: var(--text-primary); }
.gap-name .segment-note { display: block;font-size: 0.72rem;font-weight: 400;color: var(--text-muted);margin-top: 0.1rem; }
.gap-bar-wrap { display: flex;align-items: center;gap: 0.75rem;width: 160px; }
.gap-bar { flex: 1;height: 5px;background: var(--border);border-radius: 3px;overflow: hidden; }
.gap-fill { height: 100%;border-radius: 3px; }
:where(.pg-pies-product-data-management-software) .gap-fill.full { width: 100%;background: var(--gold); }
:where(.pg-pies-product-data-management-software) .gap-fill.mid { width: 45%;background: rgba(var(--gold-rgb),0.4); }
:where(.pg-pies-product-data-management-software) .gap-fill.low { width: 20%;background: rgba(var(--gold-rgb),0.2); }
:where(.pg-pies-product-data-management-software) .gap-fill.none { width: 5%;background: rgba(var(--gold-rgb),0.1); }
.gap-pct { font-size: 0.7rem;font-weight: 600;color: var(--text-muted);white-space: nowrap; }
:where(.pg-pies-product-data-management-software) .gap-pct.gold { color: var(--gold); }
.gap-caption { padding: 1rem 1.4rem;background: rgba(var(--gold-rgb),0.08);border-top: 1px solid rgba(var(--gold-rgb),0.2);font-size: 0.82rem;color: var(--gold-light);font-style: italic;line-height: 1.6;font-weight: 400; }
.parent-segments { display: grid;grid-template-columns: repeat(3,1fr);gap: 1px;background: var(--border);border: 1px solid var(--border);border-radius: 4px 4px 0 0;overflow: hidden; }
.parent-seg { background: rgba(var(--gold-rgb),0.08);padding: 1.2rem 1.5rem;text-align: center; }
.parent-seg .ps-label { font-size: 0.68rem;font-weight: 700;letter-spacing: 0.14em;text-transform: uppercase;color: var(--gold);margin-bottom: 0.3rem; }
.parent-seg .ps-name { font-family: 'Cormorant Garamond', serif;font-size: 1.3rem;font-weight: 600;color: var(--gold-light); }
.parent-seg .ps-note { font-size: 0.72rem;color: var(--text-muted);margin-top: 0.3rem; }
.child-segments { display: grid;grid-template-columns: repeat(4,1fr);gap: 1px;background: var(--border);border: 1px solid var(--border);border-top: none;border-radius: 0 0 4px 4px;overflow: hidden; }
.child-seg { background: var(--bg-card);padding: 1.5rem;position: relative;transition: background 0.2s; }
.child-seg:hover { background: var(--bg-card-hover); }
.child-seg::before { content: '';position: absolute;top: 0;left: 0;right: 0;height: 2px;background: transparent;transition: background 0.25s; }
.child-seg:hover::before { background: linear-gradient(90deg, var(--gold-dim), var(--gold), var(--gold-dim)); }
.cs-name { font-family: 'Outfit', sans-serif;font-size: 0.88rem;font-weight: 600;color: var(--text-primary);margin-bottom: 0.5rem; }
.cs-desc { font-size: 0.78rem;color: var(--text-secondary);line-height: 1.65; }
.cs-note { margin-top: 0.5rem;font-size: 0.72rem;color: var(--gold);font-style: italic; }
.segment-note-bar { margin-top: 1.5rem;padding: 1.2rem 1.5rem;background: rgba(var(--gold-rgb),0.04);border: 1px solid var(--border-light);border-left: 3px solid var(--gold-dim);border-radius: 0 4px 4px 0;font-size: 0.82rem;color: var(--text-secondary);line-height: 1.7; }
.segment-note-bar strong { color: var(--text-primary); }
.commerce-section { background: var(--bg-surface);position: relative;overflow: hidden; }
.commerce-section::before { content: '';position: absolute;top: -100px;left: -100px;width: 600px;height: 600px;background: radial-gradient(circle, rgba(var(--gold-rgb),0.06) 0%, transparent 65%);pointer-events: none; }
.commerce-inner { display: grid;grid-template-columns: 1fr 1fr;gap: 5rem;align-items: start;position: relative;z-index: 2; }
.commerce-copy h2 { font-size: clamp(2rem, 3.5vw, 3rem);font-weight: 600;margin: 0.6rem 0 1.5rem; }
.commerce-copy p { font-size: 0.95rem;color: var(--text-secondary);line-height: 1.85;margin-bottom: 1.2rem; }
.commerce-copy strong { color: var(--text-primary);font-weight: 500; }
:where(.pg-pies-product-data-management-software,.pg-automotive-aftermarket-catalog-features,.pg-customer-hosted-automotive-catalog-software) .pull-quote { margin-top: 2rem;padding: 2rem 2.5rem;border: 1px solid var(--border-light);border-left: 3px solid var(--gold);background: rgba(var(--gold-rgb),0.04);border-radius: 0 4px 4px 0; }
.discovery-inner { display: grid;grid-template-columns: 1fr 1fr;gap: 5rem;align-items: start; }
.discovery-copy h2 { font-size: clamp(2rem, 3.5vw, 3rem);font-weight: 600;margin: 0.6rem 0 1.5rem; }
.discovery-copy p { font-size: 0.95rem;color: var(--text-secondary);line-height: 1.85;margin-bottom: 1.2rem; }
.discovery-copy strong { color: var(--text-primary);font-weight: 500; }
.stat-callout { margin-top: 2rem;padding: 2rem 2.5rem;background: var(--bg-card);border: 1px solid var(--border);border-top: 3px solid var(--gold);border-radius: 4px; }
.stat-callout .big-num { font-family: 'Outfit', sans-serif !important;font-size: 4.5rem;font-weight: 700;color: var(--gold-light);line-height: 1;margin-bottom: 0.5rem; }
.stat-callout .big-label { font-size: 0.82rem;font-weight: 500;color: var(--text-secondary);line-height: 1.6; }
.stat-callout .big-label strong { color: var(--text-primary); }
.discovery-visual { display: flex;flex-direction: column;gap: 0;border: 1px solid var(--border);border-radius: 4px;overflow: hidden; }
.discovery-row { display: flex;align-items: center;gap: 0;border-bottom: 1px solid var(--border);background: var(--bg-card); }
.discovery-row:last-child { border-bottom: none; }
.dr-icon { flex-shrink: 0;width: 52px;height: 52px;display: flex;align-items: center;justify-content: center;border-right: 1px solid var(--border); }
.dr-icon svg { width: 20px;height: 20px;fill: none;stroke-width: 1.8;stroke-linecap: round;stroke-linejoin: round; }
.dr-icon.green svg { stroke: var(--success); }
:where(.pg-aces-catalog-management-software,.tpl-page) .dr-icon.gold svg { stroke: var(--gold); }
.dr-icon.red svg { stroke: var(--error); }
.dr-body { padding: 1.2rem 1.5rem;flex: 1; }
.dr-body h3 { font-family: 'Outfit', sans-serif;font-size: 0.85rem;font-weight: 600;color: var(--text-primary);margin-bottom: 0.2rem; }
.dr-body p { font-size: 0.8rem;color: var(--text-secondary);line-height: 1.6;margin: 0; }
.dr-tag { flex-shrink: 0;margin-right: 1.2rem;font-size: 0.65rem;font-weight: 700;letter-spacing: 0.1em;text-transform: uppercase;padding: 0.2rem 0.55rem;border-radius: 2px; }
.dr-tag.green { color: var(--success);background: var(--success-bg); }
:where(.pg-aces-catalog-management-software,.tpl-page) .dr-tag.gold { color: var(--gold);background: rgba(var(--gold-rgb),0.1); }
.dr-tag.red { color: var(--error);background: var(--error-bg); }
:where(.pg-aces-catalog-management-software,.tpl-page) .pillars-grid { display: grid;grid-template-columns: 1fr 1fr;gap: 1px;background: var(--border);border: 1px solid var(--border);border-radius: 4px;overflow: hidden; }
:where(.pg-aces-catalog-management-software,.tpl-page) .pillar-card { background: var(--bg-card);padding: 2.8rem;position: relative;transition: background 0.25s; }
.parity-inner { display: grid;grid-template-columns: 1fr 1fr;gap: 5rem;align-items: center; }
.parity-copy h2 { font-size: clamp(2rem, 3.5vw, 3rem);font-weight: 600;margin: 0.6rem 0 1.5rem; }
.parity-copy p { font-size: 0.95rem;color: var(--text-secondary);line-height: 1.85;margin-bottom: 1.2rem; }
.parity-copy strong { color: var(--text-primary);font-weight: 500; }
.parity-visual { display: flex;flex-direction: column;gap: 1px;background: var(--border);border: 1px solid var(--border);border-radius: 4px;overflow: hidden; }
.parity-row { display: grid;grid-template-columns: 140px 1fr;background: var(--bg-card); }
.parity-label-col { padding: 1.2rem;border-right: 1px solid var(--border);display: flex;align-items: center; }
.parity-label-col span { font-size: 0.68rem;font-weight: 700;letter-spacing: 0.12em;text-transform: uppercase;color: var(--text-muted); }
.parity-bar-col { padding: 1.2rem 1.5rem;display: flex;align-items: center;gap: 1rem; }
.bar-wrap { flex: 1;height: 6px;background: var(--border);border-radius: 3px;overflow: hidden; }
.bar-fill { height: 100%;border-radius: 3px;background: var(--gold-dim); }
.bar-fill.full { width: 100%;background: var(--gold); }
:where(.pg-aces-pies-catalog-management-platform) .bar-fill.mid { width: 60%;background: var(--gold-dim); }
:where(.pg-aces-pies-catalog-management-platform) .bar-fill.low { width: 30%;background: rgba(var(--gold-rgb),0.3); }
.bar-fill.rare { width: 12%;background: rgba(var(--gold-rgb),0.2); }
.bar-note { font-size: 0.72rem;font-weight: 600;color: var(--text-muted);white-space: nowrap; }
:where(.pg-aces-pies-catalog-management-platform) .bar-note.gold { color: var(--gold); }
.parity-caption { padding: 1rem 1.5rem;background: rgba(var(--gold-rgb),0.04);border-top: 1px solid var(--border);font-size: 0.78rem;color: var(--text-muted);line-height: 1.6;font-style: italic; }
:where(.pg-aces-pies-catalog-management-platform) .pillars-grid { display: grid;grid-template-columns: repeat(2, 1fr);gap: 1px;background: var(--border);border: 1px solid var(--border);border-radius: 4px;overflow: hidden; }
:where(.pg-aces-pies-catalog-management-platform) .pillar-card { background: var(--bg-card);padding: 3rem;position: relative;transition: background 0.25s; }
.pillar-card:hover { background: var(--bg-card-hover); }
.pillar-card::before { content: '';position: absolute;top: 0;left: 0;right: 0;height: 2px;background: transparent;transition: background 0.25s; }
.pillar-card:hover::before { background: linear-gradient(90deg, var(--gold-dim), var(--gold), var(--gold-dim)); }
:where(.pg-aces-catalog-management-software,.tpl-page) .pillar-num { font-family: 'Outfit', sans-serif !important;font-size: 2.5rem;font-weight: 700;color: rgba(var(--gold-rgb),0.12);line-height: 1;margin-bottom: 1rem; }
:where(.pg-aces-catalog-management-software,.tpl-page) .pillar-card h3 { font-size: 1.4rem;font-weight: 600;color: var(--text-primary);margin-bottom: 0.9rem; }
:where(.pg-aces-catalog-management-software,.tpl-page) .pillar-card p { font-size: 0.88rem;color: var(--text-secondary);line-height: 1.8; }
:where(.pg-aces-catalog-management-software,.tpl-page) .pillar-card p + p { margin-top: 0.7rem; }
.fields-section { background: var(--bg-surface); }
.fields-inner { display: grid;grid-template-columns: 1fr 1fr;gap: 5rem;align-items: start; }
.fields-copy h2 { font-size: clamp(2rem, 3.5vw, 3rem);font-weight: 600;margin: 0.6rem 0 1.5rem; }
.fields-copy p { font-size: 0.95rem;color: var(--text-secondary);line-height: 1.85;margin-bottom: 1.2rem; }
.fields-copy strong { color: var(--text-primary);font-weight: 500; }
.fields-stack { display: flex;flex-direction: column;gap: 0;border: 1px solid var(--border);border-radius: 4px;overflow: hidden; }
.field-row { display: grid;grid-template-columns: 48px 1fr;border-bottom: 1px solid var(--border);background: var(--bg-card); }
.field-row:last-child { border-bottom: none; }
.field-num { display: flex;align-items: center;justify-content: center;background: rgba(var(--gold-rgb),0.07);border-right: 1px solid var(--border);font-family: 'Outfit', sans-serif !important;font-size: 1.4rem;font-weight: 700;color: var(--gold); }
.field-body { padding: 1.2rem 1.5rem; }
.field-body h3 { font-family: 'Outfit', sans-serif;font-size: 0.88rem;font-weight: 600;color: var(--text-primary);margin-bottom: 0.2rem; }
.field-body p { font-size: 0.8rem;color: var(--text-secondary);line-height: 1.6;margin: 0; }
.overmapping-box { margin-top: 2rem;padding: 1.8rem 2rem;background: var(--error-bg);border: 1px solid rgba(192,96,96,0.25);border-left: 3px solid var(--error);border-radius: 0 4px 4px 0; }
.overmapping-box h3 { font-family: 'Outfit', sans-serif;font-size: 0.85rem;font-weight: 600;color: var(--error);margin-bottom: 0.5rem; }
.overmapping-box p { font-size: 0.82rem;color: var(--text-secondary);line-height: 1.7;margin: 0; }
.validation-inner { display: grid;grid-template-columns: 1fr 1fr;gap: 5rem;align-items: start; }
.validation-copy h2 { font-size: clamp(2rem, 3.5vw, 3rem);font-weight: 600;margin: 0.6rem 0 1.5rem; }
.validation-copy p { font-size: 0.95rem;color: var(--text-secondary);line-height: 1.85;margin-bottom: 1.2rem; }
.validation-copy strong { color: var(--text-primary);font-weight: 500; }
.invalid-examples { display: flex;flex-direction: column;gap: 0;border: 1px solid var(--border);border-radius: 4px;overflow: hidden; }
.invalid-example { padding: 1.4rem 1.5rem;border-bottom: 1px solid var(--border);background: var(--bg-card); }
.invalid-example:last-child { border-bottom: none; }
.invalid-label { display: inline-block;margin-bottom: 0.5rem;font-size: 0.68rem;font-weight: 700;letter-spacing: 0.12em;text-transform: uppercase;color: var(--error);background: var(--error-bg);padding: 0.2rem 0.6rem;border-radius: 2px; }
.invalid-example p { font-size: 0.82rem;color: var(--text-secondary);line-height: 1.7;margin: 0; }
.invalid-example .resolution { margin-top: 0.6rem;font-size: 0.78rem;color: var(--success);display: flex;align-items: flex-start;gap: 0.4rem; }
.invalid-example .resolution::before { content: '→';flex-shrink: 0; }
:where(.pg-aces-catalog-management-software,.tpl-page) .pull-quote { padding: 2rem 2.5rem;border: 1px solid var(--border-light);border-left: 3px solid var(--gold);background: rgba(var(--gold-rgb),0.04);border-radius: 0 4px 4px 0;margin: 3rem 0 0; }
:where(.pg-aces-pies-catalog-management-platform) .pillar-num { font-family: 'Outfit', sans-serif !important;font-size: 2.8rem;font-weight: 700;color: rgba(var(--gold-rgb),0.12);line-height: 1;margin-bottom: 1.2rem; }
:where(.pg-aces-pies-catalog-management-platform) .pillar-card h3 { font-size: 1.5rem;font-weight: 600;color: var(--text-primary);margin-bottom: 1rem; }
:where(.pg-aces-pies-catalog-management-platform) .pillar-card p { font-size: 0.9rem;color: var(--text-secondary);line-height: 1.8;margin-bottom: 0.8rem; }
:where(.pg-aces-pies-catalog-management-platform) .pillar-card p:last-of-type { margin-bottom: 1.2rem; }
.pillar-link { display: inline-flex;align-items: center;gap: 0.35rem;font-size: 0.78rem;font-weight: 600;letter-spacing: 0.08em;text-transform: uppercase;color: var(--gold);text-decoration: none;transition: color 0.2s, gap 0.2s; }
.pillar-link:hover { color: var(--gold);gap: 0.55rem; }
.pillar-link svg { width: 12px;height: 12px;stroke: currentColor;fill: none;stroke-width: 2.5; }
.agentic-section { background: var(--bg-surface);position: relative;overflow: hidden; }
.agentic-section::before { content: '';position: absolute;bottom: -100px;right: -100px;width: 600px;height: 600px;background: none;pointer-events: none; }
:where(.pg-aces-pies-catalog-management-platform) .agentic-inner { position: relative;z-index: 2;display: grid;grid-template-columns: 1fr 1fr;gap: 5rem;align-items: center; }
.agentic-copy h2 { font-size: clamp(2rem, 3.5vw, 3rem);font-weight: 600;margin: 0.6rem 0 1.5rem; }
.agentic-copy p { font-size: 0.95rem;color: var(--text-secondary);line-height: 1.85;margin-bottom: 1.2rem; }
.agentic-copy strong { color: var(--text-primary);font-weight: 500; }
.agentic-grid { display: grid;grid-template-columns: 1fr 1fr;gap: 1px;background: var(--border);border: 1px solid var(--border);border-radius: 4px;overflow: hidden; }
.agentic-card { background: var(--bg-card);padding: 2rem;transition: background 0.2s; }
.agentic-card:hover { background: var(--bg-card-hover); }
.agentic-card h3 { font-family: 'Outfit', sans-serif;font-size: 0.88rem;font-weight: 600;color: var(--text-primary);margin-bottom: 0.5rem; }
.agentic-card p { font-size: 0.8rem;color: var(--text-secondary);line-height: 1.65; }
.sovereignty-section { background: var(--bg-surface); }
.sovereignty-inner { display: grid;grid-template-columns: 1fr 1fr;gap: 5rem;align-items: center; }
.sovereignty-copy h2 { font-size: clamp(2rem, 3.5vw, 3rem);font-weight: 600;margin: 0.6rem 0 1.5rem; }
.sovereignty-copy p { font-size: 0.95rem;color: var(--text-secondary);line-height: 1.85;margin-bottom: 1.2rem; }
.sovereignty-copy strong { color: var(--text-primary);font-weight: 500; }
.sovereignty-points { display: flex;flex-direction: column;gap: 0;border: 1px solid var(--border);border-radius: 4px;overflow: hidden; }
.sovereignty-point { display: flex;align-items: flex-start;gap: 1rem;padding: 1.5rem;border-bottom: 1px solid var(--border);background: var(--bg-card); }
.sovereignty-point:last-child { border-bottom: none; }
.sp-check { flex-shrink: 0;margin-top: 1px; }
.sp-check svg { width: 18px;height: 18px;stroke: var(--gold);fill: none;stroke-width: 2;stroke-linecap: round;stroke-linejoin: round; }
.sovereignty-point h3 { font-family: 'Outfit', sans-serif;font-size: 0.88rem;font-weight: 600;color: var(--text-primary);margin-bottom: 0.25rem; }
.sovereignty-point p { font-size: 0.82rem;color: var(--text-secondary);line-height: 1.65;margin: 0; }
.agentic-points { display: flex;flex-direction: column;border: 1px solid var(--border);border-radius: 4px;overflow: hidden; }
.agentic-point { display: flex;align-items: flex-start;gap: 1rem;padding: 1.4rem 1.5rem;border-bottom: 1px solid var(--border);background: var(--bg-card); }
.agentic-point:last-child { border-bottom: none; }
.agentic-icon { flex-shrink: 0;width: 32px;height: 32px;border-radius: 50%;background: rgba(var(--gold-rgb),0.1);border: 1px solid rgba(var(--gold-rgb),0.2);display: flex;align-items: center;justify-content: center; }
.agentic-icon svg { width: 14px;height: 14px;stroke: var(--gold);fill: none;stroke-width: 2;stroke-linecap: round;stroke-linejoin: round; }
.agentic-point h3 { font-family: 'Outfit', sans-serif;font-size: 0.88rem;font-weight: 600;color: var(--text-primary);margin-bottom: 0.2rem; }
.agentic-point p { font-size: 0.82rem;color: var(--text-secondary);line-height: 1.65;margin: 0; }
.audience-grid { display: grid;grid-template-columns: 1fr 1fr;gap: 1.5rem; }
.audience-card { padding: 3rem;border: 1px solid var(--border);border-radius: 4px;background: var(--bg-card);position: relative;overflow: hidden;transition: border-color 0.25s; }
.audience-card:hover { border-color: var(--gold-dim); }
.audience-card::after { content: '';position: absolute;top: 0;right: 0;width: 120px;height: 120px;background: radial-gradient(circle at top right, rgba(var(--gold-rgb),0.07), transparent 70%); }
:where(.pg-aces-pies-catalog-management-platform) .audience-card .label { margin-bottom: 1rem; }
.audience-card h3 { font-size: 1.7rem;font-weight: 600;color: var(--text-primary);margin-bottom: 1rem; }
.audience-card p { font-size: 0.9rem;color: var(--text-secondary);line-height: 1.75;margin-bottom: 1.5rem; }
.audience-list { list-style: none;display: flex;flex-direction: column;gap: 0.55rem; }
.audience-list li { display: flex;align-items: flex-start;gap: 0.6rem;font-size: 0.85rem;color: var(--text-secondary); }
.audience-list li::before { content: '→';color: var(--gold);flex-shrink: 0; }
:where(.pg-aces-pies-catalog-management-platform) .pull-quote { padding: 2rem 2.5rem;border: 1px solid var(--border-light);border-left: 3px solid var(--gold);background: rgba(var(--gold-rgb),0.04);border-radius: 0 4px 4px 0;margin: 3rem 0; }
:where(.pg-aces-pies-catalog-management-platform,.pg-aces-catalog-management-software,.pg-pies-product-data-management-software,.pg-automotive-aftermarket-catalog-features,.pg-customer-hosted-automotive-catalog-software,.tpl-page) .pull-quote p { font-family: 'Cormorant Garamond', serif;font-size: 1.3rem;font-style: italic;color: var(--text-primary);line-height: 1.7;margin: 0; }
.db-points { display: flex;flex-direction: column;gap: 0;border: 1px solid var(--border);border-radius: 4px;overflow: hidden; }
.db-point { display: flex;align-items: flex-start;gap: 1rem;padding: 1.5rem;border-bottom: 1px solid var(--border);background: var(--bg-card); }
.db-point:last-child { border-bottom: none; }
.db-check { flex-shrink: 0;margin-top: 1px; }
.db-check svg { width: 18px;height: 18px;stroke: var(--gold);fill: none;stroke-width: 2;stroke-linecap: round;stroke-linejoin: round; }
.db-point h3 { font-family: 'Outfit', sans-serif;font-size: 0.88rem;font-weight: 600;color: var(--text-primary);margin-bottom: 0.25rem; }
.db-point p { font-size: 0.82rem;color: var(--text-secondary);line-height: 1.65;margin: 0; }
:where(.pg-customer-hosted-automotive-catalog-software) .agentic-inner { display: grid;grid-template-columns: 1fr 1fr;gap: 5rem;align-items: center; }
.enrichment-list { display: flex;flex-direction: column;gap: 0;border: 1px solid var(--border);border-radius: 4px;overflow: hidden; }
.enrich-item { display: flex;align-items: flex-start;gap: 1rem;padding: 1.4rem 1.5rem;border-bottom: 1px solid var(--border);background: var(--bg-card); }
.enrich-item:last-child { border-bottom: none; }
.ei-check { flex-shrink: 0;margin-top: 2px; }
.ei-check svg { width: 18px;height: 18px;stroke: var(--gold);fill: none;stroke-width: 2;stroke-linecap: round;stroke-linejoin: round; }
.enrich-item h3 { font-family: 'Outfit', sans-serif;font-size: 0.88rem;font-weight: 600;color: var(--text-primary);margin-bottom: 0.2rem; }
.enrich-item p { font-size: 0.82rem;color: var(--text-secondary);line-height: 1.65;margin: 0; }
.workflow-grid { display: grid;grid-template-columns: 1fr 1fr;gap: 1.5rem; }
.workflow-card { padding: 2.8rem;border: 1px solid var(--border);border-radius: 4px;background: var(--bg-card);position: relative;overflow: hidden;transition: border-color 0.25s; }
.workflow-card:hover { border-color: var(--gold-dim); }
.workflow-card::after { content: '';position: absolute;top: 0;right: 0;width: 100px;height: 100px;background: radial-gradient(circle at top right, rgba(var(--gold-rgb),0.06), transparent 70%); }
:where(.pg-automotive-aftermarket-catalog-features) .workflow-card .label { margin-bottom: 0.8rem; }
.workflow-card h3 { font-size: 1.45rem;font-weight: 600;color: var(--text-primary);margin-bottom: 1rem; }
.workflow-card p { font-size: 0.88rem;color: var(--text-secondary);line-height: 1.8; }
.api-inner { display: grid;grid-template-columns: 1fr 1fr;gap: 5rem;align-items: center; }
.api-copy h2 { font-size: clamp(2rem, 3.5vw, 3rem);font-weight: 600;margin: 0.6rem 0 1.5rem; }
.api-copy p { font-size: 0.95rem;color: var(--text-secondary);line-height: 1.85;margin-bottom: 1.2rem; }
.api-copy strong { color: var(--text-primary);font-weight: 500; }
.api-points { display: flex;flex-direction: column;gap: 0;border: 1px solid var(--border);border-radius: 4px;overflow: hidden; }
.api-point { display: flex;align-items: flex-start;gap: 1rem;padding: 1.4rem 1.5rem;border-bottom: 1px solid var(--border);background: var(--bg-card); }
.api-point:last-child { border-bottom: none; }
.api-icon { flex-shrink: 0;width: 32px;height: 32px;border-radius: 50%;background: rgba(var(--gold-rgb),0.1);border: 1px solid rgba(var(--gold-rgb),0.2);display: flex;align-items: center;justify-content: center; }
.api-icon svg { width: 14px;height: 14px;stroke: var(--gold);fill: none;stroke-width: 2;stroke-linecap: round;stroke-linejoin: round; }
.api-point h3 { font-family: 'Outfit', sans-serif;font-size: 0.88rem;font-weight: 600;color: var(--text-primary);margin-bottom: 0.2rem; }
.api-point p { font-size: 0.82rem;color: var(--text-secondary);line-height: 1.65;margin: 0; }
.commerce-points { display: flex;flex-direction: column;border: 1px solid var(--border);border-radius: 4px;overflow: hidden; }
.commerce-point { display: flex;align-items: flex-start;gap: 1rem;padding: 1.5rem;border-bottom: 1px solid var(--border);background: var(--bg-card);transition: background 0.2s; }
.commerce-point:last-child { border-bottom: none; }
.commerce-point:hover { background: var(--bg-card-hover); }
.cp-icon { flex-shrink: 0;width: 36px;height: 36px;border-radius: 50%;background: rgba(var(--gold-rgb),0.1);border: 1px solid rgba(var(--gold-rgb),0.2);display: flex;align-items: center;justify-content: center;margin-top: 1px; }
.cp-icon svg { width: 16px;height: 16px;stroke: var(--gold);fill: none;stroke-width: 1.8;stroke-linecap: round;stroke-linejoin: round; }
.cp-body h3 { font-family: 'Outfit', sans-serif;font-size: 0.88rem;font-weight: 600;color: var(--text-primary);margin-bottom: 0.3rem; }
.cp-body p { font-size: 0.8rem;color: var(--text-secondary);line-height: 1.65;margin: 0; }
.parity-grid { display: grid;grid-template-columns: 1fr 1fr;gap: 1.5rem; }
.parity-card { padding: 2.5rem;border: 1px solid var(--border);border-radius: 4px;background: var(--bg-card);position: relative;overflow: hidden;transition: border-color 0.25s; }
.parity-card:hover { border-color: var(--gold-dim); }
.parity-card::after { content: '';position: absolute;top: 0;right: 0;width: 100px;height: 100px;background: radial-gradient(circle at top right, rgba(var(--gold-rgb),0.06), transparent 70%); }
:where(.pg-pies-product-data-management-software) .parity-card .label { margin-bottom: 0.8rem; }
.parity-card h3 { font-size: 1.4rem;font-weight: 600;color: var(--text-primary);margin-bottom: 0.9rem; }
.parity-card p { font-size: 0.87rem;color: var(--text-secondary);line-height: 1.75; }
.standards-note { padding: 3.5rem 0;border-top: 1px solid var(--border);border-bottom: 1px solid var(--border);background: var(--bg-surface); }
.problem-section { background: var(--bg-surface); }
.loss-chain { border: 1px solid var(--border);border-radius: 4px;overflow: hidden; }
.loss-item { display: grid;grid-template-columns: 64px 1fr;border-bottom: 1px solid var(--border);transition: background 0.2s; }
.loss-item:last-child { border-bottom: none; }
.loss-item:hover { background: rgba(var(--gold-rgb),0.02); }
.loss-number { display: flex;align-items: center;justify-content: center;background: var(--error-bg);border-right: 1px solid var(--border);font-family: 'Outfit', sans-serif !important;font-size: 1.8rem;font-weight: 700;color: var(--error); }
.loss-body { padding: 2rem 2.2rem; }
.loss-body h3 { font-family: 'Outfit', sans-serif;font-size: 0.95rem;font-weight: 600;color: var(--text-primary);margin-bottom: 0.7rem;letter-spacing: 0.02em; }
.loss-body p { font-size: 0.88rem;color: var(--text-secondary);line-height: 1.8;margin-bottom: 0.65rem; }
.loss-body p:last-of-type { margin-bottom: 0.75rem; }
.loss-tag { display: inline-block;font-size: 0.68rem;font-weight: 600;letter-spacing: 0.12em;text-transform: uppercase;color: var(--error);background: var(--error-bg);padding: 0.2rem 0.6rem;border-radius: 2px; }
.insight-box { margin-top: 3rem;padding: 2rem 2.5rem;border: 1px solid var(--border-light);border-left: 3px solid var(--gold);background: rgba(var(--gold-rgb),0.04);border-radius: 0 4px 4px 0; }
.insight-box p { font-family: 'Cormorant Garamond', serif;font-size: 1.3rem;font-style: italic;color: var(--text-primary);line-height: 1.7; }
.icp-grid { display: grid;grid-template-columns: 1fr 1fr;gap: 1.5rem; }
.icp-card { padding: 3rem;border: 1px solid var(--border);border-radius: 4px;background: var(--bg-card);position: relative;overflow: hidden;transition: border-color 0.25s; }
.icp-card:hover { border-color: var(--gold-dim); }
.icp-card::after { content: '';position: absolute;top: 0;right: 0;width: 120px;height: 120px;background: radial-gradient(circle at top right, rgba(var(--gold-rgb),0.07), transparent 70%); }
:where(.pg-index) .icp-card .label { margin-bottom: 1rem; }
.icp-card h3 { font-size: 1.7rem;font-weight: 600;color: var(--text-primary);margin-bottom: 1rem; }
.icp-card p { font-size: 0.9rem;color: var(--text-secondary);line-height: 1.75;margin-bottom: 1.5rem; }
.icp-list { list-style: none;display: flex;flex-direction: column;gap: 0.55rem; }
.icp-list li { display: flex;align-items: flex-start;gap: 0.6rem;font-size: 0.85rem;color: var(--text-secondary); }
.icp-list li::before { content: '→';color: var(--gold);flex-shrink: 0; }
.benefits-grid { display: grid;grid-template-columns: 1fr 1fr;gap: 1px;background: var(--border);border: 1px solid var(--border);border-radius: 4px;overflow: hidden; }
.benefit-card { background: var(--bg-card);padding: 3rem;transition: background 0.25s;position: relative; }
.benefit-card:hover { background: var(--bg-card-hover); }
.benefit-card::before { content: '';position: absolute;top: 0;left: 0;right: 0;height: 2px;background: transparent;transition: background 0.25s; }
.benefit-card:hover::before { background: linear-gradient(90deg, var(--gold-dim), var(--gold), var(--gold-dim)); }
.benefit-number { font-family: 'Outfit', sans-serif !important;font-size: 3rem;font-weight: 700;color: rgba(var(--gold-rgb),0.15);line-height: 1;margin-bottom: 1rem; }
.benefit-card h3 { font-size: 1.6rem;font-weight: 600;color: var(--text-primary);margin-bottom: 1rem; }
.benefit-card p { font-size: 0.9rem;color: var(--text-secondary);line-height: 1.8; }
.benefit-card p + p { margin-top: 0.75rem; }
.card-link { display: inline-flex;align-items: center;gap: 0.35rem;margin-top: 1.5rem;font-size: 0.78rem;font-weight: 600;letter-spacing: 0.08em;text-transform: uppercase;color: var(--gold);text-decoration: none;transition: color 0.2s, gap 0.2s; }
.card-link:hover { color: var(--gold-light);gap: 0.55rem; }
.onprem-section { background: var(--bg-surface);position: relative;overflow: hidden; }
.onprem-section::before { content: '';position: absolute;bottom: -100px;left: -100px;width: 500px;height: 500px;background: none;pointer-events: none; }
.onprem-inner { display: grid;grid-template-columns: 1fr 1fr;gap: 5rem;align-items: start; }
.onprem-copy h2 { font-size: clamp(2rem, 3.5vw, 3rem);font-weight: 600;margin: 0.6rem 0 1.2rem; }
.onprem-copy p { font-size: 0.95rem;color: var(--text-secondary);line-height: 1.8;margin-bottom: 1rem; }
.onprem-points { display: flex;flex-direction: column;border: 1px solid var(--border);border-radius: 4px;overflow: hidden; }
.onprem-point { display: flex;align-items: flex-start;gap: 1rem;padding: 1.4rem 1.5rem;border-bottom: 1px solid var(--border);background: var(--bg-card); }
.onprem-point:last-child { border-bottom: none; }
.point-check { flex-shrink: 0;margin-top: 1px; }
.point-check svg { width: 18px;height: 18px;stroke: var(--gold);fill: none;stroke-width: 2;stroke-linecap: round;stroke-linejoin: round; }
.boutique-point h3 { font-family: 'Outfit', sans-serif;font-size: 0.88rem;font-weight: 600;color: var(--text-primary);margin-bottom: 0.2rem; }
.boutique-point p { font-size: 0.82rem;color: var(--text-secondary);line-height: 1.65;margin: 0; }
.onprem-point h3 { font-family: 'Outfit', sans-serif;font-size: 0.88rem;font-weight: 600;color: var(--text-primary);margin-bottom: 0.25rem; }
.onprem-point p { font-size: 0.82rem;color: var(--text-secondary);line-height: 1.65;margin: 0; }
.standards-section { padding: 3.5rem 0;border-top: 1px solid var(--border);border-bottom: 1px solid var(--border);background: var(--bg-surface); }
.standards-inner { display: flex;flex-wrap: wrap;align-items: center;gap: 1rem 2.5rem; }
.standards-label { font-size: 0.7rem;font-weight: 600;letter-spacing: 0.15em;text-transform: uppercase;color: var(--text-muted);flex-shrink: 0; }
.standards-divider { width: 1px;height: 28px;background: var(--border-light);flex-shrink: 0; }
.standards-badges { display: flex;flex-wrap: wrap;gap: 0.6rem; }
.badge { font-size: 0.7rem;font-weight: 700;letter-spacing: 0.1em;text-transform: uppercase;color: var(--gold);background: rgba(var(--gold-rgb),0.08);border: 1px solid rgba(var(--gold-rgb),0.2);padding: 0.3rem 0.75rem;border-radius: 2px; }
:where(.pg-index) .badge.member { color: var(--text-secondary);background: rgba(var(--ink-rgb),0.04);border-color: var(--border-light); }
.cta-section { text-align: center;padding: 8rem 0;position: relative;overflow: hidden; }
.cta-section::before { content: '';position: absolute;inset: 0;background: radial-gradient(ellipse at center, rgba(var(--gold-rgb),0.06) 0%, transparent 65%);pointer-events: none; }
.cta-section h2 { font-size: clamp(2.4rem, 5vw, 4rem);font-weight: 600;max-width: 720px;margin: 0.8rem auto 1.5rem; }
.cta-section p { font-size: 1.05rem;color: var(--text-secondary);max-width: 520px;margin: 0 auto 2.8rem;line-height: 1.8; }
.since-badge { display: inline-flex;align-items: center;gap: 0.6rem;margin-top: 3rem;font-size: 0.72rem;font-weight: 600;letter-spacing: 0.14em;text-transform: uppercase;color: var(--text-muted); }
.since-badge::before, .since-badge::after { content: '';display: block;width: 40px;height: 1px;background: var(--border-light); }
:where(.pg-index,.pg-aces-pies-catalog-management-platform,.pg-aces-catalog-management-software,.pg-pies-product-data-management-software,.pg-automotive-aftermarket-catalog-features,.pg-customer-hosted-automotive-catalog-software,.pg-about-rivers-edge,.pg-privacy,.pg-cookie-policy,.tpl-page) footer { background: var(--bg-surface);border-top: 1px solid var(--border);padding: 3.5rem 0 2rem; }
.footer-inner { display: grid;grid-template-columns: 2fr 1fr 1fr 1fr 1fr;gap: 2.5rem;margin-bottom: 3rem; }
.footer-brand p { font-size: 0.85rem;color: var(--text-muted);line-height: 1.7;margin-top: 1rem;max-width: 280px; }
.footer-col h3 { font-family: 'Outfit', sans-serif;font-size: 0.72rem;font-weight: 600;letter-spacing: 0.14em;text-transform: uppercase;color: var(--text-muted);margin-bottom: 1rem; }
.footer-col ul { list-style: none; }
.footer-col ul li { margin-bottom: 0.6rem; }
.footer-col ul a { font-size: 0.85rem;color: var(--text-secondary);text-decoration: none;transition: color 0.2s; }
.footer-col ul a:hover { color: var(--gold-light); }
:where(.pg-index,.pg-aces-pies-catalog-management-platform,.pg-aces-catalog-management-software,.pg-pies-product-data-management-software,.pg-automotive-aftermarket-catalog-features,.pg-customer-hosted-automotive-catalog-software,.pg-about-rivers-edge,.pg-privacy,.pg-cookie-policy,.tpl-page) .footer-bottom { display: flex;align-items: center;justify-content: space-between;padding-top: 2rem;border-top: 1px solid var(--border);font-size: 0.78rem;color: var(--text-muted); }
.footer-legal { display: flex;gap: 1.5rem; }
.footer-legal a { color: var(--text-muted);text-decoration: none;transition: color 0.2s; }
.footer-legal a:hover { color: var(--text-secondary); }
.hamburger { display: none;flex-direction: column;justify-content: center;gap: 5px;background: none;border: none;cursor: pointer;padding: 8px;margin-right: -8px;flex-shrink: 0; }
.hamburger span { display: block;width: 22px;height: 2px;background: var(--text-secondary);border-radius: 2px;transition: transform 0.25s ease, opacity 0.2s ease;transform-origin: center; }
.hamburger:hover span { background: var(--text-primary); }
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0;transform: scaleX(0); }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.mobile-menu { display: none;position: fixed;top: 68px;left: 0;right: 0;bottom: 0;z-index: 98;background: var(--bar);backdrop-filter: blur(16px);flex-direction: column;padding: 2rem;overflow-y: auto;border-top: 1px solid var(--border); }
.mobile-menu.open { display: flex; }
.mob-nav { list-style: none;display: flex;flex-direction: column;border: 1px solid var(--border);border-radius: 4px;overflow: hidden;margin-bottom: auto; }
.mob-nav li a { display: block;padding: 1.1rem 1.5rem;font-size: 0.95rem;font-weight: 500;color: var(--text-secondary);text-decoration: none;border-bottom: 1px solid var(--border);background: var(--bg-card);transition: color 0.2s, background 0.2s; }
.mob-nav li:last-child a { border-bottom: none; }
.mob-nav li a:hover { color: var(--text-primary);background: var(--bg-card-hover); }
.mob-nav li a.active { color: var(--gold-light); }
.mob-nav li a.mob-cta { color: var(--on-gold);background: var(--gold);font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;font-size: 0.82rem; }
.mob-nav li a.mob-cta:hover { background: var(--gold-light);color: var(--on-gold); }
.mob-tagline { font-size: 0.68rem;font-weight: 600;letter-spacing: 0.16em;text-transform: uppercase;color: var(--text-muted);text-align: center;padding-top: 2rem; }
@keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
:where(.pg-contact,.pg-request-demo) .fade-in { opacity: 0;animation: fadeUp 0.6s ease forwards; }
:where(.pg-contact,.pg-request-demo) .fade-in:nth-child(1) { animation-delay: 0.1s; }
:where(.pg-contact,.pg-request-demo) .fade-in:nth-child(2) { animation-delay: 0.2s; }
:where(.pg-contact,.pg-request-demo) .fade-in:nth-child(3) { animation-delay: 0.3s; }
:where(.pg-request-demo) .fade-in:nth-child(4) { animation-delay: 0.4s; }
:where(.pg-index,.pg-aces-pies-catalog-management-platform,.pg-aces-catalog-management-software,.pg-pies-product-data-management-software,.pg-automotive-aftermarket-catalog-features,.pg-customer-hosted-automotive-catalog-software,.pg-about-rivers-edge,.pg-privacy,.pg-cookie-policy,.tpl-page) .fade-in { opacity: 0;transform: translateY(24px);transition: opacity 0.7s ease, transform 0.7s ease; }
:where(.pg-index,.pg-aces-pies-catalog-management-platform,.pg-aces-catalog-management-software,.pg-pies-product-data-management-software,.pg-automotive-aftermarket-catalog-features,.pg-customer-hosted-automotive-catalog-software,.pg-about-rivers-edge,.pg-privacy,.pg-cookie-policy,.tpl-page) .fade-in.visible { opacity: 1;transform: translateY(0); }
.skip-link { position: absolute;left: -9999px;top: 0;z-index: 200;background: var(--gold);color: var(--on-gold);font-size: 0.82rem;font-weight: 600;letter-spacing: 0.06em;padding: 0.7rem 1.4rem;border-radius: 0 0 3px 0;text-decoration: none; }
.skip-link:focus { left: 0; }
:focus-visible { outline: 2px solid var(--gold);outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important;animation-iteration-count: 1 !important;transition-duration: 0.01ms !important; }
  html { scroll-behavior: auto; }
  .fade-in { opacity: 1 !important;transform: none !important; }
}
@media (max-width: 1080px) {
  .nav-links { gap: 1.2rem; }
  .nav-links a { font-size: 0.78rem; }
}
@media (max-width: 900px) {
  .page-wrap { grid-template-columns: 1fr; }
  :where(.pg-request-demo) .left-panel { padding: 4rem 2rem 3rem;border-right: none;border-bottom: 1px solid var(--border); }
  :where(.pg-request-demo) .right-panel { padding: 3rem 2rem 4rem; }
  :where(.pg-contact) .left-panel { padding: 5rem 2rem 3rem;border-right: none;border-bottom: 1px solid var(--border);justify-content: flex-start; }
  :where(.pg-contact) .right-panel { padding: 3rem 2rem 5rem; }
  :where(.pg-about-rivers-edge) .page-hero-inner { grid-template-columns: 1fr; }
  .hero-stat-grid { grid-template-columns: repeat(4,1fr); }
  .story-body { grid-template-columns: 1fr; }
  .story-cols { grid-template-columns: 1fr;gap: 3rem; }
  .story-aside { position: static; }
  .standards-grid { grid-template-columns: 1fr 1fr; }
  .landlord-inner { grid-template-columns: 1fr;gap: 3rem; }
  .deploy-grid { grid-template-columns: 1fr 1fr; }
  .database-inner { grid-template-columns: 1fr;gap: 3rem; }
  .beyond-inner { grid-template-columns: 1fr;gap: 3rem; }
  .outcomes-grid { grid-template-columns: 1fr; }
  .enrichment-inner { grid-template-columns: 1fr;gap: 3rem; }
  .workflow-grid { grid-template-columns: 1fr; }
  .api-inner { grid-template-columns: 1fr;gap: 3rem; }
  .trap-inner { grid-template-columns: 1fr;gap: 3rem; }
  .child-segments { grid-template-columns: 1fr 1fr; }
  .parent-segments { grid-template-columns: 1fr; }
  .commerce-inner { grid-template-columns: 1fr;gap: 3rem; }
  .parity-grid { grid-template-columns: 1fr; }
  .discovery-inner { grid-template-columns: 1fr;gap: 3rem; }
  .parity-inner { grid-template-columns: 1fr;gap: 3rem; }
  .pillars-grid { grid-template-columns: 1fr; }
  .fields-inner { grid-template-columns: 1fr;gap: 3rem; }
  .validation-inner { grid-template-columns: 1fr;gap: 3rem; }
  .agentic-inner { grid-template-columns: 1fr;gap: 3rem; }
  .sovereignty-inner { grid-template-columns: 1fr;gap: 3rem; }
  .audience-grid { grid-template-columns: 1fr; }
  .benefits-grid { grid-template-columns: 1fr; }
  .onprem-inner { grid-template-columns: 1fr;gap: 3rem; }
  .icp-grid { grid-template-columns: 1fr; }
  .footer-inner { grid-template-columns: 1fr 1fr; }
  .nav-links { display: none; }
  .hamburger { display: flex; }
  .cookie-table { font-size: 0.8rem; }
  .cookie-table th, .cookie-table td { padding: 0.75rem 0.9rem; }
}
@media (max-width: 600px) {
  .form-row { grid-template-columns: 1fr; }
  .standards-grid { grid-template-columns: 1fr; }
  .hero-stat-grid { grid-template-columns: 1fr 1fr; }
  .deploy-grid { grid-template-columns: 1fr; }
  .agentic-grid { grid-template-columns: 1fr; }
  .child-segments { grid-template-columns: 1fr; }
  .footer-inner { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column;gap: 1rem;text-align: center; }
}

/* ==========================================================================
   Direction B overrides
   ========================================================================== */
/* drop the template tells: noise, grid, glow orbs, ticker */
body::before, .hero::after, .page-hero::after, .page-hero::before,
.cta-section::before, .cta-section::after, .left-panel::before, .left-panel::after,
.hero-orb, .credibility-bar { display: none !important; }
.hero-label::before { display: none; }

/* labels: sentence case, no tracking (the app never shouts) */
.label, .standards-label, .hero-label {
  text-transform: none; letter-spacing: 0.01em; font-size: 0.88rem; font-weight: 600;
}

/* nav = the Auto Plus app topbar */
nav:not(.crumbs) { background: var(--bar); border-bottom: 3px solid var(--bar-rule); backdrop-filter: none; }
.logo-wrap { flex-direction: row; align-items: baseline; gap: 10px; }
.logo-main {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 1.375rem; font-weight: 600; letter-spacing: -0.02em; color: #F7F4EE;
}
.logo-sub { font-size: 0.625rem; letter-spacing: 0.18em; color: #B8B1A5; margin-top: 0; }
.nav-links a { color: #B8B1A5; }
.nav-links a:hover { color: #F7F4EE; }
.nav-links a.active { color: #C9A84C; }
.btn-nav, .mob-cta {
  background: var(--gold-fill) !important; color: var(--on-gold) !important;
  text-transform: none; letter-spacing: 0.01em; border-radius: var(--radius-sm);
}
.btn-nav:hover { background: var(--gold-fill-hover) !important; }

/* buttons */
.btn-primary {
  background: var(--gold-fill); color: var(--on-gold);
  text-transform: none; letter-spacing: 0.01em; font-weight: 600; font-size: 0.95rem;
  border-radius: var(--radius-sm);
}
.btn-primary:hover { background: var(--gold-fill-hover); box-shadow: none; }
.btn-secondary { border-radius: var(--radius-sm); text-transform: none; letter-spacing: 0.01em; }

/* hero = teaser intro card: pure black, centred, one gold phrase */
.hero { background: var(--cinema); min-height: 0; padding: 11rem 0 7rem; text-align: center; }
.hero-content { margin: 0 auto; }
.hero-sub { margin-left: auto; margin-right: auto; }
.hero-actions { justify-content: center; }
h1.hero-headline { font-weight: 600; }
h1.hero-headline em, .page-hero h1 em, .cta-section h2 em { font-style: normal; color: var(--gold); }
.page-hero { background: var(--cinema); border-bottom: 0; }
.hero-inner { margin-left: auto; margin-right: auto; text-align: center; }
.hero-inner p { margin-left: auto; margin-right: auto; }
.pg-privacy .page-hero-inner, .pg-cookie-policy .page-hero-inner { margin: 0 auto; text-align: center; }

/* closing CTA = teaser outro card */
.cta-section { background: var(--cinema); }

/* light body */
.standards-section { background: var(--bg-surface); }
h1, h2, h3 { color: var(--text-primary); }

/* footer = espresso band, brass rule on top, Rivers Edge mark */
footer { background: var(--bar); border-top: 3px solid var(--bar-rule); }
.re-mark { display: flex; align-items: center; gap: 12px; margin-top: 1.4rem; text-decoration: none; }
.re-mark img { width: 44px; height: 44px; border-radius: 6px; flex-shrink: 0; }
.re-mark span { font-size: 0.78rem; line-height: 1.5; color: var(--text-secondary); }
.re-mark strong { color: var(--text-primary); font-weight: 500; }

/* contact + demo: the left panel is the black card, the form sits on parchment */
.left-panel { background: var(--cinema); border-right: 0; }

/* no shouting: the template's tracked all-caps chips become plain case.
   (.logo-sub keeps caps - that IS the app topbar.) */
.mbadge, .cm-label, .address-block .addr-label, .field label, .btn-submit, .cookie-tag,
.hero-stat .desc, .standard-badge, .timeline-year, .minimum-box .min-label, .parent-seg .ps-label,
.dr-tag, .parity-label-col span, .invalid-label, .pillar-link, .loss-tag, .card-link, .badge,
.since-badge, .footer-col h3, .mob-nav li a.mob-cta, .mob-tagline, .contact-alt p {
  text-transform: none; letter-spacing: 0.01em;
}
.badge, .standard-badge, .mbadge, .dr-tag, .loss-tag, .cookie-tag { border-radius: 6px; }

/* red is for genuine errors only: the marketing "loss chain" goes neutral.
   (invalid-application / over-mapping copy keeps red - those ARE violations.) */
.loss-number { background: var(--bar); color: #C9A84C; border-right-color: var(--bar); }
.loss-tag { color: var(--text-secondary); background: rgba(var(--ink-rgb),0.06); border-color: var(--border); }

/* demo form submit = the same gold button as everywhere else */
.btn-submit { background: var(--gold-fill); color: var(--on-gold); border-radius: var(--radius-sm); }
.btn-submit:hover:not(:disabled) { background: var(--gold-fill-hover); }
.left-panel h1 em { font-style: normal; color: var(--gold); }


/* nav fit (Oct 2026): 8 menu items + the app-style logo. The bar may run wider than the
   1160px content column; labels never wrap; spacing tightens, then the logo sub-line goes. */
.nav-inner { max-width: 1320px; }
.nav-links a { white-space: nowrap; }
@media (max-width: 1340px) { .nav-links { gap: 1.25rem; } }
@media (max-width: 1140px) { nav .logo-sub { display: none; } }

/* .tpl-page: put this class on the <body> of every NEW content page. It receives every
   page-scoped rule the ACES product page gets (body font/background, page hero, sections,
   fade-in, footer), so a new page looks like the rest of the site without editing lists. */

/* ==========================================================================
   Site-kit components (Oct 2026) - general building blocks for new pages.
   Used first by the Sales Channels pages; reuse them, don't fork them.
   Everything reads the theme tokens, so it follows any token change.
   ========================================================================== */

/* breadcrumb, sits above the label in a page hero */
.crumbs { font-size: 0.82rem; color: var(--text-muted); margin-bottom: 1.4rem; }
.crumbs a { color: var(--text-secondary); text-decoration: none; }
.crumbs a:hover { color: var(--gold); }
.crumbs span[aria-hidden] { margin: 0 0.5rem; }

/* prose block inside a section */
.prose p { font-size: 1rem; color: var(--text-secondary); line-height: 1.85; margin-bottom: 1.1rem; }
.prose strong { color: var(--text-primary); font-weight: 600; }
.prose h3 { font-size: 1.5rem; font-weight: 600; margin: 2rem 0 0.8rem; }

/* two columns: copy + aside (facts card, steps, etc.) */
.split { display: grid; grid-template-columns: 1.15fr 1fr; gap: 4.5rem; align-items: start; }
.split h2 { font-size: clamp(2rem, 3.5vw, 3rem); font-weight: 600; margin: 0.6rem 0 1.5rem; }

/* a white card listing short facts */
.fact-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); padding: 2rem 2.2rem; }
.fact-card h3 { font-family: 'Outfit', sans-serif; font-size: 0.95rem; font-weight: 600; margin-bottom: 1.1rem; }
.fact-card dl { display: grid; gap: 1rem; }
.fact-card dt { font-size: 0.8rem; font-weight: 600; color: var(--gold); }
.fact-card dd { font-size: 0.92rem; color: var(--text-secondary); line-height: 1.65; }

/* tick list (.ticks.no = a "never does" list with dashes) */
.ticks { list-style: none; display: grid; gap: 0.9rem; }
.ticks li { position: relative; padding-left: 1.8rem; font-size: 0.95rem; color: var(--text-secondary); line-height: 1.7; }
.ticks li::before { content: ''; position: absolute; left: 0; top: 0.45rem; width: 0.85rem; height: 0.5rem;
  border-left: 2px solid var(--gold-dim); border-bottom: 2px solid var(--gold-dim); transform: rotate(-45deg); }
.ticks li strong { color: var(--text-primary); font-weight: 600; }
.ticks.no li::before { width: 0.8rem; height: 2px; border: 0; background: var(--text-muted); transform: none; top: 0.75rem; }

/* card grid (features, principles) */
.card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.card-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kit-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); padding: 1.9rem 2rem; }
.kit-card h3 { font-family: 'Outfit', sans-serif; font-size: 1rem; font-weight: 600; margin-bottom: 0.6rem; }
.kit-card p { font-size: 0.9rem; color: var(--text-secondary); line-height: 1.75; }

/* channel cards with a status tag */
.channel-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.channel-card { display: flex; flex-direction: column; background: var(--bg-card); border: 1px solid var(--border);
  border-top: 3px solid var(--gold-dim); border-radius: var(--radius); padding: 2rem; text-decoration: none; color: inherit;
  transition: border-color 0.2s, transform 0.15s; }
a.channel-card:hover { border-color: var(--gold-dim); transform: translateY(-2px); }
.channel-card h3 { font-size: 1.7rem; font-weight: 600; margin: 0.8rem 0 0.6rem; }
.channel-card p { font-size: 0.9rem; color: var(--text-secondary); line-height: 1.7; flex: 1; }
.channel-card .more { margin-top: 1.4rem; font-size: 0.88rem; font-weight: 600; color: var(--gold); }
.channel-card.soon { border-top-color: var(--border-light); background: var(--bg-surface); }
.status { display: inline-block; align-self: flex-start; font-size: 0.75rem; font-weight: 600; padding: 0.2rem 0.65rem;
  border-radius: 6px; background: rgba(var(--gold-rgb), 0.14); color: var(--gold); }
.status.soon { background: rgba(var(--ink-rgb), 0.06); color: var(--text-muted); }

/* numbered steps */
.steps { list-style: none; counter-reset: step; display: grid; gap: 1rem; }
.steps li { counter-increment: step; position: relative; background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 1.4rem 1.6rem 1.4rem 4.4rem; }
.steps li::before { content: counter(step); position: absolute; left: 1.4rem; top: 1.3rem; width: 2rem; height: 2rem;
  border-radius: 50%; background: var(--bar); color: #C9A84C; font-weight: 600; font-size: 0.9rem;
  display: flex; align-items: center; justify-content: center; }
.steps h3 { font-family: 'Outfit', sans-serif; font-size: 0.98rem; font-weight: 600; margin-bottom: 0.3rem; }
.steps p { font-size: 0.88rem; color: var(--text-secondary); line-height: 1.7; }

/* field map: "on the channel" <- "from Auto Plus" */
.table-wrap { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg-card); }
.map-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; min-width: 560px; }
.map-table caption { text-align: left; padding: 1rem 1.4rem; font-size: 0.82rem; color: var(--text-muted); caption-side: bottom;
  border-top: 1px solid var(--border); }
.map-table th { text-align: left; font-size: 0.8rem; font-weight: 600; color: var(--text-primary); background: var(--bg-surface);
  padding: 0.9rem 1.4rem; border-bottom: 1px solid var(--border); }
.map-table td { padding: 0.85rem 1.4rem; border-bottom: 1px solid var(--border); color: var(--text-secondary); line-height: 1.6; vertical-align: top; }
.map-table tr:last-child td { border-bottom: 0; }
.map-table td:first-child { color: var(--text-primary); font-weight: 500; width: 34%; }

/* a dark callout box (the API Manager note on channel pages) */
.callout { display: grid; grid-template-columns: auto 1fr; gap: 1.4rem; align-items: start; background: var(--bar);
  color: #F7F4EE; border-radius: var(--radius); padding: 2rem 2.2rem; border-top: 3px solid var(--bar-rule); }
.callout h3 { font-family: 'Outfit', sans-serif; font-size: 1rem; font-weight: 600; color: #F7F4EE; margin-bottom: 0.4rem; }
.callout p { font-size: 0.9rem; color: #B8B1A5; line-height: 1.75; }
.callout a { color: #C9A84C; }
.callout svg { width: 28px; height: 28px; stroke: #C9A84C; fill: none; stroke-width: 1.6; margin-top: 0.15rem; }

/* FAQ (native details/summary - works without JS) */
.faq { display: grid; gap: 0.75rem; max-width: 860px; }
.faq details { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); }
.faq summary { cursor: pointer; list-style: none; padding: 1.2rem 3.2rem 1.2rem 1.5rem; position: relative;
  font-weight: 600; font-size: 0.98rem; color: var(--text-primary); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; position: absolute; right: 1.4rem; top: 50%; transform: translateY(-50%);
  font-size: 1.3rem; font-weight: 400; color: var(--gold); }
.faq details[open] summary::after { content: '\2212'; }
.faq details p { padding: 0 1.5rem 1.3rem; font-size: 0.92rem; color: var(--text-secondary); line-height: 1.8; }

/* trademark / affiliation note */
.tm-note { font-size: 0.78rem; color: var(--text-muted); line-height: 1.7; max-width: 860px; margin-top: 3rem; }

@media (max-width: 900px) {
  .split, .card-grid, .card-grid.two, .channel-grid { grid-template-columns: 1fr; gap: 1.25rem; }
  .split { gap: 2.5rem; }
}
@media (max-width: 600px) {
  .fact-card, .kit-card, .channel-card, .callout { padding: 1.6rem; }
  .callout { grid-template-columns: 1fr; }
  .steps li { padding-left: 4rem; }
}

/* homepage standards row: the Auto Care API badge is a link */
a.badge.api { text-decoration: none; border-color: var(--gold-dim); color: var(--gold); }
a.badge.api:hover { background: rgba(var(--gold-rgb), 0.12); }

/* SEO (Oct 2026): the small gold eyebrow now sits INSIDE each hero <h1> as the page's keyword
   phrase, styled exactly as the old label div above it - visually unchanged. */
h1 .h1-eyebrow { display: block; line-height: 1.6; font-style: normal; }

/* Phone tables (Oct 2026): .map-table and .cookie-table rows become stacked cards - first column
   is the card heading, every other value gets its column name (data-label, stamped by build.py)
   above it. No sideways scrolling inside a table on a phone. */
@media (max-width: 600px) {
  .table-wrap, .table-scroll { overflow: visible; }
  .map-table, .cookie-table { min-width: 0; border: 0; }
  .map-table thead, .cookie-table thead {
    position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
  }
  .map-table, .map-table tbody, .map-table tr, .map-table td,
  .cookie-table, .cookie-table tbody, .cookie-table tr, .cookie-table td { display: block; width: auto; }
  .map-table tr, .cookie-table tr { padding: 1.1rem 1.25rem; border-bottom: 1px solid var(--border); }
  .map-table tr:last-child, .cookie-table tr:last-child { border-bottom: 0; }
  .map-table td, .cookie-table td { padding: 0; border: 0; }
  .map-table td:first-child { width: auto; font-size: 0.98rem; }
  .map-table td + td::before, .cookie-table td + td::before {
    content: attr(data-label); display: block; margin: 0.7rem 0 0.15rem;
    font-size: 0.75rem; font-weight: 600; color: var(--gold);
  }
  .cookie-table { border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg-card); }
  .cookie-table caption { padding: 0.9rem 1.25rem 0; }
  .map-table caption, .cookie-table caption { display: block; width: auto; text-align: left; }
}

/* Footer text colour (Oct 2026 fix): plain, non-link text in the footer (e.g. "A Tennessee, USA
   company") inherited the page's DARK body colour and was invisible on the espresso footer. */
footer { color: var(--text-secondary); }
.footer-col ul li { font-size: 0.85rem; }


/* ==========================================================================
   Aftermarket Catalog Library (Oct 2026) - /library/ landing + articles.
   Landing list, byline, related articles and Article data are stamped by build.py.
   ========================================================================== */
.lib-cats { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.25rem; }
.lib-cat { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); padding: 1.8rem 2rem; }
.lib-cat h2 { font-size: 1.6rem; font-weight: 600; margin-bottom: .3rem; }
.lib-cat > p { font-size: .9rem; color: var(--text-secondary); margin-bottom: 1.2rem; line-height: 1.7; }
.lib-list { list-style: none; display: grid; gap: .1rem; }
.lib-list a { display: block; padding: .75rem 0; border-top: 1px solid var(--border); text-decoration: none; color: var(--text-primary);
  font-weight: 500; font-size: .95rem; line-height: 1.45; }
.lib-list a:hover { color: var(--gold); }
.lib-list span { display: block; font-size: .78rem; color: var(--text-muted); font-weight: 400; margin-top: .2rem; }
.lib-side { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.25rem; margin-top: 1.25rem; }
/* article */
.art-hero h1 { max-width: 900px; margin-left: auto; margin-right: auto; }
.byline { font-size: .85rem; color: var(--text-secondary); margin-top: 1.2rem; }
.byline strong { color: var(--text-primary); font-weight: 500; }
.art-wrap { display: grid; grid-template-columns: 220px minmax(0, 720px); gap: 4rem; justify-content: center; align-items: start; }
.toc { position: sticky; top: 100px; font-size: .85rem; }
.toc h2 { font-family: 'Outfit', sans-serif; font-size: .8rem; font-weight: 600; color: var(--gold); margin-bottom: .8rem; }
.toc ol { list-style: none; display: grid; gap: .55rem; border-left: 2px solid var(--border); padding-left: 1rem; }
.toc a { color: var(--text-secondary); text-decoration: none; line-height: 1.4; }
.toc a:hover { color: var(--gold); }
.article { font-size: 1.05rem; }
.article .lead { font-size: 1.2rem; line-height: 1.75; color: var(--text-primary); margin-bottom: 2rem; }
.article h2 { font-size: 2rem; font-weight: 600; margin: 3rem 0 1rem; }
.article p { color: var(--text-secondary); line-height: 1.85; margin-bottom: 1.15rem; }
.article ul.ticks { margin: 1rem 0 1.6rem; }
.article p a, .article li a { color: var(--gold); text-underline-offset: 2px; }
.article p a:hover, .article li a:hover { color: var(--text-primary); }
.takeaway { border-left: 3px solid var(--gold-dim); background: var(--bg-card); padding: 1.3rem 1.6rem; margin: 2rem 0;
  border-radius: 0 var(--radius) var(--radius) 0; }
.takeaway strong { display: block; font-size: .8rem; color: var(--gold); margin-bottom: .35rem; }
.takeaway p { margin: 0; color: var(--text-primary); }
.sources { margin-top: 3.5rem; padding-top: 2rem; border-top: 1px solid var(--border); }
.sources h2 { font-size: 1.5rem; margin-top: 0; }
.sources ol { padding-left: 1.3rem; display: grid; gap: .6rem; font-size: .9rem; color: var(--text-secondary); }
.sources a { color: var(--gold); }
.about-box { margin-top: 3rem; background: var(--bar); color: #F7F4EE; border-top: 3px solid var(--bar-rule);
  border-radius: var(--radius); padding: 1.8rem 2rem; }
.about-box h2 { font-family: 'Outfit', sans-serif; font-size: 1rem; font-weight: 600; color: #F7F4EE; margin: 0 0 .5rem; }
.about-box p { color: #B8B1A5; font-size: .92rem; margin: 0 0 .5rem; }
.about-box a { color: #C9A84C; }
.related { margin-top: 3rem; }
.related h2 { font-size: 1.5rem; margin: 0 0 1rem; }
/* labelled data example (Library brief s.12: always marked "Example", always accurate) */
.example { margin: 1.6rem 0 2rem; background: var(--bar); border-radius: var(--radius); overflow: hidden; }
.example figcaption { font-size: .78rem; font-weight: 600; color: #C9A84C; padding: .7rem 1.2rem 0; }
.example pre { margin: 0; padding: .6rem 1.2rem 1.1rem; color: #F7F4EE; font-family: Consolas, 'Courier New', monospace;
  font-size: .82rem; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
.example .ex-bad { color: #F29B9B; font-weight: 700; }   /* red = a genuine error (brief s.12) */
.example .ex-good { color: #7FD3A2; font-weight: 700; }
.example .ex-warn { color: #E9C46A; font-weight: 700; }   /* amber = accurate but excessive, NOT an error */
.example .ex-note a { color: #C9A84C; }
.example .ex-note { display: block; color: #B8B1A5; font-family: 'Outfit', sans-serif; font-size: .82rem; padding: 0 1.2rem 1rem; }
.article code { font-family: Consolas, 'Courier New', monospace; font-size: .9em; background: var(--bg-card);
  border: 1px solid var(--border); border-radius: 4px; padding: 0 .3em; overflow-wrap: anywhere; }
.article .example code { background: none; border: 0; padding: 0; font-size: inherit; }
.article ol.steps-list { padding-left: 1.3rem; margin: 1rem 0 1.6rem; display: grid; gap: .6rem; color: var(--text-secondary); line-height: 1.75; }
@media (max-width: 900px) {
  .lib-cats, .lib-side { grid-template-columns: 1fr; }
  .art-wrap { grid-template-columns: 1fr; gap: 2rem; }
  .toc { position: static; }
}
  
.kit-card h2.kit-card-title { font-family: 'Outfit', sans-serif; font-size: 1rem; font-weight: 600; margin-bottom: 0.6rem; }
