{"id":37850,"date":"2026-05-08T09:29:05","date_gmt":"2026-05-08T09:29:05","guid":{"rendered":"https:\/\/smartdev.com\/?page_id=37850"},"modified":"2026-05-10T09:50:10","modified_gmt":"2026-05-10T09:50:10","slug":"ai-automation-document-data-processing","status":"publish","type":"page","link":"https:\/\/smartdev.com\/fr\/ai-automation-document-data-processing\/","title":{"rendered":"AI Automation: Document &#038; Data Processing"},"content":{"rendered":"\n\t\t<div id=\"fws_6a01c854d3989\"  data-column-margin=\"default\" data-midnight=\"dark\"  class=\"wpb_row vc_row-fluid vc_row full-width-content vc_row-o-equal-height vc_row-flex vc_row-o-content-top\"  style=\"padding-top: 0px; padding-bottom: 0px; \"><div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\"><div class=\"inner-wrap row-bg-layer\" ><div class=\"row-bg viewport-desktop\"  style=\"\"><\/div><\/div><\/div><div class=\"row_col_wrap_12 col span_12 dark left\">\n\t<div  class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone flex_gap_desktop_10px \"  data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\" >\n\t\t<div class=\"vc_column-inner\" >\n\t\t\t<div class=\"wpb_wrapper\">\n\t\t\t\t\n\t<div class=\"wpb_raw_code wpb_raw_html wpb_content_element\" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t<!--\n=======================================================\n  NORA Landing Page \u2014 WPBakery Ready (v3 \u2014 flexbox fix)\n  1. T\u00ecm 2 ch\u1ed7 YOUR_LOGO_URL_HERE \u2192 thay b\u1eb1ng URL \u1ea3nh t\u1eeb WP Media\n  2. Copy to\u00e0n b\u1ed9 file \u2192 paste v\u00e0o WPBakery Raw HTML block\n=======================================================\n-->\n<style>\n\/* Google Fonts *\/\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700&family=Roboto:wght@400;500;700&display=swap');\n\n:root {\n  \/* \u2500\u2500 PRIMARY BLUE FAMILY \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  --sd-primary:        #0049B2; \/* Primary navy-blue. Wordmark, dense headings on dark. *\/\n  --sd-primary-bright: #007BE5; \/* Bright cyan-blue. CTA buttons, links, hero accents. *\/\n  --sd-primary-light:  #E6F4FF; \/* Tint for chip backgrounds, callouts, soft sections. *\/\n  --sd-primary-lighter:#99D5FF; \/* Decorative lighter blue, dot\/badge fills. *\/\n\n  \/* \u2500\u2500 NEUTRALS \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  --sd-white:      #FFFFFF;\n  --sd-black:      #000000;\n  --sd-navy:       #010F3A; \/* Footer \/ dark hero \/ dense type *\/\n  --sd-gray-900:   #0E1530; \/* Optional deeper text *\/\n  --sd-gray-700:   #444444; \/* Body \/ secondary text *\/\n  --sd-gray-500:   #555555; \/* Tertiary text, captions *\/\n  --sd-gray-300:   #D1D4DD; \/* Borders, dividers, muted UI *\/\n  --sd-gray-50:    #FAF9F5; \/* Off-white section background *\/\n\n  \/* \u2500\u2500 ACCENTS \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  --sd-accent-orange:   #F36B1C; \/* Highlight CTAs, awards *\/\n  --sd-accent-lavender: #F1EDFC; \/* Soft tinted blocks *\/\n  --sd-accent-muted-blue: #E5F4FF; \/* Body text on dark navy hero *\/\n\n  \/* \u2500\u2500 GRADIENTS \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  --sd-gradient-blue:  linear-gradient(135deg, #007BE5 0%, #0049B2 100%);\n  --sd-gradient-blue-soft: linear-gradient(135deg, #E6F4FF 0%, #99D5FF 100%);\n  --sd-gradient-red:   linear-gradient(to right, #9D271B, #E01E2F); \/* used in editorial badges *\/\n  --sd-gradient-hero:  linear-gradient(135deg, #010F3A 0%, #0049B2 60%, #007BE5 100%);\n\n  \/* \u2500\u2500 SEMANTIC SURFACE \/ TEXT \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  --sd-bg:          var(--sd-white);\n  --sd-bg-soft:     var(--sd-gray-50);\n  --sd-bg-tint:     var(--sd-primary-light);\n  --sd-bg-dark:     var(--sd-navy);\n\n  --sd-fg:          var(--sd-navy);     \/* primary text on light *\/\n  --sd-fg-muted:    var(--sd-gray-700);\n  --sd-fg-subtle:   var(--sd-gray-500);\n  --sd-fg-inverse:  var(--sd-white);    \/* primary text on dark *\/\n  --sd-fg-inverse-muted: var(--sd-accent-muted-blue);\n\n  --sd-border:      var(--sd-gray-300);\n  --sd-border-strong: #B7BCC9;\n  --sd-link:        var(--sd-primary-bright);\n  --sd-link-hover:  var(--sd-primary);\n\n  \/* \u2500\u2500 TYPOGRAPHY \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  --sd-font-primary: \"Poppins\", \"Helvetica Neue\", Arial, sans-serif;\n  --sd-font-secondary: \"Roboto\", \"Helvetica Neue\", Arial, sans-serif;\n  --sd-font-mono: \"JetBrains Mono\", ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;\n\n  \/* Sizes *\/\n  --sd-fs-xs: 12px;\n  --sd-fs-sm: 14px;\n  --sd-fs-md: 16px;\n  --sd-fs-lg: 17px;\n  --sd-fs-xl: 22px;\n  --sd-fs-2xl: 24px;\n  --sd-fs-3xl: 26px;\n  --sd-fs-4xl: 34px;\n  --sd-fs-5xl: 41px;\n  --sd-fs-6xl: 54px;\n\n  \/* Weights *\/\n  --sd-fw-regular: 400;\n  --sd-fw-medium: 500;\n  --sd-fw-semibold: 600;\n  --sd-fw-bold: 700;\n\n  \/* Line heights *\/\n  --sd-lh-tight: 1.15;\n  --sd-lh-snug: 1.3;\n  --sd-lh-normal: 1.5;\n  --sd-lh-relaxed: 1.75;\n\n  \/* Tracking *\/\n  --sd-tracking-tight: -0.32px;\n  --sd-tracking-normal: 0;\n  --sd-tracking-wide: 0.3px;\n  --sd-tracking-eyebrow: 1.6px; \/* uppercase eyebrow labels *\/\n\n  \/* \u2500\u2500 SPACING \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  --sd-space-0: 0;\n  --sd-space-1: 4px;\n  --sd-space-2: 8px;\n  --sd-space-3: 12px;\n  --sd-space-4: 16px;\n  --sd-space-5: 20px;\n  --sd-space-6: 24px;\n  --sd-space-8: 32px;\n  --sd-space-10: 40px;\n  --sd-space-12: 48px;\n  --sd-space-14: 56px;\n  --sd-space-16: 64px;\n  --sd-space-20: 80px;\n  --sd-space-24: 90px;  \/* container side padding *\/\n\n  \/* \u2500\u2500 RADII \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  --sd-radius-none: 0;\n  --sd-radius-sm: 4px;   \/* primary buttons *\/\n  --sd-radius-md: 8px;\n  --sd-radius-lg: 10px;  \/* cards *\/\n  --sd-radius-pill: 9999px;\n  --sd-radius-top: 32px 32px 0 0; \/* rounded top sheets *\/\n\n  \/* \u2500\u2500 SHADOWS \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  --sd-shadow-card:\n    0 1px 0 0 rgba(0, 0, 0, 0.04),\n    0 2px 7px 0 rgba(0, 0, 0, 0.05),\n    0 12px 22px 0 rgba(0, 0, 0, 0.06);\n  --sd-shadow-card-hover:\n    0 2px 0 0 rgba(0, 0, 0, 0.05),\n    0 6px 14px 0 rgba(0, 73, 178, 0.08),\n    0 22px 40px 0 rgba(0, 73, 178, 0.10);\n  --sd-shadow-overlay: 0 0 0 9999px rgba(0, 0, 0, 0.25);\n\n  \/* \u2500\u2500 BORDERS \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  --sd-border-width: 1px;\n  --sd-border-strong-width: 2px;\n\n  \/* \u2500\u2500 MOTION \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  --sd-ease-out:    cubic-bezier(0.3, 1, 0.3, 1);\n  --sd-ease-in-out: cubic-bezier(0.76, 0, 0.24, 1);\n  --sd-dur-fast: 0.3s;\n  --sd-dur-base: 0.65s;\n  --sd-dur-slow: 0.8s;\n\n  \/* \u2500\u2500 LAYOUT \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  --sd-container: 1584px;\n  --sd-container-padding: 90px;\n  --sd-container-padding-mobile: 6%;\n  --sd-header-height: 116px;\n}\n\n.nora-lp * { box-sizing: border-box; }\n.nora-lp, .nora-lp body {\n  margin: 0; padding: 0;\n  font-family: var(--sd-font-primary);\n  color: var(--sd-fg);\n  background: var(--sd-bg);\n  -webkit-font-smoothing: antialiased;\n}\n.nora-lp { overflow-x: hidden; }\n.nora-lp a { color: inherit; text-decoration: none; }\n.nora-lp button { font-family: inherit; cursor: pointer; }\n\n\n\/* \u2500\u2500 FLEXBOX FIX for WordPress\/Salient compatibility \u2500\u2500 *\/\n.nora-lp .hero__inner {\n  display: flex !important;\n  flex-direction: row !important;\n  flex-wrap: nowrap !important;\n  gap: 70px !important;\n  align-items: center !important;\n  width: 100% !important;\n}\n.nora-lp .hero__copy {\n  flex: 1.15 !important;\n  min-width: 0 !important;\n  display: block !important;\n}\n.nora-lp .hero__cover {\n  flex: 0 0 380px !important;\n  max-width: 380px !important;\n  display: block !important;\n}\n@media (max-width: 980px) {\n  .nora-lp .hero__inner {\n    flex-direction: column !important;\n  }\n  .nora-lp .hero__cover {\n    flex: 0 0 auto !important;\n    max-width: 300px !important;\n  }\n}\n\/* Force .nora-lp containers to not be constrained *\/\n.nora-lp { display: block !important; width: 100% !important; }\n.nora-lp .hero { width: 100% !important; }\n.nora-lp .container { width: 100% !important; max-width: 1280px !important; margin: 0 auto !important; padding: 0 40px !important; }\n\n\n\n\/* \u2500\u2500 HERO HEADING COLOR FIX \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.nora-lp .lp-hero h1,\n.nora-lp .hero h1,\n.nora-lp .hero__copy h1 {\n  color: #ffffff !important;\n}\n.nora-lp .hero h1 em { color: #99D5FF !important; }\n\n\/* \u2500\u2500 SECTION H2 FONT SIZE FIX (Salient override) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.nora-lp .section__head h2,\n.nora-lp .section h2,\n.nora-lp .calc-section h2,\n.nora-lp .calc-section .section__head h2 {\n  font-size: clamp(28px, 3.4vw, 42px) !important;\n  line-height: 1.1 !important;\n  font-weight: 600 !important;\n}\n<\/style>\n<style>\n@import url(\"assets\/colors_and_type.css\");\n\n\/* ============================================================\n   LANDING PAGE \u2014 NORA Document & Data Processing Playbook\n   ============================================================ *\/\n\n* { box-sizing: border-box; }\nhtml, body {\n  margin: 0;\n  padding: 0;\n  font-family: var(--sd-font-primary);\n  color: var(--sd-fg);\n  background: var(--sd-bg);\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\nbody { overflow-x: hidden; }\n\na { color: inherit; text-decoration: none; }\nbutton { font-family: inherit; cursor: pointer; }\n\n.container {\n  max-width: 1280px;\n  margin: 0 auto;\n  padding: 0 40px;\n}\n@media (max-width: 720px) {\n  .container { padding: 0 22px; }\n}\n\n\/* \u2500\u2500 HEADER \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.site-header {\n  position: sticky;\n  top: 0;\n  z-index: 50;\n  background: rgba(255,255,255,0.96);\n  backdrop-filter: saturate(140%) blur(8px);\n  border-bottom: 1px solid var(--sd-border);\n}\n.site-header__inner {\n  height: 80px;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n}\n.site-header__logo { display:flex; align-items:center; gap:10px; }\n.site-header__logo img { height: 34px; display:block; }\n.site-header__nav { display:flex; align-items:center; gap: 32px; font-size: 14px; color: var(--sd-fg); font-weight: 500;}\n.site-header__nav a { color: var(--sd-fg); transition: color .2s var(--sd-ease-out); }\n.site-header__nav a:hover { color: var(--sd-primary-bright); }\n@media (max-width: 880px) { .site-header__nav { display:none; } }\n.btn-primary, .btn-secondary, .btn-ghost {\n  display: inline-flex; align-items: center; gap: 8px;\n  font-weight: 500;\n  font-family: inherit;\n  border: 0;\n  cursor: pointer;\n  transition: all .3s var(--sd-ease-out);\n  white-space: nowrap;\n}\n.btn-primary {\n  background: var(--sd-primary-bright);\n  color: white;\n  border-radius: 4px;\n  padding: 13px 22px;\n  font-size: 14px;\n}\n.btn-primary:hover { background: var(--sd-primary); }\n.btn-secondary {\n  background: var(--sd-primary);\n  color: white;\n  border-radius: 0; \/* the distinctive square corners *\/\n  padding: 14px 26px;\n  font-size: 14px;\n  font-weight: 600;\n}\n.btn-secondary:hover { background: #003688; }\n.btn-ghost {\n  background: transparent;\n  color: var(--sd-primary-bright);\n  font-weight: 500;\n  font-size: 14px;\n  padding: 8px 0;\n}\n.btn-ghost:hover { color: var(--sd-primary); }\n\n\/* \u2500\u2500 HERO \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.hero {\n  position: relative;\n  background: linear-gradient(135deg, #010F3A 0%, #00276F 55%, #0049B2 100%);\n  color: white;\n  overflow: hidden;\n  padding: 96px 0 120px;\n}\n.hero::before {\n  \/* subtle dot grid *\/\n  content:'';\n  position: absolute; inset: 0;\n  background-image: radial-gradient(rgba(255,255,255,0.07) 1px, transparent 1px);\n  background-size: 28px 28px;\n  pointer-events: none;\n  mask-image: linear-gradient(to bottom, black, black 60%, transparent);\n}\n.hero::after {\n  \/* glowing orb *\/\n  content:'';\n  position:absolute;\n  width: 720px; height: 720px;\n  right: -180px; top: -200px;\n  background: radial-gradient(closest-side, rgba(0,123,229,0.45), transparent 70%);\n  filter: blur(20px);\n  pointer-events: none;\n}\n.hero__inner {\n  position: relative;\n  display: grid;\n  grid-template-columns: 1.15fr 1fr;\n  gap: 70px;\n  align-items: center;\n}\n@media (max-width: 980px) { .hero__inner { grid-template-columns: 1fr; gap: 48px; } }\n\n.hero__eyebrow {\n  display: inline-flex; align-items: center; gap: 10px;\n  background: rgba(255,255,255,0.08);\n  border: 1px solid rgba(255,255,255,0.18);\n  padding: 8px 14px;\n  border-radius: 9999px;\n  font-size: 12px;\n  letter-spacing: 1.4px;\n  text-transform: uppercase;\n  font-weight: 600;\n  color: #99D5FF;\n}\n.hero__eyebrow .dot { width: 6px; height:6px; border-radius:50%; background: #00E5A8; box-shadow: 0 0 0 4px rgba(0,229,168,0.18);}\n.hero h1 {\n  font-size: clamp(38px, 5vw, 60px);\n  line-height: 1.05;\n  margin: 24px 0 20px;\n  font-weight: 600;\n  letter-spacing: -1px;\n}\n.hero h1 em { font-style: normal; color: #99D5FF; }\n.hero p.lede {\n  font-size: 18px;\n  line-height: 1.6;\n  max-width: 560px;\n  color: var(--sd-accent-muted-blue);\n  margin: 0 0 32px;\n}\n.hero__ctas { display:flex; gap: 14px; flex-wrap: wrap; align-items: center; }\n.hero__meta {\n  margin-top: 36px;\n  display: flex; flex-wrap: wrap; gap: 28px 36px;\n  font-size: 13px;\n  color: rgba(255,255,255,0.72);\n}\n.hero__meta span { display:flex; align-items: center; gap: 8px; }\n.hero__meta svg { width: 16px; height: 16px; color: #00E5A8; }\n\n\/* hero cover card *\/\n.hero__cover {\n  position: relative;\n  aspect-ratio: 3 \/ 4;\n  width: 100%;\n  max-width: 380px;\n  margin-left: auto;\n  background: white;\n  border-radius: 14px;\n  box-shadow:\n    0 30px 60px -20px rgba(0,0,0,0.5),\n    0 0 0 1px rgba(255,255,255,0.05);\n  transform: rotate(-3deg);\n  overflow: hidden;\n  color: var(--sd-fg);\n}\n.hero__cover-inner {\n  position: absolute; inset: 0;\n  background: linear-gradient(160deg, #ffffff 0%, #ffffff 60%, #E6F4FF 100%);\n  padding: 28px 26px;\n  display: flex;\n  flex-direction: column;\n}\n.hero__cover-eyebrow {\n  font-size: 10px;\n  letter-spacing: 2px;\n  font-weight: 700;\n  color: var(--sd-primary-bright);\n  text-transform: uppercase;\n}\n.hero__cover-title {\n  font-size: 30px;\n  line-height: 1.05;\n  font-weight: 700;\n  letter-spacing: -0.6px;\n  color: var(--sd-navy);\n  margin-top: 10px;\n}\n.hero__cover-sub {\n  font-size: 11px;\n  color: var(--sd-fg-muted);\n  margin-top: 12px;\n  line-height: 1.5;\n  letter-spacing: 0.2px;\n}\n.hero__cover-doc {\n  margin-top: auto;\n  display: flex;\n  align-items: flex-end;\n  justify-content: space-between;\n}\n.hero__cover-pages {\n  display: grid;\n  grid-template-columns: 1fr 1fr 1fr;\n  gap: 4px;\n  width: 100%;\n}\n.hero__cover-pages .pg {\n  height: 6px;\n  background: var(--sd-primary-light);\n  border-radius: 2px;\n}\n.hero__cover-pages .pg.fill { background: var(--sd-primary-bright); }\n.hero__cover-brand {\n  position: absolute; bottom: 18px; left: 26px; right: 26px;\n  display: flex; justify-content: space-between; align-items: center;\n  font-size: 10px;\n  color: var(--sd-fg-subtle);\n}\n.hero__cover-brand strong { color: var(--sd-primary); font-weight:600; letter-spacing: 0.4px;}\n.hero__cover-mark {\n  position: absolute; top: 22px; right: 24px;\n  display: flex; align-items: center; gap: 6px;\n  font-size: 10px; font-weight: 700; color: var(--sd-primary);\n  letter-spacing: 1.2px; text-transform: uppercase;\n}\n\n\/* small floating chip on the cover *\/\n.hero__cover-chip {\n  position: absolute;\n  top: 50%;\n  left: -34px;\n  transform: translateY(-30%) rotate(3deg);\n  background: white;\n  color: var(--sd-fg);\n  padding: 12px 16px;\n  border-radius: 8px;\n  font-size: 12px;\n  font-weight: 600;\n  box-shadow: 0 12px 24px rgba(0,0,0,0.18);\n  display: flex; align-items: center; gap: 10px;\n}\n.hero__cover-chip .pulse {\n  width: 8px; height: 8px; border-radius: 50%;\n  background: #00B85E;\n  box-shadow: 0 0 0 0 rgba(0,184,94,0.5);\n  animation: pulse 1.8s infinite;\n}\n@keyframes pulse {\n  0% { box-shadow: 0 0 0 0 rgba(0,184,94,0.5); }\n  70% { box-shadow: 0 0 0 10px rgba(0,184,94,0); }\n  100% { box-shadow: 0 0 0 0 rgba(0,184,94,0); }\n}\n\n\/* \u2500\u2500 STATS BAND \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.stats {\n  background: white;\n  border-bottom: 1px solid var(--sd-border);\n}\n.stats__inner {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 0;\n}\n@media (max-width: 880px) { .stats__inner { grid-template-columns: repeat(2, 1fr); } }\n.stat {\n  padding: 36px 28px;\n  border-right: 1px solid var(--sd-border);\n}\n.stat:last-child { border-right: 0; }\n@media (max-width: 880px) {\n  .stat { border-right: 0; border-bottom: 1px solid var(--sd-border); }\n  .stat:nth-last-child(-n+1) { border-bottom: 0; }\n}\n.stat__num {\n  font-size: 36px;\n  font-weight: 600;\n  letter-spacing: -0.8px;\n  color: var(--sd-primary);\n  line-height: 1;\n}\n.stat__num span { color: var(--sd-primary-bright); }\n.stat__label {\n  margin-top: 10px;\n  font-size: 13px;\n  color: var(--sd-fg-muted);\n  line-height: 1.5;\n}\n\n\/* \u2500\u2500 SECTIONS \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.section {\n  padding: 96px 0;\n}\n.section--soft { background: var(--sd-bg-soft); }\n.section--dark {\n  background: linear-gradient(180deg, #010F3A 0%, #061747 100%);\n  color: white;\n}\n.section--tinted { background: linear-gradient(180deg, #F4FAFF 0%, #FFFFFF 100%); }\n\n.section__head {\n  max-width: 760px;\n  margin: 0 auto 56px;\n  text-align: center;\n}\n.section__head--left { text-align: left; margin-left: 0; }\n.eyebrow {\n  display: inline-block;\n  font-size: 12px;\n  letter-spacing: 1.6px;\n  text-transform: uppercase;\n  font-weight: 600;\n  color: var(--sd-primary-bright);\n  margin-bottom: 14px;\n}\n.section h2 {\n  font-size: clamp(28px, 3.4vw, 42px);\n  line-height: 1.1;\n  letter-spacing: -0.8px;\n  font-weight: 600;\n  margin: 0 0 16px;\n}\n.section p.lead {\n  font-size: 17px;\n  line-height: 1.6;\n  color: var(--sd-fg-muted);\n  margin: 0;\n}\n\n\/* \u2500\u2500 INSIDE THE PLAYBOOK GRID \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.inside-grid {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 24px;\n}\n@media (max-width: 880px) { .inside-grid { grid-template-columns: 1fr; } }\n.inside-card {\n  background: white;\n  border-radius: 10px;\n  padding: 32px;\n  box-shadow: var(--sd-shadow-card);\n  transition: box-shadow .3s var(--sd-ease-out), transform .3s var(--sd-ease-out);\n  position: relative;\n}\n.inside-card:hover { box-shadow: var(--sd-shadow-card-hover); }\n.inside-card__num {\n  font-family: var(--sd-font-primary);\n  font-size: 12px;\n  font-weight: 700;\n  letter-spacing: 2px;\n  color: var(--sd-primary-bright);\n  margin-bottom: 18px;\n}\n.inside-card h3 {\n  font-size: 19px !important;\n  line-height: 1.3 !important;\n  font-weight: 600 !important;\n  margin: 0 0 10px !important;\n  color: var(--sd-navy) !important;\n}\n.nora-lp .inside-card h3 {\n  font-size: 19px !important;\n  line-height: 1.3 !important;\n  font-weight: 600 !important;\n  margin: 0 0 10px !important;\n  color: var(--sd-navy) !important;\n}\n.inside-card p {\n  font-size: 14px;\n  line-height: 1.6;\n  color: var(--sd-fg-muted);\n  margin: 0;\n}\n.inside-card__bullets {\n  margin: 16px 0 0; padding: 0; list-style: none;\n}\n.inside-card__bullets li {\n  font-size: 13px; line-height: 1.6; color: var(--sd-fg-muted);\n  padding-left: 18px; position: relative;\n}\n.inside-card__bullets li::before {\n  content:'\u2192';\n  position: absolute; left: 0; top: 0;\n  color: var(--sd-primary-bright);\n  font-weight: 600;\n}\n\n\/* \u2500\u2500 CALCULATOR SECTION \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.calc-section {\n  background: var(--sd-bg-soft);\n  padding: 100px 0 120px;\n  position: relative;\n}\n.calc-tabs {\n  display: inline-flex;\n  background: white;\n  border: 1px solid var(--sd-border);\n  border-radius: 10px;\n  padding: 5px;\n  margin: 0 auto 32px;\n  box-shadow: var(--sd-shadow-card);\n}\n.calc-tabs__item {\n  padding: 10px 22px;\n  font-size: 14px;\n  font-weight: 500;\n  border-radius: 6px;\n  color: var(--sd-fg-muted);\n  background: transparent;\n  border: 0;\n  display: inline-flex; align-items: center; gap: 8px;\n  transition: all .25s var(--sd-ease-out);\n}\n.calc-tabs__item.active {\n  background: var(--sd-primary);\n  color: white;\n}\n.calc-tabs__item .tab-icon { width: 16px; height: 16px;}\n\n.calc-card {\n  background: white;\n  border-radius: 14px;\n  box-shadow:\n    0 1px 0 0 rgba(0,0,0,0.04),\n    0 4px 14px 0 rgba(0,73,178,0.05),\n    0 30px 50px -10px rgba(0,73,178,0.10);\n  overflow: hidden;\n  display: grid;\n  grid-template-columns: 1.4fr 1fr;\n  min-height: 620px;\n}\n@media (max-width: 980px) {\n  .calc-card { grid-template-columns: 1fr; min-height: auto; }\n}\n\n.calc-form {\n  padding: 44px;\n  border-right: 1px solid var(--sd-border);\n}\n@media (max-width: 980px) { .calc-form { border-right: 0; border-bottom: 1px solid var(--sd-border);} }\n\n.calc-form__title {\n  font-size: 22px;\n  font-weight: 600;\n  letter-spacing: -0.4px;\n  margin: 0 0 6px;\n  color: var(--sd-navy);\n}\n.calc-form__sub {\n  font-size: 14px;\n  color: var(--sd-fg-muted);\n  margin: 0 0 28px;\n  line-height: 1.5;\n}\n.calc-step {\n  margin-bottom: 24px;\n  padding-bottom: 24px;\n  border-bottom: 1px solid var(--sd-border);\n}\n.calc-step:last-of-type { border-bottom: 0; }\n.calc-step__head {\n  display: flex; align-items: center; gap: 10px; margin-bottom: 14px;\n}\n.calc-step__num {\n  width: 24px; height: 24px;\n  background: var(--sd-primary-light);\n  color: var(--sd-primary);\n  border-radius: 50%;\n  font-size: 12px; font-weight: 700;\n  display: inline-flex; align-items: center; justify-content: center;\n}\n.calc-step__title {\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--sd-navy);\n  letter-spacing: 0.2px;\n}\n\n.field-row {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 12px;\n}\n.field-row--3 { grid-template-columns: repeat(3, 1fr); }\n@media (max-width: 540px) { .field-row, .field-row--3 { grid-template-columns: 1fr; } }\n.field { display:flex; flex-direction: column; gap: 6px; }\n.field label {\n  font-size: 12px;\n  font-weight: 500;\n  color: var(--sd-fg-muted);\n  letter-spacing: 0.2px;\n}\n.input-wrap {\n  position: relative;\n  display: flex; align-items: center;\n  background: white;\n  border: 1px solid var(--sd-border);\n  \/* deliberately square \u2014 SmartDev signature *\/\n  border-radius: 0;\n  transition: border-color .2s var(--sd-ease-out), box-shadow .2s var(--sd-ease-out);\n}\n.input-wrap:focus-within {\n  border-color: var(--sd-primary-bright);\n  box-shadow: 0 0 0 3px rgba(0,123,229,0.12);\n}\n.input-wrap .prefix, .input-wrap .suffix {\n  font-size: 13px;\n  color: var(--sd-fg-subtle);\n  padding: 0 12px;\n  font-weight: 500;\n}\n.input-wrap input {\n  flex: 1;\n  border: 0;\n  outline: 0;\n  background: transparent;\n  padding: 12px 12px;\n  font-family: inherit;\n  font-size: 14px;\n  color: var(--sd-navy);\n  font-variant-numeric: tabular-nums;\n  width: 100%;\n  min-width: 0;\n}\n.input-wrap input::placeholder { color: var(--sd-fg-subtle); }\n.input-wrap .prefix + input { padding-left: 0; }\n\n.calc-actions {\n  display: flex; gap: 12px; align-items: center; margin-top: 20px;\n}\n.calc-actions .btn-secondary { flex: 0 0 auto; }\n.reset-link {\n  font-size: 13px;\n  color: var(--sd-fg-muted);\n  background: none;\n  border: 0;\n  cursor: pointer;\n  padding: 8px 4px;\n}\n.reset-link:hover { color: var(--sd-primary-bright); }\n\n\/* \u2500\u2500 RESULT PANE \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.calc-result {\n  background: linear-gradient(160deg, #010F3A 0%, #002b75 100%);\n  color: white;\n  padding: 44px;\n  position: relative;\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n}\n.calc-result::before {\n  content:''; position: absolute;\n  width: 360px; height: 360px;\n  right: -120px; bottom: -140px;\n  background: radial-gradient(closest-side, rgba(0,123,229,0.55), transparent 70%);\n  filter: blur(10px);\n}\n.calc-result__placeholder {\n  position: relative;\n  display: flex; flex-direction: column;\n  align-items: center; justify-content: center;\n  text-align: center;\n  flex: 1;\n  color: rgba(255,255,255,0.7);\n}\n.calc-result__placeholder .icon {\n  width: 56px; height: 56px;\n  display: inline-flex; align-items: center; justify-content: center;\n  border-radius: 50%;\n  background: rgba(255,255,255,0.08);\n  margin-bottom: 16px;\n  color: #99D5FF;\n}\n.calc-result__placeholder h3 {\n  margin: 0 0 8px; font-size: 17px; font-weight: 600; color: white;\n  letter-spacing: -0.2px;\n}\n.calc-result__placeholder p { margin: 0; font-size: 13px; line-height: 1.6; max-width: 280px; }\n\n.result__eyebrow {\n  font-size: 11px; letter-spacing: 1.6px; text-transform: uppercase;\n  font-weight: 600; color: #99D5FF;\n  display: flex; align-items: center; gap: 8px;\n}\n.result__eyebrow .dot { width: 6px; height: 6px; border-radius: 50%; background: #00E5A8; }\n.result__big {\n  font-size: 48px;\n  font-weight: 600;\n  letter-spacing: -1.2px;\n  line-height: 1.05;\n  margin: 16px 0 6px;\n  font-variant-numeric: tabular-nums;\n}\n.result__big small { font-size: 18px; font-weight: 500; color: #99D5FF; letter-spacing: 0; margin-left: 4px;}\n.result__caption {\n  color: var(--sd-accent-muted-blue);\n  font-size: 13px;\n  margin: 0 0 22px;\n  line-height: 1.5;\n}\n.result__breakdown {\n  border-top: 1px solid rgba(255,255,255,0.1);\n  padding-top: 18px;\n  display: flex; flex-direction: column; gap: 12px;\n}\n.result__row {\n  display: flex; justify-content: space-between; align-items: center;\n  font-size: 13px;\n  color: rgba(255,255,255,0.85);\n}\n.result__row .label { display:flex; align-items: center; gap: 8px; }\n.result__row .label::before {\n  content:''; width: 8px; height: 8px; border-radius: 50%;\n  background: var(--sd-primary-bright);\n}\n.result__row .label.alt::before { background: #F36B1C; }\n.result__row .label.muted::before { background: #99D5FF; }\n.result__row .val { font-weight: 600; font-variant-numeric: tabular-nums; }\n\n.result__projection {\n  margin-top: 22px;\n  padding: 16px;\n  border-radius: 8px;\n  background: rgba(255,255,255,0.06);\n  border: 1px solid rgba(255,255,255,0.1);\n}\n.result__projection h4 {\n  font-size: 12px; letter-spacing: 1.4px; text-transform: uppercase;\n  font-weight: 600; margin: 0 0 10px; color: #99D5FF;\n}\n.result__projection-row {\n  display: flex; justify-content: space-between; align-items: baseline;\n  font-size: 13px; color: rgba(255,255,255,0.85);\n  padding: 6px 0;\n}\n.result__projection-row strong {\n  color: white; font-weight: 600; font-size: 16px;\n  font-variant-numeric: tabular-nums;\n}\n.result__cta {\n  margin-top: auto;\n  padding-top: 24px;\n}\n.result__cta .btn {\n  background: white; color: var(--sd-primary);\n  padding: 13px 22px; border-radius: 4px; font-weight: 600;\n  font-size: 14px; display: inline-flex; align-items: center; gap: 8px;\n  border: 0; cursor: pointer; transition: all .3s var(--sd-ease-out);\n}\n.result__cta .btn:hover { background: #99D5FF; color: var(--sd-primary); }\n.result__cta-meta {\n  display: block; margin-top: 10px; font-size: 12px; color: rgba(255,255,255,0.6);\n}\n\n\/* \u2500\u2500 READINESS QUESTIONS \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.q-list {\n  display: flex; flex-direction: column; gap: 10px;\n  max-height: 480px;\n  overflow-y: auto;\n  padding-right: 8px;\n}\n.q-list::-webkit-scrollbar { width: 6px; }\n.q-list::-webkit-scrollbar-thumb { background: var(--sd-border); border-radius: 3px; }\n.q-list::-webkit-scrollbar-track { background: transparent; }\n\n.q-item {\n  background: white;\n  border: 1px solid var(--sd-border);\n  padding: 14px 16px;\n  display: grid;\n  grid-template-columns: 22px 1fr auto;\n  gap: 14px;\n  align-items: center;\n  transition: border-color .2s var(--sd-ease-out), background .2s var(--sd-ease-out);\n}\n.q-item.answered { border-color: rgba(0,123,229,0.35); background: #FAFCFF; }\n.q-item__num {\n  font-size: 12px; font-weight: 600; color: var(--sd-primary-bright);\n  font-variant-numeric: tabular-nums; line-height: 1;\n}\n.q-item__text {\n  font-size: 13px; line-height: 1.45; color: var(--sd-fg);\n}\n.q-item__choices {\n  display: flex !important; gap: 4px !important; flex-shrink: 0 !important;\n}\n.q-choice {\n  min-width: 52px !important; width: auto !important;\n  min-height: 44px !important; height: auto !important;\n  padding: 6px 8px !important;\n  box-sizing: border-box !important;\n  border: 1px solid var(--sd-border) !important;\n  border-radius: 6px !important;\n  background: white !important;\n  font-size: 11px !important;\n  font-weight: 600 !important;\n  color: var(--sd-fg-muted) !important;\n  cursor: pointer !important;\n  display: inline-flex !important; flex-direction: column !important; align-items:center !important; justify-content:center !important;\n  transition: all .2s ease !important;\n  letter-spacing: 0.2px !important;\n  overflow: hidden !important;\n  white-space: nowrap !important;\n}\n.q-choice:hover { border-color: var(--sd-primary-bright) !important; color: var(--sd-primary-bright) !important; }\n.q-choice.selected { background: var(--sd-primary) !important; color: white !important; border-color: var(--sd-primary) !important; }\n.q-choice .num { font-size: 14px !important; font-weight: 700 !important; line-height: 1 !important; }\n.q-choice .label { font-size: 9px !important; letter-spacing: 0.6px !important; text-transform: uppercase !important; opacity: 0.85 !important; margin-top: 2px !important; display: block !important; }\n\n.q-progress {\n  display: flex; align-items: center; gap: 12px;\n  font-size: 12px; color: var(--sd-fg-muted);\n  margin-bottom: 18px;\n}\n.q-progress__bar { flex: 1; height: 6px; background: var(--sd-border); border-radius: 3px; overflow: hidden;}\n.q-progress__bar-fill { height: 100%; background: var(--sd-primary-bright); transition: width .3s var(--sd-ease-out); }\n\n\/* readiness result specific *\/\n.readiness-meter {\n  margin-top: 20px;\n  padding-top: 18px;\n  border-top: 1px solid rgba(255,255,255,0.1);\n}\n.readiness-meter__bar {\n  height: 8px;\n  background: rgba(255,255,255,0.12);\n  border-radius: 4px;\n  position: relative;\n  margin-top: 8px;\n}\n.readiness-meter__fill {\n  position: absolute; top:0; left: 0; height: 100%;\n  background: linear-gradient(90deg, #F36B1C 0%, #FFC857 35%, #00E5A8 100%);\n  border-radius: 4px;\n  transition: width .6s var(--sd-ease-out);\n}\n.readiness-meter__labels {\n  display: flex; justify-content: space-between;\n  font-size: 11px; color: rgba(255,255,255,0.6);\n  margin-top: 8px; letter-spacing: 0.4px;\n}\n.verdict-badge {\n  display: inline-flex; align-items: center; gap: 8px;\n  padding: 8px 14px;\n  border-radius: 9999px;\n  font-size: 12px;\n  font-weight: 600;\n  letter-spacing: 0.4px;\n  text-transform: uppercase;\n  margin-bottom: 14px;\n}\n.verdict-badge.ready { background: rgba(0,229,168,0.15); color: #5BFFC9; border: 1px solid rgba(0,229,168,0.35); }\n.verdict-badge.almost { background: rgba(255,200,87,0.12); color: #FFD685; border: 1px solid rgba(255,200,87,0.3); }\n.verdict-badge.warmup { background: rgba(243,107,28,0.12); color: #FFA56F; border: 1px solid rgba(243,107,28,0.3); }\n\n\/* \u2500\u2500 HOW IT WORKS \/ PIPELINE \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.pipeline {\n  display: grid;\n  grid-template-columns: repeat(5, 1fr);\n  gap: 16px;\n  position: relative;\n}\n@media (max-width: 980px) { .pipeline { grid-template-columns: repeat(2, 1fr); } }\n@media (max-width: 540px) { .pipeline { grid-template-columns: 1fr; } }\n.pipeline-step {\n  background: white;\n  border-radius: 10px;\n  padding: 24px;\n  box-shadow: var(--sd-shadow-card);\n  display: flex;\n  flex-direction: column;\n  gap: 10px;\n  position: relative;\n  transition: box-shadow .3s var(--sd-ease-out);\n}\n.pipeline-step:hover { box-shadow: var(--sd-shadow-card-hover); }\n.pipeline-step__num {\n  font-size: 11px; letter-spacing: 1.4px; text-transform: uppercase;\n  font-weight: 700; color: var(--sd-primary-bright);\n}\n.pipeline-step__icon {\n  width: 40px; height: 40px;\n  background: var(--sd-primary-light);\n  color: var(--sd-primary);\n  border-radius: 8px;\n  display: inline-flex; align-items: center; justify-content: center;\n  margin-bottom: 4px;\n}\n.pipeline-step h4 {\n  font-size: 15px; font-weight: 600; color: var(--sd-navy);\n  margin: 0;\n}\n.pipeline-step p {\n  font-size: 12.5px; line-height: 1.5; color: var(--sd-fg-muted);\n  margin: 0;\n}\n\n\/* \u2500\u2500 DARK CTA \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.dark-cta {\n  position: relative;\n  text-align: center;\n  padding: 110px 0;\n  overflow: hidden;\n}\n.dark-cta::before {\n  content:''; position: absolute; inset: 0;\n  background-image: radial-gradient(rgba(255,255,255,0.06) 1px, transparent 1px);\n  background-size: 26px 26px;\n  pointer-events: none;\n  mask-image: radial-gradient(closest-side at center, black, transparent 80%);\n}\n.dark-cta h2 {\n  color: white; max-width: 720px; margin: 0 auto 18px;\n  letter-spacing: -1px;\n}\n.dark-cta p {\n  color: var(--sd-accent-muted-blue);\n  max-width: 560px; margin: 0 auto 36px;\n  font-size: 17px; line-height: 1.6;\n}\n.dark-cta__form {\n  max-width: 480px;\n  margin: 0 auto;\n  display: flex;\n  background: white;\n  padding: 6px;\n  border-radius: 6px;\n}\n\/* GetResponse form wrapper \u2014 center & strip GR's default bg *\/\n.dark-cta__gr-form {\n  max-width: 560px;\n  margin: 32px auto 0;\n}\n.dark-cta__gr-form getresponse-form,\n.dark-cta__gr-form > div {\n  background: transparent !important;\n}\n\/* Override GR button to match NORA style *\/\n.dark-cta__gr-form input[type=\"submit\"],\n.dark-cta__gr-form button[type=\"submit\"] {\n  background: var(--sd-primary-bright) !important;\n  color: #fff !important;\n  border: 0 !important;\n  border-radius: 4px !important;\n  font-family: var(--sd-font-primary) !important;\n  font-size: 14px !important;\n  font-weight: 500 !important;\n  cursor: pointer !important;\n}\n.dark-cta__form input {\n  flex: 1;\n  border: 0; background: transparent;\n  font-family: inherit; font-size: 14px;\n  padding: 12px 16px;\n  color: var(--sd-navy);\n  outline: 0;\n  min-width: 0;\n}\n.dark-cta__form button {\n  background: var(--sd-primary-bright);\n  color: white;\n  border: 0;\n  padding: 12px 22px;\n  font-size: 14px;\n  font-weight: 500;\n  border-radius: 4px;\n  cursor: pointer;\n  transition: background .3s var(--sd-ease-out);\n  white-space: nowrap;\n}\n.dark-cta__form button:hover { background: var(--sd-primary); }\n.dark-cta__meta {\n  margin-top: 18px;\n  font-size: 12px;\n  color: rgba(255,255,255,0.55);\n  letter-spacing: 0.3px;\n}\n\n\/* \u2500\u2500 FOOTER \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.site-footer {\n  background: #010F3A;\n  color: rgba(255,255,255,0.7);\n  padding: 60px 0 40px;\n  font-size: 13px;\n}\n.site-footer__inner {\n  display: flex; justify-content: space-between; align-items: flex-start;\n  gap: 40px; flex-wrap: wrap;\n}\n.site-footer__brand img { height: 32px; filter: brightness(0) invert(1); margin-bottom: 16px; }\n.site-footer__brand p { max-width: 320px; line-height: 1.6; margin: 0; }\n.site-footer__cols { display: flex; gap: 60px; flex-wrap: wrap; }\n.site-footer__col h5 {\n  color: white; font-size: 12px; letter-spacing: 1.4px; text-transform: uppercase;\n  font-weight: 600; margin: 0 0 14px;\n}\n.site-footer__col a {\n  display: block; color: rgba(255,255,255,0.65);\n  margin-bottom: 8px; transition: color .2s;\n}\n.site-footer__col a:hover { color: white; }\n.site-footer__bottom {\n  border-top: 1px solid rgba(255,255,255,0.08);\n  margin-top: 50px;\n  padding-top: 20px;\n  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 14px;\n  font-size: 12px;\n  color: rgba(255,255,255,0.4);\n}\n\n\/* \u2500\u2500 FAQ \/ OBJECTIONS \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.objections {\n  display: grid;\n  grid-template-columns: repeat(2, 1fr);\n  gap: 18px;\n}\n@media (max-width: 880px) { .objections { grid-template-columns: 1fr; } }\n.objection {\n  background: white;\n  border: 1px solid var(--sd-border);\n  border-left: 3px solid var(--sd-primary-bright);\n  padding: 22px 24px;\n}\n.objection h4 {\n  font-size: 15px; font-weight: 600; color: var(--sd-navy);\n  margin: 0 0 8px;\n}\n.objection p {\n  font-size: 13.5px; line-height: 1.55; color: var(--sd-fg-muted);\n  margin: 0;\n}\n\n\/* \u2500\u2500 CHIP \/ TAG \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.chip-row { display:flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }\n.chip {\n  display: inline-flex; align-items: center; gap: 6px;\n  padding: 6px 12px;\n  background: var(--sd-primary-light);\n  color: var(--sd-primary);\n  border-radius: 9999px;\n  font-size: 12px;\n  font-weight: 500;\n}\n\n<\/style>\n<div class=\"nora-lp\">\n\n<!-- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 HERO \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n<section class=\"hero\">\n  <div class=\"container hero__inner\">\n    <div class=\"hero__copy\">\n      <span class=\"hero__eyebrow\"><span class=\"dot\"><\/span>Free Playbook \u00b7 24 pages<\/span>\n      <h1>\n        Document &amp; Data Processing,<br\/>\n        <em>without the manual data entry.<\/em>\n      <\/h1>\n      <p class=\"lede\">\n        A practical guide for COOs, Heads of Ops and AP Managers who want to\n        eliminate manual document keying. Score your readiness, calculate your\n        baseline cost, and build the ROI case \u2014 in one sitting.\n      <\/p>\n      <div class=\"hero__ctas\">\n        <a href=\"#download\" class=\"btn-primary\">Download the playbook<\/a>\n        <a href=\"#calculators\" class=\"btn-ghost\">Try the calculators \u2192<\/a>\n      <\/div>\n      <div class=\"hero__meta\">\n        <span>\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M5 12l5 5 9-11\"\/><\/svg>\n          ROI cost calculator\n        <\/span>\n        <span>\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M5 12l5 5 9-11\"\/><\/svg>\n          10-question readiness score\n        <\/span>\n        <span>\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M5 12l5 5 9-11\"\/><\/svg>\n          Vendor evaluation checklist\n        <\/span>\n      <\/div>\n    <\/div>\n\n    <div class=\"hero__cover\">\n      <div class=\"hero__cover-inner\">\n        <div class=\"hero__cover-mark\">NORA<\/div>\n        <span class=\"hero__cover-eyebrow\">AI Workflow Blueprint<\/span>\n        <h3 class=\"hero__cover-title\">Document &amp; Data Processing<\/h3>\n        <p class=\"hero__cover-sub\">\n          A practical playbook for operations leaders who want to eliminate\n          manual data entry from their document workflows.\n        <\/p>\n        <div class=\"hero__cover-doc\">\n          <div class=\"hero__cover-pages\">\n            <span class=\"pg fill\"><\/span><span class=\"pg fill\"><\/span><span class=\"pg fill\"><\/span>\n            <span class=\"pg fill\"><\/span><span class=\"pg fill\"><\/span><span class=\"pg\"><\/span>\n            <span class=\"pg\"><\/span><span class=\"pg\"><\/span><span class=\"pg\"><\/span>\n          <\/div>\n        <\/div>\n      <\/div>\n      <div class=\"hero__cover-brand\">\n        <strong>Powered by NORA<\/strong>\n        <span>smartdev.com<\/span>\n      <\/div>\n      <div class=\"hero__cover-chip\">\n        <span class=\"pulse\"><\/span>\n        Avg ROI in 8.2 months\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 STATS \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n<section class=\"stats\">\n  <div class=\"container\">\n    <div class=\"stats__inner\">\n      <div class=\"stat\">\n        <div class=\"stat__num\">300+<span style=\"color: rgb(0, 73, 178)\"><span style=\"color: \"><\/span><\/span><\/div>\n        <div class=\"stat__label\">Global clients across logistics, BFSI, professional services<\/div>\n      <\/div>\n      <div class=\"stat\">\n        <div class=\"stat__num\">70\u201385<span style=\"color: rgb(0, 73, 178)\">%<\/span><\/div>\n        <div class=\"stat__label\">Cost reduction on standard invoice processing with NORA<\/div>\n      <\/div>\n      <div class=\"stat\">\n        <div class=\"stat__num\">6\u20138<span style=\"color: rgb(0, 73, 178)\">\u00a0weeks<\/span><\/div>\n        <div class=\"stat__label\">From first call to first working assistant in your environment<\/div>\n      <\/div>\n      <div class=\"stat\">\n        <div class=\"stat__num\">95\u201398<span><span style=\"color: #0049b2\">%<\/span><\/span><\/div>\n        <div class=\"stat__label\">Extraction accuracy on standard documents, improving over time<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 WHAT'S INSIDE \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n<section class=\"section section--tinted\" id=\"whats-inside\">\n  <div class=\"container\">\n    <div class=\"section__head\">\n      <span class=\"eyebrow\">What you get<\/span>\n      <h2>4 questions that block document automation\n<\/h2>\n      <p class=\"lead\">\n        Most operations teams know they have a problem. What stops them is\n        4 questions that never get answered clearly enough to build momentum.\n        This playbook closes them out.\n      <\/p>\n    <\/div>\n\n    <div class=\"inside-grid\">\n      <div class=\"inside-card\">\n        <div class=\"inside-card__num\">QUESTION 01<\/div>\n        <h3>Which document type should I start with?<\/h3>\n        <p>Sections 1\u20133 walk you through use case fit by industry: logistics, finance, procurement and which doc types deliver the fastest payback.<\/p>\n        <ul class=\"inside-card__bullets\">\n          <li>Bills of Lading, PODs &amp; customs docs<\/li>\n          <li>Vendor invoices, POs &amp; GRNs<\/li>\n          <li>Quotes, contracts &amp; compliance docs<\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"inside-card\">\n        <div class=\"inside-card__num\">QUESTION 02<\/div>\n        <h3>How accurate will the extraction actually be?<\/h3>\n        <p>Real benchmarks by document type, not generic \"99%\" claims, plus where humans fit in the loop and how accuracy improves over time.<\/p>\n        <ul class=\"inside-card__bullets\">\n          <li>97\u201399% on standard invoices<\/li>\n          <li>92\u201396% on Bills of Lading<\/li>\n          <li>3\u20135% improvement in the first 90 days<\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"inside-card\">\n        <div class=\"inside-card__num\">QUESTION 03<\/div>\n        <h3>How do I justify the cost internally?<\/h3>\n        <p>A 3-input ROI model with savings rate benchmarks by doc type, a worked example, and answers to the most common objections from leadership and IT.<\/p>\n        <ul class=\"inside-card__bullets\">\n          <li>Cost-baseline calculator<\/li>\n          <li>Payback &amp; 12-month ROI formula<\/li>\n          <li>4 common objections &amp; rebuttals<\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"inside-card\">\n        <div class=\"inside-card__num\">QUESTION 04<\/div>\n        <h3>Who owns this after it's live?<\/h3>\n        <p>A clear RACI for ops, IT, vendor and finance, plus a phased delivery model so you don't get stuck at \"almost shipped.\"<\/p>\n        <ul class=\"inside-card__bullets\">\n          <li>Pilot \u2192 validate \u2192 scale model<\/li>\n          <li>7\u201312 week realistic timeline<\/li>\n          <li>Green flag \/ red flag vendor checklist<\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"inside-card\">\n        <div class=\"inside-card__num\">BONUS A<\/div>\n        <h3>The cost calculator (Section 4)<\/h3>\n        <p>Plug in your volume, time-per-doc and error rate. Get your monthly manual processing cost and the projected savings with NORA.<\/p>\n        <ul class=\"inside-card__bullets\">\n          <li>Direct staff time<\/li>\n          <li>Errors &amp; rework<\/li>\n          <li>Late-payment \/ missed-discount cost<\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"inside-card\">\n        <div class=\"inside-card__num\">BONUS B<\/div>\n        <h3>The 10-question readiness check<\/h3>\n        <p>Score your team across volume, source systems, ownership and leadership support. Clear verdict: pilot now, close gaps, or align internally.<\/p>\n        <ul class=\"inside-card__bullets\">\n          <li>Volume &amp; document mix<\/li>\n          <li>System &amp; integration readiness<\/li>\n          <li>Process ownership &amp; success metrics<\/li>\n        <\/ul>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 CALCULATORS \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n<section class=\"calc-section\" id=\"calculators\">\n  <div class=\"container\">\n    <div class=\"section__head\">\n      <span class=\"eyebrow\">TRY IT NOW<\/span>\n      <h2>Two calculators from the playbook \u2014<br\/>live, on this page.<\/h2>\n      <p class=\"lead\">\n        Run the cost baseline first, then check whether your team is set up to\n        act on it. Both are the exact tools used in our scoping calls.\n      <\/p>\n    <\/div>\n\n    <div style=\"display:flex; justify-content:center;\">\n      <div class=\"calc-tabs\" role=\"tablist\">\n        <button class=\"calc-tabs__item active\" data-tab=\"cost\" role=\"tab\">\n          <svg class=\"tab-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 2v20M17 5H9.5a3.5 3.5 0 000 7h5a3.5 3.5 0 010 7H6\"\/><\/svg>\n          Cost calculator\n        <\/button>\n        <button class=\"calc-tabs__item\" data-tab=\"ready\" role=\"tab\">\n          <svg class=\"tab-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 11l3 3L22 4\"\/><path d=\"M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11\"\/><\/svg>\n          Readiness score\n        <\/button>\n      <\/div>\n    <\/div>\n\n    <div id=\"nora-calc-mount\"><\/div>\n    \n  <\/div>\n<\/section>\n\n<!-- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 PIPELINE \/ HOW IT WORKS \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n<section class=\"section\" id=\"how-it-works\">\n  <div class=\"container\">\n    <div class=\"section__head\">\n      <span class=\"eyebrow\">The 5-stage pipeline<\/span>\n      <h2>How NORA processes a document, end to end.<\/h2>\n      <p class=\"lead\">\n        High-confidence extractions flow through automatically. Low-confidence\n        fields route to your team. The 90% the AI handles frees them to focus\n        on the cases that actually need judgment.\n      <\/p>\n    <\/div>\n\n    <div class=\"pipeline\">\n      <div class=\"pipeline-step\">\n        <span class=\"pipeline-step__num\">Stage 01<\/span>\n        <span class=\"pipeline-step__icon\">\n          <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M3 7l9-4 9 4M3 7v10l9 4 9-4V7M3 7l9 4 9-4M12 11v10\"\/><\/svg>\n        <\/span>\n        <h4>Document intake<\/h4>\n        <p>Email, scan, portal upload, API feed \u2014 accepts any source, any format.<\/p>\n      <\/div>\n      <div class=\"pipeline-step\">\n        <span class=\"pipeline-step__num\">Stage 02<\/span>\n        <span class=\"pipeline-step__icon\">\n          <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M4 6h16M4 12h10M4 18h16\"\/><\/svg>\n        <\/span>\n        <h4>Classification<\/h4>\n        <p>The AI identifies doc type \u2014 invoice, BoL, PO \u2014 without you sorting them in advance.<\/p>\n      <\/div>\n      <div class=\"pipeline-step\">\n        <span class=\"pipeline-step__num\">Stage 03<\/span>\n        <span class=\"pipeline-step__icon\">\n          <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"\/><path d=\"M7 8h10M7 12h10M7 16h6\"\/><\/svg>\n        <\/span>\n        <h4>Extraction<\/h4>\n        <p>Structured fields pulled out \u2014 vendor, amounts, dates, line items \u2014 each with a confidence score.<\/p>\n      <\/div>\n      <div class=\"pipeline-step\">\n        <span class=\"pipeline-step__num\">Stage 04<\/span>\n        <span class=\"pipeline-step__icon\">\n          <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M5 12l5 5 9-11\"\/><circle cx=\"12\" cy=\"12\" r=\"10\"\/><\/svg>\n        <\/span>\n        <h4>Validation<\/h4>\n        <p>High-confidence flows through. Low-confidence routes to your team \u2014 humans only see what matters.<\/p>\n      <\/div>\n      <div class=\"pipeline-step\">\n        <span class=\"pipeline-step__num\">Stage 05<\/span>\n        <span class=\"pipeline-step__icon\">\n          <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg>\n        <\/span>\n        <h4>System push<\/h4>\n        <p>Clean data lands in your ERP, TMS or AP system via API or pre-built connector.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 OBJECTIONS \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n<section class=\"section section--soft\">\n  <div class=\"container\">\n    <div class=\"section__head\">\n      <span class=\"eyebrow\">Common pushback<\/span>\n      <h2>4 objections you'll hear internally \u2014<br\/>with the answers.<\/h2>\n    <\/div>\n\n    <div class=\"objections\">\n      <div class=\"objection\">\n        <h4>\"We don't have enough volume to justify it.\"<\/h4>\n        <p>The threshold is lower than most teams think. At 200+ docs\/month with a 10-min processing time, the math works. The calculator above will show you.<\/p>\n      <\/div>\n      <div class=\"objection\">\n        <h4>\"The accuracy won't be good enough.\"<\/h4>\n        <p>Real benchmarks: 95\u201398% on standard documents. Exception handling covers the rest. Compare that to your current manual error rate of 1\u20133%.<\/p>\n      <\/div>\n      <div class=\"objection\">\n        <h4>\"IT has a long backlog \u2014 we can't get resources.\"<\/h4>\n        <p>A scoped pilot needs minimal IT involvement beyond API access. NORA is built for low-IT-burden integration, not custom infrastructure work.<\/p>\n      <\/div>\n      <div class=\"objection\">\n        <h4>\"We just invested in our ERP. Not another system.\"<\/h4>\n        <p>Document automation integrates with your ERP \u2014 it doesn't replace it. Think of it as a smarter data input layer, not a new system of record.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 DOWNLOAD CTA \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n<section class=\"section section--dark dark-cta\" id=\"download\">\n  <div class=\"container\">\n    <div class=\"dark-cta__gr-form\">\n      <getresponse-form form-id=\"daeeb92b-4f53-44e3-bc7c-877126f086bb\" e=\"1\"><\/getresponse-form>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n\n<\/div>\n<script src=\"https:\/\/unpkg.com\/react@18.3.1\/umd\/react.production.min.js\" crossorigin=\"anonymous\"><\/script>\n<script src=\"https:\/\/unpkg.com\/react-dom@18.3.1\/umd\/react-dom.production.min.js\" crossorigin=\"anonymous\"><\/script>\n<script>\nconst {\n  useState,\n  useMemo\n} = React;\nconst READINESS_QS = [\"We process more than 200 documents of the same type per month.\", \"We can identify at least one document type where errors have caused measurable downstream cost in the past 6 months.\", \"Our documents arrive in a digital format (PDF, email, scan) at least 70% of the time.\", \"We have a named target system (ERP, TMS, AP) where extracted data needs to land.\", \"Our IT team can provide API access to the target system within 4 weeks.\", \"We have a named ops or process owner who can define the exception handling workflow.\", \"We have leadership support to pilot a new workflow tool if the ROI case is clear.\", \"We can dedicate 2\u20133 hours per week of an ops team member's time during a 10-week pilot.\", \"We have a clear definition of what \\\"successful\\\" looks like (accuracy %, processing time, STP rate).\", \"We understand a pilot is a learning exercise \u2014 not a guarantee of perfection on day one.\"];\nfunction CostCalculator() {\n  const [v, setV] = useState({\n    volume: 500,\n    minutes: 10,\n    rate: 25,\n    errorRate: 2,\n    errorTime: 25,\n    errorCost: 80,\n    invoiceValue: 4500,\n    discount: 1.5,\n    missing: 35\n  });\n  const [submitted, setSubmitted] = useState(false);\n  const set = k => e => {\n    const val = e.target.value;\n    setV({\n      ...v,\n      [k]: val === \"\" ? \"\" : Number(val)\n    });\n  };\n  const num = x => Number.isFinite(Number(x)) ? Number(x) : 0;\n  const calc = useMemo(() => {\n    const volume = num(v.volume);\n    const staff = volume * (num(v.minutes) \/ 60) * num(v.rate);\n    const errorDocs = volume * (num(v.errorRate) \/ 100);\n    const error = errorDocs * (num(v.errorTime) \/ 60) * num(v.rate) + errorDocs * num(v.errorCost);\n    const delay = volume * num(v.invoiceValue) * (num(v.discount) \/ 100) * (num(v.missing) \/ 100);\n    const total = staff + error + delay;\n    const annual = total * 12;\n    const projectedSave = total * 0.7;\n    const annualSave = projectedSave * 12;\n    return {\n      staff,\n      error,\n      delay,\n      total,\n      annual,\n      projectedSave,\n      annualSave\n    };\n  }, [v]);\n  const fmt = x => \"$\" + Math.round(x).toLocaleString(\"en-US\", {\n    maximumFractionDigits: 0\n  });\n  return \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"calc-card\"\n  }, \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"calc-form\"\n  }, \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"calc-form__title\"\n  }, \"Cost of Manual Document Processing\"), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"calc-form__sub\"\n  }, \"Fill in your numbers to see the monthly baseline you're paying today. You can refine later.\"), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"calc-step\"\n  }, \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"calc-step__head\"\n  }, \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"calc-step__num\"\n  }, \"1\"), \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"calc-step__title\"\n  }, \"Direct staff cost\")), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"field-row field-row--3\"\n  }, \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"field\"\n  }, \/*#__PURE__*\/React.createElement(\"label\", null, \"Monthly document volume\"), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"input-wrap\"\n  }, \/*#__PURE__*\/React.createElement(\"input\", {\n    type: \"number\",\n    value: v.volume,\n    onChange: set(\"volume\"),\n    placeholder: \"500\"\n  }), \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"suffix\"\n  }, \"docs\"))), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"field\"\n  }, \/*#__PURE__*\/React.createElement(\"label\", null, \"Time per document\"), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"input-wrap\"\n  }, \/*#__PURE__*\/React.createElement(\"input\", {\n    type: \"number\",\n    value: v.minutes,\n    onChange: set(\"minutes\"),\n    placeholder: \"10\"\n  }), \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"suffix\"\n  }, \"min\"))), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"field\"\n  }, \/*#__PURE__*\/React.createElement(\"label\", null, \"Fully-loaded staff cost\"), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"input-wrap\"\n  }, \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"prefix\"\n  }, \"$\"), \/*#__PURE__*\/React.createElement(\"input\", {\n    type: \"number\",\n    value: v.rate,\n    onChange: set(\"rate\"),\n    placeholder: \"25\"\n  }), \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"suffix\"\n  }, \"\/hr\"))))), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"calc-step\"\n  }, \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"calc-step__head\"\n  }, \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"calc-step__num\"\n  }, \"2\"), \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"calc-step__title\"\n  }, \"Errors & rework\")), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"field-row field-row--3\"\n  }, \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"field\"\n  }, \/*#__PURE__*\/React.createElement(\"label\", null, \"Error rate\"), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"input-wrap\"\n  }, \/*#__PURE__*\/React.createElement(\"input\", {\n    type: \"number\",\n    step: \"0.1\",\n    value: v.errorRate,\n    onChange: set(\"errorRate\"),\n    placeholder: \"2\"\n  }), \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"suffix\"\n  }, \"%\"))), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"field\"\n  }, \/*#__PURE__*\/React.createElement(\"label\", null, \"Time per error\"), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"input-wrap\"\n  }, \/*#__PURE__*\/React.createElement(\"input\", {\n    type: \"number\",\n    value: v.errorTime,\n    onChange: set(\"errorTime\"),\n    placeholder: \"25\"\n  }), \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"suffix\"\n  }, \"min\"))), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"field\"\n  }, \/*#__PURE__*\/React.createElement(\"label\", null, \"Downstream cost \/ error\"), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"input-wrap\"\n  }, \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"prefix\"\n  }, \"$\"), \/*#__PURE__*\/React.createElement(\"input\", {\n    type: \"number\",\n    value: v.errorCost,\n    onChange: set(\"errorCost\"),\n    placeholder: \"80\"\n  }))))), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"calc-step\"\n  }, \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"calc-step__head\"\n  }, \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"calc-step__num\"\n  }, \"3\"), \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"calc-step__title\"\n  }, \"Delay cost (invoices only)\")), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"field-row field-row--3\"\n  }, \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"field\"\n  }, \/*#__PURE__*\/React.createElement(\"label\", null, \"Avg invoice value\"), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"input-wrap\"\n  }, \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"prefix\"\n  }, \"$\"), \/*#__PURE__*\/React.createElement(\"input\", {\n    type: \"number\",\n    value: v.invoiceValue,\n    onChange: set(\"invoiceValue\"),\n    placeholder: \"4500\"\n  }))), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"field\"\n  }, \/*#__PURE__*\/React.createElement(\"label\", null, \"Early-pay discount\"), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"input-wrap\"\n  }, \/*#__PURE__*\/React.createElement(\"input\", {\n    type: \"number\",\n    step: \"0.1\",\n    value: v.discount,\n    onChange: set(\"discount\"),\n    placeholder: \"1.5\"\n  }), \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"suffix\"\n  }, \"%\"))), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"field\"\n  }, \/*#__PURE__*\/React.createElement(\"label\", null, \"% missing discount\"), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"input-wrap\"\n  }, \/*#__PURE__*\/React.createElement(\"input\", {\n    type: \"number\",\n    value: v.missing,\n    onChange: set(\"missing\"),\n    placeholder: \"35\"\n  }), \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"suffix\"\n  }, \"%\"))))), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"calc-actions\"\n  }, \/*#__PURE__*\/React.createElement(\"button\", {\n    className: \"btn-secondary\",\n    onClick: () => setSubmitted(true)\n  }, \"Calculate my baseline \\u2192\"), \/*#__PURE__*\/React.createElement(\"button\", {\n    className: \"reset-link\",\n    onClick: () => {\n      setV({\n        volume: 0,\n        minutes: 0,\n        rate: 0,\n        errorRate: 0,\n        errorTime: 0,\n        errorCost: 0,\n        invoiceValue: 0,\n        discount: 0,\n        missing: 0\n      });\n      setSubmitted(false);\n    }\n  }, \"Reset\"))), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"calc-result\"\n  }, !submitted ? \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"calc-result__placeholder\"\n  }, \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"icon\"\n  }, \/*#__PURE__*\/React.createElement(\"svg\", {\n    width: \"24\",\n    height: \"24\",\n    viewBox: \"0 0 24 24\",\n    fill: \"none\",\n    stroke: \"currentColor\",\n    strokeWidth: \"2\"\n  }, \/*#__PURE__*\/React.createElement(\"rect\", {\n    x: \"4\",\n    y: \"3\",\n    width: \"16\",\n    height: \"18\",\n    rx: \"1\"\n  }), \/*#__PURE__*\/React.createElement(\"path\", {\n    d: \"M8 7h8M8 11h8M8 15h5\"\n  }))), \/*#__PURE__*\/React.createElement(\"h3\", null, \"Your baseline appears here\"), \/*#__PURE__*\/React.createElement(\"p\", null, \"Fill in the fields and hit Calculate. We'll project monthly cost, annual cost and projected savings with NORA.\")) : \/*#__PURE__*\/React.createElement(React.Fragment, null, \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"result__eyebrow\"\n  }, \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"dot\"\n  }), \"Your monthly baseline\"), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"result__big\"\n  }, fmt(calc.total), \/*#__PURE__*\/React.createElement(\"small\", null, \"\/mo\")), \/*#__PURE__*\/React.createElement(\"p\", {\n    className: \"result__caption\"\n  }, \"That's \", \/*#__PURE__*\/React.createElement(\"strong\", null, fmt(calc.annual)), \" per year sitting in manual processing \\u2014 before factoring opportunity cost.\"), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"result__breakdown\"\n  }, \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"result__row\"\n  }, \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"label\"\n  }, \"Direct staff time\"), \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"val\"\n  }, fmt(calc.staff))), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"result__row\"\n  }, \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"label alt\"\n  }, \"Errors & rework\"), \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"val\"\n  }, fmt(calc.error))), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"result__row\"\n  }, \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"label muted\"\n  }, \"Delay \/ missed discounts\"), \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"val\"\n  }, fmt(calc.delay)))), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"result__projection\"\n  }, \/*#__PURE__*\/React.createElement(\"h4\", null, \"Projected with NORA \\xB7 70% reduction\"), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"result__projection-row\"\n  }, \/*#__PURE__*\/React.createElement(\"span\", null, \"Monthly savings\"), \/*#__PURE__*\/React.createElement(\"strong\", null, fmt(calc.projectedSave))), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"result__projection-row\"\n  }, \/*#__PURE__*\/React.createElement(\"span\", null, \"12-month savings\"), \/*#__PURE__*\/React.createElement(\"strong\", null, fmt(calc.annualSave)))), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"result__cta\"\n  }, \/*#__PURE__*\/React.createElement(\"a\", {\n    className: \"btn\",\n    href: \"https:\/\/smartdev.com\/contact-us\/\",\n    target: \"_blank\",\n    rel: \"noopener noreferrer\"\n  }, \"Get a scoped proposal\", \/*#__PURE__*\/React.createElement(\"svg\", {\n    width: \"14\",\n    height: \"14\",\n    viewBox: \"0 0 24 24\",\n    fill: \"none\",\n    stroke: \"currentColor\",\n    strokeWidth: \"2.5\"\n  }, \/*#__PURE__*\/React.createElement(\"path\", {\n    d: \"M5 12h14M13 6l6 6-6 6\"\n  }))), \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"result__cta-meta\"\n  }, \"Benchmark range: 70\\u201385% cost reduction on standard invoices.\")))));\n}\nfunction ReadinessCalculator() {\n  const [answers, setAnswers] = useState(Array(10).fill(null));\n  const [submitted, setSubmitted] = useState(false);\n  const answeredCount = answers.filter(a => a !== null).length;\n  const total = useMemo(() => answers.reduce((s, v) => s + (v || 0), 0), [answers]);\n  const set = (i, val) => {\n    const next = [...answers];\n    next[i] = val;\n    setAnswers(next);\n  };\n  const verdict = useMemo(() => {\n    if (total >= 24) return {\n      cls: \"ready\",\n      title: \"Ready to pilot\",\n      big: \"Book a scoping call.\",\n      body: \"Your foundation is strong. With volume, leadership support and clear success metrics in place, a 7\u201312 week pilot is realistic \u2014 and you should see ROI inside the first 6 months.\",\n      cta: \"Book a 30-min scoping call\"\n    };\n    if (total >= 16) return {\n      cls: \"almost\",\n      title: \"Almost there\",\n      big: \"Close the 2\u20133 gaps first.\",\n      body: \"You have most of what you need. Identify the lowest-scoring questions, address them in the next 30\u201360 days, then move into vendor conversations from a position of strength.\",\n      cta: \"Get a readiness gap-plan\"\n    };\n    return {\n      cls: \"warmup\",\n      title: \"Build alignment first\",\n      big: \"Use the playbook to get everyone aligned.\",\n      body: \"Don't rush vendor conversations. Use the playbook's ROI calculator (Section 4\u20135) to build the internal case, get leadership and IT on the same page, then circle back.\",\n      cta: \"Download the full playbook\"\n    };\n  }, [total]);\n  const completed = answeredCount === 10;\n  return \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"calc-card\"\n  }, \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"calc-form\"\n  }, \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"calc-form__title\"\n  }, \"Am I ready to automate?\"), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"calc-form__sub\"\n  }, \"10 questions. Score each: \", \/*#__PURE__*\/React.createElement(\"strong\", null, \"3 = Yes\"), \", \", \/*#__PURE__*\/React.createElement(\"strong\", null, \"2 = Partially\"), \", \", \/*#__PURE__*\/React.createElement(\"strong\", null, \"1 = No\"), \". We'll tell you where you stand and what to do next.\"), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"q-progress\"\n  }, \/*#__PURE__*\/React.createElement(\"span\", null, answeredCount, \" of 10 answered\"), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"q-progress__bar\"\n  }, \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"q-progress__bar-fill\",\n    style: {\n      width: `${answeredCount \/ 10 * 100}%`\n    }\n  })), \/*#__PURE__*\/React.createElement(\"span\", {\n    style: {\n      fontVariantNumeric: \"tabular-nums\"\n    }\n  }, total, \" \/ 30\")), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"q-list\"\n  }, READINESS_QS.map((q, i) => \/*#__PURE__*\/React.createElement(\"div\", {\n    key: i,\n    className: \"q-item\" + (answers[i] !== null ? \" answered\" : \"\")\n  }, \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"q-item__num\"\n  }, String(i + 1).padStart(2, \"0\")), \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"q-item__text\"\n  }, q), \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"q-item__choices\"\n  }, [{\n    val: 1,\n    label: \"No\"\n  }, {\n    val: 2,\n    label: \"Partial\"\n  }, {\n    val: 3,\n    label: \"Yes\"\n  }].map(c => \/*#__PURE__*\/React.createElement(\"button\", {\n    key: c.val,\n    type: \"button\",\n    className: \"q-choice\" + (answers[i] === c.val ? \" selected\" : \"\"),\n    onClick: () => set(i, c.val),\n    \"aria-label\": `${c.label} for question ${i + 1}`\n  }, \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"num\"\n  }, c.val), \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"label\"\n  }, c.label))))))), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"calc-actions\"\n  }, \/*#__PURE__*\/React.createElement(\"button\", {\n    className: \"btn-secondary\",\n    onClick: () => setSubmitted(true),\n    disabled: !completed,\n    style: completed ? {} : {\n      opacity: 0.5,\n      cursor: \"not-allowed\"\n    }\n  }, completed ? \"See my readiness score \u2192\" : `Answer ${10 - answeredCount} more`), \/*#__PURE__*\/React.createElement(\"button\", {\n    className: \"reset-link\",\n    onClick: () => {\n      setAnswers(Array(10).fill(null));\n      setSubmitted(false);\n    }\n  }, \"Reset\"))), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"calc-result\"\n  }, !submitted ? \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"calc-result__placeholder\"\n  }, \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"icon\"\n  }, \/*#__PURE__*\/React.createElement(\"svg\", {\n    width: \"24\",\n    height: \"24\",\n    viewBox: \"0 0 24 24\",\n    fill: \"none\",\n    stroke: \"currentColor\",\n    strokeWidth: \"2\"\n  }, \/*#__PURE__*\/React.createElement(\"path\", {\n    d: \"M9 11l3 3L22 4\"\n  }), \/*#__PURE__*\/React.createElement(\"path\", {\n    d: \"M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11\"\n  }))), \/*#__PURE__*\/React.createElement(\"h3\", null, \"Your readiness score appears here\"), \/*#__PURE__*\/React.createElement(\"p\", null, \"Score every question, hit submit, and you'll get a clear verdict \\u2014 pilot now, close gaps first, or align internally.\")) : \/*#__PURE__*\/React.createElement(React.Fragment, null, \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"verdict-badge \" + verdict.cls\n  }, \/*#__PURE__*\/React.createElement(\"svg\", {\n    width: \"12\",\n    height: \"12\",\n    viewBox: \"0 0 24 24\",\n    fill: \"none\",\n    stroke: \"currentColor\",\n    strokeWidth: \"3\"\n  }, verdict.cls === \"ready\" && \/*#__PURE__*\/React.createElement(\"path\", {\n    d: \"M5 12l5 5 9-11\"\n  }), verdict.cls === \"almost\" && \/*#__PURE__*\/React.createElement(\"path\", {\n    d: \"M12 8v5M12 17h.01\"\n  }), verdict.cls === \"warmup\" && \/*#__PURE__*\/React.createElement(\"path\", {\n    d: \"M3 12h6M15 12h6M12 3v6M12 15v6\"\n  })), verdict.title), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"result__big\",\n    style: {\n      fontSize: \"64px\"\n    }\n  }, total, \/*#__PURE__*\/React.createElement(\"small\", null, \"\/ 30\")), \/*#__PURE__*\/React.createElement(\"p\", {\n    className: \"result__caption\",\n    style: {\n      fontSize: \"14px\"\n    }\n  }, verdict.big), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"readiness-meter\"\n  }, \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"result__row\"\n  }, \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"label muted\"\n  }, \"Readiness band\"), \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"val\"\n  }, total >= 24 ? \"24\u201330\" : total >= 16 ? \"16\u201323\" : \"Under 16\")), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"readiness-meter__bar\"\n  }, \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"readiness-meter__fill\",\n    style: {\n      width: `${total \/ 30 * 100}%`\n    }\n  })), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"readiness-meter__labels\"\n  }, \/*#__PURE__*\/React.createElement(\"span\", null, \"Build alignment\"), \/*#__PURE__*\/React.createElement(\"span\", null, \"Almost there\"), \/*#__PURE__*\/React.createElement(\"span\", null, \"Pilot ready\"))), \/*#__PURE__*\/React.createElement(\"p\", {\n    style: {\n      marginTop: 22,\n      fontSize: 13,\n      lineHeight: 1.6,\n      color: \"rgba(255,255,255,0.78)\"\n    }\n  }, verdict.body), \/*#__PURE__*\/React.createElement(\"div\", {\n    className: \"result__cta\"\n  }, \/*#__PURE__*\/React.createElement(\"a\", {\n    className: \"btn\",\n    href: \"https:\/\/smartdev.com\/contact-us\/\",\n    target: \"_blank\",\n    rel: \"noopener noreferrer\"\n  }, verdict.cta, \/*#__PURE__*\/React.createElement(\"svg\", {\n    width: \"14\",\n    height: \"14\",\n    viewBox: \"0 0 24 24\",\n    fill: \"none\",\n    stroke: \"currentColor\",\n    strokeWidth: \"2.5\"\n  }, \/*#__PURE__*\/React.createElement(\"path\", {\n    d: \"M5 12h14M13 6l6 6-6 6\"\n  }))), \/*#__PURE__*\/React.createElement(\"span\", {\n    className: \"result__cta-meta\"\n  }, \"Score thresholds: 24+ pilot now \\xB7 16\\u201323 close gaps \\xB7 <16 align first.\")))));\n}\nfunction CalcApp() {\n  const [tab, setTab] = useState(\"cost\");\n  React.useEffect(() => {\n    const buttons = document.querySelectorAll(\".calc-tabs__item\");\n    const handlers = [];\n    buttons.forEach(b => {\n      const fn = () => {\n        buttons.forEach(x => x.classList.toggle(\"active\", x === b));\n        setTab(b.dataset.tab);\n      };\n      b.addEventListener(\"click\", fn);\n      handlers.push([b, fn]);\n    });\n    return () => handlers.forEach(([b, fn]) => b.removeEventListener(\"click\", fn));\n  }, []);\n  return \/*#__PURE__*\/React.createElement(React.Fragment, null, \/*#__PURE__*\/React.createElement(\"div\", {\n    style: {\n      display: tab === \"cost\" ? \"block\" : \"none\"\n    }\n  }, \/*#__PURE__*\/React.createElement(CostCalculator, null)), \/*#__PURE__*\/React.createElement(\"div\", {\n    style: {\n      display: tab === \"ready\" ? \"block\" : \"none\"\n    }\n  }, \/*#__PURE__*\/React.createElement(ReadinessCalculator, null)));\n}\nReactDOM.createRoot(document.getElementById(\"nora-calc-mount\")).render(React.createElement(CalcApp));\n\n<\/script>\n\n\t\t<\/div>\n\t<\/div>\n\n\t\t\t<\/div> \n\t\t<\/div>\n\t<\/div> \n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"Free Playbook \u00b7 24 pages Document &amp; Data Processing, without the manual data entry. A...","protected":false},"author":24,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-37850","page","type-page","status-publish"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>AI Automation: Document &amp; Data Processing | SmartDev<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/smartdev.com\/fr\/ai-automation-document-data-processing\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AI Automation: Document &amp; Data Processing | SmartDev\" \/>\n<meta property=\"og:url\" content=\"https:\/\/smartdev.com\/fr\/ai-automation-document-data-processing\/\" \/>\n<meta property=\"og:site_name\" content=\"SmartDev\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.youtube.com\/@smartdevllc\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-10T09:50:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/smartdev.com\/wp-content\/uploads\/2025\/04\/SMD-Logo-New-Main-scaled.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"550\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@smartdevllc\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/smartdev.com\\\/fr\\\/ai-automation-document-data-processing\\\/\",\"url\":\"https:\\\/\\\/smartdev.com\\\/fr\\\/ai-automation-document-data-processing\\\/\",\"name\":\"AI Automation: Document & Data Processing | SmartDev\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/smartdev.com\\\/fr\\\/#website\"},\"datePublished\":\"2026-05-08T09:29:05+00:00\",\"dateModified\":\"2026-05-10T09:50:10+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/smartdev.com\\\/fr\\\/ai-automation-document-data-processing\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/smartdev.com\\\/fr\\\/ai-automation-document-data-processing\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/smartdev.com\\\/fr\\\/ai-automation-document-data-processing\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/smartdev.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI Automation: Document &#038; Data Processing\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/smartdev.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/smartdev.com\\\/fr\\\/\",\"name\":\"SmartDev\",\"description\":\"Al Powered Software Development\",\"publisher\":{\"@id\":\"https:\\\/\\\/smartdev.com\\\/fr\\\/#organization\"},\"alternateName\":\"SmartDev\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/smartdev.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/smartdev.com\\\/fr\\\/#organization\",\"name\":\"SmartDev\",\"alternateName\":\"SmartDev\",\"url\":\"https:\\\/\\\/smartdev.com\\\/fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/smartdev.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/smartdev.com\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/SMD-Logo-New-Main-scaled.png\",\"contentUrl\":\"https:\\\/\\\/smartdev.com\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/SMD-Logo-New-Main-scaled.png\",\"width\":2560,\"height\":550,\"caption\":\"SmartDev\"},\"image\":{\"@id\":\"https:\\\/\\\/smartdev.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.youtube.com\\\/@smartdevllc\",\"https:\\\/\\\/x.com\\\/smartdevllc\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/4873071\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"AI Automation: Document & Data Processing | SmartDev","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/smartdev.com\/fr\/ai-automation-document-data-processing\/","og_locale":"fr_FR","og_type":"article","og_title":"AI Automation: Document & Data Processing | SmartDev","og_url":"https:\/\/smartdev.com\/fr\/ai-automation-document-data-processing\/","og_site_name":"SmartDev","article_publisher":"https:\/\/www.youtube.com\/@smartdevllc","article_modified_time":"2026-05-10T09:50:10+00:00","og_image":[{"width":2560,"height":550,"url":"https:\/\/smartdev.com\/wp-content\/uploads\/2025\/04\/SMD-Logo-New-Main-scaled.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@smartdevllc","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/smartdev.com\/fr\/ai-automation-document-data-processing\/","url":"https:\/\/smartdev.com\/fr\/ai-automation-document-data-processing\/","name":"AI Automation: Document & Data Processing | SmartDev","isPartOf":{"@id":"https:\/\/smartdev.com\/fr\/#website"},"datePublished":"2026-05-08T09:29:05+00:00","dateModified":"2026-05-10T09:50:10+00:00","breadcrumb":{"@id":"https:\/\/smartdev.com\/fr\/ai-automation-document-data-processing\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/smartdev.com\/fr\/ai-automation-document-data-processing\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/smartdev.com\/fr\/ai-automation-document-data-processing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/smartdev.com\/"},{"@type":"ListItem","position":2,"name":"AI Automation: Document &#038; Data Processing"}]},{"@type":"WebSite","@id":"https:\/\/smartdev.com\/fr\/#website","url":"https:\/\/smartdev.com\/fr\/","name":"SmartDev","description":"D\u00e9veloppement de logiciels aliment\u00e9 par l&#039;IA","publisher":{"@id":"https:\/\/smartdev.com\/fr\/#organization"},"alternateName":"SmartDev","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/smartdev.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/smartdev.com\/fr\/#organization","name":"SmartDev","alternateName":"SmartDev","url":"https:\/\/smartdev.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/smartdev.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/smartdev.com\/wp-content\/uploads\/2025\/04\/SMD-Logo-New-Main-scaled.png","contentUrl":"https:\/\/smartdev.com\/wp-content\/uploads\/2025\/04\/SMD-Logo-New-Main-scaled.png","width":2560,"height":550,"caption":"SmartDev"},"image":{"@id":"https:\/\/smartdev.com\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.youtube.com\/@smartdevllc","https:\/\/x.com\/smartdevllc","https:\/\/www.linkedin.com\/company\/4873071\/"]}]}},"_links":{"self":[{"href":"https:\/\/smartdev.com\/fr\/wp-json\/wp\/v2\/pages\/37850","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/smartdev.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/smartdev.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/smartdev.com\/fr\/wp-json\/wp\/v2\/users\/24"}],"replies":[{"embeddable":true,"href":"https:\/\/smartdev.com\/fr\/wp-json\/wp\/v2\/comments?post=37850"}],"version-history":[{"count":0,"href":"https:\/\/smartdev.com\/fr\/wp-json\/wp\/v2\/pages\/37850\/revisions"}],"wp:attachment":[{"href":"https:\/\/smartdev.com\/fr\/wp-json\/wp\/v2\/media?parent=37850"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}