:root{--qreew-arrow:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2012h15M12%205l7%207-7%207%22%2F%3E%3C%2Fsvg%3E");--qreew-arrow-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%235268EC%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2012h15M12%205l7%207-7%207%22%2F%3E%3C%2Fsvg%3E")}
/* Qreew shared identity. No layout, content, animation or transition rewrites. */
:root{--qreew-ink:#252B59;--qreew-blue:#5268EC;--qreew-cream:#FFF7EF;--qreew-peach:#F4B49A;--qreew-text-muted:#5A5F82;--qreew-surface:#FFFFFF;--qreew-border:#E3E6F0;--qreew-font:Manrope,Arial,sans-serif;--ink:var(--qreew-ink);--jade:var(--qreew-blue);--cream:var(--qreew-cream);--paper:var(--qreew-surface);--line:var(--qreew-border)}
body:not(.studio-home){font-family:var(--qreew-font);color:var(--qreew-ink);background:var(--qreew-cream)}
body:not(.studio-home) :is(#main,.studio-nav,.site-end,dialog),body:not(.studio-home) :is(#main,.studio-nav,.site-end,dialog) :is(h1,h2,h3,h4,h5,h6,p,a,button,input,select,textarea,label,summary,small,span,b,strong,li,dt,dd,th,td){font-family:var(--qreew-font)!important}
body:not(.studio-home) :is(.ap,.dm,.hub,.wf,.ac,.oc,.ob,.pc,.sat,.sx){--ink:var(--qreew-ink);--blue:var(--qreew-blue);--blue2:var(--qreew-blue);--cream:var(--qreew-cream);--line:var(--qreew-border);--pv-ink:var(--qreew-ink);--pv-copy:var(--qreew-text-muted);color:var(--qreew-ink);font-family:var(--qreew-font)!important}
body:not(.studio-home) :is(main,.site-end) :is(h1,h2,h3,h4){color:var(--qreew-ink)!important;font-weight:500;letter-spacing:-.045em}
body:not(.studio-home) #main h1{font-size:clamp(40px,5vw,78px)!important;line-height:1.03!important;letter-spacing:-.065em!important}
body:not(.studio-home) :is(#main,.site-end) h2{font-size:clamp(36px,4vw,61px)!important;line-height:1.04!important}
body:not(.studio-home) #main :is(.feature-copy,.method-path,.ob-benefit-grid,.obf-card,.ob-process-grid,.ob-next-grid,.resource-card,.scope-grid,.sx-lines-list,.ac-kind-grid,.ap-txt) h3{font-size:clamp(22px,2.1vw,28px);line-height:1.18;letter-spacing:-.035em}
body:not(.studio-home) #main :is(.hero-copy,.ob-hero-copy,.ob-copy,.ob-case-copy,.ob-decision-intro,.ob-next-head,.ob-method,.method-heading,.section-title,.obf-brief-main,.obf-beyond>header,.pc-intro,.pc-editorial,.sat-sec,.sat-lead,.sx-hero-copy,.sx-method-text)>p{color:var(--qreew-text-muted)!important;font-size:clamp(16px,1.35vw,18px);line-height:1.65}
body:not(.studio-home) #main :is(.article-body:not(.studio-home),.integration-detail)>p,body:not(.studio-home) #main .ob-faq p{color:var(--qreew-text-muted);line-height:1.7}
body:not(.studio-home) #main :is(h1,h2,h3) em{color:var(--qreew-ink)!important}
body:not(.studio-home) :is(.eyebrow,.ob-label,.sx-label){font-family:var(--qreew-font)!important;font-weight:600;letter-spacing:.12em}
/* Local colours remain in scenes and decorations. */
body:not(.studio-home) .studio-home :is(.hero-copy,.feature-copy,.method-heading,.section-title,.prompt-section){color:var(--qreew-ink)}
body:not(.studio-home) .studio-home :is(.method-section,.prompt-toolbar){background-color:var(--qreew-cream)}
/* Shared text links; card links retain their card surface and layout. */
body:not(.studio-home) :is(.ob-text-link,.text-link,.text-button,.underlink,.sx-link,.obf-link,.article-body:not(.studio-home) a,.integration-detail a,.demo-disclaimer a,.ob-faq a,.sat-sec a,.sat-lead a){color:var(--qreew-blue)!important;text-decoration-color:var(--qreew-blue)!important}
/* Every main CTA uses the reference pill, white reversed-Q disc and blue arrow. */
body :is(#main,.studio-nav,.site-end,dialog) :is(.pill,.ap-btn,.wf-btn,.ac-btn,.oc-btn,.ob-btn,.pc-btn,.dm-submit,.hub-black,.sx-btn,.sat-btn,.button,.obf-submit,.lead-submit,button[type=submit]:not(.prompt-submit)){
 --button-color:var(--qreew-blue)!important;display:inline-flex!important;align-items:center!important;justify-content:flex-start;gap:12px!important;min-height:54px;max-width:100%;box-sizing:border-box;background:var(--qreew-blue)!important;border:2px solid var(--qreew-blue)!important;border-radius:999px!important;padding:4px 22px 4px 4px!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-family:var(--qreew-font)!important;font-size:14px!important;font-weight:500!important;line-height:1.3!important;letter-spacing:-.015em;text-decoration:none!important;text-align:left;box-shadow:none
}
body:not(.studio-home) :is(#main,.studio-nav,.site-end,dialog) :is(.pill,.ap-btn,.wf-btn,.ac-btn,.oc-btn,.ob-btn,.pc-btn,.dm-submit,.hub-black,.sx-btn,.sat-btn,.button,.obf-submit,.lead-submit,button[type=submit]:not(.prompt-submit)):hover{background:#4055DA!important;border-color:#4055DA!important;color:#fff!important}
body :is(#main,.studio-nav,.site-end,dialog) :is(.pill,.ap-btn,.wf-btn,.ac-btn,.oc-btn,.ob-btn,.pc-btn,.dm-submit,.hub-black,.sx-btn,.sat-btn,.button,.obf-submit,.lead-submit) :is(.pill-icon,.sx-q){position:relative;display:grid!important;place-items:center;flex:0 0 42px!important;width:42px!important;height:42px!important;background:#fff!important;border:0!important;border-radius:50% 0 50% 50%!important;color:var(--qreew-blue)!important;-webkit-text-fill-color:var(--qreew-blue)!important;box-shadow:none!important}
body :is(#main,.studio-nav,.site-end,dialog) :is(.pill,.ap-btn,.wf-btn,.ac-btn,.oc-btn,.ob-btn,.pc-btn,.dm-submit,.hub-black,.sx-btn,.sat-btn,.button) :is(.pill-icon,.sx-q)>*{visibility:hidden}
body :is(#main,.studio-nav,.site-end,dialog) :is(.pill,.ap-btn,.wf-btn,.ac-btn,.oc-btn,.ob-btn,.pc-btn,.dm-submit,.hub-black,.sx-btn,.sat-btn,.button) :is(.pill-icon,.sx-q):after{content:'';position:absolute;inset:9px;background:var(--qreew-blue);mask:var(--qreew-arrow) center/contain no-repeat;-webkit-mask:var(--qreew-arrow) center/contain no-repeat}
/* CSS-only icon fallback keeps original DOM, labels, handlers and form semantics. */
body :is(#main,.studio-nav,.site-end,dialog) :is(.pill,.ap-btn,.wf-btn,.ac-btn,.oc-btn,.ob-btn,.pc-btn,.dm-submit,.hub-black,.sx-btn,.sat-btn,.button,.obf-submit,.lead-submit,button[type=submit]:not(.prompt-submit)):not(:has(.pill-icon,.sx-q)):before{content:'';display:block;flex:0 0 42px;width:42px;height:42px;border-radius:50% 0 50% 50%;background-color:#fff;background-image:var(--qreew-arrow-image);background-position:center;background-repeat:no-repeat;background-size:24px 24px}
body:not(.studio-home) :is(.sx-btn,.sat-btn,.button)>svg{display:none}
body .studio-nav .nav-contact{min-height:54px;font-size:13px!important}
body:not(.studio-home) :is(.prompt-submit,.demo-action){background-color:var(--qreew-blue);color:#fff}
body:not(.studio-home) :is(#main,.studio-nav,.site-end,dialog) :is(.pill,.button,.sx-btn,.obf-submit):disabled{opacity:.55;cursor:not-allowed}
body:not(.studio-home) :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid var(--qreew-blue);outline-offset:4px}
/* Navigation and footer are the same brand anchor on every route. */
body:not(.studio-home) .studio-nav{color:var(--qreew-ink)}
body:not(.studio-home) .studio-nav :is(.studio-brand,nav>a:not(.pill)){color:var(--qreew-ink)!important}
body:not(.studio-home) .studio-footer{color:var(--qreew-ink);background:rgba(255,247,239,.96)}
body:not(.studio-home) .studio-footer :is(p,a:not(.pill),h3,.footer-end){color:var(--qreew-ink)!important}
body:not(.studio-home) .site-end :is(.final-cta,.final-cta .section-title){background:transparent!important;box-shadow:none!important;border-color:transparent!important}
body:not(.studio-home) .site-end .final-cta p{color:var(--qreew-ink)!important}
/* Publisher pages retain their company palettes. */
body:not(.studio-home) :is(.pc-toc,.sat-check,.obf-facts>div){border-color:var(--qreew-border)}
body:not(.studio-home) :is(.lead-modal,.dm-form,.pc-body:not(.studio-home),.article-body:not(.studio-home),.integration-detail){background-color:var(--qreew-surface)}
/* Preserve readable inverse text on existing dark panels, without changing their scenes. */
body:not(.studio-home) :is(#main,.site-end) :is(.ac-dark,.wf-dark,.sx-statement,.sx-cta,.co-meter,.co-out .big,.ck-win,.pc-hero,.pc-h,.pc-editorial .editorial-split>div:nth-child(2),.resource-big,.oc-carousel article:nth-child(4)) :is(h1,h2,h3,h4,p,a:not(.pill),strong,b,em,.eyebrow){color:#fff!important;-webkit-text-fill-color:#fff}
body:not(.studio-home) :is(.pc-hero,.pc-h) :is(.pc-wordmark,.pc-hero-lead){color:#fff!important}
body:not(.studio-home) .ob.pv-page .ob-principle>div:first-child :is(h2,p,strong){color:var(--qreew-ink)!important;-webkit-text-fill-color:var(--qreew-ink)!important}
body:not(.studio-home) .ob.pv-page .ob-principle>div:first-child p{color:var(--qreew-text-muted)!important;-webkit-text-fill-color:var(--qreew-text-muted)!important}
/* Status, code and illustrative UI sizes keep their semantic meaning and existing geometry. */
body:not(.studio-home) :is(pre,code,kbd,.mono){font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important}
@media(max-width:600px){body:not(.studio-home) #main h1{font-size:clamp(34px,9vw,40px)!important}body:not(.studio-home) :is(#main,.site-end) h2{font-size:clamp(32px,7.8vw,36px)!important}body:not(.studio-home) :is(#main,.studio-nav,.site-end,dialog) :is(.pill,.button,.sx-btn,.sat-btn,.obf-submit,.dm-submit){font-size:13px!important;white-space:normal}body:not(.studio-home) :is(#main,.studio-nav,.site-end,dialog) :is(.pill,.button,.sx-btn,.sat-btn)>span:last-child{min-width:0;overflow-wrap:break-word}body .studio-nav .nav-contact{font-size:13px!important}}

/* Reading copy shares one neutral tone; product scenes and semantic status text keep their own treatments. */
body:not(.studio-home) #main p:not(:where(.err,.ok,.error,.success,[role=status],.pv-scene *,.home-ui *,.scene-art *,.ac-art *,.oc-visual *,.wf-art *,.ap-art *,.dm-visual *,.ac-dark *,.wf-dark *,.sx-statement *,.sx-cta *,.co-meter *,.co-out .big *,.ck-win *,.pc-hero *,.pc-h *,.pc-editorial .editorial-split>div:nth-child(2) *,.resource-big *,.oc-carousel article:nth-child(4) *)){color:var(--qreew-text-muted)!important}
body:not(.studio-home) :is(.card-grid>article,.offer-grid>article,.sat-check,.obf-facts>div){border-color:var(--qreew-border);border-radius:24px}
body:not(.studio-home) #main :is(.obf-card>a,.obf-guide-grid span,.ob-next-grid span,.resource-link,.logo-bottom a),body:not(.studio-home) #main p a:not(.pill):not(.button){color:var(--qreew-blue)!important}


/* Restore the approved local palettes; shared typography and blue signature CTAs stay intact. */
body:not(.studio-home) .ob.pv-page{--pv-ink:#4B2C5E;--pv-copy:#7A5C8C}
body:not(.studio-home) #main .ob.pv-page :is(h1,h2,h3,h4){color:var(--pv-ink)!important}
body:not(.studio-home) #main .ob.pv-page :is(h1,h2,h3) em{color:var(--pv-accent)!important}
body:not(.studio-home) #main .ob.pv-page p:not(:where(.pv-scene *,.sa-mini *,.err,.ok,[role=status])){color:var(--pv-copy)!important}
body:not(.studio-home) #main .ob.pv-page .ob-principle>div:first-child :is(h2,strong){color:var(--pv-ink)!important;-webkit-text-fill-color:var(--pv-ink)!important}
body:not(.studio-home) #main .ob.pv-page .ob-principle>div:first-child p{color:var(--pv-copy)!important;-webkit-text-fill-color:var(--pv-copy)!important}
/* The homepage expertise cards regain their plum text and individual coloured emphasis. */
body:not(.studio-home).studio-home #main .feature-copy h2{color:#4B2C5E!important}
body:not(.studio-home).studio-home #main .feature-copy h2 em{color:var(--feature-accent)!important}
body:not(.studio-home).studio-home #main .feature-copy>p,body:not(.studio-home).studio-home #main .feature-bottom p{color:#7A5C8C!important}
body:not(.studio-home).studio-home #main .hui-answer-copy h3{color:#805339!important}
body:not(.studio-home).studio-home #main .hui-app-main h3{color:#646C9A!important}
/* Company colours are read from brand-pages.php, just as before harmonisation. */
body:not(.studio-home) #main .pc a:not(.pill):not(.pc-btn){color:var(--pc-accent,#5268EC)!important;text-decoration-color:var(--pc-accent,#5268EC)!important}
body:not(.studio-home) #main .pc .pc-connections-grid span{color:var(--pc-accent,#5268EC)!important}

/* The approved homepage type scale is the reference for editorial content. */
body:not(.studio-home) #main .hero-copy>p{font-size:clamp(19px,1.8vw,26px);line-height:1.35}
body:not(.studio-home) #main :is(.ob-hero-copy,.sx-hero-copy,.sat-lead)>p{font-size:clamp(19px,1.8vw,26px);line-height:1.35}
body:not(.studio-home) #main .feature-copy h2{font-size:clamp(34px,3.3vw,54px)!important;line-height:1.05!important;letter-spacing:-.055em}
body:not(.studio-home) #main .feature-copy>p{font-size:16px;line-height:1.5}
body:not(.studio-home) #main .method-heading h2{font-size:clamp(36px,3.6vw,54px)!important}
body:not(.studio-home) #main .method-path h3{font-size:24px}
body:not(.studio-home) #main .method-path p{font-size:15px;line-height:1.6}
body:not(.studio-home) #main .prompt-section h2{font-size:36px!important}
body:not(.studio-home) #main .section-title>p{font-size:18px}
@media(max-width:1100px){body:not(.studio-home) #main .feature-copy h2{font-size:39px!important}body:not(.studio-home) #main .feature-copy>p{font-size:14px}}
@media(max-width:800px){body:not(.studio-home) #main .section-title h2{font-size:43px!important}body:not(.studio-home) #main .feature-copy h2{font-size:43px!important}body:not(.studio-home) #main .feature-copy>p{font-size:17px}body:not(.studio-home) #main .hero-copy>p{font-size:20px}body:not(.studio-home) #main .method-heading p{font-size:16px}}
@media(max-width:480px){body:not(.studio-home) #main .section-title h2{font-size:36px!important}body:not(.studio-home) #main .section-title>p{font-size:15px}body:not(.studio-home) #main .feature-copy h2{font-size:35px!important}body:not(.studio-home) #main .feature-copy>p{font-size:15px}body:not(.studio-home) #main .hero-copy>p{font-size:18px}body:not(.studio-home) #main .method-heading h2{font-size:35px!important}body:not(.studio-home) #main .prompt-section h2{font-size:30px!important}}
/* Homepage keeps its exact pre-harmonisation styles, including native responsive rules. */
body.studio-home{--ink:#1b1f4a;--jade:#4256e0;--mint:#e9ecff;--turquoise:#8f9cf3;--peach:#f4b49a;--cream:#fff7ef;--paper:#fffaf5;--line:#dfe2f5}

/* Qreew mark: the real logo symbol replaces the old orbit glyph (nav and illustrations). */
.brand-symbol{background:url(img/qreew-q.png) center/contain no-repeat;border:0!important;border-radius:0!important}
.brand-symbol:after{display:none!important}
.studio-brand .brand-symbol{width:34px;height:34px;transform:none}
