/* Case-studies page only: full image opening and open editorial sections. */
html body.qcs-design-page {padding-top:64px!important;}
html:not(#qmT):not(#qmT2):not(#qmT3) body.qcs-design-page #lcn {--lcn-bar-ink:#171a20!important; --lcn-logo-filter:brightness(0)!important;}
html:not(#qmT):not(#qmT2):not(#qmT3) body.qcs-design-page #lcn .lcn-bar {background:rgba(255,255,255,.96)!important; border-bottom:1px solid #e2e3e3!important;}

html body #page #content #main .qcs-design {--qa-ink:#171a20!important; --qa-mute:#5c5e62!important; --qa-blue:#171a20!important; --qa-line:#e2e3e3!important; --qa-paper:#f4f4f4!important; --qa-gutter:clamp(24px,4vw,64px); background:#fff!important; color:#171a20;}
html body #page #content #main .qcs-design :is(.qma-in,.qac-wrap,.qac-nav-inner,.qa-page-nav-inner) {max-width:1280px;}
html body #page #content #main .qcs-design :is(h1,h2,h3) {font-weight:500!important; letter-spacing:-.025em!important; font-family:var(--t-font,-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif)!important;}
html body #page #content #main .qcs-design :is(section[id],article[id]) {scroll-margin-top:92px;}
html body #page #content #main .qcs-design :is(a,summary,button):focus-visible {outline:2px solid #3e6ae1!important; outline-offset:5px;}
html body #page #content #main .qcs-design .qac-nav-inner {min-height:60px; padding-block:8px;}
html body #page #content #main .qcs-design .qac-subnav {background:#fff!important;}
html body #page #content #main .qcs-design .qac-subnav .qac-wrap {flex-wrap:nowrap; overflow-x:auto; white-space:nowrap; scrollbar-width:thin;}
html body #page #content #main .qcs-design .qac-subnav a {flex-shrink:0; font-size:12px; padding-block:12px;}
html body #page #content #main .qcs-design .qma-hero {position:relative; display:grid; grid-template-columns:1fr; min-height:clamp(620px,calc(100svh - 150px),860px); padding:0; background:#171a20!important; overflow:hidden;}
html body #page #content #main .qcs-design .qma-hero-media {position:absolute; inset:0; width:100%; height:100%; min-height:0; aspect-ratio:auto; margin:0; border-radius:0; z-index:0;}
html body #page #content #main .qcs-design .qma-hero-media img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 45%;}
html body #page #content #main .qcs-design .qma-hero::after {content:""; position:absolute; inset:0; display:block; z-index:1; background:linear-gradient(180deg,rgba(0,0,0,.66),rgba(0,0,0,.22) 48%,rgba(0,0,0,.64)); pointer-events:none;}
html body #page #content #main .qcs-design .qma-hero > .qma-in {position:relative; grid-column:1; grid-row:1; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; min-height:inherit; max-width:none; width:100%; margin:0; padding:44px 32px 40px; text-align:center;}
html body #page #content #main .qcs-design .qma-hero .qma-crumb {justify-content:center; margin:0 0 32px; font-size:11px; letter-spacing:0; color:#fff!important;}
html body #page #content #main .qcs-design .qma-hero .qma-crumb a {color:#fff!important;}
html body #page #content #main .qcs-design .qma-hero .qma-eb {color:#fff!important; font-size:12px!important; letter-spacing:.12em!important; margin-bottom:16px;}
html body #page #content #main .qcs-design .qma-hero h1 {max-width:18em; margin:0 0 20px; color:#fff!important; font-size:clamp(34px,4vw,56px)!important; line-height:1.35!important;}
html body #page #content #main .qcs-design .qma-hero .qma-lead {font-size:16px!important; line-height:1.9!important; text-align:center; max-width:660px; margin:0 auto 40px; color:#fff!important;}
html body #page #content #main .qcs-design .qma-hero .qac-hero-actions {width:min(100%,600px); display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:auto; padding-top:64px;}
html body #page #content #main .qcs-design .qma-hero .qac-text-link {display:flex; align-items:center; justify-content:center; min-height:44px; padding:12px 24px; gap:16px; border:0!important; border-radius:4px; background:#3e6ae1!important; color:#fff!important; font-size:14px; font-weight:500;}
html body #page #content #main .qcs-design .qma-hero .qac-text-link:hover {background:#3457b1!important;}
html body #page #content #main .qcs-design .qma-hero .qac-text-link:last-child {background:#f4f4f4!important; color:#171a20!important;}
html body #page #content #main .qcs-design .qma-hero .qac-text-link:last-child:hover {background:#e2e3e3!important;}
html body #page #content #main .qcs-design .qa-page-nav {background:#fff!important; border-bottom:1px solid #e2e3e3;}
html body #page #content #main .qcs-design .qa-page-nav-inner {display:block; padding:32px var(--qa-gutter)!important;}
html body #page #content #main .qcs-design .qa-module-nav-head {display:flex; align-items:baseline; gap:16px; margin-bottom:16px; padding:0;}
html body #page #content #main .qcs-design .qa-page-nav-label {font-size:14px; font-weight:500; color:#171a20!important;}
html body #page #content #main .qcs-design .qa-module-nav-head p {margin:0; font-size:12px; color:#5c5e62!important;}
html body #page #content #main .qcs-design .qa-page-nav-links {display:flex!important; flex-wrap:wrap; gap:8px;}
html body #page #content #main .qcs-design .qa-page-nav-links a {display:inline-flex; align-items:center; min-height:40px; padding:10px 16px; border:0!important; border-radius:4px; background:#f4f4f4!important; color:#393c41!important; font-size:12px; line-height:1.6;}
html body #page #content #main .qcs-design .qa-page-nav-links a::before, html body #page #content #main .qcs-design .qa-page-nav-links a::after {display:none;}
html body #page #content #main .qcs-design .qa-page-nav-links a:hover {background:#e2e3e3!important;}
html body #page #content #main .qcs-design .qa-page-nav-links a[aria-current] {background:#171a20!important; color:#fff!important;}
html body #page #content #main .qcs-design .qma-quote {margin:0; border:0; border-radius:0; background:#fff!important;}
html body #page #content #main .qcs-design .qma-quote > .qma-in {display:block; padding:80px var(--qa-gutter)!important;}
html body #page #content #main .qcs-design .qma-quote blockquote {max-width:900px; margin:0 auto; padding:0!important; border:0!important; color:#171a20!important; text-align:center; font-size:clamp(26px,2.8vw,38px)!important; line-height:1.7!important;}
html body #page #content #main .qcs-design .qcs-intro {max-width:820px; margin:28px auto 0; font-size:15px; line-height:2; color:#5c5e62!important; text-align:center;}
html body #page #content #main .qcs-design .qma-sec, html body #page #content #main .qcs-design .qma-sec.has-fig {margin:0; border:0; border-radius:0; background:#fff!important;}
html body #page #content #main .qcs-design .qma-sec > .qma-in {display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); gap:40px 72px; padding:80px var(--qa-gutter); border-top:1px solid #e2e3e3;}
html body #page #content #main .qcs-design .qma-sech {position:static; padding:0;}
html body #page #content #main .qcs-design .qma-sech .qma-num {display:block; width:auto; min-width:0; height:auto; padding:0; margin:0 0 20px; border:0; border-radius:0; background:transparent!important; color:#5c5e62!important; font-size:12px;}
html body #page #content #main .qcs-design .qma-sech h2 {font-size:clamp(27px,2.7vw,36px)!important; line-height:1.5!important; color:#171a20!important;}
html body #page #content #main .qcs-design .qma-secb > p {max-width:none; font-size:15px!important; line-height:2!important; color:#5c5e62!important;}
html body #page #content #main .qcs-design #qa-section-2 {background:#f4f4f4!important;}
html body #page #content #main .qcs-design .qma-sec.has-fig > .qma-in {grid-template-columns:1fr; gap:32px;}
html body #page #content #main .qcs-design .qma-sec.has-fig .qma-secb {display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:48px; align-items:center;}
html body #page #content #main .qcs-design .qma-fig {margin-top:32px;}
html body #page #content #main .qcs-design .qma-sec.has-fig .qma-fig {margin:0;}
html body #page #content #main .qcs-design .qma-fig img {display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; border-radius:4px;}
html body #page #content #main .qcs-design .qma-image-caption {margin-top:12px; color:#5c5e62!important; font-size:11px; line-height:1.8;}
html body #page #content #main .qcs-design .qma-image-caption a {color:#393c41!important; text-underline-offset:4px;}
html body #page #content #main .qcs-design .qma-cards {background:#f4f4f4!important;}
html body #page #content #main .qcs-design .qma-cards > .qma-in {padding-block:72px;}
html body #page #content #main .qcs-design .qma-cards > .qma-in > :is(.qma-eb,h2) {text-align:center;}
html body #page #content #main .qcs-design .qma-cards h2 {font-size:30px!important; color:#171a20!important; margin-top:12px;}
html body #page #content #main .qcs-design .qma-cgrid {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; margin-top:40px;}
html body #page #content #main .qcs-design .qma-c {padding:24px 0 0!important; border:0!important; border-top:1px solid #d0d1d2!important; border-radius:0; background:transparent!important; box-shadow:none;}
html body #page #content #main .qcs-design .qma-c > span {background:transparent!important; color:#5c5e62!important; font-size:12px;}
html body #page #content #main .qcs-design .qma-c h3 {font-size:21px!important; line-height:1.5; margin:20px 0 16px; color:#171a20!important;}
html body #page #content #main .qcs-design .qma-c p {font-size:14px!important; line-height:1.9!important; color:#5c5e62!important;}
html body #page #content #main .qcs-design .qma-band {background:#fff!important; border:0;}
html body #page #content #main .qcs-design .qma-band > .qma-in {display:flex; flex-direction:column; text-align:center; align-items:center; gap:32px; padding-block:72px;}
html body #page #content #main .qcs-design .qma-band :is(p,.qma-eb) {color:#171a20!important;}
html body #page #content #main .qcs-design .qma-band p {font-size:clamp(25px,2.6vw,34px)!important; line-height:1.5!important;}
html body #page #content #main .qcs-design .qma-ctas {display:flex; justify-content:center; gap:20px; flex-wrap:wrap;}
html body #page #content #main .qcs-design .qma-band .qma-cta {display:inline-flex; align-items:center; justify-content:center; min-width:240px; min-height:44px; padding:12px 24px; border:0!important; border-radius:4px; background:#3e6ae1!important; color:#fff!important; font-size:14px;}
html body #page #content #main .qcs-design .qma-band .qma-cta:hover {background:#3457b1!important;}
html body #page #content #main .qcs-design .qma-band .qma-cta.is-ghost {background:#f4f4f4!important; color:#171a20!important;}
html body #page #content #main .qcs-design .qma-band .qma-cta.is-ghost:hover {background:#e2e3e3!important;}
html body #page #content #main .qcs-design .qma-sibs {background:#f4f4f4!important;}
html body #page #content #main .qcs-design .qma-sibs > .qma-in {padding-block:64px;}
html body #page #content #main .qcs-design .qma-sibs h2 {font-size:28px!important; color:#171a20!important; margin:12px 0 36px;}
html body #page #content #main .qcs-design .qma-sgrid {grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 32px; border:0;}
html body #page #content #main .qcs-design .qma-sib {padding:24px 0; border:0; border-top:1px solid #d0d1d2; border-radius:0; background:transparent!important; box-shadow:none!important;}
html body #page #content #main .qcs-design .qma-sib.is-on {background:transparent!important; color:#171a20!important;}
html body #page #content #main .qcs-design .qma-sib.is-on :is(span,p) {color:#171a20!important;}
html body #page #content #main .qcs-design .qma-sib p {font-size:14px!important; line-height:1.9!important; color:#5c5e62!important;}
html body #page #content #main .qcs-design .qma-back {margin-top:36px; font-size:13px; color:#5c5e62;}
@media(max-width:1100px) {
html body #page #content #main .qcs-design .qma-cgrid {grid-template-columns:repeat(2,minmax(0,1fr));}
html body #page #content #main .qcs-design .qma-sgrid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:900px) {
html body #page #content #main .qcs-design .qma-hero {min-height:660px;}
html body #page #content #main .qcs-design .qma-sec > .qma-in {grid-template-columns:1fr; gap:28px; padding-block:56px;}
html body #page #content #main .qcs-design .qma-sec.has-fig .qma-secb {grid-template-columns:1fr; gap:28px;}
html body #page #content #main .qcs-design .qma-sec.has-fig .qma-secb > p, html body #page #content #main .qcs-design .qma-sec.has-fig .qma-secb > .qma-fig {grid-column:1; grid-row:auto;}
html body #page #content #main .qcs-design .qac-nav-inner {gap:8px;}
html body #page #content #main .qcs-design .qac-nav-label {width:100%;}
}
@media(max-width:640px) {
html body #page #content #main .qcs-design .qac-nav-main {gap:0;}
html body #page #content #main .qcs-design .qac-nav-main > a, html body #page #content #main .qcs-design .qac-nav summary {padding:8px 10px; font-size:12px;}
html body #page #content #main .qcs-design .qac-nav-contact {display:none;}
html body #page #content #main .qcs-design .qac-menu-panel {min-width:240px; max-width:calc(100vw - 48px);}
html body #page #content #main .qcs-design .qac-menu:nth-child(n+3) .qac-menu-panel {left:auto; right:0;}
html body #page #content #main .qcs-design .qma-hero {min-height:620px;}
html body #page #content #main .qcs-design .qma-hero > .qma-in {padding:40px 24px 28px;}
html body #page #content #main .qcs-design .qma-hero .qma-crumb {display:none;}
html body #page #content #main .qcs-design .qma-hero h1 {font-size:34px!important; max-width:9em;}
html body #page #content #main .qcs-design .qma-hero .qma-lead {font-size:14px!important;}
html body #page #content #main .qcs-design .qma-hero .qac-hero-actions {grid-template-columns:1fr; gap:12px; padding-top:48px;}
html body #page #content #main .qcs-design .qa-page-nav-inner {padding-block:24px!important;}
html body #page #content #main .qcs-design .qa-module-nav-head {display:block;}
html body #page #content #main .qcs-design .qa-module-nav-head p {margin-top:6px;}
html body #page #content #main .qcs-design .qa-page-nav-links {flex-wrap:nowrap; overflow-x:auto; padding:4px 0 8px; scrollbar-width:thin;}
html body #page #content #main .qcs-design .qa-page-nav-links a {flex-shrink:0;}
html body #page #content #main .qcs-design .qma-quote > .qma-in {padding-block:56px!important;}
html body #page #content #main .qcs-design .qcs-intro {font-size:14px; line-height:1.95; text-align:left;}
html body #page #content #main .qcs-design .qma-cgrid, html body #page #content #main .qcs-design .qma-sgrid {grid-template-columns:1fr;}
html body #page #content #main .qcs-design .qma-cards > .qma-in, html body #page #content #main .qcs-design .qma-sibs > .qma-in, html body #page #content #main .qcs-design .qma-band > .qma-in {padding-block:48px;}
html body #page #content #main .qcs-design .qma-ctas {width:100%; flex-direction:column;}
html body #page #content #main .qcs-design .qma-band .qma-cta {width:100%; min-width:0;}
}
@media(prefers-reduced-motion:reduce) {
html body #page #content #main .qcs-design * {scroll-behavior:auto!important; transition:none!important; animation:none!important;}
}

/* Keep every mobile submenu inside the page, including wrapped menu rows. */
@media(max-width:760px) {
html body #page #content #main .qcs-design .qac-nav-label {width:100%;}
html body #page #content #main .qcs-design .qac-nav-contact {display:none;}
html body #page #content #main .qcs-design .qac-nav-main {position:relative; width:100%;}
html body #page #content #main .qcs-design .qac-menu {position:static;}
html body #page #content #main .qcs-design .qac-menu-panel {top:calc(100% + 8px); left:0!important; right:0!important; width:100%; min-width:0; max-width:none;}
}
@media print {
html body #page #content #main .qcs-design .qma-hero {min-height:0; background:#fff!important;}
html body #page #content #main .qcs-design .qma-hero-media, html body #page #content #main .qcs-design .qma-hero::after, html body #page #content #main .qcs-design .qac-hero-actions {display:none;}
html body #page #content #main .qcs-design .qma-hero > .qma-in {min-height:0; padding:24px;}
html body #page #content #main .qcs-design .qma-hero :is(h1,.qma-lead,.qma-eb) {color:#171a20!important;}
html body #page #content #main .qcs-design .qma-sec > .qma-in {padding-block:24px;}
}
