/* ==========================================================================
   NCheck — base stylesheet (every page)
   1. fonts            self-hosted woff2, latin + latin-ext (see assets/fonts/OFL.txt)
   2. element base     the few resets the pages rely on (was Betheme's be.css)
   3. design system    .ncx components: nav, hero, cards, tiers, footer …
   4. layout shims     .nc-sec / .nc-con / .nc-col wrappers of former Elementor sections
   5. footer + forms   newsletter row, Contact Form 7 essentials (plugin CSS is not loaded)
   Page-specific CSS lives in assets/css/pages/<bundle>.css and is loaded only where a
   fragment asks for it: <!-- styles: bundle … --> on its second line.
   ========================================================================== */

/* ---------- 1. fonts ---------- */
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-mono-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-mono-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-mono-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-mono-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/manrope-400-800-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/manrope-400-800-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}



/* ---------- 2. element base ---------- */
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nc-admin-bar,0px) + 76px);}
/* Bare-element typography (fonts, sizes, colours, margins of h1–h6, p, a, body) comes from legacy.css,
   which loads before this file and reproduces the old site. The design system (.ncx) overrides it. */
body{margin:0;background:#fff;-webkit-font-smoothing:antialiased;overflow-x:clip;}
body.admin-bar{--nc-admin-bar:32px;}
@media (max-width:782px){body.admin-bar{--nc-admin-bar:0px;}}
*,::before,::after{box-sizing:border-box;}
img,video,svg{max-width:100%;}
img,video{height:auto;}
#nc-main{display:block;}
.nc-skip{position:absolute;left:-9999px;top:0;background:#135CF9;color:#fff;padding:10px 14px;z-index:10000;font:700 14px Manrope,system-ui,sans-serif;border-radius:0 0 8px 0;}
.nc-skip:focus{left:0;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media (prefers-reduced-motion:reduce){*,::before,::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}.rv{opacity:1!important;transform:none!important;}}

/* ---------- 2c. site fixes (were: Appearance → Customize → Additional CSS on the old theme) ---------- */
/* header: single links get the same centred pill as the dropdown triggers */
.ncx .nlinks{align-items:center}
.ncx .nlinks > a.top{align-self:center;height:auto}
.ncx .nlinks a.top,.ncx .nlinks span.top{padding:10px 14px;line-height:22px;border-radius:10px}
/* product tabs: keep the label readable on hover/focus */
.ncx .tabs .tab{box-shadow:none}
.ncx .tabs .tab:hover,.ncx .tabs .tab:focus{background:#fff;border-color:var(--blue);color:var(--blue);box-shadow:none}
.ncx .tabs .tab.on,.ncx .tabs .tab.on:hover,.ncx .tabs .tab.on:focus{background:var(--blue);border-color:var(--blue);color:#fff}
.ncx .tabs .tab:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
/* design-system text inherits Manrope (the legacy layer sets Roboto/Poppins/Inter on bare elements) */
.ncx p,.ncx li,.ncx blockquote,.ncx blockquote *,.ncx .lead,.ncx .big,.ncx label,.ncx td,.ncx th,.ncx figcaption{font-family:inherit}
/* hover states */
.ncx .topbar a{transition:color .15s}
.ncx .topbar a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.ncx a.brand{transition:opacity .15s}
.ncx a.brand:hover{opacity:.72}
.ncx .micro a{transition:color .15s}
.ncx .micro a:hover{color:var(--blue) !important}
.ncx .mq .lbl a{transition:color .15s}
.ncx .mq .lbl a:hover{color:var(--blue) !important}
.ncx .cell p a,.ncx p.sub a{transition:color .15s}
.ncx .cell p a:hover,.ncx p.sub a:hover{color:var(--blue-d) !important;text-decoration:underline;text-underline-offset:3px}
footer.nc .base a{color:var(--mut);transition:color .15s}
footer.nc .base a:hover{color:var(--blue)}
/* logo marquee: spacing on every item (not gap) so both halves are equal and the -50% loop is seamless */
.ncx .mq{gap:0;will-change:transform}
.ncx .mq > *{flex:0 0 auto;margin-right:64px}
.ncx .rail:hover .mq{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.ncx .mq{animation:none}}
/* final CTA: no single-word orphan */
.ncx .final p{max-width:540px;margin-left:auto;margin-right:auto}

/* ---------- 3. design system ---------- */
/* ---------- 1. design system ---------- */
/* NCheck design system — Style H "Ledger Pro" (blue) */
:root{--ink:#0A0F1E;--mut:#55627A;--faint:#8B96AB;--line:#E2E8F2;--blue:#135CF9;--blue-b:#6F8CFF;--blue-d:#0E43D6;--bg:#FFFFFF;--ice:#F2F6FD;--warn:#E5484D;}
.ncx{margin:0;padding:0;}
.ncx{font-family:'Manrope',system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased;}
.ncx *{box-sizing:border-box;}
.ncx h1, .ncx h2, .ncx h3, .ncx h4, .ncx p, .ncx ul, .ncx figure{margin:0;}
.ncx a{text-decoration:none;color:inherit;}
.ncx img{max-width:100%;}
.ncx .wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
.ncx .mono{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--blue);font-weight:600;}
.ncx .kick{margin-bottom:14px;display:inline-block;}
.ncx h1{font-size:54px;line-height:1.05;font-weight:800;letter-spacing:-.035em;}
.ncx h1 em, .ncx h2 em{font-style:normal;color:var(--blue);}
.ncx h2{font-size:40px;font-weight:800;letter-spacing:-.03em;line-height:1.1;max-width:660px;}
.ncx .center h2, .ncx .center .sub{margin-left:auto;margin-right:auto;}
.ncx .center{text-align:center;}
.ncx .lead{font-size:18.5px;color:var(--mut);margin-top:22px;max-width:520px;font-weight:550;}
.ncx .sub{font-size:17px;color:var(--mut);margin-top:14px;max-width:580px;font-weight:550;}
.ncx .micro{font-size:13px;color:var(--faint);margin-top:18px;font-weight:600;}
.ncx section.block{padding:96px 0;}
/* topbar */
.ncx .topbar{background:var(--ink);color:#C7D3EA;text-align:center;font-size:12.5px;font-weight:700;padding:8px 16px;}
.ncx .topbar b{color:#fff;} .topbar a{color:var(--blue-b);margin-left:8px;}
/* nav */
.ncx nav.nc{position:sticky;top:0;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);z-index:80;}
.ncx nav.nc .wrap{display:flex;align-items:center;height:66px;gap:8px;}
.ncx .brand{flex-shrink:0;}
.ncx .brand img{height:44px;width:auto;max-width:none;display:block;}
.ncx .brand{font-weight:800;font-size:19.5px;letter-spacing:-.03em;display:flex;align-items:center;gap:9px;margin-right:22px;}
.ncx .brand .mark{width:26px;height:26px;border-radius:8px;background:linear-gradient(140deg,var(--blue-b),var(--blue));display:grid;place-items:center;color:#fff;font-size:13px;font-weight:800;}
.ncx .nlinks{display:flex;gap:2px;margin-left:auto;font-size:14.5px;font-weight:700;color:var(--mut);align-items:center;}
.ncx .nlinks>div{position:relative;}
.ncx .nlinks a.top, .ncx .nlinks span.top{display:block;padding:10px 12px;border-radius:9px;cursor:pointer;}
.ncx .nlinks a.top:hover, .ncx .nlinks span.top:hover, .ncx .nlinks div:hover>span.top{color:var(--ink);background:var(--ice);}
.ncx .nlinks a.top.on{color:var(--blue);}
.ncx .drop{position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 54px rgba(10,15,30,.14);padding:8px;min-width:240px;display:none;z-index:90;}
.ncx .drop.cols{display:none;grid-template-columns:1fr 1fr;min-width:470px;}
.ncx .nlinks div:hover .drop{display:block;}
.ncx .nlinks div:hover .drop.cols{display:grid;}
.ncx .drop a{display:block;padding:9px 12px;border-radius:9px;font-size:13.5px;font-weight:700;color:var(--ink);white-space:nowrap;}
.ncx .drop a:hover{background:var(--ice);color:var(--blue);}
.ncx .drop a span{display:block;font-size:11.5px;color:var(--faint);font-weight:600;}
.ncx .navbtns{display:flex;gap:10px;margin-left:18px;align-items:center;}
.ncx .btn{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:14.5px;padding:12px 21px;border-radius:12px;transition:all .18s ease;border:1.5px solid transparent;cursor:pointer;}
.ncx .btn-p{background:var(--blue);color:#fff;}
.ncx .btn-p:hover{background:var(--blue-d);transform:translateY(-1px);box-shadow:0 10px 24px rgba(19,92,249,.30);}
.ncx .btn-o{border-color:var(--line);color:var(--ink);background:#fff;}
.ncx .btn-o:hover{border-color:var(--blue);color:var(--blue);}
/* hero home */
.ncx .hero{position:relative;border-bottom:1px solid var(--line);overflow:hidden;}
.ncx .dots{position:absolute;inset:0;background-image:radial-gradient(circle,#D7E1F0 1.1px,transparent 1.1px);background-size:22px 22px;mask-image:radial-gradient(ellipse at 75% 40%,#000 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 75% 40%,#000 20%,transparent 70%);pointer-events:none;}
.ncx .hero .wrap{position:relative;display:grid;grid-template-columns:1.02fr 1fr;gap:60px;align-items:center;padding-top:80px;padding-bottom:96px;}
.ncx .cta{display:flex;gap:12px;margin-top:34px;align-items:center;flex-wrap:wrap;}
.ncx .hero-visual{position:relative;}
.ncx .hero-visual img.main{width:112%;max-width:none;display:block;filter:drop-shadow(0 30px 46px rgba(10,15,30,.16));}
.ncx .fcard{position:absolute;display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px 16px 11px 12px;box-shadow:0 18px 40px rgba(10,15,30,.14);z-index:4;white-space:nowrap;animation:float 6s ease-in-out infinite;}
.ncx .fcard .fic{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--ice);color:var(--blue);flex-shrink:0;}
.ncx .fcard .fic svg{width:19px;height:19px;}
.ncx .fcard b{display:block;font-size:13.5px;font-weight:800;letter-spacing:-.01em;}
.ncx .fcard span{display:block;font-size:11.5px;color:var(--mut);font-weight:600;margin-top:1px;}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-9px);}}
.f1{top:14%;left:-9%;animation-delay:0s;}
.f2{top:2%;right:-13%;animation-delay:1.6s;}
.f3{bottom:-19%;left:5%;animation-delay:.8s;}
.f4{bottom:-21%;right:-2%;animation-delay:2.4s;}
/* hero split (solutions/industries) */
.hsplit{position:relative;border-bottom:1px solid var(--line);overflow:hidden;}
.hsplit .wrap{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center;padding-top:74px;padding-bottom:86px;}
.hsplit h1{font-size:48px;}
.photocard{position:relative;}
.photocard img.ph{width:100%;border-radius:18px;display:block;aspect-ratio:4/3;object-fit:cover;box-shadow:0 34px 70px rgba(10,15,30,.16);}
.minifeed{position:absolute;left:-26px;bottom:-34px;width:330px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 26px 54px rgba(10,15,30,.18);overflow:hidden;z-index:5;}
.minifeed .fh{display:flex;align-items:center;gap:9px;padding:11px 15px;border-bottom:1px solid var(--line);background:var(--ice);}
.minifeed .fh .led{width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 8px var(--blue);animation:pulse 2s infinite;}
.minifeed .fh b{font-size:12px;font-weight:800;}
.minifeed .fh span{margin-left:auto;font-family:'IBM Plex Mono',monospace;font-size:9.5px;color:var(--faint);letter-spacing:.1em;text-transform:uppercase;}
.minifeed .feedlist{padding:8px 10px 10px;display:flex;flex-direction:column;gap:6px;min-height:196px;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.35;}}
/* feed events (shared: mini + full) */
.ev{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:11px;padding:8px 11px 8px 8px;}
.ev.new{animation:slidein .5s ease;}
@keyframes slidein{from{opacity:0;transform:translateY(-12px);}to{opacity:1;transform:none;}}
.ev .ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--ice);color:var(--blue);flex-shrink:0;}
.ev .ic svg{width:16px;height:16px;}
.ev b{display:block;font-size:12px;font-weight:800;letter-spacing:-.01em;}
.ev span{display:block;font-size:10.5px;color:var(--mut);font-weight:600;}
.ev .t{margin-left:auto;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--faint);}
.ev.warn .ic{background:#FDEEEE;color:var(--warn);}
/* full feed panel (used on how-it-works etc.) */
.feedpanel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 34px 70px rgba(10,15,30,.14);overflow:hidden;}
.feedpanel .fh{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--ice);}
.feedpanel .fh .led{width:8px;height:8px;border-radius:50%;background:var(--blue);box-shadow:0 0 9px var(--blue);animation:pulse 2s infinite;}
.feedpanel .fh b{font-size:13px;font-weight:800;}
.feedpanel .fh span{margin-left:auto;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--faint);letter-spacing:.1em;text-transform:uppercase;}
.feedpanel .feedlist{padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px;min-height:300px;}
.feedpanel .ev .ic{width:34px;height:34px;}
.feedpanel .ev b{font-size:13px;}
.feedpanel .ev span{font-size:11px;}
/* marquee rail */
.rail{border-bottom:1px solid var(--line);padding:22px 0;overflow:hidden;position:relative;background:#fff;}
.rail::before,.rail::after{content:"";position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none;}
.rail::before{left:0;background:linear-gradient(90deg,#fff,transparent);}
.rail::after{right:0;background:linear-gradient(270deg,#fff,transparent);}
.mq{display:flex;gap:64px;align-items:center;width:max-content;animation:mq 28s linear infinite;}
.mq img{max-height:32px;max-width:110px;width:auto;object-fit:contain;mix-blend-mode:multiply;opacity:.85;}
.mq .lbl{font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);white-space:nowrap;}
@keyframes mq{to{transform:translateX(-50%);}}
/* stats */
.stats{border-bottom:1px solid var(--line);background:var(--ice);}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);}
.stat{padding:36px 28px;border-left:1px solid var(--line);}
.stat:first-child{border-left:0;}
.stat .k{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-weight:600;}
.stat b{display:block;font-size:38px;font-weight:800;letter-spacing:-.03em;margin-top:6px;font-variant-numeric:tabular-nums;}
.stat b i{font-style:normal;color:var(--blue);}
/* tabs / product shot */
.tabs{display:flex;gap:8px;margin-top:40px;flex-wrap:wrap;}
.tab{font-weight:800;font-size:14px;padding:10px 18px;border-radius:999px;border:1.5px solid var(--line);color:var(--mut);cursor:pointer;background:#fff;transition:all .15s;font-family:inherit;}
.tab.on{background:var(--blue);border-color:var(--blue);color:#fff;}
.tab:hover{border-color:var(--blue);color:var(--blue);}
.tab.on:hover{color:#fff;}
.shot{margin-top:26px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 34px 70px rgba(10,15,30,.12);overflow:hidden;}
.shot .bar{display:flex;align-items:center;gap:7px;padding:12px 18px;border-bottom:1px solid var(--line);background:#FAFBFD;}
.shot .bar i{width:10px;height:10px;border-radius:50%;display:block;background:#DDE5F0;}
.shot .bar .url{margin:0 auto;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--faint);}
.shot .panes{position:relative;min-height:320px;}
.shot .pane{display:none;padding:30px;}
.shot .pane.on{display:block;animation:fadein .35s ease;}
.shot .pane img{width:100%;display:block;max-height:430px;object-fit:contain;}
@keyframes fadein{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
/* bento */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:48px;}
.cell{border:1px solid var(--line);border-radius:16px;padding:26px;background:#fff;transition:all .2s ease;position:relative;overflow:hidden;}
.cell:hover{border-color:#BFD0EC;box-shadow:0 16px 36px rgba(10,15,30,.08);transform:translateY(-2px);}
.cell h3{font-size:17px;font-weight:800;letter-spacing:-.015em;margin-bottom:8px;}
.cell p{font-size:14px;color:var(--mut);font-weight:550;}
.cell .num{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--blue);margin-bottom:16px;display:block;font-weight:600;}
.c-3{grid-column:span 3;} .c-2{grid-column:span 2;} .c-4{grid-column:span 4;} .c-6{grid-column:span 6;}
.cell img.fill{width:100%;border-radius:10px;margin-top:20px;display:block;}
.cell.ice{background:var(--ice);border-color:#D3DFF2;}
.cell.deep{background:var(--ink);color:#fff;border-color:var(--ink);}
.cell.deep p{color:#A2AFC9;}
.cell.deep .num{color:var(--blue-b);}
/* steps */
.how{background:var(--ice);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.ncx .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:52px;position:relative;}
.ncx .steps::before{content:"";position:absolute;top:21px;left:8%;right:8%;height:2px;background:repeating-linear-gradient(90deg,var(--blue-b) 0 8px,transparent 8px 16px);opacity:.5;}
.ncx .step{text-align:center;padding:0 18px;position:relative;}
.ncx .step .n{width:44px;height:44px;border-radius:50%;background:#fff;border:2px solid var(--blue);color:var(--blue);font-weight:800;display:grid;place-items:center;margin:0 auto 18px;font-size:16px;position:relative;z-index:2;}
.ncx .step h3{font-size:17.5px;font-weight:800;margin-bottom:8px;}
.ncx .step p{font-size:14.5px;color:var(--mut);font-weight:550;}
/* vband split */
.vband{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ice);}
.vband.white{background:#fff;}
.vband .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding-top:96px;padding-bottom:96px;}
.vband img{width:100%;border-radius:16px;border:1px solid var(--line);display:block;aspect-ratio:3/2;object-fit:cover;}
.ticks{margin-top:22px;display:grid;gap:12px;font-size:15px;font-weight:700;}
.ticks div{display:flex;gap:12px;align-items:baseline;}
.ticks div::before{content:"\2713";color:var(--blue);font-weight:800;}
/* quote */
.quote .wrap{max-width:860px;text-align:center;padding-top:96px;padding-bottom:96px;}
blockquote,.nc-content .ncx blockquote{font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.5;margin:0;}
blockquote em{font-style:normal;color:var(--blue);}
.who{display:flex;align-items:center;gap:12px;justify-content:center;margin-top:26px;font-size:14px;}
.who img{width:42px;height:42px;border-radius:50%;object-fit:cover;}
.who b{display:block;} .who span{color:var(--mut);}
/* pricing tiers */
.price{background:var(--ice);border-top:1px solid var(--line);}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:48px;}
.tiers.four{grid-template-columns:repeat(4,1fr);}
.tier{background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:28px;position:relative;display:flex;flex-direction:column;}
.tier.hot{border-color:var(--blue);box-shadow:0 16px 42px rgba(19,92,249,.16);}
.tier .tag{position:absolute;top:-12px;left:24px;background:var(--blue);color:#fff;font-size:11px;font-weight:800;letter-spacing:.06em;padding:4px 11px;border-radius:999px;text-transform:uppercase;}
.tier h3{font-size:16px;font-weight:800;}
.tier .amt{font-size:36px;font-weight:800;letter-spacing:-.03em;margin:12px 0 2px;font-variant-numeric:tabular-nums;}
.tier .amt small{font-size:13px;color:var(--mut);font-weight:600;letter-spacing:0;}
.tier .per{font-size:12.5px;color:var(--faint);font-weight:700;}
.tier p{font-size:13.5px;color:var(--mut);margin-top:8px;font-weight:550;}
.tier ul{list-style:none;padding:0;margin:16px 0 20px;display:grid;gap:8px;font-size:13.5px;font-weight:650;}
.tier ul li::before{content:"\2713";color:var(--blue);font-weight:800;margin-right:9px;}
.tier .btn{margin-top:auto;justify-content:center;}
/* comparison / matrix table */
.cmp{overflow-x:auto;margin-top:48px;border:1px solid var(--line);border-radius:16px;background:#fff;}
.cmp table{width:100%;border-collapse:collapse;font-size:14px;min-width:640px;}
.cmp th,.cmp td{padding:13px 18px;border-bottom:1px solid var(--line);text-align:left;}
.cmp thead th{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);background:var(--ice);}
.cmp tr:last-child td{border-bottom:0;}
.cmp td.c,.cmp th.c{text-align:center;}
.cmp .yes{color:var(--blue);font-weight:800;}
.cmp .no{color:#C3CCDA;font-weight:800;}
.cmp td:first-child{font-weight:700;}
/* calculator */
.calc{background:#fff;border:1.5px solid var(--line);border-radius:20px;margin-top:48px;overflow:hidden;box-shadow:0 24px 60px rgba(10,15,30,.08);}
.calc .grid{display:grid;grid-template-columns:1.2fr .8fr;}
.calc .in{padding:34px;}
.calc .out{padding:34px;background:var(--ink);color:#fff;display:flex;flex-direction:column;}
.calc h3{font-size:18px;font-weight:800;margin-bottom:20px;}
.calc .row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px dashed var(--line);}
.calc .row:last-child{border-bottom:0;}
.calc label{font-size:14px;font-weight:700;}
.calc label small{display:block;font-size:11.5px;color:var(--faint);font-weight:600;}
.calc input[type=number]{width:90px;padding:9px 12px;border:1.5px solid var(--line);border-radius:10px;font:inherit;font-weight:800;text-align:right;}
.calc input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue);}
.calc .seg{display:flex;border:1.5px solid var(--line);border-radius:999px;overflow:hidden;margin-bottom:22px;width:max-content;}
.calc .seg button{border:0;background:#fff;font:inherit;font-weight:800;font-size:13px;padding:9px 18px;cursor:pointer;color:var(--mut);}
.calc .seg button.on{background:var(--blue);color:#fff;}
.calc .out .plan{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-b);}
.calc .out .total{font-size:44px;font-weight:800;letter-spacing:-.03em;margin:8px 0 2px;}
.calc .out .total small{font-size:14px;font-weight:700;color:#A2AFC9;}
.calc .out .yr{font-size:13px;color:#A2AFC9;font-weight:700;}
.calc .out .lines{margin-top:22px;display:grid;gap:9px;font-size:13px;font-weight:650;color:#C7D3EA;}
.calc .out .lines div{display:flex;justify-content:space-between;gap:12px;}
.calc .out .lines b{color:#fff;font-variant-numeric:tabular-nums;}
.calc .warnbox{margin-top:16px;background:rgba(229,72,77,.14);border:1px solid rgba(229,72,77,.4);color:#FFC9CB;font-size:12px;font-weight:700;border-radius:10px;padding:10px 12px;display:none;}
.calc .note{margin-top:auto;padding-top:20px;font-size:11.5px;color:#7C8AA8;font-weight:600;}
/* final cta */
.final{background:var(--ink);color:#fff;position:relative;overflow:hidden;}
.final::before{content:"";position:absolute;top:-240px;left:50%;transform:translateX(-50%);width:860px;height:480px;background:radial-gradient(closest-side,rgba(111,140,255,.22),transparent 70%);}
.final .wrap{text-align:center;padding-top:104px;padding-bottom:104px;position:relative;}
.final h2{color:#fff;margin:0 auto;}
.final .sub{color:#A2AFC9;margin-left:auto;margin-right:auto;max-width:460px;}
.final .cta,.price .cta{justify-content:center;}
.final .btn-o{background:transparent;color:#fff;border-color:#2A3A5E;}
.final .btn-o:hover{border-color:var(--blue-b);color:var(--blue-b);}
/* footer */
footer.nc{border-top:1px solid var(--line);background:#fff;}
footer.nc .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:30px;padding:60px 0 40px;}
footer.nc .col h4{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-weight:600;margin-bottom:16px;}
footer.nc .col a{display:block;font-size:13.5px;font-weight:700;color:var(--mut);padding:5px 0;}
footer.nc .col a:hover{color:var(--blue);}
footer.nc .about p{font-size:13px;color:var(--mut);font-weight:600;margin-top:12px;max-width:250px;}
footer.nc .base{display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-top:1px solid var(--line);font-size:12.5px;color:var(--faint);flex-wrap:wrap;gap:12px;font-weight:600;}
/* reference cards */
.refs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:48px;}
.ref{border:1px solid var(--line);border-radius:16px;padding:26px;background:#fff;transition:all .2s ease;display:flex;flex-direction:column;gap:14px;}
.ref:hover{border-color:#BFD0EC;box-shadow:0 16px 36px rgba(10,15,30,.09);transform:translateY(-2px);}
.ref img.logo{max-height:40px;max-width:140px;object-fit:contain;align-self:flex-start;}
.ref h3{font-size:16.5px;font-weight:800;}
.ref p{font-size:13.5px;color:var(--mut);font-weight:550;}
.ref .go{margin-top:auto;font-size:13px;font-weight:800;color:var(--blue);}
/* industry/solution card grid (hub sections) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:48px;}
.card{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;transition:all .2s ease;display:block;}
.card:hover{border-color:#BFD0EC;box-shadow:0 18px 40px rgba(10,15,30,.10);transform:translateY(-3px);}
.card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;}
.card .pad{padding:20px 22px 22px;}
.card h3{font-size:16.5px;font-weight:800;margin-bottom:6px;}
.card p{font-size:13.5px;color:var(--mut);font-weight:550;}
/* reveal */
.rv{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;}
.rv.in{opacity:1;transform:none;}
/* responsive */
@media(max-width:980px){.ncx h1{font-size:38px;}.ncx .hsplit h1{font-size:34px;}.ncx h2{font-size:30px;}.ncx .hero .wrap,.ncx .hsplit .wrap{grid-template-columns:1fr;padding-top:52px;padding-bottom:64px;}.ncx .hero-visual img.main{width:100%;}.ncx .fcard{padding:8px 12px 8px 9px;}.ncx .fcard .fic{width:30px;height:30px;}.ncx .fcard b{font-size:12px;}.ncx .fcard span{font-size:10.5px;}.ncx .f1{left:0;top:6%;}.ncx .f2{right:0;top:2%;}.ncx .f3{left:0;bottom:-9%;}.ncx .f4{right:0;bottom:-11%;}.ncx .minifeed{position:static;width:100%;margin-top:16px;}.ncx .photocard img.ph{aspect-ratio:16/10;}.ncx .stats .wrap{grid-template-columns:repeat(2,1fr);}.ncx .stat{border-left:0;border-top:1px solid var(--line);}.ncx .bento{grid-template-columns:1fr 1fr;}.ncx .c-3,.ncx .c-2,.ncx .c-4,.ncx .c-6{grid-column:span 2;}.ncx .steps{grid-template-columns:1fr;gap:34px;}.ncx .steps::before{display:none;}.ncx .vband .wrap{grid-template-columns:1fr;padding-top:56px;padding-bottom:56px;}.ncx .tiers,.ncx .tiers.four{grid-template-columns:1fr;}.ncx .calc .grid{grid-template-columns:1fr;}.ncx .refs,.ncx .cards{grid-template-columns:1fr;}.ncx footer.nc .cols{grid-template-columns:1fr 1fr;}.ncx .nlinks{display:none;}.ncx .navbtns{margin-left:auto;}

 .ncx .hero h1{font-size:clamp(32px,8.5vw,42px);}
 .ncx .fcard{display:none;}
 .ncx .lead{font-size:16px;}
}

/* compat + wp adjustments */
.ncx h1,.ncx h2,.ncx h3,.ncx h4{font-family:'Manrope',system-ui,sans-serif;color:#0A0F1E;}
.ncx .final h2,.ncx .cell.deep h3,.ncx .calc .out h3{color:#fff;}
.ncx img{border:0;}
.ncx .faq{max-width:820px;margin-top:40px;}
.ncx .fq{border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:10px;padding:0 20px;}
.ncx .fq summary{cursor:pointer;font-weight:800;font-size:15.5px;padding:17px 0;list-style:none;position:relative;padding-right:30px;}
.ncx .fq summary::after{content:"+";position:absolute;right:2px;top:12px;font-size:22px;color:#135CF9;font-weight:800;}
.ncx .fq[open] summary::after{content:"\2013";}
.ncx .fq p{font-size:14px;color:#55627A;font-weight:550;padding-bottom:17px;}
:is(#ncs,#ncf2,#ncp,#ncdl) h1{font-size:46px!important;line-height:1.15;}
@media(max-width:900px){:is(#ncs,#ncf2,#ncp,#ncdl) h1{font-size:34px!important;}}

/* ===== nav v2: Option A mega menu + sticky ===== */
.ncx nav.nc{position:sticky;top:var(--nc-admin-bar,0px);}
.ncx nav.nc .wrap{position:relative;}
.ncx .nlinks{height:66px;align-items:stretch;}
.ncx .nlinks>div.mi{position:static;display:flex;align-items:center;}
.ncx .nlinks span.top{display:flex;align-items:center;gap:6px;}
.ncx .nlinks a.top{display:flex;align-items:center;}
.ncx svg.chev{width:12px;height:12px;transition:transform .18s;}
.ncx .mi:hover svg.chev{transform:rotate(180deg);}
.ncx .mega{position:absolute;top:66px;left:0;right:0;display:none;padding-top:8px;z-index:95;}
.ncx .mi:hover .mega,.ncx .mi .mega:focus-within,.ncx .mi.kb-open .mega{display:block;}.ncx .mi span.top:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px;}.ncx .mi .mega:focus-within~svg.chev,.ncx .mi.kb-open svg.chev{transform:rotate(180deg);}
.ncx .mega-in{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 34px 80px rgba(10,15,30,.18);padding:22px;display:grid;gap:22px;}
.ncx .mega-in.prod{grid-template-columns:1fr 1fr 300px;}
.ncx .mega-in.ind{grid-template-columns:1fr 1fr 1fr;gap:6px 22px;}
.ncx .mitem{display:flex;gap:13px;align-items:flex-start;padding:11px 12px;border-radius:12px;}
.ncx .mitem:hover{background:var(--ice);}
.ncx .mitem b{display:block;font-size:14px;font-weight:800;letter-spacing:-.01em;white-space:nowrap;}
.ncx .mitem span{display:block;font-size:12px;color:var(--mut);font-weight:600;margin-top:1px;}
.ncx .mitem:hover b{color:var(--blue);}
.ncx .mic{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--ice);color:var(--blue);flex-shrink:0;transition:all .15s;}
.ncx .mic svg{width:18px;height:18px;}
.ncx .mitem:hover .mic{background:var(--blue);color:#fff;}
.ncx .feat{background:var(--ink);border-radius:14px;padding:24px;color:#fff;display:flex;flex-direction:column;}
.ncx .feat .mono{color:var(--blue-b);}
.ncx .feat h3{color:#fff;font-size:20px;font-weight:800;letter-spacing:-.02em;margin:12px 0 0;line-height:1.25;}
.ncx .feat h3 em{font-style:normal;color:var(--blue-b);}
.ncx .feat p{font-size:13px;color:#A2AFC9;font-weight:600;margin-top:10px;}
.ncx .feat .go{margin-top:auto;padding-top:18px;font-size:13.5px;font-weight:800;color:#fff;}
.ncx .feat:hover .go{color:var(--blue-b);}
.ncx .iitem{display:flex;gap:10px;align-items:center;padding:9px 12px;border-radius:10px;font-size:13.5px;font-weight:700;}
.ncx .iitem:hover{background:var(--ice);color:var(--blue);}
.ncx .iitem svg{width:30px;height:30px;padding:7px;box-sizing:border-box;border-radius:9px;background:var(--ice);color:var(--blue);flex-shrink:0;transition:all .15s;}
.iitem:hover svg{background:var(--blue);color:#fff;}
.ncx .mega-foot{grid-column:1/-1;border-top:1px solid var(--line);padding-top:16px;display:flex;gap:26px;font-size:13px;font-weight:800;color:var(--mut);flex-wrap:wrap;}
.ncx .mega-foot a:hover{color:var(--blue);}
.ncx .mega-foot a b{color:var(--blue);}
/* hamburger + mobile panel */
.ncx .nburger{display:none;width:42px;height:42px;border-radius:10px;border:1.5px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;place-items:center;padding:0;}
.ncx .nburger svg{width:20px;height:20px;}
.ncx .mobnav{display:none;background:#fff;border-bottom:1px solid var(--line);max-height:calc(100vh - 66px);overflow:auto;padding:6px 22px 26px;}
.ncx nav.nc.open .mobnav{display:block;}
.ncx .mobnav .grp{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-weight:600;margin:18px 0 6px;}
.ncx .mobnav a{display:block;padding:9px 2px;font-size:15px;font-weight:750;color:var(--ink);border-bottom:1px solid var(--ice);}
.ncx .mobnav .mbtns{display:flex;gap:10px;margin-top:20px;}
.ncx .mobnav .mbtns a{border-bottom:0;flex:1;justify-content:center;}
@media(max-width:980px){
 .ncx .nburger{display:grid;}
 .ncx .navbtns .nav-signin{display:none;}
 .ncx .mega{display:none!important;}
}

/* ---------- 4. layout shims (replace Elementor section/column wrappers) ---------- */
/* Elementor used to wrap every HTML widget in section > column. These three classes reproduce
   that box model so the page HTML renders identically without Elementor.
   .nc-sec  = section (full width; boxed pages get .nc-con inside)
   .nc-con  = boxed container (max-width from the old Elementor kit: 1400px, overridable inline)
   .nc-col  = column (Elementor's default 10px column gap is applied inline where it was used) */
.nc-sec{position:relative;width:100%;box-sizing:border-box}
.nc-sec *,.nc-sec *:before,.nc-sec *:after{box-sizing:border-box}
.nc-con{margin:0 auto;display:flex;flex-wrap:wrap;width:100%;position:relative}
.nc-col{width:100%;min-width:0;position:relative}
.nc-cols .nc-col{flex:1 1 0}
.nc-full>.nc-col{width:100%}
.nc-col>.wpcf7{margin:20px 0}
@media (max-width:767px){.nc-cols .nc-col{flex:0 0 100%!important;max-width:100%!important}}
/* skip link */
/* header buttons on narrow phones: keep them on one line */
@media (max-width:420px){.ncx .navbtns{gap:6px;margin-left:8px}.ncx .navbtns .btn{padding:8px 11px;font-size:13px;white-space:nowrap}}


/* ---------- 5. footer + forms ---------- */
.ncx footer.nc .col h4{margin:0 0 10px}.ncx footer.nc .about p{line-height:1.5}.nc-news{font-family:Manrope,system-ui,sans-serif}.nc-news h3{font-size:20px;letter-spacing:-.01em;margin:0 0 4px;color:#0A0F1E}.nc-news p{color:#55627A;font-size:14px;margin:0}.nc-consent{font-family:Manrope,system-ui,sans-serif;font-size:12px;color:#8B96AB;margin:8px 0 0}.nc-consent a{color:#55627A}
/* newsletter row: replaces the Elementor two-column section (1180px boxed) + Elementor Pro form */
.ncx .nc-newsletter{padding:8px 0 28px}
.ncx .nc-newsletter .wrap{max-width:1180px}
.nc-newsletter-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;padding:28px 10px 8px;border-top:1px solid #E2E8F2}
@media (max-width:860px){.nc-newsletter-grid{grid-template-columns:1fr;gap:14px}}
.nc-nlform{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}
.nc-nlform p{margin:0;display:flex;gap:12px;flex:1 1 100%;flex-wrap:wrap;align-items:flex-start}
.nc-nlform .wpcf7-form-control-wrap{flex:1 1 220px;display:block}
.nc-nlform input[type=email]{width:100%;border:1px solid #E2E8F2;border-radius:10px;font-family:Manrope,system-ui,sans-serif;font-size:15px;padding:12px 14px;background:#fff;color:#0A0F1E;box-sizing:border-box;margin:0}
.nc-nlform input[type=email]:focus{outline:none;border-color:#135CF9}
.nc-nlform input[type=submit],.nc-nlform button{background:#135CF9;color:#fff;border:0;border-radius:10px;font-family:Manrope,system-ui,sans-serif;font-weight:700;font-size:15px;padding:12px 18px;cursor:pointer;margin:0;line-height:1.4;white-space:nowrap}
.nc-nlform input[type=submit]:hover,.nc-nlform button:hover{background:#0E43D6}
.nc-nlform .wpcf7-spinner{margin:12px 0 0 6px}
.nc-nlform .wpcf7-response-output{flex:1 1 100%;margin:8px 0 0;padding:8px 12px;border-radius:8px;font:600 13px Manrope,system-ui,sans-serif}
.nc-nlform .wpcf7-not-valid-tip{font:600 12px Manrope,system-ui,sans-serif;color:#E5484D;margin-top:4px}
.nc-nlform.is-sending{opacity:.6;pointer-events:none}
/* footer shell (parts/footer.php) */
.site-foot footer.nc{background:linear-gradient(180deg,#fff 0%,#F2F6FD 100%);}  /* one continuous background */
.site-foot .nc-newsletter{background:transparent;padding:6px 0 30px;}
.site-foot .nc-news h3{font-size:18px;font-weight:800;letter-spacing:-.01em;line-height:1.3;color:var(--ink);margin:0 0 4px;}
.site-foot .nc-news p{font-size:14px;line-height:1.55;color:var(--mut);margin:0;}
.site-foot .nc-nlform p{flex-wrap:nowrap;gap:10px;}
.site-foot .nc-nlform input[type=email]{height:48px;font-size:15px;font-weight:500;}
.site-foot .nc-nlform input[type=email]::placeholder{color:var(--faint);font-weight:500;}
.site-foot .nc-nlform input[type=submit]{height:48px;padding:0 22px;border-radius:12px;font-size:14.5px;font-weight:800;transition:background .15s,transform .15s,box-shadow .15s;}
.site-foot .nc-nlform input[type=submit]:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(19,92,249,.3);}
.site-foot .nc-consent{margin:10px 0 0;font-size:12px;line-height:1.5;color:var(--faint);}
.site-foot .nc-consent a{color:var(--mut);text-decoration:underline;text-underline-offset:2px;}
.site-foot .nc-consent a:hover{color:var(--blue);}
@media (max-width:767px){.site-foot .nc-nlform p{flex-wrap:wrap;}.site-foot .nc-nlform input[type=submit]{width:100%;}}
.site-foot .flogo{display:block;width:200px;max-width:100%;height:auto;}
footer.nc .base .copy{font-size:12.5px;color:var(--mut);font-weight:600;}
footer.nc .base .legal{display:flex;gap:18px;flex-wrap:wrap;align-items:center;font-size:12.5px;font-weight:700;}
footer.nc .base .legal a:hover{color:var(--blue);}
footer.nc .base .social{display:flex;gap:12px;align-items:center;color:#55627A;}
footer.nc .base .social a:hover{color:var(--blue);}

/* site header wrapper: no box of its own, so the nav can stick to the viewport */
.ncx.site-head{display:contents;}
.ncx .brand{margin-right:22px;}

/* Contact Form 7 essentials — the plugin's own stylesheet is not loaded */
.wpcf7 .screen-reader-response{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;padding:0;border:0;word-wrap:normal!important;}
.wpcf7 .hidden-fields-container{display:none;}
.wpcf7 form .wpcf7-response-output{margin:2em .5em 1em;padding:.2em 1em;border:2px solid #00a0d2;}
.wpcf7 form.init .wpcf7-response-output,.wpcf7 form.resetting .wpcf7-response-output,.wpcf7 form.submitting .wpcf7-response-output{display:none;}
.wpcf7 form.sent .wpcf7-response-output{border-color:#46b450;}
.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.aborted .wpcf7-response-output{border-color:#dc3232;}
.wpcf7 form.spam .wpcf7-response-output{border-color:#f56e28;}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output,.wpcf7 form.payment-required .wpcf7-response-output{border-color:#ffb900;}
.wpcf7-form-control-wrap{position:relative;}
.wpcf7-not-valid-tip{color:#dc3232;font-size:1em;font-weight:normal;display:block;}
.wpcf7-list-item{display:inline-block;margin:0 0 0 1em;}
.wpcf7-list-item-label::before,.wpcf7-list-item-label::after{content:" ";}
.wpcf7-spinner{visibility:hidden;display:inline-block;background-color:#23282d;opacity:.75;width:24px;height:24px;border:none;border-radius:100%;padding:0;margin:0 24px;position:relative;}
form.submitting .wpcf7-spinner{visibility:visible;}
.wpcf7-spinner::before{content:'';position:absolute;background-color:#fbfbfc;top:4px;left:4px;width:6px;height:6px;border:none;border-radius:100%;transform-origin:8px 8px;animation:nc-spin 1s linear infinite;}
@keyframes nc-spin{to{transform:rotate(360deg);}}
.wpcf7 [inert]{opacity:.5;}
.wpcf7 .wpcf7-submit:disabled{cursor:not-allowed;}
.wpcf7 input[type=url],.wpcf7 input[type=email],.wpcf7 input[type=tel]{direction:ltr;}

/* cookie notice (parts/cookie-notice.php) — same look as the old Betheme bar */
.nc-cookie{position:fixed;left:24px;bottom:24px;z-index:9990;width:300px;max-width:calc(100vw - 32px);background:#eef2f5;color:#626262;border-radius:5px;padding:22px 22px 20px;text-align:center;font:500 13px/1.6 Manrope,system-ui,sans-serif;box-shadow:0 10px 30px rgba(10,15,30,.12);animation:nc-cookie-in .4s ease;}
.nc-cookie[hidden]{display:none;}
.nc-cookie svg{color:#0A0F1E;display:block;margin:0 auto 10px;}
.nc-cookie p{margin:0 0 14px;font:inherit;color:inherit;}
.nc-cookie a{color:#0A0F1E;text-decoration:underline;}
.nc-cookie-ok{background:#135CF9;color:#fff;border:0;border-radius:5px;font:700 14px Manrope,system-ui,sans-serif;padding:10px 28px;cursor:pointer;}
.nc-cookie-ok:hover{background:#0E43D6;}
@keyframes nc-cookie-in{from{opacity:0;transform:translateX(-24px);}to{opacity:1;transform:none;}}
@media (max-width:600px){.nc-cookie{left:16px;right:16px;bottom:16px;width:auto;}}
/* Gated download box + Contact Form 7 forms inside design-system pages (contact page has its own richer set) */
.ncx .gate{max-width:680px;margin:0 auto;background:var(--ice);border:1px solid var(--line);border-radius:20px;padding:40px 36px;text-align:center;}
.ncx .gate h2{font-size:28px;margin-top:12px;}
.ncx .gate .sub{margin-left:auto;margin-right:auto;}
.ncx .gate .nc-cf7{max-width:460px;margin:22px auto 0;text-align:left;}
.ncx .nc-cf7 .wpcf7-form>p{margin:0 0 12px;}
.ncx .nc-cf7 label{display:block;font-weight:700;font-size:13px;color:#3A4654;}
.ncx .nc-cf7 .wpcf7-form-control-wrap{display:block;margin-top:7px;}
.ncx .nc-cf7 input[type=text],.ncx .nc-cf7 input[type=email],.ncx .nc-cf7 input[type=tel],.ncx .nc-cf7 select,.ncx .nc-cf7 textarea{width:100%;height:48px;box-sizing:border-box;padding:0 15px;border:1.5px solid #D9E0EA;border-radius:12px;background:#fff;font-size:15px;font-weight:500;font-family:inherit;color:var(--ink);}
.ncx .nc-cf7 textarea{height:120px;padding:12px 15px;}
.ncx .nc-cf7 input:focus,.ncx .nc-cf7 select:focus,.ncx .nc-cf7 textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(19,92,249,.14);}
.ncx .nc-cf7 .wpcf7-submit{display:block;width:100%;height:50px;border:0;border-radius:12px;background:var(--blue);color:#fff;font-size:15px;font-weight:800;font-family:inherit;cursor:pointer;transition:background .18s,transform .18s,box-shadow .18s;}
.ncx .nc-cf7 .wpcf7-submit:hover{background:var(--blue-d);transform:translateY(-1px);box-shadow:0 10px 24px rgba(19,92,249,.30);}
.ncx .nc-cf7 .wpcf7-not-valid-tip{display:block;color:#D12F36;font-size:12.5px;font-weight:600;margin-top:6px;}
.ncx .nc-cf7 .wpcf7-response-output{margin:12px 0 0;padding:12px 16px;border-radius:12px;font-size:14px;font-weight:600;border:1.5px solid var(--line);background:#fff;}
.ncx .nc-cf7 .wpcf7-form.sent .wpcf7-response-output{border-color:#16D98C;background:#EAFBF4;color:#0E7A57;}
.ncx .nc-cf7 .wpcf7-form.invalid .wpcf7-response-output,.ncx .nc-cf7 .wpcf7-form.failed .wpcf7-response-output{border-color:#F2A6AA;background:#FFF1F2;color:#B42331;}
.ncx .gate .files{margin:18px auto 0;max-width:460px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;text-align:left;}
.ncx .gate .files b{display:block;margin-bottom:8px;}
.ncx .gate .files a{display:block;color:var(--blue);font-weight:700;margin:6px 0;text-decoration:none;}
.ncx .gate .files a:hover{text-decoration:underline;}
.ncx .gate .micro{margin-top:16px;}
.tier{transition:transform .18s,box-shadow .18s,border-color .18s;}
.tier:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(10,15,30,.10);border-color:#BFD0EC;}
.tier.hot:hover{border-color:var(--blue);}
@media(max-width:600px){.ncx .stats .wrap{grid-template-columns:repeat(2,minmax(0,1fr));}.ncx .stat{padding:24px 16px;min-width:0;}.ncx .stat b{font-size:30px;}}
.ncx code,.ncx kbd,.ncx samp{font-family:'IBM Plex Mono',Menlo,monospace;font-size:.92em;background:var(--ice);padding:2px 6px;border-radius:5px;}
/* pricing calculator polish */
.calc .in{text-align:left;}
.calc .in h3{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-weight:600;margin:26px 0 6px;}
.calc .row{padding:12px 0;}
.calc label{display:flex;flex-wrap:wrap;align-items:center;gap:8px;line-height:1.3;cursor:pointer;}
.calc label small{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--blue);background:var(--ice);padding:2px 8px;border-radius:999px;}
.calc .row:has(#pc-emp) label small,.calc .row:has(#pc-vis) label small,.calc .row:has(#pc-dev) label small{text-transform:none;letter-spacing:0;font-size:12px;font-weight:600;color:var(--faint);background:none;padding:0;display:block;width:100%;}
.calc input[type=number]{width:104px;height:44px;padding:0 12px;border-radius:12px;background:#F8FAFD;transition:border-color .15s,box-shadow .15s;}
.calc input[type=number]:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(19,92,249,.14);}
.calc input[type=checkbox]{appearance:none;-webkit-appearance:none;width:44px;height:26px;border-radius:999px;background:#D9E0EA;position:relative;cursor:pointer;transition:background .18s;flex-shrink:0;margin:0;}
.calc input[type=checkbox]::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(10,15,30,.25);transition:transform .18s;}
.calc input[type=checkbox]:checked{background:var(--blue);}
.calc input[type=checkbox]:checked::after{transform:translateX(18px);}
.calc input[type=checkbox]:focus-visible{outline:3px solid rgba(19,92,249,.35);outline-offset:2px;}
.calc .out{position:sticky;top:90px;align-self:start;min-height:100%;}
.calc .out .inc{list-style:none;margin:22px 0 0;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.12);display:grid;gap:8px;font-size:13px;font-weight:600;color:#C7D3EA;}
.calc .out .inc li{padding-left:22px;position:relative;}
.calc .out .inc li::before{content:"✓";position:absolute;left:0;color:var(--blue-b);font-weight:800;}
.calc .out .inc li.more{color:#7C8AA8;padding-left:0;}
.calc .out .btn{margin-top:22px;justify-content:center;}
.calc .out .btn-p:hover{box-shadow:0 10px 24px rgba(19,92,249,.45);}
@media(max-width:900px){.calc .out{position:static;}}
.calc .out .inc,.calc .out .lines{text-align:left;}
.ncx .mobnav .mbtns a{display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:12px 16px;font-size:15px;}
@media(max-width:480px){.brand img{height:38px;}}
.ncx .mobnav .mbtns a{min-height:48px;border-radius:12px;font-weight:800;}
.ncx .mobnav .mbtns .btn-o{border:1.5px solid #C9D3E3;background:#fff;color:var(--ink);}
.ncx .mobnav .mbtns .btn-o:hover{border-color:var(--blue);color:var(--blue);background:var(--ice);}
/* a button that closes a paragraph sits on its own line, not inside the running text */
.ncx p > a.btn:first-child:last-child{display:table;margin:22px 0 4px}
/* one text face everywhere: beats the legacy sheet's Roboto/Poppins element rules (base.css loads after it), keeps class-level mono labels */
body :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,td,th,label,input,select,textarea,button,blockquote,figcaption,summary){font-family:Manrope,system-ui,sans-serif}
.ncx .lead,.ncx .big,#nc-main .lead,#nc-main .big{font-family:Manrope,system-ui,sans-serif}
.ncx p > a.btn.btn-o:first-child:last-child{background:var(--blue);color:#fff;border-color:transparent}
.ncx p > a.btn.btn-o:first-child:last-child:hover{background:#0B45C4;color:#fff}
.ncx .mobnav .mbtns .btn-p,.ncx .mobnav .mbtns .btn-p:hover{color:#fff;background:var(--blue)}
.ncx .mobnav .mbtns .btn-p:hover{background:#0B45C4}
.site-foot .copy a{font:inherit;color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:color .15s,border-color .15s}.site-foot .copy a:hover{color:var(--blue);border-color:var(--blue)}
