/* Code Vertex Elite — Sitewide UX system, 2026-09-26.
   Opt-in enhancements; scope protects approved homepage hero and project imagery. */
:root{--cvea-ink:#15202d;--cvea-crimson:#ed3546;--cvea-paper:#f7f8f7;--cvea-border:#dfe5e8;--cvea-muted:#5f6c77;--cvea-ease:cubic-bezier(.2,.8,.2,1)}
html{scroll-padding-top:90px}
:focus-visible{outline:3px solid #ed3546!important;outline-offset:3px}
main :is(a,button,input,select,textarea):focus-visible{outline:3px solid #e43a4b!important;outline-offset:3px}
main :is(button,a){-webkit-tap-highlight-color:transparent}
main :is(input,select,textarea){accent-color:#ed3546}
main :is(.button,.arrow-link,.cx-btn,.op-btn,.cve-featured__cta){transition:transform .2s var(--cvea-ease),background .2s,border-color .2s,box-shadow .2s}
main :is(.button,.cx-btn,.op-btn):active:not(:disabled){transform:scale(.985)}
/* The brand intro remains on the homepage. Internal marketing pages no longer obscure ready content. */
body:has(.page-inner)>.intro-loader,body:has(.page-inner) #root>.intro-loader{display:none!important}
body:has(.page-inner) .intro-loader{display:none!important}
/* Universal slim scroll-progress guide. */
.cvea-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:30005;background:transparent;pointer-events:none}
.cvea-progress__bar{height:100%;width:0;background:linear-gradient(90deg,#e73146,#f1786e);transform-origin:left;transition:width .09s linear}
.cvea-progress[hidden]{display:none}
/* Fast discovery on every content-focused marketing route. */
.page-inner>.page-hero{padding:14px 0 24px!important}
.page-inner>.page-hero .page-hero__inner{min-height:0!important;padding:clamp(36px,4vw,68px)!important;gap:clamp(20px,3vw,46px)!important;align-items:center!important}
.page-inner>.page-hero h1{font-size:clamp(2.75rem,4.35vw,4.55rem)!important;line-height:1.055!important;letter-spacing:-.06em!important;max-width:830px!important;text-wrap:balance}
.page-inner>.page-hero .page-hero__inner>div:first-child{min-width:0}
.page-inner>.page-hero .page-hero__inner>div:first-child>p{font-size:clamp(14px,1.25vw,17px);line-height:1.65;max-width:700px}
.page-inner>.page-hero .page-hero__aside{padding:clamp(18px,2.1vw,28px)!important;border:1px solid #ffffff21;box-shadow:0 20px 42px #0000001f;align-self:center}
.page-inner>.page-hero .page-hero__aside p{font-size:13px;line-height:1.6}
.cvea-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:24px}
.cvea-hero-actions a{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:43px;padding:10px 16px;border-radius:100px;font:760 12px/1.2 Inter,system-ui,sans-serif;text-decoration:none}
.cvea-hero-actions__primary{background:#ed3546;color:#fff!important;border:1px solid #ed3546;box-shadow:0 9px 25px #e7334540}
.cvea-hero-actions__primary:hover{background:#cf293c;border-color:#cf293c;transform:translateY(-2px)}
.cvea-hero-actions__secondary{border:1px solid #ffffff63;color:#fff!important;background:#ffffff0c}
.cvea-hero-actions__secondary:hover{background:#ffffff22;transform:translateY(-2px)}
/* Section typography and rhythm */
.page-inner>.container.section-space{padding-block:clamp(55px,6.3vw,100px)}
.page-inner .section-header{gap:23px;align-items:end}
.page-inner .section-header h2{font-size:clamp(2.3rem,4.6vw,4.65rem);line-height:1.02;max-width:930px}
.page-inner .section-header p{line-height:1.65}
.page-inner .section-space:target,.page-inner [id]:target{scroll-margin-top:95px}
.page-inner .cta-section{margin-block:clamp(44px,6vw,94px)}
/* Catalog search: no hidden content until user actively searches. */
.cvea-catalog{position:relative;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin:0 0 25px;padding:17px 19px;border:1px solid #dee5e8;border-radius:18px;background:linear-gradient(110deg,#fff,#f5f7f7);box-shadow:0 12px 36px #17212b0a}
.cvea-catalog__heading{min-width:180px}
.cvea-catalog__eyebrow{display:block;margin:0 0 5px;color:#dd3545;font:840 10px/1.2 Inter,system-ui,sans-serif;letter-spacing:.16em}
.cvea-catalog__heading strong{font-size:16px;line-height:1.25;color:#17212b;letter-spacing:-.03em}
.cvea-catalog__search{position:relative;display:flex;align-items:center;gap:8px;flex:1;min-width:200px;max-width:525px}
.cvea-catalog__search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;pointer-events:none;color:#778592}
.cvea-catalog__search input{width:100%;min-height:47px;border-radius:12px;border:1px solid #ccd5da;background:#fff;color:#14222d;padding:12px 45px 12px 42px;outline:0;font-size:16px;line-height:1.25}
.cvea-catalog__search input:focus{border-color:#e83b4e;box-shadow:0 0 0 3px #ed35461c}
.cvea-catalog__clear{position:absolute;right:7px;top:6px;min-width:36px;min-height:35px;border-radius:8px;border:0;background:#f1f3f4;color:#64707a;font-size:18px;cursor:pointer}
.cvea-catalog__clear[hidden]{display:none}
.cvea-catalog__count{font-size:12px;color:#566672;font-weight:760;white-space:nowrap}
.cvea-catalog-empty{margin:0 0 22px;padding:35px 20px;text-align:center;background:#f6f8f8;border:1px dashed #ced6d9;border-radius:18px}
.cvea-catalog-empty[hidden],.cvea-hidden{display:none!important}
.cvea-catalog-empty strong{display:block;font-size:21px;color:#17212b;letter-spacing:-.035em}
.cvea-catalog-empty p{font-size:14px;margin:8px auto 15px;color:#63727f}
.cvea-catalog-empty button{border:1px solid #17212b;background:#17212b;color:#fff;border-radius:99px;min-height:42px;padding:10px 18px;cursor:pointer}
/* A consistent, tactile service/product catalog; preserve existing editorial layout. */
.page-inner .card-grid>:is(.service-card,.solution-card,.industry-card,.market-card,.process-card){position:relative;isolation:isolate;transition:transform .23s var(--cvea-ease),box-shadow .23s,border-color .23s,background-color .23s}
.page-inner .card-grid>:is(.solution-card,.industry-card,.market-card,.process-card):hover{transform:translateY(-3px);border-color:#cbd5dc;box-shadow:0 23px 48px #17232f19}
.page-inner .card-grid>.service-card:hover{background:#f3f5f5!important;border-bottom-color:#d93d4c}
.page-inner .service-card :is(h3,p,li),.page-inner .solution-card :is(h3,p,li),.page-inner .industry-card :is(h3,p,li){overflow-wrap:break-word}
.page-inner .card-grid .arrow-link{display:inline-flex;align-items:center;gap:7px;min-height:38px;text-underline-offset:4px}
.page-inner .solution-card{min-height:430px}
.page-inner .industry-card{min-height:365px}
.page-inner .market-card{min-height:260px}
.page-inner .blog-card{border-radius:21px;border-color:#dfe5e7;box-shadow:0 8px 24px #17232f0c}
.page-inner .blog-card:hover{box-shadow:0 22px 45px #17232f21;transform:translateY(-3px)}
.page-inner .blog-card__visual{height:205px}
.page-inner .blog-card__body{min-height:210px}
.page-inner .blog-card h3{line-height:1.16;letter-spacing:-.042em}
.page-inner .blog-card h3 a{text-decoration:none}
.page-inner .blog-card h3 a:hover{text-decoration:underline;text-decoration-color:#dc3648;text-underline-offset:4px}
.page-inner .pricing-grid .price-card{transition:transform .22s,box-shadow .22s,border-color .22s;border-radius:22px}
.page-inner .pricing-grid .price-card:hover{transform:translateY(-3px);box-shadow:0 24px 54px #15233022;border-color:#cbd4d9}
.page-inner .estimator{scroll-margin-top:100px}
.page-inner .estimator :is(input,select){min-height:45px}
.page-inner .estimator :is(input,select):focus-visible{outline:3px solid #f56a7a!important}
/* Article navigation: anchored chapter pills, searchable when there are many articles. */
.cvea-article-tools{display:flex;gap:14px;align-items:center;flex-wrap:wrap;border:1px solid #e3e8ea;background:#fff;box-shadow:0 12px 28px #18273311;border-radius:18px;padding:12px 14px;margin:19px 0 16px}
.cvea-article-tools__title{font-size:11px;color:#d53647;font-weight:840;letter-spacing:.13em;text-transform:uppercase}
.cvea-article-tools__scroll{display:flex;align-items:center;gap:7px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:thin}
.cvea-article-tools__scroll a{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:9px 13px;min-height:37px;border-radius:99px;background:#f4f6f7;border:1px solid #e0e5e8;color:#30404d;font-size:11px;font-weight:740;text-decoration:none;line-height:1.2}
.cvea-article-tools__scroll a:hover,.cvea-article-tools__scroll a[aria-current=true]{background:#172431;color:#fff;border-color:#172431}
.article-layout section[id]{scroll-margin-top:90px}
.article-layout :is(p,li){line-height:1.8}
.article-layout blockquote{border-left:3px solid #eb394c;border-radius:0 12px 12px 0;background:#f7f8f9;padding:18px 22px}
.article-layout :is(a,button):focus-visible{outline:3px solid #e7384b!important}
/* Contact, consultation and authenticated workspace refinements. */
.contact-grid .contact-info,.contact-grid .contact-form{min-width:0}
.page-inner .contact-grid :is(input,textarea,select){border-radius:12px;min-height:46px;max-width:100%}
.page-inner .contact-grid :is(input,textarea,select):focus{outline:3px solid #ed354624;outline-offset:0;border-color:#e8384a}
.op-page .op-panel,.cx-page .cx-form{border-radius:23px}
.op-page :is(.op-panel,.op-card,.op-list-row,.op-metric),.cx-page :is(.cx-form,.cx-panel){transition:border-color .2s,box-shadow .2s}
.op-page :is(.op-card,.op-list-row):hover{border-color:#cad3d9;box-shadow:0 14px 30px #111c2812}
.op-page .op-status[role=status],.cx-page [role=status]{min-height:20px}
.op-page .op-panel :is(input,select,textarea):focus-visible,.cx-page .cx-form :is(input,select,textarea):focus-visible{outline:3px solid #ed354626!important;outline-offset:0;border-color:#e8384a}
.op-page .op-auth .op-panel{box-shadow:0 28px 62px #14243115}
.op-page .op-tablewrap{scrollbar-width:thin}
.op-page .op-btn:disabled,.cx-page .cx-btn:disabled{cursor:not-allowed;opacity:.55;filter:saturate(.7)}
/* Chapter jump inside product case studies (without hiding any project screenshots). */
.cvea-case-nav{display:flex;align-items:center;gap:9px;overflow-x:auto;scrollbar-width:thin;padding:9px;background:#fff;border:1px solid #e0e5e8;border-radius:16px;box-shadow:0 12px 28px #15243114;margin:7px auto 0;width:min(100%,1250px);position:sticky;top:74px;z-index:22}
.cvea-case-nav a{min-height:41px;display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:0 0 auto;padding:10px 14px;border-radius:10px;font-size:12px;font-weight:760;color:#3f4b56;background:#f4f6f7;text-decoration:none}
.cvea-case-nav a:hover,.cvea-case-nav a[aria-current=true]{background:#192632;color:#fff}
.cvea-case-nav a:last-child{background:#ed3546;color:#fff;margin-left:auto}
.cvea-case-nav a:last-child:hover{background:#c82b3e}
/* Footer and typography normalize without erasing brand. */
.site-footer a:hover,.cx-footer a:hover,.op-footer a:hover{text-underline-offset:4px}
.page-inner .cta-section h2{line-height:1.08}
@media(min-width:1350px){.page-inner .section-header{margin-bottom:31px}}
@media(max-width:1024px){
 .page-inner>.page-hero .page-hero__inner{min-height:0!important;padding:clamp(29px,4vw,46px)!important}
 .page-inner>.page-hero h1{font-size:clamp(2.35rem,6.4vw,3.7rem)!important;line-height:1.07!important}
 .page-inner>.page-hero .page-hero__aside{padding:17px 21px!important}
 .page-inner>.container.section-space{padding-block:clamp(49px,6.8vw,78px)}
 .page-inner .section-header h2{font-size:clamp(2rem,5.7vw,3.7rem)}
 .page-inner .solution-card,.page-inner .industry-card{min-height:0}
 .cvea-case-nav{top:64px}
}
@media(max-width:800px){
 .page-inner>.page-hero{padding:10px 0 18px!important}
 .page-inner>.page-hero .page-hero__inner{padding:27px 23px!important;gap:17px!important}
 .page-inner>.page-hero h1{font-size:clamp(2.25rem,8.5vw,3rem)!important;line-height:1.06!important}
 .page-inner>.page-hero .page-hero__aside{padding:15px 18px!important}
 .page-inner>.page-hero .page-hero__aside p{font-size:12px}
 .cvea-hero-actions{margin-top:17px;gap:7px}
 .cvea-hero-actions a{min-height:43px;padding:10px 13px;font-size:11px}
 .cvea-catalog{gap:10px;padding:14px;margin:0 0 22px}
 .cvea-catalog__heading{width:100%}
 .cvea-catalog__search{max-width:none;flex:1 1 100%}
 .cvea-catalog__count{width:100%;font-size:11px}
 .cvea-article-tools{border-radius:13px;gap:9px}
 .cvea-article-tools__title{width:100%}
 .page-inner .blog-card__visual{height:182px}
 .page-inner .section-header h2{font-size:clamp(1.95rem,8vw,2.85rem)}
 .page-inner .cta-section{margin-block:38px}
 .page-inner .card-grid .arrow-link{min-height:43px}
 .cvea-case-nav{border-radius:12px;margin:0 12px;width:calc(100% - 24px);gap:5px;padding:7px}
 .cvea-case-nav a{min-height:43px;padding:9px 12px;font-size:11px}
}
@media(max-width:480px){
 .page-inner>.page-hero .page-hero__inner{padding:25px 21px!important}
 .page-inner>.page-hero h1{font-size:clamp(2.1rem,9.1vw,2.75rem)!important}
 .cvea-catalog{border-radius:14px}
 .cvea-hero-actions a{flex:1 1 auto}
 .cvea-article-tools{margin:12px 0}
 .op-page .op-panel{padding:19px}
}
@media(prefers-reduced-motion:reduce){
 .cvea-progress__bar,.page-inner .card-grid>*,.cvea-hero-actions a,.page-inner .blog-card,.page-inner .price-card{transition:none!important}
 .page-inner :is(.button,.arrow-link,.cx-btn,.op-btn):hover{transform:none!important}
 html{scroll-behavior:auto!important}
}
\n@media(min-width:801px){.cvea-article-tools{display:none!important}}\n