@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");

:root {
  --brand: #91b94c;
  --brand-bright: #c8e86a;
  --brand-dark: #526e2b;
  --ink: #050808;
  --page-dark: #0a0a0a;
  --surface-1: #111311;
  --surface-2: #181b18;
  --surface-3: #222622;
  --border-dark: #2b302b;
  --page-light: #f5f7f3;
  --surface-light: #fff;
  --border-light: #dce2d8;
  --text-dark: #171a17;
  --text-muted: #4e574f;
  --text-light: #e8ece8;
  --text-muted-dark: #a5aea6;
  --success: #43b66d;
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 22px;
  --container: 1240px;
  --header-height: 82px;
  --duration-fast: 140ms;
  --duration-normal: 220ms;
  --duration-reveal: 650ms;
  --ease: cubic-bezier(.2, 0, 0, 1);
  --ease-enter: cubic-bezier(.16, 1, .3, 1);
  --shadow-card: 0 16px 40px rgba(0, 0, 0, .18);
  --shadow-menu: 0 24px 70px rgba(0, 0, 0, .35);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--text-dark); background: var(--page-light); font: 400 16px/1.65 "Inter", system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.1; letter-spacing: -.045em; }
p { color: var(--text-muted); }
.section-dark p { color: var(--text-muted-dark); }
.container { width: min(var(--container), calc(100% - 48px)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 2000; padding: 10px 14px; color: var(--ink); background: var(--brand-bright); border-radius: 8px; font-weight: 700; transform: translateY(-160%); transition: transform var(--duration-fast) var(--ease); }
.skip-link:focus { transform: translateY(0); }

.site-header { position: fixed; inset: 0 0 auto; z-index: 1000; padding: 12px 0; transition: background var(--duration-normal) var(--ease), box-shadow var(--duration-normal) var(--ease); }
.site-header.is-scrolled, .site-header.is-menu-open { background: rgba(5, 8, 8, .88); border-bottom: 1px solid rgba(255, 255, 255, .08); box-shadow: 0 12px 35px rgba(0, 0, 0, .18); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.nav { min-height: 58px; display: flex; align-items: center; gap: 30px; }
.brand { width: auto; flex: 0 0 auto; display: inline-flex; align-items: center; gap: 9px; border-radius: 8px; }
.brand::before, .footer-brand > a::before { content: ""; width: 39px; height: 39px; flex: 0 0 auto; display: block; background-image: url("../images/paptra-first-home-logo.png"); background-repeat: no-repeat; background-position: left center; background-size: auto 39px; }
.brand img { width: 142px; height: auto; }
.footer-brand img { width: 150px; height: auto; }
.nav-panel { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex: 1; }
.nav-list, .dropdown-menu, .footer-nav ul { margin: 0; padding: 0; list-style: none; }
.nav-list { display: flex; align-items: center; justify-content: center; gap: 1px; flex: 1; }
.nav-link { min-height: 42px; padding: 10px 10px; display: inline-flex; align-items: center; gap: 6px; color: #cdd3ce; border: 0; border-radius: 9px; background: transparent; font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap; cursor: pointer; transition: color var(--duration-fast) var(--ease), background var(--duration-fast) var(--ease); }
.nav-link:hover, .nav-link:focus-visible, .nav-link.is-current, .nav-item-dropdown.is-open > .nav-link { color: #fff; background: rgba(255, 255, 255, .07); }
.nav-link.is-current { color: var(--brand-bright); }
.dropdown-toggle svg { width: 14px; height: 14px; }
.dropdown-toggle svg path { fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.nav-item-dropdown { position: relative; }
.nav-item-dropdown.is-open .dropdown-toggle svg { transform: rotate(180deg); }
.dropdown-menu { position: absolute; top: calc(100% + 10px); left: 50%; width: 230px; padding: 8px; visibility: hidden; opacity: 0; color: var(--text-light); background: rgba(17, 19, 17, .98); border: 1px solid var(--border-dark); border-radius: 14px; box-shadow: var(--shadow-menu); transform: translate(-50%, -6px); transition: opacity 180ms var(--ease), transform 180ms var(--ease), visibility 180ms var(--ease); }
.dropdown-menu-wide { width: 310px; }
.nav-item-dropdown.is-open > .dropdown-menu { visibility: visible; opacity: 1; transform: translate(-50%, 0); }
.dropdown-menu a { padding: 10px 11px; display: block; color: var(--text-muted-dark); border-radius: 9px; font-size: 13px; text-decoration: none; transition: color var(--duration-fast), background var(--duration-fast); }
.dropdown-menu a:hover, .dropdown-menu a:focus-visible { color: #fff; background: rgba(145, 185, 76, .11); }
.dropdown-menu strong, .dropdown-menu span { display: block; }
.dropdown-menu strong { color: #ecf0ed; font-size: 13px; }
.dropdown-menu span { margin-top: 2px; font-size: 11px; }
.dropdown-menu .external-mark { display: inline; color: var(--brand-bright); }
.nav-actions, .button-group { display: flex; align-items: center; gap: 10px; }
.nav-actions { flex: 0 0 auto; }
.button { min-height: 48px; padding: 13px 20px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; border: 1px solid transparent; border-radius: 11px; font-size: 14px; font-weight: 700; line-height: 1; text-decoration: none; transition: transform var(--duration-fast) var(--ease), background var(--duration-normal) var(--ease), border-color var(--duration-normal) var(--ease), box-shadow var(--duration-normal) var(--ease); }
.button:hover { transform: translateY(-2px); }
.button:active { transform: translateY(0) scale(.98); }
.button:focus-visible, a:focus-visible, button:focus-visible { outline: 3px solid rgba(200, 232, 106, .45); outline-offset: 3px; }
.button-small { min-height: 42px; padding: 11px 15px; }
.button-primary { color: var(--ink); background: linear-gradient(135deg, var(--brand), var(--brand-bright)); box-shadow: 0 12px 32px rgba(145, 185, 76, .18); }
.button-primary:hover { box-shadow: 0 15px 36px rgba(145, 185, 76, .28); }
.button-secondary { color: #fff; border-color: rgba(255, 255, 255, .18); background: rgba(255, 255, 255, .035); }
.button-secondary:hover { border-color: rgba(255, 255, 255, .34); background: rgba(255, 255, 255, .07); }
.button-quiet { min-height: 42px; padding: 11px 12px; color: #e7ebe8; }
.menu-toggle { width: 46px; height: 46px; margin-left: auto; display: none; align-items: center; justify-content: center; flex-direction: column; gap: 5px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 11px; background: rgba(255, 255, 255, .06); cursor: pointer; }
.menu-toggle > span:not(.sr-only) { width: 20px; height: 1.5px; display: block; background: #fff; transition: transform var(--duration-fast), opacity var(--duration-fast); }
.site-header.is-menu-open .menu-toggle > span:nth-of-type(2) { transform: translateY(6.5px) rotate(45deg); }
.site-header.is-menu-open .menu-toggle > span:nth-of-type(3) { opacity: 0; }
.site-header.is-menu-open .menu-toggle > span:nth-of-type(4) { transform: translateY(-6.5px) rotate(-45deg); }

.section-dark { color: var(--text-light); background: var(--page-dark); }
.hero { min-height: 790px; padding: 170px 0 105px; position: relative; overflow: hidden; background: radial-gradient(circle at 78% 28%, rgba(145,185,76,.15), transparent 30%), linear-gradient(145deg, #050808 0%, #0a0a0a 60%, #101510 100%); }
.hero-grid, .cta-grid { position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(145,185,76,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(145,185,76,.12) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to bottom, #000, transparent 82%); }
.hero-glow { position: absolute; right: 5%; bottom: -200px; width: 620px; height: 420px; border-radius: 50%; background: rgba(145,185,76,.12); filter: blur(100px); }
.hero-layout { position: relative; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 70px; }
.hero-content { position: relative; z-index: 2; }
.eyebrow { margin-bottom: 20px; display: flex; align-items: center; gap: 10px; color: var(--brand-bright) !important; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow span { width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 5px rgba(200,232,106,.1); }
.eyebrow.dark { color: var(--brand-dark) !important; }
.hero h1 { max-width: 680px; margin-bottom: 25px; color: #fff; font-size: clamp(48px, 5.3vw, 76px); font-weight: 700; }
.hero h1 em { color: var(--brand-bright); font-style: normal; }
.hero-summary { max-width: 620px; margin-bottom: 32px; font-size: 18px; line-height: 1.65; }
.hero-assurances { margin: 28px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 16px 22px; color: #bbc3bc; list-style: none; font-size: 12px; }
.hero-assurances span { margin-right: 6px; color: var(--brand-bright); }

.product-visual { min-height: 500px; position: relative; color: var(--text-light); background: rgba(13,16,13,.94); border: 1px solid rgba(255,255,255,.14); border-radius: 20px; box-shadow: 0 38px 90px rgba(0,0,0,.42); transform-style: preserve-3d; transition: transform 300ms var(--ease); }
.visual-toolbar { height: 58px; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--border-dark); }
.visual-brand { display: flex; align-items: center; gap: 9px; font-size: 12px; }
.visual-mark { width: 25px; height: 25px; display: grid; place-items: center; color: var(--ink); background: var(--brand-bright); border-radius: 7px; font-weight: 800; }
.live-status { padding: 6px 9px; display: flex; align-items: center; gap: 6px; color: #b7c0b8; background: rgba(255,255,255,.04); border: 1px solid var(--border-dark); border-radius: 999px; font-size: 9px; }
.live-status i { width: 6px; height: 6px; background: var(--success); border-radius: 50%; box-shadow: 0 0 8px var(--success); }
.visual-body { min-height: 440px; display: grid; grid-template-columns: 58px 1fr; }
.visual-sidebar { padding-top: 28px; display: flex; align-items: center; flex-direction: column; gap: 20px; border-right: 1px solid var(--border-dark); }
.visual-sidebar span { width: 17px; height: 17px; border: 1px solid #586058; border-radius: 5px; }
.visual-sidebar span.active { background: var(--brand); border-color: var(--brand); box-shadow: 0 0 14px rgba(145,185,76,.3); }
.workflow-panel { padding: 28px; }
.panel-heading { display: flex; justify-content: space-between; align-items: center; }
.panel-heading div span, .panel-heading div strong { display: block; }
.panel-heading div span { color: #7e8980; font-size: 9px; }
.panel-heading div strong { margin-top: 4px; font-size: 18px; }
.status-pill { padding: 6px 10px; color: var(--brand-bright); background: rgba(145,185,76,.12); border: 1px solid rgba(145,185,76,.25); border-radius: 999px; font-size: 9px; }
.document-row { margin-top: 25px; padding: 16px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 13px; background: rgba(255,255,255,.035); border: 1px solid var(--border-dark); border-radius: 12px; }
.file-icon { width: 38px; height: 42px; display: grid; place-items: center; color: #fff; background: #d85b5b; border-radius: 7px; font-size: 9px; font-weight: 800; }
.document-row strong, .document-row span { display: block; }
.document-row strong { font-size: 11px; }
.document-row div span { color: #778078; font-size: 8px; }
.row-check { width: 22px; height: 22px; display: grid !important; place-items: center; color: var(--ink); background: var(--brand-bright); border-radius: 50%; font-size: 11px; }
.extraction-grid { margin-top: 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.extraction-grid div { padding: 12px; background: rgba(255,255,255,.025); border: 1px solid var(--border-dark); border-radius: 9px; }
.extraction-grid span, .extraction-grid strong { display: block; }
.extraction-grid span { color: #747f76; font-size: 8px; }
.extraction-grid strong { margin-top: 3px; font-size: 11px; }
.extraction-grid .positive { color: var(--brand-bright); }
.workflow-track { margin-top: 26px; display: flex; align-items: flex-start; }
.track-step { width: 48px; display: grid; justify-items: center; gap: 5px; color: #5f685f; font-size: 7px; text-align: center; }
.track-step i { width: 21px; height: 21px; display: grid; place-items: center; border: 1px solid #4c554d; border-radius: 50%; font-style: normal; }
.track-step.complete { color: #abb4ac; }
.track-step.complete i { color: var(--ink); background: var(--brand); border-color: var(--brand); }
.track-step.current { color: var(--brand-bright); }
.track-step.current i { border-color: var(--brand-bright); }
.track-line { height: 1px; margin-top: 10px; flex: 1; background: #343b35; }
.track-line.complete { background: var(--brand); }
.floating-card { position: absolute; z-index: 2; padding: 11px 13px; display: flex; align-items: center; gap: 9px; background: rgba(19,23,19,.96); border: 1px solid rgba(145,185,76,.25); border-radius: 10px; box-shadow: 0 18px 35px rgba(0,0,0,.3); animation: float 6s ease-in-out infinite; }
.floating-card > i { width: 25px; height: 25px; display: grid; place-items: center; color: var(--ink); background: var(--brand-bright); border-radius: 7px; font-style: normal; font-size: 11px; }
.floating-card strong, .floating-card span { display: block; }
.floating-card strong { font-size: 9px; }
.floating-card span { color: #7c877e; font-size: 7px; }
.floating-card-top { top: 90px; right: -30px; }
.floating-card-bottom { bottom: 28px; left: -42px; animation-delay: -3s; }
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }

.input-strip, .solutions-section, .enterprise-section { padding: 100px 0; }
.section-heading { margin-bottom: 50px; }
.section-heading.centered { max-width: 750px; margin-right: auto; margin-left: auto; text-align: center; }
.section-heading.centered .eyebrow { justify-content: center; }
.section-heading.compact { margin-bottom: 38px; }
.section-heading.split { display: grid; grid-template-columns: 1fr .75fr; align-items: end; gap: 80px; }
.section-heading h2, .value-copy h2, .cta-panel h2 { margin-bottom: 18px; font-size: clamp(38px, 4vw, 56px); }
.section-heading > p, .section-heading.split > p { max-width: 620px; margin-bottom: 0; font-size: 17px; }
.section-heading.centered > p { margin-inline: auto; }
.input-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.input-card { min-height: 150px; padding: 25px; display: flex; align-items: flex-start; gap: 18px; background: #fff; border: 1px solid var(--border-light); border-radius: var(--radius-md); transition: transform var(--duration-normal) var(--ease), border-color var(--duration-normal), box-shadow var(--duration-normal); }
.input-card:hover { transform: translateY(-4px); border-color: rgba(145,185,76,.55); box-shadow: var(--shadow-card); }
.line-icon { width: 46px; height: 46px; display: grid; place-items: center; flex: 0 0 auto; color: var(--brand); }
.line-icon svg { width: 100%; height: 100%; }
.line-icon path, .line-icon rect, .line-icon circle, .line-icon ellipse { fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.input-card h3 { margin: 4px 0 8px; font-size: 17px; }
.input-card p { margin: 0; font-size: 12px; line-height: 1.55; }

.paper-demo { padding: 115px 0 125px; position: relative; overflow: hidden; background: linear-gradient(135deg, #eaf2df, #f5f7f3 48%, #edf3e7); }
.paper-demo-grid { position: absolute; inset: 0; opacity: .45; pointer-events: none; background-image: linear-gradient(rgba(38,50,32,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(38,50,32,.055) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(to right, transparent, #000 20%, #000 80%, transparent); }
.paper-demo > .container { position: relative; }
.paper-console { color: var(--text-light); background: #0c100d; border: 1px solid rgba(39,54,35,.28); border-radius: 26px; box-shadow: 0 35px 85px rgba(47,67,37,.18); overflow: hidden; }
.paper-console-header { min-height: 82px; padding: 15px 20px 15px 25px; display: flex; align-items: center; justify-content: space-between; gap: 25px; border-bottom: 1px solid var(--border-dark); background: rgba(255,255,255,.018); }
.console-title { display: grid; gap: 5px; }
.console-live { display: flex; align-items: center; gap: 7px; color: var(--brand-bright); font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.console-live i { width: 6px; height: 6px; background: var(--success); border-radius: 50%; box-shadow: 0 0 9px rgba(67,182,109,.8); }
.console-title > strong { font-size: 13px; }
.paper-step-controls { padding: 5px; display: flex; align-items: center; gap: 3px; background: #080b09; border: 1px solid var(--border-dark); border-radius: 11px; }
.paper-step-controls button { min-height: 38px; padding: 8px 12px; display: inline-flex; align-items: center; gap: 7px; color: #788178; background: transparent; border: 0; border-radius: 8px; font-size: 10px; font-weight: 700; cursor: pointer; transition: color var(--duration-normal), background var(--duration-normal); }
.paper-step-controls button span { color: #536054; font-size: 8px; }
.paper-step-controls button:hover, .paper-step-controls button:focus-visible { color: #fff; }
.paper-step-controls button.is-active { color: var(--ink); background: var(--brand-bright); }
.paper-step-controls button.is-active span { color: #4a5b29; }
.paper-console-body { min-height: 610px; padding: 42px; display: grid; grid-template-columns: minmax(310px,1fr) 100px minmax(360px,1.08fr); align-items: center; gap: 24px; background: radial-gradient(circle at 50% 45%, rgba(145,185,76,.09), transparent 30%), linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px); background-size: auto, 32px 32px, 32px 32px; }
.paper-zone, .result-zone { min-width: 0; }
.paper-zone-label { margin-bottom: 15px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.paper-zone-label span { color: #647067; font-size: 8px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.paper-zone-label strong { color: #aeb7b0; font-size: 9px; }
.paper-stack { min-height: 470px; position: relative; display: grid; place-items: center; perspective: 1200px; }
.paper-sheet { width: min(286px, 78%); height: 400px; position: absolute; background: #dce2da; border-radius: 5px; }
.paper-sheet-back { transform: translate(20px,-5px) rotate(6deg); opacity: .2; }
.paper-sheet-middle { transform: translate(-15px,0) rotate(-4deg); opacity: .35; }
.invoice-paper { width: min(300px, 84%); min-height: 420px; padding: 27px 24px 21px; position: relative; overflow: hidden; color: #1c241e; background: #fbfcf9; border-radius: 5px; box-shadow: 0 25px 55px rgba(0,0,0,.4); transform-origin: center bottom; transition: transform 550ms var(--ease-enter), opacity 450ms var(--ease-enter), filter 450ms; }
.invoice-paper::before { content: ""; position: absolute; inset: 0; opacity: .35; pointer-events: none; background-image: radial-gradient(#9ba49c 0.45px, transparent .55px); background-size: 4px 4px; }
.invoice-paper > *:not(.invoice-scan-line) { position: relative; z-index: 1; }
.invoice-scan-line { position: absolute; z-index: 3; top: 26px; right: 10px; left: 10px; height: 2px; opacity: 0; background: var(--brand-bright); box-shadow: 0 0 12px rgba(200,232,106,.95), 0 0 36px 12px rgba(145,185,76,.12); }
.invoice-header { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; padding-bottom: 16px; border-bottom: 1px solid #d9ded7; }
.invoice-logo { width: 29px; height: 29px; display: grid; place-items: center; color: #fff; background: var(--brand-dark); border-radius: 7px; font-size: 12px; font-weight: 800; }
.invoice-header strong, .invoice-header span { display: block; }
.invoice-header strong { font-size: 8px; letter-spacing: .08em; }
.invoice-header span { color: #7a837c; font-size: 5px; letter-spacing: .09em; }
.invoice-header b { color: var(--brand-dark); font-size: 12px; letter-spacing: .12em; }
.invoice-meta { padding: 17px 0 14px; display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.invoice-meta span, .invoice-meta small, .invoice-meta strong { display: block; }
.invoice-meta small, .invoice-address small { color: #909891; font-size: 5px; letter-spacing: .08em; text-transform: uppercase; }
.invoice-meta strong { margin-top: 2px; font-size: 7px; }
.invoice-address { padding: 10px; background: #f0f3ee; border-radius: 5px; }
.invoice-address strong, .invoice-address span { display: block; }
.invoice-address strong { margin-top: 2px; font-size: 7px; }
.invoice-address span { color: #737d75; font-size: 5px; }
.invoice-table { margin-top: 15px; font-size: 6px; }
.invoice-table > div { padding: 7px 3px; display: grid; grid-template-columns: 1fr 34px 48px; gap: 4px; border-bottom: 1px solid #e0e5de; }
.invoice-table > div span:nth-child(n+2) { text-align: right; }
.invoice-table-head { color: #677168; font-size: 5px; font-weight: 800; text-transform: uppercase; }
.invoice-total { padding-top: 12px; display: flex; align-items: center; justify-content: flex-end; gap: 18px; }
.invoice-total span { color: #6c756e; font-size: 6px; }
.invoice-total strong { font-size: 10px; }
.invoice-footer { margin-top: 22px; display: flex; align-items: end; justify-content: space-between; }
.barcode { width: 82px; height: 20px; background: repeating-linear-gradient(90deg,#222 0 1px,transparent 1px 3px,#222 3px 5px,transparent 5px 7px); }
.invoice-footer small { color: #9aa19b; font-size: 5px; }
.document-chip { position: absolute; right: 2%; bottom: 18px; padding: 10px 12px; display: flex; align-items: center; gap: 9px; color: #dce2dd; background: #171c18; border: 1px solid #303731; border-radius: 9px; box-shadow: 0 15px 30px rgba(0,0,0,.3); transition: transform 450ms var(--ease-enter), opacity 350ms; }
.document-chip > span { width: 27px; height: 31px; display: grid; place-items: center; color: #fff; background: #cc5656; border-radius: 5px; font-size: 7px; font-weight: 800; }
.document-chip strong, .document-chip small { display: block; }
.document-chip strong { font-size: 8px; }
.document-chip small { color: #78827a; font-size: 6px; }
.processing-core { min-height: 300px; position: relative; display: flex; align-items: center; justify-content: center; flex-direction: column; }
.core-ring { width: 78px; height: 78px; position: relative; display: grid; place-items: center; border: 1px solid rgba(145,185,76,.38); border-radius: 50%; box-shadow: inset 0 0 30px rgba(145,185,76,.08), 0 0 30px rgba(145,185,76,.06); }
.core-ring::before, .core-ring::after { content: ""; position: absolute; border: 1px dashed rgba(145,185,76,.2); border-radius: 50%; animation: core-spin 9s linear infinite; }
.core-ring::before { inset: -11px; }
.core-ring::after { inset: -22px; animation-direction: reverse; animation-duration: 13s; }
.core-ring span { width: 43px; height: 43px; display: grid; place-items: center; color: var(--ink); background: var(--brand-bright); border-radius: 12px; font-size: 18px; font-weight: 800; }
.core-ring i { width: 5px; height: 5px; position: absolute; background: var(--brand-bright); border-radius: 50%; box-shadow: 0 0 9px var(--brand-bright); }
.core-ring i:nth-child(2) { top: -3px; left: 50%; }
.core-ring i:nth-child(3) { right: 3px; bottom: 9px; }
.core-ring i:nth-child(4) { bottom: 10px; left: 2px; }
.processing-core > strong { margin-top: 28px; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.core-status { margin-top: 4px; color: #657068; font-size: 7px; }
.data-particles { position: absolute; inset: 0; pointer-events: none; }
.data-particles i { width: 4px; height: 4px; position: absolute; top: 48%; left: 5%; opacity: 0; background: var(--brand-bright); border-radius: 50%; }
.data-particles i:nth-child(2) { top: 43%; animation-delay: 220ms; }
.data-particles i:nth-child(3) { top: 51%; animation-delay: 440ms; }
.data-particles i:nth-child(4) { top: 55%; animation-delay: 660ms; }
.data-particles i:nth-child(5) { top: 46%; animation-delay: 880ms; }
.result-card { min-height: 470px; padding: 22px; background: #121713; border: 1px solid #303831; border-radius: 16px; box-shadow: 0 22px 50px rgba(0,0,0,.25); transition: opacity 450ms, transform 550ms var(--ease-enter); }
.result-card-header { padding-bottom: 17px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #293029; }
.result-card-header > div { display: flex; align-items: center; gap: 9px; }
.json-mark { width: 31px; height: 31px; display: grid; place-items: center; color: var(--brand-bright); background: rgba(145,185,76,.1); border: 1px solid rgba(145,185,76,.2); border-radius: 8px; font-size: 8px; font-weight: 800; }
.result-card-header strong { font-size: 11px; }
.confidence-badge { padding: 5px 8px; color: var(--brand-bright); background: rgba(145,185,76,.08); border-radius: 999px; font-size: 6px; }
.result-fields { margin: 14px 0 0; }
.result-fields div { padding: 11px 2px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 12px; border-bottom: 1px solid #252c26; transition: opacity 250ms, transform 300ms, background 250ms; }
.result-fields dt { color: #727c74; font-size: 7px; }
.result-fields dd { margin: 0; display: flex; justify-content: space-between; color: #dce2dd; font-size: 8px; font-weight: 700; }
.result-fields dd span { color: var(--success); }
.rule-checks { margin-top: 16px; padding: 11px; display: grid; gap: 7px; background: #0c100d; border-radius: 9px; }
.rule-checks div { display: flex; align-items: center; justify-content: space-between; }
.rule-checks span { color: #68736a; font-size: 7px; }
.rule-checks strong { color: #7c877e; font-size: 7px; transition: color 250ms; }
.rule-checks i { width: 14px; height: 14px; margin-right: 5px; display: inline-grid; place-items: center; color: #525d54; border: 1px solid #465047; border-radius: 50%; font-style: normal; font-size: 6px; transition: color 250ms, background 250ms, border-color 250ms; }
.approval-row { margin-top: 15px; padding: 12px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; background: #171d18; border: 1px solid #2c352e; border-radius: 10px; transition: border-color 300ms, box-shadow 300ms, transform 300ms; }
.approver-avatar { width: 31px; height: 31px; display: grid; place-items: center; color: #dce3dd; background: #313a32; border-radius: 50%; font-size: 7px; font-weight: 800; }
.approval-row div span, .approval-row div strong { display: block; }
.approval-row div span { color: #6c776e; font-size: 6px; }
.approval-row div strong { font-size: 8px; }
.approval-row button { padding: 8px 9px; color: #687169; background: #202721; border: 1px solid #303932; border-radius: 7px; font-size: 7px; font-weight: 800; }
.paper-console-footer { min-height: 86px; padding: 17px 24px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 25px; border-top: 1px solid var(--border-dark); background: #090c0a; }
.demo-message { display: none; grid-template-columns: 30px 1fr; align-items: center; gap: 12px; }
.demo-message.is-active { display: grid; animation: message-in 350ms var(--ease-enter) both; }
.demo-message > span { width: 30px; height: 30px; display: grid; place-items: center; color: var(--brand-bright); background: rgba(145,185,76,.09); border-radius: 8px; font-size: 8px; font-weight: 800; }
.demo-message p { margin: 0; color: #77827a; font-size: 9px; }
.demo-message strong { color: #dce3dd; }
.paper-console-footer > a { display: inline-flex; align-items: center; gap: 8px; color: var(--brand-bright); font-size: 9px; font-weight: 800; text-decoration: none; }

.paper-console[data-active-step="capture"] .invoice-paper { animation: paper-arrive 650ms var(--ease-enter) both; }
.paper-console[data-active-step="capture"] .document-chip { animation: chip-arrive 600ms 260ms var(--ease-enter) both; }
.paper-console[data-active-step="capture"] .result-card { opacity: .52; transform: translateX(8px); }
.paper-console[data-active-step="extract"] .invoice-scan-line { opacity: 1; animation: paper-scan 2.2s var(--ease) infinite; }
.paper-console[data-active-step="extract"] .data-particles i { animation: data-travel 1.4s var(--ease) infinite; }
.paper-console[data-active-step="extract"] .result-fields div { animation: field-reveal 400ms var(--ease-enter) both; }
.paper-console[data-active-step="extract"] .result-fields div:nth-child(2) { animation-delay: 90ms; }
.paper-console[data-active-step="extract"] .result-fields div:nth-child(3) { animation-delay: 180ms; }
.paper-console[data-active-step="extract"] .result-fields div:nth-child(4) { animation-delay: 270ms; }
.paper-console[data-active-step="validate"] .invoice-scan-line { top: calc(100% - 30px); opacity: .3; }
.paper-console[data-active-step="validate"] .rule-checks strong { color: var(--brand-bright); }
.paper-console[data-active-step="validate"] .rule-checks i { color: var(--ink); background: var(--brand-bright); border-color: var(--brand-bright); }
.paper-console[data-active-step="validate"] .rule-checks div { animation: rule-pass 420ms var(--ease-enter) both; }
.paper-console[data-active-step="validate"] .rule-checks div:nth-child(2) { animation-delay: 130ms; }
.paper-console[data-active-step="validate"] .rule-checks div:nth-child(3) { animation-delay: 260ms; }
.paper-console[data-active-step="approve"] .rule-checks strong { color: var(--brand-bright); }
.paper-console[data-active-step="approve"] .rule-checks i { color: var(--ink); background: var(--brand-bright); border-color: var(--brand-bright); }
.paper-console[data-active-step="approve"] .approval-row { border-color: rgba(200,232,106,.5); box-shadow: 0 0 0 4px rgba(145,185,76,.07), 0 15px 30px rgba(0,0,0,.18); transform: translateY(-2px); }
.paper-console[data-active-step="approve"] .approval-row button { color: var(--ink); background: var(--brand-bright); border-color: var(--brand-bright); }

@keyframes paper-arrive { from { opacity: 0; transform: translateY(-45px) rotateX(8deg) rotate(-2deg); } to { opacity: 1; transform: translateY(0) rotateX(0) rotate(0); } }
@keyframes chip-arrive { from { opacity: 0; transform: translate(20px,12px); } to { opacity: 1; transform: translate(0,0); } }
@keyframes paper-scan { 0% { top: 26px; opacity: .3; } 50% { opacity: 1; } 100% { top: calc(100% - 30px); opacity: .25; } }
@keyframes core-spin { to { transform: rotate(360deg); } }
@keyframes data-travel { 0% { left: 2%; opacity: 0; transform: scale(.5); } 20% { opacity: 1; } 80% { opacity: 1; } 100% { left: 98%; opacity: 0; transform: scale(1.2); } }
@keyframes field-reveal { from { opacity: .25; transform: translateX(10px); background: rgba(145,185,76,.08); } to { opacity: 1; transform: translateX(0); background: transparent; } }
@keyframes rule-pass { from { opacity: .35; transform: translateX(8px); } to { opacity: 1; transform: translateX(0); } }
@keyframes message-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }

.workflow-section { padding: 115px 0 125px; position: relative; overflow: hidden; background: radial-gradient(circle at 72% 48%, rgba(145,185,76,.08), transparent 30%), var(--page-dark); }
.workflow-experience { background: #0d110e; border: 1px solid var(--border-dark); border-radius: 24px; box-shadow: 0 35px 80px rgba(0,0,0,.25); overflow: hidden; }
.workflow-tabs { display: grid; grid-template-columns: repeat(6,1fr); background: #090c0a; border-bottom: 1px solid var(--border-dark); }
.workflow-tabs button { min-width: 0; min-height: 106px; padding: 17px 13px; position: relative; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 3px 11px; color: #717c73; background: transparent; border: 0; border-right: 1px solid #242a25; cursor: pointer; text-align: left; transition: color var(--duration-normal), background var(--duration-normal); }
.workflow-tabs button:last-child { border-right: 0; }
.workflow-tabs button::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--brand-bright); transform: scaleX(0); transform-origin: left; transition: transform 350ms var(--ease-enter); }
.workflow-tabs button:hover { color: #dce2dd; background: rgba(255,255,255,.025); }
.workflow-tabs button[aria-selected="true"] { color: #fff; background: linear-gradient(180deg, rgba(145,185,76,.1), rgba(145,185,76,.02)); }
.workflow-tabs button[aria-selected="true"]::after { transform: scaleX(1); }
.workflow-tab-number { align-self: start; color: #4f5a51; font-size: 8px; font-weight: 800; letter-spacing: .1em; }
.workflow-tabs button[aria-selected="true"] .workflow-tab-number { color: var(--brand-bright); }
.workflow-tab-icon { width: 34px; height: 34px; grid-row: 1 / 3; grid-column: 1; display: grid; place-items: center; color: #768178; background: #141915; border: 1px solid #2a322b; border-radius: 9px; transition: color var(--duration-normal), background var(--duration-normal), border-color var(--duration-normal), transform var(--duration-normal); }
.workflow-tabs button[aria-selected="true"] .workflow-tab-icon { color: var(--ink); background: var(--brand-bright); border-color: var(--brand-bright); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(145,185,76,.16); }
.workflow-tab-icon svg { width: 18px; height: 18px; }
.workflow-tab-icon path, .workflow-tab-icon circle { fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.workflow-tabs strong { grid-column: 2; align-self: end; font-size: 11px; letter-spacing: -.02em; }
.workflow-stage { min-height: 510px; display: grid; grid-template-columns: .84fr 1.16fr; }
.workflow-panels { min-width: 0; padding: 60px 52px; display: flex; align-items: center; border-right: 1px solid var(--border-dark); }
.workflow-detail-panel { width: 100%; }
.workflow-detail-panel[hidden] { display: none; }
.workflow-detail-panel.is-active { animation: workflow-panel-in 450ms var(--ease-enter) both; }
.workflow-stage-label { display: block; margin-bottom: 17px; color: var(--brand-bright); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.workflow-detail-panel h3 { max-width: 470px; margin-bottom: 18px; color: #f0f3f1; font-size: clamp(30px,3vw,43px); }
.workflow-detail-panel > p { max-width: 520px; margin-bottom: 25px; font-size: 14px; line-height: 1.75; }
.workflow-detail-panel ul { margin: 0; padding: 0; display: grid; gap: 10px; color: #a8b1aa; list-style: none; font-size: 11px; }
.workflow-detail-panel li { display: flex; align-items: center; gap: 10px; }
.workflow-detail-panel li::before { content: ""; width: 16px; height: 16px; flex: 0 0 auto; background: radial-gradient(circle, var(--brand-bright) 0 2px, rgba(145,185,76,.09) 3px 100%); border: 1px solid rgba(145,185,76,.24); border-radius: 50%; }
.workflow-flowmap { min-width: 0; min-height: 540px; padding-inline: 18px; position: relative; display: grid; grid-template-columns: minmax(150px,1fr) minmax(205px,1.12fr) minmax(150px,1fr); align-items: center; column-gap: 12px; overflow: hidden; }
.flowmap-grid { position: absolute; inset: 0; opacity: .45; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: 28px 28px; mask-image: radial-gradient(circle, #000, transparent 78%); }
.flowmap-column { width: 100%; position: relative; z-index: 2; display: grid; grid-template-rows: 22px repeat(3,minmax(68px,auto)); align-content: center; justify-items: center; gap: 16px; }
.flowmap-caption { align-self: end; margin-bottom: 2px; color: #8f9991; font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.flow-node { width: 150px; min-height: 68px; padding: 10px 11px; display: flex; align-items: center; gap: 10px; color: #a5aea6; background: rgba(19,25,20,.92); border: 1px solid #2b332c; border-radius: 11px; font-size: 12px; font-weight: 700; line-height: 1.35; transition: color 350ms, border-color 350ms, background 350ms, transform 350ms, box-shadow 350ms; }
.flow-node i { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; color: #a5aea6; background: #202721; border-radius: 8px; font-size: 12px; font-style: normal; font-weight: 800; transition: color 350ms, background 350ms; }
.flowmap-engine { position: relative; z-index: 3; display: grid; justify-items: center; }
.engine-orbit { width: 220px; height: 220px; position: absolute; top: 50%; left: 50%; border: 1px dashed rgba(145,185,76,.2); border-radius: 50%; transform: translate(-50%,-50%); animation: engine-spin 18s linear infinite; }
.engine-orbit::before, .engine-orbit::after { content: ""; position: absolute; border: 1px solid rgba(145,185,76,.08); border-radius: 50%; }
.engine-orbit::before { inset: 18px; }
.engine-orbit::after { inset: 38px; }
.engine-orbit i { width: 7px; height: 7px; position: absolute; background: var(--brand); border-radius: 50%; box-shadow: 0 0 12px rgba(145,185,76,.7); }
.engine-orbit i:nth-child(1) { top: -4px; left: 50%; }
.engine-orbit i:nth-child(2) { right: 9px; bottom: 26px; }
.engine-orbit i:nth-child(3) { bottom: 18px; left: 15px; }
.engine-core { width: 150px; height: 150px; padding: 16px; position: relative; display: flex; align-items: center; justify-content: center; flex-direction: column; background: radial-gradient(circle at 45% 35%, #202b1e, #101510); border: 1px solid rgba(145,185,76,.32); border-radius: 34px; box-shadow: 0 0 50px rgba(145,185,76,.09); transition: border-color 350ms, box-shadow 350ms, transform 350ms; }
.engine-core > span { width: 38px; height: 38px; display: grid; place-items: center; color: var(--ink); background: var(--brand-bright); border-radius: 10px; font-size: 15px; font-weight: 800; }
.engine-core strong { margin-top: 8px; color: #eef2ef; font-size: 11px; }
.engine-core small { max-width: 112px; margin-top: 3px; color: #a5aea6; font-size: 12px; line-height: 1.35; text-align: center; }
.engine-state { margin-top: 28px; padding: 8px 12px; display: flex; align-items: center; gap: 7px; color: #b6beb8; background: #111713; border: 1px solid #2b342c; border-radius: 999px; font-size: 12px; white-space: nowrap; }
.engine-state i { width: 5px; height: 5px; background: var(--brand-bright); border-radius: 50%; box-shadow: 0 0 8px var(--brand-bright); }
.flow-line { height: 1px; position: absolute; z-index: 1; top: 50%; overflow: visible; background: rgba(145,185,76,.18); }
.flow-line-in { left: 19%; width: 27%; }
.flow-line-out { right: 19%; width: 27%; }
.flow-line span { width: 36px; height: 1px; position: absolute; left: 0; background: linear-gradient(90deg, transparent, var(--brand-bright), transparent); filter: drop-shadow(0 0 5px var(--brand)); animation: workflow-data-flow 2.2s linear infinite; }
.workflow-experience[data-workflow-active="capture"] .input-node,
.workflow-experience[data-workflow-active="understand"] .engine-core,
.workflow-experience[data-workflow-active="extract"] .engine-core,
.workflow-experience[data-workflow-active="validate"] .engine-core,
.workflow-experience[data-workflow-active="automate"] .node-approvals,
.workflow-experience[data-workflow-active="integrate"] .output-node { color: #eef2ef; background: rgba(145,185,76,.11); border-color: rgba(200,232,106,.48); box-shadow: 0 9px 25px rgba(0,0,0,.16); }
.workflow-experience[data-workflow-active="capture"] .input-node i,
.workflow-experience[data-workflow-active="automate"] .node-approvals i,
.workflow-experience[data-workflow-active="integrate"] .output-node i { color: var(--ink); background: var(--brand-bright); }
.workflow-experience[data-workflow-active="understand"] .engine-core { transform: scale(1.04); box-shadow: 0 0 60px rgba(145,185,76,.15); }
.workflow-experience[data-workflow-active="extract"] .flow-line-in span { animation-duration: .9s; }
.workflow-experience[data-workflow-active="validate"] .engine-orbit { border-style: solid; border-color: rgba(200,232,106,.45); }
.workflow-experience[data-workflow-active="automate"] .flow-line-out span,
.workflow-experience[data-workflow-active="integrate"] .flow-line-out span { animation-duration: .9s; }
.workflow-progress { min-height: 61px; padding: 0 24px; display: grid; grid-template-columns: auto minmax(100px,240px) 1fr; align-items: center; gap: 18px; color: #647067; background: #090c0a; border-top: 1px solid var(--border-dark); }
.workflow-progress > span { font-size: 8px; }
.workflow-progress > span strong { color: var(--brand-bright); font-size: 11px; }
.workflow-progress > div { height: 2px; overflow: hidden; background: #29302a; border-radius: 99px; }
.workflow-progress > div i { width: 16.666%; height: 100%; display: block; background: var(--brand-bright); box-shadow: 0 0 8px rgba(200,232,106,.55); transition: width 450ms var(--ease-enter); }
.workflow-progress p { margin: 0; font-size: 8px; text-align: right; }
@keyframes workflow-panel-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes engine-spin { to { transform: translate(-50%,-50%) rotate(360deg); } }
@keyframes workflow-data-flow { from { left: -36px; opacity: 0; } 15%,85% { opacity: 1; } to { left: 100%; opacity: 0; } }

.solution-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.solution-card { min-height: 385px; padding: 28px; display: flex; flex-direction: column; justify-content: space-between; background: #fff; border: 1px solid var(--border-light); border-radius: var(--radius-lg); transition: transform var(--duration-normal) var(--ease), border-color var(--duration-normal), box-shadow var(--duration-normal); }
.solution-card:hover { transform: translateY(-5px); border-color: rgba(145,185,76,.55); box-shadow: var(--shadow-card); }
.solution-card.featured { color: var(--text-light); background: linear-gradient(145deg, #101510, #171c16); border-color: rgba(145,185,76,.35); }
.solution-card.featured p { color: var(--text-muted-dark); }
.solution-top { display: flex; justify-content: space-between; align-items: flex-start; }
.solution-top > span { padding: 6px 9px; color: var(--brand-dark); background: rgba(145,185,76,.11); border-radius: 999px; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.solution-card h3 { margin-bottom: 14px; font-size: 27px; }
.solution-card p { margin-bottom: 0; font-size: 14px; }
.solution-card a { display: inline-flex; align-items: center; gap: 9px; color: var(--brand-dark); font-size: 13px; font-weight: 800; text-decoration: none; }
.solution-card.featured a { color: var(--brand-bright); }

.value-section { padding: 115px 0; }
.value-layout { display: grid; grid-template-columns: .85fr 1.15fr; align-items: start; gap: 100px; }
.value-copy { position: sticky; top: 130px; }
.value-copy h2 { color: #fff; }
.value-copy > p:not(.eyebrow) { max-width: 480px; font-size: 17px; }
.text-link { display: inline-flex; align-items: center; gap: 10px; color: var(--brand-bright); font-size: 13px; font-weight: 800; text-decoration: none; }
.value-list { border-top: 1px solid var(--border-dark); }
.value-list article { padding: 28px 0; display: grid; grid-template-columns: 50px 1fr; gap: 16px; border-bottom: 1px solid var(--border-dark); }
.value-list article > span { color: var(--brand); font-size: 11px; font-weight: 800; }
.value-list h3 { margin-bottom: 8px; color: #eef1ef; font-size: 20px; }
.value-list p { margin: 0; font-size: 13px; }

.enterprise-showcase { display: grid; gap: 24px; }
.panel-label { display: block; color: var(--brand-dark); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.enterprise-showcase-copy h3 { max-width: 540px; margin: 13px 0 16px; font-size: clamp(30px,3.2vw,46px); }
.enterprise-showcase-copy > p { max-width: 570px; margin-bottom: 21px; font-size: 14px; line-height: 1.75; }
.enterprise-showcase-copy > a, .deployment-heading > a { display: inline-flex; align-items: center; gap: 9px; color: var(--brand-dark); font-size: 12px; font-weight: 800; text-decoration: none; }
.integration-showcase { padding: 50px; display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: 45px; background: #fff; border: 1px solid var(--border-light); border-radius: 24px; box-shadow: 0 22px 60px rgba(35,48,30,.08); overflow: hidden; }
.integration-tags { margin: 0 0 24px; display: flex; flex-wrap: wrap; gap: 7px; }
.integration-tags span { padding: 6px 9px; color: #52604f; background: var(--page-light); border: 1px solid var(--border-light); border-radius: 999px; font-size: 8px; font-weight: 700; }
.integration-hub { min-height: 440px; position: relative; }
.integration-lines { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.integration-lines path { fill: none; stroke: rgba(82,110,43,.24); stroke-width: 1.4; stroke-dasharray: 5 7; animation: integration-flow 2.4s linear infinite; }
.integration-lines path:nth-child(2) { animation-delay: -.4s; }
.integration-lines path:nth-child(3) { animation-delay: -.8s; }
.integration-lines path:nth-child(4) { animation-delay: -1.2s; }
.integration-lines path:nth-child(5) { animation-delay: -1.6s; }
.hub-pulse { width: 190px; height: 190px; position: absolute; top: 50%; left: 50%; border: 1px solid rgba(145,185,76,.18); border-radius: 50%; transform: translate(-50%,-50%); animation: hub-breathe 3.4s ease-in-out infinite; }
.hub-pulse::before, .hub-pulse::after { content: ""; position: absolute; border: 1px solid rgba(145,185,76,.1); border-radius: 50%; }
.hub-pulse::before { inset: 24px; }
.hub-pulse::after { inset: 48px; }
.hub-core { width: 112px; height: 112px; position: absolute; z-index: 3; top: 50%; left: 50%; display: flex; align-items: center; justify-content: center; flex-direction: column; background: linear-gradient(145deg,#111711,#1c271a); border: 1px solid rgba(145,185,76,.42); border-radius: 29px; box-shadow: 0 20px 45px rgba(42,59,34,.25), 0 0 0 9px rgba(145,185,76,.05); transform: translate(-50%,-50%); }
.hub-core > span { width: 34px; height: 34px; display: grid; place-items: center; color: var(--ink); background: var(--brand-bright); border-radius: 9px; font-size: 14px; font-weight: 800; }
.hub-core strong { margin-top: 8px; color: #f0f3f1; font-size: 11px; }
.hub-core small { margin-top: 2px; color: #778178; font-size: 5px; }
.hub-node { width: 158px; min-height: 64px; padding: 10px; position: absolute; z-index: 2; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; background: #fafbf9; border: 1px solid var(--border-light); border-radius: 12px; box-shadow: 0 13px 30px rgba(45,58,40,.09); transition: border-color 250ms, transform 250ms, box-shadow 250ms; }
.hub-node:hover { border-color: rgba(145,185,76,.65); box-shadow: 0 16px 35px rgba(45,58,40,.14); transform: translateY(-3px); }
.hub-node > i { width: 35px; height: 35px; display: grid; place-items: center; color: var(--brand-dark); background: rgba(145,185,76,.11); border-radius: 9px; font-size: 7px; font-style: normal; font-weight: 800; }
.hub-node strong, .hub-node span { display: block; }
.hub-node strong { font-size: 9px; }
.hub-node span { color: #7b857d; font-size: 6px; }
.hub-node > b { color: var(--brand); font-size: 10px; }
.hub-node-erp { top: 3%; left: 2%; }
.hub-node-crm { top: 3%; right: 2%; }
.hub-node-health { bottom: 19%; left: -3%; }
.hub-node-dms { right: -3%; bottom: 19%; }
.hub-node-api { bottom: -2%; left: 50%; transform: translateX(-50%); }
.hub-node-api:hover { transform: translateX(-50%) translateY(-3px); }
.integration-journey { padding-top: 31px; grid-column: 1 / -1; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 25px; border-top: 1px solid var(--border-light); }
.integration-journey > div { display: grid; grid-template-columns: auto 1fr; gap: 2px 11px; }
.integration-journey > div > span { width: 31px; height: 31px; grid-row: 1 / 3; display: grid; place-items: center; color: var(--brand-dark); background: rgba(145,185,76,.1); border-radius: 8px; font-size: 8px; font-weight: 800; }
.integration-journey strong { font-size: 10px; }
.integration-journey p { margin: 0; font-size: 7px; }
.integration-journey > i { color: var(--brand); font-size: 13px; font-style: normal; }
.deployment-showcase { color: var(--text-light); background: radial-gradient(circle at 80% 60%,rgba(145,185,76,.09),transparent 30%),#0d110e; border: 1px solid var(--border-dark); border-radius: 24px; overflow: hidden; }
.deployment-heading { padding: 48px 50px 35px; display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.deployment-heading .panel-label { color: var(--brand-bright); }
.deployment-heading .enterprise-showcase-copy h3 { color: #f2f5f3; }
.deployment-heading .enterprise-showcase-copy p { margin-bottom: 0; color: var(--text-muted-dark); }
.deployment-heading > a { flex: 0 0 auto; color: var(--brand-bright); }
.deployment-tabs { margin: 0 50px; display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--border-dark); border-radius: 14px 14px 0 0; overflow: hidden; }
.deployment-tabs button { min-height: 98px; padding: 18px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 2px 10px; color: #778178; background: #0a0d0b; border: 0; border-right: 1px solid var(--border-dark); cursor: pointer; text-align: left; transition: color var(--duration-normal), background var(--duration-normal); }
.deployment-tabs button:last-child { border-right: 0; }
.deployment-tabs button:hover { color: #e7ebe8; background: #121713; }
.deployment-tabs button[aria-selected="true"] { color: #fff; background: linear-gradient(145deg,rgba(145,185,76,.16),rgba(145,185,76,.045)); box-shadow: inset 0 -2px var(--brand-bright); }
.deployment-tabs button > span { width: 29px; height: 29px; grid-row: 1 / 3; display: grid; place-items: center; color: #677168; background: #171d18; border: 1px solid #29312a; border-radius: 8px; font-size: 7px; font-weight: 800; }
.deployment-tabs button[aria-selected="true"] > span { color: var(--ink); background: var(--brand-bright); border-color: var(--brand-bright); }
.deployment-tabs strong, .deployment-tabs small { display: block; }
.deployment-tabs strong { font-size: 10px; }
.deployment-tabs small { color: #68726a; font-size: 6px; }
.deployment-body { min-height: 430px; margin: 0 50px 50px; display: grid; grid-template-columns: .85fr 1.15fr; border: 1px solid var(--border-dark); border-top: 0; border-radius: 0 0 14px 14px; overflow: hidden; }
.deployment-panels { padding: 45px; display: flex; align-items: center; border-right: 1px solid var(--border-dark); }
.deployment-panel[hidden] { display: none; }
.deployment-panel.is-active { animation: workflow-panel-in 420ms var(--ease-enter) both; }
.deployment-kicker { color: var(--brand-bright); font-size: 8px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.deployment-panel h4 { max-width: 430px; margin: 13px 0 14px; color: #eef2ef; font-size: clamp(27px,2.7vw,38px); line-height: 1.1; letter-spacing: -.04em; }
.deployment-panel > p { max-width: 480px; font-size: 12px; line-height: 1.7; }
.deployment-panel dl { margin: 24px 0 0; display: grid; }
.deployment-panel dl > div { padding: 10px 0; display: grid; grid-template-columns: .8fr 1.2fr; gap: 12px; border-bottom: 1px solid #252c26; }
.deployment-panel dt { color: #69736b; font-size: 7px; }
.deployment-panel dd { margin: 0; color: #cdd4ce; font-size: 8px; font-weight: 700; }
.deployment-architecture { padding: 32px; display: flex; flex-direction: column; justify-content: center; background: linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),#0a0d0b; background-size: 28px 28px; }
.architecture-label { margin-bottom: 16px; display: flex; align-items: center; justify-content: space-between; }
.architecture-label span { color: #626d64; font-size: 7px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.architecture-label strong { color: var(--brand-bright); font-size: 8px; }
.architecture-boundary { min-height: 250px; padding: 30px; position: relative; display: grid; grid-template-columns: 1fr .45fr 1.15fr .45fr 1fr; align-items: center; gap: 8px; border: 1px dashed rgba(145,185,76,.34); border-radius: 22px; transition: border-radius 400ms, border-color 400ms, background 400ms; }
.architecture-source, .architecture-target { display: grid; justify-items: center; gap: 8px; color: #8e9990; font-size: 7px; text-align: center; }
.architecture-source i, .architecture-target i { width: 48px; height: 48px; display: grid; place-items: center; color: #9ba69d; background: #151a16; border: 1px solid #2b332c; border-radius: 12px; font-size: 7px; font-style: normal; font-weight: 800; }
.architecture-paptra { min-height: 130px; display: flex; align-items: center; justify-content: center; flex-direction: column; background: linear-gradient(145deg,#192218,#101510); border: 1px solid rgba(145,185,76,.4); border-radius: 25px; box-shadow: 0 18px 40px rgba(0,0,0,.25); }
.architecture-paptra > span { width: 36px; height: 36px; display: grid; place-items: center; color: var(--ink); background: var(--brand-bright); border-radius: 10px; font-size: 14px; font-weight: 800; }
.architecture-paptra strong { margin-top: 8px; font-size: 10px; }
.architecture-paptra small { margin-top: 2px; color: #707a72; font-size: 5px; }
.architecture-link { display: flex; align-items: center; justify-content: space-between; }
.architecture-link i { width: 4px; height: 4px; background: var(--brand); border-radius: 50%; animation: architecture-packet 1.3s var(--ease) infinite; }
.architecture-link i:nth-child(2) { animation-delay: -430ms; }
.architecture-link i:nth-child(3) { animation-delay: -860ms; }
.boundary-shield { width: 25px; height: 25px; position: absolute; right: 12px; bottom: 12px; display: grid; place-items: center; color: var(--ink); background: var(--brand-bright); border-radius: 8px; font-size: 9px; }
.architecture-legend { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 14px; color: #687269; font-size: 6px; }
.architecture-legend span { display: flex; align-items: center; gap: 5px; }
.architecture-legend i { width: 6px; height: 6px; background: var(--brand); border-radius: 50%; }
.architecture-legend span:nth-child(2) i { background: var(--brand-bright); }
.architecture-legend span:nth-child(3) i { background: #4f8edc; }
.deployment-showcase[data-deployment-active="private"] .architecture-boundary { border-style: solid; border-color: rgba(79,142,220,.5); background: rgba(79,142,220,.025); }
.deployment-showcase[data-deployment-active="onprem"] .architecture-boundary { border-style: solid; border-color: rgba(200,232,106,.5); border-radius: 8px; background: rgba(145,185,76,.025); }
.deployment-showcase[data-deployment-active="hybrid"] .architecture-boundary { border-style: double; border-width: 3px; border-color: rgba(145,185,76,.4); background: linear-gradient(90deg,rgba(79,142,220,.025) 50%,rgba(145,185,76,.025) 50%); }
@keyframes integration-flow { to { stroke-dashoffset: -24; } }
@keyframes hub-breathe { 0%,100% { transform: translate(-50%,-50%) scale(.96); opacity: .65; } 50% { transform: translate(-50%,-50%) scale(1.05); opacity: 1; } }
@keyframes architecture-packet { 0% { opacity: .2; transform: scale(.6); } 50% { opacity: 1; transform: scale(1.3); } 100% { opacity: .2; transform: scale(.6); } }

.final-cta { padding: 30px 0 100px; background: var(--page-light); }
.cta-panel { min-height: 310px; padding: 55px 60px; position: relative; overflow: hidden; display: grid; grid-template-columns: 1.2fr auto; align-items: center; gap: 50px; color: #fff; background: radial-gradient(circle at 85% 30%, rgba(145,185,76,.18), transparent 35%), linear-gradient(145deg, #050808, #101710); border-radius: 24px; }
.cta-panel > *:not(.cta-grid) { position: relative; z-index: 1; }
.cta-panel h2 { max-width: 650px; margin-bottom: 13px; }
.cta-panel p:not(.eyebrow) { max-width: 600px; margin: 0; }

.site-footer { color: var(--text-light); background: var(--ink); }
.footer-main { padding: 75px 0 55px; display: grid; grid-template-columns: 1fr 1.5fr; gap: 100px; }
.footer-brand > a { width: max-content; display: inline-flex; align-items: center; gap: 10px; }
.footer-brand p { max-width: 330px; margin: 22px 0 0; font-size: 13px; }
.footer-nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 35px; }
.footer-nav h2 { margin-bottom: 18px; color: #fff; font-size: 12px; letter-spacing: 0; }
.footer-nav li + li { margin-top: 9px; }
.footer-nav a { color: #8f9991; font-size: 12px; text-decoration: none; transition: color var(--duration-fast); }
.footer-nav a:hover { color: var(--brand-bright); }
.footer-bottom { padding: 20px 0 30px; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--border-dark); }
.footer-bottom p, .footer-bottom a { margin: 0; color: #788179; font-size: 10px; text-decoration: none; }
.footer-bottom div { display: flex; gap: 22px; }
.back-to-top { position: fixed; right: 24px; bottom: 24px; z-index: 900; width: 44px; height: 44px; display: grid; place-items: center; visibility: hidden; opacity: 0; color: var(--ink); background: var(--brand-bright); border: 0; border-radius: 50%; box-shadow: var(--shadow-card); cursor: pointer; transform: translateY(10px); transition: opacity var(--duration-normal), transform var(--duration-normal), visibility var(--duration-normal); }
.back-to-top.is-visible { visibility: visible; opacity: 1; transform: translateY(0); }

.js .reveal { opacity: 0; transform: translateY(20px); transition: opacity var(--duration-reveal) var(--ease-enter), transform var(--duration-reveal) var(--ease-enter); }
.js .reveal.is-visible { opacity: 1; transform: translateY(0); }
.js .hero-content.reveal { transition-delay: 80ms; }
.js .product-visual.reveal { transition-delay: 210ms; }

@media (max-width: 1160px) {
  .menu-toggle { display: flex; }
  .nav { position: relative; }
  .nav-panel { position: absolute; top: calc(100% + 10px); right: 0; left: 0; max-height: calc(100vh - 100px); padding: 14px; visibility: hidden; opacity: 0; overflow-y: auto; display: block; background: rgba(10,12,10,.99); border: 1px solid var(--border-dark); border-radius: 16px; box-shadow: var(--shadow-menu); transform: translateY(-8px); transition: opacity var(--duration-normal), transform var(--duration-normal), visibility var(--duration-normal); }
  .site-header.is-menu-open .nav-panel { visibility: visible; opacity: 1; transform: translateY(0); }
  .nav-list { display: block; }
  .nav-list > li { border-bottom: 1px solid rgba(255,255,255,.06); }
  .nav-link { width: 100%; min-height: 48px; justify-content: space-between; font-size: 14px; }
  .dropdown-menu, .dropdown-menu-wide { width: 100%; max-height: 0; padding: 0 8px; position: static; visibility: hidden; opacity: 1; overflow: hidden; background: transparent; border: 0; box-shadow: none; transform: none; transition: max-height var(--duration-normal), visibility var(--duration-normal), padding var(--duration-normal); }
  .nav-item-dropdown.is-open > .dropdown-menu { max-height: 320px; padding: 4px 8px 10px; visibility: visible; transform: none; }
  .dropdown-menu a { padding: 10px; }
  .nav-actions { padding-top: 14px; display: grid; grid-template-columns: 1fr 1fr; }
  .button-quiet { border: 1px solid var(--border-dark); }
  .hero-layout { grid-template-columns: 1fr; }
  .hero-content { max-width: 820px; text-align: center; margin-inline: auto; }
  .hero-content .eyebrow, .hero-content .button-group, .hero-assurances { justify-content: center; }
  .hero-summary { margin-inline: auto; }
  .product-visual { max-width: 760px; width: 100%; margin-inline: auto; }
  .input-grid { grid-template-columns: 1fr 1fr; }
  .paper-console-body { grid-template-columns: 1fr 72px 1fr; padding: 30px 24px; gap: 16px; }
  .invoice-paper { width: 270px; }
  .paper-console-header { align-items: flex-start; flex-direction: column; }
  .paper-step-controls { width: 100%; }
  .paper-step-controls button { flex: 1; justify-content: center; }
  .workflow-panels { padding: 48px 35px; }
  .flow-node { width: 92px; }
  .value-layout { gap: 60px; }
  .cta-panel { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .container { width: min(100% - 32px, var(--container)); }
  .hero { padding-top: 140px; }
  .product-visual { min-height: 450px; }
  .visual-body { min-height: 390px; }
  .floating-card { display: none; }
  .section-heading.split { grid-template-columns: 1fr; gap: 14px; }
  .paper-demo { padding: 85px 0 95px; }
  .paper-console-body { grid-template-columns: 1fr; }
  .processing-core { min-height: 120px; }
  .processing-core::before, .processing-core::after { content: ""; position: absolute; top: 50%; width: calc(50% - 55px); height: 1px; background: linear-gradient(90deg, transparent, rgba(145,185,76,.35)); }
  .processing-core::before { left: 0; }
  .processing-core::after { right: 0; transform: rotate(180deg); }
  .core-ring { width: 68px; height: 68px; }
  .processing-core > strong, .core-status { display: none; }
  .paper-stack { min-height: 460px; }
  .result-card { min-height: auto; }
  .workflow-tabs { display: flex; overflow-x: auto; scrollbar-width: thin; scroll-snap-type: x proximity; }
  .workflow-tabs button { min-width: 138px; flex: 1 0 138px; scroll-snap-align: start; }
  .workflow-stage { grid-template-columns: 1fr; }
  .workflow-panels { min-height: 400px; border-right: 0; border-bottom: 1px solid var(--border-dark); }
  .workflow-flowmap { min-height: 500px; grid-template-columns: minmax(145px,1fr) minmax(190px,1fr) minmax(145px,1fr); }
  .flow-node { width: 145px; }
  .solution-grid { grid-template-columns: 1fr; }
  .solution-card { min-height: 330px; }
  .value-layout { grid-template-columns: 1fr; }
  .value-copy { position: static; }
  .integration-showcase { padding: 40px; grid-template-columns: 1fr; gap: 25px; }
  .integration-hub { min-height: 420px; }
  .deployment-heading { padding: 40px 35px 30px; align-items: flex-start; flex-direction: column; }
  .deployment-tabs { margin: 0 35px; display: flex; overflow-x: auto; scrollbar-width: thin; }
  .deployment-tabs button { min-width: 165px; flex: 1 0 165px; }
  .deployment-body { margin: 0 35px 35px; grid-template-columns: 1fr; }
  .deployment-panels { min-height: 390px; border-right: 0; border-bottom: 1px solid var(--border-dark); }
  .footer-main { grid-template-columns: 1fr; gap: 50px; }
  .cta-panel { padding: 45px 35px; }
}

@media (max-width: 620px) {
  .container { width: min(100% - 24px, var(--container)); }
  .site-header { padding: 9px 0; }
  .brand { width: auto; gap: 8px; }
  .brand::before { width: 34px; height: 34px; background-size: auto 34px; }
  .brand img { width: 126px; }
  .hero { min-height: auto; padding: 125px 0 75px; }
  .hero h1 { font-size: 43px; }
  .hero-summary { font-size: 16px; }
  .hero-content .button-group { align-items: stretch; flex-direction: column; }
  .hero-assurances { align-items: flex-start; flex-direction: column; }
  .product-visual { min-height: 390px; }
  .visual-toolbar { padding: 0 12px; }
  .visual-body { min-height: 330px; grid-template-columns: 1fr; }
  .visual-sidebar { display: none; }
  .workflow-panel { padding: 18px; }
  .extraction-grid { grid-template-columns: 1fr 1fr; }
  .input-strip, .solutions-section, .enterprise-section { padding: 75px 0; }
  .input-grid { grid-template-columns: 1fr; }
  .input-card { min-height: 120px; }
  .paper-console { border-radius: 19px; }
  .paper-console-header { padding: 17px; }
  .console-title { width: 100%; }
  .paper-step-controls { display: grid; grid-template-columns: 1fr 1fr; }
  .paper-step-controls button { justify-content: flex-start; }
  .paper-console-body { padding: 26px 15px; }
  .paper-zone-label { align-items: flex-start; flex-direction: column; gap: 3px; }
  .paper-stack { min-height: 430px; }
  .invoice-paper { width: min(285px,88%); }
  .paper-console-footer { grid-template-columns: 1fr; }
  .section-heading h2, .value-copy h2, .cta-panel h2 { font-size: 37px; }
  .workflow-section { padding: 80px 0; }
  .workflow-experience { border-radius: 18px; }
  .workflow-tabs button { min-height: 92px; }
  .workflow-panels { min-height: 430px; padding: 38px 24px; }
  .workflow-detail-panel h3 { font-size: 32px; }
  .workflow-flowmap { min-height: 460px; padding-inline: 4px; grid-template-columns: minmax(126px,1fr) minmax(130px,.9fr) minmax(126px,1fr); column-gap: 4px; }
  .flowmap-column { grid-template-rows: 20px repeat(3,minmax(64px,auto)); gap: 12px; }
  .flow-node { width: 126px; min-height: 64px; padding: 8px; gap: 7px; font-size: 12px; }
  .flow-node i { width: 31px; height: 31px; font-size: 11px; }
  .engine-orbit { width: 165px; height: 165px; }
  .engine-core { width: 120px; height: 120px; padding: 10px; border-radius: 26px; }
  .engine-core > span { width: 33px; height: 33px; }
  .engine-core small { max-width: 98px; }
  .engine-state { margin-top: 22px; padding: 7px 9px; }
  .flow-line-in { left: 17%; width: 28%; }
  .flow-line-out { right: 17%; width: 28%; }
  .workflow-progress { grid-template-columns: auto 1fr; }
  .workflow-progress p { display: none; }
  .integration-showcase { padding: 28px 20px; border-radius: 18px; }
  .integration-hub { min-height: 390px; }
  .hub-node { width: 125px; padding: 8px; }
  .hub-node > i { width: 29px; height: 29px; }
  .hub-node span { display: none; }
  .hub-node-erp { left: 0; }
  .hub-node-crm { right: 0; }
  .hub-node-health { left: -1%; }
  .hub-node-dms { right: -1%; }
  .integration-journey { grid-template-columns: 1fr; gap: 14px; }
  .integration-journey > i { display: none; }
  .deployment-showcase { border-radius: 18px; }
  .deployment-heading { padding: 30px 22px 24px; }
  .deployment-tabs { margin: 0 22px; }
  .deployment-body { margin: 0 22px 22px; }
  .deployment-panels { min-height: 420px; padding: 30px 24px; }
  .deployment-architecture { padding: 20px 13px; }
  .architecture-boundary { min-height: 220px; padding: 18px 10px; grid-template-columns: 1fr .3fr 1.1fr .3fr 1fr; }
  .architecture-source i, .architecture-target i { width: 40px; height: 40px; }
  .architecture-paptra { min-height: 105px; border-radius: 20px; }
  .cta-panel { min-height: 390px; padding: 36px 25px; }
  .cta-panel .button-group { align-items: stretch; flex-direction: column; }
  .footer-nav { grid-template-columns: 1fr 1fr; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  .footer-bottom div { flex-wrap: wrap; }
}

@media (max-width: 420px) {
  .hero h1 { font-size: 38px; }
  .product-visual { min-height: 360px; }
  .workflow-panel { padding: 14px; }
  .invoice-paper { min-height: 390px; padding: 22px 18px 17px; }
  .document-chip { right: 0; }
  .result-card { padding: 16px; }
  .result-fields div { grid-template-columns: .75fr 1.25fr; }
  .workflow-track { display: none; }
  .solution-card h3 { font-size: 24px; }
  .workflow-flowmap { min-height: 440px; grid-template-columns: minmax(108px,1fr) 118px minmax(108px,1fr); column-gap: 2px; }
  .flow-node { width: 108px; padding: 7px; gap: 6px; }
  .flow-node i { width: 28px; height: 28px; font-size: 10px; }
  .engine-orbit { width: 148px; height: 148px; }
  .engine-core { width: 108px; height: 108px; padding: 8px; border-radius: 24px; }
  .engine-core small { max-width: 90px; }
  .engine-state { padding-inline: 8px; }
  .hub-core { width: 96px; height: 96px; }
  .hub-pulse { width: 150px; height: 150px; }
  .hub-node { width: 112px; }
  .hub-node > b { display: none; }
  .deployment-tabs button { min-width: 150px; }
  .architecture-source span, .architecture-target span { display: none; }
  .architecture-link { display: none; }
  .architecture-boundary { grid-template-columns: .8fr 1.4fr .8fr; gap: 7px; }
  .footer-nav { grid-template-columns: 1fr; }
  .nav-actions { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .js .reveal { opacity: 1; transform: none; }
  .product-visual { transform: none !important; }
}
